@ryuzaki13/react-foundation-ui 1.8.1 → 1.8.3

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 (424) hide show
  1. package/dist/advanced-search/index.js +8 -8
  2. package/dist/badge/index.js +1 -1
  3. package/dist/base-table/index.js +1 -1
  4. package/dist/button/index.js +1 -1
  5. package/dist/check-box/index.js +1 -1
  6. package/dist/chunks/{CalendarView-DGElHRTJ.js → CalendarView-BJx6akIp.js} +2 -2
  7. package/dist/chunks/{CalendarView-DGElHRTJ.js.map → CalendarView-BJx6akIp.js.map} +1 -1
  8. package/dist/chunks/CheckBox.module-C5SjPwSj.js.map +1 -1
  9. package/dist/chunks/{TextEditorLexicalClient-C6b5N8AO.js → TextEditorLexicalClient-Ca89d-Db.js} +6 -6
  10. package/dist/chunks/{TextEditorLexicalClient-C6b5N8AO.js.map → TextEditorLexicalClient-Ca89d-Db.js.map} +1 -1
  11. package/dist/chunks/{badge-DMM8cOHd.js → badge-DUI2ET6q.js} +2 -2
  12. package/dist/chunks/{badge-DMM8cOHd.js.map → badge-DUI2ET6q.js.map} +1 -1
  13. package/dist/chunks/{base-table-DNSYOO9t.js → base-table-CsnUiMTe.js} +2 -2
  14. package/dist/chunks/{base-table-DNSYOO9t.js.map → base-table-CsnUiMTe.js.map} +1 -1
  15. package/dist/chunks/{button-BsvHGWPc.js → button-C53OkqTg.js} +3 -3
  16. package/dist/chunks/{button-BsvHGWPc.js.map → button-C53OkqTg.js.map} +1 -1
  17. package/dist/chunks/{check-box-sfGjYczQ.js → check-box-CC8CDnSR.js} +3 -3
  18. package/dist/chunks/{check-box-sfGjYczQ.js.map → check-box-CC8CDnSR.js.map} +1 -1
  19. package/dist/chunks/context-menu-C8sA7xCN.js +525 -0
  20. package/dist/chunks/context-menu-C8sA7xCN.js.map +1 -0
  21. package/dist/chunks/{date-input-C4GcKul6.js → date-input-g6l1iDmf.js} +5 -5
  22. package/dist/chunks/{date-input-C4GcKul6.js.map → date-input-g6l1iDmf.js.map} +1 -1
  23. package/dist/chunks/defaultRenderers-Dbhg2hHc.js +38 -0
  24. package/dist/chunks/defaultRenderers-Dbhg2hHc.js.map +1 -0
  25. package/dist/chunks/{input-CCdBtl-C.js → input-d08WN5FV.js} +2 -2
  26. package/dist/chunks/{input-CCdBtl-C.js.map → input-d08WN5FV.js.map} +1 -1
  27. package/dist/chunks/{input-files-TXdXrSAs.js → input-files-_NdSQM_3.js} +3 -3
  28. package/dist/chunks/{input-files-TXdXrSAs.js.map → input-files-_NdSQM_3.js.map} +1 -1
  29. package/dist/chunks/{input-search-Ca8iqeK2.js → input-search-BjtTMoRu.js} +2 -2
  30. package/dist/chunks/{input-search-Ca8iqeK2.js.map → input-search-BjtTMoRu.js.map} +1 -1
  31. package/dist/chunks/{modal-DLRYn-Lr.js → modal-Bar-j5a4.js} +2 -2
  32. package/dist/chunks/{modal-DLRYn-Lr.js.map → modal-Bar-j5a4.js.map} +1 -1
  33. package/dist/chunks/multi-select-Cvjz9W07.js +466 -0
  34. package/dist/chunks/multi-select-Cvjz9W07.js.map +1 -0
  35. package/dist/chunks/picker-0I1yMKIY.js +435 -0
  36. package/dist/chunks/picker-0I1yMKIY.js.map +1 -0
  37. package/dist/chunks/{radio-group-BAeJjyZ5.js → radio-group-DhpP7JSJ.js} +2 -2
  38. package/dist/chunks/{radio-group-BAeJjyZ5.js.map → radio-group-DhpP7JSJ.js.map} +1 -1
  39. package/dist/chunks/select-CUQ91FIc.js +363 -0
  40. package/dist/chunks/select-CUQ91FIc.js.map +1 -0
  41. package/dist/chunks/{table-RO4dfMAj.js → table-z9kyd9U3.js} +2 -2
  42. package/dist/chunks/{table-RO4dfMAj.js.map → table-z9kyd9U3.js.map} +1 -1
  43. package/dist/chunks/{ui.module-DHVTOqZ0.js → ui.module-BsDio9A3.js} +4 -3
  44. package/dist/chunks/ui.module-BsDio9A3.js.map +1 -0
  45. package/dist/chunks/{uiClasses-UkaejTdf.js → uiClasses-BVwFzzsr.js} +2 -2
  46. package/dist/chunks/{uiClasses-UkaejTdf.js.map → uiClasses-BVwFzzsr.js.map} +1 -1
  47. package/dist/chunks/useODataSelectBase-DR4PrY1j.js +117 -0
  48. package/dist/chunks/useODataSelectBase-DR4PrY1j.js.map +1 -0
  49. package/dist/context-menu/components/ContextMenu.d.ts +2 -1
  50. package/dist/context-menu/components/ContextMenu.d.ts.map +1 -1
  51. package/dist/context-menu/components/DropdownMenu.d.ts +2 -1
  52. package/dist/context-menu/components/DropdownMenu.d.ts.map +1 -1
  53. package/dist/context-menu/components/MenuContent.d.ts.map +1 -1
  54. package/dist/context-menu/components/MenuItem.d.ts +6 -6
  55. package/dist/context-menu/components/MenuItem.d.ts.map +1 -1
  56. package/dist/context-menu/components/MenuRoot.d.ts +1 -1
  57. package/dist/context-menu/components/MenuRoot.d.ts.map +1 -1
  58. package/dist/context-menu/index.js +1 -1
  59. package/dist/date-input/index.js +2 -2
  60. package/dist/date-time-input/index.js +3 -3
  61. package/dist/disclosure/index.js +2 -2
  62. package/dist/drop-zone/index.js +1 -1
  63. package/dist/expandable-action-panel/index.js +1 -1
  64. package/dist/image/index.js +4 -4
  65. package/dist/input/index.js +1 -1
  66. package/dist/input-date-time/index.js +2 -2
  67. package/dist/input-file/index.js +2 -2
  68. package/dist/input-files/index.js +1 -1
  69. package/dist/input-image/index.js +2 -2
  70. package/dist/input-search/index.js +1 -1
  71. package/dist/layout-picker/index.js +66 -68
  72. package/dist/layout-picker/index.js.map +1 -1
  73. package/dist/layout-picker/ui/LayoutPicker.d.ts.map +1 -1
  74. package/dist/listbox/Listbox.d.ts +1 -1
  75. package/dist/listbox/Listbox.d.ts.map +1 -1
  76. package/dist/listbox/index.js +71 -59
  77. package/dist/listbox/index.js.map +1 -1
  78. package/dist/modal/index.js +1 -1
  79. package/dist/multi-select/index.js +2 -2
  80. package/dist/multi-select/ui/MultiSelect.d.ts +11 -1
  81. package/dist/multi-select/ui/MultiSelect.d.ts.map +1 -1
  82. package/dist/multi-select/ui/defaultRenderers.d.ts +6 -4
  83. package/dist/multi-select/ui/defaultRenderers.d.ts.map +1 -1
  84. package/dist/multi-select/ui/index.d.ts +0 -1
  85. package/dist/multi-select/ui/index.d.ts.map +1 -1
  86. package/dist/notifications/index.js +1 -1
  87. package/dist/option/CustomOptionButton.d.ts +6 -0
  88. package/dist/option/CustomOptionButton.d.ts.map +1 -0
  89. package/dist/option/Option.d.ts +14 -0
  90. package/dist/option/Option.d.ts.map +1 -0
  91. package/dist/option/OptionButton.d.ts +8 -0
  92. package/dist/option/OptionButton.d.ts.map +1 -0
  93. package/dist/option/OptionCode.d.ts +6 -0
  94. package/dist/option/OptionCode.d.ts.map +1 -0
  95. package/dist/option/OptionContent.d.ts +19 -0
  96. package/dist/option/OptionContent.d.ts.map +1 -0
  97. package/dist/option/OptionHotkey.d.ts +6 -0
  98. package/dist/option/OptionHotkey.d.ts.map +1 -0
  99. package/dist/option/OptionIcon.d.ts +6 -0
  100. package/dist/option/OptionIcon.d.ts.map +1 -0
  101. package/dist/option/OptionLink.d.ts +8 -0
  102. package/dist/option/OptionLink.d.ts.map +1 -0
  103. package/dist/option/OptionText.d.ts +6 -0
  104. package/dist/option/OptionText.d.ts.map +1 -0
  105. package/dist/option/index.d.ts +10 -0
  106. package/dist/option/index.d.ts.map +1 -0
  107. package/dist/option/index.js +112 -0
  108. package/dist/option/index.js.map +1 -0
  109. package/dist/picker/PickerClearButton.d.ts +9 -0
  110. package/dist/picker/PickerClearButton.d.ts.map +1 -0
  111. package/dist/picker/PickerOptions.d.ts +22 -0
  112. package/dist/picker/PickerOptions.d.ts.map +1 -0
  113. package/dist/picker/PickerPlaceholder.d.ts +14 -0
  114. package/dist/picker/PickerPlaceholder.d.ts.map +1 -0
  115. package/dist/picker/PickerPopup.d.ts +4 -3
  116. package/dist/picker/PickerPopup.d.ts.map +1 -1
  117. package/dist/picker/PickerSelectedToken.d.ts +7 -0
  118. package/dist/picker/PickerSelectedToken.d.ts.map +1 -0
  119. package/dist/picker/PickerTrigger.d.ts +29 -0
  120. package/dist/picker/PickerTrigger.d.ts.map +1 -0
  121. package/dist/picker/PickerTriggerActions.d.ts.map +1 -1
  122. package/dist/picker/PickerTriggerInput.d.ts +1 -2
  123. package/dist/picker/PickerTriggerInput.d.ts.map +1 -1
  124. package/dist/picker/index.d.ts +5 -0
  125. package/dist/picker/index.d.ts.map +1 -1
  126. package/dist/picker/index.js +2 -2
  127. package/dist/picker/model/extractPickerTextContent.d.ts +1 -1
  128. package/dist/picker/model/extractPickerTextContent.d.ts.map +1 -1
  129. package/dist/preset-range-date-input/index.js +1 -1
  130. package/dist/preset-select/PresetSelect.d.ts +1 -1
  131. package/dist/preset-select/PresetSelect.d.ts.map +1 -1
  132. package/dist/preset-select/index.js +1 -1
  133. package/dist/preset-select/index.js.map +1 -1
  134. package/dist/radio-button/index.js +2 -2
  135. package/dist/radio-group/index.js +1 -1
  136. package/dist/select/Select.d.ts +4 -2
  137. package/dist/select/Select.d.ts.map +1 -1
  138. package/dist/select/SelectOptionGroup.d.ts +1 -1
  139. package/dist/select/SelectOptionGroup.d.ts.map +1 -1
  140. package/dist/select/index.js +1 -1
  141. package/dist/select/model/useODataSelectBase.d.ts.map +1 -1
  142. package/dist/simple-table/index.js +1 -1
  143. package/dist/slider/index.js +3 -3
  144. package/dist/state-select/StateSelect.d.ts +1 -1
  145. package/dist/state-select/StateSelect.d.ts.map +1 -1
  146. package/dist/state-select/index.js +1 -1
  147. package/dist/state-select/index.js.map +1 -1
  148. package/dist/styles.css +1 -1
  149. package/dist/switch/index.js +1 -1
  150. package/dist/table/index.js +1 -1
  151. package/dist/table-sorting/index.js +1 -1
  152. package/dist/tabs/index.js +2 -2
  153. package/dist/tag-input/index.js +2 -2
  154. package/dist/text-editor/index.js +1 -1
  155. package/dist/textarea/index.js +2 -2
  156. package/dist/toggle/index.js +1 -1
  157. package/dist/tree-select/TreeMultiSelect.d.ts.map +1 -1
  158. package/dist/tree-select/TreeNodeContent.d.ts +2 -1
  159. package/dist/tree-select/TreeNodeContent.d.ts.map +1 -1
  160. package/dist/tree-select/TreePickerBase.d.ts +4 -1
  161. package/dist/tree-select/TreePickerBase.d.ts.map +1 -1
  162. package/dist/tree-select/index.js +322 -353
  163. package/dist/tree-select/index.js.map +1 -1
  164. package/dist/tree-table/index.js +1 -1
  165. package/package.json +5 -1
  166. package/src/styles/themes/_interactive-surface.scss +67 -0
  167. package/storybook-static/assets/{Badge-vnYXe1um.js → Badge-Wsl03RiZ.js} +1 -1
  168. package/storybook-static/assets/{Badge.stories-5LcplF_Q.js → Badge.stories-C5FJ05zx.js} +1 -1
  169. package/storybook-static/assets/{BadgeList-B1Mn9GtM.js → BadgeList-DHcmb--r.js} +1 -1
  170. package/storybook-static/assets/{Button-tokZDQsV.js → Button-9Vdg-8pF.js} +1 -1
  171. package/storybook-static/assets/{Button-Ez6zTRLH.js → Button-CEzU6vMY.js} +1 -1
  172. package/storybook-static/assets/{Button.stories-BeJ5wldz.js → Button.stories-BfDF7T_l.js} +1 -1
  173. package/storybook-static/assets/{CalendarView-BYiJjzKd.js → CalendarView-DCLQ6cmR.js} +1 -1
  174. package/storybook-static/assets/{CheckBox-BFCmk9Is.js → CheckBox-BJ3STl44.js} +1 -1
  175. package/storybook-static/assets/CheckBox-DWrG0yT0.css +1 -0
  176. package/storybook-static/assets/{CheckBox-O5kReKiZ.js → CheckBox-UlZDcbgz.js} +1 -1
  177. package/storybook-static/assets/{CheckBox.stories-BUNYAiF-.js → CheckBox.stories-Pt5RIIb4.js} +1 -1
  178. package/storybook-static/assets/{Color-6AOWCN3U-CYSLqqAa.js → Color-6AOWCN3U-3Ir6qwTW.js} +1 -1
  179. package/storybook-static/assets/ContextMenu-BrYtLHPB.css +1 -0
  180. package/storybook-static/assets/{ContextMenu-D7IH0vrL.js → ContextMenu-CU7qp0QU.js} +1 -1
  181. package/storybook-static/assets/ContextMenu-teXimUtT.js +1 -0
  182. package/storybook-static/assets/ContextMenu.stories-BhkVXZCg.js +37 -0
  183. package/storybook-static/assets/CustomOptionButton-BWYYtI_M.js +1 -0
  184. package/storybook-static/assets/{DateInput-xKfdW4xy.js → DateInput-B0xrPmg8.js} +1 -1
  185. package/storybook-static/assets/{DateInput-Clx9NJfT.js → DateInput-CRNvZef4.js} +1 -1
  186. package/storybook-static/assets/{DateInput.stories-VgCgoB2M.js → DateInput.stories-CrMRn_FQ.js} +1 -1
  187. package/storybook-static/assets/{DateRangePresetSelect-PvUDbbbE.js → DateRangePresetSelect-B96SINg3.js} +1 -1
  188. package/storybook-static/assets/{DateRangePresetSelect-CalAPOdY.js → DateRangePresetSelect-BGdt7rCz.js} +1 -1
  189. package/storybook-static/assets/DateRangePresetSelect.stories-B20eqYGr.js +19 -0
  190. package/storybook-static/assets/{Detail-Bls5nJys.js → Detail-CUNNfYz6.js} +1 -1
  191. package/storybook-static/assets/{Detail.stories-BS7JQ0sv.js → Detail.stories-DPp7roXv.js} +1 -1
  192. package/storybook-static/assets/{Dialog-DzFUQBt1.js → Dialog-B7eTlIWU.js} +1 -1
  193. package/storybook-static/assets/{Dialog-T74XF-bA.js → Dialog-DdONtJUb.js} +1 -1
  194. package/storybook-static/assets/{Dialog.stories-DwAyLLWR.js → Dialog.stories-CF6Q0tJ-.js} +1 -1
  195. package/storybook-static/assets/{Disclosure-DukYcfZ8.js → Disclosure-BI4KMSDK.js} +1 -1
  196. package/storybook-static/assets/{Disclosure.stories-BwbQhJLc.js → Disclosure.stories-BaTneJlv.js} +1 -1
  197. package/storybook-static/assets/{DisclosureGroup-C2j4-sfq.js → DisclosureGroup-Dx2-SHha.js} +1 -1
  198. package/storybook-static/assets/{DocsRenderer-JROSPFPF-aOEkU93H.js → DocsRenderer-JROSPFPF-mMjwDILp.js} +1 -1
  199. package/storybook-static/assets/{DropZone-DmXfqTac.js → DropZone-BizNinsQ.js} +1 -1
  200. package/storybook-static/assets/{DropZone-CX6FCvI6.js → DropZone-D93x3skJ.js} +1 -1
  201. package/storybook-static/assets/{DropZone.stories-CWUYTr9y.js → DropZone.stories-Dn72HUME.js} +1 -1
  202. package/storybook-static/assets/{DropdownMenu-9_GcY2uX.js → DropdownMenu-Bpjyamf_.js} +1 -1
  203. package/storybook-static/assets/{ExpandableActionPanel-nt3MqFv9.js → ExpandableActionPanel-Q4xXTfPB.js} +1 -1
  204. package/storybook-static/assets/{ExpandableActionPanel.stories-olHfqsW_.js → ExpandableActionPanel.stories-Dr40xqrz.js} +1 -1
  205. package/storybook-static/assets/{Flex-RLn0K4Ow.js → Flex-Qj0CmbNT.js} +1 -1
  206. package/storybook-static/assets/{Flex.stories-DQDMHquA.js → Flex.stories-CMB4ZAgy.js} +1 -1
  207. package/storybook-static/assets/{FloatingPopover-C3zX8ub-.js → FloatingPopover-jH57LEGX.js} +1 -1
  208. package/storybook-static/assets/{FormattedTableCell-B4pCfcrR.js → FormattedTableCell-vbqJ5gib.js} +1 -1
  209. package/storybook-static/assets/{Grid-tCvypgeR.js → Grid-AZBb1w5n.js} +1 -1
  210. package/storybook-static/assets/{Grid.stories-B5vW8L5j.js → Grid.stories-BaeYzAP-.js} +1 -1
  211. package/storybook-static/assets/{ImageCropper.stories-ZYBRPrX5.js → ImageCropper.stories-Da9IaNLO.js} +1 -1
  212. package/storybook-static/assets/{ImageRenderer-BNfa_o00.js → ImageRenderer-CNFqjqvE.js} +1 -1
  213. package/storybook-static/assets/{ImageRenderer.stories-Dpnwae9g.js → ImageRenderer.stories-8pPWqLHi.js} +1 -1
  214. package/storybook-static/assets/{ImageView.stories-B0AdmHu8.js → ImageView.stories-P0OBwcHv.js} +1 -1
  215. package/storybook-static/assets/{ImageViewer.stories-BjS-HrS8.js → ImageViewer.stories-A8gBQaCk.js} +2 -2
  216. package/storybook-static/assets/{ImageViewerRuntime-CUjlGhkL.js → ImageViewerRuntime-C2LHl9xa.js} +1 -1
  217. package/storybook-static/assets/{Input-BfxuEl-U.js → Input-LI8Ij2VV.js} +1 -1
  218. package/storybook-static/assets/{Input-BZvdvztj.js → Input-X5FLaExp.js} +1 -1
  219. package/storybook-static/assets/{Input.stories-CRyRl5-A.js → Input.stories-r4hSNMWI.js} +1 -1
  220. package/storybook-static/assets/{InputDateTime-BoHXIqs0.js → InputDateTime-B9IQGLxQ.js} +1 -1
  221. package/storybook-static/assets/{InputDateTime.stories-4TKy1puk.js → InputDateTime.stories-t-IFoW6A.js} +1 -1
  222. package/storybook-static/assets/{InputFile-9rfT18Tp.js → InputFile-YhjpMsir.js} +1 -1
  223. package/storybook-static/assets/{InputFile-cHVEMDCa.js → InputFile-yUYuRSfc.js} +1 -1
  224. package/storybook-static/assets/{InputFile.stories-Dfz4dP6-.js → InputFile.stories-DvMCOp6p.js} +1 -1
  225. package/storybook-static/assets/{InputFiles-B7hAFUUH.js → InputFiles-Dq9QZAWM.js} +1 -1
  226. package/storybook-static/assets/{InputFiles-D-yaCNy7.js → InputFiles-b6Ne7Ph9.js} +1 -1
  227. package/storybook-static/assets/{InputFiles.stories-BuyS7aob.js → InputFiles.stories-Q7rdTg-e.js} +1 -1
  228. package/storybook-static/assets/{InputFilesList-AVN7l6tF.js → InputFilesList-u59R9lsq.js} +1 -1
  229. package/storybook-static/assets/{InputImage-B9XqXq0w.js → InputImage-BTap4i1_.js} +1 -1
  230. package/storybook-static/assets/{InputImage-HJDF6igx.js → InputImage-_b_bmfXz.js} +1 -1
  231. package/storybook-static/assets/{InputImage.stories-BV70MC-m.js → InputImage.stories-F08TWbxk.js} +1 -1
  232. package/storybook-static/assets/{InteractiveComponents-CHY0kEDq.js → InteractiveComponents-CpJd5e3W.js} +1 -1
  233. package/storybook-static/assets/{InteractiveComponents.stories-D6arBycE.js → InteractiveComponents.stories-CM9yNzcF.js} +1 -1
  234. package/storybook-static/assets/LayoutPicker-8Q1MpMYR.js +376 -0
  235. package/storybook-static/assets/LayoutPicker-BY4-fUQa.css +1 -0
  236. package/storybook-static/assets/{LayoutPicker-SjhPWivQ.js → LayoutPicker-vwoAIGrk.js} +1 -1
  237. package/storybook-static/assets/{LayoutPicker.stories-CbEGkcsV.js → LayoutPicker.stories-BW8B8i8S.js} +1 -1
  238. package/storybook-static/assets/{Listbox-C3sJ_hRZ.js → Listbox-Cf_DMAva.js} +1 -1
  239. package/storybook-static/assets/Listbox-D7r9R1Of.js +1 -0
  240. package/storybook-static/assets/{Listbox.stories-CVdUd7oX.js → Listbox.stories-CxYyfkFU.js} +1 -1
  241. package/storybook-static/assets/{Modal-0PfZiQTc.js → Modal-BaprwyBJ.js} +1 -1
  242. package/storybook-static/assets/{Modal.stories-CVsQnsPB.js → Modal.stories-Rn_bgNdm.js} +1 -1
  243. package/storybook-static/assets/{ModalManagerProvider-CtrgehPS.js → ModalManagerProvider-BoJChAx2.js} +1 -1
  244. package/storybook-static/assets/MultiSelect-CILXhKyj.js +2 -0
  245. package/storybook-static/assets/{MultiSelect-C4uTzWsY.js → MultiSelect-CU7avopN.js} +1 -1
  246. package/storybook-static/assets/MultiSelect-DI_UD1B-.css +1 -0
  247. package/storybook-static/assets/{MultiSelect.stories-BbRKK0p6.js → MultiSelect.stories-DFtFExi3.js} +1 -1
  248. package/storybook-static/assets/{NoData-FOwrLS3D.js → NoData-u6T3MI60.js} +1 -1
  249. package/storybook-static/assets/{NotificationsHost-CvUyoPxm.js → NotificationsHost-63IJh9Kr.js} +1 -1
  250. package/storybook-static/assets/{NotificationsHost.stories-CxAmUl63.js → NotificationsHost.stories-CRKVOYWB.js} +1 -1
  251. package/storybook-static/assets/{ODataMultiSelect-MtLFqFdV.js → ODataMultiSelect-tfqbyVgv.js} +1 -1
  252. package/storybook-static/assets/ODataMultiSelect.stories-DuC1gg-Q.js +126 -0
  253. package/storybook-static/assets/{ODataSelect-C2mNXOs7.js → ODataSelect-0ax3OIQy.js} +1 -1
  254. package/storybook-static/assets/ODataSelect.stories-aGZEvBIO.js +148 -0
  255. package/storybook-static/assets/{ODataTreeMultiSelect-DKuQpEHJ.js → ODataTreeMultiSelect-C4ZN4DaL.js} +1 -1
  256. package/storybook-static/assets/ODataTreeMultiSelect.stories-BThoYYsE.js +74 -0
  257. package/storybook-static/assets/{ODataTreeSelect-iOpfYI9F.js → ODataTreeSelect-DvrUSJsi.js} +1 -1
  258. package/storybook-static/assets/ODataTreeSelect.stories-B9582VZ6.js +46 -0
  259. package/storybook-static/assets/{OneStepScroller-BMbG0e_H.js → OneStepScroller-BoIh7KcH.js} +1 -1
  260. package/storybook-static/assets/Option-CJBK9i2B.css +1 -0
  261. package/storybook-static/assets/Option-DqmRqyOQ.js +10 -0
  262. package/storybook-static/assets/OptionButton-CQVIwI2y.js +1 -0
  263. package/storybook-static/assets/{PeriodSelect-Cs81vXtY.js → PeriodSelect-CdTxjZC3.js} +1 -1
  264. package/storybook-static/assets/{PeriodSelect-MupKtCZ2.js → PeriodSelect-Dw3EsMrL.js} +1 -1
  265. package/storybook-static/assets/{PeriodSelect.stories-B2FDkAfy.js → PeriodSelect.stories-DYinImmY.js} +1 -1
  266. package/storybook-static/assets/PickerTriggerActions-B0z5qfFF.js +1 -0
  267. package/storybook-static/assets/{Popover-UdAXxj_x.js → Popover-0xwjVe6K.js} +1 -1
  268. package/storybook-static/assets/{Popover-dlyvIeXz.js → Popover-ijEoQcUp.js} +1 -1
  269. package/storybook-static/assets/{Popover.stories-CO2yrZc-.js → Popover.stories-CMNjjwu5.js} +1 -1
  270. package/storybook-static/assets/{PresetRangeDateInput-Bbgpqy-r.js → PresetRangeDateInput-CdvdO4mf.js} +1 -1
  271. package/storybook-static/assets/{PresetRangeDateInput-TTU2ggx2.js → PresetRangeDateInput-DysqM_NV.js} +1 -1
  272. package/storybook-static/assets/{PresetRangeDateInput.stories-DUMiMPe7.js → PresetRangeDateInput.stories-nVojLSRm.js} +1 -1
  273. package/storybook-static/assets/{PresetSelect-DmdRTAVo.js → PresetSelect-mjBaMbt6.js} +1 -1
  274. package/storybook-static/assets/{RadioButton-CsZACDyv.js → RadioButton-CVGKMhGV.js} +1 -1
  275. package/storybook-static/assets/{RadioButton-CMxc7Jvy.js → RadioButton-jB744vXz.js} +1 -1
  276. package/storybook-static/assets/{RadioButton.stories-Aav_OAcv.js → RadioButton.stories-CJsU4D3L.js} +1 -1
  277. package/storybook-static/assets/{RadioGroup-C34FTwLU.js → RadioGroup-BGF3aoOc.js} +1 -1
  278. package/storybook-static/assets/{RadioGroup-U2EEs5od.js → RadioGroup-DbqvBGw3.js} +1 -1
  279. package/storybook-static/assets/{RadioGroup.stories-wL2AX-Yg.js → RadioGroup.stories-Bkny6-9V.js} +1 -1
  280. package/storybook-static/assets/{Scrollable-DUOHq_cZ.js → Scrollable-DZp3ByoS.js} +1 -1
  281. package/storybook-static/assets/{Select-CaoNBi5X.js → Select-BJcT2K35.js} +1 -1
  282. package/storybook-static/assets/Select-CcuhYAW8.js +12 -0
  283. package/storybook-static/assets/{Select.stories-Db-PRiir.js → Select.stories-BowB7kdj.js} +1 -1
  284. package/storybook-static/assets/{SerializableSelect-HSwx4Kn2.js → SerializableSelect-DRczsfxk.js} +1 -1
  285. package/storybook-static/assets/{SerializableSelect.stories-DdHotcES.js → SerializableSelect.stories-BcYeXF_R.js} +1 -1
  286. package/storybook-static/assets/{SingleDateTimeInput-MYajYmv1.js → SingleDateTimeInput-HDsmYVP2.js} +1 -1
  287. package/storybook-static/assets/{SingleDateTimeInput-CQVoGA2w.js → SingleDateTimeInput-pHA1ci5g.js} +1 -1
  288. package/storybook-static/assets/{SingleDateTimeInput.stories-BbUphbSp.js → SingleDateTimeInput.stories-KUrLpnh_.js} +1 -1
  289. package/storybook-static/assets/{Slider-BrQ4ksxF.js → Slider-DaJGOEf-.js} +1 -1
  290. package/storybook-static/assets/{Slider-s7ST-3RJ.js → Slider-XnQRU_In.js} +1 -1
  291. package/storybook-static/assets/{Slider.stories-w50A1paF.js → Slider.stories-ByS4Bo7v.js} +1 -1
  292. package/storybook-static/assets/{SliderInput-1_Egcch8.js → SliderInput-BjyCba0D.js} +1 -1
  293. package/storybook-static/assets/{SliderInput-Cnm3KcyF.js → SliderInput-Dan5pyQh.js} +1 -1
  294. package/storybook-static/assets/{SliderInput.stories-DLBBUxKz.js → SliderInput.stories-d4F5pqct.js} +1 -1
  295. package/storybook-static/assets/{Sortable-B0TvDh0j.js → Sortable-Bdzx4D0R.js} +1 -1
  296. package/storybook-static/assets/{Sortable.stories-B31jbM4x.js → Sortable.stories-BIhgYQ1m.js} +1 -1
  297. package/storybook-static/assets/{Splitter-D4B3BVbz.js → Splitter-B3hepEkw.js} +1 -1
  298. package/storybook-static/assets/{Splitter.stories-szzG_E9V.js → Splitter.stories-L6R3ImTr.js} +1 -1
  299. package/storybook-static/assets/{StateSelect-BNneTJ8H.js → StateSelect-C4oHSG2B.js} +1 -1
  300. package/storybook-static/assets/{StateSelect-Ceh8_VLn.js → StateSelect-CylM2NVF.js} +3 -3
  301. package/storybook-static/assets/{StateSelect.stories-CJxr-Qm_.js → StateSelect.stories-Djw_nuLJ.js} +1 -1
  302. package/storybook-static/assets/{StringToggle.stories-Cwdk9yWF.js → StringToggle.stories-pqZzNPRQ.js} +1 -1
  303. package/storybook-static/assets/{Switch-uGSRbqVn.js → Switch-BK5DQYpV.js} +1 -1
  304. package/storybook-static/assets/{Switch-f5NHm5hJ.js → Switch-BkHwzkeD.js} +1 -1
  305. package/storybook-static/assets/{Switch.stories-HaYKntQH.js → Switch.stories-BG1MHajd.js} +1 -1
  306. package/storybook-static/assets/{Table-DxQuA1Dc.js → Table-BQPiMPmF.js} +1 -1
  307. package/storybook-static/assets/{Table.stories-SMhKCmIb.js → Table.stories-b5gmGDu_.js} +1 -1
  308. package/storybook-static/assets/{Tabs-BDX7aIIu.js → Tabs-B13rDpZt.js} +1 -1
  309. package/storybook-static/assets/{Tabs.stories-CjlYBZ8E.js → Tabs.stories-D0sg-2Nx.js} +1 -1
  310. package/storybook-static/assets/{TabsBox-t8UA3Ghh.js → TabsBox-DZwTlYNa.js} +1 -1
  311. package/storybook-static/assets/{TagInput-YHV8sAGl.js → TagInput-RYhIr0kM.js} +1 -1
  312. package/storybook-static/assets/{TagInput.stories-VKkEKC9A.js → TagInput.stories-7iTWdjmj.js} +1 -1
  313. package/storybook-static/assets/{Text-BQ5vHbkZ.js → Text-5-YdhIB8.js} +1 -1
  314. package/storybook-static/assets/{Textarea-ogSh20Tb.js → Textarea-0L2M-xFG.js} +1 -1
  315. package/storybook-static/assets/{Textarea-BY_dHgap.js → Textarea-pQp1ju2W.js} +1 -1
  316. package/storybook-static/assets/{Textarea.stories-BixCwInt.js → Textarea.stories-pJFWbXcf.js} +1 -1
  317. package/storybook-static/assets/{TimePanel-CgR59Au6.js → TimePanel-DlfW-4Rv.js} +1 -1
  318. package/storybook-static/assets/{TimePanel.stories-D3uV3m77.js → TimePanel.stories-DpXHb66k.js} +1 -1
  319. package/storybook-static/assets/{Toggle-Cit9qQ37.js → Toggle-CwgQ0NbP.js} +1 -1
  320. package/storybook-static/assets/{Toggle-BbYcoBEJ.js → Toggle-Q04RQyAN.js} +1 -1
  321. package/storybook-static/assets/{Toggle.stories-uPLdFwPH.js → Toggle.stories-DOYwhorJ.js} +1 -1
  322. package/storybook-static/assets/{TreeMultiSelect-RMw3Sgov.js → TreeMultiSelect--Z9jdUna.js} +1 -1
  323. package/storybook-static/assets/TreeMultiSelect-CcBXMmXH.js +1 -0
  324. package/storybook-static/assets/{TreeMultiSelect.stories-eVCsLnck.js → TreeMultiSelect.stories-CSlNe1qA.js} +1 -1
  325. package/storybook-static/assets/TreePickerBase-B6DED6Hz.css +1 -0
  326. package/storybook-static/assets/TreePickerBase-BBHbtNFV.js +34 -0
  327. package/storybook-static/assets/{TreeSelect-MAH_yWl9.js → TreeSelect-BMcChauO.js} +1 -1
  328. package/storybook-static/assets/{TreeSelect-CAWkriLu.js → TreeSelect-DMC-rviy.js} +1 -1
  329. package/storybook-static/assets/TreeSelect.stories-68LYkP9A.js +32 -0
  330. package/storybook-static/assets/{TreeTable-0VRrM8GW.js → TreeTable-DNArfw0m.js} +1 -1
  331. package/storybook-static/assets/{TreeTable.stories-CNS5t3Hd.js → TreeTable.stories-GybZTfJf.js} +1 -1
  332. package/storybook-static/assets/{async-D1pthPMH.js → async-BpUNPciD.js} +1 -1
  333. package/storybook-static/assets/{blocks-DGyM6J7r.js → blocks-CdL0FBl-.js} +3 -3
  334. package/storybook-static/assets/{browserAndReact-nVftiNpl.js → browserAndReact-DJiCma8q.js} +1 -1
  335. package/storybook-static/assets/{check-CiBhUcLr.js → check-Bff_8tRJ.js} +1 -1
  336. package/storybook-static/assets/{chevron-down-B5rz2XNJ.js → chevron-down-D9beWxJi.js} +1 -1
  337. package/storybook-static/assets/{chevron-left-CzhF1KUP.js → chevron-left-0YewhZTT.js} +1 -1
  338. package/storybook-static/assets/{chevron-right-B0yOnjFl.js → chevron-right-_-7FrDV5.js} +1 -1
  339. package/storybook-static/assets/{chunk-W22LQPXL-8PHxgOk1.js → chunk-W22LQPXL-O2d-a7Cd.js} +1 -1
  340. package/storybook-static/assets/{circle-alert-BoM4TTd8.js → circle-alert-Ch96LToC.js} +1 -1
  341. package/storybook-static/assets/{circle-check-Dehe_1cN.js → circle-check-a4WDWsNJ.js} +1 -1
  342. package/storybook-static/assets/{components-pGFA2Z8i.js → components-DdhcMCr2.js} +3 -3
  343. package/storybook-static/assets/{contextMenu-CVWcJjzy.js → contextMenu-BGjkv4UB.js} +1 -1
  344. package/storybook-static/assets/defaultRenderers-V5HI39JH.js +1 -0
  345. package/storybook-static/assets/{download-OLJFBMAt.js → download-CX1IvM3C.js} +1 -1
  346. package/storybook-static/assets/{filesAndExcel-BA3jxJBm.js → filesAndExcel-dK5pwBOD.js} +1 -1
  347. package/storybook-static/assets/{floating-ui.react-CdJawQTm.js → floating-ui.react-CxLdvcYS.js} +1 -1
  348. package/storybook-static/assets/{formatters-wR_e2lQa.js → formatters-j9sx7DvH.js} +1 -1
  349. package/storybook-static/assets/{formatters-runtime-C4C-phHX.js → formatters-runtime-CHMYu4ZC.js} +1 -1
  350. package/storybook-static/assets/{foundationLib-Bz2ZS9e8.js → foundationLib-C_06ZSSf.js} +1 -1
  351. package/storybook-static/assets/{hooks-B3pvBii1.js → hooks-Bykafh9C.js} +1 -1
  352. package/storybook-static/assets/{iframe-Baz8D-0E.css → iframe-BIt4o49Q.css} +1 -1
  353. package/storybook-static/assets/{iframe-CE1ro1AE.js → iframe-CIzkWNwp.js} +3 -3
  354. package/storybook-static/assets/iframe-sQ6b5u6U.js +1 -0
  355. package/storybook-static/assets/{info-D18FxvY-.js → info-DmoUv3Za.js} +1 -1
  356. package/storybook-static/assets/{odata-BBdp3RzK.js → odata-BOmzCjsk.js} +1 -1
  357. package/storybook-static/assets/{odataAndTables-CcXirND0.js → odataAndTables-CCmlxLmc.js} +1 -1
  358. package/storybook-static/assets/{odataFetchFn-vrHbdkDn.js → odataFetchFn-CTQe0sIR.js} +1 -1
  359. package/storybook-static/assets/{odataStoryFixtures-BPO4gqpN.js → odataStoryFixtures-BSZ-qA-M.js} +2 -2
  360. package/storybook-static/assets/{persisted-1Sxmb7Az.js → persisted--WJ7KKPs.js} +1 -1
  361. package/storybook-static/assets/{pureUtilities-CvNXMzzV.js → pureUtilities-GyB4PF6P.js} +1 -1
  362. package/storybook-static/assets/{react-B2hhruMd.js → react-BBjpR4Fr.js} +1 -1
  363. package/storybook-static/assets/{refresh-cw-pmQ0tFtI.js → refresh-cw-Bc5fTdGR.js} +1 -1
  364. package/storybook-static/assets/{runtimeAndState-DV7ilYb6.js → runtimeAndState-B2HA42QC.js} +1 -1
  365. package/storybook-static/assets/{settings-2-BEyMy2Fq.js → settings-2-Cm9uvgs-.js} +1 -1
  366. package/storybook-static/assets/{sortable-BNF14v_A.js → sortable-U9GPAzJm.js} +1 -1
  367. package/storybook-static/assets/{syntaxhighlighter-T5IQBZDB-CaaXbF-I.js → syntaxhighlighter-T5IQBZDB-Do8Zvv4y.js} +1 -1
  368. package/storybook-static/assets/{trash-2-CQnHnUJa.js → trash-2-D6H0PpPX.js} +1 -1
  369. package/storybook-static/assets/{triangle-alert-DSpoU8D0.js → triangle-alert-5r13MQCo.js} +1 -1
  370. package/storybook-static/assets/{ui-BMhMvV6y.css → ui-CatTcSJL.css} +1 -1
  371. package/storybook-static/assets/ui.module-D4CuGr8r.js +1 -0
  372. package/storybook-static/assets/{uiClasses-DiXn3Hc-.js → uiClasses-CVGbL980.js} +1 -1
  373. package/storybook-static/assets/{useODataSelectBase-Czwwb448.js → useODataSelectBase-bY7vnHqq.js} +1 -1
  374. package/storybook-static/assets/{useODataTreeData-CnsLoUDj.js → useODataTreeData-Dsp1d8h5.js} +1 -1
  375. package/storybook-static/assets/usePickerQuery-BfayEntP.js +1 -0
  376. package/storybook-static/assets/usePickerTriggerController-B1Mub3-v.js +6 -0
  377. package/storybook-static/assets/{x-DRm1wyYI.js → x-DpV1OV1-.js} +1 -1
  378. package/storybook-static/iframe.html +3 -3
  379. package/storybook-static/project.json +1 -1
  380. package/dist/chunks/context-menu-6nJkPmKV.js +0 -535
  381. package/dist/chunks/context-menu-6nJkPmKV.js.map +0 -1
  382. package/dist/chunks/multi-select-D5b3Gxsv.js +0 -538
  383. package/dist/chunks/multi-select-D5b3Gxsv.js.map +0 -1
  384. package/dist/chunks/picker-CrRdwdA5.js +0 -340
  385. package/dist/chunks/picker-CrRdwdA5.js.map +0 -1
  386. package/dist/chunks/select-D3EnRya6.js +0 -355
  387. package/dist/chunks/select-D3EnRya6.js.map +0 -1
  388. package/dist/chunks/ui.module-DHVTOqZ0.js.map +0 -1
  389. package/dist/chunks/useODataSelectBase-Cc79kBNk.js +0 -125
  390. package/dist/chunks/useODataSelectBase-Cc79kBNk.js.map +0 -1
  391. package/dist/multi-select/ui/MultiSelectOption.d.ts +0 -14
  392. package/dist/multi-select/ui/MultiSelectOption.d.ts.map +0 -1
  393. package/dist/multi-select/ui/MultiSelectToken.d.ts +0 -9
  394. package/dist/multi-select/ui/MultiSelectToken.d.ts.map +0 -1
  395. package/storybook-static/assets/CheckBox-BnO90VKX.css +0 -1
  396. package/storybook-static/assets/ContextMenu-BgzIzwzM.css +0 -1
  397. package/storybook-static/assets/ContextMenu-CXsCt4Ca.js +0 -1
  398. package/storybook-static/assets/ContextMenu.stories-BugHcFL7.js +0 -37
  399. package/storybook-static/assets/DateRangePresetSelect.stories-DrLZercZ.js +0 -19
  400. package/storybook-static/assets/LayoutPicker-BGk1niU3.js +0 -376
  401. package/storybook-static/assets/LayoutPicker-DudPIiwb.css +0 -1
  402. package/storybook-static/assets/Listbox-D8KrJkpi.js +0 -1
  403. package/storybook-static/assets/MultiSelect-BmMO3Np9.js +0 -2
  404. package/storybook-static/assets/ODataMultiSelect.stories-BqdZ_SmQ.js +0 -139
  405. package/storybook-static/assets/ODataSelect.stories-Ch9pJFtV.js +0 -161
  406. package/storybook-static/assets/ODataTreeMultiSelect.stories-rhaGxNb0.js +0 -87
  407. package/storybook-static/assets/ODataTreeSelect.stories-DO1bOEQc.js +0 -55
  408. package/storybook-static/assets/PickerSelectionToolbar-DkWserZQ.js +0 -2
  409. package/storybook-static/assets/PickerTriggerActions-BOhoXiBt.js +0 -1
  410. package/storybook-static/assets/Select-CO4ZHP9h.css +0 -1
  411. package/storybook-static/assets/Select-JY35jdqV.js +0 -12
  412. package/storybook-static/assets/SelectOptionContent-BcvkiM5d.js +0 -1
  413. package/storybook-static/assets/TreeMultiSelect-CYvFBp49.js +0 -1
  414. package/storybook-static/assets/TreePickerBase-CU303uk2.js +0 -24
  415. package/storybook-static/assets/TreePickerBase-hyMFakp7.css +0 -1
  416. package/storybook-static/assets/TreeSelect.stories-CIfGlEJN.js +0 -40
  417. package/storybook-static/assets/defaultRenderers-B7PDT-nL.css +0 -1
  418. package/storybook-static/assets/defaultRenderers-DvwV_t0j.js +0 -1
  419. package/storybook-static/assets/iframe-D3TD9_FU.js +0 -1
  420. package/storybook-static/assets/ui.module-CiLQZm_L.js +0 -1
  421. package/storybook-static/assets/usePickerQuery-DSDKSoxY.js +0 -1
  422. package/storybook-static/assets/usePickerTriggerController-CTVRGuZE.js +0 -1
  423. package/storybook-static/assets/usePickerTriggerController-DzBkX15M.css +0 -1
  424. /package/storybook-static/assets/{CheckBox.module-BNQm6HXI.js → CheckBox.module-CoYygdZx.js} +0 -0
@@ -1,340 +0,0 @@
1
- import { t as e } from "./ui.module-DHVTOqZ0.js";
2
- import { t } from "./grid-dI94AAbi.js";
3
- import { a as n, c as r, d as i, i as a } from "./input-CCdBtl-C.js";
4
- import { t as o } from "./separator-B72Aq-6a.js";
5
- import { forwardRef as s, useEffect as c, useMemo as l, useRef as u, useState as d } from "react";
6
- import { cn as f } from "@ryuzaki13/react-foundation-lib/utils";
7
- import { FloatingFocusManager as p, FloatingPortal as m } from "@floating-ui/react";
8
- import { Fragment as h, jsx as g, jsxs as _ } from "react/jsx-runtime";
9
- import { ChevronDownIcon as v } from "lucide-react";
10
- import { useFloatingListbox as y } from "@ryuzaki13/react-foundation-lib/hooks";
11
- import { normalizeTextToLower as b } from "@ryuzaki13/react-foundation-lib/formatters";
12
- import { AnimatePresence as x, motion as S } from "motion/react";
13
- //#region src/picker/PickerField.tsx
14
- function C({ id: e, label: t, description: n, disabled: a, size: o, className: s, error: c, children: l }) {
15
- let { controlId: u, labelId: d, descriptionId: f, errorId: p, describedBy: m } = i({
16
- id: e,
17
- hasLabel: t != null,
18
- hasDescription: !!n,
19
- hasError: !!c
20
- });
21
- return /* @__PURE__ */ g(r, {
22
- label: t,
23
- description: n,
24
- disabled: a,
25
- size: o,
26
- className: s,
27
- error: c,
28
- controlId: u,
29
- labelId: d,
30
- descriptionId: f,
31
- errorId: p,
32
- children: l({
33
- controlId: u,
34
- labelId: d,
35
- descriptionId: f,
36
- errorId: p,
37
- describedBy: m
38
- })
39
- });
40
- }
41
- var w = {
42
- popupLayout: "DRJ4hy",
43
- popupBody: "U4CULi",
44
- status: "bupTWA",
45
- statusError: "GkeyGF",
46
- triggerContainer: "_8F667e",
47
- selectionActionButton: "OGMk6I"
48
- };
49
- //#endregion
50
- //#region src/picker/PickerPopup.tsx
51
- function T(e) {
52
- e.stopPropagation();
53
- }
54
- function E({ open: e, context: t, floatingStyles: n, listId: r, labelId: i, popupAriaLabel: a, descriptionId: s, activeOptionId: c, ariaMultiselectable: l, popupRole: u = "listbox", setFloating: d, getFloatingProps: h, onKeyDown: v, initialFocus: y = -1, returnFocus: b = !1, tabIndex: C = 0, className: E, maxWidth: D, layoutClassName: O, headerClassName: k, bodyClassName: A, header: j, children: M }) {
55
- return /* @__PURE__ */ g(x, { children: e && /* @__PURE__ */ g(m, { children: /* @__PURE__ */ g(p, {
56
- context: t,
57
- modal: !1,
58
- initialFocus: y,
59
- returnFocus: b,
60
- children: /* @__PURE__ */ g(S.div, {
61
- ref: d,
62
- style: {
63
- ...n,
64
- maxWidth: D
65
- },
66
- initial: {
67
- opacity: 0,
68
- scale: .95
69
- },
70
- animate: {
71
- opacity: 1,
72
- scale: 1
73
- },
74
- exit: {
75
- opacity: 0,
76
- scale: .95
77
- },
78
- ...h({
79
- id: r,
80
- role: u,
81
- tabIndex: C,
82
- "aria-labelledby": i,
83
- "aria-label": i ? void 0 : a,
84
- "aria-describedby": s,
85
- "aria-activedescendant": c,
86
- "aria-multiselectable": l || void 0,
87
- onMouseDown: T,
88
- onKeyDown: v,
89
- className: E
90
- }),
91
- children: /* @__PURE__ */ _("div", {
92
- className: f(w.popupLayout, O),
93
- children: [j ? /* @__PURE__ */ _("div", {
94
- className: k,
95
- children: [j, /* @__PURE__ */ g(o, { className: "marginBlockSm" })]
96
- }) : /* @__PURE__ */ g("div", {}), /* @__PURE__ */ g("div", {
97
- className: f(w.popupBody, A),
98
- children: M
99
- })]
100
- })
101
- })
102
- }) }) });
103
- }
104
- //#endregion
105
- //#region src/picker/PickerSelectionToolbar.tsx
106
- function D({ onSelectAll: e, onDeselectAll: n, selectAllButtonRef: r }) {
107
- return /* @__PURE__ */ _(t.Container, {
108
- gap: "xs",
109
- templateColumns: "1fr 1fr",
110
- children: [/* @__PURE__ */ g("button", {
111
- ref: r,
112
- type: "button",
113
- className: w.selectionActionButton,
114
- onClick: e,
115
- "data-ui": "picker-select-all",
116
- "data-action": "select-all",
117
- children: "Выбрать все"
118
- }), /* @__PURE__ */ g("button", {
119
- type: "button",
120
- className: w.selectionActionButton,
121
- onClick: n,
122
- "data-ui": "picker-deselect-all",
123
- "data-action": "deselect-all",
124
- children: "Снять выбор"
125
- })]
126
- });
127
- }
128
- //#endregion
129
- //#region src/picker/PickerStatus.tsx
130
- function O({ emptyState: t, errorState: n }) {
131
- let r = n ?? t;
132
- return r == null ? null : /* @__PURE__ */ g("div", {
133
- className: f(e.uiPopupOption, w.status, n !== void 0 && w.statusError),
134
- "aria-disabled": !0,
135
- children: r
136
- });
137
- }
138
- //#endregion
139
- //#region src/picker/PickerTriggerActions.tsx
140
- function k({ open: t, disabled: n, children: r, onToggleMouseDown: i, onToggleClick: a, openAriaLabel: o = "Открыть список", closeAriaLabel: s = "Закрыть список" }) {
141
- return /* @__PURE__ */ _("div", {
142
- className: e.uiToggleButtonContainer,
143
- "data-disabled": n || void 0,
144
- children: [
145
- r,
146
- /* @__PURE__ */ g("div", { className: e.uiButtonSeparator }),
147
- /* @__PURE__ */ g("button", {
148
- type: "button",
149
- "aria-label": t ? s : o,
150
- className: e.uiToggleButton,
151
- onMouseDown: i,
152
- onClick: a,
153
- children: /* @__PURE__ */ g(v, { className: f(e.uiToggleIcon, t && e.uiToggleIconOpen) })
154
- })
155
- ]
156
- });
157
- }
158
- //#endregion
159
- //#region src/picker/PickerTriggerInput.tsx
160
- var A = s(({ rootRef: t, endAdornment: r, overlay: i, rootClassName: o, inputClassName: s, isLoading: c, ...l }, u) => /* @__PURE__ */ g("div", {
161
- ref: t,
162
- className: f(e.uiInputContainer, w.triggerContainer, o),
163
- children: c ? /* @__PURE__ */ g(n, {}) : /* @__PURE__ */ _(h, { children: [/* @__PURE__ */ g(a, {
164
- endAdornment: r,
165
- children: ({ controlClassName: t }) => /* @__PURE__ */ g("input", {
166
- ...l,
167
- ref: u,
168
- className: f(e.uiInputWithToggle, t, s)
169
- })
170
- }), i] })
171
- }));
172
- A.displayName = "PickerTriggerInput";
173
- //#endregion
174
- //#region src/picker/model/createPickerTriggerPolicy.ts
175
- function j(e) {
176
- switch (e) {
177
- case "search-single": return {
178
- focusFloatingOnOpen: !1,
179
- restoreFocusOnClose: !1,
180
- resetQueryOnClose: !0,
181
- shouldOpenOnTriggerClick: () => !1,
182
- shouldOpenOnInputChange: (e) => !e,
183
- shouldFocusReferenceOnToggle: (e) => !e,
184
- shouldSelectTriggerTextOnFocus: ({ open: e, currentQuery: t, hasDisplayValue: n }) => !e && t.length === 0 && n
185
- };
186
- case "search-multi": return {
187
- focusFloatingOnOpen: !1,
188
- restoreFocusOnClose: !1,
189
- resetQueryOnClose: !0,
190
- shouldOpenOnTriggerClick: () => !1,
191
- shouldOpenOnInputChange: (e) => !e,
192
- shouldFocusReferenceOnToggle: (e) => !e,
193
- shouldSelectTriggerTextOnFocus: () => !1
194
- };
195
- default: return {
196
- focusFloatingOnOpen: !0,
197
- restoreFocusOnClose: !0,
198
- resetQueryOnClose: !1,
199
- shouldOpenOnTriggerClick: (e) => !e,
200
- shouldOpenOnInputChange: () => !1,
201
- shouldFocusReferenceOnToggle: () => !1,
202
- shouldSelectTriggerTextOnFocus: () => !1
203
- };
204
- }
205
- }
206
- //#endregion
207
- //#region src/picker/model/extractPickerTextContent.ts
208
- function M(e) {
209
- if (typeof e == "string" || typeof e == "number") return String(e);
210
- if (Array.isArray(e)) {
211
- let t = e.map(M).filter((e) => !!e);
212
- return t.length ? t.join(" ") : void 0;
213
- }
214
- }
215
- //#endregion
216
- //#region src/picker/model/usePickerDefaultFilter.ts
217
- function N(e) {
218
- return b((Array.isArray(e) ? e : [e]).filter(Boolean).join(" "));
219
- }
220
- function P({ options: e, query: t, enabled: n = !0, getSearchText: r }) {
221
- let i = b(t);
222
- return l(() => !n || !i ? [...e] : e.filter((e) => N(r(e)).includes(i)), [
223
- n,
224
- r,
225
- i,
226
- e
227
- ]);
228
- }
229
- //#endregion
230
- //#region src/picker/model/usePickerFloatingListbox.ts
231
- function F(e) {
232
- let t = e.triggerMode ? j(e.triggerMode) : void 0;
233
- return y({
234
- ...e,
235
- focusFloatingOnOpen: e.focusFloatingOnOpen ?? t?.focusFloatingOnOpen,
236
- restoreFocusOnClose: e.restoreFocusOnClose ?? t?.restoreFocusOnClose
237
- });
238
- }
239
- //#endregion
240
- //#region src/picker/model/usePickerQuery.ts
241
- function I({ query: e, defaultQuery: t, onQuery: n, resetOnClose: r, triggerMode: i }) {
242
- let a = e !== void 0, [o, s] = d(t ?? ""), c = a ? e ?? "" : o, l = r ?? (!i || j(i).resetQueryOnClose), u = (e) => {
243
- a || s(e), n?.(e);
244
- };
245
- return {
246
- query: c,
247
- setQuery: u,
248
- clearQuery: () => u(""),
249
- resetQueryOnClose: l
250
- };
251
- }
252
- //#endregion
253
- //#region src/picker/model/usePickerSelectionLifecycle.ts
254
- function L({ value: e, open: t, onCommit: n, onOpen: r, onClose: i, isEqual: a }) {
255
- let o = u(!1), [s, l] = d(e);
256
- return c(() => {
257
- o.current && !t && (a(s, e) || n(s), i?.(s)), o.current = t;
258
- }, [
259
- s,
260
- a,
261
- i,
262
- n,
263
- t,
264
- e
265
- ]), {
266
- draftValue: s,
267
- setDraftValue: l,
268
- prepareOpen: () => {
269
- l(e), r?.();
270
- }
271
- };
272
- }
273
- //#endregion
274
- //#region src/picker/model/usePickerTriggerController.ts
275
- function R(e) {
276
- requestAnimationFrame(() => {
277
- e.current?.focus();
278
- });
279
- }
280
- function z({ mode: e, open: t, currentQuery: n, hasDisplayValue: r, inputRef: i, setQuery: a, openList: o, close: s, toggleOpen: c, onBeforeOpen: l }) {
281
- let u = j(e), d = () => {
282
- if (l?.(), o) {
283
- o();
284
- return;
285
- }
286
- c?.();
287
- }, f = () => {
288
- if (s) {
289
- s();
290
- return;
291
- }
292
- c?.();
293
- }, p = () => {
294
- t ? f() : d(), u.shouldFocusReferenceOnToggle(t) && R(i);
295
- };
296
- return {
297
- policy: u,
298
- handleTriggerInputChange: (e) => {
299
- a?.(e), u.shouldOpenOnInputChange(t) && d();
300
- },
301
- handleTriggerClick: () => {
302
- u.shouldOpenOnTriggerClick(t) && d();
303
- },
304
- handleTriggerFocus: (e) => {
305
- u.shouldSelectTriggerTextOnFocus({
306
- open: t,
307
- currentQuery: n,
308
- hasDisplayValue: r
309
- }) && requestAnimationFrame(() => {
310
- e.select();
311
- });
312
- },
313
- handleToggleMouseDown: (e) => {
314
- e.preventDefault();
315
- },
316
- handleToggleClick: () => {
317
- p();
318
- },
319
- handleTriggerKeyDown: ({ event: e, onActivateWhenOpen: n, enableSpaceActivation: r = !1, enableClosedArrowDownOpen: i = !1, suppressClosedArrowUp: a = !1 }) => {
320
- if (!t && a && e.key === "ArrowUp") {
321
- e.preventDefault();
322
- return;
323
- }
324
- if (!t && i && e.key === "ArrowDown") {
325
- e.preventDefault(), p();
326
- return;
327
- }
328
- if (e.key === "Enter") {
329
- e.preventDefault(), t ? n?.() : p();
330
- return;
331
- }
332
- r && e.key === " " && (e.preventDefault(), t ? n?.() : p());
333
- },
334
- toggleTrigger: p
335
- };
336
- }
337
- //#endregion
338
- export { P as a, A as c, D as d, E as f, F as i, k as l, L as n, M as o, C as p, I as r, j as s, z as t, O as u };
339
-
340
- //# sourceMappingURL=picker-CrRdwdA5.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"picker-CrRdwdA5.js","names":[],"sources":["../../src/picker/PickerField.tsx","../../src/picker/Picker.module.scss","../../src/picker/PickerPopup.tsx","../../src/picker/PickerSelectionToolbar.tsx","../../src/picker/PickerStatus.tsx","../../src/picker/PickerTriggerActions.tsx","../../src/picker/PickerTriggerInput.tsx","../../src/picker/model/createPickerTriggerPolicy.ts","../../src/picker/model/extractPickerTextContent.ts","../../src/picker/model/usePickerDefaultFilter.ts","../../src/picker/model/usePickerFloatingListbox.ts","../../src/picker/model/usePickerQuery.ts","../../src/picker/model/usePickerSelectionLifecycle.ts","../../src/picker/model/usePickerTriggerController.ts"],"sourcesContent":["import { InputType } from \"@ryuzaki13/react-foundation-lib/types\";\n\nimport { InputUI } from \"../input\";\nimport { useInputFieldIds } from \"../input/lib/useInputFieldIds\";\n\nimport { PickerFieldProps } from \"./types\";\n\nexport function PickerField<TValue extends InputType>({\n\tid,\n\tlabel,\n\tdescription,\n\tdisabled,\n\tsize,\n\tclassName,\n\terror,\n\tchildren\n}: PickerFieldProps<TValue>) {\n\tconst { controlId, labelId, descriptionId, errorId, describedBy } = useInputFieldIds({\n\t\tid,\n\t\thasLabel: label !== undefined && label !== null,\n\t\thasDescription: !!description,\n\t\thasError: !!error\n\t});\n\n\treturn (\n\t\t<InputUI\n\t\t\tlabel={label}\n\t\t\tdescription={description}\n\t\t\tdisabled={disabled}\n\t\t\tsize={size}\n\t\t\tclassName={className}\n\t\t\terror={error}\n\t\t\tcontrolId={controlId}\n\t\t\tlabelId={labelId}\n\t\t\tdescriptionId={descriptionId}\n\t\t\terrorId={errorId}>\n\t\t\t{children({ controlId, labelId, descriptionId, errorId, describedBy })}\n\t\t</InputUI>\n\t);\n}\n",".popupLayout {\n\tdisplay: grid;\n\tgrid-template-rows: auto 1fr;\n\tmin-height: 0;\n\tmax-height: 75vh;\n\toverflow: hidden;\n\n\tflex: 1 1 auto;\n}\n\n.popupBody {\n\tmin-height: 0;\n}\n\n.status {\n\tpadding: var(--space-xs) var(--space-sm);\n\tcolor: var(--content-2);\n}\n\n.statusError {\n\tcolor: var(--status-error-text);\n}\n\n.triggerContainer {\n\tposition: relative;\n}\n\n.selectionActionButton {\n\tpadding-block: var(--space-xs);\n\tborder-radius: var(--radius-sm);\n\n\t&:hover {\n\t\tbackground-color: var(--surface-2);\n\t}\n}\n","import { type CSSProperties, type KeyboardEvent, type MouseEvent, type ReactNode } from \"react\";\n\nimport { FloatingContext, FloatingFocusManager, FloatingPortal } from \"@floating-ui/react\";\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { AnimatePresence, motion } from \"motion/react\";\n\nimport { Separator } from \"../separator\";\n\nimport styles from \"./Picker.module.scss\";\n\ninterface PickerPopupProps {\n\topen: boolean;\n\tcontext: FloatingContext;\n\tfloatingStyles: CSSProperties;\n\tlistId: string;\n\tlabelId?: string;\n\tpopupAriaLabel?: string;\n\tdescriptionId?: string;\n\tactiveOptionId?: string;\n\tariaMultiselectable?: boolean;\n\tpopupRole?: \"listbox\" | \"dialog\";\n\tsetFloating: (node: HTMLElement | null) => void;\n\tgetFloatingProps: (userProps?: Record<string, unknown>) => Record<string, unknown>;\n\tonKeyDown: (event: KeyboardEvent<HTMLElement>) => void;\n\tinitialFocus?: number;\n\treturnFocus?: boolean;\n\ttabIndex?: number;\n\tclassName?: string;\n\tmaxWidth?: CSSProperties[\"maxWidth\"];\n\tlayoutClassName?: string;\n\theaderClassName?: string;\n\tbodyClassName?: string;\n\theader?: ReactNode;\n\tchildren: ReactNode;\n}\n\nfunction stopNestedFloatingMouseDown(event: MouseEvent<HTMLElement>): void {\n\tevent.stopPropagation();\n}\n\nexport function PickerPopup({\n\topen,\n\tcontext,\n\tfloatingStyles,\n\tlistId,\n\tlabelId,\n\tpopupAriaLabel,\n\tdescriptionId,\n\tactiveOptionId,\n\tariaMultiselectable,\n\tpopupRole = \"listbox\",\n\tsetFloating,\n\tgetFloatingProps,\n\tonKeyDown,\n\tinitialFocus = -1,\n\treturnFocus = false,\n\ttabIndex = 0,\n\tclassName,\n\tmaxWidth,\n\tlayoutClassName,\n\theaderClassName,\n\tbodyClassName,\n\theader,\n\tchildren\n}: PickerPopupProps) {\n\treturn (\n\t\t<AnimatePresence>\n\t\t\t{open && (\n\t\t\t\t<FloatingPortal>\n\t\t\t\t\t<FloatingFocusManager context={context} modal={false} initialFocus={initialFocus} returnFocus={returnFocus}>\n\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\tref={setFloating}\n\t\t\t\t\t\t\tstyle={{ ...floatingStyles, maxWidth }}\n\t\t\t\t\t\t\tinitial={{ opacity: 0, scale: 0.95 }}\n\t\t\t\t\t\t\tanimate={{ opacity: 1, scale: 1 }}\n\t\t\t\t\t\t\texit={{ opacity: 0, scale: 0.95 }}\n\t\t\t\t\t\t\t{...getFloatingProps({\n\t\t\t\t\t\t\t\tid: listId,\n\t\t\t\t\t\t\t\trole: popupRole,\n\t\t\t\t\t\t\t\ttabIndex,\n\t\t\t\t\t\t\t\t\"aria-labelledby\": labelId,\n\t\t\t\t\t\t\t\t\"aria-label\": labelId ? undefined : popupAriaLabel,\n\t\t\t\t\t\t\t\t\"aria-describedby\": descriptionId,\n\t\t\t\t\t\t\t\t\"aria-activedescendant\": activeOptionId,\n\t\t\t\t\t\t\t\t\"aria-multiselectable\": ariaMultiselectable || undefined,\n\t\t\t\t\t\t\t\tonMouseDown: stopNestedFloatingMouseDown,\n\t\t\t\t\t\t\t\tonKeyDown,\n\t\t\t\t\t\t\t\tclassName\n\t\t\t\t\t\t\t})}>\n\t\t\t\t\t\t\t<div className={cn(styles.popupLayout, layoutClassName)}>\n\t\t\t\t\t\t\t\t{header ? (\n\t\t\t\t\t\t\t\t\t<div className={headerClassName}>\n\t\t\t\t\t\t\t\t\t\t{header}\n\t\t\t\t\t\t\t\t\t\t<Separator className=\"marginBlockSm\" />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<div />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<div className={cn(styles.popupBody, bodyClassName)}>{children}</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t</FloatingFocusManager>\n\t\t\t\t</FloatingPortal>\n\t\t\t)}\n\t\t</AnimatePresence>\n\t);\n}\n","import { type Ref } from \"react\";\n\nimport { Grid } from \"../grid\";\n\nimport styles from \"./Picker.module.scss\";\n\ntype PickerSelectionToolbarProps = {\n\tonSelectAll: () => void;\n\tonDeselectAll: () => void;\n\tselectAllButtonRef?: Ref<HTMLButtonElement>;\n};\n\n/**\n * Общая панель массовых действий для picker-компонентов с множественным выбором.\n * Компонент не знает формат значения и делегирует изменение владельцу selection-модели.\n */\nexport function PickerSelectionToolbar({ onSelectAll, onDeselectAll, selectAllButtonRef }: PickerSelectionToolbarProps) {\n\treturn (\n\t\t<Grid.Container gap=\"xs\" templateColumns=\"1fr 1fr\">\n\t\t\t<button\n\t\t\t\tref={selectAllButtonRef}\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName={styles.selectionActionButton}\n\t\t\t\tonClick={onSelectAll}\n\t\t\t\tdata-ui=\"picker-select-all\"\n\t\t\t\tdata-action=\"select-all\">\n\t\t\t\tВыбрать все\n\t\t\t</button>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName={styles.selectionActionButton}\n\t\t\t\tonClick={onDeselectAll}\n\t\t\t\tdata-ui=\"picker-deselect-all\"\n\t\t\t\tdata-action=\"deselect-all\">\n\t\t\t\tСнять выбор\n\t\t\t</button>\n\t\t</Grid.Container>\n\t);\n}\n","import { ReactNode } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport uiStyles from \"../ui.module.scss\";\n\nimport styles from \"./Picker.module.scss\";\n\ninterface PickerStatusProps {\n\temptyState?: ReactNode;\n\t// loadingState?: ReactNode;\n\terrorState?: ReactNode;\n}\n\nexport function PickerStatus({ emptyState, errorState }: PickerStatusProps) {\n\tconst content = errorState ?? emptyState;\n\n\tif (content === undefined || content === null) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className={cn(uiStyles.uiPopupOption, styles.status, errorState !== undefined && styles.statusError)} aria-disabled={true}>\n\t\t\t{content}\n\t\t</div>\n\t);\n}\n","import { MouseEvent, ReactNode } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { ChevronDownIcon } from \"lucide-react\";\n\nimport uiStyles from \"../ui.module.scss\";\n\ninterface PickerTriggerActionsProps {\n\topen: boolean;\n\tdisabled?: boolean;\n\tchildren?: ReactNode;\n\tonToggleMouseDown?: (event: MouseEvent<HTMLButtonElement>) => void;\n\tonToggleClick: () => void;\n\topenAriaLabel?: string;\n\tcloseAriaLabel?: string;\n}\n\nexport function PickerTriggerActions({\n\topen,\n\tdisabled,\n\tchildren,\n\tonToggleMouseDown,\n\tonToggleClick,\n\topenAriaLabel = \"Открыть список\",\n\tcloseAriaLabel = \"Закрыть список\"\n}: PickerTriggerActionsProps) {\n\treturn (\n\t\t<div className={uiStyles.uiToggleButtonContainer} data-disabled={disabled || undefined}>\n\t\t\t{children}\n\n\t\t\t<div className={uiStyles.uiButtonSeparator} />\n\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\taria-label={open ? closeAriaLabel : openAriaLabel}\n\t\t\t\tclassName={uiStyles.uiToggleButton}\n\t\t\t\tonMouseDown={onToggleMouseDown}\n\t\t\t\tonClick={onToggleClick}>\n\t\t\t\t<ChevronDownIcon className={cn(uiStyles.uiToggleIcon, open && uiStyles.uiToggleIconOpen)} />\n\t\t\t</button>\n\t\t</div>\n\t);\n}\n","import { ComponentPropsWithoutRef, forwardRef, ReactNode } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport { InputControl, InputLoadingFrame } from \"../input\";\nimport uiStyles from \"../ui.module.scss\";\n\nimport styles from \"./Picker.module.scss\";\n\ninterface PickerTriggerInputProps extends Omit<ComponentPropsWithoutRef<\"input\">, \"size\"> {\n\trootRef?: (node: HTMLDivElement | null) => void;\n\tendAdornment?: ReactNode;\n\toverlay?: ReactNode;\n\trootClassName?: string;\n\tinputClassName?: string;\n\tisLoading?: boolean;\n}\n\nexport const PickerTriggerInput = forwardRef<HTMLInputElement, PickerTriggerInputProps>(\n\t({ rootRef, endAdornment, overlay, rootClassName, inputClassName, isLoading, ...props }, ref) => {\n\t\treturn (\n\t\t\t<div ref={rootRef} className={cn(uiStyles.uiInputContainer, styles.triggerContainer, rootClassName)}>\n\t\t\t\t{isLoading ? (\n\t\t\t\t\t<InputLoadingFrame />\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<InputControl endAdornment={endAdornment}>\n\t\t\t\t\t\t\t{({ controlClassName }) => (\n\t\t\t\t\t\t\t\t<input {...props} ref={ref} className={cn(uiStyles.uiInputWithToggle, controlClassName, inputClassName)} />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</InputControl>\n\t\t\t\t\t\t{overlay}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n);\n\nPickerTriggerInput.displayName = \"PickerTriggerInput\";\n","export type PickerTriggerMode = \"display\" | \"search-single\" | \"search-multi\";\n\ninterface PickerTriggerTextFocusParams {\n\topen: boolean;\n\tcurrentQuery: string;\n\thasDisplayValue: boolean;\n}\n\nexport interface PickerTriggerPolicy {\n\tfocusFloatingOnOpen: boolean;\n\trestoreFocusOnClose: boolean;\n\tresetQueryOnClose: boolean;\n\tshouldOpenOnTriggerClick: (open: boolean) => boolean;\n\tshouldOpenOnInputChange: (open: boolean) => boolean;\n\tshouldFocusReferenceOnToggle: (open: boolean) => boolean;\n\tshouldSelectTriggerTextOnFocus: (params: PickerTriggerTextFocusParams) => boolean;\n}\n\n/**\n * Единая политика поведения trigger-input для picker-компонентов.\n * Нормализует различия между display-режимом, single-search и multi-search.\n */\nexport function createPickerTriggerPolicy(mode: PickerTriggerMode): PickerTriggerPolicy {\n\tswitch (mode) {\n\t\tcase \"search-single\":\n\t\t\treturn {\n\t\t\t\tfocusFloatingOnOpen: false,\n\t\t\t\trestoreFocusOnClose: false,\n\t\t\t\tresetQueryOnClose: true,\n\t\t\t\tshouldOpenOnTriggerClick: () => false,\n\t\t\t\tshouldOpenOnInputChange: (open) => !open,\n\t\t\t\tshouldFocusReferenceOnToggle: (open) => !open,\n\t\t\t\tshouldSelectTriggerTextOnFocus: ({ open, currentQuery, hasDisplayValue }) =>\n\t\t\t\t\t!open && currentQuery.length === 0 && hasDisplayValue\n\t\t\t};\n\t\tcase \"search-multi\":\n\t\t\treturn {\n\t\t\t\tfocusFloatingOnOpen: false,\n\t\t\t\trestoreFocusOnClose: false,\n\t\t\t\tresetQueryOnClose: true,\n\t\t\t\tshouldOpenOnTriggerClick: () => false,\n\t\t\t\tshouldOpenOnInputChange: (open) => !open,\n\t\t\t\tshouldFocusReferenceOnToggle: (open) => !open,\n\t\t\t\tshouldSelectTriggerTextOnFocus: () => false\n\t\t\t};\n\t\tcase \"display\":\n\t\tdefault:\n\t\t\treturn {\n\t\t\t\tfocusFloatingOnOpen: true,\n\t\t\t\trestoreFocusOnClose: true,\n\t\t\t\tresetQueryOnClose: false,\n\t\t\t\tshouldOpenOnTriggerClick: (open) => !open,\n\t\t\t\tshouldOpenOnInputChange: () => false,\n\t\t\t\tshouldFocusReferenceOnToggle: () => false,\n\t\t\t\tshouldSelectTriggerTextOnFocus: () => false\n\t\t\t};\n\t}\n}\n","import { ReactNode } from \"react\";\n\nexport function extractPickerTextContent(node: ReactNode): string | undefined {\n\tif (typeof node === \"string\" || typeof node === \"number\") {\n\t\treturn String(node);\n\t}\n\n\tif (Array.isArray(node)) {\n\t\tconst values = node.map(extractPickerTextContent).filter((value): value is string => Boolean(value));\n\t\treturn values.length ? values.join(\" \") : undefined;\n\t}\n\n\treturn undefined;\n}\n","import { useMemo } from \"react\";\n\nimport { normalizeTextToLower } from \"@ryuzaki13/react-foundation-lib/formatters\";\n\ninterface UsePickerDefaultFilterOptions<T> {\n\toptions: readonly T[];\n\tquery: string;\n\tenabled?: boolean;\n\tgetSearchText: (option: T) => unknown;\n}\n\nfunction normalizeSearchText(value: unknown) {\n\tconst parts = Array.isArray(value) ? value : [value];\n\n\treturn normalizeTextToLower(parts.filter(Boolean).join(\" \"));\n}\n\nexport function usePickerDefaultFilter<T>({ options, query, enabled = true, getSearchText }: UsePickerDefaultFilterOptions<T>) {\n\tconst normalizedQuery = normalizeTextToLower(query);\n\n\treturn useMemo(() => {\n\t\tif (!enabled || !normalizedQuery) {\n\t\t\treturn [...options];\n\t\t}\n\n\t\treturn options.filter((option) => normalizeSearchText(getSearchText(option)).includes(normalizedQuery));\n\t}, [enabled, getSearchText, normalizedQuery, options]);\n}\n","import { Placement } from \"@floating-ui/react\";\nimport {\n\ttype FloatingListboxPlacementStrategy,\n\ttype FloatingListboxSizeResolver,\n\tuseFloatingListbox\n} from \"@ryuzaki13/react-foundation-lib/hooks\";\n\nimport { PickerTriggerMode, createPickerTriggerPolicy } from \"./createPickerTriggerPolicy\";\n\ninterface UsePickerFloatingListboxParams<T> {\n\toptions: readonly T[];\n\tselectedIndex: number;\n\topen?: boolean;\n\tonOpenChange?: (open: boolean) => void;\n\tgetOptionDisabled?: (option: T) => boolean;\n\tonSelect?: (option: T) => void;\n\tdisabled?: boolean;\n\tplacement?: Placement;\n\tplacementStrategy?: FloatingListboxPlacementStrategy;\n\tcloseOnSelect?: boolean;\n\tfocusFloatingOnOpen?: boolean;\n\tallowOpenWithoutOptions?: boolean;\n\trestoreFocusOnClose?: boolean;\n\ttriggerMode?: PickerTriggerMode;\n\tresolveFloatingSize?: FloatingListboxSizeResolver;\n}\n\n/**\n * Единая точка входа для popup/listbox поведения во всех picker-компонентах.\n */\nexport function usePickerFloatingListbox<T>(params: UsePickerFloatingListboxParams<T>) {\n\tconst triggerPolicy = params.triggerMode ? createPickerTriggerPolicy(params.triggerMode) : undefined;\n\n\treturn useFloatingListbox({\n\t\t...params,\n\t\tfocusFloatingOnOpen: params.focusFloatingOnOpen ?? triggerPolicy?.focusFloatingOnOpen,\n\t\trestoreFocusOnClose: params.restoreFocusOnClose ?? triggerPolicy?.restoreFocusOnClose\n\t});\n}\n","import { useState } from \"react\";\n\nimport { PickerTriggerMode, createPickerTriggerPolicy } from \"./createPickerTriggerPolicy\";\n\ninterface UsePickerQueryOptions {\n\tquery?: string;\n\tdefaultQuery?: string;\n\tonQuery?: (value: string) => void;\n\tresetOnClose?: boolean;\n\ttriggerMode?: PickerTriggerMode;\n}\n\n/**\n * Управляет controlled/uncontrolled query и возвращает policy закрытия владельцу open-state.\n * Сброс выполняется самим владельцем в событии close, поэтому hook не зеркалит lifecycle через effect.\n */\nexport function usePickerQuery({ query, defaultQuery, onQuery, resetOnClose, triggerMode }: UsePickerQueryOptions) {\n\tconst isControlled = query !== undefined;\n\tconst [internalQuery, setInternalQuery] = useState(defaultQuery ?? \"\");\n\tconst currentQuery = isControlled ? (query ?? \"\") : internalQuery;\n\tconst resolvedResetOnClose = resetOnClose ?? (triggerMode ? createPickerTriggerPolicy(triggerMode).resetQueryOnClose : true);\n\n\tconst setQuery = (nextValue: string) => {\n\t\tif (!isControlled) {\n\t\t\tsetInternalQuery(nextValue);\n\t\t}\n\n\t\tonQuery?.(nextValue);\n\t};\n\n\treturn {\n\t\tquery: currentQuery,\n\t\tsetQuery,\n\t\tclearQuery: () => setQuery(\"\"),\n\t\tresetQueryOnClose: resolvedResetOnClose\n\t};\n}\n","import { useEffect, useRef, useState } from \"react\";\n\ninterface UsePickerSelectionLifecycleOptions<TValue> {\n\tvalue: TValue;\n\topen: boolean;\n\tonCommit: (value: TValue) => void;\n\tonOpen?: () => void;\n\tonClose?: (value: TValue) => void;\n\tisEqual: (left: TValue, right: TValue) => boolean;\n}\n\n/**\n * Общий жизненный цикл чернового выбора для picker-компонентов,\n * где изменения подтверждаются при закрытии popup.\n */\nexport function usePickerSelectionLifecycle<TValue>({\n\tvalue,\n\topen,\n\tonCommit,\n\tonOpen,\n\tonClose,\n\tisEqual\n}: UsePickerSelectionLifecycleOptions<TValue>) {\n\tconst previousOpenRef = useRef(false);\n\tconst [draftValue, setDraftValue] = useState(value);\n\n\tuseEffect(() => {\n\t\tif (previousOpenRef.current && !open) {\n\t\t\tif (!isEqual(draftValue, value)) {\n\t\t\t\tonCommit(draftValue);\n\t\t\t}\n\n\t\t\tonClose?.(draftValue);\n\t\t}\n\n\t\tpreviousOpenRef.current = open;\n\t}, [draftValue, isEqual, onClose, onCommit, open, value]);\n\n\tconst prepareOpen = () => {\n\t\tsetDraftValue(value);\n\t\tonOpen?.();\n\t};\n\n\treturn {\n\t\tdraftValue,\n\t\tsetDraftValue,\n\t\tprepareOpen\n\t};\n}\n","import { MouseEvent, RefObject } from \"react\";\n\nimport { PickerTriggerMode, createPickerTriggerPolicy } from \"./createPickerTriggerPolicy\";\n\ninterface UsePickerTriggerControllerOptions {\n\tmode: PickerTriggerMode;\n\topen: boolean;\n\tcurrentQuery: string;\n\thasDisplayValue: boolean;\n\tinputRef: RefObject<HTMLInputElement | null>;\n\tsetQuery?: (value: string) => void;\n\topenList?: () => void;\n\tclose?: () => void;\n\ttoggleOpen?: () => void;\n\tonBeforeOpen?: () => void;\n}\n\ninterface HandleTriggerKeyDownOptions {\n\tevent: React.KeyboardEvent<HTMLElement>;\n\tonActivateWhenOpen?: () => void;\n\tenableSpaceActivation?: boolean;\n\tenableClosedArrowDownOpen?: boolean;\n\tsuppressClosedArrowUp?: boolean;\n}\n\nfunction focusInput(inputRef: RefObject<HTMLInputElement | null>) {\n\trequestAnimationFrame(() => {\n\t\tinputRef.current?.focus();\n\t});\n}\n\n/**\n * Единый контроллер пользовательских действий на trigger-input.\n * Держит поведение display/search-single/search-multi в одном месте.\n */\nexport function usePickerTriggerController({\n\tmode,\n\topen,\n\tcurrentQuery,\n\thasDisplayValue,\n\tinputRef,\n\tsetQuery,\n\topenList,\n\tclose,\n\ttoggleOpen,\n\tonBeforeOpen\n}: UsePickerTriggerControllerOptions) {\n\tconst policy = createPickerTriggerPolicy(mode);\n\n\tconst openTrigger = () => {\n\t\tonBeforeOpen?.();\n\n\t\tif (openList) {\n\t\t\topenList();\n\t\t\treturn;\n\t\t}\n\n\t\ttoggleOpen?.();\n\t};\n\n\tconst closeTrigger = () => {\n\t\tif (close) {\n\t\t\tclose();\n\t\t\treturn;\n\t\t}\n\n\t\ttoggleOpen?.();\n\t};\n\n\tconst toggleTrigger = () => {\n\t\tif (open) {\n\t\t\tcloseTrigger();\n\t\t} else {\n\t\t\topenTrigger();\n\t\t}\n\n\t\tif (policy.shouldFocusReferenceOnToggle(open)) {\n\t\t\tfocusInput(inputRef);\n\t\t}\n\t};\n\n\treturn {\n\t\tpolicy,\n\t\thandleTriggerInputChange: (nextValue: string) => {\n\t\t\tsetQuery?.(nextValue);\n\n\t\t\tif (policy.shouldOpenOnInputChange(open)) {\n\t\t\t\topenTrigger();\n\t\t\t}\n\t\t},\n\t\thandleTriggerClick: () => {\n\t\t\tif (policy.shouldOpenOnTriggerClick(open)) {\n\t\t\t\topenTrigger();\n\t\t\t}\n\t\t},\n\t\thandleTriggerFocus: (input: HTMLInputElement) => {\n\t\t\tif (\n\t\t\t\tpolicy.shouldSelectTriggerTextOnFocus({\n\t\t\t\t\topen,\n\t\t\t\t\tcurrentQuery,\n\t\t\t\t\thasDisplayValue\n\t\t\t\t})\n\t\t\t) {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\tinput.select();\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\thandleToggleMouseDown: (event: MouseEvent<HTMLButtonElement>) => {\n\t\t\tevent.preventDefault();\n\t\t},\n\t\thandleToggleClick: () => {\n\t\t\ttoggleTrigger();\n\t\t},\n\t\thandleTriggerKeyDown: ({\n\t\t\tevent,\n\t\t\tonActivateWhenOpen,\n\t\t\tenableSpaceActivation = false,\n\t\t\tenableClosedArrowDownOpen = false,\n\t\t\tsuppressClosedArrowUp = false\n\t\t}: HandleTriggerKeyDownOptions) => {\n\t\t\tif (!open && suppressClosedArrowUp && event.key === \"ArrowUp\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!open && enableClosedArrowDownOpen && event.key === \"ArrowDown\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\ttoggleTrigger();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (event.key === \"Enter\") {\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\tif (open) {\n\t\t\t\t\tonActivateWhenOpen?.();\n\t\t\t\t} else {\n\t\t\t\t\ttoggleTrigger();\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (enableSpaceActivation && event.key === \" \") {\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\tif (open) {\n\t\t\t\t\tonActivateWhenOpen?.();\n\t\t\t\t} else {\n\t\t\t\t\ttoggleTrigger();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\ttoggleTrigger\n\t};\n}\n"],"mappings":"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"}