@ryuzaki13/react-foundation-ui 3.8.3 → 3.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. package/dist/base-table/index.js +1 -1
  2. package/dist/base-table/ui/BaseTable.d.ts +9 -1
  3. package/dist/base-table/ui/BaseTable.d.ts.map +1 -1
  4. package/dist/chunks/{TextEditorLexicalClient-U-sTxmCU.js → TextEditorLexicalClient-BQH41FFT.js} +2 -2
  5. package/dist/chunks/{TextEditorLexicalClient-U-sTxmCU.js.map → TextEditorLexicalClient-BQH41FFT.js.map} +1 -1
  6. package/dist/chunks/{base-table-BMesCx6H.js → base-table-CacTH3BE.js} +130 -112
  7. package/dist/chunks/base-table-CacTH3BE.js.map +1 -0
  8. package/dist/chunks/{context-menu-CrSXJxQL.js → context-menu-BV8636Ou.js} +2 -2
  9. package/dist/chunks/{context-menu-CrSXJxQL.js.map → context-menu-BV8636Ou.js.map} +1 -1
  10. package/dist/chunks/{date-input-CzCDou4s.js → date-input-B7iG9cA7.js} +2 -2
  11. package/dist/chunks/{date-input-CzCDou4s.js.map → date-input-B7iG9cA7.js.map} +1 -1
  12. package/dist/chunks/{input-CuRK9Vbz.js → input-KXI7o06g.js} +7 -7
  13. package/dist/chunks/input-KXI7o06g.js.map +1 -0
  14. package/dist/chunks/{input-files-B8j6Pb_M.js → input-files-CnBNlJo0.js} +2 -2
  15. package/dist/chunks/{input-files-B8j6Pb_M.js.map → input-files-CnBNlJo0.js.map} +1 -1
  16. package/dist/chunks/{picker-SJXnHwsj.js → picker-DagDe9OH.js} +17 -16
  17. package/dist/chunks/picker-DagDe9OH.js.map +1 -0
  18. package/dist/chunks/select-C-1U-ujV.js +368 -0
  19. package/dist/chunks/select-C-1U-ujV.js.map +1 -0
  20. package/dist/chunks/table-Cx__DvpN.js +154 -0
  21. package/dist/chunks/table-Cx__DvpN.js.map +1 -0
  22. package/dist/context-menu/index.js +1 -1
  23. package/dist/date-input/index.js +1 -1
  24. package/dist/date-time-input/index.js +1 -1
  25. package/dist/drop-zone/index.js +1 -1
  26. package/dist/image/index.js +2 -2
  27. package/dist/input/Input.d.ts +2 -2
  28. package/dist/input/Input.d.ts.map +1 -1
  29. package/dist/input/index.js +1 -1
  30. package/dist/input-date-time/index.js +1 -1
  31. package/dist/input-file/index.js +1 -1
  32. package/dist/input-files/index.js +1 -1
  33. package/dist/input-image/index.js +1 -1
  34. package/dist/input-search/index.js +1 -1
  35. package/dist/layout-picker/index.js +1 -1
  36. package/dist/listbox/index.js +1 -1
  37. package/dist/multi-select/index.js +171 -161
  38. package/dist/multi-select/index.js.map +1 -1
  39. package/dist/multi-select/ui/DeprecatedMultiSelect.d.ts +2 -0
  40. package/dist/multi-select/ui/DeprecatedMultiSelect.d.ts.map +1 -1
  41. package/dist/multi-select/ui/MultiSelect.d.ts +3 -0
  42. package/dist/multi-select/ui/MultiSelect.d.ts.map +1 -1
  43. package/dist/multi-select/ui/MultiSelectCore.d.ts +1 -1
  44. package/dist/multi-select/ui/MultiSelectCore.d.ts.map +1 -1
  45. package/dist/multi-select/ui/ODataDependentSegmentMultiSelect.d.ts.map +1 -1
  46. package/dist/multi-select/ui/ODataMultiSelect.d.ts +5 -2
  47. package/dist/multi-select/ui/ODataMultiSelect.d.ts.map +1 -1
  48. package/dist/multi-select/ui/SerializableMultiSelect.d.ts +3 -1
  49. package/dist/multi-select/ui/SerializableMultiSelect.d.ts.map +1 -1
  50. package/dist/odata-dependent/ODataDependentSegmentControlProps.d.ts +4 -0
  51. package/dist/odata-dependent/ODataDependentSegmentControlProps.d.ts.map +1 -1
  52. package/dist/period-select/PeriodSelect.d.ts +2 -0
  53. package/dist/period-select/PeriodSelect.d.ts.map +1 -1
  54. package/dist/period-select/index.js.map +1 -1
  55. package/dist/picker/PickerField.d.ts +1 -1
  56. package/dist/picker/PickerField.d.ts.map +1 -1
  57. package/dist/picker/PickerTriggerInput.d.ts.map +1 -1
  58. package/dist/picker/index.js +1 -1
  59. package/dist/picker/types.d.ts +2 -0
  60. package/dist/picker/types.d.ts.map +1 -1
  61. package/dist/preset-range-date-input/index.js +1 -1
  62. package/dist/preset-select/PresetSelect.d.ts +2 -0
  63. package/dist/preset-select/PresetSelect.d.ts.map +1 -1
  64. package/dist/preset-select/index.js +1 -1
  65. package/dist/preset-select/index.js.map +1 -1
  66. package/dist/select/ODataDependentSegmentSelect.d.ts.map +1 -1
  67. package/dist/select/ODataSelect.d.ts +3 -1
  68. package/dist/select/ODataSelect.d.ts.map +1 -1
  69. package/dist/select/Select.d.ts +3 -0
  70. package/dist/select/Select.d.ts.map +1 -1
  71. package/dist/select/SerializableSelect.d.ts +3 -1
  72. package/dist/select/SerializableSelect.d.ts.map +1 -1
  73. package/dist/select/index.js +1 -1
  74. package/dist/simple-table/index.js +1 -1
  75. package/dist/slider/index.js +2 -2
  76. package/dist/state-select/StateSelect.d.ts +3 -1
  77. package/dist/state-select/StateSelect.d.ts.map +1 -1
  78. package/dist/state-select/index.js +10 -8
  79. package/dist/state-select/index.js.map +1 -1
  80. package/dist/table/Table.d.ts +10 -1
  81. package/dist/table/Table.d.ts.map +1 -1
  82. package/dist/table/index.js +1 -1
  83. package/dist/table-editor/index.js +1 -1
  84. package/dist/table-sorting/index.js +1 -1
  85. package/dist/tag-input/index.js +1 -1
  86. package/dist/text-editor/index.js +1 -1
  87. package/dist/textarea/index.js +1 -1
  88. package/dist/tree-select/ODataTreeMultiSelect.d.ts +3 -1
  89. package/dist/tree-select/ODataTreeMultiSelect.d.ts.map +1 -1
  90. package/dist/tree-select/ODataTreeSelect.d.ts +3 -1
  91. package/dist/tree-select/ODataTreeSelect.d.ts.map +1 -1
  92. package/dist/tree-select/TreeMultiSelect.d.ts +4 -1
  93. package/dist/tree-select/TreeMultiSelect.d.ts.map +1 -1
  94. package/dist/tree-select/TreePickerBase.d.ts +3 -1
  95. package/dist/tree-select/TreePickerBase.d.ts.map +1 -1
  96. package/dist/tree-select/TreeSelect.d.ts +4 -1
  97. package/dist/tree-select/TreeSelect.d.ts.map +1 -1
  98. package/dist/tree-select/index.js +271 -259
  99. package/dist/tree-select/index.js.map +1 -1
  100. package/dist/tree-table/index.js +1 -1
  101. package/package.json +1 -1
  102. package/storybook-static/assets/{Badge-Exgo2liR.js → Badge-DxGi2POg.js} +1 -1
  103. package/storybook-static/assets/{Badge.stories-BSZPB2hP.js → Badge.stories-D6Em1fN8.js} +1 -1
  104. package/storybook-static/assets/{BadgeList-vXAflISJ.js → BadgeList-DemBuxUQ.js} +1 -1
  105. package/storybook-static/assets/{BarcodeScannerDialog.stories-B5JJTqxe.js → BarcodeScannerDialog.stories-Bxnb0wH3.js} +1 -1
  106. package/storybook-static/assets/{Button-W5ftYk1w.js → Button-9vGUTM3m.js} +1 -1
  107. package/storybook-static/assets/{Button-BzRtAjtM.js → Button-dlGIhkja.js} +1 -1
  108. package/storybook-static/assets/{Button.stories-DcuEJMqp.js → Button.stories-WOE1_ovM.js} +1 -1
  109. package/storybook-static/assets/{CalendarView-C8taheM_.js → CalendarView-Co2EiQf9.js} +1 -1
  110. package/storybook-static/assets/{CheckBox-Cahw6EU8.js → CheckBox-CwJshQX2.js} +1 -1
  111. package/storybook-static/assets/{CheckBox-C-EWY4_-.js → CheckBox-Dpg2QsvS.js} +1 -1
  112. package/storybook-static/assets/{CheckBox.stories-DL49eu_s.js → CheckBox.stories-K8wng7-q.js} +1 -1
  113. package/storybook-static/assets/{Color-6AOWCN3U-B0iuSBAP.js → Color-6AOWCN3U-D-64SqRn.js} +1 -1
  114. package/storybook-static/assets/{ContextMenu-k1Mubm6h.js → ContextMenu-C1zzFMni.js} +1 -1
  115. package/storybook-static/assets/{ContextMenu-DqLKk-wW.js → ContextMenu-DbmUWR4I.js} +1 -1
  116. package/storybook-static/assets/{ContextMenu.stories-CNnrfTxO.js → ContextMenu.stories-D0tclMo1.js} +1 -1
  117. package/storybook-static/assets/{DateInput-CgBBiqYK.js → DateInput-BDxg1E80.js} +1 -1
  118. package/storybook-static/assets/{DateInput-NSuuc0Vu.js → DateInput-DxpENevn.js} +1 -1
  119. package/storybook-static/assets/{DateInput.stories-eWY9Pqwp.js → DateInput.stories-De_AOkrK.js} +1 -1
  120. package/storybook-static/assets/{DateRangePresetSelect-Ch6rsktY.js → DateRangePresetSelect-CD7jNInU.js} +1 -1
  121. package/storybook-static/assets/{DateRangePresetSelect-DibXoV_U.js → DateRangePresetSelect-CD8qu2LL.js} +1 -1
  122. package/storybook-static/assets/{DateRangePresetSelect.stories-B8yndfPd.js → DateRangePresetSelect.stories-phHkk3Q1.js} +1 -1
  123. package/storybook-static/assets/{DeprecatedMultiSelect-1K4GSVRr.js → DeprecatedMultiSelect-B4VEjiTj.js} +1 -1
  124. package/storybook-static/assets/{DeprecatedMultiSelect-D8BCr3qw.js → DeprecatedMultiSelect-Bdv505U3.js} +1 -1
  125. package/storybook-static/assets/{DeprecatedMultiSelect.stories-DH7fIprL.js → DeprecatedMultiSelect.stories-DdPzDJjx.js} +1 -1
  126. package/storybook-static/assets/{Detail-CzQ7DLhL.js → Detail-BoazSWw_.js} +1 -1
  127. package/storybook-static/assets/{Detail.stories-DzmSAGkt.js → Detail.stories-Cc9fEkdx.js} +1 -1
  128. package/storybook-static/assets/{Dialog-Cm7gLcJI.js → Dialog-VJ62BLtp.js} +1 -1
  129. package/storybook-static/assets/{Dialog-DEDDnDtQ.js → Dialog-ieE9mpAU.js} +1 -1
  130. package/storybook-static/assets/{Dialog.stories-BzvBjaiX.js → Dialog.stories-CUyAMGoD.js} +1 -1
  131. package/storybook-static/assets/{Disclosure-Bpji7KuP.js → Disclosure-BP8VhRCA.js} +1 -1
  132. package/storybook-static/assets/{Disclosure.stories-Bwuzf5fl.js → Disclosure.stories-DwIo-o1J.js} +1 -1
  133. package/storybook-static/assets/{DisclosureGroup-bCpsF5YE.js → DisclosureGroup-LjgDW-Z6.js} +1 -1
  134. package/storybook-static/assets/{DocsRenderer-JROSPFPF-DQRIOLjc.js → DocsRenderer-JROSPFPF-BjRaiNDG.js} +1 -1
  135. package/storybook-static/assets/{DropZone-Diu_Hlgs.js → DropZone-BMT4jv2L.js} +1 -1
  136. package/storybook-static/assets/{DropZone-qvCLdJmm.js → DropZone-Dg3GZxY8.js} +1 -1
  137. package/storybook-static/assets/{DropZone.stories-DHgexefI.js → DropZone.stories-szOGIPHx.js} +1 -1
  138. package/storybook-static/assets/{DropdownMenu-Bl2IPF3Q.js → DropdownMenu-B0EI5ePH.js} +1 -1
  139. package/storybook-static/assets/{ExpandableActionPanel-B3iQGrX8.js → ExpandableActionPanel-D_qy2JID.js} +1 -1
  140. package/storybook-static/assets/{ExpandableActionPanel.stories-DRnMPxSP.js → ExpandableActionPanel.stories-wdmlBDmK.js} +1 -1
  141. package/storybook-static/assets/{Flex-CrWmRoxc.js → Flex-DYXuexPG.js} +1 -1
  142. package/storybook-static/assets/{Flex.stories-Db20If9k.js → Flex.stories-DH1BReS-.js} +1 -1
  143. package/storybook-static/assets/{FlexContainer-YYPiKtpT.js → FlexContainer-DO3X5f_1.js} +1 -1
  144. package/storybook-static/assets/{FlexItem-CXY6tvoB.js → FlexItem-BE_4juAd.js} +1 -1
  145. package/storybook-static/assets/{FloatingPopover-DSRofmW2.js → FloatingPopover-DHxMCBdS.js} +1 -1
  146. package/storybook-static/assets/FormattedTableCell-BfEiCYOi.js +15 -0
  147. package/storybook-static/assets/{Grid-CUmJniwF.js → Grid-0NnWfTJ7.js} +1 -1
  148. package/storybook-static/assets/{Grid-Ad2q9giD.js → Grid-ChS0GzNg.js} +1 -1
  149. package/storybook-static/assets/{Grid.stories-CsohhjMJ.js → Grid.stories-ClZzgSfZ.js} +1 -1
  150. package/storybook-static/assets/{GridContainer-DfZnU_h-.js → GridContainer-BHSfIiml.js} +1 -1
  151. package/storybook-static/assets/{ImageCropper.stories-Bdg7E1B6.js → ImageCropper.stories-Cf5ogf7p.js} +1 -1
  152. package/storybook-static/assets/{ImageRenderer-DEsg7Nf5.js → ImageRenderer-CsN1-IP6.js} +1 -1
  153. package/storybook-static/assets/{ImageRenderer.stories-C2uPYFbK.js → ImageRenderer.stories-DIC-UR-l.js} +1 -1
  154. package/storybook-static/assets/{ImageView.stories-qFIo_3jG.js → ImageView.stories-DT6QZR-1.js} +1 -1
  155. package/storybook-static/assets/{ImageViewer.stories-D6RoxWRG.js → ImageViewer.stories-DxpCKbpk.js} +2 -2
  156. package/storybook-static/assets/{ImageViewerRuntime-DEVRfnpp.js → ImageViewerRuntime-COhNh4_y.js} +1 -1
  157. package/storybook-static/assets/{Input-CXSVW4qb.js → Input-BJ3sPHt1.js} +1 -1
  158. package/storybook-static/assets/Input-D2eqioLp.js +3 -0
  159. package/storybook-static/assets/{Input.stories-CKUo8mda.js → Input.stories-MtAx6H2F.js} +1 -1
  160. package/storybook-static/assets/{InputDateTime-CBgevl2k.js → InputDateTime-CNNqhoo6.js} +1 -1
  161. package/storybook-static/assets/{InputDateTime.stories-Dc_yRirT.js → InputDateTime.stories-DT3CvxRy.js} +1 -1
  162. package/storybook-static/assets/{InputFile-BX9qIipq.js → InputFile-DiI_0QV5.js} +1 -1
  163. package/storybook-static/assets/{InputFile-VkGuvstd.js → InputFile-RfdomZEH.js} +1 -1
  164. package/storybook-static/assets/{InputFile.stories-VernHNAn.js → InputFile.stories-CiqGBnkS.js} +1 -1
  165. package/storybook-static/assets/{InputFiles-CRFuNd-6.js → InputFiles-CBrPDNlV.js} +1 -1
  166. package/storybook-static/assets/{InputFiles-BpSb2G11.js → InputFiles-CgyVXpI1.js} +1 -1
  167. package/storybook-static/assets/{InputFiles.stories-CfrGV2lA.js → InputFiles.stories-QHNxJjiV.js} +1 -1
  168. package/storybook-static/assets/{InputFilesList-BoL4jQmC.js → InputFilesList-BEIBTAEK.js} +1 -1
  169. package/storybook-static/assets/{InputImage-BKfXCZHx.js → InputImage-BBJr8TWl.js} +1 -1
  170. package/storybook-static/assets/{InputImage-BcUm7aKp.js → InputImage-vXbhnE46.js} +1 -1
  171. package/storybook-static/assets/{InputImage.stories-l1xnaTXn.js → InputImage.stories-VoVU0QZB.js} +1 -1
  172. package/storybook-static/assets/{InteractiveComponents-DKix-b3k.js → InteractiveComponents-CjkX3vU6.js} +5 -5
  173. package/storybook-static/assets/{InteractiveComponents.stories-CK118Tbj.js → InteractiveComponents.stories-Gc_Ju4xJ.js} +1 -1
  174. package/storybook-static/assets/{LayoutPicker-Ca57uusp.js → LayoutPicker-DwpDr_Is.js} +1 -1
  175. package/storybook-static/assets/{LayoutPicker-BqI2-D2r.js → LayoutPicker-ONnrtLDR.js} +1 -1
  176. package/storybook-static/assets/{LayoutPicker.stories-BDRBBnj-.js → LayoutPicker.stories-B-HIq6DD.js} +1 -1
  177. package/storybook-static/assets/{Listbox-lrvI9Fx9.js → Listbox-DoF5nZIP.js} +1 -1
  178. package/storybook-static/assets/{Listbox-D_Qgzkw1.js → Listbox-XIi0yHgl.js} +1 -1
  179. package/storybook-static/assets/{Listbox.stories-Djb1uju9.js → Listbox.stories-DT8FJQ3z.js} +1 -1
  180. package/storybook-static/assets/{Modal-CLZFIZH2.js → Modal-C3F4r2UA.js} +1 -1
  181. package/storybook-static/assets/{Modal-BpqYaQXu.js → Modal-Ml7EuSvu.js} +1 -1
  182. package/storybook-static/assets/{Modal.stories-DNpMq9oL.js → Modal.stories-DRwnYxst.js} +1 -1
  183. package/storybook-static/assets/{ModalManagerProvider-DMlNCo5h.js → ModalManagerProvider-CmqdB_ni.js} +1 -1
  184. package/storybook-static/assets/MultiSelect-B1QokJ3C.js +79 -0
  185. package/storybook-static/assets/{MultiSelect-C593f3VV.js → MultiSelect-CAg-L0dM.js} +1 -1
  186. package/storybook-static/assets/MultiSelect.stories-Dfh2Lp0N.js +81 -0
  187. package/storybook-static/assets/MultiSelectCore-GRGtCBO1.js +3 -0
  188. package/storybook-static/assets/{NoData-Bvl_1jH4.js → NoData-BZhNhaYV.js} +1 -1
  189. package/storybook-static/assets/{NotificationsHost-CdPm_hcB.js → NotificationsHost-BUPLrDM3.js} +1 -1
  190. package/storybook-static/assets/{NotificationsHost.stories-Bo_dwZZe.js → NotificationsHost.stories-CKbR-_nq.js} +1 -1
  191. package/storybook-static/assets/{ODataMultiSelect-BVlJ8U90.js → ODataMultiSelect-CDW0B1az.js} +1 -1
  192. package/storybook-static/assets/{ODataMultiSelect.stories-CqHpctYU.js → ODataMultiSelect.stories-BbKrxs7t.js} +1 -1
  193. package/storybook-static/assets/{ODataSelect-BCl-z6Sg.js → ODataSelect-C5G0dCnn.js} +1 -1
  194. package/storybook-static/assets/ODataSelect.stories-DcX50cyD.js +148 -0
  195. package/storybook-static/assets/{ODataTreeMultiSelect-1CrmEPOx.js → ODataTreeMultiSelect-4mTjhnlJ.js} +1 -1
  196. package/storybook-static/assets/{ODataTreeMultiSelect.stories-B2YMNMyr.js → ODataTreeMultiSelect.stories-B-4UUg5l.js} +1 -1
  197. package/storybook-static/assets/{ODataTreeSelect-BqP9H4QH.js → ODataTreeSelect-D-wcx2OH.js} +1 -1
  198. package/storybook-static/assets/{ODataTreeSelect.stories-x_GCdGW8.js → ODataTreeSelect.stories-uB_sG4ga.js} +1 -1
  199. package/storybook-static/assets/{OneStepScroller-B1H-Yg0P.js → OneStepScroller-DQI5POnJ.js} +1 -1
  200. package/storybook-static/assets/{Option-ChGr-plg.js → Option-CrEWqsFF.js} +1 -1
  201. package/storybook-static/assets/{OptionButton-D6mT04a1.js → OptionButton-BEQ2oSPf.js} +1 -1
  202. package/storybook-static/assets/{OptionContent-CXc6K3fK.js → OptionContent-C8S7IjI3.js} +1 -1
  203. package/storybook-static/assets/{OptionContentContainer-D0p7mbft.js → OptionContentContainer-ljQts_jY.js} +1 -1
  204. package/storybook-static/assets/{PeriodSelect-Bm9WdjpG.js → PeriodSelect-BTdDU06N.js} +1 -1
  205. package/storybook-static/assets/{PeriodSelect-CpnYgcOA.js → PeriodSelect-DuqatGdk.js} +1 -1
  206. package/storybook-static/assets/{PeriodSelect.stories-4Im6GLjq.js → PeriodSelect.stories-CX4DSFJG.js} +1 -1
  207. package/storybook-static/assets/PickerField-Cgcm-Y5T.js +1 -0
  208. package/storybook-static/assets/{PickerTriggerActions-BCupttoF.js → PickerTriggerActions-DWe2uX0K.js} +1 -1
  209. package/storybook-static/assets/{Popover-CbgP8DJy.js → Popover-0QfSvwRS.js} +1 -1
  210. package/storybook-static/assets/{Popover-CCHTXorF.js → Popover-C55I0GTn.js} +1 -1
  211. package/storybook-static/assets/{Popover.stories-zZ2fYcQb.js → Popover.stories-Bgjomdgb.js} +1 -1
  212. package/storybook-static/assets/{PresetRangeDateInput-D-Xf5CL3.js → PresetRangeDateInput-C-vQa5BZ.js} +1 -1
  213. package/storybook-static/assets/{PresetRangeDateInput-cmWbFoHz.js → PresetRangeDateInput-Cai5fvRb.js} +1 -1
  214. package/storybook-static/assets/{PresetRangeDateInput.stories-C3VxU77P.js → PresetRangeDateInput.stories-CWtIukRG.js} +1 -1
  215. package/storybook-static/assets/{PresetSelect-BmTJNeUt.js → PresetSelect-HqtmoRLb.js} +2 -2
  216. package/storybook-static/assets/{README-DVPc9Io_.js → README-2lBx3R6g.js} +1 -1
  217. package/storybook-static/assets/{README-CXLnU8PY.js → README-B1IMnjhg.js} +1 -1
  218. package/storybook-static/assets/{README-Cu9QJjVK.js → README-B41_J33v.js} +1 -1
  219. package/storybook-static/assets/{README-Iwf47F8s.js → README-B5Lc1yT4.js} +1 -1
  220. package/storybook-static/assets/{README-Dv4LnFqu.js → README-B5wBU6mA.js} +1 -1
  221. package/storybook-static/assets/{README-DFF21yas.js → README-B8RrtmaZ.js} +1 -1
  222. package/storybook-static/assets/{README-T35eDlrl.js → README-BEypAdTE.js} +1 -1
  223. package/storybook-static/assets/{README-BRE26E-6.js → README-BFjx8Jxa.js} +1 -1
  224. package/storybook-static/assets/{README-UcG-T3oc.js → README-BHrzFd3i.js} +1 -1
  225. package/storybook-static/assets/{README-C_zVigpw.js → README-BNLmyDfy.js} +1 -1
  226. package/storybook-static/assets/{README-zF7TglyH.js → README-BRJHDPaP.js} +1 -1
  227. package/storybook-static/assets/{README-3VGZSgWz.js → README-BTk3TSh8.js} +1 -1
  228. package/storybook-static/assets/{README-CaZGDS4o.js → README-BUKlvu1v.js} +1 -1
  229. package/storybook-static/assets/{README-BW8ukk_3.js → README-BgbNoj4_.js} +1 -1
  230. package/storybook-static/assets/{README-DcMAIy3x.js → README-BhvWyeL_.js} +1 -1
  231. package/storybook-static/assets/{README-BZW-Ku8G.js → README-Bk6x-7we.js} +1 -1
  232. package/storybook-static/assets/{README-BcSaq4c4.js → README-BkFTTVE2.js} +1 -1
  233. package/storybook-static/assets/{README-IkL3xuvr.js → README-Bl1rJEQE.js} +1 -1
  234. package/storybook-static/assets/{README-jg6CIybs.js → README-BqMpFJKP.js} +1 -1
  235. package/storybook-static/assets/{README-BsvaCxyJ.js → README-Brd9di5k.js} +1 -1
  236. package/storybook-static/assets/{README-Bl2m1JMK.js → README-BzIE9gSk.js} +1 -1
  237. package/storybook-static/assets/{README-DEOe-D4O.js → README-C1BajdmC.js} +1 -1
  238. package/storybook-static/assets/{README-DXajBW2j.js → README-C2xdMez4.js} +1 -1
  239. package/storybook-static/assets/{README-CZciBX1A.js → README-C6ryhIOV.js} +1 -1
  240. package/storybook-static/assets/{README-vCy3YlCq.js → README-C702dbsS.js} +1 -1
  241. package/storybook-static/assets/{README-DkgiAGPo.js → README-C8oftQ5c.js} +1 -1
  242. package/storybook-static/assets/{README-Bfp-2y9L.js → README-CM5yZ6jf.js} +1 -1
  243. package/storybook-static/assets/{README-B3bdpv3F.js → README-CUUPvXQd.js} +1 -1
  244. package/storybook-static/assets/{README-B_TP46xP.js → README-CdMmAh_G.js} +1 -1
  245. package/storybook-static/assets/{README-BfbEWAVW.js → README-CdnQbIDn.js} +1 -1
  246. package/storybook-static/assets/{README-D7IHIZJQ.js → README-ClH6EKpO.js} +1 -1
  247. package/storybook-static/assets/{README-5uy1ulgc.js → README-CxEn3Q3j.js} +1 -1
  248. package/storybook-static/assets/{README-CLTYPp6T.js → README-CxMmicr4.js} +1 -1
  249. package/storybook-static/assets/{README-DnkVTJ7s.js → README-CxsbsDff.js} +1 -1
  250. package/storybook-static/assets/{README-BiyBf-O3.js → README-DAozVWEl.js} +1 -1
  251. package/storybook-static/assets/{README-BkJ_PjJk.js → README-DBpH2nf1.js} +1 -1
  252. package/storybook-static/assets/{README-HRwASuVm.js → README-DF3qw7Jo.js} +1 -1
  253. package/storybook-static/assets/{README-BeMdGWkW.js → README-DFGUcAOx.js} +1 -1
  254. package/storybook-static/assets/{README-EmDsFxzc.js → README-DUShQLyj.js} +1 -1
  255. package/storybook-static/assets/{README-CnX5IOsQ.js → README-DfVaZ9rz.js} +1 -1
  256. package/storybook-static/assets/{README-DEtA9vXg.js → README-DitsKP8x.js} +1 -1
  257. package/storybook-static/assets/{README-CwqRXSIJ.js → README-Dk7syFq-.js} +1 -1
  258. package/storybook-static/assets/{README-BC4nu9of.js → README-DlBBM40-.js} +1 -1
  259. package/storybook-static/assets/{README-CjwMWiHf.js → README-DycS0KDV.js} +1 -1
  260. package/storybook-static/assets/{README-BMXu-jQk.js → README-QWeHqOh2.js} +1 -1
  261. package/storybook-static/assets/{README-xMu2rAZ4.js → README-QZrJnhYv.js} +1 -1
  262. package/storybook-static/assets/{README-k2-wWcjY.js → README-RGQ7HMZR.js} +1 -1
  263. package/storybook-static/assets/{README-B7kN5fdq.js → README-SafL9Bz5.js} +1 -1
  264. package/storybook-static/assets/{README-lHhj1ioe.js → README-UC0a4Wh9.js} +1 -1
  265. package/storybook-static/assets/{README-C4vu077M.js → README-_K214jGV.js} +1 -1
  266. package/storybook-static/assets/{README-Bf9aqOSG.js → README-eRuOqnaA.js} +1 -1
  267. package/storybook-static/assets/{README-DLtEU6xV.js → README-kvlO41U2.js} +1 -1
  268. package/storybook-static/assets/{README-Bc63jJ_g.js → README-mxJzt2Xo.js} +1 -1
  269. package/storybook-static/assets/{RadioButton-Cy_jQtud.js → RadioButton-BKsBk3--.js} +1 -1
  270. package/storybook-static/assets/{RadioButton-BBfQWcy3.js → RadioButton-CsM-RT0A.js} +1 -1
  271. package/storybook-static/assets/{RadioButton.stories-9V4bon68.js → RadioButton.stories-D5PGiHj5.js} +1 -1
  272. package/storybook-static/assets/{RadioGroup-TwFpisuE.js → RadioGroup-B3bLu8Qg.js} +1 -1
  273. package/storybook-static/assets/{RadioGroup-BndgLwX8.js → RadioGroup-BZY_jeje.js} +1 -1
  274. package/storybook-static/assets/{RadioGroup.stories-DJLxesgz.js → RadioGroup.stories-DMfcZFp0.js} +1 -1
  275. package/storybook-static/assets/{Scrollable-DtB02dAG.js → Scrollable-DLyQwImF.js} +1 -1
  276. package/storybook-static/assets/{Scrollable-pBI6H_we.js → Scrollable-DdXQmkMU.js} +1 -1
  277. package/storybook-static/assets/{Scrollable.stories-CahJ5rFA.js → Scrollable.stories-Du5joHAp.js} +1 -1
  278. package/storybook-static/assets/Select-8PYQeQRR.js +66 -0
  279. package/storybook-static/assets/Select-CT_wwcDN.js +12 -0
  280. package/storybook-static/assets/Select.stories-DIqia2Hb.js +86 -0
  281. package/storybook-static/assets/{Separator-BdOz35ux.js → Separator-CelBAATq.js} +1 -1
  282. package/storybook-static/assets/{Separator-BQlVHMcy.js → Separator-DJ93-Cvq.js} +1 -1
  283. package/storybook-static/assets/{Separator.stories-DRmR0Kda.js → Separator.stories-DBEDpiqL.js} +1 -1
  284. package/storybook-static/assets/{SerializableSelect-ClSz_VvD.js → SerializableSelect-C-00d6wC.js} +1 -1
  285. package/storybook-static/assets/SerializableSelect.stories-CP7fJBNa.js +73 -0
  286. package/storybook-static/assets/{ShimmerText-CuhrU7uk.js → ShimmerText-qA7CslLE.js} +1 -1
  287. package/storybook-static/assets/{ShimmerText.stories-Djb6DvbN.js → ShimmerText.stories-CiGIbhCm.js} +1 -1
  288. package/storybook-static/assets/{SingleDateTimeInput-hC1Ft3qs.js → SingleDateTimeInput-B7tnYWQl.js} +1 -1
  289. package/storybook-static/assets/{SingleDateTimeInput-C4jzvJ05.js → SingleDateTimeInput-DJ2vRS9H.js} +1 -1
  290. package/storybook-static/assets/{SingleDateTimeInput.stories-D-HmSpnz.js → SingleDateTimeInput.stories-BK59HKLf.js} +1 -1
  291. package/storybook-static/assets/{Slider-u0qKNrgI.js → Slider-CXcIxUE3.js} +1 -1
  292. package/storybook-static/assets/{Slider-WLUfmHyw.js → Slider-Cm6kd77G.js} +1 -1
  293. package/storybook-static/assets/{Slider.stories-CX8fS5Ax.js → Slider.stories-BuhFWvUX.js} +1 -1
  294. package/storybook-static/assets/{SliderInput-BEirf0Ys.js → SliderInput-DI2h4X8P.js} +1 -1
  295. package/storybook-static/assets/{SliderInput-ibTyal5l.js → SliderInput-DpmYS5Zb.js} +1 -1
  296. package/storybook-static/assets/{SliderInput.stories-xuycnRN_.js → SliderInput.stories-CLdLS0_8.js} +1 -1
  297. package/storybook-static/assets/{Sortable-p0kUHa8E.js → Sortable-CpjAZLxn.js} +1 -1
  298. package/storybook-static/assets/{Sortable.stories-BdCtmfnr.js → Sortable.stories-Ck2MHBoR.js} +1 -1
  299. package/storybook-static/assets/{Splitter-BzAg1cZ0.js → Splitter-Cpk_5dTf.js} +1 -1
  300. package/storybook-static/assets/{Splitter.stories-C5zZ4lHf.js → Splitter.stories-BIf9NNWq.js} +1 -1
  301. package/storybook-static/assets/{StateSelect-CyjHfKNv.js → StateSelect-BznE9WIu.js} +1 -1
  302. package/storybook-static/assets/StateSelect-C5tnrhWT.js +4 -0
  303. package/storybook-static/assets/{StateSelect.stories-D94g21N9.js → StateSelect.stories-DLvSnAcF.js} +1 -1
  304. package/storybook-static/assets/{StatusIndicator-ylfiroPh.js → StatusIndicator-vJAPPq2m.js} +1 -1
  305. package/storybook-static/assets/{StatusIndicator.stories-BB7y4KGW.js → StatusIndicator.stories-B7PGK2_C.js} +1 -1
  306. package/storybook-static/assets/{StringToggle.stories-BwuTZAGa.js → StringToggle.stories-DBpxJZL-.js} +1 -1
  307. package/storybook-static/assets/{Switch-BXWiUOXs.js → Switch-BkTvYjyQ.js} +1 -1
  308. package/storybook-static/assets/{Switch-DRLWRp0P.js → Switch-DlRrk6o7.js} +1 -1
  309. package/storybook-static/assets/{Switch.stories-taC_bi5a.js → Switch.stories-BtctkC2W.js} +1 -1
  310. package/storybook-static/assets/Table-xOdM6spm.js +219 -0
  311. package/storybook-static/assets/Table.stories-FORIU5CX.js +184 -0
  312. package/storybook-static/assets/{TableEditor.stories-CG0ULNok.js → TableEditor.stories-GU46gl20.js} +1 -1
  313. package/storybook-static/assets/{Tabs-BYp06IN2.js → Tabs-Cg_IYAXs.js} +1 -1
  314. package/storybook-static/assets/{Tabs.stories-BCkUYsqs.js → Tabs.stories-2cS0B94o.js} +1 -1
  315. package/storybook-static/assets/{TabsBox-DBm2a1iA.js → TabsBox-Dz3AsaoR.js} +1 -1
  316. package/storybook-static/assets/{TagInput-D9gedxBU.js → TagInput-CCTgbRhQ.js} +1 -1
  317. package/storybook-static/assets/{TagInput.stories-6eOGQ16t.js → TagInput.stories-CevhCeXY.js} +1 -1
  318. package/storybook-static/assets/{Text-CcgH9LXI.js → Text-CDCeYwIB.js} +1 -1
  319. package/storybook-static/assets/{Textarea-DXOTj2Y7.js → Textarea-Ba4MyNoY.js} +1 -1
  320. package/storybook-static/assets/{Textarea-aGrLpQXu.js → Textarea-CNsrFSip.js} +1 -1
  321. package/storybook-static/assets/{Textarea.stories-BwqxG2lk.js → Textarea.stories-laVFWVXL.js} +1 -1
  322. package/storybook-static/assets/{TimePanel-DroAbbvD.js → TimePanel-Ddy67nzH.js} +1 -1
  323. package/storybook-static/assets/{TimePanel.stories-DgU6ia4A.js → TimePanel.stories-OLefy0XD.js} +1 -1
  324. package/storybook-static/assets/{Toggle-BUSzQ1ww.js → Toggle-BGbyfmSW.js} +1 -1
  325. package/storybook-static/assets/{Toggle-B7MbU9HB.js → Toggle-BlCBtQd1.js} +1 -1
  326. package/storybook-static/assets/{Toggle.stories-BYU9hS62.js → Toggle.stories-BjeTDL90.js} +1 -1
  327. package/storybook-static/assets/TreeMultiSelect-BJnAzsFO.js +1 -0
  328. package/storybook-static/assets/TreeMultiSelect-ZVSLdnCU.js +22 -0
  329. package/storybook-static/assets/TreeMultiSelect.stories-BJOtdIDe.js +68 -0
  330. package/storybook-static/assets/TreePickerBase-BQKfhufH.js +76 -0
  331. package/storybook-static/assets/TreeSelect-BSr4FMlq.js +1 -0
  332. package/storybook-static/assets/TreeSelect-DSHQjGD1.js +19 -0
  333. package/storybook-static/assets/TreeSelect.stories-GRcEv-kN.js +40 -0
  334. package/storybook-static/assets/{TreeTable-AIcYVdfl.js → TreeTable-CzmxD2ee.js} +1 -1
  335. package/storybook-static/assets/{TreeTable.stories-BKbbLMK7.js → TreeTable.stories-35ufhVh1.js} +1 -1
  336. package/storybook-static/assets/{array-D-_yMMUK-DnJ_b27D.js → array-D-_yMMUK-BBmW5vUr.js} +1 -1
  337. package/storybook-static/assets/{blocks-Bdsl8TP-.js → blocks-SX-KK9Lg.js} +3 -3
  338. package/storybook-static/assets/{check-DGqyuB4O.js → check-BYM7OgKl.js} +1 -1
  339. package/storybook-static/assets/{chevron-down-BykqjXRq.js → chevron-down-Mu7usNfR.js} +1 -1
  340. package/storybook-static/assets/{chevron-left-Z5uCO076.js → chevron-left-CiOR-CGA.js} +1 -1
  341. package/storybook-static/assets/{chevron-right-C8yfwmkk.js → chevron-right-5Rrk5UhO.js} +1 -1
  342. package/storybook-static/assets/{chunk-W22LQPXL-hfBk2z5K.js → chunk-W22LQPXL-Cj8Y9DHq.js} +1 -1
  343. package/storybook-static/assets/{circle-alert-C9sxb8DT.js → circle-alert-BXB7LSDS.js} +1 -1
  344. package/storybook-static/assets/{circle-check-BLrYJ_8h.js → circle-check-DrVuYn1Q.js} +1 -1
  345. package/storybook-static/assets/{components-xYnqEbBt.js → components-BEDJAYMp.js} +3 -3
  346. package/storybook-static/assets/{contextMenu-C-b4jBpY.js → contextMenu-BaB_e0Tl.js} +1 -1
  347. package/storybook-static/assets/{download-g1fk8W6J.js → download-W-Vr_TI7.js} +1 -1
  348. package/storybook-static/assets/{floating-ui.react-cCWtY5RA.js → floating-ui.react-BTEwHffF.js} +1 -1
  349. package/storybook-static/assets/{formatMultiSelectOptionCount-xGq1uM2H.js → formatMultiSelectOptionCount-BxXwE0wd.js} +1 -1
  350. package/storybook-static/assets/{formatters-DVE1YVNQ-YIdRxgw-.js → formatters-DVE1YVNQ-CJCkXjuI.js} +1 -1
  351. package/storybook-static/assets/{foundationApi-Ci5vPKh_.js → foundationApi-BcoJ1zeX.js} +1 -1
  352. package/storybook-static/assets/{foundationLib-DNlIsEyf.js → foundationLib-B2kQ07LT.js} +1 -1
  353. package/storybook-static/assets/{hooks-XqeLihmr.js → hooks-BgMXxXbY.js} +1 -1
  354. package/storybook-static/assets/{iframe-ltYEol2F.js → iframe-CU98mtpe.js} +3 -3
  355. package/storybook-static/assets/iframe-DaZCH1M-.js +1 -0
  356. package/storybook-static/assets/{info-CBSXRv7d.js → info-BhHmytIH.js} +1 -1
  357. package/storybook-static/assets/{odata-Dd_3_5NS.js → odata-yWIAioh9.js} +1 -1
  358. package/storybook-static/assets/{odataStoryFixtures-3lOfs9T6.js → odataStoryFixtures-CnZ_YrUb.js} +1 -1
  359. package/storybook-static/assets/{react-BxWB81Qy.js → react-C2mSveWL.js} +1 -1
  360. package/storybook-static/assets/{refresh-cw-FKHfW9eG.js → refresh-cw-D8_L8K4Y.js} +1 -1
  361. package/storybook-static/assets/{settings-2-Cz1PtqGa.js → settings-2-jWGaWGT0.js} +1 -1
  362. package/storybook-static/assets/{sortable-BelHSus7.js → sortable-BteEe6X0.js} +1 -1
  363. package/storybook-static/assets/{syntaxhighlighter-QEQV7K2Y-gGot_qSq.js → syntaxhighlighter-QEQV7K2Y-eEu1MRSg.js} +1 -1
  364. package/storybook-static/assets/{trash-2-BT2kW3r-.js → trash-2-CwmbYA8i.js} +1 -1
  365. package/storybook-static/assets/{triangle-alert-CPiJJHYc.js → triangle-alert-TRLt6Woa.js} +1 -1
  366. package/storybook-static/assets/{useODataSelectBase-bPN0T_Xm.js → useODataSelectBase-BxHmAh7D.js} +1 -1
  367. package/storybook-static/assets/{useODataTreeData-CIpE4LZu.js → useODataTreeData-dSt1HJsq.js} +1 -1
  368. package/storybook-static/assets/{usePickerDefaultFilter-ien2ZY7g.js → usePickerDefaultFilter-Djn1liy6.js} +1 -1
  369. package/storybook-static/assets/{usePickerQuery-OTz4Oze6.js → usePickerQuery-ByBt1NRd.js} +1 -1
  370. package/storybook-static/assets/{usePickerTriggerController-vNC5e_t0.js → usePickerTriggerController-CqdXiV2q.js} +2 -2
  371. package/storybook-static/assets/{x-BdAuXjBq.js → x-BPRzfyys.js} +1 -1
  372. package/storybook-static/iframe.html +2 -2
  373. package/storybook-static/index.json +1 -1
  374. package/storybook-static/project.json +1 -1
  375. package/dist/chunks/base-table-BMesCx6H.js.map +0 -1
  376. package/dist/chunks/input-CuRK9Vbz.js.map +0 -1
  377. package/dist/chunks/picker-SJXnHwsj.js.map +0 -1
  378. package/dist/chunks/select--oIrv7SC.js +0 -357
  379. package/dist/chunks/select--oIrv7SC.js.map +0 -1
  380. package/dist/chunks/table-OvvWkKfy.js +0 -141
  381. package/dist/chunks/table-OvvWkKfy.js.map +0 -1
  382. package/storybook-static/assets/FormattedTableCell-B-t0D2oX.js +0 -15
  383. package/storybook-static/assets/Input-b2F0zrLw.js +0 -3
  384. package/storybook-static/assets/MultiSelect-DmC3DaMc.js +0 -76
  385. package/storybook-static/assets/MultiSelect.stories-R6JTKnFI.js +0 -64
  386. package/storybook-static/assets/MultiSelectCore-BaRmQrD-.js +0 -3
  387. package/storybook-static/assets/ODataSelect.stories-Cm-Xkq40.js +0 -148
  388. package/storybook-static/assets/PickerField-w1JCZyzA.js +0 -1
  389. package/storybook-static/assets/Select-BOnv-Uuv.js +0 -63
  390. package/storybook-static/assets/Select-CClfxa48.js +0 -12
  391. package/storybook-static/assets/Select.stories-C0X5pvUk.js +0 -69
  392. package/storybook-static/assets/SerializableSelect.stories-DozN_Quy.js +0 -73
  393. package/storybook-static/assets/StateSelect-bHA1Vf6z.js +0 -4
  394. package/storybook-static/assets/Table-BYiIQfjA.js +0 -197
  395. package/storybook-static/assets/Table.stories-B9u81cAN.js +0 -178
  396. package/storybook-static/assets/TreeMultiSelect-BhFYUbr0.js +0 -1
  397. package/storybook-static/assets/TreeMultiSelect-CZIyMaIZ.js +0 -20
  398. package/storybook-static/assets/TreeMultiSelect.stories-DG_mdSkQ.js +0 -60
  399. package/storybook-static/assets/TreePickerBase-CbULuQpp.js +0 -76
  400. package/storybook-static/assets/TreeSelect-CMSolQHr.js +0 -17
  401. package/storybook-static/assets/TreeSelect-Cu1BsepL.js +0 -1
  402. package/storybook-static/assets/TreeSelect.stories-B2J0N4ke.js +0 -32
  403. package/storybook-static/assets/iframe-TsWsvoxA.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-C-1U-ujV.js","names":[],"sources":["../../src/select/lib/getOptionSearchText.ts","../../src/select/model/useODataSelect.ts","../../src/select/lib/createSelectOptionSections.ts","../../src/select/Select.tsx","../../src/select/SelectOptionContent.tsx","../../src/select/ODataSelect.tsx","../../src/select/ODataDependentSegmentSelect.tsx","../../src/select/SerializableSelect.tsx"],"sourcesContent":["import { ReactNode } from \"react\";\n\nimport { InputType } from \"@ryuzaki13/react-foundation-lib/types\";\n\nimport { extractPickerTextContent } from \"../../picker\";\nimport { type SelectOptionGroup } from \"../SelectOptionGroup\";\n\nexport function getOptionSearchText<T extends InputType>({\n\toption,\n\tgetOptionLabel,\n\tgetOptionCode,\n\tgetOptionGroup\n}: {\n\toption: T;\n\tgetOptionLabel: (option: T) => ReactNode;\n\tgetOptionCode?: (option: T) => ReactNode;\n\tgetOptionGroup?: (option: T) => SelectOptionGroup | undefined;\n}) {\n\treturn [\n\t\textractPickerTextContent(getOptionLabel(option)),\n\t\textractPickerTextContent(getOptionCode?.(option)),\n\t\textractPickerTextContent(getOptionGroup?.(option)?.label)\n\t]\n\t\t.filter((part): part is string => Boolean(part))\n\t\t.join(\" \")\n\t\t.toLowerCase();\n}\n\n/** Находит selected option по value и возвращает fallback, если значение еще не нормализовано. */\nexport function resolveSelectedOption<TOption extends { value: string }>(\n\toptions: readonly TOption[],\n\tvalue: string,\n\tfallback: TOption\n): TOption {\n\treturn options.find((option) => option.value === value) ?? fallback;\n}\n","import { useMemo } from \"react\";\n\nimport { ODataCollectionModel, ODataSingleSelectProps } from \"@ryuzaki13/react-foundation-api/odata\";\nimport { CollectionItem } from \"@ryuzaki13/react-foundation-lib/odata-service\";\n\nimport { useODataSelectBase } from \"./useODataSelectBase\";\n\ninterface UseODataSelectOptions extends Omit<ODataSingleSelectProps, \"model\"> {\n\tmodel: Required<ODataCollectionModel>;\n\tonChange: (value: string | undefined) => void;\n}\n\nexport function useODataSelect({ odata, segment, model, value, dependencies, onChange }: UseODataSelectOptions) {\n\tconst odataModel = useODataSelectBase({\n\t\todata,\n\t\tsegment,\n\t\tmodel,\n\t\tvalue: value ? [value] : [],\n\t\tdependencies\n\t});\n\n\tconst selectedItem = odataModel.selectedItems[0];\n\tconst options = useMemo(() => {\n\t\tif (!selectedItem) {\n\t\t\treturn odataModel.filteredItems;\n\t\t}\n\n\t\treturn [selectedItem, ...odataModel.filteredItems];\n\t}, [odataModel.filteredItems, selectedItem]);\n\n\tconst handleChange = (item: CollectionItem | undefined) => {\n\t\tonChange(item?.[odataModel.selectionKey]);\n\t};\n\n\treturn {\n\t\t...odataModel,\n\t\tselectedItem,\n\t\toptions,\n\t\thandleChange\n\t};\n}\n","import { type SelectOptionGroup } from \"../SelectOptionGroup\";\n\nexport type SelectOptionSectionItem<TOption> = {\n\treadonly option: TOption;\n\treadonly index: number;\n};\n\nexport type SelectOptionSection<TOption> = {\n\treadonly group: SelectOptionGroup | undefined;\n\treadonly items: readonly SelectOptionSectionItem<TOption>[];\n};\n\n/**\n * Собирает соседние опции с одинаковым group key в секции, сохраняя исходные индексы для клавиатурной навигации listbox.\n */\nexport function createSelectOptionSections<TOption>(\n\toptions: readonly TOption[],\n\tgetOptionGroup: (option: TOption) => SelectOptionGroup | undefined\n): readonly SelectOptionSection<TOption>[] {\n\tconst sections: Array<{ group: SelectOptionGroup | undefined; items: SelectOptionSectionItem<TOption>[] }> = [];\n\n\toptions.forEach((option, index) => {\n\t\tconst group = getOptionGroup(option);\n\t\tconst currentSection = sections.at(-1);\n\t\tconst belongsToCurrentSection = currentSection?.group?.key === group?.key;\n\n\t\tif (currentSection && belongsToCurrentSection) {\n\t\t\tcurrentSection.items.push({ option, index });\n\t\t\treturn;\n\t\t}\n\n\t\tsections.push({\n\t\t\tgroup,\n\t\t\titems: [{ option, index }]\n\t\t});\n\t});\n\n\treturn sections;\n}\n","import { type CSSProperties, Fragment, ReactNode, useCallback, useMemo, useRef, useState } from \"react\";\n\nimport { Placement } from \"@floating-ui/react\";\nimport { InputType } from \"@ryuzaki13/react-foundation-lib/types\";\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { CheckIcon } from \"lucide-react\";\n\nimport { Option, OptionContent } from \"../option\";\nimport { OptionContentContainer } from \"../option/OptionContentContainer\";\nimport {\n\textractPickerTextContent,\n\tPickerField,\n\tPickerPopup,\n\tPickerStatus,\n\tPickerTrigger,\n\tusePickerDefaultFilter,\n\tusePickerFloatingListbox,\n\tusePickerQuery,\n\tusePickerTriggerController\n} from \"../picker\";\nimport { ChangeHandler, UiBaseProps } from \"../types\";\nimport uiStyles from \"../ui.module.scss\";\n\nimport { getOptionSearchText } from \"./lib\";\nimport { createSelectOptionSections } from \"./lib/createSelectOptionSections\";\nimport { type SelectOptionGroup, type SelectOptionKey } from \"./SelectOptionGroup\";\n\nexport { type SelectOptionGroup, type SelectOptionKey } from \"./SelectOptionGroup\";\n\nexport type SelectOptionState = {\n\tactive: boolean;\n\tselected: boolean;\n\tdisabled: boolean;\n};\n\ntype SelectSharedProps<TOption extends InputType> = Omit<UiBaseProps<TOption, TOption | undefined>, \"onChange\"> & {\n\toptions: readonly TOption[];\n\tgetOptionKey: (option: TOption) => SelectOptionKey;\n\tgetOptionLabel: (option: TOption) => string;\n\tgetOptionCode?: (option: TOption) => string;\n\t/** Явный поисковый текст для опции с произвольным ReactNode-render. */\n\tgetOptionSearchText?: (option: TOption) => string | readonly string[];\n\tgetOptionDisabled?: (option: TOption) => boolean;\n\tgetOptionAriaLabel?: (option: TOption) => string;\n\tgetOptionGroup?: (option: TOption) => SelectOptionGroup | undefined;\n\tgetOptionClassName?: (option: TOption, state: SelectOptionState) => string | undefined;\n\trenderOption?: (option: TOption, state: SelectOptionState) => ReactNode;\n\trenderValue?: (option: TOption) => ReactNode;\n\tclassName?: string;\n\t/** Ошибка самого поля; состояние загрузки опций задаётся через errorState. */\n\terror?: string;\n\trequired?: boolean;\n\tbuttonClassName?: string;\n\toptionsClassName?: string;\n\toptionsMaxWidth?: CSSProperties[\"maxWidth\"];\n\toptionsContentClassName?: string;\n\tsearchable?: boolean;\n\tquery?: string;\n\tdefaultQuery?: string;\n\tonQuery?: (value: string) => void;\n\tdefaultFilter?: boolean;\n\tisLoading?: boolean;\n\trenderPopupHeader?: ReactNode;\n\temptyState?: ReactNode;\n\terrorState?: ReactNode;\n\tplacement?: Placement;\n};\n\ntype SelectChangeValue<TOption extends InputType, TClearable extends boolean | undefined> = true extends TClearable\n\t? TOption | undefined\n\t: TOption;\n\nexport type SelectProps<TOption extends InputType, TClearable extends boolean | undefined = false> = SelectSharedProps<TOption> & {\n\tclearable?: TClearable;\n\tonChange: ChangeHandler<SelectChangeValue<TOption, TClearable>>;\n};\n\n/**\n * Выпадающий список выбора значения из набора опций. Подходит для форм, фильтров и простых справочников.\n */\nexport function Select<TOption extends InputType, TClearable extends boolean | undefined = false>(props: SelectProps<TOption, TClearable>) {\n\tconst {\n\t\tlabel,\n\t\tdescription,\n\t\tdisabled,\n\t\tplaceholder,\n\t\tsize,\n\t\toptions,\n\t\tvalue,\n\t\tonChange,\n\t\tgetOptionKey,\n\t\tgetOptionLabel,\n\t\tgetOptionCode,\n\t\tgetOptionSearchText: getExplicitOptionSearchText,\n\t\tgetOptionDisabled,\n\t\tgetOptionAriaLabel,\n\t\tgetOptionGroup,\n\t\tgetOptionClassName,\n\t\trenderOption,\n\t\trenderValue,\n\t\tclassName,\n\t\terror,\n\t\trequired,\n\t\tbuttonClassName,\n\t\toptionsClassName,\n\t\toptionsMaxWidth,\n\t\toptionsContentClassName,\n\t\tsearchable = false,\n\t\tdefaultFilter = true,\n\t\tquery,\n\t\tdefaultQuery,\n\t\tonQuery,\n\t\trenderPopupHeader,\n\t\temptyState,\n\t\tisLoading,\n\t\terrorState,\n\t\tplacement = \"bottom-start\",\n\t\tclearable = false\n\t} = props;\n\tconst emitChange = onChange as ChangeHandler<TOption | undefined>;\n\n\tconst inputRef = useRef<HTMLInputElement | null>(null);\n\tconst [open, setOpen] = useState(false);\n\tconst triggerMode = searchable ? \"search-single\" : \"display\";\n\tconst selectedKey = value === undefined ? undefined : getOptionKey(value);\n\tconst selectedOption =\n\t\tselectedKey === undefined ? undefined : (options.find((option) => getOptionKey(option) === selectedKey) ?? value);\n\tconst {\n\t\tquery: currentQuery,\n\t\tsetQuery,\n\t\tresetQueryOnClose\n\t} = usePickerQuery({\n\t\tquery,\n\t\tdefaultQuery,\n\t\tonQuery,\n\t\ttriggerMode\n\t});\n\tconst handleOpenChange = (nextOpen: boolean) => {\n\t\tif (open && !nextOpen && resetQueryOnClose) {\n\t\t\tsetQuery(\"\");\n\t\t}\n\n\t\tsetOpen(nextOpen);\n\t};\n\tconst getSearchText = useCallback(\n\t\t(option: TOption) =>\n\t\t\tgetExplicitOptionSearchText?.(option) ??\n\t\t\tgetOptionSearchText({\n\t\t\t\toption,\n\t\t\t\tgetOptionLabel,\n\t\t\t\tgetOptionCode,\n\t\t\t\tgetOptionGroup\n\t\t\t}),\n\t\t[getExplicitOptionSearchText, getOptionCode, getOptionGroup, getOptionLabel]\n\t);\n\tconst visibleOptions = usePickerDefaultFilter({\n\t\toptions,\n\t\tquery: currentQuery,\n\t\tenabled: searchable && defaultFilter,\n\t\tgetSearchText\n\t});\n\tconst optionSections = useMemo(\n\t\t() => (getOptionGroup ? createSelectOptionSections(visibleOptions, getOptionGroup) : undefined),\n\t\t[getOptionGroup, visibleOptions]\n\t);\n\tconst selectedIndex = selectedKey === undefined ? -1 : visibleOptions.findIndex((option) => getOptionKey(option) === selectedKey);\n\tconst {\n\t\tactiveIndex,\n\t\tcontext,\n\t\tfloatingStyles,\n\t\tgetFloatingProps,\n\t\tsetReference,\n\t\tsetFloating,\n\t\tsetOptionRef,\n\t\tclose,\n\t\topenList,\n\t\ttoggleOpen,\n\t\tselectOption,\n\t\tselectActiveOption,\n\t\thandleReferenceKeyDown,\n\t\thandleFloatingKeyDown,\n\t\tgetOptionId,\n\t\tgetActiveOptionId\n\t} = usePickerFloatingListbox({\n\t\toptions: visibleOptions,\n\t\tselectedIndex,\n\t\topen,\n\t\tonOpenChange: handleOpenChange,\n\t\tgetOptionDisabled,\n\t\tonSelect: emitChange,\n\t\tdisabled,\n\t\tplacement,\n\t\ttriggerMode\n\t});\n\n\tconst hasOptions = visibleOptions.length > 0;\n\tconst labelContent = selectedOption !== undefined ? getOptionLabel(selectedOption) : undefined;\n\tconst displayContent = selectedOption !== undefined ? (renderValue ? renderValue(selectedOption) : labelContent) : undefined;\n\tconst labelText = extractPickerTextContent(labelContent);\n\tconst codeText = selectedOption !== undefined ? extractPickerTextContent(getOptionCode?.(selectedOption)) : undefined;\n\tconst displayText =\n\t\textractPickerTextContent(displayContent) ?? labelText ?? codeText ?? (selectedKey !== undefined ? String(selectedKey) : \"\");\n\tconst showSearchValue = searchable && (open || currentQuery.length > 0);\n\tconst inputValue = showSearchValue ? currentQuery : selectedOption !== undefined ? displayText : \"\";\n\tconst triggerController = usePickerTriggerController({\n\t\tmode: triggerMode,\n\t\topen,\n\t\tcurrentQuery,\n\t\thasDisplayValue: selectedOption !== undefined,\n\t\tinputRef,\n\t\tsetQuery,\n\t\topenList,\n\t\tclose,\n\t\ttoggleOpen\n\t});\n\tconst setInputNode = (node: HTMLInputElement | null) => {\n\t\tinputRef.current = node;\n\t};\n\tconst handleClear = () => {\n\t\tif (clearable) {\n\t\t\temitChange(undefined);\n\t\t}\n\n\t\tsetQuery(\"\");\n\t\tclose();\n\t};\n\tconst renderOptionNode = (listId: string, option: TOption, index: number) => {\n\t\tconst optionKey = getOptionKey(option);\n\t\tconst selected = selectedKey !== undefined && optionKey === selectedKey;\n\t\tconst active = index === activeIndex;\n\t\tconst optionDisabled = getOptionDisabled?.(option) ?? false;\n\t\tconst optionState = { active, selected, disabled: optionDisabled };\n\n\t\treturn (\n\t\t\t<Option\n\t\t\t\tkey={optionKey}\n\t\t\t\tid={getOptionId(listId, index)}\n\t\t\t\tref={(node) => setOptionRef(index, node)}\n\t\t\t\trole=\"option\"\n\t\t\t\taria-selected={selected}\n\t\t\t\taria-disabled={optionDisabled || undefined}\n\t\t\t\taria-label={getOptionAriaLabel?.(option)}\n\t\t\t\tactive={active}\n\t\t\t\tselected={selected}\n\t\t\t\tdisabled={optionDisabled}\n\t\t\t\tclassName={getOptionClassName?.(option, optionState)}\n\t\t\t\tonMouseDown={(event) => event.preventDefault()}\n\t\t\t\tonClick={() => selectOption(option)}>\n\t\t\t\t{renderOption ? (\n\t\t\t\t\t<OptionContentContainer>{renderOption(option, optionState)}</OptionContentContainer>\n\t\t\t\t) : (\n\t\t\t\t\t<OptionContentContainer>\n\t\t\t\t\t\t<OptionContent\n\t\t\t\t\t\t\ticon={selected ? <CheckIcon /> : <span />}\n\t\t\t\t\t\t\ttext={getOptionLabel(option)}\n\t\t\t\t\t\t\tcode={getOptionCode?.(option)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</OptionContentContainer>\n\t\t\t\t)}\n\t\t\t</Option>\n\t\t);\n\t};\n\n\treturn (\n\t\t<PickerField\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\trequired={required}>\n\t\t\t{({ controlId, labelId, describedBy }) => {\n\t\t\t\tconst listId = `${controlId}-listbox`;\n\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PickerTrigger\n\t\t\t\t\t\t\tref={setInputNode}\n\t\t\t\t\t\t\trootRef={setReference}\n\t\t\t\t\t\t\tid={controlId}\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\treadOnly={!searchable}\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\t\tisLoading={isLoading}\n\t\t\t\t\t\t\topen={open}\n\t\t\t\t\t\t\toptionCount={options.length}\n\t\t\t\t\t\t\tlabel={label}\n\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\tvalue={inputValue}\n\t\t\t\t\t\t\tselectedValue={displayContent ?? displayText}\n\t\t\t\t\t\t\thasSelection={selectedOption !== undefined}\n\t\t\t\t\t\t\tshowSelectedValue={false /*selectedOption !== undefined && !showSearchValue*/}\n\t\t\t\t\t\t\tclearable={Boolean(clearable)}\n\t\t\t\t\t\t\tonClear={handleClear}\n\t\t\t\t\t\t\tonToggleMouseDown={triggerController.handleToggleMouseDown}\n\t\t\t\t\t\t\tonToggleClick={triggerController.handleToggleClick}\n\t\t\t\t\t\t\taria-labelledby={labelId}\n\t\t\t\t\t\t\taria-describedby={describedBy}\n\t\t\t\t\t\t\taria-required={required || undefined}\n\t\t\t\t\t\t\taria-invalid={Boolean(error) || undefined}\n\t\t\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\t\t\taria-expanded={open}\n\t\t\t\t\t\t\taria-controls={open ? listId : undefined}\n\t\t\t\t\t\t\taria-autocomplete={searchable ? \"list\" : \"none\"}\n\t\t\t\t\t\t\taria-activedescendant={open ? getActiveOptionId(listId) : undefined}\n\t\t\t\t\t\t\tinputClassName={cn(buttonClassName, \"textOverflow\")}\n\t\t\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\t\t\tif (!searchable) {\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\ttriggerController.handleTriggerInputChange(event.target.value);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonClick={triggerController.handleTriggerClick}\n\t\t\t\t\t\t\tonFocus={(event) => {\n\t\t\t\t\t\t\t\ttriggerController.handleTriggerFocus(event.currentTarget);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonKeyDown={(event) => {\n\t\t\t\t\t\t\t\thandleReferenceKeyDown(event);\n\n\t\t\t\t\t\t\t\tif (event.defaultPrevented) {\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\ttriggerController.handleTriggerKeyDown({\n\t\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\t\tonActivateWhenOpen: selectActiveOption,\n\t\t\t\t\t\t\t\t\tenableSpaceActivation: !searchable\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<PickerPopup\n\t\t\t\t\t\t\topen={open}\n\t\t\t\t\t\t\tcontext={context}\n\t\t\t\t\t\t\tfloatingStyles={floatingStyles}\n\t\t\t\t\t\t\tlistId={listId}\n\t\t\t\t\t\t\tlabelId={labelId}\n\t\t\t\t\t\t\tdescriptionId={describedBy}\n\t\t\t\t\t\t\tactiveOptionId={hasOptions ? getActiveOptionId(listId) : undefined}\n\t\t\t\t\t\t\tsetFloating={setFloating}\n\t\t\t\t\t\t\tgetFloatingProps={getFloatingProps}\n\t\t\t\t\t\t\tonKeyDown={handleFloatingKeyDown}\n\t\t\t\t\t\t\tclassName={optionsClassName}\n\t\t\t\t\t\t\tmaxWidth={optionsMaxWidth}\n\t\t\t\t\t\t\ttoolbar={renderPopupHeader}>\n\t\t\t\t\t\t\t<div role=\"presentation\" className={cn(optionsContentClassName, \"h100 scrollable overscroll\")}>\n\t\t\t\t\t\t\t\t{hasOptions ? (\n\t\t\t\t\t\t\t\t\toptionSections ? (\n\t\t\t\t\t\t\t\t\t\toptionSections.map((section, sectionIndex) => {\n\t\t\t\t\t\t\t\t\t\t\tconst groupLabelId = section.group ? `${listId}-group-${sectionIndex}` : undefined;\n\t\t\t\t\t\t\t\t\t\t\tconst optionNodes = section.items.map(({ option, index }) =>\n\t\t\t\t\t\t\t\t\t\t\t\trenderOptionNode(listId, option, index)\n\t\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\t\treturn section.group ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={`group-${String(section.group.key)}-${sectionIndex}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\trole=\"group\"\n\t\t\t\t\t\t\t\t\t\t\t\t\taria-labelledby={groupLabelId}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div id={groupLabelId} className={uiStyles.uiPopupGroupLabel}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{section.group.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{optionNodes}\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t<Fragment key={`options-${sectionIndex}`}>{optionNodes}</Fragment>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\tvisibleOptions.map((option, index) => renderOptionNode(listId, option, index))\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<PickerStatus emptyState={emptyState} errorState={errorState} />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</PickerPopup>\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t}}\n\t\t</PickerField>\n\t);\n}\n","import { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport { OptionCode, OptionText } from \"../option\";\nimport { HighlightText } from \"../text\";\n\ninterface OptionContentProps {\n\tlabel: string;\n\tcode?: string;\n\thighlight?: string;\n\t/** Приватный визуальный modifier label для специализированного владельца option. */\n\tlabelClassName?: string;\n\t/** Отдельный modifier code, потому что code задаёт собственный variable-font weight. */\n\tcodeClassName?: string;\n}\n\n/**\n * Универсальный рендерер опции. Используется и в single-select, и в multi-select.\n */\nexport function SelectOptionContent({ label, code, highlight, labelClassName, codeClassName }: OptionContentProps) {\n\treturn (\n\t\t<>\n\t\t\t<OptionText className={cn(\"flexEllipsis\", labelClassName)}>\n\t\t\t\t<HighlightText text={label} highlight={highlight} />\n\t\t\t</OptionText>\n\t\t\t{code && (\n\t\t\t\t<OptionCode className={codeClassName}>\n\t\t\t\t\t<HighlightText text={code} highlight={highlight} />\n\t\t\t\t</OptionCode>\n\t\t\t)}\n\t\t</>\n\t);\n}\n","import { ODataSingleSelectProps, useODataCollectionModel } from \"@ryuzaki13/react-foundation-api/odata\";\nimport { CollectionItem } from \"@ryuzaki13/react-foundation-lib/odata-service\";\n\nimport { InputUILoading } from \"../input\";\nimport { UiBaseProps } from \"../types\";\n\nimport { useODataSelect } from \"./model/useODataSelect\";\nimport { Select } from \"./Select\";\nimport { SelectOptionContent } from \"./SelectOptionContent\";\n\ntype ODataSelectProps = Omit<ODataSingleSelectProps, \"value\"> &\n\tUiBaseProps<string | undefined> & { clearable?: boolean; required?: boolean; error?: string };\n\nfunction getODataOptionTextKey(item: CollectionItem | undefined, textKey: string, codeKey: string) {\n\tif (!item) {\n\t\treturn textKey || codeKey;\n\t}\n\n\treturn textKey || Object.keys(item).find((key) => key !== codeKey) || codeKey;\n}\n\nexport function ODataSelect({\n\todata,\n\tsegment,\n\tmodel: initialModel,\n\tsize,\n\tlabel,\n\tdescription,\n\tdisabled,\n\trequired,\n\terror,\n\tvalue,\n\tdependencies,\n\tonChange,\n\tclearable\n}: ODataSelectProps) {\n\tconst model = useODataCollectionModel(initialModel);\n\tconst odataModel = useODataSelect({\n\t\todata,\n\t\tsegment,\n\t\tmodel,\n\t\tvalue,\n\t\tdependencies,\n\t\tonChange\n\t});\n\n\tif (odataModel.isLoading) {\n\t\treturn <InputUILoading size={size} label={label} description={description} required={required} />;\n\t}\n\n\tconst hideCode = segment.hideCode ?? odata.hideCode;\n\tconst resolvedTextKey = getODataOptionTextKey(odataModel.selectedItem ?? odataModel.options[0], odataModel.textKey, odataModel.codeKey);\n\n\treturn (\n\t\t<Select\n\t\t\tsize={size}\n\t\t\tlabel={label}\n\t\t\tdescription={description}\n\t\t\trequired={required}\n\t\t\terror={error}\n\t\t\toptions={odataModel.options}\n\t\t\tvalue={odataModel.selectedItem}\n\t\t\tonChange={odataModel.handleChange}\n\t\t\tgetOptionKey={(item) => item[odataModel.codeKey]}\n\t\t\tgetOptionLabel={(item) => item[resolvedTextKey]}\n\t\t\tgetOptionCode={hideCode ? undefined : (item) => item[odataModel.codeKey]}\n\t\t\tgetOptionAriaLabel={(item) =>\n\t\t\t\thideCode || item[resolvedTextKey] === item[odataModel.codeKey]\n\t\t\t\t\t? String(item[resolvedTextKey])\n\t\t\t\t\t: `${item[resolvedTextKey]} ${item[odataModel.codeKey]}`\n\t\t\t}\n\t\t\trenderValue={(item) => (\n\t\t\t\t<SelectOptionContent label={item[resolvedTextKey]} code={hideCode ? undefined : item[odataModel.codeKey]} />\n\t\t\t)}\n\t\t\trenderOption={(item) => (\n\t\t\t\t<SelectOptionContent\n\t\t\t\t\tlabel={item[resolvedTextKey]}\n\t\t\t\t\tcode={hideCode ? undefined : item[odataModel.codeKey]}\n\t\t\t\t\thighlight={odataModel.debouncedQuery}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\tsearchable\n\t\t\tquery={odataModel.query}\n\t\t\tonQuery={odataModel.setQuery}\n\t\t\tdefaultFilter={false}\n\t\t\tdisabled={disabled || odataModel.isLoading}\n\t\t\tplaceholder={odataModel.placeholder}\n\t\t\tisLoading={odataModel.isLoading}\n\t\t\terrorState={odataModel.isError ? \"Ошибка загрузки\" : undefined}\n\t\t\temptyState={!odataModel.isLoading && !odataModel.isError ? \"Нет данных\" : undefined}\n\t\t\tclearable={clearable}\n\t\t/>\n\t);\n}\n","import { useCallback } from \"react\";\n\nimport { useODataDependentSelection } from \"../odata-dependent\";\n\nimport { ODataSelect } from \"./ODataSelect\";\n\nimport type { ODataDependentSegmentControlProps } from \"../odata-dependent\";\n\nexport type ODataDependentSegmentSelectProps = ODataDependentSegmentControlProps & {\n\t/** Показывает действие очистки выбранного значения. */\n\tclearable?: boolean;\n};\n\n/**\n * Адаптирует один развёрнутый зависимый OData-сегмент к single-select UI.\n * Общий снимок остаётся массивным, поэтому совместим с `dependencies` и\n * может совместно использоваться с segment-level MultiSelect-контролами.\n */\nexport function ODataDependentSegmentSelect(props: ODataDependentSegmentSelectProps) {\n\tconst { item, disabled, label, description, required, fieldError, size, width = 15, clearable } = props;\n\tconst selection = useODataDependentSelection(props);\n\tconst { updateSegment } = selection;\n\tconst widthStyle = `calc(${width}em + var(--width-add))`;\n\n\tconst handleSelectionChange = useCallback(\n\t\t(value: string | undefined) => {\n\t\t\tupdateSegment(item.id, value === undefined ? [] : [value]);\n\t\t},\n\t\t[item.id, updateSegment]\n\t);\n\n\treturn (\n\t\t<div style={{ maxWidth: widthStyle, minWidth: widthStyle }}>\n\t\t\t<ODataSelect\n\t\t\t\todata={item.odata}\n\t\t\t\tsegment={item.segment}\n\t\t\t\tmodel={item.model}\n\t\t\t\tdependencies={selection.values}\n\t\t\t\tvalue={selection.values[item.id]?.[0]}\n\t\t\t\tonChange={handleSelectionChange}\n\t\t\t\tdisabled={disabled || selection.isSegmentDisabled(item.id)}\n\t\t\t\tlabel={label}\n\t\t\t\tdescription={description}\n\t\t\t\trequired={required}\n\t\t\t\terror={fieldError}\n\t\t\t\tsize={size}\n\t\t\t\tclearable={clearable}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n","import { Select } from \"./Select\";\n\nimport type { UiBaseProps } from \"../types\";\nimport type { SelectOptionKey } from \"./Select\";\n\ntype SerializableOptionRecord = Record<string, unknown>;\n\ntype SerializableOptionKeyField<TOption extends SerializableOptionRecord> = {\n\t[K in keyof TOption]: Extract<TOption[K], SelectOptionKey> extends never ? never : K;\n}[keyof TOption];\n\ntype SerializableOptionValue<TOption extends SerializableOptionRecord, TOptionKey extends SerializableOptionKeyField<TOption>> = Extract<\n\tTOption[TOptionKey],\n\tSelectOptionKey\n>;\n\nexport interface SerializableSelectProps<\n\tTOption extends SerializableOptionRecord,\n\tTOptionKey extends SerializableOptionKeyField<TOption>,\n\tTOptionLabel extends keyof TOption\n> extends Omit<UiBaseProps<SerializableOptionValue<TOption, TOptionKey> | undefined>, \"onChange\"> {\n\toptions: readonly TOption[];\n\tonChange: (value: SerializableOptionValue<TOption, TOptionKey> | undefined) => void;\n\toptionKey: TOptionKey;\n\toptionLabel: TOptionLabel;\n\trenderCode?: true;\n\tclassName?: string;\n\tclearable?: boolean;\n\trequired?: boolean;\n\terror?: string;\n}\n\nfunction getSerializableOptionKey<TOption extends SerializableOptionRecord, TOptionKey extends SerializableOptionKeyField<TOption>>(\n\toption: TOption,\n\toptionKey: TOptionKey\n): Extract<TOption[TOptionKey], SelectOptionKey> {\n\treturn String(option[optionKey]) as Extract<TOption[TOptionKey], SelectOptionKey>;\n}\n\nfunction getSerializableOptionLabel<\n\tTOption extends SerializableOptionRecord,\n\tTOptionKey extends SerializableOptionKeyField<TOption>,\n\tTOptionLabel extends keyof TOption\n>(option: TOption, optionLabel: TOptionLabel, optionKey: TOptionKey): string {\n\tconst label = option[optionLabel];\n\n\tif (typeof label === \"string\" || typeof label === \"number\") {\n\t\treturn String(label);\n\t}\n\n\tconst key = getSerializableOptionKey(option, optionKey);\n\treturn String(key);\n}\n\nexport function SerializableSelect<\n\tTOption extends SerializableOptionRecord,\n\tTOptionKey extends SerializableOptionKeyField<TOption>,\n\tTOptionLabel extends keyof TOption\n>({\n\tlabel,\n\tdescription,\n\tdisabled,\n\tplaceholder,\n\tsize,\n\toptions,\n\tvalue,\n\tonChange,\n\toptionKey,\n\toptionLabel,\n\trenderCode,\n\tclassName,\n\tclearable,\n\trequired,\n\terror\n}: SerializableSelectProps<TOption, TOptionKey, TOptionLabel>) {\n\tconst selectedOption =\n\t\tvalue === undefined ? undefined : options.find((option) => getSerializableOptionKey(option, optionKey) === value);\n\n\treturn (\n\t\t<Select\n\t\t\tlabel={label}\n\t\t\tdescription={description}\n\t\t\tdisabled={disabled}\n\t\t\tplaceholder={placeholder}\n\t\t\tsize={size}\n\t\t\toptions={options}\n\t\t\tvalue={selectedOption}\n\t\t\tonChange={(option: TOption | undefined) => onChange(option ? getSerializableOptionKey(option, optionKey) : undefined)}\n\t\t\tgetOptionKey={(option: TOption) => getSerializableOptionKey(option, optionKey)}\n\t\t\tgetOptionLabel={(option: TOption) => getSerializableOptionLabel(option, optionLabel, optionKey)}\n\t\t\tgetOptionCode={renderCode ? (option: TOption) => getSerializableOptionKey(option, optionKey) : undefined}\n\t\t\tclassName={className}\n\t\t\tclearable={clearable}\n\t\t\trequired={required}\n\t\t\terror={error}\n\t\t/>\n\t);\n}\n"],"mappings":"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"}
@@ -0,0 +1,154 @@
1
+ import { a as e, c as t, d as ee, i as n, n as r, o as i, p as te, r as ne, s as re, t as ie } from "./base-table-CacTH3BE.js";
2
+ import { s as ae } from "./sortable-BujAJgFa.js";
3
+ import { jsx as a } from "react/jsx-runtime";
4
+ import { useEffect as o, useEffectEvent as s, useMemo as c, useRef as l } from "react";
5
+ import { formatPipelineDisplayValue as u } from "@ryuzaki13/react-foundation-lib/formatters";
6
+ import { foundationTableFeatures as d, useTableRowSelection as oe } from "@ryuzaki13/react-foundation-lib/table";
7
+ import { moveArrayItem as se } from "@ryuzaki13/react-foundation-lib/array";
8
+ import { useTable as ce } from "@tanstack/react-table";
9
+ var f = {
10
+ selectedIndicatorCell: "hKghZt",
11
+ sentinel: "QsLRvS"
12
+ };
13
+ //#endregion
14
+ //#region src/table/Table.tsx
15
+ function le(e, t) {
16
+ return String(t);
17
+ }
18
+ function p({ title: p, isLoading: m, isFetching: ue, data: h, columns: g, selectionMode: _ = "none", selectedRowIds: de, getRowId: fe, className: pe, minHeight: me, tableClassName: he, columnVisibility: v, defaultColumnVisibility: y, columnOrder: b, defaultColumnOrder: x, columnSizing: S, defaultColumnSizing: C, columnPinning: w, defaultColumnPinning: T, enableColumnResizing: E = !1, enableColumnReordering: D = !1, rowReordering: O, columnResizeMinWidth: k, onColumnVisibilityChange: A, onColumnOrderChange: j, onColumnSizingChange: M, onColumnPinningChange: N, onRowClick: P, onRowSelectionChange: F, onReachEnd: I, getRowCanSelect: L, getRowClassName: R, renderHeaderContextMenu: ge, renderCellContent: z }) {
19
+ let B = c(() => h ?? [], [h]), V = c(() => t(g), [g]), H = fe ?? le, U = c(() => new Map(B.map((e, t) => [H(e, t), e])), [H, B]), _e = c(() => Array.from(U.keys()), [U]), W = l(null), G = l(null), { rowSelection: ve, activateRowSelection: ye } = oe({
20
+ availableRowIds: _e,
21
+ rowById: U,
22
+ selectionMode: _,
23
+ selectedRowIds: de,
24
+ onRowSelectionChange: F
25
+ }), { columnVisibility: K, onColumnVisibilityChange: be } = ne({
26
+ columnVisibility: v,
27
+ defaultColumnVisibility: y,
28
+ onColumnVisibilityChange: A
29
+ }), { columnOrder: q, onColumnOrderChange: xe } = i({
30
+ columnOrder: b,
31
+ defaultColumnOrder: x,
32
+ onColumnOrderChange: j
33
+ }), { columnSizing: J, onColumnSizingChange: Se } = n({
34
+ columnSizing: S,
35
+ defaultColumnSizing: C,
36
+ columnResizeMinWidth: k,
37
+ onColumnSizingChange: M
38
+ }), { columnPinning: Y, onColumnPinningChange: Ce } = e({
39
+ columnPinning: w,
40
+ defaultColumnPinning: T,
41
+ onColumnPinningChange: N
42
+ }), X = c(() => ({
43
+ columnOrder: q,
44
+ columnPinning: Y,
45
+ columnSizing: J,
46
+ columnVisibility: K
47
+ }), [
48
+ q,
49
+ Y,
50
+ J,
51
+ K
52
+ ]), we = s(() => {
53
+ I?.();
54
+ });
55
+ o(() => {
56
+ if (!I || !W.current || !G.current || m) return;
57
+ let e = new IntersectionObserver((e) => {
58
+ e[0]?.isIntersecting && we();
59
+ }, {
60
+ root: W.current,
61
+ threshold: .1
62
+ });
63
+ return e.observe(G.current), () => e.disconnect();
64
+ }, [
65
+ m,
66
+ I,
67
+ B.length
68
+ ]);
69
+ let Z = ce({
70
+ features: d,
71
+ data: B,
72
+ columns: g,
73
+ state: {
74
+ columnOrder: q,
75
+ columnPinning: Y,
76
+ columnSizing: J,
77
+ columnVisibility: K,
78
+ rowSelection: ve
79
+ },
80
+ onColumnOrderChange: xe,
81
+ onColumnPinningChange: Ce,
82
+ onColumnSizingChange: Se,
83
+ onColumnVisibilityChange: be,
84
+ getRowId: (e, t) => H(e, t),
85
+ enableMultiRowSelection: _ === "multi",
86
+ enableRowSelection: (e) => _ === "none" ? !1 : !L || L(e.original)
87
+ }), Q = te(Z, X), $ = Z.getRowModel().rows, Te = c(() => $.map((e) => e.id), [$]), Ee = c(() => re({
88
+ rows: $,
89
+ columns: Q
90
+ }), [$, Q]), De = Q[0]?.id;
91
+ return /* @__PURE__ */ a(r, {
92
+ table: Z,
93
+ columnState: X,
94
+ title: p,
95
+ isLoading: m,
96
+ isFetching: ue,
97
+ className: pe,
98
+ minHeight: me,
99
+ tableClassName: he,
100
+ selectionMode: _,
101
+ scrollableRef: W,
102
+ onActivateRow: _ !== "none" || P ? (e) => {
103
+ ye(e.id, e.getCanSelect()), P?.(e.original);
104
+ } : void 0,
105
+ isRowInteractive: (e) => !!(P || _ !== "none" && e.getCanSelect()),
106
+ getRowClassName: (e) => R?.(e.original),
107
+ getCellClassName: ({ row: e, cell: t }) => t.column.id === De && e.getIsSelected() ? f.selectedIndicatorCell : void 0,
108
+ getCellLayout: ({ cell: e }) => Ee.get(e.id),
109
+ renderHeaderContextMenu: ge,
110
+ enableColumnResizing: E,
111
+ enableColumnReordering: D,
112
+ rowReordering: O ? {
113
+ disabled: O.disabled,
114
+ onDragEnd: (e) => {
115
+ if (!O || O.disabled) return;
116
+ let t = ae({
117
+ event: e,
118
+ items: Te
119
+ });
120
+ t && O.onReorder(se($.map((e) => e.original), t.fromIndex, t.toIndex));
121
+ }
122
+ } : void 0,
123
+ columnResizeMinWidth: k,
124
+ renderCellContent: (e) => {
125
+ let t = u({
126
+ field: V.runtimeByColumnId[e.cell.column.id],
127
+ rawValue: e.cell.getValue(),
128
+ rowData: e.row.original,
129
+ rowKind: "plain"
130
+ }), n = ee({
131
+ columnId: e.cell.column.id,
132
+ runtimeByColumnId: V.runtimeByColumnId,
133
+ customCellColumnIds: V.customCellColumnIds
134
+ }) ? /* @__PURE__ */ a(ie, {
135
+ displayValue: t,
136
+ align: e.columnMeta?.align
137
+ }) : e.defaultContent;
138
+ return z ? z({
139
+ ...e,
140
+ defaultContent: n,
141
+ displayValue: t
142
+ }) : n;
143
+ },
144
+ afterTableContent: I ? /* @__PURE__ */ a("div", {
145
+ ref: G,
146
+ className: f.sentinel,
147
+ "aria-hidden": "true"
148
+ }) : null
149
+ });
150
+ }
151
+ //#endregion
152
+ export { p as t };
153
+
154
+ //# sourceMappingURL=table-Cx__DvpN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-Cx__DvpN.js","names":[],"sources":["../../src/table/Table.module.scss","../../src/table/Table.tsx"],"sourcesContent":[".selectedIndicatorCell {\n\tbox-shadow: inset 0.1875rem 0 0 var(--accent-text);\n}\n\n.sentinel {\n\theight: 1px;\n}\n","import { useEffect, useEffectEvent, useMemo, useRef } from \"react\";\n\nimport { type DragEndEvent } from \"@dnd-kit/core\";\nimport { moveArrayItem } from \"@ryuzaki13/react-foundation-lib/array\";\nimport { formatPipelineDisplayValue } from \"@ryuzaki13/react-foundation-lib/formatters\";\nimport { TableFormulaRowData } from \"@ryuzaki13/react-foundation-lib/formulas\";\nimport {\n\ttype FoundationTableRow,\n\tfoundationTableFeatures,\n\ttype TableColumnDef,\n\ttype TableColumnOrderState,\n\ttype TableColumnSizingState,\n\ttype TableColumnVisibilityState,\n\ttype TableSelectionMode,\n\tuseTableRowSelection\n} from \"@ryuzaki13/react-foundation-lib/table\";\nimport { useTable } from \"@tanstack/react-table\";\n\nimport {\n\tBaseTable,\n\tbuildBaseTableMergedCellsLayout,\n\tbuildTableFormattingSnapshot,\n\tFormattedTableCell,\n\tgetOrderedVisibleLeafColumns,\n\tshouldUseTableFormatting,\n\tuseTableColumnOrder,\n\tuseTableColumnPinning,\n\tuseTableColumnSizing,\n\tuseTableColumnVisibility,\n\ttype BaseTableColumnState,\n\ttype BaseTableProps,\n\ttype TableColumnPinningState\n} from \"../base-table\";\nimport { getSortableReorderResult } from \"../sortable\";\n\nimport styles from \"./Table.module.scss\";\n\n/**\n * Возвращает индекс как строковый id, если внешний id не передан.\n */\nfunction defaultGetRowId<TData>(_row: TData, index: number): string {\n\treturn String(index);\n}\n\n/** Управляемая перестановка строк; визуальную ручку потребитель размещает в нужной колонке через `Sortable.DragHandle`. */\nexport interface TableRowReordering<TData extends object> {\n\tdisabled?: boolean;\n\tonReorder: (rows: readonly TData[]) => void;\n}\n\n/**\n * Пропсы компонента Table.\n *\n * Компонент предназначен для плоских данных и по API осознанно сближен с TreeTable.\n */\nexport interface TableProps<TData extends object> {\n\t/**\n\t * Необязательный заголовок над таблицей.\n\t */\n\ttitle?: string;\n\t/**\n\t * Признак первичной загрузки.\n\t */\n\tisLoading?: boolean;\n\t/**\n\t * Признак фоновой догрузки или обновления данных.\n\t */\n\tisFetching?: boolean;\n\t/**\n\t * Плоский источник строк.\n\t */\n\tdata: readonly TData[] | undefined | null;\n\t/**\n\t * Описание колонок таблицы.\n\t */\n\tcolumns: readonly TableColumnDef<TData>[];\n\t/**\n\t * Режим выбора строк.\n\t */\n\tselectionMode?: TableSelectionMode;\n\t/**\n\t * Внешний список выбранных строк.\n\t *\n\t * Если передан, таблица синхронизирует визуальное выделение с этим набором id.\n\t */\n\tselectedRowIds?: readonly string[];\n\t/**\n\t * Стабильный идентификатор строки.\n\t *\n\t * Если не задан, используется индекс строки.\n\t */\n\tgetRowId?: (row: TData, index: number) => string;\n\t/**\n\t * Дополнительный CSS-класс корневого контейнера.\n\t */\n\tclassName?: string;\n\tminHeight?: `${number}em` | `${number}%`;\n\t/**\n\t * Дополнительный CSS-класс тега `table`.\n\t */\n\ttableClassName?: string;\n\t/**\n\t * Внешнее controlled-состояние видимости колонок.\n\t */\n\tcolumnVisibility?: TableColumnVisibilityState;\n\t/**\n\t * Стартовое uncontrolled-состояние видимости колонок.\n\t */\n\tdefaultColumnVisibility?: TableColumnVisibilityState;\n\t/**\n\t * Внешнее controlled-состояние порядка колонок.\n\t */\n\tcolumnOrder?: readonly string[];\n\t/**\n\t * Стартовое uncontrolled-состояние порядка колонок.\n\t */\n\tdefaultColumnOrder?: readonly string[];\n\t/**\n\t * Внешнее controlled-состояние ширин колонок в px.\n\t */\n\tcolumnSizing?: TableColumnSizingState;\n\t/**\n\t * Стартовое uncontrolled-состояние ширин колонок в px.\n\t */\n\tdefaultColumnSizing?: TableColumnSizingState;\n\t/**\n\t * Внешнее controlled-состояние start-pinning для колонок.\n\t */\n\tcolumnPinning?: TableColumnPinningState;\n\t/**\n\t * Стартовое uncontrolled-состояние start-pinning для колонок.\n\t */\n\tdefaultColumnPinning?: TableColumnPinningState;\n\t/**\n\t * Включает изменение ширины колонок через header-handle.\n\t */\n\tenableColumnResizing?: boolean;\n\t/**\n\t * Включает изменение порядка колонок через drag&drop заголовков.\n\t */\n\tenableColumnReordering?: boolean;\n\t/**\n\t * Включает вертикальную перестановку строк через `Sortable.DragHandle` в пользовательской колонке.\n\t */\n\trowReordering?: TableRowReordering<TData>;\n\t/**\n\t * Минимальная ширина колонки при resize в px.\n\t */\n\tcolumnResizeMinWidth?: number;\n\t/**\n\t * Вызывается после изменения видимости колонок.\n\t */\n\tonColumnVisibilityChange?: (state: TableColumnVisibilityState) => void;\n\t/**\n\t * Вызывается после изменения порядка колонок.\n\t */\n\tonColumnOrderChange?: (state: TableColumnOrderState) => void;\n\t/**\n\t * Вызывается после изменения ширины колонок.\n\t */\n\tonColumnSizingChange?: (state: TableColumnSizingState) => void;\n\t/**\n\t * Вызывается после изменения start-pinning state.\n\t */\n\tonColumnPinningChange?: (state: TableColumnPinningState) => void;\n\t/**\n\t * Вызывается при активации строки кликом или клавиатурой.\n\t */\n\tonRowClick?: (row: TData) => void;\n\t/**\n\t * Вызывается после изменения выбранных строк.\n\t */\n\tonRowSelectionChange?: (rows: TData[]) => void;\n\t/**\n\t * Вызывается при достижении конца таблицы внутри scroll-контейнера.\n\t */\n\tonReachEnd?: () => void;\n\t/**\n\t * Позволяет запретить выбор отдельных строк.\n\t */\n\tgetRowCanSelect?: (row: TData) => boolean;\n\t/**\n\t * Позволяет добавить CSS-класс для конкретной строки.\n\t */\n\tgetRowClassName?: (row: TData) => string | undefined;\n\t/**\n\t * Контекстное меню заголовка колонки. Используется для общих runtime-действий\n\t * вроде server sorting без встраивания доменной логики в shared-таблицу.\n\t */\n\trenderHeaderContextMenu?: BaseTableProps<TData>[\"renderHeaderContextMenu\"];\n\t/**\n\t * Тонкая точка расширения содержимого ячейки поверх стандартного форматирования.\n\t *\n\t * В отличие от `column.cell`, этот слот не отключает общий formatting-runtime:\n\t * `defaultContent` уже содержит отформатированное значение, если оно применимо.\n\t */\n\trenderCellContent?: BaseTableProps<TData>[\"renderCellContent\"];\n}\n\n/**\n * Плоская таблица на базе TanStack Table как React-альтернатива `sap.m.Table`.\n */\nexport function Table<TData extends object>({\n\ttitle,\n\tisLoading,\n\tisFetching,\n\tdata,\n\tcolumns,\n\tselectionMode = \"none\",\n\tselectedRowIds,\n\tgetRowId,\n\tclassName,\n\tminHeight,\n\ttableClassName,\n\tcolumnVisibility,\n\tdefaultColumnVisibility,\n\tcolumnOrder,\n\tdefaultColumnOrder,\n\tcolumnSizing,\n\tdefaultColumnSizing,\n\tcolumnPinning,\n\tdefaultColumnPinning,\n\tenableColumnResizing = false,\n\tenableColumnReordering = false,\n\trowReordering,\n\tcolumnResizeMinWidth,\n\tonColumnVisibilityChange,\n\tonColumnOrderChange,\n\tonColumnSizingChange,\n\tonColumnPinningChange,\n\tonRowClick,\n\tonRowSelectionChange,\n\tonReachEnd,\n\tgetRowCanSelect,\n\tgetRowClassName,\n\trenderHeaderContextMenu,\n\trenderCellContent\n}: TableProps<TData>) {\n\tconst tableData = useMemo(() => data ?? [], [data]);\n\tconst formattingSnapshot = useMemo(() => buildTableFormattingSnapshot(columns), [columns]);\n\tconst resolveRowId = getRowId ?? defaultGetRowId<TData>;\n\tconst rowById = useMemo(() => new Map(tableData.map((row, index) => [resolveRowId(row, index), row])), [resolveRowId, tableData]);\n\tconst availableRowIds = useMemo(() => Array.from(rowById.keys()), [rowById]);\n\tconst scrollableRef = useRef<HTMLDivElement | null>(null);\n\tconst sentinelRef = useRef<HTMLDivElement | null>(null);\n\n\tconst { rowSelection, activateRowSelection } = useTableRowSelection({\n\t\tavailableRowIds,\n\t\trowById,\n\t\tselectionMode,\n\t\tselectedRowIds,\n\t\tonRowSelectionChange\n\t});\n\tconst { columnVisibility: resolvedColumnVisibility, onColumnVisibilityChange: handleColumnVisibilityChange } = useTableColumnVisibility(\n\t\t{\n\t\t\tcolumnVisibility,\n\t\t\tdefaultColumnVisibility,\n\t\t\tonColumnVisibilityChange\n\t\t}\n\t);\n\tconst { columnOrder: resolvedColumnOrder, onColumnOrderChange: handleColumnOrderChange } = useTableColumnOrder({\n\t\tcolumnOrder,\n\t\tdefaultColumnOrder,\n\t\tonColumnOrderChange\n\t});\n\tconst { columnSizing: resolvedColumnSizing, onColumnSizingChange: handleColumnSizingChange } = useTableColumnSizing({\n\t\tcolumnSizing,\n\t\tdefaultColumnSizing,\n\t\tcolumnResizeMinWidth,\n\t\tonColumnSizingChange\n\t});\n\tconst { columnPinning: resolvedColumnPinning, onColumnPinningChange: handleColumnPinningChange } = useTableColumnPinning({\n\t\tcolumnPinning,\n\t\tdefaultColumnPinning,\n\t\tonColumnPinningChange\n\t});\n\tconst baseTableColumnState = useMemo<BaseTableColumnState>(\n\t\t() => ({\n\t\t\tcolumnOrder: resolvedColumnOrder,\n\t\t\tcolumnPinning: resolvedColumnPinning,\n\t\t\tcolumnSizing: resolvedColumnSizing,\n\t\t\tcolumnVisibility: resolvedColumnVisibility\n\t\t}),\n\t\t[resolvedColumnOrder, resolvedColumnPinning, resolvedColumnSizing, resolvedColumnVisibility]\n\t);\n\n\tconst emitReachEnd = useEffectEvent(() => {\n\t\tonReachEnd?.();\n\t});\n\n\tuseEffect(() => {\n\t\tif (!onReachEnd || !scrollableRef.current || !sentinelRef.current || isLoading) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst observer = new IntersectionObserver(\n\t\t\t(entries) => {\n\t\t\t\tconst entry = entries[0];\n\n\t\t\t\tif (entry?.isIntersecting) {\n\t\t\t\t\temitReachEnd();\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\troot: scrollableRef.current,\n\t\t\t\tthreshold: 0.1\n\t\t\t}\n\t\t);\n\n\t\tobserver.observe(sentinelRef.current);\n\n\t\treturn () => observer.disconnect();\n\t}, [isLoading, onReachEnd, tableData.length]);\n\n\tconst table = useTable({\n\t\tfeatures: foundationTableFeatures,\n\t\tdata: tableData as TData[],\n\t\tcolumns: columns as TableColumnDef<TData>[],\n\t\tstate: {\n\t\t\tcolumnOrder: resolvedColumnOrder,\n\t\t\tcolumnPinning: resolvedColumnPinning,\n\t\t\tcolumnSizing: resolvedColumnSizing,\n\t\t\tcolumnVisibility: resolvedColumnVisibility,\n\t\t\trowSelection\n\t\t},\n\t\tonColumnOrderChange: handleColumnOrderChange,\n\t\tonColumnPinningChange: handleColumnPinningChange,\n\t\tonColumnSizingChange: handleColumnSizingChange,\n\t\tonColumnVisibilityChange: handleColumnVisibilityChange,\n\t\tgetRowId: (row, index) => resolveRowId(row, index),\n\t\tenableMultiRowSelection: selectionMode === \"multi\",\n\t\tenableRowSelection: (row) => {\n\t\t\tif (selectionMode === \"none\") {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn getRowCanSelect ? getRowCanSelect(row.original) : true;\n\t\t}\n\t});\n\n\tconst visibleLeafColumns = getOrderedVisibleLeafColumns(table, baseTableColumnState);\n\tconst rowModelRows = table.getRowModel().rows;\n\tconst rowIds = useMemo(() => rowModelRows.map((row) => row.id), [rowModelRows]);\n\tconst mergedCellLayout = useMemo(\n\t\t() =>\n\t\t\tbuildBaseTableMergedCellsLayout({\n\t\t\t\trows: rowModelRows,\n\t\t\t\tcolumns: visibleLeafColumns\n\t\t\t}),\n\t\t[rowModelRows, visibleLeafColumns]\n\t);\n\tconst leadingColumnId = visibleLeafColumns[0]?.id;\n\tconst handleRowDragEnd = (event: DragEndEvent) => {\n\t\tif (!rowReordering || rowReordering.disabled) return;\n\n\t\tconst reorder = getSortableReorderResult({ event, items: rowIds });\n\t\tif (!reorder) return;\n\n\t\trowReordering.onReorder(\n\t\t\tmoveArrayItem(\n\t\t\t\trowModelRows.map((row) => row.original),\n\t\t\t\treorder.fromIndex,\n\t\t\t\treorder.toIndex\n\t\t\t)\n\t\t);\n\t};\n\n\t/**\n\t * Активирует строку: обновляет выбор в соответствии с режимом и вызывает внешний callback.\n\t */\n\tconst activateRow = (row: FoundationTableRow<TData>) => {\n\t\tactivateRowSelection(row.id, row.getCanSelect());\n\t\tonRowClick?.(row.original);\n\t};\n\n\treturn (\n\t\t<BaseTable\n\t\t\ttable={table}\n\t\t\tcolumnState={baseTableColumnState}\n\t\t\ttitle={title}\n\t\t\tisLoading={isLoading}\n\t\t\tisFetching={isFetching}\n\t\t\tclassName={className}\n\t\t\tminHeight={minHeight}\n\t\t\ttableClassName={tableClassName}\n\t\t\tselectionMode={selectionMode}\n\t\t\tscrollableRef={scrollableRef}\n\t\t\tonActivateRow={selectionMode !== \"none\" || onRowClick ? activateRow : undefined}\n\t\t\tisRowInteractive={(row) => Boolean(onRowClick || (selectionMode !== \"none\" && row.getCanSelect()))}\n\t\t\tgetRowClassName={(row) => getRowClassName?.(row.original)}\n\t\t\tgetCellClassName={({ row, cell }) =>\n\t\t\t\tcell.column.id === leadingColumnId && row.getIsSelected() ? styles.selectedIndicatorCell : undefined\n\t\t\t}\n\t\t\tgetCellLayout={({ cell }) => mergedCellLayout.get(cell.id)}\n\t\t\trenderHeaderContextMenu={renderHeaderContextMenu}\n\t\t\tenableColumnResizing={enableColumnResizing}\n\t\t\tenableColumnReordering={enableColumnReordering}\n\t\t\trowReordering={\n\t\t\t\trowReordering\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tdisabled: rowReordering.disabled,\n\t\t\t\t\t\t\tonDragEnd: handleRowDragEnd\n\t\t\t\t\t\t}\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\tcolumnResizeMinWidth={columnResizeMinWidth}\n\t\t\trenderCellContent={(args) => {\n\t\t\t\tconst displayValue = formatPipelineDisplayValue({\n\t\t\t\t\tfield: formattingSnapshot.runtimeByColumnId[args.cell.column.id],\n\t\t\t\t\trawValue: args.cell.getValue(),\n\t\t\t\t\trowData: args.row.original as TableFormulaRowData,\n\t\t\t\t\trowKind: \"plain\"\n\t\t\t\t});\n\t\t\t\tconst defaultContent = !shouldUseTableFormatting({\n\t\t\t\t\tcolumnId: args.cell.column.id,\n\t\t\t\t\truntimeByColumnId: formattingSnapshot.runtimeByColumnId,\n\t\t\t\t\tcustomCellColumnIds: formattingSnapshot.customCellColumnIds\n\t\t\t\t}) ? (\n\t\t\t\t\targs.defaultContent\n\t\t\t\t) : (\n\t\t\t\t\t<FormattedTableCell displayValue={displayValue} align={args.columnMeta?.align} />\n\t\t\t\t);\n\n\t\t\t\tif (renderCellContent) {\n\t\t\t\t\treturn renderCellContent({\n\t\t\t\t\t\t...args,\n\t\t\t\t\t\tdefaultContent,\n\t\t\t\t\t\tdisplayValue\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn defaultContent;\n\t\t\t}}\n\t\t\tafterTableContent={onReachEnd ? <div ref={sentinelRef} className={styles.sentinel} aria-hidden=\"true\" /> : null}\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;;;;;;;;ACwCA,SAAS,GAAuB,GAAa,GAAuB;CACnE,OAAO,OAAO,CAAK;AACpB;AAgKA,SAAgB,EAA4B,EAC3C,UACA,cACA,gBACA,SACA,YACA,mBAAgB,QAChB,oBACA,cACA,eACA,eACA,oBACA,qBACA,4BACA,gBACA,uBACA,iBACA,wBACA,kBACA,yBACA,0BAAuB,IACvB,4BAAyB,IACzB,kBACA,yBACA,6BACA,wBACA,yBACA,0BACA,eACA,yBACA,eACA,oBACA,oBACA,6BACA,wBACqB;CACrB,IAAM,IAAY,QAAc,KAAQ,CAAC,GAAG,CAAC,CAAI,CAAC,GAC5C,IAAqB,QAAc,EAA6B,CAAO,GAAG,CAAC,CAAO,CAAC,GACnF,IAAe,MAAY,IAC3B,IAAU,QAAc,IAAI,IAAI,EAAU,KAAK,GAAK,MAAU,CAAC,EAAa,GAAK,CAAK,GAAG,CAAG,CAAC,CAAC,GAAG,CAAC,GAAc,CAAS,CAAC,GAC1H,KAAkB,QAAc,MAAM,KAAK,EAAQ,KAAK,CAAC,GAAG,CAAC,CAAO,CAAC,GACrE,IAAgB,EAA8B,IAAI,GAClD,IAAc,EAA8B,IAAI,GAEhD,EAAE,kBAAc,6BAAyB,GAAqB;EACnE;EACA;EACA;EACA;EACA;CACD,CAAC,GACK,EAAE,kBAAkB,GAA0B,0BAA0B,OAAiC,GAC9G;EACC;EACA;EACA;CACD,CACD,GACM,EAAE,aAAa,GAAqB,qBAAqB,OAA4B,EAAoB;EAC9G;EACA;EACA;CACD,CAAC,GACK,EAAE,cAAc,GAAsB,sBAAsB,OAA6B,EAAqB;EACnH;EACA;EACA;EACA;CACD,CAAC,GACK,EAAE,eAAe,GAAuB,uBAAuB,OAA8B,EAAsB;EACxH;EACA;EACA;CACD,CAAC,GACK,IAAuB,SACrB;EACN,aAAa;EACb,eAAe;EACf,cAAc;EACd,kBAAkB;CACnB,IACA;EAAC;EAAqB;EAAuB;EAAsB;CAAwB,CAC5F,GAEM,KAAe,QAAqB;EACzC,IAAa;CACd,CAAC;CAED,QAAgB;EACf,IAAI,CAAC,KAAc,CAAC,EAAc,WAAW,CAAC,EAAY,WAAW,GACpE;EAGD,IAAM,IAAW,IAAI,sBACnB,MAAY;GAGZ,AAFc,EAAQ,EAElB,EAAO,kBACV,GAAa;EAEf,GACA;GACC,MAAM,EAAc;GACpB,WAAW;EACZ,CACD;EAIA,OAFA,EAAS,QAAQ,EAAY,OAAO,SAEvB,EAAS,WAAW;CAClC,GAAG;EAAC;EAAW;EAAY,EAAU;CAAM,CAAC;CAE5C,IAAM,IAAQ,GAAS;EACtB,UAAU;EACV,MAAM;EACG;EACT,OAAO;GACN,aAAa;GACb,eAAe;GACf,cAAc;GACd,kBAAkB;GAClB;EACD;EACA,qBAAqB;EACrB,uBAAuB;EACvB,sBAAsB;EACtB,0BAA0B;EAC1B,WAAW,GAAK,MAAU,EAAa,GAAK,CAAK;EACjD,yBAAyB,MAAkB;EAC3C,qBAAqB,MAChB,MAAkB,SACd,KAGD,MAAkB,EAAgB,EAAI,QAAQ;CAEvD,CAAC,GAEK,IAAqB,GAA6B,GAAO,CAAoB,GAC7E,IAAe,EAAM,YAAY,CAAC,CAAC,MACnC,KAAS,QAAc,EAAa,KAAK,MAAQ,EAAI,EAAE,GAAG,CAAC,CAAY,CAAC,GACxE,KAAmB,QAEvB,GAAgC;EAC/B,MAAM;EACN,SAAS;CACV,CAAC,GACF,CAAC,GAAc,CAAkB,CAClC,GACM,KAAkB,EAAmB,EAAE,EAAE;CAwB/C,OACC,kBAAC,GAAD;EACQ;EACP,aAAa;EACN;EACI;EACC;EACD;EACA;EACK;EACD;EACA;EACf,eAAe,MAAkB,UAAU,KAjBxB,MAAmC;GAEvD,AADA,GAAqB,EAAI,IAAI,EAAI,aAAa,CAAC,GAC/C,IAAa,EAAI,QAAQ;EAC1B,IAcwE,KAAA;EACtE,mBAAmB,MAAQ,GAAQ,KAAe,MAAkB,UAAU,EAAI,aAAa;EAC/F,kBAAkB,MAAQ,IAAkB,EAAI,QAAQ;EACxD,mBAAmB,EAAE,QAAK,cACzB,EAAK,OAAO,OAAO,MAAmB,EAAI,cAAc,IAAI,EAAO,wBAAwB,KAAA;EAE5F,gBAAgB,EAAE,cAAW,GAAiB,IAAI,EAAK,EAAE;EAChC;EACH;EACE;EACxB,eACC,IACG;GACA,UAAU,EAAc;GACxB,YAjDoB,MAAwB;IACjD,IAAI,CAAC,KAAiB,EAAc,UAAU;IAE9C,IAAM,IAAU,GAAyB;KAAE;KAAO,OAAO;IAAO,CAAC;IAC5D,KAEL,EAAc,UACb,GACC,EAAa,KAAK,MAAQ,EAAI,QAAQ,GACtC,EAAQ,WACR,EAAQ,OACT,CACD;GACD;EAqCK,IACC,KAAA;EAEkB;EACtB,oBAAoB,MAAS;GAC5B,IAAM,IAAe,EAA2B;IAC/C,OAAO,EAAmB,kBAAkB,EAAK,KAAK,OAAO;IAC7D,UAAU,EAAK,KAAK,SAAS;IAC7B,SAAS,EAAK,IAAI;IAClB,SAAS;GACV,CAAC,GACK,IAAkB,GAAyB;IAChD,UAAU,EAAK,KAAK,OAAO;IAC3B,mBAAmB,EAAmB;IACtC,qBAAqB,EAAmB;GACzC,CAAC,IAGA,kBAAC,IAAD;IAAkC;IAAc,OAAO,EAAK,YAAY;GAAQ,CAAA,IAFhF,EAAK;GAaN,OARI,IACI,EAAkB;IACxB,GAAG;IACH;IACA;GACD,CAAC,IAGK;EACR;EACA,mBAAmB,IAAa,kBAAC,OAAD;GAAK,KAAK;GAAa,WAAW,EAAO;GAAU,eAAY;EAAQ,CAAA,IAAI;CAC3G,CAAA;AAEH"}
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../chunks/context-menu-CrSXJxQL.js";
1
+ import { n as e, t } from "../chunks/context-menu-BV8636Ou.js";
2
2
  export { e as ContextMenu, t as DropdownMenu };
@@ -1,3 +1,3 @@
1
1
  import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "../chunks/CalendarView-BCXVjLFz.js";
2
- import { _ as s, a as c, b as l, c as u, d, f, g as p, h as m, i as h, l as g, m as _, n as v, o as y, p as b, r as x, s as S, t as C, u as w, v as T, y as E } from "../chunks/date-input-CzCDou4s.js";
2
+ import { _ as s, a as c, b as l, c as u, d, f, g as p, h as m, i as h, l as g, m as _, n as v, o as y, p as b, r as x, s as S, t as C, u as w, v as T, y as E } from "../chunks/date-input-B7iG9cA7.js";
3
3
  export { o as CalendarView, p as DATE_INPUT_SELECTION_MODES, s as DATE_INPUT_SELECTION_MODE_OPTIONS, n as DATE_INPUT_WEEK_END_DAYS, i as DATE_PICKER_LEVELS, x as DEFAULT_DATE_INPUT_FORMAT, h as DEFAULT_DATE_INPUT_PRESET, C as RangeDateInput, v as SingleDateInput, c as areRangeDateValuesEqual, y as areSingleDateValuesEqual, S as formatDateInputValue, u as formatRangeDateValue, g as formatSingleDateValue, t as getDatePickerLevelForSelectionMode, T as isDateInputSelectionMode, e as isDatePickerLevelAvailable, E as normalizeDateInputSelectionModes, w as normalizeRangeDateValue, d as normalizeRangeEndDateValue, f as normalizeSingleDateValue, b as parseRangeDateValue, _ as parseRangeEndDateValue, m as parseSingleDateValue, r as resolveAvailableDatePickerLevel, a as resolveDateInputPeriodRangeState, l as resolveDateInputSelectionModeOptionsByModes };
@@ -1,6 +1,6 @@
1
1
  import { r as e } from "../chunks/popover-BJH-yHvb.js";
2
2
  import { t } from "../chunks/ui.module-oRwY3Zli.js";
3
- import { c as n, d as r, i } from "../chunks/input-CuRK9Vbz.js";
3
+ import { c as n, d as r, i } from "../chunks/input-KXI7o06g.js";
4
4
  import { t as a } from "../chunks/CalendarView-BCXVjLFz.js";
5
5
  import { t as o } from "../chunks/wheel-picker-DUHGy7wE.js";
6
6
  import { cn as s } from "@ryuzaki13/react-foundation-lib/utils";
@@ -1,4 +1,4 @@
1
- import { n as e } from "../chunks/input-files-B8j6Pb_M.js";
1
+ import { n as e } from "../chunks/input-files-CnBNlJo0.js";
2
2
  import { cn as t, handleKeyboardActivation as n } from "@ryuzaki13/react-foundation-lib/utils";
3
3
  import { UploadIcon as r } from "lucide-react";
4
4
  import { Fragment as i, jsx as a, jsxs as o } from "react/jsx-runtime";
@@ -1,8 +1,8 @@
1
1
  import { n as e } from "../chunks/button-DudCl375.js";
2
2
  import { r as t } from "../chunks/grid-CFuzBigM.js";
3
3
  import { i as n, n as r, r as i } from "../chunks/modal-CBGNsqrq.js";
4
- import { s as a } from "../chunks/input-CuRK9Vbz.js";
5
- import { t as o } from "../chunks/input-files-B8j6Pb_M.js";
4
+ import { s as a } from "../chunks/input-KXI7o06g.js";
5
+ import { t as o } from "../chunks/input-files-CnBNlJo0.js";
6
6
  import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
7
7
  import { Suspense as u, lazy as d, useCallback as f, useEffect as p, useMemo as m, useRef as h, useState as g } from "react";
8
8
  import _ from "react-easy-crop";
@@ -27,10 +27,10 @@ export interface InputClearButtonProps {
27
27
  ariaLabel?: string;
28
28
  }
29
29
  export declare function InputLoadingFrame(): React.JSX.Element;
30
- export declare function InputUIFrame({ label, description, size, disabled, isLoading, className }: Pick<InputUIProps, "label" | "description" | "size" | "disabled" | "className"> & {
30
+ export declare function InputUIFrame({ label, description, size, disabled, isLoading, required, className }: Pick<InputUIProps, "label" | "description" | "size" | "disabled" | "required" | "className"> & {
31
31
  isLoading?: boolean;
32
32
  }): React.JSX.Element;
33
- export declare function InputUILoading(props: Pick<InputUIProps, "label" | "description" | "size" | "disabled" | "className">): React.JSX.Element;
33
+ export declare function InputUILoading(props: Pick<InputUIProps, "label" | "description" | "size" | "disabled" | "required" | "className">): React.JSX.Element;
34
34
  /**
35
35
  * Низкоуровневая оболочка поля ввода с общими элементами оформления.
36
36
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../src/input/Input.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../src/input/Input.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { a as e, c as t, d as n, i as r, l as i, n as a, o, r as s, s as c, t as l, u } from "../chunks/input-CuRK9Vbz.js";
1
+ import { a as e, c as t, d as n, i as r, l as i, n as a, o, r as s, s as c, t as l, u } from "../chunks/input-KXI7o06g.js";
2
2
  export { a as Input, s as InputClearButton, r as InputControl, l as InputErrorComponent, e as InputLoadingFrame, o as InputNumber, c as InputText, t as InputUI, i as InputUIFrame, u as InputUILoading, n as useInputFieldIds };
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "../chunks/ui.module-oRwY3Zli.js";
2
- import { c as t, d as n, i as r, r as i } from "../chunks/input-CuRK9Vbz.js";
2
+ import { c as t, d as n, i as r, r as i } from "../chunks/input-KXI7o06g.js";
3
3
  import { cn as a } from "@ryuzaki13/react-foundation-lib/utils";
4
4
  import { jsx as o } from "react/jsx-runtime";
5
5
  import { useCallback as s, useMemo as c, useRef as l, useState as u } from "react";
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "../chunks/ui.module-oRwY3Zli.js";
2
- import { c as t, d as n, i as r, r as i } from "../chunks/input-CuRK9Vbz.js";
2
+ import { c as t, d as n, i as r, r as i } from "../chunks/input-KXI7o06g.js";
3
3
  import { cn as a, handleKeyboardActivation as o } from "@ryuzaki13/react-foundation-lib/utils";
4
4
  import { jsx as s, jsxs as c } from "react/jsx-runtime";
5
5
  import { useCallback as l, useRef as u } from "react";
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../chunks/input-files-B8j6Pb_M.js";
1
+ import { n as e, t } from "../chunks/input-files-CnBNlJo0.js";
2
2
  export { t as InputFiles, e as InputFilesList };
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "../chunks/ui.module-oRwY3Zli.js";
2
- import { c as t, d as n, i as r, r as i } from "../chunks/input-CuRK9Vbz.js";
2
+ import { c as t, d as n, i as r, r as i } from "../chunks/input-KXI7o06g.js";
3
3
  import { cn as a, handleKeyboardActivation as o } from "@ryuzaki13/react-foundation-lib/utils";
4
4
  import { jsx as s, jsxs as c } from "react/jsx-runtime";
5
5
  import { useCallback as l, useMemo as u, useRef as d } from "react";
@@ -1,4 +1,4 @@
1
- import { n as e } from "../chunks/input-CuRK9Vbz.js";
1
+ import { n as e } from "../chunks/input-KXI7o06g.js";
2
2
  import { jsx as t } from "react/jsx-runtime";
3
3
  import { useState as n } from "react";
4
4
  //#region src/input-search/InputSearch.tsx
@@ -1,4 +1,4 @@
1
- import { f as e, i as t, s as n, t as r, v as i } from "../chunks/picker-SJXnHwsj.js";
1
+ import { f as e, i as t, s as n, t as r, v as i } from "../chunks/picker-DagDe9OH.js";
2
2
  import { Option as ee } from "../option/index.js";
3
3
  import { t as a } from "../chunks/OptionContentContainer-CWHlfm5Z.js";
4
4
  import { cn as o } from "@ryuzaki13/react-foundation-lib/utils";
@@ -1,4 +1,4 @@
1
- import { h as e, v as t } from "../chunks/picker-SJXnHwsj.js";
1
+ import { h as e, v as t } from "../chunks/picker-DagDe9OH.js";
2
2
  import { Option as n, OptionContent as r } from "../option/index.js";
3
3
  import { t as i } from "../chunks/OptionContentContainer-CWHlfm5Z.js";
4
4
  import { findFirstEnabledIndex as a, findLastEnabledIndex as o, findNextEnabledIndex as s, handleKeyboardActivation as c } from "@ryuzaki13/react-foundation-lib/utils";