smarthr-ui 91.0.0 → 92.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/lib/components/AppHeader/components/common/AppLauncherSortDropdown.cjs +1 -1
- package/lib/components/AppHeader/components/common/AppLauncherSortDropdown.cjs.map +1 -1
- package/lib/components/AppHeader/components/common/AppLauncherSortDropdown.js +1 -1
- package/lib/components/AppHeader/components/common/AppLauncherSortDropdown.js.map +1 -1
- package/lib/components/AppHeader/components/desktop/AppLauncher.cjs +1 -1
- package/lib/components/AppHeader/components/desktop/AppLauncher.cjs.map +1 -1
- package/lib/components/AppHeader/components/desktop/AppLauncher.js +1 -1
- package/lib/components/AppHeader/components/desktop/AppLauncher.js.map +1 -1
- package/lib/components/AppHeader/components/mobile/AppLauncherFilterDropdown.cjs +1 -1
- package/lib/components/AppHeader/components/mobile/AppLauncherFilterDropdown.cjs.map +1 -1
- package/lib/components/AppHeader/components/mobile/AppLauncherFilterDropdown.js +1 -1
- package/lib/components/AppHeader/components/mobile/AppLauncherFilterDropdown.js.map +1 -1
- package/lib/components/AppHeader/components/mobile/Help.cjs +1 -1
- package/lib/components/AppHeader/components/mobile/Help.cjs.map +1 -1
- package/lib/components/AppHeader/components/mobile/Help.js +1 -1
- package/lib/components/AppHeader/components/mobile/Help.js.map +1 -1
- package/lib/components/AppHeader/components/mobile/LanguageSelector.cjs +1 -1
- package/lib/components/AppHeader/components/mobile/LanguageSelector.cjs.map +1 -1
- package/lib/components/AppHeader/components/mobile/LanguageSelector.js +1 -1
- package/lib/components/AppHeader/components/mobile/LanguageSelector.js.map +1 -1
- package/lib/components/AppHeader/components/mobile/Menu.cjs +1 -1
- package/lib/components/AppHeader/components/mobile/Menu.cjs.map +1 -1
- package/lib/components/AppHeader/components/mobile/Menu.js +1 -1
- package/lib/components/AppHeader/components/mobile/Menu.js.map +1 -1
- package/lib/components/AppHeader/components/mobile/MenuAccordion.cjs +1 -1
- package/lib/components/AppHeader/components/mobile/MenuAccordion.cjs.map +1 -1
- package/lib/components/AppHeader/components/mobile/MenuAccordion.js +1 -1
- package/lib/components/AppHeader/components/mobile/MenuAccordion.js.map +1 -1
- package/lib/components/AppHeader/components/mobile/MenuDialog.cjs +1 -1
- package/lib/components/AppHeader/components/mobile/MenuDialog.cjs.map +1 -1
- package/lib/components/AppHeader/components/mobile/MenuDialog.js +1 -1
- package/lib/components/AppHeader/components/mobile/MenuDialog.js.map +1 -1
- package/lib/components/AppHeader/components/mobile/MenuSubHeading.cjs +1 -1
- package/lib/components/AppHeader/components/mobile/MenuSubHeading.cjs.map +1 -1
- package/lib/components/AppHeader/components/mobile/MenuSubHeading.js +1 -1
- package/lib/components/AppHeader/components/mobile/MenuSubHeading.js.map +1 -1
- package/lib/components/AppHeader/components/mobile/UserInfo.cjs +1 -1
- package/lib/components/AppHeader/components/mobile/UserInfo.cjs.map +1 -1
- package/lib/components/AppHeader/components/mobile/UserInfo.js +1 -1
- package/lib/components/AppHeader/components/mobile/UserInfo.js.map +1 -1
- package/lib/components/Balloon/Balloon.cjs +1 -0
- package/lib/components/Balloon/Balloon.cjs.map +1 -1
- package/lib/components/Balloon/Balloon.js +1 -0
- package/lib/components/Balloon/Balloon.js.map +1 -1
- package/lib/components/Base/Base.d.ts +42 -42
- package/lib/components/Button/AnchorButton.cjs +1 -1
- package/lib/components/Button/AnchorButton.cjs.map +1 -1
- package/lib/components/Button/AnchorButton.js +1 -1
- package/lib/components/Button/AnchorButton.js.map +1 -1
- package/lib/components/Button/Button.cjs +1 -1
- package/lib/components/Button/Button.cjs.map +1 -1
- package/lib/components/Button/Button.d.ts +2 -2
- package/lib/components/Button/Button.js +1 -1
- package/lib/components/Button/Button.js.map +1 -1
- package/lib/components/Button/types.d.ts +1 -1
- package/lib/components/Button/useButtonWrapper.cjs +9 -9
- package/lib/components/Button/useButtonWrapper.cjs.map +1 -1
- package/lib/components/Button/useButtonWrapper.d.ts +1 -1
- package/lib/components/Button/useButtonWrapper.js +9 -9
- package/lib/components/Button/useButtonWrapper.js.map +1 -1
- package/lib/components/Calendar/Calendar.cjs +2 -2
- package/lib/components/Calendar/Calendar.cjs.map +1 -1
- package/lib/components/Calendar/Calendar.js +2 -2
- package/lib/components/Calendar/Calendar.js.map +1 -1
- package/lib/components/Combobox/MultiCombobox/MultiCombobox.cjs +6 -10
- package/lib/components/Combobox/MultiCombobox/MultiCombobox.cjs.map +1 -1
- package/lib/components/Combobox/MultiCombobox/MultiCombobox.d.ts +6 -10
- package/lib/components/Combobox/MultiCombobox/MultiCombobox.js +6 -10
- package/lib/components/Combobox/MultiCombobox/MultiCombobox.js.map +1 -1
- package/lib/components/Combobox/MultiCombobox/MultiSelectedItem.cjs +7 -11
- package/lib/components/Combobox/MultiCombobox/MultiSelectedItem.cjs.map +1 -1
- package/lib/components/Combobox/MultiCombobox/MultiSelectedItem.d.ts +1 -5
- package/lib/components/Combobox/MultiCombobox/MultiSelectedItem.js +7 -11
- package/lib/components/Combobox/MultiCombobox/MultiSelectedItem.js.map +1 -1
- package/lib/components/Combobox/SingleCombobox/SingleCombobox.cjs +6 -10
- package/lib/components/Combobox/SingleCombobox/SingleCombobox.cjs.map +1 -1
- package/lib/components/Combobox/SingleCombobox/SingleCombobox.d.ts +3 -6
- package/lib/components/Combobox/SingleCombobox/SingleCombobox.js +6 -10
- package/lib/components/Combobox/SingleCombobox/SingleCombobox.js.map +1 -1
- package/lib/components/Combobox/useListbox.cjs +10 -11
- package/lib/components/Combobox/useListbox.cjs.map +1 -1
- package/lib/components/Combobox/useListbox.d.ts +3 -4
- package/lib/components/Combobox/useListbox.js +10 -11
- package/lib/components/Combobox/useListbox.js.map +1 -1
- package/lib/components/Dialog/DialogBody.d.ts +42 -42
- package/lib/components/Dialog/ModelessDialog/ModelessDialog.cjs +3 -3
- package/lib/components/Dialog/ModelessDialog/ModelessDialog.cjs.map +1 -1
- package/lib/components/Dialog/ModelessDialog/ModelessDialog.js +3 -3
- package/lib/components/Dialog/ModelessDialog/ModelessDialog.js.map +1 -1
- package/lib/components/Dialog/RemoteDialogTrigger/{RemoteTriggerActionDialog.cjs → ActionDialog.cjs} +3 -3
- package/lib/components/Dialog/RemoteDialogTrigger/ActionDialog.cjs.map +1 -0
- package/lib/components/Dialog/RemoteDialogTrigger/{RemoteTriggerActionDialog.d.ts → ActionDialog.d.ts} +1 -1
- package/lib/components/Dialog/RemoteDialogTrigger/{RemoteTriggerActionDialog.js → ActionDialog.js} +3 -3
- package/lib/components/Dialog/RemoteDialogTrigger/ActionDialog.js.map +1 -0
- package/lib/components/Dialog/RemoteDialogTrigger/{RemoteTriggerFormDialog.cjs → FormDialog.cjs} +3 -3
- package/lib/components/Dialog/RemoteDialogTrigger/FormDialog.cjs.map +1 -0
- package/lib/components/Dialog/RemoteDialogTrigger/{RemoteTriggerFormDialog.d.ts → FormDialog.d.ts} +1 -1
- package/lib/components/Dialog/RemoteDialogTrigger/{RemoteTriggerFormDialog.js → FormDialog.js} +3 -3
- package/lib/components/Dialog/RemoteDialogTrigger/FormDialog.js.map +1 -0
- package/lib/components/Dialog/RemoteDialogTrigger/{RemoteTriggerMessageDialog.cjs → MessageDialog.cjs} +3 -3
- package/lib/components/Dialog/RemoteDialogTrigger/MessageDialog.cjs.map +1 -0
- package/lib/components/Dialog/RemoteDialogTrigger/{RemoteTriggerMessageDialog.d.ts → MessageDialog.d.ts} +1 -1
- package/lib/components/Dialog/RemoteDialogTrigger/{RemoteTriggerMessageDialog.js → MessageDialog.js} +3 -3
- package/lib/components/Dialog/RemoteDialogTrigger/MessageDialog.js.map +1 -0
- package/lib/components/Dialog/RemoteDialogTrigger/{RemoteTriggerStepFormDialog.cjs → StepFormDialog.cjs} +3 -3
- package/lib/components/Dialog/RemoteDialogTrigger/StepFormDialog.cjs.map +1 -0
- package/lib/components/Dialog/RemoteDialogTrigger/{RemoteTriggerStepFormDialog.d.ts → StepFormDialog.d.ts} +1 -1
- package/lib/components/Dialog/RemoteDialogTrigger/{RemoteTriggerStepFormDialog.js → StepFormDialog.js} +3 -3
- package/lib/components/Dialog/RemoteDialogTrigger/StepFormDialog.js.map +1 -0
- package/lib/components/Dialog/RemoteDialogTrigger/index.cjs +8 -8
- package/lib/components/Dialog/RemoteDialogTrigger/index.d.ts +4 -4
- package/lib/components/Dialog/RemoteDialogTrigger/index.js +4 -4
- package/lib/components/Dialog/index.cjs +8 -8
- package/lib/components/Dialog/index.d.ts +1 -1
- package/lib/components/Dialog/index.js +4 -4
- package/lib/components/DropZone/DropZone.cjs +1 -1
- package/lib/components/DropZone/DropZone.cjs.map +1 -1
- package/lib/components/DropZone/DropZone.js +1 -1
- package/lib/components/DropZone/DropZone.js.map +1 -1
- package/lib/components/Dropdown/FilterDropdown/FilterDropdown.cjs +3 -3
- package/lib/components/Dropdown/FilterDropdown/FilterDropdown.cjs.map +1 -1
- package/lib/components/Dropdown/FilterDropdown/FilterDropdown.js +3 -3
- package/lib/components/Dropdown/FilterDropdown/FilterDropdown.js.map +1 -1
- package/lib/components/FileViewer/FileViewer.cjs +1 -1
- package/lib/components/FileViewer/FileViewer.cjs.map +1 -1
- package/lib/components/FileViewer/FileViewer.js +1 -1
- package/lib/components/FileViewer/FileViewer.js.map +1 -1
- package/lib/components/InformationPanel/InformationPanel.cjs +7 -9
- package/lib/components/InformationPanel/InformationPanel.cjs.map +1 -1
- package/lib/components/InformationPanel/InformationPanel.d.ts +0 -4
- package/lib/components/InformationPanel/InformationPanel.js +7 -9
- package/lib/components/InformationPanel/InformationPanel.js.map +1 -1
- package/lib/components/Input/Input.cjs +1 -1
- package/lib/components/Input/Input.cjs.map +1 -1
- package/lib/components/Input/Input.js +1 -1
- package/lib/components/Input/Input.js.map +1 -1
- package/lib/components/Input/SearchInput/SearchInput.cjs +2 -2
- package/lib/components/Input/SearchInput/SearchInput.cjs.map +1 -1
- package/lib/components/Input/SearchInput/SearchInput.d.ts +1 -3
- package/lib/components/Input/SearchInput/SearchInput.js +2 -2
- package/lib/components/Input/SearchInput/SearchInput.js.map +1 -1
- package/lib/components/Input/SearchInput/SearchInputIcon.cjs +5 -9
- package/lib/components/Input/SearchInput/SearchInputIcon.cjs.map +1 -1
- package/lib/components/Input/SearchInput/SearchInputIcon.d.ts +1 -7
- package/lib/components/Input/SearchInput/SearchInputIcon.js +5 -9
- package/lib/components/Input/SearchInput/SearchInputIcon.js.map +1 -1
- package/lib/components/InputFile/style.cjs +3 -3
- package/lib/components/InputFile/style.cjs.map +1 -1
- package/lib/components/InputFile/style.d.ts +14 -14
- package/lib/components/InputFile/style.js +3 -3
- package/lib/components/InputFile/style.js.map +1 -1
- package/lib/components/Layout/Container/Container.d.ts +42 -42
- package/lib/components/Loader/Loader.cjs +1 -1
- package/lib/components/Loader/Loader.cjs.map +1 -1
- package/lib/components/Loader/Loader.d.ts +1 -1
- package/lib/components/Loader/Loader.js +1 -1
- package/lib/components/Loader/Loader.js.map +1 -1
- package/lib/components/Loader/LoaderSpinner.cjs +3 -3
- package/lib/components/Loader/LoaderSpinner.cjs.map +1 -1
- package/lib/components/Loader/LoaderSpinner.d.ts +1 -1
- package/lib/components/Loader/LoaderSpinner.js +3 -3
- package/lib/components/Loader/LoaderSpinner.js.map +1 -1
- package/lib/components/NotificationBar/NotificationBar.cjs +1 -1
- package/lib/components/NotificationBar/NotificationBar.cjs.map +1 -1
- package/lib/components/NotificationBar/NotificationBar.js +1 -1
- package/lib/components/NotificationBar/NotificationBar.js.map +1 -1
- package/lib/components/Pagination/PaginationControllerItemButton.cjs +1 -1
- package/lib/components/Pagination/PaginationControllerItemButton.cjs.map +1 -1
- package/lib/components/Pagination/PaginationControllerItemButton.js +1 -1
- package/lib/components/Pagination/PaginationControllerItemButton.js.map +1 -1
- package/lib/components/Pagination/PaginationItemButton.cjs +1 -1
- package/lib/components/Pagination/PaginationItemButton.cjs.map +1 -1
- package/lib/components/Pagination/PaginationItemButton.js +1 -1
- package/lib/components/Pagination/PaginationItemButton.js.map +1 -1
- package/lib/components/Picker/DatetimeLocalPicker.d.ts +1 -1
- package/lib/components/Picker/MonthPicker.d.ts +1 -1
- package/lib/components/Picker/TimePicker.d.ts +1 -1
- package/lib/components/Picker/style.cjs +1 -1
- package/lib/components/Picker/style.cjs.map +1 -1
- package/lib/components/Picker/style.js +1 -1
- package/lib/components/Picker/style.js.map +1 -1
- package/lib/components/Scroller/Scroller.d.ts +1 -1
- package/lib/components/SegmentedControl/SegmentedControl.cjs +3 -3
- package/lib/components/SegmentedControl/SegmentedControl.cjs.map +1 -1
- package/lib/components/SegmentedControl/SegmentedControl.d.ts +1 -1
- package/lib/components/SegmentedControl/SegmentedControl.js +3 -3
- package/lib/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/lib/components/Select/Select.cjs +3 -3
- package/lib/components/Select/Select.cjs.map +1 -1
- package/lib/components/Select/Select.d.ts +1 -1
- package/lib/components/Select/Select.js +3 -3
- package/lib/components/Select/Select.js.map +1 -1
- package/lib/components/SideNav/SideNav.cjs +1 -1
- package/lib/components/SideNav/SideNav.cjs.map +1 -1
- package/lib/components/SideNav/SideNav.js +1 -1
- package/lib/components/SideNav/SideNav.js.map +1 -1
- package/lib/components/SideNav/SideNavItemButton.cjs +4 -4
- package/lib/components/SideNav/SideNavItemButton.cjs.map +1 -1
- package/lib/components/SideNav/SideNavItemButton.d.ts +1 -1
- package/lib/components/SideNav/SideNavItemButton.js +4 -4
- package/lib/components/SideNav/SideNavItemButton.js.map +1 -1
- package/lib/components/Table/WakuWakuButton.cjs +1 -1
- package/lib/components/Table/WakuWakuButton.cjs.map +1 -1
- package/lib/components/Table/WakuWakuButton.js +1 -1
- package/lib/components/Table/WakuWakuButton.js.map +1 -1
- package/lib/components/Textarea/Textarea.cjs +4 -27
- package/lib/components/Textarea/Textarea.cjs.map +1 -1
- package/lib/components/Textarea/Textarea.d.ts +0 -11
- package/lib/components/Textarea/Textarea.js +5 -28
- package/lib/components/Textarea/Textarea.js.map +1 -1
- package/lib/configureTwMerge.cjs +70 -0
- package/lib/configureTwMerge.cjs.map +1 -0
- package/lib/configureTwMerge.d.ts +1 -0
- package/lib/configureTwMerge.js +68 -0
- package/lib/configureTwMerge.js.map +1 -0
- package/lib/index.cjs +9 -8
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js +5 -4
- package/lib/index.js.map +1 -1
- package/lib/intl/IntlProvider.d.ts +1 -1
- package/lib/smarthr-ui-preset.cjs +0 -56
- package/lib/smarthr-ui-preset.cjs.map +1 -1
- package/lib/smarthr-ui-preset.d.ts +7 -7
- package/lib/smarthr-ui-preset.js +0 -56
- package/lib/smarthr-ui-preset.js.map +1 -1
- package/lib/themes/createWidth.d.ts +1 -1
- package/metadata.json +1 -1
- package/package.json +3 -2
- package/smarthr-ui.css +15 -10
- package/lib/components/Dialog/RemoteDialogTrigger/RemoteTriggerActionDialog.cjs.map +0 -1
- package/lib/components/Dialog/RemoteDialogTrigger/RemoteTriggerActionDialog.js.map +0 -1
- package/lib/components/Dialog/RemoteDialogTrigger/RemoteTriggerFormDialog.cjs.map +0 -1
- package/lib/components/Dialog/RemoteDialogTrigger/RemoteTriggerFormDialog.js.map +0 -1
- package/lib/components/Dialog/RemoteDialogTrigger/RemoteTriggerMessageDialog.cjs.map +0 -1
- package/lib/components/Dialog/RemoteDialogTrigger/RemoteTriggerMessageDialog.js.map +0 -1
- package/lib/components/Dialog/RemoteDialogTrigger/RemoteTriggerStepFormDialog.cjs.map +0 -1
- package/lib/components/Dialog/RemoteDialogTrigger/RemoteTriggerStepFormDialog.js.map +0 -1
|
@@ -89,7 +89,7 @@ const AppLauncherSortDropdown = ({ sortType, onSelectSortType }) => {
|
|
|
89
89
|
}, [onSelectSortType]);
|
|
90
90
|
return (jsxRuntime.jsxs(components_Dropdown_Dropdown.Dropdown, { children: [jsxRuntime.jsx(TriggerButton, { triggerRef: triggerRef, className: classNames.trigger, children: translated.label }), jsxRuntime.jsx(components_Dropdown_DropdownContent.DropdownContent, { controllable: true, children: jsxRuntime.jsx("div", { role: "listbox", className: classNames.contentBody, children: options.map(([value, children], i) => (jsxRuntime.jsx(OptionButton, { value: value, selected: value === sortType, selectedAlt: translated.selected, onClick: onClickOption, className: classNames.contentButton, children: children }, i))) }) })] }));
|
|
91
91
|
};
|
|
92
|
-
const TriggerButton = React.memo(({ triggerRef, children, className }) => (jsxRuntime.jsx(components_Dropdown_DropdownTrigger.DropdownTrigger, { children: jsxRuntime.jsx(components_Button_Button.Button, { ref: triggerRef, size: "
|
|
92
|
+
const TriggerButton = React.memo(({ triggerRef, children, className }) => (jsxRuntime.jsx(components_Dropdown_DropdownTrigger.DropdownTrigger, { children: jsxRuntime.jsx(components_Button_Button.Button, { ref: triggerRef, size: "S", variant: "text", suffix: jsxRuntime.jsx(components_Icon_FaIcon.FaCaretDownIcon, {}), className: className, children: jsxRuntime.jsx(components_AppHeader_components_common_Translate.Translate, { children: children }) }) })));
|
|
93
93
|
const OptionButton = React.memo(({ value, selected, selectedAlt, onClick, children, className }) => {
|
|
94
94
|
const theme = hooks_useTheme.useTheme();
|
|
95
95
|
return (jsxRuntime.jsx(components_Button_Button.Button, { value: value, role: "option", "aria-selected": selected, className: className, prefix: selected && (jsxRuntime.jsx(components_Icon_FaIcon.FaCheckIcon, { color: theme.textColor.main, alt: jsxRuntime.jsx(components_AppHeader_components_common_Translate.Translate, { children: selectedAlt }) })), onClick: onClick, children: jsxRuntime.jsx(components_AppHeader_components_common_Translate.Translate, { children: children }) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppLauncherSortDropdown.cjs","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 { useTheme } from '../../../../hooks/useTheme'\nimport { useIntl } from '../../../../intl'\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=\"
|
|
1
|
+
{"version":3,"file":"AppLauncherSortDropdown.cjs","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 { useTheme } from '../../../../hooks/useTheme'\nimport { useIntl } from '../../../../intl'\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 const theme = useTheme()\n return (\n <Button\n value={value}\n role=\"option\"\n aria-selected={selected}\n className={className}\n prefix={\n selected && (\n <FaCheckIcon color={theme.textColor.main} alt={<Translate>{selectedAlt}</Translate>} />\n )\n }\n onClick={onClick}\n >\n <Translate>{children}</Translate>\n </Button>\n )\n})\n"],"names":["tv","useRef","useMemo","useIntl","useCallback","_jsxs","Dropdown","_jsx","DropdownContent","memo","DropdownTrigger","Button","FaCaretDownIcon","Translate","useTheme","FaCheckIcon"],"mappings":"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"}
|
|
@@ -87,7 +87,7 @@ const AppLauncherSortDropdown = ({ sortType, onSelectSortType }) => {
|
|
|
87
87
|
}, [onSelectSortType]);
|
|
88
88
|
return (jsxs(Dropdown, { children: [jsx(TriggerButton, { triggerRef: triggerRef, className: classNames.trigger, children: translated.label }), jsx(DropdownContent, { controllable: true, children: jsx("div", { role: "listbox", className: classNames.contentBody, children: options.map(([value, children], i) => (jsx(OptionButton, { value: value, selected: value === sortType, selectedAlt: translated.selected, onClick: onClickOption, className: classNames.contentButton, children: children }, i))) }) })] }));
|
|
89
89
|
};
|
|
90
|
-
const TriggerButton = memo(({ triggerRef, children, className }) => (jsx(DropdownTrigger, { children: jsx(Button, { ref: triggerRef, size: "
|
|
90
|
+
const TriggerButton = memo(({ triggerRef, children, className }) => (jsx(DropdownTrigger, { children: jsx(Button, { ref: triggerRef, size: "S", variant: "text", suffix: jsx(FaCaretDownIcon, {}), className: className, children: jsx(Translate, { children: children }) }) })));
|
|
91
91
|
const OptionButton = memo(({ value, selected, selectedAlt, onClick, children, className }) => {
|
|
92
92
|
const theme = useTheme();
|
|
93
93
|
return (jsx(Button, { value: value, role: "option", "aria-selected": selected, className: className, prefix: selected && (jsx(FaCheckIcon, { color: theme.textColor.main, alt: jsx(Translate, { children: selectedAlt }) })), onClick: onClick, children: jsx(Translate, { children: children }) }));
|
|
@@ -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 { useTheme } from '../../../../hooks/useTheme'\nimport { useIntl } from '../../../../intl'\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=\"
|
|
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 { useTheme } from '../../../../hooks/useTheme'\nimport { useIntl } from '../../../../intl'\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 const theme = useTheme()\n return (\n <Button\n value={value}\n role=\"option\"\n aria-selected={selected}\n className={className}\n prefix={\n selected && (\n <FaCheckIcon color={theme.textColor.main} alt={<Translate>{selectedAlt}</Translate>} />\n )\n }\n onClick={onClick}\n >\n <Translate>{children}</Translate>\n </Button>\n )\n})\n"],"names":["tv","_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -153,7 +153,7 @@ const SideNavs = React.memo(({ mode, page, changePage, translated, classNames })
|
|
|
153
153
|
const onClick = React.useCallback((_, id) => {
|
|
154
154
|
changePage(id);
|
|
155
155
|
}, [changePage]);
|
|
156
|
-
return (jsxRuntime.jsxs("div", { className: classNames.side, children: [jsxRuntime.jsx(components_SideNav_SideNav.SideNav, { className: classNames.unselectedSideNav, size: "
|
|
156
|
+
return (jsxRuntime.jsxs("div", { className: classNames.side, children: [jsxRuntime.jsx(components_SideNav_SideNav.SideNav, { className: classNames.unselectedSideNav, size: "S", items: unselectedItems, onClick: onClick }), jsxRuntime.jsx("hr", {}), jsxRuntime.jsxs(components_SectioningContent_SectioningContent.Section, { children: [jsxRuntime.jsx(MemoizedSubSubBlockHeading, { className: classNames.sideNavHeading, children: translated.listText }), jsxRuntime.jsx(components_SideNav_SideNav.SideNav, { className: classNames.selectedSideNav, size: "S", items: selectedItems, onClick: onClick })] }), jsxRuntime.jsx(HelpLinkArea, { className: classNames.help, children: translated.helpText })] }));
|
|
157
157
|
});
|
|
158
158
|
const HelpLinkArea = React.memo(({ children, className }) => (jsxRuntime.jsx("div", { className: className, children: jsxRuntime.jsx(components_TextLink_HelpLink_HelpLink.HelpLink, { href: "https://support.smarthr.jp/ja/help/articles/2bfd350d-8e8b-4bbd-a209-426d2eb302cc/", target: "_blank", children: children }) })));
|
|
159
159
|
const MemoizedSubSubBlockHeading = React.memo(({ children, className }) => (jsxRuntime.jsx(components_Heading_Heading.Heading, { type: "subSubBlockTitle", className: className, children: children })));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppLauncher.cjs","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 { useTheme } from '../../../../hooks/useTheme'\nimport { useIntl } from '../../../../intl'\nimport { UnstyledButton } from '../../../Button'\nimport { Heading } from '../../../Heading'\nimport { FaCircleXmarkIcon, FaStarIcon } from '../../../Icon'\nimport { SearchInput } from '../../../Input'\nimport { Cluster } from '../../../Layout'\nimport { Scroller } from '../../../Scroller'\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]'],\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 <div 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 <Scroller className={classNames.scrollArea}>\n <AppLauncherFeatures features={features} page={page} />\n </Scroller>\n </Section>\n </div>\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 theme = useTheme()\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 ? theme.textColor.white : undefined} />,\n current: isFavorite,\n },\n ],\n [isFavorite, translated, theme.textColor.white],\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","useAppLauncher","useMemo","useIntl","_jsx","Translate","_jsxs","SearchInput","Section","Cluster","AppLauncherSortDropdown","Scroller","AppLauncherFeatures","memo","UnstyledButton","FaCircleXmarkIcon","useTheme","FaStarIcon","useCallback","SideNav","HelpLink","Heading"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AppLauncher.cjs","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 { useTheme } from '../../../../hooks/useTheme'\nimport { useIntl } from '../../../../intl'\nimport { UnstyledButton } from '../../../Button'\nimport { Heading } from '../../../Heading'\nimport { FaCircleXmarkIcon, FaStarIcon } from '../../../Icon'\nimport { SearchInput } from '../../../Input'\nimport { Cluster } from '../../../Layout'\nimport { Scroller } from '../../../Scroller'\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]'],\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 <div 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 <Scroller className={classNames.scrollArea}>\n <AppLauncherFeatures features={features} page={page} />\n </Scroller>\n </Section>\n </div>\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 theme = useTheme()\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 ? theme.textColor.white : undefined} />,\n current: isFavorite,\n },\n ],\n [isFavorite, translated, theme.textColor.white],\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","useAppLauncher","useMemo","useIntl","_jsx","Translate","_jsxs","SearchInput","Section","Cluster","AppLauncherSortDropdown","Scroller","AppLauncherFeatures","memo","UnstyledButton","FaCircleXmarkIcon","useTheme","FaStarIcon","useCallback","SideNav","HelpLink","Heading"],"mappings":"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"}
|
|
@@ -151,7 +151,7 @@ const SideNavs = memo(({ mode, page, changePage, translated, classNames }) => {
|
|
|
151
151
|
const onClick = useCallback((_, id) => {
|
|
152
152
|
changePage(id);
|
|
153
153
|
}, [changePage]);
|
|
154
|
-
return (jsxs("div", { className: classNames.side, children: [jsx(SideNav, { className: classNames.unselectedSideNav, size: "
|
|
154
|
+
return (jsxs("div", { className: classNames.side, children: [jsx(SideNav, { className: classNames.unselectedSideNav, size: "S", items: unselectedItems, onClick: onClick }), jsx("hr", {}), jsxs(Section, { children: [jsx(MemoizedSubSubBlockHeading, { className: classNames.sideNavHeading, children: translated.listText }), jsx(SideNav, { className: classNames.selectedSideNav, size: "S", items: selectedItems, onClick: onClick })] }), jsx(HelpLinkArea, { className: classNames.help, children: translated.helpText })] }));
|
|
155
155
|
});
|
|
156
156
|
const HelpLinkArea = memo(({ children, className }) => (jsx("div", { className: className, children: jsx(HelpLink, { href: "https://support.smarthr.jp/ja/help/articles/2bfd350d-8e8b-4bbd-a209-426d2eb302cc/", target: "_blank", children: children }) })));
|
|
157
157
|
const MemoizedSubSubBlockHeading = memo(({ children, className }) => (jsx(Heading, { type: "subSubBlockTitle", className: className, children: children })));
|
|
@@ -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 { useTheme } from '../../../../hooks/useTheme'\nimport { useIntl } from '../../../../intl'\nimport { UnstyledButton } from '../../../Button'\nimport { Heading } from '../../../Heading'\nimport { FaCircleXmarkIcon, FaStarIcon } from '../../../Icon'\nimport { SearchInput } from '../../../Input'\nimport { Cluster } from '../../../Layout'\nimport { Scroller } from '../../../Scroller'\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]'],\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 <div 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 <Scroller className={classNames.scrollArea}>\n <AppLauncherFeatures features={features} page={page} />\n </Scroller>\n </Section>\n </div>\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 theme = useTheme()\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 ? theme.textColor.white : undefined} />,\n current: isFavorite,\n },\n ],\n [isFavorite, translated, theme.textColor.white],\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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"}
|
|
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 { useTheme } from '../../../../hooks/useTheme'\nimport { useIntl } from '../../../../intl'\nimport { UnstyledButton } from '../../../Button'\nimport { Heading } from '../../../Heading'\nimport { FaCircleXmarkIcon, FaStarIcon } from '../../../Icon'\nimport { SearchInput } from '../../../Input'\nimport { Cluster } from '../../../Layout'\nimport { Scroller } from '../../../Scroller'\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]'],\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 <div 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 <Scroller className={classNames.scrollArea}>\n <AppLauncherFeatures features={features} page={page} />\n </Scroller>\n </Section>\n </div>\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 theme = useTheme()\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 ? theme.textColor.white : undefined} />,\n current: isFavorite,\n },\n ],\n [isFavorite, translated, theme.textColor.white],\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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"}
|
|
@@ -64,7 +64,7 @@ const AppLauncherFilterDropdown = React.memo(({ page, onSelectPage }) => {
|
|
|
64
64
|
}), [localize]);
|
|
65
65
|
return (jsxRuntime.jsxs(components_Dropdown_Dropdown.Dropdown, { children: [jsxRuntime.jsx(MemoizedDropdownTrigger, { className: classNames.trigger, children: translated[page] }), jsxRuntime.jsx(components_Dropdown_DropdownContent.DropdownContent, { children: jsxRuntime.jsx(ContentBody, { page: page, onSelectPage: onSelectPage, translated: translated, className: classNames.contentBody, buttonClassName: classNames.contentButton }) })] }));
|
|
66
66
|
});
|
|
67
|
-
const MemoizedDropdownTrigger = React.memo(({ children, className }) => (jsxRuntime.jsx(components_Dropdown_DropdownTrigger.DropdownTrigger, { children: jsxRuntime.jsx(components_Button_Button.Button, { className: className, size: "
|
|
67
|
+
const MemoizedDropdownTrigger = React.memo(({ children, className }) => (jsxRuntime.jsx(components_Dropdown_DropdownTrigger.DropdownTrigger, { children: jsxRuntime.jsx(components_Button_Button.Button, { className: className, size: "S", suffix: jsxRuntime.jsx(components_Icon_FaIcon.FaCaretDownIcon, {}), children: jsxRuntime.jsx(components_AppHeader_components_common_Translate.Translate, { children: children }) }) })));
|
|
68
68
|
const ContentBody = React.memo(({ page, onSelectPage, translated, className, buttonClassName }) => {
|
|
69
69
|
const theme = hooks_useTheme.useTheme();
|
|
70
70
|
const isFavorite = page === 'favorite';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppLauncherFilterDropdown.cjs","sources":["../../../../../src/components/AppHeader/components/mobile/AppLauncherFilterDropdown.tsx"],"sourcesContent":["import { type MouseEvent, type PropsWithChildren, memo, useCallback, useMemo } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useTheme } from '../../../../hooks/useTheme'\nimport { useIntl } from '../../../../intl'\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\ntype Props = {\n page: Launcher['page']\n onSelectPage: (page: Launcher['page']) => void\n}\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-flex shr-flex-col shr-items-stretch shr-px-0.25 shr-py-0.5'],\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\nexport const AppLauncherFilterDropdown = memo<Props>(({ page, onSelectPage }) => {\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 favorite: localize({\n id: 'smarthr-ui/AppHeader/Launcher/favoriteModeText',\n defaultText: 'よく使うアプリ',\n }),\n all: localize({\n id: 'smarthr-ui/AppHeader/Launcher/allModeText',\n defaultText: 'すべてのアプリ',\n }),\n checkIconAlt: localize({\n id: 'smarthr-ui/AppHeader/Launcher/sortDropdownSelected',\n defaultText: '選択中',\n }),\n }),\n [localize],\n )\n\n return (\n <Dropdown>\n <MemoizedDropdownTrigger className={classNames.trigger}>\n {translated[page]}\n </MemoizedDropdownTrigger>\n <DropdownContent>\n <ContentBody\n page={page}\n onSelectPage={onSelectPage}\n translated={translated}\n className={classNames.contentBody}\n buttonClassName={classNames.contentButton}\n />\n </DropdownContent>\n </Dropdown>\n )\n})\n\nconst MemoizedDropdownTrigger = memo<PropsWithChildren<{ className: string }>>(\n ({ children, className }) => (\n <DropdownTrigger>\n <Button className={className} size=\"
|
|
1
|
+
{"version":3,"file":"AppLauncherFilterDropdown.cjs","sources":["../../../../../src/components/AppHeader/components/mobile/AppLauncherFilterDropdown.tsx"],"sourcesContent":["import { type MouseEvent, type PropsWithChildren, memo, useCallback, useMemo } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useTheme } from '../../../../hooks/useTheme'\nimport { useIntl } from '../../../../intl'\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\ntype Props = {\n page: Launcher['page']\n onSelectPage: (page: Launcher['page']) => void\n}\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-flex shr-flex-col shr-items-stretch shr-px-0.25 shr-py-0.5'],\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\nexport const AppLauncherFilterDropdown = memo<Props>(({ page, onSelectPage }) => {\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 favorite: localize({\n id: 'smarthr-ui/AppHeader/Launcher/favoriteModeText',\n defaultText: 'よく使うアプリ',\n }),\n all: localize({\n id: 'smarthr-ui/AppHeader/Launcher/allModeText',\n defaultText: 'すべてのアプリ',\n }),\n checkIconAlt: localize({\n id: 'smarthr-ui/AppHeader/Launcher/sortDropdownSelected',\n defaultText: '選択中',\n }),\n }),\n [localize],\n )\n\n return (\n <Dropdown>\n <MemoizedDropdownTrigger className={classNames.trigger}>\n {translated[page]}\n </MemoizedDropdownTrigger>\n <DropdownContent>\n <ContentBody\n page={page}\n onSelectPage={onSelectPage}\n translated={translated}\n className={classNames.contentBody}\n buttonClassName={classNames.contentButton}\n />\n </DropdownContent>\n </Dropdown>\n )\n})\n\nconst MemoizedDropdownTrigger = memo<PropsWithChildren<{ className: string }>>(\n ({ children, className }) => (\n <DropdownTrigger>\n <Button className={className} size=\"S\" suffix={<FaCaretDownIcon />}>\n <Translate>{children}</Translate>\n </Button>\n </DropdownTrigger>\n ),\n)\n\nconst ContentBody = memo<\n Props & {\n translated: { favorite: string; all: string; checkIconAlt: string }\n className: string\n buttonClassName: string\n }\n>(({ page, onSelectPage, translated, className, buttonClassName }) => {\n const theme = useTheme()\n const isFavorite = page === 'favorite'\n\n const onClickButton = useCallback(\n (e: MouseEvent<HTMLButtonElement>) => {\n onSelectPage(e.currentTarget.value as Launcher['page'])\n },\n [onSelectPage],\n )\n\n const buttonPrefix = (\n <FaCheckIcon\n color={theme.textColor.main}\n alt={<Translate>{translated.checkIconAlt}</Translate>}\n />\n )\n\n return (\n <div role=\"listbox\" className={className}>\n <Button\n value=\"favorite\"\n role=\"option\"\n aria-selected={isFavorite}\n onClick={onClickButton}\n className={buttonClassName}\n prefix={isFavorite && buttonPrefix}\n >\n <Translate>{translated.favorite}</Translate>\n </Button>\n <Button\n value=\"all\"\n role=\"option\"\n aria-selected={!isFavorite}\n onClick={onClickButton}\n className={buttonClassName}\n prefix={!isFavorite && buttonPrefix}\n >\n <Translate>{translated.all}</Translate>\n </Button>\n </div>\n )\n})\n"],"names":["tv","memo","useMemo","useIntl","_jsxs","Dropdown","_jsx","DropdownContent","DropdownTrigger","Button","FaCaretDownIcon","Translate","useTheme","useCallback","FaCheckIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,MAAM,kBAAkB,GAAGA,QAAE,CAAC;AAC5B,IAAA,KAAK,EAAE;AACL,QAAA,OAAO,EAAE;YACP,6CAA6C;YAC7C,4BAA4B;YAC5B,2DAA2D;AAC5D,SAAA;QACD,WAAW,EAAE,CAAC,gEAAgE,CAAC;AAC/E,QAAA,aAAa,EAAE;YACb,0EAA0E;YAC1E,wBAAwB;AACzB,SAAA;AACF,KAAA;AACF,CAAA,CAAC;AAEK,MAAM,yBAAyB,GAAGC,UAAI,CAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAI;AAC9E,IAAA,MAAM,UAAU,GAAGC,aAAO,CAAC,MAAK;QAC9B,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,kBAAkB,EAAE;QAEpE,OAAO;YACL,OAAO,EAAE,OAAO,EAAE;YAClB,WAAW,EAAE,WAAW,EAAE;YAC1B,aAAa,EAAE,aAAa,EAAE;SAC/B;IACH,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAGC,oBAAO,EAAE;AAC9B,IAAA,MAAM,UAAU,GAAGD,aAAO,CACxB,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC;AACjB,YAAA,EAAE,EAAE,gDAAgD;AACpD,YAAA,WAAW,EAAE,SAAS;SACvB,CAAC;QACF,GAAG,EAAE,QAAQ,CAAC;AACZ,YAAA,EAAE,EAAE,2CAA2C;AAC/C,YAAA,WAAW,EAAE,SAAS;SACvB,CAAC;QACF,YAAY,EAAE,QAAQ,CAAC;AACrB,YAAA,EAAE,EAAE,oDAAoD;AACxD,YAAA,WAAW,EAAE,KAAK;SACnB,CAAC;AACH,KAAA,CAAC,EACF,CAAC,QAAQ,CAAC,CACX;IAED,QACEE,eAAA,CAACC,qCAAQ,EAAA,EAAA,QAAA,EAAA,CACPC,cAAA,CAAC,uBAAuB,EAAA,EAAC,SAAS,EAAE,UAAU,CAAC,OAAO,YACnD,UAAU,CAAC,IAAI,CAAC,EAAA,CACO,EAC1BA,eAACC,mDAAe,EAAA,EAAA,QAAA,EACdD,cAAA,CAAC,WAAW,EAAA,EACV,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,UAAU,CAAC,WAAW,EACjC,eAAe,EAAE,UAAU,CAAC,aAAa,EAAA,CACzC,EAAA,CACc,CAAA,EAAA,CACT;AAEf,CAAC;AAED,MAAM,uBAAuB,GAAGL,UAAI,CAClC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,MACtBK,cAAA,CAACE,mDAAe,EAAA,EAAA,QAAA,EACdF,cAAA,CAACG,+BAAM,EAAA,EAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAC,GAAG,EAAC,MAAM,EAAEH,eAACI,sCAAe,EAAA,EAAA,CAAG,YAChEJ,cAAA,CAACK,0DAAS,cAAE,QAAQ,EAAA,CAAa,GAC1B,EAAA,CACO,CACnB,CACF;AAED,MAAM,WAAW,GAAGV,UAAI,CAMtB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,KAAI;AACnE,IAAA,MAAM,KAAK,GAAGW,uBAAQ,EAAE;AACxB,IAAA,MAAM,UAAU,GAAG,IAAI,KAAK,UAAU;AAEtC,IAAA,MAAM,aAAa,GAAGC,iBAAW,CAC/B,CAAC,CAAgC,KAAI;AACnC,QAAA,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,KAAyB,CAAC;AACzD,IAAA,CAAC,EACD,CAAC,YAAY,CAAC,CACf;IAED,MAAM,YAAY,IAChBP,cAAA,CAACQ,kCAAW,IACV,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAC3B,GAAG,EAAER,cAAA,CAACK,0DAAS,EAAA,EAAA,QAAA,EAAE,UAAU,CAAC,YAAY,EAAA,CAAa,EAAA,CACrD,CACH;AAED,IAAA,QACEP,eAAA,CAAA,KAAA,EAAA,EAAK,IAAI,EAAC,SAAS,EAAC,SAAS,EAAE,SAAS,EAAA,QAAA,EAAA,CACtCE,cAAA,CAACG,+BAAM,EAAA,EACL,KAAK,EAAC,UAAU,EAChB,IAAI,EAAC,QAAQ,EAAA,eAAA,EACE,UAAU,EACzB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,eAAe,EAC1B,MAAM,EAAE,UAAU,IAAI,YAAY,YAElCH,cAAA,CAACK,0DAAS,cAAE,UAAU,CAAC,QAAQ,EAAA,CAAa,GACrC,EACTL,cAAA,CAACG,+BAAM,EAAA,EACL,KAAK,EAAC,KAAK,EACX,IAAI,EAAC,QAAQ,EAAA,eAAA,EACE,CAAC,UAAU,EAC1B,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,eAAe,EAC1B,MAAM,EAAE,CAAC,UAAU,IAAI,YAAY,EAAA,QAAA,EAEnCH,eAACK,0DAAS,EAAA,EAAA,QAAA,EAAE,UAAU,CAAC,GAAG,GAAa,EAAA,CAChC,CAAA,EAAA,CACL;AAEV,CAAC,CAAC;;;;"}
|
|
@@ -62,7 +62,7 @@ const AppLauncherFilterDropdown = memo(({ page, onSelectPage }) => {
|
|
|
62
62
|
}), [localize]);
|
|
63
63
|
return (jsxs(Dropdown, { children: [jsx(MemoizedDropdownTrigger, { className: classNames.trigger, children: translated[page] }), jsx(DropdownContent, { children: jsx(ContentBody, { page: page, onSelectPage: onSelectPage, translated: translated, className: classNames.contentBody, buttonClassName: classNames.contentButton }) })] }));
|
|
64
64
|
});
|
|
65
|
-
const MemoizedDropdownTrigger = memo(({ children, className }) => (jsx(DropdownTrigger, { children: jsx(Button, { className: className, size: "
|
|
65
|
+
const MemoizedDropdownTrigger = memo(({ children, className }) => (jsx(DropdownTrigger, { children: jsx(Button, { className: className, size: "S", suffix: jsx(FaCaretDownIcon, {}), children: jsx(Translate, { children: children }) }) })));
|
|
66
66
|
const ContentBody = memo(({ page, onSelectPage, translated, className, buttonClassName }) => {
|
|
67
67
|
const theme = useTheme();
|
|
68
68
|
const isFavorite = page === 'favorite';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppLauncherFilterDropdown.js","sources":["../../../../../src/components/AppHeader/components/mobile/AppLauncherFilterDropdown.tsx"],"sourcesContent":["import { type MouseEvent, type PropsWithChildren, memo, useCallback, useMemo } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useTheme } from '../../../../hooks/useTheme'\nimport { useIntl } from '../../../../intl'\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\ntype Props = {\n page: Launcher['page']\n onSelectPage: (page: Launcher['page']) => void\n}\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-flex shr-flex-col shr-items-stretch shr-px-0.25 shr-py-0.5'],\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\nexport const AppLauncherFilterDropdown = memo<Props>(({ page, onSelectPage }) => {\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 favorite: localize({\n id: 'smarthr-ui/AppHeader/Launcher/favoriteModeText',\n defaultText: 'よく使うアプリ',\n }),\n all: localize({\n id: 'smarthr-ui/AppHeader/Launcher/allModeText',\n defaultText: 'すべてのアプリ',\n }),\n checkIconAlt: localize({\n id: 'smarthr-ui/AppHeader/Launcher/sortDropdownSelected',\n defaultText: '選択中',\n }),\n }),\n [localize],\n )\n\n return (\n <Dropdown>\n <MemoizedDropdownTrigger className={classNames.trigger}>\n {translated[page]}\n </MemoizedDropdownTrigger>\n <DropdownContent>\n <ContentBody\n page={page}\n onSelectPage={onSelectPage}\n translated={translated}\n className={classNames.contentBody}\n buttonClassName={classNames.contentButton}\n />\n </DropdownContent>\n </Dropdown>\n )\n})\n\nconst MemoizedDropdownTrigger = memo<PropsWithChildren<{ className: string }>>(\n ({ children, className }) => (\n <DropdownTrigger>\n <Button className={className} size=\"
|
|
1
|
+
{"version":3,"file":"AppLauncherFilterDropdown.js","sources":["../../../../../src/components/AppHeader/components/mobile/AppLauncherFilterDropdown.tsx"],"sourcesContent":["import { type MouseEvent, type PropsWithChildren, memo, useCallback, useMemo } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useTheme } from '../../../../hooks/useTheme'\nimport { useIntl } from '../../../../intl'\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\ntype Props = {\n page: Launcher['page']\n onSelectPage: (page: Launcher['page']) => void\n}\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-flex shr-flex-col shr-items-stretch shr-px-0.25 shr-py-0.5'],\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\nexport const AppLauncherFilterDropdown = memo<Props>(({ page, onSelectPage }) => {\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 favorite: localize({\n id: 'smarthr-ui/AppHeader/Launcher/favoriteModeText',\n defaultText: 'よく使うアプリ',\n }),\n all: localize({\n id: 'smarthr-ui/AppHeader/Launcher/allModeText',\n defaultText: 'すべてのアプリ',\n }),\n checkIconAlt: localize({\n id: 'smarthr-ui/AppHeader/Launcher/sortDropdownSelected',\n defaultText: '選択中',\n }),\n }),\n [localize],\n )\n\n return (\n <Dropdown>\n <MemoizedDropdownTrigger className={classNames.trigger}>\n {translated[page]}\n </MemoizedDropdownTrigger>\n <DropdownContent>\n <ContentBody\n page={page}\n onSelectPage={onSelectPage}\n translated={translated}\n className={classNames.contentBody}\n buttonClassName={classNames.contentButton}\n />\n </DropdownContent>\n </Dropdown>\n )\n})\n\nconst MemoizedDropdownTrigger = memo<PropsWithChildren<{ className: string }>>(\n ({ children, className }) => (\n <DropdownTrigger>\n <Button className={className} size=\"S\" suffix={<FaCaretDownIcon />}>\n <Translate>{children}</Translate>\n </Button>\n </DropdownTrigger>\n ),\n)\n\nconst ContentBody = memo<\n Props & {\n translated: { favorite: string; all: string; checkIconAlt: string }\n className: string\n buttonClassName: string\n }\n>(({ page, onSelectPage, translated, className, buttonClassName }) => {\n const theme = useTheme()\n const isFavorite = page === 'favorite'\n\n const onClickButton = useCallback(\n (e: MouseEvent<HTMLButtonElement>) => {\n onSelectPage(e.currentTarget.value as Launcher['page'])\n },\n [onSelectPage],\n )\n\n const buttonPrefix = (\n <FaCheckIcon\n color={theme.textColor.main}\n alt={<Translate>{translated.checkIconAlt}</Translate>}\n />\n )\n\n return (\n <div role=\"listbox\" className={className}>\n <Button\n value=\"favorite\"\n role=\"option\"\n aria-selected={isFavorite}\n onClick={onClickButton}\n className={buttonClassName}\n prefix={isFavorite && buttonPrefix}\n >\n <Translate>{translated.favorite}</Translate>\n </Button>\n <Button\n value=\"all\"\n role=\"option\"\n aria-selected={!isFavorite}\n onClick={onClickButton}\n className={buttonClassName}\n prefix={!isFavorite && buttonPrefix}\n >\n <Translate>{translated.all}</Translate>\n </Button>\n </div>\n )\n})\n"],"names":["tv","_jsxs","_jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAiBA,MAAM,kBAAkB,GAAGA,EAAE,CAAC;AAC5B,IAAA,KAAK,EAAE;AACL,QAAA,OAAO,EAAE;YACP,6CAA6C;YAC7C,4BAA4B;YAC5B,2DAA2D;AAC5D,SAAA;QACD,WAAW,EAAE,CAAC,gEAAgE,CAAC;AAC/E,QAAA,aAAa,EAAE;YACb,0EAA0E;YAC1E,wBAAwB;AACzB,SAAA;AACF,KAAA;AACF,CAAA,CAAC;AAEK,MAAM,yBAAyB,GAAG,IAAI,CAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAI;AAC9E,IAAA,MAAM,UAAU,GAAG,OAAO,CAAC,MAAK;QAC9B,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,kBAAkB,EAAE;QAEpE,OAAO;YACL,OAAO,EAAE,OAAO,EAAE;YAClB,WAAW,EAAE,WAAW,EAAE;YAC1B,aAAa,EAAE,aAAa,EAAE;SAC/B;IACH,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE;AAC9B,IAAA,MAAM,UAAU,GAAG,OAAO,CACxB,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC;AACjB,YAAA,EAAE,EAAE,gDAAgD;AACpD,YAAA,WAAW,EAAE,SAAS;SACvB,CAAC;QACF,GAAG,EAAE,QAAQ,CAAC;AACZ,YAAA,EAAE,EAAE,2CAA2C;AAC/C,YAAA,WAAW,EAAE,SAAS;SACvB,CAAC;QACF,YAAY,EAAE,QAAQ,CAAC;AACrB,YAAA,EAAE,EAAE,oDAAoD;AACxD,YAAA,WAAW,EAAE,KAAK;SACnB,CAAC;AACH,KAAA,CAAC,EACF,CAAC,QAAQ,CAAC,CACX;IAED,QACEC,IAAA,CAAC,QAAQ,EAAA,EAAA,QAAA,EAAA,CACPC,GAAA,CAAC,uBAAuB,EAAA,EAAC,SAAS,EAAE,UAAU,CAAC,OAAO,YACnD,UAAU,CAAC,IAAI,CAAC,EAAA,CACO,EAC1BA,IAAC,eAAe,EAAA,EAAA,QAAA,EACdA,GAAA,CAAC,WAAW,EAAA,EACV,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,UAAU,CAAC,WAAW,EACjC,eAAe,EAAE,UAAU,CAAC,aAAa,EAAA,CACzC,EAAA,CACc,CAAA,EAAA,CACT;AAEf,CAAC;AAED,MAAM,uBAAuB,GAAG,IAAI,CAClC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,MACtBA,GAAA,CAAC,eAAe,EAAA,EAAA,QAAA,EACdA,GAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAC,GAAG,EAAC,MAAM,EAAEA,IAAC,eAAe,EAAA,EAAA,CAAG,YAChEA,GAAA,CAAC,SAAS,cAAE,QAAQ,EAAA,CAAa,GAC1B,EAAA,CACO,CACnB,CACF;AAED,MAAM,WAAW,GAAG,IAAI,CAMtB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,KAAI;AACnE,IAAA,MAAM,KAAK,GAAG,QAAQ,EAAE;AACxB,IAAA,MAAM,UAAU,GAAG,IAAI,KAAK,UAAU;AAEtC,IAAA,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,CAAgC,KAAI;AACnC,QAAA,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,KAAyB,CAAC;AACzD,IAAA,CAAC,EACD,CAAC,YAAY,CAAC,CACf;IAED,MAAM,YAAY,IAChBA,GAAA,CAAC,WAAW,IACV,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAC3B,GAAG,EAAEA,GAAA,CAAC,SAAS,EAAA,EAAA,QAAA,EAAE,UAAU,CAAC,YAAY,EAAA,CAAa,EAAA,CACrD,CACH;AAED,IAAA,QACED,IAAA,CAAA,KAAA,EAAA,EAAK,IAAI,EAAC,SAAS,EAAC,SAAS,EAAE,SAAS,EAAA,QAAA,EAAA,CACtCC,GAAA,CAAC,MAAM,EAAA,EACL,KAAK,EAAC,UAAU,EAChB,IAAI,EAAC,QAAQ,EAAA,eAAA,EACE,UAAU,EACzB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,eAAe,EAC1B,MAAM,EAAE,UAAU,IAAI,YAAY,YAElCA,GAAA,CAAC,SAAS,cAAE,UAAU,CAAC,QAAQ,EAAA,CAAa,GACrC,EACTA,GAAA,CAAC,MAAM,EAAA,EACL,KAAK,EAAC,KAAK,EACX,IAAI,EAAC,QAAQ,EAAA,eAAA,EACE,CAAC,UAAU,EAC1B,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,eAAe,EAC1B,MAAM,EAAE,CAAC,UAAU,IAAI,YAAY,EAAA,QAAA,EAEnCA,IAAC,SAAS,EAAA,EAAA,QAAA,EAAE,UAAU,CAAC,GAAG,GAAa,EAAA,CAChC,CAAA,EAAA,CACL;AAEV,CAAC,CAAC;;;;"}
|
|
@@ -30,7 +30,7 @@ const MemoizedDropdownTrigger = React.memo(() => {
|
|
|
30
30
|
const translated = React.useMemo(() => ({
|
|
31
31
|
help: localize({ id: 'smarthr-ui/AppHeader/help', defaultText: 'ヘルプ' }),
|
|
32
32
|
}), [localize]);
|
|
33
|
-
return (jsxRuntime.jsx(components_Dropdown_DropdownTrigger.DropdownTrigger, { children: jsxRuntime.jsx(components_Button_Button.Button, { variant: "skeleton", size: "
|
|
33
|
+
return (jsxRuntime.jsx(components_Dropdown_DropdownTrigger.DropdownTrigger, { children: jsxRuntime.jsx(components_Button_Button.Button, { variant: "skeleton", size: "S", className: "[&&&]:shr-border-transparent", children: jsxRuntime.jsx(components_Icon_FaIcon.FaCircleQuestionIcon, { alt: translated.help }) }) }));
|
|
34
34
|
});
|
|
35
35
|
const ContentBody = React.memo(({ helpPageUrl, schoolUrl }) => {
|
|
36
36
|
const { localize } = intl_useIntl.useIntl();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Help.cjs","sources":["../../../../../src/components/AppHeader/components/mobile/Help.tsx"],"sourcesContent":["import { type FC, memo, useMemo } from 'react'\n\nimport { useIntl } from '../../../../intl'\nimport { Button } from '../../../Button'\nimport { Dropdown, DropdownContent, DropdownTrigger } from '../../../Dropdown'\nimport { FaCircleQuestionIcon, FaGraduationCapIcon } from '../../../Icon'\nimport { CommonButton } from '../common/CommonButton'\nimport { Translate } from '../common/Translate'\n\ntype Props = {\n helpPageUrl?: string | null\n schoolUrl?: string | null\n}\n\nexport const Help = memo<Props>(({ helpPageUrl, schoolUrl }) =>\n helpPageUrl || schoolUrl ? <ActualHelp helpPageUrl={helpPageUrl} schoolUrl={schoolUrl} /> : null,\n)\n\nconst ActualHelp: FC<Props> = ({ helpPageUrl, schoolUrl }) => (\n <Dropdown>\n <MemoizedDropdownTrigger />\n <DropdownContent controllable>\n <ContentBody helpPageUrl={helpPageUrl} schoolUrl={schoolUrl} />\n </DropdownContent>\n </Dropdown>\n)\n\nconst MemoizedDropdownTrigger = memo(() => {\n const { localize } = useIntl()\n const translated = useMemo(\n () => ({\n help: localize({ id: 'smarthr-ui/AppHeader/help', defaultText: 'ヘルプ' }),\n }),\n [localize],\n )\n\n return (\n <DropdownTrigger>\n <Button variant=\"skeleton\" size=\"
|
|
1
|
+
{"version":3,"file":"Help.cjs","sources":["../../../../../src/components/AppHeader/components/mobile/Help.tsx"],"sourcesContent":["import { type FC, memo, useMemo } from 'react'\n\nimport { useIntl } from '../../../../intl'\nimport { Button } from '../../../Button'\nimport { Dropdown, DropdownContent, DropdownTrigger } from '../../../Dropdown'\nimport { FaCircleQuestionIcon, FaGraduationCapIcon } from '../../../Icon'\nimport { CommonButton } from '../common/CommonButton'\nimport { Translate } from '../common/Translate'\n\ntype Props = {\n helpPageUrl?: string | null\n schoolUrl?: string | null\n}\n\nexport const Help = memo<Props>(({ helpPageUrl, schoolUrl }) =>\n helpPageUrl || schoolUrl ? <ActualHelp helpPageUrl={helpPageUrl} schoolUrl={schoolUrl} /> : null,\n)\n\nconst ActualHelp: FC<Props> = ({ helpPageUrl, schoolUrl }) => (\n <Dropdown>\n <MemoizedDropdownTrigger />\n <DropdownContent controllable>\n <ContentBody helpPageUrl={helpPageUrl} schoolUrl={schoolUrl} />\n </DropdownContent>\n </Dropdown>\n)\n\nconst MemoizedDropdownTrigger = memo(() => {\n const { localize } = useIntl()\n const translated = useMemo(\n () => ({\n help: localize({ id: 'smarthr-ui/AppHeader/help', defaultText: 'ヘルプ' }),\n }),\n [localize],\n )\n\n return (\n <DropdownTrigger>\n <Button variant=\"skeleton\" size=\"S\" className=\"[&&&]:shr-border-transparent\">\n <FaCircleQuestionIcon alt={translated.help} />\n </Button>\n </DropdownTrigger>\n )\n})\n\nconst ContentBody = memo<Props>(({ helpPageUrl, schoolUrl }) => {\n const { localize } = useIntl()\n const translated = useMemo(\n () => ({\n help: localize({ id: 'smarthr-ui/AppHeader/help', defaultText: 'ヘルプ' }),\n school: localize({ id: 'smarthr-ui/AppHeader/school', defaultText: 'スクール' }),\n }),\n [localize],\n )\n\n return (\n <div className=\"shr-p-0.5\">\n {helpPageUrl && (\n <CommonButton\n elementAs=\"a\"\n href={helpPageUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n prefix={<FaCircleQuestionIcon />}\n >\n <Translate>{translated.help}</Translate>\n </CommonButton>\n )}\n {schoolUrl && (\n <CommonButton\n elementAs=\"a\"\n href={schoolUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n prefix={<FaGraduationCapIcon />}\n >\n <Translate>{translated.school}</Translate>\n </CommonButton>\n )}\n </div>\n )\n})\n"],"names":["memo","_jsx","_jsxs","Dropdown","DropdownContent","useIntl","useMemo","DropdownTrigger","Button","FaCircleQuestionIcon","CommonButton","Translate","FaGraduationCapIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAcO,MAAM,IAAI,GAAGA,UAAI,CAAQ,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,KACzD,WAAW,IAAI,SAAS,GAAGC,cAAA,CAAC,UAAU,EAAA,EAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAA,CAAI,GAAG,IAAI;AAGlG,MAAM,UAAU,GAAc,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,MACvDC,eAAA,CAACC,qCAAQ,EAAA,EAAA,QAAA,EAAA,CACPF,cAAA,CAAC,uBAAuB,EAAA,EAAA,CAAG,EAC3BA,cAAA,CAACG,mDAAe,IAAC,YAAY,EAAA,IAAA,EAAA,QAAA,EAC3BH,cAAA,CAAC,WAAW,IAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,GAAI,EAAA,CAC/C,CAAA,EAAA,CACT,CACZ;AAED,MAAM,uBAAuB,GAAGD,UAAI,CAAC,MAAK;AACxC,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAGK,oBAAO,EAAE;AAC9B,IAAA,MAAM,UAAU,GAAGC,aAAO,CACxB,OAAO;AACL,QAAA,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,2BAA2B,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AACxE,KAAA,CAAC,EACF,CAAC,QAAQ,CAAC,CACX;AAED,IAAA,QACEL,cAAA,CAACM,mDAAe,EAAA,EAAA,QAAA,EACdN,cAAA,CAACO,+BAAM,EAAA,EAAC,OAAO,EAAC,UAAU,EAAC,IAAI,EAAC,GAAG,EAAC,SAAS,EAAC,8BAA8B,EAAA,QAAA,EAC1EP,cAAA,CAACQ,2CAAoB,IAAC,GAAG,EAAE,UAAU,CAAC,IAAI,EAAA,CAAI,EAAA,CACvC,EAAA,CACO;AAEtB,CAAC,CAAC;AAEF,MAAM,WAAW,GAAGT,UAAI,CAAQ,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,KAAI;AAC7D,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAGK,oBAAO,EAAE;AAC9B,IAAA,MAAM,UAAU,GAAGC,aAAO,CACxB,OAAO;AACL,QAAA,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,2BAA2B,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AACvE,QAAA,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,6BAA6B,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AAC7E,KAAA,CAAC,EACF,CAAC,QAAQ,CAAC,CACX;AAED,IAAA,QACEJ,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,WAAW,aACvB,WAAW,KACVD,cAAA,CAACS,gEAAY,EAAA,EACX,SAAS,EAAC,GAAG,EACb,IAAI,EAAE,WAAW,EACjB,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,MAAM,EAAET,cAAA,CAACQ,2CAAoB,KAAG,EAAA,QAAA,EAEhCR,cAAA,CAACU,0DAAS,EAAA,EAAA,QAAA,EAAE,UAAU,CAAC,IAAI,EAAA,CAAa,EAAA,CAC3B,CAChB,EACA,SAAS,KACRV,cAAA,CAACS,gEAAY,IACX,SAAS,EAAC,GAAG,EACb,IAAI,EAAE,SAAS,EACf,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,MAAM,EAAET,eAACW,0CAAmB,EAAA,EAAA,CAAG,YAE/BX,cAAA,CAACU,0DAAS,EAAA,EAAA,QAAA,EAAE,UAAU,CAAC,MAAM,EAAA,CAAa,GAC7B,CAChB,CAAA,EAAA,CACG;AAEV,CAAC,CAAC;;;;"}
|
|
@@ -28,7 +28,7 @@ const MemoizedDropdownTrigger = memo(() => {
|
|
|
28
28
|
const translated = useMemo(() => ({
|
|
29
29
|
help: localize({ id: 'smarthr-ui/AppHeader/help', defaultText: 'ヘルプ' }),
|
|
30
30
|
}), [localize]);
|
|
31
|
-
return (jsx(DropdownTrigger, { children: jsx(Button, { variant: "skeleton", size: "
|
|
31
|
+
return (jsx(DropdownTrigger, { children: jsx(Button, { variant: "skeleton", size: "S", className: "[&&&]:shr-border-transparent", children: jsx(FaCircleQuestionIcon, { alt: translated.help }) }) }));
|
|
32
32
|
});
|
|
33
33
|
const ContentBody = memo(({ helpPageUrl, schoolUrl }) => {
|
|
34
34
|
const { localize } = useIntl();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Help.js","sources":["../../../../../src/components/AppHeader/components/mobile/Help.tsx"],"sourcesContent":["import { type FC, memo, useMemo } from 'react'\n\nimport { useIntl } from '../../../../intl'\nimport { Button } from '../../../Button'\nimport { Dropdown, DropdownContent, DropdownTrigger } from '../../../Dropdown'\nimport { FaCircleQuestionIcon, FaGraduationCapIcon } from '../../../Icon'\nimport { CommonButton } from '../common/CommonButton'\nimport { Translate } from '../common/Translate'\n\ntype Props = {\n helpPageUrl?: string | null\n schoolUrl?: string | null\n}\n\nexport const Help = memo<Props>(({ helpPageUrl, schoolUrl }) =>\n helpPageUrl || schoolUrl ? <ActualHelp helpPageUrl={helpPageUrl} schoolUrl={schoolUrl} /> : null,\n)\n\nconst ActualHelp: FC<Props> = ({ helpPageUrl, schoolUrl }) => (\n <Dropdown>\n <MemoizedDropdownTrigger />\n <DropdownContent controllable>\n <ContentBody helpPageUrl={helpPageUrl} schoolUrl={schoolUrl} />\n </DropdownContent>\n </Dropdown>\n)\n\nconst MemoizedDropdownTrigger = memo(() => {\n const { localize } = useIntl()\n const translated = useMemo(\n () => ({\n help: localize({ id: 'smarthr-ui/AppHeader/help', defaultText: 'ヘルプ' }),\n }),\n [localize],\n )\n\n return (\n <DropdownTrigger>\n <Button variant=\"skeleton\" size=\"
|
|
1
|
+
{"version":3,"file":"Help.js","sources":["../../../../../src/components/AppHeader/components/mobile/Help.tsx"],"sourcesContent":["import { type FC, memo, useMemo } from 'react'\n\nimport { useIntl } from '../../../../intl'\nimport { Button } from '../../../Button'\nimport { Dropdown, DropdownContent, DropdownTrigger } from '../../../Dropdown'\nimport { FaCircleQuestionIcon, FaGraduationCapIcon } from '../../../Icon'\nimport { CommonButton } from '../common/CommonButton'\nimport { Translate } from '../common/Translate'\n\ntype Props = {\n helpPageUrl?: string | null\n schoolUrl?: string | null\n}\n\nexport const Help = memo<Props>(({ helpPageUrl, schoolUrl }) =>\n helpPageUrl || schoolUrl ? <ActualHelp helpPageUrl={helpPageUrl} schoolUrl={schoolUrl} /> : null,\n)\n\nconst ActualHelp: FC<Props> = ({ helpPageUrl, schoolUrl }) => (\n <Dropdown>\n <MemoizedDropdownTrigger />\n <DropdownContent controllable>\n <ContentBody helpPageUrl={helpPageUrl} schoolUrl={schoolUrl} />\n </DropdownContent>\n </Dropdown>\n)\n\nconst MemoizedDropdownTrigger = memo(() => {\n const { localize } = useIntl()\n const translated = useMemo(\n () => ({\n help: localize({ id: 'smarthr-ui/AppHeader/help', defaultText: 'ヘルプ' }),\n }),\n [localize],\n )\n\n return (\n <DropdownTrigger>\n <Button variant=\"skeleton\" size=\"S\" className=\"[&&&]:shr-border-transparent\">\n <FaCircleQuestionIcon alt={translated.help} />\n </Button>\n </DropdownTrigger>\n )\n})\n\nconst ContentBody = memo<Props>(({ helpPageUrl, schoolUrl }) => {\n const { localize } = useIntl()\n const translated = useMemo(\n () => ({\n help: localize({ id: 'smarthr-ui/AppHeader/help', defaultText: 'ヘルプ' }),\n school: localize({ id: 'smarthr-ui/AppHeader/school', defaultText: 'スクール' }),\n }),\n [localize],\n )\n\n return (\n <div className=\"shr-p-0.5\">\n {helpPageUrl && (\n <CommonButton\n elementAs=\"a\"\n href={helpPageUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n prefix={<FaCircleQuestionIcon />}\n >\n <Translate>{translated.help}</Translate>\n </CommonButton>\n )}\n {schoolUrl && (\n <CommonButton\n elementAs=\"a\"\n href={schoolUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n prefix={<FaGraduationCapIcon />}\n >\n <Translate>{translated.school}</Translate>\n </CommonButton>\n )}\n </div>\n )\n})\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAcO,MAAM,IAAI,GAAG,IAAI,CAAQ,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,KACzD,WAAW,IAAI,SAAS,GAAGA,GAAA,CAAC,UAAU,EAAA,EAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAA,CAAI,GAAG,IAAI;AAGlG,MAAM,UAAU,GAAc,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,MACvDC,IAAA,CAAC,QAAQ,EAAA,EAAA,QAAA,EAAA,CACPD,GAAA,CAAC,uBAAuB,EAAA,EAAA,CAAG,EAC3BA,GAAA,CAAC,eAAe,IAAC,YAAY,EAAA,IAAA,EAAA,QAAA,EAC3BA,GAAA,CAAC,WAAW,IAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,GAAI,EAAA,CAC/C,CAAA,EAAA,CACT,CACZ;AAED,MAAM,uBAAuB,GAAG,IAAI,CAAC,MAAK;AACxC,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE;AAC9B,IAAA,MAAM,UAAU,GAAG,OAAO,CACxB,OAAO;AACL,QAAA,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,2BAA2B,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AACxE,KAAA,CAAC,EACF,CAAC,QAAQ,CAAC,CACX;AAED,IAAA,QACEA,GAAA,CAAC,eAAe,EAAA,EAAA,QAAA,EACdA,GAAA,CAAC,MAAM,EAAA,EAAC,OAAO,EAAC,UAAU,EAAC,IAAI,EAAC,GAAG,EAAC,SAAS,EAAC,8BAA8B,EAAA,QAAA,EAC1EA,GAAA,CAAC,oBAAoB,IAAC,GAAG,EAAE,UAAU,CAAC,IAAI,EAAA,CAAI,EAAA,CACvC,EAAA,CACO;AAEtB,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,IAAI,CAAQ,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,KAAI;AAC7D,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE;AAC9B,IAAA,MAAM,UAAU,GAAG,OAAO,CACxB,OAAO;AACL,QAAA,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,2BAA2B,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AACvE,QAAA,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,6BAA6B,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AAC7E,KAAA,CAAC,EACF,CAAC,QAAQ,CAAC,CACX;AAED,IAAA,QACEC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,WAAW,aACvB,WAAW,KACVD,GAAA,CAAC,YAAY,EAAA,EACX,SAAS,EAAC,GAAG,EACb,IAAI,EAAE,WAAW,EACjB,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,MAAM,EAAEA,GAAA,CAAC,oBAAoB,KAAG,EAAA,QAAA,EAEhCA,GAAA,CAAC,SAAS,EAAA,EAAA,QAAA,EAAE,UAAU,CAAC,IAAI,EAAA,CAAa,EAAA,CAC3B,CAChB,EACA,SAAS,KACRA,GAAA,CAAC,YAAY,IACX,SAAS,EAAC,GAAG,EACb,IAAI,EAAE,SAAS,EACf,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,MAAM,EAAEA,IAAC,mBAAmB,EAAA,EAAA,CAAG,YAE/BA,GAAA,CAAC,SAAS,EAAA,EAAA,QAAA,EAAE,UAAU,CAAC,MAAM,EAAA,CAAa,GAC7B,CAChB,CAAA,EAAA,CACG;AAEV,CAAC,CAAC;;;;"}
|
|
@@ -50,7 +50,7 @@ const LanguageSelector = React.memo(({ locale: localeProps, onClickClose }) => {
|
|
|
50
50
|
}, [localeProps]);
|
|
51
51
|
return (jsxRuntime.jsxs(components_SectioningContent_SectioningContent.Section, { children: [jsxRuntime.jsx(SelectorHeading, { onClickClose: onClickClose, wrapperClassName: classNames.header, className: classNames.headerTitle }), jsxRuntime.jsx("div", { className: classNames.buttonWrapper, children: locales.map(([localeKey, label]) => (jsxRuntime.jsx(LocaleButton, { value: localeKey, onClick: onClickLocale, selected: localeKey === locale, className: classNames.button, children: label }, localeKey))) })] }));
|
|
52
52
|
});
|
|
53
|
-
const SelectorHeading = React.memo(({ onClickClose, wrapperClassName, className }) => (jsxRuntime.jsxs("div", { className: wrapperClassName, children: [jsxRuntime.jsx(components_Heading_Heading.Heading, { className: className, children: "Language" }), jsxRuntime.jsx(components_Button_Button.Button, { type: "button", size: "
|
|
53
|
+
const SelectorHeading = React.memo(({ onClickClose, wrapperClassName, className }) => (jsxRuntime.jsxs("div", { className: wrapperClassName, children: [jsxRuntime.jsx(components_Heading_Heading.Heading, { className: className, children: "Language" }), jsxRuntime.jsx(components_Button_Button.Button, { type: "button", size: "S", onClick: onClickClose, children: jsxRuntime.jsx(components_Icon_FaIcon.FaXmarkIcon, { alt: "close" }) })] })));
|
|
54
54
|
const LocaleButton = React.memo(({ value, selected, className, children, onClick }) => (jsxRuntime.jsx(components_AppHeader_components_common_CommonButton.CommonButton, { elementAs: "button", type: "button", value: value, onClick: onClick, prefix: selected && jsxRuntime.jsx(components_Icon_FaIcon.FaCheckIcon, { color: "MAIN" }), className: className, children: children })));
|
|
55
55
|
|
|
56
56
|
exports.LanguageSelector = LanguageSelector;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LanguageSelector.cjs","sources":["../../../../../src/components/AppHeader/components/mobile/LanguageSelector.tsx"],"sourcesContent":["import { type MouseEvent, memo, useCallback, useMemo } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useIntl } from '../../../../intl'\nimport { type Locale, localeMap } from '../../../../intl'\nimport { Button } from '../../../Button'\nimport { Heading } from '../../../Heading'\nimport { FaCheckIcon, FaXmarkIcon } from '../../../Icon'\nimport { Section } from '../../../SectioningContent'\nimport { CommonButton } from '../common/CommonButton'\n\nimport type { LocaleProps } from '../../types'\n\nconst classNameGenerator = tv({\n slots: {\n header: [\n 'shr-border-b-shorthand shr-flex shr-items-center shr-justify-between shr-gap-1 shr-px-1 shr-py-0.75',\n ],\n headerTitle: ['shr-font-normal [&&]:shr-text-base'],\n buttonWrapper: ['shr-p-0.5'],\n button: ['[&&:not(:has(svg))]:shr-ps-2.5'],\n },\n})\n\ntype Props = {\n locale: LocaleProps\n onClickClose: () => void\n}\n\nexport const LanguageSelector = memo<Props>(({ locale: localeProps, onClickClose }) => {\n const { locale, availableLocales } = useIntl()\n const { locales } = useMemo(\n () => ({\n locales: Object.entries(localeMap).filter(([code]) => availableLocales.includes(code)),\n }),\n [availableLocales],\n )\n const classNames = useMemo(() => {\n const { header, headerTitle, buttonWrapper, button } = classNameGenerator()\n\n return {\n header: header(),\n headerTitle: headerTitle(),\n buttonWrapper: buttonWrapper(),\n button: button(),\n }\n }, [])\n\n const onClickLocale = useCallback(\n (e: MouseEvent<HTMLButtonElement>) => {\n localeProps.onSelectLocale(e.currentTarget.value as Locale)\n },\n [localeProps],\n )\n\n return (\n <Section>\n <SelectorHeading\n onClickClose={onClickClose}\n wrapperClassName={classNames.header}\n className={classNames.headerTitle}\n />\n <div className={classNames.buttonWrapper}>\n {locales.map(([localeKey, label]) => (\n <LocaleButton\n key={localeKey}\n value={localeKey as Locale}\n onClick={onClickLocale}\n selected={localeKey === locale}\n className={classNames.button}\n >\n {label}\n </LocaleButton>\n ))}\n </div>\n </Section>\n )\n})\n\nconst SelectorHeading = memo<\n Pick<Props, 'onClickClose'> & { wrapperClassName: string; className: string }\n>(({ onClickClose, wrapperClassName, className }) => (\n <div className={wrapperClassName}>\n {/* eslint-disable-next-line smarthr/require-i18n-text */}\n <Heading className={className}>Language</Heading>\n <Button type=\"button\" size=\"
|
|
1
|
+
{"version":3,"file":"LanguageSelector.cjs","sources":["../../../../../src/components/AppHeader/components/mobile/LanguageSelector.tsx"],"sourcesContent":["import { type MouseEvent, memo, useCallback, useMemo } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useIntl } from '../../../../intl'\nimport { type Locale, localeMap } from '../../../../intl'\nimport { Button } from '../../../Button'\nimport { Heading } from '../../../Heading'\nimport { FaCheckIcon, FaXmarkIcon } from '../../../Icon'\nimport { Section } from '../../../SectioningContent'\nimport { CommonButton } from '../common/CommonButton'\n\nimport type { LocaleProps } from '../../types'\n\nconst classNameGenerator = tv({\n slots: {\n header: [\n 'shr-border-b-shorthand shr-flex shr-items-center shr-justify-between shr-gap-1 shr-px-1 shr-py-0.75',\n ],\n headerTitle: ['shr-font-normal [&&]:shr-text-base'],\n buttonWrapper: ['shr-p-0.5'],\n button: ['[&&:not(:has(svg))]:shr-ps-2.5'],\n },\n})\n\ntype Props = {\n locale: LocaleProps\n onClickClose: () => void\n}\n\nexport const LanguageSelector = memo<Props>(({ locale: localeProps, onClickClose }) => {\n const { locale, availableLocales } = useIntl()\n const { locales } = useMemo(\n () => ({\n locales: Object.entries(localeMap).filter(([code]) => availableLocales.includes(code)),\n }),\n [availableLocales],\n )\n const classNames = useMemo(() => {\n const { header, headerTitle, buttonWrapper, button } = classNameGenerator()\n\n return {\n header: header(),\n headerTitle: headerTitle(),\n buttonWrapper: buttonWrapper(),\n button: button(),\n }\n }, [])\n\n const onClickLocale = useCallback(\n (e: MouseEvent<HTMLButtonElement>) => {\n localeProps.onSelectLocale(e.currentTarget.value as Locale)\n },\n [localeProps],\n )\n\n return (\n <Section>\n <SelectorHeading\n onClickClose={onClickClose}\n wrapperClassName={classNames.header}\n className={classNames.headerTitle}\n />\n <div className={classNames.buttonWrapper}>\n {locales.map(([localeKey, label]) => (\n <LocaleButton\n key={localeKey}\n value={localeKey as Locale}\n onClick={onClickLocale}\n selected={localeKey === locale}\n className={classNames.button}\n >\n {label}\n </LocaleButton>\n ))}\n </div>\n </Section>\n )\n})\n\nconst SelectorHeading = memo<\n Pick<Props, 'onClickClose'> & { wrapperClassName: string; className: string }\n>(({ onClickClose, wrapperClassName, className }) => (\n <div className={wrapperClassName}>\n {/* eslint-disable-next-line smarthr/require-i18n-text */}\n <Heading className={className}>Language</Heading>\n <Button type=\"button\" size=\"S\" onClick={onClickClose}>\n {/* eslint-disable-next-line smarthr/require-i18n-text */}\n <FaXmarkIcon alt=\"close\" />\n </Button>\n </div>\n))\n\nconst LocaleButton = memo<{\n value: Locale\n selected: boolean\n className: string\n children: string\n onClick: (e: MouseEvent<HTMLButtonElement>) => void\n}>(({ value, selected, className, children, onClick }) => (\n <CommonButton\n elementAs=\"button\"\n type=\"button\"\n value={value}\n onClick={onClick}\n prefix={selected && <FaCheckIcon color=\"MAIN\" />}\n className={className}\n >\n {children}\n </CommonButton>\n))\n"],"names":["tv","memo","useIntl","useMemo","localeMap","useCallback","_jsxs","Section","_jsx","Heading","Button","FaXmarkIcon","CommonButton","FaCheckIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAaA,MAAM,kBAAkB,GAAGA,QAAE,CAAC;AAC5B,IAAA,KAAK,EAAE;AACL,QAAA,MAAM,EAAE;YACN,qGAAqG;AACtG,SAAA;QACD,WAAW,EAAE,CAAC,oCAAoC,CAAC;QACnD,aAAa,EAAE,CAAC,WAAW,CAAC;QAC5B,MAAM,EAAE,CAAC,gCAAgC,CAAC;AAC3C,KAAA;AACF,CAAA,CAAC;AAOK,MAAM,gBAAgB,GAAGC,UAAI,CAAQ,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,KAAI;IACpF,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAGC,oBAAO,EAAE;IAC9C,MAAM,EAAE,OAAO,EAAE,GAAGC,aAAO,CACzB,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO,CAACC,wBAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACvF,KAAA,CAAC,EACF,CAAC,gBAAgB,CAAC,CACnB;AACD,IAAA,MAAM,UAAU,GAAGD,aAAO,CAAC,MAAK;AAC9B,QAAA,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE;QAE3E,OAAO;YACL,MAAM,EAAE,MAAM,EAAE;YAChB,WAAW,EAAE,WAAW,EAAE;YAC1B,aAAa,EAAE,aAAa,EAAE;YAC9B,MAAM,EAAE,MAAM,EAAE;SACjB;IACH,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,MAAM,aAAa,GAAGE,iBAAW,CAC/B,CAAC,CAAgC,KAAI;QACnC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,KAAe,CAAC;AAC7D,IAAA,CAAC,EACD,CAAC,WAAW,CAAC,CACd;AAED,IAAA,QACEC,eAAA,CAACC,sDAAO,EAAA,EAAA,QAAA,EAAA,CACNC,cAAA,CAAC,eAAe,EAAA,EACd,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,UAAU,CAAC,MAAM,EACnC,SAAS,EAAE,UAAU,CAAC,WAAW,EAAA,CACjC,EACFA,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,UAAU,CAAC,aAAa,YACrC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,MAC9BA,eAAC,YAAY,EAAA,EAEX,KAAK,EAAE,SAAmB,EAC1B,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,SAAS,KAAK,MAAM,EAC9B,SAAS,EAAE,UAAU,CAAC,MAAM,EAAA,QAAA,EAE3B,KAAK,EAAA,EAND,SAAS,CAOD,CAChB,CAAC,EAAA,CACE,CAAA,EAAA,CACE;AAEd,CAAC;AAED,MAAM,eAAe,GAAGP,UAAI,CAE1B,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAC9CK,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,gBAAgB,EAAA,QAAA,EAAA,CAE9BE,cAAA,CAACC,kCAAO,EAAA,EAAC,SAAS,EAAE,SAAS,yBAAoB,EACjDD,cAAA,CAACE,+BAAM,EAAA,EAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,GAAG,EAAC,OAAO,EAAE,YAAY,EAAA,QAAA,EAElDF,cAAA,CAACG,kCAAW,EAAA,EAAC,GAAG,EAAC,OAAO,EAAA,CAAG,EAAA,CACpB,CAAA,EAAA,CACL,CACP,CAAC;AAEF,MAAM,YAAY,GAAGV,UAAI,CAMtB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MACnDO,cAAA,CAACI,gEAAY,EAAA,EACX,SAAS,EAAC,QAAQ,EAClB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,QAAQ,IAAIJ,cAAA,CAACK,kCAAW,EAAA,EAAC,KAAK,EAAC,MAAM,EAAA,CAAG,EAChD,SAAS,EAAE,SAAS,EAAA,QAAA,EAEnB,QAAQ,EAAA,CACI,CAChB,CAAC;;;;"}
|
|
@@ -48,7 +48,7 @@ const LanguageSelector = memo(({ locale: localeProps, onClickClose }) => {
|
|
|
48
48
|
}, [localeProps]);
|
|
49
49
|
return (jsxs(Section, { children: [jsx(SelectorHeading, { onClickClose: onClickClose, wrapperClassName: classNames.header, className: classNames.headerTitle }), jsx("div", { className: classNames.buttonWrapper, children: locales.map(([localeKey, label]) => (jsx(LocaleButton, { value: localeKey, onClick: onClickLocale, selected: localeKey === locale, className: classNames.button, children: label }, localeKey))) })] }));
|
|
50
50
|
});
|
|
51
|
-
const SelectorHeading = memo(({ onClickClose, wrapperClassName, className }) => (jsxs("div", { className: wrapperClassName, children: [jsx(Heading, { className: className, children: "Language" }), jsx(Button, { type: "button", size: "
|
|
51
|
+
const SelectorHeading = memo(({ onClickClose, wrapperClassName, className }) => (jsxs("div", { className: wrapperClassName, children: [jsx(Heading, { className: className, children: "Language" }), jsx(Button, { type: "button", size: "S", onClick: onClickClose, children: jsx(FaXmarkIcon, { alt: "close" }) })] })));
|
|
52
52
|
const LocaleButton = memo(({ value, selected, className, children, onClick }) => (jsx(CommonButton, { elementAs: "button", type: "button", value: value, onClick: onClick, prefix: selected && jsx(FaCheckIcon, { color: "MAIN" }), className: className, children: children })));
|
|
53
53
|
|
|
54
54
|
export { LanguageSelector };
|