smarthr-ui 82.0.0 → 83.0.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/esm/components/AccordionPanel/AccordionPanel.js +2 -2
- package/esm/components/AccordionPanel/AccordionPanel.js.map +1 -1
- package/esm/components/AccordionPanel/AccordionPanelContent.js +2 -2
- package/esm/components/AccordionPanel/AccordionPanelContent.js.map +1 -1
- package/esm/components/AccordionPanel/AccordionPanelItem.js +2 -2
- package/esm/components/AccordionPanel/AccordionPanelItem.js.map +1 -1
- package/esm/components/AccordionPanel/AccordionPanelTrigger.js +2 -2
- package/esm/components/AccordionPanel/AccordionPanelTrigger.js.map +1 -1
- package/esm/components/AppHeader/AppHeader.js +2 -2
- package/esm/components/AppHeader/AppHeader.js.map +1 -1
- package/esm/components/AppHeader/components/common/AppLauncherFeatures.js +1 -0
- package/esm/components/AppHeader/components/common/AppLauncherFeatures.js.map +1 -1
- package/esm/components/AppHeader/components/common/AppLauncherSortDropdown.js +1 -0
- package/esm/components/AppHeader/components/common/AppLauncherSortDropdown.js.map +1 -1
- package/esm/components/AppHeader/components/common/CommonButton.d.ts +28 -0
- package/esm/components/AppHeader/components/common/CommonButton.js +11 -4
- package/esm/components/AppHeader/components/common/CommonButton.js.map +1 -1
- package/esm/components/AppHeader/components/desktop/AppLauncher.js +1 -0
- package/esm/components/AppHeader/components/desktop/AppLauncher.js.map +1 -1
- package/esm/components/AppHeader/components/desktop/DesktopHeader.js +3 -2
- package/esm/components/AppHeader/components/desktop/DesktopHeader.js.map +1 -1
- package/esm/components/AppHeader/components/desktop/Navigation.js +1 -0
- package/esm/components/AppHeader/components/desktop/Navigation.js.map +1 -1
- package/esm/components/AppHeader/components/desktop/ReleaseNotesDropdown.js +1 -0
- package/esm/components/AppHeader/components/desktop/ReleaseNotesDropdown.js.map +1 -1
- package/esm/components/AppHeader/components/desktop/UserInfo.js +2 -1
- package/esm/components/AppHeader/components/desktop/UserInfo.js.map +1 -1
- package/esm/components/AppHeader/components/mobile/AppLauncher.js +1 -0
- package/esm/components/AppHeader/components/mobile/AppLauncher.js.map +1 -1
- package/esm/components/AppHeader/components/mobile/AppLauncherFilterDropdown.js +1 -0
- package/esm/components/AppHeader/components/mobile/AppLauncherFilterDropdown.js.map +1 -1
- package/esm/components/AppHeader/components/mobile/Help.js +1 -0
- package/esm/components/AppHeader/components/mobile/Help.js.map +1 -1
- package/esm/components/AppHeader/components/mobile/LanguageSelector.js +1 -0
- package/esm/components/AppHeader/components/mobile/LanguageSelector.js.map +1 -1
- package/esm/components/AppHeader/components/mobile/Menu.js +1 -0
- package/esm/components/AppHeader/components/mobile/Menu.js.map +1 -1
- package/esm/components/AppHeader/components/mobile/MenuAccordion.js +1 -0
- package/esm/components/AppHeader/components/mobile/MenuAccordion.js.map +1 -1
- package/esm/components/AppHeader/components/mobile/MenuDialog.js +1 -0
- package/esm/components/AppHeader/components/mobile/MenuDialog.js.map +1 -1
- package/esm/components/AppHeader/components/mobile/MenuSubHeading.js +1 -0
- package/esm/components/AppHeader/components/mobile/MenuSubHeading.js.map +1 -1
- package/esm/components/AppHeader/components/mobile/MobileHeader.js +2 -2
- package/esm/components/AppHeader/components/mobile/MobileHeader.js.map +1 -1
- package/esm/components/AppHeader/components/mobile/ReleaseNote.js +1 -0
- package/esm/components/AppHeader/components/mobile/ReleaseNote.js.map +1 -1
- package/esm/components/AppHeader/components/mobile/UserInfo.js +1 -0
- package/esm/components/AppHeader/components/mobile/UserInfo.js.map +1 -1
- package/esm/components/AppNavi/AppNaviAnchor.js +2 -2
- package/esm/components/AppNavi/AppNaviAnchor.js.map +1 -1
- package/esm/components/AppNavi/AppNaviCustomTag.js +2 -2
- package/esm/components/AppNavi/AppNaviCustomTag.js.map +1 -1
- package/esm/components/AppNavi/AppNaviDropdownMenuButton.js +1 -1
- package/esm/components/AppNavi/AppNaviDropdownMenuButton.js.map +1 -1
- package/esm/components/Badge/Badge.js +5 -5
- package/esm/components/Badge/Badge.js.map +1 -1
- package/esm/components/Balloon/Balloon.js +2 -2
- package/esm/components/Balloon/Balloon.js.map +1 -1
- package/esm/components/Base/Base.js +2 -2
- package/esm/components/Base/Base.js.map +1 -1
- package/esm/components/Base/BaseColumn/BaseColumn.js +2 -2
- package/esm/components/Base/BaseColumn/BaseColumn.js.map +1 -1
- package/esm/components/BottomFixedArea/BottomFixedArea.js +2 -2
- package/esm/components/BottomFixedArea/BottomFixedArea.js.map +1 -1
- package/esm/components/Button/AnchorButton.js +3 -3
- package/esm/components/Button/AnchorButton.js.map +1 -1
- package/esm/components/Button/Button.js +3 -2
- package/esm/components/Button/Button.js.map +1 -1
- package/esm/components/Button/ButtonWrapper.d.ts +3 -23
- package/esm/components/Button/ButtonWrapper.js +13 -382
- package/esm/components/Button/ButtonWrapper.js.map +1 -1
- package/esm/components/Button/UnstyledButton.js +2 -2
- package/esm/components/Button/UnstyledButton.js.map +1 -1
- package/esm/components/Button/useButtonWrapper.d.ts +35 -0
- package/esm/components/Button/useButtonWrapper.js +379 -0
- package/esm/components/Button/useButtonWrapper.js.map +1 -0
- package/esm/components/Calendar/Calendar.js +4 -4
- package/esm/components/Calendar/Calendar.js.map +1 -1
- package/esm/components/Calendar/CalendarTable.js +2 -2
- package/esm/components/Calendar/CalendarTable.js.map +1 -1
- package/esm/components/Calendar/YearPicker.js +3 -2
- package/esm/components/Calendar/YearPicker.js.map +1 -1
- package/esm/components/Checkbox/Checkbox.js +3 -3
- package/esm/components/Checkbox/Checkbox.js.map +1 -1
- package/esm/components/Chip/Chip.js +2 -2
- package/esm/components/Chip/Chip.js.map +1 -1
- package/esm/components/Combobox/ItemButton.js +1 -0
- package/esm/components/Combobox/ItemButton.js.map +1 -1
- package/esm/components/Combobox/MultiCombobox/MultiCombobox.js +1 -0
- package/esm/components/Combobox/MultiCombobox/MultiCombobox.js.map +1 -1
- package/esm/components/Combobox/MultiCombobox/MultiSelectedItem.js +1 -0
- package/esm/components/Combobox/MultiCombobox/MultiSelectedItem.js.map +1 -1
- package/esm/components/Combobox/SingleCombobox/SingleCombobox.js +1 -0
- package/esm/components/Combobox/SingleCombobox/SingleCombobox.js.map +1 -1
- package/esm/components/Combobox/useListbox.js +1 -0
- package/esm/components/Combobox/useListbox.js.map +1 -1
- package/esm/components/DatePicker/DatePicker.d.ts +8 -2
- package/esm/components/DatePicker/DatePicker.js +47 -17
- package/esm/components/DatePicker/DatePicker.js.map +1 -1
- package/esm/components/DatePicker/Portal.js +2 -2
- package/esm/components/DatePicker/Portal.js.map +1 -1
- package/esm/components/Dialog/ActionDialog/ActionDialog.js +2 -2
- package/esm/components/Dialog/ActionDialog/ActionDialog.js.map +1 -1
- package/esm/components/Dialog/ActionDialog/ActionDialogContentInner.js +1 -0
- package/esm/components/Dialog/ActionDialog/ActionDialogContentInner.js.map +1 -1
- package/esm/components/Dialog/Dialog.js +2 -2
- package/esm/components/Dialog/Dialog.js.map +1 -1
- package/esm/components/Dialog/DialogContent.js +2 -2
- package/esm/components/Dialog/DialogContent.js.map +1 -1
- package/esm/components/Dialog/FormDialog/FormDialog.js +2 -2
- package/esm/components/Dialog/FormDialog/FormDialog.js.map +1 -1
- package/esm/components/Dialog/FormDialog/FormDialogContentInner.js +1 -0
- package/esm/components/Dialog/FormDialog/FormDialogContentInner.js.map +1 -1
- package/esm/components/Dialog/MessageDialog/MessageDialog.js +5 -6
- package/esm/components/Dialog/MessageDialog/MessageDialog.js.map +1 -1
- package/esm/components/Dialog/MessageDialog/MessageDialogContent.js +2 -2
- package/esm/components/Dialog/MessageDialog/MessageDialogContent.js.map +1 -1
- package/esm/components/Dialog/MessageDialog/MessageDialogContentInner.js +1 -0
- package/esm/components/Dialog/MessageDialog/MessageDialogContentInner.js.map +1 -1
- package/esm/components/Dialog/ModelessDialog/ModelessDialog.js +3 -2
- package/esm/components/Dialog/ModelessDialog/ModelessDialog.js.map +1 -1
- package/esm/components/Dialog/RemoteDialogTrigger/RemoteDialogTrigger.js +1 -1
- package/esm/components/Dialog/RemoteDialogTrigger/RemoteDialogTrigger.js.map +1 -1
- package/esm/components/Dialog/RemoteDialogTrigger/RemoteTriggerActionDialog.js +2 -2
- package/esm/components/Dialog/RemoteDialogTrigger/RemoteTriggerActionDialog.js.map +1 -1
- package/esm/components/Dialog/RemoteDialogTrigger/RemoteTriggerFormDialog.js +2 -2
- package/esm/components/Dialog/RemoteDialogTrigger/RemoteTriggerFormDialog.js.map +1 -1
- package/esm/components/Dialog/RemoteDialogTrigger/RemoteTriggerMessageDialog.js +2 -2
- package/esm/components/Dialog/RemoteDialogTrigger/RemoteTriggerMessageDialog.js.map +1 -1
- package/esm/components/Dialog/RemoteDialogTrigger/RemoteTriggerStepFormDialog.js +2 -2
- package/esm/components/Dialog/RemoteDialogTrigger/RemoteTriggerStepFormDialog.js.map +1 -1
- package/esm/components/Dialog/StepFormDialog/StepFormDialog.js +2 -2
- package/esm/components/Dialog/StepFormDialog/StepFormDialog.js.map +1 -1
- package/esm/components/Dialog/StepFormDialog/StepFormDialogContentInner.js +1 -0
- package/esm/components/Dialog/StepFormDialog/StepFormDialogContentInner.js.map +1 -1
- package/esm/components/Disclosure/DisclosureTrigger.js +1 -1
- package/esm/components/Disclosure/DisclosureTrigger.js.map +1 -1
- package/esm/components/DropZone/DropZone.js +3 -2
- package/esm/components/DropZone/DropZone.js.map +1 -1
- package/esm/components/Dropdown/DropdownContent.js +2 -2
- package/esm/components/Dropdown/DropdownContent.js.map +1 -1
- package/esm/components/Dropdown/DropdownContentInner.js +2 -2
- package/esm/components/Dropdown/DropdownContentInner.js.map +1 -1
- package/esm/components/Dropdown/DropdownMenuButton/DropdownMenuButton.d.ts +13 -8
- package/esm/components/Dropdown/DropdownMenuButton/DropdownMenuButton.js +20 -10
- package/esm/components/Dropdown/DropdownMenuButton/DropdownMenuButton.js.map +1 -1
- package/esm/components/Dropdown/FilterDropdown/FilterDropdown.js +3 -2
- package/esm/components/Dropdown/FilterDropdown/FilterDropdown.js.map +1 -1
- package/esm/components/Dropdown/SortDropdown/SortDropdown.js +2 -2
- package/esm/components/Dropdown/SortDropdown/SortDropdown.js.map +1 -1
- package/esm/components/Dropdown/SortDropdown/useSortDropdown.d.ts +1 -1
- package/esm/components/Dropdown/SortDropdown/useSortDropdown.js +2 -1
- package/esm/components/Dropdown/SortDropdown/useSortDropdown.js.map +1 -1
- package/esm/components/ErrorScreen/ErrorScreen.js +2 -2
- package/esm/components/ErrorScreen/ErrorScreen.js.map +1 -1
- package/esm/components/Fieldset/Fieldset.js +1 -1
- package/esm/components/Fieldset/Fieldset.js.map +1 -1
- package/esm/components/FileViewer/FileViewer.js +2 -1
- package/esm/components/FileViewer/FileViewer.js.map +1 -1
- package/esm/components/FileViewer/PDFViewer.js +2 -3
- package/esm/components/FileViewer/PDFViewer.js.map +1 -1
- package/esm/components/FormControl/FormControl.js +10 -5
- package/esm/components/FormControl/FormControl.js.map +1 -1
- package/esm/components/Header/AppLauncher/AppLauncher.js +3 -2
- package/esm/components/Header/AppLauncher/AppLauncher.js.map +1 -1
- package/esm/components/Header/Header.js +3 -3
- package/esm/components/Header/Header.js.map +1 -1
- package/esm/components/Header/HeaderLink.js +2 -2
- package/esm/components/Header/HeaderLink.js.map +1 -1
- package/esm/components/Header/LanguageSwitcher/LanguageSwitcher.js +14 -9
- package/esm/components/Header/LanguageSwitcher/LanguageSwitcher.js.map +1 -1
- package/esm/components/Heading/Heading.js +2 -2
- package/esm/components/Heading/Heading.js.map +1 -1
- package/esm/components/Heading/PageHeading/PageHeading.js +2 -2
- package/esm/components/Heading/PageHeading/PageHeading.js.map +1 -1
- package/esm/components/Icon/OpenInNewTabIcon.js +1 -0
- package/esm/components/Icon/OpenInNewTabIcon.js.map +1 -1
- package/esm/components/Icon/generateIcon.js +2 -2
- package/esm/components/Icon/generateIcon.js.map +1 -1
- package/esm/components/InformationPanel/InformationPanel.js +3 -2
- package/esm/components/InformationPanel/InformationPanel.js.map +1 -1
- package/esm/components/Input/CurrencyInput/CurrencyInput.js +12 -19
- package/esm/components/Input/CurrencyInput/CurrencyInput.js.map +1 -1
- package/esm/components/Input/Input.js +3 -3
- package/esm/components/Input/Input.js.map +1 -1
- package/esm/components/Input/SearchInput/SearchInputIcon.js +1 -0
- package/esm/components/Input/SearchInput/SearchInputIcon.js.map +1 -1
- package/esm/components/InputFile/InputFileMultiplyAppendable.js +3 -2
- package/esm/components/InputFile/InputFileMultiplyAppendable.js.map +1 -1
- package/esm/components/InputFile/InputFileNative.js +1 -0
- package/esm/components/InputFile/InputFileNative.js.map +1 -1
- package/esm/components/Layout/Center/Center.js +2 -2
- package/esm/components/Layout/Center/Center.js.map +1 -1
- package/esm/components/Layout/Reel/Reel.js +2 -2
- package/esm/components/Layout/Reel/Reel.js.map +1 -1
- package/esm/components/Layout/Stack/Stack.js +2 -2
- package/esm/components/Layout/Stack/Stack.js.map +1 -1
- package/esm/components/Loader/Loader.js +2 -2
- package/esm/components/Loader/Loader.js.map +1 -1
- package/esm/components/Loader/LoaderSpinner.js +1 -0
- package/esm/components/Loader/LoaderSpinner.js.map +1 -1
- package/esm/components/NotificationBar/NotificationBar.js +3 -2
- package/esm/components/NotificationBar/NotificationBar.js.map +1 -1
- package/esm/components/PageCounter/PageCounter.js +2 -2
- package/esm/components/PageCounter/PageCounter.js.map +1 -1
- package/esm/components/Pagination/Pagination.js +3 -2
- package/esm/components/Pagination/Pagination.js.map +1 -1
- package/esm/components/Pagination/PaginationControllerItemButton.js +1 -0
- package/esm/components/Pagination/PaginationControllerItemButton.js.map +1 -1
- package/esm/components/Pagination/PaginationItemButton.js +1 -0
- package/esm/components/Pagination/PaginationItemButton.js.map +1 -1
- package/esm/components/RadioButton/RadioButton.js +4 -4
- package/esm/components/RadioButton/RadioButton.js.map +1 -1
- package/esm/components/RadioButtonPanel/RadioButtonPanel.js +2 -2
- package/esm/components/RadioButtonPanel/RadioButtonPanel.js.map +1 -1
- package/esm/components/ResponseMessage/ResponseMessage.js +2 -2
- package/esm/components/ResponseMessage/ResponseMessage.js.map +1 -1
- package/esm/components/SectioningContent/SectioningContent.js +1 -1
- package/esm/components/SectioningContent/SectioningContent.js.map +1 -1
- package/esm/components/SegmentedControl/SegmentedControl.js +2 -2
- package/esm/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/esm/components/Select/Select.js +6 -6
- package/esm/components/Select/Select.js.map +1 -1
- package/esm/components/SideNav/SideNav.js +2 -2
- package/esm/components/SideNav/SideNav.js.map +1 -1
- package/esm/components/SideNav/SideNavItemButton.d.ts +3 -1
- package/esm/components/SideNav/SideNavItemButton.js +8 -6
- package/esm/components/SideNav/SideNavItemButton.js.map +1 -1
- package/esm/components/SpreadsheetTable/SpreadsheetTable.js +2 -2
- package/esm/components/SpreadsheetTable/SpreadsheetTable.js.map +1 -1
- package/esm/components/StatusLabel/StatusLabel.js +2 -2
- package/esm/components/StatusLabel/StatusLabel.js.map +1 -1
- package/esm/components/Stepper/StepStatusIcon.js +1 -0
- package/esm/components/Stepper/StepStatusIcon.js.map +1 -1
- package/esm/components/Switch/Switch.js +2 -2
- package/esm/components/Switch/Switch.js.map +1 -1
- package/esm/components/TabBar/TabBar.js +2 -2
- package/esm/components/TabBar/TabBar.js.map +1 -1
- package/esm/components/TabBar/TabItem.js +4 -4
- package/esm/components/TabBar/TabItem.js.map +1 -1
- package/esm/components/Table/BulkActionRow.js +2 -2
- package/esm/components/Table/BulkActionRow.js.map +1 -1
- package/esm/components/Table/EmptyTableBody.js +2 -2
- package/esm/components/Table/EmptyTableBody.js.map +1 -1
- package/esm/components/Table/TableFixedHead.js +2 -2
- package/esm/components/Table/TableFixedHead.js.map +1 -1
- package/esm/components/Table/TableReel.js +2 -2
- package/esm/components/Table/TableReel.js.map +1 -1
- package/esm/components/Table/Td.js +2 -2
- package/esm/components/Table/Td.js.map +1 -1
- package/esm/components/Table/TdCheckbox.js.map +1 -1
- package/esm/components/Table/TdRadioButton.js.map +1 -1
- package/esm/components/Table/Th.js +2 -2
- package/esm/components/Table/Th.js.map +1 -1
- package/esm/components/Table/ThCheckbox.js +3 -2
- package/esm/components/Table/ThCheckbox.js.map +1 -1
- package/esm/components/Table/ThSortButton.js +1 -0
- package/esm/components/Table/ThSortButton.js.map +1 -1
- package/esm/components/Text/Text.d.ts +1 -1
- package/esm/components/Text/Text.js +2 -2
- package/esm/components/Text/Text.js.map +1 -1
- package/esm/components/TextLink/TextLink.js +2 -2
- package/esm/components/TextLink/TextLink.js.map +1 -1
- package/esm/components/TextLink/UpwardLink/UpwardLink.js +5 -1
- package/esm/components/TextLink/UpwardLink/UpwardLink.js.map +1 -1
- package/esm/components/Textarea/Textarea.js +4 -3
- package/esm/components/Textarea/Textarea.js.map +1 -1
- package/esm/components/Tooltip/Tooltip.js +2 -2
- package/esm/components/Tooltip/Tooltip.js.map +1 -1
- package/esm/components/VisuallyHiddenText/VisuallyHiddenText.d.ts +1 -1
- package/esm/components/VisuallyHiddenText/VisuallyHiddenText.js +2 -2
- package/esm/components/VisuallyHiddenText/VisuallyHiddenText.js.map +1 -1
- package/esm/components/WarekiPicker/WarekiPicker.js +1 -0
- package/esm/components/WarekiPicker/WarekiPicker.js.map +1 -1
- package/esm/hooks/useEnvironment/EnvironmentProvider.d.ts +8 -0
- package/esm/hooks/useEnvironment/EnvironmentProvider.js +26 -0
- package/esm/hooks/useEnvironment/EnvironmentProvider.js.map +1 -0
- package/esm/hooks/useEnvironment/index.d.ts +2 -0
- package/esm/hooks/useEnvironment/index.js +3 -0
- package/esm/hooks/useEnvironment/index.js.map +1 -0
- package/esm/hooks/useEnvironment/useEnvironment.d.ts +7 -0
- package/esm/hooks/useEnvironment/useEnvironment.js +21 -0
- package/esm/hooks/useEnvironment/useEnvironment.js.map +1 -0
- package/esm/hooks/useMediaQueries/index.d.ts +1 -0
- package/esm/hooks/useMediaQueries/index.js +2 -0
- package/esm/hooks/useMediaQueries/index.js.map +1 -0
- package/esm/hooks/useMediaQueries/useMediaQueries.d.ts +8 -0
- package/esm/hooks/useMediaQueries/useMediaQueries.js +37 -0
- package/esm/hooks/useMediaQueries/useMediaQueries.js.map +1 -0
- package/esm/hooks/useSV/index.d.ts +1 -0
- package/esm/hooks/useSV/index.js +2 -0
- package/esm/hooks/useSV/index.js.map +1 -0
- package/esm/hooks/useSV/useSV.d.ts +20 -0
- package/esm/hooks/useSV/useSV.js +36 -0
- package/esm/hooks/useSV/useSV.js.map +1 -0
- package/esm/index.d.ts +2 -0
- package/esm/index.js +3 -0
- package/esm/index.js.map +1 -1
- package/esm/intl/DateFormatter.d.ts +3 -1
- package/esm/intl/DateFormatter.js +4 -2
- package/esm/intl/DateFormatter.js.map +1 -1
- package/esm/intl/Localizer.d.ts +1 -1
- package/esm/intl/Localizer.js +1 -1
- package/esm/intl/useIntl.js +11 -10
- package/esm/intl/useIntl.js.map +1 -1
- package/esm/libs/debounce.d.ts +2 -2
- package/esm/libs/debounce.js +3 -3
- package/esm/libs/debounce.js.map +1 -1
- package/esm/libs/object.d.ts +6 -0
- package/esm/libs/object.js +5 -0
- package/esm/libs/object.js.map +1 -0
- package/esm/libs/shallowEqual.d.ts +1 -0
- package/esm/libs/shallowEqual.js +25 -0
- package/esm/libs/shallowEqual.js.map +1 -0
- package/esm/smarthr-ui-preset.d.ts +2 -2
- package/esm/smarthr-ui-preset.js +2 -2
- package/esm/smarthr-ui-preset.js.map +1 -1
- package/esm/themes/createColor.js +1 -1
- package/esm/themes/createColor.js.map +1 -1
- package/esm/themes/createFontSize.js +2 -2
- package/esm/themes/createFontSize.js.map +1 -1
- package/esm/themes/createMediaQuery.d.ts +22 -0
- package/esm/themes/createMediaQuery.js +14 -0
- package/esm/themes/createMediaQuery.js.map +1 -0
- package/esm/themes/createTheme.d.ts +13 -10
- package/esm/themes/createTheme.js +8 -6
- package/esm/themes/createTheme.js.map +1 -1
- package/esm/themes/index.d.ts +1 -0
- package/esm/themes/index.js +1 -0
- package/esm/themes/index.js.map +1 -1
- package/esm/themes/tailwind/TailwindConfig.d.ts +2 -2
- package/lib/components/AccordionPanel/AccordionPanel.js +2 -2
- package/lib/components/AccordionPanel/AccordionPanel.js.map +1 -1
- package/lib/components/AccordionPanel/AccordionPanelContent.js +2 -2
- package/lib/components/AccordionPanel/AccordionPanelContent.js.map +1 -1
- package/lib/components/AccordionPanel/AccordionPanelItem.js +2 -2
- package/lib/components/AccordionPanel/AccordionPanelItem.js.map +1 -1
- package/lib/components/AccordionPanel/AccordionPanelTrigger.js +2 -2
- package/lib/components/AccordionPanel/AccordionPanelTrigger.js.map +1 -1
- package/lib/components/AppHeader/AppHeader.js +2 -2
- package/lib/components/AppHeader/AppHeader.js.map +1 -1
- package/lib/components/AppHeader/components/common/CommonButton.d.ts +28 -0
- package/lib/components/AppHeader/components/common/CommonButton.js +11 -4
- package/lib/components/AppHeader/components/common/CommonButton.js.map +1 -1
- package/lib/components/AppHeader/components/desktop/DesktopHeader.js +2 -2
- package/lib/components/AppHeader/components/desktop/DesktopHeader.js.map +1 -1
- package/lib/components/AppHeader/components/desktop/Navigation.js +1 -0
- package/lib/components/AppHeader/components/desktop/Navigation.js.map +1 -1
- package/lib/components/AppHeader/components/desktop/UserInfo.js +1 -1
- package/lib/components/AppHeader/components/desktop/UserInfo.js.map +1 -1
- package/lib/components/AppHeader/components/mobile/MobileHeader.js +2 -2
- package/lib/components/AppHeader/components/mobile/MobileHeader.js.map +1 -1
- package/lib/components/AppNavi/AppNaviAnchor.js +2 -2
- package/lib/components/AppNavi/AppNaviAnchor.js.map +1 -1
- package/lib/components/AppNavi/AppNaviCustomTag.js +2 -2
- package/lib/components/AppNavi/AppNaviCustomTag.js.map +1 -1
- package/lib/components/AppNavi/AppNaviDropdownMenuButton.js +1 -1
- package/lib/components/AppNavi/AppNaviDropdownMenuButton.js.map +1 -1
- package/lib/components/Badge/Badge.js +5 -5
- package/lib/components/Badge/Badge.js.map +1 -1
- package/lib/components/Balloon/Balloon.js +2 -2
- package/lib/components/Balloon/Balloon.js.map +1 -1
- package/lib/components/Base/Base.js +2 -2
- package/lib/components/Base/Base.js.map +1 -1
- package/lib/components/Base/BaseColumn/BaseColumn.js +2 -2
- package/lib/components/Base/BaseColumn/BaseColumn.js.map +1 -1
- package/lib/components/BottomFixedArea/BottomFixedArea.js +2 -2
- package/lib/components/BottomFixedArea/BottomFixedArea.js.map +1 -1
- package/lib/components/Button/AnchorButton.js +3 -3
- package/lib/components/Button/AnchorButton.js.map +1 -1
- package/lib/components/Button/Button.js +2 -2
- package/lib/components/Button/Button.js.map +1 -1
- package/lib/components/Button/ButtonWrapper.d.ts +3 -23
- package/lib/components/Button/ButtonWrapper.js +14 -382
- package/lib/components/Button/ButtonWrapper.js.map +1 -1
- package/lib/components/Button/UnstyledButton.js +2 -2
- package/lib/components/Button/UnstyledButton.js.map +1 -1
- package/lib/components/Button/useButtonWrapper.d.ts +35 -0
- package/lib/components/Button/useButtonWrapper.js +380 -0
- package/lib/components/Button/useButtonWrapper.js.map +1 -0
- package/lib/components/Calendar/Calendar.js +4 -4
- package/lib/components/Calendar/Calendar.js.map +1 -1
- package/lib/components/Calendar/CalendarTable.js +2 -2
- package/lib/components/Calendar/CalendarTable.js.map +1 -1
- package/lib/components/Calendar/YearPicker.js +2 -2
- package/lib/components/Calendar/YearPicker.js.map +1 -1
- package/lib/components/Checkbox/Checkbox.js +3 -3
- package/lib/components/Checkbox/Checkbox.js.map +1 -1
- package/lib/components/Chip/Chip.js +2 -2
- package/lib/components/Chip/Chip.js.map +1 -1
- package/lib/components/DatePicker/DatePicker.d.ts +8 -2
- package/lib/components/DatePicker/DatePicker.js +47 -17
- package/lib/components/DatePicker/DatePicker.js.map +1 -1
- package/lib/components/DatePicker/Portal.js +2 -2
- package/lib/components/DatePicker/Portal.js.map +1 -1
- package/lib/components/Dialog/ActionDialog/ActionDialog.js +2 -2
- package/lib/components/Dialog/ActionDialog/ActionDialog.js.map +1 -1
- package/lib/components/Dialog/Dialog.js +2 -2
- package/lib/components/Dialog/Dialog.js.map +1 -1
- package/lib/components/Dialog/DialogContent.js +2 -2
- package/lib/components/Dialog/DialogContent.js.map +1 -1
- package/lib/components/Dialog/FormDialog/FormDialog.js +2 -2
- package/lib/components/Dialog/FormDialog/FormDialog.js.map +1 -1
- package/lib/components/Dialog/MessageDialog/MessageDialog.js +5 -6
- package/lib/components/Dialog/MessageDialog/MessageDialog.js.map +1 -1
- package/lib/components/Dialog/MessageDialog/MessageDialogContent.js +2 -2
- package/lib/components/Dialog/MessageDialog/MessageDialogContent.js.map +1 -1
- package/lib/components/Dialog/ModelessDialog/ModelessDialog.js +2 -2
- package/lib/components/Dialog/ModelessDialog/ModelessDialog.js.map +1 -1
- package/lib/components/Dialog/RemoteDialogTrigger/RemoteDialogTrigger.js +1 -1
- package/lib/components/Dialog/RemoteDialogTrigger/RemoteDialogTrigger.js.map +1 -1
- package/lib/components/Dialog/RemoteDialogTrigger/RemoteTriggerActionDialog.js +2 -2
- package/lib/components/Dialog/RemoteDialogTrigger/RemoteTriggerActionDialog.js.map +1 -1
- package/lib/components/Dialog/RemoteDialogTrigger/RemoteTriggerFormDialog.js +2 -2
- package/lib/components/Dialog/RemoteDialogTrigger/RemoteTriggerFormDialog.js.map +1 -1
- package/lib/components/Dialog/RemoteDialogTrigger/RemoteTriggerMessageDialog.js +2 -2
- package/lib/components/Dialog/RemoteDialogTrigger/RemoteTriggerMessageDialog.js.map +1 -1
- package/lib/components/Dialog/RemoteDialogTrigger/RemoteTriggerStepFormDialog.js +2 -2
- package/lib/components/Dialog/RemoteDialogTrigger/RemoteTriggerStepFormDialog.js.map +1 -1
- package/lib/components/Dialog/StepFormDialog/StepFormDialog.js +2 -2
- package/lib/components/Dialog/StepFormDialog/StepFormDialog.js.map +1 -1
- package/lib/components/Disclosure/DisclosureTrigger.js +1 -1
- package/lib/components/Disclosure/DisclosureTrigger.js.map +1 -1
- package/lib/components/DropZone/DropZone.js +2 -2
- package/lib/components/DropZone/DropZone.js.map +1 -1
- package/lib/components/Dropdown/DropdownContent.js +2 -2
- package/lib/components/Dropdown/DropdownContent.js.map +1 -1
- package/lib/components/Dropdown/DropdownContentInner.js +2 -2
- package/lib/components/Dropdown/DropdownContentInner.js.map +1 -1
- package/lib/components/Dropdown/DropdownMenuButton/DropdownMenuButton.d.ts +13 -8
- package/lib/components/Dropdown/DropdownMenuButton/DropdownMenuButton.js +18 -9
- package/lib/components/Dropdown/DropdownMenuButton/DropdownMenuButton.js.map +1 -1
- package/lib/components/Dropdown/FilterDropdown/FilterDropdown.js +2 -2
- package/lib/components/Dropdown/FilterDropdown/FilterDropdown.js.map +1 -1
- package/lib/components/Dropdown/SortDropdown/SortDropdown.js +2 -2
- package/lib/components/Dropdown/SortDropdown/SortDropdown.js.map +1 -1
- package/lib/components/Dropdown/SortDropdown/useSortDropdown.d.ts +1 -1
- package/lib/components/Dropdown/SortDropdown/useSortDropdown.js +1 -1
- package/lib/components/Dropdown/SortDropdown/useSortDropdown.js.map +1 -1
- package/lib/components/ErrorScreen/ErrorScreen.js +2 -2
- package/lib/components/ErrorScreen/ErrorScreen.js.map +1 -1
- package/lib/components/Fieldset/Fieldset.js +1 -1
- package/lib/components/Fieldset/Fieldset.js.map +1 -1
- package/lib/components/FileViewer/FileViewer.js +1 -1
- package/lib/components/FileViewer/FileViewer.js.map +1 -1
- package/lib/components/FileViewer/PDFViewer.js +2 -3
- package/lib/components/FileViewer/PDFViewer.js.map +1 -1
- package/lib/components/FormControl/FormControl.js +9 -4
- package/lib/components/FormControl/FormControl.js.map +1 -1
- package/lib/components/Header/AppLauncher/AppLauncher.js +2 -2
- package/lib/components/Header/AppLauncher/AppLauncher.js.map +1 -1
- package/lib/components/Header/Header.js +3 -3
- package/lib/components/Header/Header.js.map +1 -1
- package/lib/components/Header/HeaderLink.js +2 -2
- package/lib/components/Header/HeaderLink.js.map +1 -1
- package/lib/components/Header/LanguageSwitcher/LanguageSwitcher.js +13 -9
- package/lib/components/Header/LanguageSwitcher/LanguageSwitcher.js.map +1 -1
- package/lib/components/Heading/Heading.js +2 -2
- package/lib/components/Heading/Heading.js.map +1 -1
- package/lib/components/Heading/PageHeading/PageHeading.js +2 -2
- package/lib/components/Heading/PageHeading/PageHeading.js.map +1 -1
- package/lib/components/Icon/generateIcon.js +2 -2
- package/lib/components/Icon/generateIcon.js.map +1 -1
- package/lib/components/InformationPanel/InformationPanel.js +2 -2
- package/lib/components/InformationPanel/InformationPanel.js.map +1 -1
- package/lib/components/Input/CurrencyInput/CurrencyInput.js +12 -19
- package/lib/components/Input/CurrencyInput/CurrencyInput.js.map +1 -1
- package/lib/components/Input/Input.js +3 -3
- package/lib/components/Input/Input.js.map +1 -1
- package/lib/components/InputFile/InputFileMultiplyAppendable.js +2 -2
- package/lib/components/InputFile/InputFileMultiplyAppendable.js.map +1 -1
- package/lib/components/InputFile/InputFileNative.js.map +1 -1
- package/lib/components/Layout/Center/Center.js +2 -2
- package/lib/components/Layout/Center/Center.js.map +1 -1
- package/lib/components/Layout/Reel/Reel.js +2 -2
- package/lib/components/Layout/Reel/Reel.js.map +1 -1
- package/lib/components/Layout/Stack/Stack.js +2 -2
- package/lib/components/Layout/Stack/Stack.js.map +1 -1
- package/lib/components/Loader/Loader.js +2 -2
- package/lib/components/Loader/Loader.js.map +1 -1
- package/lib/components/NotificationBar/NotificationBar.js +2 -2
- package/lib/components/NotificationBar/NotificationBar.js.map +1 -1
- package/lib/components/PageCounter/PageCounter.js +2 -2
- package/lib/components/PageCounter/PageCounter.js.map +1 -1
- package/lib/components/Pagination/Pagination.js +2 -2
- package/lib/components/Pagination/Pagination.js.map +1 -1
- package/lib/components/RadioButton/RadioButton.js +4 -4
- package/lib/components/RadioButton/RadioButton.js.map +1 -1
- package/lib/components/RadioButtonPanel/RadioButtonPanel.js +2 -2
- package/lib/components/RadioButtonPanel/RadioButtonPanel.js.map +1 -1
- package/lib/components/ResponseMessage/ResponseMessage.js +2 -2
- package/lib/components/ResponseMessage/ResponseMessage.js.map +1 -1
- package/lib/components/SectioningContent/SectioningContent.js +1 -1
- package/lib/components/SectioningContent/SectioningContent.js.map +1 -1
- package/lib/components/SegmentedControl/SegmentedControl.js +2 -2
- package/lib/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/lib/components/Select/Select.js +5 -6
- package/lib/components/Select/Select.js.map +1 -1
- package/lib/components/SideNav/SideNav.js +2 -2
- package/lib/components/SideNav/SideNav.js.map +1 -1
- package/lib/components/SideNav/SideNavItemButton.d.ts +3 -1
- package/lib/components/SideNav/SideNavItemButton.js +8 -6
- package/lib/components/SideNav/SideNavItemButton.js.map +1 -1
- package/lib/components/SpreadsheetTable/SpreadsheetTable.js +2 -2
- package/lib/components/SpreadsheetTable/SpreadsheetTable.js.map +1 -1
- package/lib/components/StatusLabel/StatusLabel.js +2 -2
- package/lib/components/StatusLabel/StatusLabel.js.map +1 -1
- package/lib/components/Switch/Switch.js +2 -2
- package/lib/components/Switch/Switch.js.map +1 -1
- package/lib/components/TabBar/TabBar.js +2 -2
- package/lib/components/TabBar/TabBar.js.map +1 -1
- package/lib/components/TabBar/TabItem.js +4 -4
- package/lib/components/TabBar/TabItem.js.map +1 -1
- package/lib/components/Table/BulkActionRow.js +2 -2
- package/lib/components/Table/BulkActionRow.js.map +1 -1
- package/lib/components/Table/EmptyTableBody.js +2 -2
- package/lib/components/Table/EmptyTableBody.js.map +1 -1
- package/lib/components/Table/TableFixedHead.js +2 -2
- package/lib/components/Table/TableFixedHead.js.map +1 -1
- package/lib/components/Table/TableReel.js +2 -2
- package/lib/components/Table/TableReel.js.map +1 -1
- package/lib/components/Table/Td.js +2 -2
- package/lib/components/Table/Td.js.map +1 -1
- package/lib/components/Table/TdCheckbox.js.map +1 -1
- package/lib/components/Table/TdRadioButton.js.map +1 -1
- package/lib/components/Table/Th.js +2 -2
- package/lib/components/Table/Th.js.map +1 -1
- package/lib/components/Table/ThCheckbox.js +2 -2
- package/lib/components/Table/ThCheckbox.js.map +1 -1
- package/lib/components/Text/Text.d.ts +1 -1
- package/lib/components/Text/Text.js +2 -2
- package/lib/components/Text/Text.js.map +1 -1
- package/lib/components/TextLink/TextLink.js +2 -2
- package/lib/components/TextLink/TextLink.js.map +1 -1
- package/lib/components/TextLink/UpwardLink/UpwardLink.js +4 -1
- package/lib/components/TextLink/UpwardLink/UpwardLink.js.map +1 -1
- package/lib/components/Textarea/Textarea.js +3 -3
- package/lib/components/Textarea/Textarea.js.map +1 -1
- package/lib/components/Tooltip/Tooltip.js +2 -2
- package/lib/components/Tooltip/Tooltip.js.map +1 -1
- package/lib/components/VisuallyHiddenText/VisuallyHiddenText.d.ts +1 -1
- package/lib/components/VisuallyHiddenText/VisuallyHiddenText.js +2 -2
- package/lib/components/VisuallyHiddenText/VisuallyHiddenText.js.map +1 -1
- package/lib/hooks/useEnvironment/EnvironmentProvider.d.ts +8 -0
- package/lib/hooks/useEnvironment/EnvironmentProvider.js +27 -0
- package/lib/hooks/useEnvironment/EnvironmentProvider.js.map +1 -0
- package/lib/hooks/useEnvironment/index.d.ts +2 -0
- package/lib/hooks/useEnvironment/index.js +8 -0
- package/lib/hooks/useEnvironment/index.js.map +1 -0
- package/lib/hooks/useEnvironment/useEnvironment.d.ts +7 -0
- package/lib/hooks/useEnvironment/useEnvironment.js +22 -0
- package/lib/hooks/useEnvironment/useEnvironment.js.map +1 -0
- package/lib/hooks/useMediaQueries/index.d.ts +1 -0
- package/lib/hooks/useMediaQueries/index.js +18 -0
- package/lib/hooks/useMediaQueries/index.js.map +1 -0
- package/lib/hooks/useMediaQueries/useMediaQueries.d.ts +8 -0
- package/lib/hooks/useMediaQueries/useMediaQueries.js +38 -0
- package/lib/hooks/useMediaQueries/useMediaQueries.js.map +1 -0
- package/lib/hooks/useSV/index.d.ts +1 -0
- package/lib/hooks/useSV/index.js +18 -0
- package/lib/hooks/useSV/index.js.map +1 -0
- package/lib/hooks/useSV/useSV.d.ts +20 -0
- package/lib/hooks/useSV/useSV.js +36 -0
- package/lib/hooks/useSV/useSV.js.map +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +7 -1
- package/lib/index.js.map +1 -1
- package/lib/intl/DateFormatter.d.ts +3 -1
- package/lib/intl/DateFormatter.js +7 -2
- package/lib/intl/DateFormatter.js.map +1 -1
- package/lib/intl/Localizer.d.ts +1 -1
- package/lib/intl/Localizer.js +1 -1
- package/lib/intl/Localizer.js.map +1 -1
- package/lib/intl/useIntl.js +11 -10
- package/lib/intl/useIntl.js.map +1 -1
- package/lib/libs/debounce.d.ts +2 -2
- package/lib/libs/debounce.js +3 -3
- package/lib/libs/debounce.js.map +1 -1
- package/lib/libs/object.d.ts +6 -0
- package/lib/libs/object.js +6 -0
- package/lib/libs/object.js.map +1 -0
- package/lib/libs/shallowEqual.d.ts +1 -0
- package/lib/libs/shallowEqual.js +27 -0
- package/lib/libs/shallowEqual.js.map +1 -0
- package/lib/smarthr-ui-preset.d.ts +2 -2
- package/lib/smarthr-ui-preset.js +2 -2
- package/lib/smarthr-ui-preset.js.map +1 -1
- package/lib/themes/createColor.js +1 -1
- package/lib/themes/createColor.js.map +1 -1
- package/lib/themes/createFontSize.js +2 -2
- package/lib/themes/createFontSize.js.map +1 -1
- package/lib/themes/createMediaQuery.d.ts +22 -0
- package/lib/themes/createMediaQuery.js +16 -0
- package/lib/themes/createMediaQuery.js.map +1 -0
- package/lib/themes/createTheme.d.ts +13 -10
- package/lib/themes/createTheme.js +8 -6
- package/lib/themes/createTheme.js.map +1 -1
- package/lib/themes/index.d.ts +1 -0
- package/lib/themes/index.js +4 -0
- package/lib/themes/index.js.map +1 -1
- package/lib/themes/tailwind/TailwindConfig.d.ts +2 -2
- package/package.json +3 -3
- package/smarthr-ui.css +14 -0
|
@@ -14,7 +14,7 @@ const AccordionPanelContext = createContext({
|
|
|
14
14
|
const classNameGenerator = ce({
|
|
15
15
|
base: 'smarthr-ui-AccordionPanel',
|
|
16
16
|
});
|
|
17
|
-
const AccordionPanel = ({ iconPosition = 'left', expandableMultiply = true, defaultExpanded = [], className, onClick: onClickProps, ...
|
|
17
|
+
const AccordionPanel = ({ iconPosition = 'left', expandableMultiply = true, defaultExpanded = [], className, onClick: onClickProps, ...rest }) => {
|
|
18
18
|
const [expandedItems, setExpanded] = useState(flatArrayToMap(defaultExpanded));
|
|
19
19
|
const parentRef = useRef(null);
|
|
20
20
|
const actualClassName = useMemo(() => classNameGenerator({ className }), [className]);
|
|
@@ -32,7 +32,7 @@ const AccordionPanel = ({ iconPosition = 'left', expandableMultiply = true, defa
|
|
|
32
32
|
iconPosition,
|
|
33
33
|
expandableMultiply,
|
|
34
34
|
parentRef,
|
|
35
|
-
}, children: jsx("div", { ...
|
|
35
|
+
}, children: jsx("div", { ...rest, ref: parentRef, role: "presentation", className: actualClassName }) }));
|
|
36
36
|
};
|
|
37
37
|
|
|
38
38
|
export { AccordionPanel, AccordionPanelContext };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionPanel.js","sources":["../../../src/components/AccordionPanel/AccordionPanel.tsx"],"sourcesContent":["'use client'\n\nimport {\n type ComponentProps,\n type FC,\n type PropsWithChildren,\n type RefObject,\n createContext,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { flatArrayToMap } from '../../libs/map'\n\nimport { getNewExpandedItems } from './accordionPanelHelper'\n\ntype AbstractProps = PropsWithChildren<{\n /** アイコンの左右位置 */\n iconPosition?: 'left' | 'right'\n /** 複数のパネルを同時に開くことを許容するかどうか */\n expandableMultiply?: boolean\n /** デフォルトで開いた状態にするアイテムの `name` の配列 */\n defaultExpanded?: string[]\n /** トリガのクリックイベントを処理するハンドラ */\n onClick?: (expandedItems: string[]) => void\n}>\ntype Props = AbstractProps & Omit<ComponentProps<'div'>, keyof AbstractProps>\n\nexport const AccordionPanelContext = createContext<{\n iconPosition: 'left' | 'right'\n expandedItems: Map<string, string>\n expandableMultiply: boolean\n parentRef: RefObject<HTMLDivElement> | null\n onClickTrigger?: (itemName: string, isExpanded: boolean) => void\n onClickProps?: (expandedItems: string[]) => void\n}>({\n iconPosition: 'left',\n expandedItems: new Map(),\n expandableMultiply: true,\n parentRef: null,\n})\n\nconst classNameGenerator = tv({\n base: 'smarthr-ui-AccordionPanel',\n})\n\nexport const AccordionPanel: FC<Props> = ({\n iconPosition = 'left',\n expandableMultiply = true,\n defaultExpanded = [],\n className,\n onClick: onClickProps,\n ...
|
|
1
|
+
{"version":3,"file":"AccordionPanel.js","sources":["../../../src/components/AccordionPanel/AccordionPanel.tsx"],"sourcesContent":["'use client'\n\nimport {\n type ComponentProps,\n type FC,\n type PropsWithChildren,\n type RefObject,\n createContext,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { flatArrayToMap } from '../../libs/map'\n\nimport { getNewExpandedItems } from './accordionPanelHelper'\n\ntype AbstractProps = PropsWithChildren<{\n /** アイコンの左右位置 */\n iconPosition?: 'left' | 'right'\n /** 複数のパネルを同時に開くことを許容するかどうか */\n expandableMultiply?: boolean\n /** デフォルトで開いた状態にするアイテムの `name` の配列 */\n defaultExpanded?: string[]\n /** トリガのクリックイベントを処理するハンドラ */\n onClick?: (expandedItems: string[]) => void\n}>\ntype Props = AbstractProps & Omit<ComponentProps<'div'>, keyof AbstractProps>\n\nexport const AccordionPanelContext = createContext<{\n iconPosition: 'left' | 'right'\n expandedItems: Map<string, string>\n expandableMultiply: boolean\n parentRef: RefObject<HTMLDivElement> | null\n onClickTrigger?: (itemName: string, isExpanded: boolean) => void\n onClickProps?: (expandedItems: string[]) => void\n}>({\n iconPosition: 'left',\n expandedItems: new Map(),\n expandableMultiply: true,\n parentRef: null,\n})\n\nconst classNameGenerator = tv({\n base: 'smarthr-ui-AccordionPanel',\n})\n\nexport const AccordionPanel: FC<Props> = ({\n iconPosition = 'left',\n expandableMultiply = true,\n defaultExpanded = [],\n className,\n onClick: onClickProps,\n ...rest\n}) => {\n const [expandedItems, setExpanded] = useState(flatArrayToMap(defaultExpanded))\n const parentRef = useRef<HTMLDivElement>(null)\n const actualClassName = useMemo(() => classNameGenerator({ className }), [className])\n\n const onClickTrigger = useCallback(\n (itemName: string, isExpanded: boolean) => {\n setExpanded(getNewExpandedItems(expandedItems, itemName, isExpanded, expandableMultiply))\n },\n [expandableMultiply, expandedItems],\n )\n\n useEffect(() => {\n if (defaultExpanded.length > 0) setExpanded(flatArrayToMap(defaultExpanded))\n }, [defaultExpanded])\n\n return (\n <AccordionPanelContext.Provider\n value={{\n onClickTrigger,\n onClickProps,\n expandedItems,\n iconPosition,\n expandableMultiply,\n parentRef,\n }}\n >\n <div {...rest} ref={parentRef} role=\"presentation\" className={actualClassName} />\n </AccordionPanelContext.Provider>\n )\n}\n"],"names":[],"mappings":";;;;;;;AAgCO;AAQL;;AAEA;AACA;AACD;AAED;AACE;AACD;AAEM;AAQL;AACA;AACA;;AAII;AACF;;AAKA;AAAgC;AAClC;AAEA;;;;;;;AASK;AAKP;;"}
|
|
@@ -17,13 +17,13 @@ const classNameGenerator = ce({
|
|
|
17
17
|
'aria-[hidden]:shr-absolute aria-[hidden]:shr-h-px aria-[hidden]:shr-overflow-hidden',
|
|
18
18
|
],
|
|
19
19
|
});
|
|
20
|
-
const AccordionPanelContent = ({ className, ...
|
|
20
|
+
const AccordionPanelContent = ({ className, ...rest }) => {
|
|
21
21
|
const { name } = useContext(AccordionPanelItemContext);
|
|
22
22
|
const { expandedItems } = useContext(AccordionPanelContext);
|
|
23
23
|
const visible = useMemo(() => getIsInclude(expandedItems, name), [expandedItems, name]);
|
|
24
24
|
const wrapperRef = useRef(null);
|
|
25
25
|
const actualClassName = useMemo(() => classNameGenerator({ className }), [className]);
|
|
26
|
-
return (jsx(Transition, { in: visible, timeout: 150, nodeRef: wrapperRef, children: (status) => (jsx("div", { ...
|
|
26
|
+
return (jsx(Transition, { in: visible, timeout: 150, nodeRef: wrapperRef, children: (status) => (jsx("div", { ...rest, ref: wrapperRef, id: `${name}-content`, "aria-labelledby": `${name}-trigger`, "aria-hidden": visible ? undefined : true, className: `${actualClassName} ${status}` })) }));
|
|
27
27
|
};
|
|
28
28
|
|
|
29
29
|
export { AccordionPanelContent };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionPanelContent.js","sources":["../../../src/components/AccordionPanel/AccordionPanelContent.tsx"],"sourcesContent":["'use client'\n\nimport {\n type ComponentPropsWithoutRef,\n type FC,\n type PropsWithChildren,\n useContext,\n useMemo,\n useRef,\n} from 'react'\nimport { Transition } from 'react-transition-group'\nimport { tv } from 'tailwind-variants'\n\nimport { getIsInclude } from '../../libs/map'\n\nimport { AccordionPanelContext } from './AccordionPanel'\nimport { AccordionPanelItemContext } from './AccordionPanelItem'\n\ntype AbstractProps = PropsWithChildren\ntype Props = AbstractProps & Omit<ComponentPropsWithoutRef<'div'>, keyof AbstractProps>\n\nconst classNameGenerator = tv({\n base: [\n 'smarthr-ui-AccordionPanel-content',\n 'shr-invisible shr-max-h-0 shr-opacity-0 shr-transition-[max-height,_visible,_opacity] shr-duration-150 shr-ease-in-out',\n '[&.entered]:shr-visible [&.entered]:shr-max-h-[revert] [&.entered]:shr-opacity-100',\n // HINT: flexなどで囲まれると、非表示だが内容分高さが出てしまい、スクロール領域が不自然に伸びてしまう現象が起きる場合がある\n // 非表示の場合、visually hiddenを適用することで、内容としては残しつつ、高さを0にすることで回避する\n 'aria-[hidden]:shr-absolute aria-[hidden]:shr-h-px aria-[hidden]:shr-overflow-hidden',\n ],\n})\n\nexport const AccordionPanelContent: FC<Props> = ({ className, ...
|
|
1
|
+
{"version":3,"file":"AccordionPanelContent.js","sources":["../../../src/components/AccordionPanel/AccordionPanelContent.tsx"],"sourcesContent":["'use client'\n\nimport {\n type ComponentPropsWithoutRef,\n type FC,\n type PropsWithChildren,\n useContext,\n useMemo,\n useRef,\n} from 'react'\nimport { Transition } from 'react-transition-group'\nimport { tv } from 'tailwind-variants'\n\nimport { getIsInclude } from '../../libs/map'\n\nimport { AccordionPanelContext } from './AccordionPanel'\nimport { AccordionPanelItemContext } from './AccordionPanelItem'\n\ntype AbstractProps = PropsWithChildren\ntype Props = AbstractProps & Omit<ComponentPropsWithoutRef<'div'>, keyof AbstractProps>\n\nconst classNameGenerator = tv({\n base: [\n 'smarthr-ui-AccordionPanel-content',\n 'shr-invisible shr-max-h-0 shr-opacity-0 shr-transition-[max-height,_visible,_opacity] shr-duration-150 shr-ease-in-out',\n '[&.entered]:shr-visible [&.entered]:shr-max-h-[revert] [&.entered]:shr-opacity-100',\n // HINT: flexなどで囲まれると、非表示だが内容分高さが出てしまい、スクロール領域が不自然に伸びてしまう現象が起きる場合がある\n // 非表示の場合、visually hiddenを適用することで、内容としては残しつつ、高さを0にすることで回避する\n 'aria-[hidden]:shr-absolute aria-[hidden]:shr-h-px aria-[hidden]:shr-overflow-hidden',\n ],\n})\n\nexport const AccordionPanelContent: FC<Props> = ({ className, ...rest }) => {\n const { name } = useContext(AccordionPanelItemContext)\n const { expandedItems } = useContext(AccordionPanelContext)\n const visible = useMemo(() => getIsInclude(expandedItems, name), [expandedItems, name])\n const wrapperRef = useRef<HTMLDivElement>(null)\n const actualClassName = useMemo(() => classNameGenerator({ className }), [className])\n\n return (\n <Transition in={visible} timeout={150} nodeRef={wrapperRef}>\n {(status) => (\n <div\n {...rest}\n ref={wrapperRef}\n id={`${name}-content`}\n aria-labelledby={`${name}-trigger`}\n aria-hidden={visible ? undefined : true}\n className={`${actualClassName} ${status}`}\n />\n )}\n </Transition>\n )\n}\n"],"names":[],"mappings":";;;;;;;;;AAqBA;AACE;;;;;;;AAOC;AACF;AAEM;;;;AAIL;AACA;AAEA;AAcF;;"}
|
|
@@ -11,11 +11,11 @@ const AccordionPanelItemContext = createContext({
|
|
|
11
11
|
const classNameGenerator = ce({
|
|
12
12
|
base: ['smarthr-ui-AccordionPanel-item', '[&_+_&]:shr-border-t-shorthand'],
|
|
13
13
|
});
|
|
14
|
-
const AccordionPanelItem = ({ name, className, ...
|
|
14
|
+
const AccordionPanelItem = ({ name, className, ...rest }) => {
|
|
15
15
|
const actualClassName = useMemo(() => classNameGenerator({ className }), [className]);
|
|
16
16
|
return (jsx(AccordionPanelItemContext.Provider, { value: {
|
|
17
17
|
name,
|
|
18
|
-
}, children: jsx(Section, { ...
|
|
18
|
+
}, children: jsx(Section, { ...rest, className: actualClassName }) }));
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
export { AccordionPanelItem, AccordionPanelItemContext };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionPanelItem.js","sources":["../../../src/components/AccordionPanel/AccordionPanelItem.tsx"],"sourcesContent":["'use client'\n\nimport {\n type ComponentPropsWithoutRef,\n type FC,\n type PropsWithChildren,\n createContext,\n useMemo,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { Section } from '../SectioningContent'\n\ntype AbstractProps = PropsWithChildren<{\n /** アイテムを識別するための名前 */\n name: string\n}>\ntype Props = AbstractProps & Omit<ComponentPropsWithoutRef<'section'>, keyof AbstractProps>\n\nexport const AccordionPanelItemContext = createContext<{ name: string }>({\n name: '',\n})\n\nconst classNameGenerator = tv({\n base: ['smarthr-ui-AccordionPanel-item', '[&_+_&]:shr-border-t-shorthand'],\n})\n\nexport const AccordionPanelItem: FC<Props> = ({ name, className, ...
|
|
1
|
+
{"version":3,"file":"AccordionPanelItem.js","sources":["../../../src/components/AccordionPanel/AccordionPanelItem.tsx"],"sourcesContent":["'use client'\n\nimport {\n type ComponentPropsWithoutRef,\n type FC,\n type PropsWithChildren,\n createContext,\n useMemo,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { Section } from '../SectioningContent'\n\ntype AbstractProps = PropsWithChildren<{\n /** アイテムを識別するための名前 */\n name: string\n}>\ntype Props = AbstractProps & Omit<ComponentPropsWithoutRef<'section'>, keyof AbstractProps>\n\nexport const AccordionPanelItemContext = createContext<{ name: string }>({\n name: '',\n})\n\nconst classNameGenerator = tv({\n base: ['smarthr-ui-AccordionPanel-item', '[&_+_&]:shr-border-t-shorthand'],\n})\n\nexport const AccordionPanelItem: FC<Props> = ({ name, className, ...rest }) => {\n const actualClassName = useMemo(() => classNameGenerator({ className }), [className])\n\n return (\n <AccordionPanelItemContext.Provider\n value={{\n name,\n }}\n >\n <Section {...rest} className={actualClassName} />\n </AccordionPanelItemContext.Provider>\n )\n}\n"],"names":[],"mappings":";;;;;;;AAmBO;AACL;AACD;AAED;AACE;AACD;AAEM;AACL;AAEA;;;AASF;;"}
|
|
@@ -41,7 +41,7 @@ const classNameGenerator = ce({
|
|
|
41
41
|
},
|
|
42
42
|
],
|
|
43
43
|
});
|
|
44
|
-
const AccordionPanelTrigger = ({ children, className, headingType = 'blockTitle', headingTag, ...
|
|
44
|
+
const AccordionPanelTrigger = ({ children, className, headingType = 'blockTitle', headingTag, ...rest }) => {
|
|
45
45
|
const classNames = useMemo(() => {
|
|
46
46
|
const { title, titleWrapper, button, leftIcon, rightIcon } = classNameGenerator();
|
|
47
47
|
return {
|
|
@@ -111,7 +111,7 @@ const AccordionPanelTrigger = ({ children, className, headingType = 'blockTitle'
|
|
|
111
111
|
}, [parentRef]);
|
|
112
112
|
return (
|
|
113
113
|
// eslint-disable-next-line smarthr/a11y-heading-in-sectioning-content
|
|
114
|
-
jsx(Heading, { tag: headingTag, type: headingType, children: jsx("button", { ...
|
|
114
|
+
jsx(Heading, { tag: headingTag, type: headingType, children: jsx("button", { ...rest, type: "button", value: name, id: `${name}-trigger`, "aria-expanded": isExpanded, "aria-controls": `${name}-content`, onClick: handleClick, onKeyDown: handleKeyDown, className: classNames.button, "data-component": "AccordionHeaderButton", children: jsx(MemoizedTitle, { iconPosition: iconPosition, classNames: classNames, children: children }) }) }));
|
|
115
115
|
};
|
|
116
116
|
const MemoizedTitle = memo(({ classNames, iconPosition, children }) => (jsxs(Cluster, { className: classNames.titleWrapper, align: "center", as: "span", children: [iconPosition === 'left' && jsx(FaCaretRightIcon, { className: classNames.leftIcon }), jsx("span", { className: classNames.title, children: children }), iconPosition === 'right' && jsx(FaCaretDownIcon, { className: classNames.rightIcon })] })));
|
|
117
117
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionPanelTrigger.js","sources":["../../../src/components/AccordionPanel/AccordionPanelTrigger.tsx"],"sourcesContent":["'use client'\n\nimport {\n type ComponentPropsWithoutRef,\n type FC,\n type KeyboardEventHandler,\n type MouseEvent,\n type PropsWithChildren,\n memo,\n useCallback,\n useContext,\n useMemo,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { getIsInclude, mapToKeyArray } from '../../libs/map'\nimport { Heading, type HeadingTagTypes } from '../Heading'\nimport { FaCaretDownIcon, FaCaretRightIcon } from '../Icon'\nimport { Cluster } from '../Layout'\n\nimport { AccordionPanelContext } from './AccordionPanel'\nimport { AccordionPanelItemContext } from './AccordionPanelItem'\nimport {\n focusFirstSibling,\n focusLastSibling,\n focusNextSibling,\n focusPreviousSibling,\n getNewExpandedItems,\n} from './accordionPanelHelper'\n\nimport type { TextProps } from '../Text'\n\ntype AbstractProps = PropsWithChildren<{\n /** ヘッダ部分のテキストのスタイル */\n headingType?: Exclude<TextProps['styleType'], 'screenTitle'>\n /**\n * @deprecated headingTag属性は非推奨です\n */\n headingTag?: HeadingTagTypes\n}>\ntype Props = AbstractProps & Omit<ComponentPropsWithoutRef<'button'>, keyof AbstractProps>\n\nconst classNameGenerator = tv({\n slots: {\n title: 'shr-grow shr-leading-tight',\n titleWrapper: 'shr-flex-nowrap',\n button: [\n 'smarthr-ui-AccordionPanel-trigger',\n 'shr-group shr-w-full shr-cursor-pointer shr-appearance-none shr-border-none shr-bg-transparent shr-px-1 shr-py-0.75 shr-text-left shr-text-inherit shr-text-color-inherit',\n 'disabled:shr-cursor-not-allowed disabled:shr-bg-white-darken disabled:shr-text-disabled',\n 'hover:shr-bg-white-darken',\n 'focus-visible:shr-focus-indicator',\n // Base 直下に AccordionPanel がある場合、背景が付き抜けないように角丸を指定(Base に overflow: hidden を与えるとフォーカスリングが表示されなくなる)\n '[.smarthr-ui-Base_>_.smarthr-ui-AccordionPanel_.smarthr-ui-AccordionPanel-item:first-child_&]:shr-rounded-t-l [.smarthr-ui-Base_>_.smarthr-ui-AccordionPanel_.smarthr-ui-AccordionPanel-item:last-child_&]:shr-rounded-b-l',\n ],\n leftIcon: 'shr-transition-transform shr-duration-100 group-aria-expanded:shr-rotate-90',\n rightIcon: 'group-aria-expanded:-shr-rotate-180',\n },\n compoundSlots: [\n {\n slots: ['leftIcon', 'rightIcon'],\n className: 'shr-shrink-0',\n },\n ],\n})\n\nexport const AccordionPanelTrigger: FC<Props> = ({\n children,\n className,\n headingType = 'blockTitle',\n headingTag,\n ...
|
|
1
|
+
{"version":3,"file":"AccordionPanelTrigger.js","sources":["../../../src/components/AccordionPanel/AccordionPanelTrigger.tsx"],"sourcesContent":["'use client'\n\nimport {\n type ComponentPropsWithoutRef,\n type FC,\n type KeyboardEventHandler,\n type MouseEvent,\n type PropsWithChildren,\n memo,\n useCallback,\n useContext,\n useMemo,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { getIsInclude, mapToKeyArray } from '../../libs/map'\nimport { Heading, type HeadingTagTypes } from '../Heading'\nimport { FaCaretDownIcon, FaCaretRightIcon } from '../Icon'\nimport { Cluster } from '../Layout'\n\nimport { AccordionPanelContext } from './AccordionPanel'\nimport { AccordionPanelItemContext } from './AccordionPanelItem'\nimport {\n focusFirstSibling,\n focusLastSibling,\n focusNextSibling,\n focusPreviousSibling,\n getNewExpandedItems,\n} from './accordionPanelHelper'\n\nimport type { TextProps } from '../Text'\n\ntype AbstractProps = PropsWithChildren<{\n /** ヘッダ部分のテキストのスタイル */\n headingType?: Exclude<TextProps['styleType'], 'screenTitle'>\n /**\n * @deprecated headingTag属性は非推奨です\n */\n headingTag?: HeadingTagTypes\n}>\ntype Props = AbstractProps & Omit<ComponentPropsWithoutRef<'button'>, keyof AbstractProps>\n\nconst classNameGenerator = tv({\n slots: {\n title: 'shr-grow shr-leading-tight',\n titleWrapper: 'shr-flex-nowrap',\n button: [\n 'smarthr-ui-AccordionPanel-trigger',\n 'shr-group shr-w-full shr-cursor-pointer shr-appearance-none shr-border-none shr-bg-transparent shr-px-1 shr-py-0.75 shr-text-left shr-text-inherit shr-text-color-inherit',\n 'disabled:shr-cursor-not-allowed disabled:shr-bg-white-darken disabled:shr-text-disabled',\n 'hover:shr-bg-white-darken',\n 'focus-visible:shr-focus-indicator',\n // Base 直下に AccordionPanel がある場合、背景が付き抜けないように角丸を指定(Base に overflow: hidden を与えるとフォーカスリングが表示されなくなる)\n '[.smarthr-ui-Base_>_.smarthr-ui-AccordionPanel_.smarthr-ui-AccordionPanel-item:first-child_&]:shr-rounded-t-l [.smarthr-ui-Base_>_.smarthr-ui-AccordionPanel_.smarthr-ui-AccordionPanel-item:last-child_&]:shr-rounded-b-l',\n ],\n leftIcon: 'shr-transition-transform shr-duration-100 group-aria-expanded:shr-rotate-90',\n rightIcon: 'group-aria-expanded:-shr-rotate-180',\n },\n compoundSlots: [\n {\n slots: ['leftIcon', 'rightIcon'],\n className: 'shr-shrink-0',\n },\n ],\n})\n\nexport const AccordionPanelTrigger: FC<Props> = ({\n children,\n className,\n headingType = 'blockTitle',\n headingTag,\n ...rest\n}) => {\n const classNames = useMemo(() => {\n const { title, titleWrapper, button, leftIcon, rightIcon } = classNameGenerator()\n\n return {\n title: title(),\n titleWrapper: titleWrapper(),\n button: button({ className }),\n leftIcon: leftIcon(),\n rightIcon: rightIcon(),\n }\n }, [className])\n\n const { name } = useContext(AccordionPanelItemContext)\n const {\n iconPosition,\n expandedItems,\n onClickTrigger,\n onClickProps,\n expandableMultiply,\n parentRef,\n } = useContext(AccordionPanelContext)\n\n const isExpanded = useMemo(() => getIsInclude(expandedItems, name), [expandedItems, name])\n\n const actualOnClickTrigger = useMemo(\n () =>\n onClickTrigger\n ? (e: MouseEvent<HTMLButtonElement>) => onClickTrigger(e.currentTarget.value, !isExpanded)\n : undefined,\n [isExpanded, onClickTrigger],\n )\n const actualOnClickProps = useMemo(\n () =>\n onClickProps\n ? (e: MouseEvent<HTMLButtonElement>) => {\n const newExpandedItems = getNewExpandedItems(\n expandedItems,\n e.currentTarget.value,\n !isExpanded,\n expandableMultiply,\n )\n onClickProps(mapToKeyArray(newExpandedItems))\n }\n : undefined,\n [isExpanded, expandedItems, expandableMultiply, onClickProps],\n )\n const handleClick = useMemo(() => {\n if (actualOnClickTrigger) {\n if (actualOnClickProps) {\n return (e: MouseEvent<HTMLButtonElement>) => {\n actualOnClickTrigger(e)\n actualOnClickProps(e)\n }\n }\n\n return actualOnClickTrigger\n } else if (actualOnClickProps) {\n return actualOnClickProps\n }\n\n return undefined\n }, [actualOnClickProps, actualOnClickTrigger])\n\n const handleKeyDown: KeyboardEventHandler<HTMLButtonElement> = useCallback(\n (e): void => {\n if (!parentRef?.current) {\n return\n }\n\n const item = e.target as HTMLElement\n\n switch (e.key) {\n case 'Home': {\n e.preventDefault()\n focusFirstSibling(parentRef.current)\n break\n }\n case 'End': {\n e.preventDefault()\n focusLastSibling(parentRef.current)\n break\n }\n case 'ArrowLeft':\n case 'ArrowUp': {\n e.preventDefault()\n focusPreviousSibling(item, parentRef.current)\n break\n }\n case 'ArrowRight':\n case 'ArrowDown': {\n e.preventDefault()\n focusNextSibling(item, parentRef.current)\n break\n }\n }\n },\n [parentRef],\n )\n\n return (\n // eslint-disable-next-line smarthr/a11y-heading-in-sectioning-content\n <Heading tag={headingTag} type={headingType}>\n <button\n {...rest}\n type=\"button\"\n value={name}\n id={`${name}-trigger`}\n aria-expanded={isExpanded}\n aria-controls={`${name}-content`}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n className={classNames.button}\n data-component=\"AccordionHeaderButton\"\n >\n <MemoizedTitle iconPosition={iconPosition} classNames={classNames}>\n {children}\n </MemoizedTitle>\n </button>\n </Heading>\n )\n}\n\nconst MemoizedTitle = memo<\n PropsWithChildren<{\n iconPosition: undefined | 'left' | 'right'\n classNames: { leftIcon: string; rightIcon: string; title: string; titleWrapper: string }\n }>\n>(({ classNames, iconPosition, children }) => (\n <Cluster className={classNames.titleWrapper} align=\"center\" as=\"span\">\n {iconPosition === 'left' && <FaCaretRightIcon className={classNames.leftIcon} />}\n <span className={classNames.title}>{children}</span>\n {iconPosition === 'right' && <FaCaretDownIcon className={classNames.rightIcon} />}\n </Cluster>\n))\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AA0CA;AACE;AACE;AACA;AACA;;;;;;;;AAQC;AACD;AACA;AACD;AACD;AACE;AACE;AACA;AACD;AACF;AACF;;AASC;AACE;;;;AAKE;;;;AAIJ;;AAGA;;AAWA;AAGM;;AAIN;AAGM;AACI;AAMA;;AAEJ;AAGN;;;;;;AAMM;;AAGF;;;AAEA;;AAGF;AACF;AAEA;AAEI;;;AAIA;AAEA;;;AAGI;;;;;AAKA;;;AAGF;;;AAGE;;;AAGF;;;AAGE;;;;AAIN;;;AAMA;AAmBJ;AAEA;;"}
|
|
@@ -4,14 +4,14 @@ import { DesktopHeader } from './components/desktop/DesktopHeader.js';
|
|
|
4
4
|
import { MobileHeader } from './components/mobile/MobileHeader.js';
|
|
5
5
|
import { useMediaQuery, mediaQuery } from './hooks/useMediaQuery.js';
|
|
6
6
|
|
|
7
|
-
const AppHeader = ({ children, ...
|
|
7
|
+
const AppHeader = ({ children, ...rest }) => {
|
|
8
8
|
// NOTE: ヘッダーの出し分けは CSS によって行われているので、useMediaQuery による children の出し分けは本来不要ですが、
|
|
9
9
|
// wovn の言語切替カスタム UI の挿入対象となる DOM ("wovn-embedded-widget-anchor" クラスを持った div) が複数描画されていると、
|
|
10
10
|
// wovn のスクリプトの仕様上1つ目の DOM にしか UI が挿入されないため、やむを得ず children のみ React のレンダリングレベルでの出し分けをしています。
|
|
11
11
|
const isDesktop = useMediaQuery(mediaQuery.desktop);
|
|
12
12
|
// HINT: Desktop,Mobileの両ヘッダーは常にHTML上に存在し、cssでvisibleを切り替えることでSSR環境でのレイアウトシフトが発生しないようにしています
|
|
13
13
|
// 表示切替は画面幅によって決まり、SSR環境では判定出来ないためです
|
|
14
|
-
return (jsxs(Fragment, { children: [jsx(DesktopHeader, { ...
|
|
14
|
+
return (jsxs(Fragment, { children: [jsx(DesktopHeader, { ...rest, children: isDesktop ? children : undefined }), jsx(MobileHeader, { ...rest, children: isDesktop ? undefined : children })] }));
|
|
15
15
|
};
|
|
16
16
|
|
|
17
17
|
export { AppHeader };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppHeader.js","sources":["../../../src/components/AppHeader/AppHeader.tsx"],"sourcesContent":["'use client'\n\nimport { DesktopHeader } from './components/desktop/DesktopHeader'\nimport { MobileHeader } from './components/mobile/MobileHeader'\nimport { mediaQuery, useMediaQuery } from './hooks/useMediaQuery'\n\nimport type { HeaderProps } from './types'\nimport type { FC } from 'react'\n\nexport const AppHeader: FC<HeaderProps> = ({ children, ...
|
|
1
|
+
{"version":3,"file":"AppHeader.js","sources":["../../../src/components/AppHeader/AppHeader.tsx"],"sourcesContent":["'use client'\n\nimport { DesktopHeader } from './components/desktop/DesktopHeader'\nimport { MobileHeader } from './components/mobile/MobileHeader'\nimport { mediaQuery, useMediaQuery } from './hooks/useMediaQuery'\n\nimport type { HeaderProps } from './types'\nimport type { FC } from 'react'\n\nexport const AppHeader: FC<HeaderProps> = ({ children, ...rest }) => {\n // NOTE: ヘッダーの出し分けは CSS によって行われているので、useMediaQuery による children の出し分けは本来不要ですが、\n // wovn の言語切替カスタム UI の挿入対象となる DOM (\"wovn-embedded-widget-anchor\" クラスを持った div) が複数描画されていると、\n // wovn のスクリプトの仕様上1つ目の DOM にしか UI が挿入されないため、やむを得ず children のみ React のレンダリングレベルでの出し分けをしています。\n const isDesktop = useMediaQuery(mediaQuery.desktop)\n\n // HINT: Desktop,Mobileの両ヘッダーは常にHTML上に存在し、cssでvisibleを切り替えることでSSR環境でのレイアウトシフトが発生しないようにしています\n // 表示切替は画面幅によって決まり、SSR環境では判定出来ないためです\n return (\n <>\n <DesktopHeader {...rest}>{isDesktop ? children : undefined}</DesktopHeader>\n <MobileHeader {...rest}>{isDesktop ? undefined : children}</MobileHeader>\n </>\n )\n}\n"],"names":[],"mappings":";;;;;;AASO;;;;;;;AAQL;AAMF;;"}
|
|
@@ -4,6 +4,7 @@ import { tv as ce } from './../../../../vendor/.pnpm/tailwind-variants@0.3.1_tai
|
|
|
4
4
|
import '../../../../intl/IntlProvider.js';
|
|
5
5
|
import { useIntl } from '../../../../intl/useIntl.js';
|
|
6
6
|
import 'react-intl';
|
|
7
|
+
import '../../../../_virtual/dayjs.min.js';
|
|
7
8
|
import '../../../Button/Button.js';
|
|
8
9
|
import { AnchorButton as ForwardedAnchorButton } from '../../../Button/AnchorButton.js';
|
|
9
10
|
import '../../../Button/UnstyledButton.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppLauncherFeatures.js","sources":["../../../../../src/components/AppHeader/components/common/AppLauncherFeatures.tsx"],"sourcesContent":["import { type FC, type PropsWithChildren, memo, useMemo } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useIntl } from '../../../../intl'\nimport { AnchorButton } from '../../../Button'\nimport { FaArrowRightIcon, FaStarIcon } from '../../../Icon'\nimport { LineClamp } from '../../../LineClamp'\nimport { Text } from '../../../Text'\nimport { mediaQuery, useMediaQuery } from '../../hooks/useMediaQuery'\n\nimport { Translate } from './Translate'\n\nimport type { Launcher } from '../../types'\n\nconst classNameGenerator = tv({\n slots: {\n empty: ['shr-p-1 shr-text-center'],\n list: ['shr-list-none', '[&>li]:shr-px-0.5 [&>li]:shr-py-0.25'],\n listItem: [\n 'smarthr-ui-AppLauncher-listItem',\n 'shr-grid shr-min-h-[2.5rem] shr-grid-cols-[1rem_1fr_1rem] shr-gap-0.75 shr-whitespace-normal shr-px-1 shr-py-0 shr-text-left shr-leading-tight',\n 'data-[favorite=\"false\"]:shr-grid-cols-[1fr_1rem]',\n ],\n },\n})\n\ntype Props = {\n features: Array<Launcher['feature']>\n page: Launcher['page']\n}\n\nexport const AppLauncherFeatures: FC<Props> = ({ features, page }) =>\n features.length === 0 ? <EmptyList /> : <FeatureList features={features} page={page} />\n\nconst EmptyList = memo(() => {\n const className = useMemo(() => {\n const { empty } = classNameGenerator()\n\n return empty()\n }, [])\n const { localize } = useIntl()\n const translated = useMemo(\n () =>\n localize({\n id: 'smarthr-ui/AppHeader/Launcher/emptyText',\n defaultText: '該当するアプリが見つかりませんでした。',\n }),\n [localize],\n )\n\n return (\n <div className={className}>\n <Text size=\"S\">\n <Translate>{translated}</Translate>\n </Text>\n </div>\n )\n})\n\nconst FeatureList: FC<Props> = ({ features, page }) => {\n const classNames = useMemo(() => {\n const { list, listItem } = classNameGenerator()\n\n return {\n list: list(),\n listItem: listItem(),\n }\n }, [])\n\n const isFavorite = page === 'favorite'\n\n return (\n <ul className={classNames.list}>\n {features.map((feature) => (\n <FeatureListItem\n key={feature.id}\n href={feature.url}\n isFavorite={isFavorite}\n className={classNames.listItem}\n >\n {feature.name}\n </FeatureListItem>\n ))}\n </ul>\n )\n}\n\nconst FeatureListItem = memo<{\n href: Props['features'][number]['url']\n children: Props['features'][number]['name']\n className: string\n isFavorite: boolean\n}>(({ href, children, isFavorite, className }) => (\n <li>\n <AnchorButton\n href={href}\n target=\"_blank\"\n prefix={isFavorite && <FaStarIcon />}\n suffix={<FaArrowRightIcon />}\n variant=\"text\"\n wide\n data-favorite={isFavorite}\n className={className}\n >\n <FeatureName>{children}</FeatureName>\n </AnchorButton>\n </li>\n))\n\nconst FeatureName: FC<PropsWithChildren> = ({ children }) => {\n const isDesktop = useMediaQuery(mediaQuery.desktop)\n\n return isDesktop ? <LineClamp maxLines={2}>{children}</LineClamp> : children\n}\n"],"names":["tv","_jsx","AnchorButton"],"mappings":"
|
|
1
|
+
{"version":3,"file":"AppLauncherFeatures.js","sources":["../../../../../src/components/AppHeader/components/common/AppLauncherFeatures.tsx"],"sourcesContent":["import { type FC, type PropsWithChildren, memo, useMemo } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useIntl } from '../../../../intl'\nimport { AnchorButton } from '../../../Button'\nimport { FaArrowRightIcon, FaStarIcon } from '../../../Icon'\nimport { LineClamp } from '../../../LineClamp'\nimport { Text } from '../../../Text'\nimport { mediaQuery, useMediaQuery } from '../../hooks/useMediaQuery'\n\nimport { Translate } from './Translate'\n\nimport type { Launcher } from '../../types'\n\nconst classNameGenerator = tv({\n slots: {\n empty: ['shr-p-1 shr-text-center'],\n list: ['shr-list-none', '[&>li]:shr-px-0.5 [&>li]:shr-py-0.25'],\n listItem: [\n 'smarthr-ui-AppLauncher-listItem',\n 'shr-grid shr-min-h-[2.5rem] shr-grid-cols-[1rem_1fr_1rem] shr-gap-0.75 shr-whitespace-normal shr-px-1 shr-py-0 shr-text-left shr-leading-tight',\n 'data-[favorite=\"false\"]:shr-grid-cols-[1fr_1rem]',\n ],\n },\n})\n\ntype Props = {\n features: Array<Launcher['feature']>\n page: Launcher['page']\n}\n\nexport const AppLauncherFeatures: FC<Props> = ({ features, page }) =>\n features.length === 0 ? <EmptyList /> : <FeatureList features={features} page={page} />\n\nconst EmptyList = memo(() => {\n const className = useMemo(() => {\n const { empty } = classNameGenerator()\n\n return empty()\n }, [])\n const { localize } = useIntl()\n const translated = useMemo(\n () =>\n localize({\n id: 'smarthr-ui/AppHeader/Launcher/emptyText',\n defaultText: '該当するアプリが見つかりませんでした。',\n }),\n [localize],\n )\n\n return (\n <div className={className}>\n <Text size=\"S\">\n <Translate>{translated}</Translate>\n </Text>\n </div>\n )\n})\n\nconst FeatureList: FC<Props> = ({ features, page }) => {\n const classNames = useMemo(() => {\n const { list, listItem } = classNameGenerator()\n\n return {\n list: list(),\n listItem: listItem(),\n }\n }, [])\n\n const isFavorite = page === 'favorite'\n\n return (\n <ul className={classNames.list}>\n {features.map((feature) => (\n <FeatureListItem\n key={feature.id}\n href={feature.url}\n isFavorite={isFavorite}\n className={classNames.listItem}\n >\n {feature.name}\n </FeatureListItem>\n ))}\n </ul>\n )\n}\n\nconst FeatureListItem = memo<{\n href: Props['features'][number]['url']\n children: Props['features'][number]['name']\n className: string\n isFavorite: boolean\n}>(({ href, children, isFavorite, className }) => (\n <li>\n <AnchorButton\n href={href}\n target=\"_blank\"\n prefix={isFavorite && <FaStarIcon />}\n suffix={<FaArrowRightIcon />}\n variant=\"text\"\n wide\n data-favorite={isFavorite}\n className={className}\n >\n <FeatureName>{children}</FeatureName>\n </AnchorButton>\n </li>\n))\n\nconst FeatureName: FC<PropsWithChildren> = ({ children }) => {\n const isDesktop = useMediaQuery(mediaQuery.desktop)\n\n return isDesktop ? <LineClamp maxLines={2}>{children}</LineClamp> : children\n}\n"],"names":["tv","_jsx","AnchorButton"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { tv as ce } from './../../../../vendor/.pnpm/tailwind-variants@0.3.1_tai
|
|
|
4
4
|
import '../../../../intl/IntlProvider.js';
|
|
5
5
|
import { useIntl } from '../../../../intl/useIntl.js';
|
|
6
6
|
import 'react-intl';
|
|
7
|
+
import '../../../../_virtual/dayjs.min.js';
|
|
7
8
|
import { textColor } from '../../../../themes/tailwind/TailwindConfig.js';
|
|
8
9
|
import { Button } from '../../../Button/Button.js';
|
|
9
10
|
import '../../../Button/AnchorButton.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppLauncherSortDropdown.js","sources":["../../../../../src/components/AppHeader/components/common/AppLauncherSortDropdown.tsx"],"sourcesContent":["import {\n type FC,\n type MouseEvent,\n type PropsWithChildren,\n type RefObject,\n memo,\n useCallback,\n useMemo,\n useRef,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useIntl } from '../../../../intl'\nimport { textColor } from '../../../../themes'\nimport { Button } from '../../../Button'\nimport { Dropdown, DropdownContent, DropdownTrigger } from '../../../Dropdown'\nimport { FaCaretDownIcon, FaCheckIcon } from '../../../Icon'\nimport { Translate } from '../common/Translate'\n\nimport type { Launcher } from '../../types'\n\nconst classNameGenerator = tv({\n slots: {\n trigger: [\n 'smarthr-ui-AppLauncher-SortDropdown-trigger',\n 'shr-gap-0.25 shr-text-grey',\n '[&[aria-expanded=\"true\"]_.smarthr-ui-Icon]:shr-rotate-180',\n ],\n contentBody: ['shr-px-0.25 shr-py-0.5', 'shr-flex shr-flex-col shr-items-stretch'],\n contentButton: [\n 'shr-justify-start shr-border-none shr-py-0.75 shr-pl-2.5 shr-font-normal',\n 'aria-selected:shr-pl-1',\n ],\n },\n})\n\ntype Props = {\n sortType: Launcher['sortType']\n onSelectSortType: (sortType: Launcher['sortType']) => void\n}\n\nexport const AppLauncherSortDropdown: FC<Props> = ({ sortType, onSelectSortType }) => {\n const triggerRef = useRef<HTMLButtonElement>(null)\n\n const classNames = useMemo(() => {\n const { trigger, contentBody, contentButton } = classNameGenerator()\n\n return {\n trigger: trigger(),\n contentBody: contentBody(),\n contentButton: contentButton(),\n }\n }, [])\n\n const { localize } = useIntl()\n const translated = useMemo(\n () => ({\n label: localize({\n id: 'smarthr-ui/AppHeader/Launcher/sortDropdownLabel',\n defaultText: '表示順',\n }),\n selected: localize({\n id: 'smarthr-ui/AppHeader/Launcher/sortDropdownSelected',\n defaultText: '選択中',\n }),\n default: localize({\n id: 'smarthr-ui/AppHeader/Launcher/sortDropdownOrderDefault',\n defaultText: 'デフォルト',\n }),\n asc: localize({\n id: 'smarthr-ui/AppHeader/Launcher/sortDropdownOrderNameAsc',\n defaultText: 'アプリ名の昇順',\n }),\n desc: localize({\n id: 'smarthr-ui/AppHeader/Launcher/sortDropdownOrderNameDesc',\n defaultText: 'アプリ名の降順',\n }),\n }),\n [localize],\n )\n\n const options = useMemo(\n () => [\n ['default', translated.default],\n ['name/asc', translated.asc],\n ['name/desc', translated.desc],\n ],\n [translated],\n )\n\n const onClickOption = useCallback(\n (e: MouseEvent<HTMLButtonElement>) => {\n onSelectSortType(e.currentTarget.value as Launcher['sortType'])\n\n // Dropdown がネストしており、この Dropdown のみ閉じて親の Dropdown は開いたままというのができない\n // そのため、無理矢理クリックイベントを発生させて実現している\n setTimeout(() => {\n if (triggerRef.current) {\n triggerRef.current.click()\n triggerRef.current.focus()\n }\n }, 0)\n },\n [onSelectSortType],\n )\n\n return (\n <Dropdown>\n <TriggerButton triggerRef={triggerRef} className={classNames.trigger}>\n {translated.label}\n </TriggerButton>\n <DropdownContent controllable>\n <div role=\"listbox\" className={classNames.contentBody}>\n {options.map(([value, children], i) => (\n <OptionButton\n key={i}\n value={value}\n selected={value === sortType}\n selectedAlt={translated.selected}\n onClick={onClickOption}\n className={classNames.contentButton}\n >\n {children}\n </OptionButton>\n ))}\n </div>\n </DropdownContent>\n </Dropdown>\n )\n}\n\nconst TriggerButton = memo<\n PropsWithChildren<{ triggerRef: RefObject<HTMLButtonElement>; className: string }>\n>(({ triggerRef, children, className }) => (\n <DropdownTrigger>\n <Button\n ref={triggerRef}\n size=\"s\"\n variant=\"text\"\n suffix={<FaCaretDownIcon />}\n className={className}\n >\n <Translate>{children}</Translate>\n </Button>\n </DropdownTrigger>\n))\n\nconst OptionButton = memo<\n PropsWithChildren<{\n value: string\n selected: boolean\n selectedAlt: string\n onClick: (e: MouseEvent<HTMLButtonElement>) => void\n className: string\n }>\n>(({ value, selected, selectedAlt, onClick, children, className }) => (\n <Button\n value={value}\n role=\"option\"\n aria-selected={selected}\n className={className}\n prefix={\n selected && <FaCheckIcon color={textColor.main} alt={<Translate>{selectedAlt}</Translate>} />\n }\n onClick={onClick}\n >\n <Translate>{children}</Translate>\n </Button>\n))\n"],"names":["tv","_jsxs","_jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"AppLauncherSortDropdown.js","sources":["../../../../../src/components/AppHeader/components/common/AppLauncherSortDropdown.tsx"],"sourcesContent":["import {\n type FC,\n type MouseEvent,\n type PropsWithChildren,\n type RefObject,\n memo,\n useCallback,\n useMemo,\n useRef,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useIntl } from '../../../../intl'\nimport { textColor } from '../../../../themes'\nimport { Button } from '../../../Button'\nimport { Dropdown, DropdownContent, DropdownTrigger } from '../../../Dropdown'\nimport { FaCaretDownIcon, FaCheckIcon } from '../../../Icon'\nimport { Translate } from '../common/Translate'\n\nimport type { Launcher } from '../../types'\n\nconst classNameGenerator = tv({\n slots: {\n trigger: [\n 'smarthr-ui-AppLauncher-SortDropdown-trigger',\n 'shr-gap-0.25 shr-text-grey',\n '[&[aria-expanded=\"true\"]_.smarthr-ui-Icon]:shr-rotate-180',\n ],\n contentBody: ['shr-px-0.25 shr-py-0.5', 'shr-flex shr-flex-col shr-items-stretch'],\n contentButton: [\n 'shr-justify-start shr-border-none shr-py-0.75 shr-pl-2.5 shr-font-normal',\n 'aria-selected:shr-pl-1',\n ],\n },\n})\n\ntype Props = {\n sortType: Launcher['sortType']\n onSelectSortType: (sortType: Launcher['sortType']) => void\n}\n\nexport const AppLauncherSortDropdown: FC<Props> = ({ sortType, onSelectSortType }) => {\n const triggerRef = useRef<HTMLButtonElement>(null)\n\n const classNames = useMemo(() => {\n const { trigger, contentBody, contentButton } = classNameGenerator()\n\n return {\n trigger: trigger(),\n contentBody: contentBody(),\n contentButton: contentButton(),\n }\n }, [])\n\n const { localize } = useIntl()\n const translated = useMemo(\n () => ({\n label: localize({\n id: 'smarthr-ui/AppHeader/Launcher/sortDropdownLabel',\n defaultText: '表示順',\n }),\n selected: localize({\n id: 'smarthr-ui/AppHeader/Launcher/sortDropdownSelected',\n defaultText: '選択中',\n }),\n default: localize({\n id: 'smarthr-ui/AppHeader/Launcher/sortDropdownOrderDefault',\n defaultText: 'デフォルト',\n }),\n asc: localize({\n id: 'smarthr-ui/AppHeader/Launcher/sortDropdownOrderNameAsc',\n defaultText: 'アプリ名の昇順',\n }),\n desc: localize({\n id: 'smarthr-ui/AppHeader/Launcher/sortDropdownOrderNameDesc',\n defaultText: 'アプリ名の降順',\n }),\n }),\n [localize],\n )\n\n const options = useMemo(\n () => [\n ['default', translated.default],\n ['name/asc', translated.asc],\n ['name/desc', translated.desc],\n ],\n [translated],\n )\n\n const onClickOption = useCallback(\n (e: MouseEvent<HTMLButtonElement>) => {\n onSelectSortType(e.currentTarget.value as Launcher['sortType'])\n\n // Dropdown がネストしており、この Dropdown のみ閉じて親の Dropdown は開いたままというのができない\n // そのため、無理矢理クリックイベントを発生させて実現している\n setTimeout(() => {\n if (triggerRef.current) {\n triggerRef.current.click()\n triggerRef.current.focus()\n }\n }, 0)\n },\n [onSelectSortType],\n )\n\n return (\n <Dropdown>\n <TriggerButton triggerRef={triggerRef} className={classNames.trigger}>\n {translated.label}\n </TriggerButton>\n <DropdownContent controllable>\n <div role=\"listbox\" className={classNames.contentBody}>\n {options.map(([value, children], i) => (\n <OptionButton\n key={i}\n value={value}\n selected={value === sortType}\n selectedAlt={translated.selected}\n onClick={onClickOption}\n className={classNames.contentButton}\n >\n {children}\n </OptionButton>\n ))}\n </div>\n </DropdownContent>\n </Dropdown>\n )\n}\n\nconst TriggerButton = memo<\n PropsWithChildren<{ triggerRef: RefObject<HTMLButtonElement>; className: string }>\n>(({ triggerRef, children, className }) => (\n <DropdownTrigger>\n <Button\n ref={triggerRef}\n size=\"s\"\n variant=\"text\"\n suffix={<FaCaretDownIcon />}\n className={className}\n >\n <Translate>{children}</Translate>\n </Button>\n </DropdownTrigger>\n))\n\nconst OptionButton = memo<\n PropsWithChildren<{\n value: string\n selected: boolean\n selectedAlt: string\n onClick: (e: MouseEvent<HTMLButtonElement>) => void\n className: string\n }>\n>(({ value, selected, selectedAlt, onClick, children, className }) => (\n <Button\n value={value}\n role=\"option\"\n aria-selected={selected}\n className={className}\n prefix={\n selected && <FaCheckIcon color={textColor.main} alt={<Translate>{selectedAlt}</Translate>} />\n }\n onClick={onClick}\n >\n <Translate>{children}</Translate>\n </Button>\n))\n"],"names":["tv","_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -10,6 +10,10 @@ export declare const commonButtonClassNameGenerator: import("tailwind-variants")
|
|
|
10
10
|
true: null;
|
|
11
11
|
false: string[];
|
|
12
12
|
};
|
|
13
|
+
rounded: {
|
|
14
|
+
true: string[];
|
|
15
|
+
false: string[];
|
|
16
|
+
};
|
|
13
17
|
}, undefined, string[], import("tailwind-variants/dist/config.js").TVConfig<{
|
|
14
18
|
prefix: {
|
|
15
19
|
true: string[];
|
|
@@ -21,6 +25,10 @@ export declare const commonButtonClassNameGenerator: import("tailwind-variants")
|
|
|
21
25
|
true: null;
|
|
22
26
|
false: string[];
|
|
23
27
|
};
|
|
28
|
+
rounded: {
|
|
29
|
+
true: string[];
|
|
30
|
+
false: string[];
|
|
31
|
+
};
|
|
24
32
|
}, {
|
|
25
33
|
prefix: {
|
|
26
34
|
true: string[];
|
|
@@ -32,6 +40,10 @@ export declare const commonButtonClassNameGenerator: import("tailwind-variants")
|
|
|
32
40
|
true: null;
|
|
33
41
|
false: string[];
|
|
34
42
|
};
|
|
43
|
+
rounded: {
|
|
44
|
+
true: string[];
|
|
45
|
+
false: string[];
|
|
46
|
+
};
|
|
35
47
|
}>, {
|
|
36
48
|
prefix: {
|
|
37
49
|
true: string[];
|
|
@@ -43,6 +55,10 @@ export declare const commonButtonClassNameGenerator: import("tailwind-variants")
|
|
|
43
55
|
true: null;
|
|
44
56
|
false: string[];
|
|
45
57
|
};
|
|
58
|
+
rounded: {
|
|
59
|
+
true: string[];
|
|
60
|
+
false: string[];
|
|
61
|
+
};
|
|
46
62
|
}, undefined, import("tailwind-variants").TVReturnType<{
|
|
47
63
|
prefix: {
|
|
48
64
|
true: string[];
|
|
@@ -54,6 +70,10 @@ export declare const commonButtonClassNameGenerator: import("tailwind-variants")
|
|
|
54
70
|
true: null;
|
|
55
71
|
false: string[];
|
|
56
72
|
};
|
|
73
|
+
rounded: {
|
|
74
|
+
true: string[];
|
|
75
|
+
false: string[];
|
|
76
|
+
};
|
|
57
77
|
}, undefined, string[], import("tailwind-variants/dist/config.js").TVConfig<{
|
|
58
78
|
prefix: {
|
|
59
79
|
true: string[];
|
|
@@ -65,6 +85,10 @@ export declare const commonButtonClassNameGenerator: import("tailwind-variants")
|
|
|
65
85
|
true: null;
|
|
66
86
|
false: string[];
|
|
67
87
|
};
|
|
88
|
+
rounded: {
|
|
89
|
+
true: string[];
|
|
90
|
+
false: string[];
|
|
91
|
+
};
|
|
68
92
|
}, {
|
|
69
93
|
prefix: {
|
|
70
94
|
true: string[];
|
|
@@ -76,6 +100,10 @@ export declare const commonButtonClassNameGenerator: import("tailwind-variants")
|
|
|
76
100
|
true: null;
|
|
77
101
|
false: string[];
|
|
78
102
|
};
|
|
103
|
+
rounded: {
|
|
104
|
+
true: string[];
|
|
105
|
+
false: string[];
|
|
106
|
+
};
|
|
79
107
|
}>, unknown, unknown, undefined>>;
|
|
80
108
|
type AnchorProps = Omit<ComponentPropsWithoutRef<'a'>, 'prefix'>;
|
|
81
109
|
type ButtonProps = Omit<ComponentPropsWithoutRef<'button'>, 'prefix'>;
|
|
@@ -4,7 +4,7 @@ import { tv as ce } from './../../../../vendor/.pnpm/tailwind-variants@0.3.1_tai
|
|
|
4
4
|
|
|
5
5
|
const commonButtonClassNameGenerator = ce({
|
|
6
6
|
base: [
|
|
7
|
-
'[&&]:shr-box-border [&&]:shr-flex [&&]:shr-w-full [&&]:shr-cursor-pointer [&&]:shr-items-center [&&]:shr-
|
|
7
|
+
'[&&]:shr-box-border [&&]:shr-flex [&&]:shr-w-full [&&]:shr-cursor-pointer [&&]:shr-items-center [&&]:shr-border-none [&&]:shr-bg-transparent [&&]:shr-px-1 [&&]:shr-py-0.5 [&&]:shr-text-base [&&]:shr-leading-normal [&&]:shr-text-black [&&]:shr-no-underline',
|
|
8
8
|
'[&&]:hover:shr-bg-white-darken',
|
|
9
9
|
'[&&]:focus-visible:shr-bg-white-darken',
|
|
10
10
|
],
|
|
@@ -19,6 +19,10 @@ const commonButtonClassNameGenerator = ce({
|
|
|
19
19
|
true: null,
|
|
20
20
|
false: ['[&&]:shr-font-normal'],
|
|
21
21
|
},
|
|
22
|
+
rounded: {
|
|
23
|
+
true: ['[&&]:shr-rounded-m'],
|
|
24
|
+
false: ['[&&]:shr-rounded-none'],
|
|
25
|
+
},
|
|
22
26
|
},
|
|
23
27
|
compoundVariants: [
|
|
24
28
|
{
|
|
@@ -27,8 +31,11 @@ const commonButtonClassNameGenerator = ce({
|
|
|
27
31
|
className: ['[&&]:shr-font-bold'],
|
|
28
32
|
},
|
|
29
33
|
],
|
|
34
|
+
defaultVariants: {
|
|
35
|
+
rounded: true,
|
|
36
|
+
},
|
|
30
37
|
});
|
|
31
|
-
const CommonButton = memo(({ elementAs, prefix, current, boldWhenCurrent, className, ...
|
|
38
|
+
const CommonButton = memo(({ elementAs, prefix, current, boldWhenCurrent, className, children, ...rest }) => {
|
|
32
39
|
const actualClassName = useMemo(() => commonButtonClassNameGenerator({
|
|
33
40
|
prefix: !!prefix,
|
|
34
41
|
current,
|
|
@@ -37,11 +44,11 @@ const CommonButton = memo(({ elementAs, prefix, current, boldWhenCurrent, classN
|
|
|
37
44
|
}), [current, prefix, boldWhenCurrent, className]);
|
|
38
45
|
switch (elementAs) {
|
|
39
46
|
case 'a':
|
|
40
|
-
return (jsxs("a", { ...
|
|
47
|
+
return (jsxs("a", { ...rest, className: actualClassName, children: [prefix, children] }));
|
|
41
48
|
case 'button':
|
|
42
49
|
return (
|
|
43
50
|
// eslint-disable-next-line smarthr/best-practice-for-button-element
|
|
44
|
-
jsxs("button", { ...
|
|
51
|
+
jsxs("button", { ...rest, className: actualClassName, children: [prefix, children] }));
|
|
45
52
|
}
|
|
46
53
|
throw new Error(elementAs);
|
|
47
54
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommonButton.js","sources":["../../../../../src/components/AppHeader/components/common/CommonButton.tsx"],"sourcesContent":["import { type ComponentPropsWithoutRef, type ReactNode, memo, useMemo } from 'react'\nimport { tv } from 'tailwind-variants'\n\nexport const commonButtonClassNameGenerator = tv({\n base: [\n '[&&]:shr-box-border [&&]:shr-flex [&&]:shr-w-full [&&]:shr-cursor-pointer [&&]:shr-items-center [&&]:shr-
|
|
1
|
+
{"version":3,"file":"CommonButton.js","sources":["../../../../../src/components/AppHeader/components/common/CommonButton.tsx"],"sourcesContent":["import { type ComponentPropsWithoutRef, type ReactNode, memo, useMemo } from 'react'\nimport { tv } from 'tailwind-variants'\n\nexport const commonButtonClassNameGenerator = tv({\n base: [\n '[&&]:shr-box-border [&&]:shr-flex [&&]:shr-w-full [&&]:shr-cursor-pointer [&&]:shr-items-center [&&]:shr-border-none [&&]:shr-bg-transparent [&&]:shr-px-1 [&&]:shr-py-0.5 [&&]:shr-text-base [&&]:shr-leading-normal [&&]:shr-text-black [&&]:shr-no-underline',\n '[&&]:hover:shr-bg-white-darken',\n '[&&]:focus-visible:shr-bg-white-darken',\n ],\n variants: {\n prefix: {\n true: ['[&&]:shr-gap-0.5'],\n },\n current: {\n true: ['[&&]:shr-bg-white-darken'],\n },\n boldWhenCurrent: {\n true: null,\n false: ['[&&]:shr-font-normal'],\n },\n rounded: {\n true: ['[&&]:shr-rounded-m'],\n false: ['[&&]:shr-rounded-none'],\n },\n },\n compoundVariants: [\n {\n boldWhenCurrent: true,\n current: true,\n className: ['[&&]:shr-font-bold'],\n },\n ],\n defaultVariants: {\n rounded: true,\n },\n})\n\ntype AnchorProps = Omit<ComponentPropsWithoutRef<'a'>, 'prefix'>\ntype ButtonProps = Omit<ComponentPropsWithoutRef<'button'>, 'prefix'>\n\ntype Props = (({ elementAs: 'a' } & AnchorProps) | ({ elementAs: 'button' } & ButtonProps)) & {\n prefix?: ReactNode\n current?: boolean\n boldWhenCurrent?: boolean\n}\n\nexport const CommonButton = memo<Props>(\n ({ elementAs, prefix, current, boldWhenCurrent, className, children, ...rest }) => {\n const actualClassName = useMemo(\n () =>\n commonButtonClassNameGenerator({\n prefix: !!prefix,\n current,\n boldWhenCurrent,\n className,\n }),\n [current, prefix, boldWhenCurrent, className],\n )\n\n switch (elementAs) {\n case 'a':\n return (\n <a {...(rest as AnchorProps)} className={actualClassName}>\n {prefix}\n {children}\n </a>\n )\n case 'button':\n return (\n // eslint-disable-next-line smarthr/best-practice-for-button-element\n <button {...(rest as ButtonProps)} className={actualClassName}>\n {prefix}\n {children}\n </button>\n )\n }\n\n throw new Error(elementAs satisfies never)\n },\n)\n"],"names":["tv","_jsxs"],"mappings":";;;;AAGO,MAAM,8BAA8B,GAAGA,EAAE,CAAC;AAC/C,IAAA,IAAI,EAAE;QACJ,iQAAiQ;QACjQ,gCAAgC;QAChC,wCAAwC;AACzC,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,MAAM,EAAE;YACN,IAAI,EAAE,CAAC,kBAAkB,CAAC;AAC3B,SAAA;AACD,QAAA,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,0BAA0B,CAAC;AACnC,SAAA;AACD,QAAA,eAAe,EAAE;AACf,YAAA,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,CAAC,sBAAsB,CAAC;AAChC,SAAA;AACD,QAAA,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,oBAAoB,CAAC;YAC5B,KAAK,EAAE,CAAC,uBAAuB,CAAC;AACjC,SAAA;AACF,KAAA;AACD,IAAA,gBAAgB,EAAE;AAChB,QAAA;AACE,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,CAAC,oBAAoB,CAAC;AAClC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,OAAO,EAAE,IAAI;AACd,KAAA;AACF,CAAA;AAWM,MAAM,YAAY,GAAG,IAAI,CAC9B,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,KAAI;IAChF,MAAM,eAAe,GAAG,OAAO,CAC7B,MACE,8BAA8B,CAAC;QAC7B,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,OAAO;QACP,eAAe;QACf,SAAS;KACV,CAAC,EACJ,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,CAAC,CAC9C;IAED,QAAQ,SAAS;AACf,QAAA,KAAK,GAAG;AACN,YAAA,QACEC,IAAA,CAAA,GAAA,EAAA,EAAA,GAAQ,IAAoB,EAAE,SAAS,EAAE,eAAe,EAAA,QAAA,EAAA,CACrD,MAAM,EACN,QAAQ,CAAA,EAAA,CACP;AAER,QAAA,KAAK,QAAQ;YACX;;YAEEA,IAAA,CAAA,QAAA,EAAA,EAAA,GAAa,IAAoB,EAAE,SAAS,EAAE,eAAe,EAAA,QAAA,EAAA,CAC1D,MAAM,EACN,QAAQ,CAAA,EAAA,CACF;;AAIf,IAAA,MAAM,IAAI,KAAK,CAAC,SAAyB,CAAC;AAC5C,CAAC;;;;"}
|
|
@@ -4,6 +4,7 @@ import { tv as ce } from './../../../../vendor/.pnpm/tailwind-variants@0.3.1_tai
|
|
|
4
4
|
import '../../../../intl/IntlProvider.js';
|
|
5
5
|
import { useIntl } from '../../../../intl/useIntl.js';
|
|
6
6
|
import 'react-intl';
|
|
7
|
+
import '../../../../_virtual/dayjs.min.js';
|
|
7
8
|
import { textColor } from '../../../../themes/tailwind/TailwindConfig.js';
|
|
8
9
|
import '../../../Button/Button.js';
|
|
9
10
|
import '../../../Button/AnchorButton.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppLauncher.js","sources":["../../../../../src/components/AppHeader/components/desktop/AppLauncher.tsx"],"sourcesContent":["import { type FC, type PropsWithChildren, type ReactNode, memo, useCallback, useMemo } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useIntl } from '../../../../intl'\nimport { textColor } from '../../../../themes'\nimport { UnstyledButton } from '../../../Button'\nimport { Heading } from '../../../Heading'\nimport { FaCircleXmarkIcon, FaStarIcon } from '../../../Icon'\nimport { SearchInput } from '../../../Input'\nimport { Cluster } from '../../../Layout'\nimport { Section } from '../../../SectioningContent'\nimport { SideNav } from '../../../SideNav'\nimport { HelpLink } from '../../../TextLink'\nimport { useAppLauncher } from '../../hooks/useAppLauncher'\nimport { AppLauncherFeatures } from '../common/AppLauncherFeatures'\nimport { AppLauncherSortDropdown } from '../common/AppLauncherSortDropdown'\nimport { Translate } from '../common/Translate'\n\nimport type { Launcher } from '../../types'\n\ntype Props = {\n features: Array<Launcher['feature']>\n}\n\nconst appLauncher = tv({\n slots: {\n wrapper: [\n 'smarthr-ui-AppLauncher',\n 'shr-grid shr-h-[40rem] shr-w-[38rem] shr-grid-rows-[auto_1fr]',\n ],\n searchArea: [\n 'smarthr-ui-AppLauncher-searchArea',\n 'shr-border-b-shorthand shr-p-1',\n '[&_.smarthr-ui-Input]:shr-h-[42px]',\n ],\n inner: ['smarthr-ui-AppLauncher-inner', 'shr-grid shr-min-h-0 shr-grid-cols-[11rem_1fr]'],\n side: [\n 'smarthr-ui-AppLauncher-side',\n 'shr-border-r-shorthand shr-flex shr-flex-col shr-bg-column shr-pb-1 shr-pt-0.5',\n '[&_hr]:shr-m-0.5 [&_hr]:shr-h-[1px] [&_hr]:shr-border-none [&_hr]:shr-bg-border',\n ],\n sideNav: [\n '[&_.smarthr-ui-SideNav-item>button]:shr-px-1 [&_.smarthr-ui-SideNav-item>button]:shr-py-0.75',\n '[&_.smarthr-ui-SideNav-item>button>span]:shr-flex-nowrap',\n '[&_.smarthr-ui-SideNav-item>button_.smarthr-ui-Icon]:shr-shrink-0 [&_.smarthr-ui-SideNav-item>button_.smarthr-ui-Icon]:shr-align-bottom',\n ],\n sideNavHeading: ['shr-px-1 shr-py-0.75 shr-text-xs shr-text-black'],\n help: ['smarthr-ui-AppLauncher-help', 'shr-mt-auto shr-px-1 shr-text-xs'],\n main: ['smarthr-ui-AppLauncher-main', 'shr-grid shr-min-h-0'],\n mainInner: ['shr-grid shr-min-h-0 shr-grid-rows-[auto_1fr]'],\n contentHead: [\n 'shr-min-h-[2rem] shr-px-1 shr-py-0.75',\n '[&_.smarthr-ui-Heading]:shr-text-black',\n ],\n scrollArea: ['shr-h-[509px] shr-overflow-y-scroll'],\n },\n variants: {\n noIcon: {\n true: {\n sideNav: ['[&_.smarthr-ui-SideNav-item>button]:shr-pl-1.5'],\n },\n },\n selected: {\n false: {\n sideNav: ['[&_.smarthr-ui-SideNav-item>button_.smarthr-ui-Icon]:shr-text-grey'],\n },\n },\n },\n})\n\nexport const AppLauncher: FC<Props> = ({ features: baseFeatures }) => {\n const {\n features,\n page,\n mode,\n sortType,\n searchQuery,\n changePage,\n setSortType,\n onChangeSearchQuery,\n onClickClearSearchQuery,\n } = useAppLauncher(baseFeatures)\n\n const classNames = useMemo(() => {\n const {\n wrapper,\n searchArea,\n inner,\n side,\n sideNav,\n sideNavHeading,\n help,\n main,\n mainInner,\n contentHead,\n scrollArea,\n } = appLauncher()\n\n return {\n wrapper: wrapper(),\n searchArea: searchArea(),\n inner: inner(),\n side: side(),\n unselectedSideNav: sideNav({ selected: false }),\n selectedSideNav: sideNav({ noIcon: true, selected: true }),\n sideNavHeading: sideNavHeading(),\n help: help(),\n main: main(),\n mainInner: mainInner(),\n contentHead: contentHead(),\n scrollArea: scrollArea(),\n }\n }, [])\n\n const { localize } = useIntl()\n const translated = useMemo<\n Record<\n Launcher['page'] | 'listText' | 'searchInputTitle' | 'helpText' | 'searchResultText',\n ReactNode\n >\n >(\n () => ({\n favorite: (\n <Translate>\n {localize({\n id: 'smarthr-ui/AppHeader/Launcher/favoriteModeText',\n defaultText: 'よく使うアプリ',\n })}\n </Translate>\n ),\n all: (\n <Translate>\n {localize({\n id: 'smarthr-ui/AppHeader/Launcher/allModeText',\n defaultText: 'すべてのアプリ',\n })}\n </Translate>\n ),\n listText: (\n <Translate>\n {localize({ id: 'smarthr-ui/AppHeader/Launcher/listText', defaultText: 'アプリ一覧' })}\n </Translate>\n ),\n searchInputTitle: localize({\n id: 'smarthr-ui/AppHeader/Launcher/searchInputTitle',\n defaultText: 'アプリ名を入力してください。',\n }),\n helpText: (\n <Translate>\n {localize({\n id: 'smarthr-ui/AppHeader/Launcher/helpText',\n defaultText: 'よく使うアプリとは',\n })}\n </Translate>\n ),\n searchResultText: (\n <Translate>\n {localize({\n id: 'smarthr-ui/AppHeader/Launcher/searchResultText',\n defaultText: '検索結果',\n })}\n </Translate>\n ),\n }),\n [localize],\n )\n\n return (\n <div className={classNames.wrapper}>\n <div className={classNames.searchArea}>\n <SearchInput\n name=\"search\"\n title={translated.searchInputTitle as string}\n tooltipMessage={<Translate>{translated.searchInputTitle}</Translate>}\n width=\"100%\"\n value={searchQuery}\n suffix={mode === 'search' && <ClearSearchButton onClick={onClickClearSearchQuery} />}\n onChange={onChangeSearchQuery}\n />\n </div>\n\n <div className={classNames.inner}>\n <SideNavs\n mode={mode}\n page={page}\n changePage={changePage}\n translated={translated}\n classNames={classNames}\n />\n <main className={classNames.main}>\n <Section className={classNames.mainInner}>\n <Cluster className={classNames.contentHead} align=\"center\" justify=\"space-between\">\n <MemoizedSubSubBlockHeading>\n {mode === 'search' ? translated.searchResultText : translated[page]}\n </MemoizedSubSubBlockHeading>\n\n {(mode === 'search' || page === 'all') && (\n <AppLauncherSortDropdown sortType={sortType} onSelectSortType={setSortType} />\n )}\n </Cluster>\n\n <div className={classNames.scrollArea}>\n <AppLauncherFeatures features={features} page={page} />\n </div>\n </Section>\n </main>\n </div>\n </div>\n )\n}\n\nconst ClearSearchButton = memo<{ onClick: () => void }>(({ onClick }) => (\n <UnstyledButton onClick={onClick}>\n <FaCircleXmarkIcon />\n </UnstyledButton>\n))\n\nconst SideNavs = memo<\n Pick<ReturnType<typeof useAppLauncher>, 'mode' | 'page' | 'changePage'> & {\n translated: { favorite: ReactNode; listText: ReactNode; all: ReactNode; helpText: ReactNode }\n classNames: {\n side: string\n unselectedSideNav: string\n sideNavHeading: string\n selectedSideNav: string\n help: string\n }\n }\n>(({ mode, page, changePage, translated, classNames }) => {\n const isNotSearch = mode !== 'search'\n const isFavorite = isNotSearch && page === 'favorite'\n const isAll = isNotSearch && page === 'all'\n\n const unselectedItems = useMemo(\n () => [\n {\n id: 'favorite',\n title: translated.favorite,\n prefix: <FaStarIcon color={isFavorite ? textColor.white : undefined} />,\n current: isFavorite,\n },\n ],\n [isFavorite, translated],\n )\n const selectedItems = useMemo(\n () => [\n {\n id: 'all',\n title: translated.all,\n current: isAll,\n },\n ],\n [isAll, translated],\n )\n\n const onClick = useCallback(\n (_: any, id: string) => {\n changePage(id as Launcher['page'])\n },\n [changePage],\n )\n\n return (\n <div className={classNames.side}>\n <SideNav\n className={classNames.unselectedSideNav}\n size=\"s\"\n items={unselectedItems}\n onClick={onClick}\n />\n\n <hr />\n\n <Section>\n <MemoizedSubSubBlockHeading className={classNames.sideNavHeading}>\n {translated.listText}\n </MemoizedSubSubBlockHeading>\n <SideNav\n className={classNames.selectedSideNav}\n size=\"s\"\n items={selectedItems}\n onClick={onClick}\n />\n </Section>\n\n <HelpLinkArea className={classNames.help}>{translated.helpText}</HelpLinkArea>\n </div>\n )\n})\n\nconst HelpLinkArea = memo<PropsWithChildren<{ className: string }>>(({ children, className }) => (\n <div className={className}>\n <HelpLink\n href=\"https://support.smarthr.jp/ja/help/articles/2bfd350d-8e8b-4bbd-a209-426d2eb302cc/\"\n target=\"_blank\"\n >\n {children}\n </HelpLink>\n </div>\n))\n\nconst MemoizedSubSubBlockHeading = memo<PropsWithChildren<{ className?: string }>>(\n ({ children, className }) => (\n <Heading type=\"subSubBlockTitle\" className={className}>\n {children}\n </Heading>\n ),\n)\n"],"names":["tv","_jsx","_jsxs"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,WAAW,GAAGA,EAAE,CAAC;AACrB,IAAA,KAAK,EAAE;AACL,QAAA,OAAO,EAAE;YACP,wBAAwB;YACxB,+DAA+D;AAChE,SAAA;AACD,QAAA,UAAU,EAAE;YACV,mCAAmC;YACnC,gCAAgC;YAChC,oCAAoC;AACrC,SAAA;AACD,QAAA,KAAK,EAAE,CAAC,8BAA8B,EAAE,gDAAgD,CAAC;AACzF,QAAA,IAAI,EAAE;YACJ,6BAA6B;YAC7B,gFAAgF;YAChF,iFAAiF;AAClF,SAAA;AACD,QAAA,OAAO,EAAE;YACP,8FAA8F;YAC9F,0DAA0D;YAC1D,yIAAyI;AAC1I,SAAA;QACD,cAAc,EAAE,CAAC,iDAAiD,CAAC;AACnE,QAAA,IAAI,EAAE,CAAC,6BAA6B,EAAE,kCAAkC,CAAC;AACzE,QAAA,IAAI,EAAE,CAAC,6BAA6B,EAAE,sBAAsB,CAAC;QAC7D,SAAS,EAAE,CAAC,+CAA+C,CAAC;AAC5D,QAAA,WAAW,EAAE;YACX,uCAAuC;YACvC,wCAAwC;AACzC,SAAA;QACD,UAAU,EAAE,CAAC,qCAAqC,CAAC;AACpD,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE;gBACJ,OAAO,EAAE,CAAC,gDAAgD,CAAC;AAC5D,aAAA;AACF,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,KAAK,EAAE;gBACL,OAAO,EAAE,CAAC,oEAAoE,CAAC;AAChF,aAAA;AACF,SAAA;AACF,KAAA;AACF,CAAA,CAAC;AAEK,MAAM,WAAW,GAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAI;IACnE,MAAM,EACJ,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,uBAAuB,GACxB,GAAG,cAAc,CAAC,YAAY,CAAC;AAEhC,IAAA,MAAM,UAAU,GAAG,OAAO,CAAC,MAAK;QAC9B,MAAM,EACJ,OAAO,EACP,UAAU,EACV,KAAK,EACL,IAAI,EACJ,OAAO,EACP,cAAc,EACd,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,WAAW,EACX,UAAU,GACX,GAAG,WAAW,EAAE;QAEjB,OAAO;YACL,OAAO,EAAE,OAAO,EAAE;YAClB,UAAU,EAAE,UAAU,EAAE;YACxB,KAAK,EAAE,KAAK,EAAE;YACd,IAAI,EAAE,IAAI,EAAE;YACZ,iBAAiB,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC/C,YAAA,eAAe,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC1D,cAAc,EAAE,cAAc,EAAE;YAChC,IAAI,EAAE,IAAI,EAAE;YACZ,IAAI,EAAE,IAAI,EAAE;YACZ,SAAS,EAAE,SAAS,EAAE;YACtB,WAAW,EAAE,WAAW,EAAE;YAC1B,UAAU,EAAE,UAAU,EAAE;SACzB;IACH,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE;AAC9B,IAAA,MAAM,UAAU,GAAG,OAAO,CAMxB,OAAO;AACL,QAAA,QAAQ,GACNC,GAAA,CAAC,SAAS,EAAA,EAAA,QAAA,EACP,QAAQ,CAAC;AACR,gBAAA,EAAE,EAAE,gDAAgD;AACpD,gBAAA,WAAW,EAAE,SAAS;AACvB,aAAA,CAAC,GACQ,CACb;AACD,QAAA,GAAG,GACDA,GAAA,CAAC,SAAS,EAAA,EAAA,QAAA,EACP,QAAQ,CAAC;AACR,gBAAA,EAAE,EAAE,2CAA2C;AAC/C,gBAAA,WAAW,EAAE,SAAS;AACvB,aAAA,CAAC,GACQ,CACb;AACD,QAAA,QAAQ,GACNA,GAAA,CAAC,SAAS,EAAA,EAAA,QAAA,EACP,QAAQ,CAAC,EAAE,EAAE,EAAE,wCAAwC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,GACvE,CACb;QACD,gBAAgB,EAAE,QAAQ,CAAC;AACzB,YAAA,EAAE,EAAE,gDAAgD;AACpD,YAAA,WAAW,EAAE,gBAAgB;SAC9B,CAAC;AACF,QAAA,QAAQ,GACNA,GAAA,CAAC,SAAS,EAAA,EAAA,QAAA,EACP,QAAQ,CAAC;AACR,gBAAA,EAAE,EAAE,wCAAwC;AAC5C,gBAAA,WAAW,EAAE,WAAW;AACzB,aAAA,CAAC,GACQ,CACb;AACD,QAAA,gBAAgB,GACdA,GAAA,CAAC,SAAS,EAAA,EAAA,QAAA,EACP,QAAQ,CAAC;AACR,gBAAA,EAAE,EAAE,gDAAgD;AACpD,gBAAA,WAAW,EAAE,MAAM;AACpB,aAAA,CAAC,GACQ,CACb;AACF,KAAA,CAAC,EACF,CAAC,QAAQ,CAAC,CACX;IAED,QACEC,cAAK,SAAS,EAAE,UAAU,CAAC,OAAO,aAChCD,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,UAAU,CAAC,UAAU,EAAA,QAAA,EACnCA,GAAA,CAAC,WAAW,EAAA,EACV,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,UAAU,CAAC,gBAA0B,EAC5C,cAAc,EAAEA,GAAA,CAAC,SAAS,EAAA,EAAA,QAAA,EAAE,UAAU,CAAC,gBAAgB,GAAa,EACpE,KAAK,EAAC,MAAM,EACZ,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,IAAI,KAAK,QAAQ,IAAIA,IAAC,iBAAiB,EAAA,EAAC,OAAO,EAAE,uBAAuB,GAAI,EACpF,QAAQ,EAAE,mBAAmB,EAAA,CAC7B,GACE,EAENC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,UAAU,CAAC,KAAK,EAAA,QAAA,EAAA,CAC9BD,GAAA,CAAC,QAAQ,EAAA,EACP,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EAAA,CACtB,EACFA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,UAAU,CAAC,IAAI,YAC9BC,IAAA,CAAC,OAAO,IAAC,SAAS,EAAE,UAAU,CAAC,SAAS,aACtCA,IAAA,CAAC,OAAO,IAAC,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAC,eAAe,EAAA,QAAA,EAAA,CAChFD,GAAA,CAAC,0BAA0B,EAAA,EAAA,QAAA,EACxB,IAAI,KAAK,QAAQ,GAAG,UAAU,CAAC,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,EAAA,CACxC,EAE5B,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,KAAK,MACnCA,GAAA,CAAC,uBAAuB,EAAA,EAAC,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAA,CAAI,CAC/E,CAAA,EAAA,CACO,EAEVA,aAAK,SAAS,EAAE,UAAU,CAAC,UAAU,YACnCA,GAAA,CAAC,mBAAmB,EAAA,EAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAA,CAAI,EAAA,CACnD,IACE,EAAA,CACL,CAAA,EAAA,CACH,CAAA,EAAA,CACF;AAEV;AAEA,MAAM,iBAAiB,GAAG,IAAI,CAA0B,CAAC,EAAE,OAAO,EAAE,MAClEA,IAAC,cAAc,EAAA,EAAC,OAAO,EAAE,OAAO,EAAA,QAAA,EAC9BA,GAAA,CAAC,iBAAiB,EAAA,EAAA,CAAG,EAAA,CACN,CAClB,CAAC;AAEF,MAAM,QAAQ,GAAG,IAAI,CAWnB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,KAAI;AACvD,IAAA,MAAM,WAAW,GAAG,IAAI,KAAK,QAAQ;AACrC,IAAA,MAAM,UAAU,GAAG,WAAW,IAAI,IAAI,KAAK,UAAU;AACrD,IAAA,MAAM,KAAK,GAAG,WAAW,IAAI,IAAI,KAAK,KAAK;AAE3C,IAAA,MAAM,eAAe,GAAG,OAAO,CAC7B,MAAM;AACJ,QAAA;AACE,YAAA,EAAE,EAAE,UAAU;YACd,KAAK,EAAE,UAAU,CAAC,QAAQ;AAC1B,YAAA,MAAM,EAAEA,GAAA,CAAC,UAAU,EAAA,EAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC,KAAK,GAAG,SAAS,EAAA,CAAI;AACvE,YAAA,OAAO,EAAE,UAAU;AACpB,SAAA;AACF,KAAA,EACD,CAAC,UAAU,EAAE,UAAU,CAAC,CACzB;AACD,IAAA,MAAM,aAAa,GAAG,OAAO,CAC3B,MAAM;AACJ,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,UAAU,CAAC,GAAG;AACrB,YAAA,OAAO,EAAE,KAAK;AACf,SAAA;AACF,KAAA,EACD,CAAC,KAAK,EAAE,UAAU,CAAC,CACpB;IAED,MAAM,OAAO,GAAG,WAAW,CACzB,CAAC,CAAM,EAAE,EAAU,KAAI;QACrB,UAAU,CAAC,EAAsB,CAAC;AACpC,IAAA,CAAC,EACD,CAAC,UAAU,CAAC,CACb;AAED,IAAA,QACEC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,UAAU,CAAC,IAAI,EAAA,QAAA,EAAA,CAC7BD,GAAA,CAAC,OAAO,EAAA,EACN,SAAS,EAAE,UAAU,CAAC,iBAAiB,EACvC,IAAI,EAAC,GAAG,EACR,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,OAAO,GAChB,EAEFA,GAAA,CAAA,IAAA,EAAA,EAAA,CAAM,EAENC,IAAA,CAAC,OAAO,eACND,GAAA,CAAC,0BAA0B,IAAC,SAAS,EAAE,UAAU,CAAC,cAAc,EAAA,QAAA,EAC7D,UAAU,CAAC,QAAQ,EAAA,CACO,EAC7BA,GAAA,CAAC,OAAO,IACN,SAAS,EAAE,UAAU,CAAC,eAAe,EACrC,IAAI,EAAC,GAAG,EACR,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,EAAA,CAChB,CAAA,EAAA,CACM,EAEVA,GAAA,CAAC,YAAY,IAAC,SAAS,EAAE,UAAU,CAAC,IAAI,YAAG,UAAU,CAAC,QAAQ,EAAA,CAAgB,CAAA,EAAA,CAC1E;AAEV,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,IAAI,CAA2C,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,MAC1FA,aAAK,SAAS,EAAE,SAAS,EAAA,QAAA,EACvBA,IAAC,QAAQ,EAAA,EACP,IAAI,EAAC,mFAAmF,EACxF,MAAM,EAAC,QAAQ,YAEd,QAAQ,EAAA,CACA,EAAA,CACP,CACP,CAAC;AAEF,MAAM,0BAA0B,GAAG,IAAI,CACrC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,MACtBA,GAAA,CAAC,OAAO,EAAA,EAAC,IAAI,EAAC,kBAAkB,EAAC,SAAS,EAAE,SAAS,EAAA,QAAA,EAClD,QAAQ,EAAA,CACD,CACX,CACF;;;;"}
|
|
1
|
+
{"version":3,"file":"AppLauncher.js","sources":["../../../../../src/components/AppHeader/components/desktop/AppLauncher.tsx"],"sourcesContent":["import { type FC, type PropsWithChildren, type ReactNode, memo, useCallback, useMemo } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useIntl } from '../../../../intl'\nimport { textColor } from '../../../../themes'\nimport { UnstyledButton } from '../../../Button'\nimport { Heading } from '../../../Heading'\nimport { FaCircleXmarkIcon, FaStarIcon } from '../../../Icon'\nimport { SearchInput } from '../../../Input'\nimport { Cluster } from '../../../Layout'\nimport { Section } from '../../../SectioningContent'\nimport { SideNav } from '../../../SideNav'\nimport { HelpLink } from '../../../TextLink'\nimport { useAppLauncher } from '../../hooks/useAppLauncher'\nimport { AppLauncherFeatures } from '../common/AppLauncherFeatures'\nimport { AppLauncherSortDropdown } from '../common/AppLauncherSortDropdown'\nimport { Translate } from '../common/Translate'\n\nimport type { Launcher } from '../../types'\n\ntype Props = {\n features: Array<Launcher['feature']>\n}\n\nconst appLauncher = tv({\n slots: {\n wrapper: [\n 'smarthr-ui-AppLauncher',\n 'shr-grid shr-h-[40rem] shr-w-[38rem] shr-grid-rows-[auto_1fr]',\n ],\n searchArea: [\n 'smarthr-ui-AppLauncher-searchArea',\n 'shr-border-b-shorthand shr-p-1',\n '[&_.smarthr-ui-Input]:shr-h-[42px]',\n ],\n inner: ['smarthr-ui-AppLauncher-inner', 'shr-grid shr-min-h-0 shr-grid-cols-[11rem_1fr]'],\n side: [\n 'smarthr-ui-AppLauncher-side',\n 'shr-border-r-shorthand shr-flex shr-flex-col shr-bg-column shr-pb-1 shr-pt-0.5',\n '[&_hr]:shr-m-0.5 [&_hr]:shr-h-[1px] [&_hr]:shr-border-none [&_hr]:shr-bg-border',\n ],\n sideNav: [\n '[&_.smarthr-ui-SideNav-item>button]:shr-px-1 [&_.smarthr-ui-SideNav-item>button]:shr-py-0.75',\n '[&_.smarthr-ui-SideNav-item>button>span]:shr-flex-nowrap',\n '[&_.smarthr-ui-SideNav-item>button_.smarthr-ui-Icon]:shr-shrink-0 [&_.smarthr-ui-SideNav-item>button_.smarthr-ui-Icon]:shr-align-bottom',\n ],\n sideNavHeading: ['shr-px-1 shr-py-0.75 shr-text-xs shr-text-black'],\n help: ['smarthr-ui-AppLauncher-help', 'shr-mt-auto shr-px-1 shr-text-xs'],\n main: ['smarthr-ui-AppLauncher-main', 'shr-grid shr-min-h-0'],\n mainInner: ['shr-grid shr-min-h-0 shr-grid-rows-[auto_1fr]'],\n contentHead: [\n 'shr-min-h-[2rem] shr-px-1 shr-py-0.75',\n '[&_.smarthr-ui-Heading]:shr-text-black',\n ],\n scrollArea: ['shr-h-[509px] shr-overflow-y-scroll'],\n },\n variants: {\n noIcon: {\n true: {\n sideNav: ['[&_.smarthr-ui-SideNav-item>button]:shr-pl-1.5'],\n },\n },\n selected: {\n false: {\n sideNav: ['[&_.smarthr-ui-SideNav-item>button_.smarthr-ui-Icon]:shr-text-grey'],\n },\n },\n },\n})\n\nexport const AppLauncher: FC<Props> = ({ features: baseFeatures }) => {\n const {\n features,\n page,\n mode,\n sortType,\n searchQuery,\n changePage,\n setSortType,\n onChangeSearchQuery,\n onClickClearSearchQuery,\n } = useAppLauncher(baseFeatures)\n\n const classNames = useMemo(() => {\n const {\n wrapper,\n searchArea,\n inner,\n side,\n sideNav,\n sideNavHeading,\n help,\n main,\n mainInner,\n contentHead,\n scrollArea,\n } = appLauncher()\n\n return {\n wrapper: wrapper(),\n searchArea: searchArea(),\n inner: inner(),\n side: side(),\n unselectedSideNav: sideNav({ selected: false }),\n selectedSideNav: sideNav({ noIcon: true, selected: true }),\n sideNavHeading: sideNavHeading(),\n help: help(),\n main: main(),\n mainInner: mainInner(),\n contentHead: contentHead(),\n scrollArea: scrollArea(),\n }\n }, [])\n\n const { localize } = useIntl()\n const translated = useMemo<\n Record<\n Launcher['page'] | 'listText' | 'searchInputTitle' | 'helpText' | 'searchResultText',\n ReactNode\n >\n >(\n () => ({\n favorite: (\n <Translate>\n {localize({\n id: 'smarthr-ui/AppHeader/Launcher/favoriteModeText',\n defaultText: 'よく使うアプリ',\n })}\n </Translate>\n ),\n all: (\n <Translate>\n {localize({\n id: 'smarthr-ui/AppHeader/Launcher/allModeText',\n defaultText: 'すべてのアプリ',\n })}\n </Translate>\n ),\n listText: (\n <Translate>\n {localize({ id: 'smarthr-ui/AppHeader/Launcher/listText', defaultText: 'アプリ一覧' })}\n </Translate>\n ),\n searchInputTitle: localize({\n id: 'smarthr-ui/AppHeader/Launcher/searchInputTitle',\n defaultText: 'アプリ名を入力してください。',\n }),\n helpText: (\n <Translate>\n {localize({\n id: 'smarthr-ui/AppHeader/Launcher/helpText',\n defaultText: 'よく使うアプリとは',\n })}\n </Translate>\n ),\n searchResultText: (\n <Translate>\n {localize({\n id: 'smarthr-ui/AppHeader/Launcher/searchResultText',\n defaultText: '検索結果',\n })}\n </Translate>\n ),\n }),\n [localize],\n )\n\n return (\n <div className={classNames.wrapper}>\n <div className={classNames.searchArea}>\n <SearchInput\n name=\"search\"\n title={translated.searchInputTitle as string}\n tooltipMessage={<Translate>{translated.searchInputTitle}</Translate>}\n width=\"100%\"\n value={searchQuery}\n suffix={mode === 'search' && <ClearSearchButton onClick={onClickClearSearchQuery} />}\n onChange={onChangeSearchQuery}\n />\n </div>\n\n <div className={classNames.inner}>\n <SideNavs\n mode={mode}\n page={page}\n changePage={changePage}\n translated={translated}\n classNames={classNames}\n />\n <main className={classNames.main}>\n <Section className={classNames.mainInner}>\n <Cluster className={classNames.contentHead} align=\"center\" justify=\"space-between\">\n <MemoizedSubSubBlockHeading>\n {mode === 'search' ? translated.searchResultText : translated[page]}\n </MemoizedSubSubBlockHeading>\n\n {(mode === 'search' || page === 'all') && (\n <AppLauncherSortDropdown sortType={sortType} onSelectSortType={setSortType} />\n )}\n </Cluster>\n\n <div className={classNames.scrollArea}>\n <AppLauncherFeatures features={features} page={page} />\n </div>\n </Section>\n </main>\n </div>\n </div>\n )\n}\n\nconst ClearSearchButton = memo<{ onClick: () => void }>(({ onClick }) => (\n <UnstyledButton onClick={onClick}>\n <FaCircleXmarkIcon />\n </UnstyledButton>\n))\n\nconst SideNavs = memo<\n Pick<ReturnType<typeof useAppLauncher>, 'mode' | 'page' | 'changePage'> & {\n translated: { favorite: ReactNode; listText: ReactNode; all: ReactNode; helpText: ReactNode }\n classNames: {\n side: string\n unselectedSideNav: string\n sideNavHeading: string\n selectedSideNav: string\n help: string\n }\n }\n>(({ mode, page, changePage, translated, classNames }) => {\n const isNotSearch = mode !== 'search'\n const isFavorite = isNotSearch && page === 'favorite'\n const isAll = isNotSearch && page === 'all'\n\n const unselectedItems = useMemo(\n () => [\n {\n id: 'favorite',\n title: translated.favorite,\n prefix: <FaStarIcon color={isFavorite ? textColor.white : undefined} />,\n current: isFavorite,\n },\n ],\n [isFavorite, translated],\n )\n const selectedItems = useMemo(\n () => [\n {\n id: 'all',\n title: translated.all,\n current: isAll,\n },\n ],\n [isAll, translated],\n )\n\n const onClick = useCallback(\n (_: any, id: string) => {\n changePage(id as Launcher['page'])\n },\n [changePage],\n )\n\n return (\n <div className={classNames.side}>\n <SideNav\n className={classNames.unselectedSideNav}\n size=\"s\"\n items={unselectedItems}\n onClick={onClick}\n />\n\n <hr />\n\n <Section>\n <MemoizedSubSubBlockHeading className={classNames.sideNavHeading}>\n {translated.listText}\n </MemoizedSubSubBlockHeading>\n <SideNav\n className={classNames.selectedSideNav}\n size=\"s\"\n items={selectedItems}\n onClick={onClick}\n />\n </Section>\n\n <HelpLinkArea className={classNames.help}>{translated.helpText}</HelpLinkArea>\n </div>\n )\n})\n\nconst HelpLinkArea = memo<PropsWithChildren<{ className: string }>>(({ children, className }) => (\n <div className={className}>\n <HelpLink\n href=\"https://support.smarthr.jp/ja/help/articles/2bfd350d-8e8b-4bbd-a209-426d2eb302cc/\"\n target=\"_blank\"\n >\n {children}\n </HelpLink>\n </div>\n))\n\nconst MemoizedSubSubBlockHeading = memo<PropsWithChildren<{ className?: string }>>(\n ({ children, className }) => (\n <Heading type=\"subSubBlockTitle\" className={className}>\n {children}\n </Heading>\n ),\n)\n"],"names":["tv","_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { tv as ce } from './../../../../vendor/.pnpm/tailwind-variants@0.3.1_tai
|
|
|
4
4
|
import '../../../../intl/IntlProvider.js';
|
|
5
5
|
import { useIntl } from '../../../../intl/useIntl.js';
|
|
6
6
|
import 'react-intl';
|
|
7
|
+
import '../../../../_virtual/dayjs.min.js';
|
|
7
8
|
import { localeMap } from '../../../../intl/localeMap.js';
|
|
8
9
|
import { Button } from '../../../Button/Button.js';
|
|
9
10
|
import '../../../Button/AnchorButton.js';
|
|
@@ -46,7 +47,7 @@ const classNameGenerator = ce({
|
|
|
46
47
|
],
|
|
47
48
|
},
|
|
48
49
|
});
|
|
49
|
-
const DesktopHeader = ({ enableNew, className = '', appName, tenants, currentTenantId, schoolUrl, helpPageUrl, children, userInfo, desktopAdditionalContent, navigations, desktopNavigationAdditionalContent, releaseNote, features, locale: localeProps, ...
|
|
50
|
+
const DesktopHeader = ({ enableNew, className = '', appName, tenants, currentTenantId, schoolUrl, helpPageUrl, children, userInfo, desktopAdditionalContent, navigations, desktopNavigationAdditionalContent, releaseNote, features, locale: localeProps, ...rest }) => {
|
|
50
51
|
const classNames = useMemo(() => {
|
|
51
52
|
const { wrapper, appsButton } = classNameGenerator();
|
|
52
53
|
return {
|
|
@@ -63,7 +64,7 @@ const DesktopHeader = ({ enableNew, className = '', appName, tenants, currentTen
|
|
|
63
64
|
school: localize({ id: 'smarthr-ui/AppHeader/school', defaultText: 'スクール' }),
|
|
64
65
|
help: localize({ id: 'smarthr-ui/AppHeader/help', defaultText: 'ヘルプ' }),
|
|
65
66
|
}), [localize]);
|
|
66
|
-
return (jsxs(Fragment, { children: [jsx(Header, { ...
|
|
67
|
+
return (jsxs(Fragment, { children: [jsx(Header, { ...rest, enableNew: enableNew, className: classNames.wrapper, featureName: appName, tenants: tenants, currentTenantId: currentTenantId, children: jsxs(Cluster, { align: "center", className: "shr--me-0.25", children: [!enableNew && (jsxs(Fragment, { children: [features && features.length > 0 && (jsxs(Dropdown, { children: [jsx(AppLauncherButton, { enableNew: enableNew, className: classNames.appsButton, children: translated.appLauncherLabel }), jsx(DropdownContent, { controllable: true, children: jsx(AppLauncher, { features: features }) })] })), schoolUrl && (jsx(HeaderLink, { href: schoolUrl, prefix: jsx(FaGraduationCapIcon, {}), className: "shr-flex shr-items-center shr-py-0.75 shr-leading-none", children: jsx(Translate, { children: translated.school }) }))] })), helpPageUrl && (jsx(HeaderLink, { href: helpPageUrl, prefix: enableNew ? jsx(FaRegCircleQuestionIcon, {}) : jsx(FaCircleQuestionIcon, {}), className: enableNew ? undefined : 'shr-flex shr-items-center shr-py-0.75 shr-leading-none', enableNew: enableNew, children: jsx(Translate, { children: translated.help }) })), localeProps && (jsx(LanguageSwitcher, { localeMap: localeMap, locale: locale, onLanguageSelect: localeProps.onSelectLocale, enableNew: enableNew })), children, userInfo && (jsx(UserInfo, { ...userInfo, tenants: tenants, currentTenantId: currentTenantId, desktopAdditionalContent: desktopAdditionalContent, enableNew: enableNew }))] }) }), navigations && (jsx(Navigation, { appName: appName, navigations: navigations, additionalContent: desktopNavigationAdditionalContent, releaseNote: releaseNote, enableNew: enableNew }))] }));
|
|
67
68
|
};
|
|
68
69
|
const AppLauncherButton = memo(({ enableNew, children, className }) => (jsx(DropdownTrigger, { children: jsx(Button, { prefix: enableNew ?? jsx(FaToolboxIcon, {}), className: className, children: jsx(Translate, { children: children }) }) })));
|
|
69
70
|
|