@ryuzaki13/react-foundation-ui 1.0.1 → 1.0.2
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.d.ts +3 -0
- package/dist/advanced-search/index.d.ts.map +1 -0
- package/dist/advanced-search/index.js +361 -0
- package/dist/advanced-search/index.js.map +1 -0
- package/dist/advanced-search/lib/index.d.ts +2 -0
- package/dist/advanced-search/lib/index.d.ts.map +1 -0
- package/dist/advanced-search/lib/searchParts.d.ts +3 -0
- package/dist/advanced-search/lib/searchParts.d.ts.map +1 -0
- package/dist/advanced-search/model/index.d.ts +5 -0
- package/dist/advanced-search/model/index.d.ts.map +1 -0
- package/dist/advanced-search/model/types.d.ts +55 -0
- package/dist/advanced-search/model/types.d.ts.map +1 -0
- package/dist/advanced-search/model/useAdvancedSearch.d.ts +11 -0
- package/dist/advanced-search/model/useAdvancedSearch.d.ts.map +1 -0
- package/dist/advanced-search/model/useAdvancedSearchInitialSelected.d.ts +6 -0
- package/dist/advanced-search/model/useAdvancedSearchInitialSelected.d.ts.map +1 -0
- package/dist/advanced-search/model/useAdvancedSearchSelection.d.ts +13 -0
- package/dist/advanced-search/model/useAdvancedSearchSelection.d.ts.map +1 -0
- package/dist/advanced-search/ui/AdvancedSearchModal.d.ts +13 -0
- package/dist/advanced-search/ui/AdvancedSearchModal.d.ts.map +1 -0
- package/dist/advanced-search/ui/AdvancedSearchSelect.d.ts +8 -0
- package/dist/advanced-search/ui/AdvancedSearchSelect.d.ts.map +1 -0
- package/dist/advanced-search/ui/AdvancedSearchSelectUI.d.ts +9 -0
- package/dist/advanced-search/ui/AdvancedSearchSelectUI.d.ts.map +1 -0
- package/dist/advanced-search/ui/index.d.ts +2 -0
- package/dist/advanced-search/ui/index.d.ts.map +1 -0
- package/dist/badge/index.js +1 -1
- package/dist/badge/stories/Badge.stories.js +22 -22
- package/dist/base-table/index.js +2 -2
- package/dist/button/index.js +7 -7
- package/dist/button/stories/Button.stories.js +1 -1
- package/dist/check-box/index.js +1 -1
- package/dist/check-box/stories/CheckBox.stories.js +25 -25
- package/dist/chunks/{BadgeList-6qL9oNAp.js → BadgeList-DYgun2rf.js} +16 -16
- package/dist/chunks/{BadgeList-6qL9oNAp.js.map → BadgeList-DYgun2rf.js.map} +1 -1
- package/dist/chunks/{Button-BZ_b-Kin.js → Button-CCWuggdA.js} +16 -16
- package/dist/chunks/{Button-BZ_b-Kin.js.map → Button-CCWuggdA.js.map} +1 -1
- package/dist/chunks/CalendarView-DjeTJkTT.js +435 -0
- package/dist/chunks/{CalendarView-DjShdvRD.js.map → CalendarView-DjeTJkTT.js.map} +1 -1
- package/dist/chunks/CheckBox-BowNqqd3.js +48 -0
- package/dist/chunks/{CheckBox-CulnjNvJ.js.map → CheckBox-BowNqqd3.js.map} +1 -1
- package/dist/chunks/{DateInput-LSSvObtg.js → DateInput--tfofQ2x.js} +68 -68
- package/dist/chunks/{DateInput-LSSvObtg.js.map → DateInput--tfofQ2x.js.map} +1 -1
- package/dist/chunks/{DateRangePresetSelect-CyzGMvVp.js → DateRangePresetSelect-UgsfaOeM.js} +22 -22
- package/dist/chunks/{DateRangePresetSelect-CyzGMvVp.js.map → DateRangePresetSelect-UgsfaOeM.js.map} +1 -1
- package/dist/chunks/Detail-DHDMsg8q.js +80 -0
- package/dist/chunks/{Detail-DKolHye4.js.map → Detail-DHDMsg8q.js.map} +1 -1
- package/dist/chunks/{Dialog-BPS4BeWZ.js → Dialog-CFIvGxER.js} +8 -8
- package/dist/chunks/{Dialog-BPS4BeWZ.js.map → Dialog-CFIvGxER.js.map} +1 -1
- package/dist/chunks/DisclosureGroup-CfRTkl6Z.js +49 -0
- package/dist/chunks/{DisclosureGroup-Plk2M_Vl.js.map → DisclosureGroup-CfRTkl6Z.js.map} +1 -1
- package/dist/chunks/{DropZone-DPGTpHI6.js → DropZone-kJfbZU5g.js} +22 -22
- package/dist/chunks/{DropZone-DPGTpHI6.js.map → DropZone-kJfbZU5g.js.map} +1 -1
- package/dist/chunks/{DropdownMenu-Ds-trH4M.js → DropdownMenu-DQeR3y7M.js} +138 -138
- package/dist/chunks/{DropdownMenu-Ds-trH4M.js.map → DropdownMenu-DQeR3y7M.js.map} +1 -1
- package/dist/chunks/{Flex-DbBdq336.js → Flex-DUYSL5TE.js} +16 -16
- package/dist/chunks/{Flex-DbBdq336.js.map → Flex-DUYSL5TE.js.map} +1 -1
- package/dist/chunks/Input-BmjlpA09.js +227 -0
- package/dist/chunks/{Input-Wrew1puH.js.map → Input-BmjlpA09.js.map} +1 -1
- package/dist/chunks/{InputDateTime-2PCX8an8.js → InputDateTime-CxfAFe2L.js} +56 -56
- package/dist/chunks/{InputDateTime-2PCX8an8.js.map → InputDateTime-CxfAFe2L.js.map} +1 -1
- package/dist/chunks/{InputFile-Ca-bRo93.js → InputFile-CyZu__B_.js} +17 -17
- package/dist/chunks/{InputFile-Ca-bRo93.js.map → InputFile-CyZu__B_.js.map} +1 -1
- package/dist/chunks/{InputFiles-pI9rQXOI.js → InputFiles-CrTJV27R.js} +31 -31
- package/dist/chunks/{InputFiles-pI9rQXOI.js.map → InputFiles-CrTJV27R.js.map} +1 -1
- package/dist/chunks/{InputImage-B522AQzl.js → InputImage-Cw8rPYQu.js} +18 -18
- package/dist/chunks/{InputImage-B522AQzl.js.map → InputImage-Cw8rPYQu.js.map} +1 -1
- package/dist/chunks/{LabeledExpandableActionPanel-CWmOSWeS.js → LabeledExpandableActionPanel-D3kUvmFH.js} +26 -26
- package/dist/chunks/{LabeledExpandableActionPanel-CWmOSWeS.js.map → LabeledExpandableActionPanel-D3kUvmFH.js.map} +1 -1
- package/dist/chunks/Listbox-BZlp5qHz.js +81 -0
- package/dist/chunks/{Listbox-B6F_IKQv.js.map → Listbox-BZlp5qHz.js.map} +1 -1
- package/dist/chunks/{MultiSelect-CUXA8gx-.js → MultiSelect-D1XYuwH1.js} +113 -113
- package/dist/chunks/{MultiSelect-CUXA8gx-.js.map → MultiSelect-D1XYuwH1.js.map} +1 -1
- package/dist/chunks/{NotificationsHost-Bnq7xFKO.js → NotificationsHost-_icJx4xR.js} +44 -44
- package/dist/chunks/{NotificationsHost-Bnq7xFKO.js.map → NotificationsHost-_icJx4xR.js.map} +1 -1
- package/dist/chunks/{PresetRangeDateInput-B_8jsilZ.js → PresetRangeDateInput-CapirptQ.js} +11 -11
- package/dist/chunks/{PresetRangeDateInput-B_8jsilZ.js.map → PresetRangeDateInput-CapirptQ.js.map} +1 -1
- package/dist/chunks/RadioButton-D0uA0rX_.js +48 -0
- package/dist/chunks/{RadioButton-D5vPW4Yr.js.map → RadioButton-D0uA0rX_.js.map} +1 -1
- package/dist/chunks/RadioGroup-B9XjkcOy.js +121 -0
- package/dist/chunks/{RadioGroup-BAhN1d1X.js.map → RadioGroup-B9XjkcOy.js.map} +1 -1
- package/dist/chunks/{Select-CoAYWNOn.js → Select-CXeVjVKA.js} +11 -11
- package/dist/chunks/{Select-CoAYWNOn.js.map → Select-CXeVjVKA.js.map} +1 -1
- package/dist/chunks/{SerializableSelect-awBOWKTj.js → SerializableSelect-DkYeJtAO.js} +2 -2
- package/dist/chunks/{SerializableSelect-awBOWKTj.js.map → SerializableSelect-DkYeJtAO.js.map} +1 -1
- package/dist/chunks/{SingleDateTimeInput-o44Vlwdk.js → SingleDateTimeInput-BmeuVGQT.js} +78 -78
- package/dist/chunks/{SingleDateTimeInput-o44Vlwdk.js.map → SingleDateTimeInput-BmeuVGQT.js.map} +1 -1
- package/dist/chunks/{Splitter-NjNFuEq4.js → Splitter-BFkVGVRb.js} +32 -32
- package/dist/chunks/{Splitter-NjNFuEq4.js.map → Splitter-BFkVGVRb.js.map} +1 -1
- package/dist/chunks/StateSelect-1jH3uLz9.js +78 -0
- package/dist/chunks/{StateSelect-abZq176J.js.map → StateSelect-1jH3uLz9.js.map} +1 -1
- package/dist/chunks/{Switch-DHMnZVmN.js → Switch-B57Qmy1z.js} +19 -19
- package/dist/chunks/{Switch-DHMnZVmN.js.map → Switch-B57Qmy1z.js.map} +1 -1
- package/dist/chunks/{TextEditorLexicalClient-Dt4eaPA3.js → TextEditorLexicalClient-DRhAswpP.js} +204 -204
- package/dist/chunks/{TextEditorLexicalClient-Dt4eaPA3.js.map → TextEditorLexicalClient-DRhAswpP.js.map} +1 -1
- package/dist/chunks/{Textarea-DOVrPH4I.js → Textarea-C9UdUueF.js} +2 -2
- package/dist/chunks/{Textarea-DOVrPH4I.js.map → Textarea-C9UdUueF.js.map} +1 -1
- package/dist/chunks/{TimePanel-_kF2RtHk.js → TimePanel-b4saqoUY.js} +27 -27
- package/dist/chunks/{TimePanel-_kF2RtHk.js.map → TimePanel-b4saqoUY.js.map} +1 -1
- package/dist/chunks/{Toggle-C_fE-bkM.js → Toggle-DVqOQXmt.js} +18 -18
- package/dist/chunks/{Toggle-C_fE-bkM.js.map → Toggle-DVqOQXmt.js.map} +1 -1
- package/dist/chunks/{TreeMultiSelect-C76RYavo.js → TreeMultiSelect-CfQhlfnC.js} +6 -6
- package/dist/chunks/{TreeMultiSelect-C76RYavo.js.map → TreeMultiSelect-CfQhlfnC.js.map} +1 -1
- package/dist/chunks/{TreePickerBase-qNHIWbYL.js → TreePickerBase-BBUOWsSu.js} +49 -49
- package/dist/chunks/{TreePickerBase-qNHIWbYL.js.map → TreePickerBase-BBUOWsSu.js.map} +1 -1
- package/dist/chunks/{TreeSelect-LEhNdPCX.js → TreeSelect-2wUXs90E.js} +6 -6
- package/dist/chunks/{TreeSelect-LEhNdPCX.js.map → TreeSelect-2wUXs90E.js.map} +1 -1
- package/dist/chunks/base-table-CoQlKABk.js +514 -0
- package/dist/chunks/{base-table-ij2guVMB.js.map → base-table-CoQlKABk.js.map} +1 -1
- package/dist/chunks/{floating-arrow-CdRV69sg.js → floating-arrow-BE-z4QkE.js} +7 -7
- package/dist/chunks/{floating-arrow-CdRV69sg.js.map → floating-arrow-BE-z4QkE.js.map} +1 -1
- package/dist/chunks/input-search-Dw4rnJBq.js +30 -0
- package/dist/chunks/input-search-Dw4rnJBq.js.map +1 -0
- package/dist/chunks/{layout-picker-CzZ8Xzkk.js → layout-picker-MWaImn3L.js} +34 -34
- package/dist/chunks/{layout-picker-CzZ8Xzkk.js.map → layout-picker-MWaImn3L.js.map} +1 -1
- package/dist/chunks/{misc-Bj0y3ERC.js → misc-DoqZBMof.js} +110 -110
- package/dist/chunks/{misc-Bj0y3ERC.js.map → misc-DoqZBMof.js.map} +1 -1
- package/dist/chunks/{modal-B4ivQb2h.js → modal-B3HY3laL.js} +40 -40
- package/dist/chunks/{modal-B4ivQb2h.js.map → modal-B3HY3laL.js.map} +1 -1
- package/dist/chunks/multi-select-BzYIviCU.js +1305 -0
- package/dist/chunks/multi-select-BzYIviCU.js.map +1 -0
- package/dist/chunks/{picker-gIUs0nE_.js → picker-Dg55Ss-B.js} +74 -74
- package/dist/chunks/{picker-gIUs0nE_.js.map → picker-Dg55Ss-B.js.map} +1 -1
- package/dist/chunks/{popover-C79P5bm2.js → popover-xJJqy1v6.js} +52 -52
- package/dist/chunks/{popover-C79P5bm2.js.map → popover-xJJqy1v6.js.map} +1 -1
- package/dist/chunks/{separator-CIqnk2z9.js → separator-B72Aq-6a.js} +2 -2
- package/dist/chunks/{separator-CIqnk2z9.js.map → separator-B72Aq-6a.js.map} +1 -1
- package/dist/chunks/{slider-CigVo4Ju.js → slider-CFKsfxFp.js} +83 -83
- package/dist/chunks/{slider-CigVo4Ju.js.map → slider-CFKsfxFp.js.map} +1 -1
- package/dist/chunks/sortable-DcTIAbjD.js +185 -0
- package/dist/chunks/{sortable-BZqnZ_LA.js.map → sortable-DcTIAbjD.js.map} +1 -1
- package/dist/chunks/{table-CK-CM2zD.js → table-Dc3AqMzP.js} +21 -21
- package/dist/chunks/{table-CK-CM2zD.js.map → table-Dc3AqMzP.js.map} +1 -1
- package/dist/chunks/{table-column-interactions-DPyJDD7P.js → table-column-interactions-6RGjmiI5.js} +24 -24
- package/dist/chunks/{table-column-interactions-DPyJDD7P.js.map → table-column-interactions-6RGjmiI5.js.map} +1 -1
- package/dist/chunks/{tabs-D5ikIIng.js → tabs-DlnVVMJl.js} +96 -96
- package/dist/chunks/{tabs-D5ikIIng.js.map → tabs-DlnVVMJl.js.map} +1 -1
- package/dist/chunks/{toolbar-C-Ziw_Uh.js → toolbar-BCZNdRXM.js} +2 -2
- package/dist/chunks/{toolbar-C-Ziw_Uh.js.map → toolbar-BCZNdRXM.js.map} +1 -1
- package/dist/chunks/{wheel-picker-DUHGy7wE.js → wheel-picker-FS58cRsQ.js} +23 -23
- package/dist/chunks/{wheel-picker-DUHGy7wE.js.map → wheel-picker-FS58cRsQ.js.map} +1 -1
- package/dist/context-menu/index.js +1 -1
- package/dist/context-menu/stories/ContextMenu.stories.js +45 -45
- package/dist/date-input/index.js +2 -2
- package/dist/date-input/stories/DateInput.stories.js +2 -2
- package/dist/date-range-preset-select/index.js +1 -1
- package/dist/date-range-preset-select/stories/DateRangePresetSelect.stories.js +8 -8
- package/dist/date-time-input/index.js +1 -1
- package/dist/date-time-input/stories/SingleDateTimeInput.stories.js +38 -38
- package/dist/date-time-input/stories/TimePanel.stories.js +9 -9
- package/dist/detail/index.js +1 -1
- package/dist/detail/stories/Detail.stories.js +1 -1
- package/dist/dialog/index.js +1 -1
- package/dist/dialog/stories/Dialog.stories.js +16 -16
- package/dist/disclosure/index.js +1 -1
- package/dist/disclosure/stories/Disclosure.stories.js +1 -1
- package/dist/drop-zone/index.js +1 -1
- package/dist/drop-zone/stories/DropZone.stories.js +14 -14
- package/dist/errors/index.js +47 -47
- package/dist/expandable-action-panel/index.js +1 -1
- package/dist/expandable-action-panel/stories/ExpandableActionPanel.stories.js +28 -28
- package/dist/flex/index.js +2 -2
- package/dist/flex/stories/Flex.stories.js +2 -2
- package/dist/floating-arrow/index.js +1 -1
- package/dist/fullscreen-portal/index.js +6 -6
- package/dist/grid/stories/Grid.stories.js +1 -1
- package/dist/image/index.js +123 -123
- package/dist/input/index.js +1 -1
- package/dist/input/stories/Input.stories.js +11 -11
- package/dist/input-date-time/index.js +1 -1
- package/dist/input-date-time/stories/InputDateTime.stories.js +11 -11
- package/dist/input-file/index.js +1 -1
- package/dist/input-file/stories/InputFile.stories.js +9 -9
- package/dist/input-files/index.js +1 -1
- package/dist/input-files/stories/InputFiles.stories.js +9 -9
- package/dist/input-image/index.js +1 -1
- package/dist/input-image/stories/InputImage.stories.js +15 -15
- package/dist/input-search/index.js +2 -30
- package/dist/layout-picker/index.js +1 -1
- package/dist/layout-picker/stories/LayoutPicker.stories.js +52 -52
- package/dist/list/index.js +27 -27
- package/dist/listbox/index.js +1 -1
- package/dist/listbox/stories/Listbox.stories.js +19 -19
- package/dist/misc/index.js +1 -1
- package/dist/modal/index.js +1 -1
- package/dist/modal/stories/Modal.stories.js +55 -55
- package/dist/multi-select/index.js +3 -1141
- package/dist/multi-select/ui/stories/MultiSelect.stories.js +17 -17
- package/dist/notifications/index.js +1 -1
- package/dist/notifications/ui/stories/NotificationsHost.stories.js +59 -59
- package/dist/period-select/index.js +20 -20
- package/dist/period-select/stories/PeriodSelect.stories.js +17 -17
- package/dist/picker/index.js +1 -1
- package/dist/popover/index.js +1 -1
- package/dist/popover/stories/Popover.stories.js +16 -16
- package/dist/preset-range-date-input/index.js +1 -1
- package/dist/preset-range-date-input/ui/stories/PresetRangeDateInput.stories.js +9 -9
- package/dist/preset-select/index.js +1 -1
- package/dist/radio-button/index.js +1 -1
- package/dist/radio-button/stories/RadioButton.stories.js +11 -11
- package/dist/radio-group/index.js +1 -1
- package/dist/radio-group/stories/RadioGroup.stories.js +21 -21
- package/dist/select/index.js +2 -2
- package/dist/select/stories/Select.stories.js +23 -23
- package/dist/select/stories/SerializableSelect.stories.js +22 -22
- package/dist/separator/index.js +1 -1
- package/dist/simple-table/index.js +5 -5
- package/dist/slider/index.js +1 -1
- package/dist/slider/stories/Slider.stories.js +32 -32
- package/dist/slider/stories/SliderInput.stories.js +39 -39
- package/dist/sortable/index.js +1 -1
- package/dist/sortable/stories/Sortable.stories.js +23 -23
- package/dist/splitter/index.js +1 -1
- package/dist/splitter/stories/Splitter.stories.js +1 -1
- package/dist/state-select/index.js +1 -1
- package/dist/state-select/stories/StateSelect.stories.js +23 -23
- package/dist/styles.css +1 -1
- package/dist/switch/index.js +1 -1
- package/dist/switch/stories/Switch.stories.js +11 -11
- package/dist/table/index.js +1 -1
- package/dist/table-column-interactions/index.js +1 -1
- package/dist/table-sorting/index.js +1 -1
- package/dist/tabs/index.js +1 -1
- package/dist/tabs/stories/Tabs.stories.js +39 -39
- package/dist/text/index.js +20 -20
- package/dist/text-editor/index.js +3 -3
- package/dist/text-editor/toolbar/index.js +1 -1
- package/dist/textarea/index.js +1 -1
- package/dist/textarea/stories/Textarea.stories.js +8 -8
- package/dist/three-scene/index.js +7 -7
- package/dist/toggle/index.js +1 -1
- package/dist/toggle/stories/Toggle.stories.js +7 -7
- package/dist/toolbar/index.js +16 -16
- package/dist/tree/index.js +24 -24
- package/dist/tree-select/index.js +2 -2
- package/dist/tree-select/stories/TreeMultiSelect.stories.js +9 -9
- package/dist/tree-select/stories/TreeSelect.stories.js +9 -9
- package/dist/tree-table/index.js +32 -32
- package/dist/wheel-picker/index.js +1 -1
- package/package.json +11 -1
- package/dist/chunks/CalendarView-DjShdvRD.js +0 -435
- package/dist/chunks/CheckBox-CulnjNvJ.js +0 -48
- package/dist/chunks/Detail-DKolHye4.js +0 -80
- package/dist/chunks/DisclosureGroup-Plk2M_Vl.js +0 -49
- package/dist/chunks/Input-Wrew1puH.js +0 -227
- package/dist/chunks/Listbox-B6F_IKQv.js +0 -81
- package/dist/chunks/RadioButton-D5vPW4Yr.js +0 -48
- package/dist/chunks/RadioGroup-BAhN1d1X.js +0 -121
- package/dist/chunks/StateSelect-abZq176J.js +0 -78
- package/dist/chunks/base-table-ij2guVMB.js +0 -514
- package/dist/chunks/sortable-BZqnZ_LA.js +0 -185
- package/dist/input-search/index.js.map +0 -1
- package/dist/multi-select/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout-picker-CzZ8Xzkk.js","names":[],"sources":["../../src/layout-picker/lib/layout.ts","../../src/layout-picker/lib/presets.ts","../../src/layout-picker/ui/LayoutPicker.module.scss","../../src/layout-picker/ui/LayoutPicker.tsx"],"sourcesContent":["import { type CSSProperties } from \"react\";\n\nimport { type LayoutPickerPreset, type LayoutPickerPresetCell } from \"./types\";\n\n/**\n * Возвращает CSS Grid-стиль для схематичного layout-пресета.\n */\nexport function getLayoutStyle(preset: LayoutPickerPreset, rowMinHeightInEm?: number): CSSProperties {\n\treturn {\n\t\tgridTemplateColumns: `repeat(${preset.columns}, minmax(0, 1fr))`,\n\t\tgridTemplateRows: `repeat(${preset.rows}, minmax(${rowMinHeightInEm ?? 0}em, 1fr))`\n\t};\n}\n\n/**\n * Возвращает позиционирование ячейки внутри CSS Grid.\n */\nexport function getLayoutCellStyle(cell: LayoutPickerPresetCell): CSSProperties {\n\treturn {\n\t\tgridColumn: `${cell.column} / span ${cell.columnSpan ?? 1}`,\n\t\tgridRow: `${cell.row} / span ${cell.rowSpan ?? 1}`\n\t};\n}\n","import { type LayoutPickerPreset } from \"./types\";\n\n/**\n * Базовый набор layout-пресетов для первого среза выбора схемы.\n *\n * id формата:\n * - \"2x3\" — 2 строки, 3 колонки\n * - \"2x2-l\" — 2x2 с большой ячейкой слева\n * - \"3x2-b\" — 3x2 с широкой нижней ячейкой\n */\nexport const DEFAULT_LAYOUT_PICKER_PRESETS = [\n\t{\n\t\tid: \"1x1\",\n\t\tlabel: \"1x1\",\n\t\tcolumns: 1,\n\t\trows: 1,\n\t\tcells: [{ id: \"c11\", row: 1, column: 1 }]\n\t},\n\t{\n\t\tid: \"1x2\",\n\t\tlabel: \"1x2\",\n\t\tcolumns: 2,\n\t\trows: 1,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 }\n\t\t]\n\t},\n\t{\n\t\tid: \"1x3\",\n\t\tlabel: \"1x3\",\n\t\tcolumns: 3,\n\t\trows: 1,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 },\n\t\t\t{ id: \"c13\", row: 1, column: 3 }\n\t\t]\n\t},\n\t{\n\t\tid: \"2x1\",\n\t\tlabel: \"2x1\",\n\t\tcolumns: 1,\n\t\trows: 2,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 }\n\t\t]\n\t},\n\t{\n\t\tid: \"2x2\",\n\t\tlabel: \"2x2\",\n\t\tcolumns: 2,\n\t\trows: 2,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 }\n\t\t]\n\t},\n\t{\n\t\tid: \"2x3\",\n\t\tlabel: \"2x3\",\n\t\tcolumns: 3,\n\t\trows: 2,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 },\n\t\t\t{ id: \"c13\", row: 1, column: 3 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c23\", row: 2, column: 3 }\n\t\t]\n\t},\n\t{\n\t\tid: \"3x1\",\n\t\tlabel: \"3x1\",\n\t\tcolumns: 1,\n\t\trows: 3,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c31\", row: 3, column: 1 }\n\t\t]\n\t},\n\t{\n\t\tid: \"3x2\",\n\t\tlabel: \"3x2\",\n\t\tcolumns: 2,\n\t\trows: 3,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c31\", row: 3, column: 1 },\n\t\t\t{ id: \"c32\", row: 3, column: 2 }\n\t\t]\n\t},\n\t{\n\t\tid: \"3x3\",\n\t\tlabel: \"3x3\",\n\t\tcolumns: 3,\n\t\trows: 3,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 },\n\t\t\t{ id: \"c13\", row: 1, column: 3 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c23\", row: 2, column: 3 },\n\t\t\t{ id: \"c31\", row: 3, column: 1 },\n\t\t\t{ id: \"c32\", row: 3, column: 2 },\n\t\t\t{ id: \"c33\", row: 3, column: 3 }\n\t\t]\n\t},\n\t{\n\t\tid: \"4x1\",\n\t\tlabel: \"4x1\",\n\t\tcolumns: 1,\n\t\trows: 4,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c31\", row: 3, column: 1 },\n\t\t\t{ id: \"c41\", row: 4, column: 1 }\n\t\t]\n\t},\n\t{\n\t\tid: \"4x2\",\n\t\tlabel: \"4x2\",\n\t\tcolumns: 2,\n\t\trows: 4,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c31\", row: 3, column: 1 },\n\t\t\t{ id: \"c32\", row: 3, column: 2 },\n\t\t\t{ id: \"c41\", row: 4, column: 1 },\n\t\t\t{ id: \"c42\", row: 4, column: 2 }\n\t\t]\n\t},\n\t{\n\t\tid: \"4x3\",\n\t\tlabel: \"4x3\",\n\t\tcolumns: 3,\n\t\trows: 4,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 },\n\t\t\t{ id: \"c13\", row: 1, column: 3 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c23\", row: 2, column: 3 },\n\t\t\t{ id: \"c31\", row: 3, column: 1 },\n\t\t\t{ id: \"c32\", row: 3, column: 2 },\n\t\t\t{ id: \"c33\", row: 3, column: 3 },\n\t\t\t{ id: \"c41\", row: 4, column: 1 },\n\t\t\t{ id: \"c42\", row: 4, column: 2 },\n\t\t\t{ id: \"c43\", row: 4, column: 3 }\n\t\t]\n\t},\n\n\t{\n\t\tid: \"2x2-l\",\n\t\tlabel: \"Большая слева + две справа\",\n\t\tcolumns: 2,\n\t\trows: 2,\n\t\tcells: [\n\t\t\t{ id: \"left\", row: 1, column: 1, rowSpan: 2 },\n\t\t\t{ id: \"rt\", row: 1, column: 2 },\n\t\t\t{ id: \"rb\", row: 2, column: 2 }\n\t\t]\n\t},\n\t{\n\t\tid: \"2x2-r\",\n\t\tlabel: \"Две слева + большая справа\",\n\t\tcolumns: 2,\n\t\trows: 2,\n\t\tcells: [\n\t\t\t{ id: \"lt\", row: 1, column: 1 },\n\t\t\t{ id: \"lb\", row: 2, column: 1 },\n\t\t\t{ id: \"right\", row: 1, column: 2, rowSpan: 2 }\n\t\t]\n\t},\n\t{\n\t\tid: \"2x2-t\",\n\t\tlabel: \"Широкая сверху + две снизу\",\n\t\tcolumns: 2,\n\t\trows: 2,\n\t\tcells: [\n\t\t\t{ id: \"top\", row: 1, column: 1, columnSpan: 2 },\n\t\t\t{ id: \"bl\", row: 2, column: 1 },\n\t\t\t{ id: \"br\", row: 2, column: 2 }\n\t\t]\n\t},\n\t{\n\t\tid: \"2x2-b\",\n\t\tlabel: \"Две сверху + широкая снизу\",\n\t\tcolumns: 2,\n\t\trows: 2,\n\t\tcells: [\n\t\t\t{ id: \"tl\", row: 1, column: 1 },\n\t\t\t{ id: \"tr\", row: 1, column: 2 },\n\t\t\t{ id: \"bottom\", row: 2, column: 1, columnSpan: 2 }\n\t\t]\n\t},\n\n\t{\n\t\tid: \"3x2-t\",\n\t\tlabel: \"Широкая сверху + 2x2\",\n\t\tcolumns: 2,\n\t\trows: 3,\n\t\tcells: [\n\t\t\t{ id: \"top\", row: 1, column: 1, columnSpan: 2 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c31\", row: 3, column: 1 },\n\t\t\t{ id: \"c32\", row: 3, column: 2 }\n\t\t]\n\t},\n\t{\n\t\tid: \"3x2-b\",\n\t\tlabel: \"2x2 + широкая снизу\",\n\t\tcolumns: 2,\n\t\trows: 3,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"bottom\", row: 3, column: 1, columnSpan: 2 }\n\t\t]\n\t},\n\t{\n\t\tid: \"3x2-m\",\n\t\tlabel: \"Широкая по центру\",\n\t\tcolumns: 2,\n\t\trows: 3,\n\t\tcells: [\n\t\t\t{ id: \"tl\", row: 1, column: 1 },\n\t\t\t{ id: \"tr\", row: 1, column: 2 },\n\t\t\t{ id: \"middle\", row: 2, column: 1, columnSpan: 2 },\n\t\t\t{ id: \"bl\", row: 3, column: 1 },\n\t\t\t{ id: \"br\", row: 3, column: 2 }\n\t\t]\n\t},\n\n\t{\n\t\tid: \"3x3-l\",\n\t\tlabel: \"Большая слева + 2x3 справа\",\n\t\tcolumns: 3,\n\t\trows: 3,\n\t\tcells: [\n\t\t\t{ id: \"left\", row: 1, column: 1, rowSpan: 3 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 },\n\t\t\t{ id: \"c13\", row: 1, column: 3 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c23\", row: 2, column: 3 },\n\t\t\t{ id: \"c32\", row: 3, column: 2 },\n\t\t\t{ id: \"c33\", row: 3, column: 3 }\n\t\t]\n\t},\n\t{\n\t\tid: \"3x3-r\",\n\t\tlabel: \"2x3 слева + большая справа\",\n\t\tcolumns: 3,\n\t\trows: 3,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 },\n\t\t\t{ id: \"right\", row: 1, column: 3, rowSpan: 3 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c31\", row: 3, column: 1 },\n\t\t\t{ id: \"c32\", row: 3, column: 2 }\n\t\t]\n\t},\n\t{\n\t\tid: \"3x3-t\",\n\t\tlabel: \"Широкая сверху + 2x3\",\n\t\tcolumns: 3,\n\t\trows: 3,\n\t\tcells: [\n\t\t\t{ id: \"top\", row: 1, column: 1, columnSpan: 3 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c23\", row: 2, column: 3 },\n\t\t\t{ id: \"c31\", row: 3, column: 1 },\n\t\t\t{ id: \"c32\", row: 3, column: 2 },\n\t\t\t{ id: \"c33\", row: 3, column: 3 }\n\t\t]\n\t},\n\t{\n\t\tid: \"3x3-b\",\n\t\tlabel: \"2x3 + широкая снизу\",\n\t\tcolumns: 3,\n\t\trows: 3,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 },\n\t\t\t{ id: \"c13\", row: 1, column: 3 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c23\", row: 2, column: 3 },\n\t\t\t{ id: \"bottom\", row: 3, column: 1, columnSpan: 3 }\n\t\t]\n\t},\n\n\t{\n\t\tid: \"4x2-t\",\n\t\tlabel: \"Широкая сверху + 3x2\",\n\t\tcolumns: 2,\n\t\trows: 4,\n\t\tcells: [\n\t\t\t{ id: \"top\", row: 1, column: 1, columnSpan: 2 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c31\", row: 3, column: 1 },\n\t\t\t{ id: \"c32\", row: 3, column: 2 },\n\t\t\t{ id: \"c41\", row: 4, column: 1 },\n\t\t\t{ id: \"c42\", row: 4, column: 2 }\n\t\t]\n\t},\n\t{\n\t\tid: \"4x2-b\",\n\t\tlabel: \"3x2 + широкая снизу\",\n\t\tcolumns: 2,\n\t\trows: 4,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c31\", row: 3, column: 1 },\n\t\t\t{ id: \"c32\", row: 3, column: 2 },\n\t\t\t{ id: \"bottom\", row: 4, column: 1, columnSpan: 2 }\n\t\t]\n\t},\n\t{\n\t\tid: \"4x3-t\",\n\t\tlabel: \"Широкая сверху + 3x3\",\n\t\tcolumns: 3,\n\t\trows: 4,\n\t\tcells: [\n\t\t\t{ id: \"top\", row: 1, column: 1, columnSpan: 3 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c23\", row: 2, column: 3 },\n\t\t\t{ id: \"c31\", row: 3, column: 1 },\n\t\t\t{ id: \"c32\", row: 3, column: 2 },\n\t\t\t{ id: \"c33\", row: 3, column: 3 },\n\t\t\t{ id: \"c41\", row: 4, column: 1 },\n\t\t\t{ id: \"c42\", row: 4, column: 2 },\n\t\t\t{ id: \"c43\", row: 4, column: 3 }\n\t\t]\n\t},\n\t{\n\t\tid: \"4x3-b\",\n\t\tlabel: \"3x3 + широкая снизу\",\n\t\tcolumns: 3,\n\t\trows: 4,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 },\n\t\t\t{ id: \"c13\", row: 1, column: 3 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c23\", row: 2, column: 3 },\n\t\t\t{ id: \"c31\", row: 3, column: 1 },\n\t\t\t{ id: \"c32\", row: 3, column: 2 },\n\t\t\t{ id: \"c33\", row: 3, column: 3 },\n\t\t\t{ id: \"bottom\", row: 4, column: 1, columnSpan: 3 }\n\t\t]\n\t}\n] as const satisfies readonly LayoutPickerPreset[];\n\nexport type DefaultLayoutPickerPresetId = (typeof DEFAULT_LAYOUT_PICKER_PRESETS)[number][\"id\"];\n\nexport function getDefaultLayoutPickerPresetId(): DefaultLayoutPickerPresetId {\n\treturn DEFAULT_LAYOUT_PICKER_PRESETS[0].id;\n}\n\n/** Возвращает layout-пресет по id с fallback на дефолт chart-ракурса. */\nexport function resolveLayoutPreset(layoutId: string | undefined): LayoutPickerPreset {\n\treturn DEFAULT_LAYOUT_PICKER_PRESETS.find((preset) => preset.id === layoutId) ?? DEFAULT_LAYOUT_PICKER_PRESETS[0];\n}\n\nexport function resolveLayoutCellCount(layoutId: string): number {\n\treturn DEFAULT_LAYOUT_PICKER_PRESETS.find((preset) => preset.id === layoutId)?.cells.length ?? 1;\n}\n","@use \"@/styles/mixins\" as *;\n\n.valueOverlay {\n\tposition: absolute;\n\tinset: 0 calc(var(--control-height) + var(--space-xs)) 0 var(--space-sm);\n\tdisplay: flex;\n\talign-items: center;\n\tgap: var(--space-sm);\n\tmin-width: 0;\n\tpointer-events: none;\n\toverflow: hidden;\n}\n\n.triggerInput {\n\t--ui-color: transparent;\n\t--ui-color-hover: transparent;\n\t--ui-color-active: transparent;\n\n\tcolor: transparent;\n\tcaret-color: transparent;\n}\n\n.triggerText {\n\tmin-width: 0;\n\tflex: 1 1 auto;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n\n.popup {\n\twidth: min(calc(100vw - var(--space-lg) * 2), 44em);\n\tmax-height: min(75vh, 34em);\n}\n\n.popupLayout {\n\tmax-height: inherit;\n}\n\n.popupBody {\n\toverflow: auto;\n\tpadding: var(--space-xs);\n}\n\n.options {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(auto-fit, minmax(min(100%, 12em), 1fr));\n\tgap: var(--space-sm);\n}\n\n.option {\n\tposition: relative;\n\tdisplay: grid;\n\tgrid-template-columns: auto minmax(0, 1fr) auto;\n\talign-items: center;\n\tgap: var(--space-sm);\n\tmin-height: 3.5em;\n\tpadding: var(--space-sm);\n\tborder: var(--border);\n\tborder-radius: var(--radius-sm);\n\tbackground-color: var(--surface-0);\n\tcolor: var(--content-0);\n\ttext-align: left;\n\tcursor: pointer;\n\ttransition:\n\t\tbackground-color var(--transition-fast) ease,\n\t\tborder-color var(--transition-fast) ease,\n\t\tcolor var(--transition-fast) ease;\n\n\t@include hover(true) {\n\t\tbackground-color: var(--surface-1);\n\t\tborder-color: var(--border-1);\n\t}\n\n\t&:disabled {\n\t\tcursor: default;\n\t\topacity: var(--disabled-opacity);\n\t}\n}\n\n.optionActive {\n\tbackground-color: var(--surface-1);\n\tborder-color: var(--border-1);\n}\n\n.optionSelected {\n\t// border-color: var(--border-accent);\n\t// background-color: var(--surface-accent);\n\tcolor: var(--content-accent);\n}\n\n.optionPreviewWrap {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmin-width: 3.5rem;\n}\n\n// .optionText {\n// \tmin-width: 0;\n// \tdisplay: grid;\n// \tgap: var(--space-xs);\n// }\n\n// .optionLabel {\n// overflow: hidden;\n// text-overflow: ellipsis;\n// white-space: nowrap;\n// }\n\n// .optionDescription {\n// \toverflow: hidden;\n// \tdisplay: -webkit-box;\n// \t-webkit-line-clamp: 2;\n// \t-webkit-box-orient: vertical;\n// \tcolor: var(--content-2);\n// \tfont-size: var(--font-size-sm);\n// }\n\n.optionCheck {\n\twidth: 1em;\n\theight: 1em;\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\tcolor: var(--content-accent);\n\n\tsvg {\n\t\twidth: 1em;\n\t\theight: 1em;\n\t}\n}\n\n.preview,\n.previewPlaceholder {\n\t--layout-picker-preview-size: 3.5em;\n\n\twidth: var(--layout-picker-preview-size);\n\theight: calc(var(--layout-picker-preview-size) * 0.72);\n\tflex: 0 0 auto;\n\t// background-color: var(--surface-0);\n\t// border: var(--border);\n\t// border-radius: var(--radius-xs);\n\t// padding: calc(var(--border-width) * 2);\n}\n\n.preview {\n\tdisplay: grid;\n\tgap: calc(var(--border-width) * 2);\n}\n\n.previewCompact,\n.previewPlaceholder {\n\t--layout-picker-preview-size: 1.5rem;\n}\n\n.previewCell {\n\tmin-width: 0;\n\tmin-height: 0;\n\tborder-radius: calc(var(--radius-xs) / 2);\n\tbackground-color: var(--surface-accent);\n\tborder: var(--border-width) solid var(--border-accent);\n}\n","import { useRef, useState } from \"react\";\n\nimport { type Placement } from \"@floating-ui/react\";\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { CheckIcon } from \"lucide-react\";\n\nimport {\n\tPickerField,\n\tPickerPopup,\n\tPickerTriggerActions,\n\tPickerTriggerInput,\n\tusePickerFloatingListbox,\n\tusePickerTriggerController\n} from \"../../picker\";\nimport { type UiBaseProps } from \"../../types\";\nimport uiStyles from \"../../ui.module.scss\";\nimport { DEFAULT_LAYOUT_PICKER_PRESETS, getLayoutCellStyle, getLayoutStyle, type LayoutPickerPreset } from \"../lib\";\n\nimport styles from \"./LayoutPicker.module.scss\";\n\nexport interface LayoutPickerProps extends UiBaseProps<string> {\n\tid?: string;\n\tpresets?: readonly LayoutPickerPreset[];\n\tgetPresetDisabled?: (preset: LayoutPickerPreset) => boolean;\n\tariaLabel?: string;\n\tclassName?: string;\n\ttriggerClassName?: string;\n\tpopupClassName?: string;\n\tplacement?: Placement;\n}\n\nconst DEFAULT_PLACEHOLDER = \"Выберите раскладку\";\n\nfunction LayoutPresetPreview({ preset, compact = false }: { preset: LayoutPickerPreset; compact?: boolean }) {\n\treturn (\n\t\t<span className={cn(styles.preview, compact && styles.previewCompact)} style={getLayoutStyle(preset)} aria-hidden=\"true\">\n\t\t\t{preset.cells.map((cell) => (\n\t\t\t\t<span key={`${preset.id}:${cell.id}`} className={styles.previewCell} style={getLayoutCellStyle(cell)} />\n\t\t\t))}\n\t\t</span>\n\t);\n}\n\n/**\n * Контрол выбора layout-пресета. Не хранит бизнес-логику содержимого ячеек.\n */\nexport function LayoutPicker({\n\tid,\n\tlabel,\n\tdescription,\n\tvalue,\n\tonChange,\n\tpresets = DEFAULT_LAYOUT_PICKER_PRESETS,\n\tdisabled,\n\tgetPresetDisabled,\n\tplaceholder = DEFAULT_PLACEHOLDER,\n\tsize,\n\tariaLabel,\n\tclassName,\n\ttriggerClassName,\n\tpopupClassName,\n\tplacement = \"bottom-start\"\n}: LayoutPickerProps) {\n\tconst inputRef = useRef<HTMLInputElement | null>(null);\n\tconst [open, setOpen] = useState(false);\n\tconst selectedIndex = presets.findIndex((preset) => preset.id === value);\n\tconst selectedPreset = selectedIndex >= 0 ? presets[selectedIndex] : undefined;\n\tconst previewPreset = selectedPreset ?? presets[0];\n\tconst triggerLabel = selectedPreset?.label ?? placeholder;\n\tconst {\n\t\tactiveIndex,\n\t\tcontext,\n\t\tfloatingStyles,\n\t\tgetFloatingProps,\n\t\tsetReference,\n\t\tsetFloating,\n\t\tsetOptionRef,\n\t\tclose,\n\t\topenList,\n\t\ttoggleOpen,\n\t\tselectOption,\n\t\tselectActiveOption,\n\t\thandleReferenceKeyDown,\n\t\thandleFloatingKeyDown,\n\t\tgetOptionId,\n\t\tgetActiveOptionId\n\t} = usePickerFloatingListbox({\n\t\toptions: presets,\n\t\tselectedIndex,\n\t\topen,\n\t\tonOpenChange: setOpen,\n\t\tgetOptionDisabled: getPresetDisabled,\n\t\tonSelect: (preset) => onChange(preset.id),\n\t\tdisabled,\n\t\tplacement,\n\t\ttriggerMode: \"display\"\n\t});\n\tconst triggerController = usePickerTriggerController({\n\t\tmode: \"display\",\n\t\topen,\n\t\tcurrentQuery: \"\",\n\t\thasDisplayValue: selectedPreset !== undefined,\n\t\tinputRef,\n\t\topenList,\n\t\tclose,\n\t\ttoggleOpen\n\t});\n\tconst setInputNode = (node: HTMLInputElement | null) => {\n\t\tinputRef.current = node;\n\t};\n\n\treturn (\n\t\t<PickerField\n\t\t\tid={id}\n\t\t\tlabel={label}\n\t\t\tdescription={description}\n\t\t\tdisabled={disabled}\n\t\t\tplaceholder={placeholder}\n\t\t\tsize={size}\n\t\t\tclassName={className}>\n\t\t\t{({ controlId, labelId, describedBy }) => {\n\t\t\t\tconst listId = `${controlId}-listbox`;\n\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PickerTriggerInput\n\t\t\t\t\t\t\tref={setInputNode}\n\t\t\t\t\t\t\trootRef={setReference}\n\t\t\t\t\t\t\tid={controlId}\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\t\tvalue={triggerLabel}\n\t\t\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\t\t\taria-expanded={open}\n\t\t\t\t\t\t\taria-controls={open ? listId : undefined}\n\t\t\t\t\t\t\taria-labelledby={labelId}\n\t\t\t\t\t\t\taria-describedby={describedBy}\n\t\t\t\t\t\t\taria-autocomplete=\"none\"\n\t\t\t\t\t\t\taria-activedescendant={open ? getActiveOptionId(listId) : undefined}\n\t\t\t\t\t\t\taria-label={!labelId ? (ariaLabel ?? `Выбрать layout. Текущее значение: ${triggerLabel}`) : undefined}\n\t\t\t\t\t\t\tdata-ui=\"layout-picker-trigger\"\n\t\t\t\t\t\t\trootClassName={triggerClassName}\n\t\t\t\t\t\t\tinputClassName={styles.triggerInput}\n\t\t\t\t\t\t\toverlay={\n\t\t\t\t\t\t\t\t<div className={styles.valueOverlay}>\n\t\t\t\t\t\t\t\t\t{previewPreset ? (\n\t\t\t\t\t\t\t\t\t\t<LayoutPresetPreview preset={previewPreset} compact />\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<span className={styles.previewPlaceholder} />\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<span className={cn(styles.triggerText, !selectedPreset && uiStyles.uiPlaceholder)}>\n\t\t\t\t\t\t\t\t\t\t{triggerLabel}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tendAdornment={\n\t\t\t\t\t\t\t\t<PickerTriggerActions\n\t\t\t\t\t\t\t\t\topen={open}\n\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\tonToggleMouseDown={triggerController.handleToggleMouseDown}\n\t\t\t\t\t\t\t\t\tonToggleClick={triggerController.handleToggleClick}\n\t\t\t\t\t\t\t\t\topenAriaLabel=\"Открыть список layout\"\n\t\t\t\t\t\t\t\t\tcloseAriaLabel=\"Закрыть список layout\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={triggerController.handleTriggerClick}\n\t\t\t\t\t\t\tonFocus={(event) => {\n\t\t\t\t\t\t\t\ttriggerController.handleTriggerFocus(event.currentTarget);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonKeyDown={(event) => {\n\t\t\t\t\t\t\t\thandleReferenceKeyDown(event);\n\n\t\t\t\t\t\t\t\tif (event.defaultPrevented) {\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\ttriggerController.handleTriggerKeyDown({\n\t\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\t\tonActivateWhenOpen: selectActiveOption,\n\t\t\t\t\t\t\t\t\tenableSpaceActivation: true\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<PickerPopup\n\t\t\t\t\t\t\topen={open}\n\t\t\t\t\t\t\tcontext={context}\n\t\t\t\t\t\t\tfloatingStyles={floatingStyles}\n\t\t\t\t\t\t\tlistId={listId}\n\t\t\t\t\t\t\tlabelId={labelId}\n\t\t\t\t\t\t\tdescriptionId={describedBy}\n\t\t\t\t\t\t\tactiveOptionId={getActiveOptionId(listId)}\n\t\t\t\t\t\t\tsetFloating={setFloating}\n\t\t\t\t\t\t\tgetFloatingProps={getFloatingProps}\n\t\t\t\t\t\t\tonKeyDown={handleFloatingKeyDown}\n\t\t\t\t\t\t\tclassName={cn(uiStyles.uiPopupOptions, styles.popup, popupClassName)}\n\t\t\t\t\t\t\tlayoutClassName={styles.popupLayout}\n\t\t\t\t\t\t\tbodyClassName={styles.popupBody}>\n\t\t\t\t\t\t\t<div className={styles.options}>\n\t\t\t\t\t\t\t\t{presets.map((preset, index) => {\n\t\t\t\t\t\t\t\t\tconst selected = index === selectedIndex;\n\t\t\t\t\t\t\t\t\tconst active = index === activeIndex;\n\t\t\t\t\t\t\t\t\tconst presetDisabled = getPresetDisabled?.(preset) ?? false;\n\t\t\t\t\t\t\t\t\tconst optionId = getOptionId(listId, index);\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\tkey={preset.id}\n\t\t\t\t\t\t\t\t\t\t\tid={optionId}\n\t\t\t\t\t\t\t\t\t\t\tref={(node) => setOptionRef(index, node)}\n\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t\t\t\t\tdisabled={presetDisabled}\n\t\t\t\t\t\t\t\t\t\t\taria-selected={selected}\n\t\t\t\t\t\t\t\t\t\t\taria-disabled={presetDisabled || undefined}\n\t\t\t\t\t\t\t\t\t\t\taria-label={preset.description ? `${preset.label}. ${preset.description}` : preset.label}\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn(styles.option, selected && styles.optionSelected, active && styles.optionActive)}\n\t\t\t\t\t\t\t\t\t\t\tdata-ui=\"layout-picker-option\"\n\t\t\t\t\t\t\t\t\t\t\tdata-selected={selected || undefined}\n\t\t\t\t\t\t\t\t\t\t\tonMouseDown={(event) => event.preventDefault()}\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => selectOption(preset)}>\n\t\t\t\t\t\t\t\t\t\t\t<span className={styles.optionPreviewWrap}>\n\t\t\t\t\t\t\t\t\t\t\t\t<LayoutPresetPreview preset={preset} />\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"fontSizeSm\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span>{preset.label}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t{preset.description ? <span>{preset.description}</span> : null}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t<span className={styles.optionCheck} aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t{selected ? <CheckIcon /> : null}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</PickerPopup>\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t}}\n\t\t</PickerField>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"layout-picker-MWaImn3L.js","names":[],"sources":["../../src/layout-picker/lib/layout.ts","../../src/layout-picker/lib/presets.ts","../../src/layout-picker/ui/LayoutPicker.module.scss","../../src/layout-picker/ui/LayoutPicker.tsx"],"sourcesContent":["import { type CSSProperties } from \"react\";\n\nimport { type LayoutPickerPreset, type LayoutPickerPresetCell } from \"./types\";\n\n/**\n * Возвращает CSS Grid-стиль для схематичного layout-пресета.\n */\nexport function getLayoutStyle(preset: LayoutPickerPreset, rowMinHeightInEm?: number): CSSProperties {\n\treturn {\n\t\tgridTemplateColumns: `repeat(${preset.columns}, minmax(0, 1fr))`,\n\t\tgridTemplateRows: `repeat(${preset.rows}, minmax(${rowMinHeightInEm ?? 0}em, 1fr))`\n\t};\n}\n\n/**\n * Возвращает позиционирование ячейки внутри CSS Grid.\n */\nexport function getLayoutCellStyle(cell: LayoutPickerPresetCell): CSSProperties {\n\treturn {\n\t\tgridColumn: `${cell.column} / span ${cell.columnSpan ?? 1}`,\n\t\tgridRow: `${cell.row} / span ${cell.rowSpan ?? 1}`\n\t};\n}\n","import { type LayoutPickerPreset } from \"./types\";\n\n/**\n * Базовый набор layout-пресетов для первого среза выбора схемы.\n *\n * id формата:\n * - \"2x3\" — 2 строки, 3 колонки\n * - \"2x2-l\" — 2x2 с большой ячейкой слева\n * - \"3x2-b\" — 3x2 с широкой нижней ячейкой\n */\nexport const DEFAULT_LAYOUT_PICKER_PRESETS = [\n\t{\n\t\tid: \"1x1\",\n\t\tlabel: \"1x1\",\n\t\tcolumns: 1,\n\t\trows: 1,\n\t\tcells: [{ id: \"c11\", row: 1, column: 1 }]\n\t},\n\t{\n\t\tid: \"1x2\",\n\t\tlabel: \"1x2\",\n\t\tcolumns: 2,\n\t\trows: 1,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 }\n\t\t]\n\t},\n\t{\n\t\tid: \"1x3\",\n\t\tlabel: \"1x3\",\n\t\tcolumns: 3,\n\t\trows: 1,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 },\n\t\t\t{ id: \"c13\", row: 1, column: 3 }\n\t\t]\n\t},\n\t{\n\t\tid: \"2x1\",\n\t\tlabel: \"2x1\",\n\t\tcolumns: 1,\n\t\trows: 2,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 }\n\t\t]\n\t},\n\t{\n\t\tid: \"2x2\",\n\t\tlabel: \"2x2\",\n\t\tcolumns: 2,\n\t\trows: 2,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 }\n\t\t]\n\t},\n\t{\n\t\tid: \"2x3\",\n\t\tlabel: \"2x3\",\n\t\tcolumns: 3,\n\t\trows: 2,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 },\n\t\t\t{ id: \"c13\", row: 1, column: 3 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c23\", row: 2, column: 3 }\n\t\t]\n\t},\n\t{\n\t\tid: \"3x1\",\n\t\tlabel: \"3x1\",\n\t\tcolumns: 1,\n\t\trows: 3,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c31\", row: 3, column: 1 }\n\t\t]\n\t},\n\t{\n\t\tid: \"3x2\",\n\t\tlabel: \"3x2\",\n\t\tcolumns: 2,\n\t\trows: 3,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c31\", row: 3, column: 1 },\n\t\t\t{ id: \"c32\", row: 3, column: 2 }\n\t\t]\n\t},\n\t{\n\t\tid: \"3x3\",\n\t\tlabel: \"3x3\",\n\t\tcolumns: 3,\n\t\trows: 3,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 },\n\t\t\t{ id: \"c13\", row: 1, column: 3 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c23\", row: 2, column: 3 },\n\t\t\t{ id: \"c31\", row: 3, column: 1 },\n\t\t\t{ id: \"c32\", row: 3, column: 2 },\n\t\t\t{ id: \"c33\", row: 3, column: 3 }\n\t\t]\n\t},\n\t{\n\t\tid: \"4x1\",\n\t\tlabel: \"4x1\",\n\t\tcolumns: 1,\n\t\trows: 4,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c31\", row: 3, column: 1 },\n\t\t\t{ id: \"c41\", row: 4, column: 1 }\n\t\t]\n\t},\n\t{\n\t\tid: \"4x2\",\n\t\tlabel: \"4x2\",\n\t\tcolumns: 2,\n\t\trows: 4,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c31\", row: 3, column: 1 },\n\t\t\t{ id: \"c32\", row: 3, column: 2 },\n\t\t\t{ id: \"c41\", row: 4, column: 1 },\n\t\t\t{ id: \"c42\", row: 4, column: 2 }\n\t\t]\n\t},\n\t{\n\t\tid: \"4x3\",\n\t\tlabel: \"4x3\",\n\t\tcolumns: 3,\n\t\trows: 4,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 },\n\t\t\t{ id: \"c13\", row: 1, column: 3 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c23\", row: 2, column: 3 },\n\t\t\t{ id: \"c31\", row: 3, column: 1 },\n\t\t\t{ id: \"c32\", row: 3, column: 2 },\n\t\t\t{ id: \"c33\", row: 3, column: 3 },\n\t\t\t{ id: \"c41\", row: 4, column: 1 },\n\t\t\t{ id: \"c42\", row: 4, column: 2 },\n\t\t\t{ id: \"c43\", row: 4, column: 3 }\n\t\t]\n\t},\n\n\t{\n\t\tid: \"2x2-l\",\n\t\tlabel: \"Большая слева + две справа\",\n\t\tcolumns: 2,\n\t\trows: 2,\n\t\tcells: [\n\t\t\t{ id: \"left\", row: 1, column: 1, rowSpan: 2 },\n\t\t\t{ id: \"rt\", row: 1, column: 2 },\n\t\t\t{ id: \"rb\", row: 2, column: 2 }\n\t\t]\n\t},\n\t{\n\t\tid: \"2x2-r\",\n\t\tlabel: \"Две слева + большая справа\",\n\t\tcolumns: 2,\n\t\trows: 2,\n\t\tcells: [\n\t\t\t{ id: \"lt\", row: 1, column: 1 },\n\t\t\t{ id: \"lb\", row: 2, column: 1 },\n\t\t\t{ id: \"right\", row: 1, column: 2, rowSpan: 2 }\n\t\t]\n\t},\n\t{\n\t\tid: \"2x2-t\",\n\t\tlabel: \"Широкая сверху + две снизу\",\n\t\tcolumns: 2,\n\t\trows: 2,\n\t\tcells: [\n\t\t\t{ id: \"top\", row: 1, column: 1, columnSpan: 2 },\n\t\t\t{ id: \"bl\", row: 2, column: 1 },\n\t\t\t{ id: \"br\", row: 2, column: 2 }\n\t\t]\n\t},\n\t{\n\t\tid: \"2x2-b\",\n\t\tlabel: \"Две сверху + широкая снизу\",\n\t\tcolumns: 2,\n\t\trows: 2,\n\t\tcells: [\n\t\t\t{ id: \"tl\", row: 1, column: 1 },\n\t\t\t{ id: \"tr\", row: 1, column: 2 },\n\t\t\t{ id: \"bottom\", row: 2, column: 1, columnSpan: 2 }\n\t\t]\n\t},\n\n\t{\n\t\tid: \"3x2-t\",\n\t\tlabel: \"Широкая сверху + 2x2\",\n\t\tcolumns: 2,\n\t\trows: 3,\n\t\tcells: [\n\t\t\t{ id: \"top\", row: 1, column: 1, columnSpan: 2 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c31\", row: 3, column: 1 },\n\t\t\t{ id: \"c32\", row: 3, column: 2 }\n\t\t]\n\t},\n\t{\n\t\tid: \"3x2-b\",\n\t\tlabel: \"2x2 + широкая снизу\",\n\t\tcolumns: 2,\n\t\trows: 3,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"bottom\", row: 3, column: 1, columnSpan: 2 }\n\t\t]\n\t},\n\t{\n\t\tid: \"3x2-m\",\n\t\tlabel: \"Широкая по центру\",\n\t\tcolumns: 2,\n\t\trows: 3,\n\t\tcells: [\n\t\t\t{ id: \"tl\", row: 1, column: 1 },\n\t\t\t{ id: \"tr\", row: 1, column: 2 },\n\t\t\t{ id: \"middle\", row: 2, column: 1, columnSpan: 2 },\n\t\t\t{ id: \"bl\", row: 3, column: 1 },\n\t\t\t{ id: \"br\", row: 3, column: 2 }\n\t\t]\n\t},\n\n\t{\n\t\tid: \"3x3-l\",\n\t\tlabel: \"Большая слева + 2x3 справа\",\n\t\tcolumns: 3,\n\t\trows: 3,\n\t\tcells: [\n\t\t\t{ id: \"left\", row: 1, column: 1, rowSpan: 3 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 },\n\t\t\t{ id: \"c13\", row: 1, column: 3 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c23\", row: 2, column: 3 },\n\t\t\t{ id: \"c32\", row: 3, column: 2 },\n\t\t\t{ id: \"c33\", row: 3, column: 3 }\n\t\t]\n\t},\n\t{\n\t\tid: \"3x3-r\",\n\t\tlabel: \"2x3 слева + большая справа\",\n\t\tcolumns: 3,\n\t\trows: 3,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 },\n\t\t\t{ id: \"right\", row: 1, column: 3, rowSpan: 3 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c31\", row: 3, column: 1 },\n\t\t\t{ id: \"c32\", row: 3, column: 2 }\n\t\t]\n\t},\n\t{\n\t\tid: \"3x3-t\",\n\t\tlabel: \"Широкая сверху + 2x3\",\n\t\tcolumns: 3,\n\t\trows: 3,\n\t\tcells: [\n\t\t\t{ id: \"top\", row: 1, column: 1, columnSpan: 3 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c23\", row: 2, column: 3 },\n\t\t\t{ id: \"c31\", row: 3, column: 1 },\n\t\t\t{ id: \"c32\", row: 3, column: 2 },\n\t\t\t{ id: \"c33\", row: 3, column: 3 }\n\t\t]\n\t},\n\t{\n\t\tid: \"3x3-b\",\n\t\tlabel: \"2x3 + широкая снизу\",\n\t\tcolumns: 3,\n\t\trows: 3,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 },\n\t\t\t{ id: \"c13\", row: 1, column: 3 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c23\", row: 2, column: 3 },\n\t\t\t{ id: \"bottom\", row: 3, column: 1, columnSpan: 3 }\n\t\t]\n\t},\n\n\t{\n\t\tid: \"4x2-t\",\n\t\tlabel: \"Широкая сверху + 3x2\",\n\t\tcolumns: 2,\n\t\trows: 4,\n\t\tcells: [\n\t\t\t{ id: \"top\", row: 1, column: 1, columnSpan: 2 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c31\", row: 3, column: 1 },\n\t\t\t{ id: \"c32\", row: 3, column: 2 },\n\t\t\t{ id: \"c41\", row: 4, column: 1 },\n\t\t\t{ id: \"c42\", row: 4, column: 2 }\n\t\t]\n\t},\n\t{\n\t\tid: \"4x2-b\",\n\t\tlabel: \"3x2 + широкая снизу\",\n\t\tcolumns: 2,\n\t\trows: 4,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c31\", row: 3, column: 1 },\n\t\t\t{ id: \"c32\", row: 3, column: 2 },\n\t\t\t{ id: \"bottom\", row: 4, column: 1, columnSpan: 2 }\n\t\t]\n\t},\n\t{\n\t\tid: \"4x3-t\",\n\t\tlabel: \"Широкая сверху + 3x3\",\n\t\tcolumns: 3,\n\t\trows: 4,\n\t\tcells: [\n\t\t\t{ id: \"top\", row: 1, column: 1, columnSpan: 3 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c23\", row: 2, column: 3 },\n\t\t\t{ id: \"c31\", row: 3, column: 1 },\n\t\t\t{ id: \"c32\", row: 3, column: 2 },\n\t\t\t{ id: \"c33\", row: 3, column: 3 },\n\t\t\t{ id: \"c41\", row: 4, column: 1 },\n\t\t\t{ id: \"c42\", row: 4, column: 2 },\n\t\t\t{ id: \"c43\", row: 4, column: 3 }\n\t\t]\n\t},\n\t{\n\t\tid: \"4x3-b\",\n\t\tlabel: \"3x3 + широкая снизу\",\n\t\tcolumns: 3,\n\t\trows: 4,\n\t\tcells: [\n\t\t\t{ id: \"c11\", row: 1, column: 1 },\n\t\t\t{ id: \"c12\", row: 1, column: 2 },\n\t\t\t{ id: \"c13\", row: 1, column: 3 },\n\t\t\t{ id: \"c21\", row: 2, column: 1 },\n\t\t\t{ id: \"c22\", row: 2, column: 2 },\n\t\t\t{ id: \"c23\", row: 2, column: 3 },\n\t\t\t{ id: \"c31\", row: 3, column: 1 },\n\t\t\t{ id: \"c32\", row: 3, column: 2 },\n\t\t\t{ id: \"c33\", row: 3, column: 3 },\n\t\t\t{ id: \"bottom\", row: 4, column: 1, columnSpan: 3 }\n\t\t]\n\t}\n] as const satisfies readonly LayoutPickerPreset[];\n\nexport type DefaultLayoutPickerPresetId = (typeof DEFAULT_LAYOUT_PICKER_PRESETS)[number][\"id\"];\n\nexport function getDefaultLayoutPickerPresetId(): DefaultLayoutPickerPresetId {\n\treturn DEFAULT_LAYOUT_PICKER_PRESETS[0].id;\n}\n\n/** Возвращает layout-пресет по id с fallback на дефолт chart-ракурса. */\nexport function resolveLayoutPreset(layoutId: string | undefined): LayoutPickerPreset {\n\treturn DEFAULT_LAYOUT_PICKER_PRESETS.find((preset) => preset.id === layoutId) ?? DEFAULT_LAYOUT_PICKER_PRESETS[0];\n}\n\nexport function resolveLayoutCellCount(layoutId: string): number {\n\treturn DEFAULT_LAYOUT_PICKER_PRESETS.find((preset) => preset.id === layoutId)?.cells.length ?? 1;\n}\n","@use \"@/styles/mixins\" as *;\n\n.valueOverlay {\n\tposition: absolute;\n\tinset: 0 calc(var(--control-height) + var(--space-xs)) 0 var(--space-sm);\n\tdisplay: flex;\n\talign-items: center;\n\tgap: var(--space-sm);\n\tmin-width: 0;\n\tpointer-events: none;\n\toverflow: hidden;\n}\n\n.triggerInput {\n\t--ui-color: transparent;\n\t--ui-color-hover: transparent;\n\t--ui-color-active: transparent;\n\n\tcolor: transparent;\n\tcaret-color: transparent;\n}\n\n.triggerText {\n\tmin-width: 0;\n\tflex: 1 1 auto;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n\n.popup {\n\twidth: min(calc(100vw - var(--space-lg) * 2), 44em);\n\tmax-height: min(75vh, 34em);\n}\n\n.popupLayout {\n\tmax-height: inherit;\n}\n\n.popupBody {\n\toverflow: auto;\n\tpadding: var(--space-xs);\n}\n\n.options {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(auto-fit, minmax(min(100%, 12em), 1fr));\n\tgap: var(--space-sm);\n}\n\n.option {\n\tposition: relative;\n\tdisplay: grid;\n\tgrid-template-columns: auto minmax(0, 1fr) auto;\n\talign-items: center;\n\tgap: var(--space-sm);\n\tmin-height: 3.5em;\n\tpadding: var(--space-sm);\n\tborder: var(--border);\n\tborder-radius: var(--radius-sm);\n\tbackground-color: var(--surface-0);\n\tcolor: var(--content-0);\n\ttext-align: left;\n\tcursor: pointer;\n\ttransition:\n\t\tbackground-color var(--transition-fast) ease,\n\t\tborder-color var(--transition-fast) ease,\n\t\tcolor var(--transition-fast) ease;\n\n\t@include hover(true) {\n\t\tbackground-color: var(--surface-1);\n\t\tborder-color: var(--border-1);\n\t}\n\n\t&:disabled {\n\t\tcursor: default;\n\t\topacity: var(--disabled-opacity);\n\t}\n}\n\n.optionActive {\n\tbackground-color: var(--surface-1);\n\tborder-color: var(--border-1);\n}\n\n.optionSelected {\n\t// border-color: var(--border-accent);\n\t// background-color: var(--surface-accent);\n\tcolor: var(--content-accent);\n}\n\n.optionPreviewWrap {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmin-width: 3.5rem;\n}\n\n// .optionText {\n// \tmin-width: 0;\n// \tdisplay: grid;\n// \tgap: var(--space-xs);\n// }\n\n// .optionLabel {\n// overflow: hidden;\n// text-overflow: ellipsis;\n// white-space: nowrap;\n// }\n\n// .optionDescription {\n// \toverflow: hidden;\n// \tdisplay: -webkit-box;\n// \t-webkit-line-clamp: 2;\n// \t-webkit-box-orient: vertical;\n// \tcolor: var(--content-2);\n// \tfont-size: var(--font-size-sm);\n// }\n\n.optionCheck {\n\twidth: 1em;\n\theight: 1em;\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\tcolor: var(--content-accent);\n\n\tsvg {\n\t\twidth: 1em;\n\t\theight: 1em;\n\t}\n}\n\n.preview,\n.previewPlaceholder {\n\t--layout-picker-preview-size: 3.5em;\n\n\twidth: var(--layout-picker-preview-size);\n\theight: calc(var(--layout-picker-preview-size) * 0.72);\n\tflex: 0 0 auto;\n\t// background-color: var(--surface-0);\n\t// border: var(--border);\n\t// border-radius: var(--radius-xs);\n\t// padding: calc(var(--border-width) * 2);\n}\n\n.preview {\n\tdisplay: grid;\n\tgap: calc(var(--border-width) * 2);\n}\n\n.previewCompact,\n.previewPlaceholder {\n\t--layout-picker-preview-size: 1.5rem;\n}\n\n.previewCell {\n\tmin-width: 0;\n\tmin-height: 0;\n\tborder-radius: calc(var(--radius-xs) / 2);\n\tbackground-color: var(--surface-accent);\n\tborder: var(--border-width) solid var(--border-accent);\n}\n","import { useRef, useState } from \"react\";\n\nimport { type Placement } from \"@floating-ui/react\";\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { CheckIcon } from \"lucide-react\";\n\nimport {\n\tPickerField,\n\tPickerPopup,\n\tPickerTriggerActions,\n\tPickerTriggerInput,\n\tusePickerFloatingListbox,\n\tusePickerTriggerController\n} from \"../../picker\";\nimport { type UiBaseProps } from \"../../types\";\nimport uiStyles from \"../../ui.module.scss\";\nimport { DEFAULT_LAYOUT_PICKER_PRESETS, getLayoutCellStyle, getLayoutStyle, type LayoutPickerPreset } from \"../lib\";\n\nimport styles from \"./LayoutPicker.module.scss\";\n\nexport interface LayoutPickerProps extends UiBaseProps<string> {\n\tid?: string;\n\tpresets?: readonly LayoutPickerPreset[];\n\tgetPresetDisabled?: (preset: LayoutPickerPreset) => boolean;\n\tariaLabel?: string;\n\tclassName?: string;\n\ttriggerClassName?: string;\n\tpopupClassName?: string;\n\tplacement?: Placement;\n}\n\nconst DEFAULT_PLACEHOLDER = \"Выберите раскладку\";\n\nfunction LayoutPresetPreview({ preset, compact = false }: { preset: LayoutPickerPreset; compact?: boolean }) {\n\treturn (\n\t\t<span className={cn(styles.preview, compact && styles.previewCompact)} style={getLayoutStyle(preset)} aria-hidden=\"true\">\n\t\t\t{preset.cells.map((cell) => (\n\t\t\t\t<span key={`${preset.id}:${cell.id}`} className={styles.previewCell} style={getLayoutCellStyle(cell)} />\n\t\t\t))}\n\t\t</span>\n\t);\n}\n\n/**\n * Контрол выбора layout-пресета. Не хранит бизнес-логику содержимого ячеек.\n */\nexport function LayoutPicker({\n\tid,\n\tlabel,\n\tdescription,\n\tvalue,\n\tonChange,\n\tpresets = DEFAULT_LAYOUT_PICKER_PRESETS,\n\tdisabled,\n\tgetPresetDisabled,\n\tplaceholder = DEFAULT_PLACEHOLDER,\n\tsize,\n\tariaLabel,\n\tclassName,\n\ttriggerClassName,\n\tpopupClassName,\n\tplacement = \"bottom-start\"\n}: LayoutPickerProps) {\n\tconst inputRef = useRef<HTMLInputElement | null>(null);\n\tconst [open, setOpen] = useState(false);\n\tconst selectedIndex = presets.findIndex((preset) => preset.id === value);\n\tconst selectedPreset = selectedIndex >= 0 ? presets[selectedIndex] : undefined;\n\tconst previewPreset = selectedPreset ?? presets[0];\n\tconst triggerLabel = selectedPreset?.label ?? placeholder;\n\tconst {\n\t\tactiveIndex,\n\t\tcontext,\n\t\tfloatingStyles,\n\t\tgetFloatingProps,\n\t\tsetReference,\n\t\tsetFloating,\n\t\tsetOptionRef,\n\t\tclose,\n\t\topenList,\n\t\ttoggleOpen,\n\t\tselectOption,\n\t\tselectActiveOption,\n\t\thandleReferenceKeyDown,\n\t\thandleFloatingKeyDown,\n\t\tgetOptionId,\n\t\tgetActiveOptionId\n\t} = usePickerFloatingListbox({\n\t\toptions: presets,\n\t\tselectedIndex,\n\t\topen,\n\t\tonOpenChange: setOpen,\n\t\tgetOptionDisabled: getPresetDisabled,\n\t\tonSelect: (preset) => onChange(preset.id),\n\t\tdisabled,\n\t\tplacement,\n\t\ttriggerMode: \"display\"\n\t});\n\tconst triggerController = usePickerTriggerController({\n\t\tmode: \"display\",\n\t\topen,\n\t\tcurrentQuery: \"\",\n\t\thasDisplayValue: selectedPreset !== undefined,\n\t\tinputRef,\n\t\topenList,\n\t\tclose,\n\t\ttoggleOpen\n\t});\n\tconst setInputNode = (node: HTMLInputElement | null) => {\n\t\tinputRef.current = node;\n\t};\n\n\treturn (\n\t\t<PickerField\n\t\t\tid={id}\n\t\t\tlabel={label}\n\t\t\tdescription={description}\n\t\t\tdisabled={disabled}\n\t\t\tplaceholder={placeholder}\n\t\t\tsize={size}\n\t\t\tclassName={className}>\n\t\t\t{({ controlId, labelId, describedBy }) => {\n\t\t\t\tconst listId = `${controlId}-listbox`;\n\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PickerTriggerInput\n\t\t\t\t\t\t\tref={setInputNode}\n\t\t\t\t\t\t\trootRef={setReference}\n\t\t\t\t\t\t\tid={controlId}\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\t\tvalue={triggerLabel}\n\t\t\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\t\t\taria-expanded={open}\n\t\t\t\t\t\t\taria-controls={open ? listId : undefined}\n\t\t\t\t\t\t\taria-labelledby={labelId}\n\t\t\t\t\t\t\taria-describedby={describedBy}\n\t\t\t\t\t\t\taria-autocomplete=\"none\"\n\t\t\t\t\t\t\taria-activedescendant={open ? getActiveOptionId(listId) : undefined}\n\t\t\t\t\t\t\taria-label={!labelId ? (ariaLabel ?? `Выбрать layout. Текущее значение: ${triggerLabel}`) : undefined}\n\t\t\t\t\t\t\tdata-ui=\"layout-picker-trigger\"\n\t\t\t\t\t\t\trootClassName={triggerClassName}\n\t\t\t\t\t\t\tinputClassName={styles.triggerInput}\n\t\t\t\t\t\t\toverlay={\n\t\t\t\t\t\t\t\t<div className={styles.valueOverlay}>\n\t\t\t\t\t\t\t\t\t{previewPreset ? (\n\t\t\t\t\t\t\t\t\t\t<LayoutPresetPreview preset={previewPreset} compact />\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<span className={styles.previewPlaceholder} />\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<span className={cn(styles.triggerText, !selectedPreset && uiStyles.uiPlaceholder)}>\n\t\t\t\t\t\t\t\t\t\t{triggerLabel}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tendAdornment={\n\t\t\t\t\t\t\t\t<PickerTriggerActions\n\t\t\t\t\t\t\t\t\topen={open}\n\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\tonToggleMouseDown={triggerController.handleToggleMouseDown}\n\t\t\t\t\t\t\t\t\tonToggleClick={triggerController.handleToggleClick}\n\t\t\t\t\t\t\t\t\topenAriaLabel=\"Открыть список layout\"\n\t\t\t\t\t\t\t\t\tcloseAriaLabel=\"Закрыть список layout\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={triggerController.handleTriggerClick}\n\t\t\t\t\t\t\tonFocus={(event) => {\n\t\t\t\t\t\t\t\ttriggerController.handleTriggerFocus(event.currentTarget);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonKeyDown={(event) => {\n\t\t\t\t\t\t\t\thandleReferenceKeyDown(event);\n\n\t\t\t\t\t\t\t\tif (event.defaultPrevented) {\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\ttriggerController.handleTriggerKeyDown({\n\t\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\t\tonActivateWhenOpen: selectActiveOption,\n\t\t\t\t\t\t\t\t\tenableSpaceActivation: true\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<PickerPopup\n\t\t\t\t\t\t\topen={open}\n\t\t\t\t\t\t\tcontext={context}\n\t\t\t\t\t\t\tfloatingStyles={floatingStyles}\n\t\t\t\t\t\t\tlistId={listId}\n\t\t\t\t\t\t\tlabelId={labelId}\n\t\t\t\t\t\t\tdescriptionId={describedBy}\n\t\t\t\t\t\t\tactiveOptionId={getActiveOptionId(listId)}\n\t\t\t\t\t\t\tsetFloating={setFloating}\n\t\t\t\t\t\t\tgetFloatingProps={getFloatingProps}\n\t\t\t\t\t\t\tonKeyDown={handleFloatingKeyDown}\n\t\t\t\t\t\t\tclassName={cn(uiStyles.uiPopupOptions, styles.popup, popupClassName)}\n\t\t\t\t\t\t\tlayoutClassName={styles.popupLayout}\n\t\t\t\t\t\t\tbodyClassName={styles.popupBody}>\n\t\t\t\t\t\t\t<div className={styles.options}>\n\t\t\t\t\t\t\t\t{presets.map((preset, index) => {\n\t\t\t\t\t\t\t\t\tconst selected = index === selectedIndex;\n\t\t\t\t\t\t\t\t\tconst active = index === activeIndex;\n\t\t\t\t\t\t\t\t\tconst presetDisabled = getPresetDisabled?.(preset) ?? false;\n\t\t\t\t\t\t\t\t\tconst optionId = getOptionId(listId, index);\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\tkey={preset.id}\n\t\t\t\t\t\t\t\t\t\t\tid={optionId}\n\t\t\t\t\t\t\t\t\t\t\tref={(node) => setOptionRef(index, node)}\n\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t\t\t\t\tdisabled={presetDisabled}\n\t\t\t\t\t\t\t\t\t\t\taria-selected={selected}\n\t\t\t\t\t\t\t\t\t\t\taria-disabled={presetDisabled || undefined}\n\t\t\t\t\t\t\t\t\t\t\taria-label={preset.description ? `${preset.label}. ${preset.description}` : preset.label}\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn(styles.option, selected && styles.optionSelected, active && styles.optionActive)}\n\t\t\t\t\t\t\t\t\t\t\tdata-ui=\"layout-picker-option\"\n\t\t\t\t\t\t\t\t\t\t\tdata-selected={selected || undefined}\n\t\t\t\t\t\t\t\t\t\t\tonMouseDown={(event) => event.preventDefault()}\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => selectOption(preset)}>\n\t\t\t\t\t\t\t\t\t\t\t<span className={styles.optionPreviewWrap}>\n\t\t\t\t\t\t\t\t\t\t\t\t<LayoutPresetPreview preset={preset} />\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"fontSizeSm\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span>{preset.label}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t{preset.description ? <span>{preset.description}</span> : null}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t<span className={styles.optionCheck} aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t{selected ? <CheckIcon /> : null}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</PickerPopup>\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t}}\n\t\t</PickerField>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { n as e } from "./popover-
|
|
1
|
+
import { n as e } from "./popover-xJJqy1v6.js";
|
|
2
2
|
import { Text as t } from "../text/index.js";
|
|
3
3
|
import { FlexCenter as n } from "../flex/index.js";
|
|
4
4
|
import { PolymorphicComponent as r } from "../polymorphic/index.js";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
5
|
+
import { Suspense as i, forwardRef as a, useCallback as o, useEffect as s, useRef as c, useState as l, useSyncExternalStore as u } from "react";
|
|
6
|
+
import { cn as d } from "@ryuzaki13/react-foundation-lib/utils";
|
|
7
|
+
import { CheckCheckIcon as f, ChevronLeftIcon as p, ChevronRightIcon as m, CircleAlertIcon as h, CircleCheckIcon as g, CircleXIcon as _, CopyIcon as v, InfoIcon as y } from "lucide-react";
|
|
8
|
+
import { jsx as b, jsxs as x } from "react/jsx-runtime";
|
|
9
|
+
import { useCopyElementTextWithFeedback as S } from "@ryuzaki13/react-foundation-lib/copy";
|
|
10
|
+
import { useLazyComponent as C } from "@ryuzaki13/react-foundation-lib/hooks";
|
|
11
11
|
//#region src/misc/AnimatedLogo.tsx
|
|
12
12
|
function w() {
|
|
13
|
-
return /* @__PURE__ */
|
|
13
|
+
return /* @__PURE__ */ b("div", {
|
|
14
14
|
className: "logoAnimated",
|
|
15
|
-
children: /* @__PURE__ */
|
|
15
|
+
children: /* @__PURE__ */ x("svg", {
|
|
16
16
|
xmlns: "http://www.w3.org/2000/svg",
|
|
17
17
|
width: "588",
|
|
18
18
|
height: "696",
|
|
@@ -20,19 +20,19 @@ function w() {
|
|
|
20
20
|
role: "img",
|
|
21
21
|
"aria-label": "Загрузка",
|
|
22
22
|
children: [
|
|
23
|
-
/* @__PURE__ */
|
|
23
|
+
/* @__PURE__ */ b("path", {
|
|
24
24
|
className: "logoSegment logoOutline logoS1",
|
|
25
25
|
d: "M15,15v225.37l136.14-.23c44.13-.07,79.86-35.87,79.86-80V15H15Z"
|
|
26
26
|
}),
|
|
27
|
-
/* @__PURE__ */
|
|
27
|
+
/* @__PURE__ */ b("path", {
|
|
28
28
|
className: "logoSegment logoOutline logoS2",
|
|
29
29
|
d: "M15,285v396s216,0,216,0v-316c0-44.18-35.82-80-80-80H15Z"
|
|
30
30
|
}),
|
|
31
|
-
/* @__PURE__ */
|
|
31
|
+
/* @__PURE__ */ b("path", {
|
|
32
32
|
className: "logoSegment logoOutline logoS3",
|
|
33
33
|
d: "M276,15h297s0,225,0,225h-217c-44.18,0-80-35.82-80-80V15Z"
|
|
34
34
|
}),
|
|
35
|
-
/* @__PURE__ */
|
|
35
|
+
/* @__PURE__ */ b("path", {
|
|
36
36
|
className: "logoSegment logoFill logoS4",
|
|
37
37
|
d: "M573,285v108h-169c-11.05,0-20,8.95-20,20v268h-108v-316c0-44.18,35.82-80,80-80h217Z"
|
|
38
38
|
})
|
|
@@ -43,18 +43,18 @@ function w() {
|
|
|
43
43
|
//#endregion
|
|
44
44
|
//#region src/misc/CopyTextWrapper.tsx
|
|
45
45
|
var T = ({ children: t, position: n = "top", showOnHover: r = !0, className: i }) => {
|
|
46
|
-
let { containerRef:
|
|
47
|
-
return /* @__PURE__ */
|
|
48
|
-
ref:
|
|
46
|
+
let { containerRef: a, copyElementText: o, isCopied: s } = S();
|
|
47
|
+
return /* @__PURE__ */ x("span", {
|
|
48
|
+
ref: a,
|
|
49
49
|
className: i,
|
|
50
|
-
children: [t, /* @__PURE__ */
|
|
50
|
+
children: [t, /* @__PURE__ */ b(e, {
|
|
51
51
|
openOnHover: r,
|
|
52
52
|
placement: n,
|
|
53
|
-
content:
|
|
54
|
-
children: /* @__PURE__ */
|
|
55
|
-
onClick:
|
|
56
|
-
"aria-label":
|
|
57
|
-
children:
|
|
53
|
+
content: s ? "Скопировано!" : "Копировать текст",
|
|
54
|
+
children: /* @__PURE__ */ b("button", {
|
|
55
|
+
onClick: o,
|
|
56
|
+
"aria-label": s ? "Скопировано!" : "Копировать текст",
|
|
57
|
+
children: s ? /* @__PURE__ */ b(f, { className: "block statusSuccess" }) : /* @__PURE__ */ b(v, { className: "block statusInfo" })
|
|
58
58
|
})
|
|
59
59
|
})]
|
|
60
60
|
});
|
|
@@ -62,60 +62,60 @@ var T = ({ children: t, position: n = "top", showOnHover: r = !0, className: i }
|
|
|
62
62
|
//#endregion
|
|
63
63
|
//#region src/misc/IconWrapper.tsx
|
|
64
64
|
function D({ className: e, children: t }) {
|
|
65
|
-
return /* @__PURE__ */
|
|
66
|
-
className:
|
|
65
|
+
return /* @__PURE__ */ b("div", {
|
|
66
|
+
className: d(E.wrapper, e),
|
|
67
67
|
children: t
|
|
68
68
|
});
|
|
69
69
|
}
|
|
70
|
-
var O = { componentLoader: "qgIKVo" }, k = ({ className: e, children: r, color:
|
|
71
|
-
className:
|
|
72
|
-
minHeight:
|
|
73
|
-
children: /* @__PURE__ */
|
|
70
|
+
var O = { componentLoader: "qgIKVo" }, k = ({ className: e, children: r, color: i = "muted", minHeight: a, uppercase: o = !0 }) => /* @__PURE__ */ b(n, {
|
|
71
|
+
className: d("paddingMd textCenter", e),
|
|
72
|
+
minHeight: a,
|
|
73
|
+
children: /* @__PURE__ */ b(t, {
|
|
74
74
|
as: "div",
|
|
75
75
|
weight: "bold",
|
|
76
|
-
color:
|
|
77
|
-
uppercase:
|
|
76
|
+
color: i,
|
|
77
|
+
uppercase: o,
|
|
78
78
|
children: r
|
|
79
79
|
})
|
|
80
80
|
});
|
|
81
81
|
//#endregion
|
|
82
82
|
//#region src/misc/LoadingMessage.tsx
|
|
83
83
|
function A({ className: e, text: t, withLogo: n }) {
|
|
84
|
-
return /* @__PURE__ */
|
|
85
|
-
className:
|
|
86
|
-
children: [n && /* @__PURE__ */
|
|
84
|
+
return /* @__PURE__ */ x(k, {
|
|
85
|
+
className: d(O.componentLoader, n ? "" : "skeletonLine", e),
|
|
86
|
+
children: [n && /* @__PURE__ */ b(w, {}), t || "Загрузка..."]
|
|
87
87
|
});
|
|
88
88
|
}
|
|
89
89
|
//#endregion
|
|
90
90
|
//#region src/misc/LazyDynamicComponent.tsx
|
|
91
91
|
var j = (e) => (e(), () => void 0), M = () => !0, N = () => !1;
|
|
92
|
-
function P({ fallback: e, importFunc: t, componentName: n, clientOnly: r = !1, cacheKey:
|
|
93
|
-
let
|
|
94
|
-
return r && !
|
|
95
|
-
fallback:
|
|
96
|
-
children: /* @__PURE__ */
|
|
92
|
+
function P({ fallback: e, importFunc: t, componentName: n, clientOnly: r = !1, cacheKey: a, props: o }) {
|
|
93
|
+
let s = C(t, n, a), c = u(j, M, N), l = e ?? /* @__PURE__ */ b(A, { text: "Ожидание компонента..." });
|
|
94
|
+
return r && !c ? l : /* @__PURE__ */ b(i, {
|
|
95
|
+
fallback: l,
|
|
96
|
+
children: /* @__PURE__ */ b(s, { ...o ?? {} })
|
|
97
97
|
});
|
|
98
98
|
}
|
|
99
99
|
//#endregion
|
|
100
100
|
//#region src/misc/SkeletonLine.tsx
|
|
101
|
-
var F = ({ as: e, className: t, ...n }) => /* @__PURE__ */
|
|
101
|
+
var F = ({ as: e, className: t, ...n }) => /* @__PURE__ */ b(r, {
|
|
102
102
|
as: e || "div",
|
|
103
|
-
className:
|
|
103
|
+
className: d("skeletonLine colorTransparent radiusSm", t),
|
|
104
104
|
...n
|
|
105
105
|
});
|
|
106
106
|
//#endregion
|
|
107
107
|
//#region src/misc/LazyValue.tsx
|
|
108
108
|
function I({ value: e, isLoading: t }) {
|
|
109
|
-
return t ? /* @__PURE__ */
|
|
109
|
+
return t ? /* @__PURE__ */ b(F, { children: "Загрузка..." }) : e ?? "-";
|
|
110
110
|
}
|
|
111
111
|
//#endregion
|
|
112
112
|
//#region src/misc/NoData.tsx
|
|
113
|
-
var L = ({ className: e, text: t, minHeight: n = "5em" }) => /* @__PURE__ */
|
|
113
|
+
var L = ({ className: e, text: t, minHeight: n = "5em" }) => /* @__PURE__ */ b(k, {
|
|
114
114
|
className: e,
|
|
115
115
|
color: "muted",
|
|
116
116
|
minHeight: n,
|
|
117
117
|
children: t || "Нет данных"
|
|
118
|
-
}), R = ({ className: e, isError: t, children: n }) => /* @__PURE__ */
|
|
118
|
+
}), R = ({ className: e, isError: t, children: n }) => /* @__PURE__ */ b(k, {
|
|
119
119
|
className: e,
|
|
120
120
|
color: t ? "error" : "secondary",
|
|
121
121
|
children: n
|
|
@@ -128,12 +128,12 @@ var L = ({ className: e, text: t, minHeight: n = "5em" }) => /* @__PURE__ */ p(k
|
|
|
128
128
|
function V(e) {
|
|
129
129
|
return Math.max(0, e.scrollWidth - e.clientWidth);
|
|
130
130
|
}
|
|
131
|
-
var H = ({ children: e, className: t, itemSelector: n, scrollPadding: r = 6, smooth:
|
|
132
|
-
let
|
|
133
|
-
let e =
|
|
131
|
+
var H = ({ children: e, className: t, itemSelector: n, scrollPadding: r = 6, smooth: i = !0 }) => {
|
|
132
|
+
let a = c(null), u = c(null), [f, h] = l(!1), [g, _] = l(!1), v = o(() => {
|
|
133
|
+
let e = a.current;
|
|
134
134
|
return e ? n ? Array.from(e.querySelectorAll(n)) : Array.from(e.children).filter((e) => e instanceof HTMLElement) : [];
|
|
135
|
-
}, [n]),
|
|
136
|
-
let t =
|
|
135
|
+
}, [n]), y = o((e) => {
|
|
136
|
+
let t = a.current;
|
|
137
137
|
if (!t) return null;
|
|
138
138
|
if (n) {
|
|
139
139
|
let r = e.closest(n);
|
|
@@ -142,53 +142,53 @@ var H = ({ children: e, className: t, itemSelector: n, scrollPadding: r = 6, smo
|
|
|
142
142
|
let r = e;
|
|
143
143
|
for (; r && r.parentElement && r.parentElement !== t;) r = r.parentElement;
|
|
144
144
|
return r && r.parentElement === t ? r : null;
|
|
145
|
-
}, [n]), S =
|
|
146
|
-
let e =
|
|
145
|
+
}, [n]), S = o(() => {
|
|
146
|
+
let e = a.current;
|
|
147
147
|
if (!e) {
|
|
148
|
-
|
|
148
|
+
h(!1), _(!1);
|
|
149
149
|
return;
|
|
150
150
|
}
|
|
151
151
|
let t = Math.max(0, e.scrollWidth - e.clientWidth), n = Math.max(0, Math.min(e.scrollLeft, t)), r = n > B, i = n < t - B;
|
|
152
|
-
|
|
153
|
-
}, []), C =
|
|
154
|
-
|
|
155
|
-
|
|
152
|
+
h((e) => e === r ? e : r), _((e) => e === i ? e : i);
|
|
153
|
+
}, []), C = o(() => {
|
|
154
|
+
u.current === null && (u.current = requestAnimationFrame(() => {
|
|
155
|
+
u.current = null, S();
|
|
156
156
|
}));
|
|
157
|
-
}, [S]), w =
|
|
158
|
-
let t =
|
|
157
|
+
}, [S]), w = o((e) => {
|
|
158
|
+
let t = a.current;
|
|
159
159
|
if (!t) return;
|
|
160
|
-
let n =
|
|
160
|
+
let n = v()[0];
|
|
161
161
|
if (!n) return;
|
|
162
162
|
let r = n.getBoundingClientRect().width;
|
|
163
163
|
if (!r) return;
|
|
164
|
-
let
|
|
164
|
+
let o = Math.round(e * r), s = Math.max(0, t.scrollWidth - t.clientWidth), c = Math.max(0, Math.min(t.scrollLeft + o, s));
|
|
165
165
|
t.scrollTo({
|
|
166
|
-
left:
|
|
167
|
-
behavior:
|
|
166
|
+
left: c,
|
|
167
|
+
behavior: i ? "smooth" : "auto"
|
|
168
168
|
});
|
|
169
|
-
}, [
|
|
170
|
-
let t =
|
|
169
|
+
}, [v, i]), T = o((e) => {
|
|
170
|
+
let t = a.current;
|
|
171
171
|
if (!t) return;
|
|
172
|
-
let n = t.getBoundingClientRect(),
|
|
173
|
-
if (
|
|
172
|
+
let n = t.getBoundingClientRect(), o = e.getBoundingClientRect(), s = o.left - n.left + t.scrollLeft, c = s + o.width, l = t.scrollLeft, u = t.scrollLeft + t.clientWidth;
|
|
173
|
+
if (s >= l + B && c <= u - B) return;
|
|
174
174
|
let d = t.scrollLeft;
|
|
175
|
-
|
|
175
|
+
s < l ? d = Math.max(0, s - r) : c > u && (d = Math.min(V(t), c - t.clientWidth + r)), t.scrollTo({
|
|
176
176
|
left: Math.round(d),
|
|
177
|
-
behavior:
|
|
177
|
+
behavior: i ? "smooth" : "auto"
|
|
178
178
|
});
|
|
179
|
-
}, [r,
|
|
180
|
-
|
|
181
|
-
let e =
|
|
179
|
+
}, [r, i]);
|
|
180
|
+
s(() => {
|
|
181
|
+
let e = a.current;
|
|
182
182
|
if (!e) return;
|
|
183
183
|
let t = (e) => {
|
|
184
184
|
let t = e.target;
|
|
185
185
|
if (!(t instanceof HTMLElement)) return;
|
|
186
|
-
let n =
|
|
186
|
+
let n = y(t);
|
|
187
187
|
n && T(n);
|
|
188
188
|
};
|
|
189
189
|
return e.addEventListener("focusin", t), () => e.removeEventListener("focusin", t);
|
|
190
|
-
}, [T,
|
|
191
|
-
let e =
|
|
190
|
+
}, [T, y]), s(() => {
|
|
191
|
+
let e = a.current;
|
|
192
192
|
if (!e) return;
|
|
193
193
|
let t = () => C();
|
|
194
194
|
e.addEventListener("scroll", t, { passive: !0 });
|
|
@@ -199,57 +199,57 @@ var H = ({ children: e, className: t, itemSelector: n, scrollPadding: r = 6, smo
|
|
|
199
199
|
childList: !0,
|
|
200
200
|
subtree: !1
|
|
201
201
|
})), C(), () => {
|
|
202
|
-
e.removeEventListener("scroll", t), n?.disconnect(), r?.disconnect(),
|
|
202
|
+
e.removeEventListener("scroll", t), n?.disconnect(), r?.disconnect(), u.current !== null && (cancelAnimationFrame(u.current), u.current = null);
|
|
203
203
|
};
|
|
204
|
-
}, [C]),
|
|
204
|
+
}, [C]), s(() => {
|
|
205
205
|
C();
|
|
206
206
|
}, [e, C]);
|
|
207
207
|
let E = () => w(-1), D = () => w(1), O = (e) => {
|
|
208
208
|
e.key === "ArrowLeft" ? (e.preventDefault(), E()) : e.key === "ArrowRight" && (e.preventDefault(), D());
|
|
209
|
-
}, k =
|
|
210
|
-
return /* @__PURE__ */
|
|
211
|
-
className:
|
|
209
|
+
}, k = f || g;
|
|
210
|
+
return /* @__PURE__ */ x("div", {
|
|
211
|
+
className: d(z.oneStepScroller, t),
|
|
212
212
|
style: { position: "relative" },
|
|
213
213
|
children: [
|
|
214
|
-
k && /* @__PURE__ */
|
|
214
|
+
k && /* @__PURE__ */ b("button", {
|
|
215
215
|
type: "button",
|
|
216
216
|
"aria-label": "Прокрутить шаг влево",
|
|
217
217
|
className: z.ossButton,
|
|
218
218
|
onClick: E,
|
|
219
|
-
disabled: !
|
|
220
|
-
children: /* @__PURE__ */ p
|
|
219
|
+
disabled: !f,
|
|
220
|
+
children: /* @__PURE__ */ b(p, {})
|
|
221
221
|
}),
|
|
222
|
-
/* @__PURE__ */
|
|
222
|
+
/* @__PURE__ */ b("div", {
|
|
223
223
|
className: z.ossViewport,
|
|
224
224
|
onKeyDown: O,
|
|
225
225
|
role: "group",
|
|
226
226
|
"aria-label": "Элементы прокрутки",
|
|
227
|
-
children: /* @__PURE__ */
|
|
227
|
+
children: /* @__PURE__ */ b("div", {
|
|
228
228
|
className: z.ossScroller,
|
|
229
|
-
ref:
|
|
229
|
+
ref: a,
|
|
230
230
|
"aria-live": "polite",
|
|
231
231
|
children: e
|
|
232
232
|
})
|
|
233
233
|
}),
|
|
234
|
-
k && /* @__PURE__ */
|
|
234
|
+
k && /* @__PURE__ */ b("button", {
|
|
235
235
|
type: "button",
|
|
236
236
|
"aria-label": "Прокрутить шаг вправо",
|
|
237
237
|
className: z.ossButton,
|
|
238
238
|
onClick: D,
|
|
239
|
-
disabled: !
|
|
240
|
-
children: /* @__PURE__ */
|
|
239
|
+
disabled: !g,
|
|
240
|
+
children: /* @__PURE__ */ b(m, {})
|
|
241
241
|
})
|
|
242
242
|
]
|
|
243
243
|
});
|
|
244
|
-
}, U =
|
|
245
|
-
ref:
|
|
246
|
-
className:
|
|
244
|
+
}, U = a(({ children: e, height: t, stable: n, overscroll: r, className: i }, a) => /* @__PURE__ */ b("div", {
|
|
245
|
+
ref: a,
|
|
246
|
+
className: d("scrollable", n && "stable", r && "overscroll", i),
|
|
247
247
|
style: { height: t },
|
|
248
248
|
children: e
|
|
249
249
|
}));
|
|
250
|
-
|
|
251
|
-
className:
|
|
252
|
-
children: /* @__PURE__ */
|
|
250
|
+
a(({ blockClassName: e, ...t }, n) => /* @__PURE__ */ b("div", {
|
|
251
|
+
className: d(e, "overflowHidden w100 h100"),
|
|
252
|
+
children: /* @__PURE__ */ b(U, {
|
|
253
253
|
ref: n,
|
|
254
254
|
...t
|
|
255
255
|
})
|
|
@@ -262,37 +262,37 @@ var W = {
|
|
|
262
262
|
warning: "_03z-1l",
|
|
263
263
|
error: "_0RqsqJ",
|
|
264
264
|
state: "mXkUoM"
|
|
265
|
-
}, G = ({ state: e = "none", text: t, className: n }) => /* @__PURE__ */
|
|
266
|
-
className:
|
|
265
|
+
}, G = ({ state: e = "none", text: t, className: n }) => /* @__PURE__ */ x("div", {
|
|
266
|
+
className: d("flexCenter gapSm", n),
|
|
267
267
|
children: [(() => {
|
|
268
268
|
switch (e) {
|
|
269
|
-
case "error": return /* @__PURE__ */
|
|
270
|
-
case "warning": return /* @__PURE__ */
|
|
271
|
-
case "success": return /* @__PURE__ */
|
|
272
|
-
case "information": return /* @__PURE__ */
|
|
269
|
+
case "error": return /* @__PURE__ */ b(q, {});
|
|
270
|
+
case "warning": return /* @__PURE__ */ b(J, {});
|
|
271
|
+
case "success": return /* @__PURE__ */ b(Y, {});
|
|
272
|
+
case "information": return /* @__PURE__ */ b(X, {});
|
|
273
273
|
default: return null;
|
|
274
274
|
}
|
|
275
275
|
})(), t]
|
|
276
276
|
}), K = ({ state: e }) => {
|
|
277
277
|
switch (e) {
|
|
278
|
-
case "error": return /* @__PURE__ */
|
|
279
|
-
case "warning": return /* @__PURE__ */
|
|
280
|
-
case "success": return /* @__PURE__ */
|
|
281
|
-
case "information": return /* @__PURE__ */
|
|
278
|
+
case "error": return /* @__PURE__ */ b(q, {});
|
|
279
|
+
case "warning": return /* @__PURE__ */ b(J, {});
|
|
280
|
+
case "success": return /* @__PURE__ */ b(Y, {});
|
|
281
|
+
case "information": return /* @__PURE__ */ b(X, {});
|
|
282
282
|
default: return null;
|
|
283
283
|
}
|
|
284
|
-
}, q = () => /* @__PURE__ */
|
|
284
|
+
}, q = () => /* @__PURE__ */ b(_, { className: d(W.state, W.error) }), J = () => /* @__PURE__ */ b(h, { className: d(W.state, W.warning) }), Y = () => /* @__PURE__ */ b(g, { className: d(W.state, W.success) }), X = () => /* @__PURE__ */ b(y, { className: d(W.state, W.information) });
|
|
285
285
|
//#endregion
|
|
286
286
|
//#region src/misc/StateWrapper.tsx
|
|
287
|
-
function Z({ as: e, state: t, className: n, ...
|
|
288
|
-
let
|
|
289
|
-
return /* @__PURE__ */
|
|
287
|
+
function Z({ as: e, state: t, className: n, ...i }) {
|
|
288
|
+
let a = t?.toLowerCase() ?? "none", o = W[a], s = a && a !== "none";
|
|
289
|
+
return /* @__PURE__ */ b(r, {
|
|
290
290
|
as: e || "div",
|
|
291
|
-
className:
|
|
292
|
-
...
|
|
291
|
+
className: d(W.stateWrapper, s && W.status, o, n),
|
|
292
|
+
...i
|
|
293
293
|
});
|
|
294
294
|
}
|
|
295
295
|
//#endregion
|
|
296
296
|
export { D as _, G as a, U as c, L as d, I as f, k as g, A as h, K as i, H as l, P as m, q as n, Y as o, F as p, X as r, J as s, Z as t, R as u, T as v, w as y };
|
|
297
297
|
|
|
298
|
-
//# sourceMappingURL=misc-
|
|
298
|
+
//# sourceMappingURL=misc-DoqZBMof.js.map
|