Sid Gifari File Manager
🏠 Root
/
home
/
genremedia08
/
musicjukebox.overlookedtracks.com
/
public
/
build
/
assets
/
Editing: use-resume-subscription-b3c8abe5.js.map
{"version":3,"file":"use-resume-subscription-b3c8abe5.js","sources":["../../../common/resources/client/icons/material/ChevronRight.tsx","../../../common/resources/client/ui/breadcrumbs/breadcrumb-item.tsx","../../../common/resources/client/ui/breadcrumbs/breadcrumb.tsx","../../../common/resources/client/billing/billing-page/requests/use-cancel-subscription.ts","../../../common/resources/client/billing/billing-page/requests/use-resume-subscription.ts"],"sourcesContent":["import {createSvgIcon} from '../create-svg-icon';\n\nexport const ChevronRightIcon = createSvgIcon(\n <path d=\"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6-6-6z\" />\n, 'ChevronRightOutlined');\n","import React, {HTMLAttributes, ReactElement, ReactNode} from 'react';\nimport clsx from 'clsx';\nimport {ChevronRightIcon} from '../../icons/material/ChevronRight';\nimport type {BreadcrumbSizeStyle} from './breadcrumb';\n\nexport interface BreadcrumbItemProps {\n sizeStyle?: BreadcrumbSizeStyle;\n isMenuTrigger?: boolean;\n isMenuItem?: boolean;\n children: ReactNode | ((state: {isMenuItem?: boolean}) => ReactNode);\n isCurrent?: boolean;\n onSelected?: () => void;\n isClickable?: boolean;\n isDisabled?: boolean;\n className?: string;\n isLink?: boolean;\n}\n\nexport function BreadcrumbItem(props: BreadcrumbItemProps) {\n const {\n isCurrent,\n sizeStyle,\n isMenuTrigger,\n isClickable,\n isDisabled,\n onSelected,\n className,\n isMenuItem,\n isLink,\n } = props;\n\n const children =\n typeof props.children === 'function'\n ? props.children({isMenuItem})\n : props.children;\n\n if (isMenuItem) {\n return children as ReactElement;\n }\n\n const domProps: HTMLAttributes<HTMLDivElement> = isMenuTrigger\n ? {}\n : {\n tabIndex: isLink && !isDisabled ? 0 : undefined,\n role: isLink ? 'link' : undefined,\n 'aria-disabled': isLink ? isDisabled : undefined,\n 'aria-current': isCurrent && isLink ? 'page' : undefined,\n onClick: () => onSelected?.(),\n };\n\n return (\n <li\n className={clsx(\n `inline-flex justify-start items-center relative min-w-0 ${sizeStyle?.font}`,\n isMenuTrigger && 'flex-shrink-0',\n (!isClickable || isDisabled) && 'pointer-events-none',\n !isCurrent && isDisabled && 'text-disabled'\n )}\n >\n <div\n {...domProps}\n className={clsx(\n className,\n 'px-8 cursor-pointer rounded whitespace-nowrap overflow-hidden',\n !isMenuTrigger && 'py-4 hover:bg-hover',\n !isMenuTrigger && isLink && 'focus-visible:ring outline-none'\n )}\n >\n {children}\n </div>\n {isCurrent === false && (\n <ChevronRightIcon\n size={sizeStyle?.icon}\n className={clsx(isDisabled ? 'text-disabled' : 'text-muted')}\n />\n )}\n </li>\n );\n}\n","import React, {cloneElement, ReactElement, useCallback, useRef} from 'react';\nimport {\n useLayoutEffect,\n useResizeObserver,\n useValueEffect,\n} from '@react-aria/utils';\nimport clsx from 'clsx';\nimport {IconButton} from '../buttons/icon-button';\nimport {BreadcrumbItem, BreadcrumbItemProps} from './breadcrumb-item';\nimport {MoreHorizIcon} from '../../icons/material/MoreHoriz';\nimport {ButtonSize} from '../buttons/button-size';\nimport {Menu, MenuItem, MenuTrigger} from '../navigation/menu/menu-trigger';\nimport {IconSize} from '../../icons/svg-icon';\nimport {useTrans} from '../../i18n/use-trans';\n\nconst MIN_VISIBLE_ITEMS = 1;\nconst MAX_VISIBLE_ITEMS = 10;\n\nexport interface BreadcrumbsProps {\n children?:\n | ReactElement<BreadcrumbItemProps>\n | ReactElement<BreadcrumbItemProps>[];\n isDisabled?: boolean;\n size?: 'sm' | 'md' | 'lg' | 'xl';\n className?: string;\n currentIsClickable?: boolean;\n isNavigation?: boolean;\n}\n\nexport function Breadcrumb(props: BreadcrumbsProps) {\n const {\n size = 'md',\n children,\n isDisabled,\n className,\n currentIsClickable,\n isNavigation,\n } = props;\n const {trans} = useTrans();\n const style = sizeStyle(size);\n\n // Not using React.Children.toArray because it mutates the key prop.\n const childArray: ReactElement<BreadcrumbItemProps>[] = [];\n React.Children.forEach(children, child => {\n if (React.isValidElement(child)) {\n childArray.push(child);\n }\n });\n\n const domRef = useRef<HTMLDivElement>(null);\n const listRef = useRef<HTMLOListElement>(null);\n\n const [visibleItems, setVisibleItems] = useValueEffect(childArray.length);\n\n const updateOverflow = useCallback(() => {\n const computeVisibleItems = (itemCount: number) => {\n // Refs can be null at runtime.\n const currListRef: HTMLUListElement | null = listRef.current;\n if (!currListRef) {\n return;\n }\n\n const listItems = Array.from(currListRef.children) as HTMLLIElement[];\n if (!listItems.length) return;\n\n const containerWidth = currListRef.offsetWidth;\n const isShowingMenu = childArray.length > itemCount;\n let calculatedWidth = 0;\n let newVisibleItems = 0;\n let maxVisibleItems = MAX_VISIBLE_ITEMS;\n\n calculatedWidth += listItems.shift()!.offsetWidth;\n newVisibleItems++;\n\n if (isShowingMenu) {\n calculatedWidth += listItems.shift()!.offsetWidth;\n maxVisibleItems--;\n }\n\n if (calculatedWidth >= containerWidth) {\n newVisibleItems--;\n }\n\n // Ensure the last breadcrumb isn't truncated when we measure it.\n if (listItems.length > 0) {\n const last = listItems.pop();\n last!.style.overflow = 'visible';\n\n calculatedWidth += last!.offsetWidth;\n if (calculatedWidth < containerWidth) {\n newVisibleItems++;\n }\n\n last!.style.overflow = '';\n }\n\n // eslint-disable-next-line no-restricted-syntax\n for (const breadcrumb of listItems.reverse()) {\n calculatedWidth += breadcrumb.offsetWidth;\n if (calculatedWidth < containerWidth) {\n newVisibleItems++;\n }\n }\n\n return Math.max(\n MIN_VISIBLE_ITEMS,\n Math.min(maxVisibleItems, newVisibleItems)\n );\n };\n\n // eslint-disable-next-line func-names\n setVisibleItems(function* () {\n // Update to show all items.\n yield childArray.length;\n\n // Measure, and update to show the items that fit.\n const newVisibleItems = computeVisibleItems(childArray.length);\n yield newVisibleItems;\n\n // If the number of items is less than the number of children,\n // then update again to ensure that the menu fits.\n if (newVisibleItems! < childArray.length && newVisibleItems! > 1) {\n yield computeVisibleItems(newVisibleItems!);\n }\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [listRef, children, setVisibleItems]);\n\n useResizeObserver({ref: domRef, onResize: updateOverflow});\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useLayoutEffect(updateOverflow, [children]);\n\n let contents = childArray;\n if (childArray.length > visibleItems) {\n const selectedKey = childArray.length - 1;\n\n const menuItem = (\n <BreadcrumbItem key=\"menu\" sizeStyle={style} isMenuTrigger>\n <MenuTrigger selectionMode=\"single\" selectedValue={selectedKey}>\n <IconButton aria-label=\"…\" disabled={isDisabled} size={style.btn}>\n <MoreHorizIcon />\n </IconButton>\n <Menu>\n {childArray.map((child, index) => {\n const isLast = selectedKey === index;\n return (\n <MenuItem\n key={index}\n value={index}\n onSelected={() => {\n if (!isLast) {\n child.props.onSelected?.();\n }\n }}\n >\n {cloneElement(child, {isMenuItem: true})}\n </MenuItem>\n );\n })}\n </Menu>\n </MenuTrigger>\n </BreadcrumbItem>\n );\n\n contents = [menuItem];\n const breadcrumbs = [...childArray];\n let endItems = visibleItems;\n if (visibleItems > 1) {\n contents.unshift(breadcrumbs.shift()!);\n endItems--;\n }\n contents.push(...breadcrumbs.slice(-endItems));\n }\n\n const lastIndex = contents.length - 1;\n const breadcrumbItems = contents.map((child, index) => {\n const isCurrent = index === lastIndex;\n const isClickable = !isCurrent || currentIsClickable;\n\n return cloneElement<BreadcrumbItemProps>(child, {\n key: child.key || index,\n isCurrent,\n sizeStyle: style,\n isClickable,\n isDisabled,\n isLink: isNavigation && child.key !== 'menu',\n });\n });\n\n const Element = isNavigation ? 'nav' : 'div';\n\n return (\n <Element\n className={clsx(className, 'min-w-0 w-full')} // prevent flex parent overflow\n aria-label={trans({message: 'Breadcrumbs'})}\n ref={domRef}\n >\n <ol\n ref={listRef}\n className={clsx('flex justify-start flex-nowrap', style.minHeight)}\n >\n {breadcrumbItems}\n </ol>\n </Element>\n );\n}\n\nfunction sizeStyle(size: BreadcrumbsProps['size']): BreadcrumbSizeStyle {\n switch (size) {\n case 'sm':\n return {font: 'text-sm', icon: 'sm', btn: 'sm', minHeight: 'min-h-36'};\n case 'lg':\n return {font: 'text-lg', icon: 'md', btn: 'md', minHeight: 'min-h-42'};\n case 'xl':\n return {font: 'text-xl', icon: 'md', btn: 'md', minHeight: 'min-h-42'};\n default:\n return {font: 'text-base', icon: 'md', btn: 'md', minHeight: 'min-h-42'};\n }\n}\n\nexport interface BreadcrumbSizeStyle {\n font: string;\n icon: IconSize;\n btn: ButtonSize;\n minHeight: string;\n}\n","import {useMutation} from '@tanstack/react-query';\nimport {apiClient} from '../../../http/query-client';\nimport {useTrans} from '../../../i18n/use-trans';\nimport {BackendResponse} from '../../../http/backend-response/backend-response';\nimport {toast} from '../../../ui/toast/toast';\nimport {message} from '../../../i18n/message';\nimport {User} from '../../../auth/user';\nimport {showHttpErrorToast} from '../../../utils/http/show-http-error-toast';\n\ninterface Response extends BackendResponse {\n user: User;\n}\n\ninterface Payload {\n subscriptionId: number;\n delete?: boolean;\n}\n\nexport function useCancelSubscription() {\n const {trans} = useTrans();\n return useMutation((props: Payload) => cancelSubscription(props), {\n onSuccess: (response, payload) => {\n toast(\n payload.delete\n ? trans(message('Subscription deleted.'))\n : trans(message('Subscription cancelled.'))\n );\n },\n onError: err => showHttpErrorToast(err),\n });\n}\n\nfunction cancelSubscription({\n subscriptionId,\n ...payload\n}: Payload): Promise<Response> {\n return apiClient\n .post(`billing/subscriptions/${subscriptionId}/cancel`, payload)\n .then(r => r.data);\n}\n","import {useMutation} from '@tanstack/react-query';\nimport {apiClient} from '../../../http/query-client';\nimport {useTrans} from '../../../i18n/use-trans';\nimport {BackendResponse} from '../../../http/backend-response/backend-response';\nimport {toast} from '../../../ui/toast/toast';\nimport {message} from '../../../i18n/message';\nimport {User} from '../../../auth/user';\nimport {showHttpErrorToast} from '../../../utils/http/show-http-error-toast';\n\ninterface Response extends BackendResponse {\n user: User;\n}\n\ninterface Payload {\n subscriptionId: number;\n}\n\nexport function useResumeSubscription() {\n const {trans} = useTrans();\n return useMutation((props: Payload) => resumeSubscription(props), {\n onSuccess: () => {\n toast(trans(message('Subscription renewed.')));\n },\n onError: err => showHttpErrorToast(err),\n });\n}\n\nfunction resumeSubscription({subscriptionId}: Payload): Promise<Response> {\n return apiClient\n .post(`billing/subscriptions/${subscriptionId}/resume`)\n .then(r => r.data);\n}\n"],"names":["ChevronRightIcon","createSvgIcon","jsx","BreadcrumbItem","props","isCurrent","sizeStyle","isMenuTrigger","isClickable","isDisabled","onSelected","className","isMenuItem","isLink","children","domProps","jsxs","clsx","MIN_VISIBLE_ITEMS","MAX_VISIBLE_ITEMS","Breadcrumb","size","currentIsClickable","isNavigation","trans","useTrans","style","childArray","React","child","domRef","useRef","listRef","visibleItems","setVisibleItems","useValueEffect","updateOverflow","useCallback","computeVisibleItems","itemCount","currListRef","listItems","containerWidth","isShowingMenu","calculatedWidth","newVisibleItems","maxVisibleItems","last","breadcrumb","useResizeObserver","useLayoutEffect","contents","selectedKey","MenuTrigger","IconButton","MoreHorizIcon","Menu","index","isLast","MenuItem","_b","_a","cloneElement","breadcrumbs","endItems","lastIndex","breadcrumbItems","Element","useCancelSubscription","useMutation","cancelSubscription","response","payload","toast","message","err","showHttpErrorToast","subscriptionId","apiClient","r","useResumeSubscription","resumeSubscription"],"mappings":"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"}
Save
Cancel