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.
Files changed (266) hide show
  1. package/esm/_virtual/index.js +4 -4
  2. package/esm/_virtual/index2.js +4 -4
  3. package/esm/_virtual/index3.js +4 -4
  4. package/esm/components/AccordionPanel/AccordionPanelTrigger.d.ts +1 -1
  5. package/esm/components/AccordionPanel/AccordionPanelTrigger.js +1 -0
  6. package/esm/components/AccordionPanel/AccordionPanelTrigger.js.map +1 -1
  7. package/esm/components/AppHeader/components/desktop/AppLauncher.js +1 -0
  8. package/esm/components/AppHeader/components/desktop/AppLauncher.js.map +1 -1
  9. package/esm/components/AppHeader/components/mobile/LanguageSelector.js +1 -0
  10. package/esm/components/AppHeader/components/mobile/LanguageSelector.js.map +1 -1
  11. package/esm/components/AppHeader/components/mobile/MenuAccordion.js +1 -0
  12. package/esm/components/AppHeader/components/mobile/MenuAccordion.js.map +1 -1
  13. package/esm/components/AppHeader/components/mobile/MenuSubHeading.js +1 -0
  14. package/esm/components/AppHeader/components/mobile/MenuSubHeading.js.map +1 -1
  15. package/esm/components/Base/Base.d.ts +56 -56
  16. package/esm/components/Button/AnchorButton.js +8 -1
  17. package/esm/components/Button/AnchorButton.js.map +1 -1
  18. package/esm/components/Combobox/MultiCombobox/MultiCombobox.js +1 -1
  19. package/esm/components/Combobox/SingleCombobox/SingleCombobox.js +1 -1
  20. package/esm/components/Combobox/helper.js +1 -1
  21. package/esm/components/Combobox/useOptions.js +1 -1
  22. package/esm/components/Dialog/DialogBody.d.ts +28 -28
  23. package/esm/components/Dialog/DialogHeader.js +1 -0
  24. package/esm/components/Dialog/DialogHeader.js.map +1 -1
  25. package/esm/components/Dialog/ModelessDialog/ModelessDialog.js +1 -0
  26. package/esm/components/Dialog/ModelessDialog/ModelessDialog.js.map +1 -1
  27. package/esm/components/Dropdown/DropdownMenuButton/DropdownMenuButton.js +1 -1
  28. package/esm/components/Dropdown/FilterDropdown/FilterDropdown.js +1 -1
  29. package/esm/components/Dropdown/SortDropdown/SortDropdown.js +1 -1
  30. package/esm/components/Dropdown/SortDropdown/SortDropdown.js.map +1 -1
  31. package/esm/components/ErrorScreen/ErrorScreen.js +2 -1
  32. package/esm/components/ErrorScreen/ErrorScreen.js.map +1 -1
  33. package/esm/components/Fieldset/Fieldset.d.ts +6 -2
  34. package/esm/components/Fieldset/Fieldset.js +1 -1
  35. package/esm/components/Fieldset/Fieldset.js.map +1 -1
  36. package/esm/components/FormControl/FormControl.d.ts +15 -10
  37. package/esm/components/FormControl/FormControl.js +37 -32
  38. package/esm/components/FormControl/FormControl.js.map +1 -1
  39. package/esm/components/Header/AppLauncher/AppLauncher.js +1 -0
  40. package/esm/components/Header/AppLauncher/AppLauncher.js.map +1 -1
  41. package/esm/components/Heading/Heading.d.ts +22 -26
  42. package/esm/components/Heading/Heading.js +20 -8
  43. package/esm/components/Heading/Heading.js.map +1 -1
  44. package/esm/components/Heading/PageHeading/PageHeading.d.ts +25 -0
  45. package/esm/components/Heading/PageHeading/PageHeading.js +33 -0
  46. package/esm/components/Heading/PageHeading/PageHeading.js.map +1 -0
  47. package/esm/components/Heading/PageHeading/index.d.ts +1 -0
  48. package/esm/components/Heading/PageHeading/index.js +2 -0
  49. package/esm/components/Heading/index.d.ts +2 -1
  50. package/esm/components/Heading/index.js +2 -1
  51. package/esm/components/Heading/index.js.map +1 -1
  52. package/esm/components/Icon/Icon.js +1 -1
  53. package/esm/components/Icon/generateIcon.d.ts +7 -0
  54. package/esm/components/Icon/generateIcon.js.map +1 -1
  55. package/esm/components/InformationPanel/InformationPanel.js +1 -0
  56. package/esm/components/InformationPanel/InformationPanel.js.map +1 -1
  57. package/esm/components/InputFile/InputFile.d.ts +4 -168
  58. package/esm/components/InputFile/InputFile.js +9 -132
  59. package/esm/components/InputFile/InputFile.js.map +1 -1
  60. package/esm/components/InputFile/InputFileMultiplyAppendable.d.ts +2 -0
  61. package/esm/components/InputFile/InputFileMultiplyAppendable.js +96 -0
  62. package/esm/components/InputFile/InputFileMultiplyAppendable.js.map +1 -0
  63. package/esm/components/InputFile/InputFileNative.d.ts +150 -0
  64. package/esm/components/InputFile/InputFileNative.js +82 -0
  65. package/esm/components/InputFile/InputFileNative.js.map +1 -0
  66. package/esm/components/InputFile/style.d.ts +141 -0
  67. package/esm/components/InputFile/style.js +46 -0
  68. package/esm/components/InputFile/style.js.map +1 -0
  69. package/esm/components/InputFile/types.d.ts +19 -0
  70. package/esm/components/InputFile/types.js +2 -0
  71. package/esm/components/InputFile/types.js.map +1 -0
  72. package/esm/components/Layout/Container/Container.d.ts +28 -28
  73. package/esm/components/{TextLink → OpenInNewTabIcon}/OpenInNewTabIcon.js +4 -1
  74. package/esm/components/OpenInNewTabIcon/OpenInNewTabIcon.js.map +1 -0
  75. package/esm/components/OpenInNewTabIcon/index.d.ts +1 -0
  76. package/esm/components/OpenInNewTabIcon/index.js +2 -0
  77. package/esm/components/OpenInNewTabIcon/index.js.map +1 -0
  78. package/esm/components/PageCounter/PageCounter.d.ts +0 -7
  79. package/esm/components/PageCounter/PageCounter.js +2 -13
  80. package/esm/components/PageCounter/PageCounter.js.map +1 -1
  81. package/esm/components/ResponseMessage/ResponseMessage.d.ts +3 -1
  82. package/esm/components/ResponseMessage/ResponseMessage.js +8 -2
  83. package/esm/components/ResponseMessage/ResponseMessage.js.map +1 -1
  84. package/esm/components/SideMenu/SideMenu.js +1 -0
  85. package/esm/components/SideMenu/SideMenu.js.map +1 -1
  86. package/esm/components/SideMenu/SideMenuGroup.js +1 -0
  87. package/esm/components/SideMenu/SideMenuGroup.js.map +1 -1
  88. package/esm/components/Stepper/VerticalStepItem.js +1 -0
  89. package/esm/components/Stepper/VerticalStepItem.js.map +1 -1
  90. package/esm/components/Text/Text.d.ts +9 -2
  91. package/esm/components/Text/Text.js +47 -3
  92. package/esm/components/Text/Text.js.map +1 -1
  93. package/esm/components/TextLink/TextLink.js +2 -2
  94. package/esm/components/TextLink/TextLink.js.map +1 -1
  95. package/esm/components/Textarea/Textarea.js +11 -14
  96. package/esm/components/Textarea/Textarea.js.map +1 -1
  97. package/esm/components/Tooltip/Tooltip.js +1 -1
  98. package/esm/index.d.ts +0 -1
  99. package/esm/index.js +2 -2
  100. package/esm/intl/DateFormatter.js +1 -0
  101. package/esm/intl/DateFormatter.js.map +1 -1
  102. package/esm/intl/locales/en_us.d.ts +1 -1
  103. package/esm/intl/locales/en_us.js +1 -1
  104. package/esm/intl/locales/en_us.js.map +1 -1
  105. package/esm/intl/locales/id_id.d.ts +1 -1
  106. package/esm/intl/locales/id_id.js +1 -1
  107. package/esm/intl/locales/id_id.js.map +1 -1
  108. package/esm/intl/locales/ja.d.ts +1 -1
  109. package/esm/intl/locales/ja.js +1 -1
  110. package/esm/intl/locales/ja.js.map +1 -1
  111. package/esm/intl/locales/ja_easy.d.ts +1 -1
  112. package/esm/intl/locales/ja_easy.js +1 -1
  113. package/esm/intl/locales/ja_easy.js.map +1 -1
  114. package/esm/intl/locales/ko_kr.d.ts +1 -1
  115. package/esm/intl/locales/ko_kr.js +1 -1
  116. package/esm/intl/locales/ko_kr.js.map +1 -1
  117. package/esm/intl/locales/pt_br.d.ts +1 -1
  118. package/esm/intl/locales/pt_br.js +1 -1
  119. package/esm/intl/locales/pt_br.js.map +1 -1
  120. package/esm/intl/locales/vi_vn.d.ts +1 -1
  121. package/esm/intl/locales/vi_vn.js +1 -1
  122. package/esm/intl/locales/vi_vn.js.map +1 -1
  123. package/esm/intl/locales/zh_hans_cn.d.ts +1 -1
  124. package/esm/intl/locales/zh_hans_cn.js +1 -1
  125. package/esm/intl/locales/zh_hans_cn.js.map +1 -1
  126. package/esm/intl/locales/zh_hant_tw.d.ts +1 -1
  127. package/esm/intl/locales/zh_hant_tw.js +1 -1
  128. package/esm/intl/locales/zh_hant_tw.js.map +1 -1
  129. package/esm/libs/lodash.js +2 -2
  130. package/esm/smarthr-ui-preset.d.ts +1 -1
  131. package/esm/themes/tailwind/TailwindConfig.d.ts +1 -1
  132. package/lib/components/AccordionPanel/AccordionPanelTrigger.d.ts +1 -1
  133. package/lib/components/AccordionPanel/AccordionPanelTrigger.js.map +1 -1
  134. package/lib/components/Button/AnchorButton.js +8 -1
  135. package/lib/components/Button/AnchorButton.js.map +1 -1
  136. package/lib/components/Dropdown/SortDropdown/SortDropdown.js +1 -1
  137. package/lib/components/Dropdown/SortDropdown/SortDropdown.js.map +1 -1
  138. package/lib/components/Fieldset/Fieldset.d.ts +6 -2
  139. package/lib/components/Fieldset/Fieldset.js +1 -1
  140. package/lib/components/Fieldset/Fieldset.js.map +1 -1
  141. package/lib/components/FormControl/FormControl.d.ts +15 -10
  142. package/lib/components/FormControl/FormControl.js +35 -30
  143. package/lib/components/FormControl/FormControl.js.map +1 -1
  144. package/lib/components/Heading/Heading.d.ts +22 -26
  145. package/lib/components/Heading/Heading.js +19 -7
  146. package/lib/components/Heading/Heading.js.map +1 -1
  147. package/lib/components/Heading/PageHeading/PageHeading.d.ts +25 -0
  148. package/lib/components/Heading/PageHeading/PageHeading.js +33 -0
  149. package/lib/components/Heading/PageHeading/PageHeading.js.map +1 -0
  150. package/lib/components/Heading/PageHeading/index.d.ts +1 -0
  151. package/lib/components/Heading/PageHeading/index.js +6 -0
  152. package/lib/components/Heading/PageHeading/index.js.map +1 -0
  153. package/lib/components/Heading/index.d.ts +2 -1
  154. package/lib/components/Heading/index.js +16 -2
  155. package/lib/components/Heading/index.js.map +1 -1
  156. package/lib/components/Icon/generateIcon.d.ts +7 -0
  157. package/lib/components/Icon/generateIcon.js.map +1 -1
  158. package/lib/components/InputFile/InputFile.d.ts +4 -168
  159. package/lib/components/InputFile/InputFile.js +7 -119
  160. package/lib/components/InputFile/InputFile.js.map +1 -1
  161. package/lib/components/InputFile/InputFileMultiplyAppendable.d.ts +2 -0
  162. package/lib/components/InputFile/InputFileMultiplyAppendable.js +85 -0
  163. package/lib/components/InputFile/InputFileMultiplyAppendable.js.map +1 -0
  164. package/lib/components/InputFile/InputFileNative.d.ts +150 -0
  165. package/lib/components/InputFile/InputFileNative.js +71 -0
  166. package/lib/components/InputFile/InputFileNative.js.map +1 -0
  167. package/lib/components/InputFile/style.d.ts +141 -0
  168. package/lib/components/InputFile/style.js +46 -0
  169. package/lib/components/InputFile/style.js.map +1 -0
  170. package/lib/components/InputFile/types.d.ts +19 -0
  171. package/lib/components/InputFile/types.js +3 -0
  172. package/lib/components/InputFile/types.js.map +1 -0
  173. package/lib/components/{TextLink → OpenInNewTabIcon}/OpenInNewTabIcon.js +4 -1
  174. package/lib/components/OpenInNewTabIcon/OpenInNewTabIcon.js.map +1 -0
  175. package/lib/components/OpenInNewTabIcon/index.d.ts +1 -0
  176. package/lib/components/OpenInNewTabIcon/index.js +6 -0
  177. package/lib/components/OpenInNewTabIcon/index.js.map +1 -0
  178. package/lib/components/PageCounter/PageCounter.d.ts +0 -7
  179. package/lib/components/PageCounter/PageCounter.js +2 -13
  180. package/lib/components/PageCounter/PageCounter.js.map +1 -1
  181. package/lib/components/ResponseMessage/ResponseMessage.d.ts +3 -1
  182. package/lib/components/ResponseMessage/ResponseMessage.js +8 -2
  183. package/lib/components/ResponseMessage/ResponseMessage.js.map +1 -1
  184. package/lib/components/Text/Text.d.ts +9 -2
  185. package/lib/components/Text/Text.js +46 -2
  186. package/lib/components/Text/Text.js.map +1 -1
  187. package/lib/components/TextLink/TextLink.js +2 -2
  188. package/lib/components/TextLink/TextLink.js.map +1 -1
  189. package/lib/components/Textarea/Textarea.js +11 -14
  190. package/lib/components/Textarea/Textarea.js.map +1 -1
  191. package/lib/index.d.ts +0 -1
  192. package/lib/index.js +2 -4
  193. package/lib/index.js.map +1 -1
  194. package/lib/intl/DateFormatter.js +1 -0
  195. package/lib/intl/DateFormatter.js.map +1 -1
  196. package/lib/intl/locales/en_us.d.ts +1 -1
  197. package/lib/intl/locales/en_us.js +1 -1
  198. package/lib/intl/locales/en_us.js.map +1 -1
  199. package/lib/intl/locales/id_id.d.ts +1 -1
  200. package/lib/intl/locales/id_id.js +1 -1
  201. package/lib/intl/locales/id_id.js.map +1 -1
  202. package/lib/intl/locales/ja.d.ts +1 -1
  203. package/lib/intl/locales/ja.js +1 -1
  204. package/lib/intl/locales/ja.js.map +1 -1
  205. package/lib/intl/locales/ja_easy.d.ts +1 -1
  206. package/lib/intl/locales/ja_easy.js +1 -1
  207. package/lib/intl/locales/ja_easy.js.map +1 -1
  208. package/lib/intl/locales/ko_kr.d.ts +1 -1
  209. package/lib/intl/locales/ko_kr.js +1 -1
  210. package/lib/intl/locales/ko_kr.js.map +1 -1
  211. package/lib/intl/locales/pt_br.d.ts +1 -1
  212. package/lib/intl/locales/pt_br.js +1 -1
  213. package/lib/intl/locales/pt_br.js.map +1 -1
  214. package/lib/intl/locales/vi_vn.d.ts +1 -1
  215. package/lib/intl/locales/vi_vn.js +1 -1
  216. package/lib/intl/locales/vi_vn.js.map +1 -1
  217. package/lib/intl/locales/zh_hans_cn.d.ts +1 -1
  218. package/lib/intl/locales/zh_hans_cn.js +1 -1
  219. package/lib/intl/locales/zh_hans_cn.js.map +1 -1
  220. package/lib/intl/locales/zh_hant_tw.d.ts +1 -1
  221. package/lib/intl/locales/zh_hant_tw.js +1 -1
  222. package/lib/intl/locales/zh_hant_tw.js.map +1 -1
  223. package/package.json +1 -1
  224. package/smarthr-ui.css +4 -0
  225. package/esm/components/AppHeader/stories/args.d.ts +0 -3
  226. package/esm/components/AppHeader/stories/args.js +0 -142
  227. package/esm/components/AppHeader/stories/args.js.map +0 -1
  228. package/esm/components/RangeSeparator/RangeSeparator.d.ts +0 -13
  229. package/esm/components/RangeSeparator/RangeSeparator.js +0 -16
  230. package/esm/components/RangeSeparator/RangeSeparator.js.map +0 -1
  231. package/esm/components/RangeSeparator/index.d.ts +0 -1
  232. package/esm/components/RangeSeparator/index.js +0 -2
  233. package/esm/components/TextLink/OpenInNewTabIcon.js.map +0 -1
  234. package/esm/vendor/.pnpm/@storybook_global@5.0.0/vendor/@storybook/global/dist/index.js +0 -19
  235. package/esm/vendor/.pnpm/@storybook_global@5.0.0/vendor/@storybook/global/dist/index.js.map +0 -1
  236. 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
  237. 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
  238. 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
  239. 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
  240. 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
  241. 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
  242. 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
  243. 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
  244. 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
  245. 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
  246. 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
  247. 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
  248. 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
  249. 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
  250. 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
  251. 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
  252. 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
  253. 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
  254. package/lib/components/AppHeader/stories/args.d.ts +0 -3
  255. package/lib/components/AppHeader/stories/args.js +0 -142
  256. package/lib/components/AppHeader/stories/args.js.map +0 -1
  257. package/lib/components/RangeSeparator/RangeSeparator.d.ts +0 -13
  258. package/lib/components/RangeSeparator/RangeSeparator.js +0 -16
  259. package/lib/components/RangeSeparator/RangeSeparator.js.map +0 -1
  260. package/lib/components/RangeSeparator/index.d.ts +0 -1
  261. package/lib/components/RangeSeparator/index.js +0 -6
  262. package/lib/components/RangeSeparator/index.js.map +0 -1
  263. package/lib/components/TextLink/OpenInNewTabIcon.js.map +0 -1
  264. /package/esm/components/{RangeSeparator → Heading/PageHeading}/index.js.map +0 -0
  265. /package/esm/components/{TextLink → OpenInNewTabIcon}/OpenInNewTabIcon.d.ts +0 -0
  266. /package/lib/components/{TextLink → OpenInNewTabIcon}/OpenInNewTabIcon.d.ts +0 -0
@@ -1,8 +1,8 @@
1
1
  import { getDefaultExportFromCjs } from './_commonjsHelpers.js';
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';
2
+ import { __require as requireLodash_merge } from './../vendor/.pnpm/lodash.merge@4.6.2/vendor/lodash.merge/index.js';
3
3
 
4
- var reactInnertextExports = requireReactInnertext();
5
- var innerText = /*@__PURE__*/getDefaultExportFromCjs(reactInnertextExports);
4
+ var lodash_mergeExports = requireLodash_merge();
5
+ var _merge = /*@__PURE__*/getDefaultExportFromCjs(lodash_mergeExports);
6
6
 
7
- export { innerText as default };
7
+ export { _merge as default };
8
8
  //# sourceMappingURL=index.js.map
@@ -1,8 +1,8 @@
1
1
  import { getDefaultExportFromCjs } from './_commonjsHelpers.js';
2
- import { __require as requireLodash_merge } from './../vendor/.pnpm/lodash.merge@4.6.2/vendor/lodash.merge/index.js';
2
+ import { __require as requireLodash_range } from './../vendor/.pnpm/lodash.range@3.2.0/vendor/lodash.range/index.js';
3
3
 
4
- var lodash_mergeExports = requireLodash_merge();
5
- var _merge = /*@__PURE__*/getDefaultExportFromCjs(lodash_mergeExports);
4
+ var lodash_rangeExports = requireLodash_range();
5
+ var _range = /*@__PURE__*/getDefaultExportFromCjs(lodash_rangeExports);
6
6
 
7
- export { _merge as default };
7
+ export { _range as default };
8
8
  //# sourceMappingURL=index2.js.map
@@ -1,8 +1,8 @@
1
1
  import { getDefaultExportFromCjs } from './_commonjsHelpers.js';
2
- import { __require as requireLodash_range } from './../vendor/.pnpm/lodash.range@3.2.0/vendor/lodash.range/index.js';
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 lodash_rangeExports = requireLodash_range();
5
- var _range = /*@__PURE__*/getDefaultExportFromCjs(lodash_rangeExports);
4
+ var reactInnertextExports = requireReactInnertext();
5
+ var innerText = /*@__PURE__*/getDefaultExportFromCjs(reactInnertextExports);
6
6
 
7
- export { _range as default };
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']\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;;"}
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":"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"}
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":";;;;;;;;;;;;;;;;;;;;;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;;;;"}
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":";;;;;;;;;;;;;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;;;;"}
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;;;;"}