visits-style 2.0.0 → 2.0.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.
- package/README.md +1 -1
- package/dist/index.cjs.js +1 -1244
- package/dist/index.d.ts +447 -404
- package/dist/index.es.js +1026 -0
- package/package.json +29 -27
- package/dist/index.cjs.js.map +0 -1
- package/dist/index.d.cts +0 -404
- package/dist/index.esm.js +0 -1199
- package/dist/index.esm.js.map +0 -1
package/dist/index.esm.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/merge.ts","../src/forms/Field/FormLabel.tsx","../src/forms/Field/FormField.tsx","../src/forms/Field/InputField.tsx","../src/forms/Input/index.tsx","../src/forms/Textarea/index.tsx","../src/elements/Icons/Check.tsx","../src/forms/Checkbox/index.tsx","../src/utils/isClient.ts","../src/hooks/useIsomorphicLayoutEffect.ts","../src/components/Portal/index.tsx","../src/utils/stopPropagation.ts","../src/components/Popover/index.tsx","../src/elements/Icons/ArrowDown.tsx","../src/elements/Icons/Close.tsx","../src/forms/Select/index.tsx","../src/forms/Radio/index.tsx","../src/forms/Switch/index.tsx","../src/components/Accordion/index.tsx","../src/components/Tooltip/index.tsx","../src/elements/Button/index.tsx","../src/components/Dialog/index.tsx","../src/components/Sheet/index.tsx","../src/elements/Icons/Approved.tsx","../src/elements/Icons/Alert.tsx","../src/elements/Icons/Caution.tsx","../src/elements/Spinner/index.tsx","../src/components/Toast/ToastItem.tsx","../src/components/Toast/observer.ts","../src/components/Toast/ToastFloat.tsx","../src/components/Toast/index.tsx","../src/elements/Skeleton/index.tsx","../src/elements/Button/ButtonGroup.tsx","../src/elements/Progress/index.tsx","../src/elements/Divider/index.tsx","../src/elements/Icons/ChevronRound.tsx","../src/elements/Icons/FileRound.tsx","../src/elements/Icons/Pencil.tsx","../src/elements/Icons/User.tsx","../src/elements/Icons/Refresh.tsx","../src/elements/Icons/Plus.tsx"],"names":["clsx","useMemo","jsx","forwardRef","jsxs","offset","useState","offsetUi","useEffect","cloneElement","Children","useRef","useCallback","useId","useFloating","shift","flip","autoUpdate","useInteractions","useTransitionStyles","useImperativeHandle","Fragment","FloatingOverlay","defaultTimeout","useLayoutEffect"],"mappings":"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","file":"index.esm.js","sourcesContent":["export default function merge(a: string, b?: string) {\n if (!b) return a;\n // eslint-disable-next-line prefer-template\n return a + ' ' + b;\n}\n","import { type LabelHTMLAttributes, useMemo } from 'react';\nimport clsx from 'clsx';\n\nexport default function FormLabel({ className, ...rest }: LabelHTMLAttributes<HTMLLabelElement>) {\n const name = useMemo(() => clsx('leading-none peer-disabled:opacity-70', className), [className]);\n // eslint-disable-next-line jsx-a11y/label-has-for, jsx-a11y/label-has-associated-control\n return <label className={name} {...rest} />;\n}\n","import { type HTMLAttributes, type ReactElement, useMemo, cloneElement, Children } from 'react';\nimport clsx from 'clsx';\n\nimport Label from './FormLabel';\nimport merge from '../../utils/merge';\n\nexport interface Props extends HTMLAttributes<HTMLDivElement> {\n label?: string;\n htmlFor?: string;\n error?: string;\n help?: string;\n innerClass?: string;\n /**\n * メッセージの表示する箇所を指定します\n * 未指定の場合、後に表示し、errorがあると、エラーの表示を優先して入れ替えます\n */\n helpBefore?: boolean;\n children: ReactElement | ReactElement[];\n required?: boolean;\n}\n\nexport default function Field({\n label, children, required, htmlFor, error, help, helpBefore, className, innerClass, ...rest\n}: Props) {\n const labelName = useMemo(() => clsx(\n 'font-medium',\n required ? 'after:content-[\"*\"] after:text-danger after:text-sm after:pl-0.5' : '',\n ), [required]);\n const wrapperName = useMemo(() => merge('flex flex-col space-y-2', className), [className]);\n\n return (\n <div className={wrapperName} {...rest}>\n {label ? <Label className={labelName} htmlFor={htmlFor}>{label}</Label> : null}\n {help && helpBefore ? <p className=\"text-xs text-muted pb-2\">{help}</p> : null}\n <div className={innerClass}>{cloneChildren(children, !!error)}</div>\n {help && !helpBefore && !error ? <p className=\"text-xs text-muted\">{help}</p> : null}\n {error ? <p className=\"text-xs text-danger\">{error}</p> : null}\n </div>\n );\n}\n\nfunction cloneChildren(children: Props['children'], error: boolean) {\n const len = Children.count(children);\n if (!len) return null;\n if (len === 1) {\n // @ts-expect-error\n return cloneElement(children, { error });\n }\n const arr = Children.toArray(children);\n // @ts-expect-error\n arr[0] = cloneElement(arr[0], { error });\n return arr;\n}\n","import { type HTMLAttributes, useMemo } from 'react';\nimport clsx from 'clsx';\n\nimport merge from '../../utils/merge';\n\nexport interface Props extends HTMLAttributes<HTMLInputElement> {\n error?: boolean;\n /** 基本スタイルを全部外し、完全にclassNameの定義によせます */\n unstyled?: boolean;\n}\n\nexport default function InputField({ error, unstyled, className, ...rest }: Props) {\n const name = useMemo(() => (unstyled ? className : merge(clsx(\n 'flex rounded-md border bg-background px-3 py-2 w-full [&_input]:placeholder:text-muted',\n '[&_input]:disabled:opacity-50 [&_input]:focus-visible:outline-none',\n error ? 'border-danger hover:border-danger-fore' : 'border-input',\n ), className)), [className, error, unstyled]);\n return <div className={name} {...rest} />;\n}\n","import { useMemo, forwardRef, type InputHTMLAttributes } from 'react';\nimport clsx from 'clsx';\n\nimport merge from '../../utils/merge';\n\nexport interface Props extends InputHTMLAttributes<HTMLInputElement> {\n error?: boolean;\n /** 基本スタイルを全部外し、完全にclassNameの定義によせます */\n unstyled?: boolean;\n}\n\nconst Input = forwardRef<HTMLInputElement, Props>(({\n className, type, error, unstyled, ...rest\n}, ref) => {\n const name = useMemo(() => (unstyled ? className : merge(clsx(\n 'flex rounded-md border bg-background px-3 py-2 w-full placeholder:text-muted',\n 'disabled:cursor-not-allowed disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-ring',\n error ? 'border-danger hover:border-danger-fore' : 'border-input not-disabled:hover:border-input-fore',\n type === 'file' ? 'file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground' : null,\n ), className)), [className, type, error, unstyled]);\n return <input ref={ref} type={type} className={name} {...rest} />;\n});\nInput.displayName = 'Input';\nexport default Input;\n","import { useMemo, forwardRef, type TextareaHTMLAttributes } from 'react';\nimport clsx from 'clsx';\n\nimport merge from '../../utils/merge';\n\nexport interface Props extends TextareaHTMLAttributes<HTMLTextAreaElement> {\n error?: boolean;\n unstyled?: boolean;\n}\n\nconst Textarea = forwardRef<HTMLTextAreaElement, Props>(({\n className, error, unstyled, ...rest\n}, ref) => {\n const name = useMemo(() => (unstyled ? className : merge(clsx(\n 'flex rounded-md border bg-background px-3 py-2 w-full',\n 'disabled:cursor-not-allowed disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-ring',\n error ? 'border-danger hover:border-danger-fore' : 'border-input not-disabled:hover:border-input-fore',\n ), className)), [className, error, unstyled]);\n return <textarea ref={ref} className={name} {...rest} />;\n});\nTextarea.displayName = 'Textarea';\nexport default Textarea;\n","import type { SVGAttributes } from 'react';\n\nexport default function Check(props: SVGAttributes<SVGSVGElement>) {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"30\" height=\"30\" viewBox=\"0 0 30 30\" {...props}>\n <path d=\"M11.5 18.5l-3.9-4L6 16l5.6 5.6 11.6-11.5-1.7-1.6z\" fill=\"currentColor\" />\n </svg>\n );\n}\n","import { useMemo, type ButtonHTMLAttributes, type ReactNode } from 'react';\nimport clsx from 'clsx';\n\nimport IconCheck from '../../elements/Icons/Check';\nimport merge from '../../utils/merge';\n\nexport interface Props extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick' | 'onChange' | 'type' | 'role'> {\n children?: ReactNode;\n checked?: boolean;\n indeterminate?: boolean;\n /** idが未指定の場合、nameが代わりに使われます */\n name?: string;\n onChange?: (checked: boolean) => void;\n}\n\nfunction Indeterminate() {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"30\" height=\"30\" viewBox=\"0 0 30 30\">\n <rect width=\"20\" height=\"3\" y=\"13.5\" x=\"4.5\" fill=\"currentColor\" stroke=\"none\" rx=\"2\" />\n </svg>\n );\n}\n\nexport default function Checkbox({\n checked, indeterminate, className, id, name, onChange, value, ...rest\n}: Props) {\n const innerClass = useMemo(() => merge(clsx(\n 'inline-flex justify-center items-center border w-4.5 h-4.5 rounded',\n 'cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed',\n checked || indeterminate ? (\n 'bg-primary text-inverted disabled:text-text disabled:bg-input disabled:border-input'\n ) : 'border-input not-disabled:hover:border-input-fore',\n ), className), [checked, indeterminate, className]);\n\n const handleChange = () => {\n if (rest.disabled) return;\n onChange?.(!checked);\n };\n\n return (\n <button\n type=\"button\"\n role=\"checkbox\"\n id={id || name}\n className={innerClass}\n onClick={handleChange}\n aria-checked={checked}\n {...rest}\n >\n {checked ? <IconCheck /> : null}\n {indeterminate && !checked ? <Indeterminate /> : null}\n <input\n type=\"checkbox\"\n aria-hidden=\"true\"\n name={name}\n checked={checked}\n value={value}\n onChange={handleChange}\n disabled={rest.disabled}\n style={{ position: 'absolute', pointerEvents: 'none', top: 0, left: 0, width: 1, height: 1, opacity: 0 }}\n />\n </button>\n );\n}\n","export default (\n typeof window !== 'undefined'\n && typeof window.document !== 'undefined'\n && typeof window.document.createElement !== 'undefined'\n);\n","import { useEffect, useLayoutEffect } from 'react';\nimport isClient from '../utils/isClient';\n\nexport default isClient ? useLayoutEffect : useEffect;\n","import { useState, type ReactNode } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport useIsomorphicLayoutEffect from '../../hooks/useIsomorphicLayoutEffect';\n\nexport interface Props {\n children: ReactNode;\n container?: HTMLElement;\n disabled?: boolean;\n}\n\nexport default function Portal({ children, container, disabled }: Props) {\n const [mountNode, setMountNode] = useState<Element | null>(null);\n\n useIsomorphicLayoutEffect(() => {\n if (!container) {\n let dom = document.getElementById('visits-style-portals');\n if (!dom) {\n dom = document.createElement('div');\n dom.id = 'visits-style-portals';\n document.body.appendChild(dom);\n }\n return setMountNode(dom);\n }\n setMountNode(container);\n }, [container]);\n\n if (disabled || !mountNode) return null;\n return createPortal(children, mountNode);\n}\n","import type { MouseEvent } from 'react';\n\nexport default function stopPropagation(e?: MouseEvent<Element>) {\n if (!e) return;\n e.stopPropagation();\n e.preventDefault();\n}\n","/* eslint-disable no-param-reassign, no-unused-expressions */\nimport {\n Children, cloneElement, useState, useEffect, useRef,\n forwardRef, useImperativeHandle, useCallback, useMemo,\n} from 'react';\nimport type { CSSProperties, HTMLAttributes, ReactElement, ReactNode, MouseEvent } from 'react';\nimport {\n useFloating, useInteractions, useClick, useId, useTransitionStyles,\n shift, offset as offsetUi, flip, FloatingOverlay, autoUpdate, type ReferenceType,\n} from '@floating-ui/react';\nimport type { Placement } from '@floating-ui/core';\nimport clsx from 'clsx';\n\nimport Portal from '../Portal';\nimport stopPropagation from '../../utils/stopPropagation';\n\nexport interface PopoverRef {\n open: () => void;\n close: () => void;\n}\nexport interface Props extends HTMLAttributes<HTMLDivElement> {\n /** ボタンの内容 */\n label: ReactElement;\n /** 内容のリスト */\n children?: ReactNode;\n /**\n * 表示される場所\n * @default 'bottom-end'\n */\n position?: Placement;\n\n /**\n * Popoverが表示される間隔\n * @default '{ x: 0, y: 6 }'\n */\n offset?: { x: number; y: number; };\n\n /**\n * Popoverの表示・非表示のアニメーション速度\n * @default { open: 150, close: 75 }\n */\n timeout?: number | { open: number; close: number; };\n\n /** 閉じた場合のコールバック */\n onClose?: (ref?: ReferenceType | null, float?: HTMLElement | null) => void;\n /** 開けた場合のコールバック */\n onOpen?: (ref?: ReferenceType | null, float?: HTMLElement | null) => void;\n /** popoverを閉じる処理を手動に設定します */\n onManualClose?: () => void;\n /** コンテンツを出さない */\n disabled?: boolean;\n /**\n * zIndexを指定する\n * @default 9996\n */\n zIndex?: number;\n /** デフォルトスタイルを外し、cssクラスを適用します */\n unstyled?: boolean;\n}\nconst defaultTimeout = { open: 150, close: 75 };\n\nconst Popover = forwardRef<PopoverRef, Props>(({\n position, label, children, color = 'background', disabled, offset = { x: 0, y: 6 },\n onOpen, onClose, onManualClose, timeout = defaultTimeout, unstyled, zIndex = 9996, role, ...rest\n}, ref) => {\n const [open, setOpen] = useState(false);\n const nodeId = useId();\n const openRef = useRef(onOpen);\n const closeRef = useRef(onClose);\n\n const { refs, floatingStyles, context } = useFloating({\n nodeId,\n placement: position,\n middleware: [\n shift(),\n flip({ fallbackAxisSideDirection: 'end' }),\n offsetUi({ mainAxis: offset.y, crossAxis: offset.x }),\n ],\n open,\n onOpenChange: (value) => {\n if (value) {\n openRef.current?.(refs.reference.current, refs.floating.current);\n } else {\n closeRef.current?.(refs.reference.current, refs.floating.current);\n }\n setOpen(value);\n },\n whileElementsMounted: autoUpdate,\n });\n\n const { isMounted, styles } = useTransitionStyles(context, {\n duration: timeout,\n initial({ side }) {\n let transform = '';\n if (side === 'top') {\n transform = 'translateY(5%) scale(0.95)';\n } else if (side === 'bottom') {\n transform = 'translateY(-5%) scale(0.95)';\n } else if (side === 'left') {\n transform = 'translateX(5%) scale(0.95)';\n } else {\n transform = 'translateX(-5%) scale(0.95)';\n }\n return { opacity: 0, transform };\n },\n });\n\n const handleBlur = useCallback((e?: MouseEvent<HTMLElement>) => {\n stopPropagation(e);\n if (onManualClose) return onManualClose();\n\n setOpen(false);\n closeRef.current?.(refs.reference.current, refs.floating.current);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [onManualClose]);\n\n useEffect(() => {\n if (disabled && open) return setOpen(false);\n }, [disabled, open]);\n\n useImperativeHandle(ref, () => ({\n open: () => {\n setOpen(true);\n openRef.current?.(refs.reference.current, refs.floating.current);\n },\n close: () => {\n setOpen(false);\n closeRef.current?.(refs.reference.current, refs.floating.current);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }), []);\n\n const { getFloatingProps, getReferenceProps } = useInteractions([\n useClick(context, { enabled: !disabled }),\n ]);\n\n openRef.current = onOpen;\n closeRef.current = onClose;\n\n return (\n <>\n {cloneElement(Children.only(label), getReferenceProps({\n ref: refs.setReference,\n tabIndex: 0,\n role: 'button',\n 'aria-expanded': open,\n disabled,\n onClick: stopPropagation,\n }))}\n <Portal disabled={disabled || !isMounted}>\n <FloatingOverlay data-testid=\"vs-popover-shadow\" onClick={handleBlur} style={{ zIndex }} autoFocus>\n <div role={role || 'region'} ref={refs.setFloating} style={floatingStyles}>\n <PopoverContent\n unstyled={unstyled}\n styles={styles}\n {...getFloatingProps({ ...rest, onClick: stopPropagation })}\n >\n {children}\n </PopoverContent>\n </div>\n </FloatingOverlay>\n </Portal>\n </>\n );\n});\nPopover.displayName = 'Popover';\nexport default Popover;\n\ninterface PopoverContentProps extends HTMLAttributes<HTMLDivElement> {\n styles: CSSProperties;\n unstyled?: boolean;\n}\n\nexport const PopoverContent = forwardRef<HTMLDivElement, PopoverContentProps>(({\n className, unstyled, styles, style = {}, ...rest\n}, ref) => {\n const popoverName = useMemo(() => clsx(\n 'z-20 w-auto h-auto outline-none transition-transform ease-in-out',\n unstyled ? null : 'border border-accent rounded-md shadow-lg p-1 bg-background',\n className,\n ), [className, unstyled]);\n return <div ref={ref} className={popoverName} style={{ ...styles, ...style }} {...rest} />;\n});\nPopoverContent.displayName = 'PopoverContent';\n","import { SVGAttributes } from 'react';\n\nexport default function ChevronDown(props: SVGAttributes<SVGSVGElement>) {\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path d=\"M11.7 14.8 7 9.8a.5.5 0 0 1 0-.7c.2-.2.5-.2.7 0l4.5 5c.2.2.2.6 0 .8-.1.2-.4.2-.6 0Z\" fill=\"currentColor\" />\n <path d=\"m16.9 9.9-4.6 5c-.2.2-.4.2-.6 0a.5.5 0 0 1 0-.8l4.5-5c.2-.2.5-.2.7 0 .1.2.1.6 0 .8Z\" fill=\"currentColor\" />\n </svg>\n );\n}\n","/* tslint:disable max-line-length */\nimport React, { SVGAttributes } from 'react';\n\nexport default function Close(props: SVGAttributes<SVGSVGElement>) {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 30 30\" {...props}>\n <g fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\">\n <path d=\"M26 26l-12.5-12.5L26 1\" />\n <path d=\"M1 26l12.5-12.5L1 1\" />\n </g>\n </svg>\n );\n}\n","import { useCallback, useMemo, useRef, useState } from 'react';\nimport type { ButtonHTMLAttributes, ReactElement, ReactNode } from 'react';\nimport clsx from 'clsx';\n\nimport merge from '../../utils/merge';\nimport Popover, { PopoverRef } from '../../components/Popover';\nimport IconArrowDown from '../../elements/Icons/ArrowDown';\nimport IconCheck from '../../elements/Icons/Check';\nimport IconClose from '../../elements/Icons/Close';\n\ntype OptionType<T> = { value: T; label: string; } | string;\ninterface OptionRenderConfig {\n index: number;\n selected: boolean;\n onChange: () => void;\n}\n\nexport interface Props<T> extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onChange' | 'onClick' | 'type' | 'value' | 'children'> {\n /** 配列の値の入力の場合、複数選択モードに切り替えます */\n value: T | T[];\n options: OptionType<T>[];\n onChange?: (value: T) => void;\n onClear?: () => void;\n renderItem?: (item: OptionType<T>, config: OptionRenderConfig) => ReactElement;\n placeholder?: string;\n arrow?: ReactNode;\n maxHeight?: number;\n error?: boolean;\n unstyled?: boolean;\n}\n\nexport default function Select<T = any>({\n className, placeholder = '', options = [], error, unstyled, disabled, value,\n maxHeight = 408, arrow, onChange, onClear, renderItem, ...rest\n}: Props<T>) {\n const ref = useRef<PopoverRef>(null);\n const [width, setWidth] = useState(0);\n const btnName = useMemo(() => (unstyled ? className : merge(clsx(\n 'flex items-center justify-between rounded-md border bg-background px-3 py-2 w-full overflow-hidden cursor-pointer',\n 'disabled:cursor-not-allowed disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-ring',\n error ? 'border-danger hover:border-danger-fore' : 'border-input not-disabled:hover:border-input-fore',\n ), className)), [className, error, unstyled]);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const isMultiple = useMemo(() => Array.isArray(value), []);\n\n const handleChange = useCallback((val: T) => {\n onChange?.(val);\n if (!isMultiple) ref.current?.close();\n }, [onChange, isMultiple]);\n\n const isSelected = useCallback((item: T) => {\n if (Array.isArray(value)) return value.indexOf(item) > -1;\n return value === item;\n }, [value]);\n\n const optionMap = useMemo(() => {\n const map = {} as Record<string, string>;\n const items = options.filter((item) => typeof item !== 'string');\n for (let i = 0, len = items.length; i < len; i += 1) {\n const item = items[i];\n map[`${item.value}`] = item.label;\n }\n return map;\n }, [options]);\n\n const selectedLabel = useMemo(() => {\n if (!value) return placeholder;\n if (Array.isArray(value)) {\n if (!value.length) return placeholder;\n const sorted = [...value].sort();\n const arr = [];\n for (let i = 0, len = sorted.length; i < len; i += 1) {\n arr[i] = optionMap[`${sorted[i]}`] || '';\n }\n return arr.filter(Boolean).join(',') || placeholder;\n }\n return optionMap[`${value}`] || placeholder;\n }, [placeholder, value, optionMap]);\n\n const isEmpty = selectedLabel === placeholder;\n\n const btnLabelClass = useMemo(() => clsx(\n 'overflow-hidden overflow-ellipsis whitespace-nowrap',\n isEmpty ? 'text-muted' : 'text-text',\n ), [isEmpty]);\n\n const Arrow = useMemo(() => {\n if (arrow) return arrow;\n return <IconArrowDown className=\"absolute right-0 text-muted size-5\" />;\n }, [arrow]);\n\n const handleRender = useCallback((item: OptionType<T>, index: number) => {\n if (renderItem) {\n if (typeof item === 'string') {\n return renderItem(item, { index, selected: false, onChange: () => {} });\n }\n return renderItem(item, {\n index,\n selected: isSelected(item.value),\n onChange: () => handleChange(item.value),\n });\n }\n if (typeof item === 'string') {\n return <h5 className=\"font-medium py-1 px-2 text-muted\" key={`optionheader-${index}`}>{item}</h5>;\n }\n return (\n <SelectItem<T>\n key={item.label}\n selected={isSelected(item.value)}\n onChange={handleChange}\n {...item}\n />\n );\n }, [renderItem, handleChange, isSelected]);\n\n return (\n <Popover\n label={(\n <button type=\"button\" className={btnName} disabled={disabled} {...rest}>\n <span className={btnLabelClass}>\n {selectedLabel}\n </span>\n <div className=\"relative flex items-center pl-8 pr-3 space-x-2\">\n {onClear && !isEmpty ? (\n <div\n tabIndex={-1}\n role=\"button\"\n className=\"size-6 p-1.5 rounded hover:bg-accent\"\n aria-label=\"clear selected values\"\n onKeyDown={(e) => {\n if (e.key !== 'Enter' && e.key !== 'Space') return;\n onClear();\n }}\n onClick={(e) => {\n e.stopPropagation();\n onClear();\n }}\n >\n <IconClose />\n </div>\n ) : null}\n {Arrow}\n </div>\n </button>\n )}\n ref={ref}\n onOpen={(elem) => setWidth(elem?.getBoundingClientRect().width || 0)}\n disabled={disabled}\n >\n <ul\n className=\"overflow-y-auto flex flex-col\"\n role=\"listbox\"\n style={{ minWidth: width, maxWidth: 'calc(100vw - 3rem)', maxHeight }}\n >\n {options.map(handleRender)}\n </ul>\n </Popover>\n );\n}\n\ninterface SelectItemProps<T> {\n className?: string;\n value: T;\n label: string;\n onChange?: (value: T) => void;\n selected?: boolean;\n}\n\nexport function SelectItem<T>({ className, value, label, selected, onChange }: SelectItemProps<T>) {\n const name = useMemo(() => clsx(\n 'flex items-center w-full hover:bg-accent rounded p-1',\n className,\n ), [className]);\n return (\n <button\n type=\"button\"\n role=\"option\"\n className={name}\n aria-selected={selected}\n onClick={() => onChange?.(value)}\n >\n {selected ? <IconCheck className=\"w-5 h-5 mr-1\" /> : <div className=\"w-5 h-1 mr-1\" />}\n {label}\n </button>\n );\n}\n","import { useMemo, type ButtonHTMLAttributes, type ReactNode } from 'react';\nimport clsx from 'clsx';\n\nexport interface Props extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick' | 'onChange' | 'type' | 'role'> {\n children?: ReactNode;\n checked?: boolean;\n /** idが未指定の場合、nameが代わりに使われます */\n name?: string;\n onChange?: (checked: boolean) => void;\n}\n\nexport default function Radio({ checked, className, id, name, onChange, value, ...rest }: Props) {\n const innerClass = useMemo(() => clsx(\n 'relative inline-flex justify-center items-center border border-input w-4.5 h-4.5 rounded-full',\n 'cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed not-disabled:hover:border-input-fore',\n checked ? '[&_i]:bg-primary disabled:[&_i]:bg-text disabled:border-input' : '',\n className,\n ), [className, checked]);\n\n const handleChange = () => {\n if (rest.disabled) return;\n onChange?.(!checked);\n };\n\n return (\n <button\n type=\"button\"\n role=\"radio\"\n id={id || name}\n className={innerClass}\n onClick={handleChange}\n aria-checked={checked}\n {...rest}\n >\n <i\n className=\"block w-2.5 h-2.5 rounded-full transition-transform\"\n style={{ transform: checked ? '' : 'scale(0.8)', opacity: checked ? 1 : 0 }}\n />\n <input\n type=\"radio\"\n aria-hidden=\"true\"\n name={name}\n checked={checked}\n value={value}\n onChange={handleChange}\n disabled={rest.disabled}\n style={{ position: 'absolute', pointerEvents: 'none', top: 0, left: 0, width: 1, height: 1, opacity: 0 }}\n />\n </button>\n );\n}\n","import clsx from 'clsx';\nimport { type ButtonHTMLAttributes, forwardRef, useMemo } from 'react';\nimport merge from 'utils/merge';\n\nexport interface Props extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick' | 'onChange' | 'type' | 'role'> {\n checked?: boolean;\n onChange?: (checked: boolean) => void;\n}\n\nconst Switch = forwardRef<HTMLInputElement, Props>(({\n className, checked, onChange, value, id, name, ...rest\n}, ref) => {\n const buttonName = useMemo(() => merge(clsx(\n 'inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50',\n 'w-11',\n checked ? 'bg-primary' : 'bg-input',\n ), className), [className, checked]);\n\n const pointerName = useMemo(() => merge(\n 'pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform',\n className,\n ), [className]);\n\n const handleChange = () => {\n if (rest.disabled) return;\n onChange?.(!checked);\n };\n return (\n <button\n type=\"button\"\n role=\"switch\"\n id={id || name}\n className={buttonName}\n onClick={handleChange}\n aria-checked={checked}\n {...rest}\n >\n <span className={pointerName} style={{ transform: checked ? 'translateX(100%)' : '' }} />\n <input\n ref={ref}\n type=\"checkbox\"\n aria-hidden=\"true\"\n name={name}\n checked={checked}\n value={value}\n onChange={handleChange}\n disabled={rest.disabled}\n style={{ position: 'absolute', pointerEvents: 'none', top: 0, left: 0, width: 1, height: 1, opacity: 0 }}\n />\n </button>\n );\n});\nSwitch.displayName = 'Switch';\n\nexport default Switch;\n","import { type HTMLAttributes, useRef, useEffect, type ReactNode } from 'react';\n\nimport useIsomorphicLayoutEffect from '../../hooks/useIsomorphicLayoutEffect';\n\nexport interface Props extends HTMLAttributes<HTMLDivElement> {\n /**\n * ボタンなどの表示するラベル\\\n * showを変更するロジックのイベントが必要となります\n */\n header: ReactNode;\n /** trueの場合、内容を開きます */\n show: boolean;\n /**\n * アニメーションの時間\\\n * 0に設定すると、即時に反応します\n * @default 300\n */\n timeout?: number;\n}\n\nexport default function Accordion({ header, show, children, timeout = 300, ...rest }: Props) {\n const ref = useRef<HTMLDivElement | null>(null);\n const prevHeight = useRef<number>(0);\n const timeoutRef = useRef<number>(0);\n const init = useRef(true);\n\n useEffect(() => { timeoutRef.current = timeout; }, [timeout]);\n\n useIsomorphicLayoutEffect(() => {\n if (!ref.current) return;\n ref.current.style.overflow = 'hidden';\n ref.current.style.opacity = '1';\n\n if (init.current) {\n init.current = false;\n ref.current.style.height = show ? 'auto' : '0px';\n if (show) {\n // cache prev calculated height after 1 frame draw\n window.requestAnimationFrame(() => {\n if (!ref.current) return;\n prevHeight.current = ref.current.offsetHeight;\n });\n } else {\n // explicitly calculate auto height\n window.requestAnimationFrame(() => {\n if (!ref.current) return;\n ref.current.style.height = 'auto';\n prevHeight.current = ref.current.offsetHeight;\n ref.current.style.height = '0px';\n });\n ref.current.style.opacity = '0';\n }\n return;\n }\n\n if (!show) {\n ref.current.style.height = `${prevHeight.current}px`;\n }\n\n const frameIds = [] as number[];\n frameIds[0] = window.requestAnimationFrame(() => {\n frameIds[1] = window.requestAnimationFrame(() => {\n if (!ref.current) return;\n ref.current.style.height = `${show ? prevHeight.current : 0}px`;\n ref.current.style.opacity = show ? '1' : '0';\n });\n });\n\n let timeoutId: number;\n const timeoutCallback = () => {\n if (!ref.current) return;\n if (show) {\n ref.current.style.height = 'auto';\n ref.current.style.overflow = '';\n ref.current.style.opacity = '';\n\n // cache prev calculated height after 1 frame draw\n window.requestAnimationFrame(() => {\n if (ref.current) {\n prevHeight.current = ref.current.offsetHeight;\n }\n });\n } else {\n ref.current.style.height = '0px';\n }\n };\n\n if (timeoutRef.current === 0) {\n timeoutCallback();\n } else {\n timeoutId = window.setTimeout(timeoutCallback, timeoutRef.current);\n }\n\n return () => {\n frameIds.forEach(window.cancelAnimationFrame);\n if (timeoutId) window.clearTimeout(timeoutId);\n };\n }, [show]);\n\n return (\n <div {...rest}>\n {header}\n <div\n className=\"transition-all ease-in-out overflow-hidden\"\n role=\"region\"\n aria-hidden={!show}\n ref={ref}\n style={{ transitionDuration: `${timeout}ms` }}\n >\n {children}\n </div>\n </div>\n );\n}\n","import { Children, cloneElement, useImperativeHandle, useState, forwardRef, useMemo } from 'react';\nimport type { ReactNode, ReactElement, RefObject, HTMLAttributes } from 'react';\nimport {\n useFloating, useInteractions, useHover, useClientPoint, useTransitionStyles,\n shift, offset as offsetUi, flip, useId, autoUpdate,\n} from '@floating-ui/react';\nimport type { Placement, ReferenceElement } from '@floating-ui/core';\nimport clsx from 'clsx';\n\nimport Portal from '../Portal';\n\nexport interface TooltipRef {\n floating: RefObject<HTMLElement | null>;\n reference: RefObject<ReferenceElement | null>;\n open: () => void;\n close: () => void;\n}\n\nexport interface TooltipProps {\n /** 吹き出しとして表示したい内容 */\n label: ReactNode;\n /** マウスオーバーの対象になるelement */\n children: ReactElement;\n /**\n * 表示される場所\n * @default 'bottom'\n */\n position?: Placement;\n\n /**\n * ツールチップが表示される間隔, 単位はpx\n * @default '{ x: 0, y: 6 }'\n */\n offset?: { x: number; y: number; };\n\n /**\n * ツールチップの表示・非表示のアニメーション速度\n * @default 150\n */\n timeout?: number;\n\n /** 吹き出し表示座標を対象のElementではなくマウスカーソルにする */\n clientPoint?: boolean;\n /** 吹き出しを出さない */\n disabled?: boolean;\n\n className?: string;\n}\n\nconst Tooltip = forwardRef<TooltipRef, TooltipProps>(({\n children, position = 'bottom', label, className, timeout = 150,\n offset = { x: 0, y: 6 }, clientPoint = false, disabled,\n}, ref) => {\n const [open, setOpen] = useState(false);\n const nodeId = useId();\n const { refs, floatingStyles, context } = useFloating({\n nodeId,\n open,\n placement: position,\n middleware: [\n shift(),\n flip(),\n offsetUi({ mainAxis: offset.y, crossAxis: offset.x }),\n ],\n whileElementsMounted: disabled ? undefined : autoUpdate,\n onOpenChange: setOpen,\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n useHover(context, { enabled: !disabled }),\n useClientPoint(context, { enabled: clientPoint }),\n ]);\n\n const { isMounted, styles } = useTransitionStyles(context, {\n duration: timeout,\n initial: { opacity: 0, transform: 'scale(0.8)' },\n });\n\n useImperativeHandle(ref, () => ({\n floating: refs.floating,\n reference: refs.reference,\n open: () => setOpen(true),\n close: () => setOpen(false),\n }));\n\n const child = typeof children === 'string' ? <span>{children}</span> : children;\n\n return (\n <>\n {cloneElement(Children.only(child), {\n ref: refs.setReference,\n ...getReferenceProps(),\n })}\n <Portal disabled={disabled || !isMounted}>\n <div role=\"tooltip\" className=\"z-[9999]\" ref={refs.setFloating} {...getFloatingProps({ style: floatingStyles })}>\n <TooltipContent className={className} style={styles}>\n {label}\n </TooltipContent>\n </div>\n </Portal>\n </>\n );\n});\nexport default Tooltip;\n\ninterface TooltipContentProps extends HTMLAttributes<HTMLDivElement> {\n custom?: boolean;\n}\n\nexport const TooltipContent = forwardRef<HTMLDivElement, TooltipContentProps>(({\n className, custom, ...rest\n}, ref) => {\n const tooltipName = useMemo(() => clsx(\n 'relative w-auto h-auto outline-none transition-transform ease-in-out whitespace-pre',\n custom ? null : 'border border-accent rounded shadow-md px-3 py-1 bg-background',\n className,\n ), [className, custom]);\n return <div ref={ref} className={tooltipName} {...rest} />;\n});\n","import { useMemo, type ButtonHTMLAttributes } from 'react';\nimport clsx from 'clsx';\n\ninterface InnerButtonProps {\n variant?: 'primary' | 'info' | 'warn' | 'link' | 'outline' | 'ghost' | 'danger';\n size?: 'icon' | 'none';\n}\n\nexport type ButtonProps = InnerButtonProps & ButtonHTMLAttributes<HTMLButtonElement>;\n\nexport function varientButton({ variant, size }: InnerButtonProps) {\n return clsx(\n 'inline-flex items-center justify-center whitespace-nowrap transition-colors rounded-md cursor-pointer',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',\n 'disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-auto',\n {\n 'bg-primary text-inverted hover:bg-primary-fore': !variant || variant === 'primary',\n 'bg-info text-inverted hover:bg-info-fore': variant === 'info',\n 'bg-warn text-inverted hover:bg-warn-fore': variant === 'warn',\n 'bg-danger text-inverted hover:bg-danger-fore': variant === 'danger',\n 'hover:bg-accent': variant === 'ghost',\n 'hover:underline': variant === 'link',\n 'border border-input hover:bg-accent': variant === 'outline',\n },\n {\n 'px-2 py-1': !size,\n 'p-1.5': size === 'icon',\n },\n );\n}\n\nexport default function Button({ size, variant, className, ...rest }: ButtonProps) {\n const buttonClass = useMemo(() => (\n clsx(varientButton({ size, variant }), className)\n ), [size, variant, className]);\n return <button className={buttonClass} type=\"button\" {...rest} />;\n}\n","import { useEffect, useRef, useMemo, forwardRef, useCallback } from 'react';\nimport type { HTMLAttributes, ReactNode } from 'react';\nimport { useFloating, useDismiss, useInteractions, useTransitionStyles, FloatingOverlay, useId } from '@floating-ui/react';\nimport clsx from 'clsx';\n\nimport merge from 'utils/merge';\n\nimport Portal from '../Portal';\nimport stopPropagation from '../../utils/stopPropagation';\n\nexport interface Props extends HTMLAttributes<HTMLDivElement> {\n /** trueの場合、モーダルを表示します。 */\n open?: boolean;\n /** モーダルのbodyに入れる内容 */\n children?: ReactNode;\n /** オーバーレイのクリックでモーダルクローズ */\n closeOnOverlay?: boolean;\n /** escボタンでクローズ */\n closeOnEsc?: boolean;\n /**\n * モーダルの表示・非表示のアニメーション速度\n * @default 150\n */\n timeout?: number | { open: number; close: number; };\n /**\n * モーダルのデフォルトデザインを適用し、サイズを指定します。\\\n * 未指定の場合は、スタイルを全部外した状態で表示されます\n * */\n size?: 'small' | 'medium' | 'large';\n /** モーダルのtransition exitが完了した時に発火されるcallback */\n onOpenChange?: (open: boolean) => void;\n /** モーダルのtransition exitが完了した時に発火されるcallback */\n onExited?: () => void;\n /**\n * モーダルの背景からのpaddingを指定します。\n * @default '0.85rem'\n */\n padding?: string;\n /**\n * モーダルの縦並びを設定します。\n * @default 'center'\n */\n verticalAlign?: 'start' | 'center' | 'end';\n}\n\nexport default function Dialog({\n open, children, timeout = 150, padding = '0.85rem', verticalAlign = 'center',\n closeOnOverlay, closeOnEsc, onExited, className, onOpenChange, size,\n ...rest\n}: Props) {\n const exitRef = useRef(onExited);\n const isTransMountedRef = useRef(false);\n const nodeId = useId();\n\n const { refs, context } = useFloating({ open, onOpenChange, nodeId });\n\n const { getFloatingProps } = useInteractions([\n useDismiss(context, {\n enabled: closeOnEsc,\n escapeKey: closeOnEsc,\n outsidePress: false,\n }),\n ]);\n\n const { isMounted, styles } = useTransitionStyles(context, {\n duration: timeout,\n initial: { opacity: 0, transform: 'scale(0.8)' },\n });\n\n useEffect(() => {\n if (isTransMountedRef.current === isMounted) return;\n isTransMountedRef.current = isMounted;\n if (isMounted) return;\n\n exitRef.current?.();\n }, [isMounted]);\n\n const handleOverlayClose = useCallback(() => {\n if (!closeOnOverlay) return;\n onOpenChange?.(false);\n }, [onOpenChange, closeOnOverlay]);\n\n exitRef.current = onExited;\n\n const overlayClass = useMemo(() => clsx('grid bg-backdrop z-40 justify-items-center', {\n 'place-items-start items-start': verticalAlign === 'start',\n 'place-items-end': verticalAlign === 'end',\n 'place-items-center': verticalAlign === 'center' || !verticalAlign,\n }), [verticalAlign]);\n\n const dialogClass = useMemo(() => merge('transition ease-in-out', className), [className]);\n\n return (\n <Portal disabled={!isMounted}>\n <FloatingOverlay\n className={overlayClass}\n data-testid=\"vs-dialog-overlay\"\n onClick={handleOverlayClose}\n style={{ padding, opacity: styles.opacity }}\n lockScroll\n >\n <DialogContent\n ref={refs.setFloating}\n className={dialogClass}\n role=\"dialog\"\n size={size}\n {...getFloatingProps({ ...rest, style: styles, onClick: stopPropagation })}\n >\n {children}\n </DialogContent>\n </FloatingOverlay>\n </Portal>\n );\n}\n\nexport { default as DialogHeader } from './DialogHeader';\n\ninterface DialogContentProps extends HTMLAttributes<HTMLElement> {\n size?: Props['size'];\n}\n\nexport const DialogContent = forwardRef<HTMLDivElement, DialogContentProps>(({\n size, className, ...rest\n}, ref) => {\n const dialogClass = useMemo(() => clsx(\n size ? 'flex flex-col bg-background shadow-lg p-5 rounded' : null,\n {\n 'w-full max-w-sm': size === 'small',\n 'w-full max-w-lg': size === 'medium',\n 'w-full max-w-2xl': size === 'large',\n },\n className,\n ), [size, className]);\n return <div ref={ref} className={dialogClass} {...rest} />;\n});\nDialogContent.displayName = 'DialogContent';\n\ninterface DialogFooterProps extends HTMLAttributes<HTMLElement> {\n /** @default 'right' */\n align?: 'center' | 'left' | 'right';\n}\nexport function DialogFooter({ className, align, ...rest }: DialogFooterProps) {\n const footerName = useMemo(() => clsx(\n 'flex flex-col-reverse space-y-2 mt-4 sm:space-y-0 sm:flex-row sm:space-x-2',\n {\n 'sm:justify-end': !align || align === 'right',\n 'sm:justify-start': align === 'left',\n 'sm:justify-center': align === 'center',\n },\n className,\n ), [className, align]);\n return <footer className={footerName} {...rest} />;\n}\n","import { useMemo, type HTMLAttributes } from 'react';\nimport { useFloating, useTransitionStyles, FloatingOverlay, useId } from '@floating-ui/react';\nimport clsx from 'clsx';\n\nimport Portal from '../Portal';\nimport merge from '../../utils/merge';\n\nexport interface Props extends HTMLAttributes<HTMLDivElement> {\n /** trueの場合、モーダルを表示します。 */\n open?: boolean;\n /**\n * モーダルの表示・非表示のアニメーション速度\n * @default '{ open: 250, close: 150 }'\n */\n timeout?: number | { open: number; close: number; };\n /** モーダルのtransition exitが完了した時に発火されるcallback */\n onOpenChange?: (open: boolean) => void;\n /** モーダルのtransition exitが完了した時に発火されるcallback */\n onExited?: () => void;\n overlay?: boolean;\n /**\n * sheetが表示されれう場所\n * @defaut 'right'\n */\n position?: 'left' | 'right' | 'top' | 'bottom';\n unstyled?: boolean;\n}\n\nconst defaultTimeout = { open: 300, close: 150 };\n\nexport default function Sheet({ open, timeout = defaultTimeout, onOpenChange, position = 'right', overlay, ...rest }: Props) {\n const nodeId = useId();\n const { refs, context } = useFloating({ open, onOpenChange, nodeId });\n const { isMounted, styles } = useTransitionStyles(context, {\n duration: timeout,\n initial() {\n let transform = 'translateX(75%)';\n if (position === 'left') {\n transform = 'translateX(-75%)';\n } else if (position === 'top') {\n transform = 'translateY(-75%)';\n } else if (position === 'bottom') {\n transform = 'translateY(75%)';\n }\n return { opacity: 0, transform };\n },\n });\n\n const name = useMemo(() => clsx(\n 'fixed transition-transform z-30',\n {\n 'top-0 right-0 h-full max-h-screen': position === 'right',\n 'top-0 left-0 h-full max-h-screen': position === 'left',\n 'top-0 left-0 right-0 w-full max-w-screen': position === 'top',\n 'bottom-0 left-0 right-0 w-full max-w-screen': position === 'bottom',\n },\n ), [position]);\n\n return (\n <Portal disabled={!isMounted}>\n {overlay ? (\n <FloatingOverlay\n className=\"bg-backdrop\"\n style={{ opacity: styles.opacity }}\n onClick={() => onOpenChange?.(false)}\n />\n ) : null}\n <div\n ref={refs.setFloating}\n className={name}\n role=\"dialog\"\n style={styles}\n >\n <SheetContent {...rest} />\n </div>\n </Portal>\n );\n}\n\ninterface SheetContentProps extends HTMLAttributes<HTMLDivElement> {\n unstyled?: boolean;\n}\n\nexport function SheetContent({ className, unstyled, ...rest }: SheetContentProps) {\n const name = useMemo(() => (unstyled ? className : merge(clsx(\n 'relative bg-background min-w-full min-h-full border border-input shadow-lg',\n ), className)), [unstyled, className]);\n return <div className={name} {...rest} />;\n}\n","/* tslint:disable max-line-length */\nimport { SVGAttributes } from 'react';\n\nexport default function Approved(props: SVGAttributes<SVGSVGElement>) {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"30\" height=\"30\" viewBox=\"0 0 30 30\" {...props}>\n <path d=\"M15 29a14 14 0 0 1-9.9-4.1A14 14 0 0 1 1 15a14 14 0 0 1 4.1-9.9A14 14 0 0 1 15 1a14 14 0 0 1 9.9 4.1A14 14 0 0 1 29 15a14 14 0 0 1-4.1 9.9A14 14 0 0 1 15 29z\" fill=\"none\" />\n <path d=\"M15 2a13 13 0 0 0-9.2 3.8A13 13 0 0 0 2 15a13 13 0 0 0 3.8 9.2A13 13 0 0 0 15 28a13 13 0 0 0 9.2-3.8A13 13 0 0 0 28 15a13 13 0 0 0-3.8-9.2A13 13 0 0 0 15 2m0-2a15 15 0 1 1 0 30 15 15 0 0 1 0-30z\" fill=\"currentColor\" />\n <path d=\"m11.5 18.5-3.9-4L6 16l5.6 5.6L23.2 10l-1.7-1.6z\" fill=\"currentColor\" />\n </svg>\n );\n}\n","import type { SVGAttributes } from 'react';\n\nexport default function Alert(props: SVGAttributes<SVGSVGElement>) {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"30\" height=\"30\" viewBox=\"0 0 32 32\" {...props}>\n <path d=\"M16 0C7.16 0 0 7.16 0 16C0 24.84 7.16 32 16 32C24.84 32 32 24.84 32 16C32 7.16 24.84 0 16 0ZM16 31C7.73 31 1 24.27 1 16C1 7.73 7.73 1 16 1C24.27 1 31 7.73 31 16C31 24.27 24.27 31 16 31Z\" fill=\"currentColor\" />\n <path d=\"M15.5 19.55V8.54999C15.5 8.26999 15.72 8.04999 16 8.04999C16.28 8.04999 16.5 8.26999 16.5 8.54999V19.55C16.5 19.83 16.28 20.05 16 20.05C15.72 20.05 15.5 19.83 15.5 19.55Z\" fill=\"currentColor\" />\n <path d=\"M16 23.95C16.5523 23.95 17 23.5023 17 22.95C17 22.3977 16.5523 21.95 16 21.95C15.4477 21.95 15 22.3977 15 22.95C15 23.5023 15.4477 23.95 16 23.95Z\" fill=\"currentColor\" />\n </svg>\n );\n}\n","import type { SVGAttributes } from 'react';\n\nexport default function Caution(props: SVGAttributes<SVGSVGElement>) {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"30\" height=\"30\" viewBox=\"0 0 52 45\" {...props}>\n <path d=\"M50.6 37.8 29.3 2c-1.5-2.6-5.1-2.8-6.7-.3l-21.2 36c-1.7 2.6.2 6.6 3.4 6.6h42.4c3.1 0 5-4 3.4-6.6Zm-24.7.6a2.7 2.7 0 1 1 0-5.5 2.7 2.7 0 0 1 0 5.5Zm2.9-10.1c0 1.5-1.3 2.7-2.8 2.7a2.8 2.8 0 0 1-2.8-2.7V13.9c0-1.5 1.3-2.7 2.8-2.7 1.5 0 2.8 1.2 2.8 2.7v14.4Z\" fill=\"currentColor\" />\n </svg>\n );\n}\n","import { HTMLAttributes } from 'react';\n\nexport interface Props extends HTMLAttributes<HTMLDivElement>{\n /** サイズ */\n size?: number;\n label?: string;\n}\n\nexport default function Spinner({ size = 20, label = 'Loading...', ...rest }: Props) {\n return (\n <div role=\"status\" {...rest}>\n <svg aria-hidden=\"true\" className=\"text-accent animate-spin fill-primary\" width={size} height={size} viewBox=\"0 0 100 101\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M100 50.6a50 50 0 1 1-100 0 50 50 0 0 1 100 0Zm-91 0a41 41 0 1 0 82 0 41 41 0 0 0-82 0Z\" fill=\"currentColor\" />\n <path d=\"M94 39a4.2 4.2 0 0 0 3-5.4A50 50 0 0 0 41.7 1.3c-2.4.4-3.9 2.9-3.2 5.3a5 5 0 0 0 5.6 3.5A41 41 0 0 1 88 36 5 5 0 0 0 94 39Z\" fill=\"currentFill\" />\n </svg>\n <span className=\"sr-only\">{label}</span>\n </div>\n );\n}\n","import type { ToastItemProps } from './types';\n\nimport ApprovedIcon from '../../elements/Icons/Approved';\nimport AlertIcon from '../../elements/Icons/Alert';\nimport CautionIcon from '../../elements/Icons/Caution';\nimport Spinner from '../../elements/Spinner';\n\nexport default function ToastItem({ type, label, message }: ToastItemProps) {\n return (\n <div className=\"flex items-center px-4 py-3 w-80 text-sm bg-background border border-input rounded-lg shadow-md m-2\">\n {type ? (\n <figure className=\"mr-2\">\n {type === 'success' ? <ApprovedIcon className=\"text-primary size-5\" /> : null}\n {type === 'info' ? <AlertIcon className=\"text-info size-5\" /> : null}\n {type === 'error' ? <AlertIcon className=\"text-danger size-5\" /> : null}\n {type === 'warn' ? <CautionIcon className=\"text-warn size-5\" /> : null}\n {type === 'loading' ? <Spinner size={20} /> : null}\n </figure>\n ) : null}\n <div className=\"space-y-2\">\n <p className=\"font-medium leading-none\">{label}</p>\n {message ? <p>{message}</p> : null}\n </div>\n </div>\n );\n}\n","import type { ReactNode } from 'react';\n\nimport type { ToastConfig } from './types';\n\nfunction noop() {}\n\ntype PublishArgs = (\n { id: string; type: 'add'; config: ToastConfig; }\n | { id: string; type: 'remove'; }\n | { id: string; type: 'update'; config: Partial<ToastConfig>; }\n);\n\nclass ToastObserver {\n /** システムで1つしか存在しない前提とする */\n notify: (args: PublishArgs) => void = noop;\n\n lastId = 0;\n\n /** internal use only */\n subscribe = (callback: (args: PublishArgs) => void) => {\n this.notify = callback;\n return () => {\n this.notify = noop;\n };\n };\n\n add = (label: ReactNode, config: Omit<ToastConfig, 'label' | 'id'> = {}) => {\n this.lastId += 1;\n const id = `${this.lastId}`;\n this.notify({ id, type: 'add', config: { id, label, ...config } });\n return id;\n };\n\n /** 表示中のtoastを修正します。promiseのロード状態を表示することなどに使います */\n update = (id: string, config: Partial<Omit<ToastConfig, 'id'>>) => {\n this.notify({ id, type: 'update', config });\n };\n\n remove = (id: string) => {\n this.notify({ id, type: 'remove' });\n };\n\n clear = () => {\n this.lastId = 0;\n };\n}\n\nconst observer = new ToastObserver();\nexport default observer;\n","/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\nimport { ReactNode, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { useFloating, useTransitionStyles } from '@floating-ui/react';\nimport clsx from 'clsx';\n\nimport observer from './observer';\nimport type { ToastConfig } from './types';\n\ninterface ToastContainerProps extends Pick<ToastConfig, 'id' | 'duration' | 'className' | 'type'> {\n index: number;\n children: ReactNode;\n inverted?: boolean;\n timeout?: number;\n max?: number;\n}\n\nexport default function ToastContainer({\n id, type, index, duration, className, children, inverted, timeout = 250, max = 3,\n}: ToastContainerProps) {\n const isPrevMountedRef = useRef(false);\n const [open, setOpen] = useState(false);\n\n const { context, refs } = useFloating({ open, onOpenChange: setOpen, nodeId: id });\n const { isMounted, styles } = useTransitionStyles(context, {\n duration: timeout,\n initial: { opacity: 0, transform: `translateY(${inverted ? '' : '-'}50%)` },\n });\n\n useLayoutEffect(() => {\n setOpen(index <= max);\n }, [index, max]);\n\n useEffect(() => {\n if (isPrevMountedRef.current === isMounted) return;\n if (!isMounted) {\n observer.remove(id);\n }\n isPrevMountedRef.current = isMounted;\n }, [isMounted, id]);\n\n useEffect(() => {\n if (!duration) return;\n const tId = window.setTimeout(() => setOpen(false), duration);\n return () => window.clearTimeout(tId);\n }, [duration, id]);\n\n const handleClose = useCallback(() => {\n if (type === 'loading') return;\n setOpen(false);\n }, [type]);\n\n const name = useMemo(() => clsx(\n 'relative flex w-fit transition-transform ease-in-out cursor-pointer',\n className,\n ), [className]);\n\n if (!isMounted) return null;\n return (\n <li\n role=\"log\"\n tabIndex={-1}\n ref={refs.setFloating}\n className={name}\n style={styles}\n onClick={handleClose}\n >\n {children}\n </li>\n );\n}\n","import { type CSSProperties, useMemo, useState, startTransition, useRef, createElement } from 'react';\nimport clsx from 'clsx';\n\nimport useIsomorphicLayoutEffect from 'hooks/useIsomorphicLayoutEffect';\n\nimport ToastItem from './ToastItem';\nimport ToastFloat from './ToastFloat';\nimport type { ToasterProps } from './types';\n\nimport Portal from '../Portal';\nimport observer from './observer';\n\nexport default function Toast({\n className, margin = 16, position = 'top-left', max, ListItem = ToastItem,\n}: ToasterProps) {\n const style = useMemo<CSSProperties>(() => {\n const base = { position: 'fixed' } as CSSProperties;\n if (position.indexOf('top') > -1) {\n base.top = margin;\n } else if (position.indexOf('bottom') > -1) {\n base.bottom = margin;\n }\n\n if (position.indexOf('left') > -1) {\n base.left = margin;\n base.alignItems = 'flex-start';\n } else if (position.indexOf('right') > -1) {\n base.right = margin;\n base.alignItems = 'flex-end';\n } else {\n base.left = '50%';\n base.alignItems = 'center';\n base.transform = 'translateX(-50%)';\n }\n return base;\n }, [margin, position]);\n\n const name = useMemo(() => clsx(\n 'flex flex-col z-40 overflow-hidden',\n className,\n ), [className]);\n\n const isInvertedOrder = useMemo(() => position?.startsWith('bottom') || false, [position]);\n\n const data = useRef(new Map());\n const [order, setOrder] = useState<string[]>([]);\n const update = useState(0)[1];\n\n useIsomorphicLayoutEffect(() => observer.subscribe((payload) => {\n startTransition(() => {\n if (payload.type === 'add') {\n data.current.set(payload.id, payload.config);\n setOrder((prev) => [...prev, payload.id]);\n } else if (payload.type === 'remove') {\n const isDeleted = data.current.delete(payload.id);\n if (!isDeleted) return;\n setOrder((prev) => {\n const next = new Set(prev);\n if (!next.has(payload.id)) return prev;\n next.delete(payload.id);\n return Array.from(next);\n });\n } else if (payload.type === 'update') {\n const d = data.current.get(payload.id);\n if (!d) return;\n data.current.set(payload.id, { ...d, ...payload.config });\n update((prev) => prev + 1);\n }\n });\n }), []);\n\n const size = order.length;\n\n return (\n <Portal>\n <ol className={name} style={style} aria-live=\"polite\">\n {order.map((id, i) => {\n const item = data.current.get(id);\n if (!item) return null;\n const { className: innerClass, duration, ...props } = item;\n return (\n <ToastFloat\n key={id}\n id={id}\n index={size - i}\n className={innerClass}\n duration={duration}\n inverted={isInvertedOrder}\n max={max}\n >\n {createElement(ListItem, props)}\n </ToastFloat>\n );\n })}\n </ol>\n </Portal>\n );\n}\n","import { type HTMLAttributes, useMemo } from 'react';\n\nimport merge from 'utils/merge';\n\nexport default function Skeleton({ className, ...props }: HTMLAttributes<HTMLDivElement>) {\n const name = useMemo(() => merge(\n 'inline-block animate-pulse rounded-md bg-accent',\n className,\n ), [className]);\n return <span className={name} {...props} />;\n}\n","import { type HTMLAttributes, useMemo } from 'react';\nimport clsx from 'clsx';\n\nexport default function ButtonGroup({ className, ...rest }: HTMLAttributes<HTMLDivElement>) {\n const name = useMemo(() => clsx(\n 'flex items-center justify-center',\n '[&_button]:rounded-none [&_:first-child]:rounded-bl [&_:first-child]:rounded-tl [&_:last-child]:rounded-br [&_:last-child]:rounded-tr',\n '[&_:first-child]:border-r-0 [&_:last-child]:border-l-0',\n className,\n ), [className]);\n return <div role=\"group\" className={name} {...rest} />;\n}\n","import { HTMLAttributes, useMemo } from 'react';\nimport merge from 'utils/merge';\n\nexport interface ProgressProps extends HTMLAttributes<HTMLDivElement>{\n /** 現状の進捗 */\n value: number;\n /**\n * 進捗の最大値\\\n * 最小値は0基準になるので、それに合わせてください\n */\n max: number;\n}\n\nexport default function Progress({ value, max, className, ...rest }: ProgressProps) {\n const percent = useMemo(() => (value ? Math.round((value / max) * 100) : 0), [value, max]);\n const name = useMemo(() => merge('relative overflow-hidden rounded-full bg-primary', className), [className]);\n return (\n <div role=\"progressbar\" className={name} aria-valuemax={max} aria-valuemin={0} {...rest}>\n <div\n className=\"h-full w-full flex-1 bg-input transition-all origin-right\"\n style={{ transform: `translateX(${percent > 100 ? 100 : percent}%)` }}\n />\n </div>\n );\n}\n","import { type HTMLAttributes, useMemo } from 'react';\nimport clsx from 'clsx';\n\nimport merge from 'utils/merge';\n\nexport interface Props extends HTMLAttributes<HTMLElement> {\n /** @default 'horizontal' */\n orientation?: 'horizontal' | 'vertical';\n}\n\nexport default function Divider({ className, orientation = 'horizontal', ...props }: Props) {\n const name = useMemo(() => merge(clsx(\n 'border-0 p-0 shrink-0 bg-input',\n orientation === 'horizontal' ? 'h-[1px] w-full' : 'w-[1px] h-full',\n ), className), [className, orientation]);\n return <hr className={name} role=\"none\" {...props} />;\n}\n","/* tslint:disable max-line-length */\nimport React, { SVGAttributes } from 'react';\n\nexport default function IconChevronRound(props: SVGAttributes<SVGSVGElement>) {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"30\" height=\"30\" viewBox=\"0 0 30 30\" {...props}>\n <g fill=\"none\">\n <path d=\"M15 29c-3.74 0-7.255-1.456-9.9-4.1A13.908 13.908 0 011 15c0-3.74 1.456-7.255 4.1-9.9A13.908 13.908 0 0115 1c3.74 0 7.255 1.456 9.9 4.1A13.908 13.908 0 0129 15c0 3.74-1.456 7.255-4.1 9.9A13.908 13.908 0 0115 29z\" />\n <path\n d=\"M15 2a12.915 12.915 0 00-9.192 3.808A12.915 12.915 0 002 15c0 3.472 1.352 6.737 3.808 9.192A12.915 12.915 0 0015 28c3.472 0 6.737-1.352 9.192-3.808A12.915 12.915 0 0028 15c0-3.472-1.352-6.737-3.808-9.192A12.915 12.915 0 0015 2m0-2c8.284 0 15 6.716 15 15 0 8.284-6.716 15-15 15-8.284 0-15-6.716-15-15C0 6.716 6.716 0 15 0z\"\n fill=\"currentColor\"\n />\n </g>\n <path\n d=\"M18.066 8.5l-7.567 6.731 7.567 6.2\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n />\n </svg>\n );\n}\n","/* tslint:disable max-line-length */\nimport React, { SVGAttributes } from 'react';\n\nexport default function FileRound(props: SVGAttributes<SVGSVGElement>) {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"30\" height=\"30\" viewBox=\"0 0 30 30\" {...props}>\n <g fill=\"none\">\n <path d=\"M15 29c-3.74 0-7.255-1.456-9.9-4.1A13.908 13.908 0 011 15c0-3.74 1.456-7.255 4.1-9.9A13.908 13.908 0 0115 1c3.74 0 7.255 1.456 9.9 4.1A13.908 13.908 0 0129 15c0 3.74-1.456 7.255-4.1 9.9A13.908 13.908 0 0115 29z\" />\n <path\n d=\"M15 2a12.915 12.915 0 00-9.192 3.808A12.915 12.915 0 002 15c0 3.472 1.352 6.737 3.808 9.192A12.915 12.915 0 0015 28c3.472 0 6.737-1.352 9.192-3.808A12.915 12.915 0 0028 15c0-3.472-1.352-6.737-3.808-9.192A12.915 12.915 0 0015 2m0-2c8.284 0 15 6.716 15 15 0 8.284-6.716 15-15 15-8.284 0-15-6.716-15-15C0 6.716 6.716 0 15 0z\"\n fill=\"currentColor\"\n />\n </g>\n <g transform=\"translate(9 7)\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <rect width=\"12\" height=\"16\" rx=\"1\" stroke=\"none\" />\n <path d=\"M1 1h10v14H1z\" />\n </g>\n <path\n fill=\"currentColor\"\n d=\"M13 11h4v1.3h-4zM13 14h4v1.3h-4zM13 17h4v1.3h-4z\"\n />\n </svg>\n );\n}\n","import React, { SVGAttributes } from 'react';\n\nexport default function Pencil(props: SVGAttributes<SVGSVGElement>) {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17.796\" height=\"17.908\" viewBox=\"0 0 17.796 17.908\" {...props}>\n <path\n d=\"M1.254 12.674L.5 17.408l4.726-.8L17.3 4.472 13.281.5zM1.375 12.766l3.851 3.838M10.949 2.959l3.836 3.801\"\n fill=\"none\"\n stroke=\"currentColor\"\n />\n </svg>\n );\n}\n","/* tslint:disable max-line-length */\nimport React, { SVGAttributes } from 'react';\n\nexport default function User(props: SVGAttributes<SVGSVGElement>) {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"30\" height=\"30\" viewBox=\"0 0 30 30\" {...props}>\n <g fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <circle cx=\"15\" cy=\"15\" r=\"15\" stroke=\"none\" />\n <circle cx=\"15\" cy=\"15\" r=\"14\" />\n </g>\n <path\n d=\"M8 23a6.018 6.018 0 016-6h2a6.018 6.018 0 016 6zm2.6-2h8.9a4.033 4.033 0 00-3.5-2h-1.9a4.035 4.035 0 00-3.5 2zm.4-9v-1a4.012 4.012 0 014-4 4.012 4.012 0 014 4v1a4.012 4.012 0 01-4 4 4.012 4.012 0 01-4-4zm2-1v1a2.006 2.006 0 002 2 2.006 2.006 0 002-2v-1a2.006 2.006 0 00-2-2 2.006 2.006 0 00-2 2z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n","/* tslint:disable max-line-length */\nimport React, { SVGAttributes } from 'react';\n\nexport default function Refresh(props: SVGAttributes<SVGSVGElement>) {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"30\" height=\"30\" viewBox=\"0 0 30 30\" {...props}>\n <path\n d=\"M15.065 0A15.069 15.069 0 00.142 13.105a1.256 1.256 0 102.478.406c0-.027.008-.055.01-.082a12.52 12.52 0 0121.3-7.226l-2.584 2.584 7.532 1.255-1.255-7.532-1.92 1.92A15 15 0 0015.065 0zm13.7 15.589A1.255 1.255 0 0027.5 16.7a12.512 12.512 0 01-21.893 6.569l1.927-1.927L0 20.086l1.255 7.532 2.572-2.572a15.02 15.02 0 0026.16-8.023 1.256 1.256 0 00-1.064-1.423 1.273 1.273 0 00-.16-.011z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n","import React, { SVGAttributes } from 'react';\n\nexport default function Plus(props: SVGAttributes<SVGSVGElement>) {\n return (\n <svg width=\"30\" height=\"30\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <rect x=\"16.5\" y=\"9\" width=\"14\" height=\"1\" rx=\".5\" transform=\"rotate(90 16.5 9)\" fill=\"currentColor\" />\n <rect x=\"9\" y=\"15.5\" width=\"14\" height=\"1\" rx=\".5\" fill=\"currentColor\" />\n </svg>\n );\n}\n"]}
|