smarthr-ui 98.0.0 → 98.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/_virtual/cjs.cjs +1 -1
- package/lib/_virtual/cjs.js +1 -1
- package/lib/_virtual/index3.cjs +1 -1
- package/lib/_virtual/index3.js +1 -1
- package/lib/_virtual/index4.cjs +2 -4
- package/lib/_virtual/index4.cjs.map +1 -1
- package/lib/_virtual/index4.js +2 -4
- package/lib/_virtual/index4.js.map +1 -1
- package/lib/_virtual/index5.cjs +2 -2
- package/lib/_virtual/index5.js +2 -2
- package/lib/components/AccordionPanel/AccordionPanelContent.cjs +1 -1
- package/lib/components/AccordionPanel/AccordionPanelContent.js +1 -1
- package/lib/components/AppHeader/components/desktop/DesktopHeader.cjs +1 -1
- package/lib/components/AppHeader/components/desktop/DesktopHeader.cjs.map +1 -1
- package/lib/components/AppHeader/components/desktop/DesktopHeader.js +1 -1
- package/lib/components/AppHeader/components/desktop/DesktopHeader.js.map +1 -1
- package/lib/components/AppHeader/components/mobile/Help.cjs +1 -1
- package/lib/components/AppHeader/components/mobile/Help.cjs.map +1 -1
- package/lib/components/AppHeader/components/mobile/Help.js +1 -1
- package/lib/components/AppHeader/components/mobile/Help.js.map +1 -1
- package/lib/components/AppHeader/components/mobile/MenuDialog.cjs +11 -14
- package/lib/components/AppHeader/components/mobile/MenuDialog.cjs.map +1 -1
- package/lib/components/AppHeader/components/mobile/MenuDialog.js +11 -14
- package/lib/components/AppHeader/components/mobile/MenuDialog.js.map +1 -1
- package/lib/components/AppHeader/components/mobile/UserInfo.cjs +1 -13
- package/lib/components/AppHeader/components/mobile/UserInfo.cjs.map +1 -1
- package/lib/components/AppHeader/components/mobile/UserInfo.js +1 -13
- package/lib/components/AppHeader/components/mobile/UserInfo.js.map +1 -1
- package/lib/components/Browser/Browser.cjs +7 -9
- package/lib/components/Browser/Browser.cjs.map +1 -1
- package/lib/components/Browser/Browser.js +8 -10
- package/lib/components/Browser/Browser.js.map +1 -1
- package/lib/components/Button/useButtonWrapper.cjs.map +1 -1
- package/lib/components/Button/useButtonWrapper.js.map +1 -1
- package/lib/components/Calendar/CalendarTable.cjs +10 -10
- package/lib/components/Calendar/CalendarTable.cjs.map +1 -1
- package/lib/components/Calendar/CalendarTable.js +10 -10
- package/lib/components/Calendar/CalendarTable.js.map +1 -1
- package/lib/components/Combobox/ItemButton.cjs +27 -26
- package/lib/components/Combobox/ItemButton.cjs.map +1 -1
- package/lib/components/Combobox/ItemButton.js +28 -27
- package/lib/components/Combobox/ItemButton.js.map +1 -1
- package/lib/components/Combobox/MultiCombobox/MultiCombobox.cjs +32 -48
- package/lib/components/Combobox/MultiCombobox/MultiCombobox.cjs.map +1 -1
- package/lib/components/Combobox/MultiCombobox/MultiCombobox.js +32 -48
- package/lib/components/Combobox/MultiCombobox/MultiCombobox.js.map +1 -1
- package/lib/components/Combobox/SingleCombobox/SingleCombobox.cjs +35 -52
- package/lib/components/Combobox/SingleCombobox/SingleCombobox.cjs.map +1 -1
- package/lib/components/Combobox/SingleCombobox/SingleCombobox.js +35 -52
- package/lib/components/Combobox/SingleCombobox/SingleCombobox.js.map +1 -1
- package/lib/components/Combobox/useOptions.cjs +3 -3
- package/lib/components/Combobox/useOptions.cjs.map +1 -1
- package/lib/components/Combobox/useOptions.js +4 -4
- package/lib/components/Combobox/useOptions.js.map +1 -1
- package/lib/components/DatePicker/DatePicker.cjs +158 -156
- package/lib/components/DatePicker/DatePicker.cjs.map +1 -1
- package/lib/components/DatePicker/DatePicker.js +159 -157
- package/lib/components/DatePicker/DatePicker.js.map +1 -1
- package/lib/components/DatePicker/datePickerHelper.cjs +2 -2
- package/lib/components/DatePicker/datePickerHelper.cjs.map +1 -1
- package/lib/components/DatePicker/datePickerHelper.js +2 -2
- package/lib/components/DatePicker/datePickerHelper.js.map +1 -1
- package/lib/components/Dialog/ControlledActionDialog/ActionDialogContentInner.cjs +19 -19
- package/lib/components/Dialog/ControlledActionDialog/ActionDialogContentInner.cjs.map +1 -1
- package/lib/components/Dialog/ControlledActionDialog/ActionDialogContentInner.d.ts +2 -2
- package/lib/components/Dialog/ControlledActionDialog/ActionDialogContentInner.js +19 -19
- package/lib/components/Dialog/ControlledActionDialog/ActionDialogContentInner.js.map +1 -1
- package/lib/components/Dialog/ControlledActionDialog/ControlledActionDialog.cjs +15 -11
- package/lib/components/Dialog/ControlledActionDialog/ControlledActionDialog.cjs.map +1 -1
- package/lib/components/Dialog/ControlledActionDialog/ControlledActionDialog.d.ts +10 -2
- package/lib/components/Dialog/ControlledActionDialog/ControlledActionDialog.js +16 -12
- package/lib/components/Dialog/ControlledActionDialog/ControlledActionDialog.js.map +1 -1
- package/lib/components/Dialog/ControlledFormDialog/ControlledFormDialog.cjs +22 -11
- package/lib/components/Dialog/ControlledFormDialog/ControlledFormDialog.cjs.map +1 -1
- package/lib/components/Dialog/ControlledFormDialog/ControlledFormDialog.d.ts +11 -3
- package/lib/components/Dialog/ControlledFormDialog/ControlledFormDialog.js +23 -12
- package/lib/components/Dialog/ControlledFormDialog/ControlledFormDialog.js.map +1 -1
- package/lib/components/Dialog/ControlledFormDialog/FormDialogContentInner.cjs +15 -22
- package/lib/components/Dialog/ControlledFormDialog/FormDialogContentInner.cjs.map +1 -1
- package/lib/components/Dialog/ControlledFormDialog/FormDialogContentInner.d.ts +2 -3
- package/lib/components/Dialog/ControlledFormDialog/FormDialogContentInner.js +16 -23
- package/lib/components/Dialog/ControlledFormDialog/FormDialogContentInner.js.map +1 -1
- package/lib/components/Dialog/ControlledMessageDialog/ControlledMessageDialog.cjs +10 -6
- package/lib/components/Dialog/ControlledMessageDialog/ControlledMessageDialog.cjs.map +1 -1
- package/lib/components/Dialog/ControlledMessageDialog/ControlledMessageDialog.js +11 -7
- package/lib/components/Dialog/ControlledMessageDialog/ControlledMessageDialog.js.map +1 -1
- package/lib/components/Dialog/ControlledStepFormDialog/ControlledStepFormDialog.cjs +24 -20
- package/lib/components/Dialog/ControlledStepFormDialog/ControlledStepFormDialog.cjs.map +1 -1
- package/lib/components/Dialog/ControlledStepFormDialog/ControlledStepFormDialog.d.ts +5 -2
- package/lib/components/Dialog/ControlledStepFormDialog/ControlledStepFormDialog.js +25 -21
- package/lib/components/Dialog/ControlledStepFormDialog/ControlledStepFormDialog.js.map +1 -1
- package/lib/components/Dialog/ControlledStepFormDialog/StepFormDialogContentInner.cjs +62 -43
- package/lib/components/Dialog/ControlledStepFormDialog/StepFormDialogContentInner.cjs.map +1 -1
- package/lib/components/Dialog/ControlledStepFormDialog/StepFormDialogContentInner.d.ts +3 -3
- package/lib/components/Dialog/ControlledStepFormDialog/StepFormDialogContentInner.js +63 -44
- package/lib/components/Dialog/ControlledStepFormDialog/StepFormDialogContentInner.js.map +1 -1
- package/lib/components/Dialog/ControlledStepFormDialog/StepFormDialogProvider.cjs +3 -3
- package/lib/components/Dialog/ControlledStepFormDialog/StepFormDialogProvider.cjs.map +1 -1
- package/lib/components/Dialog/ControlledStepFormDialog/StepFormDialogProvider.d.ts +1 -1
- package/lib/components/Dialog/ControlledStepFormDialog/StepFormDialogProvider.js +3 -3
- package/lib/components/Dialog/ControlledStepFormDialog/StepFormDialogProvider.js.map +1 -1
- package/lib/components/Dialog/ControlledStepFormDialog/useStepFormDialogButton.cjs.map +1 -1
- package/lib/components/Dialog/ControlledStepFormDialog/useStepFormDialogButton.js.map +1 -1
- package/lib/components/Dialog/DialogContentInner.cjs +19 -14
- package/lib/components/Dialog/DialogContentInner.cjs.map +1 -1
- package/lib/components/Dialog/DialogContentInner.d.ts +2 -0
- package/lib/components/Dialog/DialogContentInner.js +20 -15
- package/lib/components/Dialog/DialogContentInner.js.map +1 -1
- package/lib/components/Dialog/DialogOverlap.cjs +1 -1
- package/lib/components/Dialog/DialogOverlap.js +1 -1
- package/lib/components/Dialog/ModelessDialog/ModelessDialog.cjs +8 -8
- package/lib/components/Dialog/ModelessDialog/ModelessDialog.cjs.map +1 -1
- package/lib/components/Dialog/ModelessDialog/ModelessDialog.js +8 -8
- package/lib/components/Dialog/ModelessDialog/ModelessDialog.js.map +1 -1
- package/lib/components/Dialog/RemoteDialogTrigger/ActionDialog.cjs +9 -2
- package/lib/components/Dialog/RemoteDialogTrigger/ActionDialog.cjs.map +1 -1
- package/lib/components/Dialog/RemoteDialogTrigger/ActionDialog.js +9 -2
- package/lib/components/Dialog/RemoteDialogTrigger/ActionDialog.js.map +1 -1
- package/lib/components/Dialog/RemoteDialogTrigger/FormDialog.cjs +2 -2
- package/lib/components/Dialog/RemoteDialogTrigger/FormDialog.cjs.map +1 -1
- package/lib/components/Dialog/RemoteDialogTrigger/FormDialog.js +2 -2
- package/lib/components/Dialog/RemoteDialogTrigger/FormDialog.js.map +1 -1
- package/lib/components/Dialog/RemoteDialogTrigger/MessageDialog.cjs +2 -2
- package/lib/components/Dialog/RemoteDialogTrigger/MessageDialog.cjs.map +1 -1
- package/lib/components/Dialog/RemoteDialogTrigger/MessageDialog.js +2 -2
- package/lib/components/Dialog/RemoteDialogTrigger/MessageDialog.js.map +1 -1
- package/lib/components/Dialog/RemoteDialogTrigger/RemoteDialogTrigger.cjs +26 -20
- package/lib/components/Dialog/RemoteDialogTrigger/RemoteDialogTrigger.cjs.map +1 -1
- package/lib/components/Dialog/RemoteDialogTrigger/RemoteDialogTrigger.js +27 -21
- package/lib/components/Dialog/RemoteDialogTrigger/RemoteDialogTrigger.js.map +1 -1
- package/lib/components/Dialog/RemoteDialogTrigger/StepFormDialog.cjs +2 -2
- package/lib/components/Dialog/RemoteDialogTrigger/StepFormDialog.cjs.map +1 -1
- package/lib/components/Dialog/RemoteDialogTrigger/StepFormDialog.js +2 -2
- package/lib/components/Dialog/RemoteDialogTrigger/StepFormDialog.js.map +1 -1
- package/lib/components/Dialog/useRemoteTrigger.cjs +34 -35
- package/lib/components/Dialog/useRemoteTrigger.cjs.map +1 -1
- package/lib/components/Dialog/useRemoteTrigger.d.ts +2 -2
- package/lib/components/Dialog/useRemoteTrigger.js +35 -36
- package/lib/components/Dialog/useRemoteTrigger.js.map +1 -1
- package/lib/components/Disclosure/DisclosureTrigger.cjs +22 -18
- package/lib/components/Disclosure/DisclosureTrigger.cjs.map +1 -1
- package/lib/components/Disclosure/DisclosureTrigger.js +23 -19
- package/lib/components/Disclosure/DisclosureTrigger.js.map +1 -1
- package/lib/components/DropZone/DropZone.cjs +28 -24
- package/lib/components/DropZone/DropZone.cjs.map +1 -1
- package/lib/components/DropZone/DropZone.js +29 -25
- package/lib/components/DropZone/DropZone.js.map +1 -1
- package/lib/components/Dropdown/Dropdown.cjs +13 -21
- package/lib/components/Dropdown/Dropdown.cjs.map +1 -1
- package/lib/components/Dropdown/Dropdown.js +14 -22
- package/lib/components/Dropdown/Dropdown.js.map +1 -1
- package/lib/components/Dropdown/DropdownMenuButton/DropdownMenuButton.cjs +4 -4
- package/lib/components/Dropdown/DropdownMenuButton/DropdownMenuButton.cjs.map +1 -1
- package/lib/components/Dropdown/DropdownMenuButton/DropdownMenuButton.js +4 -4
- package/lib/components/Dropdown/DropdownMenuButton/DropdownMenuButton.js.map +1 -1
- package/lib/components/Dropdown/SortDropdown/SortDropdown.cjs +6 -5
- package/lib/components/Dropdown/SortDropdown/SortDropdown.cjs.map +1 -1
- package/lib/components/Dropdown/SortDropdown/SortDropdown.js +6 -5
- package/lib/components/Dropdown/SortDropdown/SortDropdown.js.map +1 -1
- package/lib/components/Dropdown/SortDropdown/useSortDropdown.cjs +65 -52
- package/lib/components/Dropdown/SortDropdown/useSortDropdown.cjs.map +1 -1
- package/lib/components/Dropdown/SortDropdown/useSortDropdown.d.ts +8 -7
- package/lib/components/Dropdown/SortDropdown/useSortDropdown.js +66 -53
- package/lib/components/Dropdown/SortDropdown/useSortDropdown.js.map +1 -1
- package/lib/components/Dropdown/useKeyboardNavigation.cjs +63 -53
- package/lib/components/Dropdown/useKeyboardNavigation.cjs.map +1 -1
- package/lib/components/Dropdown/useKeyboardNavigation.js +64 -54
- package/lib/components/Dropdown/useKeyboardNavigation.js.map +1 -1
- package/lib/components/FileViewer/FileViewer.cjs +35 -2
- package/lib/components/FileViewer/FileViewer.cjs.map +1 -1
- package/lib/components/FileViewer/FileViewer.js +37 -4
- package/lib/components/FileViewer/FileViewer.js.map +1 -1
- package/lib/components/FileViewer/ImageViewer.cjs +48 -33
- package/lib/components/FileViewer/ImageViewer.cjs.map +1 -1
- package/lib/components/FileViewer/ImageViewer.js +49 -34
- package/lib/components/FileViewer/ImageViewer.js.map +1 -1
- package/lib/components/FileViewer/PDFViewer.cjs +68 -11
- package/lib/components/FileViewer/PDFViewer.cjs.map +1 -1
- package/lib/components/FileViewer/PDFViewer.d.ts +6 -1
- package/lib/components/FileViewer/PDFViewer.js +69 -12
- package/lib/components/FileViewer/PDFViewer.js.map +1 -1
- package/lib/components/FileViewer/SearchController.cjs +105 -0
- package/lib/components/FileViewer/SearchController.cjs.map +1 -0
- package/lib/components/FileViewer/SearchController.d.ts +7 -0
- package/lib/components/FileViewer/SearchController.js +103 -0
- package/lib/components/FileViewer/SearchController.js.map +1 -0
- package/lib/components/FileViewer/buildCustomTextRenderer.cjs +55 -0
- package/lib/components/FileViewer/buildCustomTextRenderer.cjs.map +1 -0
- package/lib/components/FileViewer/buildCustomTextRenderer.d.ts +9 -0
- package/lib/components/FileViewer/buildCustomTextRenderer.js +50 -0
- package/lib/components/FileViewer/buildCustomTextRenderer.js.map +1 -0
- package/lib/components/FileViewer/types.d.ts +9 -2
- package/lib/components/FileViewer/usePDFSearch.cjs +148 -0
- package/lib/components/FileViewer/usePDFSearch.cjs.map +1 -0
- package/lib/components/FileViewer/usePDFSearch.d.ts +19 -0
- package/lib/components/FileViewer/usePDFSearch.js +143 -0
- package/lib/components/FileViewer/usePDFSearch.js.map +1 -0
- package/lib/components/Header/Header.cjs +12 -11
- package/lib/components/Header/Header.cjs.map +1 -1
- package/lib/components/Header/Header.js +12 -11
- package/lib/components/Header/Header.js.map +1 -1
- package/lib/components/Header/LanguageSwitcher/LanguageSwitcher.cjs +23 -8
- package/lib/components/Header/LanguageSwitcher/LanguageSwitcher.cjs.map +1 -1
- package/lib/components/Header/LanguageSwitcher/LanguageSwitcher.js +23 -8
- package/lib/components/Header/LanguageSwitcher/LanguageSwitcher.js.map +1 -1
- package/lib/components/Icon/FaIcon.cjs +1 -1
- package/lib/components/Icon/FaIcon.js +1 -1
- package/lib/components/Icon/LanguageIcon.cjs +1 -1
- package/lib/components/Icon/LanguageIcon.js +1 -1
- package/lib/components/Icon/OpenInNewTabIcon.cjs +1 -1
- package/lib/components/Icon/OpenInNewTabIcon.js +1 -1
- package/lib/components/Icon/SparklesIcon.cjs +1 -1
- package/lib/components/Icon/SparklesIcon.js +1 -1
- package/lib/components/Icon/WarningIcon.cjs +1 -1
- package/lib/components/Icon/WarningIcon.js +1 -1
- package/lib/components/Input/CurrencyInput/CurrencyInput.cjs +36 -23
- package/lib/components/Input/CurrencyInput/CurrencyInput.cjs.map +1 -1
- package/lib/components/Input/CurrencyInput/CurrencyInput.js +37 -24
- package/lib/components/Input/CurrencyInput/CurrencyInput.js.map +1 -1
- package/lib/components/InputFile/InputFileMultiplyAppendable.cjs +41 -37
- package/lib/components/InputFile/InputFileMultiplyAppendable.cjs.map +1 -1
- package/lib/components/InputFile/InputFileMultiplyAppendable.js +42 -38
- package/lib/components/InputFile/InputFileMultiplyAppendable.js.map +1 -1
- package/lib/components/InputFile/InputFileNative.cjs +32 -27
- package/lib/components/InputFile/InputFileNative.cjs.map +1 -1
- package/lib/components/InputFile/InputFileNative.js +33 -28
- package/lib/components/InputFile/InputFileNative.js.map +1 -1
- package/lib/components/LineClamp/LineClamp.cjs +8 -11
- package/lib/components/LineClamp/LineClamp.cjs.map +1 -1
- package/lib/components/LineClamp/LineClamp.js +8 -11
- package/lib/components/LineClamp/LineClamp.js.map +1 -1
- package/lib/components/Pagination/Pagination.cjs +22 -16
- package/lib/components/Pagination/Pagination.cjs.map +1 -1
- package/lib/components/Pagination/Pagination.js +22 -16
- package/lib/components/Pagination/Pagination.js.map +1 -1
- package/lib/components/SegmentedControl/SegmentedControl.cjs +16 -27
- package/lib/components/SegmentedControl/SegmentedControl.cjs.map +1 -1
- package/lib/components/SegmentedControl/SegmentedControl.js +17 -28
- package/lib/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/lib/components/Table/Table.cjs +2 -2
- package/lib/components/Table/Table.cjs.map +1 -1
- package/lib/components/Table/Table.js +2 -2
- package/lib/components/Table/Table.js.map +1 -1
- package/lib/components/Table/{TableScrollContext.cjs → TableScroller.cjs} +23 -16
- package/lib/components/Table/TableScroller.cjs.map +1 -0
- package/lib/components/Table/{TableScrollContext.d.ts → TableScroller.d.ts} +1 -1
- package/lib/components/Table/{TableScrollContext.js → TableScroller.js} +24 -17
- package/lib/components/Table/TableScroller.js.map +1 -0
- package/lib/components/Table/Td.cjs.map +1 -1
- package/lib/components/Table/Td.js.map +1 -1
- package/lib/components/Table/ThCheckbox.cjs +10 -8
- package/lib/components/Table/ThCheckbox.cjs.map +1 -1
- package/lib/components/Table/ThCheckbox.js +10 -8
- package/lib/components/Table/ThCheckbox.js.map +1 -1
- package/lib/components/Table/ThSortButton.cjs +20 -19
- package/lib/components/Table/ThSortButton.cjs.map +1 -1
- package/lib/components/Table/ThSortButton.js +20 -19
- package/lib/components/Table/ThSortButton.js.map +1 -1
- package/lib/components/Text/Text.cjs.map +1 -1
- package/lib/components/Text/Text.js.map +1 -1
- package/lib/components/Textarea/Textarea.cjs +22 -30
- package/lib/components/Textarea/Textarea.cjs.map +1 -1
- package/lib/components/Textarea/Textarea.js +24 -32
- package/lib/components/Textarea/Textarea.js.map +1 -1
- package/lib/components/Tooltip/Tooltip.cjs +19 -37
- package/lib/components/Tooltip/Tooltip.cjs.map +1 -1
- package/lib/components/Tooltip/Tooltip.js +19 -37
- package/lib/components/Tooltip/Tooltip.js.map +1 -1
- package/lib/components/Tooltip/TooltipPortal.cjs +4 -6
- package/lib/components/Tooltip/TooltipPortal.cjs.map +1 -1
- package/lib/components/Tooltip/TooltipPortal.js +5 -7
- package/lib/components/Tooltip/TooltipPortal.js.map +1 -1
- package/lib/hooks/useLatest.cjs +33 -0
- package/lib/hooks/useLatest.cjs.map +1 -0
- package/lib/hooks/useLatest.d.ts +19 -0
- package/lib/hooks/useLatest.js +31 -0
- package/lib/hooks/useLatest.js.map +1 -0
- package/lib/intl/locales/en_us.json.cjs +3 -0
- package/lib/intl/locales/en_us.json.cjs.map +1 -1
- package/lib/intl/locales/en_us.json.js +3 -0
- package/lib/intl/locales/en_us.json.js.map +1 -1
- package/lib/intl/locales/id_id.json.cjs +3 -0
- package/lib/intl/locales/id_id.json.cjs.map +1 -1
- package/lib/intl/locales/id_id.json.js +3 -0
- package/lib/intl/locales/id_id.json.js.map +1 -1
- package/lib/intl/locales/index.d.ts +27 -0
- package/lib/intl/locales/ja.cjs +3 -0
- package/lib/intl/locales/ja.cjs.map +1 -1
- package/lib/intl/locales/ja.d.ts +3 -0
- package/lib/intl/locales/ja.js +3 -0
- package/lib/intl/locales/ja.js.map +1 -1
- package/lib/intl/locales/ja.json.cjs +3 -0
- package/lib/intl/locales/ja.json.cjs.map +1 -1
- package/lib/intl/locales/ja.json.js +3 -0
- package/lib/intl/locales/ja.json.js.map +1 -1
- package/lib/intl/locales/ja_easy.json.cjs +3 -0
- package/lib/intl/locales/ja_easy.json.cjs.map +1 -1
- package/lib/intl/locales/ja_easy.json.js +3 -0
- package/lib/intl/locales/ja_easy.json.js.map +1 -1
- package/lib/intl/locales/ko_kr.json.cjs +3 -0
- package/lib/intl/locales/ko_kr.json.cjs.map +1 -1
- package/lib/intl/locales/ko_kr.json.js +3 -0
- package/lib/intl/locales/ko_kr.json.js.map +1 -1
- package/lib/intl/locales/pt_br.json.cjs +3 -0
- package/lib/intl/locales/pt_br.json.cjs.map +1 -1
- package/lib/intl/locales/pt_br.json.js +3 -0
- package/lib/intl/locales/pt_br.json.js.map +1 -1
- package/lib/intl/locales/vi_vn.json.cjs +3 -0
- package/lib/intl/locales/vi_vn.json.cjs.map +1 -1
- package/lib/intl/locales/vi_vn.json.js +3 -0
- package/lib/intl/locales/vi_vn.json.js.map +1 -1
- package/lib/intl/locales/zh_hans_cn.json.cjs +3 -0
- package/lib/intl/locales/zh_hans_cn.json.cjs.map +1 -1
- package/lib/intl/locales/zh_hans_cn.json.js +3 -0
- package/lib/intl/locales/zh_hans_cn.json.js.map +1 -1
- package/lib/intl/locales/zh_hant_tw.json.cjs +3 -0
- package/lib/intl/locales/zh_hant_tw.json.cjs.map +1 -1
- package/lib/intl/locales/zh_hant_tw.json.js +3 -0
- package/lib/intl/locales/zh_hant_tw.json.js.map +1 -1
- package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/assertThisInitialized.cjs.map +1 -1
- package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/assertThisInitialized.js.map +1 -1
- package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/construct.cjs.map +1 -1
- package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/construct.js.map +1 -1
- package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/extends.cjs.map +1 -1
- package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/extends.js.map +1 -1
- package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/getPrototypeOf.cjs.map +1 -1
- package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/getPrototypeOf.js.map +1 -1
- package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/inheritsLoose.cjs.map +1 -1
- package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/inheritsLoose.js.map +1 -1
- package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/isNativeFunction.cjs.map +1 -1
- package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/isNativeFunction.js.map +1 -1
- package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/isNativeReflectConstruct.cjs.map +1 -1
- package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/isNativeReflectConstruct.js.map +1 -1
- package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.cjs.map +1 -1
- package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -1
- package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/setPrototypeOf.cjs.map +1 -1
- package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/setPrototypeOf.js.map +1 -1
- package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/wrapNativeSuper.cjs.map +1 -1
- package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/wrapNativeSuper.js.map +1 -1
- package/lib/vendor/.pnpm/@smarthr_wareki@1.3.1/vendor/@smarthr/wareki/lib/index.cjs +94 -0
- package/lib/vendor/.pnpm/@smarthr_wareki@1.3.1/vendor/@smarthr/wareki/lib/index.cjs.map +1 -0
- package/lib/vendor/.pnpm/@smarthr_wareki@1.3.1/vendor/@smarthr/wareki/lib/index.js +92 -0
- package/lib/vendor/.pnpm/@smarthr_wareki@1.3.1/vendor/@smarthr/wareki/lib/index.js.map +1 -0
- package/lib/vendor/.pnpm/lodash.merge@4.6.2/vendor/lodash.merge/index.cjs +1 -1
- package/lib/vendor/.pnpm/lodash.merge@4.6.2/vendor/lodash.merge/index.js +1 -1
- package/lib/vendor/.pnpm/polished@4.3.1/vendor/polished/dist/polished.esm.cjs +4 -4
- package/lib/vendor/.pnpm/polished@4.3.1/vendor/polished/dist/polished.esm.js +4 -4
- package/lib/vendor/.pnpm/prop-types@15.8.1/vendor/prop-types/index.cjs +1 -1
- package/lib/vendor/.pnpm/prop-types@15.8.1/vendor/prop-types/index.js +1 -1
- package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/Draggable.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/Draggable.js.map +1 -1
- package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/DraggableCore.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/DraggableCore.js.map +1 -1
- package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/cjs.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/cjs.js.map +1 -1
- package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/domFns.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/domFns.js.map +1 -1
- package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/getPrefix.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/getPrefix.js.map +1 -1
- package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/log.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/log.js.map +1 -1
- package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/positionFns.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/positionFns.js.map +1 -1
- package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/shims.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/shims.js.map +1 -1
- package/lib/vendor/.pnpm/{react-icons@5.6.0_react@19.2.6 → react-icons@5.7.0_react@19.2.7}/vendor/react-icons/fa6/index.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-icons@5.6.0_react@19.2.6 → react-icons@5.7.0_react@19.2.7}/vendor/react-icons/fa6/index.js.map +1 -1
- package/lib/vendor/.pnpm/{react-icons@5.6.0_react@19.2.6 → react-icons@5.7.0_react@19.2.7}/vendor/react-icons/lib/iconBase.cjs +3 -5
- package/lib/vendor/.pnpm/react-icons@5.7.0_react@19.2.7/vendor/react-icons/lib/iconBase.cjs.map +1 -0
- package/lib/vendor/.pnpm/{react-icons@5.6.0_react@19.2.6 → react-icons@5.7.0_react@19.2.7}/vendor/react-icons/lib/iconBase.js +3 -5
- package/lib/vendor/.pnpm/react-icons@5.7.0_react@19.2.7/vendor/react-icons/lib/iconBase.js.map +1 -0
- package/lib/vendor/.pnpm/{react-icons@5.6.0_react@19.2.6 → react-icons@5.7.0_react@19.2.7}/vendor/react-icons/lib/iconContext.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-icons@5.6.0_react@19.2.6 → react-icons@5.7.0_react@19.2.7}/vendor/react-icons/lib/iconContext.js.map +1 -1
- package/lib/vendor/.pnpm/{react-innertext@1.1.5_@types_react@18.3.28_react@19.2.6 → react-innertext@1.1.5_@types_react@18.3.28_react@19.2.7}/vendor/react-innertext/index.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-innertext@1.1.5_@types_react@18.3.28_react@19.2.6 → react-innertext@1.1.5_@types_react@18.3.28_react@19.2.7}/vendor/react-innertext/index.js.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Document.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Document.js.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/DocumentContext.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/DocumentContext.js.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/LinkService.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/LinkService.js.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Message.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Message.js.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page/AnnotationLayer.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page/AnnotationLayer.js.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page/Canvas.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page/Canvas.js.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page/TextLayer.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page/TextLayer.js.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page.js.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/PageContext.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/PageContext.js.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/PasswordResponses.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/PasswordResponses.js.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/StructTree.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/StructTree.js.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/StructTreeItem.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/StructTreeItem.js.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/index.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/index.js.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/constants.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/constants.js.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/hooks/useDocumentContext.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/hooks/useDocumentContext.js.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/hooks/usePageContext.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/hooks/usePageContext.js.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/hooks/useResolver.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/hooks/useResolver.js.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/structTreeUtils.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/structTreeUtils.js.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/utils.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/utils.js.map +1 -1
- package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/CSSTransition.cjs +3 -3
- package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/CSSTransition.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/CSSTransition.js +3 -3
- package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/CSSTransition.js.map +1 -1
- package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/Transition.cjs +2 -2
- package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/Transition.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/Transition.js +2 -2
- package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/Transition.js.map +1 -1
- package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/TransitionGroupContext.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/TransitionGroupContext.js.map +1 -1
- package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/config.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/config.js.map +1 -1
- package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/utils/reflow.cjs.map +1 -1
- package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/utils/reflow.js.map +1 -1
- package/metadata.json +1 -1
- package/package.json +6 -6
- package/smarthr-ui.css +35 -4
- package/lib/_virtual/index6.cjs +0 -6
- package/lib/_virtual/index6.cjs.map +0 -1
- package/lib/_virtual/index6.js +0 -4
- package/lib/_virtual/index6.js.map +0 -1
- package/lib/_virtual/index7.cjs +0 -6
- package/lib/_virtual/index7.cjs.map +0 -1
- package/lib/_virtual/index7.js +0 -4
- package/lib/_virtual/index7.js.map +0 -1
- package/lib/components/DatePicker/useGlobalKeyDown.cjs +0 -15
- package/lib/components/DatePicker/useGlobalKeyDown.cjs.map +0 -1
- package/lib/components/DatePicker/useGlobalKeyDown.d.ts +0 -1
- package/lib/components/DatePicker/useGlobalKeyDown.js +0 -13
- package/lib/components/DatePicker/useGlobalKeyDown.js.map +0 -1
- package/lib/components/Table/TableScrollContext.cjs.map +0 -1
- package/lib/components/Table/TableScrollContext.js.map +0 -1
- package/lib/vendor/.pnpm/@smarthr_wareki@1.3.0/vendor/@smarthr/wareki/lib/index.cjs +0 -134
- package/lib/vendor/.pnpm/@smarthr_wareki@1.3.0/vendor/@smarthr/wareki/lib/index.cjs.map +0 -1
- package/lib/vendor/.pnpm/@smarthr_wareki@1.3.0/vendor/@smarthr/wareki/lib/index.js +0 -132
- package/lib/vendor/.pnpm/@smarthr_wareki@1.3.0/vendor/@smarthr/wareki/lib/index.js.map +0 -1
- package/lib/vendor/.pnpm/react-icons@5.6.0_react@19.2.6/vendor/react-icons/lib/iconBase.cjs.map +0 -1
- package/lib/vendor/.pnpm/react-icons@5.6.0_react@19.2.6/vendor/react-icons/lib/iconBase.js.map +0 -1
- /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/assertThisInitialized.cjs +0 -0
- /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/assertThisInitialized.js +0 -0
- /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/construct.cjs +0 -0
- /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/construct.js +0 -0
- /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/extends.cjs +0 -0
- /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/extends.js +0 -0
- /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/getPrototypeOf.cjs +0 -0
- /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/getPrototypeOf.js +0 -0
- /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/inheritsLoose.cjs +0 -0
- /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/inheritsLoose.js +0 -0
- /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/isNativeFunction.cjs +0 -0
- /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/isNativeFunction.js +0 -0
- /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/isNativeReflectConstruct.cjs +0 -0
- /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/isNativeReflectConstruct.js +0 -0
- /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.cjs +0 -0
- /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +0 -0
- /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/setPrototypeOf.cjs +0 -0
- /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/setPrototypeOf.js +0 -0
- /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/wrapNativeSuper.cjs +0 -0
- /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/wrapNativeSuper.js +0 -0
- /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/Draggable.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/Draggable.js +0 -0
- /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/DraggableCore.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/DraggableCore.js +0 -0
- /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/cjs.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/cjs.js +0 -0
- /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/domFns.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/domFns.js +0 -0
- /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/getPrefix.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/getPrefix.js +0 -0
- /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/log.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/log.js +0 -0
- /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/positionFns.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/positionFns.js +0 -0
- /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/shims.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/shims.js +0 -0
- /package/lib/vendor/.pnpm/{react-icons@5.6.0_react@19.2.6 → react-icons@5.7.0_react@19.2.7}/vendor/react-icons/fa6/index.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-icons@5.6.0_react@19.2.6 → react-icons@5.7.0_react@19.2.7}/vendor/react-icons/fa6/index.js +0 -0
- /package/lib/vendor/.pnpm/{react-icons@5.6.0_react@19.2.6 → react-icons@5.7.0_react@19.2.7}/vendor/react-icons/lib/iconContext.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-icons@5.6.0_react@19.2.6 → react-icons@5.7.0_react@19.2.7}/vendor/react-icons/lib/iconContext.js +0 -0
- /package/lib/vendor/.pnpm/{react-innertext@1.1.5_@types_react@18.3.28_react@19.2.6 → react-innertext@1.1.5_@types_react@18.3.28_react@19.2.7}/vendor/react-innertext/index.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-innertext@1.1.5_@types_react@18.3.28_react@19.2.6 → react-innertext@1.1.5_@types_react@18.3.28_react@19.2.7}/vendor/react-innertext/index.js +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Document.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Document.js +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/DocumentContext.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/DocumentContext.js +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/LinkService.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/LinkService.js +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Message.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Message.js +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page/AnnotationLayer.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page/AnnotationLayer.js +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page/Canvas.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page/Canvas.js +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page/TextLayer.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page/TextLayer.js +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page.js +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/PageContext.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/PageContext.js +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/PasswordResponses.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/PasswordResponses.js +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/StructTree.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/StructTree.js +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/StructTreeItem.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/StructTreeItem.js +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/index.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/index.js +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/constants.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/constants.js +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/hooks/useDocumentContext.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/hooks/useDocumentContext.js +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/hooks/usePageContext.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/hooks/usePageContext.js +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/hooks/useResolver.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/hooks/useResolver.js +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/structTreeUtils.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/structTreeUtils.js +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/utils.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/utils.js +0 -0
- /package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/TransitionGroupContext.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/TransitionGroupContext.js +0 -0
- /package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/config.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/config.js +0 -0
- /package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/utils/reflow.cjs +0 -0
- /package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/utils/reflow.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserInfo.cjs","sources":["../../../../../src/components/AppHeader/components/mobile/UserInfo.tsx"],"sourcesContent":["import { type FC, memo, useCallback, useMemo, useState } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useIntl } from '../../../../intl'\nimport { Button } from '../../../Button'\nimport { Dialog } from '../../../Dialog'\nimport { Dropdown, DropdownContent, DropdownTrigger } from '../../../Dropdown'\nimport { FaGearIcon, FaGlobeIcon, FaUserLargeIcon } from '../../../Icon'\nimport { buildDisplayName } from '../../utils'\nimport { CommonButton } from '../common/CommonButton'\nimport { Translate } from '../common/Translate'\n\nimport { LanguageSelector } from './LanguageSelector'\n\nimport type { HeaderProps, UserInfoProps } from '../../types'\n\nconst classNameGenerator = tv({\n slots: {\n iconButton: ['[&&&]:shr-border-transparent [&&]:shr-p-0.25'],\n iconButtonInner: [\n 'shr-border-shorthand shr-block shr-flex shr-items-center shr-justify-center shr-rounded-full shr-bg-white shr-p-0.25',\n ],\n dropdownUserName: ['shr-box-border shr-min-w-[246px] shr-px-1 shr-py-0.75 shr-text-sm'],\n dropdownButtonArea: ['shr-border-t-shorthand shr-p-0.5'],\n },\n})\n\ntype Props = UserInfoProps & Pick<HeaderProps, 'locale'>\n\nexport const UserInfo = memo<Props>(\n ({ email, empCode, firstName, lastName, accountUrl, locale }) => {\n const displayName = useMemo(\n () =>\n buildDisplayName({\n email,\n empCode,\n firstName,\n lastName,\n }),\n [email, empCode, firstName, lastName],\n )\n\n return displayName ? (\n <ActualUserInfo accountUrl={accountUrl} displayName={displayName} locale={locale} />\n ) : null\n },\n)\n\nconst ActualUserInfo: FC<Pick<Props, 'accountUrl' | 'locale'> & { displayName: string }> = ({\n displayName,\n accountUrl,\n locale,\n}) => {\n const [languageDialogOpen, setLanguageDialogOpen] = useState(false)\n\n const dialogOpen = useCallback(() => setLanguageDialogOpen(true), [])\n const dialogClose = useCallback(() => setLanguageDialogOpen(false), [])\n\n const { localize } = useIntl()\n const translated = useMemo(\n () => ({\n account: localize({\n id: 'smarthr-ui/AppHeader/MobileHeader/account',\n defaultText: 'アカウント',\n }),\n userSetting: localize({\n id: 'smarthr-ui/AppHeader/userSettings',\n defaultText: '個人設定',\n }),\n }),\n [localize],\n )\n\n const classNames = useMemo(() => {\n const { iconButton, iconButtonInner, dropdownUserName, dropdownButtonArea } =\n classNameGenerator()\n\n return {\n iconButton: iconButton(),\n iconButtonInner: iconButtonInner(),\n dropdownUserName: dropdownUserName(),\n dropdownButtonArea: dropdownButtonArea(),\n }\n }, [])\n\n return (\n <>\n <Dropdown>\n <DropdownTrigger>\n <Button variant=\"skeleton\" size=\"S\" className={classNames.iconButton}>\n <span className={classNames.iconButtonInner}>\n <FaUserLargeIcon alt={translated.account} className=\"shr-fill-grey\" />\n </span>\n </Button>\n </DropdownTrigger>\n\n <DropdownContent>\n <div className={classNames.dropdownUserName}>\n <p>{displayName}</p>\n </div>\n\n {(locale || accountUrl) && (\n <div className={classNames.dropdownButtonArea}>\n {locale && (\n <CommonButton\n elementAs=\"button\"\n type=\"button\"\n onClick={dialogOpen}\n prefix={<FaGlobeIcon />}\n // eslint-disable-next-line smarthr/require-i18n-text\n >\n Language\n </CommonButton>\n )}\n\n {accountUrl && (\n <CommonButton\n elementAs=\"a\"\n href={accountUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n prefix={<FaGearIcon />}\n >\n <Translate>{translated.userSetting}</Translate>\n </CommonButton>\n )}\n </div>\n )}\n </DropdownContent>\n </Dropdown>\n\n {locale && (\n <Dialog isOpen={languageDialogOpen} onClickOverlay={dialogClose} width={246}>\n <LanguageSelector locale={locale} onClickClose={dialogClose} />\n </Dialog>\n )}\n </>\n )\n}\n"],"names":["tv","memo","useMemo","buildDisplayName","_jsx","useState","useCallback","useIntl","_jsxs","_Fragment","Dropdown","DropdownTrigger","Button","FaUserLargeIcon","DropdownContent","CommonButton","FaGlobeIcon","FaGearIcon","Translate","Dialog","LanguageSelector"],"mappings":"
|
|
1
|
+
{"version":3,"file":"UserInfo.cjs","sources":["../../../../../src/components/AppHeader/components/mobile/UserInfo.tsx"],"sourcesContent":["import { type FC, memo, useCallback, useMemo, useState } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useIntl } from '../../../../intl'\nimport { Button } from '../../../Button'\nimport { Dialog } from '../../../Dialog'\nimport { Dropdown, DropdownContent, DropdownTrigger } from '../../../Dropdown'\nimport { FaGearIcon, FaGlobeIcon, FaUserLargeIcon } from '../../../Icon'\nimport { buildDisplayName } from '../../utils'\nimport { CommonButton } from '../common/CommonButton'\nimport { Translate } from '../common/Translate'\n\nimport { LanguageSelector } from './LanguageSelector'\n\nimport type { HeaderProps, UserInfoProps } from '../../types'\n\nconst classNameGenerator = tv({\n slots: {\n iconButton: ['[&&&]:shr-border-transparent [&&]:shr-p-0.25'],\n iconButtonInner: [\n 'shr-border-shorthand shr-block shr-flex shr-items-center shr-justify-center shr-rounded-full shr-bg-white shr-p-0.25',\n ],\n dropdownUserName: ['shr-box-border shr-min-w-[246px] shr-px-1 shr-py-0.75 shr-text-sm'],\n dropdownButtonArea: ['shr-border-t-shorthand shr-p-0.5'],\n },\n})\n\ntype Props = UserInfoProps & Pick<HeaderProps, 'locale'>\n\nexport const UserInfo = memo<Props>(\n ({ email, empCode, firstName, lastName, accountUrl, locale }) => {\n const displayName = useMemo(\n () =>\n buildDisplayName({\n email,\n empCode,\n firstName,\n lastName,\n }),\n [email, empCode, firstName, lastName],\n )\n\n return displayName ? (\n <ActualUserInfo accountUrl={accountUrl} displayName={displayName} locale={locale} />\n ) : null\n },\n)\n\nconst ActualUserInfo: FC<Pick<Props, 'accountUrl' | 'locale'> & { displayName: string }> = ({\n displayName,\n accountUrl,\n locale,\n}) => {\n const [languageDialogOpen, setLanguageDialogOpen] = useState(false)\n\n const dialogOpen = useCallback(() => setLanguageDialogOpen(true), [])\n const dialogClose = useCallback(() => setLanguageDialogOpen(false), [])\n\n const { localize } = useIntl()\n const translated = useMemo(\n () => ({\n account: localize({\n id: 'smarthr-ui/AppHeader/MobileHeader/account',\n defaultText: 'アカウント',\n }),\n userSetting: localize({\n id: 'smarthr-ui/AppHeader/userSettings',\n defaultText: '個人設定',\n }),\n }),\n [localize],\n )\n\n const classNames = useMemo(() => {\n const { iconButton, iconButtonInner, dropdownUserName, dropdownButtonArea } =\n classNameGenerator()\n\n return {\n iconButton: iconButton(),\n iconButtonInner: iconButtonInner(),\n dropdownUserName: dropdownUserName(),\n dropdownButtonArea: dropdownButtonArea(),\n }\n }, [])\n\n return (\n <>\n <Dropdown>\n <DropdownTrigger>\n <Button variant=\"skeleton\" size=\"S\" className={classNames.iconButton}>\n <span className={classNames.iconButtonInner}>\n <FaUserLargeIcon alt={translated.account} className=\"shr-fill-grey\" />\n </span>\n </Button>\n </DropdownTrigger>\n\n <DropdownContent>\n <div className={classNames.dropdownUserName}>\n <p>{displayName}</p>\n </div>\n\n {(locale || accountUrl) && (\n <div className={classNames.dropdownButtonArea}>\n {locale && (\n <CommonButton\n elementAs=\"button\"\n type=\"button\"\n onClick={dialogOpen}\n prefix={<FaGlobeIcon />}\n // eslint-disable-next-line smarthr/require-i18n-text\n >\n Language\n </CommonButton>\n )}\n\n {accountUrl && (\n <CommonButton\n elementAs=\"a\"\n href={accountUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n prefix={<FaGearIcon />}\n >\n <Translate>{translated.userSetting}</Translate>\n </CommonButton>\n )}\n </div>\n )}\n </DropdownContent>\n </Dropdown>\n\n {locale && (\n <Dialog isOpen={languageDialogOpen} onClickOverlay={dialogClose} width={246}>\n <LanguageSelector locale={locale} onClickClose={dialogClose} />\n </Dialog>\n )}\n </>\n )\n}\n"],"names":["tv","memo","useMemo","buildDisplayName","_jsx","useState","useCallback","useIntl","_jsxs","_Fragment","Dropdown","DropdownTrigger","Button","FaUserLargeIcon","DropdownContent","CommonButton","FaGlobeIcon","FaGearIcon","Translate","Dialog","LanguageSelector"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,MAAM,kBAAkB,GAAGA,QAAE,CAAC;AAC5B,IAAA,KAAK,EAAE;QACL,UAAU,EAAE,CAAC,8CAA8C,CAAC;AAC5D,QAAA,eAAe,EAAE;YACf,sHAAsH;AACvH,SAAA;QACD,gBAAgB,EAAE,CAAC,mEAAmE,CAAC;QACvF,kBAAkB,EAAE,CAAC,kCAAkC,CAAC;AACzD,KAAA;AACF,CAAA,CAAC;MAIW,QAAQ,GAAGC,UAAI,CAC1B,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,KAAI;IAC9D,MAAM,WAAW,GAAGC,aAAO,CACzB,MACEC,2CAAgB,CAAC;QACf,KAAK;QACL,OAAO;QACP,SAAS;QACT,QAAQ;KACT,CAAC,EACJ,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CACtC;IAED,OAAO,WAAW,IAChBC,eAAC,cAAc,EAAA,EAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAA,CAAI,IAClF,IAAI;AACV,CAAC;AAGH,MAAM,cAAc,GAAuE,CAAC,EAC1F,WAAW,EACX,UAAU,EACV,MAAM,GACP,KAAI;IACH,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC;AAEnE,IAAA,MAAM,UAAU,GAAGC,iBAAW,CAAC,MAAM,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;AACrE,IAAA,MAAM,WAAW,GAAGA,iBAAW,CAAC,MAAM,qBAAqB,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;AAEvE,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAGC,oBAAO,EAAE;AAC9B,IAAA,MAAM,UAAU,GAAGL,aAAO,CACxB,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC;AAChB,YAAA,EAAE,EAAE,2CAA2C;AAC/C,YAAA,WAAW,EAAE,OAAO;SACrB,CAAC;QACF,WAAW,EAAE,QAAQ,CAAC;AACpB,YAAA,EAAE,EAAE,mCAAmC;AACvC,YAAA,WAAW,EAAE,MAAM;SACpB,CAAC;AACH,KAAA,CAAC,EACF,CAAC,QAAQ,CAAC,CACX;AAED,IAAA,MAAM,UAAU,GAAGA,aAAO,CAAC,MAAK;AAC9B,QAAA,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,GACzE,kBAAkB,EAAE;QAEtB,OAAO;YACL,UAAU,EAAE,UAAU,EAAE;YACxB,eAAe,EAAE,eAAe,EAAE;YAClC,gBAAgB,EAAE,gBAAgB,EAAE;YACpC,kBAAkB,EAAE,kBAAkB,EAAE;SACzC;IACH,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,QACEM,eAAA,CAAAC,mBAAA,EAAA,EAAA,QAAA,EAAA,CACED,eAAA,CAACE,qCAAQ,EAAA,EAAA,QAAA,EAAA,CACPN,cAAA,CAACO,mDAAe,EAAA,EAAA,QAAA,EACdP,cAAA,CAACQ,+BAAM,EAAA,EAAC,OAAO,EAAC,UAAU,EAAC,IAAI,EAAC,GAAG,EAAC,SAAS,EAAE,UAAU,CAAC,UAAU,EAAA,QAAA,EAClER,yBAAM,SAAS,EAAE,UAAU,CAAC,eAAe,YACzCA,cAAA,CAACS,sCAAe,IAAC,GAAG,EAAE,UAAU,CAAC,OAAO,EAAE,SAAS,EAAC,eAAe,EAAA,CAAG,GACjE,EAAA,CACA,EAAA,CACO,EAElBL,eAAA,CAACM,mDAAe,eACdV,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,UAAU,CAAC,gBAAgB,EAAA,QAAA,EACzCA,cAAA,CAAA,GAAA,EAAA,EAAA,QAAA,EAAI,WAAW,EAAA,CAAK,EAAA,CAChB,EAEL,CAAC,MAAM,IAAI,UAAU,MACpBI,yBAAK,SAAS,EAAE,UAAU,CAAC,kBAAkB,aAC1C,MAAM,KACLJ,cAAA,CAACW,gEAAY,IACX,SAAS,EAAC,QAAQ,EAClB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,UAAU,EACnB,MAAM,EAAEX,cAAA,CAACY,kCAAW,KAAG,EAAA,QAAA,EAAA,UAAA,EAAA,CAIV,CAChB,EAEA,UAAU,KACTZ,cAAA,CAACW,gEAAY,IACX,SAAS,EAAC,GAAG,EACb,IAAI,EAAE,UAAU,EAChB,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,MAAM,EAAEX,cAAA,CAACa,iCAAU,EAAA,EAAA,CAAG,EAAA,QAAA,EAEtBb,eAACc,0DAAS,EAAA,EAAA,QAAA,EAAE,UAAU,CAAC,WAAW,EAAA,CAAa,EAAA,CAClC,CAChB,CAAA,EAAA,CACG,CACP,IACe,CAAA,EAAA,CACT,EAEV,MAAM,KACLd,eAACe,+BAAM,EAAA,EAAC,MAAM,EAAE,kBAAkB,EAAE,cAAc,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,YACzEf,cAAA,CAACgB,wEAAgB,IAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAA,CAAI,GACxD,CACV,CAAA,EAAA,CACA;AAEP,CAAC;;;;"}
|
|
@@ -13,19 +13,7 @@ import { Dialog } from '../../../Dialog/Dialog.js';
|
|
|
13
13
|
import '../../../Dialog/DialogContentInner.js';
|
|
14
14
|
import 'react-dom';
|
|
15
15
|
import '../../../Dialog/ControlledMessageDialog/MessageDialogContentInner.js';
|
|
16
|
-
import '../../../
|
|
17
|
-
import '../../../Layout/Cluster/Cluster.js';
|
|
18
|
-
import '../../../Layout/Reel/Reel.js';
|
|
19
|
-
import '../../../Layout/Sidebar/Sidebar.js';
|
|
20
|
-
import '../../../Layout/Center/Center.js';
|
|
21
|
-
import '../../../Layout/Container/Container.js';
|
|
22
|
-
import '../../../SectioningContent/SectioningContent.js';
|
|
23
|
-
import '../../../SectioningContent/levelContext.js';
|
|
24
|
-
import 'styled-components';
|
|
25
|
-
import '../../../Dialog/DialogBody.js';
|
|
26
|
-
import '../../../ResponseMessage/ResponseMessage.js';
|
|
27
|
-
import '../../../Dialog/DialogHeading.js';
|
|
28
|
-
import '../../../Dialog/dialogInnerStyle.js';
|
|
16
|
+
import '../../../Dialog/ControlledStepFormDialog/StepFormDialogContentInner.js';
|
|
29
17
|
import '../../../Dialog/ControlledStepFormDialog/StepFormDialogProvider.js';
|
|
30
18
|
import '../../../Dialog/ControlledFormDialog/FormDialogContentInner.js';
|
|
31
19
|
import '../../../Dialog/ControlledActionDialog/ActionDialogContentInner.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserInfo.js","sources":["../../../../../src/components/AppHeader/components/mobile/UserInfo.tsx"],"sourcesContent":["import { type FC, memo, useCallback, useMemo, useState } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useIntl } from '../../../../intl'\nimport { Button } from '../../../Button'\nimport { Dialog } from '../../../Dialog'\nimport { Dropdown, DropdownContent, DropdownTrigger } from '../../../Dropdown'\nimport { FaGearIcon, FaGlobeIcon, FaUserLargeIcon } from '../../../Icon'\nimport { buildDisplayName } from '../../utils'\nimport { CommonButton } from '../common/CommonButton'\nimport { Translate } from '../common/Translate'\n\nimport { LanguageSelector } from './LanguageSelector'\n\nimport type { HeaderProps, UserInfoProps } from '../../types'\n\nconst classNameGenerator = tv({\n slots: {\n iconButton: ['[&&&]:shr-border-transparent [&&]:shr-p-0.25'],\n iconButtonInner: [\n 'shr-border-shorthand shr-block shr-flex shr-items-center shr-justify-center shr-rounded-full shr-bg-white shr-p-0.25',\n ],\n dropdownUserName: ['shr-box-border shr-min-w-[246px] shr-px-1 shr-py-0.75 shr-text-sm'],\n dropdownButtonArea: ['shr-border-t-shorthand shr-p-0.5'],\n },\n})\n\ntype Props = UserInfoProps & Pick<HeaderProps, 'locale'>\n\nexport const UserInfo = memo<Props>(\n ({ email, empCode, firstName, lastName, accountUrl, locale }) => {\n const displayName = useMemo(\n () =>\n buildDisplayName({\n email,\n empCode,\n firstName,\n lastName,\n }),\n [email, empCode, firstName, lastName],\n )\n\n return displayName ? (\n <ActualUserInfo accountUrl={accountUrl} displayName={displayName} locale={locale} />\n ) : null\n },\n)\n\nconst ActualUserInfo: FC<Pick<Props, 'accountUrl' | 'locale'> & { displayName: string }> = ({\n displayName,\n accountUrl,\n locale,\n}) => {\n const [languageDialogOpen, setLanguageDialogOpen] = useState(false)\n\n const dialogOpen = useCallback(() => setLanguageDialogOpen(true), [])\n const dialogClose = useCallback(() => setLanguageDialogOpen(false), [])\n\n const { localize } = useIntl()\n const translated = useMemo(\n () => ({\n account: localize({\n id: 'smarthr-ui/AppHeader/MobileHeader/account',\n defaultText: 'アカウント',\n }),\n userSetting: localize({\n id: 'smarthr-ui/AppHeader/userSettings',\n defaultText: '個人設定',\n }),\n }),\n [localize],\n )\n\n const classNames = useMemo(() => {\n const { iconButton, iconButtonInner, dropdownUserName, dropdownButtonArea } =\n classNameGenerator()\n\n return {\n iconButton: iconButton(),\n iconButtonInner: iconButtonInner(),\n dropdownUserName: dropdownUserName(),\n dropdownButtonArea: dropdownButtonArea(),\n }\n }, [])\n\n return (\n <>\n <Dropdown>\n <DropdownTrigger>\n <Button variant=\"skeleton\" size=\"S\" className={classNames.iconButton}>\n <span className={classNames.iconButtonInner}>\n <FaUserLargeIcon alt={translated.account} className=\"shr-fill-grey\" />\n </span>\n </Button>\n </DropdownTrigger>\n\n <DropdownContent>\n <div className={classNames.dropdownUserName}>\n <p>{displayName}</p>\n </div>\n\n {(locale || accountUrl) && (\n <div className={classNames.dropdownButtonArea}>\n {locale && (\n <CommonButton\n elementAs=\"button\"\n type=\"button\"\n onClick={dialogOpen}\n prefix={<FaGlobeIcon />}\n // eslint-disable-next-line smarthr/require-i18n-text\n >\n Language\n </CommonButton>\n )}\n\n {accountUrl && (\n <CommonButton\n elementAs=\"a\"\n href={accountUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n prefix={<FaGearIcon />}\n >\n <Translate>{translated.userSetting}</Translate>\n </CommonButton>\n )}\n </div>\n )}\n </DropdownContent>\n </Dropdown>\n\n {locale && (\n <Dialog isOpen={languageDialogOpen} onClickOverlay={dialogClose} width={246}>\n <LanguageSelector locale={locale} onClickClose={dialogClose} />\n </Dialog>\n )}\n </>\n )\n}\n"],"names":["tv","_jsx","_jsxs","_Fragment"],"mappings":"
|
|
1
|
+
{"version":3,"file":"UserInfo.js","sources":["../../../../../src/components/AppHeader/components/mobile/UserInfo.tsx"],"sourcesContent":["import { type FC, memo, useCallback, useMemo, useState } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useIntl } from '../../../../intl'\nimport { Button } from '../../../Button'\nimport { Dialog } from '../../../Dialog'\nimport { Dropdown, DropdownContent, DropdownTrigger } from '../../../Dropdown'\nimport { FaGearIcon, FaGlobeIcon, FaUserLargeIcon } from '../../../Icon'\nimport { buildDisplayName } from '../../utils'\nimport { CommonButton } from '../common/CommonButton'\nimport { Translate } from '../common/Translate'\n\nimport { LanguageSelector } from './LanguageSelector'\n\nimport type { HeaderProps, UserInfoProps } from '../../types'\n\nconst classNameGenerator = tv({\n slots: {\n iconButton: ['[&&&]:shr-border-transparent [&&]:shr-p-0.25'],\n iconButtonInner: [\n 'shr-border-shorthand shr-block shr-flex shr-items-center shr-justify-center shr-rounded-full shr-bg-white shr-p-0.25',\n ],\n dropdownUserName: ['shr-box-border shr-min-w-[246px] shr-px-1 shr-py-0.75 shr-text-sm'],\n dropdownButtonArea: ['shr-border-t-shorthand shr-p-0.5'],\n },\n})\n\ntype Props = UserInfoProps & Pick<HeaderProps, 'locale'>\n\nexport const UserInfo = memo<Props>(\n ({ email, empCode, firstName, lastName, accountUrl, locale }) => {\n const displayName = useMemo(\n () =>\n buildDisplayName({\n email,\n empCode,\n firstName,\n lastName,\n }),\n [email, empCode, firstName, lastName],\n )\n\n return displayName ? (\n <ActualUserInfo accountUrl={accountUrl} displayName={displayName} locale={locale} />\n ) : null\n },\n)\n\nconst ActualUserInfo: FC<Pick<Props, 'accountUrl' | 'locale'> & { displayName: string }> = ({\n displayName,\n accountUrl,\n locale,\n}) => {\n const [languageDialogOpen, setLanguageDialogOpen] = useState(false)\n\n const dialogOpen = useCallback(() => setLanguageDialogOpen(true), [])\n const dialogClose = useCallback(() => setLanguageDialogOpen(false), [])\n\n const { localize } = useIntl()\n const translated = useMemo(\n () => ({\n account: localize({\n id: 'smarthr-ui/AppHeader/MobileHeader/account',\n defaultText: 'アカウント',\n }),\n userSetting: localize({\n id: 'smarthr-ui/AppHeader/userSettings',\n defaultText: '個人設定',\n }),\n }),\n [localize],\n )\n\n const classNames = useMemo(() => {\n const { iconButton, iconButtonInner, dropdownUserName, dropdownButtonArea } =\n classNameGenerator()\n\n return {\n iconButton: iconButton(),\n iconButtonInner: iconButtonInner(),\n dropdownUserName: dropdownUserName(),\n dropdownButtonArea: dropdownButtonArea(),\n }\n }, [])\n\n return (\n <>\n <Dropdown>\n <DropdownTrigger>\n <Button variant=\"skeleton\" size=\"S\" className={classNames.iconButton}>\n <span className={classNames.iconButtonInner}>\n <FaUserLargeIcon alt={translated.account} className=\"shr-fill-grey\" />\n </span>\n </Button>\n </DropdownTrigger>\n\n <DropdownContent>\n <div className={classNames.dropdownUserName}>\n <p>{displayName}</p>\n </div>\n\n {(locale || accountUrl) && (\n <div className={classNames.dropdownButtonArea}>\n {locale && (\n <CommonButton\n elementAs=\"button\"\n type=\"button\"\n onClick={dialogOpen}\n prefix={<FaGlobeIcon />}\n // eslint-disable-next-line smarthr/require-i18n-text\n >\n Language\n </CommonButton>\n )}\n\n {accountUrl && (\n <CommonButton\n elementAs=\"a\"\n href={accountUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n prefix={<FaGearIcon />}\n >\n <Translate>{translated.userSetting}</Translate>\n </CommonButton>\n )}\n </div>\n )}\n </DropdownContent>\n </Dropdown>\n\n {locale && (\n <Dialog isOpen={languageDialogOpen} onClickOverlay={dialogClose} width={246}>\n <LanguageSelector locale={locale} onClickClose={dialogClose} />\n </Dialog>\n )}\n </>\n )\n}\n"],"names":["tv","_jsx","_jsxs","_Fragment"],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.17_@types_node@20.19.35_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
|
|
6
|
+
var hooks_useLatest = require('../../hooks/useLatest.cjs');
|
|
6
7
|
var components_Browser_BrowserColumn = require('./BrowserColumn.cjs');
|
|
7
8
|
var components_Browser_models_ItemNode = require('./models/ItemNode.cjs');
|
|
8
9
|
var components_Browser_models_RootNode = require('./models/RootNode.cjs');
|
|
@@ -51,14 +52,11 @@ const Browser = ({ value, items, onSelectItem, className, ...rest }) => {
|
|
|
51
52
|
return [];
|
|
52
53
|
return [...node.getAncestors().map((n) => n.value), node.value];
|
|
53
54
|
}, [rootNode, value]);
|
|
54
|
-
const
|
|
55
|
-
unstableRef.current = { onSelectItem, value, rootNode };
|
|
55
|
+
const latest = hooks_useLatest.useLatest({ onSelectItem, value, rootNode });
|
|
56
56
|
// FIXME: focusメソッドのfocusVisibleが主要ブラウザでサポートされたら使うようにしたい(現状ではマウスクリックでもfocusのoutlineが出てしまう)
|
|
57
57
|
// https://developer.mozilla.org/ja/docs/Web/API/HTMLElement/focus
|
|
58
58
|
const onDelegateKeyDown = React.useCallback((e) => {
|
|
59
|
-
const selectedNode =
|
|
60
|
-
? unstableRef.current.rootNode.findByValue(unstableRef.current.value)
|
|
61
|
-
: undefined;
|
|
59
|
+
const selectedNode = latest.value ? latest.rootNode.findByValue(latest.value) : undefined;
|
|
62
60
|
if (!selectedNode) {
|
|
63
61
|
return;
|
|
64
62
|
}
|
|
@@ -88,13 +86,13 @@ const Browser = ({ value, items, onSelectItem, className, ...rest }) => {
|
|
|
88
86
|
}
|
|
89
87
|
if (target) {
|
|
90
88
|
e.preventDefault();
|
|
91
|
-
|
|
89
|
+
latest.onSelectItem?.(target.value);
|
|
92
90
|
document.getElementById(components_Browser_utils.getElementIdFromNode(target.value))?.focus();
|
|
93
91
|
}
|
|
94
|
-
}, []);
|
|
92
|
+
}, [latest]);
|
|
95
93
|
const onChangeInput = React.useCallback((e) => {
|
|
96
|
-
|
|
97
|
-
}, []);
|
|
94
|
+
latest.onSelectItem?.(e.currentTarget.value);
|
|
95
|
+
}, [latest]);
|
|
98
96
|
return (
|
|
99
97
|
// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
|
|
100
98
|
jsxRuntime.jsx("div", { ...rest, role: "application", onKeyDown: onDelegateKeyDown, className: classNames.wrapper, children: columns.map((colItems, index) => (jsxRuntime.jsx(components_Browser_BrowserColumn.BrowserColumn, { items: colItems, index: index, value: selectedPath[index], onChangeInput: onSelectItem ? onChangeInput : undefined, className: classNames.column }, index))) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Browser.cjs","sources":["../../../src/components/Browser/Browser.tsx"],"sourcesContent":["import {\n type ChangeEvent,\n type ComponentProps,\n type FC,\n type KeyboardEventHandler,\n useCallback,\n useMemo,\n
|
|
1
|
+
{"version":3,"file":"Browser.cjs","sources":["../../../src/components/Browser/Browser.tsx"],"sourcesContent":["import {\n type ChangeEvent,\n type ComponentProps,\n type FC,\n type KeyboardEventHandler,\n useCallback,\n useMemo,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useLatest } from '../../hooks/useLatest'\n\nimport { BrowserColumn } from './BrowserColumn'\nimport { ItemNode, type ItemNodeLike, RootNode } from './models'\nimport { getElementIdFromNode } from './utils'\n\nconst classNameGenerator = tv({\n slots: {\n wrapper: ['smarthr-ui-Browser', 'shr-flex'],\n column: ['shr-min-w-[13em] shr-list-none', '[&_+_&]:shr-border-l-shorthand'],\n },\n variants: {\n maxColumn: {\n 1: {\n column: 'shr-max-w-[theme(width.1/3)]',\n },\n 2: {},\n 3: {},\n },\n },\n compoundVariants: [\n {\n maxColumn: [2, 3],\n className: {\n column: 'last:shr-grow',\n },\n },\n ],\n})\n\ntype AbstractProps = {\n /** 表示する item の配列 */\n items: ItemNodeLike[]\n /** 選択中の item の値 */\n value?: string\n /** 選択された際に呼び出されるコールバック。第一引数に item の value を取る。 */\n onSelectItem?: (value: string) => void\n}\ntype Props = AbstractProps & Omit<ComponentProps<'div'>, keyof AbstractProps>\n\nexport const Browser: FC<Props> = ({ value, items, onSelectItem, className, ...rest }) => {\n const rootNode = useMemo(() => RootNode.from({ children: items }), [items])\n const columns = useMemo(() => rootNode.toViewData(value), [rootNode, value])\n\n const classNames = useMemo(() => {\n const { wrapper, column } = classNameGenerator({ className })\n return {\n wrapper: wrapper(),\n column: column({\n maxColumn: columns.length as 1 | 2 | 3,\n }),\n }\n }, [className, columns.length])\n\n const selectedPath = useMemo(() => {\n if (!value) return []\n const node = rootNode.findByValue(value)\n if (!node) return []\n return [...node.getAncestors().map((n) => n.value), node.value]\n }, [rootNode, value])\n\n const latest = useLatest({ onSelectItem, value, rootNode })\n\n // FIXME: focusメソッドのfocusVisibleが主要ブラウザでサポートされたら使うようにしたい(現状ではマウスクリックでもfocusのoutlineが出てしまう)\n // https://developer.mozilla.org/ja/docs/Web/API/HTMLElement/focus\n const onDelegateKeyDown: KeyboardEventHandler = useCallback(\n (e) => {\n const selectedNode = latest.value ? latest.rootNode.findByValue(latest.value) : undefined\n\n if (!selectedNode) {\n return\n }\n\n let target: ItemNode | undefined = undefined\n\n switch (e.key) {\n case 'ArrowUp': {\n target = selectedNode.getPrev() ?? selectedNode.parent?.getLastChild()\n\n break\n }\n case 'ArrowDown': {\n target = selectedNode.getNext() ?? selectedNode.parent?.getFirstChild()\n\n break\n }\n case 'ArrowLeft': {\n const node = selectedNode.parent\n\n if (node instanceof ItemNode) {\n target = node\n }\n\n break\n }\n case 'ArrowRight':\n case 'Enter':\n case ' ': {\n target = selectedNode.getFirstChild()\n\n break\n }\n }\n\n if (target) {\n e.preventDefault()\n latest.onSelectItem?.(target.value)\n document.getElementById(getElementIdFromNode(target.value))?.focus()\n }\n },\n [latest],\n )\n\n const onChangeInput = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n latest.onSelectItem?.(e.currentTarget.value)\n },\n [latest],\n )\n\n return (\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n <div {...rest} role=\"application\" onKeyDown={onDelegateKeyDown} className={classNames.wrapper}>\n {columns.map((colItems, index) => (\n <BrowserColumn\n key={index}\n items={colItems}\n index={index}\n value={selectedPath[index]}\n onChangeInput={onSelectItem ? onChangeInput : undefined}\n className={classNames.column}\n />\n ))}\n </div>\n )\n}\n"],"names":["tv","useMemo","RootNode","useLatest","useCallback","ItemNode","getElementIdFromNode","_jsx","BrowserColumn"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { useMemo,
|
|
2
|
+
import { useMemo, useCallback } from 'react';
|
|
3
3
|
import { tv as ce } from './../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.17_@types_node@20.19.35_typescript@5.9.3__/vendor/tailwind-variants/dist/index.js';
|
|
4
|
+
import { useLatest } from '../../hooks/useLatest.js';
|
|
4
5
|
import { BrowserColumn } from './BrowserColumn.js';
|
|
5
6
|
import { ItemNode } from './models/ItemNode.js';
|
|
6
7
|
import { RootNode } from './models/RootNode.js';
|
|
@@ -49,14 +50,11 @@ const Browser = ({ value, items, onSelectItem, className, ...rest }) => {
|
|
|
49
50
|
return [];
|
|
50
51
|
return [...node.getAncestors().map((n) => n.value), node.value];
|
|
51
52
|
}, [rootNode, value]);
|
|
52
|
-
const
|
|
53
|
-
unstableRef.current = { onSelectItem, value, rootNode };
|
|
53
|
+
const latest = useLatest({ onSelectItem, value, rootNode });
|
|
54
54
|
// FIXME: focusメソッドのfocusVisibleが主要ブラウザでサポートされたら使うようにしたい(現状ではマウスクリックでもfocusのoutlineが出てしまう)
|
|
55
55
|
// https://developer.mozilla.org/ja/docs/Web/API/HTMLElement/focus
|
|
56
56
|
const onDelegateKeyDown = useCallback((e) => {
|
|
57
|
-
const selectedNode =
|
|
58
|
-
? unstableRef.current.rootNode.findByValue(unstableRef.current.value)
|
|
59
|
-
: undefined;
|
|
57
|
+
const selectedNode = latest.value ? latest.rootNode.findByValue(latest.value) : undefined;
|
|
60
58
|
if (!selectedNode) {
|
|
61
59
|
return;
|
|
62
60
|
}
|
|
@@ -86,13 +84,13 @@ const Browser = ({ value, items, onSelectItem, className, ...rest }) => {
|
|
|
86
84
|
}
|
|
87
85
|
if (target) {
|
|
88
86
|
e.preventDefault();
|
|
89
|
-
|
|
87
|
+
latest.onSelectItem?.(target.value);
|
|
90
88
|
document.getElementById(getElementIdFromNode(target.value))?.focus();
|
|
91
89
|
}
|
|
92
|
-
}, []);
|
|
90
|
+
}, [latest]);
|
|
93
91
|
const onChangeInput = useCallback((e) => {
|
|
94
|
-
|
|
95
|
-
}, []);
|
|
92
|
+
latest.onSelectItem?.(e.currentTarget.value);
|
|
93
|
+
}, [latest]);
|
|
96
94
|
return (
|
|
97
95
|
// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
|
|
98
96
|
jsx("div", { ...rest, role: "application", onKeyDown: onDelegateKeyDown, className: classNames.wrapper, children: columns.map((colItems, index) => (jsx(BrowserColumn, { items: colItems, index: index, value: selectedPath[index], onChangeInput: onSelectItem ? onChangeInput : undefined, className: classNames.column }, index))) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Browser.js","sources":["../../../src/components/Browser/Browser.tsx"],"sourcesContent":["import {\n type ChangeEvent,\n type ComponentProps,\n type FC,\n type KeyboardEventHandler,\n useCallback,\n useMemo,\n
|
|
1
|
+
{"version":3,"file":"Browser.js","sources":["../../../src/components/Browser/Browser.tsx"],"sourcesContent":["import {\n type ChangeEvent,\n type ComponentProps,\n type FC,\n type KeyboardEventHandler,\n useCallback,\n useMemo,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useLatest } from '../../hooks/useLatest'\n\nimport { BrowserColumn } from './BrowserColumn'\nimport { ItemNode, type ItemNodeLike, RootNode } from './models'\nimport { getElementIdFromNode } from './utils'\n\nconst classNameGenerator = tv({\n slots: {\n wrapper: ['smarthr-ui-Browser', 'shr-flex'],\n column: ['shr-min-w-[13em] shr-list-none', '[&_+_&]:shr-border-l-shorthand'],\n },\n variants: {\n maxColumn: {\n 1: {\n column: 'shr-max-w-[theme(width.1/3)]',\n },\n 2: {},\n 3: {},\n },\n },\n compoundVariants: [\n {\n maxColumn: [2, 3],\n className: {\n column: 'last:shr-grow',\n },\n },\n ],\n})\n\ntype AbstractProps = {\n /** 表示する item の配列 */\n items: ItemNodeLike[]\n /** 選択中の item の値 */\n value?: string\n /** 選択された際に呼び出されるコールバック。第一引数に item の value を取る。 */\n onSelectItem?: (value: string) => void\n}\ntype Props = AbstractProps & Omit<ComponentProps<'div'>, keyof AbstractProps>\n\nexport const Browser: FC<Props> = ({ value, items, onSelectItem, className, ...rest }) => {\n const rootNode = useMemo(() => RootNode.from({ children: items }), [items])\n const columns = useMemo(() => rootNode.toViewData(value), [rootNode, value])\n\n const classNames = useMemo(() => {\n const { wrapper, column } = classNameGenerator({ className })\n return {\n wrapper: wrapper(),\n column: column({\n maxColumn: columns.length as 1 | 2 | 3,\n }),\n }\n }, [className, columns.length])\n\n const selectedPath = useMemo(() => {\n if (!value) return []\n const node = rootNode.findByValue(value)\n if (!node) return []\n return [...node.getAncestors().map((n) => n.value), node.value]\n }, [rootNode, value])\n\n const latest = useLatest({ onSelectItem, value, rootNode })\n\n // FIXME: focusメソッドのfocusVisibleが主要ブラウザでサポートされたら使うようにしたい(現状ではマウスクリックでもfocusのoutlineが出てしまう)\n // https://developer.mozilla.org/ja/docs/Web/API/HTMLElement/focus\n const onDelegateKeyDown: KeyboardEventHandler = useCallback(\n (e) => {\n const selectedNode = latest.value ? latest.rootNode.findByValue(latest.value) : undefined\n\n if (!selectedNode) {\n return\n }\n\n let target: ItemNode | undefined = undefined\n\n switch (e.key) {\n case 'ArrowUp': {\n target = selectedNode.getPrev() ?? selectedNode.parent?.getLastChild()\n\n break\n }\n case 'ArrowDown': {\n target = selectedNode.getNext() ?? selectedNode.parent?.getFirstChild()\n\n break\n }\n case 'ArrowLeft': {\n const node = selectedNode.parent\n\n if (node instanceof ItemNode) {\n target = node\n }\n\n break\n }\n case 'ArrowRight':\n case 'Enter':\n case ' ': {\n target = selectedNode.getFirstChild()\n\n break\n }\n }\n\n if (target) {\n e.preventDefault()\n latest.onSelectItem?.(target.value)\n document.getElementById(getElementIdFromNode(target.value))?.focus()\n }\n },\n [latest],\n )\n\n const onChangeInput = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n latest.onSelectItem?.(e.currentTarget.value)\n },\n [latest],\n )\n\n return (\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n <div {...rest} role=\"application\" onKeyDown={onDelegateKeyDown} className={classNames.wrapper}>\n {columns.map((colItems, index) => (\n <BrowserColumn\n key={index}\n items={colItems}\n index={index}\n value={selectedPath[index]}\n onChangeInput={onSelectItem ? onChangeInput : undefined}\n className={classNames.column}\n />\n ))}\n </div>\n )\n}\n"],"names":["tv","_jsx"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useButtonWrapper.cjs","sources":["../../../src/components/Button/useButtonWrapper.tsx"],"sourcesContent":["import {\n type AnchorHTMLAttributes,\n type ButtonHTMLAttributes,\n type ElementType,\n type ForwardedRef,\n type PropsWithChildren,\n type ReactNode,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { Loader } from '../Loader'\n\nimport type { Variant } from './types'\n\n// HINT: prefix, suffixが存在せず、かつIcon,svg,img,Loaderのいずれかが単一でbodyに含まれるButtonかチェックしたい\n// このSELECTORはbody内の対象を列挙する\n// HINT: smarthr-ui-Icon-extendedはアイコン+α(例えば複数のアイコンをまとめて一つにしているなど)を表すclass\nconst ICON_SELECTOR = '.smarthr-ui-Icon, .smarthr-ui-Icon-extended, svg, img, .smarthr-ui-Loader'\n\ntype AbstractProps = PropsWithChildren<{\n size: 'M' | 'S'\n wide: boolean\n variant: Variant\n $loading?: boolean\n className: string\n elementAs?: ElementType\n prefix?: ReactNode\n suffix?: ReactNode\n}>\n\ntype AbstractButtonProps = AbstractProps & {\n isAnchor?: never\n buttonRef?: ForwardedRef<HTMLButtonElement>\n}\ntype ButtonProps = AbstractButtonProps &\n Omit<ButtonHTMLAttributes<HTMLButtonElement>, keyof AbstractButtonProps>\n\ntype AbstractAnchorProps = AbstractProps & {\n isAnchor: true\n anchorRef?: ForwardedRef<HTMLAnchorElement>\n}\ntype AnchorProps = AbstractAnchorProps &\n Omit<AnchorHTMLAttributes<HTMLAnchorElement>, keyof AbstractAnchorProps>\n\nexport type Props = ButtonProps | AnchorProps\n\n// HINT: useButtonWrapperの引数を調整する場合、以下も調整する\ntype FilteredProps =\n | 'size'\n | 'wide'\n | 'variant'\n | 'className'\n | 'prefix'\n | 'suffix'\n | 'children'\n | 'isAnchor'\nexport type FilteredButtonProps = Omit<ButtonProps, FilteredProps>\nexport type FilteredAnchorProps = Omit<AnchorProps, FilteredProps>\n\nexport const useButtonWrapper = ({\n size,\n wide = false,\n variant,\n $loading,\n className,\n prefix,\n suffix,\n children,\n isAnchor,\n ...rest\n}: Props) => {\n const innerRef = useRef<HTMLElement>(null)\n // HINT: squareは\n // null: Buttonのレンダリング前\n // boolean: レンダリング後\n const [square, setSquare] = useState<null | boolean>(null)\n\n const classNames = useMemo(() => {\n const { button, anchor, loader } = wrapperClassNameGenerator({\n variant,\n size,\n square: !!square,\n loading: !!$loading,\n wide,\n })\n\n const wrapper = isAnchor ? anchor : button\n\n return {\n wrapper: wrapper({ className }),\n loader: loader(),\n }\n }, [$loading, size, square, variant, wide, className, isAnchor])\n\n const innerClassName = useMemo(() => innerClassNameGenerator({ size }), [size])\n\n let actualPrefix = prefix\n let actualSuffix = suffix\n let actualChildren = children\n\n if ($loading) {\n actualPrefix = undefined\n const loader = <Loader size=\"S\" className={classNames.loader} role=\"presentation\" />\n\n // HINT: squareは null | boolean のため、switchで判定する\n // nullの場合にactualSuffixにloaderを突っ込んでしまうとsquareの計算が狂ってしまう\n switch (square) {\n case true:\n actualChildren = loader\n break\n case false:\n actualSuffix = loader\n break\n }\n }\n\n // HINT: actualSuffixなどは$loadingの判定で置き換えられる可能性がある\n // あくまで利用者が設定したprefix, suffixがないかで判定する\n const onlyBody = !prefix && !suffix\n\n useEffect(() => {\n if (!onlyBody) {\n setSquare(false)\n\n return\n }\n\n const target = innerRef.current\n\n if (!target) return\n\n const checkSquare = () => {\n setSquare(target.children.length === 1 && target.children[0].matches(ICON_SELECTOR))\n }\n\n checkSquare()\n\n const observer = new MutationObserver(checkSquare)\n\n observer.observe(target, {\n childList: true,\n })\n\n return () => {\n observer.disconnect()\n }\n }, [onlyBody])\n\n return {\n filteredProps: { ...rest, $loading } as FilteredAnchorProps | FilteredButtonProps,\n classNames,\n children: (\n <>\n {actualPrefix}\n <span ref={innerRef} className={innerClassName}>\n {actualChildren}\n </span>\n {actualSuffix}\n </>\n ),\n }\n}\n\nconst wrapperClassNameGenerator = tv({\n slots: {\n button: [\n 'aria-disabled:shr-cursor-not-allowed',\n /* alpha color を使用しているので、背景色と干渉させない */\n 'aria-disabled:shr-bg-clip-padding',\n /* disabled ではなく aria-disabled で文字色が変わらないため、強制カラーモード時の色を指定 */\n 'aria-disabled:forced-colors:shr-border-[GrayText] aria-disabled:forced-colors:shr-text-[GrayText]',\n '[&_.smarthr-ui-Icon]:forced-colors:aria-disabled:shr-fill-[GrayText]',\n ],\n anchor: [\n 'shr-no-underline',\n '[&:not([href])]:shr-cursor-not-allowed',\n /* alpha color を使用しているので、背景色と干渉させない */\n '[&:not([href])]:shr-bg-clip-padding',\n '[&_.smarthr-ui-Icon]:forced-colors:shr-fill-[LinkText]',\n '[&:not([href])_.smarthr-ui-Icon]:forced-colors:shr-fill-[CanvasText]',\n ],\n loader: [\n 'shr-align-bottom',\n '[&_.smarthr-ui-Loader-spinner]:shr-h-em [&_.smarthr-ui-Loader-spinner]:shr-w-em',\n ],\n },\n variants: {\n variant: {\n primary: {},\n secondary: {},\n danger: {},\n skeleton: {},\n text: {},\n tertiary: {},\n },\n size: {\n M: {},\n S: {},\n },\n square: {\n true: {},\n },\n loading: {\n true: {},\n },\n wide: {\n true: {},\n },\n },\n compoundSlots: [\n {\n slots: ['button', 'anchor'],\n className: [\n 'shr-box-border',\n 'shr-cursor-pointer',\n 'shr-inline-flex',\n 'shr-justify-center',\n 'shr-items-center',\n 'shr-gap-0.5',\n 'shr-text-center',\n 'shr-whitespace-nowrap',\n 'shr-rounded-m',\n /* ボタンの高さを合わせるために指定 */\n 'shr-border-shorthand',\n 'shr-font-inherit',\n 'shr-font-bold',\n 'shr-leading-none',\n 'focus-visible:shr-focus-indicator',\n 'contrast-more:shr-border-high-contrast',\n /* baseline より下の leading などの余白を埋める */\n '[&_.smarthr-ui-Icon]:shr-block',\n /** selector list は使えない\n * via https://github.com/tailwindlabs/tailwindcss/issues/10576#issuecomment-1440703413\n */\n '[&_svg]:shr-block',\n ],\n },\n {\n slots: ['button', 'anchor'],\n size: 'S',\n className: [\n 'shr-p-0.5',\n 'shr-text-sm',\n /* ボタンラベルの line-height を 0 にしたため、高さを担保する */\n 'shr-min-h-[calc(theme(fontSize.sm)+theme(spacing.1)+theme(borderWidth.2))]',\n ],\n },\n {\n slots: ['button', 'anchor'],\n size: 'M',\n className: ['shr-text-base'],\n },\n {\n slots: ['button', 'anchor'],\n size: 'M',\n square: false,\n className: 'shr-px-1 shr-py-0.75',\n },\n {\n slots: ['button', 'anchor'],\n size: 'M',\n square: true,\n className: 'shr-p-0.75',\n },\n {\n slots: ['button', 'anchor'],\n loading: true,\n className: 'shr-flex-row-reverse',\n },\n {\n slots: ['button', 'anchor'],\n wide: true,\n className: 'shr-w-full',\n },\n {\n slots: ['button', 'anchor'],\n variant: 'primary',\n className: [\n 'shr-border-main',\n 'shr-bg-main',\n 'shr-text-white',\n 'focus-visible:shr-border-main-darken',\n 'focus-visible:shr-bg-main-darken',\n 'hover:shr-border-main-darken',\n 'hover:shr-bg-main-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'primary',\n className: [\n 'aria-disabled:shr-border-main/50',\n 'aria-disabled:shr-bg-main/50',\n 'aria-disabled:shr-text-white/50',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'primary',\n className: [\n '[&:not([href])]:shr-border-main/50',\n '[&:not([href])]:shr-bg-main/50',\n '[&:not([href])]:shr-text-white/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'secondary',\n className: [\n 'shr-border-default',\n 'shr-bg-white',\n 'shr-text-black',\n 'focus-visible:shr-border-darken',\n 'focus-visible:shr-bg-white-darken',\n 'focus-visible:contrast-more:shr-border-high-contrast',\n 'hover:shr-border-darken',\n 'hover:shr-bg-white-darken',\n 'hover:contrast-more:shr-border-high-contrast',\n ],\n },\n {\n slots: ['button'],\n variant: 'secondary',\n className: [\n 'aria-disabled:shr-border-disabled',\n 'aria-disabled:shr-bg-white-darken',\n 'aria-disabled:shr-text-disabled',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'secondary',\n className: [\n '[&:not([href])]:shr-border-disabled',\n '[&:not([href])]:shr-bg-white-darken',\n '[&:not([href])]:shr-text-disabled',\n ],\n },\n {\n slots: ['button'],\n variant: 'tertiary',\n className: [\n 'shr-border-transparent',\n 'shr-bg-transparent',\n 'shr-text-link',\n 'shr-font-normal',\n 'focus-visible:shr-bg-white-darken',\n 'hover:shr-bg-white-darken',\n 'aria-disabled:shr-bg-transparent',\n 'aria-disabled:shr-text-link/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'danger',\n className: [\n 'shr-border-danger',\n 'shr-bg-danger',\n 'shr-text-white',\n 'focus-visible:shr-border-danger-darken',\n 'focus-visible:shr-bg-danger-darken',\n 'hover:shr-border-danger-darken',\n 'hover:shr-bg-danger-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'danger',\n className: [\n 'aria-disabled:shr-border-danger/50',\n 'aria-disabled:shr-bg-danger/50',\n 'aria-disabled:shr-text-white/50',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'danger',\n className: [\n '[&:not([href])]:shr-border-danger/50',\n '[&:not([href])]:shr-bg-danger/50',\n '[&:not([href])]:shr-text-white/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'skeleton',\n className: [\n 'shr-border-white',\n 'shr-bg-transparent',\n 'shr-text-white',\n 'focus-visible:shr-border-white-darken',\n 'focus-visible:shr-bg-overlay',\n 'focus-visible:shr-text-white-darken',\n 'hover:shr-border-white-darken',\n 'hover:shr-bg-overlay',\n 'hover:shr-text-white-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'skeleton',\n className: [\n 'aria-disabled:shr-border-white/50',\n 'aria-disabled:shr-bg-transparent',\n 'aria-disabled:shr-text-white/50',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'skeleton',\n className: [\n '[&:not([href])]:shr-border-white/50',\n '[&:not([href])]:shr-bg-transparent',\n '[&:not([href])]:shr-text-white/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'text',\n className: [\n 'shr-border-transparent',\n 'shr-bg-transparent',\n 'shr-text-black',\n 'focus-visible:shr-bg-white-darken',\n 'hover:shr-bg-white-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'text',\n className: [\n 'aria-disabled:shr-border-transparent',\n 'aria-disabled:shr-bg-transparent',\n 'aria-disabled:shr-text-disabled',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'text',\n className: [\n '[&:not([href])]:shr-border-transparent',\n '[&:not([href])]:shr-bg-transparent',\n '[&:not([href])]:shr-text-disabled',\n ],\n },\n {\n slots: ['loader'],\n variant: ['primary', 'danger', 'skeleton'],\n className: [\n '[&_.smarthr-ui-Loader-line]:shr-border-white/50',\n '[&_.smarthr-ui-Loader-line]:forced-colors:shr-border-[ButtonBorder]',\n ],\n },\n {\n slots: ['loader'],\n variant: ['secondary', 'text'],\n className: '[&_.smarthr-ui-Loader-line]:shr-border-disabled',\n },\n {\n slots: ['loader'],\n variant: 'tertiary',\n className: '[&_.smarthr-ui-Loader-line]:shr-border-link/50',\n },\n ],\n})\n\nconst innerClassNameGenerator = tv({\n base: [\n 'smarthr-ui-Button-body',\n /* LineClamp を併用する場合に、幅を計算してもらうために指定 */\n 'shr-min-w-0',\n ],\n variants: {\n size: {\n M: '',\n S: [\n /* SVG とテキストコンテンツの縦位置を揃えるために指定 */\n 'shr-leading-[0]',\n ],\n },\n },\n})\n"],"names":["useRef","useState","useMemo","_jsx","Loader","useEffect","_jsxs","_Fragment","tv"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useButtonWrapper.cjs","sources":["../../../src/components/Button/useButtonWrapper.tsx"],"sourcesContent":["import {\n type AnchorHTMLAttributes,\n type ButtonHTMLAttributes,\n type ElementType,\n type ForwardedRef,\n type PropsWithChildren,\n type ReactNode,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { Loader } from '../Loader'\n\nimport type { Variant } from './types'\n\n// HINT: prefix, suffixが存在せず、かつIcon,svg,img,Loaderのいずれかが単一でbodyに含まれるButtonかチェックしたい\n// このSELECTORはbody内の対象を列挙する\n// HINT: smarthr-ui-Icon-extendedはアイコン+α(例えば複数のアイコンをまとめて一つにしているなど)を表すclass\nconst ICON_SELECTOR = '.smarthr-ui-Icon, .smarthr-ui-Icon-extended, svg, img, .smarthr-ui-Loader'\n\ntype AbstractProps = PropsWithChildren<{\n size: 'M' | 'S'\n wide: boolean\n variant: Variant\n $loading?: boolean\n className: string\n elementAs?: ElementType\n prefix?: ReactNode\n suffix?: ReactNode\n}>\n\ntype AbstractButtonProps = AbstractProps & {\n isAnchor?: never\n buttonRef?: ForwardedRef<HTMLButtonElement>\n}\ntype ButtonProps = AbstractButtonProps &\n Omit<ButtonHTMLAttributes<HTMLButtonElement>, keyof AbstractButtonProps>\n\ntype AbstractAnchorProps = AbstractProps & {\n isAnchor: true\n anchorRef?: ForwardedRef<HTMLAnchorElement>\n}\ntype AnchorProps = AbstractAnchorProps &\n Omit<AnchorHTMLAttributes<HTMLAnchorElement>, keyof AbstractAnchorProps>\n\nexport type Props = ButtonProps | AnchorProps\n\n// HINT: useButtonWrapperの引数を調整する場合、以下も調整する\ntype FilteredProps =\n 'size' | 'wide' | 'variant' | 'className' | 'prefix' | 'suffix' | 'children' | 'isAnchor'\nexport type FilteredButtonProps = Omit<ButtonProps, FilteredProps>\nexport type FilteredAnchorProps = Omit<AnchorProps, FilteredProps>\n\nexport const useButtonWrapper = ({\n size,\n wide = false,\n variant,\n $loading,\n className,\n prefix,\n suffix,\n children,\n isAnchor,\n ...rest\n}: Props) => {\n const innerRef = useRef<HTMLElement>(null)\n // HINT: squareは\n // null: Buttonのレンダリング前\n // boolean: レンダリング後\n const [square, setSquare] = useState<null | boolean>(null)\n\n const classNames = useMemo(() => {\n const { button, anchor, loader } = wrapperClassNameGenerator({\n variant,\n size,\n square: !!square,\n loading: !!$loading,\n wide,\n })\n\n const wrapper = isAnchor ? anchor : button\n\n return {\n wrapper: wrapper({ className }),\n loader: loader(),\n }\n }, [$loading, size, square, variant, wide, className, isAnchor])\n\n const innerClassName = useMemo(() => innerClassNameGenerator({ size }), [size])\n\n let actualPrefix = prefix\n let actualSuffix = suffix\n let actualChildren = children\n\n if ($loading) {\n actualPrefix = undefined\n const loader = <Loader size=\"S\" className={classNames.loader} role=\"presentation\" />\n\n // HINT: squareは null | boolean のため、switchで判定する\n // nullの場合にactualSuffixにloaderを突っ込んでしまうとsquareの計算が狂ってしまう\n switch (square) {\n case true:\n actualChildren = loader\n break\n case false:\n actualSuffix = loader\n break\n }\n }\n\n // HINT: actualSuffixなどは$loadingの判定で置き換えられる可能性がある\n // あくまで利用者が設定したprefix, suffixがないかで判定する\n const onlyBody = !prefix && !suffix\n\n useEffect(() => {\n if (!onlyBody) {\n setSquare(false)\n\n return\n }\n\n const target = innerRef.current\n\n if (!target) return\n\n const checkSquare = () => {\n setSquare(target.children.length === 1 && target.children[0].matches(ICON_SELECTOR))\n }\n\n checkSquare()\n\n const observer = new MutationObserver(checkSquare)\n\n observer.observe(target, {\n childList: true,\n })\n\n return () => {\n observer.disconnect()\n }\n }, [onlyBody])\n\n return {\n filteredProps: { ...rest, $loading } as FilteredAnchorProps | FilteredButtonProps,\n classNames,\n children: (\n <>\n {actualPrefix}\n <span ref={innerRef} className={innerClassName}>\n {actualChildren}\n </span>\n {actualSuffix}\n </>\n ),\n }\n}\n\nconst wrapperClassNameGenerator = tv({\n slots: {\n button: [\n 'aria-disabled:shr-cursor-not-allowed',\n /* alpha color を使用しているので、背景色と干渉させない */\n 'aria-disabled:shr-bg-clip-padding',\n /* disabled ではなく aria-disabled で文字色が変わらないため、強制カラーモード時の色を指定 */\n 'aria-disabled:forced-colors:shr-border-[GrayText] aria-disabled:forced-colors:shr-text-[GrayText]',\n '[&_.smarthr-ui-Icon]:forced-colors:aria-disabled:shr-fill-[GrayText]',\n ],\n anchor: [\n 'shr-no-underline',\n '[&:not([href])]:shr-cursor-not-allowed',\n /* alpha color を使用しているので、背景色と干渉させない */\n '[&:not([href])]:shr-bg-clip-padding',\n '[&_.smarthr-ui-Icon]:forced-colors:shr-fill-[LinkText]',\n '[&:not([href])_.smarthr-ui-Icon]:forced-colors:shr-fill-[CanvasText]',\n ],\n loader: [\n 'shr-align-bottom',\n '[&_.smarthr-ui-Loader-spinner]:shr-h-em [&_.smarthr-ui-Loader-spinner]:shr-w-em',\n ],\n },\n variants: {\n variant: {\n primary: {},\n secondary: {},\n danger: {},\n skeleton: {},\n text: {},\n tertiary: {},\n },\n size: {\n M: {},\n S: {},\n },\n square: {\n true: {},\n },\n loading: {\n true: {},\n },\n wide: {\n true: {},\n },\n },\n compoundSlots: [\n {\n slots: ['button', 'anchor'],\n className: [\n 'shr-box-border',\n 'shr-cursor-pointer',\n 'shr-inline-flex',\n 'shr-justify-center',\n 'shr-items-center',\n 'shr-gap-0.5',\n 'shr-text-center',\n 'shr-whitespace-nowrap',\n 'shr-rounded-m',\n /* ボタンの高さを合わせるために指定 */\n 'shr-border-shorthand',\n 'shr-font-inherit',\n 'shr-font-bold',\n 'shr-leading-none',\n 'focus-visible:shr-focus-indicator',\n 'contrast-more:shr-border-high-contrast',\n /* baseline より下の leading などの余白を埋める */\n '[&_.smarthr-ui-Icon]:shr-block',\n /** selector list は使えない\n * via https://github.com/tailwindlabs/tailwindcss/issues/10576#issuecomment-1440703413\n */\n '[&_svg]:shr-block',\n ],\n },\n {\n slots: ['button', 'anchor'],\n size: 'S',\n className: [\n 'shr-p-0.5',\n 'shr-text-sm',\n /* ボタンラベルの line-height を 0 にしたため、高さを担保する */\n 'shr-min-h-[calc(theme(fontSize.sm)+theme(spacing.1)+theme(borderWidth.2))]',\n ],\n },\n {\n slots: ['button', 'anchor'],\n size: 'M',\n className: ['shr-text-base'],\n },\n {\n slots: ['button', 'anchor'],\n size: 'M',\n square: false,\n className: 'shr-px-1 shr-py-0.75',\n },\n {\n slots: ['button', 'anchor'],\n size: 'M',\n square: true,\n className: 'shr-p-0.75',\n },\n {\n slots: ['button', 'anchor'],\n loading: true,\n className: 'shr-flex-row-reverse',\n },\n {\n slots: ['button', 'anchor'],\n wide: true,\n className: 'shr-w-full',\n },\n {\n slots: ['button', 'anchor'],\n variant: 'primary',\n className: [\n 'shr-border-main',\n 'shr-bg-main',\n 'shr-text-white',\n 'focus-visible:shr-border-main-darken',\n 'focus-visible:shr-bg-main-darken',\n 'hover:shr-border-main-darken',\n 'hover:shr-bg-main-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'primary',\n className: [\n 'aria-disabled:shr-border-main/50',\n 'aria-disabled:shr-bg-main/50',\n 'aria-disabled:shr-text-white/50',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'primary',\n className: [\n '[&:not([href])]:shr-border-main/50',\n '[&:not([href])]:shr-bg-main/50',\n '[&:not([href])]:shr-text-white/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'secondary',\n className: [\n 'shr-border-default',\n 'shr-bg-white',\n 'shr-text-black',\n 'focus-visible:shr-border-darken',\n 'focus-visible:shr-bg-white-darken',\n 'focus-visible:contrast-more:shr-border-high-contrast',\n 'hover:shr-border-darken',\n 'hover:shr-bg-white-darken',\n 'hover:contrast-more:shr-border-high-contrast',\n ],\n },\n {\n slots: ['button'],\n variant: 'secondary',\n className: [\n 'aria-disabled:shr-border-disabled',\n 'aria-disabled:shr-bg-white-darken',\n 'aria-disabled:shr-text-disabled',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'secondary',\n className: [\n '[&:not([href])]:shr-border-disabled',\n '[&:not([href])]:shr-bg-white-darken',\n '[&:not([href])]:shr-text-disabled',\n ],\n },\n {\n slots: ['button'],\n variant: 'tertiary',\n className: [\n 'shr-border-transparent',\n 'shr-bg-transparent',\n 'shr-text-link',\n 'shr-font-normal',\n 'focus-visible:shr-bg-white-darken',\n 'hover:shr-bg-white-darken',\n 'aria-disabled:shr-bg-transparent',\n 'aria-disabled:shr-text-link/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'danger',\n className: [\n 'shr-border-danger',\n 'shr-bg-danger',\n 'shr-text-white',\n 'focus-visible:shr-border-danger-darken',\n 'focus-visible:shr-bg-danger-darken',\n 'hover:shr-border-danger-darken',\n 'hover:shr-bg-danger-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'danger',\n className: [\n 'aria-disabled:shr-border-danger/50',\n 'aria-disabled:shr-bg-danger/50',\n 'aria-disabled:shr-text-white/50',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'danger',\n className: [\n '[&:not([href])]:shr-border-danger/50',\n '[&:not([href])]:shr-bg-danger/50',\n '[&:not([href])]:shr-text-white/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'skeleton',\n className: [\n 'shr-border-white',\n 'shr-bg-transparent',\n 'shr-text-white',\n 'focus-visible:shr-border-white-darken',\n 'focus-visible:shr-bg-overlay',\n 'focus-visible:shr-text-white-darken',\n 'hover:shr-border-white-darken',\n 'hover:shr-bg-overlay',\n 'hover:shr-text-white-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'skeleton',\n className: [\n 'aria-disabled:shr-border-white/50',\n 'aria-disabled:shr-bg-transparent',\n 'aria-disabled:shr-text-white/50',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'skeleton',\n className: [\n '[&:not([href])]:shr-border-white/50',\n '[&:not([href])]:shr-bg-transparent',\n '[&:not([href])]:shr-text-white/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'text',\n className: [\n 'shr-border-transparent',\n 'shr-bg-transparent',\n 'shr-text-black',\n 'focus-visible:shr-bg-white-darken',\n 'hover:shr-bg-white-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'text',\n className: [\n 'aria-disabled:shr-border-transparent',\n 'aria-disabled:shr-bg-transparent',\n 'aria-disabled:shr-text-disabled',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'text',\n className: [\n '[&:not([href])]:shr-border-transparent',\n '[&:not([href])]:shr-bg-transparent',\n '[&:not([href])]:shr-text-disabled',\n ],\n },\n {\n slots: ['loader'],\n variant: ['primary', 'danger', 'skeleton'],\n className: [\n '[&_.smarthr-ui-Loader-line]:shr-border-white/50',\n '[&_.smarthr-ui-Loader-line]:forced-colors:shr-border-[ButtonBorder]',\n ],\n },\n {\n slots: ['loader'],\n variant: ['secondary', 'text'],\n className: '[&_.smarthr-ui-Loader-line]:shr-border-disabled',\n },\n {\n slots: ['loader'],\n variant: 'tertiary',\n className: '[&_.smarthr-ui-Loader-line]:shr-border-link/50',\n },\n ],\n})\n\nconst innerClassNameGenerator = tv({\n base: [\n 'smarthr-ui-Button-body',\n /* LineClamp を併用する場合に、幅を計算してもらうために指定 */\n 'shr-min-w-0',\n ],\n variants: {\n size: {\n M: '',\n S: [\n /* SVG とテキストコンテンツの縦位置を揃えるために指定 */\n 'shr-leading-[0]',\n ],\n },\n },\n})\n"],"names":["useRef","useState","useMemo","_jsx","Loader","useEffect","_jsxs","_Fragment","tv"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useButtonWrapper.js","sources":["../../../src/components/Button/useButtonWrapper.tsx"],"sourcesContent":["import {\n type AnchorHTMLAttributes,\n type ButtonHTMLAttributes,\n type ElementType,\n type ForwardedRef,\n type PropsWithChildren,\n type ReactNode,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { Loader } from '../Loader'\n\nimport type { Variant } from './types'\n\n// HINT: prefix, suffixが存在せず、かつIcon,svg,img,Loaderのいずれかが単一でbodyに含まれるButtonかチェックしたい\n// このSELECTORはbody内の対象を列挙する\n// HINT: smarthr-ui-Icon-extendedはアイコン+α(例えば複数のアイコンをまとめて一つにしているなど)を表すclass\nconst ICON_SELECTOR = '.smarthr-ui-Icon, .smarthr-ui-Icon-extended, svg, img, .smarthr-ui-Loader'\n\ntype AbstractProps = PropsWithChildren<{\n size: 'M' | 'S'\n wide: boolean\n variant: Variant\n $loading?: boolean\n className: string\n elementAs?: ElementType\n prefix?: ReactNode\n suffix?: ReactNode\n}>\n\ntype AbstractButtonProps = AbstractProps & {\n isAnchor?: never\n buttonRef?: ForwardedRef<HTMLButtonElement>\n}\ntype ButtonProps = AbstractButtonProps &\n Omit<ButtonHTMLAttributes<HTMLButtonElement>, keyof AbstractButtonProps>\n\ntype AbstractAnchorProps = AbstractProps & {\n isAnchor: true\n anchorRef?: ForwardedRef<HTMLAnchorElement>\n}\ntype AnchorProps = AbstractAnchorProps &\n Omit<AnchorHTMLAttributes<HTMLAnchorElement>, keyof AbstractAnchorProps>\n\nexport type Props = ButtonProps | AnchorProps\n\n// HINT: useButtonWrapperの引数を調整する場合、以下も調整する\ntype FilteredProps =\n | 'size'\n | 'wide'\n | 'variant'\n | 'className'\n | 'prefix'\n | 'suffix'\n | 'children'\n | 'isAnchor'\nexport type FilteredButtonProps = Omit<ButtonProps, FilteredProps>\nexport type FilteredAnchorProps = Omit<AnchorProps, FilteredProps>\n\nexport const useButtonWrapper = ({\n size,\n wide = false,\n variant,\n $loading,\n className,\n prefix,\n suffix,\n children,\n isAnchor,\n ...rest\n}: Props) => {\n const innerRef = useRef<HTMLElement>(null)\n // HINT: squareは\n // null: Buttonのレンダリング前\n // boolean: レンダリング後\n const [square, setSquare] = useState<null | boolean>(null)\n\n const classNames = useMemo(() => {\n const { button, anchor, loader } = wrapperClassNameGenerator({\n variant,\n size,\n square: !!square,\n loading: !!$loading,\n wide,\n })\n\n const wrapper = isAnchor ? anchor : button\n\n return {\n wrapper: wrapper({ className }),\n loader: loader(),\n }\n }, [$loading, size, square, variant, wide, className, isAnchor])\n\n const innerClassName = useMemo(() => innerClassNameGenerator({ size }), [size])\n\n let actualPrefix = prefix\n let actualSuffix = suffix\n let actualChildren = children\n\n if ($loading) {\n actualPrefix = undefined\n const loader = <Loader size=\"S\" className={classNames.loader} role=\"presentation\" />\n\n // HINT: squareは null | boolean のため、switchで判定する\n // nullの場合にactualSuffixにloaderを突っ込んでしまうとsquareの計算が狂ってしまう\n switch (square) {\n case true:\n actualChildren = loader\n break\n case false:\n actualSuffix = loader\n break\n }\n }\n\n // HINT: actualSuffixなどは$loadingの判定で置き換えられる可能性がある\n // あくまで利用者が設定したprefix, suffixがないかで判定する\n const onlyBody = !prefix && !suffix\n\n useEffect(() => {\n if (!onlyBody) {\n setSquare(false)\n\n return\n }\n\n const target = innerRef.current\n\n if (!target) return\n\n const checkSquare = () => {\n setSquare(target.children.length === 1 && target.children[0].matches(ICON_SELECTOR))\n }\n\n checkSquare()\n\n const observer = new MutationObserver(checkSquare)\n\n observer.observe(target, {\n childList: true,\n })\n\n return () => {\n observer.disconnect()\n }\n }, [onlyBody])\n\n return {\n filteredProps: { ...rest, $loading } as FilteredAnchorProps | FilteredButtonProps,\n classNames,\n children: (\n <>\n {actualPrefix}\n <span ref={innerRef} className={innerClassName}>\n {actualChildren}\n </span>\n {actualSuffix}\n </>\n ),\n }\n}\n\nconst wrapperClassNameGenerator = tv({\n slots: {\n button: [\n 'aria-disabled:shr-cursor-not-allowed',\n /* alpha color を使用しているので、背景色と干渉させない */\n 'aria-disabled:shr-bg-clip-padding',\n /* disabled ではなく aria-disabled で文字色が変わらないため、強制カラーモード時の色を指定 */\n 'aria-disabled:forced-colors:shr-border-[GrayText] aria-disabled:forced-colors:shr-text-[GrayText]',\n '[&_.smarthr-ui-Icon]:forced-colors:aria-disabled:shr-fill-[GrayText]',\n ],\n anchor: [\n 'shr-no-underline',\n '[&:not([href])]:shr-cursor-not-allowed',\n /* alpha color を使用しているので、背景色と干渉させない */\n '[&:not([href])]:shr-bg-clip-padding',\n '[&_.smarthr-ui-Icon]:forced-colors:shr-fill-[LinkText]',\n '[&:not([href])_.smarthr-ui-Icon]:forced-colors:shr-fill-[CanvasText]',\n ],\n loader: [\n 'shr-align-bottom',\n '[&_.smarthr-ui-Loader-spinner]:shr-h-em [&_.smarthr-ui-Loader-spinner]:shr-w-em',\n ],\n },\n variants: {\n variant: {\n primary: {},\n secondary: {},\n danger: {},\n skeleton: {},\n text: {},\n tertiary: {},\n },\n size: {\n M: {},\n S: {},\n },\n square: {\n true: {},\n },\n loading: {\n true: {},\n },\n wide: {\n true: {},\n },\n },\n compoundSlots: [\n {\n slots: ['button', 'anchor'],\n className: [\n 'shr-box-border',\n 'shr-cursor-pointer',\n 'shr-inline-flex',\n 'shr-justify-center',\n 'shr-items-center',\n 'shr-gap-0.5',\n 'shr-text-center',\n 'shr-whitespace-nowrap',\n 'shr-rounded-m',\n /* ボタンの高さを合わせるために指定 */\n 'shr-border-shorthand',\n 'shr-font-inherit',\n 'shr-font-bold',\n 'shr-leading-none',\n 'focus-visible:shr-focus-indicator',\n 'contrast-more:shr-border-high-contrast',\n /* baseline より下の leading などの余白を埋める */\n '[&_.smarthr-ui-Icon]:shr-block',\n /** selector list は使えない\n * via https://github.com/tailwindlabs/tailwindcss/issues/10576#issuecomment-1440703413\n */\n '[&_svg]:shr-block',\n ],\n },\n {\n slots: ['button', 'anchor'],\n size: 'S',\n className: [\n 'shr-p-0.5',\n 'shr-text-sm',\n /* ボタンラベルの line-height を 0 にしたため、高さを担保する */\n 'shr-min-h-[calc(theme(fontSize.sm)+theme(spacing.1)+theme(borderWidth.2))]',\n ],\n },\n {\n slots: ['button', 'anchor'],\n size: 'M',\n className: ['shr-text-base'],\n },\n {\n slots: ['button', 'anchor'],\n size: 'M',\n square: false,\n className: 'shr-px-1 shr-py-0.75',\n },\n {\n slots: ['button', 'anchor'],\n size: 'M',\n square: true,\n className: 'shr-p-0.75',\n },\n {\n slots: ['button', 'anchor'],\n loading: true,\n className: 'shr-flex-row-reverse',\n },\n {\n slots: ['button', 'anchor'],\n wide: true,\n className: 'shr-w-full',\n },\n {\n slots: ['button', 'anchor'],\n variant: 'primary',\n className: [\n 'shr-border-main',\n 'shr-bg-main',\n 'shr-text-white',\n 'focus-visible:shr-border-main-darken',\n 'focus-visible:shr-bg-main-darken',\n 'hover:shr-border-main-darken',\n 'hover:shr-bg-main-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'primary',\n className: [\n 'aria-disabled:shr-border-main/50',\n 'aria-disabled:shr-bg-main/50',\n 'aria-disabled:shr-text-white/50',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'primary',\n className: [\n '[&:not([href])]:shr-border-main/50',\n '[&:not([href])]:shr-bg-main/50',\n '[&:not([href])]:shr-text-white/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'secondary',\n className: [\n 'shr-border-default',\n 'shr-bg-white',\n 'shr-text-black',\n 'focus-visible:shr-border-darken',\n 'focus-visible:shr-bg-white-darken',\n 'focus-visible:contrast-more:shr-border-high-contrast',\n 'hover:shr-border-darken',\n 'hover:shr-bg-white-darken',\n 'hover:contrast-more:shr-border-high-contrast',\n ],\n },\n {\n slots: ['button'],\n variant: 'secondary',\n className: [\n 'aria-disabled:shr-border-disabled',\n 'aria-disabled:shr-bg-white-darken',\n 'aria-disabled:shr-text-disabled',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'secondary',\n className: [\n '[&:not([href])]:shr-border-disabled',\n '[&:not([href])]:shr-bg-white-darken',\n '[&:not([href])]:shr-text-disabled',\n ],\n },\n {\n slots: ['button'],\n variant: 'tertiary',\n className: [\n 'shr-border-transparent',\n 'shr-bg-transparent',\n 'shr-text-link',\n 'shr-font-normal',\n 'focus-visible:shr-bg-white-darken',\n 'hover:shr-bg-white-darken',\n 'aria-disabled:shr-bg-transparent',\n 'aria-disabled:shr-text-link/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'danger',\n className: [\n 'shr-border-danger',\n 'shr-bg-danger',\n 'shr-text-white',\n 'focus-visible:shr-border-danger-darken',\n 'focus-visible:shr-bg-danger-darken',\n 'hover:shr-border-danger-darken',\n 'hover:shr-bg-danger-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'danger',\n className: [\n 'aria-disabled:shr-border-danger/50',\n 'aria-disabled:shr-bg-danger/50',\n 'aria-disabled:shr-text-white/50',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'danger',\n className: [\n '[&:not([href])]:shr-border-danger/50',\n '[&:not([href])]:shr-bg-danger/50',\n '[&:not([href])]:shr-text-white/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'skeleton',\n className: [\n 'shr-border-white',\n 'shr-bg-transparent',\n 'shr-text-white',\n 'focus-visible:shr-border-white-darken',\n 'focus-visible:shr-bg-overlay',\n 'focus-visible:shr-text-white-darken',\n 'hover:shr-border-white-darken',\n 'hover:shr-bg-overlay',\n 'hover:shr-text-white-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'skeleton',\n className: [\n 'aria-disabled:shr-border-white/50',\n 'aria-disabled:shr-bg-transparent',\n 'aria-disabled:shr-text-white/50',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'skeleton',\n className: [\n '[&:not([href])]:shr-border-white/50',\n '[&:not([href])]:shr-bg-transparent',\n '[&:not([href])]:shr-text-white/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'text',\n className: [\n 'shr-border-transparent',\n 'shr-bg-transparent',\n 'shr-text-black',\n 'focus-visible:shr-bg-white-darken',\n 'hover:shr-bg-white-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'text',\n className: [\n 'aria-disabled:shr-border-transparent',\n 'aria-disabled:shr-bg-transparent',\n 'aria-disabled:shr-text-disabled',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'text',\n className: [\n '[&:not([href])]:shr-border-transparent',\n '[&:not([href])]:shr-bg-transparent',\n '[&:not([href])]:shr-text-disabled',\n ],\n },\n {\n slots: ['loader'],\n variant: ['primary', 'danger', 'skeleton'],\n className: [\n '[&_.smarthr-ui-Loader-line]:shr-border-white/50',\n '[&_.smarthr-ui-Loader-line]:forced-colors:shr-border-[ButtonBorder]',\n ],\n },\n {\n slots: ['loader'],\n variant: ['secondary', 'text'],\n className: '[&_.smarthr-ui-Loader-line]:shr-border-disabled',\n },\n {\n slots: ['loader'],\n variant: 'tertiary',\n className: '[&_.smarthr-ui-Loader-line]:shr-border-link/50',\n },\n ],\n})\n\nconst innerClassNameGenerator = tv({\n base: [\n 'smarthr-ui-Button-body',\n /* LineClamp を併用する場合に、幅を計算してもらうために指定 */\n 'shr-min-w-0',\n ],\n variants: {\n size: {\n M: '',\n S: [\n /* SVG とテキストコンテンツの縦位置を揃えるために指定 */\n 'shr-leading-[0]',\n ],\n },\n },\n})\n"],"names":["_jsx","_jsxs","_Fragment","tv"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useButtonWrapper.js","sources":["../../../src/components/Button/useButtonWrapper.tsx"],"sourcesContent":["import {\n type AnchorHTMLAttributes,\n type ButtonHTMLAttributes,\n type ElementType,\n type ForwardedRef,\n type PropsWithChildren,\n type ReactNode,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { Loader } from '../Loader'\n\nimport type { Variant } from './types'\n\n// HINT: prefix, suffixが存在せず、かつIcon,svg,img,Loaderのいずれかが単一でbodyに含まれるButtonかチェックしたい\n// このSELECTORはbody内の対象を列挙する\n// HINT: smarthr-ui-Icon-extendedはアイコン+α(例えば複数のアイコンをまとめて一つにしているなど)を表すclass\nconst ICON_SELECTOR = '.smarthr-ui-Icon, .smarthr-ui-Icon-extended, svg, img, .smarthr-ui-Loader'\n\ntype AbstractProps = PropsWithChildren<{\n size: 'M' | 'S'\n wide: boolean\n variant: Variant\n $loading?: boolean\n className: string\n elementAs?: ElementType\n prefix?: ReactNode\n suffix?: ReactNode\n}>\n\ntype AbstractButtonProps = AbstractProps & {\n isAnchor?: never\n buttonRef?: ForwardedRef<HTMLButtonElement>\n}\ntype ButtonProps = AbstractButtonProps &\n Omit<ButtonHTMLAttributes<HTMLButtonElement>, keyof AbstractButtonProps>\n\ntype AbstractAnchorProps = AbstractProps & {\n isAnchor: true\n anchorRef?: ForwardedRef<HTMLAnchorElement>\n}\ntype AnchorProps = AbstractAnchorProps &\n Omit<AnchorHTMLAttributes<HTMLAnchorElement>, keyof AbstractAnchorProps>\n\nexport type Props = ButtonProps | AnchorProps\n\n// HINT: useButtonWrapperの引数を調整する場合、以下も調整する\ntype FilteredProps =\n 'size' | 'wide' | 'variant' | 'className' | 'prefix' | 'suffix' | 'children' | 'isAnchor'\nexport type FilteredButtonProps = Omit<ButtonProps, FilteredProps>\nexport type FilteredAnchorProps = Omit<AnchorProps, FilteredProps>\n\nexport const useButtonWrapper = ({\n size,\n wide = false,\n variant,\n $loading,\n className,\n prefix,\n suffix,\n children,\n isAnchor,\n ...rest\n}: Props) => {\n const innerRef = useRef<HTMLElement>(null)\n // HINT: squareは\n // null: Buttonのレンダリング前\n // boolean: レンダリング後\n const [square, setSquare] = useState<null | boolean>(null)\n\n const classNames = useMemo(() => {\n const { button, anchor, loader } = wrapperClassNameGenerator({\n variant,\n size,\n square: !!square,\n loading: !!$loading,\n wide,\n })\n\n const wrapper = isAnchor ? anchor : button\n\n return {\n wrapper: wrapper({ className }),\n loader: loader(),\n }\n }, [$loading, size, square, variant, wide, className, isAnchor])\n\n const innerClassName = useMemo(() => innerClassNameGenerator({ size }), [size])\n\n let actualPrefix = prefix\n let actualSuffix = suffix\n let actualChildren = children\n\n if ($loading) {\n actualPrefix = undefined\n const loader = <Loader size=\"S\" className={classNames.loader} role=\"presentation\" />\n\n // HINT: squareは null | boolean のため、switchで判定する\n // nullの場合にactualSuffixにloaderを突っ込んでしまうとsquareの計算が狂ってしまう\n switch (square) {\n case true:\n actualChildren = loader\n break\n case false:\n actualSuffix = loader\n break\n }\n }\n\n // HINT: actualSuffixなどは$loadingの判定で置き換えられる可能性がある\n // あくまで利用者が設定したprefix, suffixがないかで判定する\n const onlyBody = !prefix && !suffix\n\n useEffect(() => {\n if (!onlyBody) {\n setSquare(false)\n\n return\n }\n\n const target = innerRef.current\n\n if (!target) return\n\n const checkSquare = () => {\n setSquare(target.children.length === 1 && target.children[0].matches(ICON_SELECTOR))\n }\n\n checkSquare()\n\n const observer = new MutationObserver(checkSquare)\n\n observer.observe(target, {\n childList: true,\n })\n\n return () => {\n observer.disconnect()\n }\n }, [onlyBody])\n\n return {\n filteredProps: { ...rest, $loading } as FilteredAnchorProps | FilteredButtonProps,\n classNames,\n children: (\n <>\n {actualPrefix}\n <span ref={innerRef} className={innerClassName}>\n {actualChildren}\n </span>\n {actualSuffix}\n </>\n ),\n }\n}\n\nconst wrapperClassNameGenerator = tv({\n slots: {\n button: [\n 'aria-disabled:shr-cursor-not-allowed',\n /* alpha color を使用しているので、背景色と干渉させない */\n 'aria-disabled:shr-bg-clip-padding',\n /* disabled ではなく aria-disabled で文字色が変わらないため、強制カラーモード時の色を指定 */\n 'aria-disabled:forced-colors:shr-border-[GrayText] aria-disabled:forced-colors:shr-text-[GrayText]',\n '[&_.smarthr-ui-Icon]:forced-colors:aria-disabled:shr-fill-[GrayText]',\n ],\n anchor: [\n 'shr-no-underline',\n '[&:not([href])]:shr-cursor-not-allowed',\n /* alpha color を使用しているので、背景色と干渉させない */\n '[&:not([href])]:shr-bg-clip-padding',\n '[&_.smarthr-ui-Icon]:forced-colors:shr-fill-[LinkText]',\n '[&:not([href])_.smarthr-ui-Icon]:forced-colors:shr-fill-[CanvasText]',\n ],\n loader: [\n 'shr-align-bottom',\n '[&_.smarthr-ui-Loader-spinner]:shr-h-em [&_.smarthr-ui-Loader-spinner]:shr-w-em',\n ],\n },\n variants: {\n variant: {\n primary: {},\n secondary: {},\n danger: {},\n skeleton: {},\n text: {},\n tertiary: {},\n },\n size: {\n M: {},\n S: {},\n },\n square: {\n true: {},\n },\n loading: {\n true: {},\n },\n wide: {\n true: {},\n },\n },\n compoundSlots: [\n {\n slots: ['button', 'anchor'],\n className: [\n 'shr-box-border',\n 'shr-cursor-pointer',\n 'shr-inline-flex',\n 'shr-justify-center',\n 'shr-items-center',\n 'shr-gap-0.5',\n 'shr-text-center',\n 'shr-whitespace-nowrap',\n 'shr-rounded-m',\n /* ボタンの高さを合わせるために指定 */\n 'shr-border-shorthand',\n 'shr-font-inherit',\n 'shr-font-bold',\n 'shr-leading-none',\n 'focus-visible:shr-focus-indicator',\n 'contrast-more:shr-border-high-contrast',\n /* baseline より下の leading などの余白を埋める */\n '[&_.smarthr-ui-Icon]:shr-block',\n /** selector list は使えない\n * via https://github.com/tailwindlabs/tailwindcss/issues/10576#issuecomment-1440703413\n */\n '[&_svg]:shr-block',\n ],\n },\n {\n slots: ['button', 'anchor'],\n size: 'S',\n className: [\n 'shr-p-0.5',\n 'shr-text-sm',\n /* ボタンラベルの line-height を 0 にしたため、高さを担保する */\n 'shr-min-h-[calc(theme(fontSize.sm)+theme(spacing.1)+theme(borderWidth.2))]',\n ],\n },\n {\n slots: ['button', 'anchor'],\n size: 'M',\n className: ['shr-text-base'],\n },\n {\n slots: ['button', 'anchor'],\n size: 'M',\n square: false,\n className: 'shr-px-1 shr-py-0.75',\n },\n {\n slots: ['button', 'anchor'],\n size: 'M',\n square: true,\n className: 'shr-p-0.75',\n },\n {\n slots: ['button', 'anchor'],\n loading: true,\n className: 'shr-flex-row-reverse',\n },\n {\n slots: ['button', 'anchor'],\n wide: true,\n className: 'shr-w-full',\n },\n {\n slots: ['button', 'anchor'],\n variant: 'primary',\n className: [\n 'shr-border-main',\n 'shr-bg-main',\n 'shr-text-white',\n 'focus-visible:shr-border-main-darken',\n 'focus-visible:shr-bg-main-darken',\n 'hover:shr-border-main-darken',\n 'hover:shr-bg-main-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'primary',\n className: [\n 'aria-disabled:shr-border-main/50',\n 'aria-disabled:shr-bg-main/50',\n 'aria-disabled:shr-text-white/50',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'primary',\n className: [\n '[&:not([href])]:shr-border-main/50',\n '[&:not([href])]:shr-bg-main/50',\n '[&:not([href])]:shr-text-white/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'secondary',\n className: [\n 'shr-border-default',\n 'shr-bg-white',\n 'shr-text-black',\n 'focus-visible:shr-border-darken',\n 'focus-visible:shr-bg-white-darken',\n 'focus-visible:contrast-more:shr-border-high-contrast',\n 'hover:shr-border-darken',\n 'hover:shr-bg-white-darken',\n 'hover:contrast-more:shr-border-high-contrast',\n ],\n },\n {\n slots: ['button'],\n variant: 'secondary',\n className: [\n 'aria-disabled:shr-border-disabled',\n 'aria-disabled:shr-bg-white-darken',\n 'aria-disabled:shr-text-disabled',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'secondary',\n className: [\n '[&:not([href])]:shr-border-disabled',\n '[&:not([href])]:shr-bg-white-darken',\n '[&:not([href])]:shr-text-disabled',\n ],\n },\n {\n slots: ['button'],\n variant: 'tertiary',\n className: [\n 'shr-border-transparent',\n 'shr-bg-transparent',\n 'shr-text-link',\n 'shr-font-normal',\n 'focus-visible:shr-bg-white-darken',\n 'hover:shr-bg-white-darken',\n 'aria-disabled:shr-bg-transparent',\n 'aria-disabled:shr-text-link/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'danger',\n className: [\n 'shr-border-danger',\n 'shr-bg-danger',\n 'shr-text-white',\n 'focus-visible:shr-border-danger-darken',\n 'focus-visible:shr-bg-danger-darken',\n 'hover:shr-border-danger-darken',\n 'hover:shr-bg-danger-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'danger',\n className: [\n 'aria-disabled:shr-border-danger/50',\n 'aria-disabled:shr-bg-danger/50',\n 'aria-disabled:shr-text-white/50',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'danger',\n className: [\n '[&:not([href])]:shr-border-danger/50',\n '[&:not([href])]:shr-bg-danger/50',\n '[&:not([href])]:shr-text-white/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'skeleton',\n className: [\n 'shr-border-white',\n 'shr-bg-transparent',\n 'shr-text-white',\n 'focus-visible:shr-border-white-darken',\n 'focus-visible:shr-bg-overlay',\n 'focus-visible:shr-text-white-darken',\n 'hover:shr-border-white-darken',\n 'hover:shr-bg-overlay',\n 'hover:shr-text-white-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'skeleton',\n className: [\n 'aria-disabled:shr-border-white/50',\n 'aria-disabled:shr-bg-transparent',\n 'aria-disabled:shr-text-white/50',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'skeleton',\n className: [\n '[&:not([href])]:shr-border-white/50',\n '[&:not([href])]:shr-bg-transparent',\n '[&:not([href])]:shr-text-white/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'text',\n className: [\n 'shr-border-transparent',\n 'shr-bg-transparent',\n 'shr-text-black',\n 'focus-visible:shr-bg-white-darken',\n 'hover:shr-bg-white-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'text',\n className: [\n 'aria-disabled:shr-border-transparent',\n 'aria-disabled:shr-bg-transparent',\n 'aria-disabled:shr-text-disabled',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'text',\n className: [\n '[&:not([href])]:shr-border-transparent',\n '[&:not([href])]:shr-bg-transparent',\n '[&:not([href])]:shr-text-disabled',\n ],\n },\n {\n slots: ['loader'],\n variant: ['primary', 'danger', 'skeleton'],\n className: [\n '[&_.smarthr-ui-Loader-line]:shr-border-white/50',\n '[&_.smarthr-ui-Loader-line]:forced-colors:shr-border-[ButtonBorder]',\n ],\n },\n {\n slots: ['loader'],\n variant: ['secondary', 'text'],\n className: '[&_.smarthr-ui-Loader-line]:shr-border-disabled',\n },\n {\n slots: ['loader'],\n variant: 'tertiary',\n className: '[&_.smarthr-ui-Loader-line]:shr-border-link/50',\n },\n ],\n})\n\nconst innerClassNameGenerator = tv({\n base: [\n 'smarthr-ui-Button-body',\n /* LineClamp を併用する場合に、幅を計算してもらうために指定 */\n 'shr-min-w-0',\n ],\n variants: {\n size: {\n M: '',\n S: [\n /* SVG とテキストコンテンツの縦位置を揃えるために指定 */\n 'shr-leading-[0]',\n ],\n },\n },\n})\n"],"names":["_jsx","_jsxs","_Fragment","tv"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
4
4
|
var dayjs_min = require('../../_virtual/dayjs.min.cjs');
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.17_@types_node@20.19.35_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
|
|
7
|
+
var hooks_useLatest = require('../../hooks/useLatest.cjs');
|
|
7
8
|
require('../../intl/IntlProvider.cjs');
|
|
8
9
|
var intl_useIntl = require('../../intl/useIntl.cjs');
|
|
9
10
|
require('../../intl/Localizer.cjs');
|
|
@@ -57,13 +58,17 @@ const CalendarTable = ({ current, from, to, onSelectDate, selectedDayText, class
|
|
|
57
58
|
}
|
|
58
59
|
return days;
|
|
59
60
|
}, [formatDate, getWeekStartDay]);
|
|
61
|
+
const latest = hooks_useLatest.useLatest({ onSelectDate });
|
|
62
|
+
const handleSelectDate = React.useCallback((...argsRest) => {
|
|
63
|
+
latest.onSelectDate(...argsRest);
|
|
64
|
+
}, [latest]);
|
|
60
65
|
// HINT: dayjsのisSameは文字列でも比較可能なため、cacheが効きやすいstringにする
|
|
61
66
|
const nowDateText = dayjs_min().startOf('date').toString();
|
|
62
|
-
return (jsxRuntime.jsx("div", { className: classNames.wrapper, children: jsxRuntime.jsxs("table", { ...rest, className: classNames.table, children: [jsxRuntime.jsx(MemoizedThead, { thStyle: classNames.th, daysInWeek: daysInWeek }), jsxRuntime.jsx("tbody", { children: current.months.map((week, weekIndex) => (jsxRuntime.jsx("tr", { children: week.map((date, dateIndex) => date ? (jsxRuntime.jsx(SelectTdButton, { date: date, currentDay: current.day, selectedDayText: selectedDayText, from: from, to: to, nowDateText: nowDateText,
|
|
67
|
+
return (jsxRuntime.jsx("div", { className: classNames.wrapper, children: jsxRuntime.jsxs("table", { ...rest, className: classNames.table, children: [jsxRuntime.jsx(MemoizedThead, { thStyle: classNames.th, daysInWeek: daysInWeek }), jsxRuntime.jsx("tbody", { children: current.months.map((week, weekIndex) => (jsxRuntime.jsx("tr", { children: week.map((date, dateIndex) => date ? (jsxRuntime.jsx(SelectTdButton, { date: date, currentDay: current.day, selectedDayText: selectedDayText, from: from, to: to, nowDateText: nowDateText, handleClick: handleSelectDate, classNames: classNames }, dateIndex)) : (jsxRuntime.jsx(NullTd, { className: classNames.td }, dateIndex))) }, weekIndex))) })] }) }));
|
|
63
68
|
};
|
|
64
69
|
const MemoizedThead = React.memo(({ thStyle, daysInWeek }) => (jsxRuntime.jsx("thead", { children: jsxRuntime.jsx("tr", { children: daysInWeek.map((day) => (jsxRuntime.jsx("th", { className: thStyle, children: day }, day))) }) })));
|
|
65
70
|
const NullTd = React.memo(({ className }) => jsxRuntime.jsx("td", { className: className }));
|
|
66
|
-
const SelectTdButton = React.memo(({ date, currentDay, selectedDayText, from, to, nowDateText,
|
|
71
|
+
const SelectTdButton = React.memo(({ date, currentDay, selectedDayText, from, to, nowDateText, handleClick, classNames }) => {
|
|
67
72
|
const target = React.useMemo(() => {
|
|
68
73
|
const day = currentDay.date(date);
|
|
69
74
|
return {
|
|
@@ -71,15 +76,10 @@ const SelectTdButton = React.memo(({ date, currentDay, selectedDayText, from, to
|
|
|
71
76
|
date: day.toDate(),
|
|
72
77
|
};
|
|
73
78
|
}, [currentDay, date]);
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
const actualOnClick = React.useCallback((e) => {
|
|
78
|
-
onClick(e, target.date);
|
|
79
|
-
}, [onClick, target.date]);
|
|
80
|
-
return (jsxRuntime.jsx("td", { className: classNames.td, children: jsxRuntime.jsx(components_Button_UnstyledButton.UnstyledButton, { type: "button", disabled: disabled, "aria-pressed": ariaPressed, onClick: actualOnClick, className: classNames.cellButton, "data-is-today": dataIsToday, children: jsxRuntime.jsx(SelectButtonTdDateCell, { className: classNames.dateCell, children: date }) }) }));
|
|
79
|
+
return (jsxRuntime.jsx("td", { className: classNames.td, children: jsxRuntime.jsx(components_Button_UnstyledButton.UnstyledButton, { type: "button", disabled: !components_Calendar_calendarHelper.isBetween(target.date, from, to), "aria-pressed": target.day.isSame(selectedDayText, 'date'), onClick: (e) => {
|
|
80
|
+
handleClick(e, target.date);
|
|
81
|
+
}, className: classNames.cellButton, "data-is-today": target.day.isSame(nowDateText, 'date'), children: jsxRuntime.jsx("span", { className: classNames.dateCell, children: date }) }) }));
|
|
81
82
|
});
|
|
82
|
-
const SelectButtonTdDateCell = React.memo(({ children, className }) => jsxRuntime.jsx("span", { className: className, children: children }));
|
|
83
83
|
|
|
84
84
|
exports.CalendarTable = CalendarTable;
|
|
85
85
|
//# sourceMappingURL=CalendarTable.cjs.map
|