smarthr-ui 82.0.0 → 83.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (604) hide show
  1. package/esm/components/AccordionPanel/AccordionPanel.js +2 -2
  2. package/esm/components/AccordionPanel/AccordionPanel.js.map +1 -1
  3. package/esm/components/AccordionPanel/AccordionPanelContent.js +2 -2
  4. package/esm/components/AccordionPanel/AccordionPanelContent.js.map +1 -1
  5. package/esm/components/AccordionPanel/AccordionPanelItem.js +2 -2
  6. package/esm/components/AccordionPanel/AccordionPanelItem.js.map +1 -1
  7. package/esm/components/AccordionPanel/AccordionPanelTrigger.js +2 -2
  8. package/esm/components/AccordionPanel/AccordionPanelTrigger.js.map +1 -1
  9. package/esm/components/AppHeader/AppHeader.js +2 -2
  10. package/esm/components/AppHeader/AppHeader.js.map +1 -1
  11. package/esm/components/AppHeader/components/common/AppLauncherFeatures.js +1 -0
  12. package/esm/components/AppHeader/components/common/AppLauncherFeatures.js.map +1 -1
  13. package/esm/components/AppHeader/components/common/AppLauncherSortDropdown.js +1 -0
  14. package/esm/components/AppHeader/components/common/AppLauncherSortDropdown.js.map +1 -1
  15. package/esm/components/AppHeader/components/common/CommonButton.d.ts +28 -0
  16. package/esm/components/AppHeader/components/common/CommonButton.js +11 -4
  17. package/esm/components/AppHeader/components/common/CommonButton.js.map +1 -1
  18. package/esm/components/AppHeader/components/desktop/AppLauncher.js +1 -0
  19. package/esm/components/AppHeader/components/desktop/AppLauncher.js.map +1 -1
  20. package/esm/components/AppHeader/components/desktop/DesktopHeader.js +3 -2
  21. package/esm/components/AppHeader/components/desktop/DesktopHeader.js.map +1 -1
  22. package/esm/components/AppHeader/components/desktop/Navigation.js +1 -0
  23. package/esm/components/AppHeader/components/desktop/Navigation.js.map +1 -1
  24. package/esm/components/AppHeader/components/desktop/ReleaseNotesDropdown.js +1 -0
  25. package/esm/components/AppHeader/components/desktop/ReleaseNotesDropdown.js.map +1 -1
  26. package/esm/components/AppHeader/components/desktop/UserInfo.js +2 -1
  27. package/esm/components/AppHeader/components/desktop/UserInfo.js.map +1 -1
  28. package/esm/components/AppHeader/components/mobile/AppLauncher.js +1 -0
  29. package/esm/components/AppHeader/components/mobile/AppLauncher.js.map +1 -1
  30. package/esm/components/AppHeader/components/mobile/AppLauncherFilterDropdown.js +1 -0
  31. package/esm/components/AppHeader/components/mobile/AppLauncherFilterDropdown.js.map +1 -1
  32. package/esm/components/AppHeader/components/mobile/Help.js +1 -0
  33. package/esm/components/AppHeader/components/mobile/Help.js.map +1 -1
  34. package/esm/components/AppHeader/components/mobile/LanguageSelector.js +1 -0
  35. package/esm/components/AppHeader/components/mobile/LanguageSelector.js.map +1 -1
  36. package/esm/components/AppHeader/components/mobile/Menu.js +1 -0
  37. package/esm/components/AppHeader/components/mobile/Menu.js.map +1 -1
  38. package/esm/components/AppHeader/components/mobile/MenuAccordion.js +1 -0
  39. package/esm/components/AppHeader/components/mobile/MenuAccordion.js.map +1 -1
  40. package/esm/components/AppHeader/components/mobile/MenuDialog.js +1 -0
  41. package/esm/components/AppHeader/components/mobile/MenuDialog.js.map +1 -1
  42. package/esm/components/AppHeader/components/mobile/MenuSubHeading.js +1 -0
  43. package/esm/components/AppHeader/components/mobile/MenuSubHeading.js.map +1 -1
  44. package/esm/components/AppHeader/components/mobile/MobileHeader.js +2 -2
  45. package/esm/components/AppHeader/components/mobile/MobileHeader.js.map +1 -1
  46. package/esm/components/AppHeader/components/mobile/ReleaseNote.js +1 -0
  47. package/esm/components/AppHeader/components/mobile/ReleaseNote.js.map +1 -1
  48. package/esm/components/AppHeader/components/mobile/UserInfo.js +1 -0
  49. package/esm/components/AppHeader/components/mobile/UserInfo.js.map +1 -1
  50. package/esm/components/AppNavi/AppNaviAnchor.js +2 -2
  51. package/esm/components/AppNavi/AppNaviAnchor.js.map +1 -1
  52. package/esm/components/AppNavi/AppNaviCustomTag.js +2 -2
  53. package/esm/components/AppNavi/AppNaviCustomTag.js.map +1 -1
  54. package/esm/components/AppNavi/AppNaviDropdownMenuButton.js +1 -1
  55. package/esm/components/AppNavi/AppNaviDropdownMenuButton.js.map +1 -1
  56. package/esm/components/Badge/Badge.js +5 -5
  57. package/esm/components/Badge/Badge.js.map +1 -1
  58. package/esm/components/Balloon/Balloon.js +2 -2
  59. package/esm/components/Balloon/Balloon.js.map +1 -1
  60. package/esm/components/Base/Base.js +2 -2
  61. package/esm/components/Base/Base.js.map +1 -1
  62. package/esm/components/Base/BaseColumn/BaseColumn.js +2 -2
  63. package/esm/components/Base/BaseColumn/BaseColumn.js.map +1 -1
  64. package/esm/components/BottomFixedArea/BottomFixedArea.js +2 -2
  65. package/esm/components/BottomFixedArea/BottomFixedArea.js.map +1 -1
  66. package/esm/components/Button/AnchorButton.js +3 -3
  67. package/esm/components/Button/AnchorButton.js.map +1 -1
  68. package/esm/components/Button/Button.js +3 -2
  69. package/esm/components/Button/Button.js.map +1 -1
  70. package/esm/components/Button/ButtonWrapper.d.ts +3 -23
  71. package/esm/components/Button/ButtonWrapper.js +13 -382
  72. package/esm/components/Button/ButtonWrapper.js.map +1 -1
  73. package/esm/components/Button/UnstyledButton.js +2 -2
  74. package/esm/components/Button/UnstyledButton.js.map +1 -1
  75. package/esm/components/Button/useButtonWrapper.d.ts +35 -0
  76. package/esm/components/Button/useButtonWrapper.js +379 -0
  77. package/esm/components/Button/useButtonWrapper.js.map +1 -0
  78. package/esm/components/Calendar/Calendar.js +4 -4
  79. package/esm/components/Calendar/Calendar.js.map +1 -1
  80. package/esm/components/Calendar/CalendarTable.js +2 -2
  81. package/esm/components/Calendar/CalendarTable.js.map +1 -1
  82. package/esm/components/Calendar/YearPicker.js +3 -2
  83. package/esm/components/Calendar/YearPicker.js.map +1 -1
  84. package/esm/components/Checkbox/Checkbox.js +3 -3
  85. package/esm/components/Checkbox/Checkbox.js.map +1 -1
  86. package/esm/components/Chip/Chip.js +2 -2
  87. package/esm/components/Chip/Chip.js.map +1 -1
  88. package/esm/components/Combobox/ItemButton.js +1 -0
  89. package/esm/components/Combobox/ItemButton.js.map +1 -1
  90. package/esm/components/Combobox/MultiCombobox/MultiCombobox.js +1 -0
  91. package/esm/components/Combobox/MultiCombobox/MultiCombobox.js.map +1 -1
  92. package/esm/components/Combobox/MultiCombobox/MultiSelectedItem.js +1 -0
  93. package/esm/components/Combobox/MultiCombobox/MultiSelectedItem.js.map +1 -1
  94. package/esm/components/Combobox/SingleCombobox/SingleCombobox.js +1 -0
  95. package/esm/components/Combobox/SingleCombobox/SingleCombobox.js.map +1 -1
  96. package/esm/components/Combobox/useListbox.js +1 -0
  97. package/esm/components/Combobox/useListbox.js.map +1 -1
  98. package/esm/components/DatePicker/DatePicker.d.ts +8 -2
  99. package/esm/components/DatePicker/DatePicker.js +47 -17
  100. package/esm/components/DatePicker/DatePicker.js.map +1 -1
  101. package/esm/components/DatePicker/Portal.js +2 -2
  102. package/esm/components/DatePicker/Portal.js.map +1 -1
  103. package/esm/components/Dialog/ActionDialog/ActionDialog.js +2 -2
  104. package/esm/components/Dialog/ActionDialog/ActionDialog.js.map +1 -1
  105. package/esm/components/Dialog/ActionDialog/ActionDialogContentInner.js +1 -0
  106. package/esm/components/Dialog/ActionDialog/ActionDialogContentInner.js.map +1 -1
  107. package/esm/components/Dialog/Dialog.js +2 -2
  108. package/esm/components/Dialog/Dialog.js.map +1 -1
  109. package/esm/components/Dialog/DialogContent.js +2 -2
  110. package/esm/components/Dialog/DialogContent.js.map +1 -1
  111. package/esm/components/Dialog/FormDialog/FormDialog.js +2 -2
  112. package/esm/components/Dialog/FormDialog/FormDialog.js.map +1 -1
  113. package/esm/components/Dialog/FormDialog/FormDialogContentInner.js +1 -0
  114. package/esm/components/Dialog/FormDialog/FormDialogContentInner.js.map +1 -1
  115. package/esm/components/Dialog/MessageDialog/MessageDialog.js +5 -6
  116. package/esm/components/Dialog/MessageDialog/MessageDialog.js.map +1 -1
  117. package/esm/components/Dialog/MessageDialog/MessageDialogContent.js +2 -2
  118. package/esm/components/Dialog/MessageDialog/MessageDialogContent.js.map +1 -1
  119. package/esm/components/Dialog/MessageDialog/MessageDialogContentInner.js +1 -0
  120. package/esm/components/Dialog/MessageDialog/MessageDialogContentInner.js.map +1 -1
  121. package/esm/components/Dialog/ModelessDialog/ModelessDialog.js +3 -2
  122. package/esm/components/Dialog/ModelessDialog/ModelessDialog.js.map +1 -1
  123. package/esm/components/Dialog/RemoteDialogTrigger/RemoteDialogTrigger.js +1 -1
  124. package/esm/components/Dialog/RemoteDialogTrigger/RemoteDialogTrigger.js.map +1 -1
  125. package/esm/components/Dialog/RemoteDialogTrigger/RemoteTriggerActionDialog.js +2 -2
  126. package/esm/components/Dialog/RemoteDialogTrigger/RemoteTriggerActionDialog.js.map +1 -1
  127. package/esm/components/Dialog/RemoteDialogTrigger/RemoteTriggerFormDialog.js +2 -2
  128. package/esm/components/Dialog/RemoteDialogTrigger/RemoteTriggerFormDialog.js.map +1 -1
  129. package/esm/components/Dialog/RemoteDialogTrigger/RemoteTriggerMessageDialog.js +2 -2
  130. package/esm/components/Dialog/RemoteDialogTrigger/RemoteTriggerMessageDialog.js.map +1 -1
  131. package/esm/components/Dialog/RemoteDialogTrigger/RemoteTriggerStepFormDialog.js +2 -2
  132. package/esm/components/Dialog/RemoteDialogTrigger/RemoteTriggerStepFormDialog.js.map +1 -1
  133. package/esm/components/Dialog/StepFormDialog/StepFormDialog.js +2 -2
  134. package/esm/components/Dialog/StepFormDialog/StepFormDialog.js.map +1 -1
  135. package/esm/components/Dialog/StepFormDialog/StepFormDialogContentInner.js +1 -0
  136. package/esm/components/Dialog/StepFormDialog/StepFormDialogContentInner.js.map +1 -1
  137. package/esm/components/Disclosure/DisclosureTrigger.js +1 -1
  138. package/esm/components/Disclosure/DisclosureTrigger.js.map +1 -1
  139. package/esm/components/DropZone/DropZone.js +3 -2
  140. package/esm/components/DropZone/DropZone.js.map +1 -1
  141. package/esm/components/Dropdown/DropdownContent.js +2 -2
  142. package/esm/components/Dropdown/DropdownContent.js.map +1 -1
  143. package/esm/components/Dropdown/DropdownContentInner.js +2 -2
  144. package/esm/components/Dropdown/DropdownContentInner.js.map +1 -1
  145. package/esm/components/Dropdown/DropdownMenuButton/DropdownMenuButton.d.ts +13 -8
  146. package/esm/components/Dropdown/DropdownMenuButton/DropdownMenuButton.js +20 -10
  147. package/esm/components/Dropdown/DropdownMenuButton/DropdownMenuButton.js.map +1 -1
  148. package/esm/components/Dropdown/FilterDropdown/FilterDropdown.js +3 -2
  149. package/esm/components/Dropdown/FilterDropdown/FilterDropdown.js.map +1 -1
  150. package/esm/components/Dropdown/SortDropdown/SortDropdown.js +2 -2
  151. package/esm/components/Dropdown/SortDropdown/SortDropdown.js.map +1 -1
  152. package/esm/components/Dropdown/SortDropdown/useSortDropdown.d.ts +1 -1
  153. package/esm/components/Dropdown/SortDropdown/useSortDropdown.js +2 -1
  154. package/esm/components/Dropdown/SortDropdown/useSortDropdown.js.map +1 -1
  155. package/esm/components/ErrorScreen/ErrorScreen.js +2 -2
  156. package/esm/components/ErrorScreen/ErrorScreen.js.map +1 -1
  157. package/esm/components/Fieldset/Fieldset.js +1 -1
  158. package/esm/components/Fieldset/Fieldset.js.map +1 -1
  159. package/esm/components/FileViewer/FileViewer.js +2 -1
  160. package/esm/components/FileViewer/FileViewer.js.map +1 -1
  161. package/esm/components/FileViewer/PDFViewer.js +2 -3
  162. package/esm/components/FileViewer/PDFViewer.js.map +1 -1
  163. package/esm/components/FormControl/FormControl.js +10 -5
  164. package/esm/components/FormControl/FormControl.js.map +1 -1
  165. package/esm/components/Header/AppLauncher/AppLauncher.js +3 -2
  166. package/esm/components/Header/AppLauncher/AppLauncher.js.map +1 -1
  167. package/esm/components/Header/Header.js +3 -3
  168. package/esm/components/Header/Header.js.map +1 -1
  169. package/esm/components/Header/HeaderLink.js +2 -2
  170. package/esm/components/Header/HeaderLink.js.map +1 -1
  171. package/esm/components/Header/LanguageSwitcher/LanguageSwitcher.js +14 -9
  172. package/esm/components/Header/LanguageSwitcher/LanguageSwitcher.js.map +1 -1
  173. package/esm/components/Heading/Heading.js +2 -2
  174. package/esm/components/Heading/Heading.js.map +1 -1
  175. package/esm/components/Heading/PageHeading/PageHeading.js +2 -2
  176. package/esm/components/Heading/PageHeading/PageHeading.js.map +1 -1
  177. package/esm/components/Icon/OpenInNewTabIcon.js +1 -0
  178. package/esm/components/Icon/OpenInNewTabIcon.js.map +1 -1
  179. package/esm/components/Icon/generateIcon.js +2 -2
  180. package/esm/components/Icon/generateIcon.js.map +1 -1
  181. package/esm/components/InformationPanel/InformationPanel.js +3 -2
  182. package/esm/components/InformationPanel/InformationPanel.js.map +1 -1
  183. package/esm/components/Input/CurrencyInput/CurrencyInput.js +12 -19
  184. package/esm/components/Input/CurrencyInput/CurrencyInput.js.map +1 -1
  185. package/esm/components/Input/Input.js +3 -3
  186. package/esm/components/Input/Input.js.map +1 -1
  187. package/esm/components/Input/SearchInput/SearchInputIcon.js +1 -0
  188. package/esm/components/Input/SearchInput/SearchInputIcon.js.map +1 -1
  189. package/esm/components/InputFile/InputFileMultiplyAppendable.js +3 -2
  190. package/esm/components/InputFile/InputFileMultiplyAppendable.js.map +1 -1
  191. package/esm/components/InputFile/InputFileNative.js +1 -0
  192. package/esm/components/InputFile/InputFileNative.js.map +1 -1
  193. package/esm/components/Layout/Center/Center.js +2 -2
  194. package/esm/components/Layout/Center/Center.js.map +1 -1
  195. package/esm/components/Layout/Reel/Reel.js +2 -2
  196. package/esm/components/Layout/Reel/Reel.js.map +1 -1
  197. package/esm/components/Layout/Stack/Stack.js +2 -2
  198. package/esm/components/Layout/Stack/Stack.js.map +1 -1
  199. package/esm/components/Loader/Loader.js +2 -2
  200. package/esm/components/Loader/Loader.js.map +1 -1
  201. package/esm/components/Loader/LoaderSpinner.js +1 -0
  202. package/esm/components/Loader/LoaderSpinner.js.map +1 -1
  203. package/esm/components/NotificationBar/NotificationBar.js +3 -2
  204. package/esm/components/NotificationBar/NotificationBar.js.map +1 -1
  205. package/esm/components/PageCounter/PageCounter.js +2 -2
  206. package/esm/components/PageCounter/PageCounter.js.map +1 -1
  207. package/esm/components/Pagination/Pagination.js +3 -2
  208. package/esm/components/Pagination/Pagination.js.map +1 -1
  209. package/esm/components/Pagination/PaginationControllerItemButton.js +1 -0
  210. package/esm/components/Pagination/PaginationControllerItemButton.js.map +1 -1
  211. package/esm/components/Pagination/PaginationItemButton.js +1 -0
  212. package/esm/components/Pagination/PaginationItemButton.js.map +1 -1
  213. package/esm/components/RadioButton/RadioButton.js +4 -4
  214. package/esm/components/RadioButton/RadioButton.js.map +1 -1
  215. package/esm/components/RadioButtonPanel/RadioButtonPanel.js +2 -2
  216. package/esm/components/RadioButtonPanel/RadioButtonPanel.js.map +1 -1
  217. package/esm/components/ResponseMessage/ResponseMessage.js +2 -2
  218. package/esm/components/ResponseMessage/ResponseMessage.js.map +1 -1
  219. package/esm/components/SectioningContent/SectioningContent.js +1 -1
  220. package/esm/components/SectioningContent/SectioningContent.js.map +1 -1
  221. package/esm/components/SegmentedControl/SegmentedControl.js +2 -2
  222. package/esm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  223. package/esm/components/Select/Select.js +6 -6
  224. package/esm/components/Select/Select.js.map +1 -1
  225. package/esm/components/SideNav/SideNav.js +2 -2
  226. package/esm/components/SideNav/SideNav.js.map +1 -1
  227. package/esm/components/SideNav/SideNavItemButton.d.ts +3 -1
  228. package/esm/components/SideNav/SideNavItemButton.js +8 -6
  229. package/esm/components/SideNav/SideNavItemButton.js.map +1 -1
  230. package/esm/components/SpreadsheetTable/SpreadsheetTable.js +2 -2
  231. package/esm/components/SpreadsheetTable/SpreadsheetTable.js.map +1 -1
  232. package/esm/components/StatusLabel/StatusLabel.js +2 -2
  233. package/esm/components/StatusLabel/StatusLabel.js.map +1 -1
  234. package/esm/components/Stepper/StepStatusIcon.js +1 -0
  235. package/esm/components/Stepper/StepStatusIcon.js.map +1 -1
  236. package/esm/components/Switch/Switch.js +2 -2
  237. package/esm/components/Switch/Switch.js.map +1 -1
  238. package/esm/components/TabBar/TabBar.js +2 -2
  239. package/esm/components/TabBar/TabBar.js.map +1 -1
  240. package/esm/components/TabBar/TabItem.js +4 -4
  241. package/esm/components/TabBar/TabItem.js.map +1 -1
  242. package/esm/components/Table/BulkActionRow.js +2 -2
  243. package/esm/components/Table/BulkActionRow.js.map +1 -1
  244. package/esm/components/Table/EmptyTableBody.js +2 -2
  245. package/esm/components/Table/EmptyTableBody.js.map +1 -1
  246. package/esm/components/Table/TableFixedHead.js +2 -2
  247. package/esm/components/Table/TableFixedHead.js.map +1 -1
  248. package/esm/components/Table/TableReel.js +2 -2
  249. package/esm/components/Table/TableReel.js.map +1 -1
  250. package/esm/components/Table/Td.js +2 -2
  251. package/esm/components/Table/Td.js.map +1 -1
  252. package/esm/components/Table/TdCheckbox.js.map +1 -1
  253. package/esm/components/Table/TdRadioButton.js.map +1 -1
  254. package/esm/components/Table/Th.js +2 -2
  255. package/esm/components/Table/Th.js.map +1 -1
  256. package/esm/components/Table/ThCheckbox.js +3 -2
  257. package/esm/components/Table/ThCheckbox.js.map +1 -1
  258. package/esm/components/Table/ThSortButton.js +1 -0
  259. package/esm/components/Table/ThSortButton.js.map +1 -1
  260. package/esm/components/Text/Text.d.ts +1 -1
  261. package/esm/components/Text/Text.js +2 -2
  262. package/esm/components/Text/Text.js.map +1 -1
  263. package/esm/components/TextLink/TextLink.js +2 -2
  264. package/esm/components/TextLink/TextLink.js.map +1 -1
  265. package/esm/components/TextLink/UpwardLink/UpwardLink.js +5 -1
  266. package/esm/components/TextLink/UpwardLink/UpwardLink.js.map +1 -1
  267. package/esm/components/Textarea/Textarea.js +4 -3
  268. package/esm/components/Textarea/Textarea.js.map +1 -1
  269. package/esm/components/Tooltip/Tooltip.js +2 -2
  270. package/esm/components/Tooltip/Tooltip.js.map +1 -1
  271. package/esm/components/VisuallyHiddenText/VisuallyHiddenText.d.ts +1 -1
  272. package/esm/components/VisuallyHiddenText/VisuallyHiddenText.js +2 -2
  273. package/esm/components/VisuallyHiddenText/VisuallyHiddenText.js.map +1 -1
  274. package/esm/components/WarekiPicker/WarekiPicker.js +1 -0
  275. package/esm/components/WarekiPicker/WarekiPicker.js.map +1 -1
  276. package/esm/hooks/useEnvironment/EnvironmentProvider.d.ts +8 -0
  277. package/esm/hooks/useEnvironment/EnvironmentProvider.js +26 -0
  278. package/esm/hooks/useEnvironment/EnvironmentProvider.js.map +1 -0
  279. package/esm/hooks/useEnvironment/index.d.ts +2 -0
  280. package/esm/hooks/useEnvironment/index.js +3 -0
  281. package/esm/hooks/useEnvironment/index.js.map +1 -0
  282. package/esm/hooks/useEnvironment/useEnvironment.d.ts +7 -0
  283. package/esm/hooks/useEnvironment/useEnvironment.js +21 -0
  284. package/esm/hooks/useEnvironment/useEnvironment.js.map +1 -0
  285. package/esm/hooks/useMediaQueries/index.d.ts +1 -0
  286. package/esm/hooks/useMediaQueries/index.js +2 -0
  287. package/esm/hooks/useMediaQueries/index.js.map +1 -0
  288. package/esm/hooks/useMediaQueries/useMediaQueries.d.ts +8 -0
  289. package/esm/hooks/useMediaQueries/useMediaQueries.js +37 -0
  290. package/esm/hooks/useMediaQueries/useMediaQueries.js.map +1 -0
  291. package/esm/hooks/useSV/index.d.ts +1 -0
  292. package/esm/hooks/useSV/index.js +2 -0
  293. package/esm/hooks/useSV/index.js.map +1 -0
  294. package/esm/hooks/useSV/useSV.d.ts +20 -0
  295. package/esm/hooks/useSV/useSV.js +36 -0
  296. package/esm/hooks/useSV/useSV.js.map +1 -0
  297. package/esm/index.d.ts +2 -0
  298. package/esm/index.js +3 -0
  299. package/esm/index.js.map +1 -1
  300. package/esm/intl/DateFormatter.d.ts +3 -1
  301. package/esm/intl/DateFormatter.js +4 -2
  302. package/esm/intl/DateFormatter.js.map +1 -1
  303. package/esm/intl/Localizer.d.ts +1 -1
  304. package/esm/intl/Localizer.js +1 -1
  305. package/esm/intl/useIntl.js +11 -10
  306. package/esm/intl/useIntl.js.map +1 -1
  307. package/esm/libs/debounce.d.ts +2 -2
  308. package/esm/libs/debounce.js +3 -3
  309. package/esm/libs/debounce.js.map +1 -1
  310. package/esm/libs/object.d.ts +6 -0
  311. package/esm/libs/object.js +5 -0
  312. package/esm/libs/object.js.map +1 -0
  313. package/esm/libs/shallowEqual.d.ts +1 -0
  314. package/esm/libs/shallowEqual.js +25 -0
  315. package/esm/libs/shallowEqual.js.map +1 -0
  316. package/esm/smarthr-ui-preset.d.ts +2 -2
  317. package/esm/smarthr-ui-preset.js +2 -2
  318. package/esm/smarthr-ui-preset.js.map +1 -1
  319. package/esm/themes/createColor.js +1 -1
  320. package/esm/themes/createColor.js.map +1 -1
  321. package/esm/themes/createFontSize.js +2 -2
  322. package/esm/themes/createFontSize.js.map +1 -1
  323. package/esm/themes/createMediaQuery.d.ts +22 -0
  324. package/esm/themes/createMediaQuery.js +14 -0
  325. package/esm/themes/createMediaQuery.js.map +1 -0
  326. package/esm/themes/createTheme.d.ts +13 -10
  327. package/esm/themes/createTheme.js +8 -6
  328. package/esm/themes/createTheme.js.map +1 -1
  329. package/esm/themes/index.d.ts +1 -0
  330. package/esm/themes/index.js +1 -0
  331. package/esm/themes/index.js.map +1 -1
  332. package/esm/themes/tailwind/TailwindConfig.d.ts +2 -2
  333. package/lib/components/AccordionPanel/AccordionPanel.js +2 -2
  334. package/lib/components/AccordionPanel/AccordionPanel.js.map +1 -1
  335. package/lib/components/AccordionPanel/AccordionPanelContent.js +2 -2
  336. package/lib/components/AccordionPanel/AccordionPanelContent.js.map +1 -1
  337. package/lib/components/AccordionPanel/AccordionPanelItem.js +2 -2
  338. package/lib/components/AccordionPanel/AccordionPanelItem.js.map +1 -1
  339. package/lib/components/AccordionPanel/AccordionPanelTrigger.js +2 -2
  340. package/lib/components/AccordionPanel/AccordionPanelTrigger.js.map +1 -1
  341. package/lib/components/AppHeader/AppHeader.js +2 -2
  342. package/lib/components/AppHeader/AppHeader.js.map +1 -1
  343. package/lib/components/AppHeader/components/common/CommonButton.d.ts +28 -0
  344. package/lib/components/AppHeader/components/common/CommonButton.js +11 -4
  345. package/lib/components/AppHeader/components/common/CommonButton.js.map +1 -1
  346. package/lib/components/AppHeader/components/desktop/DesktopHeader.js +2 -2
  347. package/lib/components/AppHeader/components/desktop/DesktopHeader.js.map +1 -1
  348. package/lib/components/AppHeader/components/desktop/Navigation.js +1 -0
  349. package/lib/components/AppHeader/components/desktop/Navigation.js.map +1 -1
  350. package/lib/components/AppHeader/components/desktop/UserInfo.js +1 -1
  351. package/lib/components/AppHeader/components/desktop/UserInfo.js.map +1 -1
  352. package/lib/components/AppHeader/components/mobile/MobileHeader.js +2 -2
  353. package/lib/components/AppHeader/components/mobile/MobileHeader.js.map +1 -1
  354. package/lib/components/AppNavi/AppNaviAnchor.js +2 -2
  355. package/lib/components/AppNavi/AppNaviAnchor.js.map +1 -1
  356. package/lib/components/AppNavi/AppNaviCustomTag.js +2 -2
  357. package/lib/components/AppNavi/AppNaviCustomTag.js.map +1 -1
  358. package/lib/components/AppNavi/AppNaviDropdownMenuButton.js +1 -1
  359. package/lib/components/AppNavi/AppNaviDropdownMenuButton.js.map +1 -1
  360. package/lib/components/Badge/Badge.js +5 -5
  361. package/lib/components/Badge/Badge.js.map +1 -1
  362. package/lib/components/Balloon/Balloon.js +2 -2
  363. package/lib/components/Balloon/Balloon.js.map +1 -1
  364. package/lib/components/Base/Base.js +2 -2
  365. package/lib/components/Base/Base.js.map +1 -1
  366. package/lib/components/Base/BaseColumn/BaseColumn.js +2 -2
  367. package/lib/components/Base/BaseColumn/BaseColumn.js.map +1 -1
  368. package/lib/components/BottomFixedArea/BottomFixedArea.js +2 -2
  369. package/lib/components/BottomFixedArea/BottomFixedArea.js.map +1 -1
  370. package/lib/components/Button/AnchorButton.js +3 -3
  371. package/lib/components/Button/AnchorButton.js.map +1 -1
  372. package/lib/components/Button/Button.js +2 -2
  373. package/lib/components/Button/Button.js.map +1 -1
  374. package/lib/components/Button/ButtonWrapper.d.ts +3 -23
  375. package/lib/components/Button/ButtonWrapper.js +14 -382
  376. package/lib/components/Button/ButtonWrapper.js.map +1 -1
  377. package/lib/components/Button/UnstyledButton.js +2 -2
  378. package/lib/components/Button/UnstyledButton.js.map +1 -1
  379. package/lib/components/Button/useButtonWrapper.d.ts +35 -0
  380. package/lib/components/Button/useButtonWrapper.js +380 -0
  381. package/lib/components/Button/useButtonWrapper.js.map +1 -0
  382. package/lib/components/Calendar/Calendar.js +4 -4
  383. package/lib/components/Calendar/Calendar.js.map +1 -1
  384. package/lib/components/Calendar/CalendarTable.js +2 -2
  385. package/lib/components/Calendar/CalendarTable.js.map +1 -1
  386. package/lib/components/Calendar/YearPicker.js +2 -2
  387. package/lib/components/Calendar/YearPicker.js.map +1 -1
  388. package/lib/components/Checkbox/Checkbox.js +3 -3
  389. package/lib/components/Checkbox/Checkbox.js.map +1 -1
  390. package/lib/components/Chip/Chip.js +2 -2
  391. package/lib/components/Chip/Chip.js.map +1 -1
  392. package/lib/components/DatePicker/DatePicker.d.ts +8 -2
  393. package/lib/components/DatePicker/DatePicker.js +47 -17
  394. package/lib/components/DatePicker/DatePicker.js.map +1 -1
  395. package/lib/components/DatePicker/Portal.js +2 -2
  396. package/lib/components/DatePicker/Portal.js.map +1 -1
  397. package/lib/components/Dialog/ActionDialog/ActionDialog.js +2 -2
  398. package/lib/components/Dialog/ActionDialog/ActionDialog.js.map +1 -1
  399. package/lib/components/Dialog/Dialog.js +2 -2
  400. package/lib/components/Dialog/Dialog.js.map +1 -1
  401. package/lib/components/Dialog/DialogContent.js +2 -2
  402. package/lib/components/Dialog/DialogContent.js.map +1 -1
  403. package/lib/components/Dialog/FormDialog/FormDialog.js +2 -2
  404. package/lib/components/Dialog/FormDialog/FormDialog.js.map +1 -1
  405. package/lib/components/Dialog/MessageDialog/MessageDialog.js +5 -6
  406. package/lib/components/Dialog/MessageDialog/MessageDialog.js.map +1 -1
  407. package/lib/components/Dialog/MessageDialog/MessageDialogContent.js +2 -2
  408. package/lib/components/Dialog/MessageDialog/MessageDialogContent.js.map +1 -1
  409. package/lib/components/Dialog/ModelessDialog/ModelessDialog.js +2 -2
  410. package/lib/components/Dialog/ModelessDialog/ModelessDialog.js.map +1 -1
  411. package/lib/components/Dialog/RemoteDialogTrigger/RemoteDialogTrigger.js +1 -1
  412. package/lib/components/Dialog/RemoteDialogTrigger/RemoteDialogTrigger.js.map +1 -1
  413. package/lib/components/Dialog/RemoteDialogTrigger/RemoteTriggerActionDialog.js +2 -2
  414. package/lib/components/Dialog/RemoteDialogTrigger/RemoteTriggerActionDialog.js.map +1 -1
  415. package/lib/components/Dialog/RemoteDialogTrigger/RemoteTriggerFormDialog.js +2 -2
  416. package/lib/components/Dialog/RemoteDialogTrigger/RemoteTriggerFormDialog.js.map +1 -1
  417. package/lib/components/Dialog/RemoteDialogTrigger/RemoteTriggerMessageDialog.js +2 -2
  418. package/lib/components/Dialog/RemoteDialogTrigger/RemoteTriggerMessageDialog.js.map +1 -1
  419. package/lib/components/Dialog/RemoteDialogTrigger/RemoteTriggerStepFormDialog.js +2 -2
  420. package/lib/components/Dialog/RemoteDialogTrigger/RemoteTriggerStepFormDialog.js.map +1 -1
  421. package/lib/components/Dialog/StepFormDialog/StepFormDialog.js +2 -2
  422. package/lib/components/Dialog/StepFormDialog/StepFormDialog.js.map +1 -1
  423. package/lib/components/Disclosure/DisclosureTrigger.js +1 -1
  424. package/lib/components/Disclosure/DisclosureTrigger.js.map +1 -1
  425. package/lib/components/DropZone/DropZone.js +2 -2
  426. package/lib/components/DropZone/DropZone.js.map +1 -1
  427. package/lib/components/Dropdown/DropdownContent.js +2 -2
  428. package/lib/components/Dropdown/DropdownContent.js.map +1 -1
  429. package/lib/components/Dropdown/DropdownContentInner.js +2 -2
  430. package/lib/components/Dropdown/DropdownContentInner.js.map +1 -1
  431. package/lib/components/Dropdown/DropdownMenuButton/DropdownMenuButton.d.ts +13 -8
  432. package/lib/components/Dropdown/DropdownMenuButton/DropdownMenuButton.js +18 -9
  433. package/lib/components/Dropdown/DropdownMenuButton/DropdownMenuButton.js.map +1 -1
  434. package/lib/components/Dropdown/FilterDropdown/FilterDropdown.js +2 -2
  435. package/lib/components/Dropdown/FilterDropdown/FilterDropdown.js.map +1 -1
  436. package/lib/components/Dropdown/SortDropdown/SortDropdown.js +2 -2
  437. package/lib/components/Dropdown/SortDropdown/SortDropdown.js.map +1 -1
  438. package/lib/components/Dropdown/SortDropdown/useSortDropdown.d.ts +1 -1
  439. package/lib/components/Dropdown/SortDropdown/useSortDropdown.js +1 -1
  440. package/lib/components/Dropdown/SortDropdown/useSortDropdown.js.map +1 -1
  441. package/lib/components/ErrorScreen/ErrorScreen.js +2 -2
  442. package/lib/components/ErrorScreen/ErrorScreen.js.map +1 -1
  443. package/lib/components/Fieldset/Fieldset.js +1 -1
  444. package/lib/components/Fieldset/Fieldset.js.map +1 -1
  445. package/lib/components/FileViewer/FileViewer.js +1 -1
  446. package/lib/components/FileViewer/FileViewer.js.map +1 -1
  447. package/lib/components/FileViewer/PDFViewer.js +2 -3
  448. package/lib/components/FileViewer/PDFViewer.js.map +1 -1
  449. package/lib/components/FormControl/FormControl.js +9 -4
  450. package/lib/components/FormControl/FormControl.js.map +1 -1
  451. package/lib/components/Header/AppLauncher/AppLauncher.js +2 -2
  452. package/lib/components/Header/AppLauncher/AppLauncher.js.map +1 -1
  453. package/lib/components/Header/Header.js +3 -3
  454. package/lib/components/Header/Header.js.map +1 -1
  455. package/lib/components/Header/HeaderLink.js +2 -2
  456. package/lib/components/Header/HeaderLink.js.map +1 -1
  457. package/lib/components/Header/LanguageSwitcher/LanguageSwitcher.js +13 -9
  458. package/lib/components/Header/LanguageSwitcher/LanguageSwitcher.js.map +1 -1
  459. package/lib/components/Heading/Heading.js +2 -2
  460. package/lib/components/Heading/Heading.js.map +1 -1
  461. package/lib/components/Heading/PageHeading/PageHeading.js +2 -2
  462. package/lib/components/Heading/PageHeading/PageHeading.js.map +1 -1
  463. package/lib/components/Icon/generateIcon.js +2 -2
  464. package/lib/components/Icon/generateIcon.js.map +1 -1
  465. package/lib/components/InformationPanel/InformationPanel.js +2 -2
  466. package/lib/components/InformationPanel/InformationPanel.js.map +1 -1
  467. package/lib/components/Input/CurrencyInput/CurrencyInput.js +12 -19
  468. package/lib/components/Input/CurrencyInput/CurrencyInput.js.map +1 -1
  469. package/lib/components/Input/Input.js +3 -3
  470. package/lib/components/Input/Input.js.map +1 -1
  471. package/lib/components/InputFile/InputFileMultiplyAppendable.js +2 -2
  472. package/lib/components/InputFile/InputFileMultiplyAppendable.js.map +1 -1
  473. package/lib/components/InputFile/InputFileNative.js.map +1 -1
  474. package/lib/components/Layout/Center/Center.js +2 -2
  475. package/lib/components/Layout/Center/Center.js.map +1 -1
  476. package/lib/components/Layout/Reel/Reel.js +2 -2
  477. package/lib/components/Layout/Reel/Reel.js.map +1 -1
  478. package/lib/components/Layout/Stack/Stack.js +2 -2
  479. package/lib/components/Layout/Stack/Stack.js.map +1 -1
  480. package/lib/components/Loader/Loader.js +2 -2
  481. package/lib/components/Loader/Loader.js.map +1 -1
  482. package/lib/components/NotificationBar/NotificationBar.js +2 -2
  483. package/lib/components/NotificationBar/NotificationBar.js.map +1 -1
  484. package/lib/components/PageCounter/PageCounter.js +2 -2
  485. package/lib/components/PageCounter/PageCounter.js.map +1 -1
  486. package/lib/components/Pagination/Pagination.js +2 -2
  487. package/lib/components/Pagination/Pagination.js.map +1 -1
  488. package/lib/components/RadioButton/RadioButton.js +4 -4
  489. package/lib/components/RadioButton/RadioButton.js.map +1 -1
  490. package/lib/components/RadioButtonPanel/RadioButtonPanel.js +2 -2
  491. package/lib/components/RadioButtonPanel/RadioButtonPanel.js.map +1 -1
  492. package/lib/components/ResponseMessage/ResponseMessage.js +2 -2
  493. package/lib/components/ResponseMessage/ResponseMessage.js.map +1 -1
  494. package/lib/components/SectioningContent/SectioningContent.js +1 -1
  495. package/lib/components/SectioningContent/SectioningContent.js.map +1 -1
  496. package/lib/components/SegmentedControl/SegmentedControl.js +2 -2
  497. package/lib/components/SegmentedControl/SegmentedControl.js.map +1 -1
  498. package/lib/components/Select/Select.js +5 -6
  499. package/lib/components/Select/Select.js.map +1 -1
  500. package/lib/components/SideNav/SideNav.js +2 -2
  501. package/lib/components/SideNav/SideNav.js.map +1 -1
  502. package/lib/components/SideNav/SideNavItemButton.d.ts +3 -1
  503. package/lib/components/SideNav/SideNavItemButton.js +8 -6
  504. package/lib/components/SideNav/SideNavItemButton.js.map +1 -1
  505. package/lib/components/SpreadsheetTable/SpreadsheetTable.js +2 -2
  506. package/lib/components/SpreadsheetTable/SpreadsheetTable.js.map +1 -1
  507. package/lib/components/StatusLabel/StatusLabel.js +2 -2
  508. package/lib/components/StatusLabel/StatusLabel.js.map +1 -1
  509. package/lib/components/Switch/Switch.js +2 -2
  510. package/lib/components/Switch/Switch.js.map +1 -1
  511. package/lib/components/TabBar/TabBar.js +2 -2
  512. package/lib/components/TabBar/TabBar.js.map +1 -1
  513. package/lib/components/TabBar/TabItem.js +4 -4
  514. package/lib/components/TabBar/TabItem.js.map +1 -1
  515. package/lib/components/Table/BulkActionRow.js +2 -2
  516. package/lib/components/Table/BulkActionRow.js.map +1 -1
  517. package/lib/components/Table/EmptyTableBody.js +2 -2
  518. package/lib/components/Table/EmptyTableBody.js.map +1 -1
  519. package/lib/components/Table/TableFixedHead.js +2 -2
  520. package/lib/components/Table/TableFixedHead.js.map +1 -1
  521. package/lib/components/Table/TableReel.js +2 -2
  522. package/lib/components/Table/TableReel.js.map +1 -1
  523. package/lib/components/Table/Td.js +2 -2
  524. package/lib/components/Table/Td.js.map +1 -1
  525. package/lib/components/Table/TdCheckbox.js.map +1 -1
  526. package/lib/components/Table/TdRadioButton.js.map +1 -1
  527. package/lib/components/Table/Th.js +2 -2
  528. package/lib/components/Table/Th.js.map +1 -1
  529. package/lib/components/Table/ThCheckbox.js +2 -2
  530. package/lib/components/Table/ThCheckbox.js.map +1 -1
  531. package/lib/components/Text/Text.d.ts +1 -1
  532. package/lib/components/Text/Text.js +2 -2
  533. package/lib/components/Text/Text.js.map +1 -1
  534. package/lib/components/TextLink/TextLink.js +2 -2
  535. package/lib/components/TextLink/TextLink.js.map +1 -1
  536. package/lib/components/TextLink/UpwardLink/UpwardLink.js +4 -1
  537. package/lib/components/TextLink/UpwardLink/UpwardLink.js.map +1 -1
  538. package/lib/components/Textarea/Textarea.js +3 -3
  539. package/lib/components/Textarea/Textarea.js.map +1 -1
  540. package/lib/components/Tooltip/Tooltip.js +2 -2
  541. package/lib/components/Tooltip/Tooltip.js.map +1 -1
  542. package/lib/components/VisuallyHiddenText/VisuallyHiddenText.d.ts +1 -1
  543. package/lib/components/VisuallyHiddenText/VisuallyHiddenText.js +2 -2
  544. package/lib/components/VisuallyHiddenText/VisuallyHiddenText.js.map +1 -1
  545. package/lib/hooks/useEnvironment/EnvironmentProvider.d.ts +8 -0
  546. package/lib/hooks/useEnvironment/EnvironmentProvider.js +27 -0
  547. package/lib/hooks/useEnvironment/EnvironmentProvider.js.map +1 -0
  548. package/lib/hooks/useEnvironment/index.d.ts +2 -0
  549. package/lib/hooks/useEnvironment/index.js +8 -0
  550. package/lib/hooks/useEnvironment/index.js.map +1 -0
  551. package/lib/hooks/useEnvironment/useEnvironment.d.ts +7 -0
  552. package/lib/hooks/useEnvironment/useEnvironment.js +22 -0
  553. package/lib/hooks/useEnvironment/useEnvironment.js.map +1 -0
  554. package/lib/hooks/useMediaQueries/index.d.ts +1 -0
  555. package/lib/hooks/useMediaQueries/index.js +18 -0
  556. package/lib/hooks/useMediaQueries/index.js.map +1 -0
  557. package/lib/hooks/useMediaQueries/useMediaQueries.d.ts +8 -0
  558. package/lib/hooks/useMediaQueries/useMediaQueries.js +38 -0
  559. package/lib/hooks/useMediaQueries/useMediaQueries.js.map +1 -0
  560. package/lib/hooks/useSV/index.d.ts +1 -0
  561. package/lib/hooks/useSV/index.js +18 -0
  562. package/lib/hooks/useSV/index.js.map +1 -0
  563. package/lib/hooks/useSV/useSV.d.ts +20 -0
  564. package/lib/hooks/useSV/useSV.js +36 -0
  565. package/lib/hooks/useSV/useSV.js.map +1 -0
  566. package/lib/index.d.ts +2 -0
  567. package/lib/index.js +7 -1
  568. package/lib/index.js.map +1 -1
  569. package/lib/intl/DateFormatter.d.ts +3 -1
  570. package/lib/intl/DateFormatter.js +7 -2
  571. package/lib/intl/DateFormatter.js.map +1 -1
  572. package/lib/intl/Localizer.d.ts +1 -1
  573. package/lib/intl/Localizer.js +1 -1
  574. package/lib/intl/Localizer.js.map +1 -1
  575. package/lib/intl/useIntl.js +11 -10
  576. package/lib/intl/useIntl.js.map +1 -1
  577. package/lib/libs/debounce.d.ts +2 -2
  578. package/lib/libs/debounce.js +3 -3
  579. package/lib/libs/debounce.js.map +1 -1
  580. package/lib/libs/object.d.ts +6 -0
  581. package/lib/libs/object.js +6 -0
  582. package/lib/libs/object.js.map +1 -0
  583. package/lib/libs/shallowEqual.d.ts +1 -0
  584. package/lib/libs/shallowEqual.js +27 -0
  585. package/lib/libs/shallowEqual.js.map +1 -0
  586. package/lib/smarthr-ui-preset.d.ts +2 -2
  587. package/lib/smarthr-ui-preset.js +2 -2
  588. package/lib/smarthr-ui-preset.js.map +1 -1
  589. package/lib/themes/createColor.js +1 -1
  590. package/lib/themes/createColor.js.map +1 -1
  591. package/lib/themes/createFontSize.js +2 -2
  592. package/lib/themes/createFontSize.js.map +1 -1
  593. package/lib/themes/createMediaQuery.d.ts +22 -0
  594. package/lib/themes/createMediaQuery.js +16 -0
  595. package/lib/themes/createMediaQuery.js.map +1 -0
  596. package/lib/themes/createTheme.d.ts +13 -10
  597. package/lib/themes/createTheme.js +8 -6
  598. package/lib/themes/createTheme.js.map +1 -1
  599. package/lib/themes/index.d.ts +1 -0
  600. package/lib/themes/index.js +4 -0
  601. package/lib/themes/index.js.map +1 -1
  602. package/lib/themes/tailwind/TailwindConfig.d.ts +2 -2
  603. package/package.json +3 -3
  604. package/smarthr-ui.css +14 -0
@@ -14,7 +14,7 @@ const AccordionPanelContext = createContext({
14
14
  const classNameGenerator = ce({
15
15
  base: 'smarthr-ui-AccordionPanel',
16
16
  });
17
- const AccordionPanel = ({ iconPosition = 'left', expandableMultiply = true, defaultExpanded = [], className, onClick: onClickProps, ...props }) => {
17
+ const AccordionPanel = ({ iconPosition = 'left', expandableMultiply = true, defaultExpanded = [], className, onClick: onClickProps, ...rest }) => {
18
18
  const [expandedItems, setExpanded] = useState(flatArrayToMap(defaultExpanded));
19
19
  const parentRef = useRef(null);
20
20
  const actualClassName = useMemo(() => classNameGenerator({ className }), [className]);
@@ -32,7 +32,7 @@ const AccordionPanel = ({ iconPosition = 'left', expandableMultiply = true, defa
32
32
  iconPosition,
33
33
  expandableMultiply,
34
34
  parentRef,
35
- }, children: jsx("div", { ...props, ref: parentRef, role: "presentation", className: actualClassName }) }));
35
+ }, children: jsx("div", { ...rest, ref: parentRef, role: "presentation", className: actualClassName }) }));
36
36
  };
37
37
 
38
38
  export { AccordionPanel, AccordionPanelContext };
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionPanel.js","sources":["../../../src/components/AccordionPanel/AccordionPanel.tsx"],"sourcesContent":["'use client'\n\nimport {\n type ComponentProps,\n type FC,\n type PropsWithChildren,\n type RefObject,\n createContext,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { flatArrayToMap } from '../../libs/map'\n\nimport { getNewExpandedItems } from './accordionPanelHelper'\n\ntype AbstractProps = PropsWithChildren<{\n /** アイコンの左右位置 */\n iconPosition?: 'left' | 'right'\n /** 複数のパネルを同時に開くことを許容するかどうか */\n expandableMultiply?: boolean\n /** デフォルトで開いた状態にするアイテムの `name` の配列 */\n defaultExpanded?: string[]\n /** トリガのクリックイベントを処理するハンドラ */\n onClick?: (expandedItems: string[]) => void\n}>\ntype Props = AbstractProps & Omit<ComponentProps<'div'>, keyof AbstractProps>\n\nexport const AccordionPanelContext = createContext<{\n iconPosition: 'left' | 'right'\n expandedItems: Map<string, string>\n expandableMultiply: boolean\n parentRef: RefObject<HTMLDivElement> | null\n onClickTrigger?: (itemName: string, isExpanded: boolean) => void\n onClickProps?: (expandedItems: string[]) => void\n}>({\n iconPosition: 'left',\n expandedItems: new Map(),\n expandableMultiply: true,\n parentRef: null,\n})\n\nconst classNameGenerator = tv({\n base: 'smarthr-ui-AccordionPanel',\n})\n\nexport const AccordionPanel: FC<Props> = ({\n iconPosition = 'left',\n expandableMultiply = true,\n defaultExpanded = [],\n className,\n onClick: onClickProps,\n ...props\n}) => {\n const [expandedItems, setExpanded] = useState(flatArrayToMap(defaultExpanded))\n const parentRef = useRef<HTMLDivElement>(null)\n const actualClassName = useMemo(() => classNameGenerator({ className }), [className])\n\n const onClickTrigger = useCallback(\n (itemName: string, isExpanded: boolean) => {\n setExpanded(getNewExpandedItems(expandedItems, itemName, isExpanded, expandableMultiply))\n },\n [expandableMultiply, expandedItems],\n )\n\n useEffect(() => {\n if (defaultExpanded.length > 0) setExpanded(flatArrayToMap(defaultExpanded))\n }, [defaultExpanded])\n\n return (\n <AccordionPanelContext.Provider\n value={{\n onClickTrigger,\n onClickProps,\n expandedItems,\n iconPosition,\n expandableMultiply,\n parentRef,\n }}\n >\n <div {...props} ref={parentRef} role=\"presentation\" className={actualClassName} />\n </AccordionPanelContext.Provider>\n )\n}\n"],"names":[],"mappings":";;;;;;;AAgCO;AAQL;;AAEA;AACA;AACD;AAED;AACE;AACD;AAEM;AAQL;AACA;AACA;;AAII;AACF;;AAKA;AAAgC;AAClC;AAEA;;;;;;;AASK;AAKP;;"}
1
+ {"version":3,"file":"AccordionPanel.js","sources":["../../../src/components/AccordionPanel/AccordionPanel.tsx"],"sourcesContent":["'use client'\n\nimport {\n type ComponentProps,\n type FC,\n type PropsWithChildren,\n type RefObject,\n createContext,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { flatArrayToMap } from '../../libs/map'\n\nimport { getNewExpandedItems } from './accordionPanelHelper'\n\ntype AbstractProps = PropsWithChildren<{\n /** アイコンの左右位置 */\n iconPosition?: 'left' | 'right'\n /** 複数のパネルを同時に開くことを許容するかどうか */\n expandableMultiply?: boolean\n /** デフォルトで開いた状態にするアイテムの `name` の配列 */\n defaultExpanded?: string[]\n /** トリガのクリックイベントを処理するハンドラ */\n onClick?: (expandedItems: string[]) => void\n}>\ntype Props = AbstractProps & Omit<ComponentProps<'div'>, keyof AbstractProps>\n\nexport const AccordionPanelContext = createContext<{\n iconPosition: 'left' | 'right'\n expandedItems: Map<string, string>\n expandableMultiply: boolean\n parentRef: RefObject<HTMLDivElement> | null\n onClickTrigger?: (itemName: string, isExpanded: boolean) => void\n onClickProps?: (expandedItems: string[]) => void\n}>({\n iconPosition: 'left',\n expandedItems: new Map(),\n expandableMultiply: true,\n parentRef: null,\n})\n\nconst classNameGenerator = tv({\n base: 'smarthr-ui-AccordionPanel',\n})\n\nexport const AccordionPanel: FC<Props> = ({\n iconPosition = 'left',\n expandableMultiply = true,\n defaultExpanded = [],\n className,\n onClick: onClickProps,\n ...rest\n}) => {\n const [expandedItems, setExpanded] = useState(flatArrayToMap(defaultExpanded))\n const parentRef = useRef<HTMLDivElement>(null)\n const actualClassName = useMemo(() => classNameGenerator({ className }), [className])\n\n const onClickTrigger = useCallback(\n (itemName: string, isExpanded: boolean) => {\n setExpanded(getNewExpandedItems(expandedItems, itemName, isExpanded, expandableMultiply))\n },\n [expandableMultiply, expandedItems],\n )\n\n useEffect(() => {\n if (defaultExpanded.length > 0) setExpanded(flatArrayToMap(defaultExpanded))\n }, [defaultExpanded])\n\n return (\n <AccordionPanelContext.Provider\n value={{\n onClickTrigger,\n onClickProps,\n expandedItems,\n iconPosition,\n expandableMultiply,\n parentRef,\n }}\n >\n <div {...rest} ref={parentRef} role=\"presentation\" className={actualClassName} />\n </AccordionPanelContext.Provider>\n )\n}\n"],"names":[],"mappings":";;;;;;;AAgCO;AAQL;;AAEA;AACA;AACD;AAED;AACE;AACD;AAEM;AAQL;AACA;AACA;;AAII;AACF;;AAKA;AAAgC;AAClC;AAEA;;;;;;;AASK;AAKP;;"}
@@ -17,13 +17,13 @@ const classNameGenerator = ce({
17
17
  'aria-[hidden]:shr-absolute aria-[hidden]:shr-h-px aria-[hidden]:shr-overflow-hidden',
18
18
  ],
19
19
  });
20
- const AccordionPanelContent = ({ className, ...props }) => {
20
+ const AccordionPanelContent = ({ className, ...rest }) => {
21
21
  const { name } = useContext(AccordionPanelItemContext);
22
22
  const { expandedItems } = useContext(AccordionPanelContext);
23
23
  const visible = useMemo(() => getIsInclude(expandedItems, name), [expandedItems, name]);
24
24
  const wrapperRef = useRef(null);
25
25
  const actualClassName = useMemo(() => classNameGenerator({ className }), [className]);
26
- return (jsx(Transition, { in: visible, timeout: 150, nodeRef: wrapperRef, children: (status) => (jsx("div", { ...props, ref: wrapperRef, id: `${name}-content`, "aria-labelledby": `${name}-trigger`, "aria-hidden": visible ? undefined : true, className: `${actualClassName} ${status}` })) }));
26
+ return (jsx(Transition, { in: visible, timeout: 150, nodeRef: wrapperRef, children: (status) => (jsx("div", { ...rest, ref: wrapperRef, id: `${name}-content`, "aria-labelledby": `${name}-trigger`, "aria-hidden": visible ? undefined : true, className: `${actualClassName} ${status}` })) }));
27
27
  };
28
28
 
29
29
  export { AccordionPanelContent };
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionPanelContent.js","sources":["../../../src/components/AccordionPanel/AccordionPanelContent.tsx"],"sourcesContent":["'use client'\n\nimport {\n type ComponentPropsWithoutRef,\n type FC,\n type PropsWithChildren,\n useContext,\n useMemo,\n useRef,\n} from 'react'\nimport { Transition } from 'react-transition-group'\nimport { tv } from 'tailwind-variants'\n\nimport { getIsInclude } from '../../libs/map'\n\nimport { AccordionPanelContext } from './AccordionPanel'\nimport { AccordionPanelItemContext } from './AccordionPanelItem'\n\ntype AbstractProps = PropsWithChildren\ntype Props = AbstractProps & Omit<ComponentPropsWithoutRef<'div'>, keyof AbstractProps>\n\nconst classNameGenerator = tv({\n base: [\n 'smarthr-ui-AccordionPanel-content',\n 'shr-invisible shr-max-h-0 shr-opacity-0 shr-transition-[max-height,_visible,_opacity] shr-duration-150 shr-ease-in-out',\n '[&.entered]:shr-visible [&.entered]:shr-max-h-[revert] [&.entered]:shr-opacity-100',\n // HINT: flexなどで囲まれると、非表示だが内容分高さが出てしまい、スクロール領域が不自然に伸びてしまう現象が起きる場合がある\n // 非表示の場合、visually hiddenを適用することで、内容としては残しつつ、高さを0にすることで回避する\n 'aria-[hidden]:shr-absolute aria-[hidden]:shr-h-px aria-[hidden]:shr-overflow-hidden',\n ],\n})\n\nexport const AccordionPanelContent: FC<Props> = ({ className, ...props }) => {\n const { name } = useContext(AccordionPanelItemContext)\n const { expandedItems } = useContext(AccordionPanelContext)\n const visible = useMemo(() => getIsInclude(expandedItems, name), [expandedItems, name])\n const wrapperRef = useRef<HTMLDivElement>(null)\n const actualClassName = useMemo(() => classNameGenerator({ className }), [className])\n\n return (\n <Transition in={visible} timeout={150} nodeRef={wrapperRef}>\n {(status) => (\n <div\n {...props}\n ref={wrapperRef}\n id={`${name}-content`}\n aria-labelledby={`${name}-trigger`}\n aria-hidden={visible ? undefined : true}\n className={`${actualClassName} ${status}`}\n />\n )}\n </Transition>\n )\n}\n"],"names":[],"mappings":";;;;;;;;;AAqBA;AACE;;;;;;;AAOC;AACF;AAEM;;;;AAIL;AACA;AAEA;AAcF;;"}
1
+ {"version":3,"file":"AccordionPanelContent.js","sources":["../../../src/components/AccordionPanel/AccordionPanelContent.tsx"],"sourcesContent":["'use client'\n\nimport {\n type ComponentPropsWithoutRef,\n type FC,\n type PropsWithChildren,\n useContext,\n useMemo,\n useRef,\n} from 'react'\nimport { Transition } from 'react-transition-group'\nimport { tv } from 'tailwind-variants'\n\nimport { getIsInclude } from '../../libs/map'\n\nimport { AccordionPanelContext } from './AccordionPanel'\nimport { AccordionPanelItemContext } from './AccordionPanelItem'\n\ntype AbstractProps = PropsWithChildren\ntype Props = AbstractProps & Omit<ComponentPropsWithoutRef<'div'>, keyof AbstractProps>\n\nconst classNameGenerator = tv({\n base: [\n 'smarthr-ui-AccordionPanel-content',\n 'shr-invisible shr-max-h-0 shr-opacity-0 shr-transition-[max-height,_visible,_opacity] shr-duration-150 shr-ease-in-out',\n '[&.entered]:shr-visible [&.entered]:shr-max-h-[revert] [&.entered]:shr-opacity-100',\n // HINT: flexなどで囲まれると、非表示だが内容分高さが出てしまい、スクロール領域が不自然に伸びてしまう現象が起きる場合がある\n // 非表示の場合、visually hiddenを適用することで、内容としては残しつつ、高さを0にすることで回避する\n 'aria-[hidden]:shr-absolute aria-[hidden]:shr-h-px aria-[hidden]:shr-overflow-hidden',\n ],\n})\n\nexport const AccordionPanelContent: FC<Props> = ({ className, ...rest }) => {\n const { name } = useContext(AccordionPanelItemContext)\n const { expandedItems } = useContext(AccordionPanelContext)\n const visible = useMemo(() => getIsInclude(expandedItems, name), [expandedItems, name])\n const wrapperRef = useRef<HTMLDivElement>(null)\n const actualClassName = useMemo(() => classNameGenerator({ className }), [className])\n\n return (\n <Transition in={visible} timeout={150} nodeRef={wrapperRef}>\n {(status) => (\n <div\n {...rest}\n ref={wrapperRef}\n id={`${name}-content`}\n aria-labelledby={`${name}-trigger`}\n aria-hidden={visible ? undefined : true}\n className={`${actualClassName} ${status}`}\n />\n )}\n </Transition>\n )\n}\n"],"names":[],"mappings":";;;;;;;;;AAqBA;AACE;;;;;;;AAOC;AACF;AAEM;;;;AAIL;AACA;AAEA;AAcF;;"}
@@ -11,11 +11,11 @@ const AccordionPanelItemContext = createContext({
11
11
  const classNameGenerator = ce({
12
12
  base: ['smarthr-ui-AccordionPanel-item', '[&_+_&]:shr-border-t-shorthand'],
13
13
  });
14
- const AccordionPanelItem = ({ name, className, ...props }) => {
14
+ const AccordionPanelItem = ({ name, className, ...rest }) => {
15
15
  const actualClassName = useMemo(() => classNameGenerator({ className }), [className]);
16
16
  return (jsx(AccordionPanelItemContext.Provider, { value: {
17
17
  name,
18
- }, children: jsx(Section, { ...props, className: actualClassName }) }));
18
+ }, children: jsx(Section, { ...rest, className: actualClassName }) }));
19
19
  };
20
20
 
21
21
  export { AccordionPanelItem, AccordionPanelItemContext };
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionPanelItem.js","sources":["../../../src/components/AccordionPanel/AccordionPanelItem.tsx"],"sourcesContent":["'use client'\n\nimport {\n type ComponentPropsWithoutRef,\n type FC,\n type PropsWithChildren,\n createContext,\n useMemo,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { Section } from '../SectioningContent'\n\ntype AbstractProps = PropsWithChildren<{\n /** アイテムを識別するための名前 */\n name: string\n}>\ntype Props = AbstractProps & Omit<ComponentPropsWithoutRef<'section'>, keyof AbstractProps>\n\nexport const AccordionPanelItemContext = createContext<{ name: string }>({\n name: '',\n})\n\nconst classNameGenerator = tv({\n base: ['smarthr-ui-AccordionPanel-item', '[&_+_&]:shr-border-t-shorthand'],\n})\n\nexport const AccordionPanelItem: FC<Props> = ({ name, className, ...props }) => {\n const actualClassName = useMemo(() => classNameGenerator({ className }), [className])\n\n return (\n <AccordionPanelItemContext.Provider\n value={{\n name,\n }}\n >\n <Section {...props} className={actualClassName} />\n </AccordionPanelItemContext.Provider>\n )\n}\n"],"names":[],"mappings":";;;;;;;AAmBO;AACL;AACD;AAED;AACE;AACD;AAEM;AACL;AAEA;;;AASF;;"}
1
+ {"version":3,"file":"AccordionPanelItem.js","sources":["../../../src/components/AccordionPanel/AccordionPanelItem.tsx"],"sourcesContent":["'use client'\n\nimport {\n type ComponentPropsWithoutRef,\n type FC,\n type PropsWithChildren,\n createContext,\n useMemo,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { Section } from '../SectioningContent'\n\ntype AbstractProps = PropsWithChildren<{\n /** アイテムを識別するための名前 */\n name: string\n}>\ntype Props = AbstractProps & Omit<ComponentPropsWithoutRef<'section'>, keyof AbstractProps>\n\nexport const AccordionPanelItemContext = createContext<{ name: string }>({\n name: '',\n})\n\nconst classNameGenerator = tv({\n base: ['smarthr-ui-AccordionPanel-item', '[&_+_&]:shr-border-t-shorthand'],\n})\n\nexport const AccordionPanelItem: FC<Props> = ({ name, className, ...rest }) => {\n const actualClassName = useMemo(() => classNameGenerator({ className }), [className])\n\n return (\n <AccordionPanelItemContext.Provider\n value={{\n name,\n }}\n >\n <Section {...rest} className={actualClassName} />\n </AccordionPanelItemContext.Provider>\n )\n}\n"],"names":[],"mappings":";;;;;;;AAmBO;AACL;AACD;AAED;AACE;AACD;AAEM;AACL;AAEA;;;AASF;;"}
@@ -41,7 +41,7 @@ const classNameGenerator = ce({
41
41
  },
42
42
  ],
43
43
  });
44
- const AccordionPanelTrigger = ({ children, className, headingType = 'blockTitle', headingTag, ...props }) => {
44
+ const AccordionPanelTrigger = ({ children, className, headingType = 'blockTitle', headingTag, ...rest }) => {
45
45
  const classNames = useMemo(() => {
46
46
  const { title, titleWrapper, button, leftIcon, rightIcon } = classNameGenerator();
47
47
  return {
@@ -111,7 +111,7 @@ const AccordionPanelTrigger = ({ children, className, headingType = 'blockTitle'
111
111
  }, [parentRef]);
112
112
  return (
113
113
  // eslint-disable-next-line smarthr/a11y-heading-in-sectioning-content
114
- jsx(Heading, { tag: headingTag, type: headingType, children: jsx("button", { ...props, type: "button", value: name, id: `${name}-trigger`, "aria-expanded": isExpanded, "aria-controls": `${name}-content`, onClick: handleClick, onKeyDown: handleKeyDown, className: classNames.button, "data-component": "AccordionHeaderButton", children: jsx(MemoizedTitle, { iconPosition: iconPosition, classNames: classNames, children: children }) }) }));
114
+ jsx(Heading, { tag: headingTag, type: headingType, children: jsx("button", { ...rest, type: "button", value: name, id: `${name}-trigger`, "aria-expanded": isExpanded, "aria-controls": `${name}-content`, onClick: handleClick, onKeyDown: handleKeyDown, className: classNames.button, "data-component": "AccordionHeaderButton", children: jsx(MemoizedTitle, { iconPosition: iconPosition, classNames: classNames, children: children }) }) }));
115
115
  };
116
116
  const MemoizedTitle = memo(({ classNames, iconPosition, children }) => (jsxs(Cluster, { className: classNames.titleWrapper, align: "center", as: "span", children: [iconPosition === 'left' && jsx(FaCaretRightIcon, { className: classNames.leftIcon }), jsx("span", { className: classNames.title, children: children }), iconPosition === 'right' && jsx(FaCaretDownIcon, { className: classNames.rightIcon })] })));
117
117
 
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionPanelTrigger.js","sources":["../../../src/components/AccordionPanel/AccordionPanelTrigger.tsx"],"sourcesContent":["'use client'\n\nimport {\n type ComponentPropsWithoutRef,\n type FC,\n type KeyboardEventHandler,\n type MouseEvent,\n type PropsWithChildren,\n memo,\n useCallback,\n useContext,\n useMemo,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { getIsInclude, mapToKeyArray } from '../../libs/map'\nimport { Heading, type HeadingTagTypes } from '../Heading'\nimport { FaCaretDownIcon, FaCaretRightIcon } from '../Icon'\nimport { Cluster } from '../Layout'\n\nimport { AccordionPanelContext } from './AccordionPanel'\nimport { AccordionPanelItemContext } from './AccordionPanelItem'\nimport {\n focusFirstSibling,\n focusLastSibling,\n focusNextSibling,\n focusPreviousSibling,\n getNewExpandedItems,\n} from './accordionPanelHelper'\n\nimport type { TextProps } from '../Text'\n\ntype AbstractProps = PropsWithChildren<{\n /** ヘッダ部分のテキストのスタイル */\n headingType?: Exclude<TextProps['styleType'], 'screenTitle'>\n /**\n * @deprecated headingTag属性は非推奨です\n */\n headingTag?: HeadingTagTypes\n}>\ntype Props = AbstractProps & Omit<ComponentPropsWithoutRef<'button'>, keyof AbstractProps>\n\nconst classNameGenerator = tv({\n slots: {\n title: 'shr-grow shr-leading-tight',\n titleWrapper: 'shr-flex-nowrap',\n button: [\n 'smarthr-ui-AccordionPanel-trigger',\n 'shr-group shr-w-full shr-cursor-pointer shr-appearance-none shr-border-none shr-bg-transparent shr-px-1 shr-py-0.75 shr-text-left shr-text-inherit shr-text-color-inherit',\n 'disabled:shr-cursor-not-allowed disabled:shr-bg-white-darken disabled:shr-text-disabled',\n 'hover:shr-bg-white-darken',\n 'focus-visible:shr-focus-indicator',\n // Base 直下に AccordionPanel がある場合、背景が付き抜けないように角丸を指定(Base に overflow: hidden を与えるとフォーカスリングが表示されなくなる)\n '[.smarthr-ui-Base_>_.smarthr-ui-AccordionPanel_.smarthr-ui-AccordionPanel-item:first-child_&]:shr-rounded-t-l [.smarthr-ui-Base_>_.smarthr-ui-AccordionPanel_.smarthr-ui-AccordionPanel-item:last-child_&]:shr-rounded-b-l',\n ],\n leftIcon: 'shr-transition-transform shr-duration-100 group-aria-expanded:shr-rotate-90',\n rightIcon: 'group-aria-expanded:-shr-rotate-180',\n },\n compoundSlots: [\n {\n slots: ['leftIcon', 'rightIcon'],\n className: 'shr-shrink-0',\n },\n ],\n})\n\nexport const AccordionPanelTrigger: FC<Props> = ({\n children,\n className,\n headingType = 'blockTitle',\n headingTag,\n ...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 AbstractProps = PropsWithChildren<{\n /** ヘッダ部分のテキストのスタイル */\n headingType?: Exclude<TextProps['styleType'], 'screenTitle'>\n /**\n * @deprecated headingTag属性は非推奨です\n */\n headingTag?: HeadingTagTypes\n}>\ntype Props = AbstractProps & Omit<ComponentPropsWithoutRef<'button'>, keyof AbstractProps>\n\nconst classNameGenerator = tv({\n slots: {\n title: 'shr-grow shr-leading-tight',\n titleWrapper: 'shr-flex-nowrap',\n button: [\n 'smarthr-ui-AccordionPanel-trigger',\n 'shr-group shr-w-full shr-cursor-pointer shr-appearance-none shr-border-none shr-bg-transparent shr-px-1 shr-py-0.75 shr-text-left shr-text-inherit shr-text-color-inherit',\n 'disabled:shr-cursor-not-allowed disabled:shr-bg-white-darken disabled:shr-text-disabled',\n 'hover:shr-bg-white-darken',\n 'focus-visible:shr-focus-indicator',\n // Base 直下に AccordionPanel がある場合、背景が付き抜けないように角丸を指定(Base に overflow: hidden を与えるとフォーカスリングが表示されなくなる)\n '[.smarthr-ui-Base_>_.smarthr-ui-AccordionPanel_.smarthr-ui-AccordionPanel-item:first-child_&]:shr-rounded-t-l [.smarthr-ui-Base_>_.smarthr-ui-AccordionPanel_.smarthr-ui-AccordionPanel-item:last-child_&]:shr-rounded-b-l',\n ],\n leftIcon: 'shr-transition-transform shr-duration-100 group-aria-expanded:shr-rotate-90',\n rightIcon: 'group-aria-expanded:-shr-rotate-180',\n },\n compoundSlots: [\n {\n slots: ['leftIcon', 'rightIcon'],\n className: 'shr-shrink-0',\n },\n ],\n})\n\nexport const AccordionPanelTrigger: FC<Props> = ({\n children,\n className,\n headingType = 'blockTitle',\n headingTag,\n ...rest\n}) => {\n const classNames = useMemo(() => {\n const { title, titleWrapper, button, leftIcon, rightIcon } = classNameGenerator()\n\n return {\n title: title(),\n titleWrapper: titleWrapper(),\n button: button({ className }),\n leftIcon: leftIcon(),\n rightIcon: rightIcon(),\n }\n }, [className])\n\n const { name } = useContext(AccordionPanelItemContext)\n const {\n iconPosition,\n expandedItems,\n onClickTrigger,\n onClickProps,\n expandableMultiply,\n parentRef,\n } = useContext(AccordionPanelContext)\n\n const isExpanded = useMemo(() => getIsInclude(expandedItems, name), [expandedItems, name])\n\n const actualOnClickTrigger = useMemo(\n () =>\n onClickTrigger\n ? (e: MouseEvent<HTMLButtonElement>) => onClickTrigger(e.currentTarget.value, !isExpanded)\n : undefined,\n [isExpanded, onClickTrigger],\n )\n const actualOnClickProps = useMemo(\n () =>\n onClickProps\n ? (e: MouseEvent<HTMLButtonElement>) => {\n const newExpandedItems = getNewExpandedItems(\n expandedItems,\n e.currentTarget.value,\n !isExpanded,\n expandableMultiply,\n )\n onClickProps(mapToKeyArray(newExpandedItems))\n }\n : undefined,\n [isExpanded, expandedItems, expandableMultiply, onClickProps],\n )\n const handleClick = useMemo(() => {\n if (actualOnClickTrigger) {\n if (actualOnClickProps) {\n return (e: MouseEvent<HTMLButtonElement>) => {\n actualOnClickTrigger(e)\n actualOnClickProps(e)\n }\n }\n\n return actualOnClickTrigger\n } else if (actualOnClickProps) {\n return actualOnClickProps\n }\n\n return undefined\n }, [actualOnClickProps, actualOnClickTrigger])\n\n const handleKeyDown: KeyboardEventHandler<HTMLButtonElement> = useCallback(\n (e): void => {\n if (!parentRef?.current) {\n return\n }\n\n const item = e.target as HTMLElement\n\n switch (e.key) {\n case 'Home': {\n e.preventDefault()\n focusFirstSibling(parentRef.current)\n break\n }\n case 'End': {\n e.preventDefault()\n focusLastSibling(parentRef.current)\n break\n }\n case 'ArrowLeft':\n case 'ArrowUp': {\n e.preventDefault()\n focusPreviousSibling(item, parentRef.current)\n break\n }\n case 'ArrowRight':\n case 'ArrowDown': {\n e.preventDefault()\n focusNextSibling(item, parentRef.current)\n break\n }\n }\n },\n [parentRef],\n )\n\n return (\n // eslint-disable-next-line smarthr/a11y-heading-in-sectioning-content\n <Heading tag={headingTag} type={headingType}>\n <button\n {...rest}\n type=\"button\"\n value={name}\n id={`${name}-trigger`}\n aria-expanded={isExpanded}\n aria-controls={`${name}-content`}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n className={classNames.button}\n data-component=\"AccordionHeaderButton\"\n >\n <MemoizedTitle iconPosition={iconPosition} classNames={classNames}>\n {children}\n </MemoizedTitle>\n </button>\n </Heading>\n )\n}\n\nconst MemoizedTitle = memo<\n PropsWithChildren<{\n iconPosition: undefined | 'left' | 'right'\n classNames: { leftIcon: string; rightIcon: string; title: string; titleWrapper: string }\n }>\n>(({ classNames, iconPosition, children }) => (\n <Cluster className={classNames.titleWrapper} align=\"center\" as=\"span\">\n {iconPosition === 'left' && <FaCaretRightIcon className={classNames.leftIcon} />}\n <span className={classNames.title}>{children}</span>\n {iconPosition === 'right' && <FaCaretDownIcon className={classNames.rightIcon} />}\n </Cluster>\n))\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AA0CA;AACE;AACE;AACA;AACA;;;;;;;;AAQC;AACD;AACA;AACD;AACD;AACE;AACE;AACA;AACD;AACF;AACF;;AASC;AACE;;;;AAKE;;;;AAIJ;;AAGA;;AAWA;AAGM;;AAIN;AAGM;AACI;AAMA;;AAEJ;AAGN;;;;;;AAMM;;AAGF;;;AAEA;;AAGF;AACF;AAEA;AAEI;;;AAIA;AAEA;;;AAGI;;;;;AAKA;;;AAGF;;;AAGE;;;AAGF;;;AAGE;;;;AAIN;;;AAMA;AAmBJ;AAEA;;"}
@@ -4,14 +4,14 @@ import { DesktopHeader } from './components/desktop/DesktopHeader.js';
4
4
  import { MobileHeader } from './components/mobile/MobileHeader.js';
5
5
  import { useMediaQuery, mediaQuery } from './hooks/useMediaQuery.js';
6
6
 
7
- const AppHeader = ({ children, ...props }) => {
7
+ const AppHeader = ({ children, ...rest }) => {
8
8
  // NOTE: ヘッダーの出し分けは CSS によって行われているので、useMediaQuery による children の出し分けは本来不要ですが、
9
9
  // wovn の言語切替カスタム UI の挿入対象となる DOM ("wovn-embedded-widget-anchor" クラスを持った div) が複数描画されていると、
10
10
  // wovn のスクリプトの仕様上1つ目の DOM にしか UI が挿入されないため、やむを得ず children のみ React のレンダリングレベルでの出し分けをしています。
11
11
  const isDesktop = useMediaQuery(mediaQuery.desktop);
12
12
  // HINT: Desktop,Mobileの両ヘッダーは常にHTML上に存在し、cssでvisibleを切り替えることでSSR環境でのレイアウトシフトが発生しないようにしています
13
13
  // 表示切替は画面幅によって決まり、SSR環境では判定出来ないためです
14
- return (jsxs(Fragment, { children: [jsx(DesktopHeader, { ...props, children: isDesktop ? children : undefined }), jsx(MobileHeader, { ...props, children: isDesktop ? undefined : children })] }));
14
+ return (jsxs(Fragment, { children: [jsx(DesktopHeader, { ...rest, children: isDesktop ? children : undefined }), jsx(MobileHeader, { ...rest, children: isDesktop ? undefined : children })] }));
15
15
  };
16
16
 
17
17
  export { AppHeader };
@@ -1 +1 @@
1
- {"version":3,"file":"AppHeader.js","sources":["../../../src/components/AppHeader/AppHeader.tsx"],"sourcesContent":["'use client'\n\nimport { DesktopHeader } from './components/desktop/DesktopHeader'\nimport { MobileHeader } from './components/mobile/MobileHeader'\nimport { mediaQuery, useMediaQuery } from './hooks/useMediaQuery'\n\nimport type { HeaderProps } from './types'\nimport type { FC } from 'react'\n\nexport const AppHeader: FC<HeaderProps> = ({ children, ...props }) => {\n // NOTE: ヘッダーの出し分けは CSS によって行われているので、useMediaQuery による children の出し分けは本来不要ですが、\n // wovn の言語切替カスタム UI の挿入対象となる DOM (\"wovn-embedded-widget-anchor\" クラスを持った div) が複数描画されていると、\n // wovn のスクリプトの仕様上1つ目の DOM にしか UI が挿入されないため、やむを得ず children のみ React のレンダリングレベルでの出し分けをしています。\n const isDesktop = useMediaQuery(mediaQuery.desktop)\n\n // HINT: Desktop,Mobileの両ヘッダーは常にHTML上に存在し、cssでvisibleを切り替えることでSSR環境でのレイアウトシフトが発生しないようにしています\n // 表示切替は画面幅によって決まり、SSR環境では判定出来ないためです\n return (\n <>\n <DesktopHeader {...props}>{isDesktop ? children : undefined}</DesktopHeader>\n <MobileHeader {...props}>{isDesktop ? undefined : children}</MobileHeader>\n </>\n )\n}\n"],"names":[],"mappings":";;;;;;AASO;;;;;;;AAQL;AAMF;;"}
1
+ {"version":3,"file":"AppHeader.js","sources":["../../../src/components/AppHeader/AppHeader.tsx"],"sourcesContent":["'use client'\n\nimport { DesktopHeader } from './components/desktop/DesktopHeader'\nimport { MobileHeader } from './components/mobile/MobileHeader'\nimport { mediaQuery, useMediaQuery } from './hooks/useMediaQuery'\n\nimport type { HeaderProps } from './types'\nimport type { FC } from 'react'\n\nexport const AppHeader: FC<HeaderProps> = ({ children, ...rest }) => {\n // NOTE: ヘッダーの出し分けは CSS によって行われているので、useMediaQuery による children の出し分けは本来不要ですが、\n // wovn の言語切替カスタム UI の挿入対象となる DOM (\"wovn-embedded-widget-anchor\" クラスを持った div) が複数描画されていると、\n // wovn のスクリプトの仕様上1つ目の DOM にしか UI が挿入されないため、やむを得ず children のみ React のレンダリングレベルでの出し分けをしています。\n const isDesktop = useMediaQuery(mediaQuery.desktop)\n\n // HINT: Desktop,Mobileの両ヘッダーは常にHTML上に存在し、cssでvisibleを切り替えることでSSR環境でのレイアウトシフトが発生しないようにしています\n // 表示切替は画面幅によって決まり、SSR環境では判定出来ないためです\n return (\n <>\n <DesktopHeader {...rest}>{isDesktop ? children : undefined}</DesktopHeader>\n <MobileHeader {...rest}>{isDesktop ? undefined : children}</MobileHeader>\n </>\n )\n}\n"],"names":[],"mappings":";;;;;;AASO;;;;;;;AAQL;AAMF;;"}
@@ -4,6 +4,7 @@ import { tv as ce } from './../../../../vendor/.pnpm/tailwind-variants@0.3.1_tai
4
4
  import '../../../../intl/IntlProvider.js';
5
5
  import { useIntl } from '../../../../intl/useIntl.js';
6
6
  import 'react-intl';
7
+ import '../../../../_virtual/dayjs.min.js';
7
8
  import '../../../Button/Button.js';
8
9
  import { AnchorButton as ForwardedAnchorButton } from '../../../Button/AnchorButton.js';
9
10
  import '../../../Button/UnstyledButton.js';
@@ -1 +1 @@
1
- {"version":3,"file":"AppLauncherFeatures.js","sources":["../../../../../src/components/AppHeader/components/common/AppLauncherFeatures.tsx"],"sourcesContent":["import { type FC, type PropsWithChildren, memo, useMemo } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useIntl } from '../../../../intl'\nimport { AnchorButton } from '../../../Button'\nimport { FaArrowRightIcon, FaStarIcon } from '../../../Icon'\nimport { LineClamp } from '../../../LineClamp'\nimport { Text } from '../../../Text'\nimport { mediaQuery, useMediaQuery } from '../../hooks/useMediaQuery'\n\nimport { Translate } from './Translate'\n\nimport type { Launcher } from '../../types'\n\nconst classNameGenerator = tv({\n slots: {\n empty: ['shr-p-1 shr-text-center'],\n list: ['shr-list-none', '[&>li]:shr-px-0.5 [&>li]:shr-py-0.25'],\n listItem: [\n 'smarthr-ui-AppLauncher-listItem',\n 'shr-grid shr-min-h-[2.5rem] shr-grid-cols-[1rem_1fr_1rem] shr-gap-0.75 shr-whitespace-normal shr-px-1 shr-py-0 shr-text-left shr-leading-tight',\n 'data-[favorite=\"false\"]:shr-grid-cols-[1fr_1rem]',\n ],\n },\n})\n\ntype Props = {\n features: Array<Launcher['feature']>\n page: Launcher['page']\n}\n\nexport const AppLauncherFeatures: FC<Props> = ({ features, page }) =>\n features.length === 0 ? <EmptyList /> : <FeatureList features={features} page={page} />\n\nconst EmptyList = memo(() => {\n const className = useMemo(() => {\n const { empty } = classNameGenerator()\n\n return empty()\n }, [])\n const { localize } = useIntl()\n const translated = useMemo(\n () =>\n localize({\n id: 'smarthr-ui/AppHeader/Launcher/emptyText',\n defaultText: '該当するアプリが見つかりませんでした。',\n }),\n [localize],\n )\n\n return (\n <div className={className}>\n <Text size=\"S\">\n <Translate>{translated}</Translate>\n </Text>\n </div>\n )\n})\n\nconst FeatureList: FC<Props> = ({ features, page }) => {\n const classNames = useMemo(() => {\n const { list, listItem } = classNameGenerator()\n\n return {\n list: list(),\n listItem: listItem(),\n }\n }, [])\n\n const isFavorite = page === 'favorite'\n\n return (\n <ul className={classNames.list}>\n {features.map((feature) => (\n <FeatureListItem\n key={feature.id}\n href={feature.url}\n isFavorite={isFavorite}\n className={classNames.listItem}\n >\n {feature.name}\n </FeatureListItem>\n ))}\n </ul>\n )\n}\n\nconst FeatureListItem = memo<{\n href: Props['features'][number]['url']\n children: Props['features'][number]['name']\n className: string\n isFavorite: boolean\n}>(({ href, children, isFavorite, className }) => (\n <li>\n <AnchorButton\n href={href}\n target=\"_blank\"\n prefix={isFavorite && <FaStarIcon />}\n suffix={<FaArrowRightIcon />}\n variant=\"text\"\n wide\n data-favorite={isFavorite}\n className={className}\n >\n <FeatureName>{children}</FeatureName>\n </AnchorButton>\n </li>\n))\n\nconst FeatureName: FC<PropsWithChildren> = ({ children }) => {\n const isDesktop = useMediaQuery(mediaQuery.desktop)\n\n return isDesktop ? <LineClamp maxLines={2}>{children}</LineClamp> : children\n}\n"],"names":["tv","_jsx","AnchorButton"],"mappings":"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"}
1
+ {"version":3,"file":"AppLauncherFeatures.js","sources":["../../../../../src/components/AppHeader/components/common/AppLauncherFeatures.tsx"],"sourcesContent":["import { type FC, type PropsWithChildren, memo, useMemo } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useIntl } from '../../../../intl'\nimport { AnchorButton } from '../../../Button'\nimport { FaArrowRightIcon, FaStarIcon } from '../../../Icon'\nimport { LineClamp } from '../../../LineClamp'\nimport { Text } from '../../../Text'\nimport { mediaQuery, useMediaQuery } from '../../hooks/useMediaQuery'\n\nimport { Translate } from './Translate'\n\nimport type { Launcher } from '../../types'\n\nconst classNameGenerator = tv({\n slots: {\n empty: ['shr-p-1 shr-text-center'],\n list: ['shr-list-none', '[&>li]:shr-px-0.5 [&>li]:shr-py-0.25'],\n listItem: [\n 'smarthr-ui-AppLauncher-listItem',\n 'shr-grid shr-min-h-[2.5rem] shr-grid-cols-[1rem_1fr_1rem] shr-gap-0.75 shr-whitespace-normal shr-px-1 shr-py-0 shr-text-left shr-leading-tight',\n 'data-[favorite=\"false\"]:shr-grid-cols-[1fr_1rem]',\n ],\n },\n})\n\ntype Props = {\n features: Array<Launcher['feature']>\n page: Launcher['page']\n}\n\nexport const AppLauncherFeatures: FC<Props> = ({ features, page }) =>\n features.length === 0 ? <EmptyList /> : <FeatureList features={features} page={page} />\n\nconst EmptyList = memo(() => {\n const className = useMemo(() => {\n const { empty } = classNameGenerator()\n\n return empty()\n }, [])\n const { localize } = useIntl()\n const translated = useMemo(\n () =>\n localize({\n id: 'smarthr-ui/AppHeader/Launcher/emptyText',\n defaultText: '該当するアプリが見つかりませんでした。',\n }),\n [localize],\n )\n\n return (\n <div className={className}>\n <Text size=\"S\">\n <Translate>{translated}</Translate>\n </Text>\n </div>\n )\n})\n\nconst FeatureList: FC<Props> = ({ features, page }) => {\n const classNames = useMemo(() => {\n const { list, listItem } = classNameGenerator()\n\n return {\n list: list(),\n listItem: listItem(),\n }\n }, [])\n\n const isFavorite = page === 'favorite'\n\n return (\n <ul className={classNames.list}>\n {features.map((feature) => (\n <FeatureListItem\n key={feature.id}\n href={feature.url}\n isFavorite={isFavorite}\n className={classNames.listItem}\n >\n {feature.name}\n </FeatureListItem>\n ))}\n </ul>\n )\n}\n\nconst FeatureListItem = memo<{\n href: Props['features'][number]['url']\n children: Props['features'][number]['name']\n className: string\n isFavorite: boolean\n}>(({ href, children, isFavorite, className }) => (\n <li>\n <AnchorButton\n href={href}\n target=\"_blank\"\n prefix={isFavorite && <FaStarIcon />}\n suffix={<FaArrowRightIcon />}\n variant=\"text\"\n wide\n data-favorite={isFavorite}\n className={className}\n >\n <FeatureName>{children}</FeatureName>\n </AnchorButton>\n </li>\n))\n\nconst FeatureName: FC<PropsWithChildren> = ({ children }) => {\n const isDesktop = useMediaQuery(mediaQuery.desktop)\n\n return isDesktop ? <LineClamp maxLines={2}>{children}</LineClamp> : children\n}\n"],"names":["tv","_jsx","AnchorButton"],"mappings":"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"}
@@ -4,6 +4,7 @@ import { tv as ce } from './../../../../vendor/.pnpm/tailwind-variants@0.3.1_tai
4
4
  import '../../../../intl/IntlProvider.js';
5
5
  import { useIntl } from '../../../../intl/useIntl.js';
6
6
  import 'react-intl';
7
+ import '../../../../_virtual/dayjs.min.js';
7
8
  import { textColor } from '../../../../themes/tailwind/TailwindConfig.js';
8
9
  import { Button } from '../../../Button/Button.js';
9
10
  import '../../../Button/AnchorButton.js';
@@ -1 +1 @@
1
- {"version":3,"file":"AppLauncherSortDropdown.js","sources":["../../../../../src/components/AppHeader/components/common/AppLauncherSortDropdown.tsx"],"sourcesContent":["import {\n type FC,\n type MouseEvent,\n type PropsWithChildren,\n type RefObject,\n memo,\n useCallback,\n useMemo,\n useRef,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useIntl } from '../../../../intl'\nimport { textColor } from '../../../../themes'\nimport { Button } from '../../../Button'\nimport { Dropdown, DropdownContent, DropdownTrigger } from '../../../Dropdown'\nimport { FaCaretDownIcon, FaCheckIcon } from '../../../Icon'\nimport { Translate } from '../common/Translate'\n\nimport type { Launcher } from '../../types'\n\nconst classNameGenerator = tv({\n slots: {\n trigger: [\n 'smarthr-ui-AppLauncher-SortDropdown-trigger',\n 'shr-gap-0.25 shr-text-grey',\n '[&[aria-expanded=\"true\"]_.smarthr-ui-Icon]:shr-rotate-180',\n ],\n contentBody: ['shr-px-0.25 shr-py-0.5', 'shr-flex shr-flex-col shr-items-stretch'],\n contentButton: [\n 'shr-justify-start shr-border-none shr-py-0.75 shr-pl-2.5 shr-font-normal',\n 'aria-selected:shr-pl-1',\n ],\n },\n})\n\ntype Props = {\n sortType: Launcher['sortType']\n onSelectSortType: (sortType: Launcher['sortType']) => void\n}\n\nexport const AppLauncherSortDropdown: FC<Props> = ({ sortType, onSelectSortType }) => {\n const triggerRef = useRef<HTMLButtonElement>(null)\n\n const classNames = useMemo(() => {\n const { trigger, contentBody, contentButton } = classNameGenerator()\n\n return {\n trigger: trigger(),\n contentBody: contentBody(),\n contentButton: contentButton(),\n }\n }, [])\n\n const { localize } = useIntl()\n const translated = useMemo(\n () => ({\n label: localize({\n id: 'smarthr-ui/AppHeader/Launcher/sortDropdownLabel',\n defaultText: '表示順',\n }),\n selected: localize({\n id: 'smarthr-ui/AppHeader/Launcher/sortDropdownSelected',\n defaultText: '選択中',\n }),\n default: localize({\n id: 'smarthr-ui/AppHeader/Launcher/sortDropdownOrderDefault',\n defaultText: 'デフォルト',\n }),\n asc: localize({\n id: 'smarthr-ui/AppHeader/Launcher/sortDropdownOrderNameAsc',\n defaultText: 'アプリ名の昇順',\n }),\n desc: localize({\n id: 'smarthr-ui/AppHeader/Launcher/sortDropdownOrderNameDesc',\n defaultText: 'アプリ名の降順',\n }),\n }),\n [localize],\n )\n\n const options = useMemo(\n () => [\n ['default', translated.default],\n ['name/asc', translated.asc],\n ['name/desc', translated.desc],\n ],\n [translated],\n )\n\n const onClickOption = useCallback(\n (e: MouseEvent<HTMLButtonElement>) => {\n onSelectSortType(e.currentTarget.value as Launcher['sortType'])\n\n // Dropdown がネストしており、この Dropdown のみ閉じて親の Dropdown は開いたままというのができない\n // そのため、無理矢理クリックイベントを発生させて実現している\n setTimeout(() => {\n if (triggerRef.current) {\n triggerRef.current.click()\n triggerRef.current.focus()\n }\n }, 0)\n },\n [onSelectSortType],\n )\n\n return (\n <Dropdown>\n <TriggerButton triggerRef={triggerRef} className={classNames.trigger}>\n {translated.label}\n </TriggerButton>\n <DropdownContent controllable>\n <div role=\"listbox\" className={classNames.contentBody}>\n {options.map(([value, children], i) => (\n <OptionButton\n key={i}\n value={value}\n selected={value === sortType}\n selectedAlt={translated.selected}\n onClick={onClickOption}\n className={classNames.contentButton}\n >\n {children}\n </OptionButton>\n ))}\n </div>\n </DropdownContent>\n </Dropdown>\n )\n}\n\nconst TriggerButton = memo<\n PropsWithChildren<{ triggerRef: RefObject<HTMLButtonElement>; className: string }>\n>(({ triggerRef, children, className }) => (\n <DropdownTrigger>\n <Button\n ref={triggerRef}\n size=\"s\"\n variant=\"text\"\n suffix={<FaCaretDownIcon />}\n className={className}\n >\n <Translate>{children}</Translate>\n </Button>\n </DropdownTrigger>\n))\n\nconst OptionButton = memo<\n PropsWithChildren<{\n value: string\n selected: boolean\n selectedAlt: string\n onClick: (e: MouseEvent<HTMLButtonElement>) => void\n className: string\n }>\n>(({ value, selected, selectedAlt, onClick, children, className }) => (\n <Button\n value={value}\n role=\"option\"\n aria-selected={selected}\n className={className}\n prefix={\n selected && <FaCheckIcon color={textColor.main} alt={<Translate>{selectedAlt}</Translate>} />\n }\n onClick={onClick}\n >\n <Translate>{children}</Translate>\n </Button>\n))\n"],"names":["tv","_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"AppLauncherSortDropdown.js","sources":["../../../../../src/components/AppHeader/components/common/AppLauncherSortDropdown.tsx"],"sourcesContent":["import {\n type FC,\n type MouseEvent,\n type PropsWithChildren,\n type RefObject,\n memo,\n useCallback,\n useMemo,\n useRef,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useIntl } from '../../../../intl'\nimport { textColor } from '../../../../themes'\nimport { Button } from '../../../Button'\nimport { Dropdown, DropdownContent, DropdownTrigger } from '../../../Dropdown'\nimport { FaCaretDownIcon, FaCheckIcon } from '../../../Icon'\nimport { Translate } from '../common/Translate'\n\nimport type { Launcher } from '../../types'\n\nconst classNameGenerator = tv({\n slots: {\n trigger: [\n 'smarthr-ui-AppLauncher-SortDropdown-trigger',\n 'shr-gap-0.25 shr-text-grey',\n '[&[aria-expanded=\"true\"]_.smarthr-ui-Icon]:shr-rotate-180',\n ],\n contentBody: ['shr-px-0.25 shr-py-0.5', 'shr-flex shr-flex-col shr-items-stretch'],\n contentButton: [\n 'shr-justify-start shr-border-none shr-py-0.75 shr-pl-2.5 shr-font-normal',\n 'aria-selected:shr-pl-1',\n ],\n },\n})\n\ntype Props = {\n sortType: Launcher['sortType']\n onSelectSortType: (sortType: Launcher['sortType']) => void\n}\n\nexport const AppLauncherSortDropdown: FC<Props> = ({ sortType, onSelectSortType }) => {\n const triggerRef = useRef<HTMLButtonElement>(null)\n\n const classNames = useMemo(() => {\n const { trigger, contentBody, contentButton } = classNameGenerator()\n\n return {\n trigger: trigger(),\n contentBody: contentBody(),\n contentButton: contentButton(),\n }\n }, [])\n\n const { localize } = useIntl()\n const translated = useMemo(\n () => ({\n label: localize({\n id: 'smarthr-ui/AppHeader/Launcher/sortDropdownLabel',\n defaultText: '表示順',\n }),\n selected: localize({\n id: 'smarthr-ui/AppHeader/Launcher/sortDropdownSelected',\n defaultText: '選択中',\n }),\n default: localize({\n id: 'smarthr-ui/AppHeader/Launcher/sortDropdownOrderDefault',\n defaultText: 'デフォルト',\n }),\n asc: localize({\n id: 'smarthr-ui/AppHeader/Launcher/sortDropdownOrderNameAsc',\n defaultText: 'アプリ名の昇順',\n }),\n desc: localize({\n id: 'smarthr-ui/AppHeader/Launcher/sortDropdownOrderNameDesc',\n defaultText: 'アプリ名の降順',\n }),\n }),\n [localize],\n )\n\n const options = useMemo(\n () => [\n ['default', translated.default],\n ['name/asc', translated.asc],\n ['name/desc', translated.desc],\n ],\n [translated],\n )\n\n const onClickOption = useCallback(\n (e: MouseEvent<HTMLButtonElement>) => {\n onSelectSortType(e.currentTarget.value as Launcher['sortType'])\n\n // Dropdown がネストしており、この Dropdown のみ閉じて親の Dropdown は開いたままというのができない\n // そのため、無理矢理クリックイベントを発生させて実現している\n setTimeout(() => {\n if (triggerRef.current) {\n triggerRef.current.click()\n triggerRef.current.focus()\n }\n }, 0)\n },\n [onSelectSortType],\n )\n\n return (\n <Dropdown>\n <TriggerButton triggerRef={triggerRef} className={classNames.trigger}>\n {translated.label}\n </TriggerButton>\n <DropdownContent controllable>\n <div role=\"listbox\" className={classNames.contentBody}>\n {options.map(([value, children], i) => (\n <OptionButton\n key={i}\n value={value}\n selected={value === sortType}\n selectedAlt={translated.selected}\n onClick={onClickOption}\n className={classNames.contentButton}\n >\n {children}\n </OptionButton>\n ))}\n </div>\n </DropdownContent>\n </Dropdown>\n )\n}\n\nconst TriggerButton = memo<\n PropsWithChildren<{ triggerRef: RefObject<HTMLButtonElement>; className: string }>\n>(({ triggerRef, children, className }) => (\n <DropdownTrigger>\n <Button\n ref={triggerRef}\n size=\"s\"\n variant=\"text\"\n suffix={<FaCaretDownIcon />}\n className={className}\n >\n <Translate>{children}</Translate>\n </Button>\n </DropdownTrigger>\n))\n\nconst OptionButton = memo<\n PropsWithChildren<{\n value: string\n selected: boolean\n selectedAlt: string\n onClick: (e: MouseEvent<HTMLButtonElement>) => void\n className: string\n }>\n>(({ value, selected, selectedAlt, onClick, children, className }) => (\n <Button\n value={value}\n role=\"option\"\n aria-selected={selected}\n className={className}\n prefix={\n selected && <FaCheckIcon color={textColor.main} alt={<Translate>{selectedAlt}</Translate>} />\n }\n onClick={onClick}\n >\n <Translate>{children}</Translate>\n </Button>\n))\n"],"names":["tv","_jsxs","_jsx"],"mappings":"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"}
@@ -10,6 +10,10 @@ export declare const commonButtonClassNameGenerator: import("tailwind-variants")
10
10
  true: null;
11
11
  false: string[];
12
12
  };
13
+ rounded: {
14
+ true: string[];
15
+ false: string[];
16
+ };
13
17
  }, undefined, string[], import("tailwind-variants/dist/config.js").TVConfig<{
14
18
  prefix: {
15
19
  true: string[];
@@ -21,6 +25,10 @@ export declare const commonButtonClassNameGenerator: import("tailwind-variants")
21
25
  true: null;
22
26
  false: string[];
23
27
  };
28
+ rounded: {
29
+ true: string[];
30
+ false: string[];
31
+ };
24
32
  }, {
25
33
  prefix: {
26
34
  true: string[];
@@ -32,6 +40,10 @@ export declare const commonButtonClassNameGenerator: import("tailwind-variants")
32
40
  true: null;
33
41
  false: string[];
34
42
  };
43
+ rounded: {
44
+ true: string[];
45
+ false: string[];
46
+ };
35
47
  }>, {
36
48
  prefix: {
37
49
  true: string[];
@@ -43,6 +55,10 @@ export declare const commonButtonClassNameGenerator: import("tailwind-variants")
43
55
  true: null;
44
56
  false: string[];
45
57
  };
58
+ rounded: {
59
+ true: string[];
60
+ false: string[];
61
+ };
46
62
  }, undefined, import("tailwind-variants").TVReturnType<{
47
63
  prefix: {
48
64
  true: string[];
@@ -54,6 +70,10 @@ export declare const commonButtonClassNameGenerator: import("tailwind-variants")
54
70
  true: null;
55
71
  false: string[];
56
72
  };
73
+ rounded: {
74
+ true: string[];
75
+ false: string[];
76
+ };
57
77
  }, undefined, string[], import("tailwind-variants/dist/config.js").TVConfig<{
58
78
  prefix: {
59
79
  true: string[];
@@ -65,6 +85,10 @@ export declare const commonButtonClassNameGenerator: import("tailwind-variants")
65
85
  true: null;
66
86
  false: string[];
67
87
  };
88
+ rounded: {
89
+ true: string[];
90
+ false: string[];
91
+ };
68
92
  }, {
69
93
  prefix: {
70
94
  true: string[];
@@ -76,6 +100,10 @@ export declare const commonButtonClassNameGenerator: import("tailwind-variants")
76
100
  true: null;
77
101
  false: string[];
78
102
  };
103
+ rounded: {
104
+ true: string[];
105
+ false: string[];
106
+ };
79
107
  }>, unknown, unknown, undefined>>;
80
108
  type AnchorProps = Omit<ComponentPropsWithoutRef<'a'>, 'prefix'>;
81
109
  type ButtonProps = Omit<ComponentPropsWithoutRef<'button'>, 'prefix'>;
@@ -4,7 +4,7 @@ import { tv as ce } from './../../../../vendor/.pnpm/tailwind-variants@0.3.1_tai
4
4
 
5
5
  const commonButtonClassNameGenerator = ce({
6
6
  base: [
7
- '[&&]:shr-box-border [&&]:shr-flex [&&]:shr-w-full [&&]:shr-cursor-pointer [&&]:shr-items-center [&&]:shr-rounded-m [&&]:shr-border-none [&&]:shr-bg-transparent [&&]:shr-px-1 [&&]:shr-py-0.5 [&&]:shr-text-base [&&]:shr-leading-normal [&&]:shr-text-black [&&]:shr-no-underline',
7
+ '[&&]:shr-box-border [&&]:shr-flex [&&]:shr-w-full [&&]:shr-cursor-pointer [&&]:shr-items-center [&&]:shr-border-none [&&]:shr-bg-transparent [&&]:shr-px-1 [&&]:shr-py-0.5 [&&]:shr-text-base [&&]:shr-leading-normal [&&]:shr-text-black [&&]:shr-no-underline',
8
8
  '[&&]:hover:shr-bg-white-darken',
9
9
  '[&&]:focus-visible:shr-bg-white-darken',
10
10
  ],
@@ -19,6 +19,10 @@ const commonButtonClassNameGenerator = ce({
19
19
  true: null,
20
20
  false: ['[&&]:shr-font-normal'],
21
21
  },
22
+ rounded: {
23
+ true: ['[&&]:shr-rounded-m'],
24
+ false: ['[&&]:shr-rounded-none'],
25
+ },
22
26
  },
23
27
  compoundVariants: [
24
28
  {
@@ -27,8 +31,11 @@ const commonButtonClassNameGenerator = ce({
27
31
  className: ['[&&]:shr-font-bold'],
28
32
  },
29
33
  ],
34
+ defaultVariants: {
35
+ rounded: true,
36
+ },
30
37
  });
31
- const CommonButton = memo(({ elementAs, prefix, current, boldWhenCurrent, className, ...props }) => {
38
+ const CommonButton = memo(({ elementAs, prefix, current, boldWhenCurrent, className, children, ...rest }) => {
32
39
  const actualClassName = useMemo(() => commonButtonClassNameGenerator({
33
40
  prefix: !!prefix,
34
41
  current,
@@ -37,11 +44,11 @@ const CommonButton = memo(({ elementAs, prefix, current, boldWhenCurrent, classN
37
44
  }), [current, prefix, boldWhenCurrent, className]);
38
45
  switch (elementAs) {
39
46
  case 'a':
40
- return (jsxs("a", { ...props, className: actualClassName, children: [prefix, props.children] }));
47
+ return (jsxs("a", { ...rest, className: actualClassName, children: [prefix, children] }));
41
48
  case 'button':
42
49
  return (
43
50
  // eslint-disable-next-line smarthr/best-practice-for-button-element
44
- jsxs("button", { ...props, className: actualClassName, children: [prefix, props.children] }));
51
+ jsxs("button", { ...rest, className: actualClassName, children: [prefix, children] }));
45
52
  }
46
53
  throw new Error(elementAs);
47
54
  });
@@ -1 +1 @@
1
- {"version":3,"file":"CommonButton.js","sources":["../../../../../src/components/AppHeader/components/common/CommonButton.tsx"],"sourcesContent":["import { type ComponentPropsWithoutRef, type ReactNode, memo, useMemo } from 'react'\nimport { tv } from 'tailwind-variants'\n\nexport const commonButtonClassNameGenerator = tv({\n base: [\n '[&&]:shr-box-border [&&]:shr-flex [&&]:shr-w-full [&&]:shr-cursor-pointer [&&]:shr-items-center [&&]:shr-rounded-m [&&]:shr-border-none [&&]:shr-bg-transparent [&&]:shr-px-1 [&&]:shr-py-0.5 [&&]:shr-text-base [&&]:shr-leading-normal [&&]:shr-text-black [&&]:shr-no-underline',\n '[&&]:hover:shr-bg-white-darken',\n '[&&]:focus-visible:shr-bg-white-darken',\n ],\n variants: {\n prefix: {\n true: ['[&&]:shr-gap-0.5'],\n },\n current: {\n true: ['[&&]:shr-bg-white-darken'],\n },\n boldWhenCurrent: {\n true: null,\n false: ['[&&]:shr-font-normal'],\n },\n },\n compoundVariants: [\n {\n boldWhenCurrent: true,\n current: true,\n className: ['[&&]:shr-font-bold'],\n },\n ],\n})\n\ntype AnchorProps = Omit<ComponentPropsWithoutRef<'a'>, 'prefix'>\ntype ButtonProps = Omit<ComponentPropsWithoutRef<'button'>, 'prefix'>\n\ntype Props = (({ elementAs: 'a' } & AnchorProps) | ({ elementAs: 'button' } & ButtonProps)) & {\n prefix?: ReactNode\n current?: boolean\n boldWhenCurrent?: boolean\n}\n\nexport const CommonButton = memo<Props>(\n ({ elementAs, prefix, current, boldWhenCurrent, className, ...props }) => {\n const actualClassName = useMemo(\n () =>\n commonButtonClassNameGenerator({\n prefix: !!prefix,\n current,\n boldWhenCurrent,\n className,\n }),\n [current, prefix, boldWhenCurrent, className],\n )\n\n switch (elementAs) {\n case 'a':\n return (\n <a {...(props as AnchorProps)} className={actualClassName}>\n {prefix}\n {props.children}\n </a>\n )\n case 'button':\n return (\n // eslint-disable-next-line smarthr/best-practice-for-button-element\n <button {...(props as ButtonProps)} className={actualClassName}>\n {prefix}\n {props.children}\n </button>\n )\n }\n\n throw new Error(elementAs satisfies never)\n },\n)\n"],"names":["tv","_jsxs"],"mappings":";;;;AAGO,MAAM,8BAA8B,GAAGA,EAAE,CAAC;AAC/C,IAAA,IAAI,EAAE;QACJ,oRAAoR;QACpR,gCAAgC;QAChC,wCAAwC;AACzC,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,MAAM,EAAE;YACN,IAAI,EAAE,CAAC,kBAAkB,CAAC;AAC3B,SAAA;AACD,QAAA,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,0BAA0B,CAAC;AACnC,SAAA;AACD,QAAA,eAAe,EAAE;AACf,YAAA,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,CAAC,sBAAsB,CAAC;AAChC,SAAA;AACF,KAAA;AACD,IAAA,gBAAgB,EAAE;AAChB,QAAA;AACE,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,CAAC,oBAAoB,CAAC;AAClC,SAAA;AACF,KAAA;AACF,CAAA;MAWY,YAAY,GAAG,IAAI,CAC9B,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,KAAI;IACvE,MAAM,eAAe,GAAG,OAAO,CAC7B,MACE,8BAA8B,CAAC;QAC7B,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,OAAO;QACP,eAAe;QACf,SAAS;KACV,CAAC,EACJ,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,CAAC,CAC9C;IAED,QAAQ,SAAS;AACf,QAAA,KAAK,GAAG;AACN,YAAA,QACEC,IAAA,CAAA,GAAA,EAAA,EAAA,GAAQ,KAAqB,EAAE,SAAS,EAAE,eAAe,EAAA,QAAA,EAAA,CACtD,MAAM,EACN,KAAK,CAAC,QAAQ,CAAA,EAAA,CACb;AAER,QAAA,KAAK,QAAQ;YACX;;AAEE,YAAAA,IAAA,CAAA,QAAA,EAAA,EAAA,GAAa,KAAqB,EAAE,SAAS,EAAE,eAAe,EAAA,QAAA,EAAA,CAC3D,MAAM,EACN,KAAK,CAAC,QAAQ,CAAA,EAAA,CACR;;AAIf,IAAA,MAAM,IAAI,KAAK,CAAC,SAAyB,CAAC;AAC5C,CAAC;;;;"}
1
+ {"version":3,"file":"CommonButton.js","sources":["../../../../../src/components/AppHeader/components/common/CommonButton.tsx"],"sourcesContent":["import { type ComponentPropsWithoutRef, type ReactNode, memo, useMemo } from 'react'\nimport { tv } from 'tailwind-variants'\n\nexport const commonButtonClassNameGenerator = tv({\n base: [\n '[&&]:shr-box-border [&&]:shr-flex [&&]:shr-w-full [&&]:shr-cursor-pointer [&&]:shr-items-center [&&]:shr-border-none [&&]:shr-bg-transparent [&&]:shr-px-1 [&&]:shr-py-0.5 [&&]:shr-text-base [&&]:shr-leading-normal [&&]:shr-text-black [&&]:shr-no-underline',\n '[&&]:hover:shr-bg-white-darken',\n '[&&]:focus-visible:shr-bg-white-darken',\n ],\n variants: {\n prefix: {\n true: ['[&&]:shr-gap-0.5'],\n },\n current: {\n true: ['[&&]:shr-bg-white-darken'],\n },\n boldWhenCurrent: {\n true: null,\n false: ['[&&]:shr-font-normal'],\n },\n rounded: {\n true: ['[&&]:shr-rounded-m'],\n false: ['[&&]:shr-rounded-none'],\n },\n },\n compoundVariants: [\n {\n boldWhenCurrent: true,\n current: true,\n className: ['[&&]:shr-font-bold'],\n },\n ],\n defaultVariants: {\n rounded: true,\n },\n})\n\ntype AnchorProps = Omit<ComponentPropsWithoutRef<'a'>, 'prefix'>\ntype ButtonProps = Omit<ComponentPropsWithoutRef<'button'>, 'prefix'>\n\ntype Props = (({ elementAs: 'a' } & AnchorProps) | ({ elementAs: 'button' } & ButtonProps)) & {\n prefix?: ReactNode\n current?: boolean\n boldWhenCurrent?: boolean\n}\n\nexport const CommonButton = memo<Props>(\n ({ elementAs, prefix, current, boldWhenCurrent, className, children, ...rest }) => {\n const actualClassName = useMemo(\n () =>\n commonButtonClassNameGenerator({\n prefix: !!prefix,\n current,\n boldWhenCurrent,\n className,\n }),\n [current, prefix, boldWhenCurrent, className],\n )\n\n switch (elementAs) {\n case 'a':\n return (\n <a {...(rest as AnchorProps)} className={actualClassName}>\n {prefix}\n {children}\n </a>\n )\n case 'button':\n return (\n // eslint-disable-next-line smarthr/best-practice-for-button-element\n <button {...(rest as ButtonProps)} className={actualClassName}>\n {prefix}\n {children}\n </button>\n )\n }\n\n throw new Error(elementAs satisfies never)\n },\n)\n"],"names":["tv","_jsxs"],"mappings":";;;;AAGO,MAAM,8BAA8B,GAAGA,EAAE,CAAC;AAC/C,IAAA,IAAI,EAAE;QACJ,iQAAiQ;QACjQ,gCAAgC;QAChC,wCAAwC;AACzC,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,MAAM,EAAE;YACN,IAAI,EAAE,CAAC,kBAAkB,CAAC;AAC3B,SAAA;AACD,QAAA,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,0BAA0B,CAAC;AACnC,SAAA;AACD,QAAA,eAAe,EAAE;AACf,YAAA,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,CAAC,sBAAsB,CAAC;AAChC,SAAA;AACD,QAAA,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,oBAAoB,CAAC;YAC5B,KAAK,EAAE,CAAC,uBAAuB,CAAC;AACjC,SAAA;AACF,KAAA;AACD,IAAA,gBAAgB,EAAE;AAChB,QAAA;AACE,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,CAAC,oBAAoB,CAAC;AAClC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,OAAO,EAAE,IAAI;AACd,KAAA;AACF,CAAA;AAWM,MAAM,YAAY,GAAG,IAAI,CAC9B,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,KAAI;IAChF,MAAM,eAAe,GAAG,OAAO,CAC7B,MACE,8BAA8B,CAAC;QAC7B,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,OAAO;QACP,eAAe;QACf,SAAS;KACV,CAAC,EACJ,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,CAAC,CAC9C;IAED,QAAQ,SAAS;AACf,QAAA,KAAK,GAAG;AACN,YAAA,QACEC,IAAA,CAAA,GAAA,EAAA,EAAA,GAAQ,IAAoB,EAAE,SAAS,EAAE,eAAe,EAAA,QAAA,EAAA,CACrD,MAAM,EACN,QAAQ,CAAA,EAAA,CACP;AAER,QAAA,KAAK,QAAQ;YACX;;YAEEA,IAAA,CAAA,QAAA,EAAA,EAAA,GAAa,IAAoB,EAAE,SAAS,EAAE,eAAe,EAAA,QAAA,EAAA,CAC1D,MAAM,EACN,QAAQ,CAAA,EAAA,CACF;;AAIf,IAAA,MAAM,IAAI,KAAK,CAAC,SAAyB,CAAC;AAC5C,CAAC;;;;"}
@@ -4,6 +4,7 @@ import { tv as ce } from './../../../../vendor/.pnpm/tailwind-variants@0.3.1_tai
4
4
  import '../../../../intl/IntlProvider.js';
5
5
  import { useIntl } from '../../../../intl/useIntl.js';
6
6
  import 'react-intl';
7
+ import '../../../../_virtual/dayjs.min.js';
7
8
  import { textColor } from '../../../../themes/tailwind/TailwindConfig.js';
8
9
  import '../../../Button/Button.js';
9
10
  import '../../../Button/AnchorButton.js';
@@ -1 +1 @@
1
- {"version":3,"file":"AppLauncher.js","sources":["../../../../../src/components/AppHeader/components/desktop/AppLauncher.tsx"],"sourcesContent":["import { type FC, type PropsWithChildren, type ReactNode, memo, useCallback, useMemo } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useIntl } from '../../../../intl'\nimport { textColor } from '../../../../themes'\nimport { UnstyledButton } from '../../../Button'\nimport { Heading } from '../../../Heading'\nimport { FaCircleXmarkIcon, FaStarIcon } from '../../../Icon'\nimport { SearchInput } from '../../../Input'\nimport { Cluster } from '../../../Layout'\nimport { Section } from '../../../SectioningContent'\nimport { SideNav } from '../../../SideNav'\nimport { HelpLink } from '../../../TextLink'\nimport { useAppLauncher } from '../../hooks/useAppLauncher'\nimport { AppLauncherFeatures } from '../common/AppLauncherFeatures'\nimport { AppLauncherSortDropdown } from '../common/AppLauncherSortDropdown'\nimport { Translate } from '../common/Translate'\n\nimport type { Launcher } from '../../types'\n\ntype Props = {\n features: Array<Launcher['feature']>\n}\n\nconst appLauncher = tv({\n slots: {\n wrapper: [\n 'smarthr-ui-AppLauncher',\n 'shr-grid shr-h-[40rem] shr-w-[38rem] shr-grid-rows-[auto_1fr]',\n ],\n searchArea: [\n 'smarthr-ui-AppLauncher-searchArea',\n 'shr-border-b-shorthand shr-p-1',\n '[&_.smarthr-ui-Input]:shr-h-[42px]',\n ],\n inner: ['smarthr-ui-AppLauncher-inner', 'shr-grid shr-min-h-0 shr-grid-cols-[11rem_1fr]'],\n side: [\n 'smarthr-ui-AppLauncher-side',\n 'shr-border-r-shorthand shr-flex shr-flex-col shr-bg-column shr-pb-1 shr-pt-0.5',\n '[&_hr]:shr-m-0.5 [&_hr]:shr-h-[1px] [&_hr]:shr-border-none [&_hr]:shr-bg-border',\n ],\n sideNav: [\n '[&_.smarthr-ui-SideNav-item>button]:shr-px-1 [&_.smarthr-ui-SideNav-item>button]:shr-py-0.75',\n '[&_.smarthr-ui-SideNav-item>button>span]:shr-flex-nowrap',\n '[&_.smarthr-ui-SideNav-item>button_.smarthr-ui-Icon]:shr-shrink-0 [&_.smarthr-ui-SideNav-item>button_.smarthr-ui-Icon]:shr-align-bottom',\n ],\n sideNavHeading: ['shr-px-1 shr-py-0.75 shr-text-xs shr-text-black'],\n help: ['smarthr-ui-AppLauncher-help', 'shr-mt-auto shr-px-1 shr-text-xs'],\n main: ['smarthr-ui-AppLauncher-main', 'shr-grid shr-min-h-0'],\n mainInner: ['shr-grid shr-min-h-0 shr-grid-rows-[auto_1fr]'],\n contentHead: [\n 'shr-min-h-[2rem] shr-px-1 shr-py-0.75',\n '[&_.smarthr-ui-Heading]:shr-text-black',\n ],\n scrollArea: ['shr-h-[509px] shr-overflow-y-scroll'],\n },\n variants: {\n noIcon: {\n true: {\n sideNav: ['[&_.smarthr-ui-SideNav-item>button]:shr-pl-1.5'],\n },\n },\n selected: {\n false: {\n sideNav: ['[&_.smarthr-ui-SideNav-item>button_.smarthr-ui-Icon]:shr-text-grey'],\n },\n },\n },\n})\n\nexport const AppLauncher: FC<Props> = ({ features: baseFeatures }) => {\n const {\n features,\n page,\n mode,\n sortType,\n searchQuery,\n changePage,\n setSortType,\n onChangeSearchQuery,\n onClickClearSearchQuery,\n } = useAppLauncher(baseFeatures)\n\n const classNames = useMemo(() => {\n const {\n wrapper,\n searchArea,\n inner,\n side,\n sideNav,\n sideNavHeading,\n help,\n main,\n mainInner,\n contentHead,\n scrollArea,\n } = appLauncher()\n\n return {\n wrapper: wrapper(),\n searchArea: searchArea(),\n inner: inner(),\n side: side(),\n unselectedSideNav: sideNav({ selected: false }),\n selectedSideNav: sideNav({ noIcon: true, selected: true }),\n sideNavHeading: sideNavHeading(),\n help: help(),\n main: main(),\n mainInner: mainInner(),\n contentHead: contentHead(),\n scrollArea: scrollArea(),\n }\n }, [])\n\n const { localize } = useIntl()\n const translated = useMemo<\n Record<\n Launcher['page'] | 'listText' | 'searchInputTitle' | 'helpText' | 'searchResultText',\n ReactNode\n >\n >(\n () => ({\n favorite: (\n <Translate>\n {localize({\n id: 'smarthr-ui/AppHeader/Launcher/favoriteModeText',\n defaultText: 'よく使うアプリ',\n })}\n </Translate>\n ),\n all: (\n <Translate>\n {localize({\n id: 'smarthr-ui/AppHeader/Launcher/allModeText',\n defaultText: 'すべてのアプリ',\n })}\n </Translate>\n ),\n listText: (\n <Translate>\n {localize({ id: 'smarthr-ui/AppHeader/Launcher/listText', defaultText: 'アプリ一覧' })}\n </Translate>\n ),\n searchInputTitle: localize({\n id: 'smarthr-ui/AppHeader/Launcher/searchInputTitle',\n defaultText: 'アプリ名を入力してください。',\n }),\n helpText: (\n <Translate>\n {localize({\n id: 'smarthr-ui/AppHeader/Launcher/helpText',\n defaultText: 'よく使うアプリとは',\n })}\n </Translate>\n ),\n searchResultText: (\n <Translate>\n {localize({\n id: 'smarthr-ui/AppHeader/Launcher/searchResultText',\n defaultText: '検索結果',\n })}\n </Translate>\n ),\n }),\n [localize],\n )\n\n return (\n <div className={classNames.wrapper}>\n <div className={classNames.searchArea}>\n <SearchInput\n name=\"search\"\n title={translated.searchInputTitle as string}\n tooltipMessage={<Translate>{translated.searchInputTitle}</Translate>}\n width=\"100%\"\n value={searchQuery}\n suffix={mode === 'search' && <ClearSearchButton onClick={onClickClearSearchQuery} />}\n onChange={onChangeSearchQuery}\n />\n </div>\n\n <div className={classNames.inner}>\n <SideNavs\n mode={mode}\n page={page}\n changePage={changePage}\n translated={translated}\n classNames={classNames}\n />\n <main className={classNames.main}>\n <Section className={classNames.mainInner}>\n <Cluster className={classNames.contentHead} align=\"center\" justify=\"space-between\">\n <MemoizedSubSubBlockHeading>\n {mode === 'search' ? translated.searchResultText : translated[page]}\n </MemoizedSubSubBlockHeading>\n\n {(mode === 'search' || page === 'all') && (\n <AppLauncherSortDropdown sortType={sortType} onSelectSortType={setSortType} />\n )}\n </Cluster>\n\n <div className={classNames.scrollArea}>\n <AppLauncherFeatures features={features} page={page} />\n </div>\n </Section>\n </main>\n </div>\n </div>\n )\n}\n\nconst ClearSearchButton = memo<{ onClick: () => void }>(({ onClick }) => (\n <UnstyledButton onClick={onClick}>\n <FaCircleXmarkIcon />\n </UnstyledButton>\n))\n\nconst SideNavs = memo<\n Pick<ReturnType<typeof useAppLauncher>, 'mode' | 'page' | 'changePage'> & {\n translated: { favorite: ReactNode; listText: ReactNode; all: ReactNode; helpText: ReactNode }\n classNames: {\n side: string\n unselectedSideNav: string\n sideNavHeading: string\n selectedSideNav: string\n help: string\n }\n }\n>(({ mode, page, changePage, translated, classNames }) => {\n const isNotSearch = mode !== 'search'\n const isFavorite = isNotSearch && page === 'favorite'\n const isAll = isNotSearch && page === 'all'\n\n const unselectedItems = useMemo(\n () => [\n {\n id: 'favorite',\n title: translated.favorite,\n prefix: <FaStarIcon color={isFavorite ? textColor.white : undefined} />,\n current: isFavorite,\n },\n ],\n [isFavorite, translated],\n )\n const selectedItems = useMemo(\n () => [\n {\n id: 'all',\n title: translated.all,\n current: isAll,\n },\n ],\n [isAll, translated],\n )\n\n const onClick = useCallback(\n (_: any, id: string) => {\n changePage(id as Launcher['page'])\n },\n [changePage],\n )\n\n return (\n <div className={classNames.side}>\n <SideNav\n className={classNames.unselectedSideNav}\n size=\"s\"\n items={unselectedItems}\n onClick={onClick}\n />\n\n <hr />\n\n <Section>\n <MemoizedSubSubBlockHeading className={classNames.sideNavHeading}>\n {translated.listText}\n </MemoizedSubSubBlockHeading>\n <SideNav\n className={classNames.selectedSideNav}\n size=\"s\"\n items={selectedItems}\n onClick={onClick}\n />\n </Section>\n\n <HelpLinkArea className={classNames.help}>{translated.helpText}</HelpLinkArea>\n </div>\n )\n})\n\nconst HelpLinkArea = memo<PropsWithChildren<{ className: string }>>(({ children, className }) => (\n <div className={className}>\n <HelpLink\n href=\"https://support.smarthr.jp/ja/help/articles/2bfd350d-8e8b-4bbd-a209-426d2eb302cc/\"\n target=\"_blank\"\n >\n {children}\n </HelpLink>\n </div>\n))\n\nconst MemoizedSubSubBlockHeading = memo<PropsWithChildren<{ className?: string }>>(\n ({ children, className }) => (\n <Heading type=\"subSubBlockTitle\" className={className}>\n {children}\n </Heading>\n ),\n)\n"],"names":["tv","_jsx","_jsxs"],"mappings":"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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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"}
@@ -4,6 +4,7 @@ import { tv as ce } from './../../../../vendor/.pnpm/tailwind-variants@0.3.1_tai
4
4
  import '../../../../intl/IntlProvider.js';
5
5
  import { useIntl } from '../../../../intl/useIntl.js';
6
6
  import 'react-intl';
7
+ import '../../../../_virtual/dayjs.min.js';
7
8
  import { localeMap } from '../../../../intl/localeMap.js';
8
9
  import { Button } from '../../../Button/Button.js';
9
10
  import '../../../Button/AnchorButton.js';
@@ -46,7 +47,7 @@ const classNameGenerator = ce({
46
47
  ],
47
48
  },
48
49
  });
49
- const DesktopHeader = ({ enableNew, className = '', appName, tenants, currentTenantId, schoolUrl, helpPageUrl, children, userInfo, desktopAdditionalContent, navigations, desktopNavigationAdditionalContent, releaseNote, features, locale: localeProps, ...props }) => {
50
+ const DesktopHeader = ({ enableNew, className = '', appName, tenants, currentTenantId, schoolUrl, helpPageUrl, children, userInfo, desktopAdditionalContent, navigations, desktopNavigationAdditionalContent, releaseNote, features, locale: localeProps, ...rest }) => {
50
51
  const classNames = useMemo(() => {
51
52
  const { wrapper, appsButton } = classNameGenerator();
52
53
  return {
@@ -63,7 +64,7 @@ const DesktopHeader = ({ enableNew, className = '', appName, tenants, currentTen
63
64
  school: localize({ id: 'smarthr-ui/AppHeader/school', defaultText: 'スクール' }),
64
65
  help: localize({ id: 'smarthr-ui/AppHeader/help', defaultText: 'ヘルプ' }),
65
66
  }), [localize]);
66
- return (jsxs(Fragment, { children: [jsx(Header, { ...props, enableNew: enableNew, className: classNames.wrapper, featureName: appName, tenants: tenants, currentTenantId: currentTenantId, children: jsxs(Cluster, { align: "center", className: "shr--me-0.25", children: [!enableNew && (jsxs(Fragment, { children: [features && features.length > 0 && (jsxs(Dropdown, { children: [jsx(AppLauncherButton, { enableNew: enableNew, className: classNames.appsButton, children: translated.appLauncherLabel }), jsx(DropdownContent, { controllable: true, children: jsx(AppLauncher, { features: features }) })] })), schoolUrl && (jsx(HeaderLink, { href: schoolUrl, prefix: jsx(FaGraduationCapIcon, {}), className: "shr-flex shr-items-center shr-py-0.75 shr-leading-none", children: jsx(Translate, { children: translated.school }) }))] })), helpPageUrl && (jsx(HeaderLink, { href: helpPageUrl, prefix: enableNew ? jsx(FaRegCircleQuestionIcon, {}) : jsx(FaCircleQuestionIcon, {}), className: enableNew ? undefined : 'shr-flex shr-items-center shr-py-0.75 shr-leading-none', enableNew: enableNew, children: jsx(Translate, { children: translated.help }) })), localeProps && (jsx(LanguageSwitcher, { localeMap: localeMap, locale: locale, onLanguageSelect: localeProps.onSelectLocale, enableNew: enableNew })), children, userInfo && (jsx(UserInfo, { ...userInfo, tenants: tenants, currentTenantId: currentTenantId, desktopAdditionalContent: desktopAdditionalContent, enableNew: enableNew }))] }) }), navigations && (jsx(Navigation, { appName: appName, navigations: navigations, additionalContent: desktopNavigationAdditionalContent, releaseNote: releaseNote, enableNew: enableNew }))] }));
67
+ return (jsxs(Fragment, { children: [jsx(Header, { ...rest, enableNew: enableNew, className: classNames.wrapper, featureName: appName, tenants: tenants, currentTenantId: currentTenantId, children: jsxs(Cluster, { align: "center", className: "shr--me-0.25", children: [!enableNew && (jsxs(Fragment, { children: [features && features.length > 0 && (jsxs(Dropdown, { children: [jsx(AppLauncherButton, { enableNew: enableNew, className: classNames.appsButton, children: translated.appLauncherLabel }), jsx(DropdownContent, { controllable: true, children: jsx(AppLauncher, { features: features }) })] })), schoolUrl && (jsx(HeaderLink, { href: schoolUrl, prefix: jsx(FaGraduationCapIcon, {}), className: "shr-flex shr-items-center shr-py-0.75 shr-leading-none", children: jsx(Translate, { children: translated.school }) }))] })), helpPageUrl && (jsx(HeaderLink, { href: helpPageUrl, prefix: enableNew ? jsx(FaRegCircleQuestionIcon, {}) : jsx(FaCircleQuestionIcon, {}), className: enableNew ? undefined : 'shr-flex shr-items-center shr-py-0.75 shr-leading-none', enableNew: enableNew, children: jsx(Translate, { children: translated.help }) })), localeProps && (jsx(LanguageSwitcher, { localeMap: localeMap, locale: locale, onLanguageSelect: localeProps.onSelectLocale, enableNew: enableNew })), children, userInfo && (jsx(UserInfo, { ...userInfo, tenants: tenants, currentTenantId: currentTenantId, desktopAdditionalContent: desktopAdditionalContent, enableNew: enableNew }))] }) }), navigations && (jsx(Navigation, { appName: appName, navigations: navigations, additionalContent: desktopNavigationAdditionalContent, releaseNote: releaseNote, enableNew: enableNew }))] }));
67
68
  };
68
69
  const AppLauncherButton = memo(({ enableNew, children, className }) => (jsx(DropdownTrigger, { children: jsx(Button, { prefix: enableNew ?? jsx(FaToolboxIcon, {}), className: className, children: jsx(Translate, { children: children }) }) })));
69
70