@ryuzaki13/react-foundation-ui 1.5.6 → 1.5.7

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 (363) hide show
  1. package/dist/advanced-search/index.js +8 -8
  2. package/dist/badge/index.js +1 -1
  3. package/dist/base-table/index.js +1 -1
  4. package/dist/button/index.js +1 -1
  5. package/dist/check-box/index.js +1 -1
  6. package/dist/chunks/{CalendarView-Cfih7hjD.js → CalendarView-DO899w6E.js} +2 -2
  7. package/dist/chunks/{CalendarView-Cfih7hjD.js.map → CalendarView-DO899w6E.js.map} +1 -1
  8. package/dist/chunks/{TextEditorLexicalClient-BSafrkLJ.js → TextEditorLexicalClient-C7XL4lZ5.js} +6 -6
  9. package/dist/chunks/{TextEditorLexicalClient-BSafrkLJ.js.map → TextEditorLexicalClient-C7XL4lZ5.js.map} +1 -1
  10. package/dist/chunks/{badge-CbclcpUi.js → badge-BXwM9cFq.js} +2 -2
  11. package/dist/chunks/{badge-CbclcpUi.js.map → badge-BXwM9cFq.js.map} +1 -1
  12. package/dist/chunks/{base-table-X7aSSjXa.js → base-table-CFJHhLNb.js} +2 -2
  13. package/dist/chunks/{base-table-X7aSSjXa.js.map → base-table-CFJHhLNb.js.map} +1 -1
  14. package/dist/chunks/{button-BOl7hYmT.js → button-BcnvJpqz.js} +3 -3
  15. package/dist/chunks/{button-BOl7hYmT.js.map → button-BcnvJpqz.js.map} +1 -1
  16. package/dist/chunks/{check-box-6HGX_KOy.js → check-box-BrPHWs2l.js} +3 -3
  17. package/dist/chunks/{check-box-6HGX_KOy.js.map → check-box-BrPHWs2l.js.map} +1 -1
  18. package/dist/chunks/{context-menu-tcD3kVAc.js → context-menu-DcdUfWN3.js} +2 -2
  19. package/dist/chunks/{context-menu-tcD3kVAc.js.map → context-menu-DcdUfWN3.js.map} +1 -1
  20. package/dist/chunks/{date-input-Bsl9dxxY.js → date-input-Db7GPkPC.js} +5 -5
  21. package/dist/chunks/{date-input-Bsl9dxxY.js.map → date-input-Db7GPkPC.js.map} +1 -1
  22. package/dist/chunks/{input-CAw1Loze.js → input-CMVATAFR.js} +2 -2
  23. package/dist/chunks/{input-CAw1Loze.js.map → input-CMVATAFR.js.map} +1 -1
  24. package/dist/chunks/{input-files-CLtQ7p8j.js → input-files-DM6I2iF_.js} +3 -3
  25. package/dist/chunks/{input-files-CLtQ7p8j.js.map → input-files-DM6I2iF_.js.map} +1 -1
  26. package/dist/chunks/{input-search-F6MPrUGF.js → input-search-BlTKbtAL.js} +2 -2
  27. package/dist/chunks/{input-search-F6MPrUGF.js.map → input-search-BlTKbtAL.js.map} +1 -1
  28. package/dist/chunks/{modal-DPIXoMkB.js → modal-z1Ej4Y-r.js} +2 -2
  29. package/dist/chunks/{modal-DPIXoMkB.js.map → modal-z1Ej4Y-r.js.map} +1 -1
  30. package/dist/chunks/{multi-select-CZPB8H6v.js → multi-select-BMBjWg3h.js} +5 -5
  31. package/dist/chunks/{multi-select-CZPB8H6v.js.map → multi-select-BMBjWg3h.js.map} +1 -1
  32. package/dist/chunks/{picker-TYLwgl1c.js → picker-C-a-2NkB.js} +3 -3
  33. package/dist/chunks/{picker-TYLwgl1c.js.map → picker-C-a-2NkB.js.map} +1 -1
  34. package/dist/chunks/{radio-group-4j2HbemI.js → radio-group-D-eBPuGm.js} +2 -2
  35. package/dist/chunks/radio-group-D-eBPuGm.js.map +1 -0
  36. package/dist/chunks/{select-BwbljzU9.js → select-BhVOTvZ_.js} +5 -5
  37. package/dist/chunks/{select-BwbljzU9.js.map → select-BhVOTvZ_.js.map} +1 -1
  38. package/dist/chunks/{table-DihiNNJt.js → table-jMjMoYKh.js} +2 -2
  39. package/dist/chunks/{table-DihiNNJt.js.map → table-jMjMoYKh.js.map} +1 -1
  40. package/dist/chunks/{ui.module-BfaIVBba.js → ui.module-D_ZhzCRv.js} +2 -1
  41. package/dist/chunks/ui.module-D_ZhzCRv.js.map +1 -0
  42. package/dist/chunks/{uiClasses-4atXOh0J.js → uiClasses-CF_aN4Tv.js} +11 -2
  43. package/dist/chunks/uiClasses-CF_aN4Tv.js.map +1 -0
  44. package/dist/chunks/{useODataSelectBase-Bfljwe39.js → useODataSelectBase-CQJuzk5Q.js} +2 -2
  45. package/dist/chunks/{useODataSelectBase-Bfljwe39.js.map → useODataSelectBase-CQJuzk5Q.js.map} +1 -1
  46. package/dist/context-menu/index.js +1 -1
  47. package/dist/date-input/index.js +2 -2
  48. package/dist/date-time-input/index.js +3 -3
  49. package/dist/development/storybook/createControlledStoryRender.d.ts +12 -0
  50. package/dist/development/storybook/createControlledStoryRender.d.ts.map +1 -0
  51. package/dist/disclosure/index.js +1 -1
  52. package/dist/drop-zone/index.js +1 -1
  53. package/dist/expandable-action-panel/index.js +1 -1
  54. package/dist/image/index.js +4 -4
  55. package/dist/input/index.js +1 -1
  56. package/dist/input-date-time/index.js +2 -2
  57. package/dist/input-file/index.js +2 -2
  58. package/dist/input-files/index.js +1 -1
  59. package/dist/input-image/index.js +2 -2
  60. package/dist/input-search/index.js +1 -1
  61. package/dist/layout-picker/index.js +2 -2
  62. package/dist/listbox/index.js +1 -1
  63. package/dist/modal/index.js +1 -1
  64. package/dist/multi-select/index.js +1 -1
  65. package/dist/notifications/index.js +1 -1
  66. package/dist/picker/index.js +1 -1
  67. package/dist/preset-range-date-input/index.js +1 -1
  68. package/dist/preset-select/index.js +1 -1
  69. package/dist/radio-button/index.js +2 -2
  70. package/dist/radio-group/index.js +1 -1
  71. package/dist/select/index.js +1 -1
  72. package/dist/simple-table/index.js +1 -1
  73. package/dist/slider/Slider.d.ts.map +1 -1
  74. package/dist/slider/index.js +9 -8
  75. package/dist/slider/index.js.map +1 -1
  76. package/dist/state-select/index.js +1 -1
  77. package/dist/styles.css +1 -1
  78. package/dist/switch/index.js +1 -1
  79. package/dist/table/index.js +1 -1
  80. package/dist/table-sorting/index.js +1 -1
  81. package/dist/tag-input/index.js +2 -2
  82. package/dist/text-editor/index.js +1 -1
  83. package/dist/textarea/index.js +2 -2
  84. package/dist/toggle/index.js +1 -1
  85. package/dist/tree-select/index.js +6 -6
  86. package/dist/tree-table/index.js +1 -1
  87. package/dist/types.d.ts +6 -2
  88. package/dist/types.d.ts.map +1 -1
  89. package/dist/uiClasses.d.ts.map +1 -1
  90. package/package.json +1 -1
  91. package/src/styles/_controls.scss +4 -0
  92. package/src/styles/config/_index.scss +71 -46
  93. package/src/styles/mixins/_mixin.scss +6 -6
  94. package/storybook-static/assets/{Badge-BiiRjdOi.js → Badge-C57OpH6H.js} +1 -1
  95. package/storybook-static/assets/Badge.stories-CUtS3gdC.js +56 -0
  96. package/storybook-static/assets/BadgeList-Br7PCtJe.js +4 -0
  97. package/storybook-static/assets/Button-BUAFSG7a.js +14 -0
  98. package/storybook-static/assets/{Button-CjaNN6rV.js → Button-CXacCJwd.js} +11 -1
  99. package/storybook-static/assets/Button.stories-CG-Xqadt.js +93 -0
  100. package/storybook-static/assets/{CalendarView-BMJ6hyvh.js → CalendarView-DxkdSsAx.js} +1 -1
  101. package/storybook-static/assets/{CheckBox-BTR1-W6r.js → CheckBox-CIv6lt7Z.js} +2 -2
  102. package/storybook-static/assets/{CheckBox-PJCZFi85.js → CheckBox-DnxmVFE5.js} +1 -1
  103. package/storybook-static/assets/CheckBox.stories-foJ6NnTj.js +58 -0
  104. package/storybook-static/assets/{Color-6AOWCN3U-VUHIzkg_.js → Color-6AOWCN3U-DrqTmtJf.js} +1 -1
  105. package/storybook-static/assets/{ContextMenu-Bh4oHP6K.js → ContextMenu-BOM4Gk64.js} +1 -1
  106. package/storybook-static/assets/{ContextMenu-0zHy_xbK.js → ContextMenu-C8SQXRxm.js} +1 -1
  107. package/storybook-static/assets/ContextMenu.stories-CFwISC9P.js +37 -0
  108. package/storybook-static/assets/{DateInput-kNvOe_qw.js → DateInput-BWSZLH9k.js} +1 -1
  109. package/storybook-static/assets/{DateInput-CNO6uPbo.js → DateInput-ClKgqyQO.js} +1 -1
  110. package/storybook-static/assets/{DateInput.stories-DGrl1NRg.js → DateInput.stories-BIMqPAY-.js} +1 -1
  111. package/storybook-static/assets/{DateRangePresetSelect-DVe-KZEx.js → DateRangePresetSelect-DWIraW8Q.js} +1 -1
  112. package/storybook-static/assets/{DateRangePresetSelect-CfuLAxW0.js → DateRangePresetSelect-yzuX25-A.js} +2 -2
  113. package/storybook-static/assets/DateRangePresetSelect.stories-Bqxh85ie.js +19 -0
  114. package/storybook-static/assets/{Detail-DjP_T3Yg.js → Detail-BwbUH-2a.js} +1 -1
  115. package/storybook-static/assets/Detail.stories-BJZxxHBe.js +56 -0
  116. package/storybook-static/assets/{Dialog-BbfwcIzl.js → Dialog-B6ZkSwFG.js} +1 -1
  117. package/storybook-static/assets/{Dialog-PPguLwie.js → Dialog-CjAdwNLK.js} +1 -1
  118. package/storybook-static/assets/Dialog.stories-Cw9Inezq.js +22 -0
  119. package/storybook-static/assets/{Disclosure-DfjeNfkn.js → Disclosure-BgaRYF6o.js} +1 -1
  120. package/storybook-static/assets/Disclosure.stories-B3cOFkzP.js +23 -0
  121. package/storybook-static/assets/{DisclosureGroup-C4o0IITt.js → DisclosureGroup-DjDW1NYH.js} +1 -1
  122. package/storybook-static/assets/{DocsRenderer-JROSPFPF-BiMFt7_A.js → DocsRenderer-JROSPFPF-BWdUj6SG.js} +1 -1
  123. package/storybook-static/assets/{DropZone-C3oRa6sQ.js → DropZone-D7XJczCv.js} +1 -1
  124. package/storybook-static/assets/{DropZone-Cw3X-9Xt.js → DropZone-DnJJRVvs.js} +1 -1
  125. package/storybook-static/assets/DropZone.stories-DCILeRID.js +26 -0
  126. package/storybook-static/assets/{DropdownMenu-CPj2r3k-.js → DropdownMenu-eA7CqmEq.js} +1 -1
  127. package/storybook-static/assets/{ExpandableActionPanel-DAzBwv3l.js → ExpandableActionPanel-Bi8GdZk8.js} +1 -1
  128. package/storybook-static/assets/ExpandableActionPanel.stories-CnpIhE-p.js +9 -0
  129. package/storybook-static/assets/{Flex-Rsf5s2Qh.js → Flex-CTId58Yi.js} +1 -1
  130. package/storybook-static/assets/{Flex.stories-C4LjuUoy.js → Flex.stories-DzO6eshU.js} +12 -12
  131. package/storybook-static/assets/{FloatingPopover-QXZeXRkJ.js → FloatingPopover-Bj3n1Cbm.js} +1 -1
  132. package/storybook-static/assets/{FormattedTableCell-YhiJaAK4.js → FormattedTableCell-DgbwZ60P.js} +1 -1
  133. package/storybook-static/assets/{Grid-BnEITS4J.js → Grid-Dd82LOHp.js} +1 -1
  134. package/storybook-static/assets/{Grid.stories-CpCGadoX.js → Grid.stories-DijrLN9C.js} +15 -15
  135. package/storybook-static/assets/{ImageCropper.stories-CQZ6x_Ob.js → ImageCropper.stories-BeJRCTBT.js} +23 -7
  136. package/storybook-static/assets/{ImageRenderer-CQSICbwz.js → ImageRenderer-DJPFz9-n.js} +1 -1
  137. package/storybook-static/assets/ImageRenderer.stories--ai66HWP.js +34 -0
  138. package/storybook-static/assets/ImageView.stories-khEGxQEm.js +14 -0
  139. package/storybook-static/assets/{ImageViewer.stories-B2zHeVgq.js → ImageViewer.stories-DF6RRs2D.js} +30 -12
  140. package/storybook-static/assets/{ImageViewerRuntime-CQBT2XUj.js → ImageViewerRuntime-DBwCIibL.js} +1 -1
  141. package/storybook-static/assets/{Input-D7iiHnIH.js → Input-BqqylVpn.js} +1 -1
  142. package/storybook-static/assets/{Input-C2Lss7is.js → Input-Fk3IRww_.js} +1 -1
  143. package/storybook-static/assets/Input.stories-BQMPGwcm.js +52 -0
  144. package/storybook-static/assets/{InputDateTime-DM3BFpr1.js → InputDateTime-B3aoGdLh.js} +1 -1
  145. package/storybook-static/assets/{InputDateTime.stories-DYonovnC.js → InputDateTime.stories-BVD7wYFB.js} +23 -20
  146. package/storybook-static/assets/{InputFile-G-H8FqNn.js → InputFile-BPIyxf85.js} +1 -1
  147. package/storybook-static/assets/{InputFile-BSVH6QKl.js → InputFile-CeDA-DBu.js} +1 -1
  148. package/storybook-static/assets/InputFile.stories-CTyjqf2i.js +27 -0
  149. package/storybook-static/assets/{InputFiles-CA7eAjuN.js → InputFiles-Ay6AhGXY.js} +1 -1
  150. package/storybook-static/assets/{InputFiles-DnYodbhi.js → InputFiles-Bs_ANsbH.js} +1 -1
  151. package/storybook-static/assets/InputFiles.stories-DpulRmAF.js +26 -0
  152. package/storybook-static/assets/{InputFilesList-BhOSPaGs.js → InputFilesList-O66HnsfV.js} +1 -1
  153. package/storybook-static/assets/{InputImage-BPmp_DbZ.js → InputImage-8CkQNIx-.js} +1 -1
  154. package/storybook-static/assets/{InputImage-BwWAi8ze.js → InputImage-C61yYNvh.js} +1 -1
  155. package/storybook-static/assets/InputImage.stories-B9EdEI54.js +56 -0
  156. package/storybook-static/assets/InteractiveComponents-D3625WeG.js +87 -0
  157. package/storybook-static/assets/InteractiveComponents.stories-DlUOC0gE.js +472 -0
  158. package/storybook-static/assets/{LayoutPicker-DrQx5OwE.js → LayoutPicker-BzdqkISv.js} +1 -1
  159. package/storybook-static/assets/{LayoutPicker-Bz8Vo6L7.js → LayoutPicker-TghytR7l.js} +1 -1
  160. package/storybook-static/assets/{LayoutPicker.stories-CBqPwt3h.js → LayoutPicker.stories-BcQcVoGX.js} +1 -1
  161. package/storybook-static/assets/{Listbox-B7Z7L_t3.js → Listbox-DuNXYpU5.js} +1 -1
  162. package/storybook-static/assets/{Listbox-BbSsDx2u.js → Listbox-kuB9DZmS.js} +1 -1
  163. package/storybook-static/assets/Listbox.stories-RaF4O2dQ.js +68 -0
  164. package/storybook-static/assets/{Modal-Cob4DPKq.js → Modal-i-qVmfOZ.js} +1 -1
  165. package/storybook-static/assets/Modal.stories-jAQ3yHty.js +232 -0
  166. package/storybook-static/assets/{ModalManagerProvider-DPGYpfId.js → ModalManagerProvider-_TvqmYe3.js} +1 -1
  167. package/storybook-static/assets/{MultiSelect-BgMw4DIC.js → MultiSelect-BD6xtx7W.js} +1 -1
  168. package/storybook-static/assets/{MultiSelect-DKv6Qe08.js → MultiSelect-DiBUW3Jo.js} +1 -1
  169. package/storybook-static/assets/MultiSelect.stories-Cc4-fIjA.js +55 -0
  170. package/storybook-static/assets/{NoData-B33Cn4pA.js → NoData-BvxB_r9f.js} +1 -1
  171. package/storybook-static/assets/{NotificationsHost-DDcfMtWv.js → NotificationsHost-DDxqV6_Y.js} +1 -1
  172. package/storybook-static/assets/NotificationsHost.stories-tMVttzUz.js +29 -0
  173. package/storybook-static/assets/{ODataMultiSelect-CT4h5T5J.js → ODataMultiSelect-96O4f-qa.js} +1 -1
  174. package/storybook-static/assets/ODataMultiSelect.stories-DpRZoXwK.js +137 -0
  175. package/storybook-static/assets/{ODataSelect-_FeWsMNO.js → ODataSelect-MS3gU6J3.js} +1 -1
  176. package/storybook-static/assets/ODataSelect.stories-V6u4XJN4.js +207 -0
  177. package/storybook-static/assets/{ODataTreeMultiSelect-Lfa06t8R.js → ODataTreeMultiSelect-B_pN_Ec6.js} +1 -1
  178. package/storybook-static/assets/ODataTreeMultiSelect.stories-DsyoOuR8.js +78 -0
  179. package/storybook-static/assets/{ODataTreeSelect-CoVG8YGb.js → ODataTreeSelect-iQ8y3cDY.js} +1 -1
  180. package/storybook-static/assets/ODataTreeSelect.stories-DCzwGTkw.js +55 -0
  181. package/storybook-static/assets/{OneStepScroller-Ba810Z0K.js → OneStepScroller-DHETHT90.js} +1 -1
  182. package/storybook-static/assets/{PeriodSelect-p_hunoMx.js → PeriodSelect-C5gt4lj6.js} +1 -1
  183. package/storybook-static/assets/{PeriodSelect-U8W5a0AG.js → PeriodSelect-CC7faqoe.js} +1 -1
  184. package/storybook-static/assets/PeriodSelect.stories-1gMZgYMb.js +50 -0
  185. package/storybook-static/assets/{PickerSelectionToolbar-BQvUp2gy.js → PickerSelectionToolbar-DA9AqLfK.js} +1 -1
  186. package/storybook-static/assets/{PickerTriggerActions-Bn7w0HQj.js → PickerTriggerActions-Bt4rbg1T.js} +1 -1
  187. package/storybook-static/assets/{Popover-D5X_VDjs.js → Popover-DoiYIRMQ.js} +1 -1
  188. package/storybook-static/assets/{Popover-CAmdlvk7.js → Popover-gg-G1aUp.js} +1 -1
  189. package/storybook-static/assets/Popover.stories-Yt2zItKA.js +47 -0
  190. package/storybook-static/assets/{PresetRangeDateInput-D_uUOybG.js → PresetRangeDateInput-CB6Cyj_z.js} +1 -1
  191. package/storybook-static/assets/PresetRangeDateInput-OuBr9O7l.js +1 -0
  192. package/storybook-static/assets/PresetRangeDateInput.stories-DEv0NvxR.js +3 -0
  193. package/storybook-static/assets/{PresetSelect-ClINdcBe.js → PresetSelect-QCMUn7im.js} +1 -1
  194. package/storybook-static/assets/{RadioButton-sTaoMULx.js → RadioButton-BWyJs5Z6.js} +2 -2
  195. package/storybook-static/assets/{RadioButton-CTQ3NULx.js → RadioButton-D1O1e-bK.js} +1 -1
  196. package/storybook-static/assets/RadioButton.stories-kT4uLnRo.js +32 -0
  197. package/storybook-static/assets/{RadioGroup-Bi6nDRg3.js → RadioGroup-Bz9Pc7gG.js} +1 -1
  198. package/storybook-static/assets/{RadioGroup-ByD3Q99Y.js → RadioGroup-Cc8bDKSK.js} +1 -1
  199. package/storybook-static/assets/{RadioGroup-DzkFQ83G.css → RadioGroup-vkD0hI_b.css} +1 -1
  200. package/storybook-static/assets/RadioGroup.stories-XUcezf_a.js +17 -0
  201. package/storybook-static/assets/{Scrollable-BX1lUjOe.js → Scrollable-7AnJblZH.js} +1 -1
  202. package/storybook-static/assets/{Select-DZI40eOj.js → Select-2OS5b3gj.js} +1 -1
  203. package/storybook-static/assets/{Select-BIdQZ63S.js → Select-B0JlKRZh.js} +1 -1
  204. package/storybook-static/assets/Select.stories-6NgDnQLy.js +69 -0
  205. package/storybook-static/assets/{SelectOptionContent-BBkx-6Ex.js → SelectOptionContent-DrMuPE4L.js} +1 -1
  206. package/storybook-static/assets/{SerializableSelect-D8xPL7XQ.js → SerializableSelect-C29Dtj1j.js} +1 -1
  207. package/storybook-static/assets/SerializableSelect.stories-Dk_0LHfx.js +73 -0
  208. package/storybook-static/assets/{SingleDateTimeInput-DfsGAFoU.js → SingleDateTimeInput-Bu-VV-X4.js} +1 -1
  209. package/storybook-static/assets/{SingleDateTimeInput-CTvNbcZ6.js → SingleDateTimeInput-pNtbntt7.js} +1 -1
  210. package/storybook-static/assets/SingleDateTimeInput.stories-BY6gytNo.js +48 -0
  211. package/storybook-static/assets/{Slider-DLtF6vGD.js → Slider-CKDNtVxH.js} +1 -1
  212. package/storybook-static/assets/{Slider-DjX_Irjn.js → Slider-CzKsc6lR.js} +1 -1
  213. package/storybook-static/assets/Slider-bVVL6_Jz.css +1 -0
  214. package/storybook-static/assets/Slider.stories-C9CiqYKL.js +80 -0
  215. package/storybook-static/assets/{SliderInput-BqvH8eHy.js → SliderInput-Dw5e7zgd.js} +1 -1
  216. package/storybook-static/assets/{SliderInput-UCsxAR-B.js → SliderInput-LIlYbZ-q.js} +1 -1
  217. package/storybook-static/assets/SliderInput.stories-DScPfD4E.js +92 -0
  218. package/storybook-static/assets/{Sortable-CNtgLPiY.js → Sortable-BrbLX--A.js} +1 -1
  219. package/storybook-static/assets/Sortable.stories-CNgF8pCO.js +77 -0
  220. package/storybook-static/assets/{Splitter-PsRXvIfb.js → Splitter-B5t8ta7u.js} +1 -1
  221. package/storybook-static/assets/{Splitter.stories-CNpgsRiE.js → Splitter.stories-Cz_ZAwsO.js} +26 -9
  222. package/storybook-static/assets/{StateSelect-BxRXr-2U.js → StateSelect-BpZxLrbE.js} +1 -1
  223. package/storybook-static/assets/{StateSelect-_vJdEQd4.js → StateSelect-CkC0uV89.js} +1 -1
  224. package/storybook-static/assets/StateSelect.stories-7YPBHcZj.js +59 -0
  225. package/storybook-static/assets/StringToggle.stories-dy82Cq3e.js +5 -0
  226. package/storybook-static/assets/{Switch-B_3CFRDw.js → Switch-DmUkZLoV.js} +1 -1
  227. package/storybook-static/assets/{Switch-CZpcIIzj.js → Switch-L91cfss1.js} +1 -1
  228. package/storybook-static/assets/Switch.stories-DacAiGQz.js +15 -0
  229. package/storybook-static/assets/{Table-ozF5MS3q.js → Table-B13zUr91.js} +1 -1
  230. package/storybook-static/assets/Table.stories-BPgaag4D.js +207 -0
  231. package/storybook-static/assets/{Tabs-Dr4gaN0z.js → Tabs-XHS1tTCR.js} +1 -1
  232. package/storybook-static/assets/Tabs.stories-DCGe98nI.js +87 -0
  233. package/storybook-static/assets/{TabsBox-6G7F_Vo9.js → TabsBox-NeiMksCt.js} +1 -1
  234. package/storybook-static/assets/{TagInput-CIsnKs98.js → TagInput-DmTij_wJ.js} +1 -1
  235. package/storybook-static/assets/TagInput.stories-Crz2d9WK.js +18 -0
  236. package/storybook-static/assets/{Text-DEUhj_FL.js → Text-VK5-gznU.js} +1 -1
  237. package/storybook-static/assets/{Textarea-Cv8Iiqm7.js → Textarea-FgIOtg__.js} +1 -1
  238. package/storybook-static/assets/{Textarea-BoLolqIc.js → Textarea-dZHo8H-N.js} +1 -1
  239. package/storybook-static/assets/Textarea.stories-DlVs_0Da.js +17 -0
  240. package/storybook-static/assets/{TimePanel-DbWoLCxS.js → TimePanel-CmNDtcUu.js} +1 -1
  241. package/storybook-static/assets/TimePanel.stories-DzDCIjYh.js +14 -0
  242. package/storybook-static/assets/{Toggle-DN84PUdA.js → Toggle-CszEtVgG.js} +1 -1
  243. package/storybook-static/assets/{Toggle-BAhzEihH.js → Toggle-iIIRwhJ0.js} +1 -1
  244. package/storybook-static/assets/Toggle.stories-OHqcyxRB.js +25 -0
  245. package/storybook-static/assets/{TreeMultiSelect-C1iVfpMl.js → TreeMultiSelect-BcpQXmXz.js} +1 -1
  246. package/storybook-static/assets/{TreeMultiSelect-BTe_-dq5.js → TreeMultiSelect-D08x-Zz7.js} +1 -1
  247. package/storybook-static/assets/TreeMultiSelect.stories-CmZ3kEc3.js +60 -0
  248. package/storybook-static/assets/{TreePickerBase-DayQwVwR.js → TreePickerBase-PstNPiQo.js} +1 -1
  249. package/storybook-static/assets/{TreeSelect-D6L3D0h4.js → TreeSelect-CrpAtboA.js} +1 -1
  250. package/storybook-static/assets/{TreeSelect-CJV0O91H.js → TreeSelect-xXFRj_Bm.js} +1 -1
  251. package/storybook-static/assets/TreeSelect.stories-DJaUtn0O.js +40 -0
  252. package/storybook-static/assets/{TreeTable-fbVtFU3l.js → TreeTable-C7OZPq-9.js} +1 -1
  253. package/storybook-static/assets/TreeTable.stories-Dd0YYVZ2.js +168 -0
  254. package/storybook-static/assets/{async-D6nAWhc1.js → async-Bu5V6wLi.js} +1 -1
  255. package/storybook-static/assets/{blocks-DCcg3Usb.js → blocks-LF4-T76K.js} +3 -3
  256. package/storybook-static/assets/{browserAndReact-CcRiDbNd.js → browserAndReact-DpeuPHLP.js} +1 -1
  257. package/storybook-static/assets/{check-CmUKUPJO.js → check-CxEwVoKp.js} +1 -1
  258. package/storybook-static/assets/{chevron-down-BDWEK49G.js → chevron-down-DpN_oMWM.js} +1 -1
  259. package/storybook-static/assets/{chevron-left-CGk7Zpej.js → chevron-left-C9_RRcAe.js} +1 -1
  260. package/storybook-static/assets/{chevron-right-CT64vlCm.js → chevron-right-K8IWV8l8.js} +1 -1
  261. package/storybook-static/assets/{chunk-W22LQPXL-CxBe5sB2.js → chunk-W22LQPXL-iNmw4j69.js} +1 -1
  262. package/storybook-static/assets/{circle-alert-POx9wimX.js → circle-alert-B_axag0r.js} +1 -1
  263. package/storybook-static/assets/{circle-check-BlI17qP5.js → circle-check-DdUogvti.js} +1 -1
  264. package/storybook-static/assets/{components-D__s8Hie.js → components-BRUtb9vg.js} +3 -3
  265. package/storybook-static/assets/{contextMenu-DK_TntWE.js → contextMenu-OelXFAKZ.js} +1 -1
  266. package/storybook-static/assets/createControlledStoryRender-DHsyXc1B.js +1 -0
  267. package/storybook-static/assets/{defaultRenderers-DBXPZtpT.js → defaultRenderers-CJ0K8d9m.js} +1 -1
  268. package/storybook-static/assets/{download-RGyJzMcA.js → download-D12Nvnyu.js} +1 -1
  269. package/storybook-static/assets/{filesAndExcel-DcPYf9n5.js → filesAndExcel-BBtR-68u.js} +1 -1
  270. package/storybook-static/assets/{floating-ui.react-CMX7peH7.js → floating-ui.react-CGVF2LPS.js} +1 -1
  271. package/storybook-static/assets/{formatters-BwvzqJ-Y.js → formatters-c0BLP2hy.js} +1 -1
  272. package/storybook-static/assets/{formatters-runtime-DrmDzmeG.js → formatters-runtime-DAwNvKyD.js} +1 -1
  273. package/storybook-static/assets/{foundationLib-x4242gln.js → foundationLib-DfmfMVN5.js} +1 -1
  274. package/storybook-static/assets/{hooks-FBRSoUmb.js → hooks-B-9_3OzU.js} +1 -1
  275. package/storybook-static/assets/iframe-CTtK5YHC.js +1 -0
  276. package/storybook-static/assets/{iframe-DBSrNt2a.js → iframe-CZ0KI0zu.js} +4 -4
  277. package/storybook-static/assets/{iframe-wwpu8YXD.css → iframe-_EkhDToa.css} +1 -1
  278. package/storybook-static/assets/{info-Wi50bdLM.js → info-Cb4lUntE.js} +1 -1
  279. package/storybook-static/assets/{odata-BBTqO7nX.js → odata-CXz6Bety.js} +1 -1
  280. package/storybook-static/assets/{odataAndTables-DEn1lG-3.js → odataAndTables-Dog6Bul7.js} +1 -1
  281. package/storybook-static/assets/{odataFetchFn-BT59Jmrl.js → odataFetchFn-BwGEe7ia.js} +1 -1
  282. package/storybook-static/assets/odataStoryFixtures-C6PXnQRZ.js +25 -0
  283. package/storybook-static/assets/{persisted-CZnECRrd.js → persisted-5MRV37vp.js} +1 -1
  284. package/storybook-static/assets/{pureUtilities-BIPiVbpd.js → pureUtilities-Bn1exZyB.js} +1 -1
  285. package/storybook-static/assets/{react-vWCcOuxm.js → react-BqQSSAdw.js} +1 -1
  286. package/storybook-static/assets/{refresh-cw-CnbDJa0D.js → refresh-cw-CYH4ov0F.js} +1 -1
  287. package/storybook-static/assets/{runtimeAndState-BqhoW8HS.js → runtimeAndState-BJDYVcfW.js} +1 -1
  288. package/storybook-static/assets/{settings-2-CtlfzeoJ.js → settings-2-CHcDR5TK.js} +1 -1
  289. package/storybook-static/assets/{sortable-MoyiSprv.js → sortable-D2oVv65U.js} +1 -1
  290. package/storybook-static/assets/{syntaxhighlighter-T5IQBZDB-CLTW-on9.js → syntaxhighlighter-T5IQBZDB-BZS8iv6c.js} +1 -1
  291. package/storybook-static/assets/{trash-2-D4ETgmHQ.js → trash-2-K0OwBMlQ.js} +1 -1
  292. package/storybook-static/assets/{triangle-alert-BhoF9j4U.js → triangle-alert-ByLBT1gp.js} +1 -1
  293. package/storybook-static/assets/ui-nZtwyXyS.css +1 -0
  294. package/storybook-static/assets/ui.module-DjxH5szp.js +1 -0
  295. package/storybook-static/assets/uiClasses-CjI3jv6I.js +1 -0
  296. package/storybook-static/assets/{useODataSelectBase-oxkyJY_R.js → useODataSelectBase-DPQiQAXO.js} +1 -1
  297. package/storybook-static/assets/{useODataTreeData-B2phJvDl.js → useODataTreeData-BmBSwDNz.js} +1 -1
  298. package/storybook-static/assets/{usePickerQuery-BN54SBQ9.js → usePickerQuery-DIOf9uC7.js} +1 -1
  299. package/storybook-static/assets/{usePickerTriggerController-6XAF3prJ.js → usePickerTriggerController-gFigo0fq.js} +1 -1
  300. package/storybook-static/assets/{x-CdBCVC44.js → x-B3ccJTtF.js} +1 -1
  301. package/storybook-static/iframe.html +3 -3
  302. package/storybook-static/index.json +1 -1
  303. package/storybook-static/project.json +1 -1
  304. package/dist/chunks/radio-group-4j2HbemI.js.map +0 -1
  305. package/dist/chunks/ui.module-BfaIVBba.js.map +0 -1
  306. package/dist/chunks/uiClasses-4atXOh0J.js.map +0 -1
  307. package/storybook-static/assets/Badge.stories-lSXnbNqy.js +0 -54
  308. package/storybook-static/assets/Button-DMlznmSQ.js +0 -12
  309. package/storybook-static/assets/Button.stories-BYtMxH0y.js +0 -75
  310. package/storybook-static/assets/CheckBox.stories-COqnnc3-.js +0 -60
  311. package/storybook-static/assets/ContextMenu.stories-NMukUvNY.js +0 -90
  312. package/storybook-static/assets/DateRangePresetSelect.stories-28swhHV5.js +0 -11
  313. package/storybook-static/assets/Detail.stories-CUigXvmv.js +0 -44
  314. package/storybook-static/assets/Dialog.stories-CDKvce2w.js +0 -31
  315. package/storybook-static/assets/Disclosure.stories-Dz3sSy2W.js +0 -40
  316. package/storybook-static/assets/DropZone.stories-LfxThH0b.js +0 -36
  317. package/storybook-static/assets/ExpandableActionPanel.stories-CJwc_cQU.js +0 -19
  318. package/storybook-static/assets/ImageRenderer.stories-CGFEpwg9.js +0 -22
  319. package/storybook-static/assets/ImageView.stories-Cu4_LfLg.js +0 -9
  320. package/storybook-static/assets/Input.stories-BWwVCwT-.js +0 -38
  321. package/storybook-static/assets/InputFile.stories-CN-yFeRD.js +0 -36
  322. package/storybook-static/assets/InputFiles.stories--iCRqdJV.js +0 -33
  323. package/storybook-static/assets/InputImage.stories-_XP04DfA.js +0 -45
  324. package/storybook-static/assets/InteractiveComponents.stories-CLEBQnZj.js +0 -303
  325. package/storybook-static/assets/Listbox.stories-BeFIh3J1.js +0 -53
  326. package/storybook-static/assets/Modal.stories-DYsHSBH7.js +0 -180
  327. package/storybook-static/assets/MultiSelect.stories-BdRVZGqL.js +0 -29
  328. package/storybook-static/assets/NotificationsHost.stories-sQMqBW2S.js +0 -25
  329. package/storybook-static/assets/ODataMultiSelect.stories-D7bd1KpX.js +0 -73
  330. package/storybook-static/assets/ODataSelect.stories-D9x-rhIV.js +0 -73
  331. package/storybook-static/assets/ODataTreeMultiSelect.stories-BZwup1O6.js +0 -30
  332. package/storybook-static/assets/ODataTreeSelect.stories-CFEOk1B4.js +0 -24
  333. package/storybook-static/assets/PeriodSelect.stories-iXos1Qm2.js +0 -60
  334. package/storybook-static/assets/Popover.stories-4L2FVe7h.js +0 -69
  335. package/storybook-static/assets/PresetRangeDateInput-BSoQmjSq.js +0 -1
  336. package/storybook-static/assets/PresetRangeDateInput.stories-fPfgo6Ou.js +0 -15
  337. package/storybook-static/assets/RadioButton.stories-QM_hXT2F.js +0 -35
  338. package/storybook-static/assets/RadioGroup.stories-Msf4GGu2.js +0 -42
  339. package/storybook-static/assets/Select.stories-DYH2fWV8.js +0 -46
  340. package/storybook-static/assets/SerializableSelect.stories-BWHyUHbr.js +0 -46
  341. package/storybook-static/assets/SingleDateTimeInput.stories-CoRPRZ4N.js +0 -78
  342. package/storybook-static/assets/Slider-BWuie2gr.css +0 -1
  343. package/storybook-static/assets/Slider.stories-fWpiVW0P.js +0 -77
  344. package/storybook-static/assets/SliderInput.stories-hTeZ6jCT.js +0 -67
  345. package/storybook-static/assets/Sortable.stories-DaJFxCXl.js +0 -141
  346. package/storybook-static/assets/StateSelect.stories-Drn802U8.js +0 -44
  347. package/storybook-static/assets/StringToggle.stories-D7jGapnI.js +0 -6
  348. package/storybook-static/assets/Switch.stories-7stb2lKH.js +0 -26
  349. package/storybook-static/assets/Table.stories-BiQiy3QV.js +0 -122
  350. package/storybook-static/assets/Tabs.stories-Kz9Mnt73.js +0 -57
  351. package/storybook-static/assets/TagInput.stories-Cbk6A71f.js +0 -12
  352. package/storybook-static/assets/Textarea.stories-D8wfZGw3.js +0 -27
  353. package/storybook-static/assets/TimePanel.stories-BX3XAzvM.js +0 -25
  354. package/storybook-static/assets/Toggle.stories-DF-aBY0T.js +0 -30
  355. package/storybook-static/assets/TreeMultiSelect.stories-DobJG0cZ.js +0 -35
  356. package/storybook-static/assets/TreeSelect.stories-s3-wydcP.js +0 -18
  357. package/storybook-static/assets/TreeTable.stories-WSlQn2jk.js +0 -83
  358. package/storybook-static/assets/iframe-xDaji_wj.js +0 -1
  359. package/storybook-static/assets/odataStoryFixtures-CYqFNpE_.js +0 -25
  360. package/storybook-static/assets/ui-4LkYZ0Er.css +0 -1
  361. package/storybook-static/assets/ui.module-CHEKb9Cb.js +0 -1
  362. package/storybook-static/assets/uiClasses-Bme9Qqv6.js +0 -1
  363. /package/storybook-static/assets/{Badge-CD5894x5.css → BadgeList-CD5894x5.css} +0 -0
@@ -1 +1 @@
1
- {"generatedAt":1785607147649,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":false,"hasStorybookEslint":false,"refCount":0,"metaFramework":{"name":"tanstack-react","packageName":"@tanstack/react-router","version":"1.170.18"},"knownPackages":{"testPackages":{"@chromatic-com/storybook":"5.2.1","@storybook/addon-vitest":"10.5.5","@testing-library/dom":"10.4.1","@testing-library/react":"16.3.2","@testing-library/user-event":"^14.6.1","@vitest/browser":"4.1.10","playwright":"1.62.1","vitest":"4.1.10"},"stateManagementPackages":{"zustand":"5.0.0"},"dataFetchingPackages":{"@tanstack/react-query":"5.101.1"},"routerPackages":{"@tanstack/react-router":"1.170.0"}},"hasRouterPackage":false,"packageManager":{"type":"npm","version":"11.7.0","agent":"npm","nodeLinker":"node_modules"},"preview":{"usesGlobals":false},"framework":{"name":"@storybook/react-vite","options":{}},"builder":"@storybook/builder-vite","renderer":"@storybook/react","portableStoriesFileCount":0,"applicationFileCount":9,"storybookVersion":"10.5.5","storybookVersionSpecifier":"^10.5.5","language":"typescript","storybookPackages":{"@storybook/react-vite":{"version":"10.5.5"},"storybook":{}},"addons":{"@chromatic-com/storybook":{"version":"5.2.1"},"@storybook/addon-docs":{"version":"10.5.5"},"@storybook/addon-a11y":{"version":"10.5.5"},"@storybook/addon-vitest":{"version":"10.5.5"}},"packageJsonType":"module"}
1
+ {"generatedAt":1785661813548,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":false,"hasStorybookEslint":false,"refCount":0,"metaFramework":{"name":"tanstack-react","packageName":"@tanstack/react-router","version":"1.170.18"},"knownPackages":{"testPackages":{"@chromatic-com/storybook":"5.2.1","@storybook/addon-vitest":"10.5.5","@testing-library/dom":"10.4.1","@testing-library/react":"16.3.2","@testing-library/user-event":"^14.6.1","@vitest/browser":"4.1.10","playwright":"1.62.1","vitest":"4.1.10"},"stateManagementPackages":{"zustand":"5.0.0"},"dataFetchingPackages":{"@tanstack/react-query":"5.101.1"},"routerPackages":{"@tanstack/react-router":"1.170.0"}},"hasRouterPackage":false,"packageManager":{"type":"npm","version":"11.7.0","agent":"npm","nodeLinker":"node_modules"},"preview":{"usesGlobals":false},"framework":{"name":"@storybook/react-vite","options":{}},"builder":"@storybook/builder-vite","renderer":"@storybook/react","portableStoriesFileCount":1,"applicationFileCount":9,"storybookVersion":"10.5.5","storybookVersionSpecifier":"^10.5.5","language":"typescript","storybookPackages":{"@storybook/react-vite":{"version":"10.5.5"},"storybook":{}},"addons":{"@chromatic-com/storybook":{"version":"5.2.1"},"@storybook/addon-docs":{"version":"10.5.5"},"@storybook/addon-a11y":{"version":"10.5.5"},"@storybook/addon-vitest":{"version":"10.5.5"}},"packageJsonType":"module"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"radio-group-4j2HbemI.js","names":[],"sources":["../../src/radio-group/RadioGroup.module.scss","../../src/radio-group/RadioGroup.tsx"],"sourcesContent":[".radioGroup {\n\tdisplay: flex;\n\talign-content: flex-start;\n\tflex-wrap: wrap;\n\t// min-height: var(--control-height);\n\theight: auto;\n\n\t&.noWrap {\n\t\tflex-wrap: nowrap;\n\t}\n\n\t&.horizontal {\n\t\tflex-direction: row;\n\t}\n\n\t&.vertical {\n\t\tflex-direction: column;\n\t\talign-content: stretch;\n\t}\n}\n\n.radioItem {\n\tdisplay: grid;\n\talign-content: center;\n\tgap: var(--space-sm);\n\tflex: 1 0 0;\n\tcolor: var(--content-2);\n\tborder-radius: var(--radius-xs);\n\tpadding: 0 var(--space-md);\n\tmargin: var(--border-width);\n\t// baseInputControl = --control-height, + borderTop/Bottom + transparentLineTop/Bottom\n\tmin-height: calc(var(--control-height) - calc(var(--border-width) * 4));\n\n\tcursor: pointer;\n\n\t&:hover {\n\t\tcolor: var(--content-accent);\n\t\t// background-color: var(--surface-1);\n\t}\n\n\t&.checked {\n\t\tcolor: var(--status-info-on-fill);\n\t\tbackground-color: var(--status-info-fill);\n\t\t// border-color: var(--border-0);\n\t}\n\n\t&:disabled {\n\t\topacity: var(--disabled-opacity);\n\t}\n}\n","import React, { createContext, KeyboardEvent, ReactNode, useCallback, useContext, useId, useLayoutEffect, useMemo, useState } from \"react\";\n\nimport { cn, getRovingFocusTargetIndex, handleKeyboardActivation } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport uiStyles from \"../ui.module.scss\";\n\nimport styles from \"./RadioGroup.module.scss\";\n\ninterface RadioGroupContextValue {\n\tvalue?: unknown;\n\tonChange?: (value: unknown) => void;\n\tdisabled?: boolean;\n\torientation: \"vertical\" | \"horizontal\";\n\tgroupId: string;\n\tlabelId?: string;\n\tdescriptionId?: string;\n\tfirstOptionId?: string;\n\tregisterOption: (optionId: string) => () => void;\n}\n\nconst RadioGroupContext = createContext<RadioGroupContextValue | null>(null);\n\ninterface RadioGroupProps<T> {\n\tvalue?: T;\n\tonChange?: (value: T) => void;\n\tlabel?: string;\n\tdescription?: string;\n\tdisabled?: boolean;\n\tclassName?: string;\n\tnoWrap?: true;\n\torientation?: \"vertical\" | \"horizontal\";\n\t\"aria-label\"?: string;\n\tchildren: React.ReactNode;\n}\n\n/**\n * Группа радиокнопок с общим состоянием выбранного значения. Обеспечивает единый API выбора и контекст для дочерних опций.\n */\nexport function RadioGroup<T>({\n\tvalue,\n\tonChange,\n\tlabel,\n\tdescription,\n\tdisabled,\n\tclassName,\n\tnoWrap,\n\torientation = \"horizontal\",\n\t\"aria-label\": ariaLabel,\n\tchildren\n}: RadioGroupProps<T>) {\n\tconst groupId = useId();\n\tconst labelId = label ? `${groupId}-label` : undefined;\n\tconst descriptionId = description ? `${groupId}-description` : undefined;\n\tconst [registeredOptionIds, setRegisteredOptionIds] = useState<string[]>([]);\n\tconst handleChange = useCallback((nextValue: unknown) => onChange?.(nextValue as T), [onChange]);\n\n\t/**\n\t * Хранит порядок опций внутри группы, чтобы при отсутствии выбранного значения\n\t * оставлять ровно один tab stop на первой доступной радиокнопке.\n\t */\n\tconst registerOption = useCallback((optionId: string) => {\n\t\tsetRegisteredOptionIds((currentIds) => (currentIds.includes(optionId) ? currentIds : [...currentIds, optionId]));\n\n\t\treturn () => {\n\t\t\tsetRegisteredOptionIds((currentIds) => currentIds.filter((currentId) => currentId !== optionId));\n\t\t};\n\t}, []);\n\n\tconst contextValue = useMemo(\n\t\t() => ({\n\t\t\tvalue,\n\t\t\tonChange: handleChange,\n\t\t\tdisabled,\n\t\t\torientation,\n\t\t\tgroupId,\n\t\t\tlabelId,\n\t\t\tdescriptionId,\n\t\t\tfirstOptionId: registeredOptionIds[0],\n\t\t\tregisterOption\n\t\t}),\n\t\t[descriptionId, disabled, groupId, handleChange, labelId, orientation, registerOption, registeredOptionIds, value]\n\t);\n\n\treturn (\n\t\t<div className={cn(uiStyles.uiElement, disabled && uiStyles.disabled, className)}>\n\t\t\t{label && (\n\t\t\t\t<div id={labelId} className={uiStyles.uiLabel}>\n\t\t\t\t\t{label}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t{description && (\n\t\t\t\t<div id={descriptionId} className={uiStyles.uiDescription}>\n\t\t\t\t\t{description}\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t<RadioGroupContext.Provider value={contextValue}>\n\t\t\t\t<div\n\t\t\t\t\trole=\"radiogroup\"\n\t\t\t\t\taria-labelledby={labelId}\n\t\t\t\t\taria-label={labelId ? undefined : ariaLabel}\n\t\t\t\t\taria-describedby={descriptionId}\n\t\t\t\t\taria-disabled={disabled || undefined}\n\t\t\t\t\tdata-disabled={disabled || undefined}\n\t\t\t\t\tclassName={cn(uiStyles.uiInputControl, styles.radioGroup, noWrap && styles.noWrap, styles[orientation])}>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</RadioGroupContext.Provider>\n\t\t</div>\n\t);\n}\n\ninterface OptionProps<T> {\n\tvalue: T;\n\tlabel: ReactNode;\n\tdescription?: ReactNode;\n\tclassName?: string;\n}\n\n/**\n * Опция внутри `RadioGroup`, представляющая одно выбираемое значение. Отрисовывает подпись, описание и состояние выбора.\n */\nexport function Option<T>({ value, label, description, className }: OptionProps<T>) {\n\tconst context = useContext(RadioGroupContext);\n\tconst optionId = useId();\n\tconst registerOption = context?.registerOption;\n\n\tuseLayoutEffect(() => {\n\t\tif (!registerOption) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn registerOption(optionId);\n\t}, [registerOption, optionId]);\n\n\tif (!context) {\n\t\treturn (\n\t\t\t<div className={cn(styles.radioItem, className)}>\n\t\t\t\t<p className=\"textNoWrap\">{label}</p>\n\t\t\t\t{description && <div className=\"fontSizeSm content2\">{description}</div>}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst isChecked = Object.is(context.value, value);\n\tconst isDisabled = context.disabled === true;\n\tconst isFallbackTabStop = context.value === undefined && context.firstOptionId === optionId;\n\n\tconst handleChange = () => {\n\t\tif (isDisabled || isChecked) {\n\t\t\treturn;\n\t\t}\n\n\t\tcontext.onChange?.(value);\n\t};\n\n\t// TODO: логика переиспользуемая, надо вынести в хук\n\tconst handleKeyDown = (event: KeyboardEvent<HTMLButtonElement>) => {\n\t\tif (isDisabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (handleKeyboardActivation(event, handleChange)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentTarget = event.currentTarget;\n\t\tconst groupElement = currentTarget.closest<HTMLElement>('[role=\"radiogroup\"]');\n\t\tconst radioItems = Array.from(groupElement?.querySelectorAll<HTMLButtonElement>('[role=\"radio\"]:not([disabled])') ?? []);\n\n\t\tif (!radioItems.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentIndex = radioItems.indexOf(currentTarget);\n\t\tif (currentIndex === -1) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst nextIndex = getRovingFocusTargetIndex({\n\t\t\tcurrentIndex,\n\t\t\titemCount: radioItems.length,\n\t\t\tkey: event.key,\n\t\t\torientation: context.orientation\n\t\t});\n\n\t\tif (nextIndex === null) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tradioItems[nextIndex]?.focus();\n\t\tradioItems[nextIndex]?.click();\n\t};\n\n\treturn (\n\t\t<button\n\t\t\tid={`${context.groupId}-option-${optionId}`}\n\t\t\ttype=\"button\"\n\t\t\trole=\"radio\"\n\t\t\taria-checked={isChecked}\n\t\t\tdisabled={isDisabled}\n\t\t\ttabIndex={isChecked || isFallbackTabStop ? 0 : -1}\n\t\t\tclassName={cn(styles.radioItem, isChecked && styles.checked, className)}\n\t\t\tdata-ui=\"radio-option\"\n\t\t\tdata-action=\"select-radio-option\"\n\t\t\tonClick={handleChange}\n\t\t\tonKeyDown={handleKeyDown}>\n\t\t\t<span className=\"textNoWrap\">{label}</span>\n\t\t\t{description && <span className=\"fontSizeSm\">{description}</span>}\n\t\t</button>\n\t);\n}\n\nRadioGroup.Option = Option;\n"],"mappings":";;;;;;;;;;;GCoBM,IAAoB,EAA6C,IAAI;AAkB3E,SAAgB,EAAc,EAC7B,UACA,aACA,UACA,gBACA,aACA,cACA,WACA,iBAAc,cACd,cAAc,GACd,eACsB;CACtB,IAAM,IAAU,EAAM,GAChB,IAAU,IAAQ,GAAG,EAAQ,UAAU,KAAA,GACvC,IAAgB,IAAc,GAAG,EAAQ,gBAAgB,KAAA,GACzD,CAAC,GAAqB,KAA0B,EAAmB,CAAC,CAAC,GACrE,IAAe,GAAa,MAAuB,IAAW,CAAc,GAAG,CAAC,CAAQ,CAAC,GAMzF,IAAiB,GAAa,OACnC,GAAwB,MAAgB,EAAW,SAAS,CAAQ,IAAI,IAAa,CAAC,GAAG,GAAY,CAAQ,CAAE,SAElG;EACZ,GAAwB,MAAe,EAAW,QAAQ,MAAc,MAAc,CAAQ,CAAC;CAChG,IACE,CAAC,CAAC,GAEC,IAAe,SACb;EACN;EACA,UAAU;EACV;EACA;EACA;EACA;EACA;EACA,eAAe,EAAoB;EACnC;CACD,IACA;EAAC;EAAe;EAAU;EAAS;EAAc;EAAS;EAAa;EAAgB;EAAqB;CAAK,CAClH;CAEA,OACC,kBAAC,OAAD;EAAK,WAAW,EAAG,EAAS,WAAW,KAAY,EAAS,UAAU,CAAS;EAA/E,UAAA;GACE,KACA,kBAAC,OAAD;IAAK,IAAI;IAAS,WAAW,EAAS;IACpC,UAAA;GACG,CAAA;GAEL,KACA,kBAAC,OAAD;IAAK,IAAI;IAAe,WAAW,EAAS;IAC1C,UAAA;GACG,CAAA;GAGN,kBAAC,EAAkB,UAAnB;IAA4B,OAAO;IAClC,UAAA,kBAAC,OAAD;KACC,MAAK;KACL,mBAAiB;KACjB,cAAY,IAAU,KAAA,IAAY;KAClC,oBAAkB;KAClB,iBAAe,KAAY,KAAA;KAC3B,iBAAe,KAAY,KAAA;KAC3B,WAAW,EAAG,EAAS,gBAAgB,EAAO,YAAY,KAAU,EAAO,QAAQ,EAAO,EAAY;KACrG;IACG,CAAA;GACsB,CAAA;EACxB;;AAEP;AAYA,SAAgB,EAAU,EAAE,UAAO,UAAO,gBAAa,gBAA6B;CACnF,IAAM,IAAU,EAAW,CAAiB,GACtC,IAAW,EAAM,GACjB,IAAiB,GAAS;CAUhC,IARA,QAAsB;EAChB,OAIL,OAAO,EAAe,CAAQ;CAC/B,GAAG,CAAC,GAAgB,CAAQ,CAAC,GAEzB,CAAC,GACJ,OACC,kBAAC,OAAD;EAAK,WAAW,EAAG,EAAO,WAAW,CAAS;EAA9C,UAAA,CACC,kBAAC,KAAD;GAAG,WAAU;GAAc,UAAA;EAAS,CAAA,GACnC,KAAe,kBAAC,OAAD;GAAK,WAAU;GAAuB,UAAA;EAAiB,CAAA,CACnE;;CAIP,IAAM,IAAY,OAAO,GAAG,EAAQ,OAAO,CAAK,GAC1C,IAAa,EAAQ,aAAa,IAClC,IAAoB,EAAQ,UAAU,KAAA,KAAa,EAAQ,kBAAkB,GAE7E,UAAqB;EACtB,KAAc,KAIlB,EAAQ,WAAW,CAAK;CACzB;CAyCA,OACC,kBAAC,UAAD;EACC,IAAI,GAAG,EAAQ,QAAQ,UAAU;EACjC,MAAK;EACL,MAAK;EACL,gBAAc;EACd,UAAU;EACV,UAAU,KAAa,IAAoB,IAAI;EAC/C,WAAW,EAAG,EAAO,WAAW,KAAa,EAAO,SAAS,CAAS;EACtE,WAAQ;EACR,eAAY;EACZ,SAAS;EACT,YAlDqB,MAA4C;GAKlE,IAJI,KAIA,EAAyB,GAAO,CAAY,GAC/C;GAGD,IAAM,IAAgB,EAAM,eACtB,IAAe,EAAc,QAAqB,uBAAqB,GACvE,IAAa,MAAM,KAAK,GAAc,iBAAoC,kCAAgC,KAAK,CAAC,CAAC;GAEvH,IAAI,CAAC,EAAW,QACf;GAGD,IAAM,IAAe,EAAW,QAAQ,CAAa;GACrD,IAAI,MAAiB,IACpB;GAGD,IAAM,IAAY,EAA0B;IAC3C;IACA,WAAW,EAAW;IACtB,KAAK,EAAM;IACX,aAAa,EAAQ;GACtB,CAAC;GAEG,MAAc,SAIlB,EAAM,eAAe,GACrB,EAAW,EAAU,EAAE,MAAM,GAC7B,EAAW,EAAU,EAAE,MAAM;EAC9B;EAGC,UAAA,CAYC,kBAAC,QAAD;GAAM,WAAU;GAAc,UAAA;EAAY,CAAA,GACzC,KAAe,kBAAC,QAAD;GAAM,WAAU;GAAc,UAAA;EAAkB,CAAA,CACzD;;AAEV;AAEA,EAAW,SAAS"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ui.module-BfaIVBba.js","names":[],"sources":["../../src/ui.module.scss"],"sourcesContent":["@use \"@/styles/mixins\" as *;\n\n.uiSizable {\n\t--base-width: 100%;\n\n\twidth: var(--base-width);\n\n\t&.xs {\n\t\t--base-width: calc(var(--drp-ui-width-xs, var(--ui-width-xs)) - var(--width-add));\n\t}\n\n\t&.sm {\n\t\t--base-width: calc(var(--drp-ui-width-sm, var(--ui-width-sm)) - var(--width-add));\n\t}\n\n\t&.md {\n\t\t--base-width: calc(var(--drp-ui-width-md, var(--ui-width-md)) - var(--width-add));\n\t}\n\n\t&.lg {\n\t\t--base-width: calc(var(--drp-ui-width-lg, var(--ui-width-lg)) - var(--width-add));\n\t}\n\n\t&.xl {\n\t\t--base-width: calc(var(--drp-ui-width-xl, var(--ui-width-xl)) - var(--width-add));\n\t}\n}\n\n// TODO: Тестовый класс\n.uiErrorElement {\n\t--grid-size: var(--space-sm);\n\t--grid-line-size: var(--border-width);\n\t--grid-line-color: var(--status-error-soft);\n\n\theight: var(--control-height);\n\twidth: 100%; // calc(10em - var(--width-add));\n\tflex-shrink: 0;\n\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\n\tborder: var(--focus-width) solid var(--status-error-border);\n\tborder-radius: var(--radius-sm);\n\toutline: none;\n\n\tfont-weight: 700;\n\tfont-variation-settings: \"wght\" 700;\n\n\tcolor: var(--status-error-text);\n\tbackground-color: var(--surface-0);\n\tbackground-image:\n\t\trepeating-linear-gradient(\n\t\t\t45deg,\n\t\t\tvar(--grid-line-color) 0 var(--grid-line-size),\n\t\t\ttransparent var(--grid-line-size) var(--grid-size)\n\t\t),\n\t\trepeating-linear-gradient(\n\t\t\t-45deg,\n\t\t\tvar(--grid-line-color) 0 var(--grid-line-size),\n\t\t\ttransparent var(--grid-line-size) var(--grid-size)\n\t\t);\n}\n\n.uiContainer {\n\tposition: relative;\n\twidth: 100%;\n}\n\n.uiInputContainer {\n\t@extend .uiContainer;\n\n\t--padding-right: var(--control-height);\n}\n\n.uiLabelBase {\n\tdisplay: inline-block;\n\tfont-weight: 400;\n\tfont-variation-settings: \"wght\" 400;\n}\n\n.uiLabel {\n\t@extend .uiLabelBase;\n\n\tmargin-block: var(--space-xs);\n}\n\n.uiDescription {\n\t--paragraph-margin: 0;\n\n\tpadding-bottom: var(--space-xs);\n\tcolor: var(--content-1);\n\tfont-weight: 300;\n\tfont-variation-settings: \"wght\" 300;\n}\n\n.uiLabel,\n.uiDescription {\n\tmargin-inline: var(--space-xs);\n}\n\n.uiPlaceholder {\n\tcolor: var(--content-2);\n\tfont-weight: 100;\n\tfont-variation-settings: \"wght\" 100;\n\tfont-size: var(--font-size-sm);\n\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n\n.required {\n\t.uiLabelBase::after {\n\t\tcontent: \" *\";\n\t\tcolor: var(--status-error-text);\n\t}\n}\n\n.uiControl {\n\t@include ui-tone(\"neutral\");\n\t@include ui-appearance-outline;\n\t@include ui-control-base;\n\n\t--ui-radius: var(--radius-sm);\n\n\t&.invalid,\n\t&:invalid {\n\t\t@include ui-tone(\"error\");\n\t\t@include ui-appearance-outline;\n\t}\n\n\t&::placeholder {\n\t\t@extend .uiPlaceholder;\n\t}\n}\n\n.uiToneNeutral {\n\t@include ui-tone(\"neutral\");\n}\n\n.uiToneError {\n\t@include ui-tone(\"error\");\n}\n\n.uiToneWarning {\n\t@include ui-tone(\"warning\");\n}\n\n.uiToneSuccess {\n\t@include ui-tone(\"success\");\n}\n\n.uiToneInfo {\n\t@include ui-tone(\"info\");\n}\n\n.uiAppearanceSolid {\n\t@include ui-appearance-solid;\n}\n\n.uiAppearanceOutline {\n\t@include ui-appearance-outline;\n}\n\n.uiAppearanceGhost {\n\t@include ui-appearance-ghost;\n}\n\n.uiAppearanceTransparent {\n\t@include ui-appearance-transparent;\n}\n\n.uiInputControl {\n\t@extend .uiControl;\n\n\theight: var(--control-height);\n}\n\n.uiInputWithToggle {\n\t@extend .uiInputControl;\n\n\tcolor: var(--content-0);\n\n\tpadding: 0 var(--padding-right) 0 var(--space-sm);\n\twidth: 100%;\n\ttext-align: left;\n\n\t// &[type=\"button\"] {\n\t// \twhite-space: nowrap;\n\t// }\n}\n\n.uiSelectionControl {\n\t@include ui-control-base;\n\n\t--ui-color: var(--content-0);\n\t--ui-color-hover: var(--content-0);\n\t--ui-color-active: var(--content-0);\n\t--ui-background: var(--surface-0);\n\t--ui-background-hover: var(--ui-tone-soft);\n\t--ui-background-active: var(--ui-tone-soft);\n\t--ui-border-color: var(--ui-tone-border);\n\t--ui-border-hover: var(--ui-tone-border-hover);\n\t--ui-border-active: var(--ui-tone-border-active);\n\t--ui-border-focus: var(--ui-tone-border-focus);\n\n\tappearance: none;\n\tmargin: 0;\n\tcursor: pointer;\n\n\t&:checked {\n\t\t& + .uiSelectionIcon {\n\t\t\tcolor: var(--ui-tone-fill);\n\t\t}\n\t}\n\n\t&:disabled {\n\t\tcursor: default;\n\n\t\t--ui-border-color: var(--border-0);\n\n\t\t&:checked {\n\t\t\t& + .uiSelectionIcon {\n\t\t\t\tcolor: var(--border-0);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.uiSelectionIcon {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%);\n\tpointer-events: none;\n\tcolor: transparent;\n\ttransition:\n\t\tcolor var(--transition-fast) ease,\n\t\topacity var(--transition-fast) ease;\n}\n\n.uiElement,\n.uiSelectOption,\n.uiPopupOption {\n\t&.disabled,\n\t&:disabled {\n\t\tcursor: default;\n\t\tpointer-events: none;\n\t\tuser-select: none;\n\n\t\t.uiLabel,\n\t\t.uiDescription {\n\t\t\tcolor: var(--content-2);\n\t\t}\n\n\t\t.uiPlaceholder,\n\t\t.uiOptionText,\n\t\t.uiOptionCode {\n\t\t\topacity: 0.25;\n\t\t}\n\t}\n}\n\n.uiFramedPanel {\n\tborder: var(--border);\n\tborder-radius: var(--radius-sm);\n\tpadding: var(--space-sm);\n}\n\n.uiPanel {\n\t@extend .uiFramedPanel;\n\n\tbackground-color: var(--ui-panel-background, var(--surface-0));\n\tcolor: var(--content-0);\n}\n\n.uiPopupOptions {\n\t@extend .uiPanel;\n\n\tbackground-color: var(--surface-0);\n\n\t--anchor-gap: var(--space-xs);\n\t--anchor-padding: var(--space-xs);\n\t--anchor-offset: 0;\n\t--input-width: min(100vw, var(--base-width, 15em));\n\n\tdisplay: flex;\n\tflex-direction: column;\n\n\tmin-width: var(--input-width);\n\ttransform-origin: top;\n\tbox-shadow: var(--shadow-md);\n\tz-index: var(--z-dropdown);\n\n\t&:empty {\n\t\tvisibility: hidden;\n\t}\n}\n\n.uiStateFocus {\n\t@include focusVisible;\n\n\tbackground-color: var(--surface-1);\n\tborder-color: var(--border-1);\n\tcursor: pointer;\n}\n\n.uiOptionBase {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: flex-start;\n\tgap: var(--space-sm);\n\theight: 100%;\n\twidth: 100%;\n\ttext-align: left;\n}\n\n.uiPopupOption {\n\t@extend .uiOptionBase;\n\n\theight: auto;\n\tpadding: var(--space-xs) var(--space-sm);\n}\n\n.uiSelectOption,\n.uiPopupOption {\n\tborder-radius: var(--radius-sm);\n\tborder: none;\n\tbackground-color: transparent;\n\tcolor: var(--content-0);\n\n\ttransition:\n\t\tbackground-color var(--transition-fast) ease,\n\t\tcolor var(--transition-fast) ease;\n\n\t.uiMenuOptionIcon,\n\t.uiPopupOptionIcon {\n\t\tflex-shrink: 0;\n\t\twidth: var(--space-md);\n\t\theight: var(--space-md);\n\t}\n\n\t.uiMenuOptionIcon,\n\t.keyboard {\n\t\tcolor: var(--content-2);\n\t}\n\n\t&.selected {\n\t\tcolor: var(--content-accent);\n\t\tcursor: default;\n\t}\n\n\t&.uiPopupOptionActive {\n\t\tbackground-color: var(--surface-1);\n\t}\n\n\t&.disabled {\n\t\tbackground-color: transparent;\n\t\tcolor: var(--content-2);\n\t}\n\n\t&:focus {\n\t\t@extend .uiStateFocus;\n\t}\n\n\t@include hover(true) {\n\t\tbackground-color: var(--surface-accent);\n\t\tcursor: pointer;\n\t}\n}\n\n.uiPopupOptionSeparator {\n\tborder-top: var(--border);\n\tmargin-block: var(--space-xs);\n}\n\n.uiPopupGroupLabel {\n\tpadding: var(--space-xs) var(--space-sm);\n\tcolor: var(--content-2);\n\tfont-weight: 300;\n\ttext-transform: uppercase;\n\tfont-size: var(--font-size-sm);\n}\n\n.uiMenuOptionIcon {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.uiSelectOption {\n\tdisplay: grid;\n\tgrid-template-columns: auto 1fr;\n\tgap: var(--space-xs);\n\n\tpadding-right: var(--space-xs);\n}\n\n.uiOptionText {\n\t// font-size: var(--font-size-sm);\n\tflex: 1;\n}\n\n.uiOptionCode {\n\tfont-family: var(--font-family-mono);\n\t// font-size: var(--font-size-sm);\n\tcolor: var(--content-1);\n\tfont-weight: 300;\n\tfont-variation-settings: \"wght\" 300;\n}\n\n.uiToggleButtonContainer {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: flex-end;\n\theight: 100%;\n\twidth: 100%;\n\n\ttransition-property: width;\n\ttransition-duration: var(--transition-fast);\n\ttransition-timing-function: cubic-bezier(1, 0, 0.5, 0.5);\n\n\t> button {\n\t\tbackground: transparent;\n\t\tborder: none;\n\t\tcursor: pointer;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\theight: var(--control-height);\n\t\twidth: var(--control-height);\n\t\tborder-radius: var(--radius-sm);\n\t\tflex: 0 0 var(--control-height);\n\t}\n\n\t// &[data-disabled] {\n\t// \tcursor: default;\n\t// \tpointer-events: none;\n\t// \topacity: var(--disabled-opacity);\n\t// }\n}\n\n.uiToggleButton {\n\tcolor: var(--content-0);\n\n\t&:hover {\n\t\tcolor: var(--content-accent);\n\t}\n}\n\n.uiToggleIcon {\n\ttransition: transform var(--transition-fast) ease-in-out;\n\n\t&.uiToggleIconOpen {\n\t\ttransform: rotate(180deg);\n\t}\n}\n\n@include mobile {\n\t.uiPopupOptions {\n\t\t--input-width: calc(100dvw - var(--space-xl));\n\t}\n}\n\n// TODO: пока в свалку стили для дата-подобных компонентов\n\n// Для компонентов, который не являются input, но выставляют себя за него\n.uiInputControlFake {\n\t@extend .uiInputControl;\n\n\twidth: 100%;\n\tpadding: 0 var(--space-sm);\n\tfont-size: var(--font-size-md);\n\n\tdisplay: flex;\n\talign-items: center;\n\n\tcursor: text;\n}\n\n.uiClearButton {\n\tcolor: var(--status-error-text);\n\n\t&:disabled {\n\t\topacity: 0;\n\t\tpointer-events: none;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t\toverflow: hidden;\n\t}\n}\n\n.uiButtonSeparator {\n\tborder-left: var(--border);\n\theight: calc(100% - var(--space-sm));\n}\n"],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"uiClasses-4atXOh0J.js","names":[],"sources":["../../src/uiClasses.ts"],"sourcesContent":["import uiStyles from \"./ui.module.scss\";\n\nimport type { UiAppearance, UiTone, UiVariant } from \"./types\";\n\nexport type UiScheme = {\n\ttone: UiTone;\n\tappearance: UiAppearance;\n};\n\nexport type UiSelectionAppearance = Extract<UiAppearance, \"outline\" | \"solid\">;\n\nconst variantSchemeMap: Record<UiVariant, UiScheme> = {\n\tneutral: { tone: \"neutral\", appearance: \"solid\" },\n\tneutralOutline: { tone: \"neutral\", appearance: \"outline\" },\n\tghost: { tone: \"neutral\", appearance: \"ghost\" },\n\terror: { tone: \"error\", appearance: \"solid\" },\n\twarning: { tone: \"warning\", appearance: \"solid\" },\n\tsuccess: { tone: \"success\", appearance: \"solid\" },\n\tinfo: { tone: \"info\", appearance: \"solid\" },\n\terrorOutline: { tone: \"error\", appearance: \"outline\" },\n\twarningOutline: { tone: \"warning\", appearance: \"outline\" },\n\tsuccessOutline: { tone: \"success\", appearance: \"outline\" },\n\tinfoOutline: { tone: \"info\", appearance: \"outline\" },\n\ttransparent: { tone: \"neutral\", appearance: \"transparent\" }\n};\n\nconst toneClassNameMap: Record<UiTone, string> = {\n\tneutral: uiStyles.uiToneNeutral,\n\terror: uiStyles.uiToneError,\n\twarning: uiStyles.uiToneWarning,\n\tsuccess: uiStyles.uiToneSuccess,\n\tinfo: uiStyles.uiToneInfo\n};\n\nconst appearanceClassNameMap: Record<UiAppearance, string> = {\n\tsolid: uiStyles.uiAppearanceSolid,\n\toutline: uiStyles.uiAppearanceOutline,\n\tghost: uiStyles.uiAppearanceGhost,\n\ttransparent: uiStyles.uiAppearanceTransparent\n};\n\nexport function getUiToneClassName(tone: UiTone): string {\n\treturn toneClassNameMap[tone];\n}\n\nexport function getUiAppearanceClassName(appearance: UiAppearance): string {\n\treturn appearanceClassNameMap[appearance];\n}\n\nexport function resolveUiScheme({\n\tvariant,\n\ttone,\n\tappearance,\n\tfallbackTone = \"neutral\",\n\tfallbackAppearance = \"outline\"\n}: {\n\tvariant?: UiVariant;\n\ttone?: UiTone;\n\tappearance?: UiAppearance;\n\tfallbackTone?: UiTone;\n\tfallbackAppearance?: UiAppearance;\n}): UiScheme {\n\tif (tone || appearance) {\n\t\treturn {\n\t\t\ttone: tone ?? fallbackTone,\n\t\t\tappearance: appearance ?? fallbackAppearance\n\t\t};\n\t}\n\n\tif (variant) {\n\t\treturn variantSchemeMap[variant];\n\t}\n\n\treturn {\n\t\ttone: fallbackTone,\n\t\tappearance: fallbackAppearance\n\t};\n}\n"],"mappings":";;AAWA,IAAM,IAAgD;CACrD,SAAS;EAAE,MAAM;EAAW,YAAY;CAAQ;CAChD,gBAAgB;EAAE,MAAM;EAAW,YAAY;CAAU;CACzD,OAAO;EAAE,MAAM;EAAW,YAAY;CAAQ;CAC9C,OAAO;EAAE,MAAM;EAAS,YAAY;CAAQ;CAC5C,SAAS;EAAE,MAAM;EAAW,YAAY;CAAQ;CAChD,SAAS;EAAE,MAAM;EAAW,YAAY;CAAQ;CAChD,MAAM;EAAE,MAAM;EAAQ,YAAY;CAAQ;CAC1C,cAAc;EAAE,MAAM;EAAS,YAAY;CAAU;CACrD,gBAAgB;EAAE,MAAM;EAAW,YAAY;CAAU;CACzD,gBAAgB;EAAE,MAAM;EAAW,YAAY;CAAU;CACzD,aAAa;EAAE,MAAM;EAAQ,YAAY;CAAU;CACnD,aAAa;EAAE,MAAM;EAAW,YAAY;CAAc;AAC3D,GAEM,IAA2C;CAChD,SAAS,EAAS;CAClB,OAAO,EAAS;CAChB,SAAS,EAAS;CAClB,SAAS,EAAS;CAClB,MAAM,EAAS;AAChB,GAEM,IAAuD;CAC5D,OAAO,EAAS;CAChB,SAAS,EAAS;CAClB,OAAO,EAAS;CAChB,aAAa,EAAS;AACvB;AAEA,SAAgB,EAAmB,GAAsB;CACxD,OAAO,EAAiB;AACzB;AAEA,SAAgB,EAAyB,GAAkC;CAC1E,OAAO,EAAuB;AAC/B;AAEA,SAAgB,EAAgB,EAC/B,YACA,SACA,eACA,kBAAe,WACf,wBAAqB,aAOT;CAYZ,OAXI,KAAQ,IACJ;EACN,MAAM,KAAQ;EACd,YAAY,KAAc;CAC3B,IAGG,IACI,EAAiB,KAGlB;EACN,MAAM;EACN,YAAY;CACb;AACD"}
@@ -1,54 +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"./x-CdBCVC44.js";import{n as a}from"./iframe-DBSrNt2a.js";import{a as o,i as s}from"./utils-DUM89eIj.js";import{a as c,l}from"./array-D-_yMMUK-CIRmlF93.js";import{n as u,t as d}from"./FloatingPopover-QXZeXRkJ.js";import{i as f,n as p,r as m,t as h}from"./uiClasses-Bme9Qqv6.js";import{n as g,t as _}from"./FlexContainer-LmZIdhq2.js";function v({maxChar:e,placement:t=`left`,closeDelay:n=0,maxWidth:r,children:i,block:a,state:o,textWrap:s,textWrapProps:c}){let u=l(i);if(!u.length||e&&u.length<e)return(0,y.jsx)(`span`,{children:u});let f=s??`div`,p={style:{display:a?`block`:`inline-block`,width:e?`${e-3}ch`:`auto`},className:`textOverflow`},m={...c,...p,style:{...c?.style,...p.style},className:[c?.className,p.className].filter(Boolean).join(` `)};return(0,y.jsx)(d,{state:o,placement:t,openOnHover:!0,content:u,closeDelay:n,maxWidth:r,children:(0,y.jsx)(f,{...m,children:u})})}var y;function b(){return(b=e((()=>{c(),u(),y=a(),v.__docgenInfo={description:``,methods:[],displayName:`TextOverflow`,props:{children:{required:!0,tsType:{name:`string`},description:``},maxChar:{required:!1,tsType:{name:`number`},description:``},maxWidth:{required:!1,tsType:{name:`number`},description:`Максимальная ширина тултипа в em.`},placement:{required:!1,tsType:{name:`Placement`},description:``,defaultValue:{value:`"left"`,computed:!1}},closeDelay:{required:!1,tsType:{name:`number`},description:``,defaultValue:{value:`0`,computed:!1}},block:{required:!1,tsType:{name:`literal`,value:`true`},description:`Для работы text-overflow элемент обязан быть блочным или inline-block.
2
- Если в качестве обёртки передается инлайновый компонент, то он будет
3
- перезаписан через стили на display: block или inline-block в зависимости
4
- от установки данного пропса.`},state:{required:!1,tsType:{name:`union`,raw:`"information" | "error" | "warning" | "success" | "negative"`,elements:[{name:`literal`,value:`"information"`},{name:`literal`,value:`"error"`},{name:`literal`,value:`"warning"`},{name:`literal`,value:`"success"`},{name:`literal`,value:`"negative"`}]},description:``},textWrap:{required:!1,tsType:{name:`T`},description:``},textWrapProps:{required:!1,tsType:{name:`Omit`,elements:[{name:`ComponentProps`,elements:[{name:`T`}],raw:`ComponentProps<T>`},{name:`literal`,value:`"children"`}],raw:`Omit<ComponentProps<T>, "children">`},description:``}}}})))()}var x,S,C,w,T,E,D,O,k,A;function j(){return(j=e((()=>{x=`qBtmnH`,S=`p-HsHY`,C=`u9tQAE`,w=`FRScRz`,T=`W13uQO`,E=`_3IRcM9`,D=`R3ybI7`,O=`DdWAaC`,k=`_5cXBQF`,A={badge:x,passive:S,sizeXs:C,sizeSm:w,sizeMd:T,sizeLg:E,sizeXl:D,content:O,removeButton:k}})))()}function M({children:e,size:t=`sm`,tone:n,appearance:r,className:a,onRemove:s}){let c=n??`neutral`,l=f({tone:n,appearance:r,fallbackTone:c,fallbackAppearance:c===`neutral`?`outline`:`solid`});return(0,N.jsxs)(`div`,{className:o(A.badge,P[t],p(l.tone),h(l.appearance),!s&&A.passive,a),children:[(0,N.jsx)(v,{maxChar:25,placement:`top`,block:!0,textWrapProps:{className:A.content},children:String(e)}),s&&(0,N.jsx)(`button`,{type:`button`,onClick:s,className:A.removeButton,"aria-label":`Удалить бейдж`,"data-ui":`badge-remove-button`,"data-action":`remove-badge`,children:(0,N.jsx)(i,{})})]})}var N,P;function F(){return(F=e((()=>{s(),r(),b(),m(),j(),N=a(),P={xs:A.sizeXs,sm:A.sizeSm,md:A.sizeMd,lg:A.sizeLg,xl:A.sizeXl},M.__docgenInfo={description:`Компактный индикатор для статусов, категорий и коротких служебных меток.`,methods:[],displayName:`Badge`,props:{children:{required:!0,tsType:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]},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:``,defaultValue:{value:`"sm"`,computed:!1}},tone:{required:!1,tsType:{name:`union`,raw:`"neutral" | "error" | "warning" | "success" | "info"`,elements:[{name:`literal`,value:`"neutral"`},{name:`literal`,value:`"error"`},{name:`literal`,value:`"warning"`},{name:`literal`,value:`"success"`},{name:`literal`,value:`"info"`}]},description:``},appearance:{required:!1,tsType:{name:`union`,raw:`"solid" | "outline" | "ghost" | "transparent"`,elements:[{name:`literal`,value:`"solid"`},{name:`literal`,value:`"outline"`},{name:`literal`,value:`"ghost"`},{name:`literal`,value:`"transparent"`}]},description:``},className:{required:!1,tsType:{name:`string`},description:``},onRemove:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``}}}})))()}function I({children:e}){return(0,R.jsx)(_,{inline:!0,wrap:!0,gap:`sm`,align:`baseline`,children:L.Children.map(e,(e,t)=>(0,R.jsx)(L.Fragment,{children:e},t))})}var L,R;function z(){return(z=e((()=>{L=n(),g(),R=a(),I.__docgenInfo={description:"Контейнер для группы `Badge`, который выстраивает элементы в единый список с предсказуемыми отступами. Используется для компактного вывода набора меток или фильтров.",methods:[],displayName:`BadgeList`,props:{children:{required:!0,tsType:{name:`Array`,elements:[{name:`ReactElement`,elements:[{name:`union`,raw:`typeof Badge | null | undefined | false`,elements:[{name:`Badge`},{name:`null`},{name:`undefined`},{name:`literal`,value:`false`}]}],raw:`ReactElement<typeof Badge | null | undefined | false>`}],raw:`ReactElement<typeof Badge | null | undefined | false>[]`},description:``}}}})))()}var B=t({Appearances:()=>K,Basic:()=>W,RemovableList:()=>J,Sizes:()=>q,Tones:()=>G,__namedExportsOrder:()=>Y,default:()=>U}),V,H,U,W,G,K,q,J,Y;function X(){return(X=e((()=>{V=n(),F(),z(),H=a(),U={title:`Shared/UI/Badge`,component:M,args:{children:`Новый`,size:`md`,tone:`info`,appearance:`solid`},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{children:{description:`Текст внутри бейджа.`,control:`text`},size:{description:`Размер бейджа.`,control:`inline-radio`,options:[`sm`,`md`,`lg`]},tone:{description:`Семантический тон бейджа.`,control:`inline-radio`,options:[`neutral`,`success`,`warning`,`error`,`info`]},appearance:{description:`Форма бейджа.`,control:`inline-radio`,options:[`solid`,`outline`,`ghost`,`transparent`]},onRemove:{description:`Показывает кнопку удаления и вызывает обработчик по клику.`,control:!1},className:{description:`Дополнительный CSS-класс контейнера.`,control:`text`}}},W={},G={render:()=>(0,H.jsxs)(I,{children:[(0,H.jsx)(M,{tone:`neutral`,appearance:`outline`,children:`Neutral`}),(0,H.jsx)(M,{tone:`success`,appearance:`solid`,children:`Успешно`}),(0,H.jsx)(M,{tone:`warning`,appearance:`solid`,children:`Внимание`}),(0,H.jsx)(M,{tone:`error`,appearance:`solid`,children:`Ошибка`}),(0,H.jsx)(M,{tone:`info`,appearance:`solid`,children:`Информация`})]})},K={render:()=>(0,H.jsxs)(I,{children:[(0,H.jsx)(M,{tone:`neutral`,appearance:`solid`,children:`Solid`}),(0,H.jsx)(M,{tone:`neutral`,appearance:`outline`,children:`Outline`}),(0,H.jsx)(M,{tone:`info`,appearance:`ghost`,children:`Ghost`}),(0,H.jsx)(M,{tone:`warning`,appearance:`transparent`,children:`Transparent`})]})},q={render:()=>(0,H.jsxs)(I,{children:[(0,H.jsx)(M,{size:`xs`,children:`Extra Small`}),(0,H.jsx)(M,{size:`sm`,children:`Small`}),(0,H.jsx)(M,{size:`md`,children:`Medium`}),(0,H.jsx)(M,{size:`lg`,children:`Large`}),(0,H.jsx)(M,{size:`xl`,children:`Extra Large`})]})},J={render:()=>{let[e,t]=(0,V.useState)([`Фильтр A`,`Фильтр B`,`Фильтр C`]);return(0,H.jsx)(I,{children:e.map(e=>(0,H.jsx)(M,{tone:`info`,appearance:`outline`,onRemove:()=>t(t=>t.filter(t=>t!==e)),children:e},e))})}},W.parameters={...W.parameters,docs:{...W.parameters?.docs,source:{originalSource:`{}`,...W.parameters?.docs?.source}}},G.parameters={...G.parameters,docs:{...G.parameters?.docs,source:{originalSource:`{
5
- render: () => <BadgeList>
6
- <Badge tone="neutral" appearance="outline">
7
- Neutral
8
- </Badge>
9
- <Badge tone="success" appearance="solid">
10
- Успешно
11
- </Badge>
12
- <Badge tone="warning" appearance="solid">
13
- Внимание
14
- </Badge>
15
- <Badge tone="error" appearance="solid">
16
- Ошибка
17
- </Badge>
18
- <Badge tone="info" appearance="solid">
19
- Информация
20
- </Badge>
21
- </BadgeList>
22
- }`,...G.parameters?.docs?.source}}},K.parameters={...K.parameters,docs:{...K.parameters?.docs,source:{originalSource:`{
23
- render: () => <BadgeList>
24
- <Badge tone="neutral" appearance="solid">
25
- Solid
26
- </Badge>
27
- <Badge tone="neutral" appearance="outline">
28
- Outline
29
- </Badge>
30
- <Badge tone="info" appearance="ghost">
31
- Ghost
32
- </Badge>
33
- <Badge tone="warning" appearance="transparent">
34
- Transparent
35
- </Badge>
36
- </BadgeList>
37
- }`,...K.parameters?.docs?.source}}},q.parameters={...q.parameters,docs:{...q.parameters?.docs,source:{originalSource:`{
38
- render: () => <BadgeList>
39
- <Badge size="xs">Extra Small</Badge>
40
- <Badge size="sm">Small</Badge>
41
- <Badge size="md">Medium</Badge>
42
- <Badge size="lg">Large</Badge>
43
- <Badge size="xl">Extra Large</Badge>
44
- </BadgeList>
45
- }`,...q.parameters?.docs?.source}}},J.parameters={...J.parameters,docs:{...J.parameters?.docs,source:{originalSource:`{
46
- render: () => {
47
- const [items, setItems] = useState(["Фильтр A", "Фильтр B", "Фильтр C"]);
48
- return <BadgeList>
49
- {items.map(item => <Badge key={item} tone="info" appearance="outline" onRemove={() => setItems(prev => prev.filter(v => v !== item))}>
50
- {item}
51
- </Badge>)}
52
- </BadgeList>;
53
- }
54
- }`,...J.parameters?.docs?.source}}},Y=[`Basic`,`Tones`,`Appearances`,`Sizes`,`RemovableList`]})))()}export{q as a,J as i,B as n,G as o,W as r,X as s,K as t};
@@ -1,12 +0,0 @@
1
- import{n as e,o as t}from"./rolldown-runtime-C0FnF6B9.js";import{t as n}from"./react-C21x__mS.js";import{n as r}from"./iframe-DBSrNt2a.js";import{a as i,i as a}from"./utils-DUM89eIj.js";import{n as o,t as s}from"./FloatingPopover-QXZeXRkJ.js";import{n as c,t as l}from"./ui.module-CHEKb9Cb.js";import{i as u,n as d,r as f,t as p}from"./uiClasses-Bme9Qqv6.js";var m,h,g,_,v;function y(){return(y=e((()=>{m=`wLOHwj`,h=`lFsM-Y`,g=`LPob63`,_=`tsaGtv`,v={button:m,iconOnly:h,buttonInner:g,buttonIcon:_}})))()}var b,x,S;function C(){return(C=e((()=>{b=t(n(),1),a(),o(),l(),f(),y(),x=r(),S=(0,b.forwardRef)(function({children:e,disabled:t,className:n,icon:r,iconEnd:a,title:o,variant:l,tone:f,appearance:m,type:h=`button`,"aria-label":g,..._},y){let S=b.Children.count(e)>0,C=!!r&&!S,w=u({variant:l,tone:f,appearance:m,fallbackAppearance:f&&f!==`neutral`?`solid`:`outline`}),T=C?g??o:g,E=(0,x.jsx)(`button`,{..._,ref:y,type:h,disabled:t,"aria-label":T,className:i(c.uiElement,c.uiInputControl,v.button,d(w.tone),p(w.appearance),C?v.iconOnly:``,`textNoWrap`,n??``),children:(0,x.jsxs)(`span`,{className:v.buttonInner,children:[r&&!a&&(0,x.jsx)(`span`,{"aria-hidden":`true`,className:v.buttonIcon,children:r}),S&&(0,x.jsx)(`span`,{className:`flexEllipsis`,children:e}),r&&a&&(0,x.jsx)(`span`,{"aria-hidden":`true`,className:v.buttonIcon,children:r})]})});return o?(0,x.jsx)(s,{placement:`bottom`,tooltip:!0,content:(0,x.jsx)(x.Fragment,{children:o}),children:E}):E}),S.__docgenInfo={description:'Базовая кнопка дизайн-системы для пользовательских действий.\nПоддерживает состояния, tone + appearance, иконки и безопасный `type="button"` по умолчанию.',methods:[],displayName:`Button`,props:{variant:{required:!1,tsType:{name:`union`,raw:`| "transparent"
2
- | "ghost"
3
- | "neutral"
4
- | "error"
5
- | "warning"
6
- | "success"
7
- | "info"
8
- | "neutralOutline"
9
- | "errorOutline"
10
- | "warningOutline"
11
- | "successOutline"
12
- | "infoOutline"`,elements:[{name:`literal`,value:`"transparent"`},{name:`literal`,value:`"ghost"`},{name:`literal`,value:`"neutral"`},{name:`literal`,value:`"error"`},{name:`literal`,value:`"warning"`},{name:`literal`,value:`"success"`},{name:`literal`,value:`"info"`},{name:`literal`,value:`"neutralOutline"`},{name:`literal`,value:`"errorOutline"`},{name:`literal`,value:`"warningOutline"`},{name:`literal`,value:`"successOutline"`},{name:`literal`,value:`"infoOutline"`}]},description:``},tone:{required:!1,tsType:{name:`union`,raw:`"neutral" | "error" | "warning" | "success" | "info"`,elements:[{name:`literal`,value:`"neutral"`},{name:`literal`,value:`"error"`},{name:`literal`,value:`"warning"`},{name:`literal`,value:`"success"`},{name:`literal`,value:`"info"`}]},description:``},appearance:{required:!1,tsType:{name:`union`,raw:`"solid" | "outline" | "ghost" | "transparent"`,elements:[{name:`literal`,value:`"solid"`},{name:`literal`,value:`"outline"`},{name:`literal`,value:`"ghost"`},{name:`literal`,value:`"transparent"`}]},description:``},icon:{required:!1,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``},iconEnd:{required:!1,tsType:{name:`boolean`},description:``},type:{required:!1,tsType:{name:`union`,raw:`"button" | "submit" | "reset"`,elements:[{name:`literal`,value:`"button"`},{name:`literal`,value:`"submit"`},{name:`literal`,value:`"reset"`}]},description:`По умолчанию делаем безопасное поведение в формах.`,defaultValue:{value:`"button"`,computed:!1}}},composes:[`Omit`]}})))()}export{C as n,S as t};
@@ -1,75 +0,0 @@
1
- import{n as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{n,t as r}from"./check-CmUKUPJO.js";import{n as i,t as a}from"./download-RGyJzMcA.js";import{i as o,n as s,r as c}from"./iframe-DBSrNt2a.js";import{n as l,t as u}from"./Button-DMlznmSQ.js";var d,f;function p(){return(p=e((()=>{o(),d=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}]],f=c(`bell`,d)})))()}var m,h;function g(){return(g=e((()=>{o(),m=[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]],h=c(`plus`,m)})))()}var _=t({Basic:()=>x,ComposableScheme:()=>C,Variants:()=>S,WithIcons:()=>w,__namedExportsOrder:()=>T,default:()=>b}),v,y,b,x,S,C,w,T;function E(){return(E=e((()=>{p(),n(),i(),g(),l(),v=s(),{fn:y}=__STORYBOOK_MODULE_TEST__,b={title:`Shared/UI/Button`,component:u,args:{children:`Действие`,variant:`neutralOutline`,disabled:!1,iconEnd:!1,onClick:y()},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{children:{description:`Текстовое содержимое кнопки.`,control:`text`},variant:{description:"Готовая схема для обратной совместимости. Если заданы `tone` или `appearance`, они имеют приоритет.",control:`select`,options:[`neutral`,`neutralOutline`,`ghost`,`error`,`warning`,`success`,`info`,`errorOutline`,`warningOutline`,`successOutline`,`infoOutline`,`transparent`]},tone:{description:`Семантический тон кнопки.`,control:`inline-radio`,options:[`neutral`,`error`,`warning`,`success`,`info`]},appearance:{description:`Визуальная форма кнопки.`,control:`inline-radio`,options:[`solid`,`outline`,`ghost`,`transparent`]},icon:{description:`Иконка слева или справа от текста.`,control:!1},iconEnd:{description:`Перемещает иконку в конец кнопки.`,control:`boolean`},title:{description:"Текст тултипа и `aria-label` для кнопки.",control:`text`},disabled:{description:`Блокирует нажатие.`,control:`boolean`},onClick:{description:`Вызывается при нажатии на кнопку.`,control:!1},className:{description:`Дополнительный CSS-класс.`,control:`text`}}},x={},S={render:()=>(0,v.jsxs)(`div`,{style:{display:`grid`,gap:12,gridTemplateColumns:`repeat(auto-fit, minmax(180px, 1fr))`},children:[(0,v.jsx)(u,{variant:`neutral`,children:`Neutral Solid`}),(0,v.jsx)(u,{variant:`neutralOutline`,children:`Neutral Outline`}),(0,v.jsx)(u,{variant:`ghost`,children:`Ghost`}),(0,v.jsx)(u,{variant:`info`,children:`Info Solid`}),(0,v.jsx)(u,{variant:`success`,children:`Success Solid`}),(0,v.jsx)(u,{variant:`warning`,children:`Warning Solid`}),(0,v.jsx)(u,{variant:`error`,children:`Error Solid`}),(0,v.jsx)(u,{variant:`infoOutline`,children:`Info Outline`}),(0,v.jsx)(u,{variant:`successOutline`,children:`Success Outline`}),(0,v.jsx)(u,{variant:`warningOutline`,children:`Warning Outline`}),(0,v.jsx)(u,{variant:`errorOutline`,children:`Error Outline`}),(0,v.jsx)(u,{variant:`transparent`,children:`Transparent`})]}),args:{children:`Действие`}},C={render:()=>(0,v.jsxs)(`div`,{style:{display:`grid`,gap:12,gridTemplateColumns:`repeat(auto-fit, minmax(180px, 1fr))`},children:[(0,v.jsx)(u,{tone:`neutral`,appearance:`solid`,children:`Neutral Solid`}),(0,v.jsx)(u,{tone:`neutral`,appearance:`outline`,children:`Neutral Outline`}),(0,v.jsx)(u,{tone:`neutral`,appearance:`ghost`,children:`Neutral Ghost`}),(0,v.jsx)(u,{tone:`info`,appearance:`outline`,children:`Info Outline`}),(0,v.jsx)(u,{tone:`success`,appearance:`solid`,children:`Success Solid`}),(0,v.jsx)(u,{tone:`error`,appearance:`transparent`,children:`Error Transparent`})]})},w={render:()=>(0,v.jsxs)(`div`,{style:{display:`flex`,gap:12,flexWrap:`wrap`},children:[(0,v.jsx)(u,{icon:(0,v.jsx)(a,{}),children:`Скачать`}),(0,v.jsx)(u,{icon:(0,v.jsx)(h,{}),tone:`info`,appearance:`solid`,children:`Создать`}),(0,v.jsx)(u,{icon:(0,v.jsx)(r,{}),iconEnd:!0,tone:`success`,appearance:`solid`,children:`Подтвердить`}),(0,v.jsx)(u,{icon:(0,v.jsx)(f,{}),title:`Уведомления`})]}),args:{children:`Действие`}},x.parameters={...x.parameters,docs:{...x.parameters?.docs,source:{originalSource:`{
2
- // play: async function ({ args, canvas, userEvent }) {
3
- // const button = canvas.getByRole("button", { name: /button/i });
4
- // // 👇 Simulate behavior
5
- // await userEvent.click(button);
6
- // // 👇 Make assertions
7
- // await expect(button).toBeVisible();
8
- // await expect(args.onClick).not.toHaveBeenCalled();
9
- // }
10
- }`,...x.parameters?.docs?.source}}},S.parameters={...S.parameters,docs:{...S.parameters?.docs,source:{originalSource:`{
11
- render: () => <div style={{
12
- display: "grid",
13
- gap: 12,
14
- gridTemplateColumns: "repeat(auto-fit, minmax(180px, 1fr))"
15
- }}>
16
- <Button variant="neutral">Neutral Solid</Button>
17
- <Button variant="neutralOutline">Neutral Outline</Button>
18
- <Button variant="ghost">Ghost</Button>
19
- <Button variant="info">Info Solid</Button>
20
- <Button variant="success">Success Solid</Button>
21
- <Button variant="warning">Warning Solid</Button>
22
- <Button variant="error">Error Solid</Button>
23
- <Button variant="infoOutline">Info Outline</Button>
24
- <Button variant="successOutline">Success Outline</Button>
25
- <Button variant="warningOutline">Warning Outline</Button>
26
- <Button variant="errorOutline">Error Outline</Button>
27
- <Button variant="transparent">Transparent</Button>
28
- </div>,
29
- args: {
30
- children: "Действие"
31
- }
32
- }`,...S.parameters?.docs?.source}}},C.parameters={...C.parameters,docs:{...C.parameters?.docs,source:{originalSource:`{
33
- render: () => <div style={{
34
- display: "grid",
35
- gap: 12,
36
- gridTemplateColumns: "repeat(auto-fit, minmax(180px, 1fr))"
37
- }}>
38
- <Button tone="neutral" appearance="solid">
39
- Neutral Solid
40
- </Button>
41
- <Button tone="neutral" appearance="outline">
42
- Neutral Outline
43
- </Button>
44
- <Button tone="neutral" appearance="ghost">
45
- Neutral Ghost
46
- </Button>
47
- <Button tone="info" appearance="outline">
48
- Info Outline
49
- </Button>
50
- <Button tone="success" appearance="solid">
51
- Success Solid
52
- </Button>
53
- <Button tone="error" appearance="transparent">
54
- Error Transparent
55
- </Button>
56
- </div>
57
- }`,...C.parameters?.docs?.source}}},w.parameters={...w.parameters,docs:{...w.parameters?.docs,source:{originalSource:`{
58
- render: () => <div style={{
59
- display: "flex",
60
- gap: 12,
61
- flexWrap: "wrap"
62
- }}>
63
- <Button icon={<DownloadIcon />}>Скачать</Button>
64
- <Button icon={<PlusIcon />} tone="info" appearance="solid">
65
- Создать
66
- </Button>
67
- <Button icon={<CheckIcon />} iconEnd tone="success" appearance="solid">
68
- Подтвердить
69
- </Button>
70
- <Button icon={<BellIcon />} title="Уведомления" />
71
- </div>,
72
- args: {
73
- children: "Действие"
74
- }
75
- }`,...w.parameters?.docs?.source}}},T=[`Basic`,`Variants`,`ComposableScheme`,`WithIcons`]})))()}export{w as a,S as i,_ as n,E as o,C as r,x as t};
@@ -1,60 +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"./CheckBox-BTR1-W6r.js";import{n as a}from"./iframe-DBSrNt2a.js";var o=t({Controlled:()=>u,Disabled:()=>p,Sizes:()=>f,Tones:()=>d,__namedExportsOrder:()=>m,default:()=>l}),s,c,l,u,d,f,p,m;function h(){return(h=e((()=>{s=n(),r(),c=a(),l={title:`Shared/UI/CheckBox`,component:i,args:{value:!1,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Текст основной подписи чекбокса.`,control:`text`},description:{description:`Дополнительное описание под элементом.`,control:`text`},placeholder:{description:"Текст подписи, если `label` не задан.",control:`text`},value:{description:`Текущее состояние чекбокса.`,control:`boolean`},onChange:{description:`Вызывается при изменении состояния.`,control:!1},disabled:{description:`Блокирует взаимодействие с элементом.`,control:`boolean`},size:{description:`Размер визуального контрола и текста.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},tone:{description:`Семантический тон чекбокса.`,control:`inline-radio`,options:[`neutral`,`error`,`warning`,`success`,`info`]}}},u={render:e=>{let[t,n]=(0,s.useState)(e.value??!1);return(0,c.jsx)(i,{...e,value:t,onChange:n})},args:{label:`Принимать условия`,description:`Подтверждение условий использования сервиса.`,value:!1,size:`md`,disabled:!1,tone:`neutral`}},d={render:()=>{let[e,t]=(0,s.useState)({neutral:!0,info:!0,success:!0,warning:!0,error:!0});return(0,c.jsx)(`div`,{style:{display:`grid`,gap:12},children:[`neutral`,`info`,`success`,`warning`,`error`].map(n=>(0,c.jsx)(i,{tone:n,label:`Тон ${n}`,value:e[n],onChange:e=>t(t=>({...t,[n]:e}))},n))})}},f={render:()=>{let[e,t]=(0,s.useState)({xs:!1,sm:!0,md:!1,lg:!0,xl:!1});return(0,c.jsx)(`div`,{style:{display:`grid`,gap:12},children:[`xs`,`sm`,`md`,`lg`,`xl`].map(n=>(0,c.jsx)(i,{size:n,label:`Размер ${n}`,value:e[n],onChange:e=>t(t=>({...t,[n]:e}))},n))})}},p={args:{label:`Недоступный чекбокс`,description:`Изменение недоступно из-за прав доступа.`,value:!0,disabled:!0,tone:`neutral`}},u.parameters={...u.parameters,docs:{...u.parameters?.docs,source:{originalSource:`{
2
- render: args => {
3
- const [value, setValue] = useState(args.value ?? false);
4
- return <CheckBox {...args} value={value} onChange={setValue} />;
5
- },
6
- args: {
7
- label: "Принимать условия",
8
- description: "Подтверждение условий использования сервиса.",
9
- value: false,
10
- size: "md",
11
- disabled: false,
12
- tone: "neutral"
13
- }
14
- }`,...u.parameters?.docs?.source}}},d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
15
- render: () => {
16
- const [values, setValues] = useState<Record<string, boolean>>({
17
- neutral: true,
18
- info: true,
19
- success: true,
20
- warning: true,
21
- error: true
22
- });
23
- return <div style={{
24
- display: "grid",
25
- gap: 12
26
- }}>
27
- {(["neutral", "info", "success", "warning", "error"] as const).map(tone => <CheckBox key={tone} tone={tone} label={\`Тон \${tone}\`} value={values[tone]} onChange={next => setValues(prev => ({
28
- ...prev,
29
- [tone]: next
30
- }))} />)}
31
- </div>;
32
- }
33
- }`,...d.parameters?.docs?.source}}},f.parameters={...f.parameters,docs:{...f.parameters?.docs,source:{originalSource:`{
34
- render: () => {
35
- const [values, setValues] = useState<Record<string, boolean>>({
36
- xs: false,
37
- sm: true,
38
- md: false,
39
- lg: true,
40
- xl: false
41
- });
42
- return <div style={{
43
- display: "grid",
44
- gap: 12
45
- }}>
46
- {(["xs", "sm", "md", "lg", "xl"] as const).map(size => <CheckBox key={size} size={size} label={\`Размер \${size}\`} value={values[size]} onChange={next => setValues(prev => ({
47
- ...prev,
48
- [size]: next
49
- }))} />)}
50
- </div>;
51
- }
52
- }`,...f.parameters?.docs?.source}}},p.parameters={...p.parameters,docs:{...p.parameters?.docs,source:{originalSource:`{
53
- args: {
54
- label: "Недоступный чекбокс",
55
- description: "Изменение недоступно из-за прав доступа.",
56
- value: true,
57
- disabled: true,
58
- tone: "neutral"
59
- }
60
- }`,...p.parameters?.docs?.source}}},m=[`Controlled`,`Tones`,`Sizes`,`Disabled`]})))()}export{d as a,f as i,u as n,h as o,p as r,o as t};
@@ -1,90 +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"./settings-2-CtlfzeoJ.js";import{n as a,t as o}from"./trash-2-D4ETgmHQ.js";import{i as s,n as c,r as l}from"./iframe-DBSrNt2a.js";import{n as u,t as d}from"./ContextMenu-0zHy_xbK.js";import{n as f,t as p}from"./DropdownMenu-CPj2r3k-.js";var m,h;function g(){return(g=e((()=>{s(),m=[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]],h=l(`copy`,m)})))()}var _,v;function y(){return(y=e((()=>{s(),_=[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]],v=l(`eye`,_)})))()}var b,x;function S(){return(S=e((()=>{s(),b=[[`path`,{d:`M13 21h8`,key:`1jsn5i`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}]],x=l(`pencil-line`,b)})))()}var C,w;function T(){return(T=e((()=>{s(),C=[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`,key:`1nkz8b`}]],w=l(`pin`,C)})))()}var E=t({ContextMenuBasic:()=>j,ContextMenuRadial:()=>M,ControlledDropdown:()=>N,DropdownMenuBasic:()=>A,__namedExportsOrder:()=>P,default:()=>k}),D,O,k,A,j,M,N,P;function F(){return(F=e((()=>{D=n(),g(),y(),S(),T(),r(),a(),u(),f(),O=c(),k={title:`Shared/UI/ContextMenu`,parameters:{atomicCanvas:!0,layout:`centered`}},A={name:`DropdownMenu / Базовый`,render:()=>(0,O.jsxs)(p,{children:[(0,O.jsx)(p.Trigger,{children:(0,O.jsx)(`button`,{type:`button`,children:`Действия`})}),(0,O.jsxs)(p.Content,{children:[(0,O.jsx)(p.GroupLabel,{children:`Файл`}),(0,O.jsx)(p.Item,{icon:(0,O.jsx)(x,{size:14}),hotKey:`Ctrl+E`,children:`Редактировать`}),(0,O.jsx)(p.Item,{icon:(0,O.jsx)(h,{size:14}),hotKey:`Ctrl+C`,children:`Копировать`}),(0,O.jsx)(p.Separator,{}),(0,O.jsx)(p.Item,{icon:(0,O.jsx)(o,{size:14}),hotKey:`Del`,children:`Удалить`})]})]})},j={name:`ContextMenu / По правому клику`,render:()=>(0,O.jsxs)(d,{children:[(0,O.jsx)(d.Trigger,{children:(0,O.jsxs)(`div`,{style:{width:300,height:180,display:`grid`,placeItems:`center`,border:`1px dashed var(--border-1)`,borderRadius:`var(--radius-sm)`,background:`var(--surface-1)`,padding:16,textAlign:`center`},children:[`Нажмите правой кнопкой мыши`,(0,O.jsx)(`br`,{}),`или Shift+F10`]})}),(0,O.jsxs)(d.Content,{children:[(0,O.jsx)(d.Item,{icon:(0,O.jsx)(x,{size:14}),children:`Переименовать`}),(0,O.jsx)(d.Item,{icon:(0,O.jsx)(h,{size:14}),children:`Дублировать`}),(0,O.jsx)(d.Separator,{}),(0,O.jsx)(d.Item,{icon:(0,O.jsx)(o,{size:14}),children:`Переместить в корзину`})]})]})},M={name:`ContextMenu / Радиальное меню`,render:()=>(0,O.jsxs)(d,{children:[(0,O.jsx)(d.Trigger,{children:(0,O.jsxs)(`div`,{style:{width:360,height:220,display:`grid`,placeItems:`center`,border:`1px dashed var(--border-1)`,borderRadius:`var(--radius-sm)`,background:`var(--surface-1)`,padding:16,textAlign:`center`},children:[`Нажмите правой кнопкой мыши`,(0,O.jsx)(`br`,{}),`или Shift+F10`]})}),(0,O.jsxs)(d.RadialContent,{children:[(0,O.jsx)(d.RadialItem,{icon:(0,O.jsx)(x,{}),children:`Править`}),(0,O.jsx)(d.RadialItem,{icon:(0,O.jsx)(h,{}),children:`Копия`}),(0,O.jsx)(d.RadialItem,{icon:(0,O.jsx)(w,{}),children:`Закрепить`}),(0,O.jsx)(d.RadialItem,{icon:(0,O.jsx)(v,{}),children:`Просмотр`}),(0,O.jsx)(d.RadialItem,{icon:(0,O.jsx)(i,{}),children:`Опции`}),(0,O.jsx)(d.RadialItem,{icon:(0,O.jsx)(o,{}),children:`Удалить`})]})]})},N={name:`DropdownMenu / Контролируемый`,render:()=>{let[e,t]=(0,D.useState)(!1);return(0,O.jsxs)(p,{open:e,onOpenChange:t,children:[(0,O.jsx)(p.Trigger,{children:(0,O.jsx)(`button`,{type:`button`,children:e?`Скрыть меню`:`Показать меню`})}),(0,O.jsx)(p.Content,{children:(0,O.jsx)(p.Item,{onSelect:()=>t(!1),children:`Закрыть`})})]})}},A.parameters={...A.parameters,docs:{...A.parameters?.docs,source:{originalSource:`{
2
- name: "DropdownMenu / Базовый",
3
- render: () => <DropdownMenu>
4
- <DropdownMenu.Trigger>
5
- <button type="button">Действия</button>
6
- </DropdownMenu.Trigger>
7
- <DropdownMenu.Content>
8
- <DropdownMenu.GroupLabel>Файл</DropdownMenu.GroupLabel>
9
- <DropdownMenu.Item icon={<PencilLine size={14} />} hotKey="Ctrl+E">
10
- Редактировать
11
- </DropdownMenu.Item>
12
- <DropdownMenu.Item icon={<Copy size={14} />} hotKey="Ctrl+C">
13
- Копировать
14
- </DropdownMenu.Item>
15
- <DropdownMenu.Separator />
16
- <DropdownMenu.Item icon={<Trash2 size={14} />} hotKey="Del">
17
- Удалить
18
- </DropdownMenu.Item>
19
- </DropdownMenu.Content>
20
- </DropdownMenu>
21
- }`,...A.parameters?.docs?.source}}},j.parameters={...j.parameters,docs:{...j.parameters?.docs,source:{originalSource:`{
22
- name: "ContextMenu / По правому клику",
23
- render: () => <ContextMenu>
24
- <ContextMenu.Trigger>
25
- <div style={{
26
- width: 300,
27
- height: 180,
28
- display: "grid",
29
- placeItems: "center",
30
- border: "1px dashed var(--border-1)",
31
- borderRadius: "var(--radius-sm)",
32
- background: "var(--surface-1)",
33
- padding: 16,
34
- textAlign: "center"
35
- }}>
36
- Нажмите правой кнопкой мыши
37
- <br />
38
- или Shift+F10
39
- </div>
40
- </ContextMenu.Trigger>
41
- <ContextMenu.Content>
42
- <ContextMenu.Item icon={<PencilLine size={14} />}>Переименовать</ContextMenu.Item>
43
- <ContextMenu.Item icon={<Copy size={14} />}>Дублировать</ContextMenu.Item>
44
- <ContextMenu.Separator />
45
- <ContextMenu.Item icon={<Trash2 size={14} />}>Переместить в корзину</ContextMenu.Item>
46
- </ContextMenu.Content>
47
- </ContextMenu>
48
- }`,...j.parameters?.docs?.source}}},M.parameters={...M.parameters,docs:{...M.parameters?.docs,source:{originalSource:`{
49
- name: "ContextMenu / Радиальное меню",
50
- render: () => <ContextMenu>
51
- <ContextMenu.Trigger>
52
- <div style={{
53
- width: 360,
54
- height: 220,
55
- display: "grid",
56
- placeItems: "center",
57
- border: "1px dashed var(--border-1)",
58
- borderRadius: "var(--radius-sm)",
59
- background: "var(--surface-1)",
60
- padding: 16,
61
- textAlign: "center"
62
- }}>
63
- Нажмите правой кнопкой мыши
64
- <br />
65
- или Shift+F10
66
- </div>
67
- </ContextMenu.Trigger>
68
- <ContextMenu.RadialContent>
69
- <ContextMenu.RadialItem icon={<PencilLine />}>Править</ContextMenu.RadialItem>
70
- <ContextMenu.RadialItem icon={<Copy />}>Копия</ContextMenu.RadialItem>
71
- <ContextMenu.RadialItem icon={<Pin />}>Закрепить</ContextMenu.RadialItem>
72
- <ContextMenu.RadialItem icon={<Eye />}>Просмотр</ContextMenu.RadialItem>
73
- <ContextMenu.RadialItem icon={<Settings2 />}>Опции</ContextMenu.RadialItem>
74
- <ContextMenu.RadialItem icon={<Trash2 />}>Удалить</ContextMenu.RadialItem>
75
- </ContextMenu.RadialContent>
76
- </ContextMenu>
77
- }`,...M.parameters?.docs?.source}}},N.parameters={...N.parameters,docs:{...N.parameters?.docs,source:{originalSource:`{
78
- name: "DropdownMenu / Контролируемый",
79
- render: () => {
80
- const [open, setOpen] = useState(false);
81
- return <DropdownMenu open={open} onOpenChange={setOpen}>
82
- <DropdownMenu.Trigger>
83
- <button type="button">{open ? "Скрыть меню" : "Показать меню"}</button>
84
- </DropdownMenu.Trigger>
85
- <DropdownMenu.Content>
86
- <DropdownMenu.Item onSelect={() => setOpen(false)}>Закрыть</DropdownMenu.Item>
87
- </DropdownMenu.Content>
88
- </DropdownMenu>;
89
- }
90
- }`,...N.parameters?.docs?.source}}},P=[`DropdownMenuBasic`,`ContextMenuBasic`,`ContextMenuRadial`,`ControlledDropdown`]})))()}export{F as a,A as i,E as n,N as r,j as t};
@@ -1,11 +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-DBSrNt2a.js";import{r as i,t as a}from"./DateInput-CNO6uPbo.js";import{n as o,t as s}from"./GridContainer-qDguE1HS.js";import{n as c,t as l}from"./DateRangePresetSelect-CfuLAxW0.js";var u=t({Default:()=>m,__namedExportsOrder:()=>h,default:()=>p}),d,f,p,m,h;function g(){return(g=e((()=>{d=n(),i(),o(),c(),f=r(),p={title:`Shared/UI/DateRangePresetSelect`,component:l,args:{value:`monthStartToToday`,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`}},m={render:()=>{let[e,t]=(0,d.useState)(`monthStartToToday`),[n,r]=(0,d.useState)([new Date(2026,2,1,0,0,0),new Date(2026,2,10,23,59,59)]);return(0,f.jsxs)(s,{gap:`md`,children:[(0,f.jsx)(l,{label:`Пресет диапазона`,placeholder:`Выберите пресет`,value:e,onChange:t,onRangeChange:e=>r(e?.range??null),referenceDate:new Date(2026,2,10,12,0,0)}),(0,f.jsx)(a,{label:`Диапазон дат`,placeholder:`дд.мм.гггг - дд.мм.гггг`,value:n,onChange:e=>r(e)})]})}},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
2
- render: () => {
3
- const [presetId, setPresetId] = useState<string | undefined>("monthStartToToday");
4
- const [range, setRange] = useState<DateRangePresetChangePayload["range"] | null>([new Date(2026, 2, 1, 0, 0, 0), new Date(2026, 2, 10, 23, 59, 59)]);
5
- return <GridContainer gap="md">
6
- <DateRangePresetSelect label="Пресет диапазона" placeholder="Выберите пресет" value={presetId} onChange={setPresetId} onRangeChange={payload => setRange(payload?.range ?? null)} referenceDate={new Date(2026, 2, 10, 12, 0, 0)} />
7
-
8
- <RangeDateInput label="Диапазон дат" placeholder="дд.мм.гггг - дд.мм.гггг" value={range} onChange={nextRange => setRange(nextRange)} />
9
- </GridContainer>;
10
- }
11
- }`,...m.parameters?.docs?.source},description:{story:`Демонстрирует связку выбора пресета и ручного диапазона дат.`,...m.parameters?.docs?.description}}},h=[`Default`]})))()}export{m as n,g as r,u as t};
@@ -1,44 +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-DBSrNt2a.js";import{a as i,i as a}from"./utils-DUM89eIj.js";var o,s,c,l,u,d,f,p,m,h,g,_,v,y,b;function x(){return(x=e((()=>{o=`DyKaN-`,s=`_2Cf0DN`,c=`igyZiV`,l=`lFsl-5`,u=`zQlD1x`,d=`a6oRih`,f=`MYdzIV`,p=`Pxw-eb`,m=`Kz2K6S`,h=`Pbwja7`,g=`_1DseTb`,_=`h3oORx`,v=`gB9Kr4`,y=`V-PlLc`,b={detailList:o,none:s,small:c,normal:l,large:u,detail:d,dt:f,dd:p,textCenter:m,inline:h,start:g,center:_,end:v,noWrap:y}})))()}function S({label:e,value:t,withColon:n,required:r}){let{semantic:a,inline:o,noWrap:s,center:c,vertical:l=`center`,withColon:u=!0}=(0,C.useContext)(T),d=i(b.detail,c&&b.textCenter,o&&b.inline,s&&b.noWrap,b[l]),f=(0,w.jsxs)(w.Fragment,{children:[e,r&&(0,w.jsx)(`span`,{className:`statusError`,children:`*`}),(typeof n==`boolean`?n:u)&&`:`]});switch(a){case`detail`:return(0,w.jsxs)(`div`,{className:d,children:[(0,w.jsx)(`dt`,{className:b.dt,children:f}),(0,w.jsx)(`dd`,{className:b.dd,children:t})]});case`list`:return(0,w.jsxs)(`li`,{className:d,children:[(0,w.jsx)(`div`,{className:b.dt,children:f}),(0,w.jsx)(`div`,{className:b.dd,children:t})]});default:return(0,w.jsxs)(`div`,{className:d,children:[(0,w.jsx)(`div`,{className:b.dt,children:f}),(0,w.jsx)(`div`,{className:b.dd,children:t})]})}}var C,w,T,E;function D(){return(D=e((()=>{C=n(),a(),x(),w=r(),T=(0,C.createContext)({}),E=({children:e,columnCount:t=1,rowGap:n=`none`,semantic:r=`list`,className:a,...o})=>{let s=i(b.detailList,b[n],a),c={columnCount:Math.min(5,Math.max(1,t))},l=r===`detail`?(0,w.jsx)(`dl`,{className:s,style:c,children:e}):(0,w.jsx)(`ul`,{className:s,style:c,children:e});return(0,w.jsx)(T.Provider,{value:{...o,semantic:r},children:l})},E.Item=S,E.__docgenInfo={description:`Компонент для вывода пар «заголовок-значение» в одну или несколько колонок. Подходит для карточек сущностей, сводок и страниц просмотра.`,methods:[{name:`Item`,docblock:null,modifiers:[`static`],params:[{name:`{ label, value, withColon, required }: DetailItemProps`,optional:!1,type:{name:`DetailItemProps`,alias:`DetailItemProps`}}],returns:null}],displayName:`Detail`,props:{columnCount:{defaultValue:{value:`1`,computed:!1},required:!1},rowGap:{defaultValue:{value:`"none"`,computed:!1},required:!1},semantic:{defaultValue:{value:`"list"`,computed:!1},required:!1}}}})))()}var O=t({BasicList:()=>j,CustomLabel:()=>P,MultipleColumns:()=>M,SemanticDl:()=>N,__namedExportsOrder:()=>F,default:()=>A}),k,A,j,M,N,P,F;function I(){return(I=e((()=>{D(),k=r(),A={title:`Shared/UI/Detail`,component:E,args:{columnCount:1,rowGap:`normal`,semantic:`list`,inline:!1,center:!1,vertical:`center`,noWrap:!1},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{columnCount:{description:`Количество колонок (1-5).`,control:`number`},rowGap:{description:`Вертикальные интервалы между строками.`,control:`inline-radio`,options:[`none`,`small`,`normal`,`large`]},semantic:{description:`Семантический режим контейнера списка деталей.`,control:`inline-radio`,options:[`detail`,`list`]},inline:{description:`Размещает метку и значение в одну строку.`,control:`boolean`},center:{description:`Центрирует текст метки и значения.`,control:`boolean`},vertical:{description:`Вертикальное выравнивание внутри строки.`,control:`inline-radio`,options:[`start`,`center`,`end`]},noWrap:{description:`Отключает перенос длинного значения.`,control:`boolean`},withColon:{description:`Добавляет двоеточие после метки.`,control:`boolean`},className:{description:`Дополнительный CSS-класс списка.`,control:`text`}}},j={render:e=>(0,k.jsxs)(E,{...e,children:[(0,k.jsx)(E.Item,{required:!0,label:`Статус`,value:`Активен`}),(0,k.jsx)(E.Item,{label:`Приоритет`,value:`Высокий`}),(0,k.jsx)(E.Item,{label:`Автор`,value:`Иван Петров`})]}),args:{children:void 0}},M={render:e=>(0,k.jsxs)(E,{...e,children:[(0,k.jsx)(E.Item,{label:`ID`,value:`DOC-12345`}),(0,k.jsx)(E.Item,{label:`Дата`,value:`05.03.2026`}),(0,k.jsx)(E.Item,{label:`Версия`,value:`2.7`}),(0,k.jsx)(E.Item,{label:`Подразделение`,value:`Снабжение`}),(0,k.jsx)(E.Item,{label:`Регион`,value:`Урал`}),(0,k.jsx)(E.Item,{label:`Комментарий`,value:`Требуется согласование с бухгалтерией`})]}),args:{columnCount:2,rowGap:`small`,children:void 0}},N={render:e=>(0,k.jsxs)(E,{...e,children:[(0,k.jsx)(E.Item,{label:`Клиент`,value:`ООО Вектор`}),(0,k.jsx)(E.Item,{label:`Менеджер`,value:`Анна Смирнова`}),(0,k.jsx)(E.Item,{label:`Сумма`,value:`1 250 000 ₽`})]}),args:{semantic:`detail`,inline:!0,columnCount:1,children:void 0}},P={render:e=>(0,k.jsxs)(E,{...e,children:[(0,k.jsx)(E.Item,{label:(0,k.jsx)(`span`,{children:`Номер договора`}),value:`KTK-2026-045`}),(0,k.jsx)(E.Item,{label:(0,k.jsx)(`span`,{title:`Без двоеточия для составной метки`,children:`Статус`}),value:`На согласовании`,withColon:!1})]}),args:{children:void 0}},j.parameters={...j.parameters,docs:{...j.parameters?.docs,source:{originalSource:`{
2
- render: args => <Detail {...args}>
3
- <Detail.Item required label="Статус" value="Активен" />
4
- <Detail.Item label="Приоритет" value="Высокий" />
5
- <Detail.Item label="Автор" value="Иван Петров" />
6
- </Detail>,
7
- args: {
8
- children: undefined
9
- }
10
- }`,...j.parameters?.docs?.source}}},M.parameters={...M.parameters,docs:{...M.parameters?.docs,source:{originalSource:`{
11
- render: args => <Detail {...args}>
12
- <Detail.Item label="ID" value="DOC-12345" />
13
- <Detail.Item label="Дата" value="05.03.2026" />
14
- <Detail.Item label="Версия" value="2.7" />
15
- <Detail.Item label="Подразделение" value="Снабжение" />
16
- <Detail.Item label="Регион" value="Урал" />
17
- <Detail.Item label="Комментарий" value="Требуется согласование с бухгалтерией" />
18
- </Detail>,
19
- args: {
20
- columnCount: 2,
21
- rowGap: "small",
22
- children: undefined
23
- }
24
- }`,...M.parameters?.docs?.source}}},N.parameters={...N.parameters,docs:{...N.parameters?.docs,source:{originalSource:`{
25
- render: args => <Detail {...args}>
26
- <Detail.Item label="Клиент" value="ООО Вектор" />
27
- <Detail.Item label="Менеджер" value="Анна Смирнова" />
28
- <Detail.Item label="Сумма" value="1 250 000 ₽" />
29
- </Detail>,
30
- args: {
31
- semantic: "detail",
32
- inline: true,
33
- columnCount: 1,
34
- children: undefined
35
- }
36
- }`,...N.parameters?.docs?.source}}},P.parameters={...P.parameters,docs:{...P.parameters?.docs,source:{originalSource:`{
37
- render: args => <Detail {...args}>
38
- <Detail.Item label={<span>Номер договора</span>} value="KTK-2026-045" />
39
- <Detail.Item label={<span title="Без двоеточия для составной метки">Статус</span>} value="На согласовании" withColon={false} />
40
- </Detail>,
41
- args: {
42
- children: undefined
43
- }
44
- }`,...P.parameters?.docs?.source}}},F=[`BasicList`,`MultipleColumns`,`SemanticDl`,`CustomLabel`]})))()}export{N as a,M as i,P as n,I as o,O as r,j as t};
@@ -1,31 +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-DBSrNt2a.js";import{n as i,t as a}from"./Button-DMlznmSQ.js";import{n as o,t as s}from"./Dialog-PPguLwie.js";var c=t({Controlled:()=>f,Opened:()=>p,__namedExportsOrder:()=>m,default:()=>d}),l,u,d,f,p,m;function h(){return(h=e((()=>{l=n(),i(),o(),u=r(),d={title:`Shared/UI/Dialog`,component:s,args:{title:`Подтверждение операции`,description:`Проверьте параметры перед выполнением действия.`,open:!1,onClose:()=>{},minWidth:360,children:(0,u.jsx)(`div`,{children:`Содержимое диалога`})},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{title:{description:`Заголовок диалогового окна.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},open:{description:`Управляет видимостью диалога.`,control:`boolean`},onClose:{description:`Вызывается при закрытии диалога.`,control:!1},minWidth:{description:`Минимальная ширина контейнера окна.`,control:`text`},children:{description:`Контент внутри диалогового окна.`,control:!1}}},f={render:e=>{let[t,n]=(0,l.useState)(!1);return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(a,{onClick:()=>n(!0),children:`Открыть диалог`}),(0,u.jsx)(s,{...e,open:t,onClose:()=>n(!1),children:(0,u.jsxs)(`div`,{children:[(0,u.jsx)(`p`,{children:`Подтвердите выполнение действия.`}),(0,u.jsxs)(`div`,{style:{display:`flex`,gap:8,justifyContent:`flex-end`},children:[(0,u.jsx)(a,{variant:`transparent`,onClick:()=>n(!1),children:`Отмена`}),(0,u.jsx)(a,{variant:`success`,onClick:()=>n(!1),children:`Подтвердить`})]})]})})]})}},p={render:e=>{let[t,n]=(0,l.useState)(!0);return(0,u.jsx)(s,{...e,open:t,onClose:()=>n(!1),children:(0,u.jsx)(`div`,{children:`Диалог изначально открыт для демонстрации верстки.`})})},args:{open:!0}},f.parameters={...f.parameters,docs:{...f.parameters?.docs,source:{originalSource:`{
2
- render: args => {
3
- const [open, setOpen] = useState(false);
4
- return <>
5
- <Button onClick={() => setOpen(true)}>Открыть диалог</Button>
6
- <Dialog {...args} open={open} onClose={() => setOpen(false)} children={<div>
7
- <p>Подтвердите выполнение действия.</p>
8
- <div style={{
9
- display: "flex",
10
- gap: 8,
11
- justifyContent: "flex-end"
12
- }}>
13
- <Button variant="transparent" onClick={() => setOpen(false)}>
14
- Отмена
15
- </Button>
16
- <Button variant="success" onClick={() => setOpen(false)}>
17
- Подтвердить
18
- </Button>
19
- </div>
20
- </div>} />
21
- </>;
22
- }
23
- }`,...f.parameters?.docs?.source}}},p.parameters={...p.parameters,docs:{...p.parameters?.docs,source:{originalSource:`{
24
- render: args => {
25
- const [open, setOpen] = useState(true);
26
- return <Dialog {...args} open={open} onClose={() => setOpen(false)} children={<div>Диалог изначально открыт для демонстрации верстки.</div>} />;
27
- },
28
- args: {
29
- open: true
30
- }
31
- }`,...p.parameters?.docs?.source}}},m=[`Controlled`,`Opened`]})))()}export{h as i,c as n,p as r,f as t};
@@ -1,40 +0,0 @@
1
- import{n as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{i as n,n as r,r as i,t as a}from"./DisclosureGroup-C4o0IITt.js";import{n as o}from"./iframe-DBSrNt2a.js";import{n as s,t as c}from"./Button-DMlznmSQ.js";var l=t({Basic:()=>f,Group:()=>m,HeaderActions:()=>p,__namedExportsOrder:()=>h,default:()=>d}),u,d,f,p,m,h;function g(){return(g=e((()=>{s(),n(),r(),u=o(),d={title:`Shared/UI/Disclosure`,component:i,args:{label:`Раздел`,defaultOpen:!1,children:(0,u.jsx)(`p`,{children:`Содержимое панели раскрытия.`})},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок кнопки раскрытия.`,control:`text`},defaultOpen:{description:`Начальное состояние (открыт/закрыт).`,control:`boolean`},headerActions:{description:`Независимые действия в правой части заголовка.`,control:!1},children:{description:`Контент, который показывается в раскрытой панели.`,control:!1}}},f={},p={args:{headerActions:(0,u.jsx)(c,{variant:`transparent`,onClick:()=>void 0,children:`Очистить`})}},m={render:()=>(0,u.jsxs)(a,{children:[(0,u.jsx)(i,{label:`Параметры поиска`,defaultOpen:!0,children:(0,u.jsxs)(`div`,{style:{display:`grid`,gap:8},children:[(0,u.jsx)(`span`,{children:`Период: март 2026`}),(0,u.jsx)(`span`,{children:`Регион: Урал`})]})}),(0,u.jsx)(i,{label:`Сортировка`,children:(0,u.jsxs)(`div`,{style:{display:`grid`,gap:8},children:[(0,u.jsx)(`span`,{children:`Поле: Дата создания`}),(0,u.jsx)(`span`,{children:`Порядок: По убыванию`})]})}),(0,u.jsx)(i,{label:`Дополнительные фильтры`,children:(0,u.jsxs)(`div`,{style:{display:`grid`,gap:8},children:[(0,u.jsx)(`span`,{children:`Только активные`}),(0,u.jsx)(`span`,{children:`Без архивных записей`})]})})]}),args:{label:`Раздел`}},f.parameters={...f.parameters,docs:{...f.parameters?.docs,source:{originalSource:`{}`,...f.parameters?.docs?.source}}},p.parameters={...p.parameters,docs:{...p.parameters?.docs,source:{originalSource:`{
2
- args: {
3
- headerActions: <Button variant="transparent" onClick={() => undefined}>
4
- Очистить
5
- </Button>
6
- }
7
- }`,...p.parameters?.docs?.source}}},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
8
- render: () => <DisclosureGroup>
9
- <Disclosure label="Параметры поиска" defaultOpen>
10
- <div style={{
11
- display: "grid",
12
- gap: 8
13
- }}>
14
- <span>Период: март 2026</span>
15
- <span>Регион: Урал</span>
16
- </div>
17
- </Disclosure>
18
- <Disclosure label="Сортировка">
19
- <div style={{
20
- display: "grid",
21
- gap: 8
22
- }}>
23
- <span>Поле: Дата создания</span>
24
- <span>Порядок: По убыванию</span>
25
- </div>
26
- </Disclosure>
27
- <Disclosure label="Дополнительные фильтры">
28
- <div style={{
29
- display: "grid",
30
- gap: 8
31
- }}>
32
- <span>Только активные</span>
33
- <span>Без архивных записей</span>
34
- </div>
35
- </Disclosure>
36
- </DisclosureGroup>,
37
- args: {
38
- label: "Раздел"
39
- }
40
- }`,...m.parameters?.docs?.source}}},h=[`Basic`,`HeaderActions`,`Group`]})))()}export{g as a,p as i,l as n,m as r,f as t};
@@ -1,36 +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"./DropZone-Cw3X-9Xt.js";import{i as a,n as o,r as s}from"./iframe-DBSrNt2a.js";var c,l;function u(){return(u=e((()=>{a(),c=[[`path`,{d:`M12 13v8`,key:`1l5pq0`}],[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`,key:`1pljnt`}],[`path`,{d:`m8 17 4-4 4 4`,key:`1quai1`}]],l=s(`cloud-upload`,c)})))()}var d=t({Basic:()=>h,Disabled:()=>_,SingleFile:()=>g,__namedExportsOrder:()=>v,default:()=>m}),f,p,m,h,g,_,v;function y(){return(y=e((()=>{f=n(),u(),r(),p=o(),m={title:`Shared/UI/DropZone`,component:i,args:{value:[],onChange:()=>{},multiple:!0,readMode:`data-url`,disabled:!1},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{onChange:{description:`Вызывается с массивом успешно прочитанных файлов.`,control:!1},onChangeError:{description:`Вызывается при ошибке валидации или чтения файла.`,control:!1},allowedMime:{description:`Список допустимых MIME-типов для проверки.`,control:!1},maxBytes:{description:`Максимальный размер одного файла в байтах.`,control:`number`},readMode:{description:`Режим чтения файлов: data-url или array-buffer.`,control:`inline-radio`,options:[`data-url`,`array-buffer`]},multiple:{description:`Разрешает принимать несколько файлов за один drop.`,control:`boolean`},disabled:{description:`Блокирует зону и обработку drop-событий.`,control:`boolean`},children:{description:`Кастомный контент внутри drop-зоны.`,control:!1},className:{description:`Дополнительный CSS-класс контейнера.`,control:`text`}}},h={render:e=>{let[t,n]=(0,f.useState)([]);return(0,p.jsxs)(`div`,{style:{display:`grid`,gap:12},children:[(0,p.jsx)(i,{...e,onChange:e=>n(e)}),(0,p.jsx)(`div`,{style:{fontSize:14},children:t.length>0?`Получено файлов: ${t.length}`:`Перетащите файл(ы) в область выше`})]})}},g={render:e=>(0,p.jsx)(i,{...e,multiple:!1,children:(0,p.jsxs)(`div`,{style:{display:`grid`,placeItems:`center`,gap:6,minHeight:120},children:[(0,p.jsx)(l,{}),(0,p.jsx)(`span`,{children:`Перетащите один файл`})]})}),args:{multiple:!1}},_={args:{disabled:!0,multiple:!0}},h.parameters={...h.parameters,docs:{...h.parameters?.docs,source:{originalSource:`{
2
- render: args => {
3
- const [files, setFiles] = useState<ReadFileResult[]>([]);
4
- return <div style={{
5
- display: "grid",
6
- gap: 12
7
- }}>
8
- <DropZone {...args} onChange={results => setFiles(results)} />
9
- <div style={{
10
- fontSize: 14
11
- }}>
12
- {files.length > 0 ? \`Получено файлов: \${files.length}\` : "Перетащите файл(ы) в область выше"}
13
- </div>
14
- </div>;
15
- }
16
- }`,...h.parameters?.docs?.source}}},g.parameters={...g.parameters,docs:{...g.parameters?.docs,source:{originalSource:`{
17
- render: args => <DropZone {...args} multiple={false}>
18
- <div style={{
19
- display: "grid",
20
- placeItems: "center",
21
- gap: 6,
22
- minHeight: 120
23
- }}>
24
- <UploadCloudIcon />
25
- <span>Перетащите один файл</span>
26
- </div>
27
- </DropZone>,
28
- args: {
29
- multiple: false
30
- }
31
- }`,...g.parameters?.docs?.source}}},_.parameters={..._.parameters,docs:{..._.parameters?.docs,source:{originalSource:`{
32
- args: {
33
- disabled: true,
34
- multiple: true
35
- }
36
- }`,..._.parameters?.docs?.source}}},v=[`Basic`,`SingleFile`,`Disabled`]})))()}export{y as a,g as i,_ as n,d as r,h as t};