@ryuzaki13/react-foundation-ui 1.0.20 → 1.0.22
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.
- package/dist/advanced-search/index.js +3 -3
- package/dist/base-table/index.js +1 -1
- package/dist/chunks/{TextEditorLexicalClient-B1kQnKrU.js → TextEditorLexicalClient-bDEyimUa.js} +2 -2
- package/dist/chunks/{TextEditorLexicalClient-B1kQnKrU.js.map → TextEditorLexicalClient-bDEyimUa.js.map} +1 -1
- package/dist/chunks/{base-table-DghNJ6ss.js → base-table-BXKFSgIk.js} +2 -2
- package/dist/chunks/{base-table-DghNJ6ss.js.map → base-table-BXKFSgIk.js.map} +1 -1
- package/dist/chunks/{misc-ClXJygTj.js → misc-DIF5h9ba.js} +71 -76
- package/dist/chunks/misc-DIF5h9ba.js.map +1 -0
- package/dist/chunks/{modal-QGp5CjB9.js → modal-Cll8YZ7b.js} +2 -2
- package/dist/chunks/{modal-QGp5CjB9.js.map → modal-Cll8YZ7b.js.map} +1 -1
- package/dist/chunks/{table-tBQ_FOs3.js → table-BdpMzhLH.js} +2 -2
- package/dist/chunks/{table-tBQ_FOs3.js.map → table-BdpMzhLH.js.map} +1 -1
- package/dist/chunks/ui.module-BisoTevy.js.map +1 -1
- package/dist/expandable-action-panel/index.js +1 -1
- package/dist/image/index.js +1 -1
- package/dist/list/index.js +1 -1
- package/dist/misc/AnimatedLogo.d.ts +10 -1
- package/dist/misc/AnimatedLogo.d.ts.map +1 -1
- package/dist/misc/AnimatedLogoSegment.d.ts +12 -0
- package/dist/misc/AnimatedLogoSegment.d.ts.map +1 -0
- package/dist/misc/LoadingMessage.d.ts +6 -4
- package/dist/misc/LoadingMessage.d.ts.map +1 -1
- package/dist/misc/index.d.ts +1 -0
- package/dist/misc/index.d.ts.map +1 -1
- package/dist/misc/index.js +2 -2
- package/dist/modal/index.js +1 -1
- package/dist/simple-table/index.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/table/index.js +1 -1
- package/dist/tabs/index.js +1 -1
- package/dist/text-editor/index.js +2 -2
- package/dist/tree-table/index.js +1 -1
- package/package.json +1 -1
- package/src/styles/_base.scss +0 -62
- package/storybook-static/assets/{Badge-BV0mSOnT.js → Badge-CYlSA6Vw.js} +1 -1
- package/storybook-static/assets/{Badge.stories-Bc5VWqwH.js → Badge.stories-D6UyHEn4.js} +1 -1
- package/storybook-static/assets/{Button-BBolHr48.js → Button-D5iLUeQv.js} +1 -1
- package/storybook-static/assets/{Button-4r19WCQg.js → Button-aNoMm3xs.js} +1 -1
- package/storybook-static/assets/{Button.stories-Dk7Y6gP4.js → Button.stories-CNsB_F01.js} +1 -1
- package/storybook-static/assets/{CheckBox-DgYqSI7C.js → CheckBox-BCgKBJVJ.js} +1 -1
- package/storybook-static/assets/{CheckBox-97WntM4f.js → CheckBox-KNAnK8-n.js} +1 -1
- package/storybook-static/assets/{CheckBox.stories-B4fLCKYI.js → CheckBox.stories-Dd7SzJDz.js} +1 -1
- package/storybook-static/assets/{Color-KMSTOMOX-eKd5gW4e.js → Color-KMSTOMOX-CNiU2Elq.js} +1 -1
- package/storybook-static/assets/{ContextMenu-DYtAb1at.js → ContextMenu-D3k_Tu0Z.js} +1 -1
- package/storybook-static/assets/{ContextMenu.stories-CBmt3Nce.js → ContextMenu.stories-C_i_uyc4.js} +1 -1
- package/storybook-static/assets/{DateInput-D3CVjjRE.js → DateInput-BywQIAiH.js} +1 -1
- package/storybook-static/assets/{DateInput-B564qoCJ.js → DateInput-DGG89ygc.js} +1 -1
- package/storybook-static/assets/{DateInput.stories-nbu0Zyqz.js → DateInput.stories-BaDGhCMe.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-CMmZ74dM.js → DateRangePresetSelect-BPyhIY3S.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-mrGDA-7A.js → DateRangePresetSelect-s_2StqMd.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect.stories-DDAeJZ4X.js → DateRangePresetSelect.stories-DF17STL9.js} +1 -1
- package/storybook-static/assets/{Detail-BwY-EQgO.js → Detail-BugMUTtW.js} +1 -1
- package/storybook-static/assets/{Detail.stories-ua3nDl0m.js → Detail.stories-DHkuMfR7.js} +1 -1
- package/storybook-static/assets/{Dialog-CA0kOezM.js → Dialog-DshCmYwr.js} +1 -1
- package/storybook-static/assets/{Dialog.stories-BvM8gHpD.js → Dialog.stories-BSi7akeW.js} +1 -1
- package/storybook-static/assets/{Disclosure-ByimcEi9.js → Disclosure-CU-pegOS.js} +1 -1
- package/storybook-static/assets/{Disclosure.stories-CJY3r6cV.js → Disclosure.stories-B4AVnYzF.js} +1 -1
- package/storybook-static/assets/{DocsRenderer-JROSPFPF-Bnyaajwf.js → DocsRenderer-JROSPFPF-UspHN6Nr.js} +2 -2
- package/storybook-static/assets/{DropZone-z5IWbRY7.js → DropZone-CHT2yTPB.js} +1 -1
- package/storybook-static/assets/{DropZone.stories-DP36CnJJ.js → DropZone.stories-CNO0o4Zg.js} +1 -1
- package/storybook-static/assets/{DropdownMenu-xjRYOnob.js → DropdownMenu-BiC8osPQ.js} +1 -1
- package/storybook-static/assets/{ExpandableActionPanel.stories-ehW5CvFA.js → ExpandableActionPanel.stories-B7WYSnwP.js} +1 -1
- package/storybook-static/assets/{Flex-CrDAzWzv.js → Flex-BZTb6Ls6.js} +1 -1
- package/storybook-static/assets/{Flex-R3eoDv0F.js → Flex-BcPeLHNU.js} +1 -1
- package/storybook-static/assets/{Flex.stories-BQv9sIrD.js → Flex.stories-uM7r49Jq.js} +1 -1
- package/storybook-static/assets/{Grid-DyJMlQ3m.js → Grid-EHSb1euM.js} +1 -1
- package/storybook-static/assets/{Grid-CtejGOaQ.js → Grid-fJQh5Vul.js} +1 -1
- package/storybook-static/assets/{Grid.stories-BfREL6xj.js → Grid.stories-CqeiX_AH.js} +1 -1
- package/storybook-static/assets/{ImageCropper.stories-DuNl320E.js → ImageCropper.stories-BZC2r8xr.js} +1 -1
- package/storybook-static/assets/{ImageRenderer-DrxwqLJS.js → ImageRenderer-Cnnx30sU.js} +1 -1
- package/storybook-static/assets/{ImageRenderer.stories-B6m2ldKq.js → ImageRenderer.stories-BgBvkbZ-.js} +1 -1
- package/storybook-static/assets/{ImageView.stories-KPwqFsZ0.js → ImageView.stories-Bg85Aayj.js} +1 -1
- package/storybook-static/assets/{Input-C9Qh868c.js → Input-Cq_1mpmx.js} +1 -1
- package/storybook-static/assets/{Input-DqWznlyA.js → Input-DrlKVI51.js} +1 -1
- package/storybook-static/assets/{Input.stories-CJSTGfw9.js → Input.stories-BHTzCeNd.js} +1 -1
- package/storybook-static/assets/{InputDateTime-BvDTq_D6.js → InputDateTime-Bwdn4dwr.js} +1 -1
- package/storybook-static/assets/{InputDateTime.stories-CszmbzWn.js → InputDateTime.stories-DWZLY6-q.js} +1 -1
- package/storybook-static/assets/{InputFile-CWalPPYz.js → InputFile-kjPD2D6b.js} +1 -1
- package/storybook-static/assets/{InputFile.stories-DldrI9as.js → InputFile.stories-C9fMevjs.js} +1 -1
- package/storybook-static/assets/{InputFiles-DDTcP-at.js → InputFiles-1i_xo439.js} +1 -1
- package/storybook-static/assets/{InputFiles-B8p6AaeB.js → InputFiles-BPW2NUcJ.js} +1 -1
- package/storybook-static/assets/{InputFiles.stories-Bm2uOv3p.js → InputFiles.stories-DxdLOKbl.js} +1 -1
- package/storybook-static/assets/{InputImage-DlJxgHAF.js → InputImage-ClXtDHy9.js} +1 -1
- package/storybook-static/assets/{InputImage.stories-B6M59-NN.js → InputImage.stories-D3hw0C1x.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-CNtQpDzd.js → LayoutPicker-DmTnYW62.js} +1 -1
- package/storybook-static/assets/{LayoutPicker.stories-BziRPv8X.js → LayoutPicker.stories-CZPA3-Ci.js} +1 -1
- package/storybook-static/assets/{Listbox-Bh7Y7gA9.js → Listbox-DV98iUDZ.js} +1 -1
- package/storybook-static/assets/{Listbox.stories-2gPVzr15.js → Listbox.stories-BFHG7-fh.js} +1 -1
- package/storybook-static/assets/{Modal-GnqkmW-e.js → Modal-hL7CzAFH.js} +1 -1
- package/storybook-static/assets/{Modal.stories-CRvYZ9J0.js → Modal.stories-DKyOv2Vj.js} +1 -1
- package/storybook-static/assets/{MultiSelect-5W9Vl2ra.js → MultiSelect-D23pcECY.js} +1 -1
- package/storybook-static/assets/{MultiSelect-BFWO2tMT.js → MultiSelect-hT_fw4sf.js} +1 -1
- package/storybook-static/assets/{MultiSelect.stories-C0v5FEuQ.js → MultiSelect.stories-B0gUdW3k.js} +1 -1
- package/storybook-static/assets/{NotificationsHost-CE8UZDlb.js → NotificationsHost-ClQwHzJ_.js} +1 -1
- package/storybook-static/assets/{NotificationsHost.stories-Dapge5tU.js → NotificationsHost.stories-BzPPbNiK.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect-YpMCzv29.js → ODataMultiSelect-CCP1tbCi.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect.stories-DqKnuVMc.js → ODataMultiSelect.stories-CnlXtZKW.js} +1 -1
- package/storybook-static/assets/{ODataSelect-COkJhPGX.js → ODataSelect-BJstdz9E.js} +1 -1
- package/storybook-static/assets/{ODataSelect-B4apxrUc.js → ODataSelect-Du2-88av.js} +1 -1
- package/storybook-static/assets/{ODataSelect.stories-Dg-frZo3.js → ODataSelect.stories-BvAeuhiH.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect-CyCiBb9b.js → ODataTreeMultiSelect-BCm7XhFB.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect.stories-CC4XyMv0.js → ODataTreeMultiSelect.stories-DKT1FMOy.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect-C7l7tUJD.js → ODataTreeSelect-Bibf7s2z.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect.stories-D2JMx8BE.js → ODataTreeSelect.stories-CCeNqvIR.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-DhG_ndZb.js → PeriodSelect-DLs8Hg0X.js} +1 -1
- package/storybook-static/assets/{PeriodSelect.stories-BhljncVI.js → PeriodSelect.stories-C_XS3c7e.js} +1 -1
- package/storybook-static/assets/{Popover-CZxtXntz.js → Popover-SXa3jBxm.js} +1 -1
- package/storybook-static/assets/{Popover.stories-DwZxRALu.js → Popover.stories-rR7JkQfu.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput-CBFgSr-v.js → PresetRangeDateInput-dfDuKD_z.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput.stories-D1ntb4LH.js → PresetRangeDateInput.stories-CmRecC0S.js} +1 -1
- package/storybook-static/assets/{RadioButton-C1CglVPy.js → RadioButton-BivcuQIh.js} +1 -1
- package/storybook-static/assets/{RadioButton.stories-C6mWkk58.js → RadioButton.stories-Cio250wJ.js} +1 -1
- package/storybook-static/assets/{RadioGroup-qgu6eGKx.js → RadioGroup-C0Wirtog.js} +1 -1
- package/storybook-static/assets/{RadioGroup-BKBCbxB-.js → RadioGroup-D8LzcclQ.js} +1 -1
- package/storybook-static/assets/{RadioGroup.stories-CeKve5Jx.js → RadioGroup.stories-gYFTEm7L.js} +1 -1
- package/storybook-static/assets/{Select-Bf6yq8O2.js → Select-B737vUeI.js} +1 -1
- package/storybook-static/assets/{Select-Rn-J2OV3.js → Select-C5ObFms-.js} +1 -1
- package/storybook-static/assets/{Select.stories-DYVi0Rmc.js → Select.stories-1-tb5-TQ.js} +1 -1
- package/storybook-static/assets/{SelectOptionContent-DAsNz7Yz.js → SelectOptionContent-RA3YQEN1.js} +1 -1
- package/storybook-static/assets/{SerializableSelect-B9v1pJhT.js → SerializableSelect-CKOPEv90.js} +1 -1
- package/storybook-static/assets/{SerializableSelect-4RmEI_we.js → SerializableSelect-D6p7Qkk_.js} +1 -1
- package/storybook-static/assets/{SerializableSelect.stories-BZBSbvLl.js → SerializableSelect.stories-C3l_ojuW.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput-BxNi0zXt.js → SingleDateTimeInput-C-EH5-4w.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput.stories-CcTlhsLA.js → SingleDateTimeInput.stories-WcN90RJQ.js} +1 -1
- package/storybook-static/assets/{Slider-HZgB69JS.js → Slider-DgZ9jGV_.js} +1 -1
- package/storybook-static/assets/{Slider.stories-BgCn4o7z.js → Slider.stories-BN6M0546.js} +1 -1
- package/storybook-static/assets/{SliderInput-DqoTda5t.js → SliderInput-BDDf5ljP.js} +1 -1
- package/storybook-static/assets/{SliderInput.stories-LssuHy1J.js → SliderInput.stories-COR3rS29.js} +1 -1
- package/storybook-static/assets/{Sortable-DDrEmApe.js → Sortable-DN7Kb-Q_.js} +1 -1
- package/storybook-static/assets/{Sortable.stories-Cja60_18.js → Sortable.stories-zRM1Phps.js} +1 -1
- package/storybook-static/assets/{Splitter-BkxC_61k.js → Splitter-Bk98rR7j.js} +1 -1
- package/storybook-static/assets/{Splitter.stories-ks1DOPj3.js → Splitter.stories-B9CZFmcK.js} +1 -1
- package/storybook-static/assets/{StateSelect-BtTk1kLj.js → StateSelect-DFhsyVBP.js} +1 -1
- package/storybook-static/assets/{StateSelect.stories-BM2PRlDX.js → StateSelect.stories-BcUz8RNT.js} +1 -1
- package/storybook-static/assets/{Switch-DuRjvsAW.js → Switch-Cenm3lp0.js} +1 -1
- package/storybook-static/assets/{Switch.stories-DnPXcklX.js → Switch.stories-Deck0xn9.js} +1 -1
- package/storybook-static/assets/{Table-iVoz-Hh3.js → Table-D0mqxsmk.js} +1 -1
- package/storybook-static/assets/{Table.stories-eRGyLO14.js → Table.stories-DJdDS-vt.js} +1 -1
- package/storybook-static/assets/{Tabs-Drauw9Qt.js → Tabs-C_UydsUc.js} +1 -1
- package/storybook-static/assets/{Tabs.stories-Dh00tUgR.js → Tabs.stories-DPN4f4ia.js} +1 -1
- package/storybook-static/assets/{Textarea-EYQsC0q0.js → Textarea-DR_6_kXC.js} +1 -1
- package/storybook-static/assets/{Textarea.stories-Bz0_Pslr.js → Textarea.stories-BY6wMIfV.js} +1 -1
- package/storybook-static/assets/{TimePanel-B4P9f6lx.js → TimePanel-D30NeTN1.js} +1 -1
- package/storybook-static/assets/{TimePanel.stories-DnENfatO.js → TimePanel.stories-DQebBAT1.js} +1 -1
- package/storybook-static/assets/{Toggle-DawMrGtP.js → Toggle-CiKKBdwN.js} +1 -1
- package/storybook-static/assets/{Toggle.stories-CSx1wgFG.js → Toggle.stories-DhcLhXi0.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-Cpe6awfF.js → TreeMultiSelect-BKhWTTud.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-B9cXZLYG.js → TreeMultiSelect-W7KfPR_Z.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect.stories-BMp7_dX9.js → TreeMultiSelect.stories-nXP3P2Os.js} +1 -1
- package/storybook-static/assets/{TreePickerBase-DZHqq3sm.js → TreePickerBase-BKBGeL6X.js} +1 -1
- package/storybook-static/assets/{TreeSelect-BXUhdoFa.js → TreeSelect-CkDg1wJA.js} +1 -1
- package/storybook-static/assets/{TreeSelect-qPU53Vg1.js → TreeSelect-CwcGtVsA.js} +1 -1
- package/storybook-static/assets/{TreeSelect.stories-CofjiT2J.js → TreeSelect.stories-vOWRtovd.js} +1 -1
- package/storybook-static/assets/{TreeTable-BdH4aoOU.js → TreeTable-BiVd6vET.js} +1 -1
- package/storybook-static/assets/{TreeTable.stories-B1Fc8DFw.js → TreeTable.stories-CmH5jmwM.js} +1 -1
- package/storybook-static/assets/{WithTooltip-7X4HQR7L-DJ-k5EDh.js → WithTooltip-7X4HQR7L-aLpVnFpb.js} +1 -1
- package/storybook-static/assets/{base-table-D3hWPtFP.js → base-table-BpVO9KT9.js} +1 -1
- package/storybook-static/assets/{blocks-DZjGeeGb.js → blocks-DoPnTsyg.js} +6 -6
- package/storybook-static/assets/{button-CJIIZdyL.js → button-GO_OT5aH.js} +1 -1
- package/storybook-static/assets/{check-box-DHGm0H-j.js → check-box-DAQgEdFF.js} +1 -1
- package/storybook-static/assets/{chunk-3LY4VQVK-xQmQ9wgJ.js → chunk-3LY4VQVK-BONHkyBf.js} +1 -1
- package/storybook-static/assets/{chunk-LITCR56V-AH0bDa1_.js → chunk-LITCR56V-BVF-KYVd.js} +1 -1
- package/storybook-static/assets/{contextMenu-DGip9X8L.js → contextMenu-BN_nodeg.js} +1 -1
- package/storybook-static/assets/{error-DbmF8WL4.js → error-B6AQmhXG.js} +1 -1
- package/storybook-static/assets/{flex-DDFcQoiF.js → flex-DVKfO80p.js} +1 -1
- package/storybook-static/assets/{floating-ui.react-CFspDa0I.js → floating-ui.react-DGTgiAdH.js} +1 -1
- package/storybook-static/assets/formatter-L2YTDE3Q-DT96-80k.js +1 -0
- package/storybook-static/assets/{formatters-C4D-1Rmz.js → formatters-Dzo8Pnex.js} +1 -1
- package/storybook-static/assets/grid-BhEsHhF8.js +1 -0
- package/storybook-static/assets/{hooks-O9aO_nHR.js → hooks-CpDSHDMN.js} +1 -1
- package/storybook-static/assets/{iframe-CJ5lBt-e.js → iframe-CTboIfoI.js} +3 -3
- package/storybook-static/assets/{input-H7y7HIGk.js → input-DD2xaJKI.js} +1 -1
- package/storybook-static/assets/{lucide-react-BtYRZG_1.js → lucide-react-gtfXEQZ7.js} +1 -1
- package/storybook-static/assets/{mdx-react-shim-C4ot-lG2.js → mdx-react-shim-DOISS71W.js} +1 -1
- package/storybook-static/assets/{media-tZwPMhiy.js → media-xUSqwRJF.js} +1 -1
- package/storybook-static/assets/misc-D1Z0nw9S.js +5 -0
- package/storybook-static/assets/misc-D9dXokhF.css +1 -0
- package/storybook-static/assets/{notifications-Dolxc4gH.js → notifications-CWxiJcV-.js} +1 -1
- package/storybook-static/assets/{odata-D8Npa3bK.js → odata-PGHrDwPA.js} +1 -1
- package/storybook-static/assets/odata-service-XyWC7XJb.js +1 -0
- package/storybook-static/assets/{odataStoryFixtures-lUZdxCwx.js → odataStoryFixtures-B0ggeKvL.js} +1 -1
- package/storybook-static/assets/{picker-B0M9z_CQ.js → picker-DR1p3GaI.js} +1 -1
- package/storybook-static/assets/{popover-ALqQHWmp.js → popover-D0spGyn8.js} +1 -1
- package/storybook-static/assets/{preset-select-BWYEfLK1.js → preset-select-DIVtd6Ma.js} +1 -1
- package/storybook-static/assets/{react-18-BwJXfkA2.js → react-18-BW39uoSY.js} +1 -1
- package/storybook-static/assets/{react-BD_WqLoy.js → react-D66xb1cV.js} +1 -1
- package/storybook-static/assets/{react-dom-B9EGEDBK.js → react-dom-B8H6ZjRK.js} +1 -1
- package/storybook-static/assets/select-Dr2NjwXE.js +1 -0
- package/storybook-static/assets/{slider-CSJuH7Wx.js → slider-DBMU3Zyk.js} +1 -1
- package/storybook-static/assets/{sortable-BNcFOgbT.js → sortable-aygBVsVu.js} +1 -1
- package/storybook-static/assets/{syntaxhighlighter-RTCFPKCB-sU9mgauS.js → syntaxhighlighter-RTCFPKCB-BmTfzeWy.js} +1 -1
- package/storybook-static/assets/{text-REr1prCl.js → text-BE5Uqo4p.js} +1 -1
- package/storybook-static/assets/{theming-HLKBFFc3.js → theming-A6fWw02F.js} +1 -1
- package/storybook-static/assets/{ui-ZWM9zG1I.css → ui-CSPaMpbi.css} +1 -1
- package/storybook-static/assets/ui-DW-Seccl.js +1 -0
- package/storybook-static/assets/{uiClasses-CZ_HVS3Y.js → uiClasses-CaHp0EWd.js} +1 -1
- package/storybook-static/assets/{useODataSelectBase-DcRsZl18.js → useODataSelectBase-BivsfJ24.js} +1 -1
- package/storybook-static/assets/{useODataTreeData-gBDUdA_U.js → useODataTreeData-DAop_xYb.js} +1 -1
- package/storybook-static/assets/{utils-CYMJlQCP.js → utils-BAfp5vsY.js} +1 -1
- package/storybook-static/iframe.html +1 -1
- package/storybook-static/project.json +1 -1
- package/dist/chunks/misc-ClXJygTj.js.map +0 -1
- package/storybook-static/assets/formatter-L2YTDE3Q-P261Kqp5.js +0 -1
- package/storybook-static/assets/grid-CUZXK-4q.js +0 -1
- package/storybook-static/assets/misc-B7IdO_Bp.js +0 -5
- package/storybook-static/assets/misc-CerLA5Xh.css +0 -1
- package/storybook-static/assets/odata-service-Dt1Cp9iX.js +0 -1
- package/storybook-static/assets/select-BmjbSGub.js +0 -1
- package/storybook-static/assets/ui-B3C45-Qp.js +0 -1
- /package/storybook-static/assets/{ui.module-DS2qtZts.js → ui.module-wFHXkJzp.js} +0 -0
package/storybook-static/assets/{useODataTreeData-gBDUdA_U.js → useODataTreeData-DAop_xYb.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-
|
|
1
|
+
import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-CTboIfoI.js";import{a as r,i,n as a,o,r as s,s as c}from"./odata-PGHrDwPA.js";function l(e,t,n){return e?`${e}/${t}:${n}`:`${t}:${n}`}function u(e,t,n){let r=n[t];return r&&e[r]||e[t]}function d(e){return[...new Set(e.filter(Boolean))].join(` `)}function f(e){return{id:l(e.parentId,e.codeKey,e.value),codeKey:e.codeKey,value:e.value,label:e.label,code:e.code,searchText:d([e.value,e.label,e.code]),children:[],childByBranchKey:new Map}}function p(e){return{id:e.id,codeKey:e.codeKey,value:e.value,label:e.label,code:e.code,searchText:e.searchText,children:e.children.length>0?e.children.map(p):void 0}}function m({items:e,orderedCodeKeys:t,keyPairsMap:n,hiddenCodeKeys:r,textValueCodeKeys:i}){if(t.length===0||e.length===0)return[];let a=[],o=new Map;for(let s of e){let e;for(let c of t){let t=String(s[c]??``);if(!t)break;let l=String(u(s,c,n)??``),d=i?.has(c)?l:t,p=`${c}:${d}`,m=e?e.childByBranchKey:o,h=m.get(p);h||(h=f({parentId:e?.id,codeKey:c,value:d,label:l,code:r.has(c)?void 0:t}),m.set(p,h),e?e.children.push(h):a.push(h)),e=h}}return a.map(p)}var h=t((()=>{}));function g(e,t){return i(e,t)}var _=t((()=>{c()}));function v(e,t,n){return s([{odata:e,segments:t,model:n}])}function y(e){return e[0]?.id}function b({odata:e,segments:t,model:n}){let i=`${e.service}.${e.target}`,s=(0,x.useMemo)(()=>v(e,t,n),[e,t,n]),c=a([e]),l=(0,x.useMemo)(()=>g(s,c),[s,c]),u=(0,x.useMemo)(()=>l.map(e=>e.id),[l]),d=o({odata:e,model:r({codeKey:y(l)??Object.keys(t)[0],...n})}),{hiddenCodeKeys:f,textValueCodeKeys:p}=(0,x.useMemo)(()=>{let t=new Set,n=new Set;for(let r of l)(r.segment.hideCode??e.hideCode)&&t.add(r.id),r.segment.selectText&&n.add(r.id);return{hiddenCodeKeys:t,textValueCodeKeys:n}},[e.hideCode,l]),h=(0,x.useMemo)(()=>m({items:d.data?.items??[],orderedCodeKeys:u,keyPairsMap:d.data?.keyPairsMap??{},hiddenCodeKeys:f,textValueCodeKeys:p}),[d.data?.items,d.data?.keyPairsMap,f,u,p]),_=l[0]?.segment.placeholder??`Выберите значение`,b=!!c[i]?.length;return{nodes:h,orderedSegmentItems:l,orderedCodeKeys:u,isLoading:d.isLoading,isError:d.isError,placeholder:_,hasResolvedChain:b}}var x,S=t((()=>{x=e(n(),1),c(),h(),_()}));export{b as n,S as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./preload-helper-B45gAKPr.js";import{C as t}from"./iframe-
|
|
1
|
+
import{i as e}from"./preload-helper-B45gAKPr.js";import{C as t}from"./iframe-CTboIfoI.js";function n(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function r(e){return!e||typeof e!=`object`||Array.isArray(e)?null:e}var i=e((()=>{}));function a(){let e=``;for(let t=0;t<arguments.length;t++){let n=arguments[t];if(!(!n||n===!0)){if(typeof n==`string`){e=e?e+` `+n:n;continue}if(!(typeof n!=`object`||Array.isArray(n)))for(let t in n)n[t]&&(e=e?e+` `+t:t)}}return e}function o(e){return e===`Enter`||e===` `}function s(e,t,n={}){return n.disabled||!o(e.key)?!1:(e.preventDefault(),t(),!0)}function c({currentIndex:e,itemCount:t,key:n,orientation:r,wrap:i=!0}){if(t<=0)return null;let a=Math.min(t-1,Math.max(0,e));return n===`Home`?0:n===`End`?t-1:n===(r===`horizontal`?`ArrowLeft`:`ArrowUp`)?a>0?a-1:i?t-1:0:n===(r===`horizontal`?`ArrowRight`:`ArrowDown`)?a<t-1?a+1:i?0:t-1:null}function l(...e){globalThis.console.error(...e)}function u(e,t){for(let n=0;n<e.length;n+=1)if(!t?.(e[n]))return n;return-1}function d(e,t){for(let n=e.length-1;n>=0;--n)if(!t?.(e[n]))return n;return-1}function f(e,t,n,r,i={}){let{wrap:a=!1}=i,o=t>=0&&t<e.length?t:-1,s=(t,i)=>{for(let a=t;n===1?a<=i:a>=i;a+=n)if(!r?.(e[a]))return a;return null},c=s(t+n,n===1?e.length-1:0);return c===null?!a||e.length===0?o:(n===1?s(0,Math.min(t-1,e.length-1)):s(e.length-1,Math.max(t+1,0)))??o:c}var p=e((()=>{t()}));export{a,l as c,n as d,p as i,i as l,s as n,c as o,u as r,d as s,f as t,r as u};
|
|
@@ -552,7 +552,7 @@
|
|
|
552
552
|
}
|
|
553
553
|
</script>
|
|
554
554
|
|
|
555
|
-
<script type="module" crossorigin src="./assets/iframe-
|
|
555
|
+
<script type="module" crossorigin src="./assets/iframe-CTboIfoI.js"></script>
|
|
556
556
|
<link rel="modulepreload" crossorigin href="./assets/preload-helper-B45gAKPr.js">
|
|
557
557
|
</head>
|
|
558
558
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"generatedAt":
|
|
1
|
+
{"generatedAt":1783788003035,"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-CJ5lBt-e.js";import{i as r,n as i,r as a,t as o}from"./chunk-3LY4VQVK-xQmQ9wgJ.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-CtejGOaQ.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-CJ5lBt-e.js";import{t as r}from"./jsx-runtime-BBQGix-2.js";import{a as i,i as a}from"./utils-CYMJlQCP.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-BtYRZG_1.js";import{i as p,t as m}from"./text-REr1prCl.js";import{n as h,t as g}from"./flex-DDFcQoiF.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-C4D-1Rmz.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-Rn-J2OV3.js";import{n}from"./ODataSelect-B4apxrUc.js";import{n as r}from"./SerializableSelect-B9v1pJhT.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-D3CVjjRE.js";var r=e((()=>{t(),n()}));export{r as t};
|
|
File without changes
|