smarthr-ui 99.3.2 → 99.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/_virtual/plugin.cjs +1 -1
- package/lib/_virtual/plugin.js +1 -1
- package/lib/components/AccordionPanel/AccordionPanel.cjs +1 -1
- package/lib/components/AccordionPanel/AccordionPanel.js +1 -1
- package/lib/components/AccordionPanel/AccordionPanelContent.cjs +1 -1
- package/lib/components/AccordionPanel/AccordionPanelContent.js +1 -1
- package/lib/components/AccordionPanel/AccordionPanelItem.cjs +1 -1
- package/lib/components/AccordionPanel/AccordionPanelItem.js +1 -1
- package/lib/components/AccordionPanel/AccordionPanelTrigger.cjs +1 -1
- package/lib/components/AccordionPanel/AccordionPanelTrigger.js +1 -1
- package/lib/components/AppHeader/components/common/AppLauncherFeatures.cjs +1 -1
- package/lib/components/AppHeader/components/common/AppLauncherFeatures.js +1 -1
- package/lib/components/AppHeader/components/common/AppLauncherSortDropdown.cjs +1 -1
- package/lib/components/AppHeader/components/common/AppLauncherSortDropdown.js +1 -1
- package/lib/components/AppHeader/components/common/CommonButton.cjs +1 -1
- package/lib/components/AppHeader/components/common/CommonButton.js +1 -1
- package/lib/components/AppHeader/components/desktop/AppLauncher.cjs +3 -3
- package/lib/components/AppHeader/components/desktop/AppLauncher.cjs.map +1 -1
- package/lib/components/AppHeader/components/desktop/AppLauncher.js +3 -3
- package/lib/components/AppHeader/components/desktop/AppLauncher.js.map +1 -1
- package/lib/components/AppHeader/components/desktop/DesktopHeader.cjs +1 -1
- package/lib/components/AppHeader/components/desktop/DesktopHeader.js +1 -1
- package/lib/components/AppHeader/components/desktop/Navigation.cjs +1 -1
- package/lib/components/AppHeader/components/desktop/Navigation.js +1 -1
- package/lib/components/AppHeader/components/desktop/ReleaseNotesDropdown.cjs +1 -1
- package/lib/components/AppHeader/components/desktop/ReleaseNotesDropdown.js +1 -1
- package/lib/components/AppHeader/components/desktop/UserInfo.cjs +1 -1
- package/lib/components/AppHeader/components/desktop/UserInfo.js +1 -1
- package/lib/components/AppHeader/components/mobile/AppLauncher.cjs +3 -3
- package/lib/components/AppHeader/components/mobile/AppLauncher.cjs.map +1 -1
- package/lib/components/AppHeader/components/mobile/AppLauncher.js +3 -3
- package/lib/components/AppHeader/components/mobile/AppLauncher.js.map +1 -1
- package/lib/components/AppHeader/components/mobile/AppLauncherFilterDropdown.cjs +1 -1
- package/lib/components/AppHeader/components/mobile/AppLauncherFilterDropdown.js +1 -1
- package/lib/components/AppHeader/components/mobile/LanguageSelector.cjs +1 -1
- package/lib/components/AppHeader/components/mobile/LanguageSelector.js +1 -1
- package/lib/components/AppHeader/components/mobile/Menu.cjs +1 -1
- package/lib/components/AppHeader/components/mobile/Menu.js +1 -1
- package/lib/components/AppHeader/components/mobile/MenuDialog.cjs +1 -1
- package/lib/components/AppHeader/components/mobile/MenuDialog.js +1 -1
- package/lib/components/AppHeader/components/mobile/MobileHeader.cjs +1 -1
- package/lib/components/AppHeader/components/mobile/MobileHeader.cjs.map +1 -1
- package/lib/components/AppHeader/components/mobile/MobileHeader.js +1 -1
- package/lib/components/AppHeader/components/mobile/MobileHeader.js.map +1 -1
- package/lib/components/AppHeader/components/mobile/Navigation.cjs +1 -1
- package/lib/components/AppHeader/components/mobile/Navigation.js +1 -1
- package/lib/components/AppHeader/components/mobile/NavigationItem.cjs +1 -1
- package/lib/components/AppHeader/components/mobile/NavigationItem.js +1 -1
- package/lib/components/AppHeader/components/mobile/ReleaseNote.cjs +1 -1
- package/lib/components/AppHeader/components/mobile/ReleaseNote.js +1 -1
- package/lib/components/AppHeader/components/mobile/TenantSelector.cjs +1 -1
- package/lib/components/AppHeader/components/mobile/TenantSelector.js +1 -1
- package/lib/components/AppHeader/components/mobile/UserInfo.cjs +1 -1
- package/lib/components/AppHeader/components/mobile/UserInfo.js +1 -1
- package/lib/components/AppHeader/hooks/useAppLauncher.cjs +10 -2
- package/lib/components/AppHeader/hooks/useAppLauncher.cjs.map +1 -1
- package/lib/components/AppHeader/hooks/useAppLauncher.d.ts +1 -0
- package/lib/components/AppHeader/hooks/useAppLauncher.js +10 -2
- package/lib/components/AppHeader/hooks/useAppLauncher.js.map +1 -1
- package/lib/components/AppNavi/AppNavi.cjs +1 -1
- package/lib/components/AppNavi/AppNavi.js +1 -1
- package/lib/components/AppNavi/AppNaviAnchor.cjs +1 -1
- package/lib/components/AppNavi/AppNaviAnchor.js +1 -1
- package/lib/components/AppNavi/AppNaviButton.cjs +1 -1
- package/lib/components/AppNavi/AppNaviButton.js +1 -1
- package/lib/components/AppNavi/AppNaviCustomTag.cjs +1 -1
- package/lib/components/AppNavi/AppNaviCustomTag.js +1 -1
- package/lib/components/AppNavi/AppNaviDropdown.cjs +1 -1
- package/lib/components/AppNavi/AppNaviDropdown.js +1 -1
- package/lib/components/AppNavi/AppNaviDropdownMenuButton.cjs +1 -1
- package/lib/components/AppNavi/AppNaviDropdownMenuButton.js +1 -1
- package/lib/components/AppNavi/itemClassNameGenerator.cjs +1 -1
- package/lib/components/AppNavi/itemClassNameGenerator.js +1 -1
- package/lib/components/Badge/Badge.cjs +1 -1
- package/lib/components/Badge/Badge.js +1 -1
- package/lib/components/BottomFixedArea/BottomFixedArea.cjs +1 -1
- package/lib/components/BottomFixedArea/BottomFixedArea.js +1 -1
- package/lib/components/Browser/Browser.cjs +1 -1
- package/lib/components/Browser/Browser.js +1 -1
- package/lib/components/Browser/BrowserColumn.cjs +1 -1
- package/lib/components/Browser/BrowserColumn.js +1 -1
- package/lib/components/Browser/BrowserItem.cjs +1 -1
- package/lib/components/Browser/BrowserItem.js +1 -1
- package/lib/components/Button/AnchorButton.cjs +1 -1
- package/lib/components/Button/AnchorButton.js +1 -1
- package/lib/components/Button/Button.cjs +1 -1
- package/lib/components/Button/Button.js +1 -1
- package/lib/components/Button/DisabledReason.cjs +1 -1
- package/lib/components/Button/DisabledReason.js +1 -1
- package/lib/components/Button/UnstyledButton.cjs +1 -1
- package/lib/components/Button/UnstyledButton.js +1 -1
- package/lib/components/Button/useButtonWrapper.cjs +1 -1
- package/lib/components/Button/useButtonWrapper.js +1 -1
- package/lib/components/Calendar/Calendar.cjs +1 -1
- package/lib/components/Calendar/Calendar.js +1 -1
- package/lib/components/Calendar/CalendarTable.cjs +1 -1
- package/lib/components/Calendar/CalendarTable.js +1 -1
- package/lib/components/Calendar/YearPicker.cjs +1 -1
- package/lib/components/Calendar/YearPicker.js +1 -1
- package/lib/components/Checkbox/Checkbox.cjs +1 -1
- package/lib/components/Checkbox/Checkbox.js +1 -1
- package/lib/components/Chip/Chip.cjs +1 -1
- package/lib/components/Chip/Chip.js +1 -1
- package/lib/components/Combobox/ItemButton.cjs +1 -1
- package/lib/components/Combobox/ItemButton.js +1 -1
- package/lib/components/Combobox/MultiCombobox/MultiCombobox.cjs +15 -5
- package/lib/components/Combobox/MultiCombobox/MultiCombobox.cjs.map +1 -1
- package/lib/components/Combobox/MultiCombobox/MultiCombobox.js +16 -6
- package/lib/components/Combobox/MultiCombobox/MultiCombobox.js.map +1 -1
- package/lib/components/Combobox/MultiCombobox/MultiSelectedItem.cjs +1 -1
- package/lib/components/Combobox/MultiCombobox/MultiSelectedItem.js +1 -1
- package/lib/components/Combobox/SingleCombobox/SingleCombobox.cjs +7 -3
- package/lib/components/Combobox/SingleCombobox/SingleCombobox.cjs.map +1 -1
- package/lib/components/Combobox/SingleCombobox/SingleCombobox.js +8 -4
- package/lib/components/Combobox/SingleCombobox/SingleCombobox.js.map +1 -1
- package/lib/components/Combobox/useListbox.cjs +8 -4
- package/lib/components/Combobox/useListbox.cjs.map +1 -1
- package/lib/components/Combobox/useListbox.js +8 -4
- package/lib/components/Combobox/useListbox.js.map +1 -1
- package/lib/components/DatePicker/DatePicker.cjs +7 -3
- package/lib/components/DatePicker/DatePicker.cjs.map +1 -1
- package/lib/components/DatePicker/DatePicker.js +7 -3
- package/lib/components/DatePicker/DatePicker.js.map +1 -1
- package/lib/components/DefinitionList/DefinitionList.cjs +1 -1
- package/lib/components/DefinitionList/DefinitionList.js +1 -1
- package/lib/components/DefinitionList/DefinitionListItem.cjs +8 -9
- package/lib/components/DefinitionList/DefinitionListItem.cjs.map +1 -1
- package/lib/components/DefinitionList/DefinitionListItem.js +8 -9
- package/lib/components/DefinitionList/DefinitionListItem.js.map +1 -1
- package/lib/components/Dialog/ControlledFormDialog/FormDialogContentInner.cjs +1 -1
- package/lib/components/Dialog/ControlledFormDialog/FormDialogContentInner.js +1 -1
- package/lib/components/Dialog/ControlledStepFormDialog/ControlledStepFormDialog.cjs +32 -4
- package/lib/components/Dialog/ControlledStepFormDialog/ControlledStepFormDialog.cjs.map +1 -1
- package/lib/components/Dialog/ControlledStepFormDialog/ControlledStepFormDialog.d.ts +1 -1
- package/lib/components/Dialog/ControlledStepFormDialog/ControlledStepFormDialog.js +29 -1
- package/lib/components/Dialog/ControlledStepFormDialog/ControlledStepFormDialog.js.map +1 -1
- package/lib/components/Dialog/ControlledStepFormDialog/StepFormDialogContentInner.cjs.map +1 -1
- package/lib/components/Dialog/ControlledStepFormDialog/StepFormDialogContentInner.d.ts +1 -2
- package/lib/components/Dialog/ControlledStepFormDialog/StepFormDialogContentInner.js.map +1 -1
- package/lib/components/Dialog/ControlledStepFormDialog/type.cjs +3 -0
- package/lib/components/Dialog/ControlledStepFormDialog/type.cjs.map +1 -0
- package/lib/components/Dialog/ControlledStepFormDialog/type.d.ts +25 -0
- package/lib/components/Dialog/ControlledStepFormDialog/type.js +2 -0
- package/lib/components/Dialog/ControlledStepFormDialog/type.js.map +1 -0
- package/lib/components/Dialog/DialogBody.cjs +1 -1
- package/lib/components/Dialog/DialogBody.js +1 -1
- package/lib/components/Dialog/DialogContentInner.cjs +1 -1
- package/lib/components/Dialog/DialogContentInner.js +1 -1
- package/lib/components/Dialog/DialogOverlap.cjs +1 -1
- package/lib/components/Dialog/DialogOverlap.js +1 -1
- package/lib/components/Dialog/FocusTrap.cjs +61 -44
- package/lib/components/Dialog/FocusTrap.cjs.map +1 -1
- package/lib/components/Dialog/FocusTrap.js +62 -45
- package/lib/components/Dialog/FocusTrap.js.map +1 -1
- package/lib/components/Dialog/ModelessDialog/ModelessDialog.cjs +1 -1
- package/lib/components/Dialog/ModelessDialog/ModelessDialog.js +1 -1
- package/lib/components/Dialog/RemoteDialogTrigger/useRemoteTrigger.cjs +20 -10
- package/lib/components/Dialog/RemoteDialogTrigger/useRemoteTrigger.cjs.map +1 -1
- package/lib/components/Dialog/RemoteDialogTrigger/useRemoteTrigger.d.ts +1 -1
- package/lib/components/Dialog/RemoteDialogTrigger/useRemoteTrigger.js +20 -10
- package/lib/components/Dialog/RemoteDialogTrigger/useRemoteTrigger.js.map +1 -1
- package/lib/components/Dialog/dialogInnerStyle.cjs +1 -1
- package/lib/components/Dialog/dialogInnerStyle.js +1 -1
- package/lib/components/Disclosure/useDisclosure.cjs +6 -3
- package/lib/components/Disclosure/useDisclosure.cjs.map +1 -1
- package/lib/components/Disclosure/useDisclosure.js +6 -3
- package/lib/components/Disclosure/useDisclosure.js.map +1 -1
- package/lib/components/DropZone/DropZone.cjs +1 -1
- package/lib/components/DropZone/DropZone.js +1 -1
- package/lib/components/Dropdown/Dropdown.cjs +20 -9
- package/lib/components/Dropdown/Dropdown.cjs.map +1 -1
- package/lib/components/Dropdown/Dropdown.js +20 -9
- package/lib/components/Dropdown/Dropdown.js.map +1 -1
- package/lib/components/Dropdown/DropdownCloser.cjs +1 -1
- package/lib/components/Dropdown/DropdownCloser.js +1 -1
- package/lib/components/Dropdown/DropdownContentInner.cjs +79 -3
- package/lib/components/Dropdown/DropdownContentInner.cjs.map +1 -1
- package/lib/components/Dropdown/DropdownContentInner.js +81 -5
- package/lib/components/Dropdown/DropdownContentInner.js.map +1 -1
- package/lib/components/Dropdown/DropdownMenuButton/DropdownMenuButton.cjs +70 -3
- package/lib/components/Dropdown/DropdownMenuButton/DropdownMenuButton.cjs.map +1 -1
- package/lib/components/Dropdown/DropdownMenuButton/DropdownMenuButton.js +71 -4
- package/lib/components/Dropdown/DropdownMenuButton/DropdownMenuButton.js.map +1 -1
- package/lib/components/Dropdown/DropdownMenuButton/DropdownMenuGroup.cjs +1 -1
- package/lib/components/Dropdown/DropdownMenuButton/DropdownMenuGroup.js +1 -1
- package/lib/components/Dropdown/DropdownTrigger.cjs +1 -1
- package/lib/components/Dropdown/DropdownTrigger.js +1 -1
- package/lib/components/Dropdown/FilterDropdown/FilterDropdown.cjs +1 -1
- package/lib/components/Dropdown/FilterDropdown/FilterDropdown.js +1 -1
- package/lib/components/Dropdown/SortDropdown/SortDropdown.cjs +68 -14
- package/lib/components/Dropdown/SortDropdown/SortDropdown.cjs.map +1 -1
- package/lib/components/Dropdown/SortDropdown/SortDropdown.js +69 -15
- package/lib/components/Dropdown/SortDropdown/SortDropdown.js.map +1 -1
- package/lib/components/ErrorScreen/ErrorScreen.cjs +1 -1
- package/lib/components/ErrorScreen/ErrorScreen.js +1 -1
- package/lib/components/FileViewer/PDFViewer.cjs +27 -26
- package/lib/components/FileViewer/PDFViewer.cjs.map +1 -1
- package/lib/components/FileViewer/PDFViewer.js +28 -27
- package/lib/components/FileViewer/PDFViewer.js.map +1 -1
- package/lib/components/FileViewer/SearchController.cjs +1 -1
- package/lib/components/FileViewer/SearchController.js +1 -1
- package/lib/components/FloatArea/FloatArea.cjs +26 -85
- package/lib/components/FloatArea/FloatArea.cjs.map +1 -1
- package/lib/components/FloatArea/FloatArea.js +26 -85
- package/lib/components/FloatArea/FloatArea.js.map +1 -1
- package/lib/components/FormControl/FormControl.cjs +60 -41
- package/lib/components/FormControl/FormControl.cjs.map +1 -1
- package/lib/components/FormControl/FormControl.js +60 -41
- package/lib/components/FormControl/FormControl.js.map +1 -1
- package/lib/components/Header/AppLauncher/AppLauncher.cjs +5 -5
- package/lib/components/Header/AppLauncher/AppLauncher.cjs.map +1 -1
- package/lib/components/Header/AppLauncher/AppLauncher.js +5 -5
- package/lib/components/Header/AppLauncher/AppLauncher.js.map +1 -1
- package/lib/components/Header/Header.cjs +1 -1
- package/lib/components/Header/Header.js +1 -1
- package/lib/components/Header/HeaderDropdownMenuButton.cjs +1 -1
- package/lib/components/Header/HeaderDropdownMenuButton.js +1 -1
- package/lib/components/Header/HeaderLink.cjs +1 -1
- package/lib/components/Header/HeaderLink.js +1 -1
- package/lib/components/Header/LanguageSwitcher/LanguageSwitcher.cjs +1 -1
- package/lib/components/Header/LanguageSwitcher/LanguageSwitcher.js +1 -1
- package/lib/components/Heading/Heading.cjs +1 -1
- package/lib/components/Heading/Heading.js +1 -1
- package/lib/components/Heading/PageHeading/PageHeading.cjs +43 -27
- package/lib/components/Heading/PageHeading/PageHeading.cjs.map +1 -1
- package/lib/components/Heading/PageHeading/PageHeading.js +44 -28
- package/lib/components/Heading/PageHeading/PageHeading.js.map +1 -1
- package/lib/components/Icon/generateIcon.cjs +1 -1
- package/lib/components/Icon/generateIcon.js +1 -1
- package/lib/components/InformationPanel/InformationPanel.cjs +7 -7
- package/lib/components/InformationPanel/InformationPanel.cjs.map +1 -1
- package/lib/components/InformationPanel/InformationPanel.js +8 -8
- package/lib/components/InformationPanel/InformationPanel.js.map +1 -1
- package/lib/components/Input/CurrencyInput/CurrencyInput.cjs +17 -16
- package/lib/components/Input/CurrencyInput/CurrencyInput.cjs.map +1 -1
- package/lib/components/Input/CurrencyInput/CurrencyInput.js +18 -17
- package/lib/components/Input/CurrencyInput/CurrencyInput.js.map +1 -1
- package/lib/components/Input/Input.cjs +15 -16
- package/lib/components/Input/Input.cjs.map +1 -1
- package/lib/components/Input/Input.js +16 -17
- package/lib/components/Input/Input.js.map +1 -1
- package/lib/components/Input/InputWithTooltip/InputWithTooltip.cjs +3 -3
- package/lib/components/Input/InputWithTooltip/InputWithTooltip.cjs.map +1 -1
- package/lib/components/Input/InputWithTooltip/InputWithTooltip.js +3 -3
- package/lib/components/Input/InputWithTooltip/InputWithTooltip.js.map +1 -1
- package/lib/components/Input/SearchInput/SearchInput.cjs +10 -3
- package/lib/components/Input/SearchInput/SearchInput.cjs.map +1 -1
- package/lib/components/Input/SearchInput/SearchInput.js +10 -3
- package/lib/components/Input/SearchInput/SearchInput.js.map +1 -1
- package/lib/components/InputFile/style.cjs +1 -1
- package/lib/components/InputFile/style.js +1 -1
- package/lib/components/Layout/Center/Center.cjs +1 -1
- package/lib/components/Layout/Center/Center.js +1 -1
- package/lib/components/Layout/Cluster/Cluster.cjs +1 -1
- package/lib/components/Layout/Cluster/Cluster.js +1 -1
- package/lib/components/Layout/Container/Container.cjs +1 -1
- package/lib/components/Layout/Container/Container.js +1 -1
- package/lib/components/Layout/Reel/Reel.cjs +1 -1
- package/lib/components/Layout/Reel/Reel.js +1 -1
- package/lib/components/Layout/Sidebar/Sidebar.cjs +1 -1
- package/lib/components/Layout/Sidebar/Sidebar.js +1 -1
- package/lib/components/Layout/Stack/Stack.cjs +1 -1
- package/lib/components/Layout/Stack/Stack.js +1 -1
- package/lib/components/LineClamp/LineClamp.cjs +1 -1
- package/lib/components/LineClamp/LineClamp.js +1 -1
- package/lib/components/Loader/Loader.cjs +1 -1
- package/lib/components/Loader/Loader.js +1 -1
- package/lib/components/Loader/LoaderSpinner.cjs +1 -1
- package/lib/components/Loader/LoaderSpinner.js +1 -1
- package/lib/components/NotificationBar/NotificationBar.cjs +1 -1
- package/lib/components/NotificationBar/NotificationBar.js +1 -1
- package/lib/components/PageCounter/PageCounter.cjs +1 -1
- package/lib/components/PageCounter/PageCounter.js +1 -1
- package/lib/components/Pagination/Pagination.cjs +1 -1
- package/lib/components/Pagination/Pagination.js +1 -1
- package/lib/components/Panel/Groupbox/Groupbox.cjs +1 -1
- package/lib/components/Panel/Groupbox/Groupbox.js +1 -1
- package/lib/components/Panel/Panel.cjs +1 -1
- package/lib/components/Panel/Panel.js +1 -1
- package/lib/components/Picker/style.cjs +1 -1
- package/lib/components/Picker/style.js +1 -1
- package/lib/components/RadioButton/RadioButton.cjs +1 -1
- package/lib/components/RadioButton/RadioButton.js +1 -1
- package/lib/components/RadioButtonPanel/RadioButtonPanel.cjs +5 -4
- package/lib/components/RadioButtonPanel/RadioButtonPanel.cjs.map +1 -1
- package/lib/components/RadioButtonPanel/RadioButtonPanel.js +6 -5
- package/lib/components/RadioButtonPanel/RadioButtonPanel.js.map +1 -1
- package/lib/components/ResponseMessage/ResponseMessage.cjs +1 -1
- package/lib/components/ResponseMessage/ResponseMessage.js +1 -1
- package/lib/components/Scroller/Scroller.cjs +23 -13
- package/lib/components/Scroller/Scroller.cjs.map +1 -1
- package/lib/components/Scroller/Scroller.js +24 -14
- package/lib/components/Scroller/Scroller.js.map +1 -1
- package/lib/components/SegmentedControl/SegmentedControl.cjs +30 -23
- package/lib/components/SegmentedControl/SegmentedControl.cjs.map +1 -1
- package/lib/components/SegmentedControl/SegmentedControl.js +31 -24
- package/lib/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/lib/components/Select/Select.cjs +1 -1
- package/lib/components/Select/Select.js +1 -1
- package/lib/components/SideMenu/SideMenu.cjs +1 -1
- package/lib/components/SideMenu/SideMenu.js +1 -1
- package/lib/components/SideMenu/SideMenuGroup.cjs +1 -1
- package/lib/components/SideMenu/SideMenuGroup.js +1 -1
- package/lib/components/SideMenu/SideMenuItem.cjs +1 -1
- package/lib/components/SideMenu/SideMenuItem.js +1 -1
- package/lib/components/SideNav/SideNav.cjs +1 -1
- package/lib/components/SideNav/SideNav.js +1 -1
- package/lib/components/SideNav/SideNavItemButton.cjs +1 -1
- package/lib/components/SideNav/SideNavItemButton.js +1 -1
- package/lib/components/SmartHRLogo/SmartHRLogo.cjs +1 -1
- package/lib/components/SmartHRLogo/SmartHRLogo.js +1 -1
- package/lib/components/SpreadsheetTable/SpreadsheetTable.cjs +1 -1
- package/lib/components/SpreadsheetTable/SpreadsheetTable.js +1 -1
- package/lib/components/StatusLabel/StatusLabel.cjs +1 -1
- package/lib/components/StatusLabel/StatusLabel.js +1 -1
- package/lib/components/Stepper/HorizontalStepItem.cjs +1 -1
- package/lib/components/Stepper/HorizontalStepItem.js +1 -1
- package/lib/components/Stepper/StepCounter.cjs +1 -1
- package/lib/components/Stepper/StepCounter.js +1 -1
- package/lib/components/Stepper/StepStatusIcon.cjs +1 -1
- package/lib/components/Stepper/StepStatusIcon.js +1 -1
- package/lib/components/Stepper/Stepper.cjs +1 -1
- package/lib/components/Stepper/Stepper.js +1 -1
- package/lib/components/Stepper/VerticalStepItem.cjs +1 -1
- package/lib/components/Stepper/VerticalStepItem.js +1 -1
- package/lib/components/Switch/Switch.cjs +1 -1
- package/lib/components/Switch/Switch.js +1 -1
- package/lib/components/TabBar/TabBar.cjs +1 -1
- package/lib/components/TabBar/TabBar.js +1 -1
- package/lib/components/TabBar/TabItem.cjs +1 -1
- package/lib/components/TabBar/TabItem.js +1 -1
- package/lib/components/Table/BulkActionRow.cjs +1 -1
- package/lib/components/Table/BulkActionRow.js +1 -1
- package/lib/components/Table/EmptyTableBody.cjs +1 -1
- package/lib/components/Table/EmptyTableBody.js +1 -1
- package/lib/components/Table/Table.cjs +1 -1
- package/lib/components/Table/Table.js +1 -1
- package/lib/components/Table/TableReel.cjs +1 -1
- package/lib/components/Table/TableReel.js +1 -1
- package/lib/components/Table/Td.cjs +1 -1
- package/lib/components/Table/Td.js +1 -1
- package/lib/components/Table/TdCheckbox.cjs +1 -1
- package/lib/components/Table/TdCheckbox.js +1 -1
- package/lib/components/Table/TdRadioButton.cjs +1 -1
- package/lib/components/Table/TdRadioButton.js +1 -1
- package/lib/components/Table/Th.cjs +1 -1
- package/lib/components/Table/Th.js +1 -1
- package/lib/components/Table/ThCheckbox.cjs +1 -1
- package/lib/components/Table/ThCheckbox.js +1 -1
- package/lib/components/Table/ThSortButton.cjs +1 -1
- package/lib/components/Table/ThSortButton.js +1 -1
- package/lib/components/Table/reelShadowStyle.cjs +1 -1
- package/lib/components/Table/reelShadowStyle.js +1 -1
- package/lib/components/Text/Text.cjs +1 -1
- package/lib/components/Text/Text.js +1 -1
- package/lib/components/TextLink/TextLink.cjs +1 -1
- package/lib/components/TextLink/TextLink.js +1 -1
- package/lib/components/TextLink/UpwardLink/UpwardLink.cjs +1 -1
- package/lib/components/TextLink/UpwardLink/UpwardLink.js +1 -1
- package/lib/components/Textarea/Textarea.cjs +1 -1
- package/lib/components/Textarea/Textarea.js +1 -1
- package/lib/components/Timeline/Timeline.cjs +1 -1
- package/lib/components/Timeline/Timeline.js +1 -1
- package/lib/components/Timeline/TimelineItem.cjs +1 -1
- package/lib/components/Timeline/TimelineItem.js +1 -1
- package/lib/components/Tooltip/ControlledTooltip.cjs +1 -1
- package/lib/components/Tooltip/ControlledTooltip.js +1 -1
- package/lib/components/Tooltip/Tooltip.cjs +1 -1
- package/lib/components/Tooltip/Tooltip.js +1 -1
- package/lib/components/Tooltip/TooltipPortal.cjs +1 -1
- package/lib/components/Tooltip/TooltipPortal.js +1 -1
- package/lib/components/VisuallyHiddenText/VisuallyHiddenText.cjs +1 -1
- package/lib/components/VisuallyHiddenText/VisuallyHiddenText.js +1 -1
- package/lib/configureTwMerge.cjs +1 -1
- package/lib/configureTwMerge.js +1 -1
- package/lib/hooks/useAnimationFrame.cjs +40 -0
- package/lib/hooks/useAnimationFrame.cjs.map +1 -0
- package/lib/hooks/useAnimationFrame.d.ts +19 -0
- package/lib/hooks/useAnimationFrame.js +38 -0
- package/lib/hooks/useAnimationFrame.js.map +1 -0
- package/lib/hooks/useLatest.cjs +1 -2
- package/lib/hooks/useLatest.cjs.map +1 -1
- package/lib/hooks/useLatest.js +1 -2
- package/lib/hooks/useLatest.js.map +1 -1
- package/lib/hooks/useMediaQueries/useMediaQueries.cjs +41 -29
- package/lib/hooks/useMediaQueries/useMediaQueries.cjs.map +1 -1
- package/lib/hooks/useMediaQueries/useMediaQueries.js +42 -30
- package/lib/hooks/useMediaQueries/useMediaQueries.js.map +1 -1
- package/lib/hooks/useMergeRefs.cjs +56 -0
- package/lib/hooks/useMergeRefs.cjs.map +1 -0
- package/lib/hooks/useMergeRefs.d.ts +18 -0
- package/lib/hooks/useMergeRefs.js +54 -0
- package/lib/hooks/useMergeRefs.js.map +1 -0
- package/lib/hooks/useOnce.cjs +42 -0
- package/lib/hooks/useOnce.cjs.map +1 -0
- package/lib/hooks/useOnce.d.ts +19 -0
- package/lib/hooks/useOnce.js +40 -0
- package/lib/hooks/useOnce.js.map +1 -0
- package/lib/hooks/useSV/useSV.cjs +1 -1
- package/lib/hooks/useSV/useSV.js +1 -1
- package/lib/index.cjs +2 -0
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/{components/Input/CurrencyInput/currencyInputHelper.js → libs/formatNumericString.cjs} +11 -3
- package/lib/libs/formatNumericString.cjs.map +1 -0
- package/lib/libs/formatNumericString.d.ts +7 -0
- package/lib/{components/Input/CurrencyInput/currencyInputHelper.cjs → libs/formatNumericString.js} +9 -5
- package/lib/libs/formatNumericString.js.map +1 -0
- package/lib/vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/chunk-I2QGXAA3.cjs.map +1 -0
- package/lib/vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/chunk-I2QGXAA3.js.map +1 -0
- package/lib/vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs.map +1 -0
- package/lib/vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js.map +1 -0
- package/lib/vendor/.pnpm/tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helpers@0.5.23__@types_node@20.19.43_typescript@5.9.3_/vendor/tailwindcss/lib/public/create-plugin.cjs.map +1 -0
- package/lib/vendor/.pnpm/tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helpers@0.5.23__@types_node@20.19.43_typescript@5.9.3_/vendor/tailwindcss/lib/public/create-plugin.js.map +1 -0
- package/lib/vendor/.pnpm/tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helpers@0.5.23__@types_node@20.19.43_typescript@5.9.3_/vendor/tailwindcss/lib/util/createPlugin.cjs.map +1 -0
- package/lib/vendor/.pnpm/tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helpers@0.5.23__@types_node@20.19.43_typescript@5.9.3_/vendor/tailwindcss/lib/util/createPlugin.js.map +1 -0
- package/lib/vendor/.pnpm/tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helpers@0.5.23__@types_node@20.19.43_typescript@5.9.3_/vendor/tailwindcss/plugin.cjs.map +1 -0
- package/lib/vendor/.pnpm/tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helpers@0.5.23__@types_node@20.19.43_typescript@5.9.3_/vendor/tailwindcss/plugin.js.map +1 -0
- package/metadata.json +1 -1
- package/package.json +1 -1
- package/lib/components/Dialog/ControlledStepFormDialog/useStepFormDialogButton.cjs +0 -36
- package/lib/components/Dialog/ControlledStepFormDialog/useStepFormDialogButton.cjs.map +0 -1
- package/lib/components/Dialog/ControlledStepFormDialog/useStepFormDialogButton.d.ts +0 -32
- package/lib/components/Dialog/ControlledStepFormDialog/useStepFormDialogButton.js +0 -34
- package/lib/components/Dialog/ControlledStepFormDialog/useStepFormDialogButton.js.map +0 -1
- package/lib/components/Dropdown/DropdownMenuButton/useKeyboardNavigation.cjs +0 -78
- package/lib/components/Dropdown/DropdownMenuButton/useKeyboardNavigation.cjs.map +0 -1
- package/lib/components/Dropdown/DropdownMenuButton/useKeyboardNavigation.d.ts +0 -3
- package/lib/components/Dropdown/DropdownMenuButton/useKeyboardNavigation.js +0 -76
- package/lib/components/Dropdown/DropdownMenuButton/useKeyboardNavigation.js.map +0 -1
- package/lib/components/Dropdown/SortDropdown/useSortDropdown.cjs +0 -136
- package/lib/components/Dropdown/SortDropdown/useSortDropdown.cjs.map +0 -1
- package/lib/components/Dropdown/SortDropdown/useSortDropdown.d.ts +0 -34
- package/lib/components/Dropdown/SortDropdown/useSortDropdown.js +0 -134
- package/lib/components/Dropdown/SortDropdown/useSortDropdown.js.map +0 -1
- package/lib/components/Dropdown/useKeyboardNavigation.cjs +0 -90
- package/lib/components/Dropdown/useKeyboardNavigation.cjs.map +0 -1
- package/lib/components/Dropdown/useKeyboardNavigation.d.ts +0 -2
- package/lib/components/Dropdown/useKeyboardNavigation.js +0 -88
- package/lib/components/Dropdown/useKeyboardNavigation.js.map +0 -1
- package/lib/components/Input/CurrencyInput/currencyInputHelper.cjs.map +0 -1
- package/lib/components/Input/CurrencyInput/currencyInputHelper.d.ts +0 -1
- package/lib/components/Input/CurrencyInput/currencyInputHelper.js.map +0 -1
- package/lib/components/Input/SearchInput/SearchInputIcon.cjs +0 -18
- package/lib/components/Input/SearchInput/SearchInputIcon.cjs.map +0 -1
- package/lib/components/Input/SearchInput/SearchInputIcon.d.ts +0 -1
- package/lib/components/Input/SearchInput/SearchInputIcon.js +0 -16
- package/lib/components/Input/SearchInput/SearchInputIcon.js.map +0 -1
- package/lib/libs/object.cjs +0 -8
- package/lib/libs/object.cjs.map +0 -1
- package/lib/libs/object.d.ts +0 -6
- package/lib/libs/object.js +0 -5
- package/lib/libs/object.js.map +0 -1
- package/lib/vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/chunk-I2QGXAA3.cjs.map +0 -1
- package/lib/vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/chunk-I2QGXAA3.js.map +0 -1
- package/lib/vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs.map +0 -1
- package/lib/vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.js.map +0 -1
- package/lib/vendor/.pnpm/tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3_/vendor/tailwindcss/lib/public/create-plugin.cjs.map +0 -1
- package/lib/vendor/.pnpm/tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3_/vendor/tailwindcss/lib/public/create-plugin.js.map +0 -1
- package/lib/vendor/.pnpm/tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3_/vendor/tailwindcss/lib/util/createPlugin.cjs.map +0 -1
- package/lib/vendor/.pnpm/tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3_/vendor/tailwindcss/lib/util/createPlugin.js.map +0 -1
- package/lib/vendor/.pnpm/tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3_/vendor/tailwindcss/plugin.cjs.map +0 -1
- package/lib/vendor/.pnpm/tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3_/vendor/tailwindcss/plugin.js.map +0 -1
- /package/lib/vendor/.pnpm/{tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__ → tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c}/vendor/tailwind-variants/dist/chunk-I2QGXAA3.cjs +0 -0
- /package/lib/vendor/.pnpm/{tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__ → tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c}/vendor/tailwind-variants/dist/chunk-I2QGXAA3.js +0 -0
- /package/lib/vendor/.pnpm/{tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__ → tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c}/vendor/tailwind-variants/dist/index.cjs +0 -0
- /package/lib/vendor/.pnpm/{tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__ → tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c}/vendor/tailwind-variants/dist/index.js +0 -0
- /package/lib/vendor/.pnpm/{tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3_ → tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helpers@0.5.23__@types_node@20.19.43_typescript@5.9.3_}/vendor/tailwindcss/lib/public/create-plugin.cjs +0 -0
- /package/lib/vendor/.pnpm/{tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3_ → tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helpers@0.5.23__@types_node@20.19.43_typescript@5.9.3_}/vendor/tailwindcss/lib/public/create-plugin.js +0 -0
- /package/lib/vendor/.pnpm/{tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3_ → tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helpers@0.5.23__@types_node@20.19.43_typescript@5.9.3_}/vendor/tailwindcss/lib/util/createPlugin.cjs +0 -0
- /package/lib/vendor/.pnpm/{tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3_ → tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helpers@0.5.23__@types_node@20.19.43_typescript@5.9.3_}/vendor/tailwindcss/lib/util/createPlugin.js +0 -0
- /package/lib/vendor/.pnpm/{tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3_ → tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helpers@0.5.23__@types_node@20.19.43_typescript@5.9.3_}/vendor/tailwindcss/plugin.cjs +0 -0
- /package/lib/vendor/.pnpm/{tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3_ → tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helpers@0.5.23__@types_node@20.19.43_typescript@5.9.3_}/vendor/tailwindcss/plugin.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@
|
|
3
|
+
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
|
|
4
4
|
|
|
5
5
|
const itemClassNameGenerator = index.tv({
|
|
6
6
|
slots: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
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.46_@
|
|
1
|
+
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
|
|
2
2
|
|
|
3
3
|
const itemClassNameGenerator = ce({
|
|
4
4
|
slots: {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@
|
|
5
|
+
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
|
|
6
6
|
var components_Text_Text = require('../Text/Text.cjs');
|
|
7
7
|
|
|
8
8
|
const classNameGenerator = index.tv({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { memo, useMemo } from 'react';
|
|
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.46_@
|
|
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
|
|
4
4
|
import { Text } from '../Text/Text.js';
|
|
5
5
|
|
|
6
6
|
const classNameGenerator = ce({
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
var jsxRuntime = require('react/jsx-runtime');
|
|
5
5
|
var React = require('react');
|
|
6
|
-
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@
|
|
6
|
+
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
|
|
7
7
|
var components_Button_Button = require('../Button/Button.cjs');
|
|
8
8
|
require('../Button/AnchorButton.cjs');
|
|
9
9
|
require('../Button/UnstyledButton.cjs');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
3
|
import { memo, useMemo } from 'react';
|
|
4
|
-
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.46_@
|
|
4
|
+
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
|
|
5
5
|
import { Button } from '../Button/Button.js';
|
|
6
6
|
import '../Button/AnchorButton.js';
|
|
7
7
|
import '../Button/UnstyledButton.js';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@
|
|
5
|
+
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
|
|
6
6
|
var hooks_useLatest = require('../../hooks/useLatest.cjs');
|
|
7
7
|
var components_Browser_BrowserColumn = require('./BrowserColumn.cjs');
|
|
8
8
|
var components_Browser_models_ItemNode = require('./models/ItemNode.cjs');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { useMemo } from 'react';
|
|
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.46_@
|
|
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
|
|
4
4
|
import { useLatest } from '../../hooks/useLatest.js';
|
|
5
5
|
import { BrowserColumn } from './BrowserColumn.js';
|
|
6
6
|
import { ItemNode } from './models/ItemNode.js';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@
|
|
5
|
+
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
|
|
6
6
|
var components_Browser_BrowserItem = require('./BrowserItem.cjs');
|
|
7
7
|
|
|
8
8
|
const getColumnId = (column) => `column-${column}`;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { memo, useMemo } from 'react';
|
|
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.46_@
|
|
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
|
|
4
4
|
import { BrowserItem } from './BrowserItem.js';
|
|
5
5
|
|
|
6
6
|
const getColumnId = (column) => `column-${column}`;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@
|
|
5
|
+
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
|
|
6
6
|
var components_Icon_FaIcon = require('../Icon/FaIcon.cjs');
|
|
7
7
|
require('../Icon/generateIcon.cjs');
|
|
8
8
|
require('../Icon/OpenInNewTabIcon.cjs');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { memo, useMemo } from 'react';
|
|
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.46_@
|
|
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
|
|
4
4
|
import { FaAngleRightIcon } from '../Icon/FaIcon.js';
|
|
5
5
|
import '../Icon/generateIcon.js';
|
|
6
6
|
import '../Icon/OpenInNewTabIcon.js';
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
var jsxRuntime = require('react/jsx-runtime');
|
|
5
5
|
var React = require('react');
|
|
6
|
-
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@
|
|
6
|
+
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
|
|
7
7
|
require('../Icon/generateIcon.cjs');
|
|
8
8
|
var components_Icon_OpenInNewTabIcon = require('../Icon/OpenInNewTabIcon.cjs');
|
|
9
9
|
var components_Button_ButtonWrapper = require('./ButtonWrapper.cjs');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
3
|
import { forwardRef, useMemo } from 'react';
|
|
4
|
-
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.46_@
|
|
4
|
+
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
|
|
5
5
|
import '../Icon/generateIcon.js';
|
|
6
6
|
import { OpenInNewTabIcon } from '../Icon/OpenInNewTabIcon.js';
|
|
7
7
|
import { ButtonWrapper } from './ButtonWrapper.js';
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
var jsxRuntime = require('react/jsx-runtime');
|
|
5
5
|
var React = require('react');
|
|
6
|
-
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@
|
|
6
|
+
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
|
|
7
7
|
var hooks_usePortal = require('../../hooks/usePortal.cjs');
|
|
8
8
|
require('../../intl/IntlProvider.cjs');
|
|
9
9
|
require('react-intl');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
3
|
import { forwardRef, useMemo, memo } from 'react';
|
|
4
|
-
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.46_@
|
|
4
|
+
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
|
|
5
5
|
import { usePortal } from '../../hooks/usePortal.js';
|
|
6
6
|
import '../../intl/IntlProvider.js';
|
|
7
7
|
import 'react-intl';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@
|
|
5
|
+
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
|
|
6
6
|
var components_Icon_FaIcon = require('../Icon/FaIcon.cjs');
|
|
7
7
|
require('../Icon/generateIcon.cjs');
|
|
8
8
|
require('../Icon/OpenInNewTabIcon.cjs');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { memo } from 'react';
|
|
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.46_@
|
|
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
|
|
4
4
|
import { FaCircleInfoIcon } from '../Icon/FaIcon.js';
|
|
5
5
|
import '../Icon/generateIcon.js';
|
|
6
6
|
import '../Icon/OpenInNewTabIcon.js';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@
|
|
5
|
+
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
|
|
6
6
|
|
|
7
7
|
const classNameGenerator = index.tv({
|
|
8
8
|
base: [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { forwardRef, useMemo } from 'react';
|
|
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.46_@
|
|
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
|
|
4
4
|
|
|
5
5
|
const classNameGenerator = ce({
|
|
6
6
|
base: [
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@
|
|
5
|
+
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
|
|
6
6
|
var components_Loader_Loader = require('../Loader/Loader.cjs');
|
|
7
7
|
|
|
8
8
|
// HINT: prefix, suffixが存在せず、かつIcon,svg,img,Loaderのいずれかが単一でbodyに含まれるButtonかチェックしたい
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { useRef, useState, useMemo, useEffect } from 'react';
|
|
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.46_@
|
|
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
|
|
4
4
|
import { Loader } from '../Loader/Loader.js';
|
|
5
5
|
|
|
6
6
|
// HINT: prefix, suffixが存在せず、かつIcon,svg,img,Loaderのいずれかが単一でbodyに含まれるButtonかチェックしたい
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
var jsxRuntime = require('react/jsx-runtime');
|
|
5
5
|
var dayjs_min = require('../../_virtual/dayjs.min.cjs');
|
|
6
6
|
var React = require('react');
|
|
7
|
-
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@
|
|
7
|
+
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
|
|
8
8
|
var hooks_useLatest = require('../../hooks/useLatest.cjs');
|
|
9
9
|
require('../../intl/IntlProvider.cjs');
|
|
10
10
|
require('react-intl');
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
3
|
import dayjs from '../../_virtual/dayjs.min.js';
|
|
4
4
|
import { forwardRef, useMemo, useState, useId, useEffect, memo } from 'react';
|
|
5
|
-
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.46_@
|
|
5
|
+
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
|
|
6
6
|
import { useLatest } from '../../hooks/useLatest.js';
|
|
7
7
|
import '../../intl/IntlProvider.js';
|
|
8
8
|
import 'react-intl';
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var dayjs_min = require('../../_virtual/dayjs.min.cjs');
|
|
5
5
|
var React = require('react');
|
|
6
|
-
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@
|
|
6
|
+
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
|
|
7
7
|
var hooks_useLatest = require('../../hooks/useLatest.cjs');
|
|
8
8
|
require('../../intl/IntlProvider.cjs');
|
|
9
9
|
require('react-intl');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import dayjs from '../../_virtual/dayjs.min.js';
|
|
3
3
|
import { memo, useMemo, useCallback } from 'react';
|
|
4
|
-
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.46_@
|
|
4
|
+
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
|
|
5
5
|
import { useLatest } from '../../hooks/useLatest.js';
|
|
6
6
|
import '../../intl/IntlProvider.js';
|
|
7
7
|
import 'react-intl';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@
|
|
5
|
+
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
|
|
6
6
|
require('../../intl/IntlProvider.cjs');
|
|
7
7
|
var intl_useIntl = require('../../intl/useIntl.cjs');
|
|
8
8
|
require('react-intl');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { memo, useRef, useMemo, useEffect } from 'react';
|
|
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.46_@
|
|
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
|
|
4
4
|
import '../../intl/IntlProvider.js';
|
|
5
5
|
import { useIntl } from '../../intl/useIntl.js';
|
|
6
6
|
import 'react-intl';
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
var jsxRuntime = require('react/jsx-runtime');
|
|
5
5
|
var React = require('react');
|
|
6
|
-
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@
|
|
6
|
+
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
|
|
7
7
|
var components_Icon_FaIcon = require('../Icon/FaIcon.cjs');
|
|
8
8
|
require('../Icon/generateIcon.cjs');
|
|
9
9
|
require('../Icon/OpenInNewTabIcon.cjs');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
3
|
import { forwardRef, useMemo, useRef, useId, useImperativeHandle, useEffect, memo } from 'react';
|
|
4
|
-
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.46_@
|
|
4
|
+
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
|
|
5
5
|
import { FaMinusIcon, FaCheckIcon } from '../Icon/FaIcon.js';
|
|
6
6
|
import '../Icon/generateIcon.js';
|
|
7
7
|
import '../Icon/OpenInNewTabIcon.js';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@
|
|
5
|
+
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
|
|
6
6
|
|
|
7
7
|
const classNameGenerator = index.tv({
|
|
8
8
|
base: [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { useMemo } from 'react';
|
|
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.46_@
|
|
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
|
|
4
4
|
|
|
5
5
|
const classNameGenerator = ce({
|
|
6
6
|
base: [
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@
|
|
5
|
+
var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
|
|
6
6
|
require('../../intl/IntlProvider.cjs');
|
|
7
7
|
require('react-intl');
|
|
8
8
|
var intl_Localizer = require('../../intl/Localizer.cjs');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { memo } from 'react';
|
|
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.46_@
|
|
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
|
|
4
4
|
import '../../intl/IntlProvider.js';
|
|
5
5
|
import 'react-intl';
|
|
6
6
|
import { Localizer } from '../../intl/Localizer.js';
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
var jsxRuntime = require('react/jsx-runtime');
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var index$1 = require('../../../_virtual/index3.cjs');
|
|
7
|
-
var index = require('./../../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@
|
|
7
|
+
var index = require('./../../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
|
|
8
|
+
var hooks_useAnimationFrame = require('../../../hooks/useAnimationFrame.cjs');
|
|
8
9
|
var hooks_useLatest = require('../../../hooks/useLatest.cjs');
|
|
9
10
|
var hooks_useOuterClick = require('../../../hooks/useOuterClick.cjs');
|
|
10
11
|
var hooks_useTheme = require('../../../hooks/useTheme.cjs');
|
|
@@ -95,6 +96,8 @@ const ActualMultiCombobox = ({ items, selectedItems, name, disabled = false, req
|
|
|
95
96
|
isItemSelected,
|
|
96
97
|
});
|
|
97
98
|
const inputRef = React.useRef(null);
|
|
99
|
+
const deleteFrame = hooks_useAnimationFrame.useAnimationFrame();
|
|
100
|
+
const selectFrame = hooks_useAnimationFrame.useAnimationFrame();
|
|
98
101
|
// eslint-disable-next-line local-rules/best-practice-for-use-latest
|
|
99
102
|
const latestForListBox = hooks_useLatest.useLatest({
|
|
100
103
|
onDelete,
|
|
@@ -102,6 +105,8 @@ const ActualMultiCombobox = ({ items, selectedItems, name, disabled = false, req
|
|
|
102
105
|
onSelect,
|
|
103
106
|
onChangeInput,
|
|
104
107
|
selectedItems,
|
|
108
|
+
deleteFrame,
|
|
109
|
+
selectFrame,
|
|
105
110
|
});
|
|
106
111
|
const listBoxFunctions = React.useMemo(() => {
|
|
107
112
|
const handleDelete = (item) => {
|
|
@@ -114,8 +119,8 @@ const ActualMultiCombobox = ({ items, selectedItems, name, disabled = false, req
|
|
|
114
119
|
}
|
|
115
120
|
if (handlers.length > 0) {
|
|
116
121
|
// HINT: Dropdown系コンポーネント内でComboboxを使うと、選択肢がportalで表現されている関係上Dropdownが閉じてしまう
|
|
117
|
-
//
|
|
118
|
-
|
|
122
|
+
// 処理を遅延させることで正常に閉じる/閉じないの判定を行えるようにする
|
|
123
|
+
latestForListBox.deleteFrame.request(() => {
|
|
119
124
|
handlers.forEach((h) => h(item));
|
|
120
125
|
});
|
|
121
126
|
}
|
|
@@ -124,8 +129,8 @@ const ActualMultiCombobox = ({ items, selectedItems, name, disabled = false, req
|
|
|
124
129
|
handleDelete,
|
|
125
130
|
handleSelect: (selected) => {
|
|
126
131
|
// HINT: Dropdown系コンポーネント内でComboboxを使うと、選択肢がportalで表現されている関係上Dropdownが閉じてしまう
|
|
127
|
-
//
|
|
128
|
-
|
|
132
|
+
// 処理を遅延させることで正常に閉じる/閉じないの判定を行えるようにする
|
|
133
|
+
latestForListBox.selectFrame.request(() => {
|
|
129
134
|
const matchedSelectedItem = latestForListBox.selectedItems.find((item) => components_Combobox_helper.areItemsEqual(item, selected));
|
|
130
135
|
if (matchedSelectedItem === undefined) {
|
|
131
136
|
latestForListBox.onSelect?.(selected);
|
|
@@ -140,6 +145,11 @@ const ActualMultiCombobox = ({ items, selectedItems, name, disabled = false, req
|
|
|
140
145
|
},
|
|
141
146
|
};
|
|
142
147
|
}, [latestForListBox]);
|
|
148
|
+
// TODO: callbackRefにまとめたい
|
|
149
|
+
React.useEffect(() => () => {
|
|
150
|
+
latestForListBox.deleteFrame.cancel();
|
|
151
|
+
latestForListBox.selectFrame.cancel();
|
|
152
|
+
}, [latestForListBox]);
|
|
143
153
|
const { listBoxProps, activeOption, handleKeyDownListBox, listBoxId, listBoxRef } = components_Combobox_useListbox.useListbox({
|
|
144
154
|
options,
|
|
145
155
|
dropdownHelpMessage,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiCombobox.cjs","sources":["../../../../src/components/Combobox/MultiCombobox/MultiCombobox.tsx"],"sourcesContent":["'use client'\n\nimport {\n type ChangeEvent,\n type ComponentPropsWithoutRef,\n type KeyboardEvent,\n type MouseEvent,\n type ReactNode,\n type Ref,\n memo,\n useEffect,\n useId,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport innerText from 'react-innertext'\nimport { tv } from 'tailwind-variants'\n\nimport { useLatest } from '../../../hooks/useLatest'\nimport { useOuterClick } from '../../../hooks/useOuterClick'\nimport { useTheme } from '../../../hooks/useTheme'\nimport { useLocalize } from '../../../intl'\nimport { findDelegateTarget } from '../../../libs/delegate'\nimport { genericsForwardRef } from '../../../libs/util'\nimport { FaCaretDownIcon } from '../../Icon'\nimport { Scroller } from '../../Scroller'\nimport { areItemsEqual } from '../helper'\nimport { ListBox, useListbox } from '../useListbox'\nimport { useMultiOptions } from '../useOptions'\n\nimport { DELETE_BUTTON_SELECTOR, MultiSelectedItem } from './MultiSelectedItem'\n\nimport type { ComboboxItem, BaseProps as ComboboxProps } from '../types'\n\ntype BaseProps<T> = ComboboxProps<T> & {\n /**\n * 選択されているアイテムのリスト\n */\n selectedItems: Array<ComboboxItem<T> & { deletable?: boolean }>\n /**\n * 選択されているアイテムのラベルを省略表示するかどうか\n */\n selectedItemEllipsis?: boolean\n /**\n * テキストボックスの `value` 属性の値。\n * `onChangeInput` と併せて設定することで、テキストボックスの挙動が制御可能になる。\n */\n inputValue?: string\n /**\n * 選択されているアイテムの削除ボタンがクリックされた時に発火するコールバック関数\n */\n onDelete?: (item: ComboboxItem<T>) => void\n /**\n * 選択されているアイテムのリストが変わった時に発火するコールバック関数\n */\n onChangeSelected?: (selectedItems: Array<ComboboxItem<T>>) => void\n /**\n * コンポーネントがフォーカスされたときに発火するコールバック関数\n */\n onFocus?: () => void\n /**\n * コンポーネントからフォーカスが外れた時に発火するコールバック関数\n */\n onBlur?: () => void\n /**\n * アイテムが選択されたときに選択済みかどうかを判定するコールバック関数/\n */\n isItemSelected?: (targetItem: ComboboxItem<T>, selectedItems: Array<ComboboxItem<T>>) => boolean\n /**\n * 検索結果が0件の時に表示するコンテンツ\n */\n noResultText?: ReactNode\n}\ntype Props<T> = BaseProps<T> & Omit<ComponentPropsWithoutRef<'input'>, keyof BaseProps<unknown>>\n\nconst NOOP = () => undefined\n\nconst preventDefaultWithPressEnter = (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n e.preventDefault()\n }\n}\n\nconst ESCAPE_KEY_REGEX = /^Esc(ape)?$/\nconst ARROW_LEFT_KEY_REGEX = /^(Arrow)?Left$/\nconst ARROW_RIGHT_KEY_REGEX = /^(Arrow)?Right/\nconst ARROW_UP_AND_DOWN_KEY_REGEX = /^(Arrow)?(Up|Down)$/\n\nconst EMPTY_INPUT_CHANGE_EVENT = {\n currentTarget: { value: '' },\n target: { value: '' },\n} as ChangeEvent<HTMLInputElement>\n\nconst DELETE_BUTTON_CLASSNAME = `.${DELETE_BUTTON_SELECTOR}`\n\nconst classNameGenerator = tv({\n slots: {\n wrapper: [\n 'smarthr-ui-MultiCombobox',\n 'shr-box-border shr-inline-flex shr-min-w-[15em] shr-rounded-m shr-border shr-border-solid shr-px-0.5 shr-py-0.25 shr-align-bottom',\n 'contrast-more:shr-border-high-contrast',\n 'has-[[role=combobox][aria-expanded=true]]:shr-focus-indicator',\n 'shr-cursor-text shr-border-default shr-bg-white',\n 'has-[[role=combobox]:disabled]:shr-cursor-not-allowed',\n 'has-[[role=combobox]:disabled]:shr-border-default/50',\n 'has-[[role=combobox]:disabled]:shr-bg-white-darken',\n 'has-[[role=combobox]:disabled]:shr-text-disabled',\n // HINT: disabled と詳細度が同じ [0,2,0] のため、CSS ソース順でこちらを後に置くことで error 時の border 色を優先させる\n 'has-[[role=combobox][aria-invalid]]:shr-border-danger',\n ],\n inputArea: 'shr-flex shr-flex-1 shr-flex-wrap shr-gap-0.5',\n selectedList:\n 'smarthr-ui-MultiCombobox-selectedList shr-contents shr-list-none [&_li]:shr-min-w-0',\n inputWrapper: [\n 'shr-flex shr-flex-1 shr-items-center',\n 'has-[[role=combobox][aria-expanded=false]]:shr-pointer-events-none',\n 'has-[[role=combobox][aria-expanded=false]]:shr-absolute',\n 'has-[[role=combobox][aria-expanded=false]]:shr-opacity-0',\n ],\n input: [\n 'smarthr-ui-MultiCombobox-input',\n 'shr-w-full shr-min-w-[5em] shr-border-none shr-text-base shr-text-black shr-outline-none shr-outline-0',\n 'disabled:shr-hidden',\n ],\n placeholderEl: 'smarthr-ui-MultiCombobox-placeholder shr-my-0 shr-self-center',\n suffixWrapper: [\n 'shr-relative -shr-me-0.5 shr-ms-0.5 shr-p-0.5',\n 'before:shr-absolute before:shr-inset-x-0 before:shr-inset-y-0.25 before:shr-w-0 before:shr-border-0 before:shr-border-l before:shr-border-solid before:shr-border-default before:shr-content-[\"\"]',\n ],\n suffixIcon: 'shr-block',\n },\n})\n\nconst ActualMultiCombobox = <T,>(\n {\n items,\n selectedItems,\n name,\n disabled = false,\n required = false,\n error = false,\n creatable = false,\n placeholder = '',\n autoComplete,\n dropdownHelpMessage,\n isLoading,\n selectedItemEllipsis,\n width,\n dropdownWidth = 'auto',\n inputValue: controlledInputValue,\n className,\n onChange,\n onChangeInput,\n onAdd,\n onDelete,\n onSelect,\n onChangeSelected,\n onFocus,\n onBlur,\n onKeyPress,\n isItemSelected,\n noResultText,\n style,\n ...rest\n }: Props<T>,\n ref: Ref<HTMLInputElement>,\n) => {\n const triggerRef = useRef<HTMLDivElement>(null)\n const [isExpanded, setIsExpanded] = useState(false)\n const [highlighted, setHighlighted] = useState(false)\n const [uncontrolledInputValue, setUncontrolledInputValue] = useState('')\n const [isComposing, setIsComposing] = useState(false)\n\n const selectedListId = useId()\n\n const isInputControlled = controlledInputValue !== undefined\n const inputValue = isInputControlled ? controlledInputValue : uncontrolledInputValue\n const setInputValueIfUncontrolled = isInputControlled ? NOOP : setUncontrolledInputValue\n const isInputEmpty = !inputValue\n\n const { options } = useMultiOptions({\n items,\n selected: selectedItems,\n creatable,\n inputValue,\n isItemSelected,\n })\n const inputRef = useRef<HTMLInputElement>(null)\n\n // eslint-disable-next-line local-rules/best-practice-for-use-latest\n const latestForListBox = useLatest({\n onDelete,\n onChangeSelected,\n onSelect,\n onChangeInput,\n selectedItems,\n })\n\n const listBoxFunctions = useMemo(() => {\n const handleDelete = (item: ComboboxItem<T>) => {\n const handlers: Array<(deletingItem: ComboboxItem<T>) => void> = []\n\n if (latestForListBox.onDelete) {\n handlers.push((deletingItem: ComboboxItem<T>) => latestForListBox.onDelete!(deletingItem))\n }\n if (latestForListBox.onChangeSelected) {\n handlers.push((deletingItem: ComboboxItem<T>) =>\n latestForListBox.onChangeSelected!(\n latestForListBox.selectedItems.filter(\n (selected) => !areItemsEqual(selected, deletingItem),\n ),\n ),\n )\n }\n\n if (handlers.length > 0) {\n // HINT: Dropdown系コンポーネント内でComboboxを使うと、選択肢がportalで表現されている関係上Dropdownが閉じてしまう\n // requestAnimationFrameを追加、処理を遅延させることで正常に閉じる/閉じないの判定を行えるようにする\n requestAnimationFrame(() => {\n handlers.forEach((h) => h(item))\n })\n }\n }\n\n return {\n handleDelete,\n handleSelect: (selected: ComboboxItem<T>) => {\n // HINT: Dropdown系コンポーネント内でComboboxを使うと、選択肢がportalで表現されている関係上Dropdownが閉じてしまう\n // requestAnimationFrameを追加、処理を遅延させることで正常に閉じる/閉じないの判定を行えるようにする\n requestAnimationFrame(() => {\n const matchedSelectedItem = latestForListBox.selectedItems.find((item) =>\n areItemsEqual(item, selected),\n )\n\n if (matchedSelectedItem === undefined) {\n latestForListBox.onSelect?.(selected)\n latestForListBox.onChangeSelected?.(latestForListBox.selectedItems.concat(selected))\n\n // 制御コンポーネントの場合に親側でinputValueを更新できるように、選択時にonChangeInputを空文字で発火する\n latestForListBox.onChangeInput?.(EMPTY_INPUT_CHANGE_EVENT)\n } else if (matchedSelectedItem.deletable !== false) {\n handleDelete(selected)\n }\n })\n },\n }\n }, [latestForListBox])\n\n const { listBoxProps, activeOption, handleKeyDownListBox, listBoxId, listBoxRef } = useListbox({\n options,\n dropdownHelpMessage,\n dropdownWidth,\n onAdd,\n onSelect: listBoxFunctions.handleSelect,\n isExpanded,\n isLoading,\n triggerRef,\n noResultText,\n })\n\n const latest = useLatest({\n onChange,\n onChangeInput,\n onFocus,\n onBlur,\n onKeyPress,\n disabled,\n isExpanded,\n highlighted,\n isComposing,\n isInputEmpty,\n selectedItems,\n setInputValueIfUncontrolled,\n handleKeyDownListBox,\n })\n\n const functions = useMemo(() => {\n const handleDelete = listBoxFunctions.handleDelete\n\n const getDeletionButtons = () => {\n if (triggerRef.current) {\n const buttons =\n triggerRef.current.querySelectorAll<HTMLButtonElement>(DELETE_BUTTON_CLASSNAME)\n\n if (buttons.length > 0) {\n const actualButtons = Array.from(buttons)\n\n return {\n buttons: actualButtons,\n currentIndex: actualButtons.indexOf(document.activeElement as HTMLButtonElement),\n }\n }\n }\n\n return null\n }\n\n const focusPrevDeletionButton = () => {\n const result = getDeletionButtons()\n\n if (!result) return\n\n const { buttons, currentIndex } = result\n\n if (currentIndex !== -1) {\n buttons[Math.max(currentIndex - 1, 0)].focus()\n } else if (inputRef.current?.selectionStart === 0) {\n buttons[buttons.length - 1].focus()\n }\n }\n\n const focusNextDeletionButton = () => {\n const result = getDeletionButtons()\n\n if (!result) return\n\n const { buttons, currentIndex } = result\n\n if (currentIndex === -1) return\n\n const nextIndex = currentIndex + 1\n\n if (nextIndex < buttons.length) {\n buttons[nextIndex].focus()\n } else {\n // キー入力が input に影響しないようにフォーカスタイミングを遅らせる\n setTimeout(() => {\n inputRef.current?.focus()\n })\n }\n }\n\n const focus = () => {\n latest.onFocus?.()\n setIsExpanded(true)\n }\n\n const blur = () => {\n if (latest.isExpanded) {\n latest.onBlur?.()\n setIsExpanded(false)\n }\n }\n\n return {\n handleDelete,\n blur,\n handleDelegateKeyDown: (e: KeyboardEvent<HTMLDivElement>) => {\n if (latest.isComposing) return\n\n if (ESCAPE_KEY_REGEX.test(e.key)) {\n e.stopPropagation()\n blur()\n } else if (e.key === 'Tab') {\n if (latest.isExpanded) {\n // フォーカスがコンポーネントを抜けるように先に input をフォーカスしておく\n inputRef.current?.focus()\n }\n\n blur()\n } else if (ARROW_LEFT_KEY_REGEX.test(e.key)) {\n e.stopPropagation()\n focusPrevDeletionButton()\n } else if (ARROW_RIGHT_KEY_REGEX.test(e.key)) {\n e.stopPropagation()\n focusNextDeletionButton()\n } else if (\n e.key === 'Backspace' &&\n latest.isInputEmpty &&\n latest.selectedItems.length > 0 &&\n latest.selectedItems[latest.selectedItems.length - 1].deletable !== false\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n const lastItem = latest.selectedItems[latest.selectedItems.length - 1]\n\n handleDelete(lastItem)\n setHighlighted(true)\n latest.setInputValueIfUncontrolled(innerText(lastItem.label))\n } else {\n e.stopPropagation()\n inputRef.current?.focus()\n }\n\n latest.handleKeyDownListBox(e)\n },\n handleDelegateClick: (e: MouseEvent<HTMLElement>) => {\n if (\n !latest.disabled &&\n !latest.isExpanded &&\n !findDelegateTarget(e, DELETE_BUTTON_CLASSNAME)\n ) {\n focus()\n }\n },\n handleChangeInput: (e: ChangeEvent<HTMLInputElement>) => {\n const handlers = [latest.onChange, latest.onChangeInput].filter((h) => !!h)\n\n handlers.forEach((h) => h(e))\n latest.setInputValueIfUncontrolled(e.currentTarget.value)\n },\n handleFocusInput: () => {\n if (!latest.isExpanded) {\n focus()\n }\n },\n handleCompositionStart: () => setIsComposing(true),\n handleCompositionEnd: () => setIsComposing(false),\n handleKeyDownInput: (e: KeyboardEvent<HTMLInputElement>) => {\n if (ARROW_UP_AND_DOWN_KEY_REGEX.test(e.key)) {\n // 上下キー入力はリストボックスの activeDescendant の移動に用いるため、input 内では作用させない\n e.preventDefault()\n }\n },\n // HINT: form内にcomboboxを設置 & 検索inputにfocusした状態で\n // アイテムをキーボードで選択し、Enterを押すとinput上でEnterを押したことになるため、\n // submitイベントが発生し、formが送信される場合がある\n handleDelegateKeyPress: (e: KeyboardEvent<HTMLInputElement>) => {\n preventDefaultWithPressEnter(e)\n latest.onKeyPress?.(e)\n },\n }\n }, [listBoxFunctions, latest])\n\n useOuterClick([triggerRef, listBoxRef], functions.blur)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n ref,\n () => inputRef.current,\n [],\n )\n\n useEffect(() => {\n if (latest.highlighted) {\n setHighlighted(false)\n inputRef.current?.select()\n } else {\n setInputValueIfUncontrolled('')\n }\n }, [selectedItems, setInputValueIfUncontrolled, inputRef, latest])\n\n useEffect(() => {\n if (isExpanded) {\n inputRef.current?.focus()\n }\n }, [isExpanded, selectedItems, isInputControlled, inputRef])\n\n const classNames = useMemo(() => {\n const {\n wrapper,\n inputArea,\n selectedList,\n inputWrapper,\n input,\n placeholderEl,\n suffixWrapper,\n suffixIcon,\n } = classNameGenerator()\n\n return {\n wrapper: wrapper({ className }),\n inputArea: inputArea(),\n selectedList: selectedList(),\n inputWrapper: inputWrapper(),\n input: input(),\n placeholder: placeholderEl(),\n suffixWrapper: suffixWrapper(),\n suffixIcon: suffixIcon(),\n }\n }, [className])\n\n const localized = useLocalize({\n selectedListAriaLabel: {\n id: 'smarthr-ui/MultiCombobox/selectedListAriaLabel',\n defaultText: '選択済みアイテム',\n },\n })\n\n return (\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n <div\n ref={triggerRef}\n role=\"group\"\n onClick={functions.handleDelegateClick}\n onKeyDown={functions.handleDelegateKeyDown}\n onKeyPress={functions.handleDelegateKeyPress}\n className={classNames.wrapper}\n style={{\n ...style,\n width: typeof width === 'number' ? `${width}px` : width,\n }}\n >\n <Scroller className={classNames.inputArea}>\n <ul\n id={selectedListId}\n aria-label={localized.selectedListAriaLabel}\n className={classNames.selectedList}\n >\n {selectedItems.map((selectedItem) => (\n <li key={`${selectedItem.label}-${innerText(selectedItem.value)}`}>\n <MultiSelectedItem\n item={selectedItem}\n disabled={disabled}\n handleDelete={functions.handleDelete}\n enableEllipsis={selectedItemEllipsis}\n />\n </li>\n ))}\n </ul>\n\n <div className={classNames.inputWrapper}>\n <input\n {...rest}\n data-smarthr-ui-input=\"true\"\n type=\"text\"\n name={name}\n value={inputValue}\n disabled={disabled}\n required={required && selectedItems.length === 0}\n ref={inputRef}\n onChange={functions.handleChangeInput}\n onFocus={functions.handleFocusInput}\n onCompositionStart={functions.handleCompositionStart}\n onCompositionEnd={functions.handleCompositionEnd}\n onKeyDown={functions.handleKeyDownInput}\n autoComplete={autoComplete ?? 'off'}\n tabIndex={0}\n role=\"combobox\"\n aria-activedescendant={activeOption?.id}\n aria-controls={`${listBoxId} ${selectedListId}`}\n aria-haspopup=\"listbox\"\n aria-expanded={isExpanded}\n aria-invalid={error || undefined}\n aria-disabled={disabled}\n aria-autocomplete=\"list\"\n className={classNames.input}\n />\n </div>\n\n {selectedItems.length === 0 && placeholder && !isExpanded && (\n <p className={classNames.placeholder}>{placeholder}</p>\n )}\n </Scroller>\n\n <MemoizedCaretDown disabled={disabled} isExpanded={isExpanded} classNames={classNames} />\n\n <ListBox {...listBoxProps} />\n </div>\n )\n}\n\nexport const MultiCombobox = genericsForwardRef(ActualMultiCombobox)\n\nconst MemoizedCaretDown = memo<{\n disabled: boolean\n isExpanded: boolean\n classNames: {\n suffixWrapper: string\n suffixIcon: string\n }\n}>(({ disabled, isExpanded, classNames }) => {\n const theme = useTheme()\n const caretIconColor = isExpanded\n ? theme.textColor.black\n : disabled\n ? theme.textColor.disabled\n : theme.textColor.grey\n\n return (\n <div className={classNames.suffixWrapper}>\n <FaCaretDownIcon color={caretIconColor} className={classNames.suffixIcon} />\n </div>\n )\n})\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA6EA;AAEA;AACE;;;AAGF;AAEA;AACA;AACA;AACA;AAEA;AACE;AACA;;AAGF;AAEA;AACE;AACE;;;;;;;;;;;;AAYC;AACD;AACA;AAEA;;;;;AAKC;AACD;;;;AAIC;AACD;AACA;;;AAGC;AACD;AACD;AACF;AAED;AAkCE;;;;;AAMA;AAEA;;;AAGA;AAEA;;AAEE;;;;AAID;AACD;;;;;;;;AASC;AAED;AACE;;AAGE;AACE;;AAEF;AACE;;AASF;;;;AAII;AACF;;AAEJ;;;AAIE;;;;;AAQI;AACE;AACA;;AAGA;;AACK;;;AAGT;;;AAGN;AAEA;;;;;;;;;;AAUC;;;;;;;;;;;;;;;AAgBA;AAED;AACE;;AAGE;;AAIE;;;AAII;;;;;AAMN;AACF;;AAGE;AAEA;;AAEA;AAEA;AACE;;;;;AAIJ;;AAGE;AAEA;;AAEA;;;AAIA;AAEA;AACE;;;;;AAIE;AACF;;AAEJ;;AAGE;;AAEF;;AAGE;AACE;;;AAGJ;;;;AAKE;;;;;AAKI;;AACK;AACL;;AAEE;;AAGF;;;;AAGA;;;;AAGA;;AACK;AAEL;AACA;AACA;;;AAKA;;;;;;;AAOA;;AAGF;;AAEF;;;AAII;AAEA;;;AAGJ;;AAGE;;;;AAIA;AACE;;;AAGJ;AACA;AACA;;;;;;;;;AASA;;AAEE;;;AAGN;;AAIA;;AAOE;;AAEE;;;;;;;;AAQA;;;AAIJ;;;AAaI;;;;;;;;;AASJ;;AAGE;AACE;AACA;AACD;AACF;;;AAIC;AAQI;AACA;;AA4DR;;AAIA;AAQE;;AAEE;AACA;AACE;AACA;;AAON;;"}
|
|
1
|
+
{"version":3,"file":"MultiCombobox.cjs","sources":["../../../../src/components/Combobox/MultiCombobox/MultiCombobox.tsx"],"sourcesContent":["'use client'\n\nimport {\n type ChangeEvent,\n type ComponentPropsWithoutRef,\n type KeyboardEvent,\n type MouseEvent,\n type ReactNode,\n type Ref,\n memo,\n useEffect,\n useId,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport innerText from 'react-innertext'\nimport { tv } from 'tailwind-variants'\n\nimport { useAnimationFrame } from '../../../hooks/useAnimationFrame'\nimport { useLatest } from '../../../hooks/useLatest'\nimport { useOuterClick } from '../../../hooks/useOuterClick'\nimport { useTheme } from '../../../hooks/useTheme'\nimport { useLocalize } from '../../../intl'\nimport { findDelegateTarget } from '../../../libs/delegate'\nimport { genericsForwardRef } from '../../../libs/util'\nimport { FaCaretDownIcon } from '../../Icon'\nimport { Scroller } from '../../Scroller'\nimport { areItemsEqual } from '../helper'\nimport { ListBox, useListbox } from '../useListbox'\nimport { useMultiOptions } from '../useOptions'\n\nimport { DELETE_BUTTON_SELECTOR, MultiSelectedItem } from './MultiSelectedItem'\n\nimport type { ComboboxItem, BaseProps as ComboboxProps } from '../types'\n\ntype BaseProps<T> = ComboboxProps<T> & {\n /**\n * 選択されているアイテムのリスト\n */\n selectedItems: Array<ComboboxItem<T> & { deletable?: boolean }>\n /**\n * 選択されているアイテムのラベルを省略表示するかどうか\n */\n selectedItemEllipsis?: boolean\n /**\n * テキストボックスの `value` 属性の値。\n * `onChangeInput` と併せて設定することで、テキストボックスの挙動が制御可能になる。\n */\n inputValue?: string\n /**\n * 選択されているアイテムの削除ボタンがクリックされた時に発火するコールバック関数\n */\n onDelete?: (item: ComboboxItem<T>) => void\n /**\n * 選択されているアイテムのリストが変わった時に発火するコールバック関数\n */\n onChangeSelected?: (selectedItems: Array<ComboboxItem<T>>) => void\n /**\n * コンポーネントがフォーカスされたときに発火するコールバック関数\n */\n onFocus?: () => void\n /**\n * コンポーネントからフォーカスが外れた時に発火するコールバック関数\n */\n onBlur?: () => void\n /**\n * アイテムが選択されたときに選択済みかどうかを判定するコールバック関数/\n */\n isItemSelected?: (targetItem: ComboboxItem<T>, selectedItems: Array<ComboboxItem<T>>) => boolean\n /**\n * 検索結果が0件の時に表示するコンテンツ\n */\n noResultText?: ReactNode\n}\ntype Props<T> = BaseProps<T> & Omit<ComponentPropsWithoutRef<'input'>, keyof BaseProps<unknown>>\n\nconst NOOP = () => undefined\n\nconst preventDefaultWithPressEnter = (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n e.preventDefault()\n }\n}\n\nconst ESCAPE_KEY_REGEX = /^Esc(ape)?$/\nconst ARROW_LEFT_KEY_REGEX = /^(Arrow)?Left$/\nconst ARROW_RIGHT_KEY_REGEX = /^(Arrow)?Right/\nconst ARROW_UP_AND_DOWN_KEY_REGEX = /^(Arrow)?(Up|Down)$/\n\nconst EMPTY_INPUT_CHANGE_EVENT = {\n currentTarget: { value: '' },\n target: { value: '' },\n} as ChangeEvent<HTMLInputElement>\n\nconst DELETE_BUTTON_CLASSNAME = `.${DELETE_BUTTON_SELECTOR}`\n\nconst classNameGenerator = tv({\n slots: {\n wrapper: [\n 'smarthr-ui-MultiCombobox',\n 'shr-box-border shr-inline-flex shr-min-w-[15em] shr-rounded-m shr-border shr-border-solid shr-px-0.5 shr-py-0.25 shr-align-bottom',\n 'contrast-more:shr-border-high-contrast',\n 'has-[[role=combobox][aria-expanded=true]]:shr-focus-indicator',\n 'shr-cursor-text shr-border-default shr-bg-white',\n 'has-[[role=combobox]:disabled]:shr-cursor-not-allowed',\n 'has-[[role=combobox]:disabled]:shr-border-default/50',\n 'has-[[role=combobox]:disabled]:shr-bg-white-darken',\n 'has-[[role=combobox]:disabled]:shr-text-disabled',\n // HINT: disabled と詳細度が同じ [0,2,0] のため、CSS ソース順でこちらを後に置くことで error 時の border 色を優先させる\n 'has-[[role=combobox][aria-invalid]]:shr-border-danger',\n ],\n inputArea: 'shr-flex shr-flex-1 shr-flex-wrap shr-gap-0.5',\n selectedList:\n 'smarthr-ui-MultiCombobox-selectedList shr-contents shr-list-none [&_li]:shr-min-w-0',\n inputWrapper: [\n 'shr-flex shr-flex-1 shr-items-center',\n 'has-[[role=combobox][aria-expanded=false]]:shr-pointer-events-none',\n 'has-[[role=combobox][aria-expanded=false]]:shr-absolute',\n 'has-[[role=combobox][aria-expanded=false]]:shr-opacity-0',\n ],\n input: [\n 'smarthr-ui-MultiCombobox-input',\n 'shr-w-full shr-min-w-[5em] shr-border-none shr-text-base shr-text-black shr-outline-none shr-outline-0',\n 'disabled:shr-hidden',\n ],\n placeholderEl: 'smarthr-ui-MultiCombobox-placeholder shr-my-0 shr-self-center',\n suffixWrapper: [\n 'shr-relative -shr-me-0.5 shr-ms-0.5 shr-p-0.5',\n 'before:shr-absolute before:shr-inset-x-0 before:shr-inset-y-0.25 before:shr-w-0 before:shr-border-0 before:shr-border-l before:shr-border-solid before:shr-border-default before:shr-content-[\"\"]',\n ],\n suffixIcon: 'shr-block',\n },\n})\n\nconst ActualMultiCombobox = <T,>(\n {\n items,\n selectedItems,\n name,\n disabled = false,\n required = false,\n error = false,\n creatable = false,\n placeholder = '',\n autoComplete,\n dropdownHelpMessage,\n isLoading,\n selectedItemEllipsis,\n width,\n dropdownWidth = 'auto',\n inputValue: controlledInputValue,\n className,\n onChange,\n onChangeInput,\n onAdd,\n onDelete,\n onSelect,\n onChangeSelected,\n onFocus,\n onBlur,\n onKeyPress,\n isItemSelected,\n noResultText,\n style,\n ...rest\n }: Props<T>,\n ref: Ref<HTMLInputElement>,\n) => {\n const triggerRef = useRef<HTMLDivElement>(null)\n const [isExpanded, setIsExpanded] = useState(false)\n const [highlighted, setHighlighted] = useState(false)\n const [uncontrolledInputValue, setUncontrolledInputValue] = useState('')\n const [isComposing, setIsComposing] = useState(false)\n\n const selectedListId = useId()\n\n const isInputControlled = controlledInputValue !== undefined\n const inputValue = isInputControlled ? controlledInputValue : uncontrolledInputValue\n const setInputValueIfUncontrolled = isInputControlled ? NOOP : setUncontrolledInputValue\n const isInputEmpty = !inputValue\n\n const { options } = useMultiOptions({\n items,\n selected: selectedItems,\n creatable,\n inputValue,\n isItemSelected,\n })\n const inputRef = useRef<HTMLInputElement>(null)\n const deleteFrame = useAnimationFrame()\n const selectFrame = useAnimationFrame()\n\n // eslint-disable-next-line local-rules/best-practice-for-use-latest\n const latestForListBox = useLatest({\n onDelete,\n onChangeSelected,\n onSelect,\n onChangeInput,\n selectedItems,\n deleteFrame,\n selectFrame,\n })\n\n const listBoxFunctions = useMemo(() => {\n const handleDelete = (item: ComboboxItem<T>) => {\n const handlers: Array<(deletingItem: ComboboxItem<T>) => void> = []\n\n if (latestForListBox.onDelete) {\n handlers.push((deletingItem: ComboboxItem<T>) => latestForListBox.onDelete!(deletingItem))\n }\n if (latestForListBox.onChangeSelected) {\n handlers.push((deletingItem: ComboboxItem<T>) =>\n latestForListBox.onChangeSelected!(\n latestForListBox.selectedItems.filter(\n (selected) => !areItemsEqual(selected, deletingItem),\n ),\n ),\n )\n }\n\n if (handlers.length > 0) {\n // HINT: Dropdown系コンポーネント内でComboboxを使うと、選択肢がportalで表現されている関係上Dropdownが閉じてしまう\n // 処理を遅延させることで正常に閉じる/閉じないの判定を行えるようにする\n latestForListBox.deleteFrame.request(() => {\n handlers.forEach((h) => h(item))\n })\n }\n }\n\n return {\n handleDelete,\n handleSelect: (selected: ComboboxItem<T>) => {\n // HINT: Dropdown系コンポーネント内でComboboxを使うと、選択肢がportalで表現されている関係上Dropdownが閉じてしまう\n // 処理を遅延させることで正常に閉じる/閉じないの判定を行えるようにする\n latestForListBox.selectFrame.request(() => {\n const matchedSelectedItem = latestForListBox.selectedItems.find((item) =>\n areItemsEqual(item, selected),\n )\n\n if (matchedSelectedItem === undefined) {\n latestForListBox.onSelect?.(selected)\n latestForListBox.onChangeSelected?.(latestForListBox.selectedItems.concat(selected))\n\n // 制御コンポーネントの場合に親側でinputValueを更新できるように、選択時にonChangeInputを空文字で発火する\n latestForListBox.onChangeInput?.(EMPTY_INPUT_CHANGE_EVENT)\n } else if (matchedSelectedItem.deletable !== false) {\n handleDelete(selected)\n }\n })\n },\n }\n }, [latestForListBox])\n\n // TODO: callbackRefにまとめたい\n useEffect(\n () => () => {\n latestForListBox.deleteFrame.cancel()\n latestForListBox.selectFrame.cancel()\n },\n [latestForListBox],\n )\n\n const { listBoxProps, activeOption, handleKeyDownListBox, listBoxId, listBoxRef } = useListbox({\n options,\n dropdownHelpMessage,\n dropdownWidth,\n onAdd,\n onSelect: listBoxFunctions.handleSelect,\n isExpanded,\n isLoading,\n triggerRef,\n noResultText,\n })\n\n const latest = useLatest({\n onChange,\n onChangeInput,\n onFocus,\n onBlur,\n onKeyPress,\n disabled,\n isExpanded,\n highlighted,\n isComposing,\n isInputEmpty,\n selectedItems,\n setInputValueIfUncontrolled,\n handleKeyDownListBox,\n })\n\n const functions = useMemo(() => {\n const handleDelete = listBoxFunctions.handleDelete\n\n const getDeletionButtons = () => {\n if (triggerRef.current) {\n const buttons =\n triggerRef.current.querySelectorAll<HTMLButtonElement>(DELETE_BUTTON_CLASSNAME)\n\n if (buttons.length > 0) {\n const actualButtons = Array.from(buttons)\n\n return {\n buttons: actualButtons,\n currentIndex: actualButtons.indexOf(document.activeElement as HTMLButtonElement),\n }\n }\n }\n\n return null\n }\n\n const focusPrevDeletionButton = () => {\n const result = getDeletionButtons()\n\n if (!result) return\n\n const { buttons, currentIndex } = result\n\n if (currentIndex !== -1) {\n buttons[Math.max(currentIndex - 1, 0)].focus()\n } else if (inputRef.current?.selectionStart === 0) {\n buttons[buttons.length - 1].focus()\n }\n }\n\n const focusNextDeletionButton = () => {\n const result = getDeletionButtons()\n\n if (!result) return\n\n const { buttons, currentIndex } = result\n\n if (currentIndex === -1) return\n\n const nextIndex = currentIndex + 1\n\n if (nextIndex < buttons.length) {\n buttons[nextIndex].focus()\n } else {\n // キー入力が input に影響しないようにフォーカスタイミングを遅らせる\n setTimeout(() => {\n inputRef.current?.focus()\n })\n }\n }\n\n const focus = () => {\n latest.onFocus?.()\n setIsExpanded(true)\n }\n\n const blur = () => {\n if (latest.isExpanded) {\n latest.onBlur?.()\n setIsExpanded(false)\n }\n }\n\n return {\n handleDelete,\n blur,\n handleDelegateKeyDown: (e: KeyboardEvent<HTMLDivElement>) => {\n if (latest.isComposing) return\n\n if (ESCAPE_KEY_REGEX.test(e.key)) {\n e.stopPropagation()\n blur()\n } else if (e.key === 'Tab') {\n if (latest.isExpanded) {\n // フォーカスがコンポーネントを抜けるように先に input をフォーカスしておく\n inputRef.current?.focus()\n }\n\n blur()\n } else if (ARROW_LEFT_KEY_REGEX.test(e.key)) {\n e.stopPropagation()\n focusPrevDeletionButton()\n } else if (ARROW_RIGHT_KEY_REGEX.test(e.key)) {\n e.stopPropagation()\n focusNextDeletionButton()\n } else if (\n e.key === 'Backspace' &&\n latest.isInputEmpty &&\n latest.selectedItems.length > 0 &&\n latest.selectedItems[latest.selectedItems.length - 1].deletable !== false\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n const lastItem = latest.selectedItems[latest.selectedItems.length - 1]\n\n handleDelete(lastItem)\n setHighlighted(true)\n latest.setInputValueIfUncontrolled(innerText(lastItem.label))\n } else {\n e.stopPropagation()\n inputRef.current?.focus()\n }\n\n latest.handleKeyDownListBox(e)\n },\n handleDelegateClick: (e: MouseEvent<HTMLElement>) => {\n if (\n !latest.disabled &&\n !latest.isExpanded &&\n !findDelegateTarget(e, DELETE_BUTTON_CLASSNAME)\n ) {\n focus()\n }\n },\n handleChangeInput: (e: ChangeEvent<HTMLInputElement>) => {\n const handlers = [latest.onChange, latest.onChangeInput].filter((h) => !!h)\n\n handlers.forEach((h) => h(e))\n latest.setInputValueIfUncontrolled(e.currentTarget.value)\n },\n handleFocusInput: () => {\n if (!latest.isExpanded) {\n focus()\n }\n },\n handleCompositionStart: () => setIsComposing(true),\n handleCompositionEnd: () => setIsComposing(false),\n handleKeyDownInput: (e: KeyboardEvent<HTMLInputElement>) => {\n if (ARROW_UP_AND_DOWN_KEY_REGEX.test(e.key)) {\n // 上下キー入力はリストボックスの activeDescendant の移動に用いるため、input 内では作用させない\n e.preventDefault()\n }\n },\n // HINT: form内にcomboboxを設置 & 検索inputにfocusした状態で\n // アイテムをキーボードで選択し、Enterを押すとinput上でEnterを押したことになるため、\n // submitイベントが発生し、formが送信される場合がある\n handleDelegateKeyPress: (e: KeyboardEvent<HTMLInputElement>) => {\n preventDefaultWithPressEnter(e)\n latest.onKeyPress?.(e)\n },\n }\n }, [listBoxFunctions, latest])\n\n useOuterClick([triggerRef, listBoxRef], functions.blur)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n ref,\n () => inputRef.current,\n [],\n )\n\n useEffect(() => {\n if (latest.highlighted) {\n setHighlighted(false)\n inputRef.current?.select()\n } else {\n setInputValueIfUncontrolled('')\n }\n }, [selectedItems, setInputValueIfUncontrolled, inputRef, latest])\n\n useEffect(() => {\n if (isExpanded) {\n inputRef.current?.focus()\n }\n }, [isExpanded, selectedItems, isInputControlled, inputRef])\n\n const classNames = useMemo(() => {\n const {\n wrapper,\n inputArea,\n selectedList,\n inputWrapper,\n input,\n placeholderEl,\n suffixWrapper,\n suffixIcon,\n } = classNameGenerator()\n\n return {\n wrapper: wrapper({ className }),\n inputArea: inputArea(),\n selectedList: selectedList(),\n inputWrapper: inputWrapper(),\n input: input(),\n placeholder: placeholderEl(),\n suffixWrapper: suffixWrapper(),\n suffixIcon: suffixIcon(),\n }\n }, [className])\n\n const localized = useLocalize({\n selectedListAriaLabel: {\n id: 'smarthr-ui/MultiCombobox/selectedListAriaLabel',\n defaultText: '選択済みアイテム',\n },\n })\n\n return (\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n <div\n ref={triggerRef}\n role=\"group\"\n onClick={functions.handleDelegateClick}\n onKeyDown={functions.handleDelegateKeyDown}\n onKeyPress={functions.handleDelegateKeyPress}\n className={classNames.wrapper}\n style={{\n ...style,\n width: typeof width === 'number' ? `${width}px` : width,\n }}\n >\n <Scroller className={classNames.inputArea}>\n <ul\n id={selectedListId}\n aria-label={localized.selectedListAriaLabel}\n className={classNames.selectedList}\n >\n {selectedItems.map((selectedItem) => (\n <li key={`${selectedItem.label}-${innerText(selectedItem.value)}`}>\n <MultiSelectedItem\n item={selectedItem}\n disabled={disabled}\n handleDelete={functions.handleDelete}\n enableEllipsis={selectedItemEllipsis}\n />\n </li>\n ))}\n </ul>\n\n <div className={classNames.inputWrapper}>\n <input\n {...rest}\n data-smarthr-ui-input=\"true\"\n type=\"text\"\n name={name}\n value={inputValue}\n disabled={disabled}\n required={required && selectedItems.length === 0}\n ref={inputRef}\n onChange={functions.handleChangeInput}\n onFocus={functions.handleFocusInput}\n onCompositionStart={functions.handleCompositionStart}\n onCompositionEnd={functions.handleCompositionEnd}\n onKeyDown={functions.handleKeyDownInput}\n autoComplete={autoComplete ?? 'off'}\n tabIndex={0}\n role=\"combobox\"\n aria-activedescendant={activeOption?.id}\n aria-controls={`${listBoxId} ${selectedListId}`}\n aria-haspopup=\"listbox\"\n aria-expanded={isExpanded}\n aria-invalid={error || undefined}\n aria-disabled={disabled}\n aria-autocomplete=\"list\"\n className={classNames.input}\n />\n </div>\n\n {selectedItems.length === 0 && placeholder && !isExpanded && (\n <p className={classNames.placeholder}>{placeholder}</p>\n )}\n </Scroller>\n\n <MemoizedCaretDown disabled={disabled} isExpanded={isExpanded} classNames={classNames} />\n\n <ListBox {...listBoxProps} />\n </div>\n )\n}\n\nexport const MultiCombobox = genericsForwardRef(ActualMultiCombobox)\n\nconst MemoizedCaretDown = memo<{\n disabled: boolean\n isExpanded: boolean\n classNames: {\n suffixWrapper: string\n suffixIcon: string\n }\n}>(({ disabled, isExpanded, classNames }) => {\n const theme = useTheme()\n const caretIconColor = isExpanded\n ? theme.textColor.black\n : disabled\n ? theme.textColor.disabled\n : theme.textColor.grey\n\n return (\n <div className={classNames.suffixWrapper}>\n <FaCaretDownIcon color={caretIconColor} className={classNames.suffixIcon} />\n </div>\n )\n})\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8EA;AAEA;AACE;;;AAGF;AAEA;AACA;AACA;AACA;AAEA;AACE;AACA;;AAGF;AAEA;AACE;AACE;;;;;;;;;;;;AAYC;AACD;AACA;AAEA;;;;;AAKC;AACD;;;;AAIC;AACD;AACA;;;AAGC;AACD;AACD;AACF;AAED;AAkCE;;;;;AAMA;AAEA;;;AAGA;AAEA;;AAEE;;;;AAID;AACD;AACA;AACA;;;;;;;;;;AAWC;AAED;AACE;;AAGE;AACE;;AAEF;AACE;;AASF;;;AAGE;AACE;AACF;;AAEJ;;;AAIE;;;AAGE;;AAKE;AACE;AACA;;AAGA;;AACK;;;AAGT;;;AAGN;;AAGA;AAEI;AACA;AACF;AAIF;;;;;;;;;;AAUC;;;;;;;;;;;;;;;AAgBA;AAED;AACE;;AAGE;;AAIE;;;AAII;;;;;AAMN;AACF;;AAGE;AAEA;;AAEA;AAEA;AACE;;;;;AAIJ;;AAGE;AAEA;;AAEA;;;AAIA;AAEA;AACE;;;;;AAIE;AACF;;AAEJ;;AAGE;;AAEF;;AAGE;AACE;;;AAGJ;;;;AAKE;;;;;AAKI;;AACK;AACL;;AAEE;;AAGF;;;;AAGA;;;;AAGA;;AACK;AAEL;AACA;AACA;;;AAKA;;;;;;;AAOA;;AAGF;;AAEF;;;AAII;AAEA;;;AAGJ;;AAGE;;;;AAIA;AACE;;;AAGJ;AACA;AACA;;;;;;;;;AASA;;AAEE;;;AAGN;;AAIA;;AAOE;;AAEE;;;;;;;;AAQA;;;AAIJ;;;AAaI;;;;;;;;;AASJ;;AAGE;AACE;AACA;AACD;AACF;;;AAIC;AAQI;AACA;;AA4DR;;AAIA;AAQE;;AAEE;AACA;AACE;AACA;;AAON;;"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
-
import { memo, useRef, useState, useId, useMemo,
|
|
3
|
+
import { memo, useRef, useState, useId, useMemo, useEffect, useImperativeHandle } from 'react';
|
|
4
4
|
import innerText from '../../../_virtual/index3.js';
|
|
5
|
-
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.46_@
|
|
5
|
+
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
|
|
6
|
+
import { useAnimationFrame } from '../../../hooks/useAnimationFrame.js';
|
|
6
7
|
import { useLatest } from '../../../hooks/useLatest.js';
|
|
7
8
|
import { useOuterClick } from '../../../hooks/useOuterClick.js';
|
|
8
9
|
import { useTheme } from '../../../hooks/useTheme.js';
|
|
@@ -93,6 +94,8 @@ const ActualMultiCombobox = ({ items, selectedItems, name, disabled = false, req
|
|
|
93
94
|
isItemSelected,
|
|
94
95
|
});
|
|
95
96
|
const inputRef = useRef(null);
|
|
97
|
+
const deleteFrame = useAnimationFrame();
|
|
98
|
+
const selectFrame = useAnimationFrame();
|
|
96
99
|
// eslint-disable-next-line local-rules/best-practice-for-use-latest
|
|
97
100
|
const latestForListBox = useLatest({
|
|
98
101
|
onDelete,
|
|
@@ -100,6 +103,8 @@ const ActualMultiCombobox = ({ items, selectedItems, name, disabled = false, req
|
|
|
100
103
|
onSelect,
|
|
101
104
|
onChangeInput,
|
|
102
105
|
selectedItems,
|
|
106
|
+
deleteFrame,
|
|
107
|
+
selectFrame,
|
|
103
108
|
});
|
|
104
109
|
const listBoxFunctions = useMemo(() => {
|
|
105
110
|
const handleDelete = (item) => {
|
|
@@ -112,8 +117,8 @@ const ActualMultiCombobox = ({ items, selectedItems, name, disabled = false, req
|
|
|
112
117
|
}
|
|
113
118
|
if (handlers.length > 0) {
|
|
114
119
|
// HINT: Dropdown系コンポーネント内でComboboxを使うと、選択肢がportalで表現されている関係上Dropdownが閉じてしまう
|
|
115
|
-
//
|
|
116
|
-
|
|
120
|
+
// 処理を遅延させることで正常に閉じる/閉じないの判定を行えるようにする
|
|
121
|
+
latestForListBox.deleteFrame.request(() => {
|
|
117
122
|
handlers.forEach((h) => h(item));
|
|
118
123
|
});
|
|
119
124
|
}
|
|
@@ -122,8 +127,8 @@ const ActualMultiCombobox = ({ items, selectedItems, name, disabled = false, req
|
|
|
122
127
|
handleDelete,
|
|
123
128
|
handleSelect: (selected) => {
|
|
124
129
|
// HINT: Dropdown系コンポーネント内でComboboxを使うと、選択肢がportalで表現されている関係上Dropdownが閉じてしまう
|
|
125
|
-
//
|
|
126
|
-
|
|
130
|
+
// 処理を遅延させることで正常に閉じる/閉じないの判定を行えるようにする
|
|
131
|
+
latestForListBox.selectFrame.request(() => {
|
|
127
132
|
const matchedSelectedItem = latestForListBox.selectedItems.find((item) => areItemsEqual(item, selected));
|
|
128
133
|
if (matchedSelectedItem === undefined) {
|
|
129
134
|
latestForListBox.onSelect?.(selected);
|
|
@@ -138,6 +143,11 @@ const ActualMultiCombobox = ({ items, selectedItems, name, disabled = false, req
|
|
|
138
143
|
},
|
|
139
144
|
};
|
|
140
145
|
}, [latestForListBox]);
|
|
146
|
+
// TODO: callbackRefにまとめたい
|
|
147
|
+
useEffect(() => () => {
|
|
148
|
+
latestForListBox.deleteFrame.cancel();
|
|
149
|
+
latestForListBox.selectFrame.cancel();
|
|
150
|
+
}, [latestForListBox]);
|
|
141
151
|
const { listBoxProps, activeOption, handleKeyDownListBox, listBoxId, listBoxRef } = useListbox({
|
|
142
152
|
options,
|
|
143
153
|
dropdownHelpMessage,
|