@zenkigen-inc/component-ui 1.15.1 → 1.15.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/dist/index.d.mts +434 -0
  2. package/dist/index.d.ts +434 -27
  3. package/dist/index.js +1602 -1701
  4. package/dist/index.mjs +1915 -0
  5. package/package.json +18 -8
  6. package/tsup.config.ts +13 -0
  7. package/vitest.config.ts +11 -0
  8. package/vitest.setup.ts +1 -0
  9. package/dist/avatar/avatar.d.ts +0 -10
  10. package/dist/avatar/index.d.ts +0 -1
  11. package/dist/breadcrumb/breadcrumb-item.d.ts +0 -2
  12. package/dist/breadcrumb/breadcrumb.d.ts +0 -5
  13. package/dist/breadcrumb/index.d.ts +0 -1
  14. package/dist/button/button.d.ts +0 -22
  15. package/dist/button/index.d.ts +0 -1
  16. package/dist/checkbox/checkbox.d.ts +0 -14
  17. package/dist/checkbox/checked-icon.d.ts +0 -1
  18. package/dist/checkbox/index.d.ts +0 -1
  19. package/dist/checkbox/minus-icon.d.ts +0 -1
  20. package/dist/dropdown/dropdown-context.d.ts +0 -14
  21. package/dist/dropdown/dropdown-item.d.ts +0 -7
  22. package/dist/dropdown/dropdown-menu.d.ts +0 -10
  23. package/dist/dropdown/dropdown.d.ts +0 -26
  24. package/dist/dropdown/index.d.ts +0 -2
  25. package/dist/dropdown/type.d.ts +0 -9
  26. package/dist/evaluation-star/evaluation-star.d.ts +0 -8
  27. package/dist/evaluation-star/index.d.ts +0 -1
  28. package/dist/heading/heading.d.ts +0 -10
  29. package/dist/heading/index.d.ts +0 -1
  30. package/dist/hooks/index.d.ts +0 -1
  31. package/dist/hooks/use-outside-click.d.ts +0 -2
  32. package/dist/icon/icon.d.ts +0 -13
  33. package/dist/icon/index.d.ts +0 -1
  34. package/dist/icon-button/icon-button.d.ts +0 -19
  35. package/dist/icon-button/index.d.ts +0 -1
  36. package/dist/index.esm.js +0 -2147
  37. package/dist/index.esm.js.map +0 -1
  38. package/dist/index.js.map +0 -1
  39. package/dist/loading/index.d.ts +0 -1
  40. package/dist/loading/loading.d.ts +0 -7
  41. package/dist/modal/body-scroll-lock.d.ts +0 -27
  42. package/dist/modal/index.d.ts +0 -1
  43. package/dist/modal/modal-body.d.ts +0 -2
  44. package/dist/modal/modal-context.d.ts +0 -5
  45. package/dist/modal/modal-footer.d.ts +0 -7
  46. package/dist/modal/modal-header.d.ts +0 -6
  47. package/dist/modal/modal.d.ts +0 -18
  48. package/dist/notification-inline/index.d.ts +0 -1
  49. package/dist/notification-inline/notification-inline.d.ts +0 -13
  50. package/dist/pagination/index.d.ts +0 -1
  51. package/dist/pagination/pagination-button.d.ts +0 -6
  52. package/dist/pagination/pagination-context.d.ts +0 -6
  53. package/dist/pagination/pagination.d.ts +0 -12
  54. package/dist/pagination-select/index.d.ts +0 -1
  55. package/dist/pagination-select/pagination-select.d.ts +0 -22
  56. package/dist/radio/index.d.ts +0 -1
  57. package/dist/radio/radio.d.ts +0 -12
  58. package/dist/search/index.d.ts +0 -1
  59. package/dist/search/search.d.ts +0 -12
  60. package/dist/select/index.d.ts +0 -2
  61. package/dist/select/select-context.d.ts +0 -11
  62. package/dist/select/select-item.d.ts +0 -6
  63. package/dist/select/select-list.d.ts +0 -6
  64. package/dist/select/select.d.ts +0 -22
  65. package/dist/select/type.d.ts +0 -7
  66. package/dist/select-sort/index.d.ts +0 -2
  67. package/dist/select-sort/select-item.d.ts +0 -7
  68. package/dist/select-sort/select-list.d.ts +0 -10
  69. package/dist/select-sort/select-sort.d.ts +0 -15
  70. package/dist/select-sort/type.d.ts +0 -1
  71. package/dist/tab/index.d.ts +0 -2
  72. package/dist/tab/tab-item.d.ts +0 -10
  73. package/dist/tab/tab.d.ts +0 -15
  74. package/dist/table/index.d.ts +0 -3
  75. package/dist/table/table-cell.d.ts +0 -8
  76. package/dist/table/table-row.d.ts +0 -7
  77. package/dist/table/table.d.ts +0 -16
  78. package/dist/tag/delete-icon.d.ts +0 -8
  79. package/dist/tag/index.d.ts +0 -2
  80. package/dist/tag/tag.d.ts +0 -17
  81. package/dist/tag/type.d.ts +0 -3
  82. package/dist/text-area/index.d.ts +0 -1
  83. package/dist/text-area/text-area.d.ts +0 -8
  84. package/dist/text-input/index.d.ts +0 -1
  85. package/dist/text-input/text-input.d.ts +0 -7
  86. package/dist/toast/index.d.ts +0 -2
  87. package/dist/toast/toast-provider.d.ts +0 -13
  88. package/dist/toast/toast.d.ts +0 -12
  89. package/dist/toast/type.d.ts +0 -1
  90. package/dist/toggle/index.d.ts +0 -1
  91. package/dist/toggle/toggle.d.ts +0 -12
  92. package/dist/tooltip/index.d.ts +0 -1
  93. package/dist/tooltip/tail-icon.d.ts +0 -8
  94. package/dist/tooltip/tooltip-content.d.ts +0 -11
  95. package/dist/tooltip/tooltip.d.ts +0 -13
  96. package/dist/tooltip/tooltip.hook.d.ts +0 -11
  97. package/dist/tooltip/type.d.ts +0 -13
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/avatar/avatar.tsx","../src/breadcrumb/breadcrumb-item.tsx","../src/breadcrumb/breadcrumb.tsx","../src/button/button.tsx","../src/checkbox/checked-icon.tsx","../src/checkbox/minus-icon.tsx","../src/checkbox/checkbox.tsx","../src/hooks/use-outside-click.ts","../src/icon/icon.tsx","../src/dropdown/dropdown-context.ts","../src/dropdown/dropdown-item.tsx","../src/dropdown/dropdown-menu.tsx","../src/dropdown/dropdown.tsx","../src/evaluation-star/evaluation-star.tsx","../src/heading/heading.tsx","../src/icon-button/icon-button.tsx","../src/loading/loading.tsx","../src/modal/body-scroll-lock.tsx","../src/modal/modal-body.tsx","../src/modal/modal-context.ts","../src/modal/modal-footer.tsx","../src/modal/modal-header.tsx","../src/modal/modal.tsx","../src/notification-inline/notification-inline.tsx","../src/pagination/pagination-context.ts","../src/pagination/pagination-button.tsx","../src/pagination/pagination.tsx","../src/select/select-context.ts","../src/select/select-item.tsx","../src/select/select-list.tsx","../src/select/select.tsx","../src/pagination-select/pagination-select.tsx","../src/radio/radio.tsx","../src/search/search.tsx","../src/select-sort/select-item.tsx","../src/select-sort/select-list.tsx","../src/select-sort/select-sort.tsx","../src/tab/tab-item.tsx","../src/tab/tab.tsx","../src/table/table-cell.tsx","../src/table/table-row.tsx","../src/table/table.tsx","../src/tag/delete-icon.tsx","../src/tag/tag.tsx","../src/text-area/text-area.tsx","../src/text-input/text-input.tsx","../src/toast/toast.tsx","../src/toast/toast-provider.tsx","../src/toggle/toggle.tsx","../src/tooltip/tooltip.hook.ts","../src/tooltip/tail-icon.tsx","../src/tooltip/tooltip-content.tsx","../src/tooltip/tooltip.tsx"],"sourcesContent":["import { userColors } from '@zenkigen-inc/component-theme';\nimport { clsx } from 'clsx';\n\nexport const isAsciiString = (str: string) => {\n return str.charCodeAt(0) < 256;\n};\n\ntype Props = {\n size?: 'x-small' | 'small' | 'medium' | 'large' | 'x-large';\n userId?: number;\n firstName: string;\n lastName: string;\n isDisabled?: boolean;\n};\n\nexport function Avatar({ size = 'medium', ...props }: Props) {\n const classes = clsx('flex items-center justify-center rounded-full text-textOnColor', {\n 'w-16 h-16 typography-label16regular': size === 'x-large',\n 'w-12 h-12 typography-label14regular': size === 'large',\n 'w-10 h-10 typography-label14regular': size === 'medium',\n 'w-8 h-8 typography-label11regular': size === 'small',\n 'w-6 h-6 typography-label11regular': size === 'x-small',\n 'bg-disabled01': props.isDisabled,\n 'bg-icon01': props.userId == null,\n [userColors[(props.userId ?? 0) % userColors.length] as string]:\n props.userId != null && !(props.isDisabled ?? false),\n });\n\n const trimmedFirstName = props.firstName.replace(' ', ' ').trim();\n const trimmedLastName = props.lastName.replace(' ', ' ').trim().trim();\n const nameOnIcon = isAsciiString(trimmedLastName)\n ? trimmedFirstName.slice(0, 1).toUpperCase() + trimmedLastName.slice(0, 1).toUpperCase()\n : (trimmedLastName + trimmedFirstName).slice(0, 2);\n\n return <span className={classes}>{nameOnIcon}</span>;\n}\n","import type { PropsWithChildren } from 'react';\n\nexport const BreadcrumbItem = ({ children }: PropsWithChildren) => {\n return (\n <li className=\"flex gap-2 after:content-['/'] last:after:content-none [&_a]:text-interactive02 [&_a]:hover:underline\">\n {children}\n </li>\n );\n};\n","import type { PropsWithChildren } from 'react';\n\nimport { BreadcrumbItem } from './breadcrumb-item';\n\nexport function Breadcrumb({ children }: PropsWithChildren) {\n return (\n <nav aria-label=\"breadcrumb\">\n <ul className=\"typography-label14regular flex flex-wrap gap-2 whitespace-nowrap text-text01\">{children}</ul>\n </nav>\n );\n}\n\nBreadcrumb.Item = BreadcrumbItem;\n","import { buttonColors, focusVisible } from '@zenkigen-inc/component-theme';\nimport { clsx } from 'clsx';\nimport type { ComponentPropsWithoutRef, CSSProperties, ElementType, PropsWithChildren, ReactNode } from 'react';\n\ntype Size = 'small' | 'medium' | 'large';\ntype Variant = 'fill' | 'fillDanger' | 'outline' | 'text';\ntype JustifyContent = 'start' | 'center';\n\nexport type ElementAs = ElementType;\n\nexport type AsProp<T extends ElementAs> = {\n elementAs?: T;\n};\n\nexport type PolymorphicPropsWithoutRef<T extends ElementAs, P extends object> = PropsWithChildren<P> &\n ComponentPropsWithoutRef<T> &\n AsProp<T>;\n\ntype Props<T extends ElementAs> = PolymorphicPropsWithoutRef<\n T,\n {\n size?: Size;\n width?: CSSProperties['width'];\n isSelected?: boolean;\n isDisabled?: boolean;\n variant?: Variant;\n before?: ReactNode;\n after?: ReactNode;\n borderRadius?: CSSProperties['borderRadius'];\n justifyContent?: JustifyContent;\n }\n>;\n\nexport const Button = <T extends ElementAs = 'button'>({\n size = 'medium',\n variant = 'fill',\n isDisabled,\n isSelected = false,\n width,\n borderRadius,\n justifyContent = 'center',\n before,\n after,\n elementAs,\n children,\n ...props\n}: Props<T>) => {\n const baseClasses = clsx(\n 'flex shrink-0 items-center gap-1',\n buttonColors[variant].hover,\n buttonColors[variant].active,\n buttonColors[variant].disabled,\n focusVisible.normal,\n {\n 'h-6 px-2.5': size === 'small',\n 'h-8 px-3': size === 'medium',\n 'h-10 px-4 leading-[24px]': size === 'large',\n 'inline-flex': elementAs === 'a',\n [buttonColors[variant].selected]: isSelected,\n [buttonColors[variant].base]: !isSelected,\n 'hover:text-textOnColor active:text-textOnColor [&:hover>*]:fill-iconOnColor [&:active>*]:fill-iconOnColor':\n isSelected && variant !== 'outline' && variant !== 'text',\n 'pointer-events-none': isDisabled,\n 'rounded-button': borderRadius == null,\n 'justify-start': justifyContent === 'start',\n 'justify-center': justifyContent === 'center',\n 'typography-label16regular': size === 'large',\n 'typography-label14regular': size !== 'large',\n },\n );\n\n const Component = elementAs ?? 'button';\n\n return (\n <Component className={baseClasses} style={{ width, borderRadius }} disabled={isDisabled} {...props}>\n {before}\n {children}\n {after}\n </Component>\n );\n};\n","export const CheckedIcon = () => {\n return (\n <svg\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"absolute z-10 size-5 rounded-sm fill-iconOnColor hover:rounded-sm\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M16.2887 5.38099C16.0069 5.09924 15.5518 5.09924 15.2701 5.38099L7.55461 13.0893L4.72993 10.2646C4.44818 9.98283 3.99305 9.98283 3.71131 10.2646C3.42956 10.5463 3.42956 11.0014 3.71131 11.2832L7.04891 14.6208C7.1934 14.7653 7.374 14.8303 7.56183 14.8303C7.74966 14.8303 7.93027 14.7581 8.07475 14.6208L16.2887 6.40683C16.5704 6.12508 16.5704 5.66273 16.2887 5.38099Z\"\n />\n </svg>\n );\n};\n","export const MinusIcon = () => {\n return (\n <svg\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"absolute z-10 size-5 rounded-sm fill-iconOnColor hover:rounded-sm\"\n >\n <path d=\"M4.94723 10.5028H9.49726H10.5028H15.0528C15.3293 10.5028 15.5556 10.2766 15.5556 10C15.5556 9.72352 15.3293 9.49725 15.0528 9.49725H10.5028H9.49726H4.94723C4.67071 9.49725 4.44446 9.72352 4.44446 10C4.44446 10.2766 4.67071 10.5028 4.94723 10.5028Z\" />\n </svg>\n );\n};\n","import { focusVisible } from '@zenkigen-inc/component-theme';\nimport clsx from 'clsx';\nimport type { ChangeEvent } from 'react';\nimport { useCallback, useState } from 'react';\n\nimport { CheckedIcon } from './checked-icon';\nimport { MinusIcon } from './minus-icon';\n\ntype Props = {\n name?: string;\n value?: string;\n id?: string;\n isChecked?: boolean;\n color?: 'default' | 'gray' | 'error';\n isIndeterminate?: boolean;\n isDisabled?: boolean;\n label?: string;\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n};\n\nexport function Checkbox({\n name,\n value,\n id,\n isChecked = false,\n isIndeterminate = false,\n isDisabled = false,\n onChange,\n label,\n color = 'default',\n}: Props) {\n const [isMouseOver, setIsMouseOver] = useState(false);\n\n const handleMouseOverInput = useCallback(() => {\n setIsMouseOver(true);\n }, []);\n\n const handleMouseOutInput = useCallback(() => {\n setIsMouseOver(false);\n }, []);\n\n const handleChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => !isDisabled && onChange?.(e),\n [isDisabled, onChange],\n );\n\n const baseInputClasses = clsx('peer absolute z-[1] size-5 opacity-0', {\n 'cursor-not-allowed': isDisabled,\n 'cursor-pointer': !isDisabled,\n });\n\n const boxClasses = clsx(\n 'inline-flex size-5 items-center justify-center rounded-sm border bg-white',\n focusVisible.normalPeer,\n {\n 'border-disabled01': isDisabled,\n 'border-hoverUiBorder': !isDisabled && isMouseOver && color === 'default',\n 'border-uiBorder03': !isDisabled && !isMouseOver && color === 'default',\n 'border-interactive02': !isDisabled && !isMouseOver && color === 'gray',\n 'border-hoverError': !isDisabled && isMouseOver && color === 'error',\n 'border-supportError': !isDisabled && !isMouseOver && color === 'error',\n },\n );\n\n const indicatorClasses = clsx('relative flex size-5 flex-[0_0_auto] items-center justify-center', {\n 'bg-disabled01': isDisabled && isChecked,\n 'border-disabled01': isDisabled,\n });\n\n const afterClasses = clsx('absolute inset-0 m-auto block rounded-sm', {\n 'bg-disabled01': isDisabled && isChecked,\n 'bg-hover01': !(isDisabled && isChecked) && isMouseOver,\n 'bg-interactive01': !(isDisabled && isChecked) && !isMouseOver,\n 'bg-hover02Dark': !(isDisabled && isChecked) && isMouseOver && color === 'gray',\n 'bg-interactive02': !(isDisabled && isChecked) && !isMouseOver && color === 'gray',\n 'bg-hoverError': !(isDisabled && isChecked) && isMouseOver && color === 'error',\n 'bg-supportError': !(isDisabled && isChecked) && !isMouseOver && color === 'error',\n 'scale-0': !isChecked,\n 'scale-100': isChecked,\n });\n\n const hoverIndicatorClasses = clsx('inline-block size-3 rounded-[1px]', {\n 'bg-hoverUi': !isDisabled && !isChecked && isMouseOver,\n });\n\n const labelClasses = clsx('typography-label14regular ml-2 flex-[1_0_0] break-all', {\n 'pointer-events-none cursor-not-allowed text-disabled01': isDisabled,\n 'cursor-pointer text-text01': !isDisabled,\n });\n\n return (\n <div className=\"flex items-center\">\n <div className=\"relative flex size-6 items-center justify-center\">\n <input\n type=\"checkbox\"\n value={value}\n name={name}\n id={id}\n checked={isChecked}\n disabled={isDisabled}\n onChange={handleChange}\n onMouseOver={handleMouseOverInput}\n onMouseLeave={handleMouseOutInput}\n className={baseInputClasses}\n />\n <div className={boxClasses}>\n <div className={indicatorClasses}>\n <span className={afterClasses}>\n {isChecked && !isIndeterminate && <CheckedIcon />}\n {isIndeterminate && <MinusIcon />}\n </span>\n <span className={hoverIndicatorClasses} />\n </div>\n </div>\n </div>\n {label != null && (\n <label htmlFor={id} className={labelClasses}>\n {label}\n </label>\n )}\n </div>\n );\n}\n","import type { RefObject } from 'react';\nimport { useEffect } from 'react';\n\nexport const useOutsideClick = <T extends HTMLElement = HTMLElement>(\n ref: RefObject<T | null>,\n handler: (event: Event) => void,\n enabled = true,\n) => {\n useEffect(() => {\n const listener = (event: Event) => {\n const element = ref?.current;\n if (element == null || Boolean(element.contains((event?.target as Node) ?? null))) {\n return;\n }\n handler(event);\n };\n\n if (enabled) {\n document.addEventListener('click', listener);\n }\n\n return () => document.removeEventListener('click', listener);\n }, [ref, enabled, handler]);\n};\n","import type { IconName } from '@zenkigen-inc/component-icons';\nimport { iconElements } from '@zenkigen-inc/component-icons';\nimport { iconColors } from '@zenkigen-inc/component-theme';\nimport { clsx } from 'clsx';\n\ntype Size = 'x-small' | 'small' | 'medium' | 'large' | 'x-large';\n\ntype Color = keyof typeof iconColors;\n\ntype Props = {\n name: IconName;\n size?: Size;\n color?: Color;\n isDisabled?: boolean;\n className?: string;\n};\n\nexport const Icon = ({ size = 'medium', isDisabled = false, ...props }: Props) => {\n const classes = clsx(\n 'inline-block shrink-0',\n {\n 'fill-disabled01': isDisabled,\n [iconColors.icon01]: !isDisabled && props.color === 'icon01',\n [iconColors.icon02]: !isDisabled && props.color === 'icon02',\n [iconColors.icon03]: !isDisabled && props.color === 'icon03',\n [iconColors.iconOnColor]: !isDisabled && props.color === 'iconOnColor',\n 'w-3 h-3': size === 'x-small',\n 'w-4 h-4': size === 'small',\n 'w-6 h-6': size === 'medium',\n 'w-8 h-8': size === 'large',\n 'w-10 h-10': size === 'x-large',\n },\n props.className,\n );\n\n return <span className={classes}>{iconElements[props.name]}</span>;\n};\n","import type { MutableRefObject } from 'react';\nimport { createContext } from 'react';\n\ntype UseDropdownReturnType = {\n isVisible: boolean;\n setIsVisible: React.Dispatch<React.SetStateAction<boolean>>;\n isDisabled: boolean;\n portalTargetRef?: MutableRefObject<HTMLElement | null>;\n targetDimensions: {\n width: number;\n height: number;\n };\n variant: 'text' | 'outline';\n};\n\nexport const DropdownContext = createContext<UseDropdownReturnType>({\n isVisible: false,\n setIsVisible: () => false,\n isDisabled: false,\n targetDimensions: { width: 0, height: 0 },\n variant: 'outline',\n});\n","import { focusVisible } from '@zenkigen-inc/component-theme';\nimport clsx from 'clsx';\nimport type { MouseEvent, PropsWithChildren } from 'react';\nimport { useContext } from 'react';\n\nimport { DropdownContext } from './dropdown-context';\n\ntype Props = {\n color?: 'gray' | 'red';\n onClick?: (event: MouseEvent<HTMLButtonElement>) => void;\n};\n\nexport function DropdownItem({ children, color = 'gray', onClick }: PropsWithChildren<Props>) {\n const { setIsVisible } = useContext(DropdownContext);\n const handleClickItem = (event: MouseEvent<HTMLButtonElement>) => {\n setIsVisible(false);\n onClick?.(event);\n };\n const itemClasses = clsx(\n 'typography-label14regular flex h-8 w-full items-center px-3 hover:bg-hover02 active:bg-active02',\n focusVisible.inset,\n {\n 'bg-uiBackground01 fill-icon01 text-interactive02': color === 'gray',\n 'fill-supportDanger text-supportDanger': color === 'red',\n },\n );\n\n return (\n <li className=\"flex w-full items-center\">\n <button className={itemClasses} type=\"button\" onClick={handleClickItem}>\n {children}\n </button>\n </li>\n );\n}\n","import clsx from 'clsx';\nimport type { CSSProperties, PropsWithChildren } from 'react';\nimport { useContext } from 'react';\n\nimport { DropdownContext } from './dropdown-context';\nimport type { DropdownHorizontalAlign, DropdownVerticalPosition } from './type';\n\ntype Props = {\n maxHeight?: CSSProperties['height'];\n isNoPadding?: boolean;\n verticalPosition?: DropdownVerticalPosition;\n horizontalAlign?: DropdownHorizontalAlign;\n};\n\nexport function DropdownMenu({\n children,\n maxHeight,\n isNoPadding = false,\n verticalPosition = 'bottom',\n horizontalAlign = 'left',\n}: PropsWithChildren<Props>) {\n const { isVisible, isDisabled, targetDimensions, variant, portalTargetRef } = useContext(DropdownContext);\n const wrapperClasses = clsx('z-dropdown w-max overflow-y-auto rounded bg-uiBackground01 shadow-floatingShadow', {\n absolute: !portalTargetRef,\n 'border-solid border border-uiBorder01': variant === 'outline',\n 'py-1': !isNoPadding,\n 'left-0': horizontalAlign === 'left',\n 'right-0': horizontalAlign === 'right',\n 'left-auto': horizontalAlign === 'center',\n });\n\n return (\n isVisible &&\n !isDisabled && (\n <ul\n className={wrapperClasses}\n style={{\n top: !portalTargetRef && verticalPosition === 'bottom' ? `${targetDimensions.height + 4}px` : 'unset',\n bottom: !portalTargetRef && verticalPosition === 'top' ? `${targetDimensions.height + 4}px` : 'unset',\n maxHeight,\n }}\n >\n {children}\n </ul>\n )\n );\n}\n","import type { IconName } from '@zenkigen-inc/component-icons';\nimport { buttonColors, focusVisible } from '@zenkigen-inc/component-theme';\nimport clsx from 'clsx';\nimport type { MutableRefObject, PropsWithChildren, ReactElement } from 'react';\nimport { useCallback, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { useOutsideClick } from '../hooks/use-outside-click';\nimport { Icon } from '../icon';\nimport { DropdownContext } from './dropdown-context';\nimport { DropdownItem } from './dropdown-item';\nimport { DropdownMenu } from './dropdown-menu';\n\ntype Props = {\n size?: 'x-small' | 'small' | 'medium' | 'large';\n variant?: 'text' | 'outline';\n title?: string;\n isDisabled?: boolean;\n isArrowHidden?: boolean;\n portalTargetRef?: MutableRefObject<HTMLElement | null>;\n} & (\n | { target: ReactElement; label?: never; icon?: never }\n | {\n target?: undefined;\n label: string;\n icon?: IconName;\n }\n);\n\nexport function Dropdown({\n children,\n target,\n label,\n icon,\n size = 'medium',\n variant = 'outline',\n title,\n isDisabled = false,\n isArrowHidden = false,\n portalTargetRef,\n}: PropsWithChildren<Props>) {\n const [isVisible, setIsVisible] = useState(false);\n const [targetDimensions, setTargetDimensions] = useState({\n width: 0,\n height: 0,\n });\n\n const targetRef = useRef<HTMLDivElement>(null);\n useOutsideClick(targetRef, () => setIsVisible(false));\n\n const handleToggle = useCallback(() => {\n if (targetRef.current === null) {\n return;\n }\n\n if (isVisible) {\n setIsVisible(false);\n } else {\n const dimensions = targetRef.current.getBoundingClientRect();\n const calculatedDimensions = {\n width: dimensions.right - dimensions.left,\n height: dimensions.bottom - dimensions.top,\n };\n\n setTargetDimensions(calculatedDimensions);\n setIsVisible(true);\n }\n }, [isVisible]);\n\n const wrapperClasses = clsx('relative flex shrink-0 items-center gap-1 rounded', {\n 'cursor-not-allowed': isDisabled,\n });\n\n const childrenButtonClasses = clsx(\n 'flex items-center justify-center rounded bg-uiBackground01 p-1 hover:bg-hover02 active:bg-active02',\n focusVisible.normal,\n {\n 'pointer-events-none': isDisabled,\n 'border border-uiBorder02': variant === 'outline',\n },\n );\n\n const buttonClasses = clsx(\n 'flex items-center rounded bg-uiBackground01',\n buttonColors[variant].base,\n buttonColors[variant].hover,\n buttonColors[variant].active,\n buttonColors[variant].disabled,\n focusVisible.normal,\n {\n 'pointer-events-none': isDisabled,\n 'h-6 px-2': size === 'x-small' || size === 'small',\n 'h-8 px-4': size === 'medium',\n 'h-10 px-4': size === 'large',\n },\n );\n\n const labelClasses = clsx('flex items-center', {\n 'mr-1': !isArrowHidden && size === 'x-small',\n 'mr-2': !isArrowHidden && size !== 'x-small',\n 'typography-label12regular': size === 'x-small',\n 'typography-label14regular': size === 'small' || size === 'medium',\n 'typography-label16regular': size === 'large',\n });\n\n return (\n <DropdownContext.Provider\n value={{ isVisible, setIsVisible, isDisabled, targetDimensions, variant, portalTargetRef }}\n >\n <div ref={targetRef} className={wrapperClasses}>\n {target ? (\n <button\n type=\"button\"\n title={title}\n className={childrenButtonClasses}\n onClick={handleToggle}\n disabled={isDisabled}\n >\n {target}\n {!isArrowHidden && (\n <div className=\"ml-2 flex items-center fill-icon01\">\n <Icon\n name={isVisible ? 'angle-small-up' : 'angle-small-down'}\n size={size === 'large' ? 'medium' : 'small'}\n />\n </div>\n )}\n </button>\n ) : (\n <button type=\"button\" title={title} className={buttonClasses} onClick={handleToggle} disabled={isDisabled}>\n {icon && (\n <span className=\"mr-1 flex\">\n <Icon name={icon} size={size === 'large' ? 'medium' : 'small'} />\n </span>\n )}\n <span className={labelClasses}>{label}</span>\n {!isArrowHidden && (\n <div className=\"ml-auto flex items-center\">\n <Icon name={isVisible ? 'angle-small-up' : 'angle-small-down'} size=\"small\" />\n </div>\n )}\n </button>\n )}\n {!portalTargetRef\n ? children\n : portalTargetRef != null && portalTargetRef.current && createPortal(children, portalTargetRef.current)}\n </div>\n </DropdownContext.Provider>\n );\n}\n\nDropdown.Menu = DropdownMenu;\nDropdown.Item = DropdownItem;\n","import { iconElements } from '@zenkigen-inc/component-icons';\nimport { focusVisible } from '@zenkigen-inc/component-theme';\nimport clsx from 'clsx';\nimport { useCallback, useState } from 'react';\n\ntype Props = {\n value: number;\n isEditable?: boolean;\n onChangeRating?: (newRating: number) => void | null;\n size?: 'medium' | 'large';\n};\n\nexport function EvaluationStar({ value, isEditable = false, onChangeRating, size = 'medium' }: Props) {\n const maxRating = 5;\n const [currentRating, setCurrentRating] = useState(value);\n\n const handleChangeRating = useCallback(\n (newRating: number) => {\n if (isEditable) {\n setCurrentRating(newRating);\n if (onChangeRating) {\n onChangeRating(newRating);\n }\n }\n },\n [isEditable, onChangeRating],\n );\n\n const starClasses = clsx(focusVisible.inset, { 'w-6 h-6': size === 'large', 'w-4 h-4': size === 'medium' });\n\n // 各評価のレンダリングロジックを分離(React Hooksのルールに準拠)\n const renderStar = (rating: number) => {\n const color = rating <= currentRating ? 'fill-yellow-yellow50' : 'fill-icon03';\n\n return (\n <button\n type=\"button\"\n key={rating}\n onClick={() => handleChangeRating(rating)}\n className={clsx(color, starClasses)}\n disabled={!isEditable}\n >\n {iconElements['star-filled']}\n </button>\n );\n };\n\n // 宣言的な方法で評価の配列を生成\n const ratingStars = Array.from({ length: maxRating }, (_, index) => renderStar(index + 1));\n\n return <span className=\"flex flex-row\">{ratingStars}</span>;\n}\n","import { typography } from '@zenkigen-inc/component-theme';\nimport { clsx } from 'clsx';\nimport type { ReactNode } from 'react';\n\ntype Level = 1 | 2 | 3 | 4 | 5;\n\ntype Props = {\n level: Level;\n before?: ReactNode;\n after?: ReactNode;\n children?: ReactNode;\n};\n\nexport function Heading(props: Props) {\n const TagName = `h${props.level}` as const;\n\n const classes = clsx(`flex items-center text-text01`, typography.heading[TagName], {\n 'gap-2': props.level === 1,\n 'gap-1': props.level > 1,\n });\n\n return (\n <TagName className={classes}>\n {props.before}\n {props.children}\n {props.after}\n </TagName>\n );\n}\n","import type { IconName } from '@zenkigen-inc/component-icons';\nimport { buttonColors, focusVisible } from '@zenkigen-inc/component-theme';\nimport { clsx } from 'clsx';\n\nimport { Icon } from '../icon/icon';\n\ntype Size = 'small' | 'medium' | 'large';\n\ntype Variant = 'outline' | 'text';\n\ntype Props = {\n icon: IconName;\n size?: Size;\n isDisabled?: boolean;\n isNoPadding?: boolean;\n variant?: Variant;\n} & (\n | {\n isAnchor: true;\n href: string;\n target?: HTMLAnchorElement['target'];\n }\n | {\n isAnchor?: false;\n onClick?: () => void;\n }\n);\n\nexport function IconButton({\n size = 'medium',\n variant = 'outline',\n isNoPadding = false,\n isDisabled = false,\n ...props\n}: Props) {\n const baseClasses = clsx(\n 'typography-label16regular flex items-center justify-center gap-1 rounded',\n buttonColors[variant].base,\n buttonColors[variant].hover,\n buttonColors[variant].active,\n buttonColors[variant].disabled,\n focusVisible.normal,\n {\n 'h-4 w-4': size === 'small' && isNoPadding,\n 'h-6 w-6': (size === 'small' && !isNoPadding) || ((size === 'medium' || size === 'large') && isNoPadding),\n 'h-8 w-8': size === 'medium' && !isNoPadding,\n 'h-10 w-10': size === 'large' && !isNoPadding,\n 'inline-flex': props.isAnchor,\n 'pointer-events-none': isDisabled,\n },\n );\n\n const iconSize = size === 'small' ? 'small' : 'medium';\n\n if (props.isAnchor === true) {\n return (\n <a className={baseClasses} href={props.href} target={props.target}>\n <Icon name={props.icon} size={iconSize} />\n </a>\n );\n } else {\n return (\n <button type=\"button\" className={baseClasses} disabled={isDisabled} onClick={props.onClick}>\n <Icon name={props.icon} size={iconSize} />\n </button>\n );\n }\n}\n","import clsx from 'clsx';\n\ntype Props = {\n size?: 'small' | 'medium' | 'large';\n position?: 'fixed' | 'absolute' | 'static';\n height?: string;\n};\n\nexport function Loading({ size = 'medium', position = 'fixed', height = '100%' }: Props) {\n const wrapperClasses = clsx(position, 'left-0 top-0 z-20 flex w-full items-center justify-center');\n\n const svgClasses = clsx({\n 'h-4 w-4': size === 'small',\n 'h-8 w-8': size === 'medium',\n 'h-16 w-16': size === 'large',\n });\n\n return (\n <>\n <div className={wrapperClasses} style={{ height }}>\n {size === 'small' && (\n <svg className={svgClasses} viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle\n className=\"origin-center animate-circular-small-move stroke-interactive01\"\n cx=\"8\"\n cy=\"8\"\n r=\"7\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n fill=\"none\"\n />\n </svg>\n )}\n {size === 'medium' && (\n <svg className={svgClasses} viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle\n className=\"origin-center animate-circular-medium-move stroke-interactive01\"\n cx=\"16\"\n cy=\"16\"\n r=\"15\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n fill=\"none\"\n />\n </svg>\n )}\n {size === 'large' && (\n <svg className={svgClasses} viewBox=\"0 0 64 64\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle\n className=\"origin-center animate-circular-large-move stroke-interactive01\"\n cx=\"32\"\n cy=\"32\"\n r=\"30\"\n stroke=\"currentColor\"\n strokeWidth=\"3\"\n fill=\"none\"\n />\n </svg>\n )}\n </div>\n </>\n );\n}\n","import { useLayoutEffect } from 'react';\n\n/**\n * モーダル表示時にバックグラウンドのスクロールを防止するコンポーネント。\n * コンポーネントがマウントされている間、position: fixedアプローチを使用して\n * body要素にスクロールロックを適用します。\n * 縦横両方のスクロール位置を保存し、コンポーネントのアンマウント時に復元します。\n * スクロールバーの有無を検出し、その幅を考慮してレイアウトシフトを防止します。\n * position、top、left、width、overflow、padding-rightを変更し、\n * 最小限の変更でスクロールを防止します。\n * グローバルCSSに依存せず、すべてインラインスタイルで実装されています。\n * このコンポーネントは実際のDOM要素をレンダリングせず、効果のみを適用します。\n *\n * @example\n * // モーダルコンポーネント内で使用する例\n * const Modal = ({ isOpen, children }) => {\n * return (\n * <>\n * {isOpen && <BodyScrollLock />}\n * {isOpen && (\n * <div className=\"modal\">\n * {children}\n * </div>\n * )}\n * </>\n * );\n * };\n */\nexport const BodyScrollLock = (): null => {\n useLayoutEffect(() => {\n // 現在の縦横スクロール位置を記録\n const { scrollX, scrollY } = window;\n const { body } = document;\n\n // スクロールバーの有無と幅を検出\n const hasVerticalScrollbar = document.documentElement.scrollHeight > document.documentElement.clientHeight;\n const scrollbarWidth = hasVerticalScrollbar ? window.innerWidth - document.documentElement.clientWidth : 0;\n\n // 元のインラインスタイルの値を保存\n const originalInlineStyles = {\n position: body.style.position,\n top: body.style.top,\n left: body.style.left,\n width: body.style.width,\n overflow: body.style.overflow,\n paddingRight: body.style.paddingRight,\n };\n\n // スクロールロックスタイルを適用\n body.style.position = 'fixed';\n body.style.top = `-${scrollY}px`;\n body.style.left = `-${scrollX}px`;\n body.style.width = '100%';\n body.style.overflow = 'hidden';\n\n // スクロールバーがある場合、その幅分だけpadding-rightを調整\n if (hasVerticalScrollbar && scrollbarWidth > 0) {\n // 現在のpadding-rightの値を取得\n const { paddingRight } = window.getComputedStyle(body);\n const paddingRightValue = paddingRight !== '' ? parseInt(paddingRight, 10) : 0;\n\n // スクロールバーの幅を加算\n body.style.paddingRight = `${paddingRightValue + scrollbarWidth}px`;\n }\n\n // クリーンアップ関数\n return () => {\n // 元のスタイル値を取得\n const { position, top, left, width, overflow, paddingRight } = originalInlineStyles;\n\n // プロパティごとに元の値を復元\n restoreProperty(body, 'position', position);\n restoreProperty(body, 'top', top);\n restoreProperty(body, 'left', left);\n restoreProperty(body, 'width', width);\n restoreProperty(body, 'overflow', overflow);\n restoreProperty(body, 'padding-right', paddingRight);\n\n // スクロール位置を復元\n window.scrollTo(scrollX, scrollY);\n };\n }, []); // 空の依存配列を指定して初回のみ実行\n\n // DOM要素をレンダリングせず、nullを返す\n return null;\n};\n\n/**\n * 元のスタイル値を復元するヘルパー関数\n * @param element スタイルを復元する要素\n * @param property 復元するCSSプロパティ名\n * @param value 復元する値\n */\nfunction restoreProperty(element: HTMLElement, property: string, value: string): void {\n if (value !== '') {\n element.style.setProperty(property, value);\n } else {\n element.style.removeProperty(property);\n }\n}\n","import type { PropsWithChildren } from 'react';\n\nexport function ModalBody({ children }: PropsWithChildren) {\n return <div className=\"overflow-y-auto\">{children}</div>;\n}\n","import { createContext } from 'react';\n\ntype ModalReturnType = {\n onClose?: () => void;\n};\n\nexport const ModalContext = createContext<ModalReturnType>({\n onClose: () => null,\n});\n","import clsx from 'clsx';\nimport type { PropsWithChildren } from 'react';\nimport React from 'react';\n\ntype Props = {\n isNoBorder?: boolean;\n};\n\nexport function ModalFooter({ children, isNoBorder = false }: PropsWithChildren<Props>) {\n const wrapperClasses = clsx('flex w-full shrink-0 items-center rounded-b-lg px-6 py-4', {\n 'border-t-[1px] border-uiBorder01': !isNoBorder,\n });\n\n return <div className={wrapperClasses}>{children}</div>;\n}\n","import clsx from 'clsx';\nimport type { PropsWithChildren } from 'react';\nimport { useContext } from 'react';\n\nimport { IconButton } from '../icon-button';\nimport { ModalContext } from './modal-context';\n\ntype Props = {\n isNoBorder?: boolean;\n};\n\nexport function ModalHeader({ children, isNoBorder = false }: PropsWithChildren<Props>) {\n const { onClose } = useContext(ModalContext);\n\n const headerClasses = clsx(\n 'typography-h5 flex w-full shrink-0 items-center justify-between rounded-t-lg px-6 text-text01',\n {\n 'border-b border-uiBorder01': !isNoBorder,\n 'h-14': !onClose,\n 'h-12': onClose,\n },\n );\n\n return (\n <div className={headerClasses}>\n <div>{children}</div>\n {onClose && <IconButton icon=\"close\" size=\"small\" variant=\"text\" onClick={onClose} />}\n </div>\n );\n}\n","import type { CSSProperties, MutableRefObject, PropsWithChildren } from 'react';\nimport { useEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { BodyScrollLock } from './body-scroll-lock';\nimport { ModalBody } from './modal-body';\nimport { ModalContext } from './modal-context';\nimport { ModalFooter } from './modal-footer';\nimport { ModalHeader } from './modal-header';\n\nconst LIMIT_WIDTH = 320;\nconst LIMIT_HEIGHT = 184;\n\ntype Props = {\n width?: CSSProperties['width'];\n height?: CSSProperties['height'];\n isOpen: boolean;\n onClose?: () => void;\n portalTargetRef?: MutableRefObject<HTMLElement | null>;\n};\n\nexport function Modal({ children, width = 480, height, isOpen, onClose, portalTargetRef }: PropsWithChildren<Props>) {\n const [isMounted, setIsMounted] = useState(false);\n\n const renderWidth = typeof width === 'number' ? Math.max(width, LIMIT_WIDTH) : width;\n const renderHeight = typeof height === 'number' ? Math.max(height, LIMIT_HEIGHT) : height;\n\n useEffect(() => {\n setIsMounted(true);\n }, []);\n\n return isMounted && isOpen ? (\n <>\n <BodyScrollLock />\n {createPortal(\n <ModalContext.Provider value={{ onClose }}>\n <div className=\"fixed left-0 top-0 z-overlay flex size-full items-center justify-center bg-backgroundOverlayBlack py-4\">\n <div\n className=\"grid max-h-full min-h-[120px] grid-rows-[max-content_1fr_max-content] flex-col rounded-lg bg-uiBackground01 shadow-modalShadow\"\n style={{ width: renderWidth, height: renderHeight }}\n >\n {children}\n </div>\n </div>\n </ModalContext.Provider>,\n portalTargetRef?.current != null ? portalTargetRef.current : document.body,\n )}\n </>\n ) : null;\n}\n\nModal.Body = ModalBody;\nModal.Header = ModalHeader;\nModal.Footer = ModalFooter;\n","import { clsx } from 'clsx';\nimport type { ReactNode } from 'react';\n\nimport { Icon } from '../icon';\nimport { IconButton } from '../icon-button';\n\ntype Props = {\n state?: 'success' | 'warning' | 'information' | 'attention' | 'default';\n size?: 'small' | 'medium';\n children?: ReactNode;\n} & (\n | { showClose?: false }\n | {\n showClose: true;\n onClickClose: () => void;\n }\n);\n\nexport function NotificationInline({ state = 'default', size = 'medium', ...props }: Props) {\n const wrapperClasses = clsx('typography-body13regular flex items-center gap-1 rounded text-text01', {\n 'bg-uiBackgroundError': state === 'attention',\n 'bg-uiBackgroundWarning': state === 'warning',\n 'bg-uiBackgroundBlue': state === 'information',\n 'bg-uiBackgroundSuccess': state === 'success',\n 'bg-uiBackgroundGray': state === 'default',\n 'p-2': size === 'small',\n 'p-3': size === 'medium',\n });\n\n const iconClasses = clsx('flex items-center', {\n 'fill-supportError': state === 'attention',\n 'fill-supportWarning': state === 'warning',\n 'fill-blue-blue50': state === 'information',\n 'fill-supportSuccess': state === 'success',\n });\n\n const iconName = {\n attention: 'attention',\n success: 'success-filled',\n warning: 'warning',\n information: 'information-filled',\n } as const;\n\n const iconSize = {\n small: 'small',\n medium: 'medium',\n } as const;\n\n return (\n <div className={wrapperClasses}>\n {state !== 'default' && (\n <div className={iconClasses}>\n <Icon name={iconName[state]} size={iconSize[size]} />\n </div>\n )}\n <p className=\"flex-1\">{props.children}</p>\n {props.showClose === true && (\n <div className=\"flex items-center\">\n <IconButton icon=\"close\" size=\"small\" variant=\"text\" />\n </div>\n )}\n </div>\n );\n}\n","import { createContext } from 'react';\n\ntype PaginationContextType = {\n /** 現在のページ番号 */\n currentPage: number;\n};\n\nexport const PaginationContext = createContext<PaginationContextType>({\n currentPage: 0,\n});\n","import { clsx } from 'clsx';\nimport { useContext } from 'react';\n\nimport { PaginationContext } from './pagination-context';\n\ntype Props = {\n page: number;\n onClick: (value: number) => void;\n};\n\nexport function PaginationButton({ page, onClick }: Props) {\n const { currentPage } = useContext(PaginationContext);\n\n const buttonClasses = clsx(\n 'flex h-8 min-w-8 items-center justify-center rounded fill-icon01 px-1',\n 'typography-label14regular',\n 'text-interactive02',\n 'hover:bg-hover02',\n { 'border border-uiBorder02': page === currentPage },\n { 'border-transparent': page !== currentPage },\n );\n\n return (\n <button type=\"button\" className={buttonClasses} onClick={() => onClick(page)}>\n {page}\n </button>\n );\n}\n","import { Icon } from '../icon';\nimport { IconButton } from '../icon-button';\nimport { PaginationButton } from './pagination-button';\nimport { PaginationContext } from './pagination-context';\n\nconst START_PAGE = 1;\n\ntype Props = {\n /** 現在のページ番号 */\n currentPage: number;\n /** トータルのページ数 */\n totalPage: number;\n /** 現在のページ番号を中心としたときの、左右のページボタン数 */\n sideNumPagesToShow?: number;\n /** ボタンが押されたときのイベントハンドラ */\n onClick: (value: number) => void;\n};\n\nexport function Pagination({ currentPage, totalPage, sideNumPagesToShow = 3, onClick }: Props) {\n let center = Math.max(currentPage, START_PAGE + 1);\n center = Math.min(center, totalPage - 1);\n\n const start = Math.max(center - sideNumPagesToShow, START_PAGE + 1);\n const end = Math.min(center + sideNumPagesToShow, totalPage - 1);\n const offsetStart = center + sideNumPagesToShow >= totalPage ? totalPage - center - sideNumPagesToShow : 0;\n const offsetEnd = center <= sideNumPagesToShow ? sideNumPagesToShow - center + 1 : 0;\n\n const pageList: Array<number> = [];\n for (let i = start + offsetStart; i <= end + offsetEnd; i++) {\n pageList.push(i);\n }\n\n const threeDotIconClasses = 'flex h-8 w-8 items-center justify-center gap-1 fill-icon01';\n\n return (\n <PaginationContext.Provider\n value={{\n currentPage,\n }}\n >\n <ul className=\"flex gap-1\">\n <li className=\"flex items-center\">\n <IconButton\n isDisabled={currentPage === START_PAGE}\n variant=\"text\"\n icon=\"angle-left\"\n size=\"small\"\n onClick={() => onClick(currentPage - 1)}\n />\n </li>\n <li>\n <PaginationButton onClick={() => onClick(START_PAGE)} page={START_PAGE} />\n </li>\n {pageList.length !== 0 && pageList[0] !== 2 && (\n <li className={threeDotIconClasses}>\n <Icon name=\"more\" size=\"small\" />\n </li>\n )}\n {pageList.map((page: number, index: number) => (\n <li key={index}>\n <PaginationButton onClick={() => onClick(page)} page={page} />\n </li>\n ))}\n {pageList.length !== 0 && pageList[pageList.length - 1] !== totalPage - 1 && (\n <li className={threeDotIconClasses}>\n <Icon name=\"more\" size=\"small\" />\n </li>\n )}\n <li>\n <PaginationButton onClick={() => onClick(totalPage)} page={totalPage} />\n </li>\n <li className=\"flex items-center\">\n <IconButton\n isDisabled={currentPage === totalPage}\n variant=\"text\"\n icon=\"angle-right\"\n size=\"small\"\n onClick={() => onClick(currentPage + 1)}\n />\n </li>\n </ul>\n </PaginationContext.Provider>\n );\n}\n","import { createContext } from 'react';\n\nimport type { SelectOption } from './type';\n\ntype UseSelectReturnType = {\n size?: 'x-small' | 'small' | 'medium' | 'large';\n placeholder?: string;\n selectedOption?: SelectOption | null;\n setIsOptionListOpen: React.Dispatch<React.SetStateAction<boolean>>;\n onChange?: (option: SelectOption | null) => void;\n variant?: 'text' | 'outline';\n};\n\nexport const SelectContext = createContext<UseSelectReturnType>({\n size: 'medium',\n setIsOptionListOpen: () => false,\n variant: 'outline',\n});\n","import { focusVisible } from '@zenkigen-inc/component-theme';\nimport clsx from 'clsx';\nimport { useContext } from 'react';\n\nimport { Icon } from '../icon';\nimport { SelectContext } from './select-context';\nimport type { SelectOption } from './type';\n\ntype Props = {\n option: SelectOption;\n};\n\nexport function SelectItem({ option }: Props) {\n const { setIsOptionListOpen, selectedOption, onChange } = useContext(SelectContext);\n\n const handleClickItem = (option: SelectOption) => {\n onChange?.(option);\n setIsOptionListOpen(false);\n };\n\n const itemClasses = clsx(\n 'typography-label14regular flex h-8 w-full items-center px-3 hover:bg-hover02 active:bg-active02',\n focusVisible.inset,\n {\n 'text-interactive01 fill-interactive01 bg-selectedUi': option.id === selectedOption?.id,\n 'text-interactive02 fill-icon01 bg-uiBackground01': option.id !== selectedOption?.id,\n },\n );\n\n return (\n <li className=\"flex w-full items-center\" key={option.id} data-id={option.id}>\n <button className={itemClasses} type=\"button\" onClick={() => handleClickItem(option)}>\n {option.icon && <Icon name={option.icon} size=\"small\" />}\n <span className=\"ml-1 mr-6\">{option.label}</span>\n {option.id === selectedOption?.id && (\n <div className=\"ml-auto flex items-center\">\n <Icon name=\"check\" size=\"small\" />\n </div>\n )}\n </button>\n </li>\n );\n}\n","import { focusVisible } from '@zenkigen-inc/component-theme';\nimport clsx from 'clsx';\nimport type { CSSProperties, PropsWithChildren } from 'react';\nimport { useContext, useLayoutEffect, useRef } from 'react';\n\nimport { SelectContext } from './select-context';\n\ntype Props = {\n maxHeight?: CSSProperties['height'];\n};\n\nexport function SelectList({ children, maxHeight }: PropsWithChildren<Props>) {\n const ref = useRef<HTMLUListElement>(null);\n const { size, selectedOption, setIsOptionListOpen, variant, placeholder, onChange } = useContext(SelectContext);\n\n const handleClickDeselect = () => {\n onChange?.(null);\n setIsOptionListOpen(false);\n };\n\n useLayoutEffect(() => {\n if (maxHeight != null && ref.current) {\n const element = Array.from(ref.current.children ?? []).find(\n (item) => item.getAttribute('data-id') === selectedOption?.id,\n );\n if (element != null && ref.current.scroll != null) {\n const wrapRect = ref.current.getBoundingClientRect();\n const rect = element.getBoundingClientRect();\n ref.current.scroll(0, rect.top - wrapRect.top - wrapRect.height / 2 + rect.height / 2);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const listClasses = clsx(\n 'absolute z-dropdown w-max overflow-y-auto rounded bg-uiBackground01 py-2 shadow-floatingShadow',\n {\n 'top-7': size === 'x-small' || size === 'small',\n 'top-9': size === 'medium',\n 'top-11': size === 'large',\n 'border-solid border border-uiBorder01': variant === 'outline',\n },\n );\n\n const deselectButtonClasses = clsx(\n 'typography-label14regular flex h-8 w-full items-center px-3 text-interactive02 hover:bg-hover02 active:bg-active02',\n focusVisible.inset,\n );\n\n return (\n <ul className={listClasses} style={{ maxHeight }} ref={ref}>\n {children}\n {placeholder != null && selectedOption !== null && (\n <li>\n <button className={deselectButtonClasses} type=\"button\" onClick={handleClickDeselect}>\n 選択解除\n </button>\n </li>\n )}\n </ul>\n );\n}\n","import type { IconName } from '@zenkigen-inc/component-icons';\nimport { buttonColors, focusVisible } from '@zenkigen-inc/component-theme';\nimport clsx from 'clsx';\nimport type { CSSProperties, PropsWithChildren } from 'react';\nimport { useRef, useState } from 'react';\n\nimport { useOutsideClick } from '../hooks/use-outside-click';\nimport { Icon } from '../icon';\nimport { SelectContext } from './select-context';\nimport { SelectItem } from './select-item';\nimport { SelectList } from './select-list';\nimport type { SelectOption } from './type';\n\ntype Props = {\n size?: 'x-small' | 'small' | 'medium' | 'large';\n variant?: 'outline' | 'text';\n width?: CSSProperties['width'];\n maxWidth?: CSSProperties['maxWidth'];\n placeholder?: string;\n placeholderIcon?: IconName;\n selectedOption?: SelectOption | null;\n optionListMaxHeight?: CSSProperties['height'];\n isDisabled?: boolean;\n isOptionSelected?: boolean;\n onChange?: (option: SelectOption | null) => void;\n};\n\nexport function Select({\n children,\n size = 'medium',\n variant = 'outline',\n width,\n maxWidth,\n placeholder,\n placeholderIcon,\n selectedOption = null,\n isDisabled = false,\n isOptionSelected = false,\n onChange,\n optionListMaxHeight,\n}: PropsWithChildren<Props>) {\n const [isOptionListOpen, setIsOptionListOpen] = useState(false);\n const targetRef = useRef<HTMLDivElement>(null);\n useOutsideClick(targetRef, () => setIsOptionListOpen(false));\n\n const handleClickToggle = () => setIsOptionListOpen((prev) => !prev);\n\n const wrapperClasses = clsx('relative flex shrink-0 items-center gap-1 rounded bg-uiBackground01', {\n 'h-6': size === 'x-small' || size === 'small',\n 'h-8': size === 'medium',\n 'h-10': size === 'large',\n 'cursor-not-allowed': isDisabled,\n });\n\n const buttonClasses = clsx(\n 'flex size-full items-center rounded',\n buttonColors[variant].hover,\n buttonColors[variant].active,\n buttonColors[variant].disabled,\n focusVisible.normal,\n {\n [buttonColors[variant].selected]: isOptionSelected && !isDisabled && selectedOption,\n [buttonColors[variant].base]: !(isOptionSelected && !isDisabled && selectedOption),\n 'px-2': size === 'x-small' || size === 'small',\n 'px-4': size === 'medium' || size === 'large',\n 'pointer-events-none': isDisabled,\n },\n );\n\n const labelClasses = clsx('overflow-hidden', {\n 'mr-1': size === 'x-small',\n 'mr-2': size !== 'x-small',\n 'typography-label12regular': size === 'x-small',\n 'typography-label14regular': size === 'small' || size === 'medium',\n 'typography-label16regular': size === 'large',\n });\n\n return (\n <SelectContext.Provider\n value={{\n size,\n variant,\n placeholder,\n setIsOptionListOpen,\n selectedOption,\n onChange,\n }}\n >\n <div className={wrapperClasses} style={{ width, maxWidth }} ref={targetRef}>\n <button className={buttonClasses} type=\"button\" onClick={handleClickToggle} disabled={isDisabled}>\n {selectedOption?.icon ? (\n <div className=\"mr-1 flex\">\n <Icon name={selectedOption.icon} size={size === 'large' ? 'medium' : 'small'} />\n </div>\n ) : (\n placeholder != null &&\n placeholderIcon && (\n <div className=\"mr-1 flex\">\n <Icon name={placeholderIcon} size={size === 'large' ? 'medium' : 'small'} />\n </div>\n )\n )}\n <div className={labelClasses}>\n <div className=\"truncate\">{selectedOption ? selectedOption.label : placeholder != null && placeholder}</div>\n </div>\n <div className=\"ml-auto flex items-center\">\n <Icon\n name={isOptionListOpen ? 'angle-small-up' : 'angle-small-down'}\n size={size === 'large' ? 'medium' : 'small'}\n />\n </div>\n </button>\n {isOptionListOpen && !isDisabled && <SelectList maxHeight={optionListMaxHeight}>{children}</SelectList>}\n </div>\n </SelectContext.Provider>\n );\n}\n\nSelect.Option = SelectItem;\n","import { IconButton } from '../icon-button';\nimport type { SelectOption } from '../select';\nimport { Select } from '../select';\n\ntype Props = {\n /** トータル件数 */\n totalSize: number;\n /** ページあたり件数 */\n sizePerPage: number;\n /** 現在のページ番号 */\n currentPage: number;\n /** 件数表示単位ラベル */\n countLabel?: string;\n /** ページ表示単位ラベル */\n pageLabel?: string;\n /** Selectのリストの最大の高さ */\n optionListMaxHeight?: number;\n /** 戻るボタンクリック時のイベントハンドラ */\n onClickPrevButton: () => void;\n /** 進むボタンクリック時のイベントハンドラ */\n onClickNextButton: () => void;\n /** Selectが切り替わった時のイベントハンドラ */\n onChange: (value: number) => void;\n};\n\nexport function PaginationSelect({\n totalSize,\n currentPage,\n sizePerPage,\n countLabel = '件',\n pageLabel = 'ページ',\n optionListMaxHeight = 190,\n onClickPrevButton,\n onClickNextButton,\n onChange,\n}: Props) {\n const pageMax = Math.ceil(totalSize / sizePerPage);\n\n const optionsList: SelectOption[] = [...Array(pageMax)].map((_, index) => {\n const value = (index + 1).toString();\n\n return {\n id: value,\n value,\n label: value,\n };\n });\n\n const minCount = totalSize ? (currentPage - 1) * sizePerPage + 1 : 0;\n const maxCount = currentPage * sizePerPage > totalSize ? totalSize : currentPage * sizePerPage;\n\n return (\n <nav aria-label=\"pagination\" className=\"flex items-center gap-x-1\">\n <div className=\"flex items-center gap-x-2\">\n <div className=\"typography-label14regular text-text01\">\n {minCount > 0 && `${minCount} - `}\n {maxCount}\n {countLabel}\n </div>\n <Select\n size=\"medium\"\n variant=\"outline\"\n selectedOption={optionsList.find((option) => option.value === currentPage.toString())}\n optionListMaxHeight={optionListMaxHeight}\n onChange={(option) => option && onChange(Number(option.value))}\n isDisabled={pageMax === 0}\n >\n {optionsList.map((option) => (\n <Select.Option key={option.id} option={option} />\n ))}\n </Select>\n <div className=\"typography-label14regular text-text03\">\n / {pageMax}\n {pageLabel}\n </div>\n </div>\n <div className=\"flex items-center\">\n <IconButton\n variant=\"text\"\n icon=\"angle-left\"\n size=\"small\"\n isDisabled={currentPage === 1}\n onClick={onClickPrevButton}\n />\n <IconButton\n variant=\"text\"\n icon=\"angle-right\"\n size=\"small\"\n isDisabled={currentPage === pageMax || pageMax === 0}\n onClick={onClickNextButton}\n />\n </div>\n </nav>\n );\n}\n","import { focusVisible } from '@zenkigen-inc/component-theme';\nimport clsx from 'clsx';\nimport type { ChangeEvent } from 'react';\nimport { useCallback, useState } from 'react';\n\ntype Props = {\n name?: string;\n value?: string;\n id?: string;\n label?: string;\n isChecked?: boolean;\n isDisabled?: boolean;\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n};\n\nexport function Radio({ name, value, id, label, isChecked = false, isDisabled = false, onChange }: Props) {\n const [isMouseOver, setIsMouseOver] = useState(false);\n\n const handleMouseOverInput = useCallback(() => {\n setIsMouseOver(true);\n }, []);\n\n const handleMouseOutInput = useCallback(() => {\n setIsMouseOver(false);\n }, []);\n\n const handleChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => !isDisabled && onChange?.(e),\n [isDisabled, onChange],\n );\n\n const inputClasses = clsx('peer absolute z-[1] size-6 opacity-0', {\n 'cursor-not-allowed': isDisabled,\n 'cursor-pointer': !isDisabled,\n });\n\n const boxClasses = clsx(\n 'inline-flex size-5 items-center justify-center rounded-full border border-solid bg-white',\n focusVisible.normalPeer,\n {\n 'border-disabled01 hover:border-disabled01': isDisabled && !isMouseOver,\n 'border-hoverUiBorder': !isDisabled && isMouseOver,\n 'border-uiBorder03': !isDisabled,\n 'cursor-not-allowed': isDisabled,\n 'cursor-pointer': !isDisabled,\n },\n );\n\n const afterClasses = clsx('absolute inset-0 m-auto block size-3 rounded-full', {\n 'bg-disabled01': isDisabled && isChecked,\n 'bg-activeSelectedUi': !isDisabled && isChecked,\n 'scale-0': !isChecked,\n 'scale-100': isChecked,\n });\n\n const hoverIndicatorClasses = clsx('inline-block size-3 rounded-full', {\n 'bg-hoverUi': !isDisabled && !isChecked && isMouseOver,\n });\n\n const labelClasses = clsx('typography-label14regular ml-2 flex-[1_0_0] select-none break-all', {\n 'pointer-events-none cursor-not-allowed text-disabled01': isDisabled,\n 'cursor-pointer text-text01': !isDisabled,\n });\n\n return (\n <div className=\"flex items-center\">\n <div className=\"flex size-6 items-center justify-center\">\n <input\n type=\"checkbox\"\n value={value}\n name={name}\n id={id}\n checked={isChecked}\n disabled={isDisabled}\n onChange={handleChange}\n onMouseOver={handleMouseOverInput}\n onMouseLeave={handleMouseOutInput}\n className={inputClasses}\n />\n <div className={boxClasses}>\n <div className=\"relative flex size-5 flex-[0_0_auto] items-center justify-center\">\n <span className={afterClasses} />\n <span className={hoverIndicatorClasses} />\n </div>\n </div>\n </div>\n <label htmlFor={id} className={labelClasses}>\n {label}\n </label>\n </div>\n );\n}\n","import { clsx } from 'clsx';\nimport type { ChangeEvent, FormEvent } from 'react';\nimport { forwardRef } from 'react';\n\nimport { Icon } from '../icon';\nimport { IconButton } from '../icon-button';\n\ntype Props = {\n size?: 'medium' | 'large';\n placeholder?: string;\n width?: string;\n value: string;\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n onSubmit?: (e: FormEvent<HTMLFormElement>) => void;\n onClickClearButton?: () => void;\n};\n\nexport const Search = forwardRef<HTMLDivElement, Props>(({ width = '100%', size = 'medium', ...props }: Props, ref) => {\n const classes = clsx(\n 'flex items-center rounded-full border border-uiBorder02 bg-uiBackground01 focus-within:border-activeInput',\n { 'h-8 px-3': size === 'medium' },\n { 'h-10 px-4': size === 'large' },\n );\n\n const inputClasses = clsx('mx-2 h-full flex-1 text-text01 outline-0 placeholder:text-textPlaceholder', {\n ['typography-label14regular']: size === 'medium',\n ['typography-label16regular']: size === 'large',\n });\n\n return (\n <div className=\"relative\" ref={ref}>\n <form onSubmit={props.onSubmit}>\n <div className={classes} style={{ width }}>\n <Icon name=\"search\" color=\"icon01\" size=\"medium\" />\n <input\n type=\"text\"\n size={1}\n value={props.value}\n className={inputClasses}\n placeholder={props.placeholder}\n onChange={props.onChange}\n />\n {props.onClickClearButton && props.value && props.value.length !== 0 && (\n <IconButton\n variant=\"text\"\n icon=\"close\"\n size={size === 'medium' ? 'small' : 'medium'}\n isNoPadding\n onClick={props.onClickClearButton}\n />\n )}\n </div>\n </form>\n </div>\n );\n});\nSearch.displayName = 'Search';\n","import { focusVisible } from '@zenkigen-inc/component-theme';\nimport clsx from 'clsx';\nimport type { PropsWithChildren } from 'react';\n\nimport { Icon } from '../icon';\n\ntype Props = {\n isSortKey: boolean;\n onClickItem: () => void;\n};\n\nexport function SelectItem({ children, isSortKey, onClickItem }: PropsWithChildren<Props>) {\n const itemClasses = clsx(\n 'typography-label14regular flex h-8 w-full items-center px-3 hover:bg-hover02 active:bg-active02',\n focusVisible.inset,\n {\n 'bg-selectedUi fill-interactive01 text-interactive01': isSortKey,\n 'bg-uiBackground01 fill-icon01 text-interactive02': !isSortKey,\n },\n );\n\n return (\n <li className=\"flex w-full items-center\" onClick={onClickItem}>\n <button className={itemClasses} type=\"button\">\n <span className=\"ml-1 mr-6\">{children}</span>\n {isSortKey && (\n <div className=\"ml-auto flex items-center\">\n <Icon name=\"check\" size=\"small\" />\n </div>\n )}\n </button>\n </li>\n );\n}\n","import { focusVisible } from '@zenkigen-inc/component-theme';\nimport clsx from 'clsx';\n\nimport { SelectItem } from './select-item';\nimport type { SortOrder } from './type';\n\ntype Props = {\n size: 'x-small' | 'small' | 'medium' | 'large';\n variant: 'text' | 'outline';\n sortOrder: SortOrder;\n onClickItem: (value: SortOrder) => void;\n onClickDeselect?: () => void;\n};\n\nexport function SelectList({ size, variant, sortOrder, onClickItem, onClickDeselect }: Props) {\n const listClasses = clsx(\n 'absolute z-dropdown w-max overflow-y-auto rounded bg-uiBackground01 py-2 shadow-floatingShadow',\n {\n 'top-7': size === 'x-small' || size === 'small',\n 'top-9': size === 'medium',\n 'top-11': size === 'large',\n 'border-solid border border-uiBorder01': variant === 'outline',\n },\n );\n\n const deselectButtonClasses = clsx(\n 'typography-label14regular flex h-8 w-full items-center px-3 text-interactive02 hover:bg-hover02 active:bg-active02',\n focusVisible.inset,\n );\n\n return (\n <ul className={listClasses}>\n <SelectItem isSortKey={sortOrder === 'ascend'} onClickItem={() => onClickItem('ascend')}>\n 昇順で並び替え\n </SelectItem>\n <SelectItem isSortKey={sortOrder === 'descend'} onClickItem={() => onClickItem('descend')}>\n 降順で並び替え\n </SelectItem>\n {sortOrder !== null && onClickDeselect && (\n <li>\n <button className={deselectButtonClasses} type=\"button\" onClick={onClickDeselect}>\n 選択解除\n </button>\n </li>\n )}\n </ul>\n );\n}\n","import { buttonColors, focusVisible } from '@zenkigen-inc/component-theme';\nimport clsx from 'clsx';\nimport type { CSSProperties } from 'react';\nimport { useCallback, useRef, useState } from 'react';\n\nimport { useOutsideClick } from '../hooks/use-outside-click';\nimport { Icon } from '../icon';\nimport { SelectList } from './select-list';\nimport type { SortOrder } from './type';\n\ntype Props = {\n size?: 'x-small' | 'small' | 'medium' | 'large';\n variant?: 'outline' | 'text';\n width?: CSSProperties['width'];\n label: string;\n sortOrder: SortOrder;\n isDisabled?: boolean;\n isSortKey?: boolean;\n onChange?: (value: SortOrder) => void;\n onClickDeselect?: () => void;\n};\n\nexport function SelectSort({\n size = 'medium',\n variant = 'outline',\n width,\n label,\n sortOrder,\n isDisabled = false,\n isSortKey = false,\n onChange,\n onClickDeselect,\n}: Props) {\n const [isOptionListOpen, setIsOptionListOpen] = useState(false);\n const targetRef = useRef<HTMLDivElement>(null);\n useOutsideClick(targetRef, () => setIsOptionListOpen(false));\n\n const handleClickToggle = () => setIsOptionListOpen((prev) => !prev);\n const handleClickItem = useCallback(\n (value: SortOrder) => {\n onChange?.(value);\n setIsOptionListOpen(false);\n },\n [onChange],\n );\n\n const wrapperClasses = clsx('relative flex shrink-0 items-center gap-1 rounded', {\n 'h-6': size === 'x-small' || size === 'small',\n 'h-8': size === 'medium',\n 'h-10': size === 'large',\n 'cursor-not-allowed': isDisabled,\n });\n\n const buttonClasses = clsx(\n 'flex size-full items-center rounded',\n buttonColors[variant].hover,\n buttonColors[variant].active,\n buttonColors[variant].disabled,\n focusVisible.normal,\n {\n [buttonColors[variant].selected]: isSortKey,\n [buttonColors[variant].base]: !isSortKey,\n 'px-2': size === 'x-small' || size === 'small',\n 'px-4': size === 'medium' || size === 'large',\n 'pointer-events-none': isDisabled,\n },\n );\n\n const labelClasses = clsx('truncate', {\n 'typography-label12regular': size === 'x-small',\n 'typography-label14regular': size === 'small' || size === 'medium',\n 'typography-label16regular': size === 'large',\n 'mr-1': size === 'x-small',\n 'mr-2': size !== 'x-small',\n });\n\n return (\n <div className={wrapperClasses} style={{ width }} ref={targetRef}>\n <button className={buttonClasses} type=\"button\" onClick={handleClickToggle} disabled={isDisabled}>\n <div className={labelClasses}>{label}</div>\n <div className=\"ml-auto flex items-center\">\n {isSortKey ? (\n <Icon\n name={sortOrder === 'ascend' ? 'arrow-up' : 'arrow-down'}\n size={size === 'large' ? 'medium' : 'small'}\n />\n ) : (\n <Icon\n name={isOptionListOpen ? 'angle-small-up' : 'angle-small-down'}\n size={size === 'large' ? 'medium' : 'small'}\n />\n )}\n </div>\n </button>\n {isOptionListOpen && !isDisabled && (\n <SelectList\n size={size}\n variant={variant}\n sortOrder={sortOrder}\n onClickItem={handleClickItem}\n onClickDeselect={onClickDeselect}\n />\n )}\n </div>\n );\n}\n","import { clsx } from 'clsx';\nimport type { ReactNode } from 'react';\n\ntype Props = {\n id: string;\n isSelected?: boolean;\n isDisabled?: boolean;\n children?: ReactNode;\n onClick: (id: string) => void;\n};\n\nexport const TabItem = ({ isSelected = false, ...props }: Props) => {\n const classes = clsx(\n 'relative z-0 flex py-2 leading-[24px] before:absolute before:inset-x-0 before:bottom-0 before:h-px hover:text-text01 disabled:pointer-events-none disabled:text-disabled01',\n {\n 'typography-label14regular': !isSelected,\n 'text-interactive02 hover:before:bg-uiBorder04': !isSelected,\n 'typography-label14bold': isSelected,\n 'before:bg-interactive01 hover:before:bg-interactive01 pointer-events-none': isSelected,\n },\n );\n\n return (\n <button\n type=\"button\"\n role=\"tab\"\n aria-selected={isSelected}\n className={classes}\n disabled={props.isDisabled}\n onClick={() => props.onClick(props.id)}\n >\n {props.children}\n </button>\n );\n};\n","import type { ReactNode } from 'react';\n\nimport { TabItem } from './tab-item';\n\ntype Props = {\n children?: ReactNode;\n};\n\nexport function Tab({ children }: Props) {\n return (\n <div\n role=\"tablist\"\n className=\"relative flex gap-4 px-6 before:absolute before:inset-x-0 before:bottom-0 before:h-px before:bg-uiBorder01\"\n >\n {children}\n </div>\n );\n}\n\nTab.Item = TabItem;\n","import clsx from 'clsx';\nimport type { ReactNode } from 'react';\n\ntype Props = {\n children?: ReactNode;\n className?: string;\n isHeader?: boolean;\n};\n\nexport function TableCell({ children, className, isHeader = false }: Props) {\n const classes = clsx('border-b border-uiBorder01', { 'sticky top-0 z-10 bg-white': isHeader }, className);\n\n return <div className={classes}>{children}</div>;\n}\n","import clsx from 'clsx';\nimport type { ReactNode } from 'react';\n\ntype Props = {\n children?: ReactNode;\n isHoverBackgroundVisible?: boolean;\n};\nexport function TableRow({ children, isHoverBackgroundVisible = false }: Props) {\n const rowClasses = clsx('contents', isHoverBackgroundVisible && '[&:hover>div]:bg-hoverUi02');\n\n return <div className={rowClasses}>{children}</div>;\n}\n","import type { CSSProperties, PropsWithChildren } from 'react';\n\nimport { TableCell } from './table-cell';\nimport { TableRow } from './table-row';\n\ntype Props = {\n width?: CSSProperties['width'];\n templateRows?: CSSProperties['gridTemplateRows'];\n templateColumns?: CSSProperties['gridTemplateColumns'];\n autoColumns?: CSSProperties['gridAutoColumns'];\n autoRows?: CSSProperties['gridAutoRows'];\n};\n\nexport function Table({\n width,\n templateRows,\n templateColumns,\n autoColumns,\n autoRows,\n children,\n}: PropsWithChildren<Props>) {\n return (\n <div\n className=\"grid\"\n style={{\n width,\n gridTemplateRows: templateRows,\n gridTemplateColumns: templateColumns,\n gridAutoColumns: autoColumns,\n gridAutoRows: autoRows,\n }}\n >\n {children}\n </div>\n );\n}\n\nTable.Row = TableRow;\nTable.Cell = TableCell;\n","import { focusVisible } from '@zenkigen-inc/component-theme';\nimport clsx from 'clsx';\n\nimport type { ColorVariant, TagColor } from './type';\n\ntype Props = {\n color?: TagColor;\n variant?: ColorVariant;\n onClick?: () => void;\n};\n\nexport const DeleteIcon = ({ color, variant, onClick }: Props) => {\n const deleteButtonClasses = clsx(\n 'group ml-2 size-[14px] rounded-full p-0.5 hover:cursor-pointer hover:bg-iconOnColor focus-visible:bg-iconOnColor',\n focusVisible.normal,\n );\n\n const deletePathClasses = clsx({\n 'fill-interactive02': color === 'gray' || variant === 'light',\n 'group-hover:fill-interactive02 group-focus-visible:fill-interactive02 fill-iconOnColor': color !== 'gray',\n });\n\n return (\n <button type=\"button\" className={deleteButtonClasses} onClick={onClick}>\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M19.7745 4.21818C19.384 3.82765 18.7508 3.82765 18.3603 4.21818L11.9963 10.5821L5.6324 4.21818C5.24187 3.82765 4.60871 3.82765 4.21818 4.21818C3.82766 4.6087 3.82766 5.24187 4.21818 5.63239L10.5821 11.9964L4.21818 18.3603C3.82766 18.7508 3.82766 19.384 4.21818 19.7745C4.60871 20.1651 5.24187 20.165 5.6324 19.7745L11.9963 13.4106L18.3603 19.7745C18.7508 20.165 19.384 20.1651 19.7745 19.7745C20.165 19.384 20.165 18.7508 19.7745 18.3603L13.4106 11.9964L19.7745 5.63239C20.165 5.24187 20.165 4.6087 19.7745 4.21818Z\"\n className={deletePathClasses}\n ></path>\n </svg>\n </button>\n );\n};\n","import { tagColors, tagLightColors } from '@zenkigen-inc/component-theme';\nimport clsx from 'clsx';\n\nimport { DeleteIcon } from './delete-icon';\nimport type { ColorVariant, TagColor } from './type';\n\ntype Props = {\n id: string;\n children: string;\n color: TagColor;\n variant?: ColorVariant;\n} & (\n | { isEditable: true; onDelete: (id: string) => void; size?: 'medium' }\n | { isEditable?: undefined; onDelete?: never; size?: 'x-small' | 'small' | 'medium' }\n);\n\nexport function Tag({ id, children, color, variant = 'normal', size = 'medium', isEditable, onDelete }: Props) {\n const wrapperClasses = clsx('flex', 'items-center', 'justify-center', {\n [tagColors[color]]: variant === 'normal',\n [tagLightColors[color]]: variant === 'light',\n 'h-[14px] typography-label11regular': !isEditable && size === 'x-small',\n 'h-4 typography-label12regular': !isEditable && size === 'small',\n 'h-[18px] typography-label14regular': !isEditable && size === 'medium',\n 'h-[22px] typography-label14regular': isEditable && size === 'medium',\n 'rounded-full': isEditable,\n rounded: !isEditable,\n 'py-0.5 px-1': !isEditable,\n 'py-1 px-2': isEditable,\n });\n\n return (\n <div className={wrapperClasses}>\n {children}\n {isEditable ? <DeleteIcon onClick={() => onDelete(id)} color={color} variant={variant} /> : null}\n </div>\n );\n}\n","import { clsx } from 'clsx';\nimport type { CSSProperties, TextareaHTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\n\ntype Props = TextareaHTMLAttributes<HTMLTextAreaElement> & {\n size?: 'medium' | 'large';\n value: string;\n height?: CSSProperties['height'];\n isResizable?: boolean;\n isError?: boolean;\n};\n\nexport const TextArea = forwardRef<HTMLTextAreaElement, Props>(\n ({ size = 'medium', isResizable = false, isError = false, disabled = false, ...props }: Props, ref) => {\n const classes = clsx(\n 'w-full rounded border outline-0 placeholder:text-textPlaceholder disabled:text-textPlaceholder',\n {\n 'border-supportError': isError && !disabled,\n 'hover:border-hoverInput': !disabled && !isError,\n 'border-uiBorder02 hover:focus-within:border-activeInput focus-within:border-activeInput text-text01': !isError,\n 'bg-disabled02 border-disabled01': disabled,\n ['typography-body14regular px-2 pt-1.5 pb-2']: size === 'medium',\n ['text-4 leading-normal px-3.5 py-2.5']: size === 'large',\n 'text-supportError': isError,\n 'resize-none': !isResizable,\n },\n );\n\n return (\n <div className=\"flex\">\n <textarea ref={ref} className={classes} {...props} disabled={disabled} style={{ height: props.height }} />\n </div>\n );\n },\n);\nTextArea.displayName = 'TextArea';\n","import { clsx } from 'clsx';\nimport type { InputHTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\n\nimport { IconButton } from '../icon-button';\n\ntype Props = Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> & {\n size?: 'medium' | 'large';\n value: string;\n isError?: boolean;\n onClickClearButton?: () => void;\n};\n\nexport const TextInput = forwardRef<HTMLInputElement, Props>(\n ({ size = 'medium', isError = false, disabled = false, onClickClearButton, ...props }: Props, ref) => {\n const isShowClearButton = !!onClickClearButton && props.value.length !== 0 && !disabled;\n const inputWrapClasses = clsx('relative flex items-center gap-2 overflow-hidden rounded border', {\n 'border-uiBorder02': !isError && !disabled,\n 'border-supportError': isError && !disabled,\n 'hover:border-hoverInput': !disabled && !isError,\n 'hover:focus-within:border-activeInput': !isError,\n 'focus-within:border-activeInput': !isError,\n 'bg-disabled02 border-disabled01': disabled,\n 'pr-2': size === 'medium' && isShowClearButton,\n 'pr-3': size === 'large' && isShowClearButton,\n });\n\n const inputClasses = clsx('flex-1 outline-0 placeholder:text-textPlaceholder disabled:text-textPlaceholder', {\n ['typography-label14regular min-h-8 px-2']: size === 'medium',\n ['typography-label16regular min-h-10 px-3']: size === 'large',\n 'text-text01': !isError,\n 'text-supportError': isError,\n 'pr-0': isShowClearButton,\n });\n\n return (\n <div className={inputWrapClasses}>\n <input ref={ref} size={1} className={inputClasses} disabled={disabled} onChange={props.onChange} {...props} />\n {isShowClearButton && <IconButton variant=\"text\" icon=\"close\" size=\"small\" onClick={onClickClearButton} />}\n </div>\n );\n },\n);\nTextInput.displayName = 'TextInput';\n","import clsx from 'clsx';\nimport type { AnimationEvent, CSSProperties, ReactNode } from 'react';\nimport { useCallback, useEffect, useState } from 'react';\n\nimport { Icon } from '../icon';\nimport { IconButton } from '../icon-button';\nimport type { ToastState } from './type';\n\nconst CLOSE_TIME_MSEC = 5000;\n\ntype Props = {\n state?: ToastState;\n width?: CSSProperties['width'];\n isAutoClose?: boolean;\n isAnimation?: boolean;\n children?: ReactNode;\n onClickClose: () => void;\n};\n\nexport function Toast({\n state = 'information',\n width = 'auto',\n isAutoClose = false,\n isAnimation = false,\n children,\n onClickClose,\n}: Props) {\n const [isRemoving, setIsRemoving] = useState(false);\n\n const handleClose = useCallback(() => {\n if (isAnimation) {\n setIsRemoving(true);\n } else {\n onClickClose();\n }\n }, [isAnimation, onClickClose]);\n\n const handleAnimationEnd = (e: AnimationEvent<HTMLDivElement>) =>\n window.getComputedStyle(e.currentTarget).opacity === '0' && onClickClose();\n\n const wrapperClasses = clsx('pointer-events-auto flex items-start gap-1 bg-white p-4 shadow-floatingShadow', {\n ['animate-toast-in']: isAnimation && !isRemoving,\n ['animate-toast-out opacity-0']: isAnimation && isRemoving,\n });\n const iconClasses = clsx('flex items-center', {\n 'fill-supportSuccess': state === 'success',\n 'fill-supportError': state === 'error',\n 'fill-supportWarning': state === 'warning',\n 'fill-supportInfo': state === 'information',\n });\n const textClasses = clsx('typography-body13regular flex-1 pt-[3px]', {\n 'text-supportError': state === 'error',\n 'text-text01': state === 'success' || state === 'warning' || state === 'information',\n });\n\n const iconName = {\n success: 'success-filled',\n error: 'attention',\n warning: 'warning',\n information: 'information-filled',\n } as const;\n\n useEffect(() => {\n const timer = window.setTimeout(() => {\n if (isAutoClose) {\n setIsRemoving(true);\n }\n }, CLOSE_TIME_MSEC);\n\n return () => window.clearTimeout(timer);\n }, [isAutoClose]);\n\n return (\n <div className={wrapperClasses} style={{ width }} onAnimationEnd={handleAnimationEnd}>\n <div className={iconClasses}>\n <Icon name={iconName[state]} />\n </div>\n <p className={textClasses}>{children}</p>\n <IconButton icon=\"close\" size=\"medium\" variant=\"text\" onClick={handleClose} isNoPadding />\n </div>\n );\n}\n","import type { PropsWithChildren } from 'react';\nimport { createContext, useCallback, useContext, useEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { Toast } from './toast';\nimport type { ToastState } from './type';\n\ntype AddToastArgs = { message: string; state: ToastState };\n\ntype ToastProviderProps = {\n addToast: (args: AddToastArgs) => void;\n removeToast: (id: number) => void;\n};\n\nconst ToastContext = createContext<ToastProviderProps>({} as ToastProviderProps);\n\nexport const ToastProvider = ({ children }: PropsWithChildren) => {\n const [isClientRender, setIsClientRender] = useState(false);\n const [toasts, setToasts] = useState<{ id: number; message: string; state: ToastState }[]>([]);\n\n const addToast = useCallback(({ message, state }: AddToastArgs) => {\n setToasts((prev) => [...prev, { id: Math.trunc(Math.random() * 100000), message, state }]);\n }, []);\n\n const removeToast = useCallback((id: number) => {\n setToasts((prev) => prev.filter((snackbar) => snackbar.id !== id));\n }, []);\n\n useEffect(() => {\n setIsClientRender(true);\n }, []);\n\n return (\n <ToastContext.Provider value={{ addToast, removeToast }}>\n {children}\n {isClientRender &&\n createPortal(\n <div className=\"pointer-events-none fixed bottom-0 left-0 z-toast mb-4 ml-4 flex w-full flex-col-reverse gap-[16px]\">\n {toasts.map(({ id, message, state }) => (\n <Toast key={id} state={state} isAutoClose isAnimation onClickClose={() => removeToast(id)} width={475}>\n {message}\n </Toast>\n ))}\n </div>,\n document.body,\n )}\n </ToastContext.Provider>\n );\n};\n\nexport const useToast = () => {\n return useContext(ToastContext);\n};\n","import clsx from 'clsx';\nimport type { ReactNode } from 'react';\n\ntype Props = {\n id: string;\n size: 'small' | 'medium' | 'large';\n isChecked: boolean;\n onChange: () => void;\n label?: ReactNode;\n labelPosition?: 'left' | 'right';\n isDisabled?: boolean;\n};\n\nexport function Toggle({\n id,\n size = 'medium',\n isChecked,\n onChange,\n label,\n labelPosition = 'right',\n isDisabled = false,\n}: Props) {\n const baseClasses = clsx('relative flex items-center rounded-full', {\n 'bg-disabledOn': isDisabled && isChecked,\n 'bg-disabled01': isDisabled && !isChecked,\n 'bg-interactive01 peer-hover:bg-hover01': !isDisabled && isChecked,\n 'bg-interactive02 peer-hover:bg-hoverGray': !isDisabled && !isChecked,\n 'w-8 h-4 px-[3px]': size === 'small',\n 'w-12 h-6 px-1': size === 'medium' || size === 'large',\n });\n const inputClasses = clsx(\n 'peer absolute inset-0 z-[1] opacity-0',\n isDisabled ? 'cursor-not-allowed' : 'cursor-pointer',\n );\n const indicatorClasses = clsx('rounded-full bg-iconOnColor', {\n 'w-2.5 h-2.5': size === 'small',\n 'w-4 h-4': size === 'medium' || size === 'large',\n 'ml-auto': isChecked,\n });\n const labelClasses = clsx('break-all', {\n 'mr-2': labelPosition === 'left',\n 'ml-2': labelPosition === 'right',\n 'typography-label14regular': size === 'small' || size === 'medium',\n 'typography-label16regular': size === 'large',\n 'pointer-events-none cursor-not-allowed text-disabled01': isDisabled,\n 'cursor-pointer text-text01': !isDisabled,\n });\n\n return (\n <div className=\"relative flex flex-[0_0_auto] items-center\">\n {label != null && labelPosition === 'left' && (\n <label htmlFor={id} className={labelClasses}>\n {label}\n </label>\n )}\n <input\n className={inputClasses}\n type=\"checkbox\"\n name={id}\n id={id}\n checked={isChecked}\n onChange={onChange}\n disabled={isDisabled}\n />\n <div className={baseClasses}>\n <span className={indicatorClasses} />\n </div>\n {label != null && labelPosition === 'right' && (\n <label htmlFor={id} className={labelClasses}>\n {label}\n </label>\n )}\n </div>\n );\n}\n","import type { CSSProperties } from 'react';\nimport { useCallback } from 'react';\n\nimport type { TooltipHorizontalAlign, TooltipPosition, TooltipSize, TooltipVerticalPosition } from './type';\n\nexport const useTooltip = () => {\n const calculatePosition = useCallback(\n (args: {\n dimensions: DOMRect;\n maxWidth?: CSSProperties['width'];\n verticalPosition: TooltipVerticalPosition;\n horizontalAlign: TooltipHorizontalAlign;\n tooltipSize: TooltipSize;\n }) => {\n const result: TooltipPosition = {\n maxWidth: 'none',\n width: 'auto',\n left: '0px',\n top: '0px',\n bottom: '0px',\n translateX: '0',\n translateY: '0',\n };\n result.maxWidth = args.maxWidth ?? 'none';\n\n const offsetH = args.tooltipSize === 'small' ? 11 : 22;\n const targetHorizontalCenter = args.dimensions.right - (args.dimensions.right - args.dimensions.left) / 2;\n const targetLeft = args.dimensions.left;\n const targetRight = args.dimensions.right;\n const targetWidth = args.dimensions.width;\n\n switch (args.horizontalAlign) {\n case 'center':\n result.left = `${targetHorizontalCenter}px`;\n result.translateX = '-50%';\n break;\n case 'left':\n result.left = `${targetLeft - offsetH}px`;\n result.translateX = `${targetWidth / 2}px`;\n break;\n case 'right':\n result.left = `${targetRight + offsetH}px`;\n result.translateX = `-${targetWidth / 2}px`;\n break;\n }\n\n switch (args.verticalPosition) {\n case 'bottom':\n result.top = `${args.dimensions.top + args.dimensions.height + window.scrollY}px`;\n result.bottom = 'unset';\n break;\n case 'top':\n result.top = `${args.dimensions.top + window.scrollY}px`;\n result.bottom = 'unset';\n result.translateY = '-100%';\n break;\n }\n\n return result;\n },\n [],\n );\n\n return {\n calculatePosition,\n };\n};\n","import clsx from 'clsx';\n\nimport type { TooltipHorizontalAlign, TooltipSize, TooltipVerticalPosition } from './type';\n\ntype Props = {\n size: TooltipSize;\n verticalPosition: TooltipVerticalPosition;\n horizontalAlign: TooltipHorizontalAlign;\n};\n\nexport const TailIcon = (props: Props) => {\n const tailClasses = clsx('absolute fill-uiBackgroundTooltip', {\n 'rotate-180': props.verticalPosition === 'bottom',\n 'rotate-0': props.verticalPosition !== 'bottom',\n '-top-1': props.verticalPosition === 'bottom' && props.size === 'small',\n '-top-2': props.verticalPosition === 'bottom' && props.size !== 'small',\n '-bottom-1': props.verticalPosition !== 'bottom' && props.size === 'small',\n '-bottom-2': props.verticalPosition !== 'bottom' && props.size !== 'small',\n 'right-2': props.horizontalAlign === 'right' && props.size === 'small',\n 'right-4': props.horizontalAlign === 'right' && props.size !== 'small',\n 'left-2': props.horizontalAlign === 'left' && props.size === 'small',\n 'left-4': props.horizontalAlign === 'left' && props.size !== 'small',\n 'left-1/2 -translate-x-1': props.horizontalAlign === 'center' && props.size === 'small',\n 'left-1/2 -translate-x-2': props.horizontalAlign === 'center' && props.size !== 'small',\n });\n\n if (props.size === 'small') {\n return (\n <svg className={tailClasses} width=\"8\" height=\"4\" viewBox=\"0 0 8 4\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M4 4L0 0H8L4 4Z\" />\n </svg>\n );\n } else {\n return (\n <svg\n className={tailClasses}\n width=\"14\"\n height=\"8\"\n viewBox=\"0 0 14 8\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M7 8L0 0H14L7 8Z\" />\n </svg>\n );\n }\n};\n","import clsx from 'clsx';\nimport type { CSSProperties, ReactNode } from 'react';\n\nimport { TailIcon } from './tail-icon';\nimport type { TooltipHorizontalAlign, TooltipPosition, TooltipSize, TooltipVerticalPosition } from './type';\n\nexport const TooltipContent = ({\n content,\n horizontalAlign,\n verticalPosition,\n size,\n tooltipPosition,\n maxWidth,\n isPortal = false,\n}: {\n content: ReactNode;\n size: TooltipSize;\n maxWidth: CSSProperties['maxWidth'];\n verticalPosition: TooltipVerticalPosition;\n horizontalAlign: TooltipHorizontalAlign;\n tooltipPosition: TooltipPosition;\n isPortal?: boolean;\n}) => {\n const tooltipWrapperClasses = clsx('absolute z-tooltip m-auto flex', {\n 'top-0': !isPortal && verticalPosition === 'top',\n 'bottom-0': !isPortal && verticalPosition === 'bottom',\n 'justify-start': horizontalAlign === 'left',\n 'justify-center': horizontalAlign === 'center',\n 'justify-end': horizontalAlign === 'right',\n 'w-[24px]': size === 'small',\n 'w-[46px]': size !== 'small',\n });\n\n const tooltipBodyClasses = clsx(\n 'absolute z-tooltip inline-block w-max rounded bg-uiBackgroundTooltip text-textOnColor',\n {\n 'typography-body12regular': size === 'small',\n 'typography-body13regular': size === 'medium',\n 'px-2 pb-1 pt-1.5': size === 'small',\n 'px-4 py-3': size === 'medium',\n 'bottom-2': verticalPosition !== 'bottom' && size === 'small',\n 'bottom-3': verticalPosition !== 'bottom' && size === 'medium',\n 'top-2': verticalPosition === 'bottom' && size === 'small',\n 'top-3': verticalPosition === 'bottom' && size === 'medium',\n },\n );\n\n const tooltipWrapperStyle = isPortal\n ? {\n transform: `translate(${tooltipPosition.translateX}, ${tooltipPosition.translateY})`,\n ...tooltipPosition,\n }\n : {};\n\n return (\n <div className={tooltipWrapperClasses} style={tooltipWrapperStyle}>\n <div\n className={tooltipBodyClasses}\n style={{\n maxWidth,\n }}\n >\n {content}\n <TailIcon size={size} verticalPosition={verticalPosition} horizontalAlign={horizontalAlign} />\n </div>\n </div>\n );\n};\n","import type { CSSProperties, PropsWithChildren, ReactNode } from 'react';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { useTooltip } from './tooltip.hook';\nimport { TooltipContent } from './tooltip-content';\nimport type { TooltipHorizontalAlign, TooltipPosition, TooltipSize, TooltipVerticalPosition } from './type';\n\ntype Props = {\n content: ReactNode;\n size?: TooltipSize;\n maxWidth?: CSSProperties['maxWidth'];\n verticalPosition?: TooltipVerticalPosition;\n horizontalAlign?: TooltipHorizontalAlign;\n isDisabledHover?: boolean;\n portalTarget?: HTMLElement;\n};\n\nexport function Tooltip({\n children,\n content,\n size = 'small',\n maxWidth,\n verticalPosition = 'bottom',\n horizontalAlign = 'center',\n isDisabledHover = false,\n portalTarget,\n}: PropsWithChildren<Props>) {\n const { calculatePosition } = useTooltip();\n\n const [isVisible, setIsVisible] = useState(false);\n const [tooltipPosition, setTooltipPosition] = useState<TooltipPosition>({\n maxWidth: 'none',\n width: 'auto',\n left: '0px',\n top: '0px',\n bottom: '0px',\n translateX: '0',\n translateY: '0',\n });\n\n const targetRef = useRef<HTMLDivElement>(null);\n\n const handleMouseOverWrapper = useCallback(() => {\n if (isDisabledHover) {\n return;\n }\n setIsVisible(true);\n }, [isDisabledHover]);\n\n const handleMouseOutWrapper = useCallback(() => {\n setIsVisible(false);\n }, []);\n\n useEffect(() => {\n if (targetRef.current === null) return;\n\n const dimensions = targetRef.current?.getBoundingClientRect();\n const position = calculatePosition({ dimensions, maxWidth, verticalPosition, horizontalAlign, tooltipSize: size });\n\n setTooltipPosition(position);\n }, [calculatePosition, horizontalAlign, maxWidth, size, verticalPosition]);\n\n return (\n <div\n ref={targetRef}\n className=\"relative flex items-center justify-center\"\n onMouseOver={handleMouseOverWrapper}\n onMouseLeave={handleMouseOutWrapper}\n >\n {children}\n {isVisible &&\n (portalTarget == null ? (\n <TooltipContent\n content={content}\n size={size}\n maxWidth={maxWidth}\n verticalPosition={verticalPosition}\n horizontalAlign={horizontalAlign}\n tooltipPosition={tooltipPosition}\n />\n ) : (\n createPortal(\n <TooltipContent\n isPortal\n content={content}\n size={size}\n maxWidth={maxWidth}\n verticalPosition={verticalPosition}\n horizontalAlign={horizontalAlign}\n tooltipPosition={tooltipPosition}\n />,\n portalTarget,\n )\n ))}\n </div>\n );\n}\n"],"names":["isAsciiString","str","charCodeAt","Avatar","_ref","_props$userId","_props$isDisabled","_clsx","_ref$size","size","props","_objectWithoutPropertiesLoose","_excluded","classes","clsx","isDisabled","userId","userColors","length","trimmedFirstName","firstName","replace","trim","trimmedLastName","lastName","nameOnIcon","slice","toUpperCase","_jsx","className","children","BreadcrumbItem","Breadcrumb","Item","Button","_ref$variant","variant","_ref$isSelected","isSelected","width","borderRadius","_ref$justifyContent","justifyContent","before","after","elementAs","baseClasses","buttonColors","hover","active","disabled","focusVisible","normal","selected","base","Component","_jsxs","_extends","style","CheckedIcon","viewBox","xmlns","fillRule","clipRule","d","MinusIcon","Checkbox","name","value","id","_ref$isChecked","isChecked","_ref$isIndeterminate","isIndeterminate","_ref$isDisabled","onChange","label","_ref$color","color","_useState","useState","isMouseOver","setIsMouseOver","handleMouseOverInput","useCallback","handleMouseOutInput","handleChange","e","baseInputClasses","boxClasses","normalPeer","indicatorClasses","afterClasses","hoverIndicatorClasses","labelClasses","type","checked","onMouseOver","onMouseLeave","htmlFor","useOutsideClick","ref","handler","enabled","useEffect","listener","event","_event$target","element","current","Boolean","contains","target","document","addEventListener","removeEventListener","Icon","iconColors","icon01","icon02","icon03","iconOnColor","iconElements","DropdownContext","createContext","isVisible","setIsVisible","targetDimensions","height","DropdownItem","onClick","_useContext","useContext","handleClickItem","itemClasses","inset","DropdownMenu","maxHeight","_ref$isNoPadding","isNoPadding","_ref$verticalPosition","verticalPosition","_ref$horizontalAlign","horizontalAlign","portalTargetRef","wrapperClasses","absolute","top","bottom","Dropdown","icon","title","_ref$isArrowHidden","isArrowHidden","_useState2","setTargetDimensions","targetRef","useRef","handleToggle","dimensions","getBoundingClientRect","calculatedDimensions","right","left","childrenButtonClasses","buttonClasses","Provider","createPortal","Menu","EvaluationStar","_ref$isEditable","isEditable","onChangeRating","maxRating","currentRating","setCurrentRating","handleChangeRating","newRating","starClasses","renderStar","rating","ratingStars","Array","from","_","index","Heading","TagName","level","typography","heading","IconButton","isAnchor","iconSize","href","Loading","_ref$position","position","_ref$height","svgClasses","_Fragment","fill","cx","cy","r","stroke","strokeWidth","BodyScrollLock","useLayoutEffect","_window","window","scrollX","scrollY","_document","body","hasVerticalScrollbar","documentElement","scrollHeight","clientHeight","scrollbarWidth","innerWidth","clientWidth","originalInlineStyles","overflow","paddingRight","_window$getComputedSt","getComputedStyle","paddingRightValue","parseInt","restoreProperty","scrollTo","property","setProperty","removeProperty","ModalBody","ModalContext","onClose","ModalFooter","_ref$isNoBorder","isNoBorder","ModalHeader","headerClasses","LIMIT_WIDTH","LIMIT_HEIGHT","Modal","_ref$width","isOpen","isMounted","setIsMounted","renderWidth","Math","max","renderHeight","Body","Header","Footer","NotificationInline","_ref$state","state","iconClasses","iconName","attention","success","warning","information","small","medium","showClose","PaginationContext","currentPage","PaginationButton","page","START_PAGE","Pagination","totalPage","_ref$sideNumPagesToSh","sideNumPagesToShow","center","min","start","end","offsetStart","offsetEnd","pageList","i","push","threeDotIconClasses","map","SelectContext","setIsOptionListOpen","SelectItem","option","selectedOption","SelectList","placeholder","handleClickDeselect","_ref$current$children","find","item","getAttribute","scroll","wrapRect","rect","listClasses","deselectButtonClasses","Select","maxWidth","placeholderIcon","_ref$selectedOption","_ref$isOptionSelected","isOptionSelected","optionListMaxHeight","isOptionListOpen","handleClickToggle","prev","Option","PaginationSelect","totalSize","sizePerPage","_ref$countLabel","countLabel","_ref$pageLabel","pageLabel","_ref$optionListMaxHei","onClickPrevButton","onClickNextButton","pageMax","ceil","optionsList","concat","toString","minCount","maxCount","Number","Radio","inputClasses","Search","forwardRef","onSubmit","onClickClearButton","displayName","isSortKey","onClickItem","sortOrder","onClickDeselect","SelectSort","_ref$isSortKey","TabItem","role","Tab","TableCell","_ref$isHeader","isHeader","TableRow","_ref$isHoverBackgroun","isHoverBackgroundVisible","rowClasses","Table","templateRows","templateColumns","autoColumns","autoRows","gridTemplateRows","gridTemplateColumns","gridAutoColumns","gridAutoRows","Row","Cell","DeleteIcon","deleteButtonClasses","deletePathClasses","Tag","onDelete","tagColors","tagLightColors","rounded","TextArea","_ref$isResizable","isResizable","_ref$isError","isError","_ref$disabled","TextInput","isShowClearButton","inputWrapClasses","CLOSE_TIME_MSEC","Toast","_ref$isAutoClose","isAutoClose","_ref$isAnimation","isAnimation","onClickClose","isRemoving","setIsRemoving","handleClose","handleAnimationEnd","currentTarget","opacity","textClasses","error","timer","setTimeout","clearTimeout","onAnimationEnd","ToastContext","ToastProvider","isClientRender","setIsClientRender","toasts","setToasts","addToast","_ref2","message","trunc","random","removeToast","filter","snackbar","_ref3","useToast","Toggle","_ref$labelPosition","labelPosition","useTooltip","calculatePosition","args","_args$maxWidth","result","translateX","translateY","offsetH","tooltipSize","targetHorizontalCenter","targetLeft","targetRight","targetWidth","TailIcon","tailClasses","TooltipContent","content","tooltipPosition","_ref$isPortal","isPortal","tooltipWrapperClasses","tooltipBodyClasses","tooltipWrapperStyle","transform","Tooltip","_ref$isDisabledHover","isDisabledHover","portalTarget","_useTooltip","setTooltipPosition","handleMouseOverWrapper","handleMouseOutWrapper","_targetRef$current"],"mappings":"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"}