matsuri-ui 17.0.2-alpha-1746256178747-0dc69ca.0 → 17.0.2-alpha-1746307672164-fc55bb3.0

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 (131) hide show
  1. package/GlobalMenu/index.js +10 -10
  2. package/GlobalMenu/index.js.map +1 -1
  3. package/ImageUploadArea/ImageUploadArea.js +10 -10
  4. package/ImageUploadArea/ImageUploadArea.js.map +1 -1
  5. package/Table/Table.js +3 -3
  6. package/Table/Table.js.map +1 -1
  7. package/Tabs/TabUI.js +2 -2
  8. package/Tabs/TabUI.js.map +1 -1
  9. package/cjs/Alert/Alert.js +1 -2
  10. package/cjs/Alert/Alert.js.map +1 -1
  11. package/cjs/Alert/AlertContext.js +1 -2
  12. package/cjs/Alert/AlertContext.js.map +1 -1
  13. package/cjs/Button/Button.js +1 -2
  14. package/cjs/Button/Button.js.map +1 -1
  15. package/cjs/CSVImportUI/SubmitProgress.js +1 -2
  16. package/cjs/CSVImportUI/SubmitProgress.js.map +1 -1
  17. package/cjs/Calendar/CalendarDay.js +1 -2
  18. package/cjs/Calendar/CalendarDay.js.map +1 -1
  19. package/cjs/Calendar/CalendarDayEvent.js +1 -2
  20. package/cjs/Calendar/CalendarDayEvent.js.map +1 -1
  21. package/cjs/Calendar/CalendarDaysInMonth.js +1 -2
  22. package/cjs/Calendar/CalendarDaysInMonth.js.map +1 -1
  23. package/cjs/Calendar/CalendarWeek.js +1 -2
  24. package/cjs/Calendar/CalendarWeek.js.map +1 -1
  25. package/cjs/CalendarUI/CalendarUIContainer.js +1 -2
  26. package/cjs/CalendarUI/CalendarUIContainer.js.map +1 -1
  27. package/cjs/CalendarUI/index.js +1 -2
  28. package/cjs/CalendarUI/index.js.map +1 -1
  29. package/cjs/Chip/Chip.js +1 -2
  30. package/cjs/Chip/Chip.js.map +1 -1
  31. package/cjs/DateField/DateField.js +1 -2
  32. package/cjs/DateField/DateField.js.map +1 -1
  33. package/cjs/DropArea/DropArea.js +1 -2
  34. package/cjs/DropArea/DropArea.js.map +1 -1
  35. package/cjs/FieldGroup/index.js +1 -2
  36. package/cjs/FieldGroup/index.js.map +1 -1
  37. package/cjs/FormControl/FormControl.js +1 -2
  38. package/cjs/FormControl/FormControl.js.map +1 -1
  39. package/cjs/FullHeight/FullHeight.js +1 -2
  40. package/cjs/FullHeight/FullHeight.js.map +1 -1
  41. package/cjs/GlobalMenu/index.js +4 -4
  42. package/cjs/GlobalMenu/index.js.map +1 -1
  43. package/cjs/Icon/SVGComponents.js +1 -2
  44. package/cjs/Icon/SVGComponents.js.map +1 -1
  45. package/cjs/ImageUploadArea/ImageUploadArea.js +3 -4
  46. package/cjs/ImageUploadArea/ImageUploadArea.js.map +1 -1
  47. package/cjs/ImageViewer/ImageViewer.js +1 -2
  48. package/cjs/ImageViewer/ImageViewer.js.map +1 -1
  49. package/cjs/InputBase/InputBase.js +1 -2
  50. package/cjs/InputBase/InputBase.js.map +1 -1
  51. package/cjs/InputLabel/InputLabel.js +1 -2
  52. package/cjs/InputLabel/InputLabel.js.map +1 -1
  53. package/cjs/List/List.js +1 -2
  54. package/cjs/List/List.js.map +1 -1
  55. package/cjs/List/ListItem.js +1 -2
  56. package/cjs/List/ListItem.js.map +1 -1
  57. package/cjs/Menu/Menu.js +1 -2
  58. package/cjs/Menu/Menu.js.map +1 -1
  59. package/cjs/Menu/MenuList.js +1 -2
  60. package/cjs/Menu/MenuList.js.map +1 -1
  61. package/cjs/Mobile/MobileHeader.js +1 -2
  62. package/cjs/Mobile/MobileHeader.js.map +1 -1
  63. package/cjs/Mobile/MobilePage.js +1 -2
  64. package/cjs/Mobile/MobilePage.js.map +1 -1
  65. package/cjs/Modal/Modal.js +1 -2
  66. package/cjs/Modal/Modal.js.map +1 -1
  67. package/cjs/Modal/useModal.js +1 -2
  68. package/cjs/Modal/useModal.js.map +1 -1
  69. package/cjs/MultipleTextField/index.js +1 -2
  70. package/cjs/MultipleTextField/index.js.map +1 -1
  71. package/cjs/NumberField/NumberField.js +1 -2
  72. package/cjs/NumberField/NumberField.js.map +1 -1
  73. package/cjs/NumberField/NumberFieldInputWrapper.js +1 -2
  74. package/cjs/NumberField/NumberFieldInputWrapper.js.map +1 -1
  75. package/cjs/Pagination/Pagination.js +1 -2
  76. package/cjs/Pagination/Pagination.js.map +1 -1
  77. package/cjs/Paper/Paper.js +1 -2
  78. package/cjs/Paper/Paper.js.map +1 -1
  79. package/cjs/Popper/Popper.js +1 -2
  80. package/cjs/Popper/Popper.js.map +1 -1
  81. package/cjs/Portal/Portal.js +1 -2
  82. package/cjs/Portal/Portal.js.map +1 -1
  83. package/cjs/Portal/PortalContext.js +1 -2
  84. package/cjs/Portal/PortalContext.js.map +1 -1
  85. package/cjs/RadioButton/RadioButton.js +1 -2
  86. package/cjs/RadioButton/RadioButton.js.map +1 -1
  87. package/cjs/SelectField/SelectField.js +1 -2
  88. package/cjs/SelectField/SelectField.js.map +1 -1
  89. package/cjs/SelectSearchField/SelectSearchField.js +1 -2
  90. package/cjs/SelectSearchField/SelectSearchField.js.map +1 -1
  91. package/cjs/SortArea/index.js +1 -2
  92. package/cjs/SortArea/index.js.map +1 -1
  93. package/cjs/Table/useTable.js +1 -2
  94. package/cjs/Table/useTable.js.map +1 -1
  95. package/cjs/TableUI/index.js +1 -2
  96. package/cjs/TableUI/index.js.map +1 -1
  97. package/cjs/Tabs/Tab.js +1 -2
  98. package/cjs/Tabs/Tab.js.map +1 -1
  99. package/cjs/Tabs/TabGroup.js +1 -2
  100. package/cjs/Tabs/TabGroup.js.map +1 -1
  101. package/cjs/Tabs/TabProvider.js +1 -2
  102. package/cjs/Tabs/TabProvider.js.map +1 -1
  103. package/cjs/Tabs/TabUI.js +1 -2
  104. package/cjs/Tabs/TabUI.js.map +1 -1
  105. package/cjs/TextField/index.js +1 -2
  106. package/cjs/TextField/index.js.map +1 -1
  107. package/cjs/TextareaBase/index.js +1 -2
  108. package/cjs/TextareaBase/index.js.map +1 -1
  109. package/cjs/Thumbnail/Thumbnail.js +1 -2
  110. package/cjs/Thumbnail/Thumbnail.js.map +1 -1
  111. package/cjs/Time/Time.js +1 -2
  112. package/cjs/Time/Time.js.map +1 -1
  113. package/cjs/Timeline/Timeline.js +1 -2
  114. package/cjs/Timeline/Timeline.js.map +1 -1
  115. package/cjs/Tooltip/Tooltip.js +1 -2
  116. package/cjs/Tooltip/Tooltip.js.map +1 -1
  117. package/cjs/WeeklyCalendarUI/WeeklyCalendarDragAndDropCell.js +1 -2
  118. package/cjs/WeeklyCalendarUI/WeeklyCalendarDragAndDropCell.js.map +1 -1
  119. package/cjs/WeeklyCalendarUI/WeeklyCalendarUI.js +1 -2
  120. package/cjs/WeeklyCalendarUI/WeeklyCalendarUI.js.map +1 -1
  121. package/cjs/theme.js +1 -2
  122. package/cjs/theme.js.map +1 -1
  123. package/esm/GlobalMenu/index.js +10 -10
  124. package/esm/GlobalMenu/index.js.map +1 -1
  125. package/esm/ImageUploadArea/ImageUploadArea.js +10 -10
  126. package/esm/ImageUploadArea/ImageUploadArea.js.map +1 -1
  127. package/esm/Table/Table.js +3 -3
  128. package/esm/Table/Table.js.map +1 -1
  129. package/esm/Tabs/TabUI.js +2 -2
  130. package/esm/Tabs/TabUI.js.map +1 -1
  131. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"SelectField.js","names":["_FieldGroup","require","_FormControl","_FormHelperText","_InputBase","_InputLabel","_Paper","_Popper","_SelectFieldInputWrapper","_Triangle","_VisuallyHidden","_react","_dispatchChangeEvent","_useSearch","_useDitectInputTouched","_useInputValue","_useMergeRefs","_useOnClickOutside","_theme","_react2","_interopRequireWildcard","_Search","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","_EMOTION_STRINGIFIED_CSS_ERROR__","ownerDocument","node","document","nextItem","list","item","firstChild","nextElementSibling","previousItem","lastChild","previousElementSibling","moveFocus","currentFocus","traversalFunction","nextFocus","disabledFocus","disabled","getAttribute","focus","_ref2","process","env","NODE_ENV","name","styles","toString","SelectInnerSpinButton","open","onClick","theme","useTheme","jsx","Triangle","css","typography","body","fontSize","transitions","duration","shorter","easing","easeInOut","SelectList","forwardRef","props","ref","role","tabIndex","SelectOption","spacing","palette","text","primary","background","paper","gray","shortest","action","hover","selected","filterSelectOptionsByQuery","options","query","result","getSearch","map","option","keys","label","content","value","exports","defaultLoadOptions","undefined","DefaultOption","_ref","SelectField","propOptions","loadOptions","disabledInput","onChange","onFocus","placeholder","required","id","_valueProp","defaultValue","children","helperText","invalid","loading","propsLoading","readOnly","propsReadOnly","style","className","originalInputTestId","pseudoInputTestId","disablePortal","renderOption","inputRef","inputHasValueRef","setOpen","useState","useRef","setQuery","selectedOptionsCache","setOptions","useEffect","selectedOptions","current","then","setValue","isControlled","useInputValue","useFieldGroup","onLoaded","displayValue","useMemo","find","listRef","useOnClickOutside","pseudoInputRef","pseudoInputRefs","useMergeRefs","originalInputRef","originalInputRefs","updateValue","useCallback","dispatchChangeEvent","resetValue","touched","inputProps","useDitectInputTouched","popperOptions","modifiers","roundOffsets","y","x","Math","round","enabled","phase","requires","fn","state","popper","width","rects","reference","effect","elements","offsetWidth","internalInputId","useId","inputId","FormControl","InputLabel","htmlFor","VisuallyHidden","type","key","autoCapitalize","autoComplete","autoCorrect","spellCheck","SelectFieldInputWrapperContext","Provider","InputBase","renderInputWrapper","SelectFieldInputWrapper","onKeyDown","event","prev","preventDefault","startAdornment","some","endAdornment","currentTarget","Popper","anchorEl","placement","Paper","activeElement","React","Children","toArray","child","index","click","FormHelperText"],"sources":["../../../src/SelectField/SelectField.tsx"],"sourcesContent":["import { FieldGroupProps, useFieldGroup } from \"../FieldGroup\";\nimport { FieldProps } from \"../FieldBase\";\nimport { FormControl } from \"../FormControl\";\nimport { FormHelperText } from \"../FieldBase/FormHelperText\";\nimport { InputBase } from \"../InputBase\";\nimport { InputLabel } from \"../InputLabel\";\nimport { Paper } from \"../Paper\";\nimport { Popper } from \"../Popper\";\nimport {\n SelectFieldInputWrapper,\n SelectFieldInputWrapperContext,\n} from \"./SelectFieldInputWrapper\";\nimport { Triangle } from \"../Icon/Triangle\";\nimport { VisuallyHidden } from \"../VisuallyHidden/VisuallyHidden\";\nimport { css } from \"@emotion/react\";\nimport { dispatchChangeEvent } from \"../@utils/dispatchChangeEvent\";\nimport { getSearch } from \"../SearchField/useSearch\";\nimport { useDitectInputTouched } from \"../FieldBase/useDitectInputTouched\";\nimport { useInputValue } from \"../hooks/useInputValue\";\nimport { useMergeRefs } from \"../hooks/useMergeRefs\";\nimport { useOnClickOutside } from \"../hooks/useOnClickOutside\";\nimport { useTheme } from \"../theme\";\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport type { Options as PopperjsOptions } from \"@popperjs/core\";\n\nfunction ownerDocument(node: Node | null | undefined): Document {\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n return node?.ownerDocument || document;\n}\n\ntype TraversalFunction = (\n list: HTMLUListElement,\n item?: Element | null,\n) => ChildNode | null;\n\nconst nextItem: TraversalFunction = (list, item) => {\n if (list === item) {\n return list.firstChild;\n }\n if (item?.nextElementSibling) {\n return item.nextElementSibling;\n }\n return list.firstChild;\n};\n\nconst previousItem: TraversalFunction = (list, item) => {\n if (list === item) {\n return list.lastChild;\n }\n if (item?.previousElementSibling) {\n return item.previousElementSibling;\n }\n return list.lastChild;\n};\n\nconst moveFocus = (\n list: HTMLUListElement,\n currentFocus: Element | null,\n traversalFunction: TraversalFunction,\n) => {\n let nextFocus = traversalFunction(list, currentFocus) as HTMLElement | null;\n while (nextFocus) {\n if (\n currentFocus === null\n ? nextFocus === list.lastChild\n : nextFocus === currentFocus\n ) {\n break;\n }\n const disabledFocus =\n (nextFocus as HTMLInputElement).disabled ||\n nextFocus.getAttribute(\"aria-disabled\") === \"true\";\n if (disabledFocus) {\n nextFocus = traversalFunction(list, nextFocus) as HTMLElement;\n } else {\n nextFocus.focus();\n break;\n }\n }\n};\n\nconst SelectInnerSpinButton = ({\n open,\n onClick,\n}: {\n open: boolean;\n onClick: () => void;\n}) => {\n const theme = useTheme();\n return (\n <Triangle\n onClick={onClick}\n data-testid=\"SelectFieldSpinButton\"\n css={[\n css`\n font-size: ${theme.typography.body.fontSize}px;\n transition: ${theme.transitions.duration.shorter}\n ${theme.transitions.easing.easeInOut};\n `,\n open\n ? css`\n transform: rotateX(180deg);\n `\n : null,\n ]}\n />\n );\n};\n\nconst SelectList = forwardRef<\n HTMLUListElement,\n React.ComponentPropsWithoutRef<\"ul\">\n>((props, ref) => {\n return (\n <ul\n ref={ref}\n role=\"listbox\"\n tabIndex={-1}\n css={css`\n box-sizing: border-box;\n min-height: ${42 * 3.5}px;\n max-height: ${42 * 7.5}px;\n padding: 0;\n margin: 0;\n overflow-x: hidden;\n overflow-y: auto;\n list-style: none;\n border-radius: inherit;\n `}\n {...props}\n />\n );\n});\n\nconst SelectOption = (props: React.ComponentPropsWithoutRef<\"li\">) => {\n const theme = useTheme();\n return (\n <li\n role=\"option\"\n // aria-selectedは親要素から設定するため、この値は上書きされる\n aria-selected={false}\n css={css`\n box-sizing: border-box;\n min-height: ${theme.spacing * 6}px;\n padding: 9px 12px;\n color: ${theme.palette.text.primary};\n cursor: pointer;\n background-color: ${theme.palette.background.paper};\n border-bottom: 1px solid ${theme.palette.gray[300]};\n outline: 0px;\n transition: ${theme.transitions.duration.shortest};\n\n ${css(theme.typography.body)}\n &:last-child {\n border-bottom: none;\n }\n &:hover,\n &:focus {\n background-color: ${theme.palette.action.hover};\n }\n &[aria-selected=\"true\"] {\n background-color: ${theme.palette.action.selected};\n }\n &[aria-disabled=\"true\"] {\n color: ${theme.palette.text.disabled};\n cursor: default;\n }\n &[aria-readonly=\"true\"],\n &[aria-disabled=\"true\"] {\n &:hover {\n background-color: ${theme.palette.background.paper};\n }\n }\n `}\n {...props}\n />\n );\n};\n\nexport interface SelectOptionValue {\n value: string | undefined;\n label: string;\n keys?: string[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n}\n\nexport type RenderSelectOption<\n T extends SelectOptionValue = SelectOptionValue,\n> = (peops: T) => React.JSX.Element;\n\nexport interface SelectFieldProps<\n T extends SelectOptionValue = SelectOptionValue,\n> extends Pick<FieldProps<string>, \"helperText\" | \"invalid\">,\n FieldGroupProps {\n renderOption?: RenderSelectOption<T>;\n children?: React.ReactNode;\n /**\n * 見出し\n */\n label?: string;\n name?: string;\n defaultValue?: string;\n /**\n * valueの変更は、defaultValueが指定されていないときのみ反映されます。\n */\n value?: string;\n disabled?: boolean;\n style?: React.CSSProperties;\n id?: string;\n className?: string;\n /**\n * placeholder\n */\n placeholder?: string;\n /**\n * selecting data is required\n */\n required?: boolean;\n options?: T[];\n loadOptions?: SelectLoadOptions<T>;\n disabledInput?: boolean;\n readOnly?: boolean;\n /**\n * SelectFieldのOptionがクリックされた際に発火する関数。\n */\n onChange?: (value: T[\"value\"], options: T) => void;\n onFocus?: (e: React.FocusEvent<HTMLInputElement>) => void;\n loading?: boolean;\n originalInputTestId?: string;\n pseudoInputTestId?: string;\n /**\n * オプションの表示にPortalを利用するかどうかを指定します。\n * このpropがtrueの場合、Portalが無効化されます。\n * また初期値がtrueであることに注意してください。\n * つまり通常、オプションはこのコンポーネントの子要素としてレンダリングされます。\n * @default true\n */\n disablePortal?: boolean;\n /**\n * 見かけ上のinput要素に対するrefを利用できます。\n * 選択された値を取得する場合などは、inputHasValueRefを利用してください。\n */\n inputRef?: React.Ref<HTMLInputElement>;\n /**\n * 選択された値を保持しているinput要素に対するrefを利用できます。\n * 見えているinput要素にフォーカスしたい場合などは、inputRefを利用してください。\n */\n inputHasValueRef?: React.Ref<HTMLInputElement>;\n}\n\nexport const filterSelectOptionsByQuery = <\n T extends SelectOptionValue = SelectOptionValue,\n>(\n options: T[],\n query: string,\n) => {\n const result = getSearch(\n options.map((option) => {\n return {\n ...option,\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n keys: option.keys || [option.label],\n content: option.value,\n };\n }),\n query,\n );\n return result;\n};\n\nexport type SelectLoadOptions<T extends SelectOptionValue = SelectOptionValue> =\n (args: {\n query: string;\n options?: T[];\n selectedOptions?: T[];\n }) => Promise<T[] | undefined>;\n\nconst defaultLoadOptions = async <\n T extends SelectOptionValue = SelectOptionValue,\n>({\n query,\n options,\n}: {\n query: string;\n options?: T[];\n // eslint-disable-next-line @typescript-eslint/require-await\n}): Promise<T[] | undefined> => {\n if (options === undefined) {\n return undefined;\n }\n if (query === undefined) {\n return options;\n }\n const result = filterSelectOptionsByQuery(options, query);\n return result.length ? result : options;\n};\n\nconst DefaultOption = <T extends SelectOptionValue>(\n props: T,\n): React.JSX.Element => {\n return <span>{props.label}</span>;\n};\n\nexport const SelectField = <T extends SelectOptionValue>(\n props: SelectFieldProps<T>,\n) => {\n const {\n label,\n name,\n options: propOptions,\n loadOptions = defaultLoadOptions,\n disabledInput,\n onChange,\n onFocus,\n placeholder,\n required,\n id,\n value: _valueProp,\n defaultValue,\n disabled,\n children,\n helperText,\n invalid,\n loading: propsLoading,\n readOnly: propsReadOnly,\n style,\n className,\n originalInputTestId,\n pseudoInputTestId,\n disablePortal = true,\n renderOption = DefaultOption,\n inputRef,\n inputHasValueRef,\n } = props;\n const [open, setOpen] = useState(false);\n const ref = useRef<HTMLDivElement>(null);\n\n const [query, setQuery] = useState<string>(\"\");\n const selectedOptionsCache = useRef<T[] | undefined>(propOptions);\n const [options, setOptions] = useState(propOptions);\n\n useEffect(() => {\n void loadOptions({\n query,\n options: propOptions,\n selectedOptions: selectedOptionsCache.current,\n }).then((result) => {\n setOptions(result);\n });\n }, [propOptions, loadOptions, query]);\n\n const [value, setValue, isControlled] = useInputValue(props);\n\n const { loading, readOnly } = useFieldGroup({\n loading: propsLoading,\n readOnly: propsReadOnly,\n onLoaded: () => {\n if (isControlled === false) {\n setValue(defaultValue);\n }\n },\n });\n\n const displayValue = useMemo(() => {\n return (\n selectedOptionsCache.current?.find(\n (option) => option.value === value,\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n ) || options?.find((option) => option.value === value)\n )?.label;\n }, [options, value]);\n\n const listRef = useRef<HTMLUListElement>(null);\n useOnClickOutside([ref, listRef], () => {\n setOpen(false);\n setQuery(\"\");\n });\n\n const pseudoInputRef = useRef<HTMLInputElement>(null);\n const pseudoInputRefs = useMergeRefs(inputRef, pseudoInputRef);\n const originalInputRef = useRef<HTMLInputElement>(null);\n const originalInputRefs = useMergeRefs(inputHasValueRef, originalInputRef);\n\n const updateValue = useCallback(\n (option: T) => {\n onChange?.(option.value, option);\n setValue(option.value);\n selectedOptionsCache.current = options;\n setQuery(\"\");\n if (originalInputRef.current) {\n dispatchChangeEvent(originalInputRef.current, option.value);\n }\n },\n [onChange, options, setValue],\n );\n\n const resetValue = useCallback(() => {\n setValue(undefined);\n if (onChange) {\n const option =\n options?.find((option) => option.value === undefined) ??\n ({ value: undefined, label: \"\" } as T);\n onChange(undefined, option);\n }\n }, [onChange, options, setValue]);\n\n const [touched, inputProps] = useDitectInputTouched(onFocus);\n\n const popperOptions: Partial<PopperjsOptions> = useMemo(() => {\n return {\n modifiers: [\n disablePortal\n ? {\n name: \"computeStyles\",\n options: {\n roundOffsets: ({ y }: { y: number }) => ({\n x: 0,\n y: Math.round(y),\n }),\n },\n }\n : {},\n {\n name: \"sameWidth\",\n enabled: true,\n phase: \"beforeWrite\",\n requires: [\"computeStyles\"],\n fn: ({ state }) => {\n state.styles.popper.width = `${state.rects.reference.width}px`;\n },\n effect: ({ state }) => {\n state.elements.popper.style.width = `${\n (state.elements.reference as HTMLElement).offsetWidth\n }px`;\n },\n },\n ],\n };\n }, [disablePortal]);\n\n const internalInputId = useId();\n const inputId = id ?? internalInputId;\n\n return (\n <FormControl style={style} className={className}>\n {label ? (\n <InputLabel\n htmlFor={inputId}\n aria-disabled={disabled}\n required={required}\n loading={loading}\n >\n {label}\n </InputLabel>\n ) : null}\n <VisuallyHidden>\n <input\n ref={originalInputRefs}\n type=\"text\"\n data-testid={originalInputTestId}\n required={required}\n name={name}\n key={value}\n defaultValue={value}\n autoCapitalize=\"none\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n spellCheck=\"false\"\n tabIndex={-1}\n />\n </VisuallyHidden>\n\n <div ref={ref}>\n <SelectFieldInputWrapperContext.Provider\n value={!query ? displayValue : undefined}\n >\n <InputBase\n id={inputId}\n renderInputWrapper={SelectFieldInputWrapper}\n ref={pseudoInputRefs}\n data-testid={pseudoInputTestId}\n placeholder={placeholder}\n disabled={disabled}\n loading={loading}\n readOnly={readOnly}\n autoCapitalize=\"none\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n spellCheck=\"false\"\n onKeyDown={(event) => {\n const { key } = event;\n if (key === \"Delete\" || key === \"Backspace\") {\n setQuery((prev) => {\n if (prev === \"\") {\n resetValue();\n }\n return prev;\n });\n } else if (key === \"ArrowDown\") {\n event.preventDefault();\n const list = listRef.current;\n if (list) {\n moveFocus(list, null, nextItem);\n }\n } else if (event.key.length === 1) {\n setOpen(true);\n }\n }}\n type=\"text\"\n startAdornment={\n value ||\n disabledInput ||\n (value === undefined &&\n options?.some(\n (option) => option.value === undefined,\n )) ? undefined : (\n <SearchIcon />\n )\n }\n endAdornment={\n <SelectInnerSpinButton\n open={open}\n onClick={() => {\n setOpen((prev) => {\n if (prev) {\n return false;\n }\n pseudoInputRef.current?.focus();\n return prev;\n });\n }}\n />\n }\n data-invalid={invalid}\n value={query}\n onChange={\n disabledInput\n ? // @see https://github.com/matsuri-tech/matsuri-ui/issues/2451\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n () => {}\n : (event) => {\n const value = event.currentTarget.value;\n setQuery(value);\n }\n }\n data-touched={inputProps[\"data-touched\"]}\n onFocus={(event) => {\n inputProps.onFocus(event);\n if (readOnly !== true) {\n setOpen(true);\n }\n }}\n css={\n disabledInput\n ? css`\n caret-color: transparent;\n input {\n cursor: pointer;\n }\n `\n : null\n }\n />\n </SelectFieldInputWrapperContext.Provider>\n\n <Popper\n disablePortal={disablePortal}\n anchorEl={ref.current}\n placement=\"bottom-start\"\n open={open}\n options={popperOptions}\n >\n <div>\n <Paper>\n <SelectList\n ref={listRef}\n onKeyDown={(event) => {\n const key = event.key;\n const list = listRef.current;\n if (list === null) {\n return;\n }\n const currentFocus = ownerDocument(list).activeElement;\n if (key === \"ArrowDown\") {\n event.preventDefault();\n moveFocus(list, currentFocus, nextItem);\n } else if (key === \"ArrowUp\") {\n event.preventDefault();\n moveFocus(list, currentFocus, previousItem);\n }\n }}\n >\n {React.Children.toArray(children).map((child, i) => (\n <SelectOption\n tabIndex={-1}\n aria-readonly={true}\n key={`child-${i}`}\n >\n {child}\n </SelectOption>\n ))}\n {options === undefined ? (\n <SelectOption aria-disabled={true} tabIndex={-1}>\n Loading...\n </SelectOption>\n ) : options.length === 0 ? (\n <SelectOption aria-disabled={true} tabIndex={-1}>\n No options\n </SelectOption>\n ) : (\n options.map((option, index) => {\n const selected = value === option.value;\n return (\n <SelectOption\n onKeyDown={(event) => {\n const { key } = event;\n if (key === \"Enter\") {\n event.preventDefault();\n event.currentTarget.click();\n pseudoInputRef.current?.focus();\n setOpen(false);\n }\n }}\n aria-selected={selected}\n /**\n * 何も選択されていないときは、先頭のオプションに飛べるようにしておく\n */\n tabIndex={\n (value === undefined ? index === 0 : selected)\n ? 0\n : -1\n }\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n key={option.value || `undefinedValue`}\n onClick={() => {\n updateValue(option);\n setOpen(false);\n }}\n >\n {renderOption(option)}\n </SelectOption>\n );\n })\n )}\n </SelectList>\n </Paper>\n </div>\n </Popper>\n </div>\n <FormHelperText\n invalid={invalid}\n loading={loading}\n touched={touched}\n value={value}\n >\n {helperText}\n </FormHelperText>\n </FormControl>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SelectField.js","names":["_FieldGroup","require","_FormControl","_FormHelperText","_InputBase","_InputLabel","_Paper","_Popper","_SelectFieldInputWrapper","_Triangle","_VisuallyHidden","_react","_dispatchChangeEvent","_useSearch","_useDitectInputTouched","_useInputValue","_useMergeRefs","_useOnClickOutside","_theme","_react2","_interopRequireWildcard","_Search","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_EMOTION_STRINGIFIED_CSS_ERROR__","ownerDocument","node","document","nextItem","list","item","firstChild","nextElementSibling","previousItem","lastChild","previousElementSibling","moveFocus","currentFocus","traversalFunction","nextFocus","disabledFocus","disabled","getAttribute","focus","_ref2","process","env","NODE_ENV","name","styles","toString","SelectInnerSpinButton","open","onClick","theme","useTheme","jsx","Triangle","css","typography","body","fontSize","transitions","duration","shorter","easing","easeInOut","SelectList","forwardRef","props","ref","role","tabIndex","SelectOption","spacing","palette","text","primary","background","paper","gray","shortest","action","hover","selected","filterSelectOptionsByQuery","options","query","result","getSearch","map","option","keys","label","content","value","exports","defaultLoadOptions","undefined","DefaultOption","_ref","SelectField","propOptions","loadOptions","disabledInput","onChange","onFocus","placeholder","required","id","_valueProp","defaultValue","children","helperText","invalid","loading","propsLoading","readOnly","propsReadOnly","style","className","originalInputTestId","pseudoInputTestId","disablePortal","renderOption","inputRef","inputHasValueRef","setOpen","useState","useRef","setQuery","selectedOptionsCache","setOptions","useEffect","selectedOptions","current","then","setValue","isControlled","useInputValue","useFieldGroup","onLoaded","displayValue","useMemo","find","listRef","useOnClickOutside","pseudoInputRef","pseudoInputRefs","useMergeRefs","originalInputRef","originalInputRefs","updateValue","useCallback","dispatchChangeEvent","resetValue","touched","inputProps","useDitectInputTouched","popperOptions","modifiers","roundOffsets","y","x","Math","round","enabled","phase","requires","fn","state","popper","width","rects","reference","effect","elements","offsetWidth","internalInputId","useId","inputId","FormControl","InputLabel","htmlFor","VisuallyHidden","type","key","autoCapitalize","autoComplete","autoCorrect","spellCheck","SelectFieldInputWrapperContext","Provider","InputBase","renderInputWrapper","SelectFieldInputWrapper","onKeyDown","event","prev","preventDefault","startAdornment","some","endAdornment","currentTarget","Popper","anchorEl","placement","Paper","activeElement","React","Children","toArray","child","index","click","FormHelperText"],"sources":["../../../src/SelectField/SelectField.tsx"],"sourcesContent":["import { FieldGroupProps, useFieldGroup } from \"../FieldGroup\";\nimport { FieldProps } from \"../FieldBase\";\nimport { FormControl } from \"../FormControl\";\nimport { FormHelperText } from \"../FieldBase/FormHelperText\";\nimport { InputBase } from \"../InputBase\";\nimport { InputLabel } from \"../InputLabel\";\nimport { Paper } from \"../Paper\";\nimport { Popper } from \"../Popper\";\nimport {\n SelectFieldInputWrapper,\n SelectFieldInputWrapperContext,\n} from \"./SelectFieldInputWrapper\";\nimport { Triangle } from \"../Icon/Triangle\";\nimport { VisuallyHidden } from \"../VisuallyHidden/VisuallyHidden\";\nimport { css } from \"@emotion/react\";\nimport { dispatchChangeEvent } from \"../@utils/dispatchChangeEvent\";\nimport { getSearch } from \"../SearchField/useSearch\";\nimport { useDitectInputTouched } from \"../FieldBase/useDitectInputTouched\";\nimport { useInputValue } from \"../hooks/useInputValue\";\nimport { useMergeRefs } from \"../hooks/useMergeRefs\";\nimport { useOnClickOutside } from \"../hooks/useOnClickOutside\";\nimport { useTheme } from \"../theme\";\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport type { Options as PopperjsOptions } from \"@popperjs/core\";\n\nfunction ownerDocument(node: Node | null | undefined): Document {\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n return node?.ownerDocument || document;\n}\n\ntype TraversalFunction = (\n list: HTMLUListElement,\n item?: Element | null,\n) => ChildNode | null;\n\nconst nextItem: TraversalFunction = (list, item) => {\n if (list === item) {\n return list.firstChild;\n }\n if (item?.nextElementSibling) {\n return item.nextElementSibling;\n }\n return list.firstChild;\n};\n\nconst previousItem: TraversalFunction = (list, item) => {\n if (list === item) {\n return list.lastChild;\n }\n if (item?.previousElementSibling) {\n return item.previousElementSibling;\n }\n return list.lastChild;\n};\n\nconst moveFocus = (\n list: HTMLUListElement,\n currentFocus: Element | null,\n traversalFunction: TraversalFunction,\n) => {\n let nextFocus = traversalFunction(list, currentFocus) as HTMLElement | null;\n while (nextFocus) {\n if (\n currentFocus === null\n ? nextFocus === list.lastChild\n : nextFocus === currentFocus\n ) {\n break;\n }\n const disabledFocus =\n (nextFocus as HTMLInputElement).disabled ||\n nextFocus.getAttribute(\"aria-disabled\") === \"true\";\n if (disabledFocus) {\n nextFocus = traversalFunction(list, nextFocus) as HTMLElement;\n } else {\n nextFocus.focus();\n break;\n }\n }\n};\n\nconst SelectInnerSpinButton = ({\n open,\n onClick,\n}: {\n open: boolean;\n onClick: () => void;\n}) => {\n const theme = useTheme();\n return (\n <Triangle\n onClick={onClick}\n data-testid=\"SelectFieldSpinButton\"\n css={[\n css`\n font-size: ${theme.typography.body.fontSize}px;\n transition: ${theme.transitions.duration.shorter}\n ${theme.transitions.easing.easeInOut};\n `,\n open\n ? css`\n transform: rotateX(180deg);\n `\n : null,\n ]}\n />\n );\n};\n\nconst SelectList = forwardRef<\n HTMLUListElement,\n React.ComponentPropsWithoutRef<\"ul\">\n>((props, ref) => {\n return (\n <ul\n ref={ref}\n role=\"listbox\"\n tabIndex={-1}\n css={css`\n box-sizing: border-box;\n min-height: ${42 * 3.5}px;\n max-height: ${42 * 7.5}px;\n padding: 0;\n margin: 0;\n overflow-x: hidden;\n overflow-y: auto;\n list-style: none;\n border-radius: inherit;\n `}\n {...props}\n />\n );\n});\n\nconst SelectOption = (props: React.ComponentPropsWithoutRef<\"li\">) => {\n const theme = useTheme();\n return (\n <li\n role=\"option\"\n // aria-selectedは親要素から設定するため、この値は上書きされる\n aria-selected={false}\n css={css`\n box-sizing: border-box;\n min-height: ${theme.spacing * 6}px;\n padding: 9px 12px;\n color: ${theme.palette.text.primary};\n cursor: pointer;\n background-color: ${theme.palette.background.paper};\n border-bottom: 1px solid ${theme.palette.gray[300]};\n outline: 0px;\n transition: ${theme.transitions.duration.shortest};\n\n ${css(theme.typography.body)}\n &:last-child {\n border-bottom: none;\n }\n &:hover,\n &:focus {\n background-color: ${theme.palette.action.hover};\n }\n &[aria-selected=\"true\"] {\n background-color: ${theme.palette.action.selected};\n }\n &[aria-disabled=\"true\"] {\n color: ${theme.palette.text.disabled};\n cursor: default;\n }\n &[aria-readonly=\"true\"],\n &[aria-disabled=\"true\"] {\n &:hover {\n background-color: ${theme.palette.background.paper};\n }\n }\n `}\n {...props}\n />\n );\n};\n\nexport interface SelectOptionValue {\n value: string | undefined;\n label: string;\n keys?: string[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n}\n\nexport type RenderSelectOption<\n T extends SelectOptionValue = SelectOptionValue,\n> = (peops: T) => React.JSX.Element;\n\nexport interface SelectFieldProps<\n T extends SelectOptionValue = SelectOptionValue,\n> extends Pick<FieldProps<string>, \"helperText\" | \"invalid\">,\n FieldGroupProps {\n renderOption?: RenderSelectOption<T>;\n children?: React.ReactNode;\n /**\n * 見出し\n */\n label?: string;\n name?: string;\n defaultValue?: string;\n /**\n * valueの変更は、defaultValueが指定されていないときのみ反映されます。\n */\n value?: string;\n disabled?: boolean;\n style?: React.CSSProperties;\n id?: string;\n className?: string;\n /**\n * placeholder\n */\n placeholder?: string;\n /**\n * selecting data is required\n */\n required?: boolean;\n options?: T[];\n loadOptions?: SelectLoadOptions<T>;\n disabledInput?: boolean;\n readOnly?: boolean;\n /**\n * SelectFieldのOptionがクリックされた際に発火する関数。\n */\n onChange?: (value: T[\"value\"], options: T) => void;\n onFocus?: (e: React.FocusEvent<HTMLInputElement>) => void;\n loading?: boolean;\n originalInputTestId?: string;\n pseudoInputTestId?: string;\n /**\n * オプションの表示にPortalを利用するかどうかを指定します。\n * このpropがtrueの場合、Portalが無効化されます。\n * また初期値がtrueであることに注意してください。\n * つまり通常、オプションはこのコンポーネントの子要素としてレンダリングされます。\n * @default true\n */\n disablePortal?: boolean;\n /**\n * 見かけ上のinput要素に対するrefを利用できます。\n * 選択された値を取得する場合などは、inputHasValueRefを利用してください。\n */\n inputRef?: React.Ref<HTMLInputElement>;\n /**\n * 選択された値を保持しているinput要素に対するrefを利用できます。\n * 見えているinput要素にフォーカスしたい場合などは、inputRefを利用してください。\n */\n inputHasValueRef?: React.Ref<HTMLInputElement>;\n}\n\nexport const filterSelectOptionsByQuery = <\n T extends SelectOptionValue = SelectOptionValue,\n>(\n options: T[],\n query: string,\n) => {\n const result = getSearch(\n options.map((option) => {\n return {\n ...option,\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n keys: option.keys || [option.label],\n content: option.value,\n };\n }),\n query,\n );\n return result;\n};\n\nexport type SelectLoadOptions<T extends SelectOptionValue = SelectOptionValue> =\n (args: {\n query: string;\n options?: T[];\n selectedOptions?: T[];\n }) => Promise<T[] | undefined>;\n\nconst defaultLoadOptions = async <\n T extends SelectOptionValue = SelectOptionValue,\n>({\n query,\n options,\n}: {\n query: string;\n options?: T[];\n // eslint-disable-next-line @typescript-eslint/require-await\n}): Promise<T[] | undefined> => {\n if (options === undefined) {\n return undefined;\n }\n if (query === undefined) {\n return options;\n }\n const result = filterSelectOptionsByQuery(options, query);\n return result.length ? result : options;\n};\n\nconst DefaultOption = <T extends SelectOptionValue>(\n props: T,\n): React.JSX.Element => {\n return <span>{props.label}</span>;\n};\n\nexport const SelectField = <T extends SelectOptionValue>(\n props: SelectFieldProps<T>,\n) => {\n const {\n label,\n name,\n options: propOptions,\n loadOptions = defaultLoadOptions,\n disabledInput,\n onChange,\n onFocus,\n placeholder,\n required,\n id,\n value: _valueProp,\n defaultValue,\n disabled,\n children,\n helperText,\n invalid,\n loading: propsLoading,\n readOnly: propsReadOnly,\n style,\n className,\n originalInputTestId,\n pseudoInputTestId,\n disablePortal = true,\n renderOption = DefaultOption,\n inputRef,\n inputHasValueRef,\n } = props;\n const [open, setOpen] = useState(false);\n const ref = useRef<HTMLDivElement>(null);\n\n const [query, setQuery] = useState<string>(\"\");\n const selectedOptionsCache = useRef<T[] | undefined>(propOptions);\n const [options, setOptions] = useState(propOptions);\n\n useEffect(() => {\n void loadOptions({\n query,\n options: propOptions,\n selectedOptions: selectedOptionsCache.current,\n }).then((result) => {\n setOptions(result);\n });\n }, [propOptions, loadOptions, query]);\n\n const [value, setValue, isControlled] = useInputValue(props);\n\n const { loading, readOnly } = useFieldGroup({\n loading: propsLoading,\n readOnly: propsReadOnly,\n onLoaded: () => {\n if (isControlled === false) {\n setValue(defaultValue);\n }\n },\n });\n\n const displayValue = useMemo(() => {\n return (\n selectedOptionsCache.current?.find(\n (option) => option.value === value,\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n ) || options?.find((option) => option.value === value)\n )?.label;\n }, [options, value]);\n\n const listRef = useRef<HTMLUListElement>(null);\n useOnClickOutside([ref, listRef], () => {\n setOpen(false);\n setQuery(\"\");\n });\n\n const pseudoInputRef = useRef<HTMLInputElement>(null);\n const pseudoInputRefs = useMergeRefs(inputRef, pseudoInputRef);\n const originalInputRef = useRef<HTMLInputElement>(null);\n const originalInputRefs = useMergeRefs(inputHasValueRef, originalInputRef);\n\n const updateValue = useCallback(\n (option: T) => {\n onChange?.(option.value, option);\n setValue(option.value);\n selectedOptionsCache.current = options;\n setQuery(\"\");\n if (originalInputRef.current) {\n dispatchChangeEvent(originalInputRef.current, option.value);\n }\n },\n [onChange, options, setValue],\n );\n\n const resetValue = useCallback(() => {\n setValue(undefined);\n if (onChange) {\n const option =\n options?.find((option) => option.value === undefined) ??\n ({ value: undefined, label: \"\" } as T);\n onChange(undefined, option);\n }\n }, [onChange, options, setValue]);\n\n const [touched, inputProps] = useDitectInputTouched(onFocus);\n\n const popperOptions: Partial<PopperjsOptions> = useMemo(() => {\n return {\n modifiers: [\n disablePortal\n ? {\n name: \"computeStyles\",\n options: {\n roundOffsets: ({ y }: { y: number }) => ({\n x: 0,\n y: Math.round(y),\n }),\n },\n }\n : {},\n {\n name: \"sameWidth\",\n enabled: true,\n phase: \"beforeWrite\",\n requires: [\"computeStyles\"],\n fn: ({ state }) => {\n state.styles.popper.width = `${state.rects.reference.width}px`;\n },\n effect: ({ state }) => {\n state.elements.popper.style.width = `${\n (state.elements.reference as HTMLElement).offsetWidth\n }px`;\n },\n },\n ],\n };\n }, [disablePortal]);\n\n const internalInputId = useId();\n const inputId = id ?? internalInputId;\n\n return (\n <FormControl style={style} className={className}>\n {label ? (\n <InputLabel\n htmlFor={inputId}\n aria-disabled={disabled}\n required={required}\n loading={loading}\n >\n {label}\n </InputLabel>\n ) : null}\n <VisuallyHidden>\n <input\n ref={originalInputRefs}\n type=\"text\"\n data-testid={originalInputTestId}\n required={required}\n name={name}\n key={value}\n defaultValue={value}\n autoCapitalize=\"none\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n spellCheck=\"false\"\n tabIndex={-1}\n />\n </VisuallyHidden>\n\n <div ref={ref}>\n <SelectFieldInputWrapperContext.Provider\n value={!query ? displayValue : undefined}\n >\n <InputBase\n id={inputId}\n renderInputWrapper={SelectFieldInputWrapper}\n ref={pseudoInputRefs}\n data-testid={pseudoInputTestId}\n placeholder={placeholder}\n disabled={disabled}\n loading={loading}\n readOnly={readOnly}\n autoCapitalize=\"none\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n spellCheck=\"false\"\n onKeyDown={(event) => {\n const { key } = event;\n if (key === \"Delete\" || key === \"Backspace\") {\n setQuery((prev) => {\n if (prev === \"\") {\n resetValue();\n }\n return prev;\n });\n } else if (key === \"ArrowDown\") {\n event.preventDefault();\n const list = listRef.current;\n if (list) {\n moveFocus(list, null, nextItem);\n }\n } else if (event.key.length === 1) {\n setOpen(true);\n }\n }}\n type=\"text\"\n startAdornment={\n value ||\n disabledInput ||\n (value === undefined &&\n options?.some(\n (option) => option.value === undefined,\n )) ? undefined : (\n <SearchIcon />\n )\n }\n endAdornment={\n <SelectInnerSpinButton\n open={open}\n onClick={() => {\n setOpen((prev) => {\n if (prev) {\n return false;\n }\n pseudoInputRef.current?.focus();\n return prev;\n });\n }}\n />\n }\n data-invalid={invalid}\n value={query}\n onChange={\n disabledInput\n ? // @see https://github.com/matsuri-tech/matsuri-ui/issues/2451\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n () => {}\n : (event) => {\n const value = event.currentTarget.value;\n setQuery(value);\n }\n }\n data-touched={inputProps[\"data-touched\"]}\n onFocus={(event) => {\n inputProps.onFocus(event);\n if (readOnly !== true) {\n setOpen(true);\n }\n }}\n css={\n disabledInput\n ? css`\n caret-color: transparent;\n input {\n cursor: pointer;\n }\n `\n : null\n }\n />\n </SelectFieldInputWrapperContext.Provider>\n\n <Popper\n disablePortal={disablePortal}\n anchorEl={ref.current}\n placement=\"bottom-start\"\n open={open}\n options={popperOptions}\n >\n <div>\n <Paper>\n <SelectList\n ref={listRef}\n onKeyDown={(event) => {\n const key = event.key;\n const list = listRef.current;\n if (list === null) {\n return;\n }\n const currentFocus = ownerDocument(list).activeElement;\n if (key === \"ArrowDown\") {\n event.preventDefault();\n moveFocus(list, currentFocus, nextItem);\n } else if (key === \"ArrowUp\") {\n event.preventDefault();\n moveFocus(list, currentFocus, previousItem);\n }\n }}\n >\n {React.Children.toArray(children).map((child, i) => (\n <SelectOption\n tabIndex={-1}\n aria-readonly={true}\n key={`child-${i}`}\n >\n {child}\n </SelectOption>\n ))}\n {options === undefined ? (\n <SelectOption aria-disabled={true} tabIndex={-1}>\n Loading...\n </SelectOption>\n ) : options.length === 0 ? (\n <SelectOption aria-disabled={true} tabIndex={-1}>\n No options\n </SelectOption>\n ) : (\n options.map((option, index) => {\n const selected = value === option.value;\n return (\n <SelectOption\n onKeyDown={(event) => {\n const { key } = event;\n if (key === \"Enter\") {\n event.preventDefault();\n event.currentTarget.click();\n pseudoInputRef.current?.focus();\n setOpen(false);\n }\n }}\n aria-selected={selected}\n /**\n * 何も選択されていないときは、先頭のオプションに飛べるようにしておく\n */\n tabIndex={\n (value === undefined ? index === 0 : selected)\n ? 0\n : -1\n }\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n key={option.value || `undefinedValue`}\n onClick={() => {\n updateValue(option);\n setOpen(false);\n }}\n >\n {renderOption(option)}\n </SelectOption>\n );\n })\n )}\n </SelectList>\n </Paper>\n </div>\n </Popper>\n </div>\n <FormHelperText\n invalid={invalid}\n loading={loading}\n touched={touched}\n value={value}\n >\n {helperText}\n </FormHelperText>\n </FormControl>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -5,8 +5,7 @@ exports.SelectSearchField = void 0;
5
5
  var _SelectField = require("../SelectField");
6
6
  var _react = _interopRequireWildcard(require("react"));
7
7
  var _react2 = require("@emotion/react");
8
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
8
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
10
9
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
11
10
  /**
12
11
  * @deprecated Use SelectField instead
@@ -1 +1 @@
1
- {"version":3,"file":"SelectSearchField.js","names":["_SelectField","require","_react","_interopRequireWildcard","_react2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","SelectSearchField","items","searchPlaceholder","placeholder","onChange","props","data","useMemo","map","item","label","value","handleChange","useCallback","event","Event","bubbles","writable","jsx","SelectField","options","exports"],"sources":["../../../src/SelectSearchField/SelectSearchField.tsx"],"sourcesContent":["import { SelectField, SelectFieldProps } from \"../SelectField\";\nimport React, { useCallback, useMemo } from \"react\";\n\nexport interface SelectSearchFieldItem {\n keys: string[];\n value: string;\n label?: string;\n}\n\nexport interface SelectSearchFieldProps\n extends Omit<SelectFieldProps, \"data\" | \"onChange\"> {\n searchPlaceholder?: string;\n items: SelectSearchFieldItem[];\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\n/**\n * @deprecated Use SelectField instead\n */\nexport const SelectSearchField = ({\n items,\n searchPlaceholder,\n placeholder,\n onChange,\n ...props\n}: SelectSearchFieldProps) => {\n const data = useMemo(() => {\n return items.map((item) => {\n return {\n ...item,\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n label: item.label || item.value,\n };\n });\n }, [items]);\n\n const handleChange = useCallback(\n (value?: string) => {\n if (onChange) {\n const event = new Event(\"change\", { bubbles: true });\n Object.defineProperty(event, \"target\", {\n writable: true,\n value: { value },\n });\n Object.defineProperty(event, \"currentTarget\", {\n writable: true,\n value: { value },\n });\n onChange(event as unknown as React.ChangeEvent<HTMLInputElement>);\n }\n },\n [onChange],\n );\n\n return (\n <SelectField\n {...props}\n onChange={handleChange}\n options={data}\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n placeholder={searchPlaceholder || placeholder}\n />\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SelectSearchField.js","names":["_SelectField","require","_react","_interopRequireWildcard","_react2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","SelectSearchField","items","searchPlaceholder","placeholder","onChange","props","data","useMemo","map","item","label","value","handleChange","useCallback","event","Event","bubbles","writable","jsx","SelectField","options","exports"],"sources":["../../../src/SelectSearchField/SelectSearchField.tsx"],"sourcesContent":["import { SelectField, SelectFieldProps } from \"../SelectField\";\nimport React, { useCallback, useMemo } from \"react\";\n\nexport interface SelectSearchFieldItem {\n keys: string[];\n value: string;\n label?: string;\n}\n\nexport interface SelectSearchFieldProps\n extends Omit<SelectFieldProps, \"data\" | \"onChange\"> {\n searchPlaceholder?: string;\n items: SelectSearchFieldItem[];\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\n/**\n * @deprecated Use SelectField instead\n */\nexport const SelectSearchField = ({\n items,\n searchPlaceholder,\n placeholder,\n onChange,\n ...props\n}: SelectSearchFieldProps) => {\n const data = useMemo(() => {\n return items.map((item) => {\n return {\n ...item,\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n label: item.label || item.value,\n };\n });\n }, [items]);\n\n const handleChange = useCallback(\n (value?: string) => {\n if (onChange) {\n const event = new Event(\"change\", { bubbles: true });\n Object.defineProperty(event, \"target\", {\n writable: true,\n value: { value },\n });\n Object.defineProperty(event, \"currentTarget\", {\n writable: true,\n value: { value },\n });\n onChange(event as unknown as React.ChangeEvent<HTMLInputElement>);\n }\n },\n [onChange],\n );\n\n return (\n <SelectField\n {...props}\n onChange={handleChange}\n options={data}\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n placeholder={searchPlaceholder || placeholder}\n />\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -6,8 +6,7 @@ var _Layouts = require("../Layouts");
6
6
  var _arrayShallowEqual = require("../@utils/arrayShallowEqual");
7
7
  var _react = require("@emotion/react");
8
8
  var _react2 = _interopRequireWildcard(require("react"));
9
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
9
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
11
10
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
12
11
  function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } /* eslint-disable @typescript-eslint/no-non-null-assertion */
13
12
  const camelize = str => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_Layouts","require","_arrayShallowEqual","_react","_react2","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","_EMOTION_STRINGIFIED_CSS_ERROR__","camelize","str","arr","split","capital","map","item","index","charAt","toUpperCase","slice","toLowerCase","capitalString","join","dataid","dataId","replace","SortArea","list","startAdornment","endAdornment","children","onChange","disabled","props","undefined","jsx","Row","SortAreaInner","exports","_ref","process","env","NODE_ENV","name","styles","toString","listProp","cache","useRef","_list","_setList","useState","useMemo","arrayShallowEqual","setList","useCallback","value","next","handleDragStart","currentTarget","dataset","dragState","dataTransfer","effectAllowed","handleDragLeave","overRef","handleDragOver","draggable","current","parseInt","handleDragEnd","currentIndex","dropEffect","prev","nextIndex","copy","concat","splice","css","React","Children","child","cloneElement","onDragStart","onDragOver","onDragEnd","onDragLeave"],"sources":["../../../src/SortArea/index.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { Row, RowProps } from \"../Layouts\";\nimport { arrayShallowEqual } from \"../@utils/arrayShallowEqual\";\nimport { css } from \"@emotion/react\";\nimport React, { useCallback, useMemo, useRef, useState } from \"react\";\n\nconst camelize = (str: string) => {\n const arr = str.split(\"-\");\n const capital = arr.map((item, index) =>\n index ? item.charAt(0).toUpperCase() + item.slice(1).toLowerCase() : item,\n );\n const capitalString = capital.join(\"\");\n return capitalString;\n};\n\nconst dataid = \"data-sort-area-item-index\";\nconst dataId = camelize(dataid.replace(\"data-\", \"\"));\n\nexport interface SortAreaProps extends Omit<RowProps, \"onChange\"> {\n /**\n * このコンポーネントの子要素はkey属性を必ず持っている必要があります。\n * keyはuniqueでなければなりません。決して安直なmapのindexなどを渡さないようにしてください。\n * また子コンポーネントは任意のpropsを受け取れるようになっている必要があります。\n */\n children: React.ReactElement<any>[];\n /**\n * 並び順を管理するための配列です。\n * これが存在しない場合、SortAreaは無効化されます。\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n list?: any[];\n /**\n * 並び順が変更された時に呼ばれるコールバックです。\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onChange?: (keys: any[]) => void;\n /**\n * 先頭にソート不可な要素を追加します。\n */\n startAdornment?: React.ReactNode;\n /**\n * 末尾にソート不可な要素を追加します。\n */\n endAdornment?: React.ReactNode;\n /**\n * ソート機能を無効化します。\n */\n disabled?: boolean;\n}\n\nexport const SortArea = ({\n /**\n * disabledの場合に不要なRowPropsとの差分のみ明示的に扱う。\n */\n list,\n startAdornment,\n endAdornment,\n children,\n onChange,\n disabled,\n ...props\n}: SortAreaProps) => {\n if (list === undefined || list.length === 0) {\n return null;\n }\n if (disabled) {\n return (\n <Row {...props}>\n {startAdornment}\n {children}\n {endAdornment}\n </Row>\n );\n }\n return (\n <SortAreaInner\n list={list}\n {...props}\n startAdornment={startAdornment}\n endAdornment={endAdornment}\n onChange={onChange}\n >\n {children}\n </SortAreaInner>\n );\n};\n\ninterface SortAreaInnerProps extends SortAreaProps {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n list: any[];\n}\n\nconst SortAreaInner = ({\n children,\n onChange,\n list: listProp,\n startAdornment,\n endAdornment,\n ...props\n}: SortAreaInnerProps) => {\n const cache = useRef(-1);\n const [_list, _setList] = useState(listProp);\n\n const list = useMemo(() => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return arrayShallowEqual(_list, listProp) ? _list : listProp;\n }, [_list, listProp]);\n\n const setList = useCallback(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (value: (current: any[]) => any[]) => {\n const next = value(list);\n _setList(next);\n if (onChange) {\n onChange(next);\n }\n },\n [list, onChange],\n );\n\n const handleDragStart = useCallback((e: React.DragEvent<HTMLDivElement>) => {\n e.currentTarget.dataset.dragState = \"dragging\";\n e.dataTransfer.effectAllowed = \"move\";\n }, []);\n\n const handleDragLeave = useCallback((e: React.DragEvent<HTMLDivElement>) => {\n if (e.currentTarget.dataset.dragState !== \"dragging\") {\n delete e.currentTarget.dataset.dragState;\n }\n }, []);\n\n const overRef = useRef<HTMLElement>(undefined);\n\n const handleDragOver = useCallback((e: React.DragEvent<HTMLDivElement>) => {\n if (e.currentTarget.draggable === true) {\n if (!e.currentTarget.dataset.dragState) {\n e.currentTarget.dataset.dragState = \"over\";\n overRef.current = e.currentTarget;\n }\n cache.current = parseInt(e.currentTarget.dataset[dataId]!, 10);\n }\n }, []);\n const handleDragEnd = useCallback(\n (e: React.DragEvent<HTMLDivElement>) => {\n const currentIndex = parseInt(e.currentTarget.dataset[dataId]!, 10);\n delete e.currentTarget.dataset.dragState;\n delete overRef.current?.dataset.dragState;\n e.dataTransfer.dropEffect = \"move\";\n\n setList((prev) => {\n const nextIndex = cache.current;\n const copy = prev.concat();\n const current = copy.splice(currentIndex, 1);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n copy.splice(nextIndex, 0, ...current);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return copy;\n });\n },\n [setList],\n );\n\n return (\n <Row\n {...props}\n css={css`\n & [draggable=\"true\"] {\n z-index: 0;\n box-sizing: border-box;\n cursor: grab;\n user-select: none;\n transition:\n transform 0.2s ease-out,\n outline 0.2s ease-out;\n\n &[data-drag-state=\"over\"] {\n outline: 2px dotted rgba(0, 0, 0, 0.2);\n }\n\n &[data-drag-state=\"dragging\"] {\n z-index: 999;\n cursor: grabbing;\n opacity: 0.5;\n transform: scale(0.8);\n }\n }\n `}\n >\n {startAdornment}\n {React.Children.map(children, (child, index: number) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n return React.cloneElement(child, {\n onDragStart: handleDragStart,\n onDragOver: handleDragOver,\n onDragEnd: handleDragEnd,\n onDragLeave: handleDragLeave,\n draggable: true,\n [dataid]: index,\n ...child.props,\n });\n })}\n {endAdornment}\n </Row>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_Layouts","require","_arrayShallowEqual","_react","_react2","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_EMOTION_STRINGIFIED_CSS_ERROR__","camelize","str","arr","split","capital","map","item","index","charAt","toUpperCase","slice","toLowerCase","capitalString","join","dataid","dataId","replace","SortArea","list","startAdornment","endAdornment","children","onChange","disabled","props","undefined","jsx","Row","SortAreaInner","exports","_ref","process","env","NODE_ENV","name","styles","toString","listProp","cache","useRef","_list","_setList","useState","useMemo","arrayShallowEqual","setList","useCallback","value","next","handleDragStart","currentTarget","dataset","dragState","dataTransfer","effectAllowed","handleDragLeave","overRef","handleDragOver","draggable","current","parseInt","handleDragEnd","currentIndex","dropEffect","prev","nextIndex","copy","concat","splice","css","React","Children","child","cloneElement","onDragStart","onDragOver","onDragEnd","onDragLeave"],"sources":["../../../src/SortArea/index.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { Row, RowProps } from \"../Layouts\";\nimport { arrayShallowEqual } from \"../@utils/arrayShallowEqual\";\nimport { css } from \"@emotion/react\";\nimport React, { useCallback, useMemo, useRef, useState } from \"react\";\n\nconst camelize = (str: string) => {\n const arr = str.split(\"-\");\n const capital = arr.map((item, index) =>\n index ? item.charAt(0).toUpperCase() + item.slice(1).toLowerCase() : item,\n );\n const capitalString = capital.join(\"\");\n return capitalString;\n};\n\nconst dataid = \"data-sort-area-item-index\";\nconst dataId = camelize(dataid.replace(\"data-\", \"\"));\n\nexport interface SortAreaProps extends Omit<RowProps, \"onChange\"> {\n /**\n * このコンポーネントの子要素はkey属性を必ず持っている必要があります。\n * keyはuniqueでなければなりません。決して安直なmapのindexなどを渡さないようにしてください。\n * また子コンポーネントは任意のpropsを受け取れるようになっている必要があります。\n */\n children: React.ReactElement<any>[];\n /**\n * 並び順を管理するための配列です。\n * これが存在しない場合、SortAreaは無効化されます。\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n list?: any[];\n /**\n * 並び順が変更された時に呼ばれるコールバックです。\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onChange?: (keys: any[]) => void;\n /**\n * 先頭にソート不可な要素を追加します。\n */\n startAdornment?: React.ReactNode;\n /**\n * 末尾にソート不可な要素を追加します。\n */\n endAdornment?: React.ReactNode;\n /**\n * ソート機能を無効化します。\n */\n disabled?: boolean;\n}\n\nexport const SortArea = ({\n /**\n * disabledの場合に不要なRowPropsとの差分のみ明示的に扱う。\n */\n list,\n startAdornment,\n endAdornment,\n children,\n onChange,\n disabled,\n ...props\n}: SortAreaProps) => {\n if (list === undefined || list.length === 0) {\n return null;\n }\n if (disabled) {\n return (\n <Row {...props}>\n {startAdornment}\n {children}\n {endAdornment}\n </Row>\n );\n }\n return (\n <SortAreaInner\n list={list}\n {...props}\n startAdornment={startAdornment}\n endAdornment={endAdornment}\n onChange={onChange}\n >\n {children}\n </SortAreaInner>\n );\n};\n\ninterface SortAreaInnerProps extends SortAreaProps {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n list: any[];\n}\n\nconst SortAreaInner = ({\n children,\n onChange,\n list: listProp,\n startAdornment,\n endAdornment,\n ...props\n}: SortAreaInnerProps) => {\n const cache = useRef(-1);\n const [_list, _setList] = useState(listProp);\n\n const list = useMemo(() => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return arrayShallowEqual(_list, listProp) ? _list : listProp;\n }, [_list, listProp]);\n\n const setList = useCallback(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (value: (current: any[]) => any[]) => {\n const next = value(list);\n _setList(next);\n if (onChange) {\n onChange(next);\n }\n },\n [list, onChange],\n );\n\n const handleDragStart = useCallback((e: React.DragEvent<HTMLDivElement>) => {\n e.currentTarget.dataset.dragState = \"dragging\";\n e.dataTransfer.effectAllowed = \"move\";\n }, []);\n\n const handleDragLeave = useCallback((e: React.DragEvent<HTMLDivElement>) => {\n if (e.currentTarget.dataset.dragState !== \"dragging\") {\n delete e.currentTarget.dataset.dragState;\n }\n }, []);\n\n const overRef = useRef<HTMLElement>(undefined);\n\n const handleDragOver = useCallback((e: React.DragEvent<HTMLDivElement>) => {\n if (e.currentTarget.draggable === true) {\n if (!e.currentTarget.dataset.dragState) {\n e.currentTarget.dataset.dragState = \"over\";\n overRef.current = e.currentTarget;\n }\n cache.current = parseInt(e.currentTarget.dataset[dataId]!, 10);\n }\n }, []);\n const handleDragEnd = useCallback(\n (e: React.DragEvent<HTMLDivElement>) => {\n const currentIndex = parseInt(e.currentTarget.dataset[dataId]!, 10);\n delete e.currentTarget.dataset.dragState;\n delete overRef.current?.dataset.dragState;\n e.dataTransfer.dropEffect = \"move\";\n\n setList((prev) => {\n const nextIndex = cache.current;\n const copy = prev.concat();\n const current = copy.splice(currentIndex, 1);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n copy.splice(nextIndex, 0, ...current);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return copy;\n });\n },\n [setList],\n );\n\n return (\n <Row\n {...props}\n css={css`\n & [draggable=\"true\"] {\n z-index: 0;\n box-sizing: border-box;\n cursor: grab;\n user-select: none;\n transition:\n transform 0.2s ease-out,\n outline 0.2s ease-out;\n\n &[data-drag-state=\"over\"] {\n outline: 2px dotted rgba(0, 0, 0, 0.2);\n }\n\n &[data-drag-state=\"dragging\"] {\n z-index: 999;\n cursor: grabbing;\n opacity: 0.5;\n transform: scale(0.8);\n }\n }\n `}\n >\n {startAdornment}\n {React.Children.map(children, (child, index: number) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n return React.cloneElement(child, {\n onDragStart: handleDragStart,\n onDragOver: handleDragOver,\n onDragEnd: handleDragEnd,\n onDragLeave: handleDragLeave,\n draggable: true,\n [dataid]: index,\n ...child.props,\n });\n })}\n {endAdornment}\n </Row>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -4,8 +4,7 @@ exports.__esModule = true;
4
4
  exports.useTable = void 0;
5
5
  var _react = _interopRequireWildcard(require("react"));
6
6
  var _react2 = require("@emotion/react");
7
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
8
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
7
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
9
8
  /* eslint-disable unused-imports/no-unused-vars,@typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/prefer-for-of,@typescript-eslint/prefer-nullish-coalescing,@typescript-eslint/no-unsafe-return */
10
9
 
11
10
  let isAllRowSelected = false;
@@ -1 +1 @@
1
- {"version":3,"file":"useTable.js","names":["_react","_interopRequireWildcard","require","_react2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","isAllRowSelected","useTable","data","props","columns","useRef","filterValues","setFilters","useState","makeSetFilter","accessor","value","prev","toggleAllRowsSelected","useCallback","setRows","copy","slice","map","row","isSelected","headers","useMemo","entries","current","Header","width","minWidth","maxWidth","align","headerProps","result","key","style","textAlign","render","column","filterValue","setFilter","dataToProps","cells","path","join","values","propsMap","setPropsMap","useEffect","rows","newRows","forEach","length","undefined","Cell","cellProps","contentProps","cell","push","cellAlign","Content","thisProps","jsx","bind","filter","toggleRowSelected","toggleRows","flag","toggleRow","pageIndex","setPageIndex","initialState","pageSize","setPageSize","canPreviousPage","canNextPage","Math","floor","nextPage","previousPage","filteredRows","setFilteredRows","fv","firstLoop","Error","j","filtered","page","gotoPage","exports"],"sources":["../../../src/Table/useTable.tsx"],"sourcesContent":["/* eslint-disable unused-imports/no-unused-vars,@typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/prefer-for-of,@typescript-eslint/prefer-nullish-coalescing,@typescript-eslint/no-unsafe-return */\nimport React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\ntype Values<S> = Pick<S, keyof S>;\n\ninterface Props<S> {\n key: string;\n path: number[];\n values: Values<S>;\n isSelected: boolean;\n}\n\ninterface Cell {\n key: string;\n props: UseTableCellProps<any, any>;\n // 型を軽量化するためにanyを使用\n style: Record<string, any>;\n render: () => React.ReactElement<any, any> | null;\n Content: (\n props: React.HTMLProps<HTMLDivElement> & UseTableCellProps<any, any>,\n ) => React.ReactElement<any, any> | null;\n}\ninterface Row<S> extends Props<S> {\n cells: Cell[];\n}\n\ntype Rows<S> = Row<S>[];\n\nexport interface UseTableCellProps<S, K extends keyof S> {\n cell: {\n value: S[K];\n };\n row: Props<S>;\n}\n\nlet isAllRowSelected = false;\n\nexport type TableCell<S, K extends keyof S> = (\n props: UseTableCellProps<S, K>,\n) => React.JSX.Element;\n\ninterface ColumnLayoutProperties {\n width?: string | number;\n minWidth?: string | number;\n maxWidth?: string | number;\n align?: React.CSSProperties[\"textAlign\"];\n cellAlign?: React.CSSProperties[\"textAlign\"];\n}\n\ntype Column<S, K extends keyof S> = {\n Header:\n | string\n | ((props: {\n toggleAllRowsSelected: () => void;\n filterValues: Values<S>;\n setFilters: (values: Values<S>) => void;\n column: {\n filterValue: S[K];\n setFilter: (value: S[K]) => void;\n };\n }) => React.JSX.Element);\n Cell?: (props: UseTableCellProps<S, K>) => React.JSX.Element;\n cellProps?: {\n style?: React.CSSProperties;\n };\n headerProps?: {\n style?: React.CSSProperties;\n };\n filter?: (\n value: S[K],\n args: {\n column: {\n filterValue: S[K];\n };\n },\n ) => boolean;\n} & ColumnLayoutProperties;\n\nexport type TableColumns<S> = {\n [K in keyof S]?: Column<S, K>;\n};\n\nexport type TableDataItem = Record<string, any>;\n\nexport const useTable = <S extends TableDataItem>({\n data,\n ...props\n}: {\n columns: {\n [K in keyof S]?: Column<S, K>;\n };\n data: S[];\n initialState?: { pageIndex?: number; pageSize?: number };\n}) => {\n const columns = useRef(props.columns);\n\n const [filterValues, setFilters] = useState({} as Values<S>);\n\n const makeSetFilter = (accessor: string) => (value: any) => {\n setFilters((prev) => {\n return {\n ...prev,\n [accessor]: value,\n };\n });\n };\n\n const toggleAllRowsSelected = useCallback(() => {\n setRows((prev) => {\n const copy = prev.slice();\n isAllRowSelected = !isAllRowSelected;\n return copy.map((row) => ({\n ...row,\n isSelected: isAllRowSelected,\n }));\n });\n }, []);\n\n const headers = useMemo(() => {\n return Object.entries(columns.current).map(\n ([accessor, { Header, width, minWidth, maxWidth, align, headerProps }]: [\n string,\n Column<any, any>,\n ]) => {\n const result: {\n key: string;\n style: Record<string, any>;\n render: () => React.JSX.Element | string;\n } = {\n key: accessor,\n style: {\n width,\n minWidth,\n maxWidth,\n textAlign: align,\n ...(headerProps?.style ?? {}),\n },\n render:\n typeof Header === \"string\"\n ? () => {\n return Header;\n }\n : () => {\n return Header({\n toggleAllRowsSelected,\n setFilters,\n filterValues,\n column: {\n filterValue: filterValues[accessor],\n setFilter: makeSetFilter(accessor),\n },\n });\n },\n };\n return result;\n },\n );\n }, [filterValues, toggleAllRowsSelected]);\n\n const dataToProps = useCallback((data: S[]) => {\n return data.map((cells, key) => {\n const path = [key];\n return {\n key: path.join(\".\"),\n path,\n values: cells,\n isSelected: false,\n } satisfies Props<S>;\n });\n }, []);\n const [propsMap, setPropsMap] = useState(dataToProps(data));\n useEffect(() => {\n setPropsMap(dataToProps(data));\n }, [data, dataToProps]);\n const [rows, setRows] = useState<Rows<S>>([]);\n\n useEffect(() => {\n let newRows: Rows<S> = [];\n\n propsMap.forEach((props) => {\n const { path } = props;\n\n const cells: Cell[] = [];\n\n for (let i = 0; i < headers.length; i++) {\n const { key } = headers[i];\n const value = props.values[key];\n const column = columns.current[key];\n if (column === undefined) break;\n const { Cell, cellProps } = column;\n\n const contentProps = {\n cell: { value },\n row: props,\n };\n cells.push({\n key,\n props: contentProps,\n style: {\n textAlign: column.cellAlign,\n ...(cellProps?.style ?? {}),\n },\n Content:\n Cell ||\n (({ cell, row, ...thisProps }) => {\n return <div {...thisProps}>{value}</div>;\n }),\n render:\n Cell !== undefined ? Cell.bind(null, contentProps) : () => value,\n });\n }\n\n newRows.push({\n ...props,\n cells,\n });\n newRows = newRows.filter((row) => {\n return row.path.length === 1 || row.path[0] !== path[0];\n });\n });\n setRows(newRows);\n }, [headers, propsMap]);\n\n const toggleRowSelected = useCallback(\n (toggleRows: number[], flag?: boolean) => {\n setRows((prev) => {\n const copy = prev.slice();\n toggleRows.forEach((toggleRow) => {\n copy[toggleRow].isSelected =\n flag === undefined ? !copy[toggleRow].isSelected : flag;\n });\n return copy;\n });\n },\n [],\n );\n\n const [pageIndex, setPageIndex] = useState(\n props.initialState?.pageIndex ?? 0,\n );\n const [pageSize, setPageSize] = useState(props.initialState?.pageSize ?? 10);\n\n const canPreviousPage = useMemo(() => pageIndex !== 0, [pageIndex]);\n const canNextPage = useMemo(\n () => Math.floor(data.length / pageSize) > pageIndex + 1,\n [data.length, pageIndex, pageSize],\n );\n\n const nextPage = useCallback(() => {\n setPageIndex((prev) => prev + 1);\n }, []);\n const previousPage = useCallback(() => {\n setPageIndex((prev) => prev - 1);\n }, []);\n\n const [filteredRows, setFilteredRows] = useState<Rows<S>>([]);\n\n useEffect(() => {\n const fv = Object.entries(filterValues);\n setFilteredRows(\n rows.filter((row) => {\n const values = Object.entries(row.values);\n let flag = true;\n\n firstLoop: for (let i = 0; i < fv.length; i++) {\n const [accessor, filterValue] = fv[i];\n const filter = columns.current[accessor]?.filter;\n if (filter === undefined) {\n throw new Error(`Set columns.${accessor}.filter`);\n }\n\n for (let j = 0; j < values.length; j++) {\n const [key, value] = values[j];\n if (key !== accessor) continue;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n const filtered = filter(value, { column: { filterValue } });\n if (filtered === false) {\n flag = false;\n break firstLoop;\n }\n }\n }\n return flag;\n }),\n );\n }, [filterValues, rows]);\n\n const page = useMemo(\n () => filteredRows.slice(pageIndex * pageSize, (pageIndex + 1) * pageSize),\n [filteredRows, pageIndex, pageSize],\n );\n\n return {\n canPreviousPage,\n canNextPage,\n gotoPage: setPageIndex,\n nextPage,\n setPageSize,\n previousPage,\n pageIndex,\n headers,\n rows: filteredRows,\n page,\n toggleRowSelected,\n toggleAllRowsSelected,\n };\n};\n"],"mappings":";;;;AACA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAMe,IAAAC,OAAA,GAAAD,OAAA;AAAA,SAAAE,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAPf;;AAyCA,IAAIW,gBAAgB,GAAG,KAAK;AAiDrB,MAAMC,QAAQ,GAAGA,CAA0B;EAChDC,IAAI;EACJ,GAAGC;AAOL,CAAC,KAAK;EACJ,MAAMC,OAAO,GAAG,IAAAC,aAAM,EAACF,KAAK,CAACC,OAAO,CAAC;EAErC,MAAM,CAACE,YAAY,EAAEC,UAAU,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC,CAAc,CAAC;EAE5D,MAAMC,aAAa,GAAIC,QAAgB,IAAMC,KAAU,IAAK;IAC1DJ,UAAU,CAAEK,IAAI,IAAK;MACnB,OAAO;QACL,GAAGA,IAAI;QACP,CAACF,QAAQ,GAAGC;MACd,CAAC;IACH,CAAC,CAAC;EACJ,CAAC;EAED,MAAME,qBAAqB,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAC9CC,OAAO,CAAEH,IAAI,IAAK;MAChB,MAAMI,IAAI,GAAGJ,IAAI,CAACK,KAAK,CAAC,CAAC;MACzBjB,gBAAgB,GAAG,CAACA,gBAAgB;MACpC,OAAOgB,IAAI,CAACE,GAAG,CAAEC,GAAG,KAAM;QACxB,GAAGA,GAAG;QACNC,UAAU,EAAEpB;MACd,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMqB,OAAO,GAAG,IAAAC,cAAO,EAAC,MAAM;IAC5B,OAAO9B,MAAM,CAAC+B,OAAO,CAACnB,OAAO,CAACoB,OAAO,CAAC,CAACN,GAAG,CACxC,CAAC,CAACR,QAAQ,EAAE;MAAEe,MAAM;MAAEC,KAAK;MAAEC,QAAQ;MAAEC,QAAQ;MAAEC,KAAK;MAAEC;IAAY,CAAC,CAGpE,KAAK;MACJ,MAAMC,MAIL,GAAG;QACFC,GAAG,EAAEtB,QAAQ;QACbuB,KAAK,EAAE;UACLP,KAAK;UACLC,QAAQ;UACRC,QAAQ;UACRM,SAAS,EAAEL,KAAK;UAChB,IAAIC,WAAW,EAAEG,KAAK,IAAI,CAAC,CAAC;QAC9B,CAAC;QACDE,MAAM,EACJ,OAAOV,MAAM,KAAK,QAAQ,GACtB,MAAM;UACJ,OAAOA,MAAM;QACf,CAAC,GACD,MAAM;UACJ,OAAOA,MAAM,CAAC;YACZZ,qBAAqB;YACrBN,UAAU;YACVD,YAAY;YACZ8B,MAAM,EAAE;cACNC,WAAW,EAAE/B,YAAY,CAACI,QAAQ,CAAC;cACnC4B,SAAS,EAAE7B,aAAa,CAACC,QAAQ;YACnC;UACF,CAAC,CAAC;QACJ;MACR,CAAC;MACD,OAAOqB,MAAM;IACf,CACF,CAAC;EACH,CAAC,EAAE,CAACzB,YAAY,EAAEO,qBAAqB,CAAC,CAAC;EAEzC,MAAM0B,WAAW,GAAG,IAAAzB,kBAAW,EAAEZ,IAAS,IAAK;IAC7C,OAAOA,IAAI,CAACgB,GAAG,CAAC,CAACsB,KAAK,EAAER,GAAG,KAAK;MAC9B,MAAMS,IAAI,GAAG,CAACT,GAAG,CAAC;MAClB,OAAO;QACLA,GAAG,EAAES,IAAI,CAACC,IAAI,CAAC,GAAG,CAAC;QACnBD,IAAI;QACJE,MAAM,EAAEH,KAAK;QACbpB,UAAU,EAAE;MACd,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EACN,MAAM,CAACwB,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAArC,eAAQ,EAAC+B,WAAW,CAACrC,IAAI,CAAC,CAAC;EAC3D,IAAA4C,gBAAS,EAAC,MAAM;IACdD,WAAW,CAACN,WAAW,CAACrC,IAAI,CAAC,CAAC;EAChC,CAAC,EAAE,CAACA,IAAI,EAAEqC,WAAW,CAAC,CAAC;EACvB,MAAM,CAACQ,IAAI,EAAEhC,OAAO,CAAC,GAAG,IAAAP,eAAQ,EAAU,EAAE,CAAC;EAE7C,IAAAsC,gBAAS,EAAC,MAAM;IACd,IAAIE,OAAgB,GAAG,EAAE;IAEzBJ,QAAQ,CAACK,OAAO,CAAE9C,KAAK,IAAK;MAC1B,MAAM;QAAEsC;MAAK,CAAC,GAAGtC,KAAK;MAEtB,MAAMqC,KAAa,GAAG,EAAE;MAExB,KAAK,IAAI1C,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGuB,OAAO,CAAC6B,MAAM,EAAEpD,CAAC,EAAE,EAAE;QACvC,MAAM;UAAEkC;QAAI,CAAC,GAAGX,OAAO,CAACvB,CAAC,CAAC;QAC1B,MAAMa,KAAK,GAAGR,KAAK,CAACwC,MAAM,CAACX,GAAG,CAAC;QAC/B,MAAMI,MAAM,GAAGhC,OAAO,CAACoB,OAAO,CAACQ,GAAG,CAAC;QACnC,IAAII,MAAM,KAAKe,SAAS,EAAE;QAC1B,MAAM;UAAEC,IAAI;UAAEC;QAAU,CAAC,GAAGjB,MAAM;QAElC,MAAMkB,YAAY,GAAG;UACnBC,IAAI,EAAE;YAAE5C;UAAM,CAAC;UACfQ,GAAG,EAAEhB;QACP,CAAC;QACDqC,KAAK,CAACgB,IAAI,CAAC;UACTxB,GAAG;UACH7B,KAAK,EAAEmD,YAAY;UACnBrB,KAAK,EAAE;YACLC,SAAS,EAAEE,MAAM,CAACqB,SAAS;YAC3B,IAAIJ,SAAS,EAAEpB,KAAK,IAAI,CAAC,CAAC;UAC5B,CAAC;UACDyB,OAAO,EACLN,IAAI,KACH,CAAC;YAAEG,IAAI;YAAEpC,GAAG;YAAE,GAAGwC;UAAU,CAAC,KAAK;YAChC,OAAO,IAAAhF,OAAA,CAAAiF,GAAA,SAASD,SAAS,EAAGhD,KAAW,CAAC;UAC1C,CAAC,CAAC;UACJwB,MAAM,EACJiB,IAAI,KAAKD,SAAS,GAAGC,IAAI,CAACS,IAAI,CAAC,IAAI,EAAEP,YAAY,CAAC,GAAG,MAAM3C;QAC/D,CAAC,CAAC;MACJ;MAEAqC,OAAO,CAACQ,IAAI,CAAC;QACX,GAAGrD,KAAK;QACRqC;MACF,CAAC,CAAC;MACFQ,OAAO,GAAGA,OAAO,CAACc,MAAM,CAAE3C,GAAG,IAAK;QAChC,OAAOA,GAAG,CAACsB,IAAI,CAACS,MAAM,KAAK,CAAC,IAAI/B,GAAG,CAACsB,IAAI,CAAC,CAAC,CAAC,KAAKA,IAAI,CAAC,CAAC,CAAC;MACzD,CAAC,CAAC;IACJ,CAAC,CAAC;IACF1B,OAAO,CAACiC,OAAO,CAAC;EAClB,CAAC,EAAE,CAAC3B,OAAO,EAAEuB,QAAQ,CAAC,CAAC;EAEvB,MAAMmB,iBAAiB,GAAG,IAAAjD,kBAAW,EACnC,CAACkD,UAAoB,EAAEC,IAAc,KAAK;IACxClD,OAAO,CAAEH,IAAI,IAAK;MAChB,MAAMI,IAAI,GAAGJ,IAAI,CAACK,KAAK,CAAC,CAAC;MACzB+C,UAAU,CAACf,OAAO,CAAEiB,SAAS,IAAK;QAChClD,IAAI,CAACkD,SAAS,CAAC,CAAC9C,UAAU,GACxB6C,IAAI,KAAKd,SAAS,GAAG,CAACnC,IAAI,CAACkD,SAAS,CAAC,CAAC9C,UAAU,GAAG6C,IAAI;MAC3D,CAAC,CAAC;MACF,OAAOjD,IAAI;IACb,CAAC,CAAC;EACJ,CAAC,EACD,EACF,CAAC;EAED,MAAM,CAACmD,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAA5D,eAAQ,EACxCL,KAAK,CAACkE,YAAY,EAAEF,SAAS,IAAI,CACnC,CAAC;EACD,MAAM,CAACG,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAA/D,eAAQ,EAACL,KAAK,CAACkE,YAAY,EAAEC,QAAQ,IAAI,EAAE,CAAC;EAE5E,MAAME,eAAe,GAAG,IAAAlD,cAAO,EAAC,MAAM6C,SAAS,KAAK,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EACnE,MAAMM,WAAW,GAAG,IAAAnD,cAAO,EACzB,MAAMoD,IAAI,CAACC,KAAK,CAACzE,IAAI,CAACgD,MAAM,GAAGoB,QAAQ,CAAC,GAAGH,SAAS,GAAG,CAAC,EACxD,CAACjE,IAAI,CAACgD,MAAM,EAAEiB,SAAS,EAAEG,QAAQ,CACnC,CAAC;EAED,MAAMM,QAAQ,GAAG,IAAA9D,kBAAW,EAAC,MAAM;IACjCsD,YAAY,CAAExD,IAAI,IAAKA,IAAI,GAAG,CAAC,CAAC;EAClC,CAAC,EAAE,EAAE,CAAC;EACN,MAAMiE,YAAY,GAAG,IAAA/D,kBAAW,EAAC,MAAM;IACrCsD,YAAY,CAAExD,IAAI,IAAKA,IAAI,GAAG,CAAC,CAAC;EAClC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM,CAACkE,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAvE,eAAQ,EAAU,EAAE,CAAC;EAE7D,IAAAsC,gBAAS,EAAC,MAAM;IACd,MAAMkC,EAAE,GAAGxF,MAAM,CAAC+B,OAAO,CAACjB,YAAY,CAAC;IACvCyE,eAAe,CACbhC,IAAI,CAACe,MAAM,CAAE3C,GAAG,IAAK;MACnB,MAAMwB,MAAM,GAAGnD,MAAM,CAAC+B,OAAO,CAACJ,GAAG,CAACwB,MAAM,CAAC;MACzC,IAAIsB,IAAI,GAAG,IAAI;MAEfgB,SAAS,EAAE,KAAK,IAAInF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGkF,EAAE,CAAC9B,MAAM,EAAEpD,CAAC,EAAE,EAAE;QAC7C,MAAM,CAACY,QAAQ,EAAE2B,WAAW,CAAC,GAAG2C,EAAE,CAAClF,CAAC,CAAC;QACrC,MAAMgE,MAAM,GAAG1D,OAAO,CAACoB,OAAO,CAACd,QAAQ,CAAC,EAAEoD,MAAM;QAChD,IAAIA,MAAM,KAAKX,SAAS,EAAE;UACxB,MAAM,IAAI+B,KAAK,CAAC,eAAexE,QAAQ,SAAS,CAAC;QACnD;QAEA,KAAK,IAAIyE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGxC,MAAM,CAACO,MAAM,EAAEiC,CAAC,EAAE,EAAE;UACtC,MAAM,CAACnD,GAAG,EAAErB,KAAK,CAAC,GAAGgC,MAAM,CAACwC,CAAC,CAAC;UAC9B,IAAInD,GAAG,KAAKtB,QAAQ,EAAE;UACtB;UACA,MAAM0E,QAAQ,GAAGtB,MAAM,CAACnD,KAAK,EAAE;YAAEyB,MAAM,EAAE;cAAEC;YAAY;UAAE,CAAC,CAAC;UAC3D,IAAI+C,QAAQ,KAAK,KAAK,EAAE;YACtBnB,IAAI,GAAG,KAAK;YACZ,MAAMgB,SAAS;UACjB;QACF;MACF;MACA,OAAOhB,IAAI;IACb,CAAC,CACH,CAAC;EACH,CAAC,EAAE,CAAC3D,YAAY,EAAEyC,IAAI,CAAC,CAAC;EAExB,MAAMsC,IAAI,GAAG,IAAA/D,cAAO,EAClB,MAAMwD,YAAY,CAAC7D,KAAK,CAACkD,SAAS,GAAGG,QAAQ,EAAE,CAACH,SAAS,GAAG,CAAC,IAAIG,QAAQ,CAAC,EAC1E,CAACQ,YAAY,EAAEX,SAAS,EAAEG,QAAQ,CACpC,CAAC;EAED,OAAO;IACLE,eAAe;IACfC,WAAW;IACXa,QAAQ,EAAElB,YAAY;IACtBQ,QAAQ;IACRL,WAAW;IACXM,YAAY;IACZV,SAAS;IACT9C,OAAO;IACP0B,IAAI,EAAE+B,YAAY;IAClBO,IAAI;IACJtB,iBAAiB;IACjBlD;EACF,CAAC;AACH,CAAC;AAAC0E,OAAA,CAAAtF,QAAA,GAAAA,QAAA","ignoreList":[]}
1
+ {"version":3,"file":"useTable.js","names":["_react","_interopRequireWildcard","require","_react2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","isAllRowSelected","useTable","data","props","columns","useRef","filterValues","setFilters","useState","makeSetFilter","accessor","value","prev","toggleAllRowsSelected","useCallback","setRows","copy","slice","map","row","isSelected","headers","useMemo","entries","current","Header","width","minWidth","maxWidth","align","headerProps","result","key","style","textAlign","render","column","filterValue","setFilter","dataToProps","cells","path","join","values","propsMap","setPropsMap","useEffect","rows","newRows","forEach","length","undefined","Cell","cellProps","contentProps","cell","push","cellAlign","Content","thisProps","jsx","bind","filter","toggleRowSelected","toggleRows","flag","toggleRow","pageIndex","setPageIndex","initialState","pageSize","setPageSize","canPreviousPage","canNextPage","Math","floor","nextPage","previousPage","filteredRows","setFilteredRows","fv","firstLoop","Error","j","filtered","page","gotoPage","exports"],"sources":["../../../src/Table/useTable.tsx"],"sourcesContent":["/* eslint-disable unused-imports/no-unused-vars,@typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/prefer-for-of,@typescript-eslint/prefer-nullish-coalescing,@typescript-eslint/no-unsafe-return */\nimport React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\ntype Values<S> = Pick<S, keyof S>;\n\ninterface Props<S> {\n key: string;\n path: number[];\n values: Values<S>;\n isSelected: boolean;\n}\n\ninterface Cell {\n key: string;\n props: UseTableCellProps<any, any>;\n // 型を軽量化するためにanyを使用\n style: Record<string, any>;\n render: () => React.ReactElement<any, any> | null;\n Content: (\n props: React.HTMLProps<HTMLDivElement> & UseTableCellProps<any, any>,\n ) => React.ReactElement<any, any> | null;\n}\ninterface Row<S> extends Props<S> {\n cells: Cell[];\n}\n\ntype Rows<S> = Row<S>[];\n\nexport interface UseTableCellProps<S, K extends keyof S> {\n cell: {\n value: S[K];\n };\n row: Props<S>;\n}\n\nlet isAllRowSelected = false;\n\nexport type TableCell<S, K extends keyof S> = (\n props: UseTableCellProps<S, K>,\n) => React.JSX.Element;\n\ninterface ColumnLayoutProperties {\n width?: string | number;\n minWidth?: string | number;\n maxWidth?: string | number;\n align?: React.CSSProperties[\"textAlign\"];\n cellAlign?: React.CSSProperties[\"textAlign\"];\n}\n\ntype Column<S, K extends keyof S> = {\n Header:\n | string\n | ((props: {\n toggleAllRowsSelected: () => void;\n filterValues: Values<S>;\n setFilters: (values: Values<S>) => void;\n column: {\n filterValue: S[K];\n setFilter: (value: S[K]) => void;\n };\n }) => React.JSX.Element);\n Cell?: (props: UseTableCellProps<S, K>) => React.JSX.Element;\n cellProps?: {\n style?: React.CSSProperties;\n };\n headerProps?: {\n style?: React.CSSProperties;\n };\n filter?: (\n value: S[K],\n args: {\n column: {\n filterValue: S[K];\n };\n },\n ) => boolean;\n} & ColumnLayoutProperties;\n\nexport type TableColumns<S> = {\n [K in keyof S]?: Column<S, K>;\n};\n\nexport type TableDataItem = Record<string, any>;\n\nexport const useTable = <S extends TableDataItem>({\n data,\n ...props\n}: {\n columns: {\n [K in keyof S]?: Column<S, K>;\n };\n data: S[];\n initialState?: { pageIndex?: number; pageSize?: number };\n}) => {\n const columns = useRef(props.columns);\n\n const [filterValues, setFilters] = useState({} as Values<S>);\n\n const makeSetFilter = (accessor: string) => (value: any) => {\n setFilters((prev) => {\n return {\n ...prev,\n [accessor]: value,\n };\n });\n };\n\n const toggleAllRowsSelected = useCallback(() => {\n setRows((prev) => {\n const copy = prev.slice();\n isAllRowSelected = !isAllRowSelected;\n return copy.map((row) => ({\n ...row,\n isSelected: isAllRowSelected,\n }));\n });\n }, []);\n\n const headers = useMemo(() => {\n return Object.entries(columns.current).map(\n ([accessor, { Header, width, minWidth, maxWidth, align, headerProps }]: [\n string,\n Column<any, any>,\n ]) => {\n const result: {\n key: string;\n style: Record<string, any>;\n render: () => React.JSX.Element | string;\n } = {\n key: accessor,\n style: {\n width,\n minWidth,\n maxWidth,\n textAlign: align,\n ...(headerProps?.style ?? {}),\n },\n render:\n typeof Header === \"string\"\n ? () => {\n return Header;\n }\n : () => {\n return Header({\n toggleAllRowsSelected,\n setFilters,\n filterValues,\n column: {\n filterValue: filterValues[accessor],\n setFilter: makeSetFilter(accessor),\n },\n });\n },\n };\n return result;\n },\n );\n }, [filterValues, toggleAllRowsSelected]);\n\n const dataToProps = useCallback((data: S[]) => {\n return data.map((cells, key) => {\n const path = [key];\n return {\n key: path.join(\".\"),\n path,\n values: cells,\n isSelected: false,\n } satisfies Props<S>;\n });\n }, []);\n const [propsMap, setPropsMap] = useState(dataToProps(data));\n useEffect(() => {\n setPropsMap(dataToProps(data));\n }, [data, dataToProps]);\n const [rows, setRows] = useState<Rows<S>>([]);\n\n useEffect(() => {\n let newRows: Rows<S> = [];\n\n propsMap.forEach((props) => {\n const { path } = props;\n\n const cells: Cell[] = [];\n\n for (let i = 0; i < headers.length; i++) {\n const { key } = headers[i];\n const value = props.values[key];\n const column = columns.current[key];\n if (column === undefined) break;\n const { Cell, cellProps } = column;\n\n const contentProps = {\n cell: { value },\n row: props,\n };\n cells.push({\n key,\n props: contentProps,\n style: {\n textAlign: column.cellAlign,\n ...(cellProps?.style ?? {}),\n },\n Content:\n Cell ||\n (({ cell, row, ...thisProps }) => {\n return <div {...thisProps}>{value}</div>;\n }),\n render:\n Cell !== undefined ? Cell.bind(null, contentProps) : () => value,\n });\n }\n\n newRows.push({\n ...props,\n cells,\n });\n newRows = newRows.filter((row) => {\n return row.path.length === 1 || row.path[0] !== path[0];\n });\n });\n setRows(newRows);\n }, [headers, propsMap]);\n\n const toggleRowSelected = useCallback(\n (toggleRows: number[], flag?: boolean) => {\n setRows((prev) => {\n const copy = prev.slice();\n toggleRows.forEach((toggleRow) => {\n copy[toggleRow].isSelected =\n flag === undefined ? !copy[toggleRow].isSelected : flag;\n });\n return copy;\n });\n },\n [],\n );\n\n const [pageIndex, setPageIndex] = useState(\n props.initialState?.pageIndex ?? 0,\n );\n const [pageSize, setPageSize] = useState(props.initialState?.pageSize ?? 10);\n\n const canPreviousPage = useMemo(() => pageIndex !== 0, [pageIndex]);\n const canNextPage = useMemo(\n () => Math.floor(data.length / pageSize) > pageIndex + 1,\n [data.length, pageIndex, pageSize],\n );\n\n const nextPage = useCallback(() => {\n setPageIndex((prev) => prev + 1);\n }, []);\n const previousPage = useCallback(() => {\n setPageIndex((prev) => prev - 1);\n }, []);\n\n const [filteredRows, setFilteredRows] = useState<Rows<S>>([]);\n\n useEffect(() => {\n const fv = Object.entries(filterValues);\n setFilteredRows(\n rows.filter((row) => {\n const values = Object.entries(row.values);\n let flag = true;\n\n firstLoop: for (let i = 0; i < fv.length; i++) {\n const [accessor, filterValue] = fv[i];\n const filter = columns.current[accessor]?.filter;\n if (filter === undefined) {\n throw new Error(`Set columns.${accessor}.filter`);\n }\n\n for (let j = 0; j < values.length; j++) {\n const [key, value] = values[j];\n if (key !== accessor) continue;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n const filtered = filter(value, { column: { filterValue } });\n if (filtered === false) {\n flag = false;\n break firstLoop;\n }\n }\n }\n return flag;\n }),\n );\n }, [filterValues, rows]);\n\n const page = useMemo(\n () => filteredRows.slice(pageIndex * pageSize, (pageIndex + 1) * pageSize),\n [filteredRows, pageIndex, pageSize],\n );\n\n return {\n canPreviousPage,\n canNextPage,\n gotoPage: setPageIndex,\n nextPage,\n setPageSize,\n previousPage,\n pageIndex,\n headers,\n rows: filteredRows,\n page,\n toggleRowSelected,\n toggleAllRowsSelected,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -16,8 +16,7 @@ var _theme = require("../theme");
16
16
  var _ArrowDownward = _interopRequireDefault(require("@mui/icons-material/ArrowDownward"));
17
17
  var _ArrowUpward = _interopRequireDefault(require("@mui/icons-material/ArrowUpward"));
18
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
20
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
21
20
  function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
22
21
  const DefaultRenderCell = props => {
23
22
  const {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_Checkbox","require","_List","_Menu","_Popper","_WithPagination","_react","_Button","_react2","_interopRequireWildcard","_useGridLayout","_useSort","_theme","_ArrowDownward","_interopRequireDefault","_ArrowUpward","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_EMOTION_STRINGIFIED_CSS_ERROR__","DefaultRenderCell","props","cell","jsx","value","JSON","stringify","tableCellStyle","process","env","NODE_ENV","name","styles","toString","_ref4","HeaderCell","theme","useTheme","anchorEl","setAnchorEl","useState","handleClose","useCallback","undefined","handleToggle","event","currentTarget","prev","open","Boolean","css","palette","gray","resetButtonStyle","onClick","children","Popper","disablePortal","onClickOutside","placement","MenuList","paperProps","elevation","menuItems","map","label","renderIcon","Icon","ListItem","key","ListItemIcon","_ref","_ref2","_ref3","TableUI","columns","data","striped","stickyHeader","onSelect","selectedIndex","onSelectAll","renderActions","RenderActions","onPaginate","pageTotal","allChecked","length","dataSorted","order","setOrder","useSort","gridStyle","useGridLayout","WithPagination","typography","body","zIndex","appBar","Checkbox","defaultChecked","onChange","checked","target","indeterminate","column","orderBy","ArrowUpwardIcon","by","direction","ArrowDownwardIcon","title","text","hint","row","index","includes","intentions","primary","light","renderCell","RenderCell","exports"],"sources":["../../../src/TableUI/index.tsx"],"sourcesContent":["import { Checkbox } from \"../Checkbox\";\nimport { ListItem, ListItemIcon } from \"../List\";\nimport { MenuList } from \"../Menu\";\nimport { Popper } from \"../Popper\";\nimport { WithPagination, WithPaginationProps } from \"./WithPagination\";\nimport { css } from \"@emotion/react\";\nimport { resetButtonStyle } from \"../Button\";\nimport { useCallback, useState } from \"react\";\nimport { useGridLayout } from \"./useGridLayout\";\nimport { useSort } from \"./useSort\";\nimport { useTheme } from \"../theme\";\nimport ArrowDownwardIcon from \"@mui/icons-material/ArrowDownward\";\nimport ArrowUpwardIcon from \"@mui/icons-material/ArrowUpward\";\nimport React from \"react\";\n\nexport interface TableUIRenderCellProps<Row, Value> {\n cell: { value: Value };\n row: Row;\n}\n\nconst DefaultRenderCell = (\n props: TableUIRenderCellProps<Record<string, unknown>, unknown>,\n) => {\n const { cell } = props;\n return (\n <div>\n {typeof cell.value === \"string\" ? cell.value : JSON.stringify(cell.value)}\n </div>\n );\n};\n\nconst tableCellStyle = css`\n box-sizing: border-box;\n padding: 8px 16px;\n font: inherit;\n line-height: inherit;\n text-align: left;\n letter-spacing: inherit;\n background-color: white;\n border-bottom: 1px solid #e0e0e0;\n &:first-of-type:has(input[type=\"checkbox\"]) {\n padding: 0px;\n label {\n display: flex;\n padding: 8px;\n }\n }\n`;\n\ninterface HeaderCellProps extends React.PropsWithChildren {\n menuItems: {\n label: string;\n onClick: () => void;\n renderIcon: (props: Record<string, unknown>) => React.JSX.Element;\n }[];\n}\n\nconst HeaderCell = (props: HeaderCellProps) => {\n const theme = useTheme();\n const [anchorEl, setAnchorEl] = useState<HTMLElement>();\n const handleClose = useCallback(() => {\n setAnchorEl(undefined);\n }, []);\n const handleToggle = useCallback(\n (event: React.SyntheticEvent<HTMLElement>) => {\n const { currentTarget } = event;\n setAnchorEl((prev) => (prev ? undefined : currentTarget));\n },\n [],\n );\n const open = Boolean(anchorEl);\n\n return (\n <th\n css={[\n tableCellStyle,\n css`\n padding: 0px;\n cursor: pointer;\n transition: background-color 0.1s ease-in-out;\n &:hover {\n background-color: ${theme.palette.gray[200]};\n }\n `,\n ]}\n >\n <button\n css={[\n resetButtonStyle,\n css`\n display: inline-block;\n width: 100%;\n padding: 8px 16px;\n text-align: inherit;\n `,\n ]}\n onClick={handleToggle}\n >\n {props.children}\n </button>\n <Popper\n disablePortal\n onClickOutside={handleClose}\n anchorEl={anchorEl}\n open={open}\n placement=\"bottom-start\"\n >\n <MenuList\n paperProps={{\n elevation: 5,\n }}\n >\n {props.menuItems.map(({ onClick, label, renderIcon: Icon }) => {\n return (\n <ListItem\n key={label}\n onClick={() => {\n onClick();\n handleClose();\n }}\n >\n <ListItemIcon>\n <Icon />\n </ListItemIcon>\n {label}\n </ListItem>\n );\n })}\n </MenuList>\n </Popper>\n </th>\n );\n};\n\nexport type TableUIColumn<Row> = {\n [Key in keyof Row]: {\n // このキーのユニークチェックを行った方が良い。\n // 出来ればランタイムは無駄が大きいので型でチェックしたい。\n key: Key;\n title?: string;\n renderCell?: ({\n cell,\n row,\n }: TableUIRenderCellProps<Row, Row[Key]>) => React.JSX.Element;\n // デフォルトでソートは有効化する\n sort?: (a: Row[Key], b: Row[Key]) => number;\n /**\n * この列の幅が全体に占める比を指定する。\n * columnRatio指定しない場合は、autoが指定されたものとして扱われます。\n * table要素本来の自動調整が効かなくなるので、注意して利用してください。\n */\n columnRatio?: number;\n };\n}[keyof Row];\n\nexport interface TableUIPropsOnSelectArgs<Row> {\n row: Row;\n index: number;\n checked: boolean;\n}\n\nexport interface TableUIPropsRenderActionsArgs<Row> {\n row: Row;\n index: number;\n}\n\nexport interface TableUIProps<Row> extends WithPaginationProps {\n /**\n * テーブルをストライプ柄にするかどうか\n * @default false\n */\n striped?: boolean;\n /**\n * テーブルのヘッダーを固定するかどうか\n * @default false\n */\n stickyHeader?: boolean;\n /**\n * テーブルの列の情報\n */\n columns?: TableUIColumn<Row>[];\n /**\n * 空配列の場合は読み込み済み、undefinedの場合は読み込み中であると見なされます。\n * 基本的にJSONフレンドリーなオブジェクトを渡すようにしてください。ReactElementなどは非推奨です。\n * 代わりにcolumnsで定義できるrenderCellを利用するか、ReactComponentを渡してください。\n *\n * dataにはcolumnsに存在しないものも含められます。\n */\n data?: Row[];\n /**\n * 現在選択されている行のindexの配列\n */\n selectedIndex?: number[];\n /**\n * 行毎のチェックボックスが生える\n */\n onSelect?: ({ row, index, checked }: TableUIPropsOnSelectArgs<Row>) => void;\n /**\n * 全てをチェックするボタンが生える\n */\n onSelectAll?: ({ data, checked }: { data: Row[]; checked: boolean }) => void;\n /**\n * onSelectで生えるチェックボックスのname\n * formDataから取得できる値は選択された行のindexです。\n */\n name?: string;\n /**\n * 行の末尾にインタラクティブ要素を追加するためのメソッド\n */\n renderActions?: (\n args: TableUIPropsRenderActionsArgs<Row>,\n ) => React.JSX.Element;\n}\n\nexport const TableUI = <\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Row extends Record<string, any>,\n>(\n props: TableUIProps<Row>,\n) => {\n const {\n columns,\n data,\n striped,\n stickyHeader,\n onSelect,\n selectedIndex = [],\n onSelectAll,\n name,\n renderActions: RenderActions,\n onPaginate,\n pageTotal,\n } = props;\n const theme = useTheme();\n\n const allChecked = data?.length === selectedIndex?.length;\n\n const [dataSorted, order, setOrder] = useSort(columns, data);\n\n const gridStyle = useGridLayout(columns);\n\n return (\n <WithPagination onPaginate={onPaginate} pageTotal={pageTotal}>\n <table\n css={[\n theme.typography.body,\n css`\n box-sizing: border-box;\n width: 100%;\n border-spacing: 0;\n border-collapse: separate;\n isolation: isolate;\n border-top: 1px solid #e0e0e0;\n border-right: 2px solid #e0e0e0;\n border-bottom: 1px solid #e0e0e0;\n border-left: 2px solid #e0e0e0;\n thead {\n box-sizing: border-box;\n th {\n white-space: nowrap;\n border-top: 1px solid #e0e0e0;\n border-bottom: 2px solid #e0e0e0;\n }\n }\n `,\n striped\n ? css`\n tr:nth-of-type(even) > td {\n background-color: #f2f2f2;\n }\n `\n : null,\n stickyHeader\n ? css`\n position: relative;\n /**\n * ここでtheadをstickyにすると、grid layoutのサポートが困難になる。\n */\n thead tr th {\n position: sticky;\n top: 0px;\n z-index: ${theme.zIndex.appBar};\n }\n `\n : null,\n gridStyle,\n ]}\n >\n <thead>\n <tr>\n {onSelect ? (\n <th css={tableCellStyle}>\n {onSelectAll ? (\n // eslint-disable-next-line jsx-a11y/label-has-associated-control\n <label>\n <Checkbox\n defaultChecked={allChecked}\n key={allChecked?.toString()}\n onChange={(event) => {\n if (data) {\n onSelectAll({ data, checked: event.target.checked });\n }\n }}\n indeterminate={selectedIndex.length > 0 && !allChecked}\n />\n </label>\n ) : null}\n </th>\n ) : null}\n {columns?.map((column) => {\n const orderBy = column.key.toString();\n return (\n <HeaderCell\n menuItems={[\n {\n label: \"昇順で並び替え\",\n //@ts-expect-error muiのiconの方がmuiNameプロパティを型で持つようになったためエラーが出る\n renderIcon: ArrowUpwardIcon,\n onClick: () => {\n setOrder({ by: orderBy, direction: \"asc\" });\n },\n },\n {\n label: \"降順で並び替え\",\n //@ts-expect-error muiのiconの方がmuiNameプロパティを型で持つようになったためエラーが出る\n renderIcon: ArrowDownwardIcon,\n onClick: () => {\n setOrder({ by: orderBy, direction: \"desc\" });\n },\n },\n ]}\n key={column.key.toString()}\n >\n <div\n css={css`\n position: relative;\n `}\n >\n {column.title}\n <span\n css={css`\n position: absolute;\n display: inline-flex;\n margin-left: 4px;\n color: ${theme.palette.text.hint};\n `}\n >\n {order?.by === orderBy ? (\n order.direction === \"desc\" ? (\n <ArrowDownwardIcon />\n ) : (\n <ArrowUpwardIcon />\n )\n ) : null}\n </span>\n </div>\n </HeaderCell>\n );\n })}\n {RenderActions ? <th css={tableCellStyle} /> : null}\n </tr>\n </thead>\n <tbody>\n {dataSorted?.map(({ row, index }) => {\n const checked = selectedIndex?.includes(index);\n return (\n <tr\n key={`${index}`}\n css={css`\n &:has(input[type=\"checkbox\"]:checked) > td {\n background-color: ${theme.palette.intentions.primary.light};\n }\n `}\n >\n {onSelect ? (\n <td css={tableCellStyle}>\n {\n // eslint-disable-next-line jsx-a11y/label-has-associated-control\n <label>\n <Checkbox\n key={checked?.toString()}\n name={name}\n value={index}\n defaultChecked={checked}\n onChange={(event) => {\n onSelect({\n row,\n index,\n checked: event.target.checked,\n });\n }}\n />\n </label>\n }\n </td>\n ) : null}\n {columns?.map((column) => {\n const cell = row[column.key];\n const { renderCell: RenderCell = DefaultRenderCell } = column;\n return (\n <td key={column.key.toString()} css={tableCellStyle}>\n <RenderCell cell={{ value: cell }} row={row} />\n </td>\n );\n })}\n {RenderActions ? (\n <td css={tableCellStyle}>\n <RenderActions row={row} index={index} />\n </td>\n ) : null}\n </tr>\n );\n })}\n </tbody>\n </table>\n </WithPagination>\n );\n};\n"],"mappings":";;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAC,uBAAA,CAAAR,OAAA;AACA,IAAAS,cAAA,GAAAT,OAAA;AACA,IAAAU,QAAA,GAAAV,OAAA;AACA,IAAAW,MAAA,GAAAX,OAAA;AACA,IAAAY,cAAA,GAAAC,sBAAA,CAAAb,OAAA;AACA,IAAAc,YAAA,GAAAD,sBAAA,CAAAb,OAAA;AAA8D,SAAAa,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAP,wBAAAO,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAAA,SAAAW,iCAAA;AAQ9D,MAAMC,iBAAiB,GACrBC,KAA+D,IAC5D;EACH,MAAM;IAAEC;EAAK,CAAC,GAAGD,KAAK;EACtB,OACE,IAAAhC,MAAA,CAAAkC,GAAA,eACG,OAAOD,IAAI,CAACE,KAAK,KAAK,QAAQ,GAAGF,IAAI,CAACE,KAAK,GAAGC,IAAI,CAACC,SAAS,CAACJ,IAAI,CAACE,KAAK,CACrE,CAAC;AAEV,CAAC;AAED,MAAMG,cAAc,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,QAAA,EAAAd;AAAA,CAgBnB;AAAC,IAAAe,KAAA,GAAAN,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,QAAA,EAAAd;AAAA;AAUF,MAAMgB,UAAU,GAAId,KAAsB,IAAK;EAC7C,MAAMe,KAAK,GAAG,IAAAC,eAAQ,EAAC,CAAC;EACxB,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAC,gBAAQ,EAAc,CAAC;EACvD,MAAMC,WAAW,GAAG,IAAAC,mBAAW,EAAC,MAAM;IACpCH,WAAW,CAACI,SAAS,CAAC;EACxB,CAAC,EAAE,EAAE,CAAC;EACN,MAAMC,YAAY,GAAG,IAAAF,mBAAW,EAC7BG,KAAwC,IAAK;IAC5C,MAAM;MAAEC;IAAc,CAAC,GAAGD,KAAK;IAC/BN,WAAW,CAAEQ,IAAI,IAAMA,IAAI,GAAGJ,SAAS,GAAGG,aAAc,CAAC;EAC3D,CAAC,EACD,EACF,CAAC;EACD,MAAME,IAAI,GAAGC,OAAO,CAACX,QAAQ,CAAC;EAE9B,OACE,IAAAjD,MAAA,CAAAkC,GAAA;IACE2B,GAAG,GACDvB,cAAc,mBACduB,UAAG,uGAKqBd,KAAK,CAACe,OAAO,CAACC,IAAI,CAAC,GAAG,CAAC,UAAAxB,OAAA,CAAAC,GAAA,CAAAC,QAAA,gDAAAF,OAAA,CAAAC,GAAA,CAAAC,QAAA,6+iBAAAF,OAAA,CAAAC,GAAA,CAAAC,QAAA,+CAAAF,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAG/C,GAEF,IAAAzC,MAAA,CAAAkC,GAAA;IACE2B,GAAG,GACDG,wBAAgB,EAAAnB,KAAA,EAAAN,OAAA,CAAAC,GAAA,CAAAC,QAAA,+CAAAF,OAAA,CAAAC,GAAA,CAAAC,QAAA,2+iBAOhB;IACFwB,OAAO,EAAEV;EAAa,GAErBvB,KAAK,CAACkC,QACD,CAAC,EACT,IAAAlE,MAAA,CAAAkC,GAAA,EAACpC,OAAA,CAAAqE,MAAM;IACLC,aAAa;IACbC,cAAc,EAAEjB,WAAY;IAC5BH,QAAQ,EAAEA,QAAS;IACnBU,IAAI,EAAEA,IAAK;IACXW,SAAS,EAAC;EAAc,GAExB,IAAAtE,MAAA,CAAAkC,GAAA,EAACrC,KAAA,CAAA0E,QAAQ;IACPC,UAAU,EAAE;MACVC,SAAS,EAAE;IACb;EAAE,GAEDzC,KAAK,CAAC0C,SAAS,CAACC,GAAG,CAAC,CAAC;IAAEV,OAAO;IAAEW,KAAK;IAAEC,UAAU,EAAEC;EAAK,CAAC,KAAK;IAC7D,OACE,IAAA9E,MAAA,CAAAkC,GAAA,EAACtC,KAAA,CAAAmF,QAAQ;MACPC,GAAG,EAAEJ,KAAM;MACXX,OAAO,EAAEA,CAAA,KAAM;QACbA,OAAO,CAAC,CAAC;QACTb,WAAW,CAAC,CAAC;MACf;IAAE,GAEF,IAAApD,MAAA,CAAAkC,GAAA,EAACtC,KAAA,CAAAqF,YAAY,QACX,IAAAjF,MAAA,CAAAkC,GAAA,EAAC4C,IAAI,MAAE,CACK,CAAC,EACdF,KACO,CAAC;EAEf,CAAC,CACO,CACJ,CACN,CAAC;AAET,CAAC;AAAC,IAAAM,IAAA,GAAA3C,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,QAAA,EAAAd;AAAA;AAAA,IAAAqD,KAAA,GAAA5C,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,QAAA,EAAAd;AAAA;AAAA,IAAAsD,KAAA,GAAA7C,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,QAAA,EAAAd;AAAA;AAkFK,MAAMuD,OAAO,GAIlBrD,KAAwB,IACrB;EACH,MAAM;IACJsD,OAAO;IACPC,IAAI;IACJC,OAAO;IACPC,YAAY;IACZC,QAAQ;IACRC,aAAa,GAAG,EAAE;IAClBC,WAAW;IACXlD,IAAI;IACJmD,aAAa,EAAEC,aAAa;IAC5BC,UAAU;IACVC;EACF,CAAC,GAAGhE,KAAK;EACT,MAAMe,KAAK,GAAG,IAAAC,eAAQ,EAAC,CAAC;EAExB,MAAMiD,UAAU,GAAGV,IAAI,EAAEW,MAAM,KAAKP,aAAa,EAAEO,MAAM;EAEzD,MAAM,CAACC,UAAU,EAAEC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAC,gBAAO,EAAChB,OAAO,EAAEC,IAAI,CAAC;EAE5D,MAAMgB,SAAS,GAAG,IAAAC,4BAAa,EAAClB,OAAO,CAAC;EAExC,OACE,IAAAtF,MAAA,CAAAkC,GAAA,EAACnC,eAAA,CAAA0G,cAAc;IAACV,UAAU,EAAEA,UAAW;IAACC,SAAS,EAAEA;EAAU,GAC3D,IAAAhG,MAAA,CAAAkC,GAAA;IACE2B,GAAG,GACDd,KAAK,CAAC2D,UAAU,CAACC,IAAI,EAAAvB,KAAA,EAoBrBI,OAAO,GAAAL,KAAA,GAMH,IAAI,EACRM,YAAY,oBACR5B,UAAG,oEAQYd,KAAK,CAAC6D,MAAM,CAACC,MAAM,UAAAtE,OAAA,CAAAC,GAAA,CAAAC,QAAA,6CAAAF,OAAA,CAAAC,GAAA,CAAAC,QAAA,k/iBAGlC,IAAI,EACR8D,SAAS,EAAAhE,OAAA,CAAAC,GAAA,CAAAC,QAAA,4CAAAF,OAAA,CAAAC,GAAA,CAAAC,QAAA;EACT,GAEF,IAAAzC,MAAA,CAAAkC,GAAA,iBACE,IAAAlC,MAAA,CAAAkC,GAAA,cACGwD,QAAQ,GACP,IAAA1F,MAAA,CAAAkC,GAAA;IAAI2B,GAAG,EAAEvB;EAAe,GACrBsD,WAAW;EACV;EACA,IAAA5F,MAAA,CAAAkC,GAAA,iBACE,IAAAlC,MAAA,CAAAkC,GAAA,EAACxC,SAAA,CAAAoH,QAAQ;IACPC,cAAc,EAAEd,UAAW;IAC3BjB,GAAG,EAAEiB,UAAU,EAAErD,QAAQ,CAAC,CAAE;IAC5BoE,QAAQ,EAAGxD,KAAK,IAAK;MACnB,IAAI+B,IAAI,EAAE;QACRK,WAAW,CAAC;UAAEL,IAAI;UAAE0B,OAAO,EAAEzD,KAAK,CAAC0D,MAAM,CAACD;QAAQ,CAAC,CAAC;MACtD;IACF,CAAE;IACFE,aAAa,EAAExB,aAAa,CAACO,MAAM,GAAG,CAAC,IAAI,CAACD;EAAW,CACxD,CACI,CAAC,GACN,IACF,CAAC,GACH,IAAI,EACPX,OAAO,EAAEX,GAAG,CAAEyC,MAAM,IAAK;IACxB,MAAMC,OAAO,GAAGD,MAAM,CAACpC,GAAG,CAACpC,QAAQ,CAAC,CAAC;IACrC,OACE,IAAA5C,MAAA,CAAAkC,GAAA,EAACY,UAAU;MACT4B,SAAS,EAAE,CACT;QACEE,KAAK,EAAE,SAAS;QAChB;QACAC,UAAU,EAAEyC,oBAAe;QAC3BrD,OAAO,EAAEA,CAAA,KAAM;UACboC,QAAQ,CAAC;YAAEkB,EAAE,EAAEF,OAAO;YAAEG,SAAS,EAAE;UAAM,CAAC,CAAC;QAC7C;MACF,CAAC,EACD;QACE5C,KAAK,EAAE,SAAS;QAChB;QACAC,UAAU,EAAE4C,sBAAiB;QAC7BxD,OAAO,EAAEA,CAAA,KAAM;UACboC,QAAQ,CAAC;YAAEkB,EAAE,EAAEF,OAAO;YAAEG,SAAS,EAAE;UAAO,CAAC,CAAC;QAC9C;MACF,CAAC,CACD;MACFxC,GAAG,EAAEoC,MAAM,CAACpC,GAAG,CAACpC,QAAQ,CAAC;IAAE,GAE3B,IAAA5C,MAAA,CAAAkC,GAAA;MACE2B,GAAG,EAAAqB;IAED,GAEDkC,MAAM,CAACM,KAAK,EACb,IAAA1H,MAAA,CAAAkC,GAAA;MACE2B,GAAG,mBAAEA,UAAG,kEAIGd,KAAK,CAACe,OAAO,CAAC6D,IAAI,CAACC,IAAI,SAAArF,OAAA,CAAAC,GAAA,CAAAC,QAAA,6CAAAF,OAAA,CAAAC,GAAA,CAAAC,QAAA;IAChC,GAED2D,KAAK,EAAEmB,EAAE,KAAKF,OAAO,GACpBjB,KAAK,CAACoB,SAAS,KAAK,MAAM,GACxB,IAAAxH,MAAA,CAAAkC,GAAA,EAAC3B,cAAA,CAAAK,OAAiB,MAAE,CAAC,GAErB,IAAAZ,MAAA,CAAAkC,GAAA,EAACzB,YAAA,CAAAG,OAAe,MAAE,CACnB,GACC,IACA,CACH,CACK,CAAC;EAEjB,CAAC,CAAC,EACDkF,aAAa,GAAG,IAAA9F,MAAA,CAAAkC,GAAA;IAAI2B,GAAG,EAAEvB;EAAe,CAAE,CAAC,GAAG,IAC7C,CACC,CAAC,EACR,IAAAtC,MAAA,CAAAkC,GAAA,iBACGiE,UAAU,EAAExB,GAAG,CAAC,CAAC;IAAEkD,GAAG;IAAEC;EAAM,CAAC,KAAK;IACnC,MAAMb,OAAO,GAAGtB,aAAa,EAAEoC,QAAQ,CAACD,KAAK,CAAC;IAC9C,OACE,IAAA9H,MAAA,CAAAkC,GAAA;MACE8C,GAAG,EAAE,GAAG8C,KAAK,EAAG;MAChBjE,GAAG,mBAAEA,UAAG,kEAEgBd,KAAK,CAACe,OAAO,CAACkE,UAAU,CAACC,OAAO,CAACC,KAAK,UAAA3F,OAAA,CAAAC,GAAA,CAAAC,QAAA,6CAAAF,OAAA,CAAAC,GAAA,CAAAC,QAAA;IAE5D,GAEDiD,QAAQ,GACP,IAAA1F,MAAA,CAAAkC,GAAA;MAAI2B,GAAG,EAAEvB;IAAe;IAEpB;IACA,IAAAtC,MAAA,CAAAkC,GAAA,iBACE,IAAAlC,MAAA,CAAAkC,GAAA,EAACxC,SAAA,CAAAoH,QAAQ;MACP9B,GAAG,EAAEiC,OAAO,EAAErE,QAAQ,CAAC,CAAE;MACzBF,IAAI,EAAEA,IAAK;MACXP,KAAK,EAAE2F,KAAM;MACbf,cAAc,EAAEE,OAAQ;MACxBD,QAAQ,EAAGxD,KAAK,IAAK;QACnBkC,QAAQ,CAAC;UACPmC,GAAG;UACHC,KAAK;UACLb,OAAO,EAAEzD,KAAK,CAAC0D,MAAM,CAACD;QACxB,CAAC,CAAC;MACJ;IAAE,CACH,CACI,CAEP,CAAC,GACH,IAAI,EACP3B,OAAO,EAAEX,GAAG,CAAEyC,MAAM,IAAK;MACxB,MAAMnF,IAAI,GAAG4F,GAAG,CAACT,MAAM,CAACpC,GAAG,CAAC;MAC5B,MAAM;QAAEmD,UAAU,EAAEC,UAAU,GAAGrG;MAAkB,CAAC,GAAGqF,MAAM;MAC7D,OACE,IAAApH,MAAA,CAAAkC,GAAA;QAAI8C,GAAG,EAAEoC,MAAM,CAACpC,GAAG,CAACpC,QAAQ,CAAC,CAAE;QAACiB,GAAG,EAAEvB;MAAe,GAClD,IAAAtC,MAAA,CAAAkC,GAAA,EAACkG,UAAU;QAACnG,IAAI,EAAE;UAAEE,KAAK,EAAEF;QAAK,CAAE;QAAC4F,GAAG,EAAEA;MAAI,CAAE,CAC5C,CAAC;IAET,CAAC,CAAC,EACD/B,aAAa,GACZ,IAAA9F,MAAA,CAAAkC,GAAA;MAAI2B,GAAG,EAAEvB;IAAe,GACtB,IAAAtC,MAAA,CAAAkC,GAAA,EAAC4D,aAAa;MAAC+B,GAAG,EAAEA,GAAI;MAACC,KAAK,EAAEA;IAAM,CAAE,CACtC,CAAC,GACH,IACF,CAAC;EAET,CAAC,CACI,CACF,CACO,CAAC;AAErB,CAAC;AAACO,OAAA,CAAAhD,OAAA,GAAAA,OAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_Checkbox","require","_List","_Menu","_Popper","_WithPagination","_react","_Button","_react2","_interopRequireWildcard","_useGridLayout","_useSort","_theme","_ArrowDownward","_interopRequireDefault","_ArrowUpward","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_EMOTION_STRINGIFIED_CSS_ERROR__","DefaultRenderCell","props","cell","jsx","value","JSON","stringify","tableCellStyle","process","env","NODE_ENV","name","styles","toString","_ref4","HeaderCell","theme","useTheme","anchorEl","setAnchorEl","useState","handleClose","useCallback","undefined","handleToggle","event","currentTarget","prev","open","Boolean","css","palette","gray","resetButtonStyle","onClick","children","Popper","disablePortal","onClickOutside","placement","MenuList","paperProps","elevation","menuItems","map","label","renderIcon","Icon","ListItem","key","ListItemIcon","_ref","_ref2","_ref3","TableUI","columns","data","striped","stickyHeader","onSelect","selectedIndex","onSelectAll","renderActions","RenderActions","onPaginate","pageTotal","allChecked","length","dataSorted","order","setOrder","useSort","gridStyle","useGridLayout","WithPagination","typography","body","zIndex","appBar","Checkbox","defaultChecked","onChange","checked","target","indeterminate","column","orderBy","ArrowUpwardIcon","by","direction","ArrowDownwardIcon","title","text","hint","row","index","includes","intentions","primary","light","renderCell","RenderCell","exports"],"sources":["../../../src/TableUI/index.tsx"],"sourcesContent":["import { Checkbox } from \"../Checkbox\";\nimport { ListItem, ListItemIcon } from \"../List\";\nimport { MenuList } from \"../Menu\";\nimport { Popper } from \"../Popper\";\nimport { WithPagination, WithPaginationProps } from \"./WithPagination\";\nimport { css } from \"@emotion/react\";\nimport { resetButtonStyle } from \"../Button\";\nimport { useCallback, useState } from \"react\";\nimport { useGridLayout } from \"./useGridLayout\";\nimport { useSort } from \"./useSort\";\nimport { useTheme } from \"../theme\";\nimport ArrowDownwardIcon from \"@mui/icons-material/ArrowDownward\";\nimport ArrowUpwardIcon from \"@mui/icons-material/ArrowUpward\";\nimport React from \"react\";\n\nexport interface TableUIRenderCellProps<Row, Value> {\n cell: { value: Value };\n row: Row;\n}\n\nconst DefaultRenderCell = (\n props: TableUIRenderCellProps<Record<string, unknown>, unknown>,\n) => {\n const { cell } = props;\n return (\n <div>\n {typeof cell.value === \"string\" ? cell.value : JSON.stringify(cell.value)}\n </div>\n );\n};\n\nconst tableCellStyle = css`\n box-sizing: border-box;\n padding: 8px 16px;\n font: inherit;\n line-height: inherit;\n text-align: left;\n letter-spacing: inherit;\n background-color: white;\n border-bottom: 1px solid #e0e0e0;\n &:first-of-type:has(input[type=\"checkbox\"]) {\n padding: 0px;\n label {\n display: flex;\n padding: 8px;\n }\n }\n`;\n\ninterface HeaderCellProps extends React.PropsWithChildren {\n menuItems: {\n label: string;\n onClick: () => void;\n renderIcon: (props: Record<string, unknown>) => React.JSX.Element;\n }[];\n}\n\nconst HeaderCell = (props: HeaderCellProps) => {\n const theme = useTheme();\n const [anchorEl, setAnchorEl] = useState<HTMLElement>();\n const handleClose = useCallback(() => {\n setAnchorEl(undefined);\n }, []);\n const handleToggle = useCallback(\n (event: React.SyntheticEvent<HTMLElement>) => {\n const { currentTarget } = event;\n setAnchorEl((prev) => (prev ? undefined : currentTarget));\n },\n [],\n );\n const open = Boolean(anchorEl);\n\n return (\n <th\n css={[\n tableCellStyle,\n css`\n padding: 0px;\n cursor: pointer;\n transition: background-color 0.1s ease-in-out;\n &:hover {\n background-color: ${theme.palette.gray[200]};\n }\n `,\n ]}\n >\n <button\n css={[\n resetButtonStyle,\n css`\n display: inline-block;\n width: 100%;\n padding: 8px 16px;\n text-align: inherit;\n `,\n ]}\n onClick={handleToggle}\n >\n {props.children}\n </button>\n <Popper\n disablePortal\n onClickOutside={handleClose}\n anchorEl={anchorEl}\n open={open}\n placement=\"bottom-start\"\n >\n <MenuList\n paperProps={{\n elevation: 5,\n }}\n >\n {props.menuItems.map(({ onClick, label, renderIcon: Icon }) => {\n return (\n <ListItem\n key={label}\n onClick={() => {\n onClick();\n handleClose();\n }}\n >\n <ListItemIcon>\n <Icon />\n </ListItemIcon>\n {label}\n </ListItem>\n );\n })}\n </MenuList>\n </Popper>\n </th>\n );\n};\n\nexport type TableUIColumn<Row> = {\n [Key in keyof Row]: {\n // このキーのユニークチェックを行った方が良い。\n // 出来ればランタイムは無駄が大きいので型でチェックしたい。\n key: Key;\n title?: string;\n renderCell?: ({\n cell,\n row,\n }: TableUIRenderCellProps<Row, Row[Key]>) => React.JSX.Element;\n // デフォルトでソートは有効化する\n sort?: (a: Row[Key], b: Row[Key]) => number;\n /**\n * この列の幅が全体に占める比を指定する。\n * columnRatio指定しない場合は、autoが指定されたものとして扱われます。\n * table要素本来の自動調整が効かなくなるので、注意して利用してください。\n */\n columnRatio?: number;\n };\n}[keyof Row];\n\nexport interface TableUIPropsOnSelectArgs<Row> {\n row: Row;\n index: number;\n checked: boolean;\n}\n\nexport interface TableUIPropsRenderActionsArgs<Row> {\n row: Row;\n index: number;\n}\n\nexport interface TableUIProps<Row> extends WithPaginationProps {\n /**\n * テーブルをストライプ柄にするかどうか\n * @default false\n */\n striped?: boolean;\n /**\n * テーブルのヘッダーを固定するかどうか\n * @default false\n */\n stickyHeader?: boolean;\n /**\n * テーブルの列の情報\n */\n columns?: TableUIColumn<Row>[];\n /**\n * 空配列の場合は読み込み済み、undefinedの場合は読み込み中であると見なされます。\n * 基本的にJSONフレンドリーなオブジェクトを渡すようにしてください。ReactElementなどは非推奨です。\n * 代わりにcolumnsで定義できるrenderCellを利用するか、ReactComponentを渡してください。\n *\n * dataにはcolumnsに存在しないものも含められます。\n */\n data?: Row[];\n /**\n * 現在選択されている行のindexの配列\n */\n selectedIndex?: number[];\n /**\n * 行毎のチェックボックスが生える\n */\n onSelect?: ({ row, index, checked }: TableUIPropsOnSelectArgs<Row>) => void;\n /**\n * 全てをチェックするボタンが生える\n */\n onSelectAll?: ({ data, checked }: { data: Row[]; checked: boolean }) => void;\n /**\n * onSelectで生えるチェックボックスのname\n * formDataから取得できる値は選択された行のindexです。\n */\n name?: string;\n /**\n * 行の末尾にインタラクティブ要素を追加するためのメソッド\n */\n renderActions?: (\n args: TableUIPropsRenderActionsArgs<Row>,\n ) => React.JSX.Element;\n}\n\nexport const TableUI = <\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Row extends Record<string, any>,\n>(\n props: TableUIProps<Row>,\n) => {\n const {\n columns,\n data,\n striped,\n stickyHeader,\n onSelect,\n selectedIndex = [],\n onSelectAll,\n name,\n renderActions: RenderActions,\n onPaginate,\n pageTotal,\n } = props;\n const theme = useTheme();\n\n const allChecked = data?.length === selectedIndex?.length;\n\n const [dataSorted, order, setOrder] = useSort(columns, data);\n\n const gridStyle = useGridLayout(columns);\n\n return (\n <WithPagination onPaginate={onPaginate} pageTotal={pageTotal}>\n <table\n css={[\n theme.typography.body,\n css`\n box-sizing: border-box;\n width: 100%;\n border-spacing: 0;\n border-collapse: separate;\n isolation: isolate;\n border-top: 1px solid #e0e0e0;\n border-right: 2px solid #e0e0e0;\n border-bottom: 1px solid #e0e0e0;\n border-left: 2px solid #e0e0e0;\n thead {\n box-sizing: border-box;\n th {\n white-space: nowrap;\n border-top: 1px solid #e0e0e0;\n border-bottom: 2px solid #e0e0e0;\n }\n }\n `,\n striped\n ? css`\n tr:nth-of-type(even) > td {\n background-color: #f2f2f2;\n }\n `\n : null,\n stickyHeader\n ? css`\n position: relative;\n /**\n * ここでtheadをstickyにすると、grid layoutのサポートが困難になる。\n */\n thead tr th {\n position: sticky;\n top: 0px;\n z-index: ${theme.zIndex.appBar};\n }\n `\n : null,\n gridStyle,\n ]}\n >\n <thead>\n <tr>\n {onSelect ? (\n <th css={tableCellStyle}>\n {onSelectAll ? (\n // eslint-disable-next-line jsx-a11y/label-has-associated-control\n <label>\n <Checkbox\n defaultChecked={allChecked}\n key={allChecked?.toString()}\n onChange={(event) => {\n if (data) {\n onSelectAll({ data, checked: event.target.checked });\n }\n }}\n indeterminate={selectedIndex.length > 0 && !allChecked}\n />\n </label>\n ) : null}\n </th>\n ) : null}\n {columns?.map((column) => {\n const orderBy = column.key.toString();\n return (\n <HeaderCell\n menuItems={[\n {\n label: \"昇順で並び替え\",\n //@ts-expect-error muiのiconの方がmuiNameプロパティを型で持つようになったためエラーが出る\n renderIcon: ArrowUpwardIcon,\n onClick: () => {\n setOrder({ by: orderBy, direction: \"asc\" });\n },\n },\n {\n label: \"降順で並び替え\",\n //@ts-expect-error muiのiconの方がmuiNameプロパティを型で持つようになったためエラーが出る\n renderIcon: ArrowDownwardIcon,\n onClick: () => {\n setOrder({ by: orderBy, direction: \"desc\" });\n },\n },\n ]}\n key={column.key.toString()}\n >\n <div\n css={css`\n position: relative;\n `}\n >\n {column.title}\n <span\n css={css`\n position: absolute;\n display: inline-flex;\n margin-left: 4px;\n color: ${theme.palette.text.hint};\n `}\n >\n {order?.by === orderBy ? (\n order.direction === \"desc\" ? (\n <ArrowDownwardIcon />\n ) : (\n <ArrowUpwardIcon />\n )\n ) : null}\n </span>\n </div>\n </HeaderCell>\n );\n })}\n {RenderActions ? <th css={tableCellStyle} /> : null}\n </tr>\n </thead>\n <tbody>\n {dataSorted?.map(({ row, index }) => {\n const checked = selectedIndex?.includes(index);\n return (\n <tr\n key={`${index}`}\n css={css`\n &:has(input[type=\"checkbox\"]:checked) > td {\n background-color: ${theme.palette.intentions.primary.light};\n }\n `}\n >\n {onSelect ? (\n <td css={tableCellStyle}>\n {\n // eslint-disable-next-line jsx-a11y/label-has-associated-control\n <label>\n <Checkbox\n key={checked?.toString()}\n name={name}\n value={index}\n defaultChecked={checked}\n onChange={(event) => {\n onSelect({\n row,\n index,\n checked: event.target.checked,\n });\n }}\n />\n </label>\n }\n </td>\n ) : null}\n {columns?.map((column) => {\n const cell = row[column.key];\n const { renderCell: RenderCell = DefaultRenderCell } = column;\n return (\n <td key={column.key.toString()} css={tableCellStyle}>\n <RenderCell cell={{ value: cell }} row={row} />\n </td>\n );\n })}\n {RenderActions ? (\n <td css={tableCellStyle}>\n <RenderActions row={row} index={index} />\n </td>\n ) : null}\n </tr>\n );\n })}\n </tbody>\n </table>\n </WithPagination>\n );\n};\n"],"mappings":"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","ignoreList":[]}
package/cjs/Tabs/Tab.js CHANGED
@@ -6,8 +6,7 @@ var _react = require("@emotion/react");
6
6
  var _useTab = require("./useTab");
7
7
  var _theme = require("../theme");
8
8
  var _react2 = _interopRequireWildcard(require("react"));
9
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
9
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
11
10
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
12
11
  function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
13
12
  /**