smarthr-ui 99.3.2 → 99.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (475) hide show
  1. package/lib/_virtual/plugin.cjs +1 -1
  2. package/lib/_virtual/plugin.js +1 -1
  3. package/lib/components/AccordionPanel/AccordionPanel.cjs +1 -1
  4. package/lib/components/AccordionPanel/AccordionPanel.js +1 -1
  5. package/lib/components/AccordionPanel/AccordionPanelContent.cjs +1 -1
  6. package/lib/components/AccordionPanel/AccordionPanelContent.js +1 -1
  7. package/lib/components/AccordionPanel/AccordionPanelItem.cjs +1 -1
  8. package/lib/components/AccordionPanel/AccordionPanelItem.js +1 -1
  9. package/lib/components/AccordionPanel/AccordionPanelTrigger.cjs +1 -1
  10. package/lib/components/AccordionPanel/AccordionPanelTrigger.js +1 -1
  11. package/lib/components/AppHeader/components/common/AppLauncherFeatures.cjs +1 -1
  12. package/lib/components/AppHeader/components/common/AppLauncherFeatures.js +1 -1
  13. package/lib/components/AppHeader/components/common/AppLauncherSortDropdown.cjs +1 -1
  14. package/lib/components/AppHeader/components/common/AppLauncherSortDropdown.js +1 -1
  15. package/lib/components/AppHeader/components/common/CommonButton.cjs +1 -1
  16. package/lib/components/AppHeader/components/common/CommonButton.js +1 -1
  17. package/lib/components/AppHeader/components/desktop/AppLauncher.cjs +3 -3
  18. package/lib/components/AppHeader/components/desktop/AppLauncher.cjs.map +1 -1
  19. package/lib/components/AppHeader/components/desktop/AppLauncher.js +3 -3
  20. package/lib/components/AppHeader/components/desktop/AppLauncher.js.map +1 -1
  21. package/lib/components/AppHeader/components/desktop/DesktopHeader.cjs +1 -1
  22. package/lib/components/AppHeader/components/desktop/DesktopHeader.js +1 -1
  23. package/lib/components/AppHeader/components/desktop/Navigation.cjs +1 -1
  24. package/lib/components/AppHeader/components/desktop/Navigation.js +1 -1
  25. package/lib/components/AppHeader/components/desktop/ReleaseNotesDropdown.cjs +1 -1
  26. package/lib/components/AppHeader/components/desktop/ReleaseNotesDropdown.js +1 -1
  27. package/lib/components/AppHeader/components/desktop/UserInfo.cjs +1 -1
  28. package/lib/components/AppHeader/components/desktop/UserInfo.js +1 -1
  29. package/lib/components/AppHeader/components/mobile/AppLauncher.cjs +3 -3
  30. package/lib/components/AppHeader/components/mobile/AppLauncher.cjs.map +1 -1
  31. package/lib/components/AppHeader/components/mobile/AppLauncher.js +3 -3
  32. package/lib/components/AppHeader/components/mobile/AppLauncher.js.map +1 -1
  33. package/lib/components/AppHeader/components/mobile/AppLauncherFilterDropdown.cjs +1 -1
  34. package/lib/components/AppHeader/components/mobile/AppLauncherFilterDropdown.js +1 -1
  35. package/lib/components/AppHeader/components/mobile/LanguageSelector.cjs +1 -1
  36. package/lib/components/AppHeader/components/mobile/LanguageSelector.js +1 -1
  37. package/lib/components/AppHeader/components/mobile/Menu.cjs +1 -1
  38. package/lib/components/AppHeader/components/mobile/Menu.js +1 -1
  39. package/lib/components/AppHeader/components/mobile/MenuDialog.cjs +1 -1
  40. package/lib/components/AppHeader/components/mobile/MenuDialog.js +1 -1
  41. package/lib/components/AppHeader/components/mobile/MobileHeader.cjs +1 -1
  42. package/lib/components/AppHeader/components/mobile/MobileHeader.cjs.map +1 -1
  43. package/lib/components/AppHeader/components/mobile/MobileHeader.js +1 -1
  44. package/lib/components/AppHeader/components/mobile/MobileHeader.js.map +1 -1
  45. package/lib/components/AppHeader/components/mobile/Navigation.cjs +1 -1
  46. package/lib/components/AppHeader/components/mobile/Navigation.js +1 -1
  47. package/lib/components/AppHeader/components/mobile/NavigationItem.cjs +1 -1
  48. package/lib/components/AppHeader/components/mobile/NavigationItem.js +1 -1
  49. package/lib/components/AppHeader/components/mobile/ReleaseNote.cjs +1 -1
  50. package/lib/components/AppHeader/components/mobile/ReleaseNote.js +1 -1
  51. package/lib/components/AppHeader/components/mobile/TenantSelector.cjs +1 -1
  52. package/lib/components/AppHeader/components/mobile/TenantSelector.js +1 -1
  53. package/lib/components/AppHeader/components/mobile/UserInfo.cjs +1 -1
  54. package/lib/components/AppHeader/components/mobile/UserInfo.js +1 -1
  55. package/lib/components/AppHeader/hooks/useAppLauncher.cjs +10 -2
  56. package/lib/components/AppHeader/hooks/useAppLauncher.cjs.map +1 -1
  57. package/lib/components/AppHeader/hooks/useAppLauncher.d.ts +1 -0
  58. package/lib/components/AppHeader/hooks/useAppLauncher.js +10 -2
  59. package/lib/components/AppHeader/hooks/useAppLauncher.js.map +1 -1
  60. package/lib/components/AppNavi/AppNavi.cjs +1 -1
  61. package/lib/components/AppNavi/AppNavi.js +1 -1
  62. package/lib/components/AppNavi/AppNaviAnchor.cjs +1 -1
  63. package/lib/components/AppNavi/AppNaviAnchor.js +1 -1
  64. package/lib/components/AppNavi/AppNaviButton.cjs +1 -1
  65. package/lib/components/AppNavi/AppNaviButton.js +1 -1
  66. package/lib/components/AppNavi/AppNaviCustomTag.cjs +1 -1
  67. package/lib/components/AppNavi/AppNaviCustomTag.js +1 -1
  68. package/lib/components/AppNavi/AppNaviDropdown.cjs +1 -1
  69. package/lib/components/AppNavi/AppNaviDropdown.js +1 -1
  70. package/lib/components/AppNavi/AppNaviDropdownMenuButton.cjs +1 -1
  71. package/lib/components/AppNavi/AppNaviDropdownMenuButton.js +1 -1
  72. package/lib/components/AppNavi/itemClassNameGenerator.cjs +1 -1
  73. package/lib/components/AppNavi/itemClassNameGenerator.js +1 -1
  74. package/lib/components/Badge/Badge.cjs +1 -1
  75. package/lib/components/Badge/Badge.js +1 -1
  76. package/lib/components/BottomFixedArea/BottomFixedArea.cjs +1 -1
  77. package/lib/components/BottomFixedArea/BottomFixedArea.js +1 -1
  78. package/lib/components/Browser/Browser.cjs +1 -1
  79. package/lib/components/Browser/Browser.js +1 -1
  80. package/lib/components/Browser/BrowserColumn.cjs +1 -1
  81. package/lib/components/Browser/BrowserColumn.js +1 -1
  82. package/lib/components/Browser/BrowserItem.cjs +1 -1
  83. package/lib/components/Browser/BrowserItem.js +1 -1
  84. package/lib/components/Button/AnchorButton.cjs +1 -1
  85. package/lib/components/Button/AnchorButton.js +1 -1
  86. package/lib/components/Button/Button.cjs +1 -1
  87. package/lib/components/Button/Button.js +1 -1
  88. package/lib/components/Button/DisabledReason.cjs +1 -1
  89. package/lib/components/Button/DisabledReason.js +1 -1
  90. package/lib/components/Button/UnstyledButton.cjs +1 -1
  91. package/lib/components/Button/UnstyledButton.js +1 -1
  92. package/lib/components/Button/useButtonWrapper.cjs +1 -1
  93. package/lib/components/Button/useButtonWrapper.js +1 -1
  94. package/lib/components/Calendar/Calendar.cjs +1 -1
  95. package/lib/components/Calendar/Calendar.js +1 -1
  96. package/lib/components/Calendar/CalendarTable.cjs +1 -1
  97. package/lib/components/Calendar/CalendarTable.js +1 -1
  98. package/lib/components/Calendar/YearPicker.cjs +1 -1
  99. package/lib/components/Calendar/YearPicker.js +1 -1
  100. package/lib/components/Checkbox/Checkbox.cjs +1 -1
  101. package/lib/components/Checkbox/Checkbox.js +1 -1
  102. package/lib/components/Chip/Chip.cjs +1 -1
  103. package/lib/components/Chip/Chip.js +1 -1
  104. package/lib/components/Combobox/ItemButton.cjs +1 -1
  105. package/lib/components/Combobox/ItemButton.js +1 -1
  106. package/lib/components/Combobox/MultiCombobox/MultiCombobox.cjs +15 -5
  107. package/lib/components/Combobox/MultiCombobox/MultiCombobox.cjs.map +1 -1
  108. package/lib/components/Combobox/MultiCombobox/MultiCombobox.js +16 -6
  109. package/lib/components/Combobox/MultiCombobox/MultiCombobox.js.map +1 -1
  110. package/lib/components/Combobox/MultiCombobox/MultiSelectedItem.cjs +1 -1
  111. package/lib/components/Combobox/MultiCombobox/MultiSelectedItem.js +1 -1
  112. package/lib/components/Combobox/SingleCombobox/SingleCombobox.cjs +7 -3
  113. package/lib/components/Combobox/SingleCombobox/SingleCombobox.cjs.map +1 -1
  114. package/lib/components/Combobox/SingleCombobox/SingleCombobox.js +8 -4
  115. package/lib/components/Combobox/SingleCombobox/SingleCombobox.js.map +1 -1
  116. package/lib/components/Combobox/useListbox.cjs +8 -4
  117. package/lib/components/Combobox/useListbox.cjs.map +1 -1
  118. package/lib/components/Combobox/useListbox.js +8 -4
  119. package/lib/components/Combobox/useListbox.js.map +1 -1
  120. package/lib/components/DatePicker/DatePicker.cjs +7 -3
  121. package/lib/components/DatePicker/DatePicker.cjs.map +1 -1
  122. package/lib/components/DatePicker/DatePicker.js +7 -3
  123. package/lib/components/DatePicker/DatePicker.js.map +1 -1
  124. package/lib/components/DefinitionList/DefinitionList.cjs +1 -1
  125. package/lib/components/DefinitionList/DefinitionList.js +1 -1
  126. package/lib/components/DefinitionList/DefinitionListItem.cjs +8 -9
  127. package/lib/components/DefinitionList/DefinitionListItem.cjs.map +1 -1
  128. package/lib/components/DefinitionList/DefinitionListItem.js +8 -9
  129. package/lib/components/DefinitionList/DefinitionListItem.js.map +1 -1
  130. package/lib/components/Dialog/ControlledFormDialog/FormDialogContentInner.cjs +1 -1
  131. package/lib/components/Dialog/ControlledFormDialog/FormDialogContentInner.js +1 -1
  132. package/lib/components/Dialog/ControlledStepFormDialog/ControlledStepFormDialog.cjs +32 -4
  133. package/lib/components/Dialog/ControlledStepFormDialog/ControlledStepFormDialog.cjs.map +1 -1
  134. package/lib/components/Dialog/ControlledStepFormDialog/ControlledStepFormDialog.d.ts +1 -1
  135. package/lib/components/Dialog/ControlledStepFormDialog/ControlledStepFormDialog.js +29 -1
  136. package/lib/components/Dialog/ControlledStepFormDialog/ControlledStepFormDialog.js.map +1 -1
  137. package/lib/components/Dialog/ControlledStepFormDialog/StepFormDialogContentInner.cjs.map +1 -1
  138. package/lib/components/Dialog/ControlledStepFormDialog/StepFormDialogContentInner.d.ts +1 -2
  139. package/lib/components/Dialog/ControlledStepFormDialog/StepFormDialogContentInner.js.map +1 -1
  140. package/lib/components/Dialog/ControlledStepFormDialog/type.cjs +3 -0
  141. package/lib/components/Dialog/ControlledStepFormDialog/type.cjs.map +1 -0
  142. package/lib/components/Dialog/ControlledStepFormDialog/type.d.ts +25 -0
  143. package/lib/components/Dialog/ControlledStepFormDialog/type.js +2 -0
  144. package/lib/components/Dialog/ControlledStepFormDialog/type.js.map +1 -0
  145. package/lib/components/Dialog/DialogBody.cjs +1 -1
  146. package/lib/components/Dialog/DialogBody.js +1 -1
  147. package/lib/components/Dialog/DialogContentInner.cjs +1 -1
  148. package/lib/components/Dialog/DialogContentInner.js +1 -1
  149. package/lib/components/Dialog/DialogOverlap.cjs +1 -1
  150. package/lib/components/Dialog/DialogOverlap.js +1 -1
  151. package/lib/components/Dialog/FocusTrap.cjs +61 -44
  152. package/lib/components/Dialog/FocusTrap.cjs.map +1 -1
  153. package/lib/components/Dialog/FocusTrap.js +62 -45
  154. package/lib/components/Dialog/FocusTrap.js.map +1 -1
  155. package/lib/components/Dialog/ModelessDialog/ModelessDialog.cjs +1 -1
  156. package/lib/components/Dialog/ModelessDialog/ModelessDialog.js +1 -1
  157. package/lib/components/Dialog/RemoteDialogTrigger/useRemoteTrigger.cjs +20 -10
  158. package/lib/components/Dialog/RemoteDialogTrigger/useRemoteTrigger.cjs.map +1 -1
  159. package/lib/components/Dialog/RemoteDialogTrigger/useRemoteTrigger.d.ts +1 -1
  160. package/lib/components/Dialog/RemoteDialogTrigger/useRemoteTrigger.js +20 -10
  161. package/lib/components/Dialog/RemoteDialogTrigger/useRemoteTrigger.js.map +1 -1
  162. package/lib/components/Dialog/dialogInnerStyle.cjs +1 -1
  163. package/lib/components/Dialog/dialogInnerStyle.js +1 -1
  164. package/lib/components/Disclosure/useDisclosure.cjs +6 -3
  165. package/lib/components/Disclosure/useDisclosure.cjs.map +1 -1
  166. package/lib/components/Disclosure/useDisclosure.js +6 -3
  167. package/lib/components/Disclosure/useDisclosure.js.map +1 -1
  168. package/lib/components/DropZone/DropZone.cjs +1 -1
  169. package/lib/components/DropZone/DropZone.js +1 -1
  170. package/lib/components/Dropdown/Dropdown.cjs +20 -9
  171. package/lib/components/Dropdown/Dropdown.cjs.map +1 -1
  172. package/lib/components/Dropdown/Dropdown.js +20 -9
  173. package/lib/components/Dropdown/Dropdown.js.map +1 -1
  174. package/lib/components/Dropdown/DropdownCloser.cjs +1 -1
  175. package/lib/components/Dropdown/DropdownCloser.js +1 -1
  176. package/lib/components/Dropdown/DropdownContentInner.cjs +79 -3
  177. package/lib/components/Dropdown/DropdownContentInner.cjs.map +1 -1
  178. package/lib/components/Dropdown/DropdownContentInner.js +81 -5
  179. package/lib/components/Dropdown/DropdownContentInner.js.map +1 -1
  180. package/lib/components/Dropdown/DropdownMenuButton/DropdownMenuButton.cjs +70 -3
  181. package/lib/components/Dropdown/DropdownMenuButton/DropdownMenuButton.cjs.map +1 -1
  182. package/lib/components/Dropdown/DropdownMenuButton/DropdownMenuButton.js +71 -4
  183. package/lib/components/Dropdown/DropdownMenuButton/DropdownMenuButton.js.map +1 -1
  184. package/lib/components/Dropdown/DropdownMenuButton/DropdownMenuGroup.cjs +1 -1
  185. package/lib/components/Dropdown/DropdownMenuButton/DropdownMenuGroup.js +1 -1
  186. package/lib/components/Dropdown/DropdownTrigger.cjs +1 -1
  187. package/lib/components/Dropdown/DropdownTrigger.js +1 -1
  188. package/lib/components/Dropdown/FilterDropdown/FilterDropdown.cjs +1 -1
  189. package/lib/components/Dropdown/FilterDropdown/FilterDropdown.js +1 -1
  190. package/lib/components/Dropdown/SortDropdown/SortDropdown.cjs +68 -14
  191. package/lib/components/Dropdown/SortDropdown/SortDropdown.cjs.map +1 -1
  192. package/lib/components/Dropdown/SortDropdown/SortDropdown.js +69 -15
  193. package/lib/components/Dropdown/SortDropdown/SortDropdown.js.map +1 -1
  194. package/lib/components/ErrorScreen/ErrorScreen.cjs +1 -1
  195. package/lib/components/ErrorScreen/ErrorScreen.js +1 -1
  196. package/lib/components/FileViewer/PDFViewer.cjs +27 -26
  197. package/lib/components/FileViewer/PDFViewer.cjs.map +1 -1
  198. package/lib/components/FileViewer/PDFViewer.js +28 -27
  199. package/lib/components/FileViewer/PDFViewer.js.map +1 -1
  200. package/lib/components/FileViewer/SearchController.cjs +1 -1
  201. package/lib/components/FileViewer/SearchController.js +1 -1
  202. package/lib/components/FloatArea/FloatArea.cjs +26 -85
  203. package/lib/components/FloatArea/FloatArea.cjs.map +1 -1
  204. package/lib/components/FloatArea/FloatArea.js +26 -85
  205. package/lib/components/FloatArea/FloatArea.js.map +1 -1
  206. package/lib/components/FormControl/FormControl.cjs +60 -41
  207. package/lib/components/FormControl/FormControl.cjs.map +1 -1
  208. package/lib/components/FormControl/FormControl.js +60 -41
  209. package/lib/components/FormControl/FormControl.js.map +1 -1
  210. package/lib/components/Header/AppLauncher/AppLauncher.cjs +5 -5
  211. package/lib/components/Header/AppLauncher/AppLauncher.cjs.map +1 -1
  212. package/lib/components/Header/AppLauncher/AppLauncher.js +5 -5
  213. package/lib/components/Header/AppLauncher/AppLauncher.js.map +1 -1
  214. package/lib/components/Header/Header.cjs +1 -1
  215. package/lib/components/Header/Header.js +1 -1
  216. package/lib/components/Header/HeaderDropdownMenuButton.cjs +1 -1
  217. package/lib/components/Header/HeaderDropdownMenuButton.js +1 -1
  218. package/lib/components/Header/HeaderLink.cjs +1 -1
  219. package/lib/components/Header/HeaderLink.js +1 -1
  220. package/lib/components/Header/LanguageSwitcher/LanguageSwitcher.cjs +1 -1
  221. package/lib/components/Header/LanguageSwitcher/LanguageSwitcher.js +1 -1
  222. package/lib/components/Heading/Heading.cjs +1 -1
  223. package/lib/components/Heading/Heading.js +1 -1
  224. package/lib/components/Heading/PageHeading/PageHeading.cjs +43 -27
  225. package/lib/components/Heading/PageHeading/PageHeading.cjs.map +1 -1
  226. package/lib/components/Heading/PageHeading/PageHeading.js +44 -28
  227. package/lib/components/Heading/PageHeading/PageHeading.js.map +1 -1
  228. package/lib/components/Icon/generateIcon.cjs +1 -1
  229. package/lib/components/Icon/generateIcon.js +1 -1
  230. package/lib/components/InformationPanel/InformationPanel.cjs +7 -7
  231. package/lib/components/InformationPanel/InformationPanel.cjs.map +1 -1
  232. package/lib/components/InformationPanel/InformationPanel.js +8 -8
  233. package/lib/components/InformationPanel/InformationPanel.js.map +1 -1
  234. package/lib/components/Input/CurrencyInput/CurrencyInput.cjs +17 -16
  235. package/lib/components/Input/CurrencyInput/CurrencyInput.cjs.map +1 -1
  236. package/lib/components/Input/CurrencyInput/CurrencyInput.js +18 -17
  237. package/lib/components/Input/CurrencyInput/CurrencyInput.js.map +1 -1
  238. package/lib/components/Input/Input.cjs +15 -16
  239. package/lib/components/Input/Input.cjs.map +1 -1
  240. package/lib/components/Input/Input.js +16 -17
  241. package/lib/components/Input/Input.js.map +1 -1
  242. package/lib/components/Input/InputWithTooltip/InputWithTooltip.cjs +3 -3
  243. package/lib/components/Input/InputWithTooltip/InputWithTooltip.cjs.map +1 -1
  244. package/lib/components/Input/InputWithTooltip/InputWithTooltip.js +3 -3
  245. package/lib/components/Input/InputWithTooltip/InputWithTooltip.js.map +1 -1
  246. package/lib/components/Input/SearchInput/SearchInput.cjs +10 -3
  247. package/lib/components/Input/SearchInput/SearchInput.cjs.map +1 -1
  248. package/lib/components/Input/SearchInput/SearchInput.js +10 -3
  249. package/lib/components/Input/SearchInput/SearchInput.js.map +1 -1
  250. package/lib/components/InputFile/style.cjs +1 -1
  251. package/lib/components/InputFile/style.js +1 -1
  252. package/lib/components/Layout/Center/Center.cjs +1 -1
  253. package/lib/components/Layout/Center/Center.js +1 -1
  254. package/lib/components/Layout/Cluster/Cluster.cjs +1 -1
  255. package/lib/components/Layout/Cluster/Cluster.js +1 -1
  256. package/lib/components/Layout/Container/Container.cjs +1 -1
  257. package/lib/components/Layout/Container/Container.js +1 -1
  258. package/lib/components/Layout/Reel/Reel.cjs +1 -1
  259. package/lib/components/Layout/Reel/Reel.js +1 -1
  260. package/lib/components/Layout/Sidebar/Sidebar.cjs +1 -1
  261. package/lib/components/Layout/Sidebar/Sidebar.js +1 -1
  262. package/lib/components/Layout/Stack/Stack.cjs +1 -1
  263. package/lib/components/Layout/Stack/Stack.js +1 -1
  264. package/lib/components/LineClamp/LineClamp.cjs +1 -1
  265. package/lib/components/LineClamp/LineClamp.js +1 -1
  266. package/lib/components/Loader/Loader.cjs +1 -1
  267. package/lib/components/Loader/Loader.js +1 -1
  268. package/lib/components/Loader/LoaderSpinner.cjs +1 -1
  269. package/lib/components/Loader/LoaderSpinner.js +1 -1
  270. package/lib/components/NotificationBar/NotificationBar.cjs +1 -1
  271. package/lib/components/NotificationBar/NotificationBar.js +1 -1
  272. package/lib/components/PageCounter/PageCounter.cjs +1 -1
  273. package/lib/components/PageCounter/PageCounter.js +1 -1
  274. package/lib/components/Pagination/Pagination.cjs +1 -1
  275. package/lib/components/Pagination/Pagination.js +1 -1
  276. package/lib/components/Panel/Groupbox/Groupbox.cjs +1 -1
  277. package/lib/components/Panel/Groupbox/Groupbox.js +1 -1
  278. package/lib/components/Panel/Panel.cjs +1 -1
  279. package/lib/components/Panel/Panel.js +1 -1
  280. package/lib/components/Picker/style.cjs +1 -1
  281. package/lib/components/Picker/style.js +1 -1
  282. package/lib/components/RadioButton/RadioButton.cjs +1 -1
  283. package/lib/components/RadioButton/RadioButton.js +1 -1
  284. package/lib/components/RadioButtonPanel/RadioButtonPanel.cjs +5 -4
  285. package/lib/components/RadioButtonPanel/RadioButtonPanel.cjs.map +1 -1
  286. package/lib/components/RadioButtonPanel/RadioButtonPanel.js +6 -5
  287. package/lib/components/RadioButtonPanel/RadioButtonPanel.js.map +1 -1
  288. package/lib/components/ResponseMessage/ResponseMessage.cjs +1 -1
  289. package/lib/components/ResponseMessage/ResponseMessage.js +1 -1
  290. package/lib/components/Scroller/Scroller.cjs +23 -13
  291. package/lib/components/Scroller/Scroller.cjs.map +1 -1
  292. package/lib/components/Scroller/Scroller.js +24 -14
  293. package/lib/components/Scroller/Scroller.js.map +1 -1
  294. package/lib/components/SegmentedControl/SegmentedControl.cjs +30 -23
  295. package/lib/components/SegmentedControl/SegmentedControl.cjs.map +1 -1
  296. package/lib/components/SegmentedControl/SegmentedControl.js +31 -24
  297. package/lib/components/SegmentedControl/SegmentedControl.js.map +1 -1
  298. package/lib/components/Select/Select.cjs +1 -1
  299. package/lib/components/Select/Select.js +1 -1
  300. package/lib/components/SideMenu/SideMenu.cjs +1 -1
  301. package/lib/components/SideMenu/SideMenu.js +1 -1
  302. package/lib/components/SideMenu/SideMenuGroup.cjs +1 -1
  303. package/lib/components/SideMenu/SideMenuGroup.js +1 -1
  304. package/lib/components/SideMenu/SideMenuItem.cjs +1 -1
  305. package/lib/components/SideMenu/SideMenuItem.js +1 -1
  306. package/lib/components/SideNav/SideNav.cjs +1 -1
  307. package/lib/components/SideNav/SideNav.js +1 -1
  308. package/lib/components/SideNav/SideNavItemButton.cjs +1 -1
  309. package/lib/components/SideNav/SideNavItemButton.js +1 -1
  310. package/lib/components/SmartHRLogo/SmartHRLogo.cjs +1 -1
  311. package/lib/components/SmartHRLogo/SmartHRLogo.js +1 -1
  312. package/lib/components/SpreadsheetTable/SpreadsheetTable.cjs +1 -1
  313. package/lib/components/SpreadsheetTable/SpreadsheetTable.js +1 -1
  314. package/lib/components/StatusLabel/StatusLabel.cjs +1 -1
  315. package/lib/components/StatusLabel/StatusLabel.js +1 -1
  316. package/lib/components/Stepper/HorizontalStepItem.cjs +1 -1
  317. package/lib/components/Stepper/HorizontalStepItem.js +1 -1
  318. package/lib/components/Stepper/StepCounter.cjs +1 -1
  319. package/lib/components/Stepper/StepCounter.js +1 -1
  320. package/lib/components/Stepper/StepStatusIcon.cjs +1 -1
  321. package/lib/components/Stepper/StepStatusIcon.js +1 -1
  322. package/lib/components/Stepper/Stepper.cjs +1 -1
  323. package/lib/components/Stepper/Stepper.js +1 -1
  324. package/lib/components/Stepper/VerticalStepItem.cjs +1 -1
  325. package/lib/components/Stepper/VerticalStepItem.js +1 -1
  326. package/lib/components/Switch/Switch.cjs +1 -1
  327. package/lib/components/Switch/Switch.js +1 -1
  328. package/lib/components/TabBar/TabBar.cjs +1 -1
  329. package/lib/components/TabBar/TabBar.js +1 -1
  330. package/lib/components/TabBar/TabItem.cjs +1 -1
  331. package/lib/components/TabBar/TabItem.js +1 -1
  332. package/lib/components/Table/BulkActionRow.cjs +1 -1
  333. package/lib/components/Table/BulkActionRow.js +1 -1
  334. package/lib/components/Table/EmptyTableBody.cjs +1 -1
  335. package/lib/components/Table/EmptyTableBody.js +1 -1
  336. package/lib/components/Table/Table.cjs +1 -1
  337. package/lib/components/Table/Table.js +1 -1
  338. package/lib/components/Table/TableReel.cjs +1 -1
  339. package/lib/components/Table/TableReel.js +1 -1
  340. package/lib/components/Table/Td.cjs +1 -1
  341. package/lib/components/Table/Td.js +1 -1
  342. package/lib/components/Table/TdCheckbox.cjs +1 -1
  343. package/lib/components/Table/TdCheckbox.js +1 -1
  344. package/lib/components/Table/TdRadioButton.cjs +1 -1
  345. package/lib/components/Table/TdRadioButton.js +1 -1
  346. package/lib/components/Table/Th.cjs +1 -1
  347. package/lib/components/Table/Th.js +1 -1
  348. package/lib/components/Table/ThCheckbox.cjs +1 -1
  349. package/lib/components/Table/ThCheckbox.js +1 -1
  350. package/lib/components/Table/ThSortButton.cjs +1 -1
  351. package/lib/components/Table/ThSortButton.js +1 -1
  352. package/lib/components/Table/reelShadowStyle.cjs +1 -1
  353. package/lib/components/Table/reelShadowStyle.js +1 -1
  354. package/lib/components/Text/Text.cjs +1 -1
  355. package/lib/components/Text/Text.js +1 -1
  356. package/lib/components/TextLink/TextLink.cjs +1 -1
  357. package/lib/components/TextLink/TextLink.js +1 -1
  358. package/lib/components/TextLink/UpwardLink/UpwardLink.cjs +1 -1
  359. package/lib/components/TextLink/UpwardLink/UpwardLink.js +1 -1
  360. package/lib/components/Textarea/Textarea.cjs +1 -1
  361. package/lib/components/Textarea/Textarea.js +1 -1
  362. package/lib/components/Timeline/Timeline.cjs +1 -1
  363. package/lib/components/Timeline/Timeline.js +1 -1
  364. package/lib/components/Timeline/TimelineItem.cjs +1 -1
  365. package/lib/components/Timeline/TimelineItem.js +1 -1
  366. package/lib/components/Tooltip/ControlledTooltip.cjs +1 -1
  367. package/lib/components/Tooltip/ControlledTooltip.js +1 -1
  368. package/lib/components/Tooltip/Tooltip.cjs +1 -1
  369. package/lib/components/Tooltip/Tooltip.js +1 -1
  370. package/lib/components/Tooltip/TooltipPortal.cjs +1 -1
  371. package/lib/components/Tooltip/TooltipPortal.js +1 -1
  372. package/lib/components/VisuallyHiddenText/VisuallyHiddenText.cjs +1 -1
  373. package/lib/components/VisuallyHiddenText/VisuallyHiddenText.js +1 -1
  374. package/lib/configureTwMerge.cjs +1 -1
  375. package/lib/configureTwMerge.js +1 -1
  376. package/lib/hooks/useAnimationFrame.cjs +40 -0
  377. package/lib/hooks/useAnimationFrame.cjs.map +1 -0
  378. package/lib/hooks/useAnimationFrame.d.ts +19 -0
  379. package/lib/hooks/useAnimationFrame.js +38 -0
  380. package/lib/hooks/useAnimationFrame.js.map +1 -0
  381. package/lib/hooks/useLatest.cjs +1 -2
  382. package/lib/hooks/useLatest.cjs.map +1 -1
  383. package/lib/hooks/useLatest.js +1 -2
  384. package/lib/hooks/useLatest.js.map +1 -1
  385. package/lib/hooks/useMediaQueries/useMediaQueries.cjs +41 -29
  386. package/lib/hooks/useMediaQueries/useMediaQueries.cjs.map +1 -1
  387. package/lib/hooks/useMediaQueries/useMediaQueries.js +42 -30
  388. package/lib/hooks/useMediaQueries/useMediaQueries.js.map +1 -1
  389. package/lib/hooks/useMergeRefs.cjs +56 -0
  390. package/lib/hooks/useMergeRefs.cjs.map +1 -0
  391. package/lib/hooks/useMergeRefs.d.ts +18 -0
  392. package/lib/hooks/useMergeRefs.js +54 -0
  393. package/lib/hooks/useMergeRefs.js.map +1 -0
  394. package/lib/hooks/useOnce.cjs +42 -0
  395. package/lib/hooks/useOnce.cjs.map +1 -0
  396. package/lib/hooks/useOnce.d.ts +19 -0
  397. package/lib/hooks/useOnce.js +40 -0
  398. package/lib/hooks/useOnce.js.map +1 -0
  399. package/lib/hooks/useSV/useSV.cjs +1 -1
  400. package/lib/hooks/useSV/useSV.js +1 -1
  401. package/lib/index.cjs +2 -0
  402. package/lib/index.cjs.map +1 -1
  403. package/lib/index.d.ts +1 -0
  404. package/lib/index.js +1 -0
  405. package/lib/index.js.map +1 -1
  406. package/lib/{components/Input/CurrencyInput/currencyInputHelper.js → libs/formatNumericString.cjs} +11 -3
  407. package/lib/libs/formatNumericString.cjs.map +1 -0
  408. package/lib/libs/formatNumericString.d.ts +7 -0
  409. package/lib/{components/Input/CurrencyInput/currencyInputHelper.cjs → libs/formatNumericString.js} +9 -5
  410. package/lib/libs/formatNumericString.js.map +1 -0
  411. package/lib/vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/chunk-I2QGXAA3.cjs.map +1 -0
  412. package/lib/vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/chunk-I2QGXAA3.js.map +1 -0
  413. package/lib/vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs.map +1 -0
  414. package/lib/vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js.map +1 -0
  415. package/lib/vendor/.pnpm/tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helpers@0.5.23__@types_node@20.19.43_typescript@5.9.3_/vendor/tailwindcss/lib/public/create-plugin.cjs.map +1 -0
  416. package/lib/vendor/.pnpm/tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helpers@0.5.23__@types_node@20.19.43_typescript@5.9.3_/vendor/tailwindcss/lib/public/create-plugin.js.map +1 -0
  417. package/lib/vendor/.pnpm/tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helpers@0.5.23__@types_node@20.19.43_typescript@5.9.3_/vendor/tailwindcss/lib/util/createPlugin.cjs.map +1 -0
  418. package/lib/vendor/.pnpm/tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helpers@0.5.23__@types_node@20.19.43_typescript@5.9.3_/vendor/tailwindcss/lib/util/createPlugin.js.map +1 -0
  419. package/lib/vendor/.pnpm/tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helpers@0.5.23__@types_node@20.19.43_typescript@5.9.3_/vendor/tailwindcss/plugin.cjs.map +1 -0
  420. package/lib/vendor/.pnpm/tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helpers@0.5.23__@types_node@20.19.43_typescript@5.9.3_/vendor/tailwindcss/plugin.js.map +1 -0
  421. package/metadata.json +1 -1
  422. package/package.json +1 -1
  423. package/lib/components/Dialog/ControlledStepFormDialog/useStepFormDialogButton.cjs +0 -36
  424. package/lib/components/Dialog/ControlledStepFormDialog/useStepFormDialogButton.cjs.map +0 -1
  425. package/lib/components/Dialog/ControlledStepFormDialog/useStepFormDialogButton.d.ts +0 -32
  426. package/lib/components/Dialog/ControlledStepFormDialog/useStepFormDialogButton.js +0 -34
  427. package/lib/components/Dialog/ControlledStepFormDialog/useStepFormDialogButton.js.map +0 -1
  428. package/lib/components/Dropdown/DropdownMenuButton/useKeyboardNavigation.cjs +0 -78
  429. package/lib/components/Dropdown/DropdownMenuButton/useKeyboardNavigation.cjs.map +0 -1
  430. package/lib/components/Dropdown/DropdownMenuButton/useKeyboardNavigation.d.ts +0 -3
  431. package/lib/components/Dropdown/DropdownMenuButton/useKeyboardNavigation.js +0 -76
  432. package/lib/components/Dropdown/DropdownMenuButton/useKeyboardNavigation.js.map +0 -1
  433. package/lib/components/Dropdown/SortDropdown/useSortDropdown.cjs +0 -136
  434. package/lib/components/Dropdown/SortDropdown/useSortDropdown.cjs.map +0 -1
  435. package/lib/components/Dropdown/SortDropdown/useSortDropdown.d.ts +0 -34
  436. package/lib/components/Dropdown/SortDropdown/useSortDropdown.js +0 -134
  437. package/lib/components/Dropdown/SortDropdown/useSortDropdown.js.map +0 -1
  438. package/lib/components/Dropdown/useKeyboardNavigation.cjs +0 -90
  439. package/lib/components/Dropdown/useKeyboardNavigation.cjs.map +0 -1
  440. package/lib/components/Dropdown/useKeyboardNavigation.d.ts +0 -2
  441. package/lib/components/Dropdown/useKeyboardNavigation.js +0 -88
  442. package/lib/components/Dropdown/useKeyboardNavigation.js.map +0 -1
  443. package/lib/components/Input/CurrencyInput/currencyInputHelper.cjs.map +0 -1
  444. package/lib/components/Input/CurrencyInput/currencyInputHelper.d.ts +0 -1
  445. package/lib/components/Input/CurrencyInput/currencyInputHelper.js.map +0 -1
  446. package/lib/components/Input/SearchInput/SearchInputIcon.cjs +0 -18
  447. package/lib/components/Input/SearchInput/SearchInputIcon.cjs.map +0 -1
  448. package/lib/components/Input/SearchInput/SearchInputIcon.d.ts +0 -1
  449. package/lib/components/Input/SearchInput/SearchInputIcon.js +0 -16
  450. package/lib/components/Input/SearchInput/SearchInputIcon.js.map +0 -1
  451. package/lib/libs/object.cjs +0 -8
  452. package/lib/libs/object.cjs.map +0 -1
  453. package/lib/libs/object.d.ts +0 -6
  454. package/lib/libs/object.js +0 -5
  455. package/lib/libs/object.js.map +0 -1
  456. package/lib/vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/chunk-I2QGXAA3.cjs.map +0 -1
  457. package/lib/vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/chunk-I2QGXAA3.js.map +0 -1
  458. package/lib/vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs.map +0 -1
  459. package/lib/vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.js.map +0 -1
  460. package/lib/vendor/.pnpm/tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3_/vendor/tailwindcss/lib/public/create-plugin.cjs.map +0 -1
  461. package/lib/vendor/.pnpm/tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3_/vendor/tailwindcss/lib/public/create-plugin.js.map +0 -1
  462. package/lib/vendor/.pnpm/tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3_/vendor/tailwindcss/lib/util/createPlugin.cjs.map +0 -1
  463. package/lib/vendor/.pnpm/tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3_/vendor/tailwindcss/lib/util/createPlugin.js.map +0 -1
  464. package/lib/vendor/.pnpm/tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3_/vendor/tailwindcss/plugin.cjs.map +0 -1
  465. package/lib/vendor/.pnpm/tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3_/vendor/tailwindcss/plugin.js.map +0 -1
  466. /package/lib/vendor/.pnpm/{tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__ → tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c}/vendor/tailwind-variants/dist/chunk-I2QGXAA3.cjs +0 -0
  467. /package/lib/vendor/.pnpm/{tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__ → tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c}/vendor/tailwind-variants/dist/chunk-I2QGXAA3.js +0 -0
  468. /package/lib/vendor/.pnpm/{tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__ → tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c}/vendor/tailwind-variants/dist/index.cjs +0 -0
  469. /package/lib/vendor/.pnpm/{tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__ → tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c}/vendor/tailwind-variants/dist/index.js +0 -0
  470. /package/lib/vendor/.pnpm/{tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3_ → tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helpers@0.5.23__@types_node@20.19.43_typescript@5.9.3_}/vendor/tailwindcss/lib/public/create-plugin.cjs +0 -0
  471. /package/lib/vendor/.pnpm/{tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3_ → tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helpers@0.5.23__@types_node@20.19.43_typescript@5.9.3_}/vendor/tailwindcss/lib/public/create-plugin.js +0 -0
  472. /package/lib/vendor/.pnpm/{tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3_ → tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helpers@0.5.23__@types_node@20.19.43_typescript@5.9.3_}/vendor/tailwindcss/lib/util/createPlugin.cjs +0 -0
  473. /package/lib/vendor/.pnpm/{tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3_ → tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helpers@0.5.23__@types_node@20.19.43_typescript@5.9.3_}/vendor/tailwindcss/lib/util/createPlugin.js +0 -0
  474. /package/lib/vendor/.pnpm/{tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3_ → tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helpers@0.5.23__@types_node@20.19.43_typescript@5.9.3_}/vendor/tailwindcss/plugin.cjs +0 -0
  475. /package/lib/vendor/.pnpm/{tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3_ → tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helpers@0.5.23__@types_node@20.19.43_typescript@5.9.3_}/vendor/tailwindcss/plugin.js +0 -0
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
3
+ var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
4
4
 
5
5
  const itemClassNameGenerator = index.tv({
6
6
  slots: {
@@ -1,4 +1,4 @@
1
- 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.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.js';
1
+ 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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
2
2
 
3
3
  const itemClassNameGenerator = ce({
4
4
  slots: {
@@ -2,7 +2,7 @@
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var React = require('react');
5
- var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
5
+ var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
6
6
  var components_Text_Text = require('../Text/Text.cjs');
7
7
 
8
8
  const classNameGenerator = index.tv({
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { memo, useMemo } from 'react';
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.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.js';
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
4
4
  import { Text } from '../Text/Text.js';
5
5
 
6
6
  const classNameGenerator = ce({
@@ -3,7 +3,7 @@
3
3
 
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var React = require('react');
6
- var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
6
+ var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
7
7
  var components_Button_Button = require('../Button/Button.cjs');
8
8
  require('../Button/AnchorButton.cjs');
9
9
  require('../Button/UnstyledButton.cjs');
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx, jsxs } from 'react/jsx-runtime';
3
3
  import { memo, useMemo } from 'react';
4
- 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.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.js';
4
+ 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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
5
5
  import { Button } from '../Button/Button.js';
6
6
  import '../Button/AnchorButton.js';
7
7
  import '../Button/UnstyledButton.js';
@@ -2,7 +2,7 @@
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var React = require('react');
5
- var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
5
+ var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
6
6
  var hooks_useLatest = require('../../hooks/useLatest.cjs');
7
7
  var components_Browser_BrowserColumn = require('./BrowserColumn.cjs');
8
8
  var components_Browser_models_ItemNode = require('./models/ItemNode.cjs');
@@ -1,6 +1,6 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { useMemo } from 'react';
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.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.js';
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
4
4
  import { useLatest } from '../../hooks/useLatest.js';
5
5
  import { BrowserColumn } from './BrowserColumn.js';
6
6
  import { ItemNode } from './models/ItemNode.js';
@@ -2,7 +2,7 @@
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var React = require('react');
5
- var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
5
+ var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
6
6
  var components_Browser_BrowserItem = require('./BrowserItem.cjs');
7
7
 
8
8
  const getColumnId = (column) => `column-${column}`;
@@ -1,6 +1,6 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { memo, useMemo } from 'react';
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.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.js';
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
4
4
  import { BrowserItem } from './BrowserItem.js';
5
5
 
6
6
  const getColumnId = (column) => `column-${column}`;
@@ -2,7 +2,7 @@
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var React = require('react');
5
- var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
5
+ var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
6
6
  var components_Icon_FaIcon = require('../Icon/FaIcon.cjs');
7
7
  require('../Icon/generateIcon.cjs');
8
8
  require('../Icon/OpenInNewTabIcon.cjs');
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { memo, useMemo } from 'react';
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.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.js';
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
4
4
  import { FaAngleRightIcon } from '../Icon/FaIcon.js';
5
5
  import '../Icon/generateIcon.js';
6
6
  import '../Icon/OpenInNewTabIcon.js';
@@ -3,7 +3,7 @@
3
3
 
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var React = require('react');
6
- var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
6
+ var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
7
7
  require('../Icon/generateIcon.cjs');
8
8
  var components_Icon_OpenInNewTabIcon = require('../Icon/OpenInNewTabIcon.cjs');
9
9
  var components_Button_ButtonWrapper = require('./ButtonWrapper.cjs');
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef, useMemo } from 'react';
4
- 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.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.js';
4
+ 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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
5
5
  import '../Icon/generateIcon.js';
6
6
  import { OpenInNewTabIcon } from '../Icon/OpenInNewTabIcon.js';
7
7
  import { ButtonWrapper } from './ButtonWrapper.js';
@@ -3,7 +3,7 @@
3
3
 
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var React = require('react');
6
- var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
6
+ var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
7
7
  var hooks_usePortal = require('../../hooks/usePortal.cjs');
8
8
  require('../../intl/IntlProvider.cjs');
9
9
  require('react-intl');
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef, useMemo, memo } from 'react';
4
- 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.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.js';
4
+ 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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
5
5
  import { usePortal } from '../../hooks/usePortal.js';
6
6
  import '../../intl/IntlProvider.js';
7
7
  import 'react-intl';
@@ -2,7 +2,7 @@
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var React = require('react');
5
- var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
5
+ var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
6
6
  var components_Icon_FaIcon = require('../Icon/FaIcon.cjs');
7
7
  require('../Icon/generateIcon.cjs');
8
8
  require('../Icon/OpenInNewTabIcon.cjs');
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { memo } from 'react';
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.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.js';
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
4
4
  import { FaCircleInfoIcon } from '../Icon/FaIcon.js';
5
5
  import '../Icon/generateIcon.js';
6
6
  import '../Icon/OpenInNewTabIcon.js';
@@ -2,7 +2,7 @@
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var React = require('react');
5
- var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
5
+ var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
6
6
 
7
7
  const classNameGenerator = index.tv({
8
8
  base: [
@@ -1,6 +1,6 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef, useMemo } from 'react';
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.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.js';
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
4
4
 
5
5
  const classNameGenerator = ce({
6
6
  base: [
@@ -2,7 +2,7 @@
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var React = require('react');
5
- var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
5
+ var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
6
6
  var components_Loader_Loader = require('../Loader/Loader.cjs');
7
7
 
8
8
  // HINT: prefix, suffixが存在せず、かつIcon,svg,img,Loaderのいずれかが単一でbodyに含まれるButtonかチェックしたい
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { useRef, useState, useMemo, useEffect } from 'react';
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.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.js';
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
4
4
  import { Loader } from '../Loader/Loader.js';
5
5
 
6
6
  // HINT: prefix, suffixが存在せず、かつIcon,svg,img,Loaderのいずれかが単一でbodyに含まれるButtonかチェックしたい
@@ -4,7 +4,7 @@
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var dayjs_min = require('../../_virtual/dayjs.min.cjs');
6
6
  var React = require('react');
7
- var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
7
+ var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
8
8
  var hooks_useLatest = require('../../hooks/useLatest.cjs');
9
9
  require('../../intl/IntlProvider.cjs');
10
10
  require('react-intl');
@@ -2,7 +2,7 @@
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import dayjs from '../../_virtual/dayjs.min.js';
4
4
  import { forwardRef, useMemo, useState, useId, useEffect, memo } from 'react';
5
- 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.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.js';
5
+ 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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
6
6
  import { useLatest } from '../../hooks/useLatest.js';
7
7
  import '../../intl/IntlProvider.js';
8
8
  import 'react-intl';
@@ -3,7 +3,7 @@
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var dayjs_min = require('../../_virtual/dayjs.min.cjs');
5
5
  var React = require('react');
6
- var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
6
+ var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
7
7
  var hooks_useLatest = require('../../hooks/useLatest.cjs');
8
8
  require('../../intl/IntlProvider.cjs');
9
9
  require('react-intl');
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import dayjs from '../../_virtual/dayjs.min.js';
3
3
  import { memo, useMemo, useCallback } from 'react';
4
- 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.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.js';
4
+ 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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
5
5
  import { useLatest } from '../../hooks/useLatest.js';
6
6
  import '../../intl/IntlProvider.js';
7
7
  import 'react-intl';
@@ -2,7 +2,7 @@
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var React = require('react');
5
- var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
5
+ var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
6
6
  require('../../intl/IntlProvider.cjs');
7
7
  var intl_useIntl = require('../../intl/useIntl.cjs');
8
8
  require('react-intl');
@@ -1,6 +1,6 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { memo, useRef, useMemo, useEffect } from 'react';
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.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.js';
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
4
4
  import '../../intl/IntlProvider.js';
5
5
  import { useIntl } from '../../intl/useIntl.js';
6
6
  import 'react-intl';
@@ -3,7 +3,7 @@
3
3
 
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var React = require('react');
6
- var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
6
+ var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
7
7
  var components_Icon_FaIcon = require('../Icon/FaIcon.cjs');
8
8
  require('../Icon/generateIcon.cjs');
9
9
  require('../Icon/OpenInNewTabIcon.cjs');
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef, useMemo, useRef, useId, useImperativeHandle, useEffect, memo } from 'react';
4
- 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.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.js';
4
+ 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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
5
5
  import { FaMinusIcon, FaCheckIcon } from '../Icon/FaIcon.js';
6
6
  import '../Icon/generateIcon.js';
7
7
  import '../Icon/OpenInNewTabIcon.js';
@@ -2,7 +2,7 @@
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var React = require('react');
5
- var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
5
+ var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
6
6
 
7
7
  const classNameGenerator = index.tv({
8
8
  base: [
@@ -1,6 +1,6 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { useMemo } from 'react';
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.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.js';
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
4
4
 
5
5
  const classNameGenerator = ce({
6
6
  base: [
@@ -2,7 +2,7 @@
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var React = require('react');
5
- var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
5
+ var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
6
6
  require('../../intl/IntlProvider.cjs');
7
7
  require('react-intl');
8
8
  var intl_Localizer = require('../../intl/Localizer.cjs');
@@ -1,6 +1,6 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { memo } from 'react';
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.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.js';
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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
4
4
  import '../../intl/IntlProvider.js';
5
5
  import 'react-intl';
6
6
  import { Localizer } from '../../intl/Localizer.js';
@@ -4,7 +4,8 @@
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var React = require('react');
6
6
  var index$1 = require('../../../_virtual/index3.cjs');
7
- var index = require('./../../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
7
+ var index = require('./../../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.cjs');
8
+ var hooks_useAnimationFrame = require('../../../hooks/useAnimationFrame.cjs');
8
9
  var hooks_useLatest = require('../../../hooks/useLatest.cjs');
9
10
  var hooks_useOuterClick = require('../../../hooks/useOuterClick.cjs');
10
11
  var hooks_useTheme = require('../../../hooks/useTheme.cjs');
@@ -95,6 +96,8 @@ const ActualMultiCombobox = ({ items, selectedItems, name, disabled = false, req
95
96
  isItemSelected,
96
97
  });
97
98
  const inputRef = React.useRef(null);
99
+ const deleteFrame = hooks_useAnimationFrame.useAnimationFrame();
100
+ const selectFrame = hooks_useAnimationFrame.useAnimationFrame();
98
101
  // eslint-disable-next-line local-rules/best-practice-for-use-latest
99
102
  const latestForListBox = hooks_useLatest.useLatest({
100
103
  onDelete,
@@ -102,6 +105,8 @@ const ActualMultiCombobox = ({ items, selectedItems, name, disabled = false, req
102
105
  onSelect,
103
106
  onChangeInput,
104
107
  selectedItems,
108
+ deleteFrame,
109
+ selectFrame,
105
110
  });
106
111
  const listBoxFunctions = React.useMemo(() => {
107
112
  const handleDelete = (item) => {
@@ -114,8 +119,8 @@ const ActualMultiCombobox = ({ items, selectedItems, name, disabled = false, req
114
119
  }
115
120
  if (handlers.length > 0) {
116
121
  // HINT: Dropdown系コンポーネント内でComboboxを使うと、選択肢がportalで表現されている関係上Dropdownが閉じてしまう
117
- // requestAnimationFrameを追加、処理を遅延させることで正常に閉じる/閉じないの判定を行えるようにする
118
- requestAnimationFrame(() => {
122
+ // 処理を遅延させることで正常に閉じる/閉じないの判定を行えるようにする
123
+ latestForListBox.deleteFrame.request(() => {
119
124
  handlers.forEach((h) => h(item));
120
125
  });
121
126
  }
@@ -124,8 +129,8 @@ const ActualMultiCombobox = ({ items, selectedItems, name, disabled = false, req
124
129
  handleDelete,
125
130
  handleSelect: (selected) => {
126
131
  // HINT: Dropdown系コンポーネント内でComboboxを使うと、選択肢がportalで表現されている関係上Dropdownが閉じてしまう
127
- // requestAnimationFrameを追加、処理を遅延させることで正常に閉じる/閉じないの判定を行えるようにする
128
- requestAnimationFrame(() => {
132
+ // 処理を遅延させることで正常に閉じる/閉じないの判定を行えるようにする
133
+ latestForListBox.selectFrame.request(() => {
129
134
  const matchedSelectedItem = latestForListBox.selectedItems.find((item) => components_Combobox_helper.areItemsEqual(item, selected));
130
135
  if (matchedSelectedItem === undefined) {
131
136
  latestForListBox.onSelect?.(selected);
@@ -140,6 +145,11 @@ const ActualMultiCombobox = ({ items, selectedItems, name, disabled = false, req
140
145
  },
141
146
  };
142
147
  }, [latestForListBox]);
148
+ // TODO: callbackRefにまとめたい
149
+ React.useEffect(() => () => {
150
+ latestForListBox.deleteFrame.cancel();
151
+ latestForListBox.selectFrame.cancel();
152
+ }, [latestForListBox]);
143
153
  const { listBoxProps, activeOption, handleKeyDownListBox, listBoxId, listBoxRef } = components_Combobox_useListbox.useListbox({
144
154
  options,
145
155
  dropdownHelpMessage,
@@ -1 +1 @@
1
- {"version":3,"file":"MultiCombobox.cjs","sources":["../../../../src/components/Combobox/MultiCombobox/MultiCombobox.tsx"],"sourcesContent":["'use client'\n\nimport {\n type ChangeEvent,\n type ComponentPropsWithoutRef,\n type KeyboardEvent,\n type MouseEvent,\n type ReactNode,\n type Ref,\n memo,\n useEffect,\n useId,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport innerText from 'react-innertext'\nimport { tv } from 'tailwind-variants'\n\nimport { useLatest } from '../../../hooks/useLatest'\nimport { useOuterClick } from '../../../hooks/useOuterClick'\nimport { useTheme } from '../../../hooks/useTheme'\nimport { useLocalize } from '../../../intl'\nimport { findDelegateTarget } from '../../../libs/delegate'\nimport { genericsForwardRef } from '../../../libs/util'\nimport { FaCaretDownIcon } from '../../Icon'\nimport { Scroller } from '../../Scroller'\nimport { areItemsEqual } from '../helper'\nimport { ListBox, useListbox } from '../useListbox'\nimport { useMultiOptions } from '../useOptions'\n\nimport { DELETE_BUTTON_SELECTOR, MultiSelectedItem } from './MultiSelectedItem'\n\nimport type { ComboboxItem, BaseProps as ComboboxProps } from '../types'\n\ntype BaseProps<T> = ComboboxProps<T> & {\n /**\n * 選択されているアイテムのリスト\n */\n selectedItems: Array<ComboboxItem<T> & { deletable?: boolean }>\n /**\n * 選択されているアイテムのラベルを省略表示するかどうか\n */\n selectedItemEllipsis?: boolean\n /**\n * テキストボックスの `value` 属性の値。\n * `onChangeInput` と併せて設定することで、テキストボックスの挙動が制御可能になる。\n */\n inputValue?: string\n /**\n * 選択されているアイテムの削除ボタンがクリックされた時に発火するコールバック関数\n */\n onDelete?: (item: ComboboxItem<T>) => void\n /**\n * 選択されているアイテムのリストが変わった時に発火するコールバック関数\n */\n onChangeSelected?: (selectedItems: Array<ComboboxItem<T>>) => void\n /**\n * コンポーネントがフォーカスされたときに発火するコールバック関数\n */\n onFocus?: () => void\n /**\n * コンポーネントからフォーカスが外れた時に発火するコールバック関数\n */\n onBlur?: () => void\n /**\n * アイテムが選択されたときに選択済みかどうかを判定するコールバック関数/\n */\n isItemSelected?: (targetItem: ComboboxItem<T>, selectedItems: Array<ComboboxItem<T>>) => boolean\n /**\n * 検索結果が0件の時に表示するコンテンツ\n */\n noResultText?: ReactNode\n}\ntype Props<T> = BaseProps<T> & Omit<ComponentPropsWithoutRef<'input'>, keyof BaseProps<unknown>>\n\nconst NOOP = () => undefined\n\nconst preventDefaultWithPressEnter = (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n e.preventDefault()\n }\n}\n\nconst ESCAPE_KEY_REGEX = /^Esc(ape)?$/\nconst ARROW_LEFT_KEY_REGEX = /^(Arrow)?Left$/\nconst ARROW_RIGHT_KEY_REGEX = /^(Arrow)?Right/\nconst ARROW_UP_AND_DOWN_KEY_REGEX = /^(Arrow)?(Up|Down)$/\n\nconst EMPTY_INPUT_CHANGE_EVENT = {\n currentTarget: { value: '' },\n target: { value: '' },\n} as ChangeEvent<HTMLInputElement>\n\nconst DELETE_BUTTON_CLASSNAME = `.${DELETE_BUTTON_SELECTOR}`\n\nconst classNameGenerator = tv({\n slots: {\n wrapper: [\n 'smarthr-ui-MultiCombobox',\n 'shr-box-border shr-inline-flex shr-min-w-[15em] shr-rounded-m shr-border shr-border-solid shr-px-0.5 shr-py-0.25 shr-align-bottom',\n 'contrast-more:shr-border-high-contrast',\n 'has-[[role=combobox][aria-expanded=true]]:shr-focus-indicator',\n 'shr-cursor-text shr-border-default shr-bg-white',\n 'has-[[role=combobox]:disabled]:shr-cursor-not-allowed',\n 'has-[[role=combobox]:disabled]:shr-border-default/50',\n 'has-[[role=combobox]:disabled]:shr-bg-white-darken',\n 'has-[[role=combobox]:disabled]:shr-text-disabled',\n // HINT: disabled と詳細度が同じ [0,2,0] のため、CSS ソース順でこちらを後に置くことで error 時の border 色を優先させる\n 'has-[[role=combobox][aria-invalid]]:shr-border-danger',\n ],\n inputArea: 'shr-flex shr-flex-1 shr-flex-wrap shr-gap-0.5',\n selectedList:\n 'smarthr-ui-MultiCombobox-selectedList shr-contents shr-list-none [&_li]:shr-min-w-0',\n inputWrapper: [\n 'shr-flex shr-flex-1 shr-items-center',\n 'has-[[role=combobox][aria-expanded=false]]:shr-pointer-events-none',\n 'has-[[role=combobox][aria-expanded=false]]:shr-absolute',\n 'has-[[role=combobox][aria-expanded=false]]:shr-opacity-0',\n ],\n input: [\n 'smarthr-ui-MultiCombobox-input',\n 'shr-w-full shr-min-w-[5em] shr-border-none shr-text-base shr-text-black shr-outline-none shr-outline-0',\n 'disabled:shr-hidden',\n ],\n placeholderEl: 'smarthr-ui-MultiCombobox-placeholder shr-my-0 shr-self-center',\n suffixWrapper: [\n 'shr-relative -shr-me-0.5 shr-ms-0.5 shr-p-0.5',\n 'before:shr-absolute before:shr-inset-x-0 before:shr-inset-y-0.25 before:shr-w-0 before:shr-border-0 before:shr-border-l before:shr-border-solid before:shr-border-default before:shr-content-[\"\"]',\n ],\n suffixIcon: 'shr-block',\n },\n})\n\nconst ActualMultiCombobox = <T,>(\n {\n items,\n selectedItems,\n name,\n disabled = false,\n required = false,\n error = false,\n creatable = false,\n placeholder = '',\n autoComplete,\n dropdownHelpMessage,\n isLoading,\n selectedItemEllipsis,\n width,\n dropdownWidth = 'auto',\n inputValue: controlledInputValue,\n className,\n onChange,\n onChangeInput,\n onAdd,\n onDelete,\n onSelect,\n onChangeSelected,\n onFocus,\n onBlur,\n onKeyPress,\n isItemSelected,\n noResultText,\n style,\n ...rest\n }: Props<T>,\n ref: Ref<HTMLInputElement>,\n) => {\n const triggerRef = useRef<HTMLDivElement>(null)\n const [isExpanded, setIsExpanded] = useState(false)\n const [highlighted, setHighlighted] = useState(false)\n const [uncontrolledInputValue, setUncontrolledInputValue] = useState('')\n const [isComposing, setIsComposing] = useState(false)\n\n const selectedListId = useId()\n\n const isInputControlled = controlledInputValue !== undefined\n const inputValue = isInputControlled ? controlledInputValue : uncontrolledInputValue\n const setInputValueIfUncontrolled = isInputControlled ? NOOP : setUncontrolledInputValue\n const isInputEmpty = !inputValue\n\n const { options } = useMultiOptions({\n items,\n selected: selectedItems,\n creatable,\n inputValue,\n isItemSelected,\n })\n const inputRef = useRef<HTMLInputElement>(null)\n\n // eslint-disable-next-line local-rules/best-practice-for-use-latest\n const latestForListBox = useLatest({\n onDelete,\n onChangeSelected,\n onSelect,\n onChangeInput,\n selectedItems,\n })\n\n const listBoxFunctions = useMemo(() => {\n const handleDelete = (item: ComboboxItem<T>) => {\n const handlers: Array<(deletingItem: ComboboxItem<T>) => void> = []\n\n if (latestForListBox.onDelete) {\n handlers.push((deletingItem: ComboboxItem<T>) => latestForListBox.onDelete!(deletingItem))\n }\n if (latestForListBox.onChangeSelected) {\n handlers.push((deletingItem: ComboboxItem<T>) =>\n latestForListBox.onChangeSelected!(\n latestForListBox.selectedItems.filter(\n (selected) => !areItemsEqual(selected, deletingItem),\n ),\n ),\n )\n }\n\n if (handlers.length > 0) {\n // HINT: Dropdown系コンポーネント内でComboboxを使うと、選択肢がportalで表現されている関係上Dropdownが閉じてしまう\n // requestAnimationFrameを追加、処理を遅延させることで正常に閉じる/閉じないの判定を行えるようにする\n requestAnimationFrame(() => {\n handlers.forEach((h) => h(item))\n })\n }\n }\n\n return {\n handleDelete,\n handleSelect: (selected: ComboboxItem<T>) => {\n // HINT: Dropdown系コンポーネント内でComboboxを使うと、選択肢がportalで表現されている関係上Dropdownが閉じてしまう\n // requestAnimationFrameを追加、処理を遅延させることで正常に閉じる/閉じないの判定を行えるようにする\n requestAnimationFrame(() => {\n const matchedSelectedItem = latestForListBox.selectedItems.find((item) =>\n areItemsEqual(item, selected),\n )\n\n if (matchedSelectedItem === undefined) {\n latestForListBox.onSelect?.(selected)\n latestForListBox.onChangeSelected?.(latestForListBox.selectedItems.concat(selected))\n\n // 制御コンポーネントの場合に親側でinputValueを更新できるように、選択時にonChangeInputを空文字で発火する\n latestForListBox.onChangeInput?.(EMPTY_INPUT_CHANGE_EVENT)\n } else if (matchedSelectedItem.deletable !== false) {\n handleDelete(selected)\n }\n })\n },\n }\n }, [latestForListBox])\n\n const { listBoxProps, activeOption, handleKeyDownListBox, listBoxId, listBoxRef } = useListbox({\n options,\n dropdownHelpMessage,\n dropdownWidth,\n onAdd,\n onSelect: listBoxFunctions.handleSelect,\n isExpanded,\n isLoading,\n triggerRef,\n noResultText,\n })\n\n const latest = useLatest({\n onChange,\n onChangeInput,\n onFocus,\n onBlur,\n onKeyPress,\n disabled,\n isExpanded,\n highlighted,\n isComposing,\n isInputEmpty,\n selectedItems,\n setInputValueIfUncontrolled,\n handleKeyDownListBox,\n })\n\n const functions = useMemo(() => {\n const handleDelete = listBoxFunctions.handleDelete\n\n const getDeletionButtons = () => {\n if (triggerRef.current) {\n const buttons =\n triggerRef.current.querySelectorAll<HTMLButtonElement>(DELETE_BUTTON_CLASSNAME)\n\n if (buttons.length > 0) {\n const actualButtons = Array.from(buttons)\n\n return {\n buttons: actualButtons,\n currentIndex: actualButtons.indexOf(document.activeElement as HTMLButtonElement),\n }\n }\n }\n\n return null\n }\n\n const focusPrevDeletionButton = () => {\n const result = getDeletionButtons()\n\n if (!result) return\n\n const { buttons, currentIndex } = result\n\n if (currentIndex !== -1) {\n buttons[Math.max(currentIndex - 1, 0)].focus()\n } else if (inputRef.current?.selectionStart === 0) {\n buttons[buttons.length - 1].focus()\n }\n }\n\n const focusNextDeletionButton = () => {\n const result = getDeletionButtons()\n\n if (!result) return\n\n const { buttons, currentIndex } = result\n\n if (currentIndex === -1) return\n\n const nextIndex = currentIndex + 1\n\n if (nextIndex < buttons.length) {\n buttons[nextIndex].focus()\n } else {\n // キー入力が input に影響しないようにフォーカスタイミングを遅らせる\n setTimeout(() => {\n inputRef.current?.focus()\n })\n }\n }\n\n const focus = () => {\n latest.onFocus?.()\n setIsExpanded(true)\n }\n\n const blur = () => {\n if (latest.isExpanded) {\n latest.onBlur?.()\n setIsExpanded(false)\n }\n }\n\n return {\n handleDelete,\n blur,\n handleDelegateKeyDown: (e: KeyboardEvent<HTMLDivElement>) => {\n if (latest.isComposing) return\n\n if (ESCAPE_KEY_REGEX.test(e.key)) {\n e.stopPropagation()\n blur()\n } else if (e.key === 'Tab') {\n if (latest.isExpanded) {\n // フォーカスがコンポーネントを抜けるように先に input をフォーカスしておく\n inputRef.current?.focus()\n }\n\n blur()\n } else if (ARROW_LEFT_KEY_REGEX.test(e.key)) {\n e.stopPropagation()\n focusPrevDeletionButton()\n } else if (ARROW_RIGHT_KEY_REGEX.test(e.key)) {\n e.stopPropagation()\n focusNextDeletionButton()\n } else if (\n e.key === 'Backspace' &&\n latest.isInputEmpty &&\n latest.selectedItems.length > 0 &&\n latest.selectedItems[latest.selectedItems.length - 1].deletable !== false\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n const lastItem = latest.selectedItems[latest.selectedItems.length - 1]\n\n handleDelete(lastItem)\n setHighlighted(true)\n latest.setInputValueIfUncontrolled(innerText(lastItem.label))\n } else {\n e.stopPropagation()\n inputRef.current?.focus()\n }\n\n latest.handleKeyDownListBox(e)\n },\n handleDelegateClick: (e: MouseEvent<HTMLElement>) => {\n if (\n !latest.disabled &&\n !latest.isExpanded &&\n !findDelegateTarget(e, DELETE_BUTTON_CLASSNAME)\n ) {\n focus()\n }\n },\n handleChangeInput: (e: ChangeEvent<HTMLInputElement>) => {\n const handlers = [latest.onChange, latest.onChangeInput].filter((h) => !!h)\n\n handlers.forEach((h) => h(e))\n latest.setInputValueIfUncontrolled(e.currentTarget.value)\n },\n handleFocusInput: () => {\n if (!latest.isExpanded) {\n focus()\n }\n },\n handleCompositionStart: () => setIsComposing(true),\n handleCompositionEnd: () => setIsComposing(false),\n handleKeyDownInput: (e: KeyboardEvent<HTMLInputElement>) => {\n if (ARROW_UP_AND_DOWN_KEY_REGEX.test(e.key)) {\n // 上下キー入力はリストボックスの activeDescendant の移動に用いるため、input 内では作用させない\n e.preventDefault()\n }\n },\n // HINT: form内にcomboboxを設置 & 検索inputにfocusした状態で\n // アイテムをキーボードで選択し、Enterを押すとinput上でEnterを押したことになるため、\n // submitイベントが発生し、formが送信される場合がある\n handleDelegateKeyPress: (e: KeyboardEvent<HTMLInputElement>) => {\n preventDefaultWithPressEnter(e)\n latest.onKeyPress?.(e)\n },\n }\n }, [listBoxFunctions, latest])\n\n useOuterClick([triggerRef, listBoxRef], functions.blur)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n ref,\n () => inputRef.current,\n [],\n )\n\n useEffect(() => {\n if (latest.highlighted) {\n setHighlighted(false)\n inputRef.current?.select()\n } else {\n setInputValueIfUncontrolled('')\n }\n }, [selectedItems, setInputValueIfUncontrolled, inputRef, latest])\n\n useEffect(() => {\n if (isExpanded) {\n inputRef.current?.focus()\n }\n }, [isExpanded, selectedItems, isInputControlled, inputRef])\n\n const classNames = useMemo(() => {\n const {\n wrapper,\n inputArea,\n selectedList,\n inputWrapper,\n input,\n placeholderEl,\n suffixWrapper,\n suffixIcon,\n } = classNameGenerator()\n\n return {\n wrapper: wrapper({ className }),\n inputArea: inputArea(),\n selectedList: selectedList(),\n inputWrapper: inputWrapper(),\n input: input(),\n placeholder: placeholderEl(),\n suffixWrapper: suffixWrapper(),\n suffixIcon: suffixIcon(),\n }\n }, [className])\n\n const localized = useLocalize({\n selectedListAriaLabel: {\n id: 'smarthr-ui/MultiCombobox/selectedListAriaLabel',\n defaultText: '選択済みアイテム',\n },\n })\n\n return (\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n <div\n ref={triggerRef}\n role=\"group\"\n onClick={functions.handleDelegateClick}\n onKeyDown={functions.handleDelegateKeyDown}\n onKeyPress={functions.handleDelegateKeyPress}\n className={classNames.wrapper}\n style={{\n ...style,\n width: typeof width === 'number' ? `${width}px` : width,\n }}\n >\n <Scroller className={classNames.inputArea}>\n <ul\n id={selectedListId}\n aria-label={localized.selectedListAriaLabel}\n className={classNames.selectedList}\n >\n {selectedItems.map((selectedItem) => (\n <li key={`${selectedItem.label}-${innerText(selectedItem.value)}`}>\n <MultiSelectedItem\n item={selectedItem}\n disabled={disabled}\n handleDelete={functions.handleDelete}\n enableEllipsis={selectedItemEllipsis}\n />\n </li>\n ))}\n </ul>\n\n <div className={classNames.inputWrapper}>\n <input\n {...rest}\n data-smarthr-ui-input=\"true\"\n type=\"text\"\n name={name}\n value={inputValue}\n disabled={disabled}\n required={required && selectedItems.length === 0}\n ref={inputRef}\n onChange={functions.handleChangeInput}\n onFocus={functions.handleFocusInput}\n onCompositionStart={functions.handleCompositionStart}\n onCompositionEnd={functions.handleCompositionEnd}\n onKeyDown={functions.handleKeyDownInput}\n autoComplete={autoComplete ?? 'off'}\n tabIndex={0}\n role=\"combobox\"\n aria-activedescendant={activeOption?.id}\n aria-controls={`${listBoxId} ${selectedListId}`}\n aria-haspopup=\"listbox\"\n aria-expanded={isExpanded}\n aria-invalid={error || undefined}\n aria-disabled={disabled}\n aria-autocomplete=\"list\"\n className={classNames.input}\n />\n </div>\n\n {selectedItems.length === 0 && placeholder && !isExpanded && (\n <p className={classNames.placeholder}>{placeholder}</p>\n )}\n </Scroller>\n\n <MemoizedCaretDown disabled={disabled} isExpanded={isExpanded} classNames={classNames} />\n\n <ListBox {...listBoxProps} />\n </div>\n )\n}\n\nexport const MultiCombobox = genericsForwardRef(ActualMultiCombobox)\n\nconst MemoizedCaretDown = memo<{\n disabled: boolean\n isExpanded: boolean\n classNames: {\n suffixWrapper: string\n suffixIcon: string\n }\n}>(({ disabled, isExpanded, classNames }) => {\n const theme = useTheme()\n const caretIconColor = isExpanded\n ? theme.textColor.black\n : disabled\n ? theme.textColor.disabled\n : theme.textColor.grey\n\n return (\n <div className={classNames.suffixWrapper}>\n <FaCaretDownIcon color={caretIconColor} className={classNames.suffixIcon} />\n </div>\n )\n})\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA6EA;AAEA;AACE;;;AAGF;AAEA;AACA;AACA;AACA;AAEA;AACE;AACA;;AAGF;AAEA;AACE;AACE;;;;;;;;;;;;AAYC;AACD;AACA;AAEA;;;;;AAKC;AACD;;;;AAIC;AACD;AACA;;;AAGC;AACD;AACD;AACF;AAED;AAkCE;;;;;AAMA;AAEA;;;AAGA;AAEA;;AAEE;;;;AAID;AACD;;;;;;;;AASC;AAED;AACE;;AAGE;AACE;;AAEF;AACE;;AASF;;;;AAII;AACF;;AAEJ;;;AAIE;;;;;AAQI;AACE;AACA;;AAGA;;AACK;;;AAGT;;;AAGN;AAEA;;;;;;;;;;AAUC;;;;;;;;;;;;;;;AAgBA;AAED;AACE;;AAGE;;AAIE;;;AAII;;;;;AAMN;AACF;;AAGE;AAEA;;AAEA;AAEA;AACE;;;;;AAIJ;;AAGE;AAEA;;AAEA;;;AAIA;AAEA;AACE;;;;;AAIE;AACF;;AAEJ;;AAGE;;AAEF;;AAGE;AACE;;;AAGJ;;;;AAKE;;;;;AAKI;;AACK;AACL;;AAEE;;AAGF;;;;AAGA;;;;AAGA;;AACK;AAEL;AACA;AACA;;;AAKA;;;;;;;AAOA;;AAGF;;AAEF;;;AAII;AAEA;;;AAGJ;;AAGE;;;;AAIA;AACE;;;AAGJ;AACA;AACA;;;;;;;;;AASA;;AAEE;;;AAGN;;AAIA;;AAOE;;AAEE;;;;;;;;AAQA;;;AAIJ;;;AAaI;;;;;;;;;AASJ;;AAGE;AACE;AACA;AACD;AACF;;;AAIC;AAQI;AACA;;AA4DR;;AAIA;AAQE;;AAEE;AACA;AACE;AACA;;AAON;;"}
1
+ {"version":3,"file":"MultiCombobox.cjs","sources":["../../../../src/components/Combobox/MultiCombobox/MultiCombobox.tsx"],"sourcesContent":["'use client'\n\nimport {\n type ChangeEvent,\n type ComponentPropsWithoutRef,\n type KeyboardEvent,\n type MouseEvent,\n type ReactNode,\n type Ref,\n memo,\n useEffect,\n useId,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport innerText from 'react-innertext'\nimport { tv } from 'tailwind-variants'\n\nimport { useAnimationFrame } from '../../../hooks/useAnimationFrame'\nimport { useLatest } from '../../../hooks/useLatest'\nimport { useOuterClick } from '../../../hooks/useOuterClick'\nimport { useTheme } from '../../../hooks/useTheme'\nimport { useLocalize } from '../../../intl'\nimport { findDelegateTarget } from '../../../libs/delegate'\nimport { genericsForwardRef } from '../../../libs/util'\nimport { FaCaretDownIcon } from '../../Icon'\nimport { Scroller } from '../../Scroller'\nimport { areItemsEqual } from '../helper'\nimport { ListBox, useListbox } from '../useListbox'\nimport { useMultiOptions } from '../useOptions'\n\nimport { DELETE_BUTTON_SELECTOR, MultiSelectedItem } from './MultiSelectedItem'\n\nimport type { ComboboxItem, BaseProps as ComboboxProps } from '../types'\n\ntype BaseProps<T> = ComboboxProps<T> & {\n /**\n * 選択されているアイテムのリスト\n */\n selectedItems: Array<ComboboxItem<T> & { deletable?: boolean }>\n /**\n * 選択されているアイテムのラベルを省略表示するかどうか\n */\n selectedItemEllipsis?: boolean\n /**\n * テキストボックスの `value` 属性の値。\n * `onChangeInput` と併せて設定することで、テキストボックスの挙動が制御可能になる。\n */\n inputValue?: string\n /**\n * 選択されているアイテムの削除ボタンがクリックされた時に発火するコールバック関数\n */\n onDelete?: (item: ComboboxItem<T>) => void\n /**\n * 選択されているアイテムのリストが変わった時に発火するコールバック関数\n */\n onChangeSelected?: (selectedItems: Array<ComboboxItem<T>>) => void\n /**\n * コンポーネントがフォーカスされたときに発火するコールバック関数\n */\n onFocus?: () => void\n /**\n * コンポーネントからフォーカスが外れた時に発火するコールバック関数\n */\n onBlur?: () => void\n /**\n * アイテムが選択されたときに選択済みかどうかを判定するコールバック関数/\n */\n isItemSelected?: (targetItem: ComboboxItem<T>, selectedItems: Array<ComboboxItem<T>>) => boolean\n /**\n * 検索結果が0件の時に表示するコンテンツ\n */\n noResultText?: ReactNode\n}\ntype Props<T> = BaseProps<T> & Omit<ComponentPropsWithoutRef<'input'>, keyof BaseProps<unknown>>\n\nconst NOOP = () => undefined\n\nconst preventDefaultWithPressEnter = (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n e.preventDefault()\n }\n}\n\nconst ESCAPE_KEY_REGEX = /^Esc(ape)?$/\nconst ARROW_LEFT_KEY_REGEX = /^(Arrow)?Left$/\nconst ARROW_RIGHT_KEY_REGEX = /^(Arrow)?Right/\nconst ARROW_UP_AND_DOWN_KEY_REGEX = /^(Arrow)?(Up|Down)$/\n\nconst EMPTY_INPUT_CHANGE_EVENT = {\n currentTarget: { value: '' },\n target: { value: '' },\n} as ChangeEvent<HTMLInputElement>\n\nconst DELETE_BUTTON_CLASSNAME = `.${DELETE_BUTTON_SELECTOR}`\n\nconst classNameGenerator = tv({\n slots: {\n wrapper: [\n 'smarthr-ui-MultiCombobox',\n 'shr-box-border shr-inline-flex shr-min-w-[15em] shr-rounded-m shr-border shr-border-solid shr-px-0.5 shr-py-0.25 shr-align-bottom',\n 'contrast-more:shr-border-high-contrast',\n 'has-[[role=combobox][aria-expanded=true]]:shr-focus-indicator',\n 'shr-cursor-text shr-border-default shr-bg-white',\n 'has-[[role=combobox]:disabled]:shr-cursor-not-allowed',\n 'has-[[role=combobox]:disabled]:shr-border-default/50',\n 'has-[[role=combobox]:disabled]:shr-bg-white-darken',\n 'has-[[role=combobox]:disabled]:shr-text-disabled',\n // HINT: disabled と詳細度が同じ [0,2,0] のため、CSS ソース順でこちらを後に置くことで error 時の border 色を優先させる\n 'has-[[role=combobox][aria-invalid]]:shr-border-danger',\n ],\n inputArea: 'shr-flex shr-flex-1 shr-flex-wrap shr-gap-0.5',\n selectedList:\n 'smarthr-ui-MultiCombobox-selectedList shr-contents shr-list-none [&_li]:shr-min-w-0',\n inputWrapper: [\n 'shr-flex shr-flex-1 shr-items-center',\n 'has-[[role=combobox][aria-expanded=false]]:shr-pointer-events-none',\n 'has-[[role=combobox][aria-expanded=false]]:shr-absolute',\n 'has-[[role=combobox][aria-expanded=false]]:shr-opacity-0',\n ],\n input: [\n 'smarthr-ui-MultiCombobox-input',\n 'shr-w-full shr-min-w-[5em] shr-border-none shr-text-base shr-text-black shr-outline-none shr-outline-0',\n 'disabled:shr-hidden',\n ],\n placeholderEl: 'smarthr-ui-MultiCombobox-placeholder shr-my-0 shr-self-center',\n suffixWrapper: [\n 'shr-relative -shr-me-0.5 shr-ms-0.5 shr-p-0.5',\n 'before:shr-absolute before:shr-inset-x-0 before:shr-inset-y-0.25 before:shr-w-0 before:shr-border-0 before:shr-border-l before:shr-border-solid before:shr-border-default before:shr-content-[\"\"]',\n ],\n suffixIcon: 'shr-block',\n },\n})\n\nconst ActualMultiCombobox = <T,>(\n {\n items,\n selectedItems,\n name,\n disabled = false,\n required = false,\n error = false,\n creatable = false,\n placeholder = '',\n autoComplete,\n dropdownHelpMessage,\n isLoading,\n selectedItemEllipsis,\n width,\n dropdownWidth = 'auto',\n inputValue: controlledInputValue,\n className,\n onChange,\n onChangeInput,\n onAdd,\n onDelete,\n onSelect,\n onChangeSelected,\n onFocus,\n onBlur,\n onKeyPress,\n isItemSelected,\n noResultText,\n style,\n ...rest\n }: Props<T>,\n ref: Ref<HTMLInputElement>,\n) => {\n const triggerRef = useRef<HTMLDivElement>(null)\n const [isExpanded, setIsExpanded] = useState(false)\n const [highlighted, setHighlighted] = useState(false)\n const [uncontrolledInputValue, setUncontrolledInputValue] = useState('')\n const [isComposing, setIsComposing] = useState(false)\n\n const selectedListId = useId()\n\n const isInputControlled = controlledInputValue !== undefined\n const inputValue = isInputControlled ? controlledInputValue : uncontrolledInputValue\n const setInputValueIfUncontrolled = isInputControlled ? NOOP : setUncontrolledInputValue\n const isInputEmpty = !inputValue\n\n const { options } = useMultiOptions({\n items,\n selected: selectedItems,\n creatable,\n inputValue,\n isItemSelected,\n })\n const inputRef = useRef<HTMLInputElement>(null)\n const deleteFrame = useAnimationFrame()\n const selectFrame = useAnimationFrame()\n\n // eslint-disable-next-line local-rules/best-practice-for-use-latest\n const latestForListBox = useLatest({\n onDelete,\n onChangeSelected,\n onSelect,\n onChangeInput,\n selectedItems,\n deleteFrame,\n selectFrame,\n })\n\n const listBoxFunctions = useMemo(() => {\n const handleDelete = (item: ComboboxItem<T>) => {\n const handlers: Array<(deletingItem: ComboboxItem<T>) => void> = []\n\n if (latestForListBox.onDelete) {\n handlers.push((deletingItem: ComboboxItem<T>) => latestForListBox.onDelete!(deletingItem))\n }\n if (latestForListBox.onChangeSelected) {\n handlers.push((deletingItem: ComboboxItem<T>) =>\n latestForListBox.onChangeSelected!(\n latestForListBox.selectedItems.filter(\n (selected) => !areItemsEqual(selected, deletingItem),\n ),\n ),\n )\n }\n\n if (handlers.length > 0) {\n // HINT: Dropdown系コンポーネント内でComboboxを使うと、選択肢がportalで表現されている関係上Dropdownが閉じてしまう\n // 処理を遅延させることで正常に閉じる/閉じないの判定を行えるようにする\n latestForListBox.deleteFrame.request(() => {\n handlers.forEach((h) => h(item))\n })\n }\n }\n\n return {\n handleDelete,\n handleSelect: (selected: ComboboxItem<T>) => {\n // HINT: Dropdown系コンポーネント内でComboboxを使うと、選択肢がportalで表現されている関係上Dropdownが閉じてしまう\n // 処理を遅延させることで正常に閉じる/閉じないの判定を行えるようにする\n latestForListBox.selectFrame.request(() => {\n const matchedSelectedItem = latestForListBox.selectedItems.find((item) =>\n areItemsEqual(item, selected),\n )\n\n if (matchedSelectedItem === undefined) {\n latestForListBox.onSelect?.(selected)\n latestForListBox.onChangeSelected?.(latestForListBox.selectedItems.concat(selected))\n\n // 制御コンポーネントの場合に親側でinputValueを更新できるように、選択時にonChangeInputを空文字で発火する\n latestForListBox.onChangeInput?.(EMPTY_INPUT_CHANGE_EVENT)\n } else if (matchedSelectedItem.deletable !== false) {\n handleDelete(selected)\n }\n })\n },\n }\n }, [latestForListBox])\n\n // TODO: callbackRefにまとめたい\n useEffect(\n () => () => {\n latestForListBox.deleteFrame.cancel()\n latestForListBox.selectFrame.cancel()\n },\n [latestForListBox],\n )\n\n const { listBoxProps, activeOption, handleKeyDownListBox, listBoxId, listBoxRef } = useListbox({\n options,\n dropdownHelpMessage,\n dropdownWidth,\n onAdd,\n onSelect: listBoxFunctions.handleSelect,\n isExpanded,\n isLoading,\n triggerRef,\n noResultText,\n })\n\n const latest = useLatest({\n onChange,\n onChangeInput,\n onFocus,\n onBlur,\n onKeyPress,\n disabled,\n isExpanded,\n highlighted,\n isComposing,\n isInputEmpty,\n selectedItems,\n setInputValueIfUncontrolled,\n handleKeyDownListBox,\n })\n\n const functions = useMemo(() => {\n const handleDelete = listBoxFunctions.handleDelete\n\n const getDeletionButtons = () => {\n if (triggerRef.current) {\n const buttons =\n triggerRef.current.querySelectorAll<HTMLButtonElement>(DELETE_BUTTON_CLASSNAME)\n\n if (buttons.length > 0) {\n const actualButtons = Array.from(buttons)\n\n return {\n buttons: actualButtons,\n currentIndex: actualButtons.indexOf(document.activeElement as HTMLButtonElement),\n }\n }\n }\n\n return null\n }\n\n const focusPrevDeletionButton = () => {\n const result = getDeletionButtons()\n\n if (!result) return\n\n const { buttons, currentIndex } = result\n\n if (currentIndex !== -1) {\n buttons[Math.max(currentIndex - 1, 0)].focus()\n } else if (inputRef.current?.selectionStart === 0) {\n buttons[buttons.length - 1].focus()\n }\n }\n\n const focusNextDeletionButton = () => {\n const result = getDeletionButtons()\n\n if (!result) return\n\n const { buttons, currentIndex } = result\n\n if (currentIndex === -1) return\n\n const nextIndex = currentIndex + 1\n\n if (nextIndex < buttons.length) {\n buttons[nextIndex].focus()\n } else {\n // キー入力が input に影響しないようにフォーカスタイミングを遅らせる\n setTimeout(() => {\n inputRef.current?.focus()\n })\n }\n }\n\n const focus = () => {\n latest.onFocus?.()\n setIsExpanded(true)\n }\n\n const blur = () => {\n if (latest.isExpanded) {\n latest.onBlur?.()\n setIsExpanded(false)\n }\n }\n\n return {\n handleDelete,\n blur,\n handleDelegateKeyDown: (e: KeyboardEvent<HTMLDivElement>) => {\n if (latest.isComposing) return\n\n if (ESCAPE_KEY_REGEX.test(e.key)) {\n e.stopPropagation()\n blur()\n } else if (e.key === 'Tab') {\n if (latest.isExpanded) {\n // フォーカスがコンポーネントを抜けるように先に input をフォーカスしておく\n inputRef.current?.focus()\n }\n\n blur()\n } else if (ARROW_LEFT_KEY_REGEX.test(e.key)) {\n e.stopPropagation()\n focusPrevDeletionButton()\n } else if (ARROW_RIGHT_KEY_REGEX.test(e.key)) {\n e.stopPropagation()\n focusNextDeletionButton()\n } else if (\n e.key === 'Backspace' &&\n latest.isInputEmpty &&\n latest.selectedItems.length > 0 &&\n latest.selectedItems[latest.selectedItems.length - 1].deletable !== false\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n const lastItem = latest.selectedItems[latest.selectedItems.length - 1]\n\n handleDelete(lastItem)\n setHighlighted(true)\n latest.setInputValueIfUncontrolled(innerText(lastItem.label))\n } else {\n e.stopPropagation()\n inputRef.current?.focus()\n }\n\n latest.handleKeyDownListBox(e)\n },\n handleDelegateClick: (e: MouseEvent<HTMLElement>) => {\n if (\n !latest.disabled &&\n !latest.isExpanded &&\n !findDelegateTarget(e, DELETE_BUTTON_CLASSNAME)\n ) {\n focus()\n }\n },\n handleChangeInput: (e: ChangeEvent<HTMLInputElement>) => {\n const handlers = [latest.onChange, latest.onChangeInput].filter((h) => !!h)\n\n handlers.forEach((h) => h(e))\n latest.setInputValueIfUncontrolled(e.currentTarget.value)\n },\n handleFocusInput: () => {\n if (!latest.isExpanded) {\n focus()\n }\n },\n handleCompositionStart: () => setIsComposing(true),\n handleCompositionEnd: () => setIsComposing(false),\n handleKeyDownInput: (e: KeyboardEvent<HTMLInputElement>) => {\n if (ARROW_UP_AND_DOWN_KEY_REGEX.test(e.key)) {\n // 上下キー入力はリストボックスの activeDescendant の移動に用いるため、input 内では作用させない\n e.preventDefault()\n }\n },\n // HINT: form内にcomboboxを設置 & 検索inputにfocusした状態で\n // アイテムをキーボードで選択し、Enterを押すとinput上でEnterを押したことになるため、\n // submitイベントが発生し、formが送信される場合がある\n handleDelegateKeyPress: (e: KeyboardEvent<HTMLInputElement>) => {\n preventDefaultWithPressEnter(e)\n latest.onKeyPress?.(e)\n },\n }\n }, [listBoxFunctions, latest])\n\n useOuterClick([triggerRef, listBoxRef], functions.blur)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n ref,\n () => inputRef.current,\n [],\n )\n\n useEffect(() => {\n if (latest.highlighted) {\n setHighlighted(false)\n inputRef.current?.select()\n } else {\n setInputValueIfUncontrolled('')\n }\n }, [selectedItems, setInputValueIfUncontrolled, inputRef, latest])\n\n useEffect(() => {\n if (isExpanded) {\n inputRef.current?.focus()\n }\n }, [isExpanded, selectedItems, isInputControlled, inputRef])\n\n const classNames = useMemo(() => {\n const {\n wrapper,\n inputArea,\n selectedList,\n inputWrapper,\n input,\n placeholderEl,\n suffixWrapper,\n suffixIcon,\n } = classNameGenerator()\n\n return {\n wrapper: wrapper({ className }),\n inputArea: inputArea(),\n selectedList: selectedList(),\n inputWrapper: inputWrapper(),\n input: input(),\n placeholder: placeholderEl(),\n suffixWrapper: suffixWrapper(),\n suffixIcon: suffixIcon(),\n }\n }, [className])\n\n const localized = useLocalize({\n selectedListAriaLabel: {\n id: 'smarthr-ui/MultiCombobox/selectedListAriaLabel',\n defaultText: '選択済みアイテム',\n },\n })\n\n return (\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n <div\n ref={triggerRef}\n role=\"group\"\n onClick={functions.handleDelegateClick}\n onKeyDown={functions.handleDelegateKeyDown}\n onKeyPress={functions.handleDelegateKeyPress}\n className={classNames.wrapper}\n style={{\n ...style,\n width: typeof width === 'number' ? `${width}px` : width,\n }}\n >\n <Scroller className={classNames.inputArea}>\n <ul\n id={selectedListId}\n aria-label={localized.selectedListAriaLabel}\n className={classNames.selectedList}\n >\n {selectedItems.map((selectedItem) => (\n <li key={`${selectedItem.label}-${innerText(selectedItem.value)}`}>\n <MultiSelectedItem\n item={selectedItem}\n disabled={disabled}\n handleDelete={functions.handleDelete}\n enableEllipsis={selectedItemEllipsis}\n />\n </li>\n ))}\n </ul>\n\n <div className={classNames.inputWrapper}>\n <input\n {...rest}\n data-smarthr-ui-input=\"true\"\n type=\"text\"\n name={name}\n value={inputValue}\n disabled={disabled}\n required={required && selectedItems.length === 0}\n ref={inputRef}\n onChange={functions.handleChangeInput}\n onFocus={functions.handleFocusInput}\n onCompositionStart={functions.handleCompositionStart}\n onCompositionEnd={functions.handleCompositionEnd}\n onKeyDown={functions.handleKeyDownInput}\n autoComplete={autoComplete ?? 'off'}\n tabIndex={0}\n role=\"combobox\"\n aria-activedescendant={activeOption?.id}\n aria-controls={`${listBoxId} ${selectedListId}`}\n aria-haspopup=\"listbox\"\n aria-expanded={isExpanded}\n aria-invalid={error || undefined}\n aria-disabled={disabled}\n aria-autocomplete=\"list\"\n className={classNames.input}\n />\n </div>\n\n {selectedItems.length === 0 && placeholder && !isExpanded && (\n <p className={classNames.placeholder}>{placeholder}</p>\n )}\n </Scroller>\n\n <MemoizedCaretDown disabled={disabled} isExpanded={isExpanded} classNames={classNames} />\n\n <ListBox {...listBoxProps} />\n </div>\n )\n}\n\nexport const MultiCombobox = genericsForwardRef(ActualMultiCombobox)\n\nconst MemoizedCaretDown = memo<{\n disabled: boolean\n isExpanded: boolean\n classNames: {\n suffixWrapper: string\n suffixIcon: string\n }\n}>(({ disabled, isExpanded, classNames }) => {\n const theme = useTheme()\n const caretIconColor = isExpanded\n ? theme.textColor.black\n : disabled\n ? theme.textColor.disabled\n : theme.textColor.grey\n\n return (\n <div className={classNames.suffixWrapper}>\n <FaCaretDownIcon color={caretIconColor} className={classNames.suffixIcon} />\n </div>\n )\n})\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8EA;AAEA;AACE;;;AAGF;AAEA;AACA;AACA;AACA;AAEA;AACE;AACA;;AAGF;AAEA;AACE;AACE;;;;;;;;;;;;AAYC;AACD;AACA;AAEA;;;;;AAKC;AACD;;;;AAIC;AACD;AACA;;;AAGC;AACD;AACD;AACF;AAED;AAkCE;;;;;AAMA;AAEA;;;AAGA;AAEA;;AAEE;;;;AAID;AACD;AACA;AACA;;;;;;;;;;AAWC;AAED;AACE;;AAGE;AACE;;AAEF;AACE;;AASF;;;AAGE;AACE;AACF;;AAEJ;;;AAIE;;;AAGE;;AAKE;AACE;AACA;;AAGA;;AACK;;;AAGT;;;AAGN;;AAGA;AAEI;AACA;AACF;AAIF;;;;;;;;;;AAUC;;;;;;;;;;;;;;;AAgBA;AAED;AACE;;AAGE;;AAIE;;;AAII;;;;;AAMN;AACF;;AAGE;AAEA;;AAEA;AAEA;AACE;;;;;AAIJ;;AAGE;AAEA;;AAEA;;;AAIA;AAEA;AACE;;;;;AAIE;AACF;;AAEJ;;AAGE;;AAEF;;AAGE;AACE;;;AAGJ;;;;AAKE;;;;;AAKI;;AACK;AACL;;AAEE;;AAGF;;;;AAGA;;;;AAGA;;AACK;AAEL;AACA;AACA;;;AAKA;;;;;;;AAOA;;AAGF;;AAEF;;;AAII;AAEA;;;AAGJ;;AAGE;;;;AAIA;AACE;;;AAGJ;AACA;AACA;;;;;;;;;AASA;;AAEE;;;AAGN;;AAIA;;AAOE;;AAEE;;;;;;;;AAQA;;;AAIJ;;;AAaI;;;;;;;;;AASJ;;AAGE;AACE;AACA;AACD;AACF;;;AAIC;AAQI;AACA;;AA4DR;;AAIA;AAQE;;AAEE;AACA;AACE;AACA;;AAON;;"}
@@ -1,8 +1,9 @@
1
1
  "use client";
2
2
  import { jsx, jsxs } from 'react/jsx-runtime';
3
- import { memo, useRef, useState, useId, useMemo, useImperativeHandle, useEffect } from 'react';
3
+ import { memo, useRef, useState, useId, useMemo, useEffect, useImperativeHandle } from 'react';
4
4
  import innerText from '../../../_virtual/index3.js';
5
- 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.46_@types_node@20.19.43_typescript@5.9.3__/vendor/tailwind-variants/dist/index.js';
5
+ 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.46_@swc_helper_93b9c5ee15e3d3d2221e194197be3b5c/vendor/tailwind-variants/dist/index.js';
6
+ import { useAnimationFrame } from '../../../hooks/useAnimationFrame.js';
6
7
  import { useLatest } from '../../../hooks/useLatest.js';
7
8
  import { useOuterClick } from '../../../hooks/useOuterClick.js';
8
9
  import { useTheme } from '../../../hooks/useTheme.js';
@@ -93,6 +94,8 @@ const ActualMultiCombobox = ({ items, selectedItems, name, disabled = false, req
93
94
  isItemSelected,
94
95
  });
95
96
  const inputRef = useRef(null);
97
+ const deleteFrame = useAnimationFrame();
98
+ const selectFrame = useAnimationFrame();
96
99
  // eslint-disable-next-line local-rules/best-practice-for-use-latest
97
100
  const latestForListBox = useLatest({
98
101
  onDelete,
@@ -100,6 +103,8 @@ const ActualMultiCombobox = ({ items, selectedItems, name, disabled = false, req
100
103
  onSelect,
101
104
  onChangeInput,
102
105
  selectedItems,
106
+ deleteFrame,
107
+ selectFrame,
103
108
  });
104
109
  const listBoxFunctions = useMemo(() => {
105
110
  const handleDelete = (item) => {
@@ -112,8 +117,8 @@ const ActualMultiCombobox = ({ items, selectedItems, name, disabled = false, req
112
117
  }
113
118
  if (handlers.length > 0) {
114
119
  // HINT: Dropdown系コンポーネント内でComboboxを使うと、選択肢がportalで表現されている関係上Dropdownが閉じてしまう
115
- // requestAnimationFrameを追加、処理を遅延させることで正常に閉じる/閉じないの判定を行えるようにする
116
- requestAnimationFrame(() => {
120
+ // 処理を遅延させることで正常に閉じる/閉じないの判定を行えるようにする
121
+ latestForListBox.deleteFrame.request(() => {
117
122
  handlers.forEach((h) => h(item));
118
123
  });
119
124
  }
@@ -122,8 +127,8 @@ const ActualMultiCombobox = ({ items, selectedItems, name, disabled = false, req
122
127
  handleDelete,
123
128
  handleSelect: (selected) => {
124
129
  // HINT: Dropdown系コンポーネント内でComboboxを使うと、選択肢がportalで表現されている関係上Dropdownが閉じてしまう
125
- // requestAnimationFrameを追加、処理を遅延させることで正常に閉じる/閉じないの判定を行えるようにする
126
- requestAnimationFrame(() => {
130
+ // 処理を遅延させることで正常に閉じる/閉じないの判定を行えるようにする
131
+ latestForListBox.selectFrame.request(() => {
127
132
  const matchedSelectedItem = latestForListBox.selectedItems.find((item) => areItemsEqual(item, selected));
128
133
  if (matchedSelectedItem === undefined) {
129
134
  latestForListBox.onSelect?.(selected);
@@ -138,6 +143,11 @@ const ActualMultiCombobox = ({ items, selectedItems, name, disabled = false, req
138
143
  },
139
144
  };
140
145
  }, [latestForListBox]);
146
+ // TODO: callbackRefにまとめたい
147
+ useEffect(() => () => {
148
+ latestForListBox.deleteFrame.cancel();
149
+ latestForListBox.selectFrame.cancel();
150
+ }, [latestForListBox]);
141
151
  const { listBoxProps, activeOption, handleKeyDownListBox, listBoxId, listBoxRef } = useListbox({
142
152
  options,
143
153
  dropdownHelpMessage,