@ryuzaki13/react-foundation-ui 1.4.5 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (451) hide show
  1. package/dist/advanced-search/index.js +9 -9
  2. package/dist/badge/index.js +1 -1
  3. package/dist/base-table/index.js +1 -1
  4. package/dist/button/index.js +1 -1
  5. package/dist/check-box/index.js +1 -1
  6. package/dist/chunks/CalendarView-Cfih7hjD.js +439 -0
  7. package/dist/chunks/{CalendarView-Z_XWk7aI.js.map → CalendarView-Cfih7hjD.js.map} +1 -1
  8. package/dist/chunks/CheckBox.module-C5SjPwSj.js.map +1 -1
  9. package/dist/chunks/{TextEditorLexicalClient-CK8j3RA4.js → TextEditorLexicalClient-BSafrkLJ.js} +245 -279
  10. package/dist/chunks/TextEditorLexicalClient-BSafrkLJ.js.map +1 -0
  11. package/dist/chunks/{badge-DwIUjH0a.js → badge-CbclcpUi.js} +2 -2
  12. package/dist/chunks/{badge-DwIUjH0a.js.map → badge-CbclcpUi.js.map} +1 -1
  13. package/dist/chunks/{base-table-BFsVwXg3.js → base-table-X7aSSjXa.js} +3 -3
  14. package/dist/chunks/{base-table-BFsVwXg3.js.map → base-table-X7aSSjXa.js.map} +1 -1
  15. package/dist/chunks/{button-BU2kRzwu.js → button-BOl7hYmT.js} +4 -4
  16. package/dist/chunks/button-BOl7hYmT.js.map +1 -0
  17. package/dist/chunks/{check-box-Dd3YFuxd.js → check-box-6HGX_KOy.js} +5 -5
  18. package/dist/chunks/check-box-6HGX_KOy.js.map +1 -0
  19. package/dist/chunks/{context-menu-C6RO7soI.js → context-menu-tcD3kVAc.js} +59 -63
  20. package/dist/chunks/context-menu-tcD3kVAc.js.map +1 -0
  21. package/dist/chunks/date-input-Bsl9dxxY.js +341 -0
  22. package/dist/chunks/date-input-Bsl9dxxY.js.map +1 -0
  23. package/dist/chunks/{floating-arrow-BE-z4QkE.js → floating-arrow-DPKwJfww.js} +3 -3
  24. package/dist/chunks/{floating-arrow-BE-z4QkE.js.map → floating-arrow-DPKwJfww.js.map} +1 -1
  25. package/dist/chunks/{input-Bp6_Ucgr.js → input-CAw1Loze.js} +61 -52
  26. package/dist/chunks/input-CAw1Loze.js.map +1 -0
  27. package/dist/chunks/{input-files-D1JzSw_Y.js → input-files-CLtQ7p8j.js} +3 -3
  28. package/dist/chunks/{input-files-D1JzSw_Y.js.map → input-files-CLtQ7p8j.js.map} +1 -1
  29. package/dist/chunks/{input-search-Bkhcinru.js → input-search-F6MPrUGF.js} +2 -2
  30. package/dist/chunks/{input-search-Bkhcinru.js.map → input-search-F6MPrUGF.js.map} +1 -1
  31. package/dist/chunks/{misc-BYxxlJz6.js → misc-Cp_r022Z.js} +2 -2
  32. package/dist/chunks/{misc-BYxxlJz6.js.map → misc-Cp_r022Z.js.map} +1 -1
  33. package/dist/chunks/{modal-paexEF0j.js → modal-DPIXoMkB.js} +3 -3
  34. package/dist/chunks/{modal-paexEF0j.js.map → modal-DPIXoMkB.js.map} +1 -1
  35. package/dist/chunks/{multi-select-COEkc8Qc.js → multi-select-Dypew65l.js} +165 -154
  36. package/dist/chunks/multi-select-Dypew65l.js.map +1 -0
  37. package/dist/chunks/{picker-e6IsrMUG.js → picker-TYLwgl1c.js} +83 -93
  38. package/dist/chunks/picker-TYLwgl1c.js.map +1 -0
  39. package/dist/chunks/popover-BTT7zSqx.js +230 -0
  40. package/dist/chunks/{popover-CGU3MlsH.js.map → popover-BTT7zSqx.js.map} +1 -1
  41. package/dist/chunks/{radio-group-CM9Lg_nc.js → radio-group-4j2HbemI.js} +2 -2
  42. package/dist/chunks/{radio-group-CM9Lg_nc.js.map → radio-group-4j2HbemI.js.map} +1 -1
  43. package/dist/chunks/{select-BON0S9Dr.js → select-DCSNVEYW.js} +37 -36
  44. package/dist/chunks/select-DCSNVEYW.js.map +1 -0
  45. package/dist/chunks/{table-Dd5BcC0k.js → table-DihiNNJt.js} +2 -2
  46. package/dist/chunks/{table-Dd5BcC0k.js.map → table-DihiNNJt.js.map} +1 -1
  47. package/dist/chunks/{ui.module-BisoTevy.js → ui.module-BfaIVBba.js} +3 -1
  48. package/dist/chunks/ui.module-BfaIVBba.js.map +1 -0
  49. package/dist/chunks/{uiClasses-BNjBunnY.js → uiClasses-4atXOh0J.js} +2 -2
  50. package/dist/chunks/{uiClasses-BNjBunnY.js.map → uiClasses-4atXOh0J.js.map} +1 -1
  51. package/dist/chunks/{useODataSelectBase-CKe1AVMI.js → useODataSelectBase-DI_wwKgw.js} +2 -2
  52. package/dist/chunks/{useODataSelectBase-CKe1AVMI.js.map → useODataSelectBase-DI_wwKgw.js.map} +1 -1
  53. package/dist/context-menu/components/MenuRoot.d.ts.map +1 -1
  54. package/dist/context-menu/index.js +1 -1
  55. package/dist/date-input/index.js +2 -2
  56. package/dist/date-input/lib/dateInputValue.d.ts +2 -6
  57. package/dist/date-input/lib/dateInputValue.d.ts.map +1 -1
  58. package/dist/date-input/lib/types.d.ts +0 -4
  59. package/dist/date-input/lib/types.d.ts.map +1 -1
  60. package/dist/date-input/model/useDateInput.d.ts +2 -2
  61. package/dist/date-input/model/useDateInput.d.ts.map +1 -1
  62. package/dist/date-input/ui/CalendarView.d.ts.map +1 -1
  63. package/dist/date-input/ui/DateInput.d.ts +0 -4
  64. package/dist/date-input/ui/DateInput.d.ts.map +1 -1
  65. package/dist/date-time-input/index.js +250 -254
  66. package/dist/date-time-input/index.js.map +1 -1
  67. package/dist/date-time-input/model/useDateTimeSegments.d.ts.map +1 -1
  68. package/dist/date-time-input/ui/SingleDateTimeInput.d.ts.map +1 -1
  69. package/dist/disclosure/index.js +4 -3
  70. package/dist/disclosure/index.js.map +1 -1
  71. package/dist/drop-zone/index.js +1 -1
  72. package/dist/expandable-action-panel/index.js +2 -2
  73. package/dist/floating-arrow/index.js +1 -1
  74. package/dist/image/index.js +4 -4
  75. package/dist/input/Input.d.ts +2 -1
  76. package/dist/input/Input.d.ts.map +1 -1
  77. package/dist/input/index.js +1 -1
  78. package/dist/input-date-time/index.js +2 -2
  79. package/dist/input-file/index.js +2 -2
  80. package/dist/input-files/index.js +1 -1
  81. package/dist/input-image/index.js +2 -2
  82. package/dist/input-search/index.js +1 -1
  83. package/dist/layout-picker/index.js +94 -107
  84. package/dist/layout-picker/index.js.map +1 -1
  85. package/dist/layout-picker/ui/LayoutPicker.d.ts.map +1 -1
  86. package/dist/list/List.d.ts.map +1 -1
  87. package/dist/list/index.js +75 -46
  88. package/dist/list/index.js.map +1 -1
  89. package/dist/list/useListVirtualizer.d.ts +13 -0
  90. package/dist/list/useListVirtualizer.d.ts.map +1 -0
  91. package/dist/listbox/Listbox.d.ts +1 -0
  92. package/dist/listbox/Listbox.d.ts.map +1 -1
  93. package/dist/listbox/index.js +39 -34
  94. package/dist/listbox/index.js.map +1 -1
  95. package/dist/misc/index.js +1 -1
  96. package/dist/modal/index.js +1 -1
  97. package/dist/multi-select/index.js +2 -2
  98. package/dist/multi-select/ui/MultiSelect.d.ts.map +1 -1
  99. package/dist/multi-select/ui/defaultRenderers.d.ts +2 -1
  100. package/dist/multi-select/ui/defaultRenderers.d.ts.map +1 -1
  101. package/dist/notifications/index.js +1 -1
  102. package/dist/picker/index.js +1 -1
  103. package/dist/picker/model/usePickerQuery.d.ts +6 -2
  104. package/dist/picker/model/usePickerQuery.d.ts.map +1 -1
  105. package/dist/picker/model/usePickerSelectionLifecycle.d.ts.map +1 -1
  106. package/dist/popover/FloatingPopover.d.ts +5 -0
  107. package/dist/popover/FloatingPopover.d.ts.map +1 -1
  108. package/dist/popover/index.js +1 -1
  109. package/dist/preset-range-date-input/index.js +2 -3
  110. package/dist/preset-range-date-input/index.js.map +1 -1
  111. package/dist/preset-select/index.js +1 -1
  112. package/dist/radio-button/index.js +3 -3
  113. package/dist/radio-button/index.js.map +1 -1
  114. package/dist/radio-group/index.js +1 -1
  115. package/dist/select/Select.d.ts.map +1 -1
  116. package/dist/select/index.js +1 -1
  117. package/dist/simple-table/index.js +1 -1
  118. package/dist/slider/Slider.d.ts.map +1 -1
  119. package/dist/slider/SliderInput.d.ts.map +1 -1
  120. package/dist/slider/index.js +400 -343
  121. package/dist/slider/index.js.map +1 -1
  122. package/dist/state-select/index.js +1 -1
  123. package/dist/styles.css +1 -1
  124. package/dist/switch/index.js +1 -1
  125. package/dist/table/index.js +1 -1
  126. package/dist/table-sorting/index.js +1 -1
  127. package/dist/tabs/index.js +2 -2
  128. package/dist/tabs/index.js.map +1 -1
  129. package/dist/tag-input/TagInput.d.ts.map +1 -1
  130. package/dist/tag-input/index.js +2 -2
  131. package/dist/tag-input/index.js.map +1 -1
  132. package/dist/text/index.js +1 -1
  133. package/dist/text-editor/EmailDialog.d.ts +1 -2
  134. package/dist/text-editor/EmailDialog.d.ts.map +1 -1
  135. package/dist/text-editor/LinkDialog.d.ts +1 -2
  136. package/dist/text-editor/LinkDialog.d.ts.map +1 -1
  137. package/dist/text-editor/PhoneDialog.d.ts +1 -2
  138. package/dist/text-editor/PhoneDialog.d.ts.map +1 -1
  139. package/dist/text-editor/SemanticDialog.d.ts +1 -2
  140. package/dist/text-editor/SemanticDialog.d.ts.map +1 -1
  141. package/dist/text-editor/TextEditorDialogs.d.ts +2 -1
  142. package/dist/text-editor/TextEditorDialogs.d.ts.map +1 -1
  143. package/dist/text-editor/TimeDialog.d.ts +1 -2
  144. package/dist/text-editor/TimeDialog.d.ts.map +1 -1
  145. package/dist/text-editor/index.js +2 -2
  146. package/dist/textarea/Textarea.d.ts.map +1 -1
  147. package/dist/textarea/index.js +3 -2
  148. package/dist/textarea/index.js.map +1 -1
  149. package/dist/toggle/index.js +1 -1
  150. package/dist/tree-select/TreeMultiSelect.d.ts.map +1 -1
  151. package/dist/tree-select/TreePickerBase.d.ts.map +1 -1
  152. package/dist/tree-select/index.js +206 -211
  153. package/dist/tree-select/index.js.map +1 -1
  154. package/dist/tree-table/index.js +1 -1
  155. package/package.json +8 -2
  156. package/src/styles/_base.scss +3 -3
  157. package/src/styles/config/_index.scss +43 -38
  158. package/src/styles/mixins/_controls.scss +17 -16
  159. package/storybook-static/assets/Badge-CD5894x5.css +1 -0
  160. package/storybook-static/assets/{Badge-Bh73-APE.js → Badge-DUTHAQCE.js} +1 -1
  161. package/storybook-static/assets/{Badge.stories-gNFtCWnR.js → Badge.stories-6iI-UG0f.js} +1 -1
  162. package/storybook-static/assets/{Button-O9QPAftp.js → Button-B0C3LMAw.js} +1 -1
  163. package/storybook-static/assets/{Button-mjF9HSg0.js → Button-CqVTrqw2.js} +1 -1
  164. package/storybook-static/assets/{Button-DtU4kGzD.css → Button-DuVDH6-g.css} +1 -1
  165. package/storybook-static/assets/{Button.stories-wkiE0c_a.js → Button.stories-DjUmGByS.js} +1 -1
  166. package/storybook-static/assets/CalendarView-hiZ9ETaP.js +1 -0
  167. package/storybook-static/assets/{CheckBox-Clpeg9q7.js → CheckBox-DBQ50PCI.js} +2 -2
  168. package/storybook-static/assets/{CheckBox-CB8fTQF0.js → CheckBox-De010n9y.js} +1 -1
  169. package/storybook-static/assets/CheckBox-Dw4nDCv8.css +1 -0
  170. package/storybook-static/assets/{CheckBox.stories-pfWBxvOy.js → CheckBox.stories-BfC6OQx3.js} +1 -1
  171. package/storybook-static/assets/{Color-6AOWCN3U-CVvkiihj.js → Color-6AOWCN3U-C_KzRv-S.js} +1 -1
  172. package/storybook-static/assets/ContextMenu-BwrqtNnY.js +1 -0
  173. package/storybook-static/assets/{ContextMenu-eGnlhRRu.js → ContextMenu-CGLg47OY.js} +1 -1
  174. package/storybook-static/assets/ContextMenu.stories-JnUlLk_E.js +90 -0
  175. package/storybook-static/assets/DateInput-4lH8A4HQ.css +1 -0
  176. package/storybook-static/assets/DateInput-BWbKmFEc.js +1 -0
  177. package/storybook-static/assets/{DateInput-DQDplLib.js → DateInput-CUPdoLCw.js} +1 -1
  178. package/storybook-static/assets/{DateInput.stories-BNpS4CND.js → DateInput.stories-DOOukQsB.js} +1 -1
  179. package/storybook-static/assets/{DateRangePresetSelect-DCBEf98i.js → DateRangePresetSelect-BWm1txZP.js} +1 -1
  180. package/storybook-static/assets/{DateRangePresetSelect-Bfx-d5qg.js → DateRangePresetSelect-CegjuKSa.js} +1 -1
  181. package/storybook-static/assets/{DateRangePresetSelect.stories-PAV2jgQb.js → DateRangePresetSelect.stories-BGCOqCf7.js} +1 -1
  182. package/storybook-static/assets/{Detail-DvmdQCue.js → Detail-DLDL5IhK.js} +1 -1
  183. package/storybook-static/assets/{Detail.stories-CEm00aSN.js → Detail.stories-BcP01iwW.js} +1 -1
  184. package/storybook-static/assets/{Dialog-3I2Y7jD7.js → Dialog-BYLrz-6d.js} +1 -1
  185. package/storybook-static/assets/Dialog-DcQbPiWK.js +1 -0
  186. package/storybook-static/assets/Dialog.stories-C5o4OhEy.js +31 -0
  187. package/storybook-static/assets/{Disclosure-DUIQ37oh.js → Disclosure-ChpGjvgZ.js} +1 -1
  188. package/storybook-static/assets/Disclosure.stories-CTL8h6Q3.js +40 -0
  189. package/storybook-static/assets/DisclosureGroup-CNoH2D1R.css +1 -0
  190. package/storybook-static/assets/DisclosureGroup-CUelavR4.js +2 -0
  191. package/storybook-static/assets/{DocsRenderer-JROSPFPF-DwPk6ai7.js → DocsRenderer-JROSPFPF-BQTqLgKs.js} +1 -1
  192. package/storybook-static/assets/{DropZone-BGuCU5dq.js → DropZone-5Xw6HUNa.js} +1 -1
  193. package/storybook-static/assets/DropZone-ULl7tScR.js +9 -0
  194. package/storybook-static/assets/DropZone.stories-Btud72HY.js +36 -0
  195. package/storybook-static/assets/DropdownMenu-CZDVKXjD.js +1 -0
  196. package/storybook-static/assets/ExpandableActionPanel-CwamleZX.js +2 -0
  197. package/storybook-static/assets/ExpandableActionPanel.stories-BUBvJAPp.js +19 -0
  198. package/storybook-static/assets/{Flex-CBwbh1yu.js → Flex-cO3yZG-t.js} +1 -1
  199. package/storybook-static/assets/{Flex.stories-cdk6vRZq.js → Flex.stories-BAuXOTSJ.js} +1 -1
  200. package/storybook-static/assets/FloatingPopover-C56UHmzH.js +1 -0
  201. package/storybook-static/assets/{FloatingPopover-DC84VrV3.css → FloatingPopover-jwILx9b0.css} +1 -1
  202. package/storybook-static/assets/FormattedTableCell-B4ObrqF1.js +18 -0
  203. package/storybook-static/assets/{Grid-BkKqSMfk.js → Grid-B3-t0FmJ.js} +1 -1
  204. package/storybook-static/assets/{Grid.stories-828arrPi.js → Grid.stories-Cr_GpL6X.js} +1 -1
  205. package/storybook-static/assets/{ImageCropper.stories-CrIWrKKR.js → ImageCropper.stories-BDqwBC8C.js} +1 -1
  206. package/storybook-static/assets/{ImageRenderer-F3AaZx-K.js → ImageRenderer-CigIY2hD.js} +1 -1
  207. package/storybook-static/assets/{ImageRenderer.stories-l3PnRYxy.js → ImageRenderer.stories-CI8r-V1l.js} +1 -1
  208. package/storybook-static/assets/{ImageView.stories-C6uhkvCN.js → ImageView.stories-D_OG6Deg.js} +1 -1
  209. package/storybook-static/assets/{ImageViewer.stories-BSPiv5lU.js → ImageViewer.stories-CQSqogxL.js} +2 -2
  210. package/storybook-static/assets/{ImageViewerRuntime-BOpMGgz6.js → ImageViewerRuntime-DerEzrYU.js} +1 -1
  211. package/storybook-static/assets/{Input-D-ZrbHVw.js → Input-Bm1cMHGo.js} +1 -1
  212. package/storybook-static/assets/Input-Bot494Bx.js +3 -0
  213. package/storybook-static/assets/Input-Db2-9PJZ.css +1 -0
  214. package/storybook-static/assets/{Input.stories-vqPv6pLx.js → Input.stories-BovBOurM.js} +1 -1
  215. package/storybook-static/assets/{InputDateTime-DHBVbRii.js → InputDateTime-BekBAEPs.js} +1 -1
  216. package/storybook-static/assets/{InputDateTime.stories-BAvLMBuk.js → InputDateTime.stories-w3S5IslS.js} +1 -1
  217. package/storybook-static/assets/{InputFile-B9TVOEZV.js → InputFile-CuQb2x1k.js} +1 -1
  218. package/storybook-static/assets/InputFile-GBGGdgQh.js +1 -0
  219. package/storybook-static/assets/InputFile.stories-f_IZth6c.js +36 -0
  220. package/storybook-static/assets/InputFiles-C74DVQhN.js +1 -0
  221. package/storybook-static/assets/{InputFiles-CxZkOZFK.js → InputFiles-CrLCcwgR.js} +1 -1
  222. package/storybook-static/assets/InputFiles.stories-BsuddNi0.js +33 -0
  223. package/storybook-static/assets/{InputFilesList-OEX4zGI3.js → InputFilesList-Djxwuhlq.js} +1 -1
  224. package/storybook-static/assets/InputImage-CwlTJmns.js +7 -0
  225. package/storybook-static/assets/{InputImage-31A6fxSf.js → InputImage-DMaYEhTE.js} +1 -1
  226. package/storybook-static/assets/InputImage.stories-CnN_t-Bq.js +45 -0
  227. package/storybook-static/assets/InteractiveComponents.stories-B87LSnhG.js +303 -0
  228. package/storybook-static/assets/LayoutPicker-CZRoovVS.css +1 -0
  229. package/storybook-static/assets/{LayoutPicker-Dc55ovYM.js → LayoutPicker-DKMVqnzr.js} +1 -1
  230. package/storybook-static/assets/LayoutPicker-I0mjwTRq.js +376 -0
  231. package/storybook-static/assets/LayoutPicker-yb6IMmd2.css +1 -0
  232. package/storybook-static/assets/LayoutPicker.stories-B94m5_5E.js +74 -0
  233. package/storybook-static/assets/Listbox-2CNZxFrM.js +41 -0
  234. package/storybook-static/assets/Listbox-BOCPTICI.js +1 -0
  235. package/storybook-static/assets/Listbox.stories-DkRL364d.js +53 -0
  236. package/storybook-static/assets/{Modal-CXvDgktT.js → Modal-BF5Wtu_Z.js} +1 -1
  237. package/storybook-static/assets/Modal.stories-BuBDjhkS.js +180 -0
  238. package/storybook-static/assets/ModalManagerProvider-DtAfcujR.js +1 -0
  239. package/storybook-static/assets/{MultiSelect-DN4foQlG.js → MultiSelect-B5MJePks.js} +1 -1
  240. package/storybook-static/assets/MultiSelect-B75x42Va.js +2 -0
  241. package/storybook-static/assets/{MultiSelect.stories-CgKNQmma.js → MultiSelect.stories-pCDFxnvP.js} +1 -1
  242. package/storybook-static/assets/{NoData-W7wK8oTW.js → NoData-kWRpCxvl.js} +1 -1
  243. package/storybook-static/assets/{NotificationsHost-D1UoWmF8.js → NotificationsHost-lblab1gc.js} +1 -1
  244. package/storybook-static/assets/{NotificationsHost.stories-BWUuMmPl.js → NotificationsHost.stories-a3NIcVIj.js} +1 -1
  245. package/storybook-static/assets/{ODataMultiSelect-DE1V4el8.js → ODataMultiSelect-BDqBjXSe.js} +1 -1
  246. package/storybook-static/assets/{ODataMultiSelect.stories-Q1DUIL2W.js → ODataMultiSelect.stories-8nYfEOBa.js} +1 -1
  247. package/storybook-static/assets/{ODataSelect-CtoT2Wxx.js → ODataSelect-BmcZs-Q9.js} +1 -1
  248. package/storybook-static/assets/{ODataSelect.stories-DLi7Rwzk.js → ODataSelect.stories-fiEuKGVT.js} +1 -1
  249. package/storybook-static/assets/{ODataTreeMultiSelect-DEZfgyPK.js → ODataTreeMultiSelect-ZAlccR5J.js} +1 -1
  250. package/storybook-static/assets/{ODataTreeMultiSelect.stories-H42q78xI.js → ODataTreeMultiSelect.stories-sP-IANic.js} +1 -1
  251. package/storybook-static/assets/{ODataTreeSelect-BeylEiPN.js → ODataTreeSelect-DSpeH-SQ.js} +1 -1
  252. package/storybook-static/assets/{ODataTreeSelect.stories-MOILmtfY.js → ODataTreeSelect.stories-C_G-ryCy.js} +2 -2
  253. package/storybook-static/assets/{OneStepScroller-BSvYN6QP.js → OneStepScroller-BPYnBbTY.js} +1 -1
  254. package/storybook-static/assets/PeriodSelect-Dj1G9UDW.js +5 -0
  255. package/storybook-static/assets/{PeriodSelect-KQFGCxq6.js → PeriodSelect-v-ybkTTW.js} +1 -1
  256. package/storybook-static/assets/PeriodSelect.stories-DcAJ8fkJ.js +60 -0
  257. package/storybook-static/assets/{PickerSelectionToolbar-Cvv8vTZm.js → PickerSelectionToolbar-7gktfdu3.js} +1 -1
  258. package/storybook-static/assets/{PickerTriggerActions-BBZmXagt.js → PickerTriggerActions-Bd-vIbv8.js} +1 -1
  259. package/storybook-static/assets/{Popover-7YZIq8Fi.js → Popover-5dsoQ1_b.js} +1 -1
  260. package/storybook-static/assets/{Popover-D6gSyjaW.js → Popover-BoMs5h0y.js} +1 -1
  261. package/storybook-static/assets/{Popover.stories-DM69Ztws.js → Popover.stories-CbNVj_hu.js} +1 -1
  262. package/storybook-static/assets/{PresetRangeDateInput-Ch6GapcJ.js → PresetRangeDateInput-BeQMoRpC.js} +1 -1
  263. package/storybook-static/assets/PresetRangeDateInput-DyGnRjp4.js +1 -0
  264. package/storybook-static/assets/PresetRangeDateInput.stories-C7gwDup9.js +15 -0
  265. package/storybook-static/assets/{PresetSelect-C8uIYhPJ.js → PresetSelect-C8e1Xzbh.js} +1 -1
  266. package/storybook-static/assets/RadioButton-blBN8xkq.js +2 -0
  267. package/storybook-static/assets/{RadioButton-BQjiyASl.js → RadioButton-kIVy3cCo.js} +1 -1
  268. package/storybook-static/assets/RadioButton.stories-B8U30Wqk.js +35 -0
  269. package/storybook-static/assets/{RadioGroup-vw4ObVj-.js → RadioGroup-CuWLCtLr.js} +1 -1
  270. package/storybook-static/assets/{RadioGroup-DNqu6WaC.js → RadioGroup-D4fwjGGp.js} +1 -1
  271. package/storybook-static/assets/{RadioGroup.stories-B-WQzZW_.js → RadioGroup.stories-CGo-8-Bv.js} +1 -1
  272. package/storybook-static/assets/{Scrollable-DrxMuH2M.js → Scrollable-CeGzYD_u.js} +1 -1
  273. package/storybook-static/assets/{Select-BxigZNtu.js → Select-rdcqkPnE.js} +1 -1
  274. package/storybook-static/assets/Select-txovgbTh.js +12 -0
  275. package/storybook-static/assets/{Select.stories-BpTrYJSr.js → Select.stories-DPM22VkR.js} +1 -1
  276. package/storybook-static/assets/{SelectOptionContent-RAmgWCOm.js → SelectOptionContent-HqUICxHy.js} +1 -1
  277. package/storybook-static/assets/{SerializableSelect-CA9wjk2m.js → SerializableSelect-btIwjUkv.js} +1 -1
  278. package/storybook-static/assets/{SerializableSelect.stories-DXd4E-3U.js → SerializableSelect.stories-EodX_I8R.js} +1 -1
  279. package/storybook-static/assets/{SingleDateTimeInput-BeFLYUBF.js → SingleDateTimeInput-CMKsQ13r.js} +1 -1
  280. package/storybook-static/assets/SingleDateTimeInput-coulKUC8.js +1 -0
  281. package/storybook-static/assets/SingleDateTimeInput-dwDPQ0HY.css +1 -0
  282. package/storybook-static/assets/SingleDateTimeInput.stories-BkSaW82_.js +78 -0
  283. package/storybook-static/assets/Slider-BDjIIhGp.js +1 -0
  284. package/storybook-static/assets/Slider-BWuie2gr.css +1 -0
  285. package/storybook-static/assets/{Slider-BdWBkKp4.js → Slider-DhBLW1at.js} +1 -1
  286. package/storybook-static/assets/{Slider.stories-CgmOhVBs.js → Slider.stories-DpTr65-r.js} +1 -1
  287. package/storybook-static/assets/SliderInput-BEV5I_1l.js +2 -0
  288. package/storybook-static/assets/{SliderInput-QmF2VQWA.js → SliderInput-CiuILy6K.js} +1 -1
  289. package/storybook-static/assets/SliderInput.stories-CL7SlLhr.js +67 -0
  290. package/storybook-static/assets/{Sortable-D5OTpesH.js → Sortable-CtNygGoQ.js} +1 -1
  291. package/storybook-static/assets/{Sortable.stories-yz3c5EhY.js → Sortable.stories-BbNoyvN9.js} +1 -1
  292. package/storybook-static/assets/{Splitter-DVq6XBul.js → Splitter-BYaydk0U.js} +1 -1
  293. package/storybook-static/assets/{Splitter.stories-CopPw1_p.js → Splitter.stories-Bo2rHdcD.js} +1 -1
  294. package/storybook-static/assets/{StateSelect-ojwXeKmx.js → StateSelect-D2MILxIu.js} +1 -1
  295. package/storybook-static/assets/StateSelect-DNKjfPR-.js +4 -0
  296. package/storybook-static/assets/StateSelect.stories-D_NhQBcN.js +44 -0
  297. package/storybook-static/assets/{StringToggle.stories-ByYMmlXl.js → StringToggle.stories-CS507_cT.js} +1 -1
  298. package/storybook-static/assets/Switch-9gK7d4Is.js +1 -0
  299. package/storybook-static/assets/{Switch-Dy4Pahkn.js → Switch-i3aW21Wi.js} +1 -1
  300. package/storybook-static/assets/Switch.stories-BRIuS4_o.js +26 -0
  301. package/storybook-static/assets/{Table-BO6Oa4JV.js → Table-CytIsA37.js} +1 -1
  302. package/storybook-static/assets/{Table.stories--TpBKwmP.js → Table.stories-DYPLk3TC.js} +1 -1
  303. package/storybook-static/assets/{Tabs-7c93qVyH.js → Tabs-BMee-SUy.js} +1 -1
  304. package/storybook-static/assets/Tabs.stories-KqQTRqYo.js +57 -0
  305. package/storybook-static/assets/TabsBox-B5ugO318.css +1 -0
  306. package/storybook-static/assets/TabsBox-BM1mIOmT.js +2 -0
  307. package/storybook-static/assets/TagInput-ChmW4s9O.css +1 -0
  308. package/storybook-static/assets/TagInput-yEIGCMwZ.js +7 -0
  309. package/storybook-static/assets/TagInput.stories-DmuVnRfR.js +12 -0
  310. package/storybook-static/assets/{Text-BPlJUr3R.js → Text-DUN8T0sU.js} +1 -1
  311. package/storybook-static/assets/{Textarea-D3S4MkiX.js → Textarea-BeKW8LG0.js} +1 -1
  312. package/storybook-static/assets/Textarea-W648f4l-.js +1 -0
  313. package/storybook-static/assets/Textarea.stories-BbZ-hCVF.js +27 -0
  314. package/storybook-static/assets/{TimePanel-C2iZ9Qr6.js → TimePanel-D-RygTSo.js} +1 -1
  315. package/storybook-static/assets/{TimePanel.stories-JTjIv6z1.js → TimePanel.stories-CzVur3oq.js} +1 -1
  316. package/storybook-static/assets/{Toggle-OlKw8qaK.js → Toggle-CCZ3ekPb.js} +1 -1
  317. package/storybook-static/assets/{Toggle-CHmajZE5.js → Toggle-Dc5aTAHb.js} +1 -1
  318. package/storybook-static/assets/{Toggle.stories-k4Z8qQVs.js → Toggle.stories-R3abtezP.js} +1 -1
  319. package/storybook-static/assets/TreeMultiSelect-Bi-LirPw.js +1 -0
  320. package/storybook-static/assets/{TreeMultiSelect-dOg0l7rk.js → TreeMultiSelect-CzKVkvZd.js} +1 -1
  321. package/storybook-static/assets/{TreeMultiSelect.stories-CAzZRxn5.js → TreeMultiSelect.stories-Co_PUawN.js} +1 -1
  322. package/storybook-static/assets/TreePickerBase-BIbhsg5t.js +22 -0
  323. package/storybook-static/assets/{TreePickerBase-DMs9EpFv.css → TreePickerBase-BxLupQDs.css} +1 -1
  324. package/storybook-static/assets/{TreeSelect-CDecTnag.js → TreeSelect-B4G9gk8x.js} +1 -1
  325. package/storybook-static/assets/{TreeSelect-BrNyI_Qx.js → TreeSelect-Dm3zEY1S.js} +1 -1
  326. package/storybook-static/assets/{TreeSelect.stories-BUOw2Rwn.js → TreeSelect.stories-sRek_0PI.js} +1 -1
  327. package/storybook-static/assets/{TreeTable-BXw7lFBk.js → TreeTable-ybfR3-5k.js} +1 -1
  328. package/storybook-static/assets/{TreeTable.stories-z40pruPV.js → TreeTable.stories-BoZjeFKM.js} +1 -1
  329. package/storybook-static/assets/{async-BLDV04P4.js → async-Df2RUQlC.js} +1 -1
  330. package/storybook-static/assets/{blocks-BiaKjftm.js → blocks-BcJ54T3V.js} +3 -3
  331. package/storybook-static/assets/{browserAndReact-DX4H5rjQ.js → browserAndReact-Bfk1cWqT.js} +1 -1
  332. package/storybook-static/assets/{check-fB4gCKB_.js → check-Dl-iF50o.js} +1 -1
  333. package/storybook-static/assets/{chevron-down-B9GH0QvB.js → chevron-down-DOIDj8WF.js} +1 -1
  334. package/storybook-static/assets/{chevron-left-DjbyJeHO.js → chevron-left-DHEBK_X7.js} +1 -1
  335. package/storybook-static/assets/{chevron-right-D29uf09I.js → chevron-right-Cf6T-grH.js} +1 -1
  336. package/storybook-static/assets/{chunk-W22LQPXL-CGkHFiZ0.js → chunk-W22LQPXL-DLMJSt_s.js} +1 -1
  337. package/storybook-static/assets/{circle-alert-Dmd7-WNp.js → circle-alert-DmNt0Uwi.js} +1 -1
  338. package/storybook-static/assets/{circle-check-VtVMsaJJ.js → circle-check-DN8HwnBX.js} +1 -1
  339. package/storybook-static/assets/{components-CsfQDbHv.js → components-DI9O99vY.js} +3 -3
  340. package/storybook-static/assets/{contextMenu-CzdfaUsd.js → contextMenu-DWXX4ZHr.js} +1 -1
  341. package/storybook-static/assets/defaultRenderers-DwI2nLiY.js +1 -0
  342. package/storybook-static/assets/defaultRenderers-tFmVIvt_.css +1 -0
  343. package/storybook-static/assets/{download-CyVhTbv6.js → download-oMaZX_8z.js} +1 -1
  344. package/storybook-static/assets/{filesAndExcel-DlUnL-Uu.js → filesAndExcel-ur50Ve27.js} +1 -1
  345. package/storybook-static/assets/{floating-ui.react-DZ8IyUV4.js → floating-ui.react-zHdvT_EM.js} +1 -1
  346. package/storybook-static/assets/formatters-CVj-3Vn0-BFaHJqZL.js +1 -0
  347. package/storybook-static/assets/{formatters-BTz64vfu.js → formatters-CnFJmQFO.js} +16 -1
  348. package/storybook-static/assets/{formatters-runtime-DVi3RdYb.js → formatters-runtime-LyrD5drJ.js} +1 -1
  349. package/storybook-static/assets/{foundationLib-CFj4J-Pc.js → foundationLib-D-8O61ay.js} +1 -1
  350. package/storybook-static/assets/{hooks-Ch5aYb7R.js → hooks-DbzqJvP-.js} +2 -2
  351. package/storybook-static/assets/iframe-D7iJQEr5.css +1 -0
  352. package/storybook-static/assets/iframe-hjgtoR20.js +1 -0
  353. package/storybook-static/assets/{iframe-DaN-XFub.js → iframe-jqJCNVG-.js} +4 -4
  354. package/storybook-static/assets/{info-Cirk1RKZ.js → info-DTU0XXKY.js} +1 -1
  355. package/storybook-static/assets/{odata-BtfB5Aje.js → odata-BBbQt4pn.js} +1 -1
  356. package/storybook-static/assets/odata-service-B5w4YBao-BW9QLSrS.js +3 -0
  357. package/storybook-static/assets/{odataAndTables-TEZyQ-TZ.js → odataAndTables-VK5X4V6B.js} +1 -1
  358. package/storybook-static/assets/{odataFetchFn-DEKVPDzV.js → odataFetchFn-T6FIbpPz.js} +1 -1
  359. package/storybook-static/assets/{odataStoryFixtures-CDDaJZKW.js → odataStoryFixtures-pMgI1q6n.js} +1 -1
  360. package/storybook-static/assets/{persisted-BzLLmgUK.js → persisted-EtS4vVCD.js} +1 -1
  361. package/storybook-static/assets/{pureUtilities-Dw249t3R.js → pureUtilities-BIjOnY3J.js} +1 -1
  362. package/storybook-static/assets/react-BG6GAoHo.js +9 -0
  363. package/storybook-static/assets/{refresh-cw-BN3JCsXv.js → refresh-cw-1qKqpsOV.js} +1 -1
  364. package/storybook-static/assets/{runtimeAndState-CCVgv3ck.js → runtimeAndState-BorNVnh8.js} +1 -1
  365. package/storybook-static/assets/{settings-2-jtcbbWm5.js → settings-2-CPrjOIso.js} +1 -1
  366. package/storybook-static/assets/{sortable-dNWaObUX.js → sortable-D6C8wTse.js} +1 -1
  367. package/storybook-static/assets/{syntaxhighlighter-T5IQBZDB-hYwVxXYm.js → syntaxhighlighter-T5IQBZDB-ifBULuBx.js} +1 -1
  368. package/storybook-static/assets/{trash-2-DrVfT0z5.js → trash-2-CIrQtNzc.js} +1 -1
  369. package/storybook-static/assets/{triangle-alert-B1Q28Bq9.js → triangle-alert-D3piZGn9.js} +1 -1
  370. package/storybook-static/assets/ui-CD51AD-_.css +1 -0
  371. package/storybook-static/assets/ui.module-kfCm3RIG.js +1 -0
  372. package/storybook-static/assets/{uiClasses-CO3Cdv1E.js → uiClasses-BS9RPcty.js} +1 -1
  373. package/storybook-static/assets/{useODataSelectBase-DlbeGYUP.js → useODataSelectBase-CwDThJRi.js} +1 -1
  374. package/storybook-static/assets/{useODataTreeData-CvsoLfiG.js → useODataTreeData-C4v28uFV.js} +1 -1
  375. package/storybook-static/assets/{usePickerDefaultFilter-DdxyE_i8.js → usePickerDefaultFilter-Be420WNF.js} +1 -1
  376. package/storybook-static/assets/usePickerQuery-BodFjGup.js +1 -0
  377. package/storybook-static/assets/{usePickerTriggerController-BHBjSLtn.js → usePickerTriggerController-BjnU7tfr.js} +1 -1
  378. package/storybook-static/assets/{usePickerTriggerController-DzBkX15M.css → usePickerTriggerController-Q-ULIoGr.css} +1 -1
  379. package/storybook-static/assets/{x-Dh43gJN9.js → x-CaGImgpS.js} +1 -1
  380. package/storybook-static/iframe.html +3 -3
  381. package/storybook-static/index.json +1 -1
  382. package/storybook-static/project.json +1 -1
  383. package/dist/chunks/CalendarView-Z_XWk7aI.js +0 -439
  384. package/dist/chunks/TextEditorLexicalClient-CK8j3RA4.js.map +0 -1
  385. package/dist/chunks/button-BU2kRzwu.js.map +0 -1
  386. package/dist/chunks/check-box-Dd3YFuxd.js.map +0 -1
  387. package/dist/chunks/context-menu-C6RO7soI.js.map +0 -1
  388. package/dist/chunks/date-input-BzExUQnc.js +0 -340
  389. package/dist/chunks/date-input-BzExUQnc.js.map +0 -1
  390. package/dist/chunks/input-Bp6_Ucgr.js.map +0 -1
  391. package/dist/chunks/multi-select-COEkc8Qc.js.map +0 -1
  392. package/dist/chunks/picker-e6IsrMUG.js.map +0 -1
  393. package/dist/chunks/popover-CGU3MlsH.js +0 -222
  394. package/dist/chunks/select-BON0S9Dr.js.map +0 -1
  395. package/dist/chunks/ui.module-BisoTevy.js.map +0 -1
  396. package/storybook-static/assets/Badge-Cr7bAbxa.css +0 -1
  397. package/storybook-static/assets/CalendarView-CqKlnF8k.js +0 -1
  398. package/storybook-static/assets/CheckBox-CT1_Mjc0.css +0 -1
  399. package/storybook-static/assets/ContextMenu-Sv4wfyS3.js +0 -1
  400. package/storybook-static/assets/ContextMenu.stories-CVw3hOvY.js +0 -90
  401. package/storybook-static/assets/DateInput-D8_Oleoy.js +0 -1
  402. package/storybook-static/assets/DateInput-pmGiwdvw.css +0 -1
  403. package/storybook-static/assets/Dialog.stories-lcadmonM.js +0 -31
  404. package/storybook-static/assets/Disclosure-DzVnkjef.css +0 -1
  405. package/storybook-static/assets/Disclosure.stories-BeizaZWP.js +0 -41
  406. package/storybook-static/assets/DropZone.stories-B4J6OZ3T.js +0 -44
  407. package/storybook-static/assets/ExpandableActionPanel.stories-gCrqbhG6.js +0 -20
  408. package/storybook-static/assets/FloatingPopover-D4h-c24R.js +0 -1
  409. package/storybook-static/assets/FormattedTableCell-Dh-kHTOC.js +0 -18
  410. package/storybook-static/assets/Input-BioMOZju.css +0 -1
  411. package/storybook-static/assets/Input-Co--DMHY.js +0 -3
  412. package/storybook-static/assets/InputFile.stories-CypBLWFh.js +0 -36
  413. package/storybook-static/assets/InputFiles.stories-BGwCp7OC.js +0 -33
  414. package/storybook-static/assets/InputImage.stories-CdpOudXI.js +0 -51
  415. package/storybook-static/assets/LayoutPicker-9tLTatHF.css +0 -1
  416. package/storybook-static/assets/LayoutPicker.stories-DXcn-WXQ.js +0 -449
  417. package/storybook-static/assets/Listbox-DF8E6oMR.js +0 -38
  418. package/storybook-static/assets/Listbox.stories-C98_9wX3.js +0 -47
  419. package/storybook-static/assets/Modal.stories-DAC_QwN7.js +0 -180
  420. package/storybook-static/assets/MultiSelect-B-wX6JPo.js +0 -2
  421. package/storybook-static/assets/MultiSelectToken-DDu5n78h.css +0 -1
  422. package/storybook-static/assets/MultiSelectToken-fjW8p4YG.js +0 -1
  423. package/storybook-static/assets/PeriodSelect.stories-BIYx4_Yy.js +0 -64
  424. package/storybook-static/assets/PresetRangeDateInput.stories-Cqd4eb0N.js +0 -15
  425. package/storybook-static/assets/RadioButton.stories-Cbho4i83.js +0 -36
  426. package/storybook-static/assets/Select-X_O4M8Hi.js +0 -12
  427. package/storybook-static/assets/SingleDateTimeInput-mOllNfg2.css +0 -1
  428. package/storybook-static/assets/SingleDateTimeInput.stories-B1aZ754N.js +0 -78
  429. package/storybook-static/assets/Slider-BYrHesOR.js +0 -1
  430. package/storybook-static/assets/Slider-DMDFRH6B.css +0 -1
  431. package/storybook-static/assets/SliderInput.stories-MjSmhiOM.js +0 -68
  432. package/storybook-static/assets/StateSelect.stories-D46m5HNn.js +0 -47
  433. package/storybook-static/assets/Switch.stories-EiAb5Z-D.js +0 -26
  434. package/storybook-static/assets/Tabs-BLkTB6pp.css +0 -1
  435. package/storybook-static/assets/Tabs.stories-DXZ0r2ix.js +0 -58
  436. package/storybook-static/assets/TagInput-LeQAhDgs.css +0 -1
  437. package/storybook-static/assets/TagInput.stories-CoM8rXwa.js +0 -18
  438. package/storybook-static/assets/Textarea.stories-47k8uHdB.js +0 -27
  439. package/storybook-static/assets/TreeMultiSelect-BC_n1Wb-.js +0 -1
  440. package/storybook-static/assets/TreePickerBase-ycYQYQgi.js +0 -22
  441. package/storybook-static/assets/formatters--mhLir82-v41eaI4a.js +0 -1
  442. package/storybook-static/assets/iframe-CJQlmNUm.css +0 -1
  443. package/storybook-static/assets/iframe-Cr7AcW_R.js +0 -1
  444. package/storybook-static/assets/odata-service-DnPlNGpU-Bpd4Zh9L.js +0 -3
  445. package/storybook-static/assets/react-KzpmXJc9.js +0 -9
  446. package/storybook-static/assets/ui-CSPaMpbi.css +0 -1
  447. package/storybook-static/assets/ui.module-DoMIk8Oc.js +0 -1
  448. package/storybook-static/assets/usePickerQuery-6rDaPaB0.js +0 -1
  449. /package/storybook-static/assets/{CheckBox.module-BBzuj5He.js → CheckBox.module-CM_GPl_E.js} +0 -0
  450. /package/storybook-static/assets/{Modal-BL_cTIW7.css → ModalManagerProvider-BL_cTIW7.css} +0 -0
  451. /package/storybook-static/assets/{array-BBSjoTRy-CIRmlF93.js → array-D-_yMMUK-CIRmlF93.js} +0 -0
@@ -1,68 +0,0 @@
1
- import{n as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{t as n}from"./react-C21x__mS.js";import{n as r}from"./iframe-DaN-XFub.js";import{a as i,i as a}from"./utils-DUM89eIj.js";import{a as o,o as s,s as c}from"./odata-service-DnPlNGpU-Bpd4Zh9L.js";import{n as l,t as u}from"./Popover-D6gSyjaW.js";import{n as d,t as f}from"./ui.module-DoMIk8Oc.js";import{a as p,c as m,l as h,o as g,r as ee,u as _}from"./Input-Co--DMHY.js";import{n as v,t as y}from"./PickerTriggerActions-BBZmXagt.js";import{a as b,c as x,d as te,i as S,l as C,n as ne,o as w,p as re,s as T,u as E}from"./Slider-BYrHesOR.js";function ie({open:e,disabled:t,setOpen:n}){return(0,P.jsx)(u.Trigger,{passive:!0,children:(0,P.jsx)(`div`,{children:(0,P.jsx)(y,{open:e,disabled:t,openAriaLabel:`Открыть слайдер`,closeAriaLabel:`Закрыть слайдер`,onToggleMouseDown:e=>e.preventDefault(),onToggleClick:()=>n(e=>!e)})})})}function D(e,t){let n=C(e,t);return{start:n[0]===null?`-∞`:String(n[0]),end:n[1]===null?`∞`:String(n[1])}}function ae(e,t){let n=e.trim();return n===``||n===t?null:s(n)}function O(e,t,n){let r=t.filter(t=>T(t)===e);if(r.length)return e===null&&n===`end`?r[r.length-1]:r[0]}function k(e,t){return e?.readonlyLabel?.trim()?e.readonlyLabel.trim():typeof e?.label==`string`||typeof e?.label==`number`?String(e.label):t===null?``:String(t)}function A(e,t,n){return k(O(e,t,n),e)}function oe(e,t,n){let[r,i]=e,a=r===null,o=i===null;return a&&o?n??``:a?`Меньше ${A(i,t,`end`)}`:o?`Больше ${A(r,t,`start`)}`:r===i?`Равно ${A(r,t,`start`)}`:`От ${A(r,t,`start`)} до ${A(i,t,`end`)}`}function j({value:e,onChange:t,min:n,max:r,step:i,marks:a,marksPosition:o=`value`,className:c,error:l,onClearError:d,label:f,description:m,placeholder:h,disabled:g,size:ee}){let{min:_,max:v}=(0,N.useMemo)(()=>re(n,r),[n,r]),y=(0,N.useMemo)(()=>te(a,_,v),[a,_,v]),x=(0,N.useMemo)(()=>({min:_,max:v,step:i,marks:y,marksPosition:o}),[_,v,i,y,o]),S=E(e,x),[C,w]=(0,N.useState)(!1),[T,D]=(0,N.useState)(String(S)),ae=(0,N.useEffectEvent)(e=>{D(e)});(0,N.useEffect)(()=>{ae(String(S))},[S]);let O=(0,N.useCallback)(()=>{if(g){D(String(S));return}let n=s(T);if(n===void 0){D(String(S));return}let r=E(n,x);e!==r&&(t(r),d?.()),D(String(r))},[g,T,S,t,d,x,e]);return(0,P.jsxs)(u,{open:C,onOpenChange:w,children:[(0,P.jsx)(p,{label:f,description:m,placeholder:h,disabled:g,size:ee,className:c,error:l,value:T,onChange:D,onBlur:O,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),O())},endAdornmentWidth:`var(--control-height)`,endAdornment:ie({open:C,disabled:g,setOpen:w})}),(0,P.jsx)(u.Content,{background:`primary`,children:(0,P.jsx)(`div`,{className:b.popoverContent,children:(0,P.jsx)(ne,{mode:`single`,min:_,max:v,step:i,marks:y,marksPosition:o,marksDisplay:`full`,value:e,onChange:e=>{t(e),D(String(e)),d?.()},disabled:g})})})]})}function M({value:e,onChange:t,min:n,max:r,step:a,marks:o,marksPosition:s=`value`,className:c,error:l,onClearError:f,label:p,description:m,readonlyValueText:h,placeholder:v,disabled:y,size:x}){let{min:S,max:w}=(0,N.useMemo)(()=>re(n,r),[n,r]),T=(0,N.useMemo)(()=>te(o,S,w),[o,S,w]),E=(0,N.useMemo)(()=>({min:S,max:w,step:a,marks:T,marksPosition:s}),[S,w,a,T,s]),O=(0,N.useMemo)(()=>C(e,E),[E,e]),k=(0,N.useMemo)(()=>D(O,E),[O,E]),[A,j]=(0,N.useState)(!1),[M,F]=(0,N.useState)(k.start),[I,L]=(0,N.useState)(k.end),[R,z]=(0,N.useState)(O),B=(0,N.useEffectEvent)((e,t)=>{F(e),L(t)});(0,N.useEffect)(()=>{A||B(k.start,k.end)},[k.start,k.end,O,A]);let{controlId:V,labelId:H,descriptionId:U,errorId:W,describedBy:G}=_({hasLabel:p!=null,hasDescription:!!m,hasError:!!l}),K=(0,N.useCallback)(()=>{F(k.start),L(k.end)},[k.end,k.start]),q=(0,N.useCallback)(()=>{if(y){K();return}let e=ae(M,`-∞`),n=ae(I,`∞`);if(e===void 0||n===void 0){K();return}let r=C([e,n],E);se(O,r)||(t(r),f?.());let i=D(r,E);F(i.start),L(i.end),z(r)},[y,I,M,O,t,f,K,E]),J=(0,N.useCallback)(e=>{let n=C(e,E);se(O,n)||(t(n),f?.());let r=D(n,E);F(r.start),L(r.end),z(n)},[O,t,f,E]),Y=e=>{!A&&e&&(z(O),F(k.start),L(k.end)),A&&!e&&!y&&J(R),j(e)},X=e=>{e.key===`Enter`&&(e.preventDefault(),q())},Z=e=>{let t=C(e,E);z(t);let n=D(t,E);F(n.start),L(n.end)},Q=h?oe(A?R:O,T,v):void 0;return(0,P.jsxs)(u,{open:A,onOpenChange:Y,children:[(0,P.jsx)(g,{label:p,description:m,disabled:y,className:c,size:x,error:l,controlId:V,labelId:H,descriptionId:U,errorId:W,children:(0,P.jsx)(ee,{endAdornmentWidth:`var(--control-height)`,endAdornment:ie({open:A,disabled:y,setOpen:e=>{Y(typeof e==`function`?e(A):e)}}),children:({controlClassName:e})=>(0,P.jsx)(`div`,{id:V,className:i(d.uiInputControlFake,b.rangeInputControl,e),"data-invalid":l?``:void 0,"data-disabled":y||void 0,role:`group`,"aria-invalid":!!l||void 0,"aria-label":typeof p==`string`?p:`Диапазон`,"aria-labelledby":typeof p==`string`?void 0:H,"aria-describedby":G,children:h?(0,P.jsx)(`span`,{className:i(`flexEllipsis`,!Q&&d.uiPlaceholder),children:Q||v}):(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(`input`,{type:`text`,inputMode:`decimal`,className:b.rangeSegmentInput,value:M,disabled:y,"aria-label":`Начало диапазона`,onChange:e=>F(e.target.value),onBlur:q,onKeyDown:X}),(0,P.jsx)(`span`,{className:b.rangeSeparator,"data-disabled":y||void 0,children:`-`}),(0,P.jsx)(`input`,{type:`text`,inputMode:`decimal`,className:b.rangeSegmentInput,value:I,disabled:y,"aria-label":`Конец диапазона`,onChange:e=>L(e.target.value),onBlur:q,onKeyDown:X})]})})})}),(0,P.jsx)(u.Content,{background:`primary`,children:(0,P.jsx)(`div`,{className:b.popoverContent,children:(0,P.jsx)(ne,{mode:`range`,min:S,max:w,step:a,marks:T,marksPosition:s,marksDisplay:`full`,value:R,onChange:Z,disabled:y})})})]})}function se(e,t){return e[0]===t[0]&&e[1]===t[1]}var N,P;function F(){return(F=e((()=>{N=n(),c(),a(),m(),h(),v(),l(),f(),x(),S(),w(),P=r(),j.__docgenInfo={description:``,methods:[],displayName:`SliderInput`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},min:{required:!0,tsType:{name:`number`},description:`Минимальная координата шкалы. Marks вне этой границы не участвуют в выборе.`},max:{required:!0,tsType:{name:`number`},description:`Максимальная координата шкалы. Marks вне этой границы не участвуют в выборе.`},step:{required:!1,tsType:{name:`number`},description:`Шаг ручного ввода и слайдера, если не заданы marks.`},marksPosition:{required:!1,tsType:{name:`NumberScaleMarksPosition`},description:`Способ визуального размещения marks и бегунка в popover.`,defaultValue:{value:`"value"`,computed:!1}},className:{required:!1,tsType:{name:`string`},description:`Внешний CSS-класс общей обёртки поля.`},error:{required:!1,tsType:{name:`string`},description:`Текст внешней ошибки.`},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:`Сбрасывает внешнюю ошибку после успешного commit или выбора в popover.`},marks:{required:!1,tsType:{name:`unknown`},description:"Marks single-слайдера. Single-компонент отдаёт наружу `mark.value`."}}},M.__docgenInfo={description:``,methods:[],displayName:`SliderRangeInput`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},min:{required:!0,tsType:{name:`number`},description:`Минимальная координата шкалы. Marks вне этой границы не участвуют в выборе.`},max:{required:!0,tsType:{name:`number`},description:`Максимальная координата шкалы. Marks вне этой границы не участвуют в выборе.`},step:{required:!1,tsType:{name:`number`},description:`Шаг ручного ввода и слайдера, если не заданы marks.`},marksPosition:{required:!1,tsType:{name:`NumberScaleMarksPosition`},description:`Способ визуального размещения marks и бегунка в popover.`,defaultValue:{value:`"value"`,computed:!1}},className:{required:!1,tsType:{name:`string`},description:`Внешний CSS-класс общей обёртки поля.`},error:{required:!1,tsType:{name:`string`},description:`Текст внешней ошибки.`},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:`Сбрасывает внешнюю ошибку после успешного commit или выбора в popover.`},marks:{required:!1,tsType:{name:`unknown`},description:"Marks range-слайдера. `value` задаёт координату на шкале, `outputValue` задаёт публичное значение для потребителя."},readonlyValueText:{required:!1,tsType:{name:`boolean`},description:`Показывает вместо ручных сегментов готовый текст по выбранным marks.
2
- Popover остаётся единственным способом изменить значение через слайдер, а потребитель получает изменение при закрытии popover.`}}}})))()}var I=t({Basic:()=>G,DecimalManualInput:()=>q,Disabled:()=>$,MarksSnap:()=>K,RangeInputMonthToDaysOutput:()=>X,RangeInputOpenMonthToDaysOutput:()=>Z,RangeInputOpenWithoutExplicitMiddleOutput:()=>Y,RangeInputPlain:()=>J,RangeInputReadonlyText:()=>Q,__namedExportsOrder:()=>ce,default:()=>W});function L({value:e,field:t,children:n}){let[r,i]=e??[null,null];return(0,z.jsxs)(`div`,{className:`marginTopMd`,children:[(0,z.jsx)(`div`,{className:`textSm сontent2`,children:`Preview фильтра`}),(0,z.jsx)(`pre`,{children:JSON.stringify({value:[r,i],filter:o(t,e)},null,2)}),n]})}var R,z,B,V,H,U,W,G,K,q,J,Y,X,Z,Q,$,ce;function le(){return(le=e((()=>{R=n(),c(),F(),z=r(),B=[{value:0,label:`0`},{value:20,label:`20`},{value:40,label:`40`},{value:60,label:`60`},{value:80,label:`80`},{value:100,label:`100`}],V=[{value:0,label:`Без нижней границы`,outputValue:null},{value:1,label:`1 мес.`},{value:3,label:`3 мес.`},{value:6,label:`6 мес.`},{value:12,label:`12 мес.`},{value:24,label:`24 мес.`},{value:25,label:`Без верхней границы`,outputValue:null}],H=[{value:1,label:`1 мес.`,outputValue:30},{value:3,label:`3 мес.`,outputValue:90},{value:6,label:`6 мес.`,outputValue:180},{value:12,label:`12 мес.`,outputValue:360},{value:24,label:`24 мес.`,outputValue:720}],U=[{value:0,label:`-`,outputValue:null},{value:1,label:`1м.`,outputValue:30},{value:3,label:`3м.`,outputValue:90},{value:6,label:`6м.`,outputValue:180},{value:12,label:`1г.`,outputValue:360},{value:18,label:`1.5г.`,outputValue:540},{value:24,label:`2г.`,outputValue:720},{value:25,label:`-`,outputValue:null}],W={title:`Shared/UI/SliderInput`,component:j,args:{value:12,onChange:()=>{},min:0,max:100,step:.5},parameters:{atomicCanvas:!0,layout:`padded`}},G={render:e=>{let[t,n]=(0,R.useState)(e.value);return(0,z.jsx)(j,{...e,label:`Порог`,description:`Ручной ввод и popover slider работают с одним значением.`,value:t,onChange:n})}},K={render:e=>{let[t,n]=(0,R.useState)(40);return(0,z.jsx)(j,{...e,label:`Готовый пресет`,marks:B,value:t,onChange:n})}},q={render:e=>{let[t,n]=(0,R.useState)(17.5);return(0,z.jsx)(j,{...e,label:`Десятичное значение`,value:t,onChange:n})},args:{step:.5}},J={render:()=>{let[e,t]=(0,R.useState)([20,80]);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(M,{label:`Процент выполнения`,description:"RangeInput без outputValue: наружу отдаётся координата `value`.",min:0,max:100,marks:B,value:e,onChange:t}),(0,z.jsx)(L,{value:e,field:`progress`,unit:`%`})]})}},Y={render:()=>{let[e,t]=(0,R.useState)([null,12]);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(M,{label:`Срок в месяцах`,description:"У крайних marks `outputValue:null`; у обычных marks outputValue не указан и берётся `value`.",min:0,max:25,marks:V,marksPosition:`index`,value:e,onChange:t}),(0,z.jsx)(L,{value:e,field:`months`,unit:` мес.`})]})}},X={render:()=>{let[e,t]=(0,R.useState)([90,360]);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(M,{label:`Срок: месяцы на шкале, дни в фильтре`,description:`В поле и фильтре видны дни, а popover показывает месячные marks.`,min:1,max:24,marks:H,marksPosition:`index`,value:e,onChange:t}),(0,z.jsx)(L,{value:e,field:`days`,unit:` дн.`})]})}},Z={render:()=>{let[e,t]=(0,R.useState)([null,720]);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(M,{label:`Срок: открытые границы и дни в фильтре`,description:"Крайние marks отдают null, обычные marks отдают дни через `outputValue`.",min:0,max:25,marks:U,marksPosition:`index`,value:e,onChange:t}),(0,z.jsx)(L,{value:e,field:`days`,unit:` дн.`})]})}},Q={render:()=>{let[e,t]=(0,R.useState)([90,180]);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(M,{label:`Срок текстом`,description:`В поле выводится готовый текст по marks, а изменение через popover коммитится при закрытии.`,min:0,max:25,marks:U,marksPosition:`index`,value:e,onChange:t,readonlyValueText:!0,placeholder:`Любой срок`}),(0,z.jsx)(L,{value:e,field:`days`,unit:` дн.`})]})}},$={args:{label:`Недоступно`,description:`Поле и popover отключены.`,value:20,disabled:!0,marks:B}},G.parameters={...G.parameters,docs:{...G.parameters?.docs,source:{originalSource:`{
3
- render: args => {
4
- const [value, setValue] = useState<number>(args.value);
5
- return <SliderInput {...args} label="Порог" description="Ручной ввод и popover slider работают с одним значением." value={value} onChange={setValue} />;
6
- }
7
- }`,...G.parameters?.docs?.source}}},K.parameters={...K.parameters,docs:{...K.parameters?.docs,source:{originalSource:`{
8
- render: args => {
9
- const [value, setValue] = useState<number>(40);
10
- return <SliderInput {...args} label="Готовый пресет" marks={percentMarks} value={value} onChange={setValue} />;
11
- }
12
- }`,...K.parameters?.docs?.source}}},q.parameters={...q.parameters,docs:{...q.parameters?.docs,source:{originalSource:`{
13
- render: args => {
14
- const [value, setValue] = useState<number>(17.5);
15
- return <SliderInput {...args} label="Десятичное значение" value={value} onChange={setValue} />;
16
- },
17
- args: {
18
- step: 0.5
19
- }
20
- }`,...q.parameters?.docs?.source}}},J.parameters={...J.parameters,docs:{...J.parameters?.docs,source:{originalSource:`{
21
- render: () => {
22
- const [value, setValue] = useState<SliderRangeValue>([20, 80]);
23
- return <>
24
- <SliderRangeInput label="Процент выполнения" description="RangeInput без outputValue: наружу отдаётся координата \`value\`." min={0} max={100} marks={percentMarks} value={value} onChange={setValue} />
25
- <RangePreview value={value} field="progress" unit="%" />
26
- </>;
27
- }
28
- }`,...J.parameters?.docs?.source}}},Y.parameters={...Y.parameters,docs:{...Y.parameters?.docs,source:{originalSource:`{
29
- render: () => {
30
- const [value, setValue] = useState<SliderRangeValue>([null, 12]);
31
- return <>
32
- <SliderRangeInput label="Срок в месяцах" description="У крайних marks \`outputValue:null\`; у обычных marks outputValue не указан и берётся \`value\`." min={0} max={25} marks={openMonthMarks} marksPosition="index" value={value} onChange={setValue} />
33
- <RangePreview value={value} field="months" unit=" мес." />
34
- </>;
35
- }
36
- }`,...Y.parameters?.docs?.source}}},X.parameters={...X.parameters,docs:{...X.parameters?.docs,source:{originalSource:`{
37
- render: () => {
38
- const [value, setValue] = useState<SliderRangeValue>([90, 360]);
39
- return <>
40
- <SliderRangeInput label="Срок: месяцы на шкале, дни в фильтре" description="В поле и фильтре видны дни, а popover показывает месячные marks." min={1} max={24} marks={monthToDayMarks} marksPosition="index" value={value} onChange={setValue} />
41
- <RangePreview value={value} field="days" unit=" дн." />
42
- </>;
43
- }
44
- }`,...X.parameters?.docs?.source}}},Z.parameters={...Z.parameters,docs:{...Z.parameters?.docs,source:{originalSource:`{
45
- render: () => {
46
- const [value, setValue] = useState<SliderRangeValue>([null, 720]);
47
- return <>
48
- <SliderRangeInput label="Срок: открытые границы и дни в фильтре" description="Крайние marks отдают null, обычные marks отдают дни через \`outputValue\`." min={0} max={25} marks={openMonthToDayMarks} marksPosition="index" value={value} onChange={setValue} />
49
- <RangePreview value={value} field="days" unit=" дн." />
50
- </>;
51
- }
52
- }`,...Z.parameters?.docs?.source}}},Q.parameters={...Q.parameters,docs:{...Q.parameters?.docs,source:{originalSource:`{
53
- render: () => {
54
- const [value, setValue] = useState<SliderRangeValue>([90, 180]);
55
- return <>
56
- <SliderRangeInput label="Срок текстом" description="В поле выводится готовый текст по marks, а изменение через popover коммитится при закрытии." min={0} max={25} marks={openMonthToDayMarks} marksPosition="index" value={value} onChange={setValue} readonlyValueText placeholder="Любой срок" />
57
- <RangePreview value={value} field="days" unit=" дн." />
58
- </>;
59
- }
60
- }`,...Q.parameters?.docs?.source}}},$.parameters={...$.parameters,docs:{...$.parameters?.docs,source:{originalSource:`{
61
- args: {
62
- label: "Недоступно",
63
- description: "Поле и popover отключены.",
64
- value: 20,
65
- disabled: true,
66
- marks: percentMarks
67
- }
68
- }`,...$.parameters?.docs?.source}}},ce=[`Basic`,`MarksSnap`,`DecimalManualInput`,`RangeInputPlain`,`RangeInputOpenWithoutExplicitMiddleOutput`,`RangeInputMonthToDaysOutput`,`RangeInputOpenMonthToDaysOutput`,`RangeInputReadonlyText`,`Disabled`]})))()}export{X as a,J as c,le as d,K as i,Q as l,q as n,Z as o,$ as r,Y as s,G as t,I as u};
@@ -1,47 +0,0 @@
1
- import{n as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{t as n}from"./react-C21x__mS.js";import{n as r,t as i}from"./circle-check-VtVMsaJJ.js";import{i as a,n as o,r as s,t as c}from"./info-Cirk1RKZ.js";import{n as l,t as u}from"./triangle-alert-B1Q28Bq9.js";import{i as d,n as f,r as p}from"./iframe-DaN-XFub.js";import{a as m,i as h}from"./utils-DUM89eIj.js";import{c as g,h as _,t as v}from"./formatters--mhLir82-v41eaI4a.js";import{n as y,t as b}from"./Select-X_O4M8Hi.js";var x,S;function C(){return(C=e((()=>{d(),x=[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}]],S=p(`circle-minus`,x)})))()}var w,T,E,D,O,k,A,j,M,N,P,F;function I(){return(I=e((()=>{w=`p4nQdZ`,T=`_94tg5v`,E=`HyK7Zs`,D=`Mm4hrB`,O=`clxxBQ`,k=`_5pJ7o-`,A=`VV6hKN`,j=`cuQNP0`,M=`w7nIOT`,N=`ed-Afj`,P=`Lbxloe`,F={button:w,valueContainer:T,swatch:E,optionsPalette:D,optionsDetailed:O,option:k,optionPalette:A,optionDetailed:j,optionMeta:M,optionMetaIcon:N,optionMetaLabel:P}})))()}function L({state:e,className:t}){return(0,W.jsx)(`span`,{className:m(F.swatch,t),"data-empty":e===`none`?``:void 0,style:{"--state-color":g[e]}})}function R(e){return!!(e?.icon||e?.label)}function z(e,t){return typeof t?.label==`string`&&t.label.trim()?t.label:e||`empty`}function B(e){return R(e)?(0,W.jsxs)(`span`,{className:F.optionMeta,children:[e?.icon?(0,W.jsx)(`span`,{className:F.optionMetaIcon,children:e.icon}):null,e?.label?(0,W.jsx)(`span`,{className:F.optionMetaLabel,children:e.label}):null]}):null}function V(e,t){return(0,W.jsxs)(`div`,{className:F.valueContainer,children:[(0,W.jsx)(L,{state:e}),B(t)]})}function H({label:e,description:t,disabled:n,placeholder:r,size:i,value:a,onChange:o,options:s=v,stateMeta:c,className:l,clearable:u}){let d=(0,U.useMemo)(()=>Array.from(new Set(s)),[s]),f=d.some(e=>R(c?.[e])),p={getOptionKey:e=>e||`__empty_state__`,getOptionLabel:e=>c?.[e]?.label??e,getOptionAriaLabel:e=>z(e,c?.[e]),renderValue:e=>V(e,c?.[e]),renderOption:e=>(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(L,{state:e}),f?B(c?.[e]):null]}),buttonClassName:F.button,optionsContentClassName:m(f?F.optionsDetailed:F.optionsPalette),getOptionClassName:()=>m(F.option,f?F.optionDetailed:F.optionPalette)};return(0,W.jsx)(b,{label:e,description:t,disabled:n,placeholder:r,size:i,value:a,onChange:o,options:d,className:l,clearable:u,...p})}var U,W;function G(){return(G=e((()=>{U=n(),_(),h(),y(),I(),W=f(),H.__docgenInfo={description:`Специализированный селект для выбора цветового или статусного состояния. Используется там, где значению соответствует визуальный swatch.`,methods:[],displayName:`StateSelect`,props:{placeholder:{required:!1,tsType:{name:`string`},description:``},options:{required:!1,tsType:{name:`unknown`},description:``,defaultValue:{value:`DEFAULT_VALUE_STATES`,computed:!0}},stateMeta:{required:!1,tsType:{name:`Partial`,elements:[{name:`Record`,elements:[{name:`State`},{name:`signature`,type:`object`,raw:`{
2
- label?: ReactNode;
3
- icon?: ReactNode;
4
- }`,signature:{properties:[{key:`label`,value:{name:`ReactNode`,required:!1}},{key:`icon`,value:{name:`ReactNode`,required:!1}}]}}],raw:`Record<State, StateMeta>`}],raw:`Partial<Record<State, StateMeta>>`},description:``},className:{required:!1,tsType:{name:`string`},description:``},clearable:{required:!1,tsType:{name:`boolean`},description:``}},composes:[`Omit`]}})))()}var ee=t({Controlled:()=>Y,PaletteOnly:()=>Z,WithMeta:()=>X,__namedExportsOrder:()=>Q,default:()=>J}),K,q,J,Y,X,Z,Q;function $(){return($=e((()=>{K=n(),l(),r(),o(),C(),a(),G(),q=f(),J={title:`Shared/UI/StateSelect`,component:H,args:{label:`Состояние`,description:`Выберите визуальный статус.`,placeholder:`Выберите значение`,value:`information`,onChange:()=>{},disabled:!1,size:`md`},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля выбора состояния.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Текст, когда значение не выбрано.`,control:`text`},value:{description:`Текущее состояние.`,control:`select`,options:[``,`none`,`information`,`success`,`warning`,`error`]},onChange:{description:`Вызывается при выборе состояния.`,control:!1},options:{description:`Кастомный набор доступных состояний.`,control:!1},stateMeta:{description:`Кастомные иконки и подписи для значений.`,control:!1},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},className:{description:`Дополнительный CSS-класс.`,control:`text`}}},Y={render:e=>{let[t,n]=(0,K.useState)(`information`);return(0,q.jsx)(H,{...e,value:t,onChange:n})}},X={render:e=>{let[t,n]=(0,K.useState)(`warning`);return(0,q.jsx)(H,{...e,value:t,onChange:n,stateMeta:{none:{label:`Без статуса`,icon:(0,q.jsx)(S,{})},information:{label:`Инфо`,icon:(0,q.jsx)(c,{})},success:{label:`Успех`,icon:(0,q.jsx)(i,{})},warning:{label:`Предупреждение`,icon:(0,q.jsx)(u,{})},error:{label:`Ошибка`,icon:(0,q.jsx)(s,{})}}})},args:{value:`warning`}},Z={render:e=>{let[t,n]=(0,K.useState)(`none`);return(0,q.jsx)(H,{...e,value:t,onChange:n,options:[`none`,`success`,`error`]})},args:{options:[`none`,`success`,`error`],value:`none`}},Y.parameters={...Y.parameters,docs:{...Y.parameters?.docs,source:{originalSource:`{
5
- render: args => {
6
- const [value, setValue] = useState<State | undefined>("information");
7
- return <StateSelect {...args} value={value} onChange={setValue} />;
8
- }
9
- }`,...Y.parameters?.docs?.source}}},X.parameters={...X.parameters,docs:{...X.parameters?.docs,source:{originalSource:`{
10
- render: args => {
11
- const [value, setValue] = useState<State | undefined>("warning");
12
- return <StateSelect {...args} value={value} onChange={setValue} stateMeta={{
13
- none: {
14
- label: "Без статуса",
15
- icon: <MinusCircleIcon />
16
- },
17
- information: {
18
- label: "Инфо",
19
- icon: <InfoIcon />
20
- },
21
- success: {
22
- label: "Успех",
23
- icon: <CheckCircle2Icon />
24
- },
25
- warning: {
26
- label: "Предупреждение",
27
- icon: <AlertTriangleIcon />
28
- },
29
- error: {
30
- label: "Ошибка",
31
- icon: <XCircleIcon />
32
- }
33
- }} />;
34
- },
35
- args: {
36
- value: "warning"
37
- }
38
- }`,...X.parameters?.docs?.source}}},Z.parameters={...Z.parameters,docs:{...Z.parameters?.docs,source:{originalSource:`{
39
- render: args => {
40
- const [value, setValue] = useState<State | undefined>("none");
41
- return <StateSelect {...args} value={value} onChange={setValue} options={["none", "success", "error"]} />;
42
- },
43
- args: {
44
- options: ["none", "success", "error"],
45
- value: "none"
46
- }
47
- }`,...Z.parameters?.docs?.source}}},Q=[`Controlled`,`WithMeta`,`PaletteOnly`]})))()}export{$ as a,X as i,Z as n,ee as r,Y as t};
@@ -1,26 +0,0 @@
1
- import{n as e,o as t,r as n}from"./rolldown-runtime-C0FnF6B9.js";import{t as r}from"./react-C21x__mS.js";import{n as i,t as a}from"./circle-check-VtVMsaJJ.js";import{i as o,n as s,r as c}from"./iframe-DaN-XFub.js";import{a as l,i as u}from"./utils-DUM89eIj.js";import{n as d,t as f}from"./ui.module-DoMIk8Oc.js";var p,m;function h(){return(h=e((()=>{o(),p=[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M4.929 4.929 19.07 19.071`,key:`196cmz`}]],m=c(`ban`,p)})))()}var g,_,v,y,b;function x(){return(x=e((()=>{g=`Or5LYA`,_=`w0AMfA`,v=`P1x4lq`,y=`-ZVOZo`,b={switchWrapper:g,switch:`qge3io`,iconWrapper:_,auto:v,checked:y}})))()}function S(e){let{label:t,description:n,disabled:r,checkedIcon:i=(0,w.jsx)(a,{}),uncheckedIcon:o=(0,w.jsx)(m,{}),className:s,type:c,id:u,size:f,placeholder:p,onChange:h,value:g,triState:_,...v}=e,y=(0,C.useId)(),x=u??y,S=n?`${x}-description`:void 0,T=t?`${x}-label`:void 0,E=()=>{if(!e.triState){e.onChange(!e.value);return}if(e.value===void 0){e.onChange(!0);return}if(e.value===!0){e.onChange(!1);return}e.value===!1&&e.onChange(void 0)},D=typeof e.value==`boolean`&&e.value,O=e.triState&&typeof e.value!=`boolean`,k=v[`aria-label`]??(t?void 0:`Переключатель`);return(0,w.jsxs)(`div`,{className:l(d.uiElement,r&&d.disabled),"aria-disabled":r||void 0,children:[t&&(0,w.jsxs)(`div`,{id:T,className:d.uiLabel,children:[t,`:`]}),n&&(0,w.jsx)(`p`,{id:S,className:d.uiDescription,children:n}),(0,w.jsx)(`button`,{...v,id:x,type:c??`button`,role:`switch`,disabled:r,"aria-checked":D,"aria-describedby":S,"aria-labelledby":T,"aria-label":k,"aria-disabled":r,"data-ui":`switch`,"data-action":`toggle-switch`,onClick:E,className:l(d.uiInputControl,b.switchWrapper,s),children:(0,w.jsx)(`div`,{className:b.switch,"data-disabled":r||void 0,children:O?(0,w.jsx)(`div`,{className:l(b.iconWrapper,b.auto,b.checked),children:`Auto`}):(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`div`,{className:l(b.iconWrapper,!e.value&&b.checked),children:o}),(0,w.jsx)(`div`,{className:l(b.iconWrapper,e.value&&b.checked),children:i})]})})})]})}var C,w;function T(){return(T=e((()=>{C=t(r(),1),u(),h(),i(),f(),x(),w=s(),S.__docgenInfo={description:`Переключатель boolean-состояния в виде слайдера. Подходит для быстрых настроек и включения/отключения опций.`,methods:[],displayName:`Switch`}})))()}var E=n({BiState:()=>A,Disabled:()=>M,TriState:()=>j,__namedExportsOrder:()=>N,default:()=>k}),D,O,k,A,j,M,N;function P(){return(P=e((()=>{D=r(),T(),O=s(),k={title:`Shared/UI/Switch`,component:S,args:{label:`Режим обработки`,description:`Переключение состояния`,value:!1,onChange:()=>{},triState:!1,disabled:!1},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок переключателя.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},value:{description:"Текущее значение (`boolean` или `undefined` в tri-state).",control:!1},onChange:{description:`Вызывается при изменении состояния.`,control:!1},triState:{description:"Включает трехсостоянный режим (`undefined → true → false`).",control:`boolean`},checkedIcon:{description:"Кастомная иконка для состояния `true`.",control:!1},uncheckedIcon:{description:"Кастомная иконка для состояния `false`.",control:!1},disabled:{description:`Блокирует переключение.`,control:`boolean`}}},A={render:e=>{let[t,n]=(0,D.useState)(!1);return(0,O.jsx)(S,{...e,value:t,onChange:n,triState:!1})}},j={render:e=>{let[t,n]=(0,D.useState)(void 0);return(0,O.jsxs)(`div`,{style:{display:`grid`,gap:8},children:[(0,O.jsx)(S,{...e,value:t,onChange:n,triState:!0}),(0,O.jsxs)(`div`,{children:[`Текущее значение: `,String(t)]})]})},args:{triState:!0,value:void 0}},M={args:{disabled:!0,value:!0}},A.parameters={...A.parameters,docs:{...A.parameters?.docs,source:{originalSource:`{
2
- render: args => {
3
- const [value, setValue] = useState(false);
4
- return <Switch {...args} value={value} onChange={setValue} triState={false} />;
5
- }
6
- }`,...A.parameters?.docs?.source}}},j.parameters={...j.parameters,docs:{...j.parameters?.docs,source:{originalSource:`{
7
- render: args => {
8
- const [value, setValue] = useState<boolean | undefined>(undefined);
9
- return <div style={{
10
- display: "grid",
11
- gap: 8
12
- }}>
13
- <Switch {...args} value={value} onChange={setValue} triState />
14
- <div>Текущее значение: {String(value)}</div>
15
- </div>;
16
- },
17
- args: {
18
- triState: true,
19
- value: undefined
20
- }
21
- }`,...j.parameters?.docs?.source}}},M.parameters={...M.parameters,docs:{...M.parameters?.docs,source:{originalSource:`{
22
- args: {
23
- disabled: true,
24
- value: true
25
- }
26
- }`,...M.parameters?.docs?.source}}},N=[`BiState`,`TriState`,`Disabled`]})))()}export{P as a,j as i,M as n,E as r,A as t};
@@ -1 +0,0 @@
1
- .pcMjuj{--tabs-border:none;--tabs-panel-border:none;--tabs-panel-padding:var(--space-md);--tabs-panel-bg:var(--surface-1);gap:var(--space-sm);min-width:0;height:100%;min-height:0;display:grid;overflow:hidden}.ITP5v-{--tabs-border:var(--border);--tabs-panel-border:var(--border)}.kzs94N{--tabs-panel-padding:0;--tabs-panel-bg:none;--tabs-panel-border:none}.ZSAoAa{gap:var(--space-xs);border:var(--tabs-border);background-color:var(--surface-1);min-width:0;padding:var(--space-xs);display:flex}.psYhsZ{border:var(--tabs-panel-border);background-color:var(--tabs-panel-bg);min-width:0;min-height:0}.ZSAoAa,.psYhsZ{border-radius:var(--radius-sm)}.mNDq9-{grid-template-rows:auto minmax(0,1fr)}.g156KO{grid-template-columns:10em minmax(0,1fr);min-height:0}.g156KO .ZSAoAa{flex-direction:column}.C2mO1e{overflow:auto}._28F3fs{text-align:left;min-height:var(--control-height);padding:var(--space-xs) var(--space-md);color:var(--content-2);border-radius:var(--radius-sm);font-variation-settings:"wght" 700;flex-shrink:0;font-weight:700;position:relative}._28F3fs:hover{cursor:pointer;color:var(--content-accent)}._28F3fs.UKZXTZ{color:var(--status-neutral-on-fill);background-color:var(--status-neutral-fill);border-color:var(--border-0);box-shadow:var(--shadow-xs)}._28F3fs:disabled{cursor:not-allowed;color:var(--content-2);background-color:var(--surface-2)}.jiTafe{min-width:0;height:100%;min-height:0;padding:0}.nhD0k7{min-width:0;height:100%;min-height:0;padding:var(--tabs-panel-padding)}.G8FICe{overflow:hidden}.W50XHh{gap:var(--space-md);min-width:0;height:100%;min-height:0;padding:var(--tabs-panel-padding);display:grid}.vnjXkU{min-width:0}.Nzvfhw{min-height:0}
@@ -1,58 +0,0 @@
1
- import{n as e,o as t,r as n}from"./rolldown-runtime-C0FnF6B9.js";import{t as r}from"./react-C21x__mS.js";import{n as i}from"./iframe-DaN-XFub.js";import{a,i as o,o as ee}from"./utils-DUM89eIj.js";import{i as s,n as c,r as l,t as u}from"./NoData-W7wK8oTW.js";import{n as d,t as f}from"./OneStepScroller-BSvYN6QP.js";import{n as p,t as m}from"./Scrollable-DrxMuH2M.js";function h(e){return e.find(e=>!e.disabled)?.id??null}function g(e,t){return t?e.find(e=>e.id===t&&!e.disabled)?.id??h(e):h(e)}function _(e){return e.filter(e=>!e.disabled)}function te({mountStrategy:e,isSelected:t,isVisited:n}){return e===`keep-mounted`||t||e===`lazy`&&n}function v({items:e,value:t,defaultValue:n,onValueChange:r,orientation:i=`horizontal`,activationMode:a=`automatic`,loop:o=!0}){let s=t!==void 0,c=(0,y.useMemo)(()=>_(e),[e]),l=c[0]?.id??null,[u,d]=(0,y.useState)(()=>g(e,n)),[f,p]=(0,y.useState)(()=>g(e,t??n)),m=g(e,t??n),[h,te]=(0,y.useState)(()=>m?new Set([m]):new Set),v=(0,y.useId)(),b=(0,y.useRef)({}),x=g(e,s?t:u),S=g(e,f)??x??l,C=(0,y.useMemo)(()=>{if(!x||h.has(x))return h;let e=new Set(h);return e.add(x),e},[x,h]),w=t=>{let n=g(e,t);n&&(te(e=>{if(e.has(n))return e;let t=new Set(e);return t.add(n),t}),s||d(n),r?.(n))},T=e=>{b.current[e]?.focus()},ne=e=>{if(c.length<2)return;let t=Math.max(0,c.findIndex(e=>e.id===(S??x??l))),n=ee({currentIndex:t,itemCount:c.length,key:e.key,orientation:i,wrap:o});if(n===null)return;e.preventDefault();let r=c[n]?.id;r&&(p(r),T(r),a===`automatic`&&w(r))},re=e=>{let t=e.relatedTarget;t instanceof Node&&e.currentTarget.contains(t)||p(x??l)},E=e=>`${v}-tab-${e}`,D=e=>`${v}-panel-${e}`;return{activationMode:a,orientation:i,selectedTabId:x,tabbableTabId:S,onTabListKeyDown:ne,onTabListBlur:re,getTabElementId:E,getPanelElementId:D,getTabButtonProps:e=>{let t=e.id===x,n=e.id===S;return{ref:t=>{b.current[e.id]=t},type:`button`,role:`tab`,id:E(e.id),disabled:e.disabled,"aria-selected":t,"aria-controls":D(e.id),"aria-disabled":e.disabled||void 0,tabIndex:e.disabled?-1:n?0:-1,onFocus:()=>p(e.id),onClick:()=>w(e.id)}},isVisited:e=>C.has(e)}}var y;function b(){return(b=e((()=>{y=r(),o()})))()}var x,S,C,w,T,ne,re,E,D,ie,ae,oe,se,ce,le,ue,O;function k(){return(k=e((()=>{x=`pcMjuj`,S=`ITP5v-`,C=`kzs94N`,w=`ZSAoAa`,T=`psYhsZ`,ne=`mNDq9-`,re=`g156KO`,E=`C2mO1e`,D=`_28F3fs`,ie=`UKZXTZ`,ae=`jiTafe`,oe=`nhD0k7`,se=`G8FICe`,ce=`W50XHh`,le=`vnjXkU`,ue=`Nzvfhw`,O={tabsContainer:x,bordered:S,cleanPanel:C,tabs:w,panels:T,horizontal:ne,vertical:re,panelScrollable:E,tab:D,selected:ie,panel:ae,panelBody:oe,layoutPanels:se,layoutPanel:ce,layoutSection:le,layoutContent:ue}})))()}function de({containerClassName:e,tabListClassName:t,panelsClassName:n,panelClassName:r,panelBodyClassName:i,loadingText:o}){return(0,A.jsxs)(`div`,{className:e,children:[(0,A.jsx)(`div`,{className:t,"aria-hidden":`true`,children:(0,A.jsx)(`button`,{type:`button`,disabled:!0,"data-disabled":``,className:a(O.tab,`skeletonLine`),children:`Загрузка...`})}),(0,A.jsx)(`div`,{className:n,"aria-busy":`true`,children:(0,A.jsx)(`div`,{className:r,children:(0,A.jsx)(`div`,{className:i,children:(0,A.jsx)(l,{text:o,className:`radiusSm`})})})})]})}var A;function fe(){return(fe=e((()=>{o(),s(),k(),A=i(),de.__docgenInfo={description:"Служебное loading-состояние для `TabsBox`.",methods:[],displayName:`TabsLoadingState`,props:{containerClassName:{required:!0,tsType:{name:`string`},description:``},tabListClassName:{required:!0,tsType:{name:`string`},description:``},panelsClassName:{required:!0,tsType:{name:`string`},description:``},panelClassName:{required:!0,tsType:{name:`string`},description:``},panelBodyClassName:{required:!0,tsType:{name:`string`},description:``},loadingText:{required:!1,tsType:{name:`string`},description:``}}}})))()}function pe({containerClassName:e,panelsClassName:t,panelClassName:n,panelBodyClassName:r}){return(0,j.jsx)(`div`,{className:e,children:(0,j.jsx)(`div`,{className:t,children:(0,j.jsx)(`div`,{className:n,children:(0,j.jsx)(`div`,{className:r,children:(0,j.jsx)(u,{className:`radiusSm`})})})})})}var j;function me(){return(me=e((()=>{c(),j=i(),pe.__docgenInfo={description:"Служебное empty-состояние для `TabsBox`.",methods:[],displayName:`TabsNoDataState`,props:{containerClassName:{required:!0,tsType:{name:`string`},description:``},panelsClassName:{required:!0,tsType:{name:`string`},description:``},panelClassName:{required:!0,tsType:{name:`string`},description:``},panelBodyClassName:{required:!0,tsType:{name:`string`},description:``}}}})))()}function he({tabId:e,isSelected:t,className:n,getTabElementId:r,getPanelElementId:i,children:a}){return(0,ge.jsx)(`div`,{role:`tabpanel`,id:i(e),"aria-labelledby":r(e),hidden:!t,className:n,children:a})}var ge;function _e(){return(_e=e((()=>{r(),ge=i(),he.__docgenInfo={description:``,methods:[],displayName:`TabsPanel`,props:{tabId:{required:!0,tsType:{name:`string`},description:``},isSelected:{required:!0,tsType:{name:`boolean`},description:``},className:{required:!1,tsType:{name:`string`},description:``},getTabElementId:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(tabId: string) => string`,signature:{arguments:[{type:{name:`string`},name:`tabId`}],return:{name:`string`}}},description:``},getPanelElementId:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(tabId: string) => string`,signature:{arguments:[{type:{name:`string`},name:`tabId`}],return:{name:`string`}}},description:``},children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``}}}})))()}function ve({items:e,state:t,className:n,ariaLabel:r,ariaLabelledBy:i}){return(0,M.jsx)(`div`,{className:n,role:`tablist`,"aria-orientation":t.orientation,"aria-label":r,"aria-labelledby":i,onKeyDown:t.onTabListKeyDown,onBlur:t.onTabListBlur,children:(e=>t.orientation===`horizontal`?(0,M.jsx)(f,{children:e}):(0,M.jsx)(M.Fragment,{children:e}))(e.map(e=>(0,M.jsx)(`button`,{...t.getTabButtonProps(e),"data-ui":`tabs-tab`,"data-action":`select-tab`,className:a(O.tab,`textWrap`,e.id===t.selectedTabId&&O.selected),children:e.title},e.id)))})}var M;function ye(){return(ye=e((()=>{o(),d(),k(),M=i(),ve.__docgenInfo={description:``,methods:[],displayName:`TabsTabList`,props:{items:{required:!0,tsType:{name:`Array`,elements:[{name:`TabsDescriptor`}],raw:`TabsDescriptor[]`},description:``},state:{required:!0,tsType:{name:`TabsStateModel`},description:``},className:{required:!1,tsType:{name:`string`},description:``},ariaLabel:{required:!1,tsType:{name:`string`},description:``},ariaLabelledBy:{required:!1,tsType:{name:`string`},description:``}}}})))()}function N({items:e,value:t,defaultValue:n,onValueChange:r,className:i,isLoading:o,loadingText:ee,cleanPanel:s,bordered:c=!1,orientation:l=`horizontal`,activationMode:u=`automatic`,mountStrategy:d=`unmount`,loop:f=!0,"aria-label":p,"aria-labelledby":m}){let h=v({items:e,value:t,defaultValue:n,onValueChange:r,orientation:l,activationMode:u,loop:f}),g=a(O.tabsContainer,O[l],c&&O.bordered,s&&O.cleanPanel,i),_=O.tabs,y=a(O.panels,O.panelScrollable,`scrollable overscroll`),b=O.panel,x=O.panelBody;return o?(0,P.jsx)(de,{containerClassName:g,tabListClassName:_,panelsClassName:y,panelClassName:b,panelBodyClassName:x,loadingText:ee}):e.length?(0,P.jsxs)(`div`,{className:g,children:[(0,P.jsx)(ve,{items:e,state:h,className:_,ariaLabel:p,ariaLabelledBy:m}),(0,P.jsx)(`div`,{className:y,children:e.map(e=>{let t=e.id===h.selectedTabId;return te({mountStrategy:d,isSelected:t,isVisited:h.isVisited(e.id)})?(0,P.jsx)(he,{tabId:e.id,isSelected:t,className:b,getTabElementId:h.getTabElementId,getPanelElementId:h.getPanelElementId,children:(0,P.jsx)(`div`,{className:x,children:e.content})},e.id):null})})]}):(0,P.jsx)(pe,{containerClassName:g,panelsClassName:y,panelClassName:b,panelBodyClassName:x})}var P;function be(){return(be=e((()=>{o(),b(),k(),fe(),me(),_e(),ye(),P=i(),N.__docgenInfo={description:`Простой items-based tabs-компонент.
2
- Сам управляет областью панели и её прокруткой.`,methods:[],displayName:`TabsBox`,props:{value:{required:!1,tsType:{name:`string`},description:``},defaultValue:{required:!1,tsType:{name:`string`},description:``},onValueChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},orientation:{required:!1,tsType:{name:`union`,raw:`"horizontal" | "vertical"`,elements:[{name:`literal`,value:`"horizontal"`},{name:`literal`,value:`"vertical"`}]},description:``,defaultValue:{value:`"horizontal"`,computed:!1}},activationMode:{required:!1,tsType:{name:`union`,raw:`"automatic" | "manual"`,elements:[{name:`literal`,value:`"automatic"`},{name:`literal`,value:`"manual"`}]},description:``,defaultValue:{value:`"automatic"`,computed:!1}},mountStrategy:{required:!1,tsType:{name:`union`,raw:`"unmount" | "lazy" | "keep-mounted"`,elements:[{name:`literal`,value:`"unmount"`},{name:`literal`,value:`"lazy"`},{name:`literal`,value:`"keep-mounted"`}]},description:``,defaultValue:{value:`"unmount"`,computed:!1}},loop:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`true`,computed:!1}},cleanPanel:{required:!1,tsType:{name:`boolean`},description:``},bordered:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`false`,computed:!1}},className:{required:!1,tsType:{name:`string`},description:``},"aria-label":{required:!1,tsType:{name:`string`},description:``},"aria-labelledby":{required:!1,tsType:{name:`string`},description:``},items:{required:!0,tsType:{name:`Array`,elements:[{name:`TabsBoxItem`}],raw:`TabsBoxItem[]`},description:``},isLoading:{required:!1,tsType:{name:`boolean`},description:``},loadingText:{required:!1,tsType:{name:`string`},description:``}}}})))()}function xe({onChange:e,onValueChange:t,...n}){return(0,Se.jsx)(N,{...n,onValueChange:n=>{t?.(n),e?.(n)}})}var Se;function Ce(){return(Ce=e((()=>{be(),Se=i(),xe.__docgenInfo={description:"@deprecated Используйте `TabsBox` для простого сценария и `TabsLayout` для составных layout-сценариев.",methods:[],displayName:`Tabs`,props:{value:{required:!1,tsType:{name:`string`},description:``},defaultValue:{required:!1,tsType:{name:`string`},description:``},onValueChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},orientation:{required:!1,tsType:{name:`union`,raw:`"horizontal" | "vertical"`,elements:[{name:`literal`,value:`"horizontal"`},{name:`literal`,value:`"vertical"`}]},description:``},activationMode:{required:!1,tsType:{name:`union`,raw:`"automatic" | "manual"`,elements:[{name:`literal`,value:`"automatic"`},{name:`literal`,value:`"manual"`}]},description:``},mountStrategy:{required:!1,tsType:{name:`union`,raw:`"unmount" | "lazy" | "keep-mounted"`,elements:[{name:`literal`,value:`"unmount"`},{name:`literal`,value:`"lazy"`},{name:`literal`,value:`"keep-mounted"`}]},description:``},loop:{required:!1,tsType:{name:`boolean`},description:``},cleanPanel:{required:!1,tsType:{name:`boolean`},description:``},bordered:{required:!1,tsType:{name:`boolean`},description:``},className:{required:!1,tsType:{name:`string`},description:``},"aria-label":{required:!1,tsType:{name:`string`},description:``},"aria-labelledby":{required:!1,tsType:{name:`string`},description:``},items:{required:!0,tsType:{name:`Array`,elements:[{name:`TabsBoxItem`}],raw:`TabsBoxItem[]`},description:``},isLoading:{required:!1,tsType:{name:`boolean`},description:``},loadingText:{required:!1,tsType:{name:`string`},description:``},onChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``}}}})))()}function we(e){let{type:t}=e;if(typeof t==`function`){let e=t;return e.displayName??e.name??null}if(typeof t==`object`&&t&&`displayName`in t){let e=t;return typeof e.displayName==`string`?e.displayName:null}return null}function F(e,t){return(0,I.isValidElement)(e)&&we(e)===t}function Te({children:e}){return(0,L.jsx)(L.Fragment,{children:e})}function Ee({children:e}){return(0,L.jsx)(L.Fragment,{children:e})}function De({children:e}){return(0,L.jsx)(L.Fragment,{children:e})}function Oe({children:e}){return(0,L.jsx)(L.Fragment,{children:e})}function ke(e,t){let n=null,r=null,i=null;for(let a of I.Children.toArray(e)){if(!(0,I.isValidElement)(a))throw Error(`TabsLayout.Tab "${t}" поддерживает только дочерние элементы TabsLayout.Toolbar, TabsLayout.Content и TabsLayout.Footer.`);if(F(a,Me)){if(n)throw Error(`TabsLayout.Tab "${t}" содержит более одного блока TabsLayout.Toolbar.`);n=a.props;continue}if(F(a,Ne)){if(r)throw Error(`TabsLayout.Tab "${t}" содержит более одного блока TabsLayout.Content.`);r=a.props;continue}if(F(a,Pe)){if(i)throw Error(`TabsLayout.Tab "${t}" содержит более одного блока TabsLayout.Footer.`);i=a.props;continue}throw Error(`TabsLayout.Tab "${t}" поддерживает только дочерние элементы TabsLayout.Toolbar, TabsLayout.Content и TabsLayout.Footer.`)}if(!r)throw Error(`TabsLayout.Tab "${t}" должен содержать блок TabsLayout.Content.`);return{toolbar:n,content:r,footer:i}}function Ae(e){return I.Children.toArray(e).map(e=>{if(!F(e,je))throw Error(`TabsLayout принимает только дочерние элементы TabsLayout.Tab.`);return{id:e.props.id,title:e.props.title,disabled:e.props.disabled,...ke(e.props.children,e.props.id)}})}var I,L,je,Me,Ne,Pe,R,z;function Fe(){return(Fe=e((()=>{I=t(r(),1),o(),b(),k(),_e(),ye(),L=i(),je=`TabsLayout.Tab`,Me=`TabsLayout.Toolbar`,Ne=`TabsLayout.Content`,Pe=`TabsLayout.Footer`,Te.displayName=je,Ee.displayName=Me,De.displayName=Ne,Oe.displayName=Pe,R=({children:e,value:t,defaultValue:n,onValueChange:r,className:i,bordered:o,cleanPanel:ee,orientation:s=`horizontal`,activationMode:c=`manual`,mountStrategy:l=`lazy`,loop:u=!0,"aria-label":d,"aria-labelledby":f})=>{let p=(0,I.useMemo)(()=>Ae(e),[e]),m=v({items:p,value:t,defaultValue:n,onValueChange:r,orientation:s,activationMode:c,loop:u}),h=a(O.tabsContainer,O[s],o&&O.bordered,ee&&O.cleanPanel,i),g=a(O.panels,O.layoutPanels);return(0,L.jsxs)(`div`,{className:h,children:[(0,L.jsx)(ve,{items:p,state:m,className:O.tabs,ariaLabel:d,ariaLabelledBy:f}),(0,L.jsx)(`div`,{className:g,children:p.map(e=>{let t=e.id===m.selectedTabId;if(!te({mountStrategy:l,isSelected:t,isVisited:m.isVisited(e.id)}))return null;let n=`${e.toolbar?`auto `:``}minmax(0, 1fr)${e.footer?` auto`:``}`;return(0,L.jsx)(he,{tabId:e.id,isSelected:t,className:O.panel,getTabElementId:m.getTabElementId,getPanelElementId:m.getPanelElementId,children:(0,L.jsxs)(`div`,{className:O.layoutPanel,style:{gridTemplateRows:n},children:[e.toolbar?(0,L.jsx)(`div`,{className:a(O.layoutSection,e.toolbar.className),children:e.toolbar.children}):null,(0,L.jsx)(`div`,{className:a(O.layoutSection,O.layoutContent,e.content.className),children:e.content.children}),e.footer?(0,L.jsx)(`div`,{className:a(O.layoutSection,e.footer.className),children:e.footer.children}):null]})},e.id)})})]})},R.displayName=`TabsLayout`,z=Object.assign(R,{Tab:Te,Toolbar:Ee,Content:De,Footer:Oe}),R.__docgenInfo={description:`Compound-оболочка tabs для составных panel-layout сценариев.
3
- Сам компонент управляет только переключением и каркасом панели.`,methods:[],displayName:`TabsLayout`,props:{value:{required:!1,tsType:{name:`string`},description:``},defaultValue:{required:!1,tsType:{name:`string`},description:``},onValueChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},orientation:{required:!1,tsType:{name:`union`,raw:`"horizontal" | "vertical"`,elements:[{name:`literal`,value:`"horizontal"`},{name:`literal`,value:`"vertical"`}]},description:``,defaultValue:{value:`"horizontal"`,computed:!1}},activationMode:{required:!1,tsType:{name:`union`,raw:`"automatic" | "manual"`,elements:[{name:`literal`,value:`"automatic"`},{name:`literal`,value:`"manual"`}]},description:``,defaultValue:{value:`"manual"`,computed:!1}},mountStrategy:{required:!1,tsType:{name:`union`,raw:`"unmount" | "lazy" | "keep-mounted"`,elements:[{name:`literal`,value:`"unmount"`},{name:`literal`,value:`"lazy"`},{name:`literal`,value:`"keep-mounted"`}]},description:``,defaultValue:{value:`"lazy"`,computed:!1}},loop:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`true`,computed:!1}},cleanPanel:{required:!1,tsType:{name:`boolean`},description:``},bordered:{required:!1,tsType:{name:`boolean`},description:``},className:{required:!1,tsType:{name:`string`},description:``},"aria-label":{required:!1,tsType:{name:`string`},description:``},"aria-labelledby":{required:!1,tsType:{name:`string`},description:``},children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``}}}})))()}var Ie=n({BoxBasic:()=>G,BoxControlled:()=>K,BoxMountStrategies:()=>J,BoxVertical:()=>q,DisabledTabs:()=>Y,Empty:()=>$,LayoutPanels:()=>X,LegacyTabs:()=>Z,Loading:()=>Q,__namedExportsOrder:()=>He,default:()=>Ve});function Le({label:e}){let[t,n]=(0,B.useState)(0);return(0,V.jsxs)(`div`,{style:H,children:[(0,V.jsxs)(`div`,{children:[`Панель: `,e]}),(0,V.jsxs)(`div`,{children:[`Локальный счётчик: `,t]}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>n(e=>e+1),children:`Увеличить`})]})}function Re(){let[e,t]=(0,B.useState)(`details`);return(0,V.jsx)(`div`,{style:{height:360},children:(0,V.jsxs)(z,{value:e,onValueChange:t,bordered:!0,"aria-label":`Составные панели документа`,children:[(0,V.jsxs)(z.Tab,{id:`details`,title:`Детали`,children:[(0,V.jsx)(z.Toolbar,{children:(0,V.jsx)(`div`,{className:`surface0 border radiusSm paddingSm`,children:`Панель инструментов вне scroll-области.`})}),(0,V.jsx)(z.Content,{children:(0,V.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`1fr 1fr`,gap:12,height:`100%`},children:[(0,V.jsx)(m,{className:`surface0 border radiusSm paddingSm h100`,children:W.map(e=>(0,V.jsxs)(`div`,{className:`paddingBlockXs`,children:[`Левая колонка: `,e]},`left-${e}`))}),(0,V.jsx)(m,{className:`surface0 border radiusSm paddingSm h100`,children:W.map(e=>(0,V.jsxs)(`div`,{className:`paddingBlockXs`,children:[`Правая колонка: `,e]},`right-${e}`))})]})}),(0,V.jsx)(z.Footer,{children:(0,V.jsx)(`div`,{className:`surface0 border radiusSm paddingSm`,children:`Футер тоже исключён из scroll-контента.`})})]}),(0,V.jsx)(z.Tab,{id:`history`,title:`История`,children:(0,V.jsx)(z.Content,{children:(0,V.jsx)(m,{className:`surface0 border radiusSm paddingSm h100`,children:W.map(e=>(0,V.jsxs)(`div`,{className:`paddingBlockXs`,children:[`История изменения: `,e]},`history-${e}`))})})})]})})}var B,V,H,U,ze,Be,W,Ve,G,K,q,J,Y,X,Z,Q,$,He;function Ue(){return(Ue=e((()=>{B=r(),Ce(),be(),Fe(),p(),V=i(),H={padding:16,display:`grid`,gap:12},U=[{id:`profile`,title:`Профиль`,content:(0,V.jsx)(`div`,{style:H,children:`Карточка пользователя и основные поля профиля.`})},{id:`settings`,title:`Настройки`,content:(0,V.jsx)(`div`,{style:H,children:`Параметры интерфейса, уведомлений и доступа.`})},{id:`history`,title:`История`,content:(0,V.jsx)(`div`,{style:H,children:`Последние действия, комментарии и изменения.`})}],ze=[{id:`first`,title:`Первая`,content:(0,V.jsx)(Le,{label:`Первая`})},{id:`second`,title:`Вторая`,content:(0,V.jsx)(Le,{label:`Вторая`})},{id:`third`,title:`Третья`,content:(0,V.jsx)(Le,{label:`Третья`})}],Be=[{id:`overview`,title:`Обзор`,content:(0,V.jsx)(`div`,{style:H,children:`Раздел доступен сразу.`})},{id:`analytics`,title:`Аналитика`,disabled:!0,content:(0,V.jsx)(`div`,{style:H,children:`Пока недоступно.`})},{id:`history`,title:`История`,content:(0,V.jsx)(`div`,{style:H,children:`История изменений и действий.`})}],W=Array.from({length:12},(e,t)=>`Элемент ${t+1}`),Ve={title:`Shared/UI/Tabs`,component:N,args:{items:U,orientation:`horizontal`,activationMode:`automatic`,mountStrategy:`unmount`,isLoading:!1,loadingText:`Загрузка вкладок...`,bordered:!1,loop:!0},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{items:{description:"Набор вкладок для `TabsBox`. Каждая вкладка задаётся через `id`, `title`, `content` и опциональный `disabled`.",control:!1},value:{description:`Активная вкладка в controlled-режиме.`,control:`text`},defaultValue:{description:`Начальная вкладка в uncontrolled-режиме.`,control:`text`},onValueChange:{description:`Вызывается при смене активной вкладки.`,control:!1},orientation:{description:`Направление списка вкладок.`,control:`inline-radio`,options:[`horizontal`,`vertical`]},activationMode:{description:"Режим клавиатурной активации: `automatic` меняет вкладку стрелками, `manual` только переводит фокус.",control:`inline-radio`,options:[`automatic`,`manual`]},mountStrategy:{description:"Политика монтирования панелей: `unmount`, `lazy` или `keep-mounted`.",control:`inline-radio`,options:[`unmount`,`lazy`,`keep-mounted`]},bordered:{description:`Добавляет рамку вокруг области панелей.`,control:`boolean`},loop:{description:`Разрешает циклическую навигацию стрелками и Home/End.`,control:`boolean`},className:{description:`Дополнительный CSS-класс корневого контейнера.`,control:`text`},isLoading:{description:"Показывает loading-состояние `TabsBox`.",control:`boolean`},loadingText:{description:`Текст внутри loading-состояния.`,control:`text`},"aria-label":{description:"Текстовая подпись для `tablist`, если рядом нет видимого заголовка.",control:`text`},"aria-labelledby":{description:"Ссылка на внешний заголовок `tablist`.",control:`text`}}},G={args:{"aria-label":`Основные разделы профиля`}},K={render:e=>{let[t,n]=(0,B.useState)(`settings`);return(0,V.jsx)(N,{...e,value:t,onValueChange:n})},args:{value:`settings`,"aria-label":`Управляемые вкладки`}},q={render:e=>(0,V.jsx)(`div`,{style:{height:320},children:(0,V.jsx)(N,{...e})}),args:{orientation:`vertical`,bordered:!0,"aria-label":`Вертикальные вкладки`}},J={render:e=>(0,V.jsx)(N,{...e,items:ze}),args:{mountStrategy:`lazy`,"aria-label":`Демонстрация стратегий монтирования`}},Y={args:{items:Be,"aria-label":`Вкладки с недоступным разделом`}},X={render:()=>(0,V.jsx)(Re,{})},Z={render:e=>(0,V.jsx)(xe,{...e,items:U,"aria-label":`Устаревший совместимый API`}),parameters:{docs:{description:{story:"Совместимый фасад поверх `TabsBox`. Новый функционал добавляется только в `TabsBox` и `TabsLayout`."}}}},Q={args:{isLoading:!0,items:U}},$={args:{items:[]}},G.parameters={...G.parameters,docs:{...G.parameters?.docs,source:{originalSource:`{
4
- args: {
5
- "aria-label": "Основные разделы профиля"
6
- }
7
- }`,...G.parameters?.docs?.source}}},K.parameters={...K.parameters,docs:{...K.parameters?.docs,source:{originalSource:`{
8
- render: args => {
9
- const [value, setValue] = useState("settings");
10
- return <TabsBox {...args} value={value} onValueChange={setValue} />;
11
- },
12
- args: {
13
- value: "settings",
14
- "aria-label": "Управляемые вкладки"
15
- }
16
- }`,...K.parameters?.docs?.source}}},q.parameters={...q.parameters,docs:{...q.parameters?.docs,source:{originalSource:`{
17
- render: args => <div style={{
18
- height: 320
19
- }}>
20
- <TabsBox {...args} />
21
- </div>,
22
- args: {
23
- orientation: "vertical",
24
- bordered: true,
25
- "aria-label": "Вертикальные вкладки"
26
- }
27
- }`,...q.parameters?.docs?.source}}},J.parameters={...J.parameters,docs:{...J.parameters?.docs,source:{originalSource:`{
28
- render: args => <TabsBox {...args} items={lifecycleItems} />,
29
- args: {
30
- mountStrategy: "lazy",
31
- "aria-label": "Демонстрация стратегий монтирования"
32
- }
33
- }`,...J.parameters?.docs?.source}}},Y.parameters={...Y.parameters,docs:{...Y.parameters?.docs,source:{originalSource:`{
34
- args: {
35
- items: disabledItems,
36
- "aria-label": "Вкладки с недоступным разделом"
37
- }
38
- }`,...Y.parameters?.docs?.source}}},X.parameters={...X.parameters,docs:{...X.parameters?.docs,source:{originalSource:`{
39
- render: () => <LayoutStory />
40
- }`,...X.parameters?.docs?.source}}},Z.parameters={...Z.parameters,docs:{...Z.parameters?.docs,source:{originalSource:`{
41
- render: args => <Tabs {...args} items={demoItems} aria-label="Устаревший совместимый API" />,
42
- parameters: {
43
- docs: {
44
- description: {
45
- story: "Совместимый фасад поверх \`TabsBox\`. Новый функционал добавляется только в \`TabsBox\` и \`TabsLayout\`."
46
- }
47
- }
48
- }
49
- }`,...Z.parameters?.docs?.source}}},Q.parameters={...Q.parameters,docs:{...Q.parameters?.docs,source:{originalSource:`{
50
- args: {
51
- isLoading: true,
52
- items: demoItems
53
- }
54
- }`,...Q.parameters?.docs?.source}}},$.parameters={...$.parameters,docs:{...$.parameters?.docs,source:{originalSource:`{
55
- args: {
56
- items: []
57
- }
58
- }`,...$.parameters?.docs?.source}}},He=[`BoxBasic`,`BoxControlled`,`BoxVertical`,`BoxMountStrategies`,`DisabledTabs`,`LayoutPanels`,`LegacyTabs`,`Loading`,`Empty`]})))()}export{Y as a,Z as c,Ue as d,q as i,Q as l,K as n,$ as o,J as r,X as s,G as t,Ie as u};
@@ -1 +0,0 @@
1
- .AoFB3K{min-height:var(--control-height);align-items:center;gap:var(--space-xs);padding:calc(var(--space-xs) / 2) var(--space-sm);cursor:text;--ui-color:var(--content-0);--ui-color-hover:var(--content-0);--ui-color-active:var(--content-0);flex-wrap:wrap;display:flex}.AoFB3K[data-readonly]{cursor:default;background-color:var(--surface-1)}.PvaUEA{align-items:center;gap:var(--space-xs);flex-wrap:wrap;flex:0 auto;min-width:0;max-width:100%;margin:0;padding:0;list-style:none;display:flex}.FZ-xEM{color:var(--ui-color,var(--content-0));background-color:var(--ui-background,transparent);border:var(--border-width) solid var(--ui-border-color,transparent);border-radius:var(--ui-radius,var(--radius-sm));transition-property:border-color,color,background-color,opacity;transition-duration:var(--transition-fast);--ui-color:var(--content-0);--ui-background:var(--surface-2);--ui-border-color:var(--border-0);align-items:center;gap:var(--space-xs);min-width:0;max-width:100%;padding:calc(var(--space-xs) / 2) var(--space-xs);font-size:var(--font-size-sm);transition-timing-function:ease;display:inline-flex}.-RCqfG{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ggY643{border-radius:var(--radius-xs);width:1.25em;height:1.25em;color:inherit;transition:color var(--transition-fast) ease, background-color var(--transition-fast) ease;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.ggY643:hover{background-color:var(--status-error-soft);color:var(--status-error-text)}.ggY643:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset)}.ggY643 svg{display:block}.hiZq-y{min-width:8ch;min-height:calc(var(--control-height) - var(--space-xs) - var(--border-width) * 2);color:inherit;font:inherit;background:0 0;border:none;outline:none;flex:8rem;padding:0}.hiZq-y::placeholder{color:var(--content-2)}.hiZq-y:read-only{cursor:default}
@@ -1,18 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-C21x__mS.js";import{n,t as r}from"./x-Dh43gJN9.js";import{n as i}from"./iframe-DaN-XFub.js";import{a,i as o}from"./utils-DUM89eIj.js";import{n as s,t as c}from"./ui.module-DoMIk8Oc.js";import{c as l,l as u,o as ee,u as te}from"./Input-Co--DMHY.js";function d(...e){return e.filter(Boolean).join(` `)||void 0}function f(e){return e.trim()}function ne(e){return e}function re(e){return`Удалить тег «${e}»`}var p,m,h,g,_,v,y;function b(){return(b=e((()=>{p=`AoFB3K`,m=`PvaUEA`,h=`FZ-xEM`,g=`-RCqfG`,_=`ggY643`,v=`hiZq-y`,y={control:p,tagList:m,tag:h,tagText:g,removeButton:_,input:v}})))()}function x({ref:e,value:t,onChange:n,label:i,description:o,placeholder:c,size:l,disabled:u,readOnly:p=!1,error:m,onClearError:h,maxTags:g,normalizeTag:_=f,getTagKey:v=ne,addOnBlur:b=!0,getRemoveButtonAriaLabel:x=re,tokensAriaLabel:E=`Добавленные теги`,inputClassName:D,className:O,id:k,name:A,form:j,required:M,maxLength:N,onKeyDown:P,onPaste:F,onBlur:I,onCompositionStart:L,onCompositionEnd:R,"aria-describedby":z,"aria-labelledby":B,...ie}){let V=(0,S.useRef)(null),H=(0,S.useRef)(null),U=(0,S.useRef)(!1),[W,G]=(0,S.useState)(``),[ae,K]=(0,S.useState)(``),{controlId:q,labelId:J,descriptionId:oe,errorId:se,describedBy:ce}=te({id:k,hasLabel:i!=null,hasDescription:!!o,hasError:!!m}),Y=g===void 0?1/0:Math.max(0,Math.floor(g)),X=u||p,le=d(ce,z),ue=d(J,B);(0,S.useImperativeHandle)(e,()=>{let e=V.current;if(!e)throw Error(`TagInput: внутренний input недоступен при создании imperative handle.`);return e},[]);let Z=e=>{if(X)return;h?.();let r=[...t],i=new Set(r.map(e=>v(e))),a=[],o=0,s=!1;for(let t of e){let e=_(t);if(!e)continue;if(N!==void 0&&e.length>N){K(`Тег «${e}» длиннее допустимого значения.`);continue}let n=v(e);if(i.has(n)){o+=1;continue}if(r.length>=Y){s=!0;break}i.add(n),r.push(e),a.push(e)}a.length>0?(n(r),K(a.length===1?`Добавлен тег «${a[0]}».`:`Добавлено тегов: ${a.length}.`)):s?K(`Достигнуто максимальное количество тегов: ${Y}.`):o>0&&K(`Такой тег уже добавлен.`)},Q=()=>W?(Z(W.split(T)),G(``),!0):!1,$=e=>{if(X)return;let r=t[e];r!==void 0&&(n(t.filter((t,n)=>n!==e)),h?.(),K(`Удалён тег «${r}».`),V.current?.focus())},de=e=>{if(P?.(e),!(e.defaultPrevented||e.nativeEvent.isComposing||U.current||X)){if(e.key===`Enter`||e.key===`,`){(Q()||e.key===`,`)&&e.preventDefault();return}e.key===`Backspace`&&W.length===0&&t.length>0&&(e.preventDefault(),$(t.length-1))}},fe=e=>{if(F?.(e),e.defaultPrevented||X)return;let t=e.clipboardData.getData(`text`);if(!w.test(t))return;e.preventDefault();let n=e.currentTarget.selectionStart??W.length,r=e.currentTarget.selectionEnd??n,i=`${W.slice(0,n)}${t}${W.slice(r)}`;Z(i.split(T)),G(``)};return(0,C.jsxs)(ee,{label:i,description:o,disabled:u,className:O,size:l,error:m,controlId:q,labelId:J,descriptionId:oe,errorId:se,children:[(0,C.jsxs)(`div`,{ref:H,className:a(s.uiControl,m&&s.invalid,y.control),"data-disabled":u?``:void 0,"data-readonly":p?``:void 0,"data-invalid":m?``:void 0,onClick:()=>V.current?.focus(),children:[t.length>0&&(0,C.jsx)(`ul`,{className:y.tagList,"aria-label":E,children:t.map((e,t)=>(0,C.jsxs)(`li`,{className:y.tag,children:[(0,C.jsx)(`span`,{className:y.tagText,children:e}),!X&&(0,C.jsx)(`button`,{type:`button`,className:y.removeButton,onClick:e=>{e.stopPropagation(),$(t)},"aria-label":x(e,t),children:(0,C.jsx)(r,{"aria-hidden":`true`})})]},`${v(e)}-${t}`))}),(0,C.jsx)(`input`,{...ie,ref:V,id:q,form:j,disabled:u,readOnly:p,required:M&&t.length===0,maxLength:N,value:W,placeholder:t.length===0?c:void 0,"aria-invalid":!!m||void 0,"aria-labelledby":ue,"aria-describedby":le,className:a(y.input,D),onChange:e=>{let t=e.target.value,n=w.test(t);if(U.current)G(t);else if(n){let e=t.split(T),n=w.test(t.at(-1)??``)?``:e.pop()??``;Z(e),G(n)}else G(t);(U.current||!n)&&h?.()},onKeyDown:de,onPaste:fe,onCompositionStart:e=>{U.current=!0,L?.(e)},onCompositionEnd:e=>{U.current=!1,R?.(e)},onBlur:e=>{I?.(e);let t=e.relatedTarget,n=t instanceof Node&&H.current?.contains(t);!e.defaultPrevented&&!n&&b&&!X&&Q()}}),A&&t.map((e,t)=>(0,C.jsx)(`input`,{type:`hidden`,name:A,value:e,form:j,disabled:u},`${v(e)}-${t}`))]}),(0,C.jsx)(`span`,{className:`visuallyHidden`,"aria-live":`polite`,"aria-atomic":`true`,children:ae})]})}var S,C,w,T;function E(){return(E=e((()=>{S=t(),o(),n(),l(),u(),c(),b(),C=i(),w=/[,\r\n]/,T=/[,\r\n]+/,x.__docgenInfo={description:"Controlled-поле для создания коротких строковых тегов.\n\nНовое значение фиксируется по `Enter`, запятой, вставке списка или потере фокуса. Компонент хранит\nтолько незавершённый текст input, а окончательный набор всегда принадлежит потребителю через `value`.",methods:[],displayName:`TagInput`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},ref:{required:!1,tsType:{name:`Ref`,elements:[{name:`HTMLInputElement`}],raw:`Ref<HTMLInputElement>`},description:"Ссылка на внутренний нативный `input`, передаваемая напрямую как React 19 prop."},error:{required:!1,tsType:{name:`string`},description:"Сообщение валидации, связанное с полем через `aria-describedby`."},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:`Сбрасывает внешнюю ошибку после изменения черновика или набора тегов.`},readOnly:{required:!1,tsType:{name:`boolean`},description:`Запрещает изменение набора тегов, сохраняя возможность выделять и копировать текст.`,defaultValue:{value:`false`,computed:!1}},maxTags:{required:!1,tsType:{name:`number`},description:`Максимальное количество тегов. Отсутствие значения не ограничивает набор.`},normalizeTag:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => string`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`string`}}},description:`Нормализует введённое значение перед проверкой дубликата и добавлением.
2
- По умолчанию удаляет пробелы в начале и конце.`,defaultValue:{value:`function defaultNormalizeTag(value: string) {
3
- return value.trim();
4
- }`,computed:!1}},getTagKey:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => string`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`string`}}},description:`Возвращает ключ сравнения тегов. Позволяет, например, запретить дубликаты без учёта регистра.
5
- По умолчанию используется точное строковое сравнение.`,defaultValue:{value:`function defaultGetTagKey(value: string) {
6
- return value;
7
- }`,computed:!1}},addOnBlur:{required:!1,tsType:{name:`boolean`},description:`Добавляет непустой черновик при уходе фокуса с input. По умолчанию включено.`,defaultValue:{value:`true`,computed:!1}},getRemoveButtonAriaLabel:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string, index: number) => string`,signature:{arguments:[{type:{name:`string`},name:`value`},{type:{name:`number`},name:`index`}],return:{name:`string`}}},description:`Формирует доступное имя кнопки удаления конкретного тега.`,defaultValue:{value:"function defaultGetRemoveButtonAriaLabel(value: string) {\n return `Удалить тег «${value}»`;\n}",computed:!1}},tokensAriaLabel:{required:!1,tsType:{name:`string`},description:`Доступное имя списка уже добавленных тегов.`,defaultValue:{value:`"Добавленные теги"`,computed:!1}},inputClassName:{required:!1,tsType:{name:`string`},description:"CSS-класс непосредственно для внутреннего `input`; `className` применяется к оболочке поля."}},composes:[`Omit`]}})))()}var D,O,k,A,j,M;function N(){return(N=e((()=>{D=t(),E(),O=i(),k={title:`Shared/UI/TagInput`,component:x,args:{value:[],onChange:()=>void 0},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{value:{description:`Controlled-набор добавленных тегов.`,control:!1},onChange:{description:`Возвращает новый набор после добавления или удаления тега.`,control:!1},maxTags:{description:`Максимальное количество тегов.`,control:`number`},readOnly:{description:`Показывает набор без действий изменения.`,control:`boolean`},normalizeTag:{control:!1},getTagKey:{control:!1},getRemoveButtonAriaLabel:{control:!1}}},A={render:e=>{let[t,n]=(0,D.useState)([`Новости`,`Колледж`]);return(0,O.jsx)(x,{...e,label:`Теги материала`,description:`Введите значение и нажмите Enter или запятую. Можно вставить сразу несколько строк.`,placeholder:`Добавить тег`,value:t,onChange:n,maxTags:10,getTagKey:e=>e.toLocaleLowerCase(`ru`)})}},j={args:{label:`Теги материала`,value:[`Новости`,`Колледж`],readOnly:!0}},A.parameters={...A.parameters,docs:{...A.parameters?.docs,source:{originalSource:`{
8
- render: args => {
9
- const [value, setValue] = useState<readonly string[]>(["Новости", "Колледж"]);
10
- return <TagInput {...args} label="Теги материала" description="Введите значение и нажмите Enter или запятую. Можно вставить сразу несколько строк." placeholder="Добавить тег" value={value} onChange={setValue} maxTags={10} getTagKey={tag => tag.toLocaleLowerCase("ru")} />;
11
- }
12
- }`,...A.parameters?.docs?.source}}},j.parameters={...j.parameters,docs:{...j.parameters?.docs,source:{originalSource:`{
13
- args: {
14
- label: "Теги материала",
15
- value: ["Новости", "Колледж"],
16
- readOnly: true
17
- }
18
- }`,...j.parameters?.docs?.source}}},M=[`Controlled`,`ReadOnly`]})))()}N();export{A as Controlled,j as ReadOnly,M as __namedExportsOrder,k as default};
@@ -1,27 +0,0 @@
1
- import{n as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{t as n}from"./react-C21x__mS.js";import{n as r}from"./iframe-DaN-XFub.js";import{a as i,i as a}from"./utils-DUM89eIj.js";import{n as o,t as s}from"./ui.module-DoMIk8Oc.js";import{c,l,o as u,u as d}from"./Input-Co--DMHY.js";var f,p;function m(){return(m=e((()=>{f=`TjY2iu`,p={textarea:f}})))()}function h({label:e,description:t,className:n,disabled:r,size:a,value:s,onChange:c,error:l,onClearError:f,id:m,...h}){let{controlId:_,labelId:v,descriptionId:y,errorId:b,describedBy:x}=d({id:m,hasLabel:e!=null,hasDescription:!!t,hasError:!!l});return(0,g.jsx)(u,{label:e,description:t,disabled:r,size:a,error:l,controlId:_,labelId:v,descriptionId:y,errorId:b,children:(0,g.jsx)(`textarea`,{...h,id:_,disabled:r,value:s,"aria-invalid":!!l||void 0,"aria-labelledby":v,"aria-describedby":x,"data-invalid":l?``:void 0,className:i(o.uiControl,p.textarea,`scrollable`,n),onChange:e=>{c?.(e.target.value),l&&f&&f()}})})}var g;function _(){return(_=e((()=>{a(),c(),l(),s(),m(),g=r(),h.__docgenInfo={description:`Многострочное текстовое поле для ввода свободного текста. Поддерживает подпись, описание, ошибки и единый визуальный стиль формы.`,methods:[],displayName:`Textarea`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},error:{required:!1,tsType:{name:`string`},description:``},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``}},composes:[`Omit`]}})))()}var v=t({Controlled:()=>S,Disabled:()=>w,WithValue:()=>C,__namedExportsOrder:()=>T,default:()=>x}),y,b,x,S,C,w,T;function E(){return(E=e((()=>{y=n(),_(),b=r(),x={title:`Shared/UI/Textarea`,component:h,args:{label:`Комментарий`,description:`Оставьте примечание к документу.`,placeholder:`Введите текст...`,rows:4,disabled:!1,value:``,onChange:()=>void 0},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок текстовой области.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Плейсхолдер поля ввода.`,control:`text`},value:{description:`Текущее значение текстовой области.`,control:`text`},onChange:{description:`Вызывается при изменении текста.`,control:!1},rows:{description:`Количество видимых строк.`,control:`number`},cols:{description:`Ширина в количестве символов.`,control:`number`},disabled:{description:`Блокирует редактирование.`,control:`boolean`},className:{description:`Дополнительный CSS-класс.`,control:`text`}}},S={args:{value:``,onChange:()=>void 0},render:e=>{let[t,n]=(0,y.useState)(`Первичный комментарий`);return(0,b.jsx)(h,{...e,value:t,onChange:n})}},C={args:{rows:5,value:``,onChange:()=>void 0},render:e=>{let[t,n]=(0,y.useState)(`Шаблонный текст для редактирования.`);return(0,b.jsx)(h,{...e,value:t,onChange:n})}},w={args:{disabled:!0,value:`Редактирование недоступно.`,onChange:()=>void 0},render:e=>(0,b.jsx)(h,{...e})},S.parameters={...S.parameters,docs:{...S.parameters?.docs,source:{originalSource:`{
2
- args: {
3
- value: "",
4
- onChange: () => undefined
5
- },
6
- render: args => {
7
- const [value, setValue] = useState("Первичный комментарий");
8
- return <Textarea {...args} value={value} onChange={setValue} />;
9
- }
10
- }`,...S.parameters?.docs?.source}}},C.parameters={...C.parameters,docs:{...C.parameters?.docs,source:{originalSource:`{
11
- args: {
12
- rows: 5,
13
- value: "",
14
- onChange: () => undefined
15
- },
16
- render: args => {
17
- const [value, setValue] = useState("Шаблонный текст для редактирования.");
18
- return <Textarea {...args} value={value} onChange={setValue} />;
19
- }
20
- }`,...C.parameters?.docs?.source}}},w.parameters={...w.parameters,docs:{...w.parameters?.docs,source:{originalSource:`{
21
- args: {
22
- disabled: true,
23
- value: "Редактирование недоступно.",
24
- onChange: () => undefined
25
- },
26
- render: args => <Textarea {...args} />
27
- }`,...w.parameters?.docs?.source}}},T=[`Controlled`,`WithValue`,`Disabled`]})))()}export{E as a,C as i,w as n,v as r,S as t};
@@ -1 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-C21x__mS.js";import{n}from"./iframe-DaN-XFub.js";import{a as r,n as i,o as a,t as o}from"./MultiSelectToken-fjW8p4YG.js";import{a as s,c,i as l,n as u,r as d,s as f,t as p,u as m}from"./TreePickerBase-ycYQYQgi.js";function h(e,t){if(e.size!==0){if(e.size===1){let n=t.nodeById.get([...e][0]);return n?n.label:void 0}return`${e.size} элементов`}}function g(e,t,n){let r=c(e,n),i=c(t,n);return r.size===i.size&&[...r].every(e=>i.has(e))}function _({label:e,description:t,disabled:n,placeholder:r=`Выберите значения`,size:i,nodes:u,value:_,onChange:b,query:x,defaultQuery:S,onQuery:C,isLoading:w,error:T,optionsLayout:E=`tree`,defaultExpandedCodeKeys:D}){let[O,k]=(0,v.useState)(!1),A=(0,v.useMemo)(()=>d(u),[u]),{draftValue:j,setDraftValue:M,prepareOpen:N}=a({value:_,open:O,onCommit:b,isEqual:(e,t)=>g(e,t,A)}),P=O?j:_,F=(0,v.useMemo)(()=>c(P,A),[P,A]),I=(0,v.useMemo)(()=>s(F,A),[F,A]),L=(0,v.useMemo)(()=>h(F,A),[F,A]);return(0,y.jsx)(p,{label:e,description:t,disabled:n,placeholder:r,size:i,nodes:u,selectedIds:I.selectedIds,partialIds:I.partialIds,selectionMode:`multi`,optionsLayout:E,defaultExpandedCodeKeys:D,open:O,onOpenChange:e=>{e&&!O&&N(),k(e)},bulkActions:{onSelectAll:()=>{M(m(l(A),A))},onDeselectAll:()=>M({})},triggerMode:`search`,selectedSummary:L?(0,y.jsx)(o,{value:L}):void 0,query:x,defaultQuery:S,onQuery:C,onNodeActivate:e=>{M(t=>f(t,e.id,A))},onClearSelection:()=>{M({}),O||b({})},isLoading:w,error:T})}var v,y;function b(){return(b=e((()=>{v=t(),i(),r(),u(),y=n(),_.__docgenInfo={description:``,methods:[],displayName:`TreeMultiSelect`,props:{nodes:{required:!0,tsType:{name:`unknown`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Выберите значения"`,computed:!1}},query:{required:!1,tsType:{name:`string`},description:``},defaultQuery:{required:!1,tsType:{name:`string`},description:``},onQuery:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},isLoading:{required:!1,tsType:{name:`boolean`},description:``},error:{required:!1,tsType:{name:`string`},description:``},optionsLayout:{required:!1,tsType:{name:`union`,raw:`"tree" | "columns"`,elements:[{name:`literal`,value:`"tree"`},{name:`literal`,value:`"columns"`}]},description:`Определяет обычное раскрываемое дерево или полностью открытый адаптивный набор колонок.`,defaultValue:{value:`"tree"`,computed:!1}},defaultExpandedCodeKeys:{required:!1,tsType:{name:`unknown`},description:"Ключи уровней, узлы которых раскрываются до ручного действия пользователя.\nВ режиме `columns` дерево по-прежнему отображается полностью раскрытым."}},composes:[`Omit`]}})))()}export{b as n,_ as t};
@@ -1,22 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-C21x__mS.js";import{n,t as r}from"./check-fB4gCKB_.js";import{n as i,t as a}from"./chevron-right-D29uf09I.js";import{i as o,n as s,r as c,t as l}from"./CheckBox-Clpeg9q7.js";import{n as u,t as d}from"./x-Dh43gJN9.js";import{n as f}from"./iframe-DaN-XFub.js";import{a as p,i as m}from"./utils-DUM89eIj.js";import{n as h,t as g}from"./SelectOptionContent-RAmgWCOm.js";import{n as _,t as v}from"./ui.module-DoMIk8Oc.js";import{a as ee,c as y}from"./Input-Co--DMHY.js";import{c as te,g as ne,h as re,i as ie,l as ae,n as oe,r as se,s as ce,t as le,u as b}from"./usePickerTriggerController-BHBjSLtn.js";import{n as x,t as ue}from"./PickerSelectionToolbar-Cvv8vTZm.js";import{i as de,n as fe,r as pe,t as me}from"./usePickerQuery-6rDaPaB0.js";import{n as S,t as he}from"./PickerTriggerActions-BBZmXagt.js";function C(e,t){return`${e}::${t}`}function ge(e){let t=new Map,n=new Map,r=new Map,i=new Map,a=new Map,o=0,s=(e,c)=>{t.set(e.id,e),n.set(e.id,c),i.set(e.id,o++),a.set(C(e.codeKey,e.value),e.id);let l=(e.children??[]).map(e=>e.id);r.set(e.id,l);for(let t of e.children??[])s(t,e.id)};for(let t of e)s(t);return{rootIds:e.map(e=>e.id),nodeById:t,parentById:n,childrenById:r,preorderIndexById:i,nodeIdByCodeValue:a}}function _e(e,t){if(e)return t.nodeIdByCodeValue.get(C(e.codeKey,e.value))}function ve(e,t){let n=new Set;if(!e)return n;for(let[r,i]of Object.entries(e))for(let e of i){let i=t.nodeIdByCodeValue.get(C(r,e));i&&n.add(i)}return O(n,t)}function w(e,t){let n=[...e].sort((e,n)=>(t.preorderIndexById.get(e)??2**53-1)-(t.preorderIndexById.get(n)??2**53-1)),r={};for(let e of n){let n=t.nodeById.get(e);n&&(r[n.codeKey]=r[n.codeKey]??[],r[n.codeKey].push(n.value))}return r}function T(e,t){let n=[],r=t.parentById.get(e);for(;r;)n.push(r),r=t.parentById.get(r);return n}function ye(e,t,n){let r=n.parentById.get(e);for(;r;){if(r===t)return!0;r=n.parentById.get(r)}return!1}function E(e,t,n){for(let r of[...e])ye(r,t,n)&&e.delete(r)}function D(e,t,n){if(t.has(e))return!0;if(n.nodeById.get(e)?.disabled)return!1;let r=n.childrenById.get(e)??[];return r.length!==0&&r.every(e=>D(e,t,n))}function O(e,t){let n=new Set(e);for(let e of[...n])T(e,t).some(e=>n.has(e))&&n.delete(e);let r=[...t.nodeById.keys()].sort((e,n)=>(t.preorderIndexById.get(n)??0)-(t.preorderIndexById.get(e)??0));for(let e of r){let r=t.childrenById.get(e)??[];r.length===0||n.has(e)||t.nodeById.get(e)?.disabled||r.every(e=>D(e,n,t))&&(E(n,e,t),n.add(e))}return n}function be(e,t,n){let r=n.parentById.get(t);for(;r;){if(e.has(r)){e.delete(r);for(let t of j(n,n.childrenById.get(r)??[]))e.add(t);return!0}r=n.parentById.get(r)}return!1}function k(e,t,n){return t.has(e)?!0:T(e,n).some(e=>t.has(e))}function A(e,t,n,r){let i=n.childrenById.get(e)??[];if(t.has(e))return r.selectedIds.add(e),{selected:!0,partial:!1};if(i.length===0)return{selected:!1,partial:!1};let a=i.map(e=>A(e,t,n,r)),o=a.every(e=>e.selected&&!e.partial),s=a.some(e=>e.selected||e.partial);return o?(r.selectedIds.add(e),{selected:!0,partial:!1}):s?(r.partialIds.add(e),{selected:!1,partial:!0}):{selected:!1,partial:!1}}function xe(e,t){let n={selectedIds:new Set,partialIds:new Set};for(let r of t.rootIds)A(r,e,t,n);return n}function j(e,t=e.rootIds){let n=t=>{let r=e.nodeById.get(t),i=(e.childrenById.get(t)??[]).map(n),a=i.flatMap(e=>e.selectedIds),o=r?.disabled===!0||i.some(e=>e.containsDisabled);return!r||r.disabled||o?{containsDisabled:!0,selectedIds:a}:{containsDisabled:!1,selectedIds:[t]}};return new Set(t.flatMap(e=>n(e).selectedIds))}function M(e,t,n){let r=ve(e,n),i=e=>{if(k(e,r,n)){if(r.has(e)){r.delete(e);return}be(r,e,n)&&i(e);return}E(r,e,n),r.add(e)},a=[...j(n,[t])],o=a.length>0&&a.every(e=>k(e,r,n));for(let e of a){let t=k(e,r,n);(o&&t||!o&&!t)&&i(e)}return w(O(r,n),n)}function Se(e,t,n){let r=t.parentById.get(e);for(;r;)n.add(r),r=t.parentById.get(r)}function Ce(e,t){let n=new Set;for(let r of e)Se(r,t,n);return n}function we(e,t,n){let r=new Set;for(let[i,a]of e.childrenById){if(a.length===0)continue;let o=e.nodeById.get(i);o&&(n.get(i)??t.has(o.codeKey))&&r.add(i)}return r}function N(e,t,n){let r=(e.children??[]).map(e=>N(e,t,n)).filter(e=>!!e);return!e.searchText.toLowerCase().includes(t)&&r.length===0?null:(r.length>0&&n.add(e.id),r.length===0?e:{...e,children:r})}function Te(e,t){let n=t.trim().toLowerCase();if(!n)return{nodes:[...e],expandedIds:new Set};let r=new Set;return{nodes:e.map(e=>N(e,n,r)).filter(e=>!!e),expandedIds:r}}function Ee(e,t){let n=[],r=(e,i,a)=>{let o=(e.children?.length??0)>0,s=o&&t.has(e.id);if(n.push({node:e,level:i,parentId:a,hasChildren:o,isExpanded:s,isLeaf:!o}),s)for(let t of e.children??[])r(t,i+1,e.id)};for(let t of e)r(t,0);return n}function De(){return(De=e((()=>{})))()}function Oe(e){let t=[],n=0;for(;n<e.length;){let r=n+1;for(;r<e.length&&e[r]?.level!==0;)r+=1;t.push({startIndex:n,endIndexExclusive:r}),n=r}let r=t.map(({startIndex:e,endIndexExclusive:t})=>`${e}:${t}`).join(`|`);return{itemCount:e.length,groups:t,signature:`${e.length}|${r}`}}function P(e,t){return Number.isFinite(e)&&e>0?e:t}function ke(e){let t=e.endIndexExclusive-e.startIndex;return Math.min(Pe,t)}function F(e,t){let n=Math.max(1,t),r=[],i=1,a=1,o=0;for(let t of e.groups){let e=ke(t),s=n-a+1;a>1&&e>s&&(o+=s,i+=1,a=1);for(let e=t.startIndex;e<t.endIndexExclusive;e+=1)r[e]={column:i,row:a},a+=1,a>n&&(i+=1,a=1)}return{placements:r,usedColumnCount:r.length?Math.max(...r.map(e=>e.column)):1,intentionalGapCount:o}}function Ae({descriptor:e,availableWidth:t,availableHeight:n,viewportWidth:r,viewportHeight:i,referenceWidth:a}){let o=Math.max(0,Math.floor(Number.isFinite(e.itemCount)?e.itemCount:0)),s=P(t,240),c=P(n,80),l=P(r,s+16),u=P(i,c),d=Math.max(1,Math.min(s,Math.max(1,l-16))),f=Math.max(1,Math.min(c,u-16)),p=Math.max(1,P(a,1)),m=Math.min(d,p),h=Math.max(1,Math.floor((d-I+R)/234)),g=Math.max(1,Math.min(Ne,h,o||1)),_=e.groups.reduce((e,t)=>Math.max(e,ke(t)),1);if(o===0)return{columnCount:1,rowCount:1,width:m,minWidth:m,maxHeight:f,placements:[]};let v,ee=1/0;for(let t=1;t<=g;t+=1){let n=Math.max(_,Math.ceil(o/t)),r=F(e,n);for(;r.usedColumnCount>t&&n<o;)n+=1,r=F(e,n);let i=r.usedColumnCount,a=Math.max(m,I+i*je+(i-1)*R),s=L+n*Me,c=a/d,l=s/f,u=(i*n-o)/o,p=r.intentionalGapCount/o,h=Math.max(c,l)+.25*Math.abs(c-l)+.01*u+.02*p+.04*(i-1);h<ee&&(ee=h,v={columnCount:i,rowCount:n,width:Math.min(d,a),minWidth:m,maxHeight:f,placements:r.placements})}return v??{columnCount:1,rowCount:o,width:m,minWidth:m,maxHeight:f,placements:F(e,o).placements}}var I,L,je,R,Me,Ne,Pe;function z(){return(z=e((()=>{I=16,L=48,je=224,R=10,Me=32,Ne=6,Pe=3})))()}var Fe,Ie,B,Le,Re,ze,V,H,U,W,Be,G,Ve,He,K,q,J,Ue,We,Ge,Y,Ke,qe,Je,Ye,Xe,Ze,X;function Qe(){return(Qe=e((()=>{Fe=`eMqOwq`,Ie=`JKstO-`,B=`hKgr8e`,Le=`KjPZjd`,Re=`_6EH37F`,ze=`UBll8Q`,V=`-y3RZP`,H=`ayLJ50`,U=`_430vL2`,W=`FkzTJI`,Be=`e8fE4t`,G=`_2MFkGF`,Ve=`SWQUvb`,He=`o5NWnX`,K=`ibSd-S`,q=`lXezvv`,J=`FMlLGX`,Ue=`d2Zt7U`,We=`_8PN4hs`,Ge=`_4JEoen`,Y=`GS8eEC`,Ke=`T8gVno`,qe=`o6stdX`,Je=`I5zvhe`,Ye=`KQ0PBI`,Xe=`_7hAQQA`,Ze=`XeUHNc`,X={treeRow:Fe,treeRowSelected:Ie,treeRowActive:B,treeRowDisabled:Le,treeNodeButton:Re,treePopupHeader:ze,treeColumns:V,treeColumnRow:H,treeColumnsPopupLayout:U,treeColumnRootLabel:W,treeColumnRootCode:Be,treeColumnCheckBox:G,treeNodeOptionContent:Ve,treeIndent:He,treeExpander:K,treeExpanderPlaceholder:q,treeExpanderIcon:J,treeExpanderIconExpanded:Ue,treeSelection:We,treeSelectionChecked:Ge,treeSelectionPartial:Y,treeSelectionIcon:Ke,treeSummary:qe,inputWithOverlay:Je,valueOverlay:Ye,treeActions:Xe,treeClearButton:Ze}})))()}function $e({node:e,level:t,highlight:n,hasChildren:i,isExpanded:o,selected:s,partial:u,selectionMode:d,optionsLayout:f=`tree`,onToggleExpand:m,onToggleSelection:h}){let _=f===`tree`,v=f===`columns`&&t===0;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`span`,{className:X.treeIndent,style:{"--tree-level":t},"aria-hidden":`true`}),_&&i?(0,Z.jsx)(`button`,{type:`button`,className:X.treeExpander,onClick:e=>{e.stopPropagation(),m?.()},"aria-label":o?`Свернуть ветку`:`Развернуть ветку`,"data-ui":`tree-select-expander`,"data-action":o?`collapse-tree-select-node`:`expand-tree-select-node`,children:(0,Z.jsx)(a,{className:p(X.treeExpanderIcon,o&&X.treeExpanderIconExpanded)})}):_?(0,Z.jsx)(`span`,{className:X.treeExpanderPlaceholder,"aria-hidden":`true`}):null,d===`multi`&&f===`columns`?(0,Z.jsx)(`span`,{className:X.treeColumnCheckBox,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:(0,Z.jsx)(l,{value:s,indeterminate:u,disabled:e.disabled,"aria-label":`Выбрать ${e.label}`,onChange:()=>h?.()})}):d===`multi`?(0,Z.jsx)(`span`,{className:p(X.treeSelection,s&&X.treeSelectionChecked,u&&X.treeSelectionPartial),"aria-hidden":`true`,children:s?(0,Z.jsx)(r,{className:X.treeSelectionIcon}):u?(0,Z.jsx)(c,{className:X.treeSelectionIcon}):null}):null,(0,Z.jsx)(`div`,{className:X.treeNodeOptionContent,children:(0,Z.jsx)(g,{label:e.label,code:e.code,highlight:n,labelClassName:v?X.treeColumnRootLabel:void 0,codeClassName:v?X.treeColumnRootCode:void 0})})]})}var Z;function et(){return(et=e((()=>{m(),n(),i(),o(),s(),h(),Qe(),Z=f(),$e.__docgenInfo={description:``,methods:[],displayName:`TreeNodeContent`,props:{node:{required:!0,tsType:{name:`signature`,type:`object`,raw:`{
2
- id: string;
3
- codeKey: string;
4
- value: string;
5
- label: string;
6
- code?: string;
7
- searchText: string;
8
- children?: TreeSelectNode[];
9
- disabled?: boolean;
10
- }`,signature:{properties:[{key:`id`,value:{name:`string`,required:!0}},{key:`codeKey`,value:{name:`string`,required:!0}},{key:`value`,value:{name:`string`,required:!0}},{key:`label`,value:{name:`string`,required:!0}},{key:`code`,value:{name:`string`,required:!1}},{key:`searchText`,value:{name:`string`,required:!0}},{key:`children`,value:{name:`Array`,elements:[{name:`TreeSelectNode`}],raw:`TreeSelectNode[]`,required:!1}},{key:`disabled`,value:{name:`boolean`,required:!1}}]}},description:``},level:{required:!0,tsType:{name:`number`},description:``},highlight:{required:!1,tsType:{name:`string`},description:``},hasChildren:{required:!0,tsType:{name:`boolean`},description:``},isExpanded:{required:!0,tsType:{name:`boolean`},description:``},selected:{required:!0,tsType:{name:`boolean`},description:``},partial:{required:!0,tsType:{name:`boolean`},description:``},selectionMode:{required:!0,tsType:{name:`union`,raw:`"single" | "multi"`,elements:[{name:`literal`,value:`"single"`},{name:`literal`,value:`"multi"`}]},description:``},optionsLayout:{required:!1,tsType:{name:`union`,raw:`"tree" | "columns"`,elements:[{name:`literal`,value:`"tree"`},{name:`literal`,value:`"columns"`}]},description:``,defaultValue:{value:`"tree"`,computed:!1}},onToggleExpand:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},onToggleSelection:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``}}}})))()}function tt({label:e,description:t,disabled:n,placeholder:r,size:i,nodes:a,selectedIds:o,partialIds:s,selectionMode:c,optionsLayout:l=`tree`,defaultExpandedCodeKeys:u,open:f,onOpenChange:m,bulkActions:h,triggerMode:g=`display`,selectedSummary:v,selectedSummaryText:y,query:te,defaultQuery:ne,onQuery:se,onNodeActivate:le,onClearSelection:b,isLoading:x,error:de}){let me=(0,Q.useRef)(null),S=(0,Q.useRef)(null),C=(0,Q.useRef)(!1),[_e,ve]=(0,Q.useState)(()=>new Map),w=g===`search`?c===`multi`?`search-multi`:`search-single`:`display`,T=(0,Q.useMemo)(()=>ge(a),[a]),ye=(0,Q.useMemo)(()=>`${r} <${T.nodeById.size}>`,[r,T]),E=(0,Q.useMemo)(()=>new Set(u),[u]),{query:D,setQuery:O}=fe({open:!0,query:te,defaultQuery:ne,onQuery:se,triggerMode:`display`}),{nodes:be,expandedIds:A}=(0,Q.useMemo)(()=>Te(a,D),[a,D]),xe=(0,Q.useMemo)(()=>Ce(o,T),[o,T]),j=(0,Q.useMemo)(()=>we(T,E,_e),[E,_e,T]),M=(0,Q.useMemo)(()=>new Set([...T.childrenById].filter(([,e])=>e.length>0).map(([e])=>e)),[T]),Se=(0,Q.useMemo)(()=>l===`columns`?M:new Set([...j,...A,...xe]),[M,j,l,A,xe]),N=(0,Q.useMemo)(()=>Ee(be,Se),[be,Se]),De=(0,Q.useMemo)(()=>N.findIndex(e=>o.has(e.node.id)),[o,N]),P=(0,Q.useMemo)(()=>Oe(N),[N]),ke=(0,Q.useCallback)(e=>{let t=Ae({...e,descriptor:P}),n={};return t.placements.forEach((e,t)=>{n[`--tree-option-${t}-column`]=String(e.column),n[`--tree-option-${t}-row`]=String(e.row)}),{width:`${t.width}px`,minWidth:`${t.minWidth}px`,maxWidth:`${t.width}px`,maxHeight:`${t.maxHeight}px`,"--tree-column-count":String(t.columnCount),"--tree-row-count":String(t.rowCount),...n}},[P]),{open:F,activeIndex:I,context:L,floatingStyles:je,getFloatingProps:R,setReference:Me,setFloating:Ne,setOptionRef:Pe,close:z,openList:Fe,toggleOpen:Ie,selectOption:B,handleReferenceKeyDown:Le,handleFloatingKeyDown:Re,getOptionId:ze,getActiveOptionId:V}=ie({options:N,selectedIndex:De,open:f,onOpenChange:m,onSelect:e=>le(e.node),getOptionDisabled:e=>e.node.disabled===!0,disabled:n||x,closeOnSelect:c===`single`,allowOpenWithoutOptions:!0,triggerMode:w,placementStrategy:l===`columns`?`auto`:`flip`,resolveFloatingSize:l===`columns`?ke:void 0}),H=L.update,U=o.size>0,W=g===`search`&&(F||D.length>0),Be=W?D:y??``,G=g===`display`&&!!v,Ve=w===`search-multi`&&!!v,He=w===`search-multi`&&!U||w===`search-single`&&(!y||W)||w===`display`&&!U,K=oe({mode:w,open:F,currentQuery:D,hasDisplayValue:!!y,inputRef:me,setQuery:O,openList:Fe,close:z,toggleOpen:Ie}),q=l===`columns`&&c===`multi`&&h,J=g===`display`,Ue=q||J?(0,$.jsxs)(`div`,{className:X.treePopupHeader,children:[q?(0,$.jsx)(ue,{onSelectAll:h.onSelectAll,onDeselectAll:h.onDeselectAll,selectAllButtonRef:S}):null,J?(0,$.jsx)(ee,{value:D,onChange:O,onClear:()=>O(``),placeholder:`Поиск по дереву`,onKeyDown:e=>{e.key!==`Escape`&&e.key!==`Tab`&&e.stopPropagation()},onClick:e=>{e.stopPropagation()}}):null]}):void 0;(0,Q.useEffect)(()=>{C.current&&!F&&K.policy.resetQueryOnClose&&O(``),C.current=F},[F,O,K.policy.resetQueryOnClose]),(0,Q.useLayoutEffect)(()=>{F&&l===`columns`&&H()},[P.signature,F,l,H]);let We=e=>{me.current=e},Ge=()=>{b?.(),O(``),c===`single`&&z()},Y=e=>{e.hasChildren&&ve(t=>{let n=new Map(t),r=t.get(e.node.id)??E.has(e.node.codeKey);return n.set(e.node.id,!r),n})};return(0,$.jsx)(re,{label:e,description:t,disabled:n,size:i,children:({controlId:t,labelId:i,describedBy:a})=>{let u=`${t}-listbox`,f=typeof e==`string`?e:r;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ce,{ref:We,rootRef:Me,id:t,type:`text`,role:`combobox`,autoComplete:`off`,disabled:n||x,readOnly:g!==`search`,value:g===`display`&&G?``:Be,placeholder:He?ye:void 0,"aria-labelledby":i,"aria-label":i?void 0:r,"aria-describedby":a,"aria-haspopup":l===`columns`?`dialog`:`listbox`,"aria-expanded":F,"aria-controls":F?u:void 0,"aria-autocomplete":l!==`columns`&&g===`search`?`list`:`none`,"aria-activedescendant":l!==`columns`&&F&&N.length>0?V(u):void 0,inputClassName:p(U&&X.treeSummary,G&&X.inputWithOverlay),overlay:G?(0,$.jsx)(`div`,{className:X.valueOverlay,children:v}):void 0,endAdornment:(0,$.jsxs)(he,{open:F,disabled:n||x,onToggleMouseDown:K.handleToggleMouseDown,onToggleClick:K.handleToggleClick,children:[Ve?v:null,U&&b?(0,$.jsx)(`button`,{type:`button`,className:X.treeClearButton,onMouseDown:e=>{e.preventDefault(),e.stopPropagation()},onClick:e=>{e.preventDefault(),e.stopPropagation(),Ge()},"aria-label":`Очистить выбор`,children:(0,$.jsx)(d,{})}):null]}),onChange:e=>{g===`search`&&K.handleTriggerInputChange(e.target.value)},onClick:K.handleTriggerClick,onFocus:e=>{K.handleTriggerFocus(e.currentTarget)},onKeyDown:e=>{if(l===`columns`&&F&&e.key===`Tab`&&!e.shiftKey&&S.current){e.preventDefault(),S.current.focus();return}Le(e),!e.defaultPrevented&&K.handleTriggerKeyDown({event:e,onActivateWhenOpen:()=>{let e=I>=0?N[I]:void 0;e&&B(e)},enableSpaceActivation:g===`display`})}}),(0,$.jsx)(ae,{open:F,context:L,floatingStyles:je,listId:u,labelId:i,popupAriaLabel:f,descriptionId:a,activeOptionId:l!==`columns`&&N.length>0?V(u):void 0,ariaMultiselectable:l!==`columns`&&c===`multi`,popupRole:l===`columns`?`dialog`:`listbox`,setFloating:Ne,getFloatingProps:R,onKeyDown:Re,className:_.uiPopupOptions,layoutClassName:l===`columns`?X.treeColumnsPopupLayout:void 0,bodyClassName:`scrollable`,header:Ue,children:(0,$.jsx)(`div`,{className:p(l===`columns`&&X.treeColumns),children:N.length===0?(0,$.jsx)(pe,{errorState:de,loadingState:x?`Загрузка...`:void 0,emptyState:!de&&!x?`Нет данных`:void 0}):N.map((e,t)=>{let n=c===`multi`?k(e.node.id,o,T):o.has(e.node.id),r=c===`multi`&&!n&&s.has(e.node.id),i=t===I,a=e.node.disabled===!0;return(0,$.jsx)(`div`,{"data-ui":`tree-select-option`,id:ze(u,t),ref:e=>Pe(t,e),role:l===`columns`?void 0:`option`,"aria-selected":l===`columns`?void 0:n,"aria-disabled":a||void 0,className:p(X.treeRow,l===`columns`&&X.treeColumnRow,a&&X.treeRowDisabled,i&&X.treeRowActive,n&&X.treeRowSelected),style:l===`columns`?{"--tree-option-column":`var(--tree-option-${t}-column, auto)`,"--tree-option-row":`var(--tree-option-${t}-row, auto)`}:void 0,onMouseDown:e=>{e.preventDefault()},onClick:()=>B(e),children:(0,$.jsx)(`div`,{className:X.treeNodeButton,children:(0,$.jsx)($e,{node:e.node,level:e.level,highlight:D,hasChildren:e.hasChildren,isExpanded:e.isExpanded,selected:n,partial:r,selectionMode:c,optionsLayout:l,onToggleExpand:()=>Y(e),onToggleSelection:()=>B(e)})})},e.node.id)})})})]})}})}var Q,$;function nt(){return(nt=e((()=>{Q=t(),m(),u(),y(),ne(),b(),x(),de(),S(),te(),se(),me(),le(),v(),z(),et(),Qe(),$=f(),tt.__docgenInfo={description:``,methods:[],displayName:`TreePickerBase`,props:{nodes:{required:!0,tsType:{name:`unknown`},description:``},selectedIds:{required:!0,tsType:{name:`Set`,elements:[{name:`string`}],raw:`Set<string>`},description:``},partialIds:{required:!0,tsType:{name:`Set`,elements:[{name:`string`}],raw:`Set<string>`},description:``},selectionMode:{required:!0,tsType:{name:`union`,raw:`"single" | "multi"`,elements:[{name:`literal`,value:`"single"`},{name:`literal`,value:`"multi"`}]},description:``},optionsLayout:{required:!1,tsType:{name:`union`,raw:`"tree" | "columns"`,elements:[{name:`literal`,value:`"tree"`},{name:`literal`,value:`"columns"`}]},description:``,defaultValue:{value:`"tree"`,computed:!1}},defaultExpandedCodeKeys:{required:!1,tsType:{name:`unknown`},description:``},open:{required:!1,tsType:{name:`boolean`},description:``},onOpenChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(open: boolean) => void`,signature:{arguments:[{type:{name:`boolean`},name:`open`}],return:{name:`void`}}},description:``},bulkActions:{required:!1,tsType:{name:`signature`,type:`object`,raw:`{
11
- onSelectAll: () => void;
12
- onDeselectAll: () => void;
13
- }`,signature:{properties:[{key:`onSelectAll`,value:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}},required:!0}},{key:`onDeselectAll`,value:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}},required:!0}}]}},description:``},triggerMode:{required:!1,tsType:{name:`union`,raw:`"display" | "search"`,elements:[{name:`literal`,value:`"display"`},{name:`literal`,value:`"search"`}]},description:``,defaultValue:{value:`"display"`,computed:!1}},selectedSummary:{required:!1,tsType:{name:`ReactNode`},description:``},selectedSummaryText:{required:!1,tsType:{name:`string`},description:``},query:{required:!1,tsType:{name:`string`},description:``},defaultQuery:{required:!1,tsType:{name:`string`},description:``},onQuery:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},onNodeActivate:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(node: TreeSelectNode) => void`,signature:{arguments:[{type:{name:`signature`,type:`object`,raw:`{
14
- id: string;
15
- codeKey: string;
16
- value: string;
17
- label: string;
18
- code?: string;
19
- searchText: string;
20
- children?: TreeSelectNode[];
21
- disabled?: boolean;
22
- }`,signature:{properties:[{key:`id`,value:{name:`string`,required:!0}},{key:`codeKey`,value:{name:`string`,required:!0}},{key:`value`,value:{name:`string`,required:!0}},{key:`label`,value:{name:`string`,required:!0}},{key:`code`,value:{name:`string`,required:!1}},{key:`searchText`,value:{name:`string`,required:!0}},{key:`children`,value:{name:`Array`,elements:[{name:`TreeSelectNode`}],raw:`TreeSelectNode[]`,required:!1}},{key:`disabled`,value:{name:`boolean`,required:!1}}]}},name:`node`}],return:{name:`void`}}},description:``},onClearSelection:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},isLoading:{required:!1,tsType:{name:`boolean`},description:``},error:{required:!1,tsType:{name:`string`},description:``}}}})))()}export{xe as a,ve as c,j as i,_e as l,nt as n,De as o,ge as r,M as s,tt as t,w as u};
@@ -1 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{a as t,i as n,t as r}from"./array-BBSjoTRy-CIRmlF93.js";import{b as i,c as a,d as o,g as s,o as c,p as l,s as u,u as d}from"./odata-service-DnPlNGpU-Bpd4Zh9L.js";function f(e){return e<0?-1:+(e>0)}function ee(e,t){return e===t?0:e<t?-1:1}function p(e,t){let n=m.compare(e,t);return n===0?ee(e,t):f(n)}var m;function h(){return(h=e((()=>{m=new Intl.Collator(`ru-RU`,{usage:`sort`,sensitivity:`base`,numeric:!0})})))()}function te(){for(let e of de)C.set(e.name,{...S,...e})}function g(e){return C.get(e)}function ne(e){if(typeof e!=`string`)return e;let t=g(e);if(!t)throw Error(`Предустановка "${e}" не найдена`);return t}function _(e){let t=[...e.keys??[]],n=n=>{if(!Number.isInteger(n)||n<0){e.instrumentation?.onOutOfRangeIndex?.(n);return}if(e.instrumentation?.onReadIndex?.(n),n>=t.length){e.instrumentation?.onOutOfRangeIndex?.(n);return}return t[n]};return{rowData:e.rowData,rawValue:e.rawValue,columnId:e.columnId,key:n,value:t=>{let r=n(t);if(r)return e.rowData[r]},num:t=>{let r=n(t);return r?a(e.rowData[r]):0}}}function re(e){let t=new Map,n=[];for(let r of e){let e=r.id.trim();if(!e)throw Error(`Formula id для RowBasedFormatter не может быть пустым`);if(t.has(e))throw Error(`Найден дублирующийся formulaId в RowBasedFormatter: ${e}`);let i=Object.freeze({...r,id:e,name:r.name.trim(),description:r.description.trim()});t.set(e,i),n.push(i)}return Object.freeze({list:Object.freeze(n),byId:t})}function v(e){let t=e?.trim();if(t)return w.byId.get(t)}function y(e,t,n){e.errors.push({code:t,message:n})}function b(e,t,n){e.warnings.push({code:t,message:n})}function ie(e){return[...e].sort((e,t)=>e-t)}function x(e,t){return e.reduce((e,n,r)=>(e[n]=(r+1)*t,e),{})}function ae(e,t){if(!e.formulaId.trim()){y(t,`step_row_based_override_formula_id_empty`,`Для rowBasedOverride (formula) необходимо заполнить formulaId.`);return}let n=v(e.formulaId),r=[...e.dependencyIds??[]];if(!n){y(t,`step_row_based_override_formula_not_found`,`Формула rowBasedOverride не найдена в реестре.`);return}let i=new Set,a=new Set,o=0,s=e=>{try{let t=_({rowData:e,rawValue:100,columnId:`__validation__`,keys:r,instrumentation:{onReadIndex:e=>{i.add(e)},onOutOfRangeIndex:e=>{a.add(e)}}});n.fn(t)}catch{o+=1}};s(x(r,100)),s(x(r,-100));let c=ie(i),l=c.length>0?c[c.length-1]+1:0;a.size>0&&y(t,`step_row_based_override_dependency_index_out_of_range`,`Формула rowBasedOverride обращается к несуществующим индексам. Минимально требуется зависимостей: ${l}, выбрано: ${r.length}.`),c.length===0&&b(t,`step_row_based_override_formula_does_not_use_dependencies`,`Формула rowBasedOverride не использует dependencyIds.`);let u=r.filter((e,t)=>!i.has(t));u.length>0&&b(t,`step_row_based_override_unused_dependencies`,`Выбраны, но не используются формулой rowBasedOverride: ${u.join(`, `)}.`),o>0&&b(t,`step_row_based_override_formula_runtime_error`,`На тестовых данных формула rowBasedOverride завершилась с ошибкой.`)}function oe(e,t){let n=new Set,r={normalizeLeadingZeros:0,rowBasedOverride:0,resolveValueState:0,typedValueFormat:0};for(let i of e){let e=i.id.trim();if(!e){y(t,`step_id_duplicate`,`Шаг pipeline не может иметь пустой id.`);continue}switch(n.has(e)&&y(t,`step_id_duplicate`,`Найден дублирующийся id шага pipeline: ${e}.`),n.add(e),i.type){case`normalizeLeadingZeros`:r.normalizeLeadingZeros+=1;break;case`rowBasedOverride`:r.rowBasedOverride+=1,i.config.mode===`field`&&!i.config.fieldKey.trim()&&y(t,`step_row_based_override_field_key_empty`,`Для rowBasedOverride (field) необходимо заполнить fieldKey.`),i.config.mode===`formula`&&ae(i.config,t);break;case`resolveValueState`:r.resolveValueState+=1,i.config.resolver.kind===`threshold`&&i.config.resolver.states.length!==i.config.resolver.thresholds.length+1&&y(t,`step_threshold_states_count_invalid`,`Для threshold-резолвера количество states должно быть равно thresholds + 1.`);break;case`typedValueFormat`:if(r.typedValueFormat+=1,i.config?.numberPresetName!==void 0){let e=i.config.numberPresetName.trim();if(!e){y(t,`step_typed_value_format_preset_empty`,`Для typedValueFormat указан пустой numberPresetName.`);break}g(e)||y(t,`step_typed_value_format_preset_not_found`,`Для typedValueFormat указан неизвестный пресет: ${e}.`)}}}r.normalizeLeadingZeros>1&&y(t,`step_normalize_leading_zeros_multiple`,`В pipeline может быть только один шаг normalizeLeadingZeros.`),r.rowBasedOverride>1&&y(t,`step_row_based_override_multiple`,`В pipeline может быть только один шаг rowBasedOverride.`),r.resolveValueState>1&&y(t,`step_resolve_value_state_multiple`,`В pipeline может быть только один шаг resolveValueState.`),r.typedValueFormat>1&&y(t,`step_typed_value_format_multiple`,`В pipeline может быть только один шаг typedValueFormat.`);let i=e.findIndex(e=>e.type===`resolveValueState`),a=e.findIndex(e=>e.type===`typedValueFormat`);i!==-1&&a!==-1&&a<i&&y(t,`step_typed_before_value_state`,`Шаг typedValueFormat не может выполняться до шага resolveValueState.`);for(let n of e)n.type===`resolveValueState`&&!n.config.icon?.enabled&&n.config.icon?.showValue===!1&&b(t,`step_value_hidden_without_icon`,`Для resolveValueState установлено showValue=false при выключенной иконке: значение не будет отображаться.`)}function se(e){let t={errors:[],warnings:[]};return oe(e.steps,t),{ok:t.errors.length===0,errors:t.errors,warnings:t.warnings,plan:t.errors.length===0?{steps:[...e.steps]}:void 0}}function ce(e,t,n){let r=new Map(e.map(e=>[e.id,e])),i=new Map,a=new Map;for(let t of e)i.set(t.id,[]),a.set(t.id,[]);for(let e of t){let t=e.source.trim(),o=e.target.trim();if(!r.has(t)||!r.has(o)){y(n,`edge_node_not_found`,`Ребро ${e.id} ссылается на несуществующий узел: ${t} -> ${o}.`);continue}i.get(t)?.push(o),a.get(o)?.push(t)}let o=e.filter(e=>e.type===`source`),s=e.filter(e=>e.type===`sink`);if(o.length!==1&&y(n,`source_count_invalid`,`В графе должен быть ровно один узел source.`),s.length!==1&&y(n,`sink_count_invalid`,`В графе должен быть ровно один узел sink.`),n.errors.length>0)return;let c=o[0].id,l=s[0].id;for(let t of e){let e=a.get(t.id)?.length??0,r=i.get(t.id)?.length??0;if(t.type===`source`){e!==0&&y(n,`source_incoming_invalid`,`Узел source не должен иметь входящих рёбер.`),r!==1&&y(n,`node_degree_invalid`,`Узел source должен иметь ровно одно исходящее ребро.`);continue}if(t.type===`sink`){r!==0&&y(n,`sink_outgoing_invalid`,`Узел sink не должен иметь исходящих рёбер.`),e!==1&&y(n,`node_degree_invalid`,`Узел sink должен иметь ровно одно входящее ребро.`);continue}(e!==1||r!==1)&&y(n,`node_degree_invalid`,`Узел ${t.id} должен иметь ровно одно входящее и одно исходящее ребро для линейного pipeline.`)}if(n.errors.length>0)return;let u=new Set,d=[],f=c;for(;;){if(u.has(f)){y(n,`path_cycle_detected`,`В графе pipeline обнаружен цикл.`);return}if(u.add(f),d.push(f),f===l)break;let e=i.get(f)??[];if(e.length!==1){y(n,`path_broken`,`Не удалось построить линейный путь от source к sink.`);return}f=e[0]}if(u.size!==e.length){y(n,`path_disconnected_nodes`,`Граф содержит узлы, которые не входят в линейный путь source -> sink.`);return}return d}function le(e){let t={errors:[],warnings:[]};if(!e.nodes.length)return y(t,`path_broken`,`Граф pipeline не содержит узлов.`),{ok:!1,errors:t.errors,warnings:t.warnings};let n=new Map;for(let r of e.nodes){let e=r.id.trim();if(!e){y(t,`node_id_duplicate`,`Узел pipeline не может иметь пустой id.`);continue}if(n.has(e)){y(t,`node_id_duplicate`,`Найден дублирующийся id узла pipeline: ${e}.`);continue}n.set(e,r)}let r=new Set;for(let n of e.edges){let e=n.id.trim();if(!e){y(t,`edge_id_duplicate`,`Ребро pipeline не может иметь пустой id.`);continue}if(r.has(e)){y(t,`edge_id_duplicate`,`Найден дублирующийся id ребра pipeline: ${e}.`);continue}r.add(e)}if(t.errors.length>0)return{ok:!1,errors:t.errors,warnings:t.warnings};let i=ce(e.nodes,e.edges,t);if(!i)return{ok:!1,errors:t.errors,warnings:t.warnings};let a=[];for(let e of i){let t=n.get(e);if(!(!t||t.type===`source`||t.type===`sink`))switch(t.type){case`normalizeLeadingZeros`:a.push({id:t.id,type:`normalizeLeadingZeros`,config:t.config?{...t.config}:void 0});break;case`rowBasedOverride`:a.push({id:t.id,type:`rowBasedOverride`,config:t.config.mode===`formula`?{...t.config,dependencyIds:t.config.dependencyIds?[...t.config.dependencyIds]:void 0}:{...t.config}});break;case`resolveValueState`:a.push({id:t.id,type:`resolveValueState`,config:{resolver:t.config.resolver.kind===`fixed`?{kind:`fixed`,entries:{...t.config.resolver.entries},fallbackState:t.config.resolver.fallbackState}:{kind:`threshold`,thresholds:t.config.resolver.thresholds.map(e=>typeof e==`number`?e:{...e}),states:[...t.config.resolver.states],invalidState:t.config.resolver.invalidState},icon:t.config.icon?{...t.config.icon}:void 0}});break;case`typedValueFormat`:a.push({id:t.id,type:`typedValueFormat`,config:t.config?{...t.config}:void 0});break}}return oe(a,t),{ok:t.errors.length===0,errors:t.errors,warnings:t.warnings,plan:t.errors.length===0?{steps:a}:void 0}}function ue(e){let t={errors:[],warnings:[]};if(!e)return y(t,`config_not_defined`,`Конфигурация pipeline не задана.`),{ok:!1,errors:t.errors,warnings:t.warnings};if(e.version!==1)return y(t,`unsupported_version`,`Неподдерживаемая версия pipeline: ${String(e.version)}.`),{ok:!1,errors:t.errors,warnings:t.warnings};if(!e.plan&&!e.graph)return y(t,`graph_or_plan_required`,`Для pipeline должен быть задан хотя бы один источник: graph или plan.`),{ok:!1,errors:t.errors,warnings:t.warnings};if(e.plan){let n=se(e.plan);if(t.errors.push(...n.errors),t.warnings.push(...n.warnings),n.ok&&n.plan)return{ok:!0,errors:t.errors,warnings:t.warnings,plan:n.plan};if(e.graph)b(t,`path_broken`,`Линейный plan невалиден. Выполнена попытка построить план из graph.`),t.errors.length=0;else return{ok:!1,errors:t.errors,warnings:t.warnings}}if(e.graph){let n=le(e.graph);return{ok:n.ok,errors:[...t.errors,...n.errors],warnings:[...t.warnings,...n.warnings],plan:n.plan}}return{ok:!1,errors:t.errors,warnings:t.warnings}}var S,de,C,w;function T(){return(T=e((()=>{u(),S={decimals:1,decimalSeparator:`,`,grouping:!0,groupingSeparator:new Intl.NumberFormat(`ru-RU`).formatToParts(1e3).find(e=>e.type===`group`)?.value??`\xA0`,groupingSize:3},Object.freeze({integer:`integer`,decimal:`decimal`,decimal2:`decimal-2`,decimal3:`decimal-3`,currency:`currency`,price:`price`,percent:`percent`,tonnage:`tonnage`,compactCurrency:`compact-currency`,compactCurrencyRound:`compact-currency-round`,compactPercent:`compact-percent`,compactPercentRound:`compact-percent-round`,compactTonnage:`compact-tonnage`,compactTonnageRound:`compact-tonnage-round`}),de=[{name:`integer`,decimals:0,decimalSeparator:``},{name:`decimal`},{name:`decimal-2`,decimals:2},{name:`decimal-3`,decimals:3},{name:`currency`,decimals:0,decimalSeparator:``},{name:`price`,decimals:0,decimalSeparator:``},{name:`percent`,decimals:2},{name:`tonnage`},{name:`compact-currency`,decimals:0,decimalSeparator:``,compact:{}},{name:`compact-currency-round`,decimals:0,decimalSeparator:``,compact:{roundingMode:`round`}},{name:`compact-percent`,decimals:2,compact:{maxDecimals:2}},{name:`compact-percent-round`,decimals:2,compact:{maxDecimals:2,roundingMode:`round`}},{name:`compact-tonnage`,compact:{maxDecimals:1}},{name:`compact-tonnage-round`,compact:{maxDecimals:1,roundingMode:`round`}}],C=new Map,te(),w=re([])})))()}function E(e){return e!=null}function D(){return(D=e((()=>{})))()}function fe(e){let t=new Map,n=[];for(let r of e){let e=r.id.trim();if(!e)throw Error(`Formula id не может быть пустым`);if(t.has(e))throw Error(`Найден дублирующийся formulaId: ${e}`);let i=Object.freeze({...r,id:e,name:r.name.trim(),description:r.description.trim(),keywords:r.keywords?[...r.keywords]:void 0});t.set(e,i),n.push(i)}return Object.freeze({list:Object.freeze(n),byId:t})}function pe(e){let t=e?.trim();if(t)return O.byId.get(t)}function me(e){let t=Number(e);return Number.isFinite(t)?t:0}function he(e){let t=pe(e.formulaId);if(!t)return{ok:!1,reason:`formula_not_found`};let n=[...e.keys??[]],r={},i={key:e=>Number.isInteger(e)&&e>=0&&e<n.length?n[e]:void 0,value:e=>{if(!Number.isInteger(e)||e<0||e>=n.length)return;let t=n[e];if(t)return r[t]},num:e=>{if(!Number.isInteger(e)||e<0||e>=n.length)return 0;let t=n[e];return t?me(r[t]):0}};return{ok:!0,execute:e=>{r=e;try{let e=t.fn(i);return Number.isFinite(e)?{ok:!0,value:e}:{ok:!1,reason:`invalid_result`}}catch{return{ok:!1,reason:`runtime_error`}}}}}var O;function k(){return(k=e((()=>{O=fe([])})))()}function ge(e,t){let n=(e||``).toLowerCase().replace(/^0+/,``),r=(t||``).toLowerCase().replace(/^0+/,``);return n.startsWith(r)}function _e(e,t){let n=r(e);if(n)return n.length>t?`${n.slice(0,t)}...`:n}function A(e,t,n,r=0,i=0,a=0,o=0){return new Date(e,t,n,r,i,a,o)}function j(e){return A(e.getFullYear(),e.getMonth(),e.getDate(),0,0,0,0)}function M(e){return A(e.getFullYear(),e.getMonth(),e.getDate(),23,59,59,0)}function N(e){return A(e.getFullYear(),e.getMonth(),1,0,0,0,0)}function ve(e){return A(e.getFullYear(),0,1,0,0,0,0)}function ye(e,t=1){let n=Number.isInteger(t)?(t%7+7)%7:1,r=j(e);return P(r,-((r.getDay()-n+7)%7))}function P(e,t){return A(e.getFullYear(),e.getMonth(),e.getDate()+t,0,0,0,0)}function F(e,t){return A(e.getFullYear(),e.getMonth()+t,e.getDate(),0,0,0,0)}function be(e,t){return A(e.getFullYear()+t,e.getMonth(),e.getDate(),0,0,0,0)}function xe(e,t){return!(e instanceof Date)||!(t instanceof Date)?!1:e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function I(e){return e instanceof Date&&Number.isFinite(e.getTime())}function Se(e){return e??`sunday`}function Ce(e){return e??`day`}function we(e,t={}){if(!I(e))return null;switch(Ce(t.selectionMode)){case`day`:return{start:j(e),end:M(e)};case`week`:{let n=ye(e),r=bt[Se(t.weekEndDay)];return{start:n,end:M(P(n,r))}}case`month`:return{start:N(e),end:M(A(e.getFullYear(),e.getMonth()+1,0))};case`year`:return{start:ve(e),end:M(A(e.getFullYear(),11,31))};default:return null}}function Te(e,t){if(!I(e)||!t)return!1;let n=j(e).getTime();return n>=t.start.getTime()&&n<=t.end.getTime()}function Ee(e,t={}){return!(!e||t.minDate&&e.start.getTime()<j(t.minDate).getTime()||t.maxDate&&e.end.getTime()>M(t.maxDate).getTime())}function L(e){return e instanceof Date&&Number.isFinite(e.getTime())}function R(e){return Array.isArray(e)}function z(e){return new Date(e.getTime())}function De(e,t){return e.getTime()<=t.getTime()?[e,t]:[t,e]}function Oe(e){if(R(e)){let[t,n]=e,r=L(t),i=L(n);return r&&i?De(t,n):r?[t,t]:i?[n,n]:null}return L(e)?[e,e]:null}function ke(e,t={}){let n=Oe(e);if(!n)return null;let[r,i]=n;return t.timeMode===`preserve`?[z(r),z(i)]:[j(r),M(i)]}function B(e){return Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())}function Ae(e){let t=ke(e);if(!t)return null;let[n,r]=t;return Math.floor((B(r)-B(n))/xt)+1}function V(e){return j(e)}function je({referenceDate:e}){let t=V(e),n=N(t),r=P(t,-1);return[n,M(r<n?n:r)]}function Me({referenceDate:e}){let t=V(e);return[N(t),M(t)]}function Ne({referenceDate:e}){let t=V(e);return[t,M(t)]}function Pe({referenceDate:e}){let t=P(V(e),-1);return[t,M(t)]}function Fe({referenceDate:e}){let t=V(e);return[j(F(t,-1)),M(t)]}function H(e,t){switch(t){case`round`:return Math.round(e);case`floor`:return Math.floor(e);case`ceil`:return Math.ceil(e);case`trunc`:return Math.trunc(e)}}function Ie(e,t,n){if(t===0)return H(e,n);let r=10**t;return H(e*r,n)/r}function Le(e){return e>=10?0:1}function Re(e,t){if(t===0)return 0;let n=e.toFixed(t),r=n.indexOf(`.`);return r===-1?0:n.slice(r+1).replace(/0+$/,``).length}function ze(e,t){return t.findIndex(t=>e>=t.value)}function Be(e,t){return{name:e.name,decimals:t,decimalSeparator:t>0?e.decimalSeparator||Ct:e.decimalSeparator,grouping:e.grouping,groupingSeparator:e.groupingSeparator,groupingSize:e.groupingSize}}function U(e,t,n,r,i){let a=n.units[t];if(!a)return i(e,r);let o=e/a.value,s=n.maxDecimals??Le(o),c=Ie(o,s,n.roundingMode);return c>=1e3&&t>0?U(e,t-1,n,r,i):`${i(c,Be(r,Re(c,s)))}${n.suffixSeparator}${a.suffix}`}function Ve(e){let{minCompactValue:t=J.minCompactValue,roundingMode:n=J.roundingMode,suffixSeparator:r=J.suffixSeparator,maxDecimals:i,units:a=St}=e.options,o=Math.abs(e.value);if(o<t)return e.formatPlainNumber(e.value,e.preset);let s=ze(o,a);return s===-1?e.formatPlainNumber(e.value,e.preset):`${e.value<0?`-`:``}${U(o,s,{roundingMode:n,suffixSeparator:r,maxDecimals:i,units:a},e.preset,e.formatPlainNumber)}`}function He(e){let t=c(e);return typeof t==`number`?t===0:typeof t==`bigint`&&t===0n}function W(e,t){let n=`${e}:${+!!t}`,r=Y.get(n);return r||(r=new Intl.NumberFormat(`ru-RU`,{minimumFractionDigits:e,maximumFractionDigits:e,useGrouping:t}),Y.set(n,r)),r}function Ue(e){return e.groupingSize===3&&(e.groupingSeparator===S.groupingSeparator||!e.grouping)&&(e.decimalSeparator===`,`||e.decimals===0)}function We(e,t,n){return W(t,n).format(e)}function Ge(e,t){let n=W(t.decimals,t.grouping).formatToParts(e),r=``;for(let e of n)e.type===`group`?r+=t.groupingSeparator:e.type===`decimal`?r+=t.decimalSeparator:r+=e.value;return r}function Ke(e,t){let n=W(t.decimals,!1).format(e),r=n.indexOf(`,`),i=r===-1?n:n.slice(0,r),a=r===-1?null:n.slice(r+1),o=i.startsWith(`-`),s=o?i.slice(1):i,c=t.groupingSize,l=[];for(let e=s.length;e>0;e-=c)l.unshift(s.slice(Math.max(0,e-c),e));let u=(o?`-`:``)+l.join(t.groupingSeparator);return a!==null&&(u+=t.decimalSeparator+a),u}function G(e,t){return Ue(t)?We(e,t.decimals,t.grouping):t.groupingSize===3||!t.grouping?Ge(e,t):Ke(e,t)}function qe(e,t){if(typeof e==`string`&&e.trim()===``)return`0`;let n=Number(e);if(!Number.isFinite(n))return`0`;let r=ne(t);return r.compact?Ve({value:n,preset:r,options:r.compact,formatPlainNumber:G}):G(n,r)}function Je(e,t){let n=typeof e==`number`?e:Number(e);if(!Number.isFinite(n))return e;let r=String(n);if(typeof t==`number`&&t>0){let e=0,n=``,i=r.charCodeAt(0);(i===45||i===43)&&(n=r[0],e=1);let a=r.indexOf(`.`,e),o=a===-1?r.length:a,s=r.slice(e,o),c=a===-1?``:r.slice(a);s||=`0`;let l=s.length;return l<t&&(s=`0`.repeat(t-l)+s),n+s+c}return r}function Ye(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return`id_`+t.toString(36)}function K(e,t){let n=Z.get(e);if(n)return{id:n,isNew:!1};let r=Ye(e),i=t();return X.set(r,i),Z.set(e,r),{id:r,isNew:!0}}function Xe(e,t){let n=X.get(e);return n?n(t):`none`}function Ze(e,t){return`fixed|${e.map(([e,t])=>`${e}:${t}`).join(`,`)}|${t}`}function Qe(e,t){let n=new Map(Object.entries(e));return e=>{if(e==null)return t;let r=String(e);return n.get(r)??t}}function $e(e){let t=e.fallbackState??`none`,n=Ze(Object.entries(e.entries).sort(([e],[t])=>p(e,t)),t);return{entries:e.entries,fallbackState:t,canonicalKey:n}}function et(e){let{entries:t,fallbackState:n,canonicalKey:r}=$e(e),{id:i}=K(r,()=>Qe(t,n));return i}function tt(e){return typeof e==`number`?{value:e,boundary:`upper`}:{value:e.value,boundary:e.boundary??`upper`}}function nt(e,t,n){return`threshold|${e.map(e=>`${e.value}:${e.boundary}`).join(`,`)}|${t.join(`,`)}|${n}`}function rt(e,t){if(t.length!==e.length+1)throw Error(`Количество состояний (${t.length}) должно быть равно количеству порогов + 1 (${e.length+1})`);let n=new Set;for(let t of e)n.has(t.value)&&console.warn(`Дублирующееся пороговое значение: ${t.value}`),n.add(t.value)}function it(e,t,n){let r=e.map(e=>e.value),i=e.map(e=>e.boundary===`lower`),a=[...t];return e=>{if(e===``||e==null)return n;let t=+e;if(!Number.isFinite(t))return n;for(let e=0;e<r.length;e++)if(i[e]?t<=r[e]:t<r[e])return a[e];return a[a.length-1]}}function at(e){let t=e.invalidState??`none`,n=e.thresholds.map(tt).sort((e,t)=>e.value-t.value);return rt(n,e.states),{sortedThresholds:n,invalidState:t,canonicalKey:nt(n,e.states,t),states:e.states}}function ot(e){let{sortedThresholds:t,invalidState:n,canonicalKey:r,states:i}=at(e),{id:a}=K(r,()=>it(t,i,n));return a}function q(e,t,r){if(!E(e))return``;let i=d(t.type);if(i===`number`){let t=r?.numberPresetName?.trim();return qe(e,t&&g(t)?t:Q.number)}if(i===`date`){let t=r?.datePresetName?.trim(),n=t&&l(t)?t:Q.date;return o(s(e),n)}return n(e)}function st(e){if(e===`success`||e===`warning`||e===`error`||e===`information`)return e}function ct(e,t){switch(e.rowKind){case`group`:case`plain`:case`tree`:return!0;case`totals`:return t===`formula`}}function lt(e){let t=ue(e.config);if(!t.ok||!t.plan)return t.errors.some(e=>e.code===`step_row_based_override_formula_not_found`)?{ok:!1,reason:`row_based_formula_not_found`}:{ok:!1,reason:`pipeline_invalid`};let{steps:n}=t.plan,r=n.some(e=>e.type===`rowBasedOverride`),i=n.some(e=>e.type===`typedValueFormat`),a=n.find(e=>e.type===`resolveValueState`),o=a?.config.resolver.kind===`fixed`?et({entries:a.config.resolver.entries,fallbackState:a.config.resolver.fallbackState}):a?.config.resolver.kind===`threshold`?ot({thresholds:a.config.resolver.thresholds,states:a.config.resolver.states,invalidState:a.config.resolver.invalidState}):void 0,s=n.find(e=>e.type===`rowBasedOverride`),c=s?.config.mode===`formula`?v(s.config.formulaId):void 0;return s?.config.mode===`formula`&&!c?{ok:!1,reason:`row_based_formula_not_found`}:{ok:!0,executor:{hasRowBasedOverride:r,hasTypedValueFormat:i,execute:t=>{let r=t.value,a=`none`,s=!1,l=!0,u=`left`,d;for(let i of n)switch(i.type){case`normalizeLeadingZeros`:r=Je(r,i.config?.fixed);break;case`rowBasedOverride`:if(!ct(t,i.config.mode))break;if(i.config.mode===`field`){let e=t.rowData[i.config.fieldKey];if(e==null&&i.config.fallbackToRaw!==!1)break;r=e;break}if(!c)break;try{let e=c.fn(_({rowData:t.rowData,rawValue:r,columnId:t.columnId,keys:i.config.dependencyIds}));if(e==null&&i.config.fallbackToRaw!==!1)break;r=e}catch{i.config.fallbackToRaw===!1&&(r=void 0)}break;case`resolveValueState`:if(!o)break;a=Xe(o,r),s=i.config.icon?.enabled??!1,l=i.config.icon?.showValue??!0,u=i.config.icon?.position??`left`,d=s?st(a):void 0;break;case`typedValueFormat`:r=q(r,e.column,i.config);break}return{value:r,state:a,icon:d,showIcon:s,showValue:l,iconPosition:u,hasTypedValueFormat:i}}}}}function ut(e,t){return{value:e,state:`none`,showIcon:!1,showValue:!0,iconPosition:`left`,overflowTooltip:t}}function dt(e,t){return t?q(e,t):n(e)}function ft(e){if(!e.formulaId)return;let t=he({formulaId:e.formulaId,keys:e.formulaDependencies});return t.ok?t.execute:Tt}function pt(e,t,n){if(!n.formulaId)return{value:e,shouldRenderEmpty:!1};if(!n.formulaExecutor)return{value:n.purelyDerived?void 0:e,shouldRenderEmpty:n.purelyDerived===!0};let r=n.formulaExecutor(t);return r.ok?{value:r.value,shouldRenderEmpty:!1}:{value:n.purelyDerived?void 0:e,shouldRenderEmpty:n.purelyDerived===!0}}function mt(e,t,n){let r=n.formattersPipelineExecutor;if(!r)return ut(dt(t,n),n.overflowTooltip===!0);let i=r.execute({value:t,rowData:e.rowData,rowKind:e.rowKind,isGroupRow:e.rowKind===`group`,isTotalsRow:e.rowKind===`totals`,rowLevel:e.rowLevel??0,groupingIds:e.groupingIds??[],columnId:n.id});return{value:i.hasTypedValueFormat?i.value:dt(i.value,n),state:i.state,icon:i.icon,showIcon:i.showIcon,showValue:i.showValue,iconPosition:i.iconPosition,overflowTooltip:n.overflowTooltip===!0}}function ht(e,t,n){return t.shouldRenderEmpty||n.emptyWhenZero&&He(t.value)?{...e,value:``}:e}function gt(e){let t=ft(e);if(t?e.formulaExecutor=t:delete e.formulaExecutor,!e.formattersPipeline)return delete e.formattersPipelineExecutor,e;let n=lt({config:e.formattersPipeline,column:e});return n.ok?e.formattersPipelineExecutor=n.executor:delete e.formattersPipelineExecutor,e}function _t(e){let t={};for(let[n,r]of Object.entries(e))r&&(t[n]=gt(r));return t}function vt(e){if(!e.field)return ut(n(e.rawValue),!1);let t=pt(e.rawValue,e.rowData,e.field);return ht(mt(e,t.value,e.field),t,e.field)}function yt(e,t){switch(e){case`success`:return`statusSuccess`;case`warning`:return`statusWarning`;case`error`:return`statusError`;case`information`:return`statusInfo`;default:return t}}var bt,xt,St,J,Ct,Y,X,Z,Q,wt,Tt,$,Et;function Dt(){return(Dt=e((()=>{t(),u(),i(),T(),h(),D(),k(),bt={friday:4,saturday:5,sunday:6},xt=864e5,St=[{value:0xe8d4a51000,suffix:`трлн`},{value:1e9,suffix:`млрд`},{value:1e6,suffix:`млн`},{value:1e3,suffix:`тыс`}],J={minCompactValue:1e3,roundingMode:`trunc`,suffixSeparator:` `},Ct=`,`,Y=new Map,X=new Map,Z=new Map,Q=Object.freeze({number:`decimal`,date:`date`}),wt=Object.freeze([{id:`normalizeLeadingZeros`,name:`Нормализация ведущих нулей`,description:`Нормализует числовое значение по правилам fixed.`},{id:`rowBasedOverride`,name:`Контекстная формула`,description:`Подменяет значение из другого поля текущей строки или отдельной формулы.`},{id:`resolveValueState`,name:`Определение состояния значения`,description:`Вычисляет value state и опционально настраивает отображение статусной иконки.`},{id:`typedValueFormat`,name:`Типизированное форматирование`,description:`Формирует итоговый внешний вид значения по типу и роли столбца.`}]),new Map(wt.map(e=>[e.id,e])),Tt=()=>({ok:!1,reason:`formula_not_found`}),$=[`none`,`information`,`success`,`warning`,`error`],Et={"":`transparent`,none:`var(--content-1)`,information:`var(--status-info-text)`,success:`var(--status-success-text)`,warning:`var(--status-warning-text)`,error:`var(--status-error-text)`}})))()}export{vt as C,p as D,h as E,xe as S,E as T,_e as _,R as a,be as b,Et as c,Fe as d,j as f,Ae as g,Dt as h,Me as i,Pe as l,A as m,Ee as n,_t as o,F as p,yt as r,Te as s,$ as t,Ne as u,ge as v,D as w,we as x,je as y};