smarthr-ui 98.0.0 → 98.1.1

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 (537) hide show
  1. package/lib/_virtual/cjs.cjs +1 -1
  2. package/lib/_virtual/cjs.js +1 -1
  3. package/lib/_virtual/index3.cjs +1 -1
  4. package/lib/_virtual/index3.js +1 -1
  5. package/lib/_virtual/index4.cjs +2 -4
  6. package/lib/_virtual/index4.cjs.map +1 -1
  7. package/lib/_virtual/index4.js +2 -4
  8. package/lib/_virtual/index4.js.map +1 -1
  9. package/lib/_virtual/index5.cjs +2 -2
  10. package/lib/_virtual/index5.js +2 -2
  11. package/lib/components/AccordionPanel/AccordionPanelContent.cjs +1 -1
  12. package/lib/components/AccordionPanel/AccordionPanelContent.js +1 -1
  13. package/lib/components/AppHeader/components/desktop/DesktopHeader.cjs +1 -1
  14. package/lib/components/AppHeader/components/desktop/DesktopHeader.cjs.map +1 -1
  15. package/lib/components/AppHeader/components/desktop/DesktopHeader.js +1 -1
  16. package/lib/components/AppHeader/components/desktop/DesktopHeader.js.map +1 -1
  17. package/lib/components/AppHeader/components/mobile/Help.cjs +1 -1
  18. package/lib/components/AppHeader/components/mobile/Help.cjs.map +1 -1
  19. package/lib/components/AppHeader/components/mobile/Help.js +1 -1
  20. package/lib/components/AppHeader/components/mobile/Help.js.map +1 -1
  21. package/lib/components/AppHeader/components/mobile/MenuDialog.cjs +11 -14
  22. package/lib/components/AppHeader/components/mobile/MenuDialog.cjs.map +1 -1
  23. package/lib/components/AppHeader/components/mobile/MenuDialog.js +11 -14
  24. package/lib/components/AppHeader/components/mobile/MenuDialog.js.map +1 -1
  25. package/lib/components/AppHeader/components/mobile/UserInfo.cjs +1 -13
  26. package/lib/components/AppHeader/components/mobile/UserInfo.cjs.map +1 -1
  27. package/lib/components/AppHeader/components/mobile/UserInfo.js +1 -13
  28. package/lib/components/AppHeader/components/mobile/UserInfo.js.map +1 -1
  29. package/lib/components/Browser/Browser.cjs +7 -9
  30. package/lib/components/Browser/Browser.cjs.map +1 -1
  31. package/lib/components/Browser/Browser.js +8 -10
  32. package/lib/components/Browser/Browser.js.map +1 -1
  33. package/lib/components/Button/useButtonWrapper.cjs.map +1 -1
  34. package/lib/components/Button/useButtonWrapper.js.map +1 -1
  35. package/lib/components/Calendar/CalendarTable.cjs +10 -10
  36. package/lib/components/Calendar/CalendarTable.cjs.map +1 -1
  37. package/lib/components/Calendar/CalendarTable.js +10 -10
  38. package/lib/components/Calendar/CalendarTable.js.map +1 -1
  39. package/lib/components/Combobox/ItemButton.cjs +27 -26
  40. package/lib/components/Combobox/ItemButton.cjs.map +1 -1
  41. package/lib/components/Combobox/ItemButton.js +28 -27
  42. package/lib/components/Combobox/ItemButton.js.map +1 -1
  43. package/lib/components/Combobox/MultiCombobox/MultiCombobox.cjs +32 -48
  44. package/lib/components/Combobox/MultiCombobox/MultiCombobox.cjs.map +1 -1
  45. package/lib/components/Combobox/MultiCombobox/MultiCombobox.js +32 -48
  46. package/lib/components/Combobox/MultiCombobox/MultiCombobox.js.map +1 -1
  47. package/lib/components/Combobox/SingleCombobox/SingleCombobox.cjs +35 -52
  48. package/lib/components/Combobox/SingleCombobox/SingleCombobox.cjs.map +1 -1
  49. package/lib/components/Combobox/SingleCombobox/SingleCombobox.js +35 -52
  50. package/lib/components/Combobox/SingleCombobox/SingleCombobox.js.map +1 -1
  51. package/lib/components/Combobox/useOptions.cjs +3 -3
  52. package/lib/components/Combobox/useOptions.cjs.map +1 -1
  53. package/lib/components/Combobox/useOptions.js +4 -4
  54. package/lib/components/Combobox/useOptions.js.map +1 -1
  55. package/lib/components/DatePicker/DatePicker.cjs +158 -156
  56. package/lib/components/DatePicker/DatePicker.cjs.map +1 -1
  57. package/lib/components/DatePicker/DatePicker.js +159 -157
  58. package/lib/components/DatePicker/DatePicker.js.map +1 -1
  59. package/lib/components/DatePicker/datePickerHelper.cjs +2 -2
  60. package/lib/components/DatePicker/datePickerHelper.cjs.map +1 -1
  61. package/lib/components/DatePicker/datePickerHelper.js +2 -2
  62. package/lib/components/DatePicker/datePickerHelper.js.map +1 -1
  63. package/lib/components/Dialog/ControlledActionDialog/ActionDialogContentInner.cjs +19 -19
  64. package/lib/components/Dialog/ControlledActionDialog/ActionDialogContentInner.cjs.map +1 -1
  65. package/lib/components/Dialog/ControlledActionDialog/ActionDialogContentInner.d.ts +2 -2
  66. package/lib/components/Dialog/ControlledActionDialog/ActionDialogContentInner.js +19 -19
  67. package/lib/components/Dialog/ControlledActionDialog/ActionDialogContentInner.js.map +1 -1
  68. package/lib/components/Dialog/ControlledActionDialog/ControlledActionDialog.cjs +15 -11
  69. package/lib/components/Dialog/ControlledActionDialog/ControlledActionDialog.cjs.map +1 -1
  70. package/lib/components/Dialog/ControlledActionDialog/ControlledActionDialog.d.ts +10 -2
  71. package/lib/components/Dialog/ControlledActionDialog/ControlledActionDialog.js +16 -12
  72. package/lib/components/Dialog/ControlledActionDialog/ControlledActionDialog.js.map +1 -1
  73. package/lib/components/Dialog/ControlledFormDialog/ControlledFormDialog.cjs +22 -11
  74. package/lib/components/Dialog/ControlledFormDialog/ControlledFormDialog.cjs.map +1 -1
  75. package/lib/components/Dialog/ControlledFormDialog/ControlledFormDialog.d.ts +11 -3
  76. package/lib/components/Dialog/ControlledFormDialog/ControlledFormDialog.js +23 -12
  77. package/lib/components/Dialog/ControlledFormDialog/ControlledFormDialog.js.map +1 -1
  78. package/lib/components/Dialog/ControlledFormDialog/FormDialogContentInner.cjs +15 -22
  79. package/lib/components/Dialog/ControlledFormDialog/FormDialogContentInner.cjs.map +1 -1
  80. package/lib/components/Dialog/ControlledFormDialog/FormDialogContentInner.d.ts +2 -3
  81. package/lib/components/Dialog/ControlledFormDialog/FormDialogContentInner.js +16 -23
  82. package/lib/components/Dialog/ControlledFormDialog/FormDialogContentInner.js.map +1 -1
  83. package/lib/components/Dialog/ControlledMessageDialog/ControlledMessageDialog.cjs +10 -6
  84. package/lib/components/Dialog/ControlledMessageDialog/ControlledMessageDialog.cjs.map +1 -1
  85. package/lib/components/Dialog/ControlledMessageDialog/ControlledMessageDialog.js +11 -7
  86. package/lib/components/Dialog/ControlledMessageDialog/ControlledMessageDialog.js.map +1 -1
  87. package/lib/components/Dialog/ControlledStepFormDialog/ControlledStepFormDialog.cjs +24 -20
  88. package/lib/components/Dialog/ControlledStepFormDialog/ControlledStepFormDialog.cjs.map +1 -1
  89. package/lib/components/Dialog/ControlledStepFormDialog/ControlledStepFormDialog.d.ts +5 -2
  90. package/lib/components/Dialog/ControlledStepFormDialog/ControlledStepFormDialog.js +25 -21
  91. package/lib/components/Dialog/ControlledStepFormDialog/ControlledStepFormDialog.js.map +1 -1
  92. package/lib/components/Dialog/ControlledStepFormDialog/StepFormDialogContentInner.cjs +62 -43
  93. package/lib/components/Dialog/ControlledStepFormDialog/StepFormDialogContentInner.cjs.map +1 -1
  94. package/lib/components/Dialog/ControlledStepFormDialog/StepFormDialogContentInner.d.ts +3 -3
  95. package/lib/components/Dialog/ControlledStepFormDialog/StepFormDialogContentInner.js +63 -44
  96. package/lib/components/Dialog/ControlledStepFormDialog/StepFormDialogContentInner.js.map +1 -1
  97. package/lib/components/Dialog/ControlledStepFormDialog/StepFormDialogProvider.cjs +3 -3
  98. package/lib/components/Dialog/ControlledStepFormDialog/StepFormDialogProvider.cjs.map +1 -1
  99. package/lib/components/Dialog/ControlledStepFormDialog/StepFormDialogProvider.d.ts +1 -1
  100. package/lib/components/Dialog/ControlledStepFormDialog/StepFormDialogProvider.js +3 -3
  101. package/lib/components/Dialog/ControlledStepFormDialog/StepFormDialogProvider.js.map +1 -1
  102. package/lib/components/Dialog/ControlledStepFormDialog/useStepFormDialogButton.cjs.map +1 -1
  103. package/lib/components/Dialog/ControlledStepFormDialog/useStepFormDialogButton.js.map +1 -1
  104. package/lib/components/Dialog/DialogContentInner.cjs +19 -14
  105. package/lib/components/Dialog/DialogContentInner.cjs.map +1 -1
  106. package/lib/components/Dialog/DialogContentInner.d.ts +2 -0
  107. package/lib/components/Dialog/DialogContentInner.js +20 -15
  108. package/lib/components/Dialog/DialogContentInner.js.map +1 -1
  109. package/lib/components/Dialog/DialogOverlap.cjs +1 -1
  110. package/lib/components/Dialog/DialogOverlap.js +1 -1
  111. package/lib/components/Dialog/ModelessDialog/ModelessDialog.cjs +8 -8
  112. package/lib/components/Dialog/ModelessDialog/ModelessDialog.cjs.map +1 -1
  113. package/lib/components/Dialog/ModelessDialog/ModelessDialog.js +8 -8
  114. package/lib/components/Dialog/ModelessDialog/ModelessDialog.js.map +1 -1
  115. package/lib/components/Dialog/RemoteDialogTrigger/ActionDialog.cjs +9 -2
  116. package/lib/components/Dialog/RemoteDialogTrigger/ActionDialog.cjs.map +1 -1
  117. package/lib/components/Dialog/RemoteDialogTrigger/ActionDialog.js +9 -2
  118. package/lib/components/Dialog/RemoteDialogTrigger/ActionDialog.js.map +1 -1
  119. package/lib/components/Dialog/RemoteDialogTrigger/FormDialog.cjs +2 -2
  120. package/lib/components/Dialog/RemoteDialogTrigger/FormDialog.cjs.map +1 -1
  121. package/lib/components/Dialog/RemoteDialogTrigger/FormDialog.js +2 -2
  122. package/lib/components/Dialog/RemoteDialogTrigger/FormDialog.js.map +1 -1
  123. package/lib/components/Dialog/RemoteDialogTrigger/MessageDialog.cjs +2 -2
  124. package/lib/components/Dialog/RemoteDialogTrigger/MessageDialog.cjs.map +1 -1
  125. package/lib/components/Dialog/RemoteDialogTrigger/MessageDialog.js +2 -2
  126. package/lib/components/Dialog/RemoteDialogTrigger/MessageDialog.js.map +1 -1
  127. package/lib/components/Dialog/RemoteDialogTrigger/RemoteDialogTrigger.cjs +26 -20
  128. package/lib/components/Dialog/RemoteDialogTrigger/RemoteDialogTrigger.cjs.map +1 -1
  129. package/lib/components/Dialog/RemoteDialogTrigger/RemoteDialogTrigger.js +27 -21
  130. package/lib/components/Dialog/RemoteDialogTrigger/RemoteDialogTrigger.js.map +1 -1
  131. package/lib/components/Dialog/RemoteDialogTrigger/StepFormDialog.cjs +2 -2
  132. package/lib/components/Dialog/RemoteDialogTrigger/StepFormDialog.cjs.map +1 -1
  133. package/lib/components/Dialog/RemoteDialogTrigger/StepFormDialog.js +2 -2
  134. package/lib/components/Dialog/RemoteDialogTrigger/StepFormDialog.js.map +1 -1
  135. package/lib/components/Dialog/useRemoteTrigger.cjs +34 -35
  136. package/lib/components/Dialog/useRemoteTrigger.cjs.map +1 -1
  137. package/lib/components/Dialog/useRemoteTrigger.d.ts +2 -2
  138. package/lib/components/Dialog/useRemoteTrigger.js +35 -36
  139. package/lib/components/Dialog/useRemoteTrigger.js.map +1 -1
  140. package/lib/components/Disclosure/DisclosureTrigger.cjs +22 -18
  141. package/lib/components/Disclosure/DisclosureTrigger.cjs.map +1 -1
  142. package/lib/components/Disclosure/DisclosureTrigger.js +23 -19
  143. package/lib/components/Disclosure/DisclosureTrigger.js.map +1 -1
  144. package/lib/components/DropZone/DropZone.cjs +28 -24
  145. package/lib/components/DropZone/DropZone.cjs.map +1 -1
  146. package/lib/components/DropZone/DropZone.js +29 -25
  147. package/lib/components/DropZone/DropZone.js.map +1 -1
  148. package/lib/components/Dropdown/Dropdown.cjs +13 -21
  149. package/lib/components/Dropdown/Dropdown.cjs.map +1 -1
  150. package/lib/components/Dropdown/Dropdown.js +14 -22
  151. package/lib/components/Dropdown/Dropdown.js.map +1 -1
  152. package/lib/components/Dropdown/DropdownMenuButton/DropdownMenuButton.cjs +4 -4
  153. package/lib/components/Dropdown/DropdownMenuButton/DropdownMenuButton.cjs.map +1 -1
  154. package/lib/components/Dropdown/DropdownMenuButton/DropdownMenuButton.js +4 -4
  155. package/lib/components/Dropdown/DropdownMenuButton/DropdownMenuButton.js.map +1 -1
  156. package/lib/components/Dropdown/SortDropdown/SortDropdown.cjs +6 -5
  157. package/lib/components/Dropdown/SortDropdown/SortDropdown.cjs.map +1 -1
  158. package/lib/components/Dropdown/SortDropdown/SortDropdown.js +6 -5
  159. package/lib/components/Dropdown/SortDropdown/SortDropdown.js.map +1 -1
  160. package/lib/components/Dropdown/SortDropdown/useSortDropdown.cjs +65 -52
  161. package/lib/components/Dropdown/SortDropdown/useSortDropdown.cjs.map +1 -1
  162. package/lib/components/Dropdown/SortDropdown/useSortDropdown.d.ts +8 -7
  163. package/lib/components/Dropdown/SortDropdown/useSortDropdown.js +66 -53
  164. package/lib/components/Dropdown/SortDropdown/useSortDropdown.js.map +1 -1
  165. package/lib/components/Dropdown/useKeyboardNavigation.cjs +63 -53
  166. package/lib/components/Dropdown/useKeyboardNavigation.cjs.map +1 -1
  167. package/lib/components/Dropdown/useKeyboardNavigation.js +64 -54
  168. package/lib/components/Dropdown/useKeyboardNavigation.js.map +1 -1
  169. package/lib/components/FileViewer/FileViewer.cjs +35 -2
  170. package/lib/components/FileViewer/FileViewer.cjs.map +1 -1
  171. package/lib/components/FileViewer/FileViewer.js +37 -4
  172. package/lib/components/FileViewer/FileViewer.js.map +1 -1
  173. package/lib/components/FileViewer/ImageViewer.cjs +48 -33
  174. package/lib/components/FileViewer/ImageViewer.cjs.map +1 -1
  175. package/lib/components/FileViewer/ImageViewer.js +49 -34
  176. package/lib/components/FileViewer/ImageViewer.js.map +1 -1
  177. package/lib/components/FileViewer/PDFViewer.cjs +68 -11
  178. package/lib/components/FileViewer/PDFViewer.cjs.map +1 -1
  179. package/lib/components/FileViewer/PDFViewer.d.ts +6 -1
  180. package/lib/components/FileViewer/PDFViewer.js +69 -12
  181. package/lib/components/FileViewer/PDFViewer.js.map +1 -1
  182. package/lib/components/FileViewer/SearchController.cjs +105 -0
  183. package/lib/components/FileViewer/SearchController.cjs.map +1 -0
  184. package/lib/components/FileViewer/SearchController.d.ts +7 -0
  185. package/lib/components/FileViewer/SearchController.js +103 -0
  186. package/lib/components/FileViewer/SearchController.js.map +1 -0
  187. package/lib/components/FileViewer/buildCustomTextRenderer.cjs +55 -0
  188. package/lib/components/FileViewer/buildCustomTextRenderer.cjs.map +1 -0
  189. package/lib/components/FileViewer/buildCustomTextRenderer.d.ts +9 -0
  190. package/lib/components/FileViewer/buildCustomTextRenderer.js +50 -0
  191. package/lib/components/FileViewer/buildCustomTextRenderer.js.map +1 -0
  192. package/lib/components/FileViewer/types.d.ts +9 -2
  193. package/lib/components/FileViewer/usePDFSearch.cjs +148 -0
  194. package/lib/components/FileViewer/usePDFSearch.cjs.map +1 -0
  195. package/lib/components/FileViewer/usePDFSearch.d.ts +19 -0
  196. package/lib/components/FileViewer/usePDFSearch.js +143 -0
  197. package/lib/components/FileViewer/usePDFSearch.js.map +1 -0
  198. package/lib/components/Header/Header.cjs +12 -11
  199. package/lib/components/Header/Header.cjs.map +1 -1
  200. package/lib/components/Header/Header.js +12 -11
  201. package/lib/components/Header/Header.js.map +1 -1
  202. package/lib/components/Header/LanguageSwitcher/LanguageSwitcher.cjs +23 -8
  203. package/lib/components/Header/LanguageSwitcher/LanguageSwitcher.cjs.map +1 -1
  204. package/lib/components/Header/LanguageSwitcher/LanguageSwitcher.js +23 -8
  205. package/lib/components/Header/LanguageSwitcher/LanguageSwitcher.js.map +1 -1
  206. package/lib/components/Icon/FaIcon.cjs +1 -1
  207. package/lib/components/Icon/FaIcon.js +1 -1
  208. package/lib/components/Icon/LanguageIcon.cjs +1 -1
  209. package/lib/components/Icon/LanguageIcon.js +1 -1
  210. package/lib/components/Icon/OpenInNewTabIcon.cjs +1 -1
  211. package/lib/components/Icon/OpenInNewTabIcon.js +1 -1
  212. package/lib/components/Icon/SparklesIcon.cjs +1 -1
  213. package/lib/components/Icon/SparklesIcon.js +1 -1
  214. package/lib/components/Icon/WarningIcon.cjs +1 -1
  215. package/lib/components/Icon/WarningIcon.js +1 -1
  216. package/lib/components/Input/CurrencyInput/CurrencyInput.cjs +36 -23
  217. package/lib/components/Input/CurrencyInput/CurrencyInput.cjs.map +1 -1
  218. package/lib/components/Input/CurrencyInput/CurrencyInput.js +37 -24
  219. package/lib/components/Input/CurrencyInput/CurrencyInput.js.map +1 -1
  220. package/lib/components/InputFile/InputFileMultiplyAppendable.cjs +41 -37
  221. package/lib/components/InputFile/InputFileMultiplyAppendable.cjs.map +1 -1
  222. package/lib/components/InputFile/InputFileMultiplyAppendable.js +42 -38
  223. package/lib/components/InputFile/InputFileMultiplyAppendable.js.map +1 -1
  224. package/lib/components/InputFile/InputFileNative.cjs +32 -27
  225. package/lib/components/InputFile/InputFileNative.cjs.map +1 -1
  226. package/lib/components/InputFile/InputFileNative.js +33 -28
  227. package/lib/components/InputFile/InputFileNative.js.map +1 -1
  228. package/lib/components/LineClamp/LineClamp.cjs +8 -11
  229. package/lib/components/LineClamp/LineClamp.cjs.map +1 -1
  230. package/lib/components/LineClamp/LineClamp.js +8 -11
  231. package/lib/components/LineClamp/LineClamp.js.map +1 -1
  232. package/lib/components/Pagination/Pagination.cjs +22 -16
  233. package/lib/components/Pagination/Pagination.cjs.map +1 -1
  234. package/lib/components/Pagination/Pagination.js +22 -16
  235. package/lib/components/Pagination/Pagination.js.map +1 -1
  236. package/lib/components/SegmentedControl/SegmentedControl.cjs +16 -27
  237. package/lib/components/SegmentedControl/SegmentedControl.cjs.map +1 -1
  238. package/lib/components/SegmentedControl/SegmentedControl.js +17 -28
  239. package/lib/components/SegmentedControl/SegmentedControl.js.map +1 -1
  240. package/lib/components/Table/Table.cjs +2 -2
  241. package/lib/components/Table/Table.cjs.map +1 -1
  242. package/lib/components/Table/Table.js +2 -2
  243. package/lib/components/Table/Table.js.map +1 -1
  244. package/lib/components/Table/{TableScrollContext.cjs → TableScroller.cjs} +23 -16
  245. package/lib/components/Table/TableScroller.cjs.map +1 -0
  246. package/lib/components/Table/{TableScrollContext.d.ts → TableScroller.d.ts} +1 -1
  247. package/lib/components/Table/{TableScrollContext.js → TableScroller.js} +24 -17
  248. package/lib/components/Table/TableScroller.js.map +1 -0
  249. package/lib/components/Table/Td.cjs.map +1 -1
  250. package/lib/components/Table/Td.js.map +1 -1
  251. package/lib/components/Table/ThCheckbox.cjs +10 -8
  252. package/lib/components/Table/ThCheckbox.cjs.map +1 -1
  253. package/lib/components/Table/ThCheckbox.js +10 -8
  254. package/lib/components/Table/ThCheckbox.js.map +1 -1
  255. package/lib/components/Table/ThSortButton.cjs +20 -19
  256. package/lib/components/Table/ThSortButton.cjs.map +1 -1
  257. package/lib/components/Table/ThSortButton.js +20 -19
  258. package/lib/components/Table/ThSortButton.js.map +1 -1
  259. package/lib/components/Text/Text.cjs.map +1 -1
  260. package/lib/components/Text/Text.js.map +1 -1
  261. package/lib/components/Textarea/Textarea.cjs +22 -30
  262. package/lib/components/Textarea/Textarea.cjs.map +1 -1
  263. package/lib/components/Textarea/Textarea.js +24 -32
  264. package/lib/components/Textarea/Textarea.js.map +1 -1
  265. package/lib/components/Tooltip/Tooltip.cjs +19 -37
  266. package/lib/components/Tooltip/Tooltip.cjs.map +1 -1
  267. package/lib/components/Tooltip/Tooltip.js +19 -37
  268. package/lib/components/Tooltip/Tooltip.js.map +1 -1
  269. package/lib/components/Tooltip/TooltipPortal.cjs +4 -6
  270. package/lib/components/Tooltip/TooltipPortal.cjs.map +1 -1
  271. package/lib/components/Tooltip/TooltipPortal.js +5 -7
  272. package/lib/components/Tooltip/TooltipPortal.js.map +1 -1
  273. package/lib/hooks/useLatest.cjs +33 -0
  274. package/lib/hooks/useLatest.cjs.map +1 -0
  275. package/lib/hooks/useLatest.d.ts +19 -0
  276. package/lib/hooks/useLatest.js +31 -0
  277. package/lib/hooks/useLatest.js.map +1 -0
  278. package/lib/intl/locales/en_us.json.cjs +3 -0
  279. package/lib/intl/locales/en_us.json.cjs.map +1 -1
  280. package/lib/intl/locales/en_us.json.js +3 -0
  281. package/lib/intl/locales/en_us.json.js.map +1 -1
  282. package/lib/intl/locales/id_id.json.cjs +3 -0
  283. package/lib/intl/locales/id_id.json.cjs.map +1 -1
  284. package/lib/intl/locales/id_id.json.js +3 -0
  285. package/lib/intl/locales/id_id.json.js.map +1 -1
  286. package/lib/intl/locales/index.d.ts +27 -0
  287. package/lib/intl/locales/ja.cjs +3 -0
  288. package/lib/intl/locales/ja.cjs.map +1 -1
  289. package/lib/intl/locales/ja.d.ts +3 -0
  290. package/lib/intl/locales/ja.js +3 -0
  291. package/lib/intl/locales/ja.js.map +1 -1
  292. package/lib/intl/locales/ja.json.cjs +3 -0
  293. package/lib/intl/locales/ja.json.cjs.map +1 -1
  294. package/lib/intl/locales/ja.json.js +3 -0
  295. package/lib/intl/locales/ja.json.js.map +1 -1
  296. package/lib/intl/locales/ja_easy.json.cjs +3 -0
  297. package/lib/intl/locales/ja_easy.json.cjs.map +1 -1
  298. package/lib/intl/locales/ja_easy.json.js +3 -0
  299. package/lib/intl/locales/ja_easy.json.js.map +1 -1
  300. package/lib/intl/locales/ko_kr.json.cjs +3 -0
  301. package/lib/intl/locales/ko_kr.json.cjs.map +1 -1
  302. package/lib/intl/locales/ko_kr.json.js +3 -0
  303. package/lib/intl/locales/ko_kr.json.js.map +1 -1
  304. package/lib/intl/locales/pt_br.json.cjs +3 -0
  305. package/lib/intl/locales/pt_br.json.cjs.map +1 -1
  306. package/lib/intl/locales/pt_br.json.js +3 -0
  307. package/lib/intl/locales/pt_br.json.js.map +1 -1
  308. package/lib/intl/locales/vi_vn.json.cjs +3 -0
  309. package/lib/intl/locales/vi_vn.json.cjs.map +1 -1
  310. package/lib/intl/locales/vi_vn.json.js +3 -0
  311. package/lib/intl/locales/vi_vn.json.js.map +1 -1
  312. package/lib/intl/locales/zh_hans_cn.json.cjs +3 -0
  313. package/lib/intl/locales/zh_hans_cn.json.cjs.map +1 -1
  314. package/lib/intl/locales/zh_hans_cn.json.js +3 -0
  315. package/lib/intl/locales/zh_hans_cn.json.js.map +1 -1
  316. package/lib/intl/locales/zh_hant_tw.json.cjs +3 -0
  317. package/lib/intl/locales/zh_hant_tw.json.cjs.map +1 -1
  318. package/lib/intl/locales/zh_hant_tw.json.js +3 -0
  319. package/lib/intl/locales/zh_hant_tw.json.js.map +1 -1
  320. package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/assertThisInitialized.cjs.map +1 -1
  321. package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/assertThisInitialized.js.map +1 -1
  322. package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/construct.cjs.map +1 -1
  323. package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/construct.js.map +1 -1
  324. package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/extends.cjs.map +1 -1
  325. package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/extends.js.map +1 -1
  326. package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/getPrototypeOf.cjs.map +1 -1
  327. package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/getPrototypeOf.js.map +1 -1
  328. package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/inheritsLoose.cjs.map +1 -1
  329. package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/inheritsLoose.js.map +1 -1
  330. package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/isNativeFunction.cjs.map +1 -1
  331. package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/isNativeFunction.js.map +1 -1
  332. package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/isNativeReflectConstruct.cjs.map +1 -1
  333. package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/isNativeReflectConstruct.js.map +1 -1
  334. package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.cjs.map +1 -1
  335. package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -1
  336. package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/setPrototypeOf.cjs.map +1 -1
  337. package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/setPrototypeOf.js.map +1 -1
  338. package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/wrapNativeSuper.cjs.map +1 -1
  339. package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/wrapNativeSuper.js.map +1 -1
  340. package/lib/vendor/.pnpm/@smarthr_wareki@1.3.1/vendor/@smarthr/wareki/lib/index.cjs +94 -0
  341. package/lib/vendor/.pnpm/@smarthr_wareki@1.3.1/vendor/@smarthr/wareki/lib/index.cjs.map +1 -0
  342. package/lib/vendor/.pnpm/@smarthr_wareki@1.3.1/vendor/@smarthr/wareki/lib/index.js +92 -0
  343. package/lib/vendor/.pnpm/@smarthr_wareki@1.3.1/vendor/@smarthr/wareki/lib/index.js.map +1 -0
  344. package/lib/vendor/.pnpm/lodash.merge@4.6.2/vendor/lodash.merge/index.cjs +1 -1
  345. package/lib/vendor/.pnpm/lodash.merge@4.6.2/vendor/lodash.merge/index.js +1 -1
  346. package/lib/vendor/.pnpm/polished@4.3.1/vendor/polished/dist/polished.esm.cjs +4 -4
  347. package/lib/vendor/.pnpm/polished@4.3.1/vendor/polished/dist/polished.esm.js +4 -4
  348. package/lib/vendor/.pnpm/prop-types@15.8.1/vendor/prop-types/index.cjs +1 -1
  349. package/lib/vendor/.pnpm/prop-types@15.8.1/vendor/prop-types/index.js +1 -1
  350. package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/Draggable.cjs.map +1 -1
  351. package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/Draggable.js.map +1 -1
  352. package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/DraggableCore.cjs.map +1 -1
  353. package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/DraggableCore.js.map +1 -1
  354. package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/cjs.cjs.map +1 -1
  355. package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/cjs.js.map +1 -1
  356. package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/domFns.cjs.map +1 -1
  357. package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/domFns.js.map +1 -1
  358. package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/getPrefix.cjs.map +1 -1
  359. package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/getPrefix.js.map +1 -1
  360. package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/log.cjs.map +1 -1
  361. package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/log.js.map +1 -1
  362. package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/positionFns.cjs.map +1 -1
  363. package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/positionFns.js.map +1 -1
  364. package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/shims.cjs.map +1 -1
  365. package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/shims.js.map +1 -1
  366. package/lib/vendor/.pnpm/{react-icons@5.6.0_react@19.2.6 → react-icons@5.7.0_react@19.2.7}/vendor/react-icons/fa6/index.cjs.map +1 -1
  367. package/lib/vendor/.pnpm/{react-icons@5.6.0_react@19.2.6 → react-icons@5.7.0_react@19.2.7}/vendor/react-icons/fa6/index.js.map +1 -1
  368. package/lib/vendor/.pnpm/{react-icons@5.6.0_react@19.2.6 → react-icons@5.7.0_react@19.2.7}/vendor/react-icons/lib/iconBase.cjs +3 -5
  369. package/lib/vendor/.pnpm/react-icons@5.7.0_react@19.2.7/vendor/react-icons/lib/iconBase.cjs.map +1 -0
  370. package/lib/vendor/.pnpm/{react-icons@5.6.0_react@19.2.6 → react-icons@5.7.0_react@19.2.7}/vendor/react-icons/lib/iconBase.js +3 -5
  371. package/lib/vendor/.pnpm/react-icons@5.7.0_react@19.2.7/vendor/react-icons/lib/iconBase.js.map +1 -0
  372. package/lib/vendor/.pnpm/{react-icons@5.6.0_react@19.2.6 → react-icons@5.7.0_react@19.2.7}/vendor/react-icons/lib/iconContext.cjs.map +1 -1
  373. package/lib/vendor/.pnpm/{react-icons@5.6.0_react@19.2.6 → react-icons@5.7.0_react@19.2.7}/vendor/react-icons/lib/iconContext.js.map +1 -1
  374. package/lib/vendor/.pnpm/{react-innertext@1.1.5_@types_react@18.3.28_react@19.2.6 → react-innertext@1.1.5_@types_react@18.3.28_react@19.2.7}/vendor/react-innertext/index.cjs.map +1 -1
  375. package/lib/vendor/.pnpm/{react-innertext@1.1.5_@types_react@18.3.28_react@19.2.6 → react-innertext@1.1.5_@types_react@18.3.28_react@19.2.7}/vendor/react-innertext/index.js.map +1 -1
  376. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Document.cjs.map +1 -1
  377. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Document.js.map +1 -1
  378. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/DocumentContext.cjs.map +1 -1
  379. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/DocumentContext.js.map +1 -1
  380. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/LinkService.cjs.map +1 -1
  381. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/LinkService.js.map +1 -1
  382. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Message.cjs.map +1 -1
  383. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Message.js.map +1 -1
  384. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page/AnnotationLayer.cjs.map +1 -1
  385. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page/AnnotationLayer.js.map +1 -1
  386. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page/Canvas.cjs.map +1 -1
  387. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page/Canvas.js.map +1 -1
  388. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page/TextLayer.cjs.map +1 -1
  389. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page/TextLayer.js.map +1 -1
  390. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page.cjs.map +1 -1
  391. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page.js.map +1 -1
  392. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/PageContext.cjs.map +1 -1
  393. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/PageContext.js.map +1 -1
  394. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/PasswordResponses.cjs.map +1 -1
  395. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/PasswordResponses.js.map +1 -1
  396. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/StructTree.cjs.map +1 -1
  397. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/StructTree.js.map +1 -1
  398. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/StructTreeItem.cjs.map +1 -1
  399. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/StructTreeItem.js.map +1 -1
  400. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/index.cjs.map +1 -1
  401. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/index.js.map +1 -1
  402. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/constants.cjs.map +1 -1
  403. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/constants.js.map +1 -1
  404. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/hooks/useDocumentContext.cjs.map +1 -1
  405. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/hooks/useDocumentContext.js.map +1 -1
  406. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/hooks/usePageContext.cjs.map +1 -1
  407. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/hooks/usePageContext.js.map +1 -1
  408. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/hooks/useResolver.cjs.map +1 -1
  409. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/hooks/useResolver.js.map +1 -1
  410. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/structTreeUtils.cjs.map +1 -1
  411. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/structTreeUtils.js.map +1 -1
  412. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/utils.cjs.map +1 -1
  413. package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/utils.js.map +1 -1
  414. package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/CSSTransition.cjs +3 -3
  415. package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/CSSTransition.cjs.map +1 -1
  416. package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/CSSTransition.js +3 -3
  417. package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/CSSTransition.js.map +1 -1
  418. package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/Transition.cjs +2 -2
  419. package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/Transition.cjs.map +1 -1
  420. package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/Transition.js +2 -2
  421. package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/Transition.js.map +1 -1
  422. package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/TransitionGroupContext.cjs.map +1 -1
  423. package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/TransitionGroupContext.js.map +1 -1
  424. package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/config.cjs.map +1 -1
  425. package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/config.js.map +1 -1
  426. package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/utils/reflow.cjs.map +1 -1
  427. package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/utils/reflow.js.map +1 -1
  428. package/metadata.json +1 -1
  429. package/package.json +6 -6
  430. package/smarthr-ui.css +35 -4
  431. package/lib/_virtual/index6.cjs +0 -6
  432. package/lib/_virtual/index6.cjs.map +0 -1
  433. package/lib/_virtual/index6.js +0 -4
  434. package/lib/_virtual/index6.js.map +0 -1
  435. package/lib/_virtual/index7.cjs +0 -6
  436. package/lib/_virtual/index7.cjs.map +0 -1
  437. package/lib/_virtual/index7.js +0 -4
  438. package/lib/_virtual/index7.js.map +0 -1
  439. package/lib/components/DatePicker/useGlobalKeyDown.cjs +0 -15
  440. package/lib/components/DatePicker/useGlobalKeyDown.cjs.map +0 -1
  441. package/lib/components/DatePicker/useGlobalKeyDown.d.ts +0 -1
  442. package/lib/components/DatePicker/useGlobalKeyDown.js +0 -13
  443. package/lib/components/DatePicker/useGlobalKeyDown.js.map +0 -1
  444. package/lib/components/Table/TableScrollContext.cjs.map +0 -1
  445. package/lib/components/Table/TableScrollContext.js.map +0 -1
  446. package/lib/vendor/.pnpm/@smarthr_wareki@1.3.0/vendor/@smarthr/wareki/lib/index.cjs +0 -134
  447. package/lib/vendor/.pnpm/@smarthr_wareki@1.3.0/vendor/@smarthr/wareki/lib/index.cjs.map +0 -1
  448. package/lib/vendor/.pnpm/@smarthr_wareki@1.3.0/vendor/@smarthr/wareki/lib/index.js +0 -132
  449. package/lib/vendor/.pnpm/@smarthr_wareki@1.3.0/vendor/@smarthr/wareki/lib/index.js.map +0 -1
  450. package/lib/vendor/.pnpm/react-icons@5.6.0_react@19.2.6/vendor/react-icons/lib/iconBase.cjs.map +0 -1
  451. package/lib/vendor/.pnpm/react-icons@5.6.0_react@19.2.6/vendor/react-icons/lib/iconBase.js.map +0 -1
  452. /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/assertThisInitialized.cjs +0 -0
  453. /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/assertThisInitialized.js +0 -0
  454. /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/construct.cjs +0 -0
  455. /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/construct.js +0 -0
  456. /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/extends.cjs +0 -0
  457. /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/extends.js +0 -0
  458. /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/getPrototypeOf.cjs +0 -0
  459. /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/getPrototypeOf.js +0 -0
  460. /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/inheritsLoose.cjs +0 -0
  461. /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/inheritsLoose.js +0 -0
  462. /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/isNativeFunction.cjs +0 -0
  463. /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/isNativeFunction.js +0 -0
  464. /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/isNativeReflectConstruct.cjs +0 -0
  465. /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/isNativeReflectConstruct.js +0 -0
  466. /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.cjs +0 -0
  467. /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +0 -0
  468. /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/setPrototypeOf.cjs +0 -0
  469. /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/setPrototypeOf.js +0 -0
  470. /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/wrapNativeSuper.cjs +0 -0
  471. /package/lib/vendor/.pnpm/{@babel_runtime@7.29.2 → @babel_runtime@7.29.7}/vendor/@babel/runtime/helpers/esm/wrapNativeSuper.js +0 -0
  472. /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/Draggable.cjs +0 -0
  473. /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/Draggable.js +0 -0
  474. /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/DraggableCore.cjs +0 -0
  475. /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/DraggableCore.js +0 -0
  476. /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/cjs.cjs +0 -0
  477. /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/cjs.js +0 -0
  478. /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/domFns.cjs +0 -0
  479. /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/domFns.js +0 -0
  480. /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/getPrefix.cjs +0 -0
  481. /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/getPrefix.js +0 -0
  482. /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/log.cjs +0 -0
  483. /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/log.js +0 -0
  484. /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/positionFns.cjs +0 -0
  485. /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/positionFns.js +0 -0
  486. /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/shims.cjs +0 -0
  487. /package/lib/vendor/.pnpm/{react-draggable@4.5.0_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-draggable@4.5.0_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-draggable/build/cjs/utils/shims.js +0 -0
  488. /package/lib/vendor/.pnpm/{react-icons@5.6.0_react@19.2.6 → react-icons@5.7.0_react@19.2.7}/vendor/react-icons/fa6/index.cjs +0 -0
  489. /package/lib/vendor/.pnpm/{react-icons@5.6.0_react@19.2.6 → react-icons@5.7.0_react@19.2.7}/vendor/react-icons/fa6/index.js +0 -0
  490. /package/lib/vendor/.pnpm/{react-icons@5.6.0_react@19.2.6 → react-icons@5.7.0_react@19.2.7}/vendor/react-icons/lib/iconContext.cjs +0 -0
  491. /package/lib/vendor/.pnpm/{react-icons@5.6.0_react@19.2.6 → react-icons@5.7.0_react@19.2.7}/vendor/react-icons/lib/iconContext.js +0 -0
  492. /package/lib/vendor/.pnpm/{react-innertext@1.1.5_@types_react@18.3.28_react@19.2.6 → react-innertext@1.1.5_@types_react@18.3.28_react@19.2.7}/vendor/react-innertext/index.cjs +0 -0
  493. /package/lib/vendor/.pnpm/{react-innertext@1.1.5_@types_react@18.3.28_react@19.2.6 → react-innertext@1.1.5_@types_react@18.3.28_react@19.2.7}/vendor/react-innertext/index.js +0 -0
  494. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Document.cjs +0 -0
  495. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Document.js +0 -0
  496. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/DocumentContext.cjs +0 -0
  497. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/DocumentContext.js +0 -0
  498. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/LinkService.cjs +0 -0
  499. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/LinkService.js +0 -0
  500. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Message.cjs +0 -0
  501. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Message.js +0 -0
  502. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page/AnnotationLayer.cjs +0 -0
  503. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page/AnnotationLayer.js +0 -0
  504. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page/Canvas.cjs +0 -0
  505. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page/Canvas.js +0 -0
  506. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page/TextLayer.cjs +0 -0
  507. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page/TextLayer.js +0 -0
  508. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page.cjs +0 -0
  509. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/Page.js +0 -0
  510. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/PageContext.cjs +0 -0
  511. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/PageContext.js +0 -0
  512. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/PasswordResponses.cjs +0 -0
  513. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/PasswordResponses.js +0 -0
  514. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/StructTree.cjs +0 -0
  515. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/StructTree.js +0 -0
  516. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/StructTreeItem.cjs +0 -0
  517. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/StructTreeItem.js +0 -0
  518. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/index.cjs +0 -0
  519. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/index.js +0 -0
  520. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/constants.cjs +0 -0
  521. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/constants.js +0 -0
  522. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/hooks/useDocumentContext.cjs +0 -0
  523. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/hooks/useDocumentContext.js +0 -0
  524. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/hooks/usePageContext.cjs +0 -0
  525. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/hooks/usePageContext.js +0 -0
  526. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/hooks/useResolver.cjs +0 -0
  527. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/hooks/useResolver.js +0 -0
  528. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/structTreeUtils.cjs +0 -0
  529. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/structTreeUtils.js +0 -0
  530. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/utils.cjs +0 -0
  531. /package/lib/vendor/.pnpm/{react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-pdf@9.2.1_@types_react@18.3.28_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-pdf/dist/esm/shared/utils.js +0 -0
  532. /package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/TransitionGroupContext.cjs +0 -0
  533. /package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/TransitionGroupContext.js +0 -0
  534. /package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/config.cjs +0 -0
  535. /package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/config.js +0 -0
  536. /package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/utils/reflow.cjs +0 -0
  537. /package/lib/vendor/.pnpm/{react-transition-group@4.4.5_react-dom@19.2.6_react@19.2.6__react@19.2.6 → react-transition-group@4.4.5_react-dom@19.2.7_react@19.2.7__react@19.2.7}/vendor/react-transition-group/esm/utils/reflow.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"UserInfo.cjs","sources":["../../../../../src/components/AppHeader/components/mobile/UserInfo.tsx"],"sourcesContent":["import { type FC, memo, useCallback, useMemo, useState } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useIntl } from '../../../../intl'\nimport { Button } from '../../../Button'\nimport { Dialog } from '../../../Dialog'\nimport { Dropdown, DropdownContent, DropdownTrigger } from '../../../Dropdown'\nimport { FaGearIcon, FaGlobeIcon, FaUserLargeIcon } from '../../../Icon'\nimport { buildDisplayName } from '../../utils'\nimport { CommonButton } from '../common/CommonButton'\nimport { Translate } from '../common/Translate'\n\nimport { LanguageSelector } from './LanguageSelector'\n\nimport type { HeaderProps, UserInfoProps } from '../../types'\n\nconst classNameGenerator = tv({\n slots: {\n iconButton: ['[&&&]:shr-border-transparent [&&]:shr-p-0.25'],\n iconButtonInner: [\n 'shr-border-shorthand shr-block shr-flex shr-items-center shr-justify-center shr-rounded-full shr-bg-white shr-p-0.25',\n ],\n dropdownUserName: ['shr-box-border shr-min-w-[246px] shr-px-1 shr-py-0.75 shr-text-sm'],\n dropdownButtonArea: ['shr-border-t-shorthand shr-p-0.5'],\n },\n})\n\ntype Props = UserInfoProps & Pick<HeaderProps, 'locale'>\n\nexport const UserInfo = memo<Props>(\n ({ email, empCode, firstName, lastName, accountUrl, locale }) => {\n const displayName = useMemo(\n () =>\n buildDisplayName({\n email,\n empCode,\n firstName,\n lastName,\n }),\n [email, empCode, firstName, lastName],\n )\n\n return displayName ? (\n <ActualUserInfo accountUrl={accountUrl} displayName={displayName} locale={locale} />\n ) : null\n },\n)\n\nconst ActualUserInfo: FC<Pick<Props, 'accountUrl' | 'locale'> & { displayName: string }> = ({\n displayName,\n accountUrl,\n locale,\n}) => {\n const [languageDialogOpen, setLanguageDialogOpen] = useState(false)\n\n const dialogOpen = useCallback(() => setLanguageDialogOpen(true), [])\n const dialogClose = useCallback(() => setLanguageDialogOpen(false), [])\n\n const { localize } = useIntl()\n const translated = useMemo(\n () => ({\n account: localize({\n id: 'smarthr-ui/AppHeader/MobileHeader/account',\n defaultText: 'アカウント',\n }),\n userSetting: localize({\n id: 'smarthr-ui/AppHeader/userSettings',\n defaultText: '個人設定',\n }),\n }),\n [localize],\n )\n\n const classNames = useMemo(() => {\n const { iconButton, iconButtonInner, dropdownUserName, dropdownButtonArea } =\n classNameGenerator()\n\n return {\n iconButton: iconButton(),\n iconButtonInner: iconButtonInner(),\n dropdownUserName: dropdownUserName(),\n dropdownButtonArea: dropdownButtonArea(),\n }\n }, [])\n\n return (\n <>\n <Dropdown>\n <DropdownTrigger>\n <Button variant=\"skeleton\" size=\"S\" className={classNames.iconButton}>\n <span className={classNames.iconButtonInner}>\n <FaUserLargeIcon alt={translated.account} className=\"shr-fill-grey\" />\n </span>\n </Button>\n </DropdownTrigger>\n\n <DropdownContent>\n <div className={classNames.dropdownUserName}>\n <p>{displayName}</p>\n </div>\n\n {(locale || accountUrl) && (\n <div className={classNames.dropdownButtonArea}>\n {locale && (\n <CommonButton\n elementAs=\"button\"\n type=\"button\"\n onClick={dialogOpen}\n prefix={<FaGlobeIcon />}\n // eslint-disable-next-line smarthr/require-i18n-text\n >\n Language\n </CommonButton>\n )}\n\n {accountUrl && (\n <CommonButton\n elementAs=\"a\"\n href={accountUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n prefix={<FaGearIcon />}\n >\n <Translate>{translated.userSetting}</Translate>\n </CommonButton>\n )}\n </div>\n )}\n </DropdownContent>\n </Dropdown>\n\n {locale && (\n <Dialog isOpen={languageDialogOpen} onClickOverlay={dialogClose} width={246}>\n <LanguageSelector locale={locale} onClickClose={dialogClose} />\n </Dialog>\n )}\n </>\n )\n}\n"],"names":["tv","memo","useMemo","buildDisplayName","_jsx","useState","useCallback","useIntl","_jsxs","_Fragment","Dropdown","DropdownTrigger","Button","FaUserLargeIcon","DropdownContent","CommonButton","FaGlobeIcon","FaGearIcon","Translate","Dialog","LanguageSelector"],"mappings":"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"}
1
+ {"version":3,"file":"UserInfo.cjs","sources":["../../../../../src/components/AppHeader/components/mobile/UserInfo.tsx"],"sourcesContent":["import { type FC, memo, useCallback, useMemo, useState } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useIntl } from '../../../../intl'\nimport { Button } from '../../../Button'\nimport { Dialog } from '../../../Dialog'\nimport { Dropdown, DropdownContent, DropdownTrigger } from '../../../Dropdown'\nimport { FaGearIcon, FaGlobeIcon, FaUserLargeIcon } from '../../../Icon'\nimport { buildDisplayName } from '../../utils'\nimport { CommonButton } from '../common/CommonButton'\nimport { Translate } from '../common/Translate'\n\nimport { LanguageSelector } from './LanguageSelector'\n\nimport type { HeaderProps, UserInfoProps } from '../../types'\n\nconst classNameGenerator = tv({\n slots: {\n iconButton: ['[&&&]:shr-border-transparent [&&]:shr-p-0.25'],\n iconButtonInner: [\n 'shr-border-shorthand shr-block shr-flex shr-items-center shr-justify-center shr-rounded-full shr-bg-white shr-p-0.25',\n ],\n dropdownUserName: ['shr-box-border shr-min-w-[246px] shr-px-1 shr-py-0.75 shr-text-sm'],\n dropdownButtonArea: ['shr-border-t-shorthand shr-p-0.5'],\n },\n})\n\ntype Props = UserInfoProps & Pick<HeaderProps, 'locale'>\n\nexport const UserInfo = memo<Props>(\n ({ email, empCode, firstName, lastName, accountUrl, locale }) => {\n const displayName = useMemo(\n () =>\n buildDisplayName({\n email,\n empCode,\n firstName,\n lastName,\n }),\n [email, empCode, firstName, lastName],\n )\n\n return displayName ? (\n <ActualUserInfo accountUrl={accountUrl} displayName={displayName} locale={locale} />\n ) : null\n },\n)\n\nconst ActualUserInfo: FC<Pick<Props, 'accountUrl' | 'locale'> & { displayName: string }> = ({\n displayName,\n accountUrl,\n locale,\n}) => {\n const [languageDialogOpen, setLanguageDialogOpen] = useState(false)\n\n const dialogOpen = useCallback(() => setLanguageDialogOpen(true), [])\n const dialogClose = useCallback(() => setLanguageDialogOpen(false), [])\n\n const { localize } = useIntl()\n const translated = useMemo(\n () => ({\n account: localize({\n id: 'smarthr-ui/AppHeader/MobileHeader/account',\n defaultText: 'アカウント',\n }),\n userSetting: localize({\n id: 'smarthr-ui/AppHeader/userSettings',\n defaultText: '個人設定',\n }),\n }),\n [localize],\n )\n\n const classNames = useMemo(() => {\n const { iconButton, iconButtonInner, dropdownUserName, dropdownButtonArea } =\n classNameGenerator()\n\n return {\n iconButton: iconButton(),\n iconButtonInner: iconButtonInner(),\n dropdownUserName: dropdownUserName(),\n dropdownButtonArea: dropdownButtonArea(),\n }\n }, [])\n\n return (\n <>\n <Dropdown>\n <DropdownTrigger>\n <Button variant=\"skeleton\" size=\"S\" className={classNames.iconButton}>\n <span className={classNames.iconButtonInner}>\n <FaUserLargeIcon alt={translated.account} className=\"shr-fill-grey\" />\n </span>\n </Button>\n </DropdownTrigger>\n\n <DropdownContent>\n <div className={classNames.dropdownUserName}>\n <p>{displayName}</p>\n </div>\n\n {(locale || accountUrl) && (\n <div className={classNames.dropdownButtonArea}>\n {locale && (\n <CommonButton\n elementAs=\"button\"\n type=\"button\"\n onClick={dialogOpen}\n prefix={<FaGlobeIcon />}\n // eslint-disable-next-line smarthr/require-i18n-text\n >\n Language\n </CommonButton>\n )}\n\n {accountUrl && (\n <CommonButton\n elementAs=\"a\"\n href={accountUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n prefix={<FaGearIcon />}\n >\n <Translate>{translated.userSetting}</Translate>\n </CommonButton>\n )}\n </div>\n )}\n </DropdownContent>\n </Dropdown>\n\n {locale && (\n <Dialog isOpen={languageDialogOpen} onClickOverlay={dialogClose} width={246}>\n <LanguageSelector locale={locale} onClickClose={dialogClose} />\n </Dialog>\n )}\n </>\n )\n}\n"],"names":["tv","memo","useMemo","buildDisplayName","_jsx","useState","useCallback","useIntl","_jsxs","_Fragment","Dropdown","DropdownTrigger","Button","FaUserLargeIcon","DropdownContent","CommonButton","FaGlobeIcon","FaGearIcon","Translate","Dialog","LanguageSelector"],"mappings":"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"}
@@ -13,19 +13,7 @@ import { Dialog } from '../../../Dialog/Dialog.js';
13
13
  import '../../../Dialog/DialogContentInner.js';
14
14
  import 'react-dom';
15
15
  import '../../../Dialog/ControlledMessageDialog/MessageDialogContentInner.js';
16
- import '../../../Layout/Stack/Stack.js';
17
- import '../../../Layout/Cluster/Cluster.js';
18
- import '../../../Layout/Reel/Reel.js';
19
- import '../../../Layout/Sidebar/Sidebar.js';
20
- import '../../../Layout/Center/Center.js';
21
- import '../../../Layout/Container/Container.js';
22
- import '../../../SectioningContent/SectioningContent.js';
23
- import '../../../SectioningContent/levelContext.js';
24
- import 'styled-components';
25
- import '../../../Dialog/DialogBody.js';
26
- import '../../../ResponseMessage/ResponseMessage.js';
27
- import '../../../Dialog/DialogHeading.js';
28
- import '../../../Dialog/dialogInnerStyle.js';
16
+ import '../../../Dialog/ControlledStepFormDialog/StepFormDialogContentInner.js';
29
17
  import '../../../Dialog/ControlledStepFormDialog/StepFormDialogProvider.js';
30
18
  import '../../../Dialog/ControlledFormDialog/FormDialogContentInner.js';
31
19
  import '../../../Dialog/ControlledActionDialog/ActionDialogContentInner.js';
@@ -1 +1 @@
1
- {"version":3,"file":"UserInfo.js","sources":["../../../../../src/components/AppHeader/components/mobile/UserInfo.tsx"],"sourcesContent":["import { type FC, memo, useCallback, useMemo, useState } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useIntl } from '../../../../intl'\nimport { Button } from '../../../Button'\nimport { Dialog } from '../../../Dialog'\nimport { Dropdown, DropdownContent, DropdownTrigger } from '../../../Dropdown'\nimport { FaGearIcon, FaGlobeIcon, FaUserLargeIcon } from '../../../Icon'\nimport { buildDisplayName } from '../../utils'\nimport { CommonButton } from '../common/CommonButton'\nimport { Translate } from '../common/Translate'\n\nimport { LanguageSelector } from './LanguageSelector'\n\nimport type { HeaderProps, UserInfoProps } from '../../types'\n\nconst classNameGenerator = tv({\n slots: {\n iconButton: ['[&&&]:shr-border-transparent [&&]:shr-p-0.25'],\n iconButtonInner: [\n 'shr-border-shorthand shr-block shr-flex shr-items-center shr-justify-center shr-rounded-full shr-bg-white shr-p-0.25',\n ],\n dropdownUserName: ['shr-box-border shr-min-w-[246px] shr-px-1 shr-py-0.75 shr-text-sm'],\n dropdownButtonArea: ['shr-border-t-shorthand shr-p-0.5'],\n },\n})\n\ntype Props = UserInfoProps & Pick<HeaderProps, 'locale'>\n\nexport const UserInfo = memo<Props>(\n ({ email, empCode, firstName, lastName, accountUrl, locale }) => {\n const displayName = useMemo(\n () =>\n buildDisplayName({\n email,\n empCode,\n firstName,\n lastName,\n }),\n [email, empCode, firstName, lastName],\n )\n\n return displayName ? (\n <ActualUserInfo accountUrl={accountUrl} displayName={displayName} locale={locale} />\n ) : null\n },\n)\n\nconst ActualUserInfo: FC<Pick<Props, 'accountUrl' | 'locale'> & { displayName: string }> = ({\n displayName,\n accountUrl,\n locale,\n}) => {\n const [languageDialogOpen, setLanguageDialogOpen] = useState(false)\n\n const dialogOpen = useCallback(() => setLanguageDialogOpen(true), [])\n const dialogClose = useCallback(() => setLanguageDialogOpen(false), [])\n\n const { localize } = useIntl()\n const translated = useMemo(\n () => ({\n account: localize({\n id: 'smarthr-ui/AppHeader/MobileHeader/account',\n defaultText: 'アカウント',\n }),\n userSetting: localize({\n id: 'smarthr-ui/AppHeader/userSettings',\n defaultText: '個人設定',\n }),\n }),\n [localize],\n )\n\n const classNames = useMemo(() => {\n const { iconButton, iconButtonInner, dropdownUserName, dropdownButtonArea } =\n classNameGenerator()\n\n return {\n iconButton: iconButton(),\n iconButtonInner: iconButtonInner(),\n dropdownUserName: dropdownUserName(),\n dropdownButtonArea: dropdownButtonArea(),\n }\n }, [])\n\n return (\n <>\n <Dropdown>\n <DropdownTrigger>\n <Button variant=\"skeleton\" size=\"S\" className={classNames.iconButton}>\n <span className={classNames.iconButtonInner}>\n <FaUserLargeIcon alt={translated.account} className=\"shr-fill-grey\" />\n </span>\n </Button>\n </DropdownTrigger>\n\n <DropdownContent>\n <div className={classNames.dropdownUserName}>\n <p>{displayName}</p>\n </div>\n\n {(locale || accountUrl) && (\n <div className={classNames.dropdownButtonArea}>\n {locale && (\n <CommonButton\n elementAs=\"button\"\n type=\"button\"\n onClick={dialogOpen}\n prefix={<FaGlobeIcon />}\n // eslint-disable-next-line smarthr/require-i18n-text\n >\n Language\n </CommonButton>\n )}\n\n {accountUrl && (\n <CommonButton\n elementAs=\"a\"\n href={accountUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n prefix={<FaGearIcon />}\n >\n <Translate>{translated.userSetting}</Translate>\n </CommonButton>\n )}\n </div>\n )}\n </DropdownContent>\n </Dropdown>\n\n {locale && (\n <Dialog isOpen={languageDialogOpen} onClickOverlay={dialogClose} width={246}>\n <LanguageSelector locale={locale} onClickClose={dialogClose} />\n </Dialog>\n )}\n </>\n )\n}\n"],"names":["tv","_jsx","_jsxs","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"UserInfo.js","sources":["../../../../../src/components/AppHeader/components/mobile/UserInfo.tsx"],"sourcesContent":["import { type FC, memo, useCallback, useMemo, useState } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useIntl } from '../../../../intl'\nimport { Button } from '../../../Button'\nimport { Dialog } from '../../../Dialog'\nimport { Dropdown, DropdownContent, DropdownTrigger } from '../../../Dropdown'\nimport { FaGearIcon, FaGlobeIcon, FaUserLargeIcon } from '../../../Icon'\nimport { buildDisplayName } from '../../utils'\nimport { CommonButton } from '../common/CommonButton'\nimport { Translate } from '../common/Translate'\n\nimport { LanguageSelector } from './LanguageSelector'\n\nimport type { HeaderProps, UserInfoProps } from '../../types'\n\nconst classNameGenerator = tv({\n slots: {\n iconButton: ['[&&&]:shr-border-transparent [&&]:shr-p-0.25'],\n iconButtonInner: [\n 'shr-border-shorthand shr-block shr-flex shr-items-center shr-justify-center shr-rounded-full shr-bg-white shr-p-0.25',\n ],\n dropdownUserName: ['shr-box-border shr-min-w-[246px] shr-px-1 shr-py-0.75 shr-text-sm'],\n dropdownButtonArea: ['shr-border-t-shorthand shr-p-0.5'],\n },\n})\n\ntype Props = UserInfoProps & Pick<HeaderProps, 'locale'>\n\nexport const UserInfo = memo<Props>(\n ({ email, empCode, firstName, lastName, accountUrl, locale }) => {\n const displayName = useMemo(\n () =>\n buildDisplayName({\n email,\n empCode,\n firstName,\n lastName,\n }),\n [email, empCode, firstName, lastName],\n )\n\n return displayName ? (\n <ActualUserInfo accountUrl={accountUrl} displayName={displayName} locale={locale} />\n ) : null\n },\n)\n\nconst ActualUserInfo: FC<Pick<Props, 'accountUrl' | 'locale'> & { displayName: string }> = ({\n displayName,\n accountUrl,\n locale,\n}) => {\n const [languageDialogOpen, setLanguageDialogOpen] = useState(false)\n\n const dialogOpen = useCallback(() => setLanguageDialogOpen(true), [])\n const dialogClose = useCallback(() => setLanguageDialogOpen(false), [])\n\n const { localize } = useIntl()\n const translated = useMemo(\n () => ({\n account: localize({\n id: 'smarthr-ui/AppHeader/MobileHeader/account',\n defaultText: 'アカウント',\n }),\n userSetting: localize({\n id: 'smarthr-ui/AppHeader/userSettings',\n defaultText: '個人設定',\n }),\n }),\n [localize],\n )\n\n const classNames = useMemo(() => {\n const { iconButton, iconButtonInner, dropdownUserName, dropdownButtonArea } =\n classNameGenerator()\n\n return {\n iconButton: iconButton(),\n iconButtonInner: iconButtonInner(),\n dropdownUserName: dropdownUserName(),\n dropdownButtonArea: dropdownButtonArea(),\n }\n }, [])\n\n return (\n <>\n <Dropdown>\n <DropdownTrigger>\n <Button variant=\"skeleton\" size=\"S\" className={classNames.iconButton}>\n <span className={classNames.iconButtonInner}>\n <FaUserLargeIcon alt={translated.account} className=\"shr-fill-grey\" />\n </span>\n </Button>\n </DropdownTrigger>\n\n <DropdownContent>\n <div className={classNames.dropdownUserName}>\n <p>{displayName}</p>\n </div>\n\n {(locale || accountUrl) && (\n <div className={classNames.dropdownButtonArea}>\n {locale && (\n <CommonButton\n elementAs=\"button\"\n type=\"button\"\n onClick={dialogOpen}\n prefix={<FaGlobeIcon />}\n // eslint-disable-next-line smarthr/require-i18n-text\n >\n Language\n </CommonButton>\n )}\n\n {accountUrl && (\n <CommonButton\n elementAs=\"a\"\n href={accountUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n prefix={<FaGearIcon />}\n >\n <Translate>{translated.userSetting}</Translate>\n </CommonButton>\n )}\n </div>\n )}\n </DropdownContent>\n </Dropdown>\n\n {locale && (\n <Dialog isOpen={languageDialogOpen} onClickOverlay={dialogClose} width={246}>\n <LanguageSelector locale={locale} onClickClose={dialogClose} />\n </Dialog>\n )}\n </>\n )\n}\n"],"names":["tv","_jsx","_jsxs","_Fragment"],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var React = require('react');
5
5
  var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.17_@types_node@20.19.35_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
6
+ var hooks_useLatest = require('../../hooks/useLatest.cjs');
6
7
  var components_Browser_BrowserColumn = require('./BrowserColumn.cjs');
7
8
  var components_Browser_models_ItemNode = require('./models/ItemNode.cjs');
8
9
  var components_Browser_models_RootNode = require('./models/RootNode.cjs');
@@ -51,14 +52,11 @@ const Browser = ({ value, items, onSelectItem, className, ...rest }) => {
51
52
  return [];
52
53
  return [...node.getAncestors().map((n) => n.value), node.value];
53
54
  }, [rootNode, value]);
54
- const unstableRef = React.useRef({ onSelectItem, value, rootNode });
55
- unstableRef.current = { onSelectItem, value, rootNode };
55
+ const latest = hooks_useLatest.useLatest({ onSelectItem, value, rootNode });
56
56
  // FIXME: focusメソッドのfocusVisibleが主要ブラウザでサポートされたら使うようにしたい(現状ではマウスクリックでもfocusのoutlineが出てしまう)
57
57
  // https://developer.mozilla.org/ja/docs/Web/API/HTMLElement/focus
58
58
  const onDelegateKeyDown = React.useCallback((e) => {
59
- const selectedNode = unstableRef.current.value
60
- ? unstableRef.current.rootNode.findByValue(unstableRef.current.value)
61
- : undefined;
59
+ const selectedNode = latest.value ? latest.rootNode.findByValue(latest.value) : undefined;
62
60
  if (!selectedNode) {
63
61
  return;
64
62
  }
@@ -88,13 +86,13 @@ const Browser = ({ value, items, onSelectItem, className, ...rest }) => {
88
86
  }
89
87
  if (target) {
90
88
  e.preventDefault();
91
- unstableRef.current.onSelectItem?.(target.value);
89
+ latest.onSelectItem?.(target.value);
92
90
  document.getElementById(components_Browser_utils.getElementIdFromNode(target.value))?.focus();
93
91
  }
94
- }, []);
92
+ }, [latest]);
95
93
  const onChangeInput = React.useCallback((e) => {
96
- unstableRef.current.onSelectItem?.(e.currentTarget.value);
97
- }, []);
94
+ latest.onSelectItem?.(e.currentTarget.value);
95
+ }, [latest]);
98
96
  return (
99
97
  // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
100
98
  jsxRuntime.jsx("div", { ...rest, role: "application", onKeyDown: onDelegateKeyDown, className: classNames.wrapper, children: columns.map((colItems, index) => (jsxRuntime.jsx(components_Browser_BrowserColumn.BrowserColumn, { items: colItems, index: index, value: selectedPath[index], onChangeInput: onSelectItem ? onChangeInput : undefined, className: classNames.column }, index))) }));
@@ -1 +1 @@
1
- {"version":3,"file":"Browser.cjs","sources":["../../../src/components/Browser/Browser.tsx"],"sourcesContent":["import {\n type ChangeEvent,\n type ComponentProps,\n type FC,\n type KeyboardEventHandler,\n useCallback,\n useMemo,\n useRef,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { BrowserColumn } from './BrowserColumn'\nimport { ItemNode, type ItemNodeLike, RootNode } from './models'\nimport { getElementIdFromNode } from './utils'\n\nconst classNameGenerator = tv({\n slots: {\n wrapper: ['smarthr-ui-Browser', 'shr-flex'],\n column: ['shr-min-w-[13em] shr-list-none', '[&_+_&]:shr-border-l-shorthand'],\n },\n variants: {\n maxColumn: {\n 1: {\n column: 'shr-max-w-[theme(width.1/3)]',\n },\n 2: {},\n 3: {},\n },\n },\n compoundVariants: [\n {\n maxColumn: [2, 3],\n className: {\n column: 'last:shr-grow',\n },\n },\n ],\n})\n\ntype AbstractProps = {\n /** 表示する item の配列 */\n items: ItemNodeLike[]\n /** 選択中の item の値 */\n value?: string\n /** 選択された際に呼び出されるコールバック。第一引数に item の value を取る。 */\n onSelectItem?: (value: string) => void\n}\ntype Props = AbstractProps & Omit<ComponentProps<'div'>, keyof AbstractProps>\n\nexport const Browser: FC<Props> = ({ value, items, onSelectItem, className, ...rest }) => {\n const rootNode = useMemo(() => RootNode.from({ children: items }), [items])\n const columns = useMemo(() => rootNode.toViewData(value), [rootNode, value])\n\n const classNames = useMemo(() => {\n const { wrapper, column } = classNameGenerator({ className })\n return {\n wrapper: wrapper(),\n column: column({\n maxColumn: columns.length as 1 | 2 | 3,\n }),\n }\n }, [className, columns.length])\n\n const selectedPath = useMemo(() => {\n if (!value) return []\n const node = rootNode.findByValue(value)\n if (!node) return []\n return [...node.getAncestors().map((n) => n.value), node.value]\n }, [rootNode, value])\n\n const unstableRef = useRef({ onSelectItem, value, rootNode })\n unstableRef.current = { onSelectItem, value, rootNode }\n\n // FIXME: focusメソッドのfocusVisibleが主要ブラウザでサポートされたら使うようにしたい(現状ではマウスクリックでもfocusのoutlineが出てしまう)\n // https://developer.mozilla.org/ja/docs/Web/API/HTMLElement/focus\n const onDelegateKeyDown: KeyboardEventHandler = useCallback((e) => {\n const selectedNode = unstableRef.current.value\n ? unstableRef.current.rootNode.findByValue(unstableRef.current.value)\n : undefined\n\n if (!selectedNode) {\n return\n }\n\n let target: ItemNode | undefined = undefined\n\n switch (e.key) {\n case 'ArrowUp': {\n target = selectedNode.getPrev() ?? selectedNode.parent?.getLastChild()\n\n break\n }\n case 'ArrowDown': {\n target = selectedNode.getNext() ?? selectedNode.parent?.getFirstChild()\n\n break\n }\n case 'ArrowLeft': {\n const node = selectedNode.parent\n\n if (node instanceof ItemNode) {\n target = node\n }\n\n break\n }\n case 'ArrowRight':\n case 'Enter':\n case ' ': {\n target = selectedNode.getFirstChild()\n\n break\n }\n }\n\n if (target) {\n e.preventDefault()\n unstableRef.current.onSelectItem?.(target.value)\n document.getElementById(getElementIdFromNode(target.value))?.focus()\n }\n }, [])\n\n const onChangeInput = useCallback((e: ChangeEvent<HTMLInputElement>) => {\n unstableRef.current.onSelectItem?.(e.currentTarget.value)\n }, [])\n\n return (\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n <div {...rest} role=\"application\" onKeyDown={onDelegateKeyDown} className={classNames.wrapper}>\n {columns.map((colItems, index) => (\n <BrowserColumn\n key={index}\n items={colItems}\n index={index}\n value={selectedPath[index]}\n onChangeInput={onSelectItem ? onChangeInput : undefined}\n className={classNames.column}\n />\n ))}\n </div>\n )\n}\n"],"names":["tv","useMemo","RootNode","useRef","useCallback","ItemNode","getElementIdFromNode","_jsx","BrowserColumn"],"mappings":"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"}
1
+ {"version":3,"file":"Browser.cjs","sources":["../../../src/components/Browser/Browser.tsx"],"sourcesContent":["import {\n type ChangeEvent,\n type ComponentProps,\n type FC,\n type KeyboardEventHandler,\n useCallback,\n useMemo,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useLatest } from '../../hooks/useLatest'\n\nimport { BrowserColumn } from './BrowserColumn'\nimport { ItemNode, type ItemNodeLike, RootNode } from './models'\nimport { getElementIdFromNode } from './utils'\n\nconst classNameGenerator = tv({\n slots: {\n wrapper: ['smarthr-ui-Browser', 'shr-flex'],\n column: ['shr-min-w-[13em] shr-list-none', '[&_+_&]:shr-border-l-shorthand'],\n },\n variants: {\n maxColumn: {\n 1: {\n column: 'shr-max-w-[theme(width.1/3)]',\n },\n 2: {},\n 3: {},\n },\n },\n compoundVariants: [\n {\n maxColumn: [2, 3],\n className: {\n column: 'last:shr-grow',\n },\n },\n ],\n})\n\ntype AbstractProps = {\n /** 表示する item の配列 */\n items: ItemNodeLike[]\n /** 選択中の item の値 */\n value?: string\n /** 選択された際に呼び出されるコールバック。第一引数に item の value を取る。 */\n onSelectItem?: (value: string) => void\n}\ntype Props = AbstractProps & Omit<ComponentProps<'div'>, keyof AbstractProps>\n\nexport const Browser: FC<Props> = ({ value, items, onSelectItem, className, ...rest }) => {\n const rootNode = useMemo(() => RootNode.from({ children: items }), [items])\n const columns = useMemo(() => rootNode.toViewData(value), [rootNode, value])\n\n const classNames = useMemo(() => {\n const { wrapper, column } = classNameGenerator({ className })\n return {\n wrapper: wrapper(),\n column: column({\n maxColumn: columns.length as 1 | 2 | 3,\n }),\n }\n }, [className, columns.length])\n\n const selectedPath = useMemo(() => {\n if (!value) return []\n const node = rootNode.findByValue(value)\n if (!node) return []\n return [...node.getAncestors().map((n) => n.value), node.value]\n }, [rootNode, value])\n\n const latest = useLatest({ onSelectItem, value, rootNode })\n\n // FIXME: focusメソッドのfocusVisibleが主要ブラウザでサポートされたら使うようにしたい(現状ではマウスクリックでもfocusのoutlineが出てしまう)\n // https://developer.mozilla.org/ja/docs/Web/API/HTMLElement/focus\n const onDelegateKeyDown: KeyboardEventHandler = useCallback(\n (e) => {\n const selectedNode = latest.value ? latest.rootNode.findByValue(latest.value) : undefined\n\n if (!selectedNode) {\n return\n }\n\n let target: ItemNode | undefined = undefined\n\n switch (e.key) {\n case 'ArrowUp': {\n target = selectedNode.getPrev() ?? selectedNode.parent?.getLastChild()\n\n break\n }\n case 'ArrowDown': {\n target = selectedNode.getNext() ?? selectedNode.parent?.getFirstChild()\n\n break\n }\n case 'ArrowLeft': {\n const node = selectedNode.parent\n\n if (node instanceof ItemNode) {\n target = node\n }\n\n break\n }\n case 'ArrowRight':\n case 'Enter':\n case ' ': {\n target = selectedNode.getFirstChild()\n\n break\n }\n }\n\n if (target) {\n e.preventDefault()\n latest.onSelectItem?.(target.value)\n document.getElementById(getElementIdFromNode(target.value))?.focus()\n }\n },\n [latest],\n )\n\n const onChangeInput = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n latest.onSelectItem?.(e.currentTarget.value)\n },\n [latest],\n )\n\n return (\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n <div {...rest} role=\"application\" onKeyDown={onDelegateKeyDown} className={classNames.wrapper}>\n {columns.map((colItems, index) => (\n <BrowserColumn\n key={index}\n items={colItems}\n index={index}\n value={selectedPath[index]}\n onChangeInput={onSelectItem ? onChangeInput : undefined}\n className={classNames.column}\n />\n ))}\n </div>\n )\n}\n"],"names":["tv","useMemo","RootNode","useLatest","useCallback","ItemNode","getElementIdFromNode","_jsx","BrowserColumn"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { useMemo, useRef, useCallback } from 'react';
2
+ import { useMemo, useCallback } from 'react';
3
3
  import { tv as ce } from './../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.17_@types_node@20.19.35_typescript@5.9.3__/vendor/tailwind-variants/dist/index.js';
4
+ import { useLatest } from '../../hooks/useLatest.js';
4
5
  import { BrowserColumn } from './BrowserColumn.js';
5
6
  import { ItemNode } from './models/ItemNode.js';
6
7
  import { RootNode } from './models/RootNode.js';
@@ -49,14 +50,11 @@ const Browser = ({ value, items, onSelectItem, className, ...rest }) => {
49
50
  return [];
50
51
  return [...node.getAncestors().map((n) => n.value), node.value];
51
52
  }, [rootNode, value]);
52
- const unstableRef = useRef({ onSelectItem, value, rootNode });
53
- unstableRef.current = { onSelectItem, value, rootNode };
53
+ const latest = useLatest({ onSelectItem, value, rootNode });
54
54
  // FIXME: focusメソッドのfocusVisibleが主要ブラウザでサポートされたら使うようにしたい(現状ではマウスクリックでもfocusのoutlineが出てしまう)
55
55
  // https://developer.mozilla.org/ja/docs/Web/API/HTMLElement/focus
56
56
  const onDelegateKeyDown = useCallback((e) => {
57
- const selectedNode = unstableRef.current.value
58
- ? unstableRef.current.rootNode.findByValue(unstableRef.current.value)
59
- : undefined;
57
+ const selectedNode = latest.value ? latest.rootNode.findByValue(latest.value) : undefined;
60
58
  if (!selectedNode) {
61
59
  return;
62
60
  }
@@ -86,13 +84,13 @@ const Browser = ({ value, items, onSelectItem, className, ...rest }) => {
86
84
  }
87
85
  if (target) {
88
86
  e.preventDefault();
89
- unstableRef.current.onSelectItem?.(target.value);
87
+ latest.onSelectItem?.(target.value);
90
88
  document.getElementById(getElementIdFromNode(target.value))?.focus();
91
89
  }
92
- }, []);
90
+ }, [latest]);
93
91
  const onChangeInput = useCallback((e) => {
94
- unstableRef.current.onSelectItem?.(e.currentTarget.value);
95
- }, []);
92
+ latest.onSelectItem?.(e.currentTarget.value);
93
+ }, [latest]);
96
94
  return (
97
95
  // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
98
96
  jsx("div", { ...rest, role: "application", onKeyDown: onDelegateKeyDown, className: classNames.wrapper, children: columns.map((colItems, index) => (jsx(BrowserColumn, { items: colItems, index: index, value: selectedPath[index], onChangeInput: onSelectItem ? onChangeInput : undefined, className: classNames.column }, index))) }));
@@ -1 +1 @@
1
- {"version":3,"file":"Browser.js","sources":["../../../src/components/Browser/Browser.tsx"],"sourcesContent":["import {\n type ChangeEvent,\n type ComponentProps,\n type FC,\n type KeyboardEventHandler,\n useCallback,\n useMemo,\n useRef,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { BrowserColumn } from './BrowserColumn'\nimport { ItemNode, type ItemNodeLike, RootNode } from './models'\nimport { getElementIdFromNode } from './utils'\n\nconst classNameGenerator = tv({\n slots: {\n wrapper: ['smarthr-ui-Browser', 'shr-flex'],\n column: ['shr-min-w-[13em] shr-list-none', '[&_+_&]:shr-border-l-shorthand'],\n },\n variants: {\n maxColumn: {\n 1: {\n column: 'shr-max-w-[theme(width.1/3)]',\n },\n 2: {},\n 3: {},\n },\n },\n compoundVariants: [\n {\n maxColumn: [2, 3],\n className: {\n column: 'last:shr-grow',\n },\n },\n ],\n})\n\ntype AbstractProps = {\n /** 表示する item の配列 */\n items: ItemNodeLike[]\n /** 選択中の item の値 */\n value?: string\n /** 選択された際に呼び出されるコールバック。第一引数に item の value を取る。 */\n onSelectItem?: (value: string) => void\n}\ntype Props = AbstractProps & Omit<ComponentProps<'div'>, keyof AbstractProps>\n\nexport const Browser: FC<Props> = ({ value, items, onSelectItem, className, ...rest }) => {\n const rootNode = useMemo(() => RootNode.from({ children: items }), [items])\n const columns = useMemo(() => rootNode.toViewData(value), [rootNode, value])\n\n const classNames = useMemo(() => {\n const { wrapper, column } = classNameGenerator({ className })\n return {\n wrapper: wrapper(),\n column: column({\n maxColumn: columns.length as 1 | 2 | 3,\n }),\n }\n }, [className, columns.length])\n\n const selectedPath = useMemo(() => {\n if (!value) return []\n const node = rootNode.findByValue(value)\n if (!node) return []\n return [...node.getAncestors().map((n) => n.value), node.value]\n }, [rootNode, value])\n\n const unstableRef = useRef({ onSelectItem, value, rootNode })\n unstableRef.current = { onSelectItem, value, rootNode }\n\n // FIXME: focusメソッドのfocusVisibleが主要ブラウザでサポートされたら使うようにしたい(現状ではマウスクリックでもfocusのoutlineが出てしまう)\n // https://developer.mozilla.org/ja/docs/Web/API/HTMLElement/focus\n const onDelegateKeyDown: KeyboardEventHandler = useCallback((e) => {\n const selectedNode = unstableRef.current.value\n ? unstableRef.current.rootNode.findByValue(unstableRef.current.value)\n : undefined\n\n if (!selectedNode) {\n return\n }\n\n let target: ItemNode | undefined = undefined\n\n switch (e.key) {\n case 'ArrowUp': {\n target = selectedNode.getPrev() ?? selectedNode.parent?.getLastChild()\n\n break\n }\n case 'ArrowDown': {\n target = selectedNode.getNext() ?? selectedNode.parent?.getFirstChild()\n\n break\n }\n case 'ArrowLeft': {\n const node = selectedNode.parent\n\n if (node instanceof ItemNode) {\n target = node\n }\n\n break\n }\n case 'ArrowRight':\n case 'Enter':\n case ' ': {\n target = selectedNode.getFirstChild()\n\n break\n }\n }\n\n if (target) {\n e.preventDefault()\n unstableRef.current.onSelectItem?.(target.value)\n document.getElementById(getElementIdFromNode(target.value))?.focus()\n }\n }, [])\n\n const onChangeInput = useCallback((e: ChangeEvent<HTMLInputElement>) => {\n unstableRef.current.onSelectItem?.(e.currentTarget.value)\n }, [])\n\n return (\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n <div {...rest} role=\"application\" onKeyDown={onDelegateKeyDown} className={classNames.wrapper}>\n {columns.map((colItems, index) => (\n <BrowserColumn\n key={index}\n items={colItems}\n index={index}\n value={selectedPath[index]}\n onChangeInput={onSelectItem ? onChangeInput : undefined}\n className={classNames.column}\n />\n ))}\n </div>\n )\n}\n"],"names":["tv","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"Browser.js","sources":["../../../src/components/Browser/Browser.tsx"],"sourcesContent":["import {\n type ChangeEvent,\n type ComponentProps,\n type FC,\n type KeyboardEventHandler,\n useCallback,\n useMemo,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { useLatest } from '../../hooks/useLatest'\n\nimport { BrowserColumn } from './BrowserColumn'\nimport { ItemNode, type ItemNodeLike, RootNode } from './models'\nimport { getElementIdFromNode } from './utils'\n\nconst classNameGenerator = tv({\n slots: {\n wrapper: ['smarthr-ui-Browser', 'shr-flex'],\n column: ['shr-min-w-[13em] shr-list-none', '[&_+_&]:shr-border-l-shorthand'],\n },\n variants: {\n maxColumn: {\n 1: {\n column: 'shr-max-w-[theme(width.1/3)]',\n },\n 2: {},\n 3: {},\n },\n },\n compoundVariants: [\n {\n maxColumn: [2, 3],\n className: {\n column: 'last:shr-grow',\n },\n },\n ],\n})\n\ntype AbstractProps = {\n /** 表示する item の配列 */\n items: ItemNodeLike[]\n /** 選択中の item の値 */\n value?: string\n /** 選択された際に呼び出されるコールバック。第一引数に item の value を取る。 */\n onSelectItem?: (value: string) => void\n}\ntype Props = AbstractProps & Omit<ComponentProps<'div'>, keyof AbstractProps>\n\nexport const Browser: FC<Props> = ({ value, items, onSelectItem, className, ...rest }) => {\n const rootNode = useMemo(() => RootNode.from({ children: items }), [items])\n const columns = useMemo(() => rootNode.toViewData(value), [rootNode, value])\n\n const classNames = useMemo(() => {\n const { wrapper, column } = classNameGenerator({ className })\n return {\n wrapper: wrapper(),\n column: column({\n maxColumn: columns.length as 1 | 2 | 3,\n }),\n }\n }, [className, columns.length])\n\n const selectedPath = useMemo(() => {\n if (!value) return []\n const node = rootNode.findByValue(value)\n if (!node) return []\n return [...node.getAncestors().map((n) => n.value), node.value]\n }, [rootNode, value])\n\n const latest = useLatest({ onSelectItem, value, rootNode })\n\n // FIXME: focusメソッドのfocusVisibleが主要ブラウザでサポートされたら使うようにしたい(現状ではマウスクリックでもfocusのoutlineが出てしまう)\n // https://developer.mozilla.org/ja/docs/Web/API/HTMLElement/focus\n const onDelegateKeyDown: KeyboardEventHandler = useCallback(\n (e) => {\n const selectedNode = latest.value ? latest.rootNode.findByValue(latest.value) : undefined\n\n if (!selectedNode) {\n return\n }\n\n let target: ItemNode | undefined = undefined\n\n switch (e.key) {\n case 'ArrowUp': {\n target = selectedNode.getPrev() ?? selectedNode.parent?.getLastChild()\n\n break\n }\n case 'ArrowDown': {\n target = selectedNode.getNext() ?? selectedNode.parent?.getFirstChild()\n\n break\n }\n case 'ArrowLeft': {\n const node = selectedNode.parent\n\n if (node instanceof ItemNode) {\n target = node\n }\n\n break\n }\n case 'ArrowRight':\n case 'Enter':\n case ' ': {\n target = selectedNode.getFirstChild()\n\n break\n }\n }\n\n if (target) {\n e.preventDefault()\n latest.onSelectItem?.(target.value)\n document.getElementById(getElementIdFromNode(target.value))?.focus()\n }\n },\n [latest],\n )\n\n const onChangeInput = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n latest.onSelectItem?.(e.currentTarget.value)\n },\n [latest],\n )\n\n return (\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n <div {...rest} role=\"application\" onKeyDown={onDelegateKeyDown} className={classNames.wrapper}>\n {columns.map((colItems, index) => (\n <BrowserColumn\n key={index}\n items={colItems}\n index={index}\n value={selectedPath[index]}\n onChangeInput={onSelectItem ? onChangeInput : undefined}\n className={classNames.column}\n />\n ))}\n </div>\n )\n}\n"],"names":["tv","_jsx"],"mappings":";;;;;;;;;AAgBA,MAAM,kBAAkB,GAAGA,EAAE,CAAC;AAC5B,IAAA,KAAK,EAAE;AACL,QAAA,OAAO,EAAE,CAAC,oBAAoB,EAAE,UAAU,CAAC;AAC3C,QAAA,MAAM,EAAE,CAAC,gCAAgC,EAAE,gCAAgC,CAAC;AAC7E,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,SAAS,EAAE;AACT,YAAA,CAAC,EAAE;AACD,gBAAA,MAAM,EAAE,8BAA8B;AACvC,aAAA;AACD,YAAA,CAAC,EAAE,EAAE;AACL,YAAA,CAAC,EAAE,EAAE;AACN,SAAA;AACF,KAAA;AACD,IAAA,gBAAgB,EAAE;AAChB,QAAA;AACE,YAAA,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACjB,YAAA,SAAS,EAAE;AACT,gBAAA,MAAM,EAAE,eAAe;AACxB,aAAA;AACF,SAAA;AACF,KAAA;AACF,CAAA,CAAC;AAYK,MAAM,OAAO,GAAc,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,KAAI;IACvF,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAE5E,IAAA,MAAM,UAAU,GAAG,OAAO,CAAC,MAAK;AAC9B,QAAA,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAAC,EAAE,SAAS,EAAE,CAAC;QAC7D,OAAO;YACL,OAAO,EAAE,OAAO,EAAE;YAClB,MAAM,EAAE,MAAM,CAAC;gBACb,SAAS,EAAE,OAAO,CAAC,MAAmB;aACvC,CAAC;SACH;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;AAE/B,IAAA,MAAM,YAAY,GAAG,OAAO,CAAC,MAAK;AAChC,QAAA,IAAI,CAAC,KAAK;AAAE,YAAA,OAAO,EAAE;QACrB,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;AACxC,QAAA,IAAI,CAAC,IAAI;AAAE,YAAA,OAAO,EAAE;QACpB,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;AACjE,IAAA,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAErB,IAAA,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;;;AAI3D,IAAA,MAAM,iBAAiB,GAAyB,WAAW,CACzD,CAAC,CAAC,KAAI;QACJ,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS;QAEzF,IAAI,CAAC,YAAY,EAAE;YACjB;QACF;QAEA,IAAI,MAAM,GAAyB,SAAS;AAE5C,QAAA,QAAQ,CAAC,CAAC,GAAG;YACX,KAAK,SAAS,EAAE;AACd,gBAAA,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE;gBAEtE;YACF;YACA,KAAK,WAAW,EAAE;AAChB,gBAAA,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE;gBAEvE;YACF;YACA,KAAK,WAAW,EAAE;AAChB,gBAAA,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM;AAEhC,gBAAA,IAAI,IAAI,YAAY,QAAQ,EAAE;oBAC5B,MAAM,GAAG,IAAI;gBACf;gBAEA;YACF;AACA,YAAA,KAAK,YAAY;AACjB,YAAA,KAAK,OAAO;YACZ,KAAK,GAAG,EAAE;AACR,gBAAA,MAAM,GAAG,YAAY,CAAC,aAAa,EAAE;gBAErC;YACF;;QAGF,IAAI,MAAM,EAAE;YACV,CAAC,CAAC,cAAc,EAAE;YAClB,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC;AACnC,YAAA,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE;QACtE;AACF,IAAA,CAAC,EACD,CAAC,MAAM,CAAC,CACT;AAED,IAAA,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,CAAgC,KAAI;QACnC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;AAC9C,IAAA,CAAC,EACD,CAAC,MAAM,CAAC,CACT;IAED;;AAEE,IAAAC,GAAA,CAAA,KAAA,EAAA,EAAA,GAAS,IAAI,EAAE,IAAI,EAAC,aAAa,EAAC,SAAS,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,EAAA,QAAA,EAC1F,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,MAC3BA,GAAA,CAAC,aAAa,EAAA,EAEZ,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAC1B,aAAa,EAAE,YAAY,GAAG,aAAa,GAAG,SAAS,EACvD,SAAS,EAAE,UAAU,CAAC,MAAM,EAAA,EALvB,KAAK,CAMV,CACH,CAAC,EAAA,CACE;AAEV;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useButtonWrapper.cjs","sources":["../../../src/components/Button/useButtonWrapper.tsx"],"sourcesContent":["import {\n type AnchorHTMLAttributes,\n type ButtonHTMLAttributes,\n type ElementType,\n type ForwardedRef,\n type PropsWithChildren,\n type ReactNode,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { Loader } from '../Loader'\n\nimport type { Variant } from './types'\n\n// HINT: prefix, suffixが存在せず、かつIcon,svg,img,Loaderのいずれかが単一でbodyに含まれるButtonかチェックしたい\n// このSELECTORはbody内の対象を列挙する\n// HINT: smarthr-ui-Icon-extendedはアイコン+α(例えば複数のアイコンをまとめて一つにしているなど)を表すclass\nconst ICON_SELECTOR = '.smarthr-ui-Icon, .smarthr-ui-Icon-extended, svg, img, .smarthr-ui-Loader'\n\ntype AbstractProps = PropsWithChildren<{\n size: 'M' | 'S'\n wide: boolean\n variant: Variant\n $loading?: boolean\n className: string\n elementAs?: ElementType\n prefix?: ReactNode\n suffix?: ReactNode\n}>\n\ntype AbstractButtonProps = AbstractProps & {\n isAnchor?: never\n buttonRef?: ForwardedRef<HTMLButtonElement>\n}\ntype ButtonProps = AbstractButtonProps &\n Omit<ButtonHTMLAttributes<HTMLButtonElement>, keyof AbstractButtonProps>\n\ntype AbstractAnchorProps = AbstractProps & {\n isAnchor: true\n anchorRef?: ForwardedRef<HTMLAnchorElement>\n}\ntype AnchorProps = AbstractAnchorProps &\n Omit<AnchorHTMLAttributes<HTMLAnchorElement>, keyof AbstractAnchorProps>\n\nexport type Props = ButtonProps | AnchorProps\n\n// HINT: useButtonWrapperの引数を調整する場合、以下も調整する\ntype FilteredProps =\n | 'size'\n | 'wide'\n | 'variant'\n | 'className'\n | 'prefix'\n | 'suffix'\n | 'children'\n | 'isAnchor'\nexport type FilteredButtonProps = Omit<ButtonProps, FilteredProps>\nexport type FilteredAnchorProps = Omit<AnchorProps, FilteredProps>\n\nexport const useButtonWrapper = ({\n size,\n wide = false,\n variant,\n $loading,\n className,\n prefix,\n suffix,\n children,\n isAnchor,\n ...rest\n}: Props) => {\n const innerRef = useRef<HTMLElement>(null)\n // HINT: squareは\n // null: Buttonのレンダリング前\n // boolean: レンダリング後\n const [square, setSquare] = useState<null | boolean>(null)\n\n const classNames = useMemo(() => {\n const { button, anchor, loader } = wrapperClassNameGenerator({\n variant,\n size,\n square: !!square,\n loading: !!$loading,\n wide,\n })\n\n const wrapper = isAnchor ? anchor : button\n\n return {\n wrapper: wrapper({ className }),\n loader: loader(),\n }\n }, [$loading, size, square, variant, wide, className, isAnchor])\n\n const innerClassName = useMemo(() => innerClassNameGenerator({ size }), [size])\n\n let actualPrefix = prefix\n let actualSuffix = suffix\n let actualChildren = children\n\n if ($loading) {\n actualPrefix = undefined\n const loader = <Loader size=\"S\" className={classNames.loader} role=\"presentation\" />\n\n // HINT: squareは null | boolean のため、switchで判定する\n // nullの場合にactualSuffixにloaderを突っ込んでしまうとsquareの計算が狂ってしまう\n switch (square) {\n case true:\n actualChildren = loader\n break\n case false:\n actualSuffix = loader\n break\n }\n }\n\n // HINT: actualSuffixなどは$loadingの判定で置き換えられる可能性がある\n // あくまで利用者が設定したprefix, suffixがないかで判定する\n const onlyBody = !prefix && !suffix\n\n useEffect(() => {\n if (!onlyBody) {\n setSquare(false)\n\n return\n }\n\n const target = innerRef.current\n\n if (!target) return\n\n const checkSquare = () => {\n setSquare(target.children.length === 1 && target.children[0].matches(ICON_SELECTOR))\n }\n\n checkSquare()\n\n const observer = new MutationObserver(checkSquare)\n\n observer.observe(target, {\n childList: true,\n })\n\n return () => {\n observer.disconnect()\n }\n }, [onlyBody])\n\n return {\n filteredProps: { ...rest, $loading } as FilteredAnchorProps | FilteredButtonProps,\n classNames,\n children: (\n <>\n {actualPrefix}\n <span ref={innerRef} className={innerClassName}>\n {actualChildren}\n </span>\n {actualSuffix}\n </>\n ),\n }\n}\n\nconst wrapperClassNameGenerator = tv({\n slots: {\n button: [\n 'aria-disabled:shr-cursor-not-allowed',\n /* alpha color を使用しているので、背景色と干渉させない */\n 'aria-disabled:shr-bg-clip-padding',\n /* disabled ではなく aria-disabled で文字色が変わらないため、強制カラーモード時の色を指定 */\n 'aria-disabled:forced-colors:shr-border-[GrayText] aria-disabled:forced-colors:shr-text-[GrayText]',\n '[&_.smarthr-ui-Icon]:forced-colors:aria-disabled:shr-fill-[GrayText]',\n ],\n anchor: [\n 'shr-no-underline',\n '[&:not([href])]:shr-cursor-not-allowed',\n /* alpha color を使用しているので、背景色と干渉させない */\n '[&:not([href])]:shr-bg-clip-padding',\n '[&_.smarthr-ui-Icon]:forced-colors:shr-fill-[LinkText]',\n '[&:not([href])_.smarthr-ui-Icon]:forced-colors:shr-fill-[CanvasText]',\n ],\n loader: [\n 'shr-align-bottom',\n '[&_.smarthr-ui-Loader-spinner]:shr-h-em [&_.smarthr-ui-Loader-spinner]:shr-w-em',\n ],\n },\n variants: {\n variant: {\n primary: {},\n secondary: {},\n danger: {},\n skeleton: {},\n text: {},\n tertiary: {},\n },\n size: {\n M: {},\n S: {},\n },\n square: {\n true: {},\n },\n loading: {\n true: {},\n },\n wide: {\n true: {},\n },\n },\n compoundSlots: [\n {\n slots: ['button', 'anchor'],\n className: [\n 'shr-box-border',\n 'shr-cursor-pointer',\n 'shr-inline-flex',\n 'shr-justify-center',\n 'shr-items-center',\n 'shr-gap-0.5',\n 'shr-text-center',\n 'shr-whitespace-nowrap',\n 'shr-rounded-m',\n /* ボタンの高さを合わせるために指定 */\n 'shr-border-shorthand',\n 'shr-font-inherit',\n 'shr-font-bold',\n 'shr-leading-none',\n 'focus-visible:shr-focus-indicator',\n 'contrast-more:shr-border-high-contrast',\n /* baseline より下の leading などの余白を埋める */\n '[&_.smarthr-ui-Icon]:shr-block',\n /** selector list は使えない\n * via https://github.com/tailwindlabs/tailwindcss/issues/10576#issuecomment-1440703413\n */\n '[&_svg]:shr-block',\n ],\n },\n {\n slots: ['button', 'anchor'],\n size: 'S',\n className: [\n 'shr-p-0.5',\n 'shr-text-sm',\n /* ボタンラベルの line-height を 0 にしたため、高さを担保する */\n 'shr-min-h-[calc(theme(fontSize.sm)+theme(spacing.1)+theme(borderWidth.2))]',\n ],\n },\n {\n slots: ['button', 'anchor'],\n size: 'M',\n className: ['shr-text-base'],\n },\n {\n slots: ['button', 'anchor'],\n size: 'M',\n square: false,\n className: 'shr-px-1 shr-py-0.75',\n },\n {\n slots: ['button', 'anchor'],\n size: 'M',\n square: true,\n className: 'shr-p-0.75',\n },\n {\n slots: ['button', 'anchor'],\n loading: true,\n className: 'shr-flex-row-reverse',\n },\n {\n slots: ['button', 'anchor'],\n wide: true,\n className: 'shr-w-full',\n },\n {\n slots: ['button', 'anchor'],\n variant: 'primary',\n className: [\n 'shr-border-main',\n 'shr-bg-main',\n 'shr-text-white',\n 'focus-visible:shr-border-main-darken',\n 'focus-visible:shr-bg-main-darken',\n 'hover:shr-border-main-darken',\n 'hover:shr-bg-main-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'primary',\n className: [\n 'aria-disabled:shr-border-main/50',\n 'aria-disabled:shr-bg-main/50',\n 'aria-disabled:shr-text-white/50',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'primary',\n className: [\n '[&:not([href])]:shr-border-main/50',\n '[&:not([href])]:shr-bg-main/50',\n '[&:not([href])]:shr-text-white/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'secondary',\n className: [\n 'shr-border-default',\n 'shr-bg-white',\n 'shr-text-black',\n 'focus-visible:shr-border-darken',\n 'focus-visible:shr-bg-white-darken',\n 'focus-visible:contrast-more:shr-border-high-contrast',\n 'hover:shr-border-darken',\n 'hover:shr-bg-white-darken',\n 'hover:contrast-more:shr-border-high-contrast',\n ],\n },\n {\n slots: ['button'],\n variant: 'secondary',\n className: [\n 'aria-disabled:shr-border-disabled',\n 'aria-disabled:shr-bg-white-darken',\n 'aria-disabled:shr-text-disabled',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'secondary',\n className: [\n '[&:not([href])]:shr-border-disabled',\n '[&:not([href])]:shr-bg-white-darken',\n '[&:not([href])]:shr-text-disabled',\n ],\n },\n {\n slots: ['button'],\n variant: 'tertiary',\n className: [\n 'shr-border-transparent',\n 'shr-bg-transparent',\n 'shr-text-link',\n 'shr-font-normal',\n 'focus-visible:shr-bg-white-darken',\n 'hover:shr-bg-white-darken',\n 'aria-disabled:shr-bg-transparent',\n 'aria-disabled:shr-text-link/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'danger',\n className: [\n 'shr-border-danger',\n 'shr-bg-danger',\n 'shr-text-white',\n 'focus-visible:shr-border-danger-darken',\n 'focus-visible:shr-bg-danger-darken',\n 'hover:shr-border-danger-darken',\n 'hover:shr-bg-danger-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'danger',\n className: [\n 'aria-disabled:shr-border-danger/50',\n 'aria-disabled:shr-bg-danger/50',\n 'aria-disabled:shr-text-white/50',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'danger',\n className: [\n '[&:not([href])]:shr-border-danger/50',\n '[&:not([href])]:shr-bg-danger/50',\n '[&:not([href])]:shr-text-white/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'skeleton',\n className: [\n 'shr-border-white',\n 'shr-bg-transparent',\n 'shr-text-white',\n 'focus-visible:shr-border-white-darken',\n 'focus-visible:shr-bg-overlay',\n 'focus-visible:shr-text-white-darken',\n 'hover:shr-border-white-darken',\n 'hover:shr-bg-overlay',\n 'hover:shr-text-white-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'skeleton',\n className: [\n 'aria-disabled:shr-border-white/50',\n 'aria-disabled:shr-bg-transparent',\n 'aria-disabled:shr-text-white/50',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'skeleton',\n className: [\n '[&:not([href])]:shr-border-white/50',\n '[&:not([href])]:shr-bg-transparent',\n '[&:not([href])]:shr-text-white/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'text',\n className: [\n 'shr-border-transparent',\n 'shr-bg-transparent',\n 'shr-text-black',\n 'focus-visible:shr-bg-white-darken',\n 'hover:shr-bg-white-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'text',\n className: [\n 'aria-disabled:shr-border-transparent',\n 'aria-disabled:shr-bg-transparent',\n 'aria-disabled:shr-text-disabled',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'text',\n className: [\n '[&:not([href])]:shr-border-transparent',\n '[&:not([href])]:shr-bg-transparent',\n '[&:not([href])]:shr-text-disabled',\n ],\n },\n {\n slots: ['loader'],\n variant: ['primary', 'danger', 'skeleton'],\n className: [\n '[&_.smarthr-ui-Loader-line]:shr-border-white/50',\n '[&_.smarthr-ui-Loader-line]:forced-colors:shr-border-[ButtonBorder]',\n ],\n },\n {\n slots: ['loader'],\n variant: ['secondary', 'text'],\n className: '[&_.smarthr-ui-Loader-line]:shr-border-disabled',\n },\n {\n slots: ['loader'],\n variant: 'tertiary',\n className: '[&_.smarthr-ui-Loader-line]:shr-border-link/50',\n },\n ],\n})\n\nconst innerClassNameGenerator = tv({\n base: [\n 'smarthr-ui-Button-body',\n /* LineClamp を併用する場合に、幅を計算してもらうために指定 */\n 'shr-min-w-0',\n ],\n variants: {\n size: {\n M: '',\n S: [\n /* SVG とテキストコンテンツの縦位置を揃えるために指定 */\n 'shr-leading-[0]',\n ],\n },\n },\n})\n"],"names":["useRef","useState","useMemo","_jsx","Loader","useEffect","_jsxs","_Fragment","tv"],"mappings":"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"}
1
+ {"version":3,"file":"useButtonWrapper.cjs","sources":["../../../src/components/Button/useButtonWrapper.tsx"],"sourcesContent":["import {\n type AnchorHTMLAttributes,\n type ButtonHTMLAttributes,\n type ElementType,\n type ForwardedRef,\n type PropsWithChildren,\n type ReactNode,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { Loader } from '../Loader'\n\nimport type { Variant } from './types'\n\n// HINT: prefix, suffixが存在せず、かつIcon,svg,img,Loaderのいずれかが単一でbodyに含まれるButtonかチェックしたい\n// このSELECTORはbody内の対象を列挙する\n// HINT: smarthr-ui-Icon-extendedはアイコン+α(例えば複数のアイコンをまとめて一つにしているなど)を表すclass\nconst ICON_SELECTOR = '.smarthr-ui-Icon, .smarthr-ui-Icon-extended, svg, img, .smarthr-ui-Loader'\n\ntype AbstractProps = PropsWithChildren<{\n size: 'M' | 'S'\n wide: boolean\n variant: Variant\n $loading?: boolean\n className: string\n elementAs?: ElementType\n prefix?: ReactNode\n suffix?: ReactNode\n}>\n\ntype AbstractButtonProps = AbstractProps & {\n isAnchor?: never\n buttonRef?: ForwardedRef<HTMLButtonElement>\n}\ntype ButtonProps = AbstractButtonProps &\n Omit<ButtonHTMLAttributes<HTMLButtonElement>, keyof AbstractButtonProps>\n\ntype AbstractAnchorProps = AbstractProps & {\n isAnchor: true\n anchorRef?: ForwardedRef<HTMLAnchorElement>\n}\ntype AnchorProps = AbstractAnchorProps &\n Omit<AnchorHTMLAttributes<HTMLAnchorElement>, keyof AbstractAnchorProps>\n\nexport type Props = ButtonProps | AnchorProps\n\n// HINT: useButtonWrapperの引数を調整する場合、以下も調整する\ntype FilteredProps =\n 'size' | 'wide' | 'variant' | 'className' | 'prefix' | 'suffix' | 'children' | 'isAnchor'\nexport type FilteredButtonProps = Omit<ButtonProps, FilteredProps>\nexport type FilteredAnchorProps = Omit<AnchorProps, FilteredProps>\n\nexport const useButtonWrapper = ({\n size,\n wide = false,\n variant,\n $loading,\n className,\n prefix,\n suffix,\n children,\n isAnchor,\n ...rest\n}: Props) => {\n const innerRef = useRef<HTMLElement>(null)\n // HINT: squareは\n // null: Buttonのレンダリング前\n // boolean: レンダリング後\n const [square, setSquare] = useState<null | boolean>(null)\n\n const classNames = useMemo(() => {\n const { button, anchor, loader } = wrapperClassNameGenerator({\n variant,\n size,\n square: !!square,\n loading: !!$loading,\n wide,\n })\n\n const wrapper = isAnchor ? anchor : button\n\n return {\n wrapper: wrapper({ className }),\n loader: loader(),\n }\n }, [$loading, size, square, variant, wide, className, isAnchor])\n\n const innerClassName = useMemo(() => innerClassNameGenerator({ size }), [size])\n\n let actualPrefix = prefix\n let actualSuffix = suffix\n let actualChildren = children\n\n if ($loading) {\n actualPrefix = undefined\n const loader = <Loader size=\"S\" className={classNames.loader} role=\"presentation\" />\n\n // HINT: squareは null | boolean のため、switchで判定する\n // nullの場合にactualSuffixにloaderを突っ込んでしまうとsquareの計算が狂ってしまう\n switch (square) {\n case true:\n actualChildren = loader\n break\n case false:\n actualSuffix = loader\n break\n }\n }\n\n // HINT: actualSuffixなどは$loadingの判定で置き換えられる可能性がある\n // あくまで利用者が設定したprefix, suffixがないかで判定する\n const onlyBody = !prefix && !suffix\n\n useEffect(() => {\n if (!onlyBody) {\n setSquare(false)\n\n return\n }\n\n const target = innerRef.current\n\n if (!target) return\n\n const checkSquare = () => {\n setSquare(target.children.length === 1 && target.children[0].matches(ICON_SELECTOR))\n }\n\n checkSquare()\n\n const observer = new MutationObserver(checkSquare)\n\n observer.observe(target, {\n childList: true,\n })\n\n return () => {\n observer.disconnect()\n }\n }, [onlyBody])\n\n return {\n filteredProps: { ...rest, $loading } as FilteredAnchorProps | FilteredButtonProps,\n classNames,\n children: (\n <>\n {actualPrefix}\n <span ref={innerRef} className={innerClassName}>\n {actualChildren}\n </span>\n {actualSuffix}\n </>\n ),\n }\n}\n\nconst wrapperClassNameGenerator = tv({\n slots: {\n button: [\n 'aria-disabled:shr-cursor-not-allowed',\n /* alpha color を使用しているので、背景色と干渉させない */\n 'aria-disabled:shr-bg-clip-padding',\n /* disabled ではなく aria-disabled で文字色が変わらないため、強制カラーモード時の色を指定 */\n 'aria-disabled:forced-colors:shr-border-[GrayText] aria-disabled:forced-colors:shr-text-[GrayText]',\n '[&_.smarthr-ui-Icon]:forced-colors:aria-disabled:shr-fill-[GrayText]',\n ],\n anchor: [\n 'shr-no-underline',\n '[&:not([href])]:shr-cursor-not-allowed',\n /* alpha color を使用しているので、背景色と干渉させない */\n '[&:not([href])]:shr-bg-clip-padding',\n '[&_.smarthr-ui-Icon]:forced-colors:shr-fill-[LinkText]',\n '[&:not([href])_.smarthr-ui-Icon]:forced-colors:shr-fill-[CanvasText]',\n ],\n loader: [\n 'shr-align-bottom',\n '[&_.smarthr-ui-Loader-spinner]:shr-h-em [&_.smarthr-ui-Loader-spinner]:shr-w-em',\n ],\n },\n variants: {\n variant: {\n primary: {},\n secondary: {},\n danger: {},\n skeleton: {},\n text: {},\n tertiary: {},\n },\n size: {\n M: {},\n S: {},\n },\n square: {\n true: {},\n },\n loading: {\n true: {},\n },\n wide: {\n true: {},\n },\n },\n compoundSlots: [\n {\n slots: ['button', 'anchor'],\n className: [\n 'shr-box-border',\n 'shr-cursor-pointer',\n 'shr-inline-flex',\n 'shr-justify-center',\n 'shr-items-center',\n 'shr-gap-0.5',\n 'shr-text-center',\n 'shr-whitespace-nowrap',\n 'shr-rounded-m',\n /* ボタンの高さを合わせるために指定 */\n 'shr-border-shorthand',\n 'shr-font-inherit',\n 'shr-font-bold',\n 'shr-leading-none',\n 'focus-visible:shr-focus-indicator',\n 'contrast-more:shr-border-high-contrast',\n /* baseline より下の leading などの余白を埋める */\n '[&_.smarthr-ui-Icon]:shr-block',\n /** selector list は使えない\n * via https://github.com/tailwindlabs/tailwindcss/issues/10576#issuecomment-1440703413\n */\n '[&_svg]:shr-block',\n ],\n },\n {\n slots: ['button', 'anchor'],\n size: 'S',\n className: [\n 'shr-p-0.5',\n 'shr-text-sm',\n /* ボタンラベルの line-height を 0 にしたため、高さを担保する */\n 'shr-min-h-[calc(theme(fontSize.sm)+theme(spacing.1)+theme(borderWidth.2))]',\n ],\n },\n {\n slots: ['button', 'anchor'],\n size: 'M',\n className: ['shr-text-base'],\n },\n {\n slots: ['button', 'anchor'],\n size: 'M',\n square: false,\n className: 'shr-px-1 shr-py-0.75',\n },\n {\n slots: ['button', 'anchor'],\n size: 'M',\n square: true,\n className: 'shr-p-0.75',\n },\n {\n slots: ['button', 'anchor'],\n loading: true,\n className: 'shr-flex-row-reverse',\n },\n {\n slots: ['button', 'anchor'],\n wide: true,\n className: 'shr-w-full',\n },\n {\n slots: ['button', 'anchor'],\n variant: 'primary',\n className: [\n 'shr-border-main',\n 'shr-bg-main',\n 'shr-text-white',\n 'focus-visible:shr-border-main-darken',\n 'focus-visible:shr-bg-main-darken',\n 'hover:shr-border-main-darken',\n 'hover:shr-bg-main-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'primary',\n className: [\n 'aria-disabled:shr-border-main/50',\n 'aria-disabled:shr-bg-main/50',\n 'aria-disabled:shr-text-white/50',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'primary',\n className: [\n '[&:not([href])]:shr-border-main/50',\n '[&:not([href])]:shr-bg-main/50',\n '[&:not([href])]:shr-text-white/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'secondary',\n className: [\n 'shr-border-default',\n 'shr-bg-white',\n 'shr-text-black',\n 'focus-visible:shr-border-darken',\n 'focus-visible:shr-bg-white-darken',\n 'focus-visible:contrast-more:shr-border-high-contrast',\n 'hover:shr-border-darken',\n 'hover:shr-bg-white-darken',\n 'hover:contrast-more:shr-border-high-contrast',\n ],\n },\n {\n slots: ['button'],\n variant: 'secondary',\n className: [\n 'aria-disabled:shr-border-disabled',\n 'aria-disabled:shr-bg-white-darken',\n 'aria-disabled:shr-text-disabled',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'secondary',\n className: [\n '[&:not([href])]:shr-border-disabled',\n '[&:not([href])]:shr-bg-white-darken',\n '[&:not([href])]:shr-text-disabled',\n ],\n },\n {\n slots: ['button'],\n variant: 'tertiary',\n className: [\n 'shr-border-transparent',\n 'shr-bg-transparent',\n 'shr-text-link',\n 'shr-font-normal',\n 'focus-visible:shr-bg-white-darken',\n 'hover:shr-bg-white-darken',\n 'aria-disabled:shr-bg-transparent',\n 'aria-disabled:shr-text-link/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'danger',\n className: [\n 'shr-border-danger',\n 'shr-bg-danger',\n 'shr-text-white',\n 'focus-visible:shr-border-danger-darken',\n 'focus-visible:shr-bg-danger-darken',\n 'hover:shr-border-danger-darken',\n 'hover:shr-bg-danger-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'danger',\n className: [\n 'aria-disabled:shr-border-danger/50',\n 'aria-disabled:shr-bg-danger/50',\n 'aria-disabled:shr-text-white/50',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'danger',\n className: [\n '[&:not([href])]:shr-border-danger/50',\n '[&:not([href])]:shr-bg-danger/50',\n '[&:not([href])]:shr-text-white/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'skeleton',\n className: [\n 'shr-border-white',\n 'shr-bg-transparent',\n 'shr-text-white',\n 'focus-visible:shr-border-white-darken',\n 'focus-visible:shr-bg-overlay',\n 'focus-visible:shr-text-white-darken',\n 'hover:shr-border-white-darken',\n 'hover:shr-bg-overlay',\n 'hover:shr-text-white-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'skeleton',\n className: [\n 'aria-disabled:shr-border-white/50',\n 'aria-disabled:shr-bg-transparent',\n 'aria-disabled:shr-text-white/50',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'skeleton',\n className: [\n '[&:not([href])]:shr-border-white/50',\n '[&:not([href])]:shr-bg-transparent',\n '[&:not([href])]:shr-text-white/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'text',\n className: [\n 'shr-border-transparent',\n 'shr-bg-transparent',\n 'shr-text-black',\n 'focus-visible:shr-bg-white-darken',\n 'hover:shr-bg-white-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'text',\n className: [\n 'aria-disabled:shr-border-transparent',\n 'aria-disabled:shr-bg-transparent',\n 'aria-disabled:shr-text-disabled',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'text',\n className: [\n '[&:not([href])]:shr-border-transparent',\n '[&:not([href])]:shr-bg-transparent',\n '[&:not([href])]:shr-text-disabled',\n ],\n },\n {\n slots: ['loader'],\n variant: ['primary', 'danger', 'skeleton'],\n className: [\n '[&_.smarthr-ui-Loader-line]:shr-border-white/50',\n '[&_.smarthr-ui-Loader-line]:forced-colors:shr-border-[ButtonBorder]',\n ],\n },\n {\n slots: ['loader'],\n variant: ['secondary', 'text'],\n className: '[&_.smarthr-ui-Loader-line]:shr-border-disabled',\n },\n {\n slots: ['loader'],\n variant: 'tertiary',\n className: '[&_.smarthr-ui-Loader-line]:shr-border-link/50',\n },\n ],\n})\n\nconst innerClassNameGenerator = tv({\n base: [\n 'smarthr-ui-Button-body',\n /* LineClamp を併用する場合に、幅を計算してもらうために指定 */\n 'shr-min-w-0',\n ],\n variants: {\n size: {\n M: '',\n S: [\n /* SVG とテキストコンテンツの縦位置を揃えるために指定 */\n 'shr-leading-[0]',\n ],\n },\n },\n})\n"],"names":["useRef","useState","useMemo","_jsx","Loader","useEffect","_jsxs","_Fragment","tv"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useButtonWrapper.js","sources":["../../../src/components/Button/useButtonWrapper.tsx"],"sourcesContent":["import {\n type AnchorHTMLAttributes,\n type ButtonHTMLAttributes,\n type ElementType,\n type ForwardedRef,\n type PropsWithChildren,\n type ReactNode,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { Loader } from '../Loader'\n\nimport type { Variant } from './types'\n\n// HINT: prefix, suffixが存在せず、かつIcon,svg,img,Loaderのいずれかが単一でbodyに含まれるButtonかチェックしたい\n// このSELECTORはbody内の対象を列挙する\n// HINT: smarthr-ui-Icon-extendedはアイコン+α(例えば複数のアイコンをまとめて一つにしているなど)を表すclass\nconst ICON_SELECTOR = '.smarthr-ui-Icon, .smarthr-ui-Icon-extended, svg, img, .smarthr-ui-Loader'\n\ntype AbstractProps = PropsWithChildren<{\n size: 'M' | 'S'\n wide: boolean\n variant: Variant\n $loading?: boolean\n className: string\n elementAs?: ElementType\n prefix?: ReactNode\n suffix?: ReactNode\n}>\n\ntype AbstractButtonProps = AbstractProps & {\n isAnchor?: never\n buttonRef?: ForwardedRef<HTMLButtonElement>\n}\ntype ButtonProps = AbstractButtonProps &\n Omit<ButtonHTMLAttributes<HTMLButtonElement>, keyof AbstractButtonProps>\n\ntype AbstractAnchorProps = AbstractProps & {\n isAnchor: true\n anchorRef?: ForwardedRef<HTMLAnchorElement>\n}\ntype AnchorProps = AbstractAnchorProps &\n Omit<AnchorHTMLAttributes<HTMLAnchorElement>, keyof AbstractAnchorProps>\n\nexport type Props = ButtonProps | AnchorProps\n\n// HINT: useButtonWrapperの引数を調整する場合、以下も調整する\ntype FilteredProps =\n | 'size'\n | 'wide'\n | 'variant'\n | 'className'\n | 'prefix'\n | 'suffix'\n | 'children'\n | 'isAnchor'\nexport type FilteredButtonProps = Omit<ButtonProps, FilteredProps>\nexport type FilteredAnchorProps = Omit<AnchorProps, FilteredProps>\n\nexport const useButtonWrapper = ({\n size,\n wide = false,\n variant,\n $loading,\n className,\n prefix,\n suffix,\n children,\n isAnchor,\n ...rest\n}: Props) => {\n const innerRef = useRef<HTMLElement>(null)\n // HINT: squareは\n // null: Buttonのレンダリング前\n // boolean: レンダリング後\n const [square, setSquare] = useState<null | boolean>(null)\n\n const classNames = useMemo(() => {\n const { button, anchor, loader } = wrapperClassNameGenerator({\n variant,\n size,\n square: !!square,\n loading: !!$loading,\n wide,\n })\n\n const wrapper = isAnchor ? anchor : button\n\n return {\n wrapper: wrapper({ className }),\n loader: loader(),\n }\n }, [$loading, size, square, variant, wide, className, isAnchor])\n\n const innerClassName = useMemo(() => innerClassNameGenerator({ size }), [size])\n\n let actualPrefix = prefix\n let actualSuffix = suffix\n let actualChildren = children\n\n if ($loading) {\n actualPrefix = undefined\n const loader = <Loader size=\"S\" className={classNames.loader} role=\"presentation\" />\n\n // HINT: squareは null | boolean のため、switchで判定する\n // nullの場合にactualSuffixにloaderを突っ込んでしまうとsquareの計算が狂ってしまう\n switch (square) {\n case true:\n actualChildren = loader\n break\n case false:\n actualSuffix = loader\n break\n }\n }\n\n // HINT: actualSuffixなどは$loadingの判定で置き換えられる可能性がある\n // あくまで利用者が設定したprefix, suffixがないかで判定する\n const onlyBody = !prefix && !suffix\n\n useEffect(() => {\n if (!onlyBody) {\n setSquare(false)\n\n return\n }\n\n const target = innerRef.current\n\n if (!target) return\n\n const checkSquare = () => {\n setSquare(target.children.length === 1 && target.children[0].matches(ICON_SELECTOR))\n }\n\n checkSquare()\n\n const observer = new MutationObserver(checkSquare)\n\n observer.observe(target, {\n childList: true,\n })\n\n return () => {\n observer.disconnect()\n }\n }, [onlyBody])\n\n return {\n filteredProps: { ...rest, $loading } as FilteredAnchorProps | FilteredButtonProps,\n classNames,\n children: (\n <>\n {actualPrefix}\n <span ref={innerRef} className={innerClassName}>\n {actualChildren}\n </span>\n {actualSuffix}\n </>\n ),\n }\n}\n\nconst wrapperClassNameGenerator = tv({\n slots: {\n button: [\n 'aria-disabled:shr-cursor-not-allowed',\n /* alpha color を使用しているので、背景色と干渉させない */\n 'aria-disabled:shr-bg-clip-padding',\n /* disabled ではなく aria-disabled で文字色が変わらないため、強制カラーモード時の色を指定 */\n 'aria-disabled:forced-colors:shr-border-[GrayText] aria-disabled:forced-colors:shr-text-[GrayText]',\n '[&_.smarthr-ui-Icon]:forced-colors:aria-disabled:shr-fill-[GrayText]',\n ],\n anchor: [\n 'shr-no-underline',\n '[&:not([href])]:shr-cursor-not-allowed',\n /* alpha color を使用しているので、背景色と干渉させない */\n '[&:not([href])]:shr-bg-clip-padding',\n '[&_.smarthr-ui-Icon]:forced-colors:shr-fill-[LinkText]',\n '[&:not([href])_.smarthr-ui-Icon]:forced-colors:shr-fill-[CanvasText]',\n ],\n loader: [\n 'shr-align-bottom',\n '[&_.smarthr-ui-Loader-spinner]:shr-h-em [&_.smarthr-ui-Loader-spinner]:shr-w-em',\n ],\n },\n variants: {\n variant: {\n primary: {},\n secondary: {},\n danger: {},\n skeleton: {},\n text: {},\n tertiary: {},\n },\n size: {\n M: {},\n S: {},\n },\n square: {\n true: {},\n },\n loading: {\n true: {},\n },\n wide: {\n true: {},\n },\n },\n compoundSlots: [\n {\n slots: ['button', 'anchor'],\n className: [\n 'shr-box-border',\n 'shr-cursor-pointer',\n 'shr-inline-flex',\n 'shr-justify-center',\n 'shr-items-center',\n 'shr-gap-0.5',\n 'shr-text-center',\n 'shr-whitespace-nowrap',\n 'shr-rounded-m',\n /* ボタンの高さを合わせるために指定 */\n 'shr-border-shorthand',\n 'shr-font-inherit',\n 'shr-font-bold',\n 'shr-leading-none',\n 'focus-visible:shr-focus-indicator',\n 'contrast-more:shr-border-high-contrast',\n /* baseline より下の leading などの余白を埋める */\n '[&_.smarthr-ui-Icon]:shr-block',\n /** selector list は使えない\n * via https://github.com/tailwindlabs/tailwindcss/issues/10576#issuecomment-1440703413\n */\n '[&_svg]:shr-block',\n ],\n },\n {\n slots: ['button', 'anchor'],\n size: 'S',\n className: [\n 'shr-p-0.5',\n 'shr-text-sm',\n /* ボタンラベルの line-height を 0 にしたため、高さを担保する */\n 'shr-min-h-[calc(theme(fontSize.sm)+theme(spacing.1)+theme(borderWidth.2))]',\n ],\n },\n {\n slots: ['button', 'anchor'],\n size: 'M',\n className: ['shr-text-base'],\n },\n {\n slots: ['button', 'anchor'],\n size: 'M',\n square: false,\n className: 'shr-px-1 shr-py-0.75',\n },\n {\n slots: ['button', 'anchor'],\n size: 'M',\n square: true,\n className: 'shr-p-0.75',\n },\n {\n slots: ['button', 'anchor'],\n loading: true,\n className: 'shr-flex-row-reverse',\n },\n {\n slots: ['button', 'anchor'],\n wide: true,\n className: 'shr-w-full',\n },\n {\n slots: ['button', 'anchor'],\n variant: 'primary',\n className: [\n 'shr-border-main',\n 'shr-bg-main',\n 'shr-text-white',\n 'focus-visible:shr-border-main-darken',\n 'focus-visible:shr-bg-main-darken',\n 'hover:shr-border-main-darken',\n 'hover:shr-bg-main-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'primary',\n className: [\n 'aria-disabled:shr-border-main/50',\n 'aria-disabled:shr-bg-main/50',\n 'aria-disabled:shr-text-white/50',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'primary',\n className: [\n '[&:not([href])]:shr-border-main/50',\n '[&:not([href])]:shr-bg-main/50',\n '[&:not([href])]:shr-text-white/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'secondary',\n className: [\n 'shr-border-default',\n 'shr-bg-white',\n 'shr-text-black',\n 'focus-visible:shr-border-darken',\n 'focus-visible:shr-bg-white-darken',\n 'focus-visible:contrast-more:shr-border-high-contrast',\n 'hover:shr-border-darken',\n 'hover:shr-bg-white-darken',\n 'hover:contrast-more:shr-border-high-contrast',\n ],\n },\n {\n slots: ['button'],\n variant: 'secondary',\n className: [\n 'aria-disabled:shr-border-disabled',\n 'aria-disabled:shr-bg-white-darken',\n 'aria-disabled:shr-text-disabled',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'secondary',\n className: [\n '[&:not([href])]:shr-border-disabled',\n '[&:not([href])]:shr-bg-white-darken',\n '[&:not([href])]:shr-text-disabled',\n ],\n },\n {\n slots: ['button'],\n variant: 'tertiary',\n className: [\n 'shr-border-transparent',\n 'shr-bg-transparent',\n 'shr-text-link',\n 'shr-font-normal',\n 'focus-visible:shr-bg-white-darken',\n 'hover:shr-bg-white-darken',\n 'aria-disabled:shr-bg-transparent',\n 'aria-disabled:shr-text-link/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'danger',\n className: [\n 'shr-border-danger',\n 'shr-bg-danger',\n 'shr-text-white',\n 'focus-visible:shr-border-danger-darken',\n 'focus-visible:shr-bg-danger-darken',\n 'hover:shr-border-danger-darken',\n 'hover:shr-bg-danger-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'danger',\n className: [\n 'aria-disabled:shr-border-danger/50',\n 'aria-disabled:shr-bg-danger/50',\n 'aria-disabled:shr-text-white/50',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'danger',\n className: [\n '[&:not([href])]:shr-border-danger/50',\n '[&:not([href])]:shr-bg-danger/50',\n '[&:not([href])]:shr-text-white/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'skeleton',\n className: [\n 'shr-border-white',\n 'shr-bg-transparent',\n 'shr-text-white',\n 'focus-visible:shr-border-white-darken',\n 'focus-visible:shr-bg-overlay',\n 'focus-visible:shr-text-white-darken',\n 'hover:shr-border-white-darken',\n 'hover:shr-bg-overlay',\n 'hover:shr-text-white-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'skeleton',\n className: [\n 'aria-disabled:shr-border-white/50',\n 'aria-disabled:shr-bg-transparent',\n 'aria-disabled:shr-text-white/50',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'skeleton',\n className: [\n '[&:not([href])]:shr-border-white/50',\n '[&:not([href])]:shr-bg-transparent',\n '[&:not([href])]:shr-text-white/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'text',\n className: [\n 'shr-border-transparent',\n 'shr-bg-transparent',\n 'shr-text-black',\n 'focus-visible:shr-bg-white-darken',\n 'hover:shr-bg-white-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'text',\n className: [\n 'aria-disabled:shr-border-transparent',\n 'aria-disabled:shr-bg-transparent',\n 'aria-disabled:shr-text-disabled',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'text',\n className: [\n '[&:not([href])]:shr-border-transparent',\n '[&:not([href])]:shr-bg-transparent',\n '[&:not([href])]:shr-text-disabled',\n ],\n },\n {\n slots: ['loader'],\n variant: ['primary', 'danger', 'skeleton'],\n className: [\n '[&_.smarthr-ui-Loader-line]:shr-border-white/50',\n '[&_.smarthr-ui-Loader-line]:forced-colors:shr-border-[ButtonBorder]',\n ],\n },\n {\n slots: ['loader'],\n variant: ['secondary', 'text'],\n className: '[&_.smarthr-ui-Loader-line]:shr-border-disabled',\n },\n {\n slots: ['loader'],\n variant: 'tertiary',\n className: '[&_.smarthr-ui-Loader-line]:shr-border-link/50',\n },\n ],\n})\n\nconst innerClassNameGenerator = tv({\n base: [\n 'smarthr-ui-Button-body',\n /* LineClamp を併用する場合に、幅を計算してもらうために指定 */\n 'shr-min-w-0',\n ],\n variants: {\n size: {\n M: '',\n S: [\n /* SVG とテキストコンテンツの縦位置を揃えるために指定 */\n 'shr-leading-[0]',\n ],\n },\n },\n})\n"],"names":["_jsx","_jsxs","_Fragment","tv"],"mappings":"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"}
1
+ {"version":3,"file":"useButtonWrapper.js","sources":["../../../src/components/Button/useButtonWrapper.tsx"],"sourcesContent":["import {\n type AnchorHTMLAttributes,\n type ButtonHTMLAttributes,\n type ElementType,\n type ForwardedRef,\n type PropsWithChildren,\n type ReactNode,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { Loader } from '../Loader'\n\nimport type { Variant } from './types'\n\n// HINT: prefix, suffixが存在せず、かつIcon,svg,img,Loaderのいずれかが単一でbodyに含まれるButtonかチェックしたい\n// このSELECTORはbody内の対象を列挙する\n// HINT: smarthr-ui-Icon-extendedはアイコン+α(例えば複数のアイコンをまとめて一つにしているなど)を表すclass\nconst ICON_SELECTOR = '.smarthr-ui-Icon, .smarthr-ui-Icon-extended, svg, img, .smarthr-ui-Loader'\n\ntype AbstractProps = PropsWithChildren<{\n size: 'M' | 'S'\n wide: boolean\n variant: Variant\n $loading?: boolean\n className: string\n elementAs?: ElementType\n prefix?: ReactNode\n suffix?: ReactNode\n}>\n\ntype AbstractButtonProps = AbstractProps & {\n isAnchor?: never\n buttonRef?: ForwardedRef<HTMLButtonElement>\n}\ntype ButtonProps = AbstractButtonProps &\n Omit<ButtonHTMLAttributes<HTMLButtonElement>, keyof AbstractButtonProps>\n\ntype AbstractAnchorProps = AbstractProps & {\n isAnchor: true\n anchorRef?: ForwardedRef<HTMLAnchorElement>\n}\ntype AnchorProps = AbstractAnchorProps &\n Omit<AnchorHTMLAttributes<HTMLAnchorElement>, keyof AbstractAnchorProps>\n\nexport type Props = ButtonProps | AnchorProps\n\n// HINT: useButtonWrapperの引数を調整する場合、以下も調整する\ntype FilteredProps =\n 'size' | 'wide' | 'variant' | 'className' | 'prefix' | 'suffix' | 'children' | 'isAnchor'\nexport type FilteredButtonProps = Omit<ButtonProps, FilteredProps>\nexport type FilteredAnchorProps = Omit<AnchorProps, FilteredProps>\n\nexport const useButtonWrapper = ({\n size,\n wide = false,\n variant,\n $loading,\n className,\n prefix,\n suffix,\n children,\n isAnchor,\n ...rest\n}: Props) => {\n const innerRef = useRef<HTMLElement>(null)\n // HINT: squareは\n // null: Buttonのレンダリング前\n // boolean: レンダリング後\n const [square, setSquare] = useState<null | boolean>(null)\n\n const classNames = useMemo(() => {\n const { button, anchor, loader } = wrapperClassNameGenerator({\n variant,\n size,\n square: !!square,\n loading: !!$loading,\n wide,\n })\n\n const wrapper = isAnchor ? anchor : button\n\n return {\n wrapper: wrapper({ className }),\n loader: loader(),\n }\n }, [$loading, size, square, variant, wide, className, isAnchor])\n\n const innerClassName = useMemo(() => innerClassNameGenerator({ size }), [size])\n\n let actualPrefix = prefix\n let actualSuffix = suffix\n let actualChildren = children\n\n if ($loading) {\n actualPrefix = undefined\n const loader = <Loader size=\"S\" className={classNames.loader} role=\"presentation\" />\n\n // HINT: squareは null | boolean のため、switchで判定する\n // nullの場合にactualSuffixにloaderを突っ込んでしまうとsquareの計算が狂ってしまう\n switch (square) {\n case true:\n actualChildren = loader\n break\n case false:\n actualSuffix = loader\n break\n }\n }\n\n // HINT: actualSuffixなどは$loadingの判定で置き換えられる可能性がある\n // あくまで利用者が設定したprefix, suffixがないかで判定する\n const onlyBody = !prefix && !suffix\n\n useEffect(() => {\n if (!onlyBody) {\n setSquare(false)\n\n return\n }\n\n const target = innerRef.current\n\n if (!target) return\n\n const checkSquare = () => {\n setSquare(target.children.length === 1 && target.children[0].matches(ICON_SELECTOR))\n }\n\n checkSquare()\n\n const observer = new MutationObserver(checkSquare)\n\n observer.observe(target, {\n childList: true,\n })\n\n return () => {\n observer.disconnect()\n }\n }, [onlyBody])\n\n return {\n filteredProps: { ...rest, $loading } as FilteredAnchorProps | FilteredButtonProps,\n classNames,\n children: (\n <>\n {actualPrefix}\n <span ref={innerRef} className={innerClassName}>\n {actualChildren}\n </span>\n {actualSuffix}\n </>\n ),\n }\n}\n\nconst wrapperClassNameGenerator = tv({\n slots: {\n button: [\n 'aria-disabled:shr-cursor-not-allowed',\n /* alpha color を使用しているので、背景色と干渉させない */\n 'aria-disabled:shr-bg-clip-padding',\n /* disabled ではなく aria-disabled で文字色が変わらないため、強制カラーモード時の色を指定 */\n 'aria-disabled:forced-colors:shr-border-[GrayText] aria-disabled:forced-colors:shr-text-[GrayText]',\n '[&_.smarthr-ui-Icon]:forced-colors:aria-disabled:shr-fill-[GrayText]',\n ],\n anchor: [\n 'shr-no-underline',\n '[&:not([href])]:shr-cursor-not-allowed',\n /* alpha color を使用しているので、背景色と干渉させない */\n '[&:not([href])]:shr-bg-clip-padding',\n '[&_.smarthr-ui-Icon]:forced-colors:shr-fill-[LinkText]',\n '[&:not([href])_.smarthr-ui-Icon]:forced-colors:shr-fill-[CanvasText]',\n ],\n loader: [\n 'shr-align-bottom',\n '[&_.smarthr-ui-Loader-spinner]:shr-h-em [&_.smarthr-ui-Loader-spinner]:shr-w-em',\n ],\n },\n variants: {\n variant: {\n primary: {},\n secondary: {},\n danger: {},\n skeleton: {},\n text: {},\n tertiary: {},\n },\n size: {\n M: {},\n S: {},\n },\n square: {\n true: {},\n },\n loading: {\n true: {},\n },\n wide: {\n true: {},\n },\n },\n compoundSlots: [\n {\n slots: ['button', 'anchor'],\n className: [\n 'shr-box-border',\n 'shr-cursor-pointer',\n 'shr-inline-flex',\n 'shr-justify-center',\n 'shr-items-center',\n 'shr-gap-0.5',\n 'shr-text-center',\n 'shr-whitespace-nowrap',\n 'shr-rounded-m',\n /* ボタンの高さを合わせるために指定 */\n 'shr-border-shorthand',\n 'shr-font-inherit',\n 'shr-font-bold',\n 'shr-leading-none',\n 'focus-visible:shr-focus-indicator',\n 'contrast-more:shr-border-high-contrast',\n /* baseline より下の leading などの余白を埋める */\n '[&_.smarthr-ui-Icon]:shr-block',\n /** selector list は使えない\n * via https://github.com/tailwindlabs/tailwindcss/issues/10576#issuecomment-1440703413\n */\n '[&_svg]:shr-block',\n ],\n },\n {\n slots: ['button', 'anchor'],\n size: 'S',\n className: [\n 'shr-p-0.5',\n 'shr-text-sm',\n /* ボタンラベルの line-height を 0 にしたため、高さを担保する */\n 'shr-min-h-[calc(theme(fontSize.sm)+theme(spacing.1)+theme(borderWidth.2))]',\n ],\n },\n {\n slots: ['button', 'anchor'],\n size: 'M',\n className: ['shr-text-base'],\n },\n {\n slots: ['button', 'anchor'],\n size: 'M',\n square: false,\n className: 'shr-px-1 shr-py-0.75',\n },\n {\n slots: ['button', 'anchor'],\n size: 'M',\n square: true,\n className: 'shr-p-0.75',\n },\n {\n slots: ['button', 'anchor'],\n loading: true,\n className: 'shr-flex-row-reverse',\n },\n {\n slots: ['button', 'anchor'],\n wide: true,\n className: 'shr-w-full',\n },\n {\n slots: ['button', 'anchor'],\n variant: 'primary',\n className: [\n 'shr-border-main',\n 'shr-bg-main',\n 'shr-text-white',\n 'focus-visible:shr-border-main-darken',\n 'focus-visible:shr-bg-main-darken',\n 'hover:shr-border-main-darken',\n 'hover:shr-bg-main-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'primary',\n className: [\n 'aria-disabled:shr-border-main/50',\n 'aria-disabled:shr-bg-main/50',\n 'aria-disabled:shr-text-white/50',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'primary',\n className: [\n '[&:not([href])]:shr-border-main/50',\n '[&:not([href])]:shr-bg-main/50',\n '[&:not([href])]:shr-text-white/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'secondary',\n className: [\n 'shr-border-default',\n 'shr-bg-white',\n 'shr-text-black',\n 'focus-visible:shr-border-darken',\n 'focus-visible:shr-bg-white-darken',\n 'focus-visible:contrast-more:shr-border-high-contrast',\n 'hover:shr-border-darken',\n 'hover:shr-bg-white-darken',\n 'hover:contrast-more:shr-border-high-contrast',\n ],\n },\n {\n slots: ['button'],\n variant: 'secondary',\n className: [\n 'aria-disabled:shr-border-disabled',\n 'aria-disabled:shr-bg-white-darken',\n 'aria-disabled:shr-text-disabled',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'secondary',\n className: [\n '[&:not([href])]:shr-border-disabled',\n '[&:not([href])]:shr-bg-white-darken',\n '[&:not([href])]:shr-text-disabled',\n ],\n },\n {\n slots: ['button'],\n variant: 'tertiary',\n className: [\n 'shr-border-transparent',\n 'shr-bg-transparent',\n 'shr-text-link',\n 'shr-font-normal',\n 'focus-visible:shr-bg-white-darken',\n 'hover:shr-bg-white-darken',\n 'aria-disabled:shr-bg-transparent',\n 'aria-disabled:shr-text-link/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'danger',\n className: [\n 'shr-border-danger',\n 'shr-bg-danger',\n 'shr-text-white',\n 'focus-visible:shr-border-danger-darken',\n 'focus-visible:shr-bg-danger-darken',\n 'hover:shr-border-danger-darken',\n 'hover:shr-bg-danger-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'danger',\n className: [\n 'aria-disabled:shr-border-danger/50',\n 'aria-disabled:shr-bg-danger/50',\n 'aria-disabled:shr-text-white/50',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'danger',\n className: [\n '[&:not([href])]:shr-border-danger/50',\n '[&:not([href])]:shr-bg-danger/50',\n '[&:not([href])]:shr-text-white/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'skeleton',\n className: [\n 'shr-border-white',\n 'shr-bg-transparent',\n 'shr-text-white',\n 'focus-visible:shr-border-white-darken',\n 'focus-visible:shr-bg-overlay',\n 'focus-visible:shr-text-white-darken',\n 'hover:shr-border-white-darken',\n 'hover:shr-bg-overlay',\n 'hover:shr-text-white-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'skeleton',\n className: [\n 'aria-disabled:shr-border-white/50',\n 'aria-disabled:shr-bg-transparent',\n 'aria-disabled:shr-text-white/50',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'skeleton',\n className: [\n '[&:not([href])]:shr-border-white/50',\n '[&:not([href])]:shr-bg-transparent',\n '[&:not([href])]:shr-text-white/50',\n ],\n },\n {\n slots: ['button', 'anchor'],\n variant: 'text',\n className: [\n 'shr-border-transparent',\n 'shr-bg-transparent',\n 'shr-text-black',\n 'focus-visible:shr-bg-white-darken',\n 'hover:shr-bg-white-darken',\n ],\n },\n {\n slots: ['button'],\n variant: 'text',\n className: [\n 'aria-disabled:shr-border-transparent',\n 'aria-disabled:shr-bg-transparent',\n 'aria-disabled:shr-text-disabled',\n ],\n },\n {\n slots: ['anchor'],\n variant: 'text',\n className: [\n '[&:not([href])]:shr-border-transparent',\n '[&:not([href])]:shr-bg-transparent',\n '[&:not([href])]:shr-text-disabled',\n ],\n },\n {\n slots: ['loader'],\n variant: ['primary', 'danger', 'skeleton'],\n className: [\n '[&_.smarthr-ui-Loader-line]:shr-border-white/50',\n '[&_.smarthr-ui-Loader-line]:forced-colors:shr-border-[ButtonBorder]',\n ],\n },\n {\n slots: ['loader'],\n variant: ['secondary', 'text'],\n className: '[&_.smarthr-ui-Loader-line]:shr-border-disabled',\n },\n {\n slots: ['loader'],\n variant: 'tertiary',\n className: '[&_.smarthr-ui-Loader-line]:shr-border-link/50',\n },\n ],\n})\n\nconst innerClassNameGenerator = tv({\n base: [\n 'smarthr-ui-Button-body',\n /* LineClamp を併用する場合に、幅を計算してもらうために指定 */\n 'shr-min-w-0',\n ],\n variants: {\n size: {\n M: '',\n S: [\n /* SVG とテキストコンテンツの縦位置を揃えるために指定 */\n 'shr-leading-[0]',\n ],\n },\n },\n})\n"],"names":["_jsx","_jsxs","_Fragment","tv"],"mappings":"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"}
@@ -4,6 +4,7 @@ var jsxRuntime = require('react/jsx-runtime');
4
4
  var dayjs_min = require('../../_virtual/dayjs.min.cjs');
5
5
  var React = require('react');
6
6
  var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.17_@types_node@20.19.35_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
7
+ var hooks_useLatest = require('../../hooks/useLatest.cjs');
7
8
  require('../../intl/IntlProvider.cjs');
8
9
  var intl_useIntl = require('../../intl/useIntl.cjs');
9
10
  require('../../intl/Localizer.cjs');
@@ -57,13 +58,17 @@ const CalendarTable = ({ current, from, to, onSelectDate, selectedDayText, class
57
58
  }
58
59
  return days;
59
60
  }, [formatDate, getWeekStartDay]);
61
+ const latest = hooks_useLatest.useLatest({ onSelectDate });
62
+ const handleSelectDate = React.useCallback((...argsRest) => {
63
+ latest.onSelectDate(...argsRest);
64
+ }, [latest]);
60
65
  // HINT: dayjsのisSameは文字列でも比較可能なため、cacheが効きやすいstringにする
61
66
  const nowDateText = dayjs_min().startOf('date').toString();
62
- return (jsxRuntime.jsx("div", { className: classNames.wrapper, children: jsxRuntime.jsxs("table", { ...rest, className: classNames.table, children: [jsxRuntime.jsx(MemoizedThead, { thStyle: classNames.th, daysInWeek: daysInWeek }), jsxRuntime.jsx("tbody", { children: current.months.map((week, weekIndex) => (jsxRuntime.jsx("tr", { children: week.map((date, dateIndex) => date ? (jsxRuntime.jsx(SelectTdButton, { date: date, currentDay: current.day, selectedDayText: selectedDayText, from: from, to: to, nowDateText: nowDateText, onClick: onSelectDate, classNames: classNames }, dateIndex)) : (jsxRuntime.jsx(NullTd, { className: classNames.td }, dateIndex))) }, weekIndex))) })] }) }));
67
+ return (jsxRuntime.jsx("div", { className: classNames.wrapper, children: jsxRuntime.jsxs("table", { ...rest, className: classNames.table, children: [jsxRuntime.jsx(MemoizedThead, { thStyle: classNames.th, daysInWeek: daysInWeek }), jsxRuntime.jsx("tbody", { children: current.months.map((week, weekIndex) => (jsxRuntime.jsx("tr", { children: week.map((date, dateIndex) => date ? (jsxRuntime.jsx(SelectTdButton, { date: date, currentDay: current.day, selectedDayText: selectedDayText, from: from, to: to, nowDateText: nowDateText, handleClick: handleSelectDate, classNames: classNames }, dateIndex)) : (jsxRuntime.jsx(NullTd, { className: classNames.td }, dateIndex))) }, weekIndex))) })] }) }));
63
68
  };
64
69
  const MemoizedThead = React.memo(({ thStyle, daysInWeek }) => (jsxRuntime.jsx("thead", { children: jsxRuntime.jsx("tr", { children: daysInWeek.map((day) => (jsxRuntime.jsx("th", { className: thStyle, children: day }, day))) }) })));
65
70
  const NullTd = React.memo(({ className }) => jsxRuntime.jsx("td", { className: className }));
66
- const SelectTdButton = React.memo(({ date, currentDay, selectedDayText, from, to, nowDateText, onClick, classNames }) => {
71
+ const SelectTdButton = React.memo(({ date, currentDay, selectedDayText, from, to, nowDateText, handleClick, classNames }) => {
67
72
  const target = React.useMemo(() => {
68
73
  const day = currentDay.date(date);
69
74
  return {
@@ -71,15 +76,10 @@ const SelectTdButton = React.memo(({ date, currentDay, selectedDayText, from, to
71
76
  date: day.toDate(),
72
77
  };
73
78
  }, [currentDay, date]);
74
- const disabled = React.useMemo(() => !components_Calendar_calendarHelper.isBetween(target.date, from, to), [target.date, from, to]);
75
- const ariaPressed = React.useMemo(() => target.day.isSame(selectedDayText, 'date'), [selectedDayText, target.day]);
76
- const dataIsToday = React.useMemo(() => target.day.isSame(nowDateText, 'date'), [nowDateText, target.day]);
77
- const actualOnClick = React.useCallback((e) => {
78
- onClick(e, target.date);
79
- }, [onClick, target.date]);
80
- return (jsxRuntime.jsx("td", { className: classNames.td, children: jsxRuntime.jsx(components_Button_UnstyledButton.UnstyledButton, { type: "button", disabled: disabled, "aria-pressed": ariaPressed, onClick: actualOnClick, className: classNames.cellButton, "data-is-today": dataIsToday, children: jsxRuntime.jsx(SelectButtonTdDateCell, { className: classNames.dateCell, children: date }) }) }));
79
+ return (jsxRuntime.jsx("td", { className: classNames.td, children: jsxRuntime.jsx(components_Button_UnstyledButton.UnstyledButton, { type: "button", disabled: !components_Calendar_calendarHelper.isBetween(target.date, from, to), "aria-pressed": target.day.isSame(selectedDayText, 'date'), onClick: (e) => {
80
+ handleClick(e, target.date);
81
+ }, className: classNames.cellButton, "data-is-today": target.day.isSame(nowDateText, 'date'), children: jsxRuntime.jsx("span", { className: classNames.dateCell, children: date }) }) }));
81
82
  });
82
- const SelectButtonTdDateCell = React.memo(({ children, className }) => jsxRuntime.jsx("span", { className: className, children: children }));
83
83
 
84
84
  exports.CalendarTable = CalendarTable;
85
85
  //# sourceMappingURL=CalendarTable.cjs.map