@lowdefy/blocks-antd 4.7.3 → 5.1.0
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/blocks/Affix/Affix.js +6 -12
- package/dist/blocks/Affix/{schema.js → meta.js} +23 -14
- package/dist/blocks/Alert/Alert.js +17 -12
- package/dist/blocks/Alert/e2e.js +1 -1
- package/dist/blocks/Alert/meta.js +186 -0
- package/dist/blocks/AutoComplete/AutoComplete.js +21 -22
- package/dist/blocks/AutoComplete/meta.js +266 -0
- package/dist/blocks/Avatar/Avatar.js +58 -18
- package/dist/blocks/Avatar/meta.js +277 -0
- package/dist/blocks/Badge/Badge.js +13 -12
- package/dist/blocks/Badge/{schema.js → meta.js} +80 -1
- package/dist/blocks/Breadcrumb/Breadcrumb.js +40 -41
- package/dist/blocks/Breadcrumb/meta.js +90 -0
- package/dist/blocks/Button/Button.js +77 -39
- package/dist/blocks/Button/meta.js +230 -0
- package/dist/blocks/ButtonSelector/ButtonSelector.js +54 -59
- package/dist/blocks/ButtonSelector/meta.js +213 -0
- package/dist/blocks/Calendar/Calendar.js +153 -0
- package/dist/blocks/Calendar/e2e.js +27 -0
- package/dist/blocks/Calendar/meta.js +148 -0
- package/dist/blocks/Card/Card.js +22 -21
- package/dist/blocks/Card/meta.js +170 -0
- package/dist/blocks/Carousel/Carousel.js +6 -12
- package/dist/blocks/Carousel/{schema.js → meta.js} +61 -22
- package/dist/blocks/CheckboxSelector/CheckboxSelector.js +58 -64
- package/dist/blocks/CheckboxSelector/meta.js +150 -0
- package/dist/blocks/CheckboxSwitch/CheckboxSwitch.js +38 -44
- package/dist/blocks/CheckboxSwitch/meta.js +183 -0
- package/dist/blocks/Collapse/Collapse.js +21 -12
- package/dist/blocks/Collapse/meta.js +179 -0
- package/dist/blocks/ColorSelector/ColorSelector.js +97 -0
- package/dist/blocks/ColorSelector/e2e.js +32 -0
- package/dist/blocks/ColorSelector/meta.js +250 -0
- package/dist/blocks/ConfigProvider/ConfigProvider.js +51 -0
- package/dist/blocks/{Alert/style.less → ConfigProvider/e2e.js} +5 -3
- package/dist/blocks/{ControlledList/schema.js → ConfigProvider/meta.js} +43 -45
- package/dist/blocks/ConfirmModal/ConfirmModal.js +45 -25
- package/dist/blocks/ConfirmModal/{schema.js → meta.js} +93 -35
- package/dist/blocks/Content/Content.js +5 -12
- package/dist/blocks/{Layout/schema.js → Content/meta.js} +11 -3
- package/dist/blocks/ControlledList/ControlledList.js +42 -54
- package/dist/blocks/ControlledList/meta.js +158 -0
- package/dist/blocks/DateRangeSelector/DateRangeSelector.js +31 -29
- package/dist/blocks/DateRangeSelector/meta.js +297 -0
- package/dist/blocks/DateSelector/DateSelector.js +28 -28
- package/dist/blocks/DateSelector/meta.js +241 -0
- package/dist/blocks/DateTimeSelector/DateTimeSelector.js +28 -28
- package/dist/blocks/DateTimeSelector/meta.js +282 -0
- package/dist/blocks/Descriptions/Descriptions.js +20 -22
- package/dist/blocks/Descriptions/{schema.js → meta.js} +71 -15
- package/dist/blocks/Divider/Divider.js +8 -14
- package/dist/blocks/Divider/meta.js +86 -0
- package/dist/blocks/Drawer/Drawer.js +23 -16
- package/dist/blocks/Drawer/{schema.js → meta.js} +62 -61
- package/dist/blocks/DropdownButton/DropdownButton.js +221 -0
- package/dist/blocks/DropdownButton/e2e.js +30 -0
- package/dist/blocks/DropdownButton/meta.js +317 -0
- package/dist/blocks/DropdownMenu/DropdownMenu.js +130 -0
- package/dist/blocks/DropdownMenu/e2e.js +28 -0
- package/dist/blocks/DropdownMenu/meta.js +322 -0
- package/dist/blocks/Flex/Flex.js +31 -0
- package/dist/blocks/{Comment → Flex}/e2e.js +1 -2
- package/dist/blocks/Flex/meta.js +115 -0
- package/dist/blocks/FloatButton/FloatButton.js +46 -0
- package/dist/blocks/FloatButton/e2e.js +28 -0
- package/dist/blocks/FloatButton/meta.js +156 -0
- package/dist/blocks/Footer/Footer.js +8 -17
- package/dist/blocks/{Header/schema.js → Footer/meta.js} +11 -12
- package/dist/blocks/Header/Header.js +38 -18
- package/dist/blocks/Header/meta.js +318 -0
- package/dist/blocks/Label/Label.js +19 -27
- package/dist/blocks/Label/labelLogic.js +37 -41
- package/dist/blocks/Label/meta.js +148 -0
- package/dist/blocks/Label/style.module.css +185 -0
- package/dist/blocks/Layout/Layout.js +10 -13
- package/dist/blocks/{Content/schema.js → Layout/meta.js} +11 -3
- package/dist/blocks/Masonry/Masonry.js +37 -0
- package/dist/blocks/{Affix/style.less → Masonry/e2e.js} +9 -3
- package/dist/blocks/Masonry/meta.js +86 -0
- package/dist/blocks/MasonryList/MasonryList.js +42 -0
- package/dist/blocks/{AutoComplete/style.less → MasonryList/e2e.js} +9 -3
- package/dist/blocks/MasonryList/meta.js +86 -0
- package/dist/blocks/Menu/Menu.js +153 -124
- package/dist/blocks/Menu/meta.js +544 -0
- package/dist/blocks/Message/Message.js +18 -16
- package/dist/blocks/Message/{schema.js → meta.js} +29 -14
- package/dist/blocks/MobileMenu/MobileMenu.js +28 -23
- package/dist/blocks/MobileMenu/{schema.js → meta.js} +48 -31
- package/dist/blocks/Modal/Modal.js +20 -16
- package/dist/blocks/Modal/meta.js +234 -0
- package/dist/blocks/MonthSelector/MonthSelector.js +30 -30
- package/dist/blocks/MonthSelector/meta.js +260 -0
- package/dist/blocks/MultipleSelector/MultipleSelector.js +57 -37
- package/dist/blocks/MultipleSelector/{schema.js → meta.js} +178 -151
- package/dist/blocks/Notification/Notification.js +39 -23
- package/dist/blocks/Notification/{schema.js → meta.js} +36 -22
- package/dist/blocks/NumberInput/NumberInput.js +12 -21
- package/dist/blocks/NumberInput/meta.js +250 -0
- package/dist/blocks/PageHeaderMenu/PageHeaderMenu.js +137 -189
- package/dist/blocks/PageHeaderMenu/meta.js +420 -0
- package/dist/blocks/PageSidebarLayout/PageSidebarLayout.js +511 -0
- package/dist/blocks/PageSidebarLayout/e2e.js +34 -0
- package/dist/blocks/PageSidebarLayout/meta.js +516 -0
- package/dist/blocks/PageSiderMenu/PageSiderMenu.js +188 -196
- package/dist/blocks/PageSiderMenu/meta.js +486 -0
- package/dist/blocks/Pagination/Pagination.js +6 -15
- package/dist/blocks/Pagination/meta.js +233 -0
- package/dist/blocks/Paragraph/Paragraph.js +28 -16
- package/dist/blocks/Paragraph/{schema.js → meta.js} +68 -18
- package/dist/blocks/ParagraphInput/ParagraphInput.js +34 -17
- package/dist/blocks/ParagraphInput/{schema.js → meta.js} +134 -18
- package/dist/blocks/PasswordInput/PasswordInput.js +9 -16
- package/dist/blocks/PasswordInput/meta.js +195 -0
- package/dist/blocks/PhoneNumberInput/PhoneNumberInput.js +37 -33
- package/dist/blocks/PhoneNumberInput/formatPhoneNumber.js +25 -0
- package/dist/blocks/PhoneNumberInput/meta.js +225 -0
- package/dist/blocks/PhoneNumberInput/upstream-formatting-spec.md +173 -0
- package/dist/blocks/Popover/Popover.js +7 -12
- package/dist/blocks/Popover/{schema.js → meta.js} +81 -11
- package/dist/blocks/Progress/Progress.js +7 -12
- package/dist/blocks/Progress/{schema.js → meta.js} +74 -4
- package/dist/blocks/QRCode/QRCode.js +39 -0
- package/dist/blocks/{Footer/schema.js → QRCode/e2e.js} +9 -15
- package/dist/blocks/QRCode/meta.js +152 -0
- package/dist/blocks/RadioSelector/RadioSelector.js +55 -63
- package/dist/blocks/RadioSelector/meta.js +179 -0
- package/dist/blocks/RatingSlider/RatingSlider.js +95 -103
- package/dist/blocks/RatingSlider/meta.js +221 -0
- package/dist/blocks/Result/Result.js +13 -12
- package/dist/blocks/Result/meta.js +129 -0
- package/dist/blocks/Search/Search.js +135 -0
- package/dist/blocks/Search/SearchHighlight.js +33 -0
- package/dist/blocks/Search/SearchModal.js +171 -0
- package/dist/blocks/Search/SearchResults.js +129 -0
- package/dist/blocks/Search/meta.js +258 -0
- package/dist/blocks/Search/style.module.css +96 -0
- package/dist/blocks/Search/useListKeyboardNav.js +45 -0
- package/dist/blocks/Search/useRecentSearches.js +77 -0
- package/dist/blocks/Search/useSearchIndex.js +144 -0
- package/dist/blocks/SegmentedSelector/SegmentedSelector.js +93 -0
- package/dist/blocks/SegmentedSelector/e2e.js +32 -0
- package/dist/blocks/SegmentedSelector/meta.js +222 -0
- package/dist/blocks/Selector/Selector.js +41 -30
- package/dist/blocks/Selector/meta.js +380 -0
- package/dist/blocks/Sider/Sider.js +19 -18
- package/dist/blocks/Sider/{schema.js → meta.js} +20 -34
- package/dist/blocks/Slider/Slider.js +8 -20
- package/dist/blocks/Slider/meta.js +226 -0
- package/dist/blocks/Splitter/Splitter.js +70 -0
- package/dist/blocks/Splitter/e2e.js +24 -0
- package/dist/blocks/Splitter/meta.js +193 -0
- package/dist/blocks/Statistic/Statistic.js +26 -15
- package/dist/blocks/Statistic/{schema.js → meta.js} +41 -4
- package/dist/blocks/Steps/Steps.js +94 -0
- package/dist/blocks/Steps/e2e.js +31 -0
- package/dist/blocks/Steps/meta.js +246 -0
- package/dist/blocks/Switch/Switch.js +59 -54
- package/dist/blocks/Switch/meta.js +178 -0
- package/dist/blocks/Tabs/Tabs.js +49 -18
- package/dist/blocks/Tabs/meta.js +258 -0
- package/dist/blocks/Tag/Tag.js +17 -15
- package/dist/blocks/Tag/{schema.js → meta.js} +35 -13
- package/dist/blocks/TextArea/TextArea.js +10 -16
- package/dist/blocks/TextArea/meta.js +255 -0
- package/dist/blocks/TextInput/TextInput.js +23 -18
- package/dist/blocks/TextInput/meta.js +286 -0
- package/dist/blocks/TimelineList/TimelineList.js +29 -27
- package/dist/blocks/TimelineList/{schema.js → meta.js} +45 -8
- package/dist/blocks/Title/Title.js +34 -21
- package/dist/blocks/Title/{schema.js → meta.js} +117 -14
- package/dist/blocks/TitleInput/TitleInput.js +43 -25
- package/dist/blocks/TitleInput/{schema.js → meta.js} +156 -18
- package/dist/blocks/Tooltip/Tooltip.js +16 -16
- package/dist/blocks/Tooltip/{schema.js → meta.js} +74 -19
- package/dist/blocks/Tour/Tour.js +75 -0
- package/dist/blocks/Tour/e2e.js +31 -0
- package/dist/blocks/Tour/meta.js +255 -0
- package/dist/blocks/TreeSelector/TreeSelector.js +6 -12
- package/dist/blocks/TreeSelector/{schema.js → meta.js} +134 -25
- package/dist/blocks/Watermark/Watermark.js +34 -0
- package/dist/blocks/Watermark/e2e.js +23 -0
- package/dist/blocks/Watermark/meta.js +148 -0
- package/dist/blocks/WeekSelector/WeekSelector.js +35 -31
- package/dist/blocks/WeekSelector/meta.js +269 -0
- package/dist/blocks/buildMenuItems.js +95 -0
- package/dist/blocks/headerActions.js +220 -0
- package/dist/blocks/useItemShortcuts.js +64 -0
- package/dist/blocks/withTheme.js +40 -0
- package/dist/blocks.js +17 -1
- package/dist/disabledDate.js +15 -7
- package/dist/e2e.js +4 -1
- package/dist/metas.js +92 -0
- package/dist/schemas/breadcrumbList.js +64 -0
- package/dist/schemas/disabledDates.js +83 -0
- package/dist/{blocks/Avatar/style.less → schemas/icon.js} +10 -3
- package/dist/schemas/index.js +21 -0
- package/dist/schemas/inputProperties.js +70 -0
- package/dist/schemas/label.js +62 -0
- package/dist/schemas/menuLinks.js +49 -0
- package/dist/schemas/options.js +84 -0
- package/dist/types.js +4 -18
- package/package.json +19 -17
- package/dist/blocks/Affix/schema.json +0 -34
- package/dist/blocks/Alert/schema.js +0 -84
- package/dist/blocks/Alert/schema.json +0 -62
- package/dist/blocks/AutoComplete/schema.js +0 -181
- package/dist/blocks/AutoComplete/schema.json +0 -160
- package/dist/blocks/Avatar/schema.js +0 -98
- package/dist/blocks/Avatar/schema.json +0 -71
- package/dist/blocks/Badge/schema.json +0 -70
- package/dist/blocks/Badge/style.less +0 -17
- package/dist/blocks/Breadcrumb/schema.js +0 -95
- package/dist/blocks/Breadcrumb/schema.json +0 -78
- package/dist/blocks/Breadcrumb/style.less +0 -17
- package/dist/blocks/Button/schema.js +0 -123
- package/dist/blocks/Button/schema.json +0 -91
- package/dist/blocks/Button/style.less +0 -17
- package/dist/blocks/ButtonSelector/schema.js +0 -214
- package/dist/blocks/ButtonSelector/schema.json +0 -188
- package/dist/blocks/ButtonSelector/style.less +0 -18
- package/dist/blocks/Card/schema.js +0 -75
- package/dist/blocks/Card/schema.json +0 -58
- package/dist/blocks/Card/style.less +0 -17
- package/dist/blocks/Carousel/schema.json +0 -183
- package/dist/blocks/Carousel/style.less +0 -17
- package/dist/blocks/CheckboxSelector/schema.js +0 -220
- package/dist/blocks/CheckboxSelector/schema.json +0 -193
- package/dist/blocks/CheckboxSelector/style.less +0 -19
- package/dist/blocks/CheckboxSwitch/schema.js +0 -122
- package/dist/blocks/CheckboxSwitch/schema.json +0 -105
- package/dist/blocks/CheckboxSwitch/style.less +0 -19
- package/dist/blocks/Collapse/schema.js +0 -110
- package/dist/blocks/Collapse/schema.json +0 -90
- package/dist/blocks/Collapse/style.less +0 -17
- package/dist/blocks/Comment/Comment.js +0 -56
- package/dist/blocks/Comment/schema.js +0 -56
- package/dist/blocks/Comment/schema.json +0 -39
- package/dist/blocks/Comment/style.less +0 -18
- package/dist/blocks/ConfirmModal/schema.json +0 -122
- package/dist/blocks/ConfirmModal/style.less +0 -17
- package/dist/blocks/Content/schema.json +0 -16
- package/dist/blocks/Content/style.less +0 -17
- package/dist/blocks/ControlledList/schema.json +0 -73
- package/dist/blocks/ControlledList/style.less +0 -19
- package/dist/blocks/DateRangeSelector/schema.js +0 -266
- package/dist/blocks/DateRangeSelector/schema.json +0 -221
- package/dist/blocks/DateRangeSelector/style.less +0 -18
- package/dist/blocks/DateSelector/schema.js +0 -219
- package/dist/blocks/DateSelector/schema.json +0 -183
- package/dist/blocks/DateSelector/style.less +0 -18
- package/dist/blocks/DateTimeSelector/schema.js +0 -251
- package/dist/blocks/DateTimeSelector/schema.json +0 -215
- package/dist/blocks/DateTimeSelector/style.less +0 -18
- package/dist/blocks/Descriptions/schema.json +0 -186
- package/dist/blocks/Descriptions/style.less +0 -17
- package/dist/blocks/Divider/schema.js +0 -56
- package/dist/blocks/Divider/schema.json +0 -35
- package/dist/blocks/Divider/style.less +0 -17
- package/dist/blocks/Drawer/schema.json +0 -121
- package/dist/blocks/Drawer/style.less +0 -17
- package/dist/blocks/Footer/schema.json +0 -16
- package/dist/blocks/Footer/style.less +0 -17
- package/dist/blocks/Header/schema.json +0 -22
- package/dist/blocks/Header/style.less +0 -17
- package/dist/blocks/Label/schema.js +0 -83
- package/dist/blocks/Label/schema.json +0 -62
- package/dist/blocks/Label/style.less +0 -34
- package/dist/blocks/Layout/schema.json +0 -16
- package/dist/blocks/Layout/style.less +0 -17
- package/dist/blocks/Menu/schema.js +0 -283
- package/dist/blocks/Menu/schema.json +0 -236
- package/dist/blocks/Menu/style.less +0 -17
- package/dist/blocks/Message/schema.json +0 -48
- package/dist/blocks/Message/style.less +0 -17
- package/dist/blocks/MobileMenu/schema.json +0 -236
- package/dist/blocks/MobileMenu/style.less +0 -19
- package/dist/blocks/Modal/schema.js +0 -142
- package/dist/blocks/Modal/schema.json +0 -125
- package/dist/blocks/Modal/style.less +0 -17
- package/dist/blocks/MonthSelector/schema.js +0 -219
- package/dist/blocks/MonthSelector/schema.json +0 -183
- package/dist/blocks/MonthSelector/style.less +0 -18
- package/dist/blocks/MultipleSelector/schema.json +0 -297
- package/dist/blocks/MultipleSelector/style.less +0 -19
- package/dist/blocks/Notification/schema.json +0 -85
- package/dist/blocks/Notification/style.less +0 -18
- package/dist/blocks/NumberInput/schema.js +0 -193
- package/dist/blocks/NumberInput/schema.json +0 -172
- package/dist/blocks/NumberInput/style.less +0 -18
- package/dist/blocks/PageHeaderMenu/schema.js +0 -241
- package/dist/blocks/PageHeaderMenu/schema.json +0 -215
- package/dist/blocks/PageHeaderMenu/style.less +0 -23
- package/dist/blocks/PageSiderMenu/schema.js +0 -321
- package/dist/blocks/PageSiderMenu/schema.json +0 -283
- package/dist/blocks/PageSiderMenu/style.less +0 -26
- package/dist/blocks/Pagination/schema.js +0 -101
- package/dist/blocks/Pagination/schema.json +0 -75
- package/dist/blocks/Pagination/style.less +0 -17
- package/dist/blocks/Paragraph/schema.json +0 -135
- package/dist/blocks/Paragraph/style.less +0 -18
- package/dist/blocks/ParagraphInput/schema.json +0 -162
- package/dist/blocks/ParagraphInput/style.less +0 -17
- package/dist/blocks/PasswordInput/schema.js +0 -152
- package/dist/blocks/PasswordInput/schema.json +0 -131
- package/dist/blocks/PasswordInput/style.less +0 -18
- package/dist/blocks/PhoneNumberInput/schema.js +0 -243
- package/dist/blocks/PhoneNumberInput/schema.json +0 -216
- package/dist/blocks/PhoneNumberInput/style.less +0 -33
- package/dist/blocks/Popover/schema.json +0 -86
- package/dist/blocks/Popover/style.less +0 -17
- package/dist/blocks/Progress/schema.json +0 -76
- package/dist/blocks/Progress/style.less +0 -17
- package/dist/blocks/RadioSelector/schema.js +0 -217
- package/dist/blocks/RadioSelector/schema.json +0 -190
- package/dist/blocks/RadioSelector/style.less +0 -19
- package/dist/blocks/RatingSlider/schema.js +0 -196
- package/dist/blocks/RatingSlider/schema.json +0 -169
- package/dist/blocks/RatingSlider/style.less +0 -19
- package/dist/blocks/Result/schema.js +0 -55
- package/dist/blocks/Result/schema.json +0 -30
- package/dist/blocks/Result/style.less +0 -17
- package/dist/blocks/Selector/schema.js +0 -287
- package/dist/blocks/Selector/schema.json +0 -258
- package/dist/blocks/Selector/style.less +0 -18
- package/dist/blocks/Sider/schema.json +0 -71
- package/dist/blocks/Sider/style.less +0 -17
- package/dist/blocks/Slider/style.less +0 -18
- package/dist/blocks/Statistic/schema.json +0 -74
- package/dist/blocks/Statistic/style.less +0 -17
- package/dist/blocks/Switch/schema.js +0 -162
- package/dist/blocks/Switch/schema.json +0 -136
- package/dist/blocks/Switch/style.less +0 -18
- package/dist/blocks/Tabs/schema.js +0 -124
- package/dist/blocks/Tabs/schema.json +0 -93
- package/dist/blocks/Tabs/style.less +0 -17
- package/dist/blocks/Tag/schema.json +0 -45
- package/dist/blocks/Tag/style.less +0 -17
- package/dist/blocks/TextArea/schema.js +0 -196
- package/dist/blocks/TextArea/schema.json +0 -172
- package/dist/blocks/TextArea/style.less +0 -18
- package/dist/blocks/TextInput/schema.js +0 -223
- package/dist/blocks/TextInput/schema.json +0 -189
- package/dist/blocks/TextInput/style.less +0 -18
- package/dist/blocks/TimelineList/schema.json +0 -65
- package/dist/blocks/TimelineList/style.less +0 -17
- package/dist/blocks/Title/schema.json +0 -136
- package/dist/blocks/Title/style.less +0 -18
- package/dist/blocks/TitleInput/schema.json +0 -171
- package/dist/blocks/TitleInput/style.less +0 -17
- package/dist/blocks/Tooltip/schema.json +0 -91
- package/dist/blocks/Tooltip/style.less +0 -17
- package/dist/blocks/TreeSelector/schema.json +0 -166
- package/dist/blocks/TreeSelector/style.less +0 -27
- package/dist/blocks/WeekSelector/schema.js +0 -219
- package/dist/blocks/WeekSelector/schema.json +0 -183
- package/dist/blocks/WeekSelector/style.less +0 -18
- package/dist/color.js +0 -85
- package/dist/schemas.js +0 -75
- package/dist/style.less +0 -17
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright 2020-2026 Lowdefy, Inc
|
|
3
|
+
|
|
4
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
you may not use this file except in compliance with the License.
|
|
6
|
+
You may obtain a copy of the License at
|
|
7
|
+
|
|
8
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
|
|
10
|
+
Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
See the License for the specific language governing permissions and
|
|
14
|
+
limitations under the License.
|
|
15
|
+
*/ export default {
|
|
16
|
+
category: 'container',
|
|
17
|
+
icons: [],
|
|
18
|
+
valueType: null,
|
|
19
|
+
slots: {
|
|
20
|
+
content: 'Child blocks arranged in a masonry grid.'
|
|
21
|
+
},
|
|
22
|
+
cssKeys: {
|
|
23
|
+
element: 'The Masonry element.'
|
|
24
|
+
},
|
|
25
|
+
properties: {
|
|
26
|
+
type: 'object',
|
|
27
|
+
additionalProperties: false,
|
|
28
|
+
properties: {
|
|
29
|
+
columns: {
|
|
30
|
+
type: [
|
|
31
|
+
'integer',
|
|
32
|
+
'object'
|
|
33
|
+
],
|
|
34
|
+
description: 'Number of columns, or responsive breakpoint object.',
|
|
35
|
+
docs: {
|
|
36
|
+
displayType: 'yaml'
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
fresh: {
|
|
40
|
+
type: 'boolean',
|
|
41
|
+
default: false,
|
|
42
|
+
description: 'Force refresh the masonry layout.'
|
|
43
|
+
},
|
|
44
|
+
gutter: {
|
|
45
|
+
type: [
|
|
46
|
+
'number',
|
|
47
|
+
'array'
|
|
48
|
+
],
|
|
49
|
+
description: 'Gap between items. Number or [horizontal, vertical] array.',
|
|
50
|
+
docs: {
|
|
51
|
+
displayType: 'yaml'
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
sequential: {
|
|
55
|
+
type: 'boolean',
|
|
56
|
+
default: false,
|
|
57
|
+
description: 'Whether to render items sequentially.'
|
|
58
|
+
},
|
|
59
|
+
theme: {
|
|
60
|
+
type: 'object',
|
|
61
|
+
description: 'Antd design token overrides for this block. See <a href="https://ant.design/components/overview#design-token">antd design tokens</a>.',
|
|
62
|
+
docs: {
|
|
63
|
+
displayType: 'yaml',
|
|
64
|
+
link: 'https://ant.design/components/masonry#design-token'
|
|
65
|
+
},
|
|
66
|
+
properties: {
|
|
67
|
+
motionDurationSlow: {
|
|
68
|
+
type: 'string',
|
|
69
|
+
default: '0.3s',
|
|
70
|
+
description: 'Duration for item position transitions and appear animations.'
|
|
71
|
+
},
|
|
72
|
+
motionDurationFast: {
|
|
73
|
+
type: 'string',
|
|
74
|
+
default: '0.1s',
|
|
75
|
+
description: 'Duration for item leave animations.'
|
|
76
|
+
},
|
|
77
|
+
motionEaseOut: {
|
|
78
|
+
type: 'string',
|
|
79
|
+
default: 'cubic-bezier(0.215, 0.61, 0.355, 1)',
|
|
80
|
+
description: 'Easing function for item transitions.'
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright 2020-2026 Lowdefy, Inc
|
|
3
|
+
|
|
4
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
you may not use this file except in compliance with the License.
|
|
6
|
+
You may obtain a copy of the License at
|
|
7
|
+
|
|
8
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
|
|
10
|
+
Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
See the License for the specific language governing permissions and
|
|
14
|
+
limitations under the License.
|
|
15
|
+
*/ import React, { useEffect } from 'react';
|
|
16
|
+
import { Masonry } from 'antd';
|
|
17
|
+
import { withBlockDefaults } from '@lowdefy/block-utils';
|
|
18
|
+
import withTheme from '../withTheme.js';
|
|
19
|
+
const MasonryListBlock = ({ blockId, classNames = {}, list, methods, properties, styles = {} })=>{
|
|
20
|
+
useEffect(()=>{
|
|
21
|
+
methods.registerMethod('pushItem', methods.pushItem);
|
|
22
|
+
methods.registerMethod('removeItem', methods.removeItem);
|
|
23
|
+
methods.registerMethod('unshiftItem', methods.unshiftItem);
|
|
24
|
+
methods.registerMethod('moveItemUp', methods.moveItemUp);
|
|
25
|
+
methods.registerMethod('moveItemDown', methods.moveItemDown);
|
|
26
|
+
});
|
|
27
|
+
const items = (list || []).map((item, i)=>({
|
|
28
|
+
key: `${blockId}_${i}`,
|
|
29
|
+
children: item.content && item.content()
|
|
30
|
+
}));
|
|
31
|
+
return /*#__PURE__*/ React.createElement(Masonry, {
|
|
32
|
+
id: blockId,
|
|
33
|
+
className: classNames.element,
|
|
34
|
+
style: styles.element,
|
|
35
|
+
columns: properties.columns,
|
|
36
|
+
fresh: properties.fresh,
|
|
37
|
+
gutter: properties.gutter,
|
|
38
|
+
sequential: properties.sequential,
|
|
39
|
+
items: items
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
export default withTheme('Masonry', withBlockDefaults(MasonryListBlock));
|
|
@@ -12,6 +12,12 @@
|
|
|
12
12
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
13
|
See the License for the specific language governing permissions and
|
|
14
14
|
limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
*/ import { createBlockHelper } from '@lowdefy/e2e-utils';
|
|
16
|
+
import { expect } from '@playwright/test';
|
|
17
|
+
const locator = (page, blockId)=>page.locator(`#${blockId}`);
|
|
18
|
+
export default createBlockHelper({
|
|
19
|
+
locator,
|
|
20
|
+
expect: {
|
|
21
|
+
itemCount: (page, blockId, count)=>expect(locator(page, blockId).locator('> *')).toHaveCount(count)
|
|
22
|
+
}
|
|
23
|
+
});
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright 2020-2026 Lowdefy, Inc
|
|
3
|
+
|
|
4
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
you may not use this file except in compliance with the License.
|
|
6
|
+
You may obtain a copy of the License at
|
|
7
|
+
|
|
8
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
|
|
10
|
+
Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
See the License for the specific language governing permissions and
|
|
14
|
+
limitations under the License.
|
|
15
|
+
*/ export default {
|
|
16
|
+
category: 'list',
|
|
17
|
+
icons: [],
|
|
18
|
+
valueType: 'array',
|
|
19
|
+
slots: {
|
|
20
|
+
content: 'Blocks rendered for each masonry item.'
|
|
21
|
+
},
|
|
22
|
+
cssKeys: {
|
|
23
|
+
element: 'The MasonryList element.'
|
|
24
|
+
},
|
|
25
|
+
properties: {
|
|
26
|
+
type: 'object',
|
|
27
|
+
additionalProperties: false,
|
|
28
|
+
properties: {
|
|
29
|
+
columns: {
|
|
30
|
+
type: [
|
|
31
|
+
'integer',
|
|
32
|
+
'object'
|
|
33
|
+
],
|
|
34
|
+
description: 'Number of columns, or responsive breakpoint object (e.g. { xs: 1, sm: 2, md: 3 }).',
|
|
35
|
+
docs: {
|
|
36
|
+
displayType: 'yaml'
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
fresh: {
|
|
40
|
+
type: 'boolean',
|
|
41
|
+
default: false,
|
|
42
|
+
description: 'Force refresh the masonry layout.'
|
|
43
|
+
},
|
|
44
|
+
gutter: {
|
|
45
|
+
type: [
|
|
46
|
+
'number',
|
|
47
|
+
'array'
|
|
48
|
+
],
|
|
49
|
+
description: 'Gap between items in pixels. Number or [horizontal, vertical] array.',
|
|
50
|
+
docs: {
|
|
51
|
+
displayType: 'yaml'
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
sequential: {
|
|
55
|
+
type: 'boolean',
|
|
56
|
+
default: false,
|
|
57
|
+
description: 'Render items sequentially (top to bottom, then next column). Default is balanced column-fill.'
|
|
58
|
+
},
|
|
59
|
+
theme: {
|
|
60
|
+
type: 'object',
|
|
61
|
+
description: 'Antd design token overrides for this block. Masonry uses global motion tokens for item animations. See <a href="https://ant.design/components/overview#design-token">antd design tokens</a>.',
|
|
62
|
+
docs: {
|
|
63
|
+
displayType: 'yaml',
|
|
64
|
+
link: 'https://ant.design/components/masonry'
|
|
65
|
+
},
|
|
66
|
+
properties: {
|
|
67
|
+
motionDurationSlow: {
|
|
68
|
+
type: 'string',
|
|
69
|
+
default: '0.3s',
|
|
70
|
+
description: 'Duration of item position and fade-in animations.'
|
|
71
|
+
},
|
|
72
|
+
motionDurationFast: {
|
|
73
|
+
type: 'string',
|
|
74
|
+
default: '0.1s',
|
|
75
|
+
description: 'Duration of item fade-out animations.'
|
|
76
|
+
},
|
|
77
|
+
motionEaseOut: {
|
|
78
|
+
type: 'string',
|
|
79
|
+
default: 'cubic-bezier(0.215, 0.61, 0.355, 1)',
|
|
80
|
+
description: 'Easing function for item animations.'
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
};
|
package/dist/blocks/Menu/Menu.js
CHANGED
|
@@ -12,10 +12,13 @@
|
|
|
12
12
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
13
|
See the License for the specific language governing permissions and
|
|
14
14
|
limitations under the License.
|
|
15
|
-
*/ import React from 'react';
|
|
16
|
-
import {
|
|
17
|
-
import { Menu } from 'antd';
|
|
15
|
+
*/ import React, { useCallback, useContext } from 'react';
|
|
16
|
+
import { Layout, Menu } from 'antd';
|
|
18
17
|
import { type, get } from '@lowdefy/helpers';
|
|
18
|
+
const SiderContext = Layout._InternalSiderContext;
|
|
19
|
+
import { withBlockDefaults } from '@lowdefy/block-utils';
|
|
20
|
+
import withTheme from '../withTheme.js';
|
|
21
|
+
import useItemShortcuts from '../useItemShortcuts.js';
|
|
19
22
|
const getDefaultMenu = (menus, menuId = 'default', links)=>{
|
|
20
23
|
if (type.isArray(links)) return links;
|
|
21
24
|
if (!type.isArray(menus)) return [];
|
|
@@ -23,11 +26,106 @@ const getDefaultMenu = (menus, menuId = 'default', links)=>{
|
|
|
23
26
|
return menu.links ?? [];
|
|
24
27
|
};
|
|
25
28
|
const getTitle = ({ id, properties, pageId, url })=>properties?.title ?? pageId ?? url ?? id;
|
|
26
|
-
|
|
27
|
-
const
|
|
29
|
+
function collectLinkShortcuts(links) {
|
|
30
|
+
const result = [];
|
|
31
|
+
(links ?? []).forEach((link)=>{
|
|
32
|
+
if (link.type === 'MenuLink' || !link.type) {
|
|
33
|
+
if (link.properties?.shortcut) {
|
|
34
|
+
result.push({
|
|
35
|
+
key: link.pageId ?? link.id,
|
|
36
|
+
shortcut: link.properties.shortcut
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
if (link.links) {
|
|
41
|
+
result.push(...collectLinkShortcuts(link.links));
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
return result;
|
|
45
|
+
}
|
|
46
|
+
function buildMenuItems({ links, events, components: { Icon, Link, ShortcutBadge }, classNames, styles, isTopLevel = true }) {
|
|
47
|
+
return (links ?? []).map((link, i)=>{
|
|
48
|
+
if (link.type === 'MenuDivider') {
|
|
49
|
+
return {
|
|
50
|
+
type: 'divider',
|
|
51
|
+
key: link.id ?? i,
|
|
52
|
+
dashed: link.properties?.dashed,
|
|
53
|
+
style: link.style
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
if (link.type === 'MenuGroup') {
|
|
57
|
+
const groupItem = {
|
|
58
|
+
key: link.pageId ?? link.id,
|
|
59
|
+
label: /*#__PURE__*/ React.createElement(Link, {
|
|
60
|
+
id: link.pageId ?? link.id ?? i,
|
|
61
|
+
style: link.style,
|
|
62
|
+
...link
|
|
63
|
+
}, getTitle(link)),
|
|
64
|
+
children: buildMenuItems({
|
|
65
|
+
links: link.links,
|
|
66
|
+
events,
|
|
67
|
+
components: {
|
|
68
|
+
Icon,
|
|
69
|
+
Link,
|
|
70
|
+
ShortcutBadge
|
|
71
|
+
},
|
|
72
|
+
classNames,
|
|
73
|
+
styles,
|
|
74
|
+
isTopLevel: false
|
|
75
|
+
})
|
|
76
|
+
};
|
|
77
|
+
if (isTopLevel) {
|
|
78
|
+
// Top-level MenuGroup → collapsible submenu (with icon)
|
|
79
|
+
groupItem.icon = link.properties?.icon ? /*#__PURE__*/ React.createElement(Icon, {
|
|
80
|
+
blockId: `${link.id}_icon`,
|
|
81
|
+
classNames: {
|
|
82
|
+
element: classNames.icon
|
|
83
|
+
},
|
|
84
|
+
events: events,
|
|
85
|
+
properties: link.properties.icon,
|
|
86
|
+
styles: {
|
|
87
|
+
element: styles.icon
|
|
88
|
+
}
|
|
89
|
+
}) : undefined;
|
|
90
|
+
} else {
|
|
91
|
+
// Nested MenuGroup → non-collapsible group header
|
|
92
|
+
groupItem.type = 'group';
|
|
93
|
+
}
|
|
94
|
+
return groupItem;
|
|
95
|
+
}
|
|
96
|
+
// MenuLink (default)
|
|
97
|
+
return {
|
|
98
|
+
key: link.pageId ?? link.id,
|
|
99
|
+
danger: link.properties?.danger,
|
|
100
|
+
className: classNames.item,
|
|
101
|
+
icon: link.properties?.icon ? /*#__PURE__*/ React.createElement(Icon, {
|
|
102
|
+
blockId: `${link.id}_icon`,
|
|
103
|
+
classNames: {
|
|
104
|
+
element: classNames.icon
|
|
105
|
+
},
|
|
106
|
+
events: events,
|
|
107
|
+
properties: link.properties.icon,
|
|
108
|
+
styles: {
|
|
109
|
+
element: styles.icon
|
|
110
|
+
}
|
|
111
|
+
}) : undefined,
|
|
112
|
+
label: /*#__PURE__*/ React.createElement(Link, {
|
|
113
|
+
id: link.pageId ?? link.id ?? i,
|
|
114
|
+
style: link.style,
|
|
115
|
+
url: link.url ?? link.properties?.url,
|
|
116
|
+
newTab: link.newTab ?? link.properties?.newTab,
|
|
117
|
+
...link
|
|
118
|
+
}, getTitle(link), /*#__PURE__*/ React.createElement(ShortcutBadge, {
|
|
119
|
+
shortcut: link.properties?.shortcut
|
|
120
|
+
}))
|
|
121
|
+
};
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
function MenuComp({ blockId, classNames = {}, components: { Icon, Link, ShortcutBadge }, events, menus, methods, pageId, properties, rename, styles = {} }) {
|
|
125
|
+
const horizontalStyles = {
|
|
28
126
|
lineHeight: '64px',
|
|
29
127
|
width: '100%',
|
|
30
|
-
display: properties.mode === 'horizontal'
|
|
128
|
+
display: properties.mode === 'horizontal' ? 'inline-block' : undefined
|
|
31
129
|
};
|
|
32
130
|
const exProps = {};
|
|
33
131
|
if (properties.mode === 'inline') {
|
|
@@ -35,23 +133,62 @@ const MenuComp = ({ blockId, components: { Icon, Link }, events, menus, methods,
|
|
|
35
133
|
exProps.inlineIndent = properties.inlineIndent;
|
|
36
134
|
}
|
|
37
135
|
const menu = getDefaultMenu(menus, properties.menuId, properties.links);
|
|
38
|
-
const theme = properties.theme
|
|
136
|
+
const theme = properties.theme;
|
|
137
|
+
const { siderCollapsed } = useContext(SiderContext) ?? {};
|
|
138
|
+
const isCollapsed = properties.collapsed === true || siderCollapsed === true;
|
|
139
|
+
const items = buildMenuItems({
|
|
140
|
+
links: menu,
|
|
141
|
+
events,
|
|
142
|
+
components: {
|
|
143
|
+
Icon,
|
|
144
|
+
Link,
|
|
145
|
+
ShortcutBadge
|
|
146
|
+
},
|
|
147
|
+
classNames,
|
|
148
|
+
styles
|
|
149
|
+
});
|
|
150
|
+
const shortcutItems = collectLinkShortcuts(menu);
|
|
151
|
+
const onShortcutMatch = useCallback((key)=>{
|
|
152
|
+
methods.triggerEvent({
|
|
153
|
+
name: get(rename, 'events.onSelect', {
|
|
154
|
+
default: 'onSelect'
|
|
155
|
+
}),
|
|
156
|
+
event: {
|
|
157
|
+
key
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
}, [
|
|
161
|
+
methods,
|
|
162
|
+
rename
|
|
163
|
+
]);
|
|
164
|
+
useItemShortcuts({
|
|
165
|
+
items: shortcutItems,
|
|
166
|
+
onMatch: onShortcutMatch
|
|
167
|
+
});
|
|
39
168
|
return /*#__PURE__*/ React.createElement(Menu, {
|
|
40
169
|
id: blockId,
|
|
170
|
+
className: classNames.element,
|
|
171
|
+
style: {
|
|
172
|
+
...horizontalStyles,
|
|
173
|
+
...styles.element
|
|
174
|
+
},
|
|
175
|
+
items: items,
|
|
41
176
|
expandIcon: properties.expandIcon && /*#__PURE__*/ React.createElement(Icon, {
|
|
42
177
|
blockId: `${blockId}_expandIcon`,
|
|
178
|
+
classNames: {
|
|
179
|
+
element: classNames.expandIcon
|
|
180
|
+
},
|
|
43
181
|
events: events,
|
|
44
|
-
properties: properties.expandIcon
|
|
182
|
+
properties: properties.expandIcon,
|
|
183
|
+
styles: {
|
|
184
|
+
element: styles.expandIcon
|
|
185
|
+
}
|
|
45
186
|
}),
|
|
46
187
|
forceSubMenuRender: properties.forceSubMenuRender,
|
|
47
188
|
mode: properties.mode,
|
|
48
189
|
selectable: true,
|
|
49
190
|
theme: theme,
|
|
50
|
-
|
|
51
|
-
styles,
|
|
52
|
-
properties.style
|
|
53
|
-
]),
|
|
54
|
-
defaultOpenKeys: properties.defaultOpenKeys ?? (properties.mode === 'inline' && properties.collapsed !== true && [
|
|
191
|
+
defaultOpenKeys: properties.defaultOpenKeys ?? (properties.mode === 'inline' && !isCollapsed && [
|
|
55
192
|
(menu.find((link)=>(link.links || []).map((subLink)=>subLink.links ? subLink.links.map((subSubLink)=>subSubLink.pageId) : [
|
|
56
193
|
subLink.pageId
|
|
57
194
|
]).flat().some((link)=>(properties.selectedKeys ?? [
|
|
@@ -88,114 +225,6 @@ const MenuComp = ({ blockId, components: { Icon, Link }, events, menus, methods,
|
|
|
88
225
|
}
|
|
89
226
|
}),
|
|
90
227
|
...exProps
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
return /*#__PURE__*/ React.createElement(Menu.Divider, {
|
|
95
|
-
key: link.id,
|
|
96
|
-
className: methods.makeCssClass([
|
|
97
|
-
link.style
|
|
98
|
-
]),
|
|
99
|
-
dashed: link.properties?.dashed
|
|
100
|
-
});
|
|
101
|
-
case 'MenuGroup':
|
|
102
|
-
return /*#__PURE__*/ React.createElement(Menu.SubMenu, {
|
|
103
|
-
key: link.pageId ?? link.id,
|
|
104
|
-
title: /*#__PURE__*/ React.createElement(Link, {
|
|
105
|
-
id: link.pageId ?? link.id ?? i,
|
|
106
|
-
className: methods.makeCssClass(link.style, true),
|
|
107
|
-
...link
|
|
108
|
-
}, getTitle(link)),
|
|
109
|
-
icon: link.properties?.icon && /*#__PURE__*/ React.createElement(Icon, {
|
|
110
|
-
blockId: `${link.id}_icon`,
|
|
111
|
-
events: events,
|
|
112
|
-
properties: link.properties.icon
|
|
113
|
-
})
|
|
114
|
-
}, get(link, 'links', {
|
|
115
|
-
default: []
|
|
116
|
-
}).map((subLink, j)=>{
|
|
117
|
-
switch(subLink.type){
|
|
118
|
-
case 'MenuDivider':
|
|
119
|
-
return /*#__PURE__*/ React.createElement(Menu.Divider, {
|
|
120
|
-
key: subLink.id ?? j,
|
|
121
|
-
className: methods.makeCssClass([
|
|
122
|
-
subLink.style
|
|
123
|
-
]),
|
|
124
|
-
dashed: subLink.properties?.dashed
|
|
125
|
-
});
|
|
126
|
-
case 'MenuGroup':
|
|
127
|
-
return /*#__PURE__*/ React.createElement(Menu.ItemGroup, {
|
|
128
|
-
key: subLink.pageId ?? subLink.id,
|
|
129
|
-
title: /*#__PURE__*/ React.createElement(Link, {
|
|
130
|
-
id: subLink.pageId ?? subLink.id ?? j,
|
|
131
|
-
className: methods.makeCssClass(subLink.style, true),
|
|
132
|
-
...subLink
|
|
133
|
-
}, getTitle(subLink))
|
|
134
|
-
}, subLink.links.map((subLinkGroup, k)=>{
|
|
135
|
-
if (subLinkGroup.type === 'MenuDivider') {
|
|
136
|
-
return /*#__PURE__*/ React.createElement(Menu.Divider, {
|
|
137
|
-
key: `${subLink.id}_${k}`,
|
|
138
|
-
className: methods.makeCssClass([
|
|
139
|
-
subLink.style
|
|
140
|
-
]),
|
|
141
|
-
dashed: subLink.properties?.dashed
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
return /*#__PURE__*/ React.createElement(Menu.Item, {
|
|
145
|
-
key: subLinkGroup.pageId ?? subLinkGroup.id,
|
|
146
|
-
danger: get(subLinkGroup, 'properties.danger'),
|
|
147
|
-
icon: subLinkGroup.properties?.icon && /*#__PURE__*/ React.createElement(Icon, {
|
|
148
|
-
blockId: `${subLinkGroup.id}_icon`,
|
|
149
|
-
events: events,
|
|
150
|
-
properties: subLinkGroup.properties.icon
|
|
151
|
-
})
|
|
152
|
-
}, /*#__PURE__*/ React.createElement(Link, {
|
|
153
|
-
id: subLinkGroup.pageId ?? subLinkGroup.id ?? k,
|
|
154
|
-
className: methods.makeCssClass(subLinkGroup.style, true),
|
|
155
|
-
...subLinkGroup
|
|
156
|
-
}, getTitle(subLinkGroup)));
|
|
157
|
-
}));
|
|
158
|
-
case 'MenuLink':
|
|
159
|
-
default:
|
|
160
|
-
return /*#__PURE__*/ React.createElement(Menu.Item, {
|
|
161
|
-
key: subLink.pageId ?? subLink.id,
|
|
162
|
-
danger: get(subLink, 'properties.danger'),
|
|
163
|
-
icon: subLink.properties?.icon && /*#__PURE__*/ React.createElement(Icon, {
|
|
164
|
-
blockId: `${subLink.id}_icon`,
|
|
165
|
-
events: events,
|
|
166
|
-
properties: subLink.properties.icon
|
|
167
|
-
})
|
|
168
|
-
}, /*#__PURE__*/ React.createElement(Link, {
|
|
169
|
-
id: subLink.pageId ?? subLink.id ?? j,
|
|
170
|
-
className: methods.makeCssClass(subLink.style, true),
|
|
171
|
-
...subLink
|
|
172
|
-
}, getTitle(subLink)));
|
|
173
|
-
}
|
|
174
|
-
}));
|
|
175
|
-
case 'MenuLink':
|
|
176
|
-
default:
|
|
177
|
-
return /*#__PURE__*/ React.createElement(Menu.Item, {
|
|
178
|
-
key: link.pageId ?? link.id,
|
|
179
|
-
danger: get(link, 'properties.danger'),
|
|
180
|
-
icon: link.properties?.icon && /*#__PURE__*/ React.createElement(Icon, {
|
|
181
|
-
blockId: `${link.id}_icon`,
|
|
182
|
-
events: events,
|
|
183
|
-
properties: link.properties.icon
|
|
184
|
-
})
|
|
185
|
-
}, /*#__PURE__*/ React.createElement(Link, {
|
|
186
|
-
id: link.pageId ?? link.id ?? i,
|
|
187
|
-
className: methods.makeCssClass(link.style, true),
|
|
188
|
-
...link
|
|
189
|
-
}, getTitle(link)));
|
|
190
|
-
}
|
|
191
|
-
}));
|
|
192
|
-
};
|
|
193
|
-
MenuComp.defaultProps = blockDefaultProps;
|
|
194
|
-
MenuComp.meta = {
|
|
195
|
-
category: 'display',
|
|
196
|
-
icons: [],
|
|
197
|
-
styles: [
|
|
198
|
-
'blocks/Menu/style.less'
|
|
199
|
-
]
|
|
200
|
-
};
|
|
201
|
-
export default MenuComp;
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
export default withTheme('Menu', withBlockDefaults(MenuComp));
|