@ryuzaki13/react-foundation-ui 1.0.0 → 1.0.2

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 (405) hide show
  1. package/dist/advanced-search/index.d.ts +3 -0
  2. package/dist/advanced-search/index.d.ts.map +1 -0
  3. package/dist/advanced-search/index.js +361 -0
  4. package/dist/advanced-search/index.js.map +1 -0
  5. package/dist/advanced-search/lib/index.d.ts +2 -0
  6. package/dist/advanced-search/lib/index.d.ts.map +1 -0
  7. package/dist/advanced-search/lib/searchParts.d.ts +3 -0
  8. package/dist/advanced-search/lib/searchParts.d.ts.map +1 -0
  9. package/dist/advanced-search/model/index.d.ts +5 -0
  10. package/dist/advanced-search/model/index.d.ts.map +1 -0
  11. package/dist/advanced-search/model/types.d.ts +55 -0
  12. package/dist/advanced-search/model/types.d.ts.map +1 -0
  13. package/dist/advanced-search/model/useAdvancedSearch.d.ts +11 -0
  14. package/dist/advanced-search/model/useAdvancedSearch.d.ts.map +1 -0
  15. package/dist/advanced-search/model/useAdvancedSearchInitialSelected.d.ts +6 -0
  16. package/dist/advanced-search/model/useAdvancedSearchInitialSelected.d.ts.map +1 -0
  17. package/dist/advanced-search/model/useAdvancedSearchSelection.d.ts +13 -0
  18. package/dist/advanced-search/model/useAdvancedSearchSelection.d.ts.map +1 -0
  19. package/dist/advanced-search/ui/AdvancedSearchModal.d.ts +13 -0
  20. package/dist/advanced-search/ui/AdvancedSearchModal.d.ts.map +1 -0
  21. package/dist/advanced-search/ui/AdvancedSearchSelect.d.ts +8 -0
  22. package/dist/advanced-search/ui/AdvancedSearchSelect.d.ts.map +1 -0
  23. package/dist/advanced-search/ui/AdvancedSearchSelectUI.d.ts +9 -0
  24. package/dist/advanced-search/ui/AdvancedSearchSelectUI.d.ts.map +1 -0
  25. package/dist/advanced-search/ui/index.d.ts +2 -0
  26. package/dist/advanced-search/ui/index.d.ts.map +1 -0
  27. package/dist/badge/Badge.d.ts.map +1 -1
  28. package/dist/badge/index.js +1 -1
  29. package/dist/badge/stories/Badge.stories.js +22 -22
  30. package/dist/base-table/index.js +2 -2
  31. package/dist/base-table/lib/columnPinning.d.ts.map +1 -1
  32. package/dist/base-table/model/useTableColumnOrder.d.ts +1 -1
  33. package/dist/base-table/model/useTableColumnOrder.d.ts.map +1 -1
  34. package/dist/base-table/model/useTableColumnSizing.d.ts +1 -1
  35. package/dist/base-table/model/useTableColumnSizing.d.ts.map +1 -1
  36. package/dist/base-table/ui/BaseTable.d.ts +2 -2
  37. package/dist/base-table/ui/BaseTable.d.ts.map +1 -1
  38. package/dist/base-table/ui/BaseTableHeaderCell.d.ts.map +1 -1
  39. package/dist/base-table/ui/FormattedTableCell.d.ts.map +1 -1
  40. package/dist/button/index.js +7 -7
  41. package/dist/button/stories/Button.stories.js +1 -1
  42. package/dist/check-box/CheckBox.d.ts.map +1 -1
  43. package/dist/check-box/index.js +1 -1
  44. package/dist/check-box/stories/CheckBox.stories.js +25 -25
  45. package/dist/chunks/{BadgeList-DHW_Ktr3.js → BadgeList-DYgun2rf.js} +16 -16
  46. package/dist/chunks/BadgeList-DYgun2rf.js.map +1 -0
  47. package/dist/chunks/{Button-BZ_b-Kin.js → Button-CCWuggdA.js} +16 -16
  48. package/dist/chunks/{Button-BZ_b-Kin.js.map → Button-CCWuggdA.js.map} +1 -1
  49. package/dist/chunks/{CalendarView-B75faWIU.js → CalendarView-DjeTJkTT.js} +149 -149
  50. package/dist/chunks/{CalendarView-B75faWIU.js.map → CalendarView-DjeTJkTT.js.map} +1 -1
  51. package/dist/chunks/{CheckBox-Cck5w1Ud.js → CheckBox-BowNqqd3.js} +13 -13
  52. package/dist/chunks/CheckBox-BowNqqd3.js.map +1 -0
  53. package/dist/chunks/{DateInput-CINDYueM.js → DateInput--tfofQ2x.js} +68 -68
  54. package/dist/chunks/DateInput--tfofQ2x.js.map +1 -0
  55. package/dist/chunks/{DateRangePresetSelect-CyzGMvVp.js → DateRangePresetSelect-UgsfaOeM.js} +22 -22
  56. package/dist/chunks/{DateRangePresetSelect-CyzGMvVp.js.map → DateRangePresetSelect-UgsfaOeM.js.map} +1 -1
  57. package/dist/chunks/Detail-DHDMsg8q.js +80 -0
  58. package/dist/chunks/{Detail-DKolHye4.js.map → Detail-DHDMsg8q.js.map} +1 -1
  59. package/dist/chunks/{Dialog-BPS4BeWZ.js → Dialog-CFIvGxER.js} +8 -8
  60. package/dist/chunks/Dialog-CFIvGxER.js.map +1 -0
  61. package/dist/chunks/{DisclosureGroup-0BtaXO54.js → DisclosureGroup-CfRTkl6Z.js} +11 -11
  62. package/dist/chunks/DisclosureGroup-CfRTkl6Z.js.map +1 -0
  63. package/dist/chunks/{DropZone-hf7Em__0.js → DropZone-kJfbZU5g.js} +22 -22
  64. package/dist/chunks/DropZone-kJfbZU5g.js.map +1 -0
  65. package/dist/chunks/{DropdownMenu-Ds-trH4M.js → DropdownMenu-DQeR3y7M.js} +138 -138
  66. package/dist/chunks/DropdownMenu-DQeR3y7M.js.map +1 -0
  67. package/dist/chunks/{Flex-DbBdq336.js → Flex-DUYSL5TE.js} +16 -16
  68. package/dist/chunks/{Flex-DbBdq336.js.map → Flex-DUYSL5TE.js.map} +1 -1
  69. package/dist/chunks/Grid-ByIIytjh.js.map +1 -1
  70. package/dist/chunks/{Input-Ce2HXBUc.js → Input-BmjlpA09.js} +76 -76
  71. package/dist/chunks/Input-BmjlpA09.js.map +1 -0
  72. package/dist/chunks/{InputDateTime-DPtY_4Od.js → InputDateTime-CxfAFe2L.js} +56 -56
  73. package/dist/chunks/{InputDateTime-DPtY_4Od.js.map → InputDateTime-CxfAFe2L.js.map} +1 -1
  74. package/dist/chunks/{InputFile-ga5yJmdZ.js → InputFile-CyZu__B_.js} +17 -17
  75. package/dist/chunks/InputFile-CyZu__B_.js.map +1 -0
  76. package/dist/chunks/{InputFiles-Or2Nvfgk.js → InputFiles-CrTJV27R.js} +36 -36
  77. package/dist/chunks/InputFiles-CrTJV27R.js.map +1 -0
  78. package/dist/chunks/{InputImage-BeA5WJz1.js → InputImage-Cw8rPYQu.js} +18 -18
  79. package/dist/chunks/{InputImage-BeA5WJz1.js.map → InputImage-Cw8rPYQu.js.map} +1 -1
  80. package/dist/chunks/{LabeledExpandableActionPanel-Bx-DWmYz.js → LabeledExpandableActionPanel-D3kUvmFH.js} +25 -25
  81. package/dist/chunks/LabeledExpandableActionPanel-D3kUvmFH.js.map +1 -0
  82. package/dist/chunks/Listbox-BZlp5qHz.js +81 -0
  83. package/dist/chunks/Listbox-BZlp5qHz.js.map +1 -0
  84. package/dist/chunks/{MultiSelect-CBqTylqO.js → MultiSelect-D1XYuwH1.js} +113 -113
  85. package/dist/chunks/{MultiSelect-CBqTylqO.js.map → MultiSelect-D1XYuwH1.js.map} +1 -1
  86. package/dist/chunks/{NotificationsHost-BQc-zOr2.js → NotificationsHost-_icJx4xR.js} +34 -34
  87. package/dist/chunks/NotificationsHost-_icJx4xR.js.map +1 -0
  88. package/dist/chunks/{PresetRangeDateInput-YBQm_4Fb.js → PresetRangeDateInput-CapirptQ.js} +11 -11
  89. package/dist/chunks/{PresetRangeDateInput-YBQm_4Fb.js.map → PresetRangeDateInput-CapirptQ.js.map} +1 -1
  90. package/dist/chunks/{RadioButton-DJp31HFR.js → RadioButton-D0uA0rX_.js} +13 -13
  91. package/dist/chunks/RadioButton-D0uA0rX_.js.map +1 -0
  92. package/dist/chunks/RadioGroup-B9XjkcOy.js +121 -0
  93. package/dist/chunks/{RadioGroup-BAhN1d1X.js.map → RadioGroup-B9XjkcOy.js.map} +1 -1
  94. package/dist/chunks/{Select-B7k_8_Lf.js → Select-CXeVjVKA.js} +11 -11
  95. package/dist/chunks/Select-CXeVjVKA.js.map +1 -0
  96. package/dist/chunks/{SerializableSelect-53uNCqdE.js → SerializableSelect-DkYeJtAO.js} +2 -2
  97. package/dist/chunks/{SerializableSelect-53uNCqdE.js.map → SerializableSelect-DkYeJtAO.js.map} +1 -1
  98. package/dist/chunks/{SingleDateTimeInput-CwvIbwje.js → SingleDateTimeInput-BmeuVGQT.js} +86 -86
  99. package/dist/chunks/SingleDateTimeInput-BmeuVGQT.js.map +1 -0
  100. package/dist/chunks/{Splitter-NjNFuEq4.js → Splitter-BFkVGVRb.js} +32 -32
  101. package/dist/chunks/{Splitter-NjNFuEq4.js.map → Splitter-BFkVGVRb.js.map} +1 -1
  102. package/dist/chunks/StateSelect-1jH3uLz9.js +78 -0
  103. package/dist/chunks/{StateSelect-D0wuUdT9.js.map → StateSelect-1jH3uLz9.js.map} +1 -1
  104. package/dist/chunks/{Switch-B476FBUD.js → Switch-B57Qmy1z.js} +19 -19
  105. package/dist/chunks/Switch-B57Qmy1z.js.map +1 -0
  106. package/dist/chunks/{TextEditorLexicalClient-DcixYuo4.js → TextEditorLexicalClient-DRhAswpP.js} +204 -204
  107. package/dist/chunks/{TextEditorLexicalClient-DcixYuo4.js.map → TextEditorLexicalClient-DRhAswpP.js.map} +1 -1
  108. package/dist/chunks/{Textarea-DeJJjjkI.js → Textarea-C9UdUueF.js} +2 -2
  109. package/dist/chunks/{Textarea-DeJJjjkI.js.map → Textarea-C9UdUueF.js.map} +1 -1
  110. package/dist/chunks/{TimePanel-_kF2RtHk.js → TimePanel-b4saqoUY.js} +27 -27
  111. package/dist/chunks/TimePanel-b4saqoUY.js.map +1 -0
  112. package/dist/chunks/{Toggle-C_fE-bkM.js → Toggle-DVqOQXmt.js} +18 -18
  113. package/dist/chunks/{Toggle-C_fE-bkM.js.map → Toggle-DVqOQXmt.js.map} +1 -1
  114. package/dist/chunks/{TreeMultiSelect-DRYNx7u5.js → TreeMultiSelect-CfQhlfnC.js} +6 -6
  115. package/dist/chunks/{TreeMultiSelect-DRYNx7u5.js.map → TreeMultiSelect-CfQhlfnC.js.map} +1 -1
  116. package/dist/chunks/{TreePickerBase-DYzTsSBQ.js → TreePickerBase-BBUOWsSu.js} +154 -154
  117. package/dist/chunks/TreePickerBase-BBUOWsSu.js.map +1 -0
  118. package/dist/chunks/{TreeSelect-DGLDu6qc.js → TreeSelect-2wUXs90E.js} +6 -6
  119. package/dist/chunks/{TreeSelect-DGLDu6qc.js.map → TreeSelect-2wUXs90E.js.map} +1 -1
  120. package/dist/chunks/base-table-CoQlKABk.js +514 -0
  121. package/dist/chunks/base-table-CoQlKABk.js.map +1 -0
  122. package/dist/chunks/{floating-arrow-CdRV69sg.js → floating-arrow-BE-z4QkE.js} +7 -7
  123. package/dist/chunks/{floating-arrow-CdRV69sg.js.map → floating-arrow-BE-z4QkE.js.map} +1 -1
  124. package/dist/chunks/input-search-Dw4rnJBq.js +30 -0
  125. package/dist/chunks/input-search-Dw4rnJBq.js.map +1 -0
  126. package/dist/chunks/{layout-picker-BA9vA8JI.js → layout-picker-MWaImn3L.js} +34 -34
  127. package/dist/chunks/layout-picker-MWaImn3L.js.map +1 -0
  128. package/dist/chunks/{misc-DrmMj8GO.js → misc-DoqZBMof.js} +100 -100
  129. package/dist/chunks/misc-DoqZBMof.js.map +1 -0
  130. package/dist/chunks/{modal-DqVcZws_.js → modal-B3HY3laL.js} +40 -40
  131. package/dist/chunks/modal-B3HY3laL.js.map +1 -0
  132. package/dist/chunks/multi-select-BzYIviCU.js +1305 -0
  133. package/dist/chunks/multi-select-BzYIviCU.js.map +1 -0
  134. package/dist/chunks/{picker-Cj4RnJh6.js → picker-Dg55Ss-B.js} +73 -73
  135. package/dist/chunks/picker-Dg55Ss-B.js.map +1 -0
  136. package/dist/chunks/{popover-C79P5bm2.js → popover-xJJqy1v6.js} +52 -52
  137. package/dist/chunks/popover-xJJqy1v6.js.map +1 -0
  138. package/dist/chunks/{separator-CIqnk2z9.js → separator-B72Aq-6a.js} +2 -2
  139. package/dist/chunks/{separator-CIqnk2z9.js.map → separator-B72Aq-6a.js.map} +1 -1
  140. package/dist/chunks/{slider-34wxzKkG.js → slider-CFKsfxFp.js} +83 -83
  141. package/dist/chunks/slider-CFKsfxFp.js.map +1 -0
  142. package/dist/chunks/sortable-DcTIAbjD.js +185 -0
  143. package/dist/chunks/sortable-DcTIAbjD.js.map +1 -0
  144. package/dist/chunks/{table-BYA0hCj7.js → table-Dc3AqMzP.js} +21 -21
  145. package/dist/chunks/table-Dc3AqMzP.js.map +1 -0
  146. package/dist/chunks/{table-column-interactions-DPyJDD7P.js → table-column-interactions-6RGjmiI5.js} +24 -24
  147. package/dist/chunks/{table-column-interactions-DPyJDD7P.js.map → table-column-interactions-6RGjmiI5.js.map} +1 -1
  148. package/dist/chunks/{tabs-CjU2KCgs.js → tabs-DlnVVMJl.js} +96 -96
  149. package/dist/chunks/{tabs-CjU2KCgs.js.map → tabs-DlnVVMJl.js.map} +1 -1
  150. package/dist/chunks/{toolbar-C-Ziw_Uh.js → toolbar-BCZNdRXM.js} +2 -2
  151. package/dist/chunks/{toolbar-C-Ziw_Uh.js.map → toolbar-BCZNdRXM.js.map} +1 -1
  152. package/dist/chunks/{wheel-picker-DUHGy7wE.js → wheel-picker-FS58cRsQ.js} +23 -23
  153. package/dist/chunks/{wheel-picker-DUHGy7wE.js.map → wheel-picker-FS58cRsQ.js.map} +1 -1
  154. package/dist/context-menu/components/MenuContent.d.ts.map +1 -1
  155. package/dist/context-menu/components/MenuContext.d.ts.map +1 -1
  156. package/dist/context-menu/components/MenuRoot.d.ts.map +1 -1
  157. package/dist/context-menu/components/RadialMenuContent.d.ts.map +1 -1
  158. package/dist/context-menu/index.js +1 -1
  159. package/dist/context-menu/stories/ContextMenu.stories.js +45 -45
  160. package/dist/date-input/index.js +2 -2
  161. package/dist/date-input/lib/types.d.ts.map +1 -1
  162. package/dist/date-input/stories/DateInput.stories.js +2 -2
  163. package/dist/date-input/ui/CalendarView.d.ts.map +1 -1
  164. package/dist/date-input/ui/DateInput.d.ts.map +1 -1
  165. package/dist/date-range-preset-select/index.js +1 -1
  166. package/dist/date-range-preset-select/stories/DateRangePresetSelect.stories.js +8 -8
  167. package/dist/date-time-input/index.js +1 -1
  168. package/dist/date-time-input/lib/dateTimeValue.d.ts.map +1 -1
  169. package/dist/date-time-input/stories/SingleDateTimeInput.stories.js +38 -38
  170. package/dist/date-time-input/stories/TimePanel.stories.js +9 -9
  171. package/dist/date-time-input/ui/SingleDateTimeInput.d.ts.map +1 -1
  172. package/dist/detail/index.js +1 -1
  173. package/dist/detail/stories/Detail.stories.js +1 -1
  174. package/dist/dialog/Dialog.d.ts.map +1 -1
  175. package/dist/dialog/index.js +1 -1
  176. package/dist/dialog/stories/Dialog.stories.js +16 -16
  177. package/dist/disclosure/Disclosure.d.ts.map +1 -1
  178. package/dist/disclosure/index.js +1 -1
  179. package/dist/disclosure/stories/Disclosure.stories.js +1 -1
  180. package/dist/drop-zone/DropZone.d.ts.map +1 -1
  181. package/dist/drop-zone/index.js +1 -1
  182. package/dist/drop-zone/stories/DropZone.stories.d.ts.map +1 -1
  183. package/dist/drop-zone/stories/DropZone.stories.js +14 -14
  184. package/dist/drop-zone/stories/DropZone.stories.js.map +1 -1
  185. package/dist/errors/ErrorDisplay.d.ts.map +1 -1
  186. package/dist/errors/index.js +47 -47
  187. package/dist/errors/index.js.map +1 -1
  188. package/dist/expandable-action-panel/ExpandableActionPanel.d.ts.map +1 -1
  189. package/dist/expandable-action-panel/index.js +1 -1
  190. package/dist/expandable-action-panel/stories/ExpandableActionPanel.stories.js +28 -28
  191. package/dist/flex/index.js +2 -2
  192. package/dist/flex/stories/Flex.stories.js +2 -2
  193. package/dist/floating-arrow/index.js +1 -1
  194. package/dist/fullscreen-portal/index.js +6 -6
  195. package/dist/grid/stories/Grid.stories.js +1 -1
  196. package/dist/image/index.js +123 -123
  197. package/dist/image/index.js.map +1 -1
  198. package/dist/image/ui/ImageSelection.d.ts.map +1 -1
  199. package/dist/input/Input.d.ts.map +1 -1
  200. package/dist/input/index.js +1 -1
  201. package/dist/input/stories/Input.stories.js +11 -11
  202. package/dist/input-date-time/index.js +1 -1
  203. package/dist/input-date-time/stories/InputDateTime.stories.js +11 -11
  204. package/dist/input-file/InputFile.d.ts.map +1 -1
  205. package/dist/input-file/index.js +1 -1
  206. package/dist/input-file/stories/InputFile.stories.d.ts.map +1 -1
  207. package/dist/input-file/stories/InputFile.stories.js +9 -9
  208. package/dist/input-file/stories/InputFile.stories.js.map +1 -1
  209. package/dist/input-files/InputFilesList.d.ts.map +1 -1
  210. package/dist/input-files/index.js +1 -1
  211. package/dist/input-files/stories/InputFiles.stories.d.ts +1 -1
  212. package/dist/input-files/stories/InputFiles.stories.d.ts.map +1 -1
  213. package/dist/input-files/stories/InputFiles.stories.js +9 -9
  214. package/dist/input-files/stories/InputFiles.stories.js.map +1 -1
  215. package/dist/input-image/index.js +1 -1
  216. package/dist/input-image/stories/InputImage.stories.d.ts.map +1 -1
  217. package/dist/input-image/stories/InputImage.stories.js +15 -15
  218. package/dist/input-image/stories/InputImage.stories.js.map +1 -1
  219. package/dist/input-search/index.js +2 -30
  220. package/dist/layout-picker/index.js +1 -1
  221. package/dist/layout-picker/stories/LayoutPicker.stories.js +52 -52
  222. package/dist/layout-picker/ui/LayoutPicker.d.ts.map +1 -1
  223. package/dist/list/List.d.ts.map +1 -1
  224. package/dist/list/index.js +30 -30
  225. package/dist/list/index.js.map +1 -1
  226. package/dist/listbox/Listbox.d.ts.map +1 -1
  227. package/dist/listbox/index.js +1 -1
  228. package/dist/listbox/stories/Listbox.stories.js +19 -19
  229. package/dist/misc/CopyTextWrapper.d.ts.map +1 -1
  230. package/dist/misc/OneStepScroller.d.ts.map +1 -1
  231. package/dist/misc/StateIcon.d.ts.map +1 -1
  232. package/dist/misc/index.js +1 -1
  233. package/dist/modal/Modal.d.ts +5 -1
  234. package/dist/modal/Modal.d.ts.map +1 -1
  235. package/dist/modal/index.js +1 -1
  236. package/dist/modal/stories/Modal.stories.js +55 -55
  237. package/dist/multi-select/index.js +3 -35
  238. package/dist/multi-select/model/useODataMultiSelect.d.ts +23 -0
  239. package/dist/multi-select/model/useODataMultiSelect.d.ts.map +1 -0
  240. package/dist/multi-select/ui/MultiSelect.d.ts +1 -1
  241. package/dist/multi-select/ui/MultiSelect.d.ts.map +1 -1
  242. package/dist/multi-select/ui/ODataDependentMultiSelect.d.ts +20 -0
  243. package/dist/multi-select/ui/ODataDependentMultiSelect.d.ts.map +1 -0
  244. package/dist/multi-select/ui/ODataDependentSegmentMultiSelect.d.ts +21 -0
  245. package/dist/multi-select/ui/ODataDependentSegmentMultiSelect.d.ts.map +1 -0
  246. package/dist/multi-select/ui/ODataMultiSelect.d.ts +7 -0
  247. package/dist/multi-select/ui/ODataMultiSelect.d.ts.map +1 -0
  248. package/dist/multi-select/ui/SerializableMultiSelect.d.ts.map +1 -1
  249. package/dist/multi-select/ui/index.d.ts +3 -0
  250. package/dist/multi-select/ui/index.d.ts.map +1 -1
  251. package/dist/multi-select/ui/stories/MultiSelect.stories.js +17 -17
  252. package/dist/multi-select/ui/stories/ODataMultiSelect.stories.d.ts +44 -0
  253. package/dist/multi-select/ui/stories/ODataMultiSelect.stories.d.ts.map +1 -0
  254. package/dist/notifications/index.js +1 -1
  255. package/dist/notifications/model/NotificationsProvider.d.ts.map +1 -1
  256. package/dist/notifications/ui/NotificationsHost.d.ts.map +1 -1
  257. package/dist/notifications/ui/stories/NotificationsHost.stories.js +59 -59
  258. package/dist/period-select/PeriodSelect.d.ts +1 -1
  259. package/dist/period-select/PeriodSelect.d.ts.map +1 -1
  260. package/dist/period-select/index.js +20 -20
  261. package/dist/period-select/index.js.map +1 -1
  262. package/dist/period-select/lib/periodSelect.d.ts.map +1 -1
  263. package/dist/period-select/stories/PeriodSelect.stories.d.ts.map +1 -1
  264. package/dist/period-select/stories/PeriodSelect.stories.js +17 -17
  265. package/dist/period-select/stories/PeriodSelect.stories.js.map +1 -1
  266. package/dist/picker/PickerPopup.d.ts.map +1 -1
  267. package/dist/picker/PickerTriggerActions.d.ts.map +1 -1
  268. package/dist/picker/index.js +1 -1
  269. package/dist/picker/model/usePickerFloatingListbox.d.ts.map +1 -1
  270. package/dist/popover/FloatingPopover.d.ts.map +1 -1
  271. package/dist/popover/components/PopoverContent.d.ts.map +1 -1
  272. package/dist/popover/components/PopoverContext.d.ts.map +1 -1
  273. package/dist/popover/index.js +1 -1
  274. package/dist/popover/stories/Popover.stories.js +16 -16
  275. package/dist/preset-range-date-input/index.js +1 -1
  276. package/dist/preset-range-date-input/ui/stories/PresetRangeDateInput.stories.js +9 -9
  277. package/dist/preset-select/index.js +1 -1
  278. package/dist/radio-button/RadioButton.d.ts.map +1 -1
  279. package/dist/radio-button/index.js +1 -1
  280. package/dist/radio-button/stories/RadioButton.stories.js +11 -11
  281. package/dist/radio-group/index.js +1 -1
  282. package/dist/radio-group/stories/RadioGroup.stories.js +21 -21
  283. package/dist/select/ODataSelect.d.ts +9 -0
  284. package/dist/select/ODataSelect.d.ts.map +1 -0
  285. package/dist/select/Select.d.ts.map +1 -1
  286. package/dist/select/index.js +2 -2
  287. package/dist/select/model/useODataSelect.d.ts +25 -0
  288. package/dist/select/model/useODataSelect.d.ts.map +1 -0
  289. package/dist/select/model/useODataSelectBase.d.ts +24 -0
  290. package/dist/select/model/useODataSelectBase.d.ts.map +1 -0
  291. package/dist/select/stories/ODataSelect.stories.d.ts +46 -0
  292. package/dist/select/stories/ODataSelect.stories.d.ts.map +1 -0
  293. package/dist/select/stories/Select.stories.js +23 -23
  294. package/dist/select/stories/SerializableSelect.stories.js +22 -22
  295. package/dist/select/stories/odataStoryFixtures.d.ts +35 -0
  296. package/dist/select/stories/odataStoryFixtures.d.ts.map +1 -0
  297. package/dist/separator/index.js +1 -1
  298. package/dist/simple-table/index.js +5 -5
  299. package/dist/simple-table/index.js.map +1 -1
  300. package/dist/slider/Slider.d.ts.map +1 -1
  301. package/dist/slider/index.js +1 -1
  302. package/dist/slider/stories/Slider.stories.js +32 -32
  303. package/dist/slider/stories/SliderInput.stories.js +39 -39
  304. package/dist/sortable/Sortable.d.ts.map +1 -1
  305. package/dist/sortable/SortableDragHandle.d.ts.map +1 -1
  306. package/dist/sortable/index.js +1 -1
  307. package/dist/sortable/stories/Sortable.stories.js +23 -23
  308. package/dist/splitter/index.js +1 -1
  309. package/dist/splitter/stories/Splitter.stories.js +1 -1
  310. package/dist/state-select/index.js +1 -1
  311. package/dist/state-select/stories/StateSelect.stories.d.ts.map +1 -1
  312. package/dist/state-select/stories/StateSelect.stories.js +23 -23
  313. package/dist/state-select/stories/StateSelect.stories.js.map +1 -1
  314. package/dist/styles.css +1 -1
  315. package/dist/switch/Switch.d.ts.map +1 -1
  316. package/dist/switch/index.js +1 -1
  317. package/dist/switch/stories/Switch.stories.js +11 -11
  318. package/dist/table/Table.d.ts +1 -1
  319. package/dist/table/Table.d.ts.map +1 -1
  320. package/dist/table/index.js +1 -1
  321. package/dist/table/stories/Table.stories.d.ts +155 -0
  322. package/dist/table/stories/Table.stories.d.ts.map +1 -0
  323. package/dist/table-column-interactions/TableHeaderInteractionCell.d.ts.map +1 -1
  324. package/dist/table-column-interactions/index.js +1 -1
  325. package/dist/table-sorting/index.js +1 -1
  326. package/dist/tabs/index.js +1 -1
  327. package/dist/tabs/stories/Tabs.stories.d.ts.map +1 -1
  328. package/dist/tabs/stories/Tabs.stories.js +39 -39
  329. package/dist/tabs/stories/Tabs.stories.js.map +1 -1
  330. package/dist/text/TextOverflow.d.ts.map +1 -1
  331. package/dist/text/index.js +20 -20
  332. package/dist/text/index.js.map +1 -1
  333. package/dist/text-editor/TextEditorLexicalClient.d.ts.map +1 -1
  334. package/dist/text-editor/index.js +3 -3
  335. package/dist/text-editor/toolbar/index.js +1 -1
  336. package/dist/textarea/index.js +1 -1
  337. package/dist/textarea/stories/Textarea.stories.js +8 -8
  338. package/dist/three-scene/index.js +7 -7
  339. package/dist/toggle/index.js +1 -1
  340. package/dist/toggle/stories/Toggle.stories.js +7 -7
  341. package/dist/toolbar/index.js +16 -16
  342. package/dist/tree/index.js +24 -24
  343. package/dist/tree-select/ODataTreeMultiSelect.d.ts +12 -0
  344. package/dist/tree-select/ODataTreeMultiSelect.d.ts.map +1 -0
  345. package/dist/tree-select/ODataTreeSelect.d.ts +13 -0
  346. package/dist/tree-select/ODataTreeSelect.d.ts.map +1 -0
  347. package/dist/tree-select/TreeNodeContent.d.ts.map +1 -1
  348. package/dist/tree-select/TreePickerBase.d.ts.map +1 -1
  349. package/dist/tree-select/index.js +2 -2
  350. package/dist/tree-select/model/buildODataTreeNodes.d.ts +12 -0
  351. package/dist/tree-select/model/buildODataTreeNodes.d.ts.map +1 -0
  352. package/dist/tree-select/model/resolveOrderedTreeSegmentItems.d.ts +4 -0
  353. package/dist/tree-select/model/resolveOrderedTreeSegmentItems.d.ts.map +1 -0
  354. package/dist/tree-select/model/useODataTreeData.d.ts +11 -0
  355. package/dist/tree-select/model/useODataTreeData.d.ts.map +1 -0
  356. package/dist/tree-select/stories/ODataTreeMultiSelect.stories.d.ts +55 -0
  357. package/dist/tree-select/stories/ODataTreeMultiSelect.stories.d.ts.map +1 -0
  358. package/dist/tree-select/stories/ODataTreeSelect.stories.d.ts +54 -0
  359. package/dist/tree-select/stories/ODataTreeSelect.stories.d.ts.map +1 -0
  360. package/dist/tree-select/stories/TreeMultiSelect.stories.js +9 -9
  361. package/dist/tree-select/stories/TreeSelect.stories.js +9 -9
  362. package/dist/tree-table/TreeTable.d.ts +1 -1
  363. package/dist/tree-table/TreeTable.d.ts.map +1 -1
  364. package/dist/tree-table/index.js +32 -32
  365. package/dist/tree-table/index.js.map +1 -1
  366. package/dist/tree-table/stories/TreeTable.stories.d.ts +158 -0
  367. package/dist/tree-table/stories/TreeTable.stories.d.ts.map +1 -0
  368. package/dist/wheel-picker/index.js +1 -1
  369. package/package.json +15 -4
  370. package/dist/chunks/BadgeList-DHW_Ktr3.js.map +0 -1
  371. package/dist/chunks/CheckBox-Cck5w1Ud.js.map +0 -1
  372. package/dist/chunks/DateInput-CINDYueM.js.map +0 -1
  373. package/dist/chunks/Detail-DKolHye4.js +0 -80
  374. package/dist/chunks/Dialog-BPS4BeWZ.js.map +0 -1
  375. package/dist/chunks/DisclosureGroup-0BtaXO54.js.map +0 -1
  376. package/dist/chunks/DropZone-hf7Em__0.js.map +0 -1
  377. package/dist/chunks/DropdownMenu-Ds-trH4M.js.map +0 -1
  378. package/dist/chunks/Input-Ce2HXBUc.js.map +0 -1
  379. package/dist/chunks/InputFile-ga5yJmdZ.js.map +0 -1
  380. package/dist/chunks/InputFiles-Or2Nvfgk.js.map +0 -1
  381. package/dist/chunks/LabeledExpandableActionPanel-Bx-DWmYz.js.map +0 -1
  382. package/dist/chunks/Listbox-CY1wQOCP.js +0 -81
  383. package/dist/chunks/Listbox-CY1wQOCP.js.map +0 -1
  384. package/dist/chunks/NotificationsHost-BQc-zOr2.js.map +0 -1
  385. package/dist/chunks/RadioButton-DJp31HFR.js.map +0 -1
  386. package/dist/chunks/RadioGroup-BAhN1d1X.js +0 -121
  387. package/dist/chunks/Select-B7k_8_Lf.js.map +0 -1
  388. package/dist/chunks/SingleDateTimeInput-CwvIbwje.js.map +0 -1
  389. package/dist/chunks/StateSelect-D0wuUdT9.js +0 -78
  390. package/dist/chunks/Switch-B476FBUD.js.map +0 -1
  391. package/dist/chunks/TimePanel-_kF2RtHk.js.map +0 -1
  392. package/dist/chunks/TreePickerBase-DYzTsSBQ.js.map +0 -1
  393. package/dist/chunks/base-table-DVje02Zi.js +0 -514
  394. package/dist/chunks/base-table-DVje02Zi.js.map +0 -1
  395. package/dist/chunks/layout-picker-BA9vA8JI.js.map +0 -1
  396. package/dist/chunks/misc-DrmMj8GO.js.map +0 -1
  397. package/dist/chunks/modal-DqVcZws_.js.map +0 -1
  398. package/dist/chunks/picker-Cj4RnJh6.js.map +0 -1
  399. package/dist/chunks/popover-C79P5bm2.js.map +0 -1
  400. package/dist/chunks/slider-34wxzKkG.js.map +0 -1
  401. package/dist/chunks/sortable-CwDHC3CA.js +0 -185
  402. package/dist/chunks/sortable-CwDHC3CA.js.map +0 -1
  403. package/dist/chunks/table-BYA0hCj7.js.map +0 -1
  404. package/dist/input-search/index.js.map +0 -1
  405. package/dist/multi-select/index.js.map +0 -1
@@ -1,9 +1,9 @@
1
- import { l as e } from "./misc-DrmMj8GO.js";
2
- import { t } from "./Button-BZ_b-Kin.js";
3
- import { ChevronsLeftIcon as n, ChevronsRightIcon as r } from "lucide-react";
4
- import { cn as i } from "@ryuzaki13/react-foundation-lib/utils";
5
- import { jsx as a, jsxs as o } from "react/jsx-runtime";
6
- import { useCallback as s, useId as c, useState as l } from "react";
1
+ import { t as e } from "./Button-CCWuggdA.js";
2
+ import { l as t } from "./misc-DoqZBMof.js";
3
+ import { useCallback as n, useId as r, useState as i } from "react";
4
+ import { cn as a } from "@ryuzaki13/react-foundation-lib/utils";
5
+ import { ChevronsLeftIcon as o, ChevronsRightIcon as s } from "lucide-react";
6
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
7
7
  var u = {
8
8
  expandableActionPanel: "sj-rIq",
9
9
  content: "_3anR7j",
@@ -15,21 +15,21 @@ var u = {
15
15
  //#endregion
16
16
  //#region src/expandable-action-panel/ExpandableActionPanel.tsx
17
17
  function d({ children: d, className: f, contentClassName: p, toggleClassName: m, open: h, defaultOpen: g = !1, disabled: _, onOpenChange: v, expandLabel: y = "Раскрыть панель действий влево", collapseLabel: b = "Свернуть панель действий", panelLabel: x = "Действия панели", itemSelector: S, scrollPadding: C, smoothScroll: w }) {
18
- let [T, E] = l(g), D = c(), O = h !== void 0, k = O ? h : T, A = s((e) => {
18
+ let [T, E] = i(g), D = r(), O = h !== void 0, k = O ? h : T, A = n((e) => {
19
19
  let t = typeof e == "function" ? e(k) : e;
20
20
  O || E(t), v?.(t);
21
21
  }, [
22
22
  O,
23
23
  v,
24
24
  k
25
- ]), j = () => A((e) => !e), M = k ? r : n;
26
- return /* @__PURE__ */ o("div", {
27
- className: i(u.expandableActionPanel, f),
25
+ ]), j = () => A((e) => !e), M = k ? s : o;
26
+ return /* @__PURE__ */ l("div", {
27
+ className: a(u.expandableActionPanel, f),
28
28
  "data-ui": "expandable-action-panel",
29
29
  "data-open": k ? "" : void 0,
30
- children: [/* @__PURE__ */ a(t, {
30
+ children: [/* @__PURE__ */ c(e, {
31
31
  className: m,
32
- icon: /* @__PURE__ */ a(M, {}),
32
+ icon: /* @__PURE__ */ c(M, {}),
33
33
  title: k ? b : y,
34
34
  disabled: _,
35
35
  variant: "neutralOutline",
@@ -38,12 +38,12 @@ function d({ children: d, className: f, contentClassName: p, toggleClassName: m,
38
38
  "data-ui": "expandable-action-panel-toggle",
39
39
  "data-action": k ? "collapse-action-panel" : "expand-action-panel",
40
40
  onClick: j
41
- }), k && /* @__PURE__ */ a("div", {
41
+ }), k && /* @__PURE__ */ c("div", {
42
42
  id: D,
43
43
  role: "group",
44
44
  "aria-label": x,
45
- className: i(u.content, p),
46
- children: /* @__PURE__ */ a(e, {
45
+ className: a(u.content, p),
46
+ children: /* @__PURE__ */ c(t, {
47
47
  className: u.contentScroller,
48
48
  itemSelector: S,
49
49
  scrollPadding: C,
@@ -55,28 +55,28 @@ function d({ children: d, className: f, contentClassName: p, toggleClassName: m,
55
55
  }
56
56
  //#endregion
57
57
  //#region src/expandable-action-panel/LabeledExpandableActionPanel.tsx
58
- function f({ label: e, className: t, labelClassName: n, labelStyle: r, labelMinWidth: s = "12em", panelClassName: c, open: l, defaultOpen: f, ...p }) {
58
+ function f({ label: e, className: t, labelClassName: n, labelStyle: r, labelMinWidth: i = "12em", panelClassName: o, open: s, defaultOpen: f, ...p }) {
59
59
  let m = {
60
60
  ...r,
61
- minWidth: s
61
+ minWidth: i
62
62
  }, h = typeof e == "string" ? e : void 0;
63
- return /* @__PURE__ */ o("div", {
64
- className: i(u.labeledPanel, t),
63
+ return /* @__PURE__ */ l("div", {
64
+ className: a(u.labeledPanel, t),
65
65
  "data-ui": "labeled-expandable-action-panel",
66
- children: [/* @__PURE__ */ a("div", {
67
- className: i("flexEllipsis", u.label, n),
66
+ children: [/* @__PURE__ */ c("div", {
67
+ className: a("flexEllipsis", u.label, n),
68
68
  style: m,
69
69
  title: h,
70
70
  children: e
71
- }), /* @__PURE__ */ a(d, {
71
+ }), /* @__PURE__ */ c(d, {
72
72
  ...p,
73
- open: l,
73
+ open: s,
74
74
  defaultOpen: f,
75
- className: i(u.labeledActionPanel, c)
75
+ className: a(u.labeledActionPanel, o)
76
76
  })]
77
77
  });
78
78
  }
79
79
  //#endregion
80
80
  export { d as n, f as t };
81
81
 
82
- //# sourceMappingURL=LabeledExpandableActionPanel-Bx-DWmYz.js.map
82
+ //# sourceMappingURL=LabeledExpandableActionPanel-D3kUvmFH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LabeledExpandableActionPanel-D3kUvmFH.js","names":[],"sources":["../../src/expandable-action-panel/ExpandableActionPanel.module.scss","../../src/expandable-action-panel/ExpandableActionPanel.tsx","../../src/expandable-action-panel/LabeledExpandableActionPanel.tsx"],"sourcesContent":[".expandableActionPanel {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: flex-end;\n\tgap: var(--space-sm);\n\tmin-width: var(--control-height);\n\tmax-width: 100%;\n\toverflow: hidden;\n}\n\n.content {\n\tmin-width: 0;\n\tmax-width: 100%;\n\tflex: 1 1 auto;\n\toverflow: hidden;\n}\n\n.contentScroller {\n\twidth: 100%;\n\tmin-width: 0;\n}\n\n.labeledPanel {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: var(--space-sm);\n\twidth: 100%;\n\tmin-width: 0;\n}\n\n.label {\n\tcolor: var(--content-0);\n}\n\n.labeledActionPanel {\n\tflex: 0 1 auto;\n}\n","import React, { PropsWithChildren, useCallback, useId, useState } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { ChevronsLeftIcon, ChevronsRightIcon } from \"lucide-react\";\n\nimport { Button } from \"../button\";\nimport { OneStepScroller } from \"../misc\";\n\nimport styles from \"./ExpandableActionPanel.module.scss\";\n\nexport interface ExpandableActionPanelProps extends PropsWithChildren {\n\tclassName?: string;\n\tcontentClassName?: string;\n\ttoggleClassName?: string;\n\topen?: boolean;\n\tdefaultOpen?: boolean;\n\tdisabled?: boolean;\n\tonOpenChange?: (open: boolean) => void;\n\texpandLabel?: string;\n\tcollapseLabel?: string;\n\tpanelLabel?: string;\n\titemSelector?: string;\n\tscrollPadding?: number;\n\tsmoothScroll?: boolean;\n}\n\n/**\n * Горизонтальная раскрывающаяся панель действий.\n * Не знает о внешнем layout и может использоваться рядом с любым содержимым.\n */\nexport function ExpandableActionPanel({\n\tchildren,\n\tclassName,\n\tcontentClassName,\n\ttoggleClassName,\n\topen: controlledOpen,\n\tdefaultOpen = false,\n\tdisabled,\n\tonOpenChange,\n\texpandLabel = \"Раскрыть панель действий влево\",\n\tcollapseLabel = \"Свернуть панель действий\",\n\tpanelLabel = \"Действия панели\",\n\titemSelector,\n\tscrollPadding,\n\tsmoothScroll\n}: ExpandableActionPanelProps) {\n\tconst [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n\tconst panelId = useId();\n\tconst isControlled = controlledOpen !== undefined;\n\tconst open = isControlled ? controlledOpen : uncontrolledOpen;\n\n\tconst setOpen = useCallback<React.Dispatch<React.SetStateAction<boolean>>>(\n\t\t(value) => {\n\t\t\tconst nextOpen = typeof value === \"function\" ? value(open) : value;\n\n\t\t\tif (!isControlled) {\n\t\t\t\tsetUncontrolledOpen(nextOpen);\n\t\t\t}\n\n\t\t\tonOpenChange?.(nextOpen);\n\t\t},\n\t\t[isControlled, onOpenChange, open]\n\t);\n\n\tconst handleToggle = () => setOpen((prevOpen) => !prevOpen);\n\tconst ToggleIcon = open ? ChevronsRightIcon : ChevronsLeftIcon;\n\n\treturn (\n\t\t<div className={cn(styles.expandableActionPanel, className)} data-ui=\"expandable-action-panel\" data-open={open ? \"\" : undefined}>\n\t\t\t<Button\n\t\t\t\tclassName={toggleClassName}\n\t\t\t\ticon={<ToggleIcon />}\n\t\t\t\ttitle={open ? collapseLabel : expandLabel}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tvariant=\"neutralOutline\"\n\t\t\t\taria-expanded={open}\n\t\t\t\taria-controls={panelId}\n\t\t\t\tdata-ui=\"expandable-action-panel-toggle\"\n\t\t\t\tdata-action={open ? \"collapse-action-panel\" : \"expand-action-panel\"}\n\t\t\t\tonClick={handleToggle}\n\t\t\t/>\n\n\t\t\t{open && (\n\t\t\t\t<div id={panelId} role=\"group\" aria-label={panelLabel} className={cn(styles.content, contentClassName)}>\n\t\t\t\t\t<OneStepScroller\n\t\t\t\t\t\tclassName={styles.contentScroller}\n\t\t\t\t\t\titemSelector={itemSelector}\n\t\t\t\t\t\tscrollPadding={scrollPadding}\n\t\t\t\t\t\tsmooth={smoothScroll}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</OneStepScroller>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n","import React from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport { ExpandableActionPanel, ExpandableActionPanelProps } from \"./ExpandableActionPanel\";\nimport styles from \"./ExpandableActionPanel.module.scss\";\n\nexport interface LabeledExpandableActionPanelProps extends Omit<ExpandableActionPanelProps, \"className\"> {\n\tlabel: React.ReactNode;\n\tclassName?: string;\n\tlabelClassName?: string;\n\tlabelStyle?: React.CSSProperties;\n\tlabelMinWidth?: React.CSSProperties[\"minWidth\"];\n\tpanelClassName?: string;\n}\n\n/**\n * Раскрывающаяся панель действий с левым текстом, который сжимается через `flexEllipsis`.\n */\nexport function LabeledExpandableActionPanel({\n\tlabel,\n\tclassName,\n\tlabelClassName,\n\tlabelStyle,\n\tlabelMinWidth = \"12em\",\n\tpanelClassName,\n\topen,\n\tdefaultOpen,\n\t...panelProps\n}: LabeledExpandableActionPanelProps) {\n\tconst resolvedLabelStyle: React.CSSProperties = {\n\t\t...labelStyle,\n\t\tminWidth: labelMinWidth\n\t};\n\tconst title = typeof label === \"string\" ? label : undefined;\n\n\treturn (\n\t\t<div className={cn(styles.labeledPanel, className)} data-ui=\"labeled-expandable-action-panel\">\n\t\t\t<div className={cn(\"flexEllipsis\", styles.label, labelClassName)} style={resolvedLabelStyle} title={title}>\n\t\t\t\t{label}\n\t\t\t</div>\n\t\t\t<ExpandableActionPanel\n\t\t\t\t{...panelProps}\n\t\t\t\topen={open}\n\t\t\t\tdefaultOpen={defaultOpen}\n\t\t\t\tclassName={cn(styles.labeledActionPanel, panelClassName)}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"],"mappings":";;;;;;;;;;;;;;;;AC8BA,SAAgB,EAAsB,EACrC,aACA,cACA,qBACA,oBACA,MAAM,GACN,iBAAc,IACd,aACA,iBACA,iBAAc,kCACd,mBAAgB,4BAChB,gBAAa,mBACb,iBACA,kBACA,mBAC8B;CAC9B,IAAM,CAAC,GAAkB,KAAuB,EAAS,CAAW,GAC9D,IAAU,EAAM,GAChB,IAAe,MAAmB,KAAA,GAClC,IAAO,IAAe,IAAiB,GAEvC,IAAU,GACd,MAAU;EACV,IAAM,IAAW,OAAO,KAAU,aAAa,EAAM,CAAI,IAAI;EAM7D,AAJK,KACJ,EAAoB,CAAQ,GAG7B,IAAe,CAAQ;CACxB,GACA;EAAC;EAAc;EAAc;CAAI,CAClC,GAEM,UAAqB,GAAS,MAAa,CAAC,CAAQ,GACpD,IAAa,IAAO,IAAoB;CAE9C,OACC,kBAAC,OAAD;EAAK,WAAW,EAAG,EAAO,uBAAuB,CAAS;EAAG,WAAQ;EAA0B,aAAW,IAAO,KAAK,KAAA;YAAtH,CACC,kBAAC,GAAD;GACC,WAAW;GACX,MAAM,kBAAC,GAAD,CAAa,CAAA;GACnB,OAAO,IAAO,IAAgB;GACpB;GACV,SAAQ;GACR,iBAAe;GACf,iBAAe;GACf,WAAQ;GACR,eAAa,IAAO,0BAA0B;GAC9C,SAAS;EACT,CAAA,GAEA,KACA,kBAAC,OAAD;GAAK,IAAI;GAAS,MAAK;GAAQ,cAAY;GAAY,WAAW,EAAG,EAAO,SAAS,CAAgB;aACpG,kBAAC,GAAD;IACC,WAAW,EAAO;IACJ;IACC;IACf,QAAQ;IACP;GACe,CAAA;EACb,CAAA,CAEF;;AAEP;;;AC5EA,SAAgB,EAA6B,EAC5C,UACA,cACA,mBACA,eACA,mBAAgB,QAChB,mBACA,SACA,gBACA,GAAG,KACkC;CACrC,IAAM,IAA0C;EAC/C,GAAG;EACH,UAAU;CACX,GACM,IAAQ,OAAO,KAAU,WAAW,IAAQ,KAAA;CAElD,OACC,kBAAC,OAAD;EAAK,WAAW,EAAG,EAAO,cAAc,CAAS;EAAG,WAAQ;YAA5D,CACC,kBAAC,OAAD;GAAK,WAAW,EAAG,gBAAgB,EAAO,OAAO,CAAc;GAAG,OAAO;GAA2B;aAClG;EACG,CAAA,GACL,kBAAC,GAAD;GACC,GAAI;GACE;GACO;GACb,WAAW,EAAG,EAAO,oBAAoB,CAAc;EACvD,CAAA,CACG;;AAEP"}
@@ -0,0 +1,81 @@
1
+ import { t as e } from "./ui.module-BisoTevy.js";
2
+ import { useEffect as t, useId as n, useLayoutEffect as r, useMemo as i, useRef as a, useState as o } from "react";
3
+ import { cn as s, findFirstEnabledIndex as c, findLastEnabledIndex as l, findNextEnabledIndex as u, handleKeyboardActivation as d } from "@ryuzaki13/react-foundation-lib/utils";
4
+ import { CheckIcon as f } from "lucide-react";
5
+ import { jsx as p, jsxs as m } from "react/jsx-runtime";
6
+ //#region src/listbox/Listbox.tsx
7
+ var h = (e) => e.disabled === !0;
8
+ function g(e, t, n) {
9
+ if (n) {
10
+ if (Array.isArray(t) && t.length > 0) {
11
+ let n = e.findIndex((e) => t.includes(e.value) && !e.disabled);
12
+ if (n >= 0) return n;
13
+ }
14
+ return c(e, h);
15
+ }
16
+ if (t !== void 0) {
17
+ let n = e.findIndex((e) => e.value === t && !e.disabled);
18
+ if (n >= 0) return n;
19
+ }
20
+ return c(e, h);
21
+ }
22
+ function _(_) {
23
+ let { value: v, defaultValue: y, multiple: b, focusOnMount: x, renderItem: S, getKey: C, options: w, onChange: T, id: E, ...D } = _, O = v !== void 0, k = n(), A = E ?? `${k}-listbox`, [j, M] = o(y), N = a(null), [P, F] = o(() => g(w, v ?? y, b)), I = i(() => (O ? v : j) ?? (b ? [] : null), [
24
+ j,
25
+ O,
26
+ b,
27
+ v
28
+ ]), L = P, R = (e) => {
29
+ if (e.disabled) return;
30
+ let t;
31
+ if (_.multiple) {
32
+ let n = Array.isArray(I) ? I : [];
33
+ t = n.includes(e.value) ? n.filter((t) => t !== e.value) : [...n, e.value], _.onChange?.(t, e);
34
+ } else t = e.value, _.onChange?.(t, e);
35
+ O || M(t);
36
+ };
37
+ return t(() => {
38
+ let e = N.current?.querySelectorAll("[role=\"option\"]")[L];
39
+ e && e.scrollIntoView({ block: "nearest" });
40
+ }, [L]), r(() => {
41
+ x && N.current?.focus();
42
+ }, [x]), /* @__PURE__ */ p("ul", {
43
+ ref: N,
44
+ id: A,
45
+ role: "listbox",
46
+ "aria-multiselectable": b || void 0,
47
+ "aria-activedescendant": L >= 0 ? `${A}-option-${L}` : void 0,
48
+ tabIndex: 0,
49
+ onKeyDown: (e) => {
50
+ if (e.key === "ArrowDown") e.preventDefault(), F((e) => u(w, e, 1, h));
51
+ else if (e.key === "ArrowUp") e.preventDefault(), F((e) => u(w, e, -1, h));
52
+ else if (e.key === "Home") e.preventDefault(), F(c(w, h));
53
+ else if (e.key === "End") e.preventDefault(), F(l(w, h));
54
+ else if (d(e, () => {
55
+ let e = w[L];
56
+ e && R(e);
57
+ })) return;
58
+ },
59
+ ...D,
60
+ className: s(e.uiPanel, "scrollable"),
61
+ children: w.map((t, n) => {
62
+ let r = b ? Array.isArray(I) && I.includes(t.value) : I === t.value, i = n === L;
63
+ return /* @__PURE__ */ m("li", {
64
+ id: `${A}-option-${n}`,
65
+ role: "option",
66
+ "aria-selected": r,
67
+ "aria-disabled": t.disabled || void 0,
68
+ onMouseDown: (e) => {
69
+ e.preventDefault(), !t.disabled && (F(n), R(t));
70
+ },
71
+ tabIndex: -1,
72
+ className: s(e.uiPopupOption, t.disabled && e.disabled, i && e.uiPopupOptionActive, r && e.selected),
73
+ children: [p(r ? f : "span", { className: e.uiPopupOptionIcon }), /* @__PURE__ */ p("div", { children: S ? S(t, r, i) : t.label ?? String(t.value) })]
74
+ }, C ? C(t, n) : n);
75
+ })
76
+ });
77
+ }
78
+ //#endregion
79
+ export { _ as t };
80
+
81
+ //# sourceMappingURL=Listbox-BZlp5qHz.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Listbox-BZlp5qHz.js","names":[],"sources":["../../src/listbox/Listbox.tsx"],"sourcesContent":["import { HTMLAttributes, JSX, KeyboardEvent, ReactNode, useEffect, useId, useLayoutEffect, useMemo, useRef, useState } from \"react\";\n\nimport {\n\tcn,\n\tfindFirstEnabledIndex,\n\tfindLastEnabledIndex,\n\tfindNextEnabledIndex,\n\thandleKeyboardActivation\n} from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { CheckIcon } from \"lucide-react\";\n\nimport uiStyles from \"../ui.module.scss\";\n\ntype ListboxOption<T> = {\n\tvalue: T;\n\tlabel?: string;\n\tdisabled?: boolean;\n};\n\ninterface ListboxBaseProps<T> extends Omit<HTMLAttributes<HTMLUListElement>, \"onChange\" | \"defaultValue\" | \"value\"> {\n\toptions: ListboxOption<T>[];\n\tfocusOnMount?: boolean;\n\trenderItem?: (option: ListboxOption<T>, selected: boolean, active: boolean) => ReactNode;\n\tgetKey?: (option: ListboxOption<T>, index: number) => string;\n}\n\n// Вариант для single-select\ninterface ListboxSingleProps<T> extends ListboxBaseProps<T> {\n\tmultiple?: false;\n\tvalue?: T;\n\tdefaultValue?: T;\n\tonChange?: (value: T, option: ListboxOption<T>) => void;\n}\n\n// Вариант для multi-select\ninterface ListboxMultiProps<T> extends ListboxBaseProps<T> {\n\tmultiple: true;\n\tvalue?: T[];\n\tdefaultValue?: T[];\n\tonChange?: (value: T[], option: ListboxOption<T>) => void;\n}\n\ntype ListboxProps<T> = ListboxSingleProps<T> | ListboxMultiProps<T>;\n\nconst isOptionDisabled = <T,>(option: ListboxOption<T>) => option.disabled === true;\n\nfunction getInitialFocusIndex<T>(options: ListboxOption<T>[], value: T | T[] | undefined, multiple: boolean | undefined) {\n\tif (multiple) {\n\t\tif (Array.isArray(value) && value.length > 0) {\n\t\t\tconst selectedIndex = options.findIndex((option) => value.includes(option.value) && !option.disabled);\n\t\t\tif (selectedIndex >= 0) {\n\t\t\t\treturn selectedIndex;\n\t\t\t}\n\t\t}\n\n\t\treturn findFirstEnabledIndex(options, isOptionDisabled);\n\t}\n\n\tif (value !== undefined) {\n\t\tconst selectedIndex = options.findIndex((option) => option.value === value && !option.disabled);\n\t\tif (selectedIndex >= 0) {\n\t\t\treturn selectedIndex;\n\t\t}\n\t}\n\n\treturn findFirstEnabledIndex(options, isOptionDisabled);\n}\n\n/**\n * Компонент выбора одного или нескольких элементов из списка. Поддерживает controlled API, поиск по данным и рендер кастомных опций.\n */\nexport function Listbox<T>(props: ListboxSingleProps<T>): JSX.Element;\nexport function Listbox<T>(props: ListboxMultiProps<T>): JSX.Element;\nexport function Listbox<T>(props: ListboxProps<T>): JSX.Element {\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tconst { value, defaultValue, multiple, focusOnMount, renderItem, getKey, options, onChange, id: externalId, ...rest } = props;\n\n\tconst isControlled = value !== undefined;\n\tconst autoId = useId();\n\tconst listId = externalId ?? `${autoId}-listbox`;\n\tconst [internalValue, setInternalValue] = useState<T | T[] | undefined>(defaultValue);\n\tconst listRef = useRef<HTMLUListElement>(null);\n\tconst [focusedIndex, setFocusedIndex] = useState(() => getInitialFocusIndex(options, value ?? defaultValue, multiple));\n\t// const [hoveredIndex, setHoveredIndex] = useState<number | null>(null);\n\n\tconst selectedValues = useMemo(\n\t\t() => (isControlled ? value : internalValue) ?? (multiple ? [] : null),\n\t\t[internalValue, isControlled, multiple, value]\n\t);\n\tconst activeIndex = /*hoveredIndex ??*/ focusedIndex;\n\n\tconst handleSelect = (option: ListboxOption<T>) => {\n\t\tif (option.disabled) return;\n\n\t\tlet newValue: T | T[];\n\t\tif (props.multiple) {\n\t\t\tconst arr = Array.isArray(selectedValues) ? selectedValues : [];\n\t\t\tnewValue = arr.includes(option.value) ? arr.filter((v) => v !== option.value) : [...arr, option.value];\n\n\t\t\tprops.onChange?.(newValue, option);\n\t\t} else {\n\t\t\tnewValue = option.value;\n\n\t\t\tprops.onChange?.(newValue, option);\n\t\t}\n\n\t\tif (!isControlled) setInternalValue(newValue);\n\t};\n\n\tconst handleKeyDown = (e: KeyboardEvent<HTMLUListElement>) => {\n\t\tif (e.key === \"ArrowDown\") {\n\t\t\te.preventDefault();\n\t\t\t// setHoveredIndex(null);\n\t\t\tsetFocusedIndex((index) => findNextEnabledIndex(options, index, 1, isOptionDisabled));\n\t\t} else if (e.key === \"ArrowUp\") {\n\t\t\te.preventDefault();\n\t\t\t// setHoveredIndex(null);\n\t\t\tsetFocusedIndex((index) => findNextEnabledIndex(options, index, -1, isOptionDisabled));\n\t\t} else if (e.key === \"Home\") {\n\t\t\te.preventDefault();\n\t\t\t// setHoveredIndex(null);\n\t\t\tsetFocusedIndex(findFirstEnabledIndex(options, isOptionDisabled));\n\t\t} else if (e.key === \"End\") {\n\t\t\te.preventDefault();\n\t\t\t// setHoveredIndex(null);\n\t\t\tsetFocusedIndex(findLastEnabledIndex(options, isOptionDisabled));\n\t\t} else if (\n\t\t\thandleKeyboardActivation(e, () => {\n\t\t\t\tconst activeOption = options[activeIndex];\n\t\t\t\tif (activeOption) {\n\t\t\t\t\thandleSelect(activeOption);\n\t\t\t\t}\n\t\t\t})\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tconst el = listRef.current?.querySelectorAll<HTMLElement>('[role=\"option\"]')[activeIndex];\n\t\tif (el) el.scrollIntoView({ block: \"nearest\" });\n\t}, [activeIndex]);\n\n\tuseLayoutEffect(() => {\n\t\tif (focusOnMount) {\n\t\t\tlistRef.current?.focus();\n\t\t}\n\t}, [focusOnMount]);\n\n\treturn (\n\t\t<ul\n\t\t\tref={listRef}\n\t\t\tid={listId}\n\t\t\trole=\"listbox\"\n\t\t\taria-multiselectable={multiple || undefined}\n\t\t\taria-activedescendant={activeIndex >= 0 ? `${listId}-option-${activeIndex}` : undefined}\n\t\t\ttabIndex={0}\n\t\t\t// onMouseLeave={() => setHoveredIndex(null)}\n\t\t\tonKeyDown={handleKeyDown}\n\t\t\t{...rest}\n\t\t\tclassName={cn(uiStyles.uiPanel, \"scrollable\")}>\n\t\t\t{options.map((option, index) => {\n\t\t\t\tconst selected = multiple\n\t\t\t\t\t? Array.isArray(selectedValues) && selectedValues.includes(option.value)\n\t\t\t\t\t: selectedValues === option.value;\n\t\t\t\tconst active = index === activeIndex;\n\n\t\t\t\treturn (\n\t\t\t\t\t<li\n\t\t\t\t\t\tkey={getKey ? getKey(option, index) : index}\n\t\t\t\t\t\tid={`${listId}-option-${index}`}\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\taria-selected={selected}\n\t\t\t\t\t\taria-disabled={option.disabled || undefined}\n\t\t\t\t\t\tonMouseDown={(e) => {\n\t\t\t\t\t\t\te.preventDefault(); // чтобы не сбрасывался фокус listbox\n\t\t\t\t\t\t\tif (option.disabled) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetFocusedIndex(index);\n\t\t\t\t\t\t\t// setHoveredIndex(index);\n\t\t\t\t\t\t\thandleSelect(option);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t// onMouseEnter={() => setHoveredIndex(index)}\n\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\tuiStyles.uiPopupOption,\n\t\t\t\t\t\t\toption.disabled && uiStyles.disabled,\n\t\t\t\t\t\t\tactive && uiStyles.uiPopupOptionActive,\n\t\t\t\t\t\t\tselected && uiStyles.selected\n\t\t\t\t\t\t)}>\n\t\t\t\t\t\t{selected ? (\n\t\t\t\t\t\t\t<CheckIcon className={uiStyles.uiPopupOptionIcon} />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span className={uiStyles.uiPopupOptionIcon}></span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<div /*className={uiStyles.uiOptionText}*/>\n\t\t\t\t\t\t\t{renderItem ? renderItem(option, selected, active) : (option.label ?? String(option.value))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t})}\n\t\t</ul>\n\t);\n}\n"],"mappings":"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"}