smarthr-ui 77.0.0 → 78.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/_virtual/index.js +4 -4
- package/esm/_virtual/index2.js +4 -4
- package/esm/_virtual/index3.js +4 -4
- package/esm/components/AccordionPanel/AccordionPanelTrigger.d.ts +1 -1
- package/esm/components/AccordionPanel/AccordionPanelTrigger.js +1 -0
- package/esm/components/AccordionPanel/AccordionPanelTrigger.js.map +1 -1
- package/esm/components/AppHeader/components/desktop/AppLauncher.js +1 -0
- package/esm/components/AppHeader/components/desktop/AppLauncher.js.map +1 -1
- package/esm/components/AppHeader/components/mobile/LanguageSelector.js +1 -0
- package/esm/components/AppHeader/components/mobile/LanguageSelector.js.map +1 -1
- package/esm/components/AppHeader/components/mobile/MenuAccordion.js +1 -0
- package/esm/components/AppHeader/components/mobile/MenuAccordion.js.map +1 -1
- package/esm/components/AppHeader/components/mobile/MenuSubHeading.js +1 -0
- package/esm/components/AppHeader/components/mobile/MenuSubHeading.js.map +1 -1
- package/esm/components/Base/Base.d.ts +56 -56
- package/esm/components/Button/AnchorButton.js +8 -1
- package/esm/components/Button/AnchorButton.js.map +1 -1
- package/esm/components/Combobox/MultiCombobox/MultiCombobox.js +1 -1
- package/esm/components/Combobox/SingleCombobox/SingleCombobox.js +1 -1
- package/esm/components/Combobox/helper.js +1 -1
- package/esm/components/Combobox/useOptions.js +1 -1
- package/esm/components/Dialog/DialogBody.d.ts +28 -28
- package/esm/components/Dialog/DialogHeader.js +1 -0
- package/esm/components/Dialog/DialogHeader.js.map +1 -1
- package/esm/components/Dialog/ModelessDialog/ModelessDialog.js +1 -0
- package/esm/components/Dialog/ModelessDialog/ModelessDialog.js.map +1 -1
- package/esm/components/Dropdown/DropdownMenuButton/DropdownMenuButton.js +1 -1
- package/esm/components/Dropdown/FilterDropdown/FilterDropdown.js +1 -1
- package/esm/components/Dropdown/SortDropdown/SortDropdown.js +1 -1
- package/esm/components/Dropdown/SortDropdown/SortDropdown.js.map +1 -1
- package/esm/components/ErrorScreen/ErrorScreen.js +2 -1
- package/esm/components/ErrorScreen/ErrorScreen.js.map +1 -1
- package/esm/components/Fieldset/Fieldset.d.ts +6 -2
- package/esm/components/Fieldset/Fieldset.js +1 -1
- package/esm/components/Fieldset/Fieldset.js.map +1 -1
- package/esm/components/FormControl/FormControl.d.ts +15 -10
- package/esm/components/FormControl/FormControl.js +37 -32
- package/esm/components/FormControl/FormControl.js.map +1 -1
- package/esm/components/Header/AppLauncher/AppLauncher.js +1 -0
- package/esm/components/Header/AppLauncher/AppLauncher.js.map +1 -1
- package/esm/components/Heading/Heading.d.ts +22 -26
- package/esm/components/Heading/Heading.js +20 -8
- package/esm/components/Heading/Heading.js.map +1 -1
- package/esm/components/Heading/PageHeading/PageHeading.d.ts +25 -0
- package/esm/components/Heading/PageHeading/PageHeading.js +33 -0
- package/esm/components/Heading/PageHeading/PageHeading.js.map +1 -0
- package/esm/components/Heading/PageHeading/index.d.ts +1 -0
- package/esm/components/Heading/PageHeading/index.js +2 -0
- package/esm/components/Heading/index.d.ts +2 -1
- package/esm/components/Heading/index.js +2 -1
- package/esm/components/Heading/index.js.map +1 -1
- package/esm/components/Icon/Icon.js +1 -1
- package/esm/components/Icon/generateIcon.d.ts +7 -0
- package/esm/components/Icon/generateIcon.js.map +1 -1
- package/esm/components/InformationPanel/InformationPanel.js +1 -0
- package/esm/components/InformationPanel/InformationPanel.js.map +1 -1
- package/esm/components/InputFile/InputFile.d.ts +4 -168
- package/esm/components/InputFile/InputFile.js +9 -132
- package/esm/components/InputFile/InputFile.js.map +1 -1
- package/esm/components/InputFile/InputFileMultiplyAppendable.d.ts +2 -0
- package/esm/components/InputFile/InputFileMultiplyAppendable.js +96 -0
- package/esm/components/InputFile/InputFileMultiplyAppendable.js.map +1 -0
- package/esm/components/InputFile/InputFileNative.d.ts +150 -0
- package/esm/components/InputFile/InputFileNative.js +82 -0
- package/esm/components/InputFile/InputFileNative.js.map +1 -0
- package/esm/components/InputFile/style.d.ts +141 -0
- package/esm/components/InputFile/style.js +46 -0
- package/esm/components/InputFile/style.js.map +1 -0
- package/esm/components/InputFile/types.d.ts +19 -0
- package/esm/components/InputFile/types.js +2 -0
- package/esm/components/InputFile/types.js.map +1 -0
- package/esm/components/Layout/Container/Container.d.ts +28 -28
- package/esm/components/{TextLink → OpenInNewTabIcon}/OpenInNewTabIcon.js +4 -1
- package/esm/components/OpenInNewTabIcon/OpenInNewTabIcon.js.map +1 -0
- package/esm/components/OpenInNewTabIcon/index.d.ts +1 -0
- package/esm/components/OpenInNewTabIcon/index.js +2 -0
- package/esm/components/OpenInNewTabIcon/index.js.map +1 -0
- package/esm/components/PageCounter/PageCounter.d.ts +0 -7
- package/esm/components/PageCounter/PageCounter.js +2 -13
- package/esm/components/PageCounter/PageCounter.js.map +1 -1
- package/esm/components/ResponseMessage/ResponseMessage.d.ts +3 -1
- package/esm/components/ResponseMessage/ResponseMessage.js +8 -2
- package/esm/components/ResponseMessage/ResponseMessage.js.map +1 -1
- package/esm/components/SideMenu/SideMenu.js +1 -0
- package/esm/components/SideMenu/SideMenu.js.map +1 -1
- package/esm/components/SideMenu/SideMenuGroup.js +1 -0
- package/esm/components/SideMenu/SideMenuGroup.js.map +1 -1
- package/esm/components/Stepper/VerticalStepItem.js +1 -0
- package/esm/components/Stepper/VerticalStepItem.js.map +1 -1
- package/esm/components/Text/Text.d.ts +9 -2
- package/esm/components/Text/Text.js +47 -3
- package/esm/components/Text/Text.js.map +1 -1
- package/esm/components/TextLink/TextLink.js +2 -2
- package/esm/components/TextLink/TextLink.js.map +1 -1
- package/esm/components/Textarea/Textarea.js +11 -14
- package/esm/components/Textarea/Textarea.js.map +1 -1
- package/esm/components/Tooltip/Tooltip.js +1 -1
- package/esm/index.d.ts +0 -1
- package/esm/index.js +2 -2
- package/esm/intl/DateFormatter.js +1 -0
- package/esm/intl/DateFormatter.js.map +1 -1
- package/esm/intl/locales/en_us.d.ts +1 -1
- package/esm/intl/locales/en_us.js +1 -1
- package/esm/intl/locales/en_us.js.map +1 -1
- package/esm/intl/locales/id_id.d.ts +1 -1
- package/esm/intl/locales/id_id.js +1 -1
- package/esm/intl/locales/id_id.js.map +1 -1
- package/esm/intl/locales/ja.d.ts +1 -1
- package/esm/intl/locales/ja.js +1 -1
- package/esm/intl/locales/ja.js.map +1 -1
- package/esm/intl/locales/ja_easy.d.ts +1 -1
- package/esm/intl/locales/ja_easy.js +1 -1
- package/esm/intl/locales/ja_easy.js.map +1 -1
- package/esm/intl/locales/ko_kr.d.ts +1 -1
- package/esm/intl/locales/ko_kr.js +1 -1
- package/esm/intl/locales/ko_kr.js.map +1 -1
- package/esm/intl/locales/pt_br.d.ts +1 -1
- package/esm/intl/locales/pt_br.js +1 -1
- package/esm/intl/locales/pt_br.js.map +1 -1
- package/esm/intl/locales/vi_vn.d.ts +1 -1
- package/esm/intl/locales/vi_vn.js +1 -1
- package/esm/intl/locales/vi_vn.js.map +1 -1
- package/esm/intl/locales/zh_hans_cn.d.ts +1 -1
- package/esm/intl/locales/zh_hans_cn.js +1 -1
- package/esm/intl/locales/zh_hans_cn.js.map +1 -1
- package/esm/intl/locales/zh_hant_tw.d.ts +1 -1
- package/esm/intl/locales/zh_hant_tw.js +1 -1
- package/esm/intl/locales/zh_hant_tw.js.map +1 -1
- package/esm/libs/lodash.js +2 -2
- package/esm/smarthr-ui-preset.d.ts +1 -1
- package/esm/themes/tailwind/TailwindConfig.d.ts +1 -1
- package/lib/components/AccordionPanel/AccordionPanelTrigger.d.ts +1 -1
- package/lib/components/AccordionPanel/AccordionPanelTrigger.js.map +1 -1
- package/lib/components/Button/AnchorButton.js +8 -1
- package/lib/components/Button/AnchorButton.js.map +1 -1
- package/lib/components/Dropdown/SortDropdown/SortDropdown.js +1 -1
- package/lib/components/Dropdown/SortDropdown/SortDropdown.js.map +1 -1
- package/lib/components/Fieldset/Fieldset.d.ts +6 -2
- package/lib/components/Fieldset/Fieldset.js +1 -1
- package/lib/components/Fieldset/Fieldset.js.map +1 -1
- package/lib/components/FormControl/FormControl.d.ts +15 -10
- package/lib/components/FormControl/FormControl.js +35 -30
- package/lib/components/FormControl/FormControl.js.map +1 -1
- package/lib/components/Heading/Heading.d.ts +22 -26
- package/lib/components/Heading/Heading.js +19 -7
- package/lib/components/Heading/Heading.js.map +1 -1
- package/lib/components/Heading/PageHeading/PageHeading.d.ts +25 -0
- package/lib/components/Heading/PageHeading/PageHeading.js +33 -0
- package/lib/components/Heading/PageHeading/PageHeading.js.map +1 -0
- package/lib/components/Heading/PageHeading/index.d.ts +1 -0
- package/lib/components/Heading/PageHeading/index.js +6 -0
- package/lib/components/Heading/PageHeading/index.js.map +1 -0
- package/lib/components/Heading/index.d.ts +2 -1
- package/lib/components/Heading/index.js +16 -2
- package/lib/components/Heading/index.js.map +1 -1
- package/lib/components/Icon/generateIcon.d.ts +7 -0
- package/lib/components/Icon/generateIcon.js.map +1 -1
- package/lib/components/InputFile/InputFile.d.ts +4 -168
- package/lib/components/InputFile/InputFile.js +7 -119
- package/lib/components/InputFile/InputFile.js.map +1 -1
- package/lib/components/InputFile/InputFileMultiplyAppendable.d.ts +2 -0
- package/lib/components/InputFile/InputFileMultiplyAppendable.js +85 -0
- package/lib/components/InputFile/InputFileMultiplyAppendable.js.map +1 -0
- package/lib/components/InputFile/InputFileNative.d.ts +150 -0
- package/lib/components/InputFile/InputFileNative.js +71 -0
- package/lib/components/InputFile/InputFileNative.js.map +1 -0
- package/lib/components/InputFile/style.d.ts +141 -0
- package/lib/components/InputFile/style.js +46 -0
- package/lib/components/InputFile/style.js.map +1 -0
- package/lib/components/InputFile/types.d.ts +19 -0
- package/lib/components/InputFile/types.js +3 -0
- package/lib/components/InputFile/types.js.map +1 -0
- package/lib/components/{TextLink → OpenInNewTabIcon}/OpenInNewTabIcon.js +4 -1
- package/lib/components/OpenInNewTabIcon/OpenInNewTabIcon.js.map +1 -0
- package/lib/components/OpenInNewTabIcon/index.d.ts +1 -0
- package/lib/components/OpenInNewTabIcon/index.js +6 -0
- package/lib/components/OpenInNewTabIcon/index.js.map +1 -0
- package/lib/components/PageCounter/PageCounter.d.ts +0 -7
- package/lib/components/PageCounter/PageCounter.js +2 -13
- package/lib/components/PageCounter/PageCounter.js.map +1 -1
- package/lib/components/ResponseMessage/ResponseMessage.d.ts +3 -1
- package/lib/components/ResponseMessage/ResponseMessage.js +8 -2
- package/lib/components/ResponseMessage/ResponseMessage.js.map +1 -1
- package/lib/components/Text/Text.d.ts +9 -2
- package/lib/components/Text/Text.js +46 -2
- package/lib/components/Text/Text.js.map +1 -1
- package/lib/components/TextLink/TextLink.js +2 -2
- package/lib/components/TextLink/TextLink.js.map +1 -1
- package/lib/components/Textarea/Textarea.js +11 -14
- package/lib/components/Textarea/Textarea.js.map +1 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.js +2 -4
- package/lib/index.js.map +1 -1
- package/lib/intl/DateFormatter.js +1 -0
- package/lib/intl/DateFormatter.js.map +1 -1
- package/lib/intl/locales/en_us.d.ts +1 -1
- package/lib/intl/locales/en_us.js +1 -1
- package/lib/intl/locales/en_us.js.map +1 -1
- package/lib/intl/locales/id_id.d.ts +1 -1
- package/lib/intl/locales/id_id.js +1 -1
- package/lib/intl/locales/id_id.js.map +1 -1
- package/lib/intl/locales/ja.d.ts +1 -1
- package/lib/intl/locales/ja.js +1 -1
- package/lib/intl/locales/ja.js.map +1 -1
- package/lib/intl/locales/ja_easy.d.ts +1 -1
- package/lib/intl/locales/ja_easy.js +1 -1
- package/lib/intl/locales/ja_easy.js.map +1 -1
- package/lib/intl/locales/ko_kr.d.ts +1 -1
- package/lib/intl/locales/ko_kr.js +1 -1
- package/lib/intl/locales/ko_kr.js.map +1 -1
- package/lib/intl/locales/pt_br.d.ts +1 -1
- package/lib/intl/locales/pt_br.js +1 -1
- package/lib/intl/locales/pt_br.js.map +1 -1
- package/lib/intl/locales/vi_vn.d.ts +1 -1
- package/lib/intl/locales/vi_vn.js +1 -1
- package/lib/intl/locales/vi_vn.js.map +1 -1
- package/lib/intl/locales/zh_hans_cn.d.ts +1 -1
- package/lib/intl/locales/zh_hans_cn.js +1 -1
- package/lib/intl/locales/zh_hans_cn.js.map +1 -1
- package/lib/intl/locales/zh_hant_tw.d.ts +1 -1
- package/lib/intl/locales/zh_hant_tw.js +1 -1
- package/lib/intl/locales/zh_hant_tw.js.map +1 -1
- package/package.json +1 -1
- package/smarthr-ui.css +4 -0
- package/esm/components/AppHeader/stories/args.d.ts +0 -3
- package/esm/components/AppHeader/stories/args.js +0 -142
- package/esm/components/AppHeader/stories/args.js.map +0 -1
- package/esm/components/RangeSeparator/RangeSeparator.d.ts +0 -13
- package/esm/components/RangeSeparator/RangeSeparator.js +0 -16
- package/esm/components/RangeSeparator/RangeSeparator.js.map +0 -1
- package/esm/components/RangeSeparator/index.d.ts +0 -1
- package/esm/components/RangeSeparator/index.js +0 -2
- package/esm/components/TextLink/OpenInNewTabIcon.js.map +0 -1
- package/esm/vendor/.pnpm/@storybook_global@5.0.0/vendor/@storybook/global/dist/index.js +0 -19
- package/esm/vendor/.pnpm/@storybook_global@5.0.0/vendor/@storybook/global/dist/index.js.map +0 -1
- package/esm/vendor/.pnpm/storybook@9.0.18_@testing-library_dom@10.4.0_prettier@3.6.2/vendor/storybook/dist/actions/index.js +0 -76
- package/esm/vendor/.pnpm/storybook@9.0.18_@testing-library_dom@10.4.0_prettier@3.6.2/vendor/storybook/dist/actions/index.js.map +0 -1
- package/esm/vendor/.pnpm/storybook@9.0.18_@testing-library_dom@10.4.0_prettier@3.6.2/vendor/storybook/dist/channels/index.js +0 -1857
- package/esm/vendor/.pnpm/storybook@9.0.18_@testing-library_dom@10.4.0_prettier@3.6.2/vendor/storybook/dist/channels/index.js.map +0 -1
- package/esm/vendor/.pnpm/storybook@9.0.18_@testing-library_dom@10.4.0_prettier@3.6.2/vendor/storybook/dist/client-logger/index.js +0 -60
- package/esm/vendor/.pnpm/storybook@9.0.18_@testing-library_dom@10.4.0_prettier@3.6.2/vendor/storybook/dist/client-logger/index.js.map +0 -1
- package/esm/vendor/.pnpm/storybook@9.0.18_@testing-library_dom@10.4.0_prettier@3.6.2/vendor/storybook/dist/core-events/index.js +0 -80
- package/esm/vendor/.pnpm/storybook@9.0.18_@testing-library_dom@10.4.0_prettier@3.6.2/vendor/storybook/dist/core-events/index.js.map +0 -1
- package/esm/vendor/.pnpm/storybook@9.0.18_@testing-library_dom@10.4.0_prettier@3.6.2/vendor/storybook/dist/csf/index.js +0 -157
- package/esm/vendor/.pnpm/storybook@9.0.18_@testing-library_dom@10.4.0_prettier@3.6.2/vendor/storybook/dist/csf/index.js.map +0 -1
- package/esm/vendor/.pnpm/storybook@9.0.18_@testing-library_dom@10.4.0_prettier@3.6.2/vendor/storybook/dist/instrumenter/index.js +0 -3014
- package/esm/vendor/.pnpm/storybook@9.0.18_@testing-library_dom@10.4.0_prettier@3.6.2/vendor/storybook/dist/instrumenter/index.js.map +0 -1
- package/esm/vendor/.pnpm/storybook@9.0.18_@testing-library_dom@10.4.0_prettier@3.6.2/vendor/storybook/dist/preview-api/index.js +0 -6697
- package/esm/vendor/.pnpm/storybook@9.0.18_@testing-library_dom@10.4.0_prettier@3.6.2/vendor/storybook/dist/preview-api/index.js.map +0 -1
- package/esm/vendor/.pnpm/storybook@9.0.18_@testing-library_dom@10.4.0_prettier@3.6.2/vendor/storybook/dist/preview-errors.js +0 -436
- package/esm/vendor/.pnpm/storybook@9.0.18_@testing-library_dom@10.4.0_prettier@3.6.2/vendor/storybook/dist/preview-errors.js.map +0 -1
- package/esm/vendor/.pnpm/storybook@9.0.18_@testing-library_dom@10.4.0_prettier@3.6.2/vendor/storybook/dist/test/index.js +0 -32675
- package/esm/vendor/.pnpm/storybook@9.0.18_@testing-library_dom@10.4.0_prettier@3.6.2/vendor/storybook/dist/test/index.js.map +0 -1
- package/lib/components/AppHeader/stories/args.d.ts +0 -3
- package/lib/components/AppHeader/stories/args.js +0 -142
- package/lib/components/AppHeader/stories/args.js.map +0 -1
- package/lib/components/RangeSeparator/RangeSeparator.d.ts +0 -13
- package/lib/components/RangeSeparator/RangeSeparator.js +0 -16
- package/lib/components/RangeSeparator/RangeSeparator.js.map +0 -1
- package/lib/components/RangeSeparator/index.d.ts +0 -1
- package/lib/components/RangeSeparator/index.js +0 -6
- package/lib/components/RangeSeparator/index.js.map +0 -1
- package/lib/components/TextLink/OpenInNewTabIcon.js.map +0 -1
- /package/esm/components/{RangeSeparator → Heading/PageHeading}/index.js.map +0 -0
- /package/esm/components/{TextLink → OpenInNewTabIcon}/OpenInNewTabIcon.d.ts +0 -0
- /package/lib/components/{TextLink → OpenInNewTabIcon}/OpenInNewTabIcon.d.ts +0 -0
package/esm/_virtual/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { getDefaultExportFromCjs } from './_commonjsHelpers.js';
|
|
2
|
-
import { __require as
|
|
2
|
+
import { __require as requireLodash_merge } from './../vendor/.pnpm/lodash.merge@4.6.2/vendor/lodash.merge/index.js';
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
var
|
|
4
|
+
var lodash_mergeExports = requireLodash_merge();
|
|
5
|
+
var _merge = /*@__PURE__*/getDefaultExportFromCjs(lodash_mergeExports);
|
|
6
6
|
|
|
7
|
-
export {
|
|
7
|
+
export { _merge as default };
|
|
8
8
|
//# sourceMappingURL=index.js.map
|
package/esm/_virtual/index2.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { getDefaultExportFromCjs } from './_commonjsHelpers.js';
|
|
2
|
-
import { __require as
|
|
2
|
+
import { __require as requireLodash_range } from './../vendor/.pnpm/lodash.range@3.2.0/vendor/lodash.range/index.js';
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
var
|
|
4
|
+
var lodash_rangeExports = requireLodash_range();
|
|
5
|
+
var _range = /*@__PURE__*/getDefaultExportFromCjs(lodash_rangeExports);
|
|
6
6
|
|
|
7
|
-
export {
|
|
7
|
+
export { _range as default };
|
|
8
8
|
//# sourceMappingURL=index2.js.map
|
package/esm/_virtual/index3.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { getDefaultExportFromCjs } from './_commonjsHelpers.js';
|
|
2
|
-
import { __require as
|
|
2
|
+
import { __require as requireReactInnertext } from './../vendor/.pnpm/react-innertext@1.1.5_@types_react@18.3.26_react@19.1.1/vendor/react-innertext/index.js';
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
var
|
|
4
|
+
var reactInnertextExports = requireReactInnertext();
|
|
5
|
+
var innerText = /*@__PURE__*/getDefaultExportFromCjs(reactInnertextExports);
|
|
6
6
|
|
|
7
|
-
export {
|
|
7
|
+
export { innerText as default };
|
|
8
8
|
//# sourceMappingURL=index3.js.map
|
|
@@ -3,7 +3,7 @@ import { type HeadingTagTypes } from '../Heading';
|
|
|
3
3
|
import type { TextProps } from '../Text';
|
|
4
4
|
type Props = PropsWithChildren<{
|
|
5
5
|
/** ヘッダ部分のテキストのスタイル */
|
|
6
|
-
headingType?: TextProps['styleType']
|
|
6
|
+
headingType?: Exclude<TextProps['styleType'], 'screenTitle'>;
|
|
7
7
|
/**
|
|
8
8
|
* @deprecated headingTag属性は非推奨です
|
|
9
9
|
*/
|
|
@@ -4,6 +4,7 @@ import { memo, useMemo, useContext, useCallback } from 'react';
|
|
|
4
4
|
import { tv as ce } from './../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.18_ts-node@10.9.2_@swc_core@1.13.5_@types_node@20.19.20_typescript@5.8.3__/vendor/tailwind-variants/dist/index.js';
|
|
5
5
|
import { getIsInclude, mapToKeyArray } from '../../libs/map.js';
|
|
6
6
|
import { Heading } from '../Heading/Heading.js';
|
|
7
|
+
import '../Heading/PageHeading/PageHeading.js';
|
|
7
8
|
import { FaCaretRightIcon, FaCaretDownIcon } from '../Icon/Icon.js';
|
|
8
9
|
import '../Icon/generateIcon.js';
|
|
9
10
|
import '../Layout/Stack/Stack.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionPanelTrigger.js","sources":["../../../src/components/AccordionPanel/AccordionPanelTrigger.tsx"],"sourcesContent":["'use client'\n\nimport {\n type ComponentPropsWithoutRef,\n type FC,\n type KeyboardEventHandler,\n type MouseEvent,\n type PropsWithChildren,\n memo,\n useCallback,\n useContext,\n useMemo,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { getIsInclude, mapToKeyArray } from '../../libs/map'\nimport { Heading, type HeadingTagTypes } from '../Heading'\nimport { FaCaretDownIcon, FaCaretRightIcon } from '../Icon'\nimport { Cluster } from '../Layout'\n\nimport { AccordionPanelContext } from './AccordionPanel'\nimport { AccordionPanelItemContext } from './AccordionPanelItem'\nimport {\n focusFirstSibling,\n focusLastSibling,\n focusNextSibling,\n focusPreviousSibling,\n getNewExpandedItems,\n} from './accordionPanelHelper'\n\nimport type { TextProps } from '../Text'\n\ntype Props = PropsWithChildren<{\n /** ヘッダ部分のテキストのスタイル */\n headingType?: TextProps['styleType']
|
|
1
|
+
{"version":3,"file":"AccordionPanelTrigger.js","sources":["../../../src/components/AccordionPanel/AccordionPanelTrigger.tsx"],"sourcesContent":["'use client'\n\nimport {\n type ComponentPropsWithoutRef,\n type FC,\n type KeyboardEventHandler,\n type MouseEvent,\n type PropsWithChildren,\n memo,\n useCallback,\n useContext,\n useMemo,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { getIsInclude, mapToKeyArray } from '../../libs/map'\nimport { Heading, type HeadingTagTypes } from '../Heading'\nimport { FaCaretDownIcon, FaCaretRightIcon } from '../Icon'\nimport { Cluster } from '../Layout'\n\nimport { AccordionPanelContext } from './AccordionPanel'\nimport { AccordionPanelItemContext } from './AccordionPanelItem'\nimport {\n focusFirstSibling,\n focusLastSibling,\n focusNextSibling,\n focusPreviousSibling,\n getNewExpandedItems,\n} from './accordionPanelHelper'\n\nimport type { TextProps } from '../Text'\n\ntype Props = PropsWithChildren<{\n /** ヘッダ部分のテキストのスタイル */\n headingType?: Exclude<TextProps['styleType'], 'screenTitle'>\n /**\n * @deprecated headingTag属性は非推奨です\n */\n headingTag?: HeadingTagTypes\n}>\ntype ElementProps = Omit<ComponentPropsWithoutRef<'button'>, keyof Props>\n\nconst classNameGenerator = tv({\n slots: {\n title: 'shr-grow shr-leading-tight',\n titleWrapper: 'shr-flex-nowrap',\n button: [\n 'smarthr-ui-AccordionPanel-trigger',\n 'shr-group shr-w-full shr-cursor-pointer shr-appearance-none shr-border-none shr-bg-transparent shr-px-1 shr-py-0.75 shr-text-left shr-text-inherit shr-text-color-inherit',\n 'disabled:shr-cursor-not-allowed disabled:shr-bg-white-darken disabled:shr-text-disabled',\n 'hover:shr-bg-white-darken',\n 'focus-visible:shr-focus-indicator',\n // Base 直下に AccordionPanel がある場合、背景が付き抜けないように角丸を指定(Base に overflow: hidden を与えるとフォーカスリングが表示されなくなる)\n '[.smarthr-ui-Base_>_.smarthr-ui-AccordionPanel_.smarthr-ui-AccordionPanel-item:first-child_&]:shr-rounded-t-l [.smarthr-ui-Base_>_.smarthr-ui-AccordionPanel_.smarthr-ui-AccordionPanel-item:last-child_&]:shr-rounded-b-l',\n ],\n leftIcon: 'shr-transition-transform shr-duration-100 group-aria-expanded:shr-rotate-90',\n rightIcon: 'group-aria-expanded:-shr-rotate-180',\n },\n compoundSlots: [\n {\n slots: ['leftIcon', 'rightIcon'],\n className: 'shr-shrink-0',\n },\n ],\n})\n\nexport const AccordionPanelTrigger: FC<Props & ElementProps> = ({\n children,\n className,\n headingType = 'blockTitle',\n headingTag,\n ...props\n}) => {\n const classNames = useMemo(() => {\n const { title, titleWrapper, button, leftIcon, rightIcon } = classNameGenerator()\n\n return {\n title: title(),\n titleWrapper: titleWrapper(),\n button: button({ className }),\n leftIcon: leftIcon(),\n rightIcon: rightIcon(),\n }\n }, [className])\n\n const { name } = useContext(AccordionPanelItemContext)\n const {\n iconPosition,\n expandedItems,\n onClickTrigger,\n onClickProps,\n expandableMultiply,\n parentRef,\n } = useContext(AccordionPanelContext)\n\n const isExpanded = useMemo(() => getIsInclude(expandedItems, name), [expandedItems, name])\n\n const actualOnClickTrigger = useMemo(\n () =>\n onClickTrigger\n ? (e: MouseEvent<HTMLButtonElement>) => onClickTrigger(e.currentTarget.value, !isExpanded)\n : undefined,\n [isExpanded, onClickTrigger],\n )\n const actualOnClickProps = useMemo(\n () =>\n onClickProps\n ? (e: MouseEvent<HTMLButtonElement>) => {\n const newExpandedItems = getNewExpandedItems(\n expandedItems,\n e.currentTarget.value,\n !isExpanded,\n expandableMultiply,\n )\n onClickProps(mapToKeyArray(newExpandedItems))\n }\n : undefined,\n [isExpanded, expandedItems, expandableMultiply, onClickProps],\n )\n const handleClick = useMemo(() => {\n if (actualOnClickTrigger) {\n if (actualOnClickProps) {\n return (e: MouseEvent<HTMLButtonElement>) => {\n actualOnClickTrigger(e)\n actualOnClickProps(e)\n }\n }\n\n return actualOnClickTrigger\n } else if (actualOnClickProps) {\n return actualOnClickProps\n }\n\n return undefined\n }, [actualOnClickProps, actualOnClickTrigger])\n\n const handleKeyDown: KeyboardEventHandler<HTMLButtonElement> = useCallback(\n (e): void => {\n if (!parentRef?.current) {\n return\n }\n\n const item = e.target as HTMLElement\n\n switch (e.key) {\n case 'Home': {\n e.preventDefault()\n focusFirstSibling(parentRef.current)\n break\n }\n case 'End': {\n e.preventDefault()\n focusLastSibling(parentRef.current)\n break\n }\n case 'ArrowLeft':\n case 'ArrowUp': {\n e.preventDefault()\n focusPreviousSibling(item, parentRef.current)\n break\n }\n case 'ArrowRight':\n case 'ArrowDown': {\n e.preventDefault()\n focusNextSibling(item, parentRef.current)\n break\n }\n }\n },\n [parentRef],\n )\n\n return (\n // eslint-disable-next-line smarthr/a11y-heading-in-sectioning-content\n <Heading tag={headingTag} type={headingType}>\n <button\n {...props}\n type=\"button\"\n value={name}\n id={`${name}-trigger`}\n aria-expanded={isExpanded}\n aria-controls={`${name}-content`}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n className={classNames.button}\n data-component=\"AccordionHeaderButton\"\n >\n <MemoizedTitle iconPosition={iconPosition} classNames={classNames}>\n {children}\n </MemoizedTitle>\n </button>\n </Heading>\n )\n}\n\nconst MemoizedTitle = memo<\n PropsWithChildren<{\n iconPosition: undefined | 'left' | 'right'\n classNames: { leftIcon: string; rightIcon: string; title: string; titleWrapper: string }\n }>\n>(({ classNames, iconPosition, children }) => (\n <Cluster className={classNames.titleWrapper} align=\"center\" as=\"span\">\n {iconPosition === 'left' && <FaCaretRightIcon className={classNames.leftIcon} />}\n <span className={classNames.title}>{children}</span>\n {iconPosition === 'right' && <FaCaretDownIcon className={classNames.rightIcon} />}\n </Cluster>\n))\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AA0CA;AACE;AACE;AACA;AACA;;;;;;;;AAQC;AACD;AACA;AACD;AACD;AACE;AACE;AACA;AACD;AACF;AACF;;AASC;AACE;;;;AAKE;;;;AAIJ;;AAGA;;AAWA;AAGM;;AAIN;AAGM;AACI;AAMA;;AAEJ;AAGN;;;;;;AAMM;;AAGF;;;AAEA;;AAGF;AACF;AAEA;AAEI;;;AAIA;AAEA;;;AAGI;;;;;AAKA;;;AAGF;;;AAGE;;;AAGF;;;AAGE;;;;AAIN;;;AAMA;AAmBJ;AAEA;;"}
|
|
@@ -9,6 +9,7 @@ import '../../../Button/Button.js';
|
|
|
9
9
|
import '../../../Button/AnchorButton.js';
|
|
10
10
|
import { UnstyledButton } from '../../../Button/UnstyledButton.js';
|
|
11
11
|
import { Heading } from '../../../Heading/Heading.js';
|
|
12
|
+
import '../../../Heading/PageHeading/PageHeading.js';
|
|
12
13
|
import { FaCircleXmarkIcon, FaStarIcon } from '../../../Icon/Icon.js';
|
|
13
14
|
import '../../../Icon/generateIcon.js';
|
|
14
15
|
import '../../../Input/Input.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppLauncher.js","sources":["../../../../../src/components/AppHeader/components/desktop/AppLauncher.tsx"],"sourcesContent":["import { type FC, type PropsWithChildren, type ReactNode, memo, useCallback, useMemo } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useIntl } from '../../../../intl'\nimport { textColor } from '../../../../themes'\nimport { UnstyledButton } from '../../../Button'\nimport { Heading } from '../../../Heading'\nimport { FaCircleXmarkIcon, FaStarIcon } from '../../../Icon'\nimport { SearchInput } from '../../../Input'\nimport { Cluster } from '../../../Layout'\nimport { Section } from '../../../SectioningContent'\nimport { SideNav } from '../../../SideNav'\nimport { HelpLink } from '../../../TextLink'\nimport { useAppLauncher } from '../../hooks/useAppLauncher'\nimport { AppLauncherFeatures } from '../common/AppLauncherFeatures'\nimport { AppLauncherSortDropdown } from '../common/AppLauncherSortDropdown'\nimport { Translate } from '../common/Translate'\n\nimport type { Launcher } from '../../types'\n\ntype Props = {\n features: Array<Launcher['feature']>\n}\n\nconst appLauncher = tv({\n slots: {\n wrapper: [\n 'smarthr-ui-AppLauncher',\n 'shr-grid shr-h-[40rem] shr-w-[38rem] shr-grid-rows-[auto_1fr]',\n ],\n searchArea: [\n 'smarthr-ui-AppLauncher-searchArea',\n 'shr-border-b-shorthand shr-p-1',\n '[&_.smarthr-ui-Input]:shr-h-[42px]',\n ],\n inner: ['smarthr-ui-AppLauncher-inner', 'shr-grid shr-min-h-0 shr-grid-cols-[11rem_1fr]'],\n side: [\n 'smarthr-ui-AppLauncher-side',\n 'shr-border-r-shorthand shr-flex shr-flex-col shr-bg-column shr-pb-1 shr-pt-0.5',\n '[&_hr]:shr-m-0.5 [&_hr]:shr-h-[1px] [&_hr]:shr-border-none [&_hr]:shr-bg-border',\n ],\n sideNav: [\n '[&_.smarthr-ui-SideNav-item>button]:shr-px-1 [&_.smarthr-ui-SideNav-item>button]:shr-py-0.75',\n '[&_.smarthr-ui-SideNav-item>button>span]:shr-flex-nowrap',\n '[&_.smarthr-ui-SideNav-item>button_.smarthr-ui-Icon]:shr-shrink-0 [&_.smarthr-ui-SideNav-item>button_.smarthr-ui-Icon]:shr-align-bottom',\n ],\n sideNavHeading: ['shr-px-1 shr-py-0.75 shr-text-xs shr-text-black'],\n help: ['smarthr-ui-AppLauncher-help', 'shr-mt-auto shr-px-1 shr-text-xs'],\n main: ['smarthr-ui-AppLauncher-main', 'shr-grid shr-min-h-0'],\n mainInner: ['shr-grid shr-min-h-0 shr-grid-rows-[auto_1fr]'],\n contentHead: [\n 'shr-min-h-[2rem] shr-px-1 shr-py-0.75',\n '[&_.smarthr-ui-Heading]:shr-text-black',\n ],\n scrollArea: ['shr-h-[509px] shr-overflow-y-scroll'],\n },\n variants: {\n noIcon: {\n true: {\n sideNav: ['[&_.smarthr-ui-SideNav-item>button]:shr-pl-1.5'],\n },\n },\n selected: {\n false: {\n sideNav: ['[&_.smarthr-ui-SideNav-item>button_.smarthr-ui-Icon]:shr-text-grey'],\n },\n },\n },\n})\n\nexport const AppLauncher: FC<Props> = ({ features: baseFeatures }) => {\n const {\n features,\n page,\n mode,\n sortType,\n searchQuery,\n changePage,\n setSortType,\n onChangeSearchQuery,\n onClickClearSearchQuery,\n } = useAppLauncher(baseFeatures)\n\n const classNames = useMemo(() => {\n const {\n wrapper,\n searchArea,\n inner,\n side,\n sideNav,\n sideNavHeading,\n help,\n main,\n mainInner,\n contentHead,\n scrollArea,\n } = appLauncher()\n\n return {\n wrapper: wrapper(),\n searchArea: searchArea(),\n inner: inner(),\n side: side(),\n unselectedSideNav: sideNav({ selected: false }),\n selectedSideNav: sideNav({ noIcon: true, selected: true }),\n sideNavHeading: sideNavHeading(),\n help: help(),\n main: main(),\n mainInner: mainInner(),\n contentHead: contentHead(),\n scrollArea: scrollArea(),\n }\n }, [])\n\n const { localize } = useIntl()\n const translated = useMemo<\n Record<\n Launcher['page'] | 'listText' | 'searchInputTitle' | 'helpText' | 'searchResultText',\n ReactNode\n >\n >(\n () => ({\n favorite: (\n <Translate>\n {localize({\n id: 'smarthr-ui/AppHeader/Launcher/favoriteModeText',\n defaultText: 'よく使うアプリ',\n })}\n </Translate>\n ),\n all: (\n <Translate>\n {localize({\n id: 'smarthr-ui/AppHeader/Launcher/allModeText',\n defaultText: 'すべてのアプリ',\n })}\n </Translate>\n ),\n listText: (\n <Translate>\n {localize({ id: 'smarthr-ui/AppHeader/Launcher/listText', defaultText: 'アプリ一覧' })}\n </Translate>\n ),\n searchInputTitle: localize({\n id: 'smarthr-ui/AppHeader/Launcher/searchInputTitle',\n defaultText: 'アプリ名を入力してください。',\n }),\n helpText: (\n <Translate>\n {localize({\n id: 'smarthr-ui/AppHeader/Launcher/helpText',\n defaultText: 'よく使うアプリとは',\n })}\n </Translate>\n ),\n searchResultText: (\n <Translate>\n {localize({\n id: 'smarthr-ui/AppHeader/Launcher/searchResultText',\n defaultText: '検索結果',\n })}\n </Translate>\n ),\n }),\n [localize],\n )\n\n return (\n <div className={classNames.wrapper}>\n <div className={classNames.searchArea}>\n <SearchInput\n name=\"search\"\n title={translated.searchInputTitle as string}\n tooltipMessage={<Translate>{translated.searchInputTitle}</Translate>}\n width=\"100%\"\n value={searchQuery}\n suffix={mode === 'search' && <ClearSearchButton onClick={onClickClearSearchQuery} />}\n onChange={onChangeSearchQuery}\n />\n </div>\n\n <div className={classNames.inner}>\n <SideNavs\n mode={mode}\n page={page}\n changePage={changePage}\n translated={translated}\n classNames={classNames}\n />\n <main className={classNames.main}>\n <Section className={classNames.mainInner}>\n <Cluster className={classNames.contentHead} align=\"center\" justify=\"space-between\">\n <MemoizedSubSubBlockHeading>\n {mode === 'search' ? translated.searchResultText : translated[page]}\n </MemoizedSubSubBlockHeading>\n\n {(mode === 'search' || page === 'all') && (\n <AppLauncherSortDropdown sortType={sortType} onSelectSortType={setSortType} />\n )}\n </Cluster>\n\n <div className={classNames.scrollArea}>\n <AppLauncherFeatures features={features} page={page} />\n </div>\n </Section>\n </main>\n </div>\n </div>\n )\n}\n\nconst ClearSearchButton = memo<{ onClick: () => void }>(({ onClick }) => (\n <UnstyledButton onClick={onClick}>\n <FaCircleXmarkIcon />\n </UnstyledButton>\n))\n\nconst SideNavs = memo<\n Pick<ReturnType<typeof useAppLauncher>, 'mode' | 'page' | 'changePage'> & {\n translated: { favorite: ReactNode; listText: ReactNode; all: ReactNode; helpText: ReactNode }\n classNames: {\n side: string\n unselectedSideNav: string\n sideNavHeading: string\n selectedSideNav: string\n help: string\n }\n }\n>(({ mode, page, changePage, translated, classNames }) => {\n const isNotSearch = mode !== 'search'\n const isFavorite = isNotSearch && page === 'favorite'\n const isAll = isNotSearch && page === 'all'\n\n const unselectedItems = useMemo(\n () => [\n {\n id: 'favorite',\n title: translated.favorite,\n prefix: <FaStarIcon color={isFavorite ? textColor.white : undefined} />,\n current: isFavorite,\n },\n ],\n [isFavorite, translated],\n )\n const selectedItems = useMemo(\n () => [\n {\n id: 'all',\n title: translated.all,\n current: isAll,\n },\n ],\n [isAll, translated],\n )\n\n const onClick = useCallback(\n (_: any, id: string) => {\n changePage(id as Launcher['page'])\n },\n [changePage],\n )\n\n return (\n <div className={classNames.side}>\n <SideNav\n className={classNames.unselectedSideNav}\n size=\"s\"\n items={unselectedItems}\n onClick={onClick}\n />\n\n <hr />\n\n <Section>\n <MemoizedSubSubBlockHeading className={classNames.sideNavHeading}>\n {translated.listText}\n </MemoizedSubSubBlockHeading>\n <SideNav\n className={classNames.selectedSideNav}\n size=\"s\"\n items={selectedItems}\n onClick={onClick}\n />\n </Section>\n\n <HelpLinkArea className={classNames.help}>{translated.helpText}</HelpLinkArea>\n </div>\n )\n})\n\nconst HelpLinkArea = memo<PropsWithChildren<{ className: string }>>(({ children, className }) => (\n <div className={className}>\n <HelpLink\n href=\"https://support.smarthr.jp/ja/help/articles/2bfd350d-8e8b-4bbd-a209-426d2eb302cc/\"\n target=\"_blank\"\n >\n {children}\n </HelpLink>\n </div>\n))\n\nconst MemoizedSubSubBlockHeading = memo<PropsWithChildren<{ className?: string }>>(\n ({ children, className }) => (\n <Heading type=\"subSubBlockTitle\" className={className}>\n {children}\n </Heading>\n ),\n)\n"],"names":["tv","_jsx","_jsxs"],"mappings":"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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 { useIntl } from '../../../../intl'\nimport { textColor } from '../../../../themes'\nimport { UnstyledButton } from '../../../Button'\nimport { Heading } from '../../../Heading'\nimport { FaCircleXmarkIcon, FaStarIcon } from '../../../Icon'\nimport { SearchInput } from '../../../Input'\nimport { Cluster } from '../../../Layout'\nimport { Section } from '../../../SectioningContent'\nimport { SideNav } from '../../../SideNav'\nimport { HelpLink } from '../../../TextLink'\nimport { useAppLauncher } from '../../hooks/useAppLauncher'\nimport { AppLauncherFeatures } from '../common/AppLauncherFeatures'\nimport { AppLauncherSortDropdown } from '../common/AppLauncherSortDropdown'\nimport { Translate } from '../common/Translate'\n\nimport type { Launcher } from '../../types'\n\ntype Props = {\n features: Array<Launcher['feature']>\n}\n\nconst appLauncher = tv({\n slots: {\n wrapper: [\n 'smarthr-ui-AppLauncher',\n 'shr-grid shr-h-[40rem] shr-w-[38rem] shr-grid-rows-[auto_1fr]',\n ],\n searchArea: [\n 'smarthr-ui-AppLauncher-searchArea',\n 'shr-border-b-shorthand shr-p-1',\n '[&_.smarthr-ui-Input]:shr-h-[42px]',\n ],\n inner: ['smarthr-ui-AppLauncher-inner', 'shr-grid shr-min-h-0 shr-grid-cols-[11rem_1fr]'],\n side: [\n 'smarthr-ui-AppLauncher-side',\n 'shr-border-r-shorthand shr-flex shr-flex-col shr-bg-column shr-pb-1 shr-pt-0.5',\n '[&_hr]:shr-m-0.5 [&_hr]:shr-h-[1px] [&_hr]:shr-border-none [&_hr]:shr-bg-border',\n ],\n sideNav: [\n '[&_.smarthr-ui-SideNav-item>button]:shr-px-1 [&_.smarthr-ui-SideNav-item>button]:shr-py-0.75',\n '[&_.smarthr-ui-SideNav-item>button>span]:shr-flex-nowrap',\n '[&_.smarthr-ui-SideNav-item>button_.smarthr-ui-Icon]:shr-shrink-0 [&_.smarthr-ui-SideNav-item>button_.smarthr-ui-Icon]:shr-align-bottom',\n ],\n sideNavHeading: ['shr-px-1 shr-py-0.75 shr-text-xs shr-text-black'],\n help: ['smarthr-ui-AppLauncher-help', 'shr-mt-auto shr-px-1 shr-text-xs'],\n main: ['smarthr-ui-AppLauncher-main', 'shr-grid shr-min-h-0'],\n mainInner: ['shr-grid shr-min-h-0 shr-grid-rows-[auto_1fr]'],\n contentHead: [\n 'shr-min-h-[2rem] shr-px-1 shr-py-0.75',\n '[&_.smarthr-ui-Heading]:shr-text-black',\n ],\n scrollArea: ['shr-h-[509px] shr-overflow-y-scroll'],\n },\n variants: {\n noIcon: {\n true: {\n sideNav: ['[&_.smarthr-ui-SideNav-item>button]:shr-pl-1.5'],\n },\n },\n selected: {\n false: {\n sideNav: ['[&_.smarthr-ui-SideNav-item>button_.smarthr-ui-Icon]:shr-text-grey'],\n },\n },\n },\n})\n\nexport const AppLauncher: FC<Props> = ({ features: baseFeatures }) => {\n const {\n features,\n page,\n mode,\n sortType,\n searchQuery,\n changePage,\n setSortType,\n onChangeSearchQuery,\n onClickClearSearchQuery,\n } = useAppLauncher(baseFeatures)\n\n const classNames = useMemo(() => {\n const {\n wrapper,\n searchArea,\n inner,\n side,\n sideNav,\n sideNavHeading,\n help,\n main,\n mainInner,\n contentHead,\n scrollArea,\n } = appLauncher()\n\n return {\n wrapper: wrapper(),\n searchArea: searchArea(),\n inner: inner(),\n side: side(),\n unselectedSideNav: sideNav({ selected: false }),\n selectedSideNav: sideNav({ noIcon: true, selected: true }),\n sideNavHeading: sideNavHeading(),\n help: help(),\n main: main(),\n mainInner: mainInner(),\n contentHead: contentHead(),\n scrollArea: scrollArea(),\n }\n }, [])\n\n const { localize } = useIntl()\n const translated = useMemo<\n Record<\n Launcher['page'] | 'listText' | 'searchInputTitle' | 'helpText' | 'searchResultText',\n ReactNode\n >\n >(\n () => ({\n favorite: (\n <Translate>\n {localize({\n id: 'smarthr-ui/AppHeader/Launcher/favoriteModeText',\n defaultText: 'よく使うアプリ',\n })}\n </Translate>\n ),\n all: (\n <Translate>\n {localize({\n id: 'smarthr-ui/AppHeader/Launcher/allModeText',\n defaultText: 'すべてのアプリ',\n })}\n </Translate>\n ),\n listText: (\n <Translate>\n {localize({ id: 'smarthr-ui/AppHeader/Launcher/listText', defaultText: 'アプリ一覧' })}\n </Translate>\n ),\n searchInputTitle: localize({\n id: 'smarthr-ui/AppHeader/Launcher/searchInputTitle',\n defaultText: 'アプリ名を入力してください。',\n }),\n helpText: (\n <Translate>\n {localize({\n id: 'smarthr-ui/AppHeader/Launcher/helpText',\n defaultText: 'よく使うアプリとは',\n })}\n </Translate>\n ),\n searchResultText: (\n <Translate>\n {localize({\n id: 'smarthr-ui/AppHeader/Launcher/searchResultText',\n defaultText: '検索結果',\n })}\n </Translate>\n ),\n }),\n [localize],\n )\n\n return (\n <div className={classNames.wrapper}>\n <div className={classNames.searchArea}>\n <SearchInput\n name=\"search\"\n title={translated.searchInputTitle as string}\n tooltipMessage={<Translate>{translated.searchInputTitle}</Translate>}\n width=\"100%\"\n value={searchQuery}\n suffix={mode === 'search' && <ClearSearchButton onClick={onClickClearSearchQuery} />}\n onChange={onChangeSearchQuery}\n />\n </div>\n\n <div className={classNames.inner}>\n <SideNavs\n mode={mode}\n page={page}\n changePage={changePage}\n translated={translated}\n classNames={classNames}\n />\n <main className={classNames.main}>\n <Section className={classNames.mainInner}>\n <Cluster className={classNames.contentHead} align=\"center\" justify=\"space-between\">\n <MemoizedSubSubBlockHeading>\n {mode === 'search' ? translated.searchResultText : translated[page]}\n </MemoizedSubSubBlockHeading>\n\n {(mode === 'search' || page === 'all') && (\n <AppLauncherSortDropdown sortType={sortType} onSelectSortType={setSortType} />\n )}\n </Cluster>\n\n <div className={classNames.scrollArea}>\n <AppLauncherFeatures features={features} page={page} />\n </div>\n </Section>\n </main>\n </div>\n </div>\n )\n}\n\nconst ClearSearchButton = memo<{ onClick: () => void }>(({ onClick }) => (\n <UnstyledButton onClick={onClick}>\n <FaCircleXmarkIcon />\n </UnstyledButton>\n))\n\nconst SideNavs = memo<\n Pick<ReturnType<typeof useAppLauncher>, 'mode' | 'page' | 'changePage'> & {\n translated: { favorite: ReactNode; listText: ReactNode; all: ReactNode; helpText: ReactNode }\n classNames: {\n side: string\n unselectedSideNav: string\n sideNavHeading: string\n selectedSideNav: string\n help: string\n }\n }\n>(({ mode, page, changePage, translated, classNames }) => {\n const isNotSearch = mode !== 'search'\n const isFavorite = isNotSearch && page === 'favorite'\n const isAll = isNotSearch && page === 'all'\n\n const unselectedItems = useMemo(\n () => [\n {\n id: 'favorite',\n title: translated.favorite,\n prefix: <FaStarIcon color={isFavorite ? textColor.white : undefined} />,\n current: isFavorite,\n },\n ],\n [isFavorite, translated],\n )\n const selectedItems = useMemo(\n () => [\n {\n id: 'all',\n title: translated.all,\n current: isAll,\n },\n ],\n [isAll, translated],\n )\n\n const onClick = useCallback(\n (_: any, id: string) => {\n changePage(id as Launcher['page'])\n },\n [changePage],\n )\n\n return (\n <div className={classNames.side}>\n <SideNav\n className={classNames.unselectedSideNav}\n size=\"s\"\n items={unselectedItems}\n onClick={onClick}\n />\n\n <hr />\n\n <Section>\n <MemoizedSubSubBlockHeading className={classNames.sideNavHeading}>\n {translated.listText}\n </MemoizedSubSubBlockHeading>\n <SideNav\n className={classNames.selectedSideNav}\n size=\"s\"\n items={selectedItems}\n onClick={onClick}\n />\n </Section>\n\n <HelpLinkArea className={classNames.help}>{translated.helpText}</HelpLinkArea>\n </div>\n )\n})\n\nconst HelpLinkArea = memo<PropsWithChildren<{ className: string }>>(({ children, className }) => (\n <div className={className}>\n <HelpLink\n href=\"https://support.smarthr.jp/ja/help/articles/2bfd350d-8e8b-4bbd-a209-426d2eb302cc/\"\n target=\"_blank\"\n >\n {children}\n </HelpLink>\n </div>\n))\n\nconst MemoizedSubSubBlockHeading = memo<PropsWithChildren<{ className?: string }>>(\n ({ children, className }) => (\n <Heading type=\"subSubBlockTitle\" className={className}>\n {children}\n </Heading>\n ),\n)\n"],"names":["tv","_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ import { Button } from '../../../Button/Button.js';
|
|
|
9
9
|
import '../../../Button/AnchorButton.js';
|
|
10
10
|
import '../../../Button/UnstyledButton.js';
|
|
11
11
|
import { Heading } from '../../../Heading/Heading.js';
|
|
12
|
+
import '../../../Heading/PageHeading/PageHeading.js';
|
|
12
13
|
import { FaXmarkIcon, FaCheckIcon } from '../../../Icon/Icon.js';
|
|
13
14
|
import '../../../Icon/generateIcon.js';
|
|
14
15
|
import { Section } from '../../../SectioningContent/SectioningContent.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LanguageSelector.js","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/localeMap'\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 <Heading className={className}>Language</Heading>\n <Button type=\"button\" size=\"s\" onClick={onClickClose}>\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","_jsxs","_jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"LanguageSelector.js","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/localeMap'\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 <Heading className={className}>Language</Heading>\n <Button type=\"button\" size=\"s\" onClick={onClickClose}>\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","_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import { Button } from '../../../Button/Button.js';
|
|
|
7
7
|
import '../../../Button/AnchorButton.js';
|
|
8
8
|
import '../../../Button/UnstyledButton.js';
|
|
9
9
|
import { Heading } from '../../../Heading/Heading.js';
|
|
10
|
+
import '../../../Heading/PageHeading/PageHeading.js';
|
|
10
11
|
import { FaCaretUpIcon, FaCaretDownIcon } from '../../../Icon/Icon.js';
|
|
11
12
|
import '../../../Icon/generateIcon.js';
|
|
12
13
|
import '../../../Layout/Stack/Stack.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuAccordion.js","sources":["../../../../../src/components/AppHeader/components/mobile/MenuAccordion.tsx"],"sourcesContent":["import {\n type Dispatch,\n type FC,\n type PropsWithChildren,\n type ReactNode,\n memo,\n useCallback,\n useId,\n useMemo,\n} from 'react'\n\nimport { useIntl } from '../../../../intl'\nimport { Button } from '../../../Button'\nimport { Heading } from '../../../Heading'\nimport { FaCaretDownIcon, FaCaretUpIcon } from '../../../Icon'\nimport { Cluster } from '../../../Layout'\nimport { Section } from '../../../SectioningContent'\nimport { Translate } from '../common/Translate'\n\ntype Props = PropsWithChildren<{\n isOpen: boolean\n setIsOpen: Dispatch<(isOpen: boolean) => boolean>\n title: ReactNode\n}>\n\nexport const MenuAccordion: FC<Props> = ({ title, children, ...rest }) =>\n title ? (\n <ActualMenuAccordion {...rest} title={title}>\n {children}\n </ActualMenuAccordion>\n ) : (\n children\n )\n\nconst ActualMenuAccordion: FC<Props> = ({ isOpen, children, ...rest }) => {\n const id = useId()\n\n return (\n <Section>\n <AccordionHeading {...rest} isOpen={isOpen} id={id} />\n <div id={id}>{isOpen && <div className=\"shr-mt-0.5\">{children}</div>}</div>\n </Section>\n )\n}\n\nconst AccordionHeading = memo<Omit<Props, 'children'> & { id: string }>(\n ({ isOpen, setIsOpen, title, id }) => {\n const onClickButton = useCallback(() => setIsOpen((prev) => !prev), [setIsOpen])\n\n const { localize } = useIntl()\n const translated = useMemo(\n () => ({\n close: localize({\n id: 'smarthr-ui/AppHeader/MobileHeader/closeMenuAccordion',\n defaultText: '閉じる',\n }),\n open: localize({\n id: 'smarthr-ui/AppHeader/MobileHeader/openMenuAccordion',\n defaultText: '開く',\n }),\n }),\n [localize],\n )\n\n return (\n <Cluster justify=\"space-between\" align=\"center\">\n <Heading type=\"subSubBlockTitle\">\n <Translate>{title}</Translate>\n </Heading>\n\n <Button\n size=\"s\"\n aria-expanded={isOpen}\n aria-controls={id}\n className=\"[&&]:shr-min-h-0 [&&]:shr-p-0.25\"\n onClick={onClickButton}\n >\n {isOpen ? (\n <FaCaretUpIcon alt={translated.close} />\n ) : (\n <FaCaretDownIcon alt={translated.open} />\n )}\n </Button>\n </Cluster>\n )\n },\n)\n"],"names":["_jsx","_jsxs"],"mappings":"
|
|
1
|
+
{"version":3,"file":"MenuAccordion.js","sources":["../../../../../src/components/AppHeader/components/mobile/MenuAccordion.tsx"],"sourcesContent":["import {\n type Dispatch,\n type FC,\n type PropsWithChildren,\n type ReactNode,\n memo,\n useCallback,\n useId,\n useMemo,\n} from 'react'\n\nimport { useIntl } from '../../../../intl'\nimport { Button } from '../../../Button'\nimport { Heading } from '../../../Heading'\nimport { FaCaretDownIcon, FaCaretUpIcon } from '../../../Icon'\nimport { Cluster } from '../../../Layout'\nimport { Section } from '../../../SectioningContent'\nimport { Translate } from '../common/Translate'\n\ntype Props = PropsWithChildren<{\n isOpen: boolean\n setIsOpen: Dispatch<(isOpen: boolean) => boolean>\n title: ReactNode\n}>\n\nexport const MenuAccordion: FC<Props> = ({ title, children, ...rest }) =>\n title ? (\n <ActualMenuAccordion {...rest} title={title}>\n {children}\n </ActualMenuAccordion>\n ) : (\n children\n )\n\nconst ActualMenuAccordion: FC<Props> = ({ isOpen, children, ...rest }) => {\n const id = useId()\n\n return (\n <Section>\n <AccordionHeading {...rest} isOpen={isOpen} id={id} />\n <div id={id}>{isOpen && <div className=\"shr-mt-0.5\">{children}</div>}</div>\n </Section>\n )\n}\n\nconst AccordionHeading = memo<Omit<Props, 'children'> & { id: string }>(\n ({ isOpen, setIsOpen, title, id }) => {\n const onClickButton = useCallback(() => setIsOpen((prev) => !prev), [setIsOpen])\n\n const { localize } = useIntl()\n const translated = useMemo(\n () => ({\n close: localize({\n id: 'smarthr-ui/AppHeader/MobileHeader/closeMenuAccordion',\n defaultText: '閉じる',\n }),\n open: localize({\n id: 'smarthr-ui/AppHeader/MobileHeader/openMenuAccordion',\n defaultText: '開く',\n }),\n }),\n [localize],\n )\n\n return (\n <Cluster justify=\"space-between\" align=\"center\">\n <Heading type=\"subSubBlockTitle\">\n <Translate>{title}</Translate>\n </Heading>\n\n <Button\n size=\"s\"\n aria-expanded={isOpen}\n aria-controls={id}\n className=\"[&&]:shr-min-h-0 [&&]:shr-p-0.25\"\n onClick={onClickButton}\n >\n {isOpen ? (\n <FaCaretUpIcon alt={translated.close} />\n ) : (\n <FaCaretDownIcon alt={translated.open} />\n )}\n </Button>\n </Cluster>\n )\n },\n)\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAyBO,MAAM,aAAa,GAAc,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,KACnE,KAAK,IACHA,IAAC,mBAAmB,EAAA,EAAA,GAAK,IAAI,EAAE,KAAK,EAAE,KAAK,EAAA,QAAA,EACxC,QAAQ,EAAA,CACW,KAEtB,QAAQ;AAGZ,MAAM,mBAAmB,GAAc,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,KAAI;AACvE,IAAA,MAAM,EAAE,GAAG,KAAK,EAAE;AAElB,IAAA,QACEC,IAAA,CAAC,OAAO,EAAA,EAAA,QAAA,EAAA,CACND,IAAC,gBAAgB,EAAA,EAAA,GAAK,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAA,CAAI,EACtDA,GAAA,CAAA,KAAA,EAAA,EAAK,EAAE,EAAE,EAAE,EAAA,QAAA,EAAG,MAAM,IAAIA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,YAAY,YAAE,QAAQ,EAAA,CAAO,EAAA,CAAO,CAAA,EAAA,CACnE;AAEd,CAAC;AAED,MAAM,gBAAgB,GAAG,IAAI,CAC3B,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,KAAI;IACnC,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;AAEhF,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE;AAC9B,IAAA,MAAM,UAAU,GAAG,OAAO,CACxB,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC;AACd,YAAA,EAAE,EAAE,sDAAsD;AAC1D,YAAA,WAAW,EAAE,KAAK;SACnB,CAAC;QACF,IAAI,EAAE,QAAQ,CAAC;AACb,YAAA,EAAE,EAAE,qDAAqD;AACzD,YAAA,WAAW,EAAE,IAAI;SAClB,CAAC;AACH,KAAA,CAAC,EACF,CAAC,QAAQ,CAAC,CACX;AAED,IAAA,QACEC,IAAA,CAAC,OAAO,EAAA,EAAC,OAAO,EAAC,eAAe,EAAC,KAAK,EAAC,QAAQ,EAAA,QAAA,EAAA,CAC7CD,GAAA,CAAC,OAAO,EAAA,EAAC,IAAI,EAAC,kBAAkB,EAAA,QAAA,EAC9BA,GAAA,CAAC,SAAS,EAAA,EAAA,QAAA,EAAE,KAAK,EAAA,CAAa,EAAA,CACtB,EAEVA,GAAA,CAAC,MAAM,EAAA,EACL,IAAI,EAAC,GAAG,EAAA,eAAA,EACO,MAAM,EAAA,eAAA,EACN,EAAE,EACjB,SAAS,EAAC,kCAAkC,EAC5C,OAAO,EAAE,aAAa,EAAA,QAAA,EAErB,MAAM,IACLA,IAAC,aAAa,EAAA,EAAC,GAAG,EAAE,UAAU,CAAC,KAAK,EAAA,CAAI,KAExCA,GAAA,CAAC,eAAe,EAAA,EAAC,GAAG,EAAE,UAAU,CAAC,IAAI,EAAA,CAAI,CAC1C,EAAA,CACM,CAAA,EAAA,CACD;AAEd,CAAC,CACF;;;;"}
|
|
@@ -7,6 +7,7 @@ import { Button } from '../../../Button/Button.js';
|
|
|
7
7
|
import '../../../Button/AnchorButton.js';
|
|
8
8
|
import '../../../Button/UnstyledButton.js';
|
|
9
9
|
import { Heading } from '../../../Heading/Heading.js';
|
|
10
|
+
import '../../../Heading/PageHeading/PageHeading.js';
|
|
10
11
|
import { FaArrowLeftIcon } from '../../../Icon/Icon.js';
|
|
11
12
|
import '../../../Icon/generateIcon.js';
|
|
12
13
|
import { Translate } from '../common/Translate.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuSubHeading.js","sources":["../../../../../src/components/AppHeader/components/mobile/MenuSubHeading.tsx"],"sourcesContent":["import { type ReactNode, memo, useMemo } from 'react'\n\nimport { useIntl } from '../../../../intl'\nimport { Button } from '../../../Button'\nimport { Heading } from '../../../Heading'\nimport { FaArrowLeftIcon } from '../../../Icon'\nimport { Translate } from '../common/Translate'\n\ntype Props = {\n title: ReactNode\n onClickBack: () => void\n}\n\nexport const MenuSubHeading = memo<Props>(({ title, onClickBack }) => {\n const { localize } = useIntl()\n const backButtonAriaLabel = useMemo(\n () => localize({ id: 'smarthr-ui/AppHeader/MobileHeader/back', defaultText: '戻る' }),\n [localize],\n )\n\n return (\n <>\n <Button size=\"s\" onClick={onClickBack}>\n <FaArrowLeftIcon alt={backButtonAriaLabel} />\n </Button>\n <Heading type=\"blockTitle\">\n <Translate>{title}</Translate>\n </Heading>\n </>\n )\n})\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"MenuSubHeading.js","sources":["../../../../../src/components/AppHeader/components/mobile/MenuSubHeading.tsx"],"sourcesContent":["import { type ReactNode, memo, useMemo } from 'react'\n\nimport { useIntl } from '../../../../intl'\nimport { Button } from '../../../Button'\nimport { Heading } from '../../../Heading'\nimport { FaArrowLeftIcon } from '../../../Icon'\nimport { Translate } from '../common/Translate'\n\ntype Props = {\n title: ReactNode\n onClickBack: () => void\n}\n\nexport const MenuSubHeading = memo<Props>(({ title, onClickBack }) => {\n const { localize } = useIntl()\n const backButtonAriaLabel = useMemo(\n () => localize({ id: 'smarthr-ui/AppHeader/MobileHeader/back', defaultText: '戻る' }),\n [localize],\n )\n\n return (\n <>\n <Button size=\"s\" onClick={onClickBack}>\n <FaArrowLeftIcon alt={backButtonAriaLabel} />\n </Button>\n <Heading type=\"blockTitle\">\n <Translate>{title}</Translate>\n </Heading>\n </>\n )\n})\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":";;;;;;;;;;;;;;AAaO,MAAM,cAAc,GAAG,IAAI,CAAQ,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAI;AACnE,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE;IAC9B,MAAM,mBAAmB,GAAG,OAAO,CACjC,MAAM,QAAQ,CAAC,EAAE,EAAE,EAAE,wCAAwC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EACnF,CAAC,QAAQ,CAAC,CACX;AAED,IAAA,QACEA,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACEC,GAAA,CAAC,MAAM,EAAA,EAAC,IAAI,EAAC,GAAG,EAAC,OAAO,EAAE,WAAW,EAAA,QAAA,EACnCA,GAAA,CAAC,eAAe,IAAC,GAAG,EAAE,mBAAmB,EAAA,CAAI,GACtC,EACTA,GAAA,CAAC,OAAO,EAAA,EAAC,IAAI,EAAC,YAAY,EAAA,QAAA,EACxBA,GAAA,CAAC,SAAS,EAAA,EAAA,QAAA,EAAE,KAAK,GAAa,EAAA,CACtB,CAAA,EAAA,CACT;AAEP,CAAC;;;;"}
|