@ryuzaki13/react-foundation-ui 1.0.21 → 1.0.23

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 (219) hide show
  1. package/dist/advanced-search/index.js +3 -3
  2. package/dist/base-table/index.js +1 -1
  3. package/dist/chunks/{TextEditorLexicalClient-B1kQnKrU.js → TextEditorLexicalClient-bDEyimUa.js} +2 -2
  4. package/dist/chunks/{TextEditorLexicalClient-B1kQnKrU.js.map → TextEditorLexicalClient-bDEyimUa.js.map} +1 -1
  5. package/dist/chunks/{base-table-DghNJ6ss.js → base-table-BXKFSgIk.js} +2 -2
  6. package/dist/chunks/{base-table-DghNJ6ss.js.map → base-table-BXKFSgIk.js.map} +1 -1
  7. package/dist/chunks/{misc-ClXJygTj.js → misc-DIF5h9ba.js} +71 -76
  8. package/dist/chunks/misc-DIF5h9ba.js.map +1 -0
  9. package/dist/chunks/{modal-QGp5CjB9.js → modal-Cll8YZ7b.js} +2 -2
  10. package/dist/chunks/{modal-QGp5CjB9.js.map → modal-Cll8YZ7b.js.map} +1 -1
  11. package/dist/chunks/{table-tBQ_FOs3.js → table-BdpMzhLH.js} +2 -2
  12. package/dist/chunks/{table-tBQ_FOs3.js.map → table-BdpMzhLH.js.map} +1 -1
  13. package/dist/expandable-action-panel/index.js +1 -1
  14. package/dist/image/index.js +1 -1
  15. package/dist/list/index.js +1 -1
  16. package/dist/misc/AnimatedLogo.d.ts +10 -1
  17. package/dist/misc/AnimatedLogo.d.ts.map +1 -1
  18. package/dist/misc/AnimatedLogoSegment.d.ts +12 -0
  19. package/dist/misc/AnimatedLogoSegment.d.ts.map +1 -0
  20. package/dist/misc/LoadingMessage.d.ts +6 -4
  21. package/dist/misc/LoadingMessage.d.ts.map +1 -1
  22. package/dist/misc/index.d.ts +1 -0
  23. package/dist/misc/index.d.ts.map +1 -1
  24. package/dist/misc/index.js +2 -2
  25. package/dist/modal/index.js +1 -1
  26. package/dist/simple-table/index.js +1 -1
  27. package/dist/styles.css +1 -1
  28. package/dist/table/index.js +1 -1
  29. package/dist/tabs/index.js +1 -1
  30. package/dist/tag-input/TagInput.d.ts +40 -0
  31. package/dist/tag-input/TagInput.d.ts.map +1 -0
  32. package/dist/tag-input/index.d.ts +2 -0
  33. package/dist/tag-input/index.d.ts.map +1 -0
  34. package/dist/tag-input/index.js +180 -0
  35. package/dist/tag-input/index.js.map +1 -0
  36. package/dist/tag-input/lib/joinTagInputAriaIds.d.ts +3 -0
  37. package/dist/tag-input/lib/joinTagInputAriaIds.d.ts.map +1 -0
  38. package/dist/tag-input/lib/tagInputDefaults.d.ts +7 -0
  39. package/dist/tag-input/lib/tagInputDefaults.d.ts.map +1 -0
  40. package/dist/text-editor/index.js +2 -2
  41. package/dist/tree-table/index.js +1 -1
  42. package/package.json +5 -1
  43. package/src/styles/_base.scss +0 -62
  44. package/storybook-static/assets/{Badge-Cg2dYSwP.js → Badge-Dk1ppt6h.js} +1 -1
  45. package/storybook-static/assets/{Badge.stories-BYlun-i3.js → Badge.stories-DGed-OBQ.js} +1 -1
  46. package/storybook-static/assets/{Button-D4_1YUId.js → Button-BrdeQlDt.js} +1 -1
  47. package/storybook-static/assets/{Button-DHUm4dn9.js → Button-c4nDxtrg.js} +1 -1
  48. package/storybook-static/assets/{Button.stories-DJVvYNle.js → Button.stories-CYjvIvUW.js} +1 -1
  49. package/storybook-static/assets/{CheckBox-Cn0oEy-0.js → CheckBox-6Qr3jWMy.js} +1 -1
  50. package/storybook-static/assets/{CheckBox-BMCI3jcJ.js → CheckBox-rqQjSYV-.js} +1 -1
  51. package/storybook-static/assets/{CheckBox.stories-DNVyyKgk.js → CheckBox.stories-Q78_xCB-.js} +1 -1
  52. package/storybook-static/assets/{Color-KMSTOMOX-CogEIqTq.js → Color-KMSTOMOX-BMBFTpCU.js} +1 -1
  53. package/storybook-static/assets/{ContextMenu-GtVpIKrx.js → ContextMenu-Dy6qjxlr.js} +1 -1
  54. package/storybook-static/assets/{ContextMenu.stories-BxiJt6xb.js → ContextMenu.stories-ArVPg2Iz.js} +1 -1
  55. package/storybook-static/assets/{DateInput-JyFcSSzH.js → DateInput-Dk1l_hxJ.js} +1 -1
  56. package/storybook-static/assets/{DateInput-D_BjVnON.js → DateInput-eu7DXgSU.js} +1 -1
  57. package/storybook-static/assets/{DateInput.stories-BXamFqSK.js → DateInput.stories-GCltuReT.js} +1 -1
  58. package/storybook-static/assets/{DateRangePresetSelect-CnBjzwP0.js → DateRangePresetSelect-2dHNAnUX.js} +1 -1
  59. package/storybook-static/assets/{DateRangePresetSelect-5HW0LlXM.js → DateRangePresetSelect-aiAJs_u-.js} +1 -1
  60. package/storybook-static/assets/{DateRangePresetSelect.stories-BzM9q06v.js → DateRangePresetSelect.stories-BXPIK_Co.js} +1 -1
  61. package/storybook-static/assets/{Detail-CVs0NkTq.js → Detail-C-0qKqgn.js} +1 -1
  62. package/storybook-static/assets/{Detail.stories-BDUK-3CV.js → Detail.stories-BpD2YoZq.js} +1 -1
  63. package/storybook-static/assets/{Dialog-D05c6OL5.js → Dialog-BHOqDS4r.js} +1 -1
  64. package/storybook-static/assets/{Dialog.stories-CK0kiLGo.js → Dialog.stories-DbY2IVcJ.js} +1 -1
  65. package/storybook-static/assets/{Disclosure-A8bS_6y5.js → Disclosure-BIS573Xf.js} +1 -1
  66. package/storybook-static/assets/{Disclosure.stories-mol8jRhI.js → Disclosure.stories-BEXgpOqT.js} +1 -1
  67. package/storybook-static/assets/{DocsRenderer-JROSPFPF-Dxrzjrhe.js → DocsRenderer-JROSPFPF-DBLxlIku.js} +2 -2
  68. package/storybook-static/assets/{DropZone-CkNtivw_.js → DropZone-DCOH76_B.js} +1 -1
  69. package/storybook-static/assets/{DropZone.stories-BCj0fFjw.js → DropZone.stories-D1SI6gcY.js} +1 -1
  70. package/storybook-static/assets/{DropdownMenu-CG8U1WuI.js → DropdownMenu-mb1Hg5Gl.js} +1 -1
  71. package/storybook-static/assets/{ExpandableActionPanel.stories-CRind3Wl.js → ExpandableActionPanel.stories-CXJMi0D0.js} +1 -1
  72. package/storybook-static/assets/{Flex-D1vaZnA1.js → Flex-D1ZBJLmP.js} +1 -1
  73. package/storybook-static/assets/{Flex-DSMWhdL8.js → Flex-aMhUlmFA.js} +1 -1
  74. package/storybook-static/assets/{Flex.stories-EJ-TT3O-.js → Flex.stories-Cq9hTA2s.js} +1 -1
  75. package/storybook-static/assets/{Grid-BVrIwkQn.js → Grid-D4xblGva.js} +1 -1
  76. package/storybook-static/assets/{Grid-DkHUHR2b.js → Grid-DrwSe074.js} +1 -1
  77. package/storybook-static/assets/{Grid.stories-Cb1KWhSo.js → Grid.stories-CsQlxLGT.js} +1 -1
  78. package/storybook-static/assets/{ImageCropper.stories-B_Ff5EhO.js → ImageCropper.stories-Da0fJQ1n.js} +1 -1
  79. package/storybook-static/assets/{ImageRenderer-BeYmvtFu.js → ImageRenderer-dXWklz9J.js} +1 -1
  80. package/storybook-static/assets/{ImageRenderer.stories-_U6PQ5s0.js → ImageRenderer.stories-C2l796Hd.js} +1 -1
  81. package/storybook-static/assets/{ImageView.stories-Bh17T4cZ.js → ImageView.stories-Cee_V0zr.js} +1 -1
  82. package/storybook-static/assets/{Input-DqkpneO3.js → Input-B6UklXwb.js} +1 -1
  83. package/storybook-static/assets/{Input-UE0kbOUc.js → Input-DoTXagjB.js} +1 -1
  84. package/storybook-static/assets/{Input.stories-CFEO0SLd.js → Input.stories-mPAKrIP1.js} +1 -1
  85. package/storybook-static/assets/{InputDateTime-RvoVvU9H.js → InputDateTime-BgIJNCpv.js} +1 -1
  86. package/storybook-static/assets/{InputDateTime.stories-UCTcJOk4.js → InputDateTime.stories-Ck0MCRBJ.js} +1 -1
  87. package/storybook-static/assets/{InputFile-Cwb5Aung.js → InputFile-BZqKG2Zr.js} +1 -1
  88. package/storybook-static/assets/{InputFile.stories-Ckuxi-zr.js → InputFile.stories-QbTuArh1.js} +1 -1
  89. package/storybook-static/assets/{InputFiles-C89x8KHV.js → InputFiles-BUoDhUef.js} +1 -1
  90. package/storybook-static/assets/{InputFiles-C9B1dD_R.js → InputFiles-ChhwyB9P.js} +1 -1
  91. package/storybook-static/assets/{InputFiles.stories-7gqx5B4Y.js → InputFiles.stories-PD0pr8y6.js} +1 -1
  92. package/storybook-static/assets/{InputImage-BXBIgcz5.js → InputImage-YxBujSop.js} +1 -1
  93. package/storybook-static/assets/{InputImage.stories-CcJ3kjDY.js → InputImage.stories-CHjyI709.js} +1 -1
  94. package/storybook-static/assets/{LayoutPicker-hTNxtlTj.js → LayoutPicker-DJT0cL8d.js} +1 -1
  95. package/storybook-static/assets/{LayoutPicker.stories-c8zR5DnT.js → LayoutPicker.stories-DvTvYmfw.js} +1 -1
  96. package/storybook-static/assets/{Listbox-DUIb79f5.js → Listbox-D7w7HJNg.js} +1 -1
  97. package/storybook-static/assets/{Listbox.stories-CY3MwnZ5.js → Listbox.stories-D4EMWR6l.js} +1 -1
  98. package/storybook-static/assets/{Modal-CPseWXNJ.js → Modal-BCn0aKBf.js} +1 -1
  99. package/storybook-static/assets/{Modal.stories-Cxw2ZRgQ.js → Modal.stories-BgnMPuDy.js} +1 -1
  100. package/storybook-static/assets/{MultiSelect-Bt3N0rgp.js → MultiSelect-CZW1VSbD.js} +1 -1
  101. package/storybook-static/assets/{MultiSelect-Bf5YxYfN.js → MultiSelect-D7N8euwu.js} +1 -1
  102. package/storybook-static/assets/{MultiSelect.stories-ajKJ1wl2.js → MultiSelect.stories-DV9nyDoE.js} +1 -1
  103. package/storybook-static/assets/{NotificationsHost-DmAk6K6A.js → NotificationsHost-DJILaEyi.js} +1 -1
  104. package/storybook-static/assets/{NotificationsHost.stories-C3EicsDL.js → NotificationsHost.stories-DlO0kPbm.js} +1 -1
  105. package/storybook-static/assets/{ODataMultiSelect-BpSU_AG9.js → ODataMultiSelect-C-DKYFLx.js} +1 -1
  106. package/storybook-static/assets/{ODataMultiSelect.stories-CLEKhMDU.js → ODataMultiSelect.stories-DypA5OPM.js} +1 -1
  107. package/storybook-static/assets/{ODataSelect-W-T83U4u.js → ODataSelect-ANgknc8h.js} +1 -1
  108. package/storybook-static/assets/{ODataSelect-naz-8rqO.js → ODataSelect-CMrLfCwp.js} +1 -1
  109. package/storybook-static/assets/{ODataSelect.stories-BlwRaCjm.js → ODataSelect.stories-icXU3Kk-.js} +1 -1
  110. package/storybook-static/assets/{ODataTreeMultiSelect-BF3VGPGC.js → ODataTreeMultiSelect-C6yg6DFE.js} +1 -1
  111. package/storybook-static/assets/{ODataTreeMultiSelect.stories-DXFNpGVh.js → ODataTreeMultiSelect.stories-CT_tBJph.js} +1 -1
  112. package/storybook-static/assets/{ODataTreeSelect-KkeyBQOB.js → ODataTreeSelect-hiY9TK6F.js} +1 -1
  113. package/storybook-static/assets/{ODataTreeSelect.stories-B3LS8B-K.js → ODataTreeSelect.stories-DPNG2-gB.js} +1 -1
  114. package/storybook-static/assets/{PeriodSelect-sqbTEh2-.js → PeriodSelect-5CQZq007.js} +1 -1
  115. package/storybook-static/assets/{PeriodSelect.stories-D0o5c-aW.js → PeriodSelect.stories-DuwM__eX.js} +1 -1
  116. package/storybook-static/assets/{Popover-BeVnS58h.js → Popover-BuB6NaNL.js} +1 -1
  117. package/storybook-static/assets/{Popover.stories-Bx7wB6zP.js → Popover.stories-DNHTB9O2.js} +1 -1
  118. package/storybook-static/assets/{PresetRangeDateInput-DMJx6huf.js → PresetRangeDateInput-C6ke1QJN.js} +1 -1
  119. package/storybook-static/assets/{PresetRangeDateInput.stories-CGHogk29.js → PresetRangeDateInput.stories-BiFR6FF_.js} +1 -1
  120. package/storybook-static/assets/{RadioButton-DuYV7oLX.js → RadioButton-bmKQ4B96.js} +1 -1
  121. package/storybook-static/assets/{RadioButton.stories-BzEefd1p.js → RadioButton.stories-CZatWIEO.js} +1 -1
  122. package/storybook-static/assets/{RadioGroup-DIymc9Lq.js → RadioGroup-Vnr3qZKk.js} +1 -1
  123. package/storybook-static/assets/{RadioGroup-C0ZMTtyS.js → RadioGroup-diPPm8OV.js} +1 -1
  124. package/storybook-static/assets/{RadioGroup.stories-DJhjmjZ3.js → RadioGroup.stories-BY_ORcvQ.js} +1 -1
  125. package/storybook-static/assets/{Select-B_oN8tGy.js → Select-BxK9yj6_.js} +1 -1
  126. package/storybook-static/assets/{Select-DTrqfSb7.js → Select-Cq66yRYB.js} +1 -1
  127. package/storybook-static/assets/{Select.stories-CPQaxErx.js → Select.stories-CevvmTWz.js} +1 -1
  128. package/storybook-static/assets/{SelectOptionContent-CBu-Z8q9.js → SelectOptionContent-C1-duJ6s.js} +1 -1
  129. package/storybook-static/assets/{SerializableSelect-B8vNCKe6.js → SerializableSelect-C6jj7wLf.js} +1 -1
  130. package/storybook-static/assets/{SerializableSelect-Cn6FnANb.js → SerializableSelect-CnwfEnur.js} +1 -1
  131. package/storybook-static/assets/{SerializableSelect.stories-B0gNlX9R.js → SerializableSelect.stories-DOTdXeIP.js} +1 -1
  132. package/storybook-static/assets/{SingleDateTimeInput-HdoxMDg5.js → SingleDateTimeInput-BtSG1SZF.js} +1 -1
  133. package/storybook-static/assets/{SingleDateTimeInput.stories-BWTJvkfh.js → SingleDateTimeInput.stories-CSFUpLfK.js} +1 -1
  134. package/storybook-static/assets/{Slider-B9zsG5_o.js → Slider-pb7TgPmP.js} +1 -1
  135. package/storybook-static/assets/{Slider.stories-B4R-Ojy6.js → Slider.stories-Cj9sU7k1.js} +1 -1
  136. package/storybook-static/assets/{SliderInput-ecY-t6ii.js → SliderInput-Dp4r4RqZ.js} +1 -1
  137. package/storybook-static/assets/{SliderInput.stories-Bq1WNiBu.js → SliderInput.stories-DKV9C_mb.js} +1 -1
  138. package/storybook-static/assets/{Sortable-BrcZpWjl.js → Sortable-BbVzA3mH.js} +1 -1
  139. package/storybook-static/assets/{Sortable.stories-C9APYJGM.js → Sortable.stories-nttQ0wQV.js} +1 -1
  140. package/storybook-static/assets/{Splitter-zcD_78Cs.js → Splitter-DQip0vEb.js} +1 -1
  141. package/storybook-static/assets/{Splitter.stories-Bh3dux3i.js → Splitter.stories-B7IdmITM.js} +1 -1
  142. package/storybook-static/assets/{StateSelect--2hZlmsM.js → StateSelect-BZeQfOZk.js} +1 -1
  143. package/storybook-static/assets/{StateSelect.stories-Cel6i2fC.js → StateSelect.stories-Cia0oYUX.js} +1 -1
  144. package/storybook-static/assets/{Switch-QlyZfEqf.js → Switch-DzxseHUx.js} +1 -1
  145. package/storybook-static/assets/{Switch.stories-BB3h3c5K.js → Switch.stories-BVAIn4yd.js} +1 -1
  146. package/storybook-static/assets/{Table-qUmGsDT8.js → Table-lzcaRxDg.js} +1 -1
  147. package/storybook-static/assets/{Table.stories-CYPyFV0A.js → Table.stories-sckp-lho.js} +1 -1
  148. package/storybook-static/assets/{Tabs-CyloJDHY.js → Tabs-DyBBFEsD.js} +1 -1
  149. package/storybook-static/assets/{Tabs.stories-DSl3G7Ze.js → Tabs.stories-C6-sZs4H.js} +1 -1
  150. package/storybook-static/assets/TagInput-LeQAhDgs.css +1 -0
  151. package/storybook-static/assets/TagInput.stories-iI1hZ8CY.js +18 -0
  152. package/storybook-static/assets/{Textarea-BwY6pr1A.js → Textarea-D1fEct22.js} +1 -1
  153. package/storybook-static/assets/{Textarea.stories-DNFuMzL8.js → Textarea.stories-ByJH2uhT.js} +1 -1
  154. package/storybook-static/assets/{TimePanel-DfD2qCKU.js → TimePanel-B5c9MfmC.js} +1 -1
  155. package/storybook-static/assets/{TimePanel.stories-CtKmIrYQ.js → TimePanel.stories-DBgXVhz1.js} +1 -1
  156. package/storybook-static/assets/{Toggle-9OU_0OxQ.js → Toggle-CHx3ZZfu.js} +1 -1
  157. package/storybook-static/assets/{Toggle.stories-gX7GAhf5.js → Toggle.stories-g3Eq8oVl.js} +1 -1
  158. package/storybook-static/assets/{TreeMultiSelect-xleloE3L.js → TreeMultiSelect-CrKusouJ.js} +1 -1
  159. package/storybook-static/assets/{TreeMultiSelect-D6FZp3ol.js → TreeMultiSelect-T05Sk9sh.js} +1 -1
  160. package/storybook-static/assets/{TreeMultiSelect.stories-TNrQi3tC.js → TreeMultiSelect.stories-C85O7gDN.js} +1 -1
  161. package/storybook-static/assets/{TreePickerBase-CKrFw1xA.js → TreePickerBase-VJSaTBqo.js} +1 -1
  162. package/storybook-static/assets/{TreeSelect-DK87hY70.js → TreeSelect-DQmAaKsJ.js} +1 -1
  163. package/storybook-static/assets/{TreeSelect-KbC_b2h7.js → TreeSelect-Dw-svVvg.js} +1 -1
  164. package/storybook-static/assets/{TreeSelect.stories-Dv24g8uv.js → TreeSelect.stories-Bqv2L08v.js} +1 -1
  165. package/storybook-static/assets/{TreeTable-DNyOKFIY.js → TreeTable-JJK6sE1o.js} +1 -1
  166. package/storybook-static/assets/{TreeTable.stories-g84YOpcn.js → TreeTable.stories-yOu-SM17.js} +1 -1
  167. package/storybook-static/assets/{WithTooltip-7X4HQR7L-DTYeAnYl.js → WithTooltip-7X4HQR7L-Cib98jGG.js} +1 -1
  168. package/storybook-static/assets/{base-table-ChlvVz_l.js → base-table-BbenC81q.js} +1 -1
  169. package/storybook-static/assets/{blocks-nvFBZnmF.js → blocks-DsN3hykK.js} +6 -6
  170. package/storybook-static/assets/{button-DxVxb_AQ.js → button-C8nkqC6f.js} +1 -1
  171. package/storybook-static/assets/{check-box-b5_2dw6S.js → check-box-BRod99sY.js} +1 -1
  172. package/storybook-static/assets/{chunk-3LY4VQVK-HxSHgfWj.js → chunk-3LY4VQVK-DSSlp6en.js} +1 -1
  173. package/storybook-static/assets/{chunk-LITCR56V-ojcamuDf.js → chunk-LITCR56V-CB95AMSh.js} +1 -1
  174. package/storybook-static/assets/{contextMenu-BOr3FdXR.js → contextMenu-iKy1R_pJ.js} +1 -1
  175. package/storybook-static/assets/{error-gSnleOdo.js → error-ChmbU9Ma.js} +1 -1
  176. package/storybook-static/assets/{flex-nhxot7pG.js → flex-CMA-ZjxB.js} +1 -1
  177. package/storybook-static/assets/{floating-ui.react-DBHno7PC.js → floating-ui.react-BpBaLM_G.js} +1 -1
  178. package/storybook-static/assets/formatter-L2YTDE3Q-tZc7M3Ad.js +1 -0
  179. package/storybook-static/assets/{formatters-Cnj-VWHB.js → formatters-C0d3JoZj.js} +1 -1
  180. package/storybook-static/assets/grid-Ck5-5Szv.js +1 -0
  181. package/storybook-static/assets/{hooks-DOtYpswn.js → hooks-BpEcTBvi.js} +1 -1
  182. package/storybook-static/assets/{iframe-CELq1yHK.js → iframe-D90hKkIJ.js} +4 -4
  183. package/storybook-static/assets/{input-Bq20EuR5.js → input-D77vjPVL.js} +1 -1
  184. package/storybook-static/assets/{lucide-react-DaLrYAcN.js → lucide-react-ClGevkpS.js} +1 -1
  185. package/storybook-static/assets/{mdx-react-shim-BUeZ3JmE.js → mdx-react-shim-CdXPOrRW.js} +1 -1
  186. package/storybook-static/assets/{media-7gU-mKPx.js → media-C4dafSHo.js} +1 -1
  187. package/storybook-static/assets/misc-D9dXokhF.css +1 -0
  188. package/storybook-static/assets/misc-yRJvnOkX.js +5 -0
  189. package/storybook-static/assets/{notifications-GJTI8j3c.js → notifications-Dt8NSgnT.js} +1 -1
  190. package/storybook-static/assets/{odata-gGnv74mq.js → odata-DQSm2H7O.js} +1 -1
  191. package/storybook-static/assets/odata-service-CMTV9-cO.js +1 -0
  192. package/storybook-static/assets/{odataStoryFixtures-D6PpTODP.js → odataStoryFixtures-D0p0XtmS.js} +1 -1
  193. package/storybook-static/assets/{picker-xfAX_wju.js → picker-9SOfvJPJ.js} +1 -1
  194. package/storybook-static/assets/{popover-CIF-ZVaN.js → popover-Dph7wJ1_.js} +1 -1
  195. package/storybook-static/assets/{preset-select-CiuJ-Yp0.js → preset-select-mubmWRO9.js} +1 -1
  196. package/storybook-static/assets/{react-18-BRX9FbGe.js → react-18-CSg0VXTL.js} +1 -1
  197. package/storybook-static/assets/{react-A5qSDxGl.js → react-Cr3aZrbF.js} +1 -1
  198. package/storybook-static/assets/{react-dom-BRUL6UMQ.js → react-dom-Iu9X9_7I.js} +1 -1
  199. package/storybook-static/assets/select-DYXb71nn.js +1 -0
  200. package/storybook-static/assets/{slider-PVNNrxhZ.js → slider-C8Udy6I7.js} +1 -1
  201. package/storybook-static/assets/{sortable-DlbQfnOR.js → sortable-xt2HCdf-.js} +1 -1
  202. package/storybook-static/assets/{syntaxhighlighter-RTCFPKCB-AHhtM7MH.js → syntaxhighlighter-RTCFPKCB-4Ttp-ccw.js} +1 -1
  203. package/storybook-static/assets/{text-DyVJvCm8.js → text-CwWM1WCX.js} +1 -1
  204. package/storybook-static/assets/{theming-ClhUCD3-.js → theming--foXdFDq.js} +1 -1
  205. package/storybook-static/assets/ui-BJnukgBU.js +1 -0
  206. package/storybook-static/assets/{useODataSelectBase-BonuBTfa.js → useODataSelectBase-C7f1zxWc.js} +1 -1
  207. package/storybook-static/assets/{useODataTreeData-DwO49vDk.js → useODataTreeData-7hwK6Byp.js} +1 -1
  208. package/storybook-static/assets/{utils-V012ES4W.js → utils-Bg8QclQy.js} +1 -1
  209. package/storybook-static/iframe.html +1 -1
  210. package/storybook-static/index.json +1 -1
  211. package/storybook-static/project.json +1 -1
  212. package/dist/chunks/misc-ClXJygTj.js.map +0 -1
  213. package/storybook-static/assets/formatter-L2YTDE3Q-B5zfJybp.js +0 -1
  214. package/storybook-static/assets/grid-B-H7CtbE.js +0 -1
  215. package/storybook-static/assets/misc-BsWm_Gl7.js +0 -5
  216. package/storybook-static/assets/misc-CerLA5Xh.css +0 -1
  217. package/storybook-static/assets/odata-service-Bz6VElCd.js +0 -1
  218. package/storybook-static/assets/select-CbSahuRN.js +0 -1
  219. package/storybook-static/assets/ui-DvOsIS0A.js +0 -1
@@ -1 +1 @@
1
- {"generatedAt":1783786314766,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":false,"hasStorybookEslint":false,"refCount":0,"metaFramework":{"name":"tanstack-react","packageName":"@tanstack/react-router","version":"1.170.17"},"knownPackages":{"testPackages":{"@testing-library/dom":"10.4.1","@testing-library/react":"16.3.2","@testing-library/user-event":"^14.6.1","vitest":"4.1.10"},"stateManagementPackages":{"zustand":"^5.0.14"},"dataFetchingPackages":{"@tanstack/react-query":"^5.101.1"},"routerPackages":{"@tanstack/react-router":"^1.170.16"}},"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.4.6","storybookVersionSpecifier":"^10.4.6","language":"typescript","storybookPackages":{"@storybook/react-vite":{"version":"10.4.6"},"storybook":{}},"addons":{"@storybook/addon-docs":{"version":"10.4.6"},"@storybook/addon-a11y":{"version":"10.4.6"}},"packageJsonType":"module"}
1
+ {"generatedAt":1783794189008,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":false,"hasStorybookEslint":false,"refCount":0,"metaFramework":{"name":"tanstack-react","packageName":"@tanstack/react-router","version":"1.170.17"},"knownPackages":{"testPackages":{"@testing-library/dom":"10.4.1","@testing-library/react":"16.3.2","@testing-library/user-event":"^14.6.1","vitest":"4.1.10"},"stateManagementPackages":{"zustand":"^5.0.14"},"dataFetchingPackages":{"@tanstack/react-query":"^5.101.1"},"routerPackages":{"@tanstack/react-router":"^1.170.16"}},"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.4.6","storybookVersionSpecifier":"^10.4.6","language":"typescript","storybookPackages":{"@storybook/react-vite":{"version":"10.4.6"},"storybook":{}},"addons":{"@storybook/addon-docs":{"version":"10.4.6"},"@storybook/addon-a11y":{"version":"10.4.6"}},"packageJsonType":"module"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"misc-ClXJygTj.js","names":[],"sources":["../../src/misc/AnimatedLogo.tsx","../../src/misc/CopyTextWrapper.tsx","../../src/misc/IconWrapper.module.scss","../../src/misc/IconWrapper.tsx","../../src/misc/LoadingMessage.module.scss","../../src/misc/Message.tsx","../../src/misc/LoadingMessage.tsx","../../src/misc/LazyDynamicComponent.tsx","../../src/misc/SkeletonLine.tsx","../../src/misc/LazyValue.tsx","../../src/misc/NoData.tsx","../../src/misc/Notice.tsx","../../src/misc/OneStepScroller.module.scss","../../src/misc/OneStepScroller.tsx","../../src/misc/Scrollable.tsx","../../src/misc/State.module.scss","../../src/misc/StateIcon.tsx","../../src/misc/StateWrapper.tsx"],"sourcesContent":["export function AnimatedLogo() {\n\treturn (\n\t\t<div className=\"logoAnimated\">\n\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"588\" height=\"696\" viewBox=\"0 0 588 696\" role=\"img\" aria-label=\"Загрузка\">\n\t\t\t\t<path className=\"logoSegment logoOutline logoS1\" d=\"M15,15v225.37l136.14-.23c44.13-.07,79.86-35.87,79.86-80V15H15Z\" />\n\t\t\t\t<path className=\"logoSegment logoOutline logoS2\" d=\"M15,285v396s216,0,216,0v-316c0-44.18-35.82-80-80-80H15Z\" />\n\t\t\t\t<path className=\"logoSegment logoOutline logoS3\" d=\"M276,15h297s0,225,0,225h-217c-44.18,0-80-35.82-80-80V15Z\" />\n\t\t\t\t<path\n\t\t\t\t\tclassName=\"logoSegment logoFill logoS4\"\n\t\t\t\t\td=\"M573,285v108h-169c-11.05,0-20,8.95-20,20v268h-108v-316c0-44.18,35.82-80,80-80h217Z\"\n\t\t\t\t/>\n\t\t\t</svg>\n\t\t</div>\n\t);\n}\n","import { Placement } from \"@floating-ui/react\";\nimport { useCopyElementTextWithFeedback } from \"@ryuzaki13/react-foundation-lib/copy\";\nimport { CheckCheckIcon, CopyIcon } from \"lucide-react\";\n\nimport { FloatingPopover } from \"../popover\";\n\ninterface CopyTextWrapperProps {\n\tchildren: React.ReactNode;\n\tposition?: Placement;\n\tshowOnHover?: boolean;\n\tclassName?: string;\n}\n\nexport const CopyTextWrapper: React.FC<CopyTextWrapperProps> = ({ children, position = \"top\", showOnHover = true, className }) => {\n\tconst { containerRef, copyElementText, isCopied } = useCopyElementTextWithFeedback<HTMLSpanElement>();\n\n\treturn (\n\t\t<span ref={containerRef} className={className}>\n\t\t\t{children}\n\t\t\t<FloatingPopover openOnHover={showOnHover} placement={position} content={isCopied ? \"Скопировано!\" : \"Копировать текст\"}>\n\t\t\t\t<button onClick={copyElementText} aria-label={isCopied ? \"Скопировано!\" : \"Копировать текст\"}>\n\t\t\t\t\t{isCopied ? <CheckCheckIcon className=\"block statusSuccess\" /> : <CopyIcon className=\"block statusInfo\" />}\n\t\t\t\t</button>\n\t\t\t</FloatingPopover>\n\t\t</span>\n\t);\n};\n",".wrapper {\n\twidth: var(--control-height);\n\theight: var(--control-height);\n\tmargin: auto;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n","import { ReactNode } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport styles from \"./IconWrapper.module.scss\";\n\ninterface IconWrapperProps {\n\tchildren: ReactNode;\n\tclassName?: string;\n}\n\nexport function IconWrapper({ className, children }: IconWrapperProps) {\n\treturn <div className={cn(styles.wrapper, className)}>{children}</div>;\n}\n",".componentLoader {\n\tmin-height: 10em;\n}\n","import { PropsWithChildren } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport { FlexCenter } from \"../flex\";\nimport { Text, TextColor } from \"../text\";\n\ninterface MessageProps extends PropsWithChildren {\n\tclassName?: string;\n\tcolor?: TextColor;\n\tminHeight?: string | number;\n\tuppercase?: boolean;\n}\n\nexport const Message: React.FC<MessageProps> = ({ className, children, color = \"muted\", minHeight, uppercase = true }) => (\n\t<FlexCenter className={cn(\"paddingMd textCenter\", className)} minHeight={minHeight}>\n\t\t<Text as=\"div\" weight=\"bold\" color={color} uppercase={uppercase}>\n\t\t\t{children}\n\t\t</Text>\n\t</FlexCenter>\n);\n","import { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport { AnimatedLogo } from \"./AnimatedLogo\";\nimport styles from \"./LoadingMessage.module.scss\";\nimport { Message } from \"./Message\";\n\ninterface LoadingMessageProps {\n\tclassName?: string;\n\ttext?: string;\n\twithLogo?: boolean;\n}\n\nexport function LoadingMessage({ className, text, withLogo }: LoadingMessageProps) {\n\treturn (\n\t\t<Message className={cn(styles.componentLoader, withLogo ? \"\" : \"skeletonLine\", className)}>\n\t\t\t{withLogo && <AnimatedLogo />}\n\n\t\t\t{text || \"Загрузка...\"}\n\t\t</Message>\n\t);\n}\n","import { Suspense, useSyncExternalStore, type ComponentType, type ReactNode } from \"react\";\n\nimport { useLazyComponent } from \"@ryuzaki13/react-foundation-lib/hooks\";\n\nimport { LoadingMessage } from \"./LoadingMessage\";\n\ntype LazyDynamicComponentProps<T extends object> = {\n\timportFunc: () => Promise<Record<string, ComponentType<T>> | null>;\n\tcomponentName: string;\n\tcacheKey?: string;\n\tclientOnly?: boolean;\n\tfallback?: ReactNode;\n\tprops?: T;\n};\n\nconst subscribeClientOnlyMount = (onStoreChange: () => void) => {\n\tonStoreChange();\n\n\treturn () => undefined;\n};\n\nconst getClientSnapshot = () => true;\nconst getServerSnapshot = () => false;\n\n/**\n * Компонент ленивой загрузки динамически импортируемого React-компонента. Позволяет отложить загрузку тяжелых частей интерфейса до момента использования.\n */\nexport function LazyDynamicComponent<T extends object>({\n\tfallback,\n\timportFunc,\n\tcomponentName,\n\tclientOnly = false,\n\tcacheKey,\n\tprops\n}: LazyDynamicComponentProps<T>) {\n\tconst Component = useLazyComponent(importFunc, componentName, cacheKey);\n\tconst isClient = useSyncExternalStore(subscribeClientOnlyMount, getClientSnapshot, getServerSnapshot);\n\n\tconst fallbackNode = fallback ?? <LoadingMessage text=\"Ожидание компонента...\" />;\n\n\t// Client-only режим нужен для браузерных модулей, которые нельзя даже пытаться импортировать во время SSR.\n\tif (clientOnly && !isClient) return fallbackNode;\n\n\treturn (\n\t\t<Suspense fallback={fallbackNode}>\n\t\t\t{/* eslint-disable-next-line react-hooks/static-components */}\n\t\t\t<Component {...(props ?? ({} as T))} />\n\t\t</Suspense>\n\t);\n}\n","import React from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport { PolymorphicComponent, PolymorphicComponentBaseProps } from \"../polymorphic\";\n\ntype SkeletonLineOwnProps<E extends React.ElementType = React.ElementType> = PolymorphicComponentBaseProps<E> & {\n\tclassName?: string;\n};\n\ntype SkeletonLineProps<E extends React.ElementType> = SkeletonLineOwnProps<E> &\n\tOmit<React.ComponentPropsWithRef<E>, keyof SkeletonLineOwnProps>;\n\nexport const SkeletonLine = <E extends React.ElementType>({ as, className, ...props }: SkeletonLineProps<E>) => {\n\tconst Component = as || \"div\";\n\n\treturn (\n\t\t<PolymorphicComponent\n\t\t\tas={Component as React.ElementType}\n\t\t\tclassName={cn(\"skeletonLine colorTransparent radiusSm\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\n","import React from \"react\";\n\nimport { SkeletonLine } from \"./SkeletonLine\";\n\ninterface LazyValueProps {\n\tvalue: React.ReactNode;\n\tisLoading?: boolean;\n}\n\nexport function LazyValue({ value, isLoading }: LazyValueProps) {\n\treturn isLoading ? <SkeletonLine>Загрузка...</SkeletonLine> : (value ?? \"-\");\n}\n","import { Message } from \"./Message\";\n\ninterface NoDataProps {\n\tclassName?: string;\n\ttext?: string;\n\tminHeight?: string | number;\n}\n\nexport const NoData = ({ className, text, minHeight = \"5em\" }: NoDataProps) => {\n\treturn (\n\t\t<Message className={className} color=\"muted\" minHeight={minHeight}>\n\t\t\t{text || \"Нет данных\"}\n\t\t</Message>\n\t);\n};\n","import { PropsWithChildren } from \"react\";\n\nimport { Message } from \"./Message\";\n\ninterface NoticeProps extends PropsWithChildren {\n\tisError?: boolean;\n\tclassName?: string;\n}\n\nexport const Notice: React.FC<NoticeProps> = ({ className, isError, children }) => (\n\t<Message className={className} color={isError ? \"error\" : \"secondary\"}>\n\t\t{children}\n\t</Message>\n);\n",".oneStepScroller {\n\toverflow: hidden;\n\tdisplay: flex;\n\talign-items: center;\n\tgap: var(--space-xs);\n\tmin-width: 0;\n}\n\n.ossViewport {\n\toverflow: hidden;\n\toutline: none;\n\tmin-width: 0;\n\tflex: 1 1 auto;\n}\n\n.ossScroller {\n\tdisplay: flex;\n\tflex-wrap: nowrap;\n\tgap: var(--space-sm);\n\talign-items: end;\n\toverflow-x: auto;\n\toverflow-y: hidden;\n\tscroll-behavior: smooth;\n\t-webkit-overflow-scrolling: touch;\n\tscrollbar-width: none; /* firefox */\n\n\t::-webkit-scrollbar {\n\t\theight: 0;\n\t}\n}\n\n.ossButton {\n\t// position: absolute;\n\ttop: 0;\n\tz-index: 10;\n\twidth: var(--control-height);\n\theight: 100%;\n\tflex: 0 0 var(--control-height);\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\t// border: var(--border);\n\tborder-radius: var(--radius-sm);\n\tcolor: var(--content-2);\n\t// background-color: var(--surface-0);\n\t// opacity: 0.75;\n\n\ttransition-property: opacity, color;\n\ttransition-duration: var(--transition-fast);\n\n\t&:hover {\n\t\topacity: 1;\n\t\tcolor: var(--content-0);\n\t}\n\n\t&:disabled {\n\t\topacity: 0.5;\n\t\tpointer-events: none;\n\t}\n\n\t// &.prev {\n\t// \tleft: 0;\n\t// }\n\n\t// &.next {\n\t// \tright: 0;\n\t// }\n}\n","import React, { useCallback, useEffect, useRef, useState } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { ChevronLeftIcon, ChevronRightIcon } from \"lucide-react\";\n\nimport styles from \"./OneStepScroller.module.scss\";\n\ninterface OneStepScrollerProps {\n\tchildren: React.ReactNode;\n\tclassName?: string;\n\t/**\n\t * CSS-селектор элементов, которые считаются \"шагами\" скролла.\n\t * По умолчанию используются прямые потомки скроллера.\n\t */\n\titemSelector?: string;\n\t/**\n\t * Дополнительный внутренний отступ (px) при прокрутке к фокусируемому элементу.\n\t */\n\tscrollPadding?: number;\n\t/**\n\t * Плавная прокрутка для кнопок и авто-доводки до видимости.\n\t */\n\tsmooth?: boolean;\n}\n\nconst EDGE_EPSILON_PX = 1;\n\nfunction maxScrollLeft(scroller: HTMLElement) {\n\treturn Math.max(0, scroller.scrollWidth - scroller.clientWidth);\n}\n\n/**\n * Горизонтальный скроллер \"по одному элементу\".\n *\n * Ожидает элементы фиксированной ширины (или близкой к фиксированной),\n * чтобы шаг скролла соответствовал ширине одного элемента.\n */\nexport const OneStepScroller: React.FC<OneStepScrollerProps> = ({\n\tchildren,\n\tclassName,\n\titemSelector,\n\tscrollPadding = 6,\n\tsmooth = true\n}) => {\n\tconst scrollerRef = useRef<HTMLDivElement | null>(null);\n\tconst rafIdRef = useRef<number | null>(null);\n\n\tconst [canScrollPrev, setCanScrollPrev] = useState(false);\n\tconst [canScrollNext, setCanScrollNext] = useState(false);\n\n\t/**\n\t * Получить список элементов-\"шагов\".\n\t *\n\t * Оптимизация: для дефолтного поведения используем `children` DOM-узла,\n\t * чтобы не выполнять `querySelectorAll` на каждый вызов.\n\t */\n\tconst getItems = useCallback((): HTMLElement[] => {\n\t\tconst scroller = scrollerRef.current;\n\t\tif (!scroller) return [];\n\n\t\tif (!itemSelector) {\n\t\t\treturn Array.from(scroller.children).filter((node): node is HTMLElement => node instanceof HTMLElement);\n\t\t}\n\n\t\treturn Array.from(scroller.querySelectorAll<HTMLElement>(itemSelector));\n\t}, [itemSelector]);\n\n\t/**\n\t * Найти \"элемент шага\" для произвольного target внутри скроллера.\n\t */\n\tconst findItemForTarget = useCallback(\n\t\t(target: HTMLElement): HTMLElement | null => {\n\t\t\tconst scroller = scrollerRef.current;\n\t\t\tif (!scroller) return null;\n\n\t\t\tif (itemSelector) {\n\t\t\t\tconst item = target.closest<HTMLElement>(itemSelector);\n\t\t\t\tif (item && scroller.contains(item)) return item;\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tlet node: HTMLElement | null = target;\n\t\t\twhile (node && node.parentElement && node.parentElement !== scroller) {\n\t\t\t\tnode = node.parentElement;\n\t\t\t}\n\n\t\t\tif (node && node.parentElement === scroller) return node;\n\t\t\treturn null;\n\t\t},\n\t\t[itemSelector]\n\t);\n\n\t/**\n\t * Обновить состояние кнопок \"назад/вперед\".\n\t * Состояние меняется только при реальном отличии, чтобы не триггерить\n\t * лишние перерисовки на каждом событии scroll.\n\t */\n\tconst updateScrollButtons = useCallback(() => {\n\t\tconst scroller = scrollerRef.current;\n\t\tif (!scroller) {\n\t\t\tsetCanScrollPrev(false);\n\t\t\tsetCanScrollNext(false);\n\t\t\treturn;\n\t\t}\n\n\t\tconst maxScrollLeft = Math.max(0, scroller.scrollWidth - scroller.clientWidth);\n\t\tconst current = Math.max(0, Math.min(scroller.scrollLeft, maxScrollLeft));\n\n\t\tconst nextCanScrollPrev = current > EDGE_EPSILON_PX;\n\t\tconst nextCanScrollNext = current < maxScrollLeft - EDGE_EPSILON_PX;\n\n\t\tsetCanScrollPrev((prev) => (prev === nextCanScrollPrev ? prev : nextCanScrollPrev));\n\t\tsetCanScrollNext((prev) => (prev === nextCanScrollNext ? prev : nextCanScrollNext));\n\t}, []);\n\n\t/**\n\t * Запланировать обновление кнопок в следующий animation frame.\n\t * Это снижает частоту вычислений при интенсивном scroll/resize.\n\t */\n\tconst scheduleUpdateScrollButtons = useCallback(() => {\n\t\tif (rafIdRef.current !== null) return;\n\n\t\trafIdRef.current = requestAnimationFrame(() => {\n\t\t\trafIdRef.current = null;\n\t\t\tupdateScrollButtons();\n\t\t});\n\t}, [updateScrollButtons]);\n\n\t/**\n\t * Прокрутка на N элементов (N может быть отрицательным).\n\t */\n\tconst scrollByItems = useCallback(\n\t\t(count: number) => {\n\t\t\tconst scroller = scrollerRef.current;\n\t\t\tif (!scroller) return;\n\n\t\t\tconst firstItem = getItems()[0];\n\t\t\tif (!firstItem) return;\n\n\t\t\tconst step = firstItem.getBoundingClientRect().width;\n\t\t\tif (!step) return;\n\n\t\t\tconst delta = Math.round(count * step);\n\t\t\tconst maxScrollLeft = Math.max(0, scroller.scrollWidth - scroller.clientWidth);\n\t\t\tconst target = Math.max(0, Math.min(scroller.scrollLeft + delta, maxScrollLeft));\n\n\t\t\tscroller.scrollTo({\n\t\t\t\tleft: target,\n\t\t\t\tbehavior: smooth ? \"smooth\" : \"auto\"\n\t\t\t});\n\t\t},\n\t\t[getItems, smooth]\n\t);\n\n\t/**\n\t * Гарантировать полную видимость элемента в пределах viewport скроллера.\n\t */\n\tconst ensureFullyVisible = useCallback(\n\t\t(el: HTMLElement) => {\n\t\t\tconst scroller = scrollerRef.current;\n\t\t\tif (!scroller) return;\n\n\t\t\tconst scrollerRect = scroller.getBoundingClientRect();\n\t\t\tconst elementRect = el.getBoundingClientRect();\n\n\t\t\tconst elementLeft = elementRect.left - scrollerRect.left + scroller.scrollLeft;\n\t\t\tconst elementRight = elementLeft + elementRect.width;\n\n\t\t\tconst visibleLeft = scroller.scrollLeft;\n\t\t\tconst visibleRight = scroller.scrollLeft + scroller.clientWidth;\n\n\t\t\tif (elementLeft >= visibleLeft + EDGE_EPSILON_PX && elementRight <= visibleRight - EDGE_EPSILON_PX) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet targetScrollLeft = scroller.scrollLeft;\n\t\t\tif (elementLeft < visibleLeft) {\n\t\t\t\ttargetScrollLeft = Math.max(0, elementLeft - scrollPadding);\n\t\t\t} else if (elementRight > visibleRight) {\n\t\t\t\ttargetScrollLeft = Math.min(maxScrollLeft(scroller), elementRight - scroller.clientWidth + scrollPadding);\n\t\t\t}\n\n\t\t\tscroller.scrollTo({\n\t\t\t\tleft: Math.round(targetScrollLeft),\n\t\t\t\tbehavior: smooth ? \"smooth\" : \"auto\"\n\t\t\t});\n\t\t},\n\t\t[scrollPadding, smooth]\n\t);\n\n\tuseEffect(() => {\n\t\tconst scroller = scrollerRef.current;\n\t\tif (!scroller) return;\n\n\t\tconst handleFocusIn = (event: FocusEvent) => {\n\t\t\tconst target = event.target;\n\t\t\tif (!(target instanceof HTMLElement)) return;\n\n\t\t\tconst item = findItemForTarget(target);\n\t\t\tif (item) ensureFullyVisible(item);\n\t\t};\n\n\t\tscroller.addEventListener(\"focusin\", handleFocusIn);\n\t\treturn () => scroller.removeEventListener(\"focusin\", handleFocusIn);\n\t}, [ensureFullyVisible, findItemForTarget]);\n\n\t/**\n\t * Наблюдаем только за размером скроллера и изменением его DOM-структуры.\n\t * Это дешевле, чем подписка ResizeObserver на каждый элемент + IntersectionObserver.\n\t */\n\tuseEffect(() => {\n\t\tconst scroller = scrollerRef.current;\n\t\tif (!scroller) return;\n\n\t\tconst onScroll = () => scheduleUpdateScrollButtons();\n\t\tscroller.addEventListener(\"scroll\", onScroll, { passive: true });\n\n\t\tlet resizeObserver: ResizeObserver | null = null;\n\t\tif (typeof ResizeObserver !== \"undefined\") {\n\t\t\tresizeObserver = new ResizeObserver(scheduleUpdateScrollButtons);\n\t\t\tresizeObserver.observe(scroller);\n\t\t}\n\n\t\tlet mutationObserver: MutationObserver | null = null;\n\t\tif (typeof MutationObserver !== \"undefined\") {\n\t\t\tmutationObserver = new MutationObserver(scheduleUpdateScrollButtons);\n\t\t\tmutationObserver.observe(scroller, {\n\t\t\t\tchildList: true,\n\t\t\t\tsubtree: false\n\t\t\t});\n\t\t}\n\n\t\tscheduleUpdateScrollButtons();\n\n\t\treturn () => {\n\t\t\tscroller.removeEventListener(\"scroll\", onScroll);\n\t\t\tresizeObserver?.disconnect();\n\t\t\tmutationObserver?.disconnect();\n\n\t\t\tif (rafIdRef.current !== null) {\n\t\t\t\tcancelAnimationFrame(rafIdRef.current);\n\t\t\t\trafIdRef.current = null;\n\t\t\t}\n\t\t};\n\t}, [scheduleUpdateScrollButtons]);\n\n\t/**\n\t * При изменении children просим пересчитать видимость кнопок.\n\t */\n\tuseEffect(() => {\n\t\tscheduleUpdateScrollButtons();\n\t}, [children, scheduleUpdateScrollButtons]);\n\n\tconst handlePrev = () => scrollByItems(-1);\n\tconst handleNext = () => scrollByItems(1);\n\n\t/**\n\t * Клавиатурная доступность: стрелки влево/вправо двигают на один шаг.\n\t */\n\tconst onWrapperKeyDown = (e: React.KeyboardEvent) => {\n\t\tif (e.key === \"ArrowLeft\") {\n\t\t\te.preventDefault();\n\t\t\thandlePrev();\n\t\t} else if (e.key === \"ArrowRight\") {\n\t\t\te.preventDefault();\n\t\t\thandleNext();\n\t\t}\n\t};\n\n\tconst hasScroll = canScrollPrev || canScrollNext;\n\n\treturn (\n\t\t<div className={cn(styles.oneStepScroller, className)} style={{ position: \"relative\" }}>\n\t\t\t{hasScroll && (\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\taria-label=\"Прокрутить шаг влево\"\n\t\t\t\t\tclassName={styles.ossButton}\n\t\t\t\t\tonClick={handlePrev}\n\t\t\t\t\tdisabled={!canScrollPrev}>\n\t\t\t\t\t<ChevronLeftIcon />\n\t\t\t\t</button>\n\t\t\t)}\n\n\t\t\t<div className={styles.ossViewport} onKeyDown={onWrapperKeyDown} role=\"group\" aria-label=\"Элементы прокрутки\">\n\t\t\t\t<div className={styles.ossScroller} ref={scrollerRef} aria-live=\"polite\">\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{hasScroll && (\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\taria-label=\"Прокрутить шаг вправо\"\n\t\t\t\t\tclassName={styles.ossButton}\n\t\t\t\t\tonClick={handleNext}\n\t\t\t\t\tdisabled={!canScrollNext}>\n\t\t\t\t\t<ChevronRightIcon />\n\t\t\t\t</button>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","import { forwardRef, PropsWithChildren } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\ninterface ScrollableProps extends PropsWithChildren {\n\tclassName?: string;\n\theight?: string | number;\n\tstable?: boolean;\n\toverscroll?: boolean;\n}\n\nexport const Scrollable = forwardRef<HTMLDivElement, ScrollableProps>(({ children, height, stable, overscroll, className }, ref) => {\n\treturn (\n\t\t<div ref={ref} className={cn(\"scrollable\", stable && \"stable\", overscroll && \"overscroll\", className)} style={{ height }}>\n\t\t\t{children}\n\t\t</div>\n\t);\n});\n\ninterface ScrollableBlockProps extends ScrollableProps {\n\tblockClassName?: string;\n}\n\nexport const ScrollableBlock = forwardRef<HTMLDivElement, ScrollableBlockProps>(({ blockClassName, ...props }, ref) => {\n\treturn (\n\t\t<div className={cn(blockClassName, \"overflowHidden w100 h100\")}>\n\t\t\t<Scrollable ref={ref} {...props} />\n\t\t</div>\n\t);\n});\n",".stateWrapper {\n\ttext-decoration: none;\n\tcolor: inherit;\n\tdisplay: block;\n\n\t// border: var(--border-width) solid var(--state-border-color, transparent);\n\tborder-left-style: solid;\n\tborder-left-color: var(--state-border-color, transparent);\n\tborder-left-width: 0.0625em; // 1px\n\tpadding-left: 0.25em; // 4px + 1px border\n\n\t&.status {\n\t\tborder-left-width: 0.3125em; // 5px\n\t\tpadding-left: 0;\n\n\t\t&.information {\n\t\t\tborder-left-color: var(--status-info-fill);\n\t\t}\n\n\t\t&.success {\n\t\t\tborder-left-color: var(--status-success-fill);\n\t\t}\n\n\t\t&.warning {\n\t\t\tborder-left-color: var(--status-warning-fill);\n\t\t}\n\n\t\t&.error {\n\t\t\tborder-left-color: var(--status-error-fill);\n\t\t}\n\t}\n}\n\n.state {\n\t&.information {\n\t\tcolor: var(--status-info-text);\n\n\t\tfill: var(--status-info-fill);\n\t\tstroke: var(--status-info-on-fill);\n\t}\n\n\t&.success {\n\t\tcolor: var(--status-success-text);\n\n\t\tfill: var(--status-success-fill);\n\t\tstroke: var(--status-success-on-fill);\n\t}\n\n\t&.warning {\n\t\tcolor: var(--status-warning-text);\n\n\t\tfill: var(--status-warning-fill);\n\t\tstroke: var(--status-warning-on-fill);\n\t\tstroke-width: 2px;\n\t}\n\n\t&.error {\n\t\tcolor: var(--status-error-text);\n\n\t\tfill: var(--status-error-fill);\n\t\tstroke: var(--status-error-on-fill);\n\t}\n}\n","import React from \"react\";\n\nimport { State } from \"@ryuzaki13/react-foundation-lib/types\";\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { CircleAlertIcon, CircleCheckIcon, CircleXIcon, InfoIcon } from \"lucide-react\";\n\nimport styles from \"./State.module.scss\";\n\ninterface StateIconProps {\n\tstate: State;\n\ttext: string;\n\tclassName?: string;\n}\n\nexport const StateIcon: React.FC<StateIconProps> = ({ state = \"none\", text, className }) => {\n\tconst renderIcon = () => {\n\t\tswitch (state) {\n\t\t\tcase \"error\":\n\t\t\t\treturn <ErrorIcon />;\n\t\t\tcase \"warning\":\n\t\t\t\treturn <WarningIcon />;\n\t\t\tcase \"success\":\n\t\t\t\treturn <SuccessIcon />;\n\t\t\tcase \"information\":\n\t\t\t\treturn <InformationIcon />;\n\t\t\tdefault:\n\t\t\t\treturn null;\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className={cn(\"flexCenter gapSm\", className)}>\n\t\t\t{renderIcon()}\n\t\t\t{text}\n\t\t</div>\n\t);\n};\n\ninterface RenderStateIconProps {\n\tstate?: State;\n}\n\nexport const RenderStateIcon: React.FC<RenderStateIconProps> = ({ state }) => {\n\tswitch (state) {\n\t\tcase \"error\":\n\t\t\treturn <ErrorIcon />;\n\t\tcase \"warning\":\n\t\t\treturn <WarningIcon />;\n\t\tcase \"success\":\n\t\t\treturn <SuccessIcon />;\n\t\tcase \"information\":\n\t\t\treturn <InformationIcon />;\n\t\tdefault:\n\t\t\treturn null;\n\t}\n};\n\nexport const ErrorIcon = () => {\n\treturn <CircleXIcon className={cn(styles.state, styles.error)} />;\n};\nexport const WarningIcon = () => {\n\treturn <CircleAlertIcon className={cn(styles.state, styles.warning)} />;\n};\nexport const SuccessIcon = () => {\n\treturn <CircleCheckIcon className={cn(styles.state, styles.success)} />;\n};\nexport const InformationIcon = () => {\n\treturn <InfoIcon className={cn(styles.state, styles.information)} />;\n};\n","import React from \"react\";\n\nimport { State } from \"@ryuzaki13/react-foundation-lib/types\";\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport { PolymorphicComponent, PolymorphicComponentBaseProps } from \"../polymorphic\";\n\nimport styles from \"./State.module.scss\";\n\ntype StateWrapperOwnProps<E extends React.ElementType = React.ElementType> = PolymorphicComponentBaseProps<E> & {\n\tstate?: State;\n\tclassName?: string;\n};\n\ntype StateWrapperProps<E extends React.ElementType> = StateWrapperOwnProps<E> &\n\tOmit<React.ComponentPropsWithRef<E>, keyof StateWrapperOwnProps>;\n\nexport function StateWrapper<E extends React.ElementType>({ as, state, className, ...props }: StateWrapperProps<E>) {\n\tconst status = state?.toLowerCase() ?? \"none\";\n\tconst statusClass = styles[status as keyof typeof styles];\n\tconst isStatused = status && status !== \"none\";\n\n\tconst Component = as || \"div\";\n\n\treturn (\n\t\t<PolymorphicComponent\n\t\t\tas={Component as React.ElementType}\n\t\t\tclassName={cn(styles.stateWrapper, isStatused && styles.status, statusClass, className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- import{i as e}from"./preload-helper-B45gAKPr.js";import{m as t,p as n}from"./iframe-CELq1yHK.js";import{i as r,n as i,r as a,t as o}from"./chunk-3LY4VQVK-HxSHgfWj.js";var s;e((()=>{a(),i(),t(),s=(0,n(r(),1).default)(2)(async(e,t)=>e===!1?t:o(t))}))();export{s as formatter};
@@ -1 +0,0 @@
1
- import{i as e}from"./preload-helper-B45gAKPr.js";import{a as t,n,r}from"./Grid-BVrIwkQn.js";var i=e((()=>{n(),t(),r()}));export{i as t};
@@ -1,5 +0,0 @@
1
- import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-CELq1yHK.js";import{t as r}from"./jsx-runtime-BBQGix-2.js";import{a as i,i as a}from"./utils-V012ES4W.js";import{J as o,O as s,W as c,X as l,it as u,ot as d,t as f}from"./lucide-react-DaLrYAcN.js";import{i as p,t as m}from"./text-DyVJvCm8.js";import{n as h,t as g}from"./flex-nhxot7pG.js";function _(){return(0,v.jsx)(`div`,{className:`logoAnimated`,children:(0,v.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`588`,height:`696`,viewBox:`0 0 588 696`,role:`img`,"aria-label":`Загрузка`,children:[(0,v.jsx)(`path`,{className:`logoSegment logoOutline logoS1`,d:`M15,15v225.37l136.14-.23c44.13-.07,79.86-35.87,79.86-80V15H15Z`}),(0,v.jsx)(`path`,{className:`logoSegment logoOutline logoS2`,d:`M15,285v396s216,0,216,0v-316c0-44.18-35.82-80-80-80H15Z`}),(0,v.jsx)(`path`,{className:`logoSegment logoOutline logoS3`,d:`M276,15h297s0,225,0,225h-217c-44.18,0-80-35.82-80-80V15Z`}),(0,v.jsx)(`path`,{className:`logoSegment logoFill logoS4`,d:`M573,285v108h-169c-11.05,0-20,8.95-20,20v268h-108v-316c0-44.18,35.82-80,80-80h217Z`})]})})}var v,y=t((()=>{v=r(),_.__docgenInfo={description:``,methods:[],displayName:`AnimatedLogo`}})),b,x,S=t((()=>{b=`qgIKVo`,x={componentLoader:b}})),C,w,T=t((()=>{a(),g(),m(),C=r(),w=({className:e,children:t,color:n=`muted`,minHeight:r,uppercase:a=!0})=>(0,C.jsx)(h,{className:i(`paddingMd textCenter`,e),minHeight:r,children:(0,C.jsx)(p,{as:`div`,weight:`bold`,color:n,uppercase:a,children:t})}),w.__docgenInfo={description:``,methods:[],displayName:`Message`,props:{color:{defaultValue:{value:`"muted"`,computed:!1},required:!1},uppercase:{defaultValue:{value:`true`,computed:!1},required:!1}}}}));function E({className:e,text:t,withLogo:n}){return(0,D.jsxs)(w,{className:i(x.componentLoader,n?``:`skeletonLine`,e),children:[n&&(0,D.jsx)(_,{}),t||`Загрузка...`]})}var D,ee=t((()=>{a(),y(),S(),T(),D=r(),E.__docgenInfo={description:``,methods:[],displayName:`LoadingMessage`,props:{className:{required:!1,tsType:{name:`string`},description:``},text:{required:!1,tsType:{name:`string`},description:``},withLogo:{required:!1,tsType:{name:`boolean`},description:``}}}})),te,O,ne=t((()=>{T(),te=r(),O=({className:e,text:t,minHeight:n=`5em`})=>(0,te.jsx)(w,{className:e,color:`muted`,minHeight:n,children:t||`Нет данных`}),O.__docgenInfo={description:``,methods:[],displayName:`NoData`,props:{className:{required:!1,tsType:{name:`string`},description:``},text:{required:!1,tsType:{name:`string`},description:``},minHeight:{required:!1,tsType:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]},description:``,defaultValue:{value:`"5em"`,computed:!1}}}}})),k,A,re,ie,j,ae=t((()=>{k=`_7xUQBN`,A=`AonLqg`,re=`j-5yFn`,ie=`pOIq63`,j={oneStepScroller:k,ossViewport:A,ossScroller:re,ossButton:ie}}));function oe(e){return Math.max(0,e.scrollWidth-e.clientWidth)}var M,N,P,F,se=t((()=>{M=e(n(),1),a(),f(),ae(),N=r(),P=1,F=({children:e,className:t,itemSelector:n,scrollPadding:r=6,smooth:a=!0})=>{let o=(0,M.useRef)(null),s=(0,M.useRef)(null),[c,l]=(0,M.useState)(!1),[f,p]=(0,M.useState)(!1),m=(0,M.useCallback)(()=>{let e=o.current;return e?n?Array.from(e.querySelectorAll(n)):Array.from(e.children).filter(e=>e instanceof HTMLElement):[]},[n]),h=(0,M.useCallback)(e=>{let t=o.current;if(!t)return null;if(n){let r=e.closest(n);return r&&t.contains(r)?r:null}let r=e;for(;r&&r.parentElement&&r.parentElement!==t;)r=r.parentElement;return r&&r.parentElement===t?r:null},[n]),g=(0,M.useCallback)(()=>{let e=o.current;if(!e){l(!1),p(!1);return}let t=Math.max(0,e.scrollWidth-e.clientWidth),n=Math.max(0,Math.min(e.scrollLeft,t)),r=n>P,i=n<t-P;l(e=>e===r?e:r),p(e=>e===i?e:i)},[]),_=(0,M.useCallback)(()=>{s.current===null&&(s.current=requestAnimationFrame(()=>{s.current=null,g()}))},[g]),v=(0,M.useCallback)(e=>{let t=o.current;if(!t)return;let n=m()[0];if(!n)return;let r=n.getBoundingClientRect().width;if(!r)return;let i=Math.round(e*r),s=Math.max(0,t.scrollWidth-t.clientWidth),c=Math.max(0,Math.min(t.scrollLeft+i,s));t.scrollTo({left:c,behavior:a?`smooth`:`auto`})},[m,a]),y=(0,M.useCallback)(e=>{let t=o.current;if(!t)return;let n=t.getBoundingClientRect(),i=e.getBoundingClientRect(),s=i.left-n.left+t.scrollLeft,c=s+i.width,l=t.scrollLeft,u=t.scrollLeft+t.clientWidth;if(s>=l+P&&c<=u-P)return;let d=t.scrollLeft;s<l?d=Math.max(0,s-r):c>u&&(d=Math.min(oe(t),c-t.clientWidth+r)),t.scrollTo({left:Math.round(d),behavior:a?`smooth`:`auto`})},[r,a]);(0,M.useEffect)(()=>{let e=o.current;if(!e)return;let t=e=>{let t=e.target;if(!(t instanceof HTMLElement))return;let n=h(t);n&&y(n)};return e.addEventListener(`focusin`,t),()=>e.removeEventListener(`focusin`,t)},[y,h]),(0,M.useEffect)(()=>{let e=o.current;if(!e)return;let t=()=>_();e.addEventListener(`scroll`,t,{passive:!0});let n=null;typeof ResizeObserver<`u`&&(n=new ResizeObserver(_),n.observe(e));let r=null;return typeof MutationObserver<`u`&&(r=new MutationObserver(_),r.observe(e,{childList:!0,subtree:!1})),_(),()=>{e.removeEventListener(`scroll`,t),n?.disconnect(),r?.disconnect(),s.current!==null&&(cancelAnimationFrame(s.current),s.current=null)}},[_]),(0,M.useEffect)(()=>{_()},[e,_]);let b=()=>v(-1),x=()=>v(1),S=e=>{e.key===`ArrowLeft`?(e.preventDefault(),b()):e.key===`ArrowRight`&&(e.preventDefault(),x())},C=c||f;return(0,N.jsxs)(`div`,{className:i(j.oneStepScroller,t),style:{position:`relative`},children:[C&&(0,N.jsx)(`button`,{type:`button`,"aria-label":`Прокрутить шаг влево`,className:j.ossButton,onClick:b,disabled:!c,children:(0,N.jsx)(d,{})}),(0,N.jsx)(`div`,{className:j.ossViewport,onKeyDown:S,role:`group`,"aria-label":`Элементы прокрутки`,children:(0,N.jsx)(`div`,{className:j.ossScroller,ref:o,"aria-live":`polite`,children:e})}),C&&(0,N.jsx)(`button`,{type:`button`,"aria-label":`Прокрутить шаг вправо`,className:j.ossButton,onClick:x,disabled:!f,children:(0,N.jsx)(u,{})})]})},F.__docgenInfo={description:`Горизонтальный скроллер "по одному элементу".
2
-
3
- Ожидает элементы фиксированной ширины (или близкой к фиксированной),
4
- чтобы шаг скролла соответствовал ширине одного элемента.`,methods:[],displayName:`OneStepScroller`,props:{children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``},className:{required:!1,tsType:{name:`string`},description:``},itemSelector:{required:!1,tsType:{name:`string`},description:`CSS-селектор элементов, которые считаются "шагами" скролла.
5
- По умолчанию используются прямые потомки скроллера.`},scrollPadding:{required:!1,tsType:{name:`number`},description:`Дополнительный внутренний отступ (px) при прокрутке к фокусируемому элементу.`,defaultValue:{value:`6`,computed:!1}},smooth:{required:!1,tsType:{name:`boolean`},description:`Плавная прокрутка для кнопок и авто-доводки до видимости.`,defaultValue:{value:`true`,computed:!1}}}}})),I,L,R,z,B=t((()=>{I=e(n(),1),a(),L=r(),R=(0,I.forwardRef)(({children:e,height:t,stable:n,overscroll:r,className:a},o)=>(0,L.jsx)(`div`,{ref:o,className:i(`scrollable`,n&&`stable`,r&&`overscroll`,a),style:{height:t},children:e})),z=(0,I.forwardRef)(({blockClassName:e,...t},n)=>(0,L.jsx)(`div`,{className:i(e,`overflowHidden w100 h100`),children:(0,L.jsx)(R,{ref:n,...t})})),R.__docgenInfo={description:``,methods:[],displayName:`Scrollable`,props:{className:{required:!1,tsType:{name:`string`},description:``},height:{required:!1,tsType:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]},description:``},stable:{required:!1,tsType:{name:`boolean`},description:``},overscroll:{required:!1,tsType:{name:`boolean`},description:``}},composes:[`PropsWithChildren`]},z.__docgenInfo={description:``,methods:[],displayName:`ScrollableBlock`,props:{className:{required:!1,tsType:{name:`string`},description:``},height:{required:!1,tsType:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]},description:``},stable:{required:!1,tsType:{name:`boolean`},description:``},overscroll:{required:!1,tsType:{name:`boolean`},description:``},blockClassName:{required:!1,tsType:{name:`string`},description:``}},composes:[`PropsWithChildren`]}})),V,H,U,W,G,K,ce,q,le=t((()=>{V=`UMTbLD`,H=`cz57Fx`,U=`oPzAxu`,W=`MBu26r`,G=`_03z-1l`,K=`_0RqsqJ`,ce=`mXkUoM`,q={stateWrapper:V,status:H,information:U,success:W,warning:G,error:K,state:ce}})),J,ue,Y,X,Z,Q,$,de=t((()=>{n(),a(),f(),le(),J=r(),ue=({state:e=`none`,text:t,className:n})=>(0,J.jsxs)(`div`,{className:i(`flexCenter gapSm`,n),children:[(()=>{switch(e){case`error`:return(0,J.jsx)(X,{});case`warning`:return(0,J.jsx)(Z,{});case`success`:return(0,J.jsx)(Q,{});case`information`:return(0,J.jsx)($,{});default:return null}})(),t]}),Y=({state:e})=>{switch(e){case`error`:return(0,J.jsx)(X,{});case`warning`:return(0,J.jsx)(Z,{});case`success`:return(0,J.jsx)(Q,{});case`information`:return(0,J.jsx)($,{});default:return null}},X=()=>(0,J.jsx)(c,{className:i(q.state,q.error)}),Z=()=>(0,J.jsx)(l,{className:i(q.state,q.warning)}),Q=()=>(0,J.jsx)(o,{className:i(q.state,q.success)}),$=()=>(0,J.jsx)(s,{className:i(q.state,q.information)}),ue.__docgenInfo={description:``,methods:[],displayName:`StateIcon`,props:{state:{required:!1,tsType:{name:`State`},description:``,defaultValue:{value:`"none"`,computed:!1}},text:{required:!0,tsType:{name:`string`},description:``},className:{required:!1,tsType:{name:`string`},description:``}}},Y.__docgenInfo={description:``,methods:[],displayName:`RenderStateIcon`,props:{state:{required:!1,tsType:{name:`State`},description:``}}},X.__docgenInfo={description:``,methods:[],displayName:`ErrorIcon`},Z.__docgenInfo={description:``,methods:[],displayName:`WarningIcon`},Q.__docgenInfo={description:``,methods:[],displayName:`SuccessIcon`},$.__docgenInfo={description:``,methods:[],displayName:`InformationIcon`}})),fe=t((()=>{y(),ee(),T(),ne(),se(),B(),de(),le()}));export{B as a,O as c,ee as d,R as i,ne as l,Y as n,F as o,de as r,se as s,fe as t,E as u};
@@ -1 +0,0 @@
1
- .qgIKVo{min-height:10em}._7xUQBN{align-items:center;gap:var(--space-xs);min-width:0;display:flex;overflow:hidden}.AonLqg{outline:none;flex:auto;min-width:0;overflow:hidden}.j-5yFn{gap:var(--space-sm);scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;align-items:end;display:flex;overflow:auto hidden}.j-5yFn ::-webkit-scrollbar{height:0}.pOIq63{z-index:10;width:var(--control-height);flex:0 0 var(--control-height);border-radius:var(--radius-sm);height:100%;color:var(--content-2);transition-property:opacity,color;transition-duration:var(--transition-fast);justify-content:center;align-items:center;display:flex;top:0}.pOIq63:hover{opacity:1;color:var(--content-0)}.pOIq63:disabled{opacity:.5;pointer-events:none}.UMTbLD{color:inherit;border-left-style:solid;border-left-color:var(--state-border-color,transparent);border-left-width:.0625em;padding-left:.25em;text-decoration:none;display:block}.UMTbLD.cz57Fx{border-left-width:.3125em;padding-left:0}.UMTbLD.cz57Fx.oPzAxu{border-left-color:var(--status-info-fill)}.UMTbLD.cz57Fx.MBu26r{border-left-color:var(--status-success-fill)}.UMTbLD.cz57Fx._03z-1l{border-left-color:var(--status-warning-fill)}.UMTbLD.cz57Fx._0RqsqJ{border-left-color:var(--status-error-fill)}.mXkUoM.oPzAxu{color:var(--status-info-text);fill:var(--status-info-fill);stroke:var(--status-info-on-fill)}.mXkUoM.MBu26r{color:var(--status-success-text);fill:var(--status-success-fill);stroke:var(--status-success-on-fill)}.mXkUoM._03z-1l{color:var(--status-warning-text);fill:var(--status-warning-fill);stroke:var(--status-warning-on-fill);stroke-width:2px}.mXkUoM._0RqsqJ{color:var(--status-error-text);fill:var(--status-error-fill);stroke:var(--status-error-on-fill)}
@@ -1 +0,0 @@
1
- import{i as e}from"./preload-helper-B45gAKPr.js";import{P as t}from"./formatters-Cnj-VWHB.js";var n=e((()=>{t()}));export{n as t};
@@ -1 +0,0 @@
1
- import{i as e}from"./preload-helper-B45gAKPr.js";import{n as t}from"./Select-B_oN8tGy.js";import{n}from"./ODataSelect-naz-8rqO.js";import{n as r}from"./SerializableSelect-B8vNCKe6.js";var i=e((()=>{n(),t(),r()}));export{i as t};
@@ -1 +0,0 @@
1
- import{i as e}from"./preload-helper-B45gAKPr.js";import{a as t,r as n}from"./DateInput-D_BjVnON.js";var r=e((()=>{t(),n()}));export{r as t};