@ryuzaki13/react-foundation-ui 3.9.0 → 3.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/badge/index.js +1 -1
- package/dist/barcode-scanner/index.js +1 -1
- package/dist/base-table/index.js +1 -1
- package/dist/base-table/ui/BaseTable.d.ts +9 -1
- package/dist/base-table/ui/BaseTable.d.ts.map +1 -1
- package/dist/chunks/{TextEditorLexicalClient-BQH41FFT.js → TextEditorLexicalClient-Cj6yjCGm.js} +3 -3
- package/dist/chunks/{TextEditorLexicalClient-BQH41FFT.js.map → TextEditorLexicalClient-Cj6yjCGm.js.map} +1 -1
- package/dist/chunks/{base-table-9H5YuVvB.js → base-table-CoVXG2FT.js} +132 -114
- package/dist/chunks/base-table-CoVXG2FT.js.map +1 -0
- package/dist/chunks/{context-menu-BV8636Ou.js → context-menu-BlLesqpZ.js} +2 -2
- package/dist/chunks/{context-menu-BV8636Ou.js.map → context-menu-BlLesqpZ.js.map} +1 -1
- package/dist/chunks/flex-BhrQCH4I.js +401 -0
- package/dist/chunks/flex-BhrQCH4I.js.map +1 -0
- package/dist/chunks/grid-D6wPRCjx.js +394 -0
- package/dist/chunks/grid-D6wPRCjx.js.map +1 -0
- package/dist/chunks/{misc-BjdDK6mm.js → misc-Dcr24uDY.js} +2 -2
- package/dist/chunks/{misc-BjdDK6mm.js.map → misc-Dcr24uDY.js.map} +1 -1
- package/dist/chunks/{modal-CBGNsqrq.js → modal-DeABSKrb.js} +4 -4
- package/dist/chunks/{modal-CBGNsqrq.js.map → modal-DeABSKrb.js.map} +1 -1
- package/dist/chunks/{picker-DagDe9OH.js → picker-CWx7vPE8.js} +2 -2
- package/dist/chunks/{picker-DagDe9OH.js.map → picker-CWx7vPE8.js.map} +1 -1
- package/dist/chunks/responsiveLayout-D2mtCDdh.js +28 -0
- package/dist/chunks/responsiveLayout-D2mtCDdh.js.map +1 -0
- package/dist/chunks/{select-C-1U-ujV.js → select-CHBBo5fn.js} +2 -2
- package/dist/chunks/{select-C-1U-ujV.js.map → select-CHBBo5fn.js.map} +1 -1
- package/dist/chunks/table-Cm9NhT9K.js +154 -0
- package/dist/chunks/table-Cm9NhT9K.js.map +1 -0
- package/dist/context-menu/index.js +1 -1
- package/dist/disclosure/index.js +1 -1
- package/dist/errors/index.js +1 -1
- package/dist/expandable-action-panel/index.js +1 -1
- package/dist/flex/FlexContainer.d.ts +1 -1
- package/dist/flex/FlexContainer.d.ts.map +1 -1
- package/dist/flex/FlexItem.d.ts +1 -1
- package/dist/flex/FlexItem.d.ts.map +1 -1
- package/dist/flex/PredefinedFlex.d.ts +1 -1
- package/dist/flex/PredefinedFlex.d.ts.map +1 -1
- package/dist/flex/getFlexClasses.d.ts +5 -0
- package/dist/flex/getFlexClasses.d.ts.map +1 -0
- package/dist/flex/index.js +1 -1
- package/dist/grid/GridContainer.d.ts.map +1 -1
- package/dist/grid/GridItem.d.ts.map +1 -1
- package/dist/grid/getGridClasses.d.ts +12 -0
- package/dist/grid/getGridClasses.d.ts.map +1 -0
- package/dist/grid/index.js +1 -1
- package/dist/image/index.js +2 -2
- package/dist/layout-picker/index.js +1 -1
- package/dist/list/index.js +2 -2
- package/dist/listbox/index.js +1 -1
- package/dist/misc/index.js +1 -1
- package/dist/modal/index.js +1 -1
- package/dist/multi-select/index.js +1 -1
- package/dist/notifications/index.js +1 -1
- package/dist/picker/index.js +1 -1
- package/dist/preset-range-date-input/index.js +1 -1
- package/dist/preset-select/index.js +1 -1
- package/dist/responsive-layout/responsiveLayout.d.ts +17 -0
- package/dist/responsive-layout/responsiveLayout.d.ts.map +1 -0
- package/dist/select/index.js +1 -1
- package/dist/simple-table/index.js +1 -1
- package/dist/slider/index.js +1 -1
- package/dist/state-select/index.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/table/Table.d.ts +10 -1
- package/dist/table/Table.d.ts.map +1 -1
- package/dist/table/index.js +1 -1
- package/dist/table-sorting/index.js +1 -1
- package/dist/tabs/index.js +1 -1
- package/dist/text-editor/index.js +2 -2
- package/dist/toolbar/index.js +2 -2
- package/dist/tree-select/index.js +1 -1
- package/dist/tree-table/index.js +1 -1
- package/package.json +1 -1
- package/storybook-static/assets/{Badge-CL58JilM.js → Badge-7nsS5Yyj.js} +1 -1
- package/storybook-static/assets/{Badge.stories-CXFTvV3D.js → Badge.stories-BzQKeDqC.js} +1 -1
- package/storybook-static/assets/{BadgeList-DLssobfd.js → BadgeList-WzFV9MB1.js} +1 -1
- package/storybook-static/assets/{BarcodeScannerDialog.stories-CpMywpKq.js → BarcodeScannerDialog.stories-Ci8Mf9WX.js} +1 -1
- package/storybook-static/assets/{Button-CSbLv1K7.js → Button-6F3OVyTc.js} +1 -1
- package/storybook-static/assets/{Button-DMAPWgMI.js → Button-DqsSng-I.js} +1 -1
- package/storybook-static/assets/{Button.stories-CU1kYMvA.js → Button.stories-PNc3lIYB.js} +1 -1
- package/storybook-static/assets/{CalendarView-DuCLo_x5.js → CalendarView-BT9X9tky.js} +1 -1
- package/storybook-static/assets/{CheckBox-BBPasWSk.js → CheckBox-BJhTyl1K.js} +1 -1
- package/storybook-static/assets/{CheckBox-Bfcdvr2o.js → CheckBox-BasxUZYS.js} +1 -1
- package/storybook-static/assets/{CheckBox.stories-sGH6EuU4.js → CheckBox.stories-DLRA5q3H.js} +1 -1
- package/storybook-static/assets/{Color-6AOWCN3U-5NJhf8m9.js → Color-6AOWCN3U-C4R02nIA.js} +1 -1
- package/storybook-static/assets/{ContextMenu-CxuYkXjJ.js → ContextMenu-BckwURZg.js} +1 -1
- package/storybook-static/assets/{ContextMenu-z6NKmD0I.js → ContextMenu-OOsbvmOa.js} +1 -1
- package/storybook-static/assets/{ContextMenu.stories-CI5IW_KX.js → ContextMenu.stories-BD-wMDNw.js} +1 -1
- package/storybook-static/assets/{DateInput-BkCbK0M5.js → DateInput-B5MxQUHL.js} +1 -1
- package/storybook-static/assets/{DateInput-A8NURpCX.js → DateInput-DT6btAWU.js} +1 -1
- package/storybook-static/assets/{DateInput.stories-DnzeyBpg.js → DateInput.stories-BK2brwe_.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-Bh7qMFTr.js → DateRangePresetSelect-Dplr79Cm.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-CGZkf8Ty.js → DateRangePresetSelect-gRdIuTx9.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect.stories-Drm2FCnJ.js → DateRangePresetSelect.stories-BRksGdxw.js} +1 -1
- package/storybook-static/assets/{DeprecatedMultiSelect-BebYsPmQ.js → DeprecatedMultiSelect-1MSPac-V.js} +1 -1
- package/storybook-static/assets/{DeprecatedMultiSelect-8TWWhsLi.js → DeprecatedMultiSelect-BOxmEW2D.js} +1 -1
- package/storybook-static/assets/{DeprecatedMultiSelect.stories-7iL6YOgh.js → DeprecatedMultiSelect.stories-Ax0zv6Kb.js} +1 -1
- package/storybook-static/assets/{Detail-BOZkPwOI.js → Detail-_5TyqOha.js} +1 -1
- package/storybook-static/assets/{Detail.stories-RZALoKmD.js → Detail.stories-CJbeEBiY.js} +1 -1
- package/storybook-static/assets/{Dialog-CeukIYpx.js → Dialog-BodfEiIi.js} +1 -1
- package/storybook-static/assets/{Dialog-BsslYClj.js → Dialog-HBOYhMQq.js} +1 -1
- package/storybook-static/assets/{Dialog.stories-y7MpdGQr.js → Dialog.stories-Ds4F0ZoJ.js} +1 -1
- package/storybook-static/assets/{Disclosure-CiTnWx5y.js → Disclosure-BbvtIOyN.js} +1 -1
- package/storybook-static/assets/{Disclosure.stories-UWW9oheF.js → Disclosure.stories-CnSK79hZ.js} +1 -1
- package/storybook-static/assets/{DisclosureGroup-CT3BdQXr.js → DisclosureGroup-Dd0BeL4o.js} +1 -1
- package/storybook-static/assets/{DocsRenderer-JROSPFPF-x50rjjKP.js → DocsRenderer-JROSPFPF-BX-ThlFg.js} +1 -1
- package/storybook-static/assets/{DropZone-gWSeoAx6.js → DropZone-CCkHaYAD.js} +1 -1
- package/storybook-static/assets/{DropZone-DUn9vW2w.js → DropZone-DPqYieZH.js} +1 -1
- package/storybook-static/assets/{DropZone.stories-CmaVl9to.js → DropZone.stories-lfKkNIIl.js} +1 -1
- package/storybook-static/assets/{DropdownMenu-DkeS8gOF.js → DropdownMenu-QWp-lSol.js} +1 -1
- package/storybook-static/assets/{ExpandableActionPanel-DdqWZDe2.js → ExpandableActionPanel-DxPp3zYd.js} +1 -1
- package/storybook-static/assets/{ExpandableActionPanel.stories-CA-dpb07.js → ExpandableActionPanel.stories-BiklI55p.js} +1 -1
- package/storybook-static/assets/Flex-S4mwRnc2.js +81 -0
- package/storybook-static/assets/Flex.stories-DRBLrgrW.js +454 -0
- package/storybook-static/assets/FlexContainer-4Ap7vbIt.js +1 -0
- package/storybook-static/assets/{FlexItem-DsoW-br3.js → FlexItem-Dwqi7KeT.js} +2 -2
- package/storybook-static/assets/{FloatingPopover-7MpESGU4.js → FloatingPopover-D8FScEoc.js} +1 -1
- package/storybook-static/assets/FormattedTableCell-BKSpyxnu.js +15 -0
- package/storybook-static/assets/{Grid-eqZxtRIA.js → Grid-CJ5RLrgv.js} +2 -2
- package/storybook-static/assets/Grid-DIYjEdUA.js +84 -0
- package/storybook-static/assets/Grid.stories-Bl35lMkU.js +657 -0
- package/storybook-static/assets/{GridContainer-B9JaLUGE.js → GridContainer-B2iAnXeB.js} +2 -2
- package/storybook-static/assets/GridContainer-DgBuOs_1.css +1 -0
- package/storybook-static/assets/{ImageCropper.stories-W76XOOMv.js → ImageCropper.stories--E79MUTS.js} +1 -1
- package/storybook-static/assets/{ImageRenderer-DYg7BkPO.js → ImageRenderer-D0stahXz.js} +1 -1
- package/storybook-static/assets/{ImageRenderer.stories-rgJV0OBp.js → ImageRenderer.stories-C_Ir6A3m.js} +1 -1
- package/storybook-static/assets/{ImageView.stories-D9h6sg3j.js → ImageView.stories-DbY7pwWs.js} +1 -1
- package/storybook-static/assets/{ImageViewer.stories-Bd0WJOp1.js → ImageViewer.stories-D2jfTzCV.js} +2 -2
- package/storybook-static/assets/{ImageViewerRuntime-DOjvjbv0.js → ImageViewerRuntime-DlvGnNv4.js} +1 -1
- package/storybook-static/assets/{Input-7N70tL0u.js → Input-CzvWPW0I.js} +1 -1
- package/storybook-static/assets/{Input-BxrxwNyD.js → Input-av5ktymr.js} +1 -1
- package/storybook-static/assets/{Input.stories-Df1j802b.js → Input.stories-CvLnu270.js} +1 -1
- package/storybook-static/assets/{InputDateTime-UdemHZXV.js → InputDateTime-D5bQuB9a.js} +1 -1
- package/storybook-static/assets/{InputDateTime.stories-yRwAe5_5.js → InputDateTime.stories-BD9Pt7vB.js} +1 -1
- package/storybook-static/assets/{InputFile-5LpFR1Fq.js → InputFile-C3nj3qsi.js} +1 -1
- package/storybook-static/assets/{InputFile-DDhf7A_J.js → InputFile-ulrG6ECh.js} +1 -1
- package/storybook-static/assets/{InputFile.stories-BVDT-BAx.js → InputFile.stories-CEewSWb_.js} +1 -1
- package/storybook-static/assets/{InputFiles-CgM2BwNO.js → InputFiles-DZ1nUYOE.js} +1 -1
- package/storybook-static/assets/{InputFiles-D3CPIXiK.js → InputFiles-lF7Ys1hh.js} +1 -1
- package/storybook-static/assets/{InputFiles.stories-XMHBA9Fn.js → InputFiles.stories-CCptKLDn.js} +1 -1
- package/storybook-static/assets/{InputFilesList-DSivq9iT.js → InputFilesList-DTJkMHNI.js} +1 -1
- package/storybook-static/assets/{InputImage-CY0A9Xz-.js → InputImage-CIPZL6uS.js} +1 -1
- package/storybook-static/assets/{InputImage-BG_QyAh3.js → InputImage-lDHbW_ac.js} +1 -1
- package/storybook-static/assets/{InputImage.stories-DiGXytZU.js → InputImage.stories-CQ2BBGf-.js} +1 -1
- package/storybook-static/assets/{InteractiveComponents-Bf9KitNR.js → InteractiveComponents-DD7TZeA4.js} +1 -1
- package/storybook-static/assets/{InteractiveComponents.stories-TwALUGGN.js → InteractiveComponents.stories-Bbo3l8WO.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-BLrNe8g_.js → LayoutPicker-A7VlDbc0.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-MhA9N4WI.js → LayoutPicker-uw1knHzA.js} +1 -1
- package/storybook-static/assets/{LayoutPicker.stories-BCME5Ogr.js → LayoutPicker.stories-DDR6oiSN.js} +1 -1
- package/storybook-static/assets/{Listbox-B8F2xWvs.js → Listbox-CO1BjyFs.js} +1 -1
- package/storybook-static/assets/{Listbox-y_3VijHU.js → Listbox-CmkI7dm_.js} +1 -1
- package/storybook-static/assets/{Listbox.stories-mp0p0NpO.js → Listbox.stories-BIPmBbuG.js} +1 -1
- package/storybook-static/assets/{Modal-qIsW7BkG.js → Modal-C3JdXj6Q.js} +1 -1
- package/storybook-static/assets/{Modal-DgEV0vBs.js → Modal-IXMZUaaw.js} +1 -1
- package/storybook-static/assets/{Modal.stories-CQ-Hn4GK.js → Modal.stories-BD-UnVeM.js} +1 -1
- package/storybook-static/assets/{ModalManagerProvider-DEoq4q_O.js → ModalManagerProvider-zJVg8-dg.js} +1 -1
- package/storybook-static/assets/{MultiSelect-D-6XHQUG.js → MultiSelect-CGoyA8-m.js} +1 -1
- package/storybook-static/assets/{MultiSelect-PGooEkAK.js → MultiSelect-DZKjK53B.js} +1 -1
- package/storybook-static/assets/{MultiSelect.stories-B0JzMViN.js → MultiSelect.stories-D65mpYYt.js} +1 -1
- package/storybook-static/assets/{MultiSelectCore-B0VbnEBc.js → MultiSelectCore-ih1pgvuq.js} +1 -1
- package/storybook-static/assets/{NoData-DCuuvSoD.js → NoData-32gM9qt4.js} +1 -1
- package/storybook-static/assets/{NotificationsHost-CWqG91Yh.js → NotificationsHost-pkEhxgz2.js} +1 -1
- package/storybook-static/assets/{NotificationsHost.stories-CEp-AppV.js → NotificationsHost.stories-BqIayryx.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect-CwVneYzi.js → ODataMultiSelect-D42gAcHg.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect.stories-BRnVOZsK.js → ODataMultiSelect.stories-DfAkKAsG.js} +1 -1
- package/storybook-static/assets/{ODataSelect-DyKTFqk7.js → ODataSelect-DPOMWPKO.js} +1 -1
- package/storybook-static/assets/{ODataSelect.stories-B-3GaeU4.js → ODataSelect.stories-DHs3wp7E.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect-16xNi9qI.js → ODataTreeMultiSelect-CC8yuaVP.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect.stories-DI9tH2qD.js → ODataTreeMultiSelect.stories-BtwLdGK6.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect-Dk262plK.js → ODataTreeSelect-qcitpYxj.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect.stories-DfaL0dci.js → ODataTreeSelect.stories-1r_tkUVi.js} +1 -1
- package/storybook-static/assets/{OneStepScroller-DI8qlm5c.js → OneStepScroller-wz4Qujpx.js} +1 -1
- package/storybook-static/assets/{Option-CG3bU2cY.js → Option-Beom2xTg.js} +1 -1
- package/storybook-static/assets/{OptionButton-DF0E8aU5.js → OptionButton-D_ZCVbsd.js} +1 -1
- package/storybook-static/assets/{OptionContent-BZ3FiJQ4.js → OptionContent-FZ-u9L1s.js} +1 -1
- package/storybook-static/assets/{OptionContentContainer-CyI5IfqU.js → OptionContentContainer-HVNOgpjm.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-uR-Xk4vQ.js → PeriodSelect-DbdeznMQ.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-_gAbt3E6.js → PeriodSelect-qevVtoSU.js} +1 -1
- package/storybook-static/assets/{PeriodSelect.stories-D-Lp7QtA.js → PeriodSelect.stories-BLi_6rpY.js} +1 -1
- package/storybook-static/assets/{PickerField-CByAoAAO.js → PickerField-BHSRcQY6.js} +1 -1
- package/storybook-static/assets/{PickerTriggerActions-CYM-UvRz.js → PickerTriggerActions-Cxk3YQGF.js} +1 -1
- package/storybook-static/assets/{Popover-CdnsB1ss.js → Popover-BosMVXTI.js} +1 -1
- package/storybook-static/assets/{Popover-CRcVoLur.js → Popover-De2fvkIB.js} +1 -1
- package/storybook-static/assets/{Popover.stories-Dxdt7Jc5.js → Popover.stories-DM-Plj05.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput-BmAGj8ye.js → PresetRangeDateInput-CCQuBkJj.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput-BQkK3Nmd.js → PresetRangeDateInput-jersOEYO.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput.stories-CUIwCB6T.js → PresetRangeDateInput.stories-DwqDWXX9.js} +1 -1
- package/storybook-static/assets/{PresetSelect-C7HG9CjN.js → PresetSelect-BhwHbWmS.js} +1 -1
- package/storybook-static/assets/{README-BmwSZfOQ.js → README-1UUrJXjZ.js} +1 -1
- package/storybook-static/assets/{README-zlaX5PMG.js → README-29WDFTDH.js} +1 -1
- package/storybook-static/assets/{README-D-urpNSn.js → README-33qTnj5l.js} +1 -1
- package/storybook-static/assets/{README-BbUo3mGT.js → README-B5eMX8_9.js} +1 -1
- package/storybook-static/assets/{README-DfRan6KR.js → README-B5rmNIab.js} +1 -1
- package/storybook-static/assets/{README-KCmlmH_Z.js → README-BAlXRtAz.js} +1 -1
- package/storybook-static/assets/{README-CNnGqdkH.js → README-BCEKAY_J.js} +1 -1
- package/storybook-static/assets/{README-DyKegKG_.js → README-BD5f1if4.js} +1 -1
- package/storybook-static/assets/{README-DMZYAdN0.js → README-BIvHy4kr.js} +1 -1
- package/storybook-static/assets/{README-Dhptn6UE.js → README-BK8k_Q4m.js} +1 -1
- package/storybook-static/assets/{README-CoENtXo_.js → README-BKLeD4y3.js} +1 -1
- package/storybook-static/assets/{README-C41zKsq6.js → README-BNsU3Cqx.js} +1 -1
- package/storybook-static/assets/{README-BL0-uTlP.js → README-BPSG9KrB.js} +1 -1
- package/storybook-static/assets/{README-BEYMpavt.js → README-BQDFmWGi.js} +1 -1
- package/storybook-static/assets/{README-BR8bdUjV.js → README-B_tg7QVI.js} +1 -1
- package/storybook-static/assets/{README-DxTRj-9a.js → README-BfRKdJtw.js} +1 -1
- package/storybook-static/assets/{README-ByIhL9zr.js → README-BoJXfTe6.js} +1 -1
- package/storybook-static/assets/{README-C5-oc7fP.js → README-By0zyJQ-.js} +1 -1
- package/storybook-static/assets/{README-De3j71sQ.js → README-BzVVPLXk.js} +1 -1
- package/storybook-static/assets/{README-BquP2lux.js → README-CHllxFPj.js} +1 -1
- package/storybook-static/assets/{README-CTBkJ27k.js → README-CJ6rsYUk.js} +1 -1
- package/storybook-static/assets/{README-DY7lgi4q.js → README-CJFgcV8C.js} +1 -1
- package/storybook-static/assets/{README-j-Czw7ww.js → README-CPZBUXWs.js} +1 -1
- package/storybook-static/assets/{README-DCWk-Vga.js → README-CioPc-xb.js} +1 -1
- package/storybook-static/assets/{README-CTGZXXVP.js → README-CmzO6bzh.js} +1 -1
- package/storybook-static/assets/{README-B0iHgO_3.js → README-Cpk-Tr_W.js} +1 -1
- package/storybook-static/assets/{README-DTMZk60G.js → README-CrhHHw0i.js} +1 -1
- package/storybook-static/assets/{README-DAH3lVWd.js → README-CvReVgGJ.js} +1 -1
- package/storybook-static/assets/{README-DQ1aeQ_i.js → README-CvzdarfH.js} +1 -1
- package/storybook-static/assets/{README-BUnl1FiN.js → README-Cz14JUTC.js} +1 -1
- package/storybook-static/assets/{README-DevTRU4A.js → README-D09okhy9.js} +1 -1
- package/storybook-static/assets/{README-DaaS2c7L.js → README-D5YLxtgR.js} +1 -1
- package/storybook-static/assets/{README-_8pxMMC7.js → README-DK5aZdOt.js} +1 -1
- package/storybook-static/assets/{README-VNB_Dj5F.js → README-DKI2c8YJ.js} +1 -1
- package/storybook-static/assets/{README-BAjs7T_d.js → README-DNeDK1_H.js} +1 -1
- package/storybook-static/assets/{README-DNrPuueH.js → README-DQl_3tX1.js} +1 -1
- package/storybook-static/assets/{README-B1GSwjas.js → README-DS63ZnOT.js} +1 -1
- package/storybook-static/assets/{README-Bdir2bPK.js → README-DT96eoyc.js} +1 -1
- package/storybook-static/assets/{README-n4utUGcX.js → README-D_d6frx1.js} +1 -1
- package/storybook-static/assets/{README-CpJmZHQJ.js → README-Dc2qBccm.js} +1 -1
- package/storybook-static/assets/{README-CtZBJdo2.js → README-DeHGaTaW.js} +1 -1
- package/storybook-static/assets/{README-B-ihyEBx.js → README-Df8F75dr.js} +1 -1
- package/storybook-static/assets/{README-C7NhXX-n.js → README-DmJq-c8n.js} +1 -1
- package/storybook-static/assets/{README-9DTI05kd.js → README-DzASMBMv.js} +1 -1
- package/storybook-static/assets/{README-CUghXL33.js → README-DzrrH56m.js} +1 -1
- package/storybook-static/assets/{README-xrMkjHIm.js → README-ECCgQcGo.js} +1 -1
- package/storybook-static/assets/{README-BurB0dhj.js → README-LWfExOhc.js} +1 -1
- package/storybook-static/assets/{README-CiJ5wkhQ.js → README-NHHRscRF.js} +1 -1
- package/storybook-static/assets/{README-CvP9yRMR.js → README-O9BJmE-H.js} +1 -1
- package/storybook-static/assets/{README-ByT9u_7g.js → README-Rk3Krdys.js} +1 -1
- package/storybook-static/assets/{README-CQlujiXR.js → README-bWB0c7pN.js} +1 -1
- package/storybook-static/assets/{README-C8jcwgeL.js → README-o4PUljT6.js} +1 -1
- package/storybook-static/assets/{README-CoQeAVdv.js → README-sPm51M3K.js} +1 -1
- package/storybook-static/assets/{RadioButton-CDIyYuS9.js → RadioButton-BZiBFXe1.js} +1 -1
- package/storybook-static/assets/{RadioButton-DV8K96H6.js → RadioButton-CBLdgMz4.js} +1 -1
- package/storybook-static/assets/{RadioButton.stories-CRNqKsyz.js → RadioButton.stories-BP5yM5qg.js} +1 -1
- package/storybook-static/assets/{RadioGroup-BnYFRvmn.js → RadioGroup-DYRfZVGC.js} +1 -1
- package/storybook-static/assets/{RadioGroup-CIIw962S.js → RadioGroup-epjQdSZn.js} +1 -1
- package/storybook-static/assets/{RadioGroup.stories-K4AidbLa.js → RadioGroup.stories-UOjXIk6v.js} +1 -1
- package/storybook-static/assets/ResponsiveLayoutPreview-BHBxtn2W.js +1 -0
- package/storybook-static/assets/ResponsiveLayoutPreview-CyXawjCA.css +1 -0
- package/storybook-static/assets/{Scrollable-BI1k9ogH.js → Scrollable-BBYov1Hn.js} +1 -1
- package/storybook-static/assets/{Scrollable-DAghtYuE.js → Scrollable-DKQa75cf.js} +1 -1
- package/storybook-static/assets/{Scrollable.stories-B6Doakiv.js → Scrollable.stories-BH1-i6nI.js} +1 -1
- package/storybook-static/assets/{Select-BNHTGJqG.js → Select-DU6Eh0Lt.js} +1 -1
- package/storybook-static/assets/{Select-BlnKV8rc.js → Select-DYOCTPiv.js} +1 -1
- package/storybook-static/assets/{Select.stories-DZPAoL4J.js → Select.stories-BF3svbAH.js} +1 -1
- package/storybook-static/assets/{Separator-CiETy9yM.js → Separator-CxviJxG5.js} +1 -1
- package/storybook-static/assets/{Separator-BCUzEQRV.js → Separator-_gvt1sqm.js} +1 -1
- package/storybook-static/assets/{Separator.stories-DTzurpM_.js → Separator.stories-DN6hlZl5.js} +1 -1
- package/storybook-static/assets/{SerializableSelect-CnQurr7F.js → SerializableSelect-BVTOrYLs.js} +1 -1
- package/storybook-static/assets/{SerializableSelect.stories-qJaV_fjJ.js → SerializableSelect.stories-pcWq603M.js} +1 -1
- package/storybook-static/assets/{ShimmerText-I292TqXa.js → ShimmerText-BDDa_Wf7.js} +1 -1
- package/storybook-static/assets/{ShimmerText.stories-AKqXqp1k.js → ShimmerText.stories-DdZPIKwl.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput-DSn0vaW-.js → SingleDateTimeInput-q-eu2xUU.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput-BrNi93tH.js → SingleDateTimeInput-sGTkT8ZA.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput.stories-C910kkYc.js → SingleDateTimeInput.stories-X7CMAFsq.js} +1 -1
- package/storybook-static/assets/{Slider-DO460-pY.js → Slider-CaKY8LIJ.js} +1 -1
- package/storybook-static/assets/{Slider-CXA5Zwku.js → Slider-CqNWljkT.js} +1 -1
- package/storybook-static/assets/{Slider.stories-B874XxeK.js → Slider.stories-CMxutCGM.js} +1 -1
- package/storybook-static/assets/{SliderInput-DTidinPI.js → SliderInput-HUUN5_IF.js} +1 -1
- package/storybook-static/assets/{SliderInput-DsV8o7Yy.js → SliderInput-scYwk-4g.js} +1 -1
- package/storybook-static/assets/{SliderInput.stories-CDWNO90y.js → SliderInput.stories-CDhgeql1.js} +1 -1
- package/storybook-static/assets/{Sortable-CML34YIF.js → Sortable-CaysnUNW.js} +1 -1
- package/storybook-static/assets/{Sortable.stories-C-_fvnHM.js → Sortable.stories-C4gHc5ka.js} +1 -1
- package/storybook-static/assets/{Splitter-BcuA2qce.js → Splitter-6cU1s7Qr.js} +1 -1
- package/storybook-static/assets/{Splitter.stories-CA0-L_Ja.js → Splitter.stories-CA9A-CZ-.js} +1 -1
- package/storybook-static/assets/{StateSelect-B23bb_PO.js → StateSelect-BAqjdi4g.js} +1 -1
- package/storybook-static/assets/{StateSelect--FDEb4-v.js → StateSelect-OHl6KWge.js} +1 -1
- package/storybook-static/assets/{StateSelect.stories-CEVPThtC.js → StateSelect.stories-xX3ujKGO.js} +1 -1
- package/storybook-static/assets/{StatusIndicator-BbTCS7Ku.js → StatusIndicator-C_7dWY2t.js} +1 -1
- package/storybook-static/assets/{StatusIndicator.stories-BIps_Ecm.js → StatusIndicator.stories-BRlVzKf7.js} +1 -1
- package/storybook-static/assets/{StringToggle.stories-vhOfzslq.js → StringToggle.stories-DFPLwtHW.js} +1 -1
- package/storybook-static/assets/{Switch-DibS4nSc.js → Switch-CrlrIm3t.js} +1 -1
- package/storybook-static/assets/{Switch-jJgwtWFK.js → Switch-DHcMczAC.js} +1 -1
- package/storybook-static/assets/{Switch.stories-Cvky3KQz.js → Switch.stories-LhTPX_R-.js} +1 -1
- package/storybook-static/assets/Table-Ct8iqJEY.js +219 -0
- package/storybook-static/assets/Table.stories-DO30v6VO.js +184 -0
- package/storybook-static/assets/{TableEditor.stories-Be9nCkds.js → TableEditor.stories-Qtqr_l4g.js} +1 -1
- package/storybook-static/assets/{Tabs-CTL4MnkZ.js → Tabs-CC0IIQwl.js} +1 -1
- package/storybook-static/assets/{Tabs.stories-CIVbz7kW.js → Tabs.stories-Bo_Y-dq8.js} +1 -1
- package/storybook-static/assets/{TabsBox-C9g1p4du.js → TabsBox-BMNvHsCH.js} +1 -1
- package/storybook-static/assets/{TagInput-DuJLeiyT.js → TagInput-BLwbzCit.js} +1 -1
- package/storybook-static/assets/{TagInput.stories-BLVFWr-T.js → TagInput.stories-DNcD4tn4.js} +1 -1
- package/storybook-static/assets/{Text-Cr_TUUgL.js → Text-Bih-aO3C.js} +1 -1
- package/storybook-static/assets/{Textarea-DGaanGLG.js → Textarea-D3os1biP.js} +1 -1
- package/storybook-static/assets/{Textarea-BImI6Q6v.js → Textarea-DCnLF4aj.js} +1 -1
- package/storybook-static/assets/{Textarea.stories-DvQ2dDNh.js → Textarea.stories-CIFzZQ5Z.js} +1 -1
- package/storybook-static/assets/{TimePanel-Cg2G5Hab.js → TimePanel-BcVGesht.js} +1 -1
- package/storybook-static/assets/{TimePanel.stories-qy5mb3YN.js → TimePanel.stories-C6_xVdCq.js} +1 -1
- package/storybook-static/assets/{Toggle-Dj8Ic_Ak.js → Toggle-BD0YAuO2.js} +1 -1
- package/storybook-static/assets/{Toggle-CroC7YOK.js → Toggle-CtABgcO5.js} +1 -1
- package/storybook-static/assets/{Toggle.stories-CmyyubM8.js → Toggle.stories-DnTnFcGB.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-BHNmPW50.js → TreeMultiSelect-Bp_Akwgc.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-DBQYLjnA.js → TreeMultiSelect-DHk_QP2h.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect.stories-BNsE1zgF.js → TreeMultiSelect.stories-CBVQbR1c.js} +1 -1
- package/storybook-static/assets/{TreePickerBase-ZEBy3EVT.js → TreePickerBase-BhWXyIoO.js} +1 -1
- package/storybook-static/assets/{TreeSelect-T7G2pkyK.js → TreeSelect-DleoF0hJ.js} +1 -1
- package/storybook-static/assets/{TreeSelect-aiPeW2uJ.js → TreeSelect-HNbghKYG.js} +1 -1
- package/storybook-static/assets/{TreeSelect.stories-E6ObkYJe.js → TreeSelect.stories-BigcPfEn.js} +1 -1
- package/storybook-static/assets/{TreeTable-C0ORe5Pe.js → TreeTable-BNkuyFKP.js} +1 -1
- package/storybook-static/assets/{TreeTable.stories-PtGT_1X5.js → TreeTable.stories-Bdx3y7Yb.js} +1 -1
- package/storybook-static/assets/{array-D-_yMMUK-DnJ_b27D.js → array-D-_yMMUK-BBmW5vUr.js} +1 -1
- package/storybook-static/assets/{blocks-DR4JL0hD.js → blocks-DGivDYe5.js} +3 -3
- package/storybook-static/assets/{check-PtABqMc1.js → check-DRMDOowi.js} +1 -1
- package/storybook-static/assets/{chevron-down-BaujB0G_.js → chevron-down-D0ohA4RZ.js} +1 -1
- package/storybook-static/assets/{chevron-left-C1SZ4PrE.js → chevron-left-CLqpYqDQ.js} +1 -1
- package/storybook-static/assets/{chevron-right-CfCjHN8b.js → chevron-right-CXryGzSx.js} +1 -1
- package/storybook-static/assets/{chunk-W22LQPXL-Cis7lFT9.js → chunk-W22LQPXL-CxLeSIMq.js} +1 -1
- package/storybook-static/assets/{circle-alert-Mymt-6wl.js → circle-alert-l6NwXGUY.js} +1 -1
- package/storybook-static/assets/{circle-check-DzqMvzJX.js → circle-check-B-r716dD.js} +1 -1
- package/storybook-static/assets/{components-Do91qDh3.js → components-Vmrwp1qC.js} +3 -3
- package/storybook-static/assets/{contextMenu-8NKKgKoy.js → contextMenu-Br4n839h.js} +1 -1
- package/storybook-static/assets/{download-Cn6H3Bnv.js → download-DqFSGBvN.js} +1 -1
- package/storybook-static/assets/{floating-ui.react-BFqa49jG.js → floating-ui.react-B-qFeMZZ.js} +1 -1
- package/storybook-static/assets/{formatMultiSelectOptionCount-xGq1uM2H.js → formatMultiSelectOptionCount-BxXwE0wd.js} +1 -1
- package/storybook-static/assets/{formatters-DVE1YVNQ-YIdRxgw-.js → formatters-DVE1YVNQ-CJCkXjuI.js} +1 -1
- package/storybook-static/assets/{foundationApi-CChPwNx-.js → foundationApi-DxO3oR-c.js} +1 -1
- package/storybook-static/assets/{foundationLib-ClEyfTpa.js → foundationLib-CTFFCQvn.js} +1 -1
- package/storybook-static/assets/getFlexClasses-BBvI2V8h.css +1 -0
- package/storybook-static/assets/getFlexClasses-DOf6NlyJ.js +1 -0
- package/storybook-static/assets/{hooks-DUKyfcb_.js → hooks-CAgVZJ-F.js} +1 -1
- package/storybook-static/assets/{iframe-1Nw_zWMi.js → iframe-E950Ehp0.js} +4 -4
- package/storybook-static/assets/iframe-dKozSQh6.js +1 -0
- package/storybook-static/assets/{info-DMI56qGy.js → info-Dp6XZGwP.js} +1 -1
- package/storybook-static/assets/{odata-D9M3xPIL.js → odata-DuJbgix6.js} +1 -1
- package/storybook-static/assets/{odataStoryFixtures-eHJgW7OK.js → odataStoryFixtures-CDArjyM7.js} +1 -1
- package/storybook-static/assets/{react-DidV4ORc.js → react-CGpO0FqR.js} +1 -1
- package/storybook-static/assets/{refresh-cw-B1ChlhvT.js → refresh-cw-dMgbnEda.js} +1 -1
- package/storybook-static/assets/responsiveLayout-B9XAp69M.js +1 -0
- package/storybook-static/assets/{settings-2-BxwqnB9r.js → settings-2-CmW1dpao.js} +1 -1
- package/storybook-static/assets/{sortable-DMBM69Jm.js → sortable-D7TAXZBK.js} +1 -1
- package/storybook-static/assets/{syntaxhighlighter-QEQV7K2Y-BJZNAUo-.js → syntaxhighlighter-QEQV7K2Y-ok7zY4QK.js} +1 -1
- package/storybook-static/assets/{trash-2-B768_PZU.js → trash-2-5v1tbQ2V.js} +1 -1
- package/storybook-static/assets/{triangle-alert-B8H-k2Bq.js → triangle-alert-CVLPpc5j.js} +1 -1
- package/storybook-static/assets/{useODataSelectBase-BKAZcf4R.js → useODataSelectBase-Bkht6gRs.js} +1 -1
- package/storybook-static/assets/{useODataTreeData-Bxlcmpg8.js → useODataTreeData-DTWPuC9Y.js} +1 -1
- package/storybook-static/assets/{usePickerDefaultFilter-ien2ZY7g.js → usePickerDefaultFilter-Djn1liy6.js} +1 -1
- package/storybook-static/assets/{usePickerQuery-DJj2HmX9.js → usePickerQuery-BmoBHlzm.js} +1 -1
- package/storybook-static/assets/{usePickerTriggerController-CiD33ccS.js → usePickerTriggerController-Dvt7LsFZ.js} +1 -1
- package/storybook-static/assets/{x-Dt9SO3SL.js → x-DZpfbNy0.js} +1 -1
- package/storybook-static/iframe.html +2 -2
- package/storybook-static/index.json +1 -1
- package/storybook-static/project.json +1 -1
- package/dist/chunks/base-table-9H5YuVvB.js.map +0 -1
- package/dist/chunks/flex-D86M_h-0.js +0 -222
- package/dist/chunks/flex-D86M_h-0.js.map +0 -1
- package/dist/chunks/grid-CFuzBigM.js +0 -186
- package/dist/chunks/grid-CFuzBigM.js.map +0 -1
- package/dist/chunks/table-BRC1OTyE.js +0 -141
- package/dist/chunks/table-BRC1OTyE.js.map +0 -1
- package/dist/flex/useFlexClasses.d.ts +0 -8
- package/dist/flex/useFlexClasses.d.ts.map +0 -1
- package/dist/grid/useGridClasses.d.ts +0 -10
- package/dist/grid/useGridClasses.d.ts.map +0 -1
- package/storybook-static/assets/Flex-DpQpF63N.js +0 -61
- package/storybook-static/assets/Flex.stories-DtlKiJno.js +0 -300
- package/storybook-static/assets/FlexContainer-C1d63I55.js +0 -1
- package/storybook-static/assets/FormattedTableCell-B4RRbSFK.js +0 -15
- package/storybook-static/assets/Grid-DsCUaz46.js +0 -61
- package/storybook-static/assets/Grid.stories-DAGg0GWi.js +0 -495
- package/storybook-static/assets/GridContainer-K9R_IHaw.css +0 -1
- package/storybook-static/assets/Table-DcNGLEI6.js +0 -197
- package/storybook-static/assets/Table.stories-DbEzudxD.js +0 -178
- package/storybook-static/assets/iframe-BgBwFMGW.js +0 -1
- package/storybook-static/assets/media-D9cE2tzi.js +0 -1
- package/storybook-static/assets/useFlexClasses-IXK2se1Y.css +0 -1
- package/storybook-static/assets/useFlexClasses-SgVG37Bb.js +0 -1
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-1Nw_zWMi.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-DR4JL0hD.js";import{_ as p,a as m,c as h,d as g,f as _,g as v,h as y,i as b,l as x,m as S,n as C,o as w,p as T,r as E,s as D,t as O,u as k}from"./Table.stories-DbEzudxD.js";function A(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(s,{of:D,parameters:{docs:{toc:!0}}}),`
|
|
2
|
-
`,(0,M.jsx)(u,{children:`Table`}),`
|
|
3
|
-
`,(0,M.jsxs)(o,{children:[`Плоская таблица как React-альтернатива `,(0,M.jsx)(t.code,{children:`sap.m.Table`})]}),`
|
|
4
|
-
`,(0,M.jsxs)(t.p,{children:[(0,M.jsx)(t.code,{children:`Table`}),` предназначен для плоских данных и по поведению осознанно сближен с `,(0,M.jsx)(t.code,{children:`TreeTable`}),`.
|
|
5
|
-
Оба компонента используют общий табличный каркас, поэтому здесь совпадают states загрузки, визуальная структура, обработка выбора строк и клавиатурная активация.
|
|
6
|
-
`,(0,M.jsx)(t.code,{children:`Table`}),` также поддерживает декларативное форматирование через `,(0,M.jsx)(t.code,{children:`meta.formatting`}),`, formulas, безопасное pipeline-formatting и optional OData adapter.`]}),`
|
|
7
|
-
`,(0,M.jsx)(t.h2,{id:`основной-сценарий`,children:`Основной сценарий`}),`
|
|
8
|
-
`,(0,M.jsx)(f,{}),`
|
|
9
|
-
`,(0,M.jsx)(i,{of:O}),`
|
|
10
|
-
`,(0,M.jsx)(t.pre,{children:(0,M.jsx)(t.code,{className:`language-tsx`,children:`import { Table, type TableColumnDef } from "@ryuzaki13/react-foundation-ui";
|
|
11
|
-
|
|
12
|
-
interface DealRow {
|
|
13
|
-
id: string;
|
|
14
|
-
number: string;
|
|
15
|
-
client: string;
|
|
16
|
-
amount: string;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
const columns: TableColumnDef<DealRow>[] = [
|
|
20
|
-
{
|
|
21
|
-
id: "number",
|
|
22
|
-
accessorKey: "number",
|
|
23
|
-
header: "Номер",
|
|
24
|
-
meta: { width: "9em" }
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
id: "client",
|
|
28
|
-
accessorKey: "client",
|
|
29
|
-
header: "Клиент",
|
|
30
|
-
meta: { width: "14em" }
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
id: "amount",
|
|
34
|
-
accessorKey: "amount",
|
|
35
|
-
header: "Сумма",
|
|
36
|
-
meta: { width: "10em", align: "right" }
|
|
37
|
-
}
|
|
38
|
-
];
|
|
39
|
-
|
|
40
|
-
export function Example({ rows }: { rows: DealRow[] }) {
|
|
41
|
-
return <Table data={rows} columns={columns} getRowId={(row) => row.id} selectionMode="single" height="20em" />;
|
|
42
|
-
}
|
|
43
|
-
`})}),`
|
|
44
|
-
`,(0,M.jsx)(t.h2,{id:`форматирование-ячеек`,children:`Форматирование ячеек`}),`
|
|
45
|
-
`,(0,M.jsxs)(t.p,{children:[(0,M.jsx)(t.code,{children:`meta.formatting`}),` добавляет к колонке декларативный runtime-контракт:`]}),`
|
|
46
|
-
`,(0,M.jsxs)(t.ul,{children:[`
|
|
47
|
-
`,(0,M.jsxs)(t.li,{children:[`typed formatting по `,(0,M.jsx)(t.code,{children:`role/type`}),`;`]}),`
|
|
48
|
-
`,(0,M.jsx)(t.li,{children:`formula-based вычисление значения;`}),`
|
|
49
|
-
`,(0,M.jsxs)(t.li,{children:[`pipeline display-formatting (`,(0,M.jsx)(t.code,{children:`normalizeLeadingZeros`}),`, `,(0,M.jsx)(t.code,{children:`resolveValueState`}),`, `,(0,M.jsx)(t.code,{children:`typedValueFormat`}),`);`]}),`
|
|
50
|
-
`,(0,M.jsxs)(t.li,{children:[(0,M.jsx)(t.code,{children:`emptyWhenZero`}),` для скрытия нулевых значений;`]}),`
|
|
51
|
-
`,(0,M.jsxs)(t.li,{children:[(0,M.jsx)(t.code,{children:`overflowTooltip`}),` для длинного текста.`]}),`
|
|
52
|
-
`]}),`
|
|
53
|
-
`,(0,M.jsx)(t.p,{children:`Важно:`}),`
|
|
54
|
-
`,(0,M.jsxs)(t.ul,{children:[`
|
|
55
|
-
`,(0,M.jsxs)(t.li,{children:[(0,M.jsx)(t.code,{children:`meta.formatting`}),` применяется только если у колонки нет кастомного `,(0,M.jsx)(t.code,{children:`cell`}),`;`]}),`
|
|
56
|
-
`,(0,M.jsx)(t.li,{children:`formulas и pipeline компилируются один раз на снимок колонок;`}),`
|
|
57
|
-
`,(0,M.jsxs)(t.li,{children:[`ошибки formula/pipeline не роняют таблицу и не подставляют универсальный `,(0,M.jsx)(t.code,{children:`0`}),`;`]}),`
|
|
58
|
-
`,(0,M.jsxs)(t.li,{children:[`OData adapter остаётся внешней прослойкой, а не частью `,(0,M.jsx)(t.code,{children:`Table`}),`.`]}),`
|
|
59
|
-
`]}),`
|
|
60
|
-
`,(0,M.jsx)(t.pre,{children:(0,M.jsx)(t.code,{className:`language-tsx`,children:`const columns: TableColumnDef<Row>[] = [
|
|
61
|
-
{
|
|
62
|
-
id: "amount",
|
|
63
|
-
accessorKey: "amount",
|
|
64
|
-
header: "Сумма",
|
|
65
|
-
meta: {
|
|
66
|
-
align: "right",
|
|
67
|
-
formatting: {
|
|
68
|
-
role: "measure",
|
|
69
|
-
type: "decimal",
|
|
70
|
-
emptyWhenZero: true
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
];
|
|
75
|
-
`})}),`
|
|
76
|
-
`,(0,M.jsxs)(t.p,{children:[`Для OData-сценариев можно не прописывать `,(0,M.jsx)(t.code,{children:`role/type`}),` вручную, а обогатить колонки через adapter:`]}),`
|
|
77
|
-
`,(0,M.jsx)(t.pre,{children:(0,M.jsx)(t.code,{className:`language-tsx`,children:`import { enrichTableColumnsWithODataFormatting } from "@ryuzaki13/react-foundation-lib/table";
|
|
78
|
-
|
|
79
|
-
const columns = enrichTableColumnsWithODataFormatting(manualColumns, metadata.columns);
|
|
80
|
-
`})}),`
|
|
81
|
-
`,(0,M.jsx)(t.h2,{id:`слияние-дубликатов`,children:`Слияние дубликатов`}),`
|
|
82
|
-
`,(0,M.jsxs)(t.p,{children:[(0,M.jsx)(t.code,{children:`meta.mergeDuplicates`}),` включает display-only слияние подряд идущих одинаковых raw-значений без изменения структуры строк.`]}),`
|
|
83
|
-
`,(0,M.jsx)(t.p,{children:`Важно:`}),`
|
|
84
|
-
`,(0,M.jsxs)(t.ul,{children:[`
|
|
85
|
-
`,(0,M.jsxs)(t.li,{children:[`сравнение идёт по `,(0,M.jsx)(t.code,{children:`cell.getValue()`}),`, а не по formatted display;`]}),`
|
|
86
|
-
`,(0,M.jsx)(t.li,{children:`объединяются только подряд идущие строки;`}),`
|
|
87
|
-
`,(0,M.jsxs)(t.li,{children:[(0,M.jsx)(t.code,{children:`null`}),`, `,(0,M.jsx)(t.code,{children:`undefined`}),` и пустая строка `,(0,M.jsx)(t.code,{children:`""`}),` не объединяются;`]}),`
|
|
88
|
-
`,(0,M.jsx)(t.li,{children:`повторяющееся значение остаётся только в первой строке группы, а ниже рендерятся пустые ячейки;`}),`
|
|
89
|
-
`,(0,M.jsx)(t.li,{children:`если сервер не отсортировал данные так, чтобы дубликаты шли подряд, слияния не будет.`}),`
|
|
90
|
-
`]}),`
|
|
91
|
-
`,(0,M.jsx)(t.pre,{children:(0,M.jsx)(t.code,{className:`language-tsx`,children:`const columns: TableColumnDef<Row>[] = [
|
|
92
|
-
{
|
|
93
|
-
id: "division",
|
|
94
|
-
accessorKey: "division",
|
|
95
|
-
header: "Дивизион",
|
|
96
|
-
meta: {
|
|
97
|
-
mergeDuplicates: true
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
];
|
|
101
|
-
`})}),`
|
|
102
|
-
`,(0,M.jsxs)(t.h2,{id:`хук-useodatatablecolumns`,children:[`Хук `,(0,M.jsx)(t.code,{children:`useODataTableColumns`})]}),`
|
|
103
|
-
`,(0,M.jsxs)(t.p,{children:[`Наиболее частый кейс - работать не с pure-helper напрямую, а с hook-слоем `,(0,M.jsx)(t.code,{children:`useODataTableColumns(...)`}),`.`]}),`
|
|
104
|
-
`,(0,M.jsxs)(t.p,{children:[(0,M.jsx)(t.code,{children:`build`}),` стоит выбирать, когда колонки можно полностью собрать из `,(0,M.jsx)(t.code,{children:`metadata.columns`}),`:`]}),`
|
|
105
|
-
`,(0,M.jsx)(t.pre,{children:(0,M.jsx)(t.code,{className:`language-tsx`,children:`import { useODataTableColumns } from "@ryuzaki13/react-foundation-api/odata";
|
|
106
|
-
import { Table } from "@ryuzaki13/react-foundation-ui";
|
|
107
|
-
|
|
108
|
-
function DealsTable({ rows }: { rows: DealRow[] }) {
|
|
109
|
-
const { columns, metadata, isLoading } = useODataTableColumns<DealRow>({
|
|
110
|
-
service: "ZSD_SALES_SRV",
|
|
111
|
-
entity: "DealSet",
|
|
112
|
-
mode: "build"
|
|
113
|
-
});
|
|
114
|
-
|
|
115
|
-
return (
|
|
116
|
-
<Table
|
|
117
|
-
title={metadata?.title ?? "Сделки"}
|
|
118
|
-
data={rows}
|
|
119
|
-
columns={columns}
|
|
120
|
-
isLoading={isLoading}
|
|
121
|
-
getRowId={(row) => row.id}
|
|
122
|
-
selectionMode="single"
|
|
123
|
-
/>
|
|
124
|
-
);
|
|
125
|
-
}
|
|
126
|
-
`})}),`
|
|
127
|
-
`,(0,M.jsxs)(t.p,{children:[(0,M.jsx)(t.code,{children:`enrich`}),` подходит, когда колонки уже описаны вручную и нужно только дозаполнить `,(0,M.jsx)(t.code,{children:`meta.formatting.role/type`}),`:`]}),`
|
|
128
|
-
`,(0,M.jsx)(t.pre,{children:(0,M.jsx)(t.code,{className:`language-tsx`,children:`import { useODataTableColumns } from "@ryuzaki13/react-foundation-api/odata";
|
|
129
|
-
import { Table } from "@ryuzaki13/react-foundation-ui";
|
|
130
|
-
|
|
131
|
-
const manualColumns: TableColumnDef<DealRow>[] = [
|
|
132
|
-
{ id: "product", accessorKey: "product", header: "Позиция" },
|
|
133
|
-
{ id: "createdAt", accessorKey: "createdAt", header: "Создано" },
|
|
134
|
-
{ id: "totalAmount", accessorKey: "totalAmount", header: "Итог", meta: { align: "right" } }
|
|
135
|
-
];
|
|
136
|
-
|
|
137
|
-
function DealsTable({ rows }: { rows: DealRow[] }) {
|
|
138
|
-
const { columns, isLoading } = useODataTableColumns<DealRow>({
|
|
139
|
-
service: "ZSD_SALES_SRV",
|
|
140
|
-
entity: "DealSet",
|
|
141
|
-
mode: "enrich",
|
|
142
|
-
columns: manualColumns
|
|
143
|
-
});
|
|
144
|
-
|
|
145
|
-
return <Table data={rows} columns={columns} isLoading={isLoading} getRowId={(row) => row.id} selectionMode="single" />;
|
|
146
|
-
}
|
|
147
|
-
`})}),`
|
|
148
|
-
`,(0,M.jsx)(t.p,{children:`Практическая семантика хука:`}),`
|
|
149
|
-
`,(0,M.jsxs)(t.ul,{children:[`
|
|
150
|
-
`,(0,M.jsxs)(t.li,{children:[(0,M.jsx)(t.code,{children:`columns`}),` уже готовы для прямой передачи в `,(0,M.jsx)(t.code,{children:`Table`}),`;`]}),`
|
|
151
|
-
`,(0,M.jsxs)(t.li,{children:[(0,M.jsx)(t.code,{children:`metadata`}),` можно использовать для заголовка, пустых состояний или дополнительной UI-подписи;`]}),`
|
|
152
|
-
`,(0,M.jsxs)(t.li,{children:[(0,M.jsx)(t.code,{children:`isLoading`}),` нужно прокидывать в `,(0,M.jsx)(t.code,{children:`Table`}),`, чтобы сохранить единое табличное состояние загрузки;`]}),`
|
|
153
|
-
`,(0,M.jsxs)(t.li,{children:[`сам `,(0,M.jsx)(t.code,{children:`Table`}),` остаётся OData-независимым и получает только готовые `,(0,M.jsx)(t.code,{children:`columns`}),`.`]}),`
|
|
154
|
-
`]}),`
|
|
155
|
-
`,(0,M.jsx)(t.h2,{id:`что-важно-знать`,children:`Что важно знать`}),`
|
|
156
|
-
`,(0,M.jsxs)(t.ul,{children:[`
|
|
157
|
-
`,(0,M.jsx)(t.li,{children:`Компонент принимает именно плоский массив строк и не содержит древовидной логики.`}),`
|
|
158
|
-
`,(0,M.jsxs)(t.li,{children:[`Поведение `,(0,M.jsx)(t.code,{children:`selectionMode`}),` идентично `,(0,M.jsx)(t.code,{children:`TreeTable`}),`: `,(0,M.jsx)(t.code,{children:`single`}),` не снимает выбор повторным кликом по уже выбранной строке.`]}),`
|
|
159
|
-
`,(0,M.jsxs)(t.li,{children:[(0,M.jsx)(t.code,{children:`height`}),` и ширины колонок можно задавать строками в `,(0,M.jsx)(t.code,{children:`em`}),`, `,(0,M.jsx)(t.code,{children:`rem`}),`, `,(0,M.jsx)(t.code,{children:`%`}),` и других CSS-единицах; числовые значения трактуются как `,(0,M.jsx)(t.code,{children:`em`}),`.`]}),`
|
|
160
|
-
`,(0,M.jsxs)(t.li,{children:[(0,M.jsx)(t.code,{children:`onReachEnd`}),` срабатывает внутри scroll-контейнера и подходит для постепенной догрузки длинного списка.`]}),`
|
|
161
|
-
`,(0,M.jsxs)(t.li,{children:[(0,M.jsx)(t.code,{children:`Table`}),` не зависит от OData напрямую и продолжает работать на plain local data без metadata.`]}),`
|
|
162
|
-
`]}),`
|
|
163
|
-
`,(0,M.jsx)(t.h2,{id:`сценарии`,children:`Сценарии`}),`
|
|
164
|
-
`,(0,M.jsx)(t.h3,{id:`базовый-режим`,children:`Базовый режим`}),`
|
|
165
|
-
`,(0,M.jsx)(d,{of:O}),`
|
|
166
|
-
`,(0,M.jsx)(t.h3,{id:`left-pinning-столбцов`,children:`Left-pinning столбцов`}),`
|
|
167
|
-
`,(0,M.jsx)(d,{of:h}),`
|
|
168
|
-
`,(0,M.jsx)(t.h3,{id:`множественный-выбор`,children:`Множественный выбор`}),`
|
|
169
|
-
`,(0,M.jsx)(d,{of:m}),`
|
|
170
|
-
`,(0,M.jsx)(t.h3,{id:`строки-с-ограничением-выбора`,children:`Строки с ограничением выбора`}),`
|
|
171
|
-
`,(0,M.jsx)(d,{of:x}),`
|
|
172
|
-
`,(0,M.jsx)(t.h3,{id:`фоновое-обновление-данных`,children:`Фоновое обновление данных`}),`
|
|
173
|
-
`,(0,M.jsx)(d,{of:E}),`
|
|
174
|
-
`,(0,M.jsx)(t.h3,{id:`пустая-таблица`,children:`Пустая таблица`}),`
|
|
175
|
-
`,(0,M.jsx)(d,{of:C}),`
|
|
176
|
-
`,(0,M.jsx)(t.h3,{id:`достижение-конца-списка`,children:`Достижение конца списка`}),`
|
|
177
|
-
`,(0,M.jsx)(d,{of:w}),`
|
|
178
|
-
`,(0,M.jsx)(t.h3,{id:`первичная-загрузка`,children:`Первичная загрузка`}),`
|
|
179
|
-
`,(0,M.jsx)(d,{of:b}),`
|
|
180
|
-
`,(0,M.jsx)(t.h3,{id:`formula-based-колонка`,children:`Formula-based колонка`}),`
|
|
181
|
-
`,(0,M.jsx)(d,{of:g}),`
|
|
182
|
-
`,(0,M.jsx)(t.h3,{id:`pipeline-display-formatting`,children:`Pipeline display-formatting`}),`
|
|
183
|
-
`,(0,M.jsx)(d,{of:k}),`
|
|
184
|
-
`,(0,M.jsx)(t.h3,{id:`скрытие-нулевых-значений`,children:`Скрытие нулевых значений`}),`
|
|
185
|
-
`,(0,M.jsx)(d,{of:_}),`
|
|
186
|
-
`,(0,M.jsx)(t.h3,{id:`слияние-дубликатов-1`,children:`Слияние дубликатов`}),`
|
|
187
|
-
`,(0,M.jsx)(d,{of:T}),`
|
|
188
|
-
`,(0,M.jsx)(t.h3,{id:`odata-metadata-adapter`,children:`OData metadata adapter`}),`
|
|
189
|
-
`,(0,M.jsx)(d,{of:S}),`
|
|
190
|
-
`,(0,M.jsx)(t.h3,{id:`useodatatablecolumns-build`,children:`useODataTableColumns: build`}),`
|
|
191
|
-
`,(0,M.jsx)(d,{of:y}),`
|
|
192
|
-
`,(0,M.jsx)(t.h3,{id:`useodatatablecolumns-enrich`,children:`useODataTableColumns: enrich`}),`
|
|
193
|
-
`,(0,M.jsx)(d,{of:v}),`
|
|
194
|
-
`,(0,M.jsx)(t.h2,{id:`api`,children:`API`}),`
|
|
195
|
-
`,(0,M.jsx)(l,{of:D}),`
|
|
196
|
-
`,(0,M.jsx)(t.h2,{id:`все-stories`,children:`Все stories`}),`
|
|
197
|
-
`,(0,M.jsx)(a,{includePrimary:!1})]})}function j(e={}){let{wrapper:t}={...n(),...e.components};return t?(0,M.jsx)(t,{...e,children:(0,M.jsx)(A,{...e})}):A(e)}var M;function N(){return(N=e((()=>{M=t(),r(),c(),p()})))()}N();export{j as default};
|
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r}from"./iframe-1Nw_zWMi.js";import{A as i,D as a,O as ee,T as te,_ as ne,a as re,b as o,d as ie,g as ae,i as oe,k as se}from"./odata-D9M3xPIL.js";import{h as ce,u as le}from"./formatters-DVE1YVNQ-YIdRxgw-.js";import{n as ue,t as de}from"./useTable-CK68Q4S4.js";import{_ as fe,a as pe,c as me,d as he,f as ge,g as _e,h as ve,i as ye,l as be,m as xe,n as Se,o as Ce,p as we,r as Te,s as Ee,t as De,u as Oe,v as ke,y as Ae}from"./FormattedTableCell-B4RRbSFK.js";import{n as je,t as s}from"./createControlledStoryRender-BouhvX-R.js";var c,Me,Ne;function l(){return(l=e((()=>{c=`hKghZt`,Me=`QsLRvS`,Ne={selectedIndicatorCell:c,sentinel:Me}})))()}function Pe(e,t){return String(t)}function u({title:e,isLoading:t,isFetching:n,data:r,columns:i,selectionMode:a=`none`,selectedRowIds:ee,getRowId:te,className:re,minHeight:o,tableClassName:ie,columnVisibility:oe,defaultColumnVisibility:se,columnOrder:ce,defaultColumnOrder:de,columnSizing:pe,defaultColumnSizing:he,columnPinning:_e,defaultColumnPinning:ye,enableColumnResizing:be=!1,enableColumnReordering:xe=!1,columnResizeMinWidth:Se,onColumnVisibilityChange:Ee,onColumnOrderChange:Ae,onColumnSizingChange:je,onColumnPinningChange:s,onRowClick:c,onRowSelectionChange:Me,onReachEnd:l,getRowCanSelect:u,getRowClassName:p,renderHeaderContextMenu:Fe,renderCellContent:m}){let h=(0,d.useMemo)(()=>r??[],[r]),g=(0,d.useMemo)(()=>ve(i),[i]),_=te??Pe,v=(0,d.useMemo)(()=>new Map(h.map((e,t)=>[_(e,t),e])),[_,h]),Ie=(0,d.useMemo)(()=>Array.from(v.keys()),[v]),y=(0,d.useRef)(null),b=(0,d.useRef)(null),{rowSelection:x,activateRowSelection:S}=ae({availableRowIds:Ie,rowById:v,selectionMode:a,selectedRowIds:ee,onRowSelectionChange:Me}),{columnVisibility:C,onColumnVisibilityChange:w}=Ce({columnVisibility:oe,defaultColumnVisibility:se,onColumnVisibilityChange:Ee}),{columnOrder:T,onColumnOrderChange:E}=ge({columnOrder:ce,defaultColumnOrder:de,onColumnOrderChange:Ae}),{columnSizing:D,onColumnSizingChange:O}=me({columnSizing:pe,defaultColumnSizing:he,columnResizeMinWidth:Se,onColumnSizingChange:je}),{columnPinning:k,onColumnPinningChange:Le}=Oe({columnPinning:_e,defaultColumnPinning:ye,onColumnPinningChange:s}),A=(0,d.useMemo)(()=>({columnOrder:T,columnPinning:k,columnSizing:D,columnVisibility:C}),[T,k,D,C]),j=(0,d.useEffectEvent)(()=>{l?.()});(0,d.useEffect)(()=>{if(!l||!y.current||!b.current||t)return;let e=new IntersectionObserver(e=>{e[0]?.isIntersecting&&j()},{root:y.current,threshold:.1});return e.observe(b.current),()=>e.disconnect()},[t,l,h.length]);let M=ue({features:ne,data:h,columns:i,state:{columnOrder:T,columnPinning:k,columnSizing:D,columnVisibility:C,rowSelection:x},onColumnOrderChange:E,onColumnPinningChange:Le,onColumnSizingChange:O,onColumnVisibilityChange:w,getRowId:(e,t)=>_(e,t),enableMultiRowSelection:a===`multi`,enableRowSelection:e=>a===`none`?!1:!u||u(e.original)}),N=ke(M,A),P=M.getRowModel().rows,F=(0,d.useMemo)(()=>we({rows:P,columns:N}),[P,N]),I=N[0]?.id;return(0,f.jsx)(Te,{table:M,columnState:A,title:e,isLoading:t,isFetching:n,className:re,minHeight:o,tableClassName:ie,selectionMode:a,scrollableRef:y,onActivateRow:a!==`none`||c?e=>{S(e.id,e.getCanSelect()),c?.(e.original)}:void 0,isRowInteractive:e=>!!(c||a!==`none`&&e.getCanSelect()),getRowClassName:e=>p?.(e.original),getCellClassName:({row:e,cell:t})=>t.column.id===I&&e.getIsSelected()?Ne.selectedIndicatorCell:void 0,getCellLayout:({cell:e})=>F.get(e.id),renderHeaderContextMenu:Fe,enableColumnResizing:be,enableColumnReordering:xe,columnResizeMinWidth:Se,renderCellContent:e=>{let t=le({field:g.runtimeByColumnId[e.cell.column.id],rawValue:e.cell.getValue(),rowData:e.row.original,rowKind:`plain`}),n=fe({columnId:e.cell.column.id,runtimeByColumnId:g.runtimeByColumnId,customCellColumnIds:g.customCellColumnIds})?(0,f.jsx)(De,{displayValue:t,align:e.columnMeta?.align}):e.defaultContent;return m?m({...e,defaultContent:n,displayValue:t}):n},afterTableContent:l?(0,f.jsx)(`div`,{ref:b,className:Ne.sentinel,"aria-hidden":`true`}):null})}var d,f;function p(){return(p=e((()=>{d=n(),ce(),o(),de(),ye(),xe(),_e(),Se(),Ae(),he(),be(),Ee(),pe(),l(),f=r(),u.__docgenInfo={description:"Плоская таблица на базе TanStack Table как React-альтернатива `sap.m.Table`.",methods:[],displayName:`Table`,props:{title:{required:!1,tsType:{name:`string`},description:`Необязательный заголовок над таблицей.`},isLoading:{required:!1,tsType:{name:`boolean`},description:`Признак первичной загрузки.`},isFetching:{required:!1,tsType:{name:`boolean`},description:`Признак фоновой догрузки или обновления данных.`},data:{required:!0,tsType:{name:`union`,raw:`readonly TData[] | undefined | null`,elements:[{name:`unknown`},{name:`undefined`},{name:`null`}]},description:`Плоский источник строк.`},columns:{required:!0,tsType:{name:`unknown`},description:`Описание колонок таблицы.`},selectionMode:{required:!1,tsType:{name:`TableSelectionMode`},description:`Режим выбора строк.`,defaultValue:{value:`"none"`,computed:!1}},selectedRowIds:{required:!1,tsType:{name:`unknown`},description:`Внешний список выбранных строк.
|
|
2
|
-
|
|
3
|
-
Если передан, таблица синхронизирует визуальное выделение с этим набором id.`},getRowId:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(row: TData, index: number) => string`,signature:{arguments:[{type:{name:`TData`},name:`row`},{type:{name:`number`},name:`index`}],return:{name:`string`}}},description:`Стабильный идентификатор строки.
|
|
4
|
-
|
|
5
|
-
Если не задан, используется индекс строки.`},className:{required:!1,tsType:{name:`string`},description:`Дополнительный CSS-класс корневого контейнера.`},minHeight:{required:!1,tsType:{name:`union`,raw:"`${number}em` | `${number}%`",elements:[{name:`literal`,value:"`${number}em`"},{name:`literal`,value:"`${number}%`"}]},description:``},tableClassName:{required:!1,tsType:{name:`string`},description:"Дополнительный CSS-класс тега `table`."},columnVisibility:{required:!1,tsType:{name:`TableColumnVisibilityState`},description:`Внешнее controlled-состояние видимости колонок.`},defaultColumnVisibility:{required:!1,tsType:{name:`TableColumnVisibilityState`},description:`Стартовое uncontrolled-состояние видимости колонок.`},columnOrder:{required:!1,tsType:{name:`unknown`},description:`Внешнее controlled-состояние порядка колонок.`},defaultColumnOrder:{required:!1,tsType:{name:`unknown`},description:`Стартовое uncontrolled-состояние порядка колонок.`},columnSizing:{required:!1,tsType:{name:`TableColumnSizingState`},description:`Внешнее controlled-состояние ширин колонок в px.`},defaultColumnSizing:{required:!1,tsType:{name:`TableColumnSizingState`},description:`Стартовое uncontrolled-состояние ширин колонок в px.`},columnPinning:{required:!1,tsType:{name:`TableColumnPinningState`},description:`Внешнее controlled-состояние start-pinning для колонок.`},defaultColumnPinning:{required:!1,tsType:{name:`TableColumnPinningState`},description:`Стартовое uncontrolled-состояние start-pinning для колонок.`},enableColumnResizing:{required:!1,tsType:{name:`boolean`},description:`Включает изменение ширины колонок через header-handle.`,defaultValue:{value:`false`,computed:!1}},enableColumnReordering:{required:!1,tsType:{name:`boolean`},description:`Включает изменение порядка колонок через drag&drop заголовков.`,defaultValue:{value:`false`,computed:!1}},columnResizeMinWidth:{required:!1,tsType:{name:`number`},description:`Минимальная ширина колонки при resize в px.`},onColumnVisibilityChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(state: TableColumnVisibilityState) => void`,signature:{arguments:[{type:{name:`TableColumnVisibilityState`},name:`state`}],return:{name:`void`}}},description:`Вызывается после изменения видимости колонок.`},onColumnOrderChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(state: TableColumnOrderState) => void`,signature:{arguments:[{type:{name:`TableColumnOrderState`},name:`state`}],return:{name:`void`}}},description:`Вызывается после изменения порядка колонок.`},onColumnSizingChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(state: TableColumnSizingState) => void`,signature:{arguments:[{type:{name:`TableColumnSizingState`},name:`state`}],return:{name:`void`}}},description:`Вызывается после изменения ширины колонок.`},onColumnPinningChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(state: TableColumnPinningState) => void`,signature:{arguments:[{type:{name:`TableColumnPinningState`},name:`state`}],return:{name:`void`}}},description:`Вызывается после изменения start-pinning state.`},onRowClick:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(row: TData) => void`,signature:{arguments:[{type:{name:`TData`},name:`row`}],return:{name:`void`}}},description:`Вызывается при активации строки кликом или клавиатурой.`},onRowSelectionChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(rows: TData[]) => void`,signature:{arguments:[{type:{name:`Array`,elements:[{name:`TData`}],raw:`TData[]`},name:`rows`}],return:{name:`void`}}},description:`Вызывается после изменения выбранных строк.`},onReachEnd:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:`Вызывается при достижении конца таблицы внутри scroll-контейнера.`},getRowCanSelect:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(row: TData) => boolean`,signature:{arguments:[{type:{name:`TData`},name:`row`}],return:{name:`boolean`}}},description:`Позволяет запретить выбор отдельных строк.`},getRowClassName:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(row: TData) => string | undefined`,signature:{arguments:[{type:{name:`TData`},name:`row`}],return:{name:`union`,raw:`string | undefined`,elements:[{name:`string`},{name:`undefined`}]}}},description:`Позволяет добавить CSS-класс для конкретной строки.`},renderHeaderContextMenu:{required:!1,tsType:{name:`BaseTableProps["renderHeaderContextMenu"]`,raw:`BaseTableProps<TData>["renderHeaderContextMenu"]`},description:`Контекстное меню заголовка колонки. Используется для общих runtime-действий
|
|
6
|
-
вроде server sorting без встраивания доменной логики в shared-таблицу.`},renderCellContent:{required:!1,tsType:{name:`BaseTableProps["renderCellContent"]`,raw:`BaseTableProps<TData>["renderCellContent"]`},description:"Тонкая точка расширения содержимого ячейки поверх стандартного форматирования.\n\nВ отличие от `column.cell`, этот слот не отключает общий formatting-runtime:\n`defaultContent` уже содержит отформатированное значение, если оно применимо."}}}})))()}var Fe=t({Basic:()=>z,Empty:()=>W,Fetching:()=>U,Loading:()=>K,MultiSelect:()=>V,ReachEnd:()=>G,WithColumnPinning:()=>B,WithDisabledRows:()=>H,WithFormattingPipeline:()=>J,WithFormulaColumn:()=>q,WithHiddenZero:()=>Y,WithMergedDuplicates:()=>X,WithODataMetadataAdapter:()=>Z,WithUseODataTableColumnsBuildHook:()=>Q,WithUseODataTableColumnsEnrichHook:()=>$,__namedExportsOrder:()=>Be,default:()=>Re});function m(){return{version:1,plan:{steps:[{id:`state`,type:`resolveValueState`,config:{resolver:{kind:`threshold`,thresholds:[100],states:[`success`,`warning`],invalidState:`none`},icon:{enabled:!0,showValue:!0,position:`right`}}},{id:`typed`,type:`typedValueFormat`}]}}}function h(e,t){let n=e.data??[];return t.map(t=>{let r=n.indexOf(t);return e.getRowId?.(t,r)??String(r)})}function g({args:e,updateArgs:t}){return(0,b.jsx)(u,{...e,onColumnVisibilityChange:n=>{e.onColumnVisibilityChange?.(n),t({columnVisibility:n})},onColumnOrderChange:n=>{e.onColumnOrderChange?.(n),t({columnOrder:n})},onColumnSizingChange:n=>{e.onColumnSizingChange?.(n),t({columnSizing:n})},onColumnPinningChange:n=>{e.onColumnPinningChange?.(n),t({columnPinning:n})},onRowSelectionChange:n=>{e.onRowSelectionChange?.(n),t({selectedRowIds:h(e,n)})}})}function _({args:e,updateArgs:t}){let{columns:n,metadata:r,isLoading:i}=oe({service:N,target:P,mode:`build`});return(0,b.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`},children:[(0,b.jsxs)(`div`,{children:[`Режим build: hook собрал `,n.length,` колонки из metadata`,r?` для сущности «${r.title}».`:`.`]}),(0,b.jsx)(g,{args:{...e,columns:n,isLoading:e.isLoading??i},updateArgs:t})]})}function v({args:e,updateArgs:t}){let{columns:n,metadata:r,isLoading:i}=oe({service:N,target:P,mode:`enrich`,columns:j});return(0,b.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`},children:[(0,b.jsxs)(`div`,{children:[`Режим enrich: hook сохранил ручные заголовки и дополнил formatting-контекст`,r?` из metadata «${r.title}».`:`.`]}),(0,b.jsx)(g,{args:{...e,columns:n,isLoading:e.isLoading??i},updateArgs:t})]})}function Ie({args:e,updateArgs:t}){let[n,r]=(0,y.useState)(0);return(0,b.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`},children:[(0,b.jsxs)(`div`,{children:[`Событие достижения конца: `,n]}),(0,b.jsx)(g,{args:{...e,onReachEnd:()=>{e.onReachEnd?.(),r(e=>e+1)}},updateArgs:t})]})}var y,b,x,S,C,w,T,E,D,O,k,Le,A,j,M,N,P,F,I,Re,L,R,ze,z,B,V,H,U,W,G,K,q,J,Y,X,Z,Q,$,Be;function Ve(){return(Ve=e((()=>{y=n(),re(),ee(),o(),i(),je(),p(),b=r(),x=[{id:`1`,number:`450001`,client:`Северсталь`,manager:`Иван Петров`,amount:`1 250 000`,status:`Новая`},{id:`2`,number:`450002`,client:`ММК`,manager:`Анна Смирнова`,amount:`980 000`,status:`В работе`},{id:`3`,number:`450003`,client:`НЛМК`,manager:`Олег Николаев`,amount:`1 540 000`,status:`Согласование`},{id:`4`,number:`450004`,client:`ЕВРАЗ`,manager:`Мария Кузнецова`,amount:`760 000`,status:`Отгружена`},{id:`5`,number:`450005`,client:`ТМК`,manager:`Дмитрий Волков`,amount:`1 120 000`,status:`Закрыта`}],S=[...x,{id:`6`,number:`450006`,client:`ОМК`,manager:`Елена Андреева`,amount:`680 000`,status:`Архив`,isLocked:!0}],C=Array.from({length:18},(e,t)=>({id:String(t+1),number:`4600${String(t+1).padStart(2,`0`)}`,client:`Клиент ${t+1}`,manager:`Менеджер ${t+1}`,amount:`${850+t*15} 000`,status:t%2==0?`В работе`:`Согласование`})),w=[{id:`number`,accessorKey:`number`,header:`Номер`,meta:{width:9}},{id:`client`,accessorKey:`client`,header:`Клиент`,meta:{width:14}},{id:`manager`,accessorKey:`manager`,header:`Менеджер`,meta:{width:12}},{id:`amount`,accessorKey:`amount`,header:`Сумма`,meta:{width:10,align:`right`}},{id:`status`,accessorKey:`status`,header:`Статус`,meta:{width:11}}],T=[{id:`fmt-1`,product:`Лист горячекатаный`,purchasePrice:80,salePrice:120,healthScore:35,pendingAmount:0,createdAt:`2026-03-18T09:15:00.000Z`,totalAmount:1520.5},{id:`fmt-2`,product:`Рулон оцинкованный`,purchasePrice:95,salePrice:150,healthScore:125,pendingAmount:320,createdAt:`2026-03-19T11:40:00.000Z`,totalAmount:2140},{id:`fmt-3`,product:`Арматура`,purchasePrice:60,salePrice:90,healthScore:70,pendingAmount:0,createdAt:`2026-03-20T07:05:00.000Z`,totalAmount:980.75}],E=[{id:`merge-1`,division:`ДВД`,department:`Продажи`,employee:`Иван Петров`},{id:`merge-2`,division:`ДВД`,department:`Продажи`,employee:`Анна Смирнова`},{id:`merge-3`,division:`ДВД`,department:`Продажи`,employee:`Олег Николаев`},{id:`merge-4`,division:`УД`,department:`Логистика`,employee:`Мария Кузнецова`},{id:`merge-5`,division:`УД`,department:`Логистика`,employee:`Дмитрий Волков`},{id:`merge-6`,division:`УД`,department:`Логистика`,employee:`Елена Андреева`},{id:`merge-7`,division:`УД`,department:`Логистика`,employee:`Николай Орлов`}],D=[{id:`division`,accessorKey:`division`,header:`Дивизион`,meta:{width:10,mergeDuplicates:!0}},{id:`department`,accessorKey:`department`,header:`Подразделение`,meta:{width:12}},{id:`employee`,accessorKey:`employee`,header:`Сотрудник`,meta:{width:14}}],O=[{id:`product`,accessorKey:`product`,header:`Товар`,meta:{width:16}},{id:`purchasePrice`,accessorKey:`purchasePrice`,header:`Закупка`,meta:{width:9,align:`right`,formatting:{role:`measure`,type:`decimal`}}},{id:`salePrice`,accessorKey:`salePrice`,header:`Продажа`,meta:{width:9,align:`right`,formatting:{role:`measure`,type:`decimal`}}},{id:`markup`,accessorFn:()=>void 0,header:`Наценка`,meta:{width:9,align:`right`,formatting:{role:`measure`,type:`decimal`,formulaId:`markup`,formulaDependencies:[`purchasePrice`,`salePrice`],purelyDerived:!0}}}],k=[{id:`product`,accessorKey:`product`,header:`Товар`,meta:{width:16}},{id:`healthScore`,accessorKey:`healthScore`,header:`Индекс риска`,meta:{width:10,align:`right`,formatting:{role:`measure`,type:`decimal`,formattersPipeline:m()}}}],Le=[{id:`product`,accessorKey:`product`,header:`Товар`,meta:{width:16}},{id:`pendingAmount`,accessorKey:`pendingAmount`,header:`Резерв`,meta:{width:9,align:`right`,formatting:{role:`measure`,type:`decimal`,emptyWhenZero:!0}}}],A=[{id:`product`,type:`string`,originalType:`Edm.String`,label:`Товар`,semanticType:`none`,sortable:!0,filterable:!0,role:`dimension`},{id:`createdAt`,type:`datetime`,originalType:`Edm.DateTime`,label:`Дата создания`,semanticType:`none`,sortable:!0,filterable:!0,role:`dimension`},{id:`totalAmount`,type:`decimal`,originalType:`Edm.Decimal`,label:`Сумма`,semanticType:`none`,sortable:!0,filterable:!0,role:`measure`}],j=[{id:`product`,accessorKey:`product`,header:`Позиция`,meta:{width:16}},{id:`createdAt`,accessorKey:`createdAt`,header:`Создано`,meta:{width:12}},{id:`totalAmount`,accessorKey:`totalAmount`,header:`Итог`,meta:{width:9,align:`right`}}],M=ie(j,A),N=`ZDEMO_DEALS_SRV`,P=`DealSet`,F={title:`Портфель сделок`,columns:A},I=(e,t)=>{let n=(0,y.useMemo)(()=>{let e=a({}),n=t.parameters.odataService,r=t.parameters.odataEntity,i=t.parameters.odataMetadata;return n&&r&&i&&e.setQueryData(te({service:n}).queryKey,{entities:{[r]:i},functionImports:{}}),e},[t.parameters.odataEntity,t.parameters.odataMetadata,t.parameters.odataService]);return(0,b.jsx)(se,{client:n,children:e()})},Re={title:`UI/Table`,component:u,args:{title:`Сделки`,data:x,columns:w,getRowId:e=>e.id,selectionMode:`single`},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{title:{description:`Заголовок таблицы.`,control:`text`},isLoading:{description:`Показывает состояние первичной загрузки.`,control:`boolean`},isFetching:{description:`Показывает фоновое обновление без очистки строк.`,control:`boolean`},data:{description:`Плоский источник строк.`,control:!1},columns:{description:`Описание колонок таблицы.`,control:!1},selectionMode:{description:`Режим выбора строк.`,control:`inline-radio`,options:[`none`,`single`,`multi`]},selectedRowIds:{description:`Controlled-набор выбранных id строк.`,control:!1},getRowId:{description:`Функция получения стабильного id строки.`,control:!1},minHeight:{description:`Минимальная высота scroll-области таблицы в em или процентах.`,control:`text`},columnVisibility:{description:`Controlled-состояние видимости колонок.`,control:!1},defaultColumnVisibility:{description:`Стартовое uncontrolled-состояние видимости колонок.`,control:!1},columnOrder:{description:`Controlled-порядок идентификаторов колонок.`,control:!1},defaultColumnOrder:{description:`Стартовый uncontrolled-порядок колонок.`,control:!1},columnSizing:{description:`Controlled-ширины колонок в px.`,control:!1},defaultColumnSizing:{description:`Стартовые uncontrolled-ширины колонок.`,control:!1},columnPinning:{description:`Controlled-состояние закрепления колонок слева.`,control:!1},defaultColumnPinning:{description:`Стартовое uncontrolled-состояние закрепления колонок слева.`,control:!1},onColumnPinningChange:{description:`Вызывается после изменения закрепления колонок слева.`,control:!1},enableColumnResizing:{description:`Включает изменение ширины колонок через header-handle.`,control:`boolean`},enableColumnReordering:{description:`Включает перетаскивание заголовков для изменения порядка колонок.`,control:`boolean`},columnResizeMinWidth:{description:`Минимальная ширина колонки при resize в px.`,control:`number`},onColumnVisibilityChange:{description:`Вызывается после изменения видимости колонок.`,control:!1},onColumnOrderChange:{description:`Вызывается после изменения порядка колонок.`,control:!1},onColumnSizingChange:{description:`Вызывается после изменения ширины колонок.`,control:!1},getRowCanSelect:{description:`Позволяет запретить выбор отдельных строк.`,control:!1},getRowClassName:{description:`Позволяет добавить CSS-класс для конкретной строки.`,control:!1},onRowClick:{description:`Вызывается при активации строки.`,control:!1},onRowSelectionChange:{description:`Вызывается после изменения выбранных строк.`,control:!1},onReachEnd:{description:`Вызывается при достижении конца списка внутри scroll-контейнера.`,control:!1},renderHeaderContextMenu:{description:`Слот контекстного меню заголовка колонки.`,control:!1},renderCellContent:{description:`Слот содержимого ячейки поверх стандартного formatting-runtime.`,control:!1}}},L=s((e,t)=>(0,b.jsx)(g,{args:e,updateArgs:t})),R=s((e,t)=>(0,b.jsx)(g,{args:e,updateArgs:t})),ze=s((e,t)=>(0,b.jsx)(g,{args:e,updateArgs:t})),z={render:L},B={args:{columnPinning:{start:[`number`]}},render:s((e,t)=>{let n=e.columnPinning??{start:[]};return(0,b.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`},children:[(0,b.jsxs)(`div`,{style:{display:`flex`,gap:`0.5em`,flexWrap:`wrap`},children:[(0,b.jsx)(`button`,{type:`button`,onClick:()=>t({columnPinning:{start:[`number`]}}),children:`Закрепить «Номер»`}),(0,b.jsx)(`button`,{type:`button`,onClick:()=>t({columnPinning:{start:[`number`,`client`]}}),children:`Закрепить «Номер» и «Клиент»`}),(0,b.jsx)(`button`,{type:`button`,onClick:()=>t({columnPinning:{start:[]}}),children:`Снять закрепление`})]}),(0,b.jsxs)(`div`,{children:[`Закреплено в начале: `,n.start?.length?n.start.join(`, `):`ничего`]}),(0,b.jsx)(g,{args:{...e,columnPinning:n},updateArgs:t})]})})},V={args:{selectionMode:`multi`,selectedRowIds:[]},render:s((e,t)=>(0,b.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`},children:[(0,b.jsxs)(`div`,{children:[`Выбрано: `,e.selectedRowIds?.length?e.selectedRowIds.join(`, `):`ничего`]}),(0,b.jsx)(g,{args:e,updateArgs:t})]}))},H={args:{data:S,selectionMode:`multi`,selectedRowIds:[],getRowCanSelect:e=>!e.isLocked},render:s((e,t)=>(0,b.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`},children:[(0,b.jsx)(`div`,{children:`Строка со статусом «Архив» остаётся видимой, но не участвует в выборе.`}),(0,b.jsxs)(`div`,{children:[`Выбрано: `,e.selectedRowIds?.length?e.selectedRowIds.join(`, `):`ничего`]}),(0,b.jsx)(g,{args:e,updateArgs:t})]}))},U={args:{isFetching:!0},render:L},W={args:{data:[]},render:L},G={args:{data:C},render:s((e,t)=>(0,b.jsx)(Ie,{args:e,updateArgs:t}))},K={args:{isLoading:!0},render:L},q={args:{title:`Формула наценки`,data:T,columns:O,selectionMode:`none`,getRowId:e=>e.id},render:R},J={args:{title:`Pipeline форматирования`,data:T,columns:k,selectionMode:`none`,getRowId:e=>e.id},render:R},Y={args:{title:`Скрытие нулей`,data:T,columns:Le,selectionMode:`none`,getRowId:e=>e.id},render:R},X={args:{title:`Слияние дубликатов`,data:E,columns:D,selectionMode:`none`,getRowId:e=>e.id},render:ze},Z={args:{title:`OData metadata adapter`,data:T,columns:M,selectionMode:`none`,getRowId:e=>e.id},render:R},Q={args:{title:`useODataTableColumns: build`,data:T,columns:[],selectionMode:`none`,getRowId:e=>e.id},decorators:[I],parameters:{odataService:N,odataEntity:P,odataMetadata:F},render:s((e,t)=>(0,b.jsx)(_,{args:e,updateArgs:t}))},$={args:{title:`useODataTableColumns: enrich`,data:T,columns:[],selectionMode:`none`,getRowId:e=>e.id},decorators:[I],parameters:{odataService:N,odataEntity:P,odataMetadata:F},render:s((e,t)=>(0,b.jsx)(v,{args:e,updateArgs:t}))},z.parameters={...z.parameters,docs:{...z.parameters?.docs,source:{originalSource:`{
|
|
7
|
-
render: renderDealTableStory
|
|
8
|
-
}`,...z.parameters?.docs?.source},description:{story:`Базовый сценарий плоской таблицы с одиночным выбором.`,...z.parameters?.docs?.description}}},B.parameters={...B.parameters,docs:{...B.parameters?.docs,source:{originalSource:`{
|
|
9
|
-
args: {
|
|
10
|
-
columnPinning: {
|
|
11
|
-
start: ["number"]
|
|
12
|
-
}
|
|
13
|
-
},
|
|
14
|
-
render: createControlledStoryRender<TableProps<DealRow>>((args, updateArgs) => {
|
|
15
|
-
const columnPinning = args.columnPinning ?? {
|
|
16
|
-
start: []
|
|
17
|
-
};
|
|
18
|
-
return <div style={{
|
|
19
|
-
display: "grid",
|
|
20
|
-
gap: "0.75em"
|
|
21
|
-
}}>
|
|
22
|
-
<div style={{
|
|
23
|
-
display: "flex",
|
|
24
|
-
gap: "0.5em",
|
|
25
|
-
flexWrap: "wrap"
|
|
26
|
-
}}>
|
|
27
|
-
<button type="button" onClick={() => updateArgs({
|
|
28
|
-
columnPinning: {
|
|
29
|
-
start: ["number"]
|
|
30
|
-
}
|
|
31
|
-
})}>
|
|
32
|
-
Закрепить «Номер»
|
|
33
|
-
</button>
|
|
34
|
-
<button type="button" onClick={() => updateArgs({
|
|
35
|
-
columnPinning: {
|
|
36
|
-
start: ["number", "client"]
|
|
37
|
-
}
|
|
38
|
-
})}>
|
|
39
|
-
Закрепить «Номер» и «Клиент»
|
|
40
|
-
</button>
|
|
41
|
-
<button type="button" onClick={() => updateArgs({
|
|
42
|
-
columnPinning: {
|
|
43
|
-
start: []
|
|
44
|
-
}
|
|
45
|
-
})}>
|
|
46
|
-
Снять закрепление
|
|
47
|
-
</button>
|
|
48
|
-
</div>
|
|
49
|
-
<div>Закреплено в начале: {columnPinning.start?.length ? columnPinning.start.join(", ") : "ничего"}</div>
|
|
50
|
-
<TableStoryCanvas args={{
|
|
51
|
-
...args,
|
|
52
|
-
columnPinning
|
|
53
|
-
}} updateArgs={updateArgs} />
|
|
54
|
-
</div>;
|
|
55
|
-
})
|
|
56
|
-
}`,...B.parameters?.docs?.source},description:{story:`Демонстрирует controlled start-pinning через внешний story-state без встроенного UI таблицы.`,...B.parameters?.docs?.description}}},V.parameters={...V.parameters,docs:{...V.parameters?.docs,source:{originalSource:`{
|
|
57
|
-
args: {
|
|
58
|
-
selectionMode: "multi",
|
|
59
|
-
selectedRowIds: []
|
|
60
|
-
},
|
|
61
|
-
render: createControlledStoryRender<TableProps<DealRow>>((args, updateArgs) => <div style={{
|
|
62
|
-
display: "grid",
|
|
63
|
-
gap: "0.75em"
|
|
64
|
-
}}>
|
|
65
|
-
<div>Выбрано: {args.selectedRowIds?.length ? args.selectedRowIds.join(", ") : "ничего"}</div>
|
|
66
|
-
<TableStoryCanvas args={args} updateArgs={updateArgs} />
|
|
67
|
-
</div>)
|
|
68
|
-
}`,...V.parameters?.docs?.source},description:{story:`Множественный выбор с отображением текущего результата.`,...V.parameters?.docs?.description}}},H.parameters={...H.parameters,docs:{...H.parameters?.docs,source:{originalSource:`{
|
|
69
|
-
args: {
|
|
70
|
-
data: nonSelectableRows,
|
|
71
|
-
selectionMode: "multi",
|
|
72
|
-
selectedRowIds: [],
|
|
73
|
-
getRowCanSelect: row => !row.isLocked
|
|
74
|
-
},
|
|
75
|
-
render: createControlledStoryRender<TableProps<DealRow>>((args, updateArgs) => <div style={{
|
|
76
|
-
display: "grid",
|
|
77
|
-
gap: "0.75em"
|
|
78
|
-
}}>
|
|
79
|
-
<div>Строка со статусом «Архив» остаётся видимой, но не участвует в выборе.</div>
|
|
80
|
-
<div>Выбрано: {args.selectedRowIds?.length ? args.selectedRowIds.join(", ") : "ничего"}</div>
|
|
81
|
-
<TableStoryCanvas args={args} updateArgs={updateArgs} />
|
|
82
|
-
</div>)
|
|
83
|
-
}`,...H.parameters?.docs?.source},description:{story:`Часть строк можно показать, но запретить выбирать.`,...H.parameters?.docs?.description}}},U.parameters={...U.parameters,docs:{...U.parameters?.docs,source:{originalSource:`{
|
|
84
|
-
args: {
|
|
85
|
-
isFetching: true
|
|
86
|
-
},
|
|
87
|
-
render: renderDealTableStory
|
|
88
|
-
}`,...U.parameters?.docs?.source},description:{story:`Сценарий фонового обновления данных без очистки таблицы.`,...U.parameters?.docs?.description}}},W.parameters={...W.parameters,docs:{...W.parameters?.docs,source:{originalSource:`{
|
|
89
|
-
args: {
|
|
90
|
-
data: []
|
|
91
|
-
},
|
|
92
|
-
render: renderDealTableStory
|
|
93
|
-
}`,...W.parameters?.docs?.source},description:{story:`Пустой источник данных.`,...W.parameters?.docs?.description}}},G.parameters={...G.parameters,docs:{...G.parameters?.docs,source:{originalSource:`{
|
|
94
|
-
args: {
|
|
95
|
-
data: reachEndRows
|
|
96
|
-
},
|
|
97
|
-
render: createControlledStoryRender<TableProps<DealRow>>((args, updateArgs) => <ReachEndTableCanvas args={args} updateArgs={updateArgs} />)
|
|
98
|
-
}`,...G.parameters?.docs?.source},description:{story:`Демонстрация callback при достижении конца списка.`,...G.parameters?.docs?.description}}},K.parameters={...K.parameters,docs:{...K.parameters?.docs,source:{originalSource:`{
|
|
99
|
-
args: {
|
|
100
|
-
isLoading: true
|
|
101
|
-
},
|
|
102
|
-
render: renderDealTableStory
|
|
103
|
-
}`,...K.parameters?.docs?.source},description:{story:`Состояние первичной загрузки.`,...K.parameters?.docs?.description}}},q.parameters={...q.parameters,docs:{...q.parameters?.docs,source:{originalSource:`{
|
|
104
|
-
args: {
|
|
105
|
-
title: "Формула наценки",
|
|
106
|
-
data: formattingRows,
|
|
107
|
-
columns: formulaColumns,
|
|
108
|
-
selectionMode: "none",
|
|
109
|
-
getRowId: row => row.id
|
|
110
|
-
},
|
|
111
|
-
render: renderFormattingTableStory
|
|
112
|
-
}`,...q.parameters?.docs?.source},description:{story:"Сценарий с formula-based колонкой без кастомного `cell`.",...q.parameters?.docs?.description}}},J.parameters={...J.parameters,docs:{...J.parameters?.docs,source:{originalSource:`{
|
|
113
|
-
args: {
|
|
114
|
-
title: "Pipeline форматирования",
|
|
115
|
-
data: formattingRows,
|
|
116
|
-
columns: pipelineColumns,
|
|
117
|
-
selectionMode: "none",
|
|
118
|
-
getRowId: row => row.id
|
|
119
|
-
},
|
|
120
|
-
render: renderFormattingTableStory
|
|
121
|
-
}`,...J.parameters?.docs?.source},description:{story:`Сценарий с pipeline display-formatting и value-state.`,...J.parameters?.docs?.description}}},Y.parameters={...Y.parameters,docs:{...Y.parameters?.docs,source:{originalSource:`{
|
|
122
|
-
args: {
|
|
123
|
-
title: "Скрытие нулей",
|
|
124
|
-
data: formattingRows,
|
|
125
|
-
columns: hiddenZeroColumns,
|
|
126
|
-
selectionMode: "none",
|
|
127
|
-
getRowId: row => row.id
|
|
128
|
-
},
|
|
129
|
-
render: renderFormattingTableStory
|
|
130
|
-
}`,...Y.parameters?.docs?.source},description:{story:"Сценарий со скрытием нулевых значений через `emptyWhenZero`.",...Y.parameters?.docs?.description}}},X.parameters={...X.parameters,docs:{...X.parameters?.docs,source:{originalSource:`{
|
|
131
|
-
args: {
|
|
132
|
-
title: "Слияние дубликатов",
|
|
133
|
-
data: divisionMergeRows,
|
|
134
|
-
columns: divisionMergeColumns,
|
|
135
|
-
selectionMode: "none",
|
|
136
|
-
getRowId: row => row.id
|
|
137
|
-
},
|
|
138
|
-
render: renderDivisionMergeTableStory
|
|
139
|
-
}`,...X.parameters?.docs?.source},description:{story:`Сценарий со display-only слиянием подряд идущих дубликатов через пустые ячейки и CSS-склейку.`,...X.parameters?.docs?.description}}},Z.parameters={...Z.parameters,docs:{...Z.parameters?.docs,source:{originalSource:`{
|
|
140
|
-
args: {
|
|
141
|
-
title: "OData metadata adapter",
|
|
142
|
-
data: formattingRows,
|
|
143
|
-
columns: adapterColumns,
|
|
144
|
-
selectionMode: "none",
|
|
145
|
-
getRowId: row => row.id
|
|
146
|
-
},
|
|
147
|
-
render: renderFormattingTableStory
|
|
148
|
-
}`,...Z.parameters?.docs?.source},description:{story:`Сценарий со статическим OData metadata adapter в режиме enrich.`,...Z.parameters?.docs?.description}}},Q.parameters={...Q.parameters,docs:{...Q.parameters?.docs,source:{originalSource:`{
|
|
149
|
-
args: {
|
|
150
|
-
title: "useODataTableColumns: build",
|
|
151
|
-
data: formattingRows,
|
|
152
|
-
columns: [],
|
|
153
|
-
selectionMode: "none",
|
|
154
|
-
getRowId: row => row.id
|
|
155
|
-
},
|
|
156
|
-
decorators: [withMockedHookODataMetadata],
|
|
157
|
-
parameters: {
|
|
158
|
-
odataService: HOOK_ODATA_SERVICE,
|
|
159
|
-
odataEntity: HOOK_ODATA_ENTITY,
|
|
160
|
-
odataMetadata: hookMetadata
|
|
161
|
-
},
|
|
162
|
-
render: createControlledStoryRender<TableProps<DealFormattingRow>>((args, updateArgs) => <HookBuildTableStory args={args} updateArgs={updateArgs} />)
|
|
163
|
-
}`,...Q.parameters?.docs?.source},description:{story:"Реальный hook-сценарий `useODataTableColumns(...)` в режиме build.",...Q.parameters?.docs?.description}}},$.parameters={...$.parameters,docs:{...$.parameters?.docs,source:{originalSource:`{
|
|
164
|
-
args: {
|
|
165
|
-
title: "useODataTableColumns: enrich",
|
|
166
|
-
data: formattingRows,
|
|
167
|
-
columns: [],
|
|
168
|
-
selectionMode: "none",
|
|
169
|
-
getRowId: row => row.id
|
|
170
|
-
},
|
|
171
|
-
decorators: [withMockedHookODataMetadata],
|
|
172
|
-
parameters: {
|
|
173
|
-
odataService: HOOK_ODATA_SERVICE,
|
|
174
|
-
odataEntity: HOOK_ODATA_ENTITY,
|
|
175
|
-
odataMetadata: hookMetadata
|
|
176
|
-
},
|
|
177
|
-
render: createControlledStoryRender<TableProps<DealFormattingRow>>((args, updateArgs) => <HookEnrichTableStory args={args} updateArgs={updateArgs} />)
|
|
178
|
-
}`,...$.parameters?.docs?.source},description:{story:"Реальный hook-сценарий `useODataTableColumns(...)` в режиме enrich.",...$.parameters?.docs?.description}}},Be=[`Basic`,`WithColumnPinning`,`MultiSelect`,`WithDisabledRows`,`Fetching`,`Empty`,`ReachEnd`,`Loading`,`WithFormulaColumn`,`WithFormattingPipeline`,`WithHiddenZero`,`WithMergedDuplicates`,`WithODataMetadataAdapter`,`WithUseODataTableColumnsBuildHook`,`WithUseODataTableColumnsEnrichHook`]})))()}export{Ve as _,V as a,B as c,q as d,Y as f,$ as g,Q as h,K as i,H as l,Z as m,W as n,G as o,X as p,U as r,Fe as s,z as t,J as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./iframe-1Nw_zWMi.js";e();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";function n(e){if(typeof window>`u`||typeof document>`u`)return w;let t=e??document.documentElement,n=window.getComputedStyle(t).fontSize,r=Number.parseFloat(n);return!Number.isFinite(r)||r<=0?w:r}function r(e){return typeof e!=`object`||!e?!1:`mobile`in e||`tablet`in e||`laptop`in e||`desktop`in e}function i(e,t){if(e!==void 0)return r(e)?t===`mobile`?e.mobile??e.tablet??e.laptop:t===`tablet`?e.tablet??e.mobile??e.laptop:e.laptop??e.tablet??e.mobile:e}function a(e,t,n){let r={...e};for(let e of n)r[e]=i(r[e],t);return r}function o(e,t){return`addEventListener`in e?(e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)):(e.addListener(t),()=>e.removeListener(t))}function s(e){let t=t=>t*e,n=t(C.mobileMax),r=t(C.tabletMin),i=t(C.tabletMax),a=t(C.laptopMin);return{mobile:`(width <= ${n}px)`,tablet:`(width >= ${r}px) and (width <= ${i}px)`,laptop:`(width >= ${a}px)`}}function c(e){return e.mobile?`mobile`:e.tablet?`tablet`:`laptop`}function l(e,t){return e.mobile===t.mobile&&e.tablet===t.tablet&&e.laptop===t.laptop}function u(e){l(O.matches,e)||(O={matches:e,activeBreakpoint:c(e)},L.forEach(e=>e()))}function d(){k&&u({mobile:k.mobile.matches,tablet:k.tablet.matches,laptop:k.laptop.matches})}function f(){A.forEach(e=>e()),A=[]}function p(e=!1){if(typeof window>`u`||typeof document>`u`)return;let t=n();if(!e&&k&&Math.abs(t-j)<E)return;j=t,f();let r=s(t);k={mobile:window.matchMedia(r.mobile),tablet:window.matchMedia(r.tablet),laptop:window.matchMedia(r.laptop)},A=Object.keys(k).map(e=>o(k[e],d)),d()}function m(){I&&clearTimeout(I),I=setTimeout(()=>{I=null,p()},D)}function h(){typeof window>`u`||typeof document>`u`||(N=new MutationObserver(m),N.observe(document.documentElement,{attributes:!0,attributeFilter:[`style`,`class`,`data-font-size`]}),!(typeof ResizeObserver>`u`)&&(F=document.createElement(`div`),F.style.position=`absolute`,F.style.visibility=`hidden`,F.style.pointerEvents=`none`,F.style.width=`1em`,F.style.height=`1px`,F.style.overflow=`hidden`,F.setAttribute(`aria-hidden`,`true`),(document.body??document.documentElement).appendChild(F),P=new ResizeObserver(m),P.observe(F)))}function g(){f(),k=null,I&&=(clearTimeout(I),null),N&&=(N.disconnect(),null),P&&=(P.disconnect(),null),F?.parentNode&&F.parentNode.removeChild(F),F=null,M=!1}function _(){M||typeof window>`u`||typeof document>`u`||(M=!0,p(!0),h())}function v(e){return typeof window>`u`||typeof document>`u`?()=>{}:(L.add(e),_(),()=>{L.delete(e),L.size===0&&g()})}function y(){return O}function b(){return T}function x(){return(0,S.useSyncExternalStore)(v,y,b)}var S,C,w,T,E,D,O,k,A,j,M,N,P,F,I,L;function R(){return(R=e((()=>{S=t(),C={mobileMax:767.98/16,tabletMin:48,tabletMax:1151.98/16,laptopMin:72},w=16,T={matches:{mobile:!1,tablet:!1,laptop:!1},activeBreakpoint:`laptop`},E=.25,D=80,O=T,k=null,A=[],j=0,M=!1,N=null,P=null,F=null,I=null,L=new Set})))()}export{i,a as n,R as r,x as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.ZNPIAt{display:flex}.ZNPIAt.FOfB6f{vertical-align:middle;display:inline-flex}.ZNPIAt.S3zmDT{flex-direction:row}.ZNPIAt.ZFdq8E{flex-direction:column}.ZNPIAt.VAzJwr{flex-direction:row-reverse}.ZNPIAt.-U1mun{flex-direction:column-reverse}.ZNPIAt._4ZMtr-{flex-wrap:wrap}.ZNPIAt.SKOoTV{flex-wrap:nowrap}.ZNPIAt.sSe6vs{flex-wrap:wrap-reverse}.ZNPIAt._3K-dKm{align-items:start}.ZNPIAt.-Pfy-z{align-items:center}.ZNPIAt.beSYgR{align-items:end}.ZNPIAt.Ewhv1G{align-items:stretch}.ZNPIAt.JXvBB6{align-items:baseline}.ZNPIAt.hN3T0k{justify-content:start}.ZNPIAt.KKCJ5o{justify-content:center}.ZNPIAt.MnX1Le{justify-content:end}.ZNPIAt.Hom9eH{justify-content:stretch}.ZNPIAt.Oujm4J{justify-content:space-between}.ZNPIAt._2ttx6l{justify-content:space-around}.ZNPIAt.QEwI8b{justify-content:space-evenly}.ZNPIAt._7GQOS7{align-content:start}.ZNPIAt._2IOpAA{align-content:center}.ZNPIAt.fZOYKH{align-content:end}.ZNPIAt._01H9Wl{align-content:stretch}.ZNPIAt.GiMq3P{align-content:space-between}.ZNPIAt.tfwckC{align-content:space-around}.ZNPIAt._9tNYb7{align-content:space-evenly}.ZNPIAt.PoehYn{gap:unset}.ZNPIAt.D9yh46{row-gap:var(--space-xs)}.ZNPIAt.B5WUhS{row-gap:var(--space-sm)}.ZNPIAt.KfUmo4{row-gap:var(--space-md)}.ZNPIAt.m-8JGj{row-gap:var(--space-lg)}.ZNPIAt.zFcs1z{row-gap:var(--space-xl)}.ZNPIAt._0wKkFA{column-gap:var(--space-xs)}.ZNPIAt.VQY6wh{column-gap:var(--space-sm)}.ZNPIAt.csJmh7{column-gap:var(--space-md)}.ZNPIAt._-8r3Oj{column-gap:var(--space-lg)}.ZNPIAt.sCELJe{column-gap:var(--space-xl)}.ZNPIAt.NrH1WE{row-gap:var(--space-xs);column-gap:var(--space-xs)}.ZNPIAt.IIgbrj{row-gap:var(--space-sm);column-gap:var(--space-sm)}.ZNPIAt.alT7CJ{row-gap:var(--space-md);column-gap:var(--space-md)}.ZNPIAt.TBFK23{row-gap:var(--space-lg);column-gap:var(--space-lg)}.ZNPIAt.JR1URZ{row-gap:var(--space-xl);column-gap:var(--space-xl)}.i1imd3.IVZ-ii{flex-grow:1}.i1imd3.zhghPS{flex-grow:0}.i1imd3.-A4gJM{flex-shrink:1}.i1imd3._3Q-lT-{flex-shrink:0}.i1imd3.YSg8P9{flex-basis:0}.i1imd3.RMXnTk{flex-basis:auto}.i1imd3.YyYE7z{flex:none}.i1imd3.LD3bM5{flex:auto}.i1imd3.HpcoTp{align-self:start}.i1imd3.E7ItD3{align-self:center}.i1imd3.v0JFEC{align-self:end}.i1imd3.pmMEmH{align-self:stretch}.i1imd3.qevFHG{align-self:baseline}.i1imd3.OTPY33{justify-self:center}.i1imd3.AjRxTP{justify-self:end}.i1imd3._1YaZWf{justify-self:stretch}.H-DHBq,.JzIGGJ{justify-content:center;align-items:center;display:flex}.aqYTBq{justify-content:space-between;align-items:center;display:flex}.JzIGGJ{flex-direction:column;height:100%}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";var n,ee,te,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k,A,j,M,N,P,F,I,L,R,ne,z,B,V,H,U,W,G,K,q,J,Y,X,Z,re,ie,ae,oe,se,ce,le,ue,de,fe,pe,Q;function me(){return(me=e((()=>{n=`ZNPIAt`,ee=`FOfB6f`,te=`S3zmDT`,r=`ZFdq8E`,i=`VAzJwr`,a=`-U1mun`,o=`_4ZMtr-`,s=`SKOoTV`,c=`sSe6vs`,l=`_3K-dKm`,u=`-Pfy-z`,d=`beSYgR`,f=`Ewhv1G`,p=`JXvBB6`,m=`hN3T0k`,h=`KKCJ5o`,g=`MnX1Le`,_=`Hom9eH`,v=`Oujm4J`,y=`_2ttx6l`,b=`QEwI8b`,x=`_7GQOS7`,S=`_2IOpAA`,C=`fZOYKH`,w=`_01H9Wl`,T=`GiMq3P`,E=`tfwckC`,D=`_9tNYb7`,O=`PoehYn`,k=`D9yh46`,A=`B5WUhS`,j=`KfUmo4`,M=`m-8JGj`,N=`zFcs1z`,P=`_0wKkFA`,F=`VQY6wh`,I=`csJmh7`,L=`_-8r3Oj`,R=`sCELJe`,ne=`NrH1WE`,z=`IIgbrj`,B=`alT7CJ`,V=`TBFK23`,H=`JR1URZ`,U=`i1imd3`,W=`IVZ-ii`,G=`zhghPS`,K=`-A4gJM`,q=`_3Q-lT-`,J=`YSg8P9`,Y=`RMXnTk`,X=`YyYE7z`,Z=`LD3bM5`,re=`HpcoTp`,ie=`E7ItD3`,ae=`v0JFEC`,oe=`pmMEmH`,se=`qevFHG`,ce=`OTPY33`,le=`AjRxTP`,ue=`_1YaZWf`,de=`H-DHBq`,fe=`JzIGGJ`,pe=`aqYTBq`,Q={container:n,inline:ee,row:te,column:r,rowReverse:i,columnReverse:a,wrap:o,nowrap:s,wrapReverse:c,alignStart:l,alignCenter:u,alignEnd:d,alignStretch:f,alignBaseline:p,justifyStart:m,justifyCenter:h,justifyEnd:g,justifyStretch:_,justifyBetween:v,justifyAround:y,justifyEvenly:b,alignContentStart:x,alignContentCenter:S,alignContentEnd:C,alignContentStretch:w,alignContentBetween:T,alignContentAround:E,alignContentEvenly:D,gapNone:O,gapRowXs:k,gapRowSm:A,gapRowMd:j,gapRowLg:M,gapRowXl:N,gapColumnXs:P,gapColumnSm:F,gapColumnMd:I,gapColumnLg:L,gapColumnXl:R,gapXs:ne,gapSm:z,gapMd:B,gapLg:V,gapXl:H,item:U,grow:W,grow0:G,shrink:K,shrink0:q,basis0:J,basisAuto:Y,flex0:X,flex1:Z,alignSelfStart:re,alignSelfCenter:ie,alignSelfEnd:ae,alignSelfStretch:oe,alignSelfBaseline:se,justifySelfCenter:ce,justifySelfEnd:le,justifySelfStretch:ue,center:de,columnCenter:fe,centerBetween:pe}})))()}var $,he,ge,_e;function ve(){return(ve=e((()=>{$=t(),me(),he=e=>(0,$.useMemo)(()=>{let t=[Q.container];return e.inline&&t.push(Q.inline),e.row?t.push(Q.row):e.column?t.push(Q.column):e.rowReverse?t.push(Q.rowReverse):e.columnReverse&&t.push(Q.columnReverse),e.wrap?t.push(Q.wrap):e.nowrap?t.push(Q.nowrap):e.wrapReverse&&t.push(Q.wrapReverse),e.align&&t.push(Q[`align${e.align.charAt(0).toUpperCase()+e.align.slice(1)}`]),e.justify&&t.push(Q[`justify${e.justify.charAt(0).toUpperCase()+e.justify.slice(1)}`]),e.alignContent&&t.push(Q[`alignContent${e.alignContent.charAt(0).toUpperCase()+e.alignContent.slice(1)}`]),e.gap===`none`?t.push(Q.gapNone):e.gap&&t.push(Q[`gap${e.gap.charAt(0).toUpperCase()+e.gap.slice(1)}`]),e.gapRow&&t.push(Q[`gapRow${e.gapRow.charAt(0).toUpperCase()+e.gapRow.slice(1)}`]),e.gapColumn&&t.push(Q[`gapColumn${e.gapColumn.charAt(0).toUpperCase()+e.gapColumn.slice(1)}`]),t.filter(Boolean).join(` `)},[e]),ge=e=>(0,$.useMemo)(()=>{let t=[Q.item];return e.flex0&&t.push(Q.flex0),e.flex1&&t.push(Q.flex1),!e.flex0&&!e.flex1&&(e.grow?t.push(Q.grow):t.push(Q.grow0),e.shrink===!1?t.push(Q.shrink0):t.push(Q.shrink),e.basis===`0`?t.push(Q.basis0):e.basis===`auto`&&t.push(Q.basisAuto)),e.alignSelf&&t.push(Q[`alignSelf${e.alignSelf.charAt(0).toUpperCase()+e.alignSelf.slice(1)}`]),e.justifySelf&&t.push(Q[`justifySelf${e.justifySelf.charAt(0).toUpperCase()+e.justifySelf.slice(1)}`]),t.filter(Boolean).join(` `)},[e]),_e=e=>Q[e]})))()}export{_e as i,he as n,ge as r,ve as t};
|