@lowdefy/blocks-antd 5.6.0 → 6.0.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/TagPillRow.js +88 -0
- package/dist/blocks/Affix/gallery.yaml +399 -0
- package/dist/blocks/Affix/tests/Affix.e2e.yaml +72 -0
- package/dist/blocks/Affix/tests.yaml +29 -0
- package/dist/blocks/Alert/gallery.yaml +701 -0
- package/dist/blocks/Alert/tests/Alert.e2e.yaml +161 -0
- package/dist/blocks/Alert/tests.yaml +261 -0
- package/dist/blocks/AutoComplete/gallery.yaml +713 -0
- package/dist/blocks/AutoComplete/tests/AutoComplete.e2e.yaml +330 -0
- package/dist/blocks/AutoComplete/tests.yaml +178 -0
- package/dist/blocks/Avatar/gallery.yaml +1037 -0
- package/dist/blocks/Avatar/tests/Avatar.e2e.yaml +125 -0
- package/dist/blocks/Avatar/tests.yaml +76 -0
- package/dist/blocks/Badge/gallery.yaml +1090 -0
- package/dist/blocks/Badge/tests/Badge.e2e.yaml +195 -0
- package/dist/blocks/Badge/tests.yaml +91 -0
- package/dist/blocks/Breadcrumb/gallery.yaml +484 -0
- package/dist/blocks/Breadcrumb/tests/Breadcrumb.e2e.yaml +165 -0
- package/dist/blocks/Breadcrumb/tests.yaml +106 -0
- package/dist/blocks/Button/gallery.yaml +718 -0
- package/dist/blocks/Button/tests/Button.e2e.yaml +246 -0
- package/dist/blocks/Button/tests.yaml +104 -0
- package/dist/blocks/ButtonSelector/gallery.yaml +891 -0
- package/dist/blocks/ButtonSelector/tests/ButtonSelector.e2e.yaml +188 -0
- package/dist/blocks/ButtonSelector/tests.yaml +167 -0
- package/dist/blocks/Calendar/gallery.yaml +128 -0
- package/dist/blocks/Calendar/tests/Calendar.e2e.yaml +136 -0
- package/dist/blocks/Calendar/tests.yaml +50 -0
- package/dist/blocks/Card/gallery.yaml +1035 -0
- package/dist/blocks/Card/tests/Card.e2e.yaml +209 -0
- package/dist/blocks/Card/tests.yaml +75 -0
- package/dist/blocks/Carousel/gallery.yaml +1971 -0
- package/dist/blocks/Carousel/tests/Carousel.e2e.yaml +211 -0
- package/dist/blocks/Carousel/tests.yaml +117 -0
- package/dist/blocks/CheckboxSelector/gallery.yaml +781 -0
- package/dist/blocks/CheckboxSelector/tests/CheckboxSelector.e2e.yaml +272 -0
- package/dist/blocks/CheckboxSelector/tests.yaml +325 -0
- package/dist/blocks/CheckboxSwitch/gallery.yaml +457 -0
- package/dist/blocks/CheckboxSwitch/tests/CheckboxSwitch.e2e.yaml +126 -0
- package/dist/blocks/CheckboxSwitch/tests.yaml +96 -0
- package/dist/blocks/Collapse/gallery.yaml +1079 -0
- package/dist/blocks/Collapse/tests/Collapse.e2e.yaml +206 -0
- package/dist/blocks/Collapse/tests.yaml +265 -0
- package/dist/blocks/ColorSelector/gallery.yaml +807 -0
- package/dist/blocks/ColorSelector/tests/ColorSelector.e2e.yaml +77 -0
- package/dist/blocks/ColorSelector/tests.yaml +84 -0
- package/dist/blocks/ConfigProvider/gallery.yaml +1003 -0
- package/dist/blocks/ConfigProvider/tests.yaml +62 -0
- package/dist/blocks/ConfirmModal/gallery.yaml +1043 -0
- package/dist/blocks/ConfirmModal/tests/ConfirmModal.e2e.yaml +410 -0
- package/dist/blocks/ConfirmModal/tests.yaml +95 -0
- package/dist/blocks/Content/gallery.yaml +528 -0
- package/dist/blocks/Content/tests/Content.e2e.yaml +71 -0
- package/dist/blocks/Content/tests.yaml +42 -0
- package/dist/blocks/ControlledList/ControlledList.js +1 -1
- package/dist/blocks/ControlledList/gallery.yaml +481 -0
- package/dist/blocks/ControlledList/{style.module.css → style.css} +3 -3
- package/dist/blocks/ControlledList/tests/ControlledList.e2e.yaml +161 -0
- package/dist/blocks/ControlledList/tests.yaml +57 -0
- package/dist/blocks/DateRangeSelector/DateRangeSelector.js +7 -0
- package/dist/blocks/DateRangeSelector/e2e.js +28 -2
- package/dist/blocks/DateRangeSelector/gallery.yaml +858 -0
- package/dist/blocks/DateRangeSelector/meta.js +2 -0
- package/dist/blocks/DateRangeSelector/tests/DateRangeSelector.e2e.yaml +204 -0
- package/dist/blocks/DateRangeSelector/tests.yaml +129 -0
- package/dist/blocks/DateSelector/DateSelector.js +6 -0
- package/dist/blocks/DateSelector/e2e.js +28 -2
- package/dist/blocks/DateSelector/gallery.yaml +691 -0
- package/dist/blocks/DateSelector/meta.js +6 -0
- package/dist/blocks/DateSelector/tests/DateSelector.e2e.yaml +229 -0
- package/dist/blocks/DateSelector/tests.yaml +117 -0
- package/dist/blocks/DateTimeSelector/DateTimeSelector.js +7 -0
- package/dist/blocks/DateTimeSelector/e2e.js +26 -2
- package/dist/blocks/DateTimeSelector/gallery.yaml +770 -0
- package/dist/blocks/DateTimeSelector/meta.js +2 -0
- package/dist/blocks/DateTimeSelector/tests/DateTimeSelector.e2e.yaml +163 -0
- package/dist/blocks/DateTimeSelector/tests.yaml +140 -0
- package/dist/blocks/Descriptions/gallery.yaml +839 -0
- package/dist/blocks/Descriptions/tests/Descriptions.e2e.yaml +143 -0
- package/dist/blocks/Descriptions/tests.yaml +256 -0
- package/dist/blocks/Divider/gallery.yaml +375 -0
- package/dist/blocks/Divider/tests/Divider.e2e.yaml +107 -0
- package/dist/blocks/Divider/tests.yaml +58 -0
- package/dist/blocks/Drawer/gallery.yaml +1257 -0
- package/dist/blocks/Drawer/tests/Drawer.e2e.yaml +562 -0
- package/dist/blocks/Drawer/tests.yaml +80 -0
- package/dist/blocks/DropdownButton/gallery.yaml +606 -0
- package/dist/blocks/DropdownButton/tests/DropdownButton.e2e.yaml +243 -0
- package/dist/blocks/DropdownMenu/gallery.yaml +578 -0
- package/dist/blocks/DropdownMenu/tests/DropdownMenu.e2e.yaml +267 -0
- package/dist/blocks/Flex/gallery.yaml +1416 -0
- package/dist/blocks/Flex/tests/Flex.e2e.yaml +95 -0
- package/dist/blocks/Flex/tests.yaml +92 -0
- package/dist/blocks/FloatButton/gallery.yaml +518 -0
- package/dist/blocks/FloatButton/tests/FloatButton.e2e.yaml +73 -0
- package/dist/blocks/FloatButton/tests.yaml +59 -0
- package/dist/blocks/Footer/gallery.yaml +355 -0
- package/dist/blocks/Footer/tests/Footer.e2e.yaml +70 -0
- package/dist/blocks/Footer/tests.yaml +28 -0
- package/dist/blocks/Header/gallery.yaml +249 -0
- package/dist/blocks/Header/tests/Header.e2e.yaml +77 -0
- package/dist/blocks/Header/tests.yaml +36 -0
- package/dist/blocks/Label/Label.js +1 -1
- package/dist/blocks/Label/gallery.yaml +762 -0
- package/dist/blocks/Label/{style.module.css → style.css} +28 -28
- package/dist/blocks/Label/tests/Label.e2e.yaml +247 -0
- package/dist/blocks/Label/tests.yaml +212 -0
- package/dist/blocks/Layout/gallery.yaml +548 -0
- package/dist/blocks/Layout/tests/Layout.e2e.yaml +86 -0
- package/dist/blocks/Layout/tests.yaml +28 -0
- package/dist/blocks/ListSelector/gallery.yaml +223 -0
- package/dist/blocks/Masonry/gallery.yaml +989 -0
- package/dist/blocks/Masonry/tests/Masonry.e2e.yaml +128 -0
- package/dist/blocks/Masonry/tests.yaml +42 -0
- package/dist/blocks/MasonryList/gallery.yaml +224 -0
- package/dist/blocks/MasonryList/tests/MasonryList.e2e.yaml +55 -0
- package/dist/blocks/MasonryList/tests.yaml +42 -0
- package/dist/blocks/Menu/gallery.yaml +974 -0
- package/dist/blocks/Menu/tests/Menu.e2e.yaml +484 -0
- package/dist/blocks/Menu/tests.yaml +1053 -0
- package/dist/blocks/Message/gallery.yaml +860 -0
- package/dist/blocks/Message/tests/Message.e2e.yaml +246 -0
- package/dist/blocks/Message/tests.yaml +54 -0
- package/dist/blocks/MobileMenu/gallery.yaml +1172 -0
- package/dist/blocks/MobileMenu/tests/MobileMenu.e2e.yaml +314 -0
- package/dist/blocks/MobileMenu/tests.yaml +359 -0
- package/dist/blocks/Modal/gallery.yaml +1039 -0
- package/dist/blocks/Modal/tests/Modal.e2e.yaml +493 -0
- package/dist/blocks/Modal/tests.yaml +75 -0
- package/dist/blocks/MonthSelector/MonthSelector.js +6 -0
- package/dist/blocks/MonthSelector/e2e.js +26 -2
- package/dist/blocks/MonthSelector/gallery.yaml +687 -0
- package/dist/blocks/MonthSelector/meta.js +6 -0
- package/dist/blocks/MonthSelector/tests/MonthSelector.e2e.yaml +167 -0
- package/dist/blocks/MonthSelector/tests.yaml +124 -0
- package/dist/blocks/MultipleSelector/gallery.yaml +1245 -0
- package/dist/blocks/MultipleSelector/tests/MultipleSelector.e2e.yaml +445 -0
- package/dist/blocks/MultipleSelector/tests.yaml +201 -0
- package/dist/blocks/Notification/gallery.yaml +1376 -0
- package/dist/blocks/Notification/tests/Notification.e2e.yaml +362 -0
- package/dist/blocks/Notification/tests.yaml +97 -0
- package/dist/blocks/NumberInput/gallery.yaml +753 -0
- package/dist/blocks/NumberInput/tests/NumberInput.e2e.yaml +228 -0
- package/dist/blocks/NumberInput/tests.yaml +116 -0
- package/dist/blocks/PageHeaderMenu/PageHeaderMenu.js +1 -1
- package/dist/blocks/PageHeaderMenu/gallery.yaml +480 -0
- package/dist/blocks/PageHeaderMenu/tests/PageHeaderMenu.e2e.yaml +110 -0
- package/dist/blocks/PageHeaderMenu/tests.yaml +173 -0
- package/dist/blocks/PageSidebarLayout/PageSidebarLayout.js +10 -1
- package/dist/blocks/PageSidebarLayout/gallery.yaml +302 -0
- package/dist/blocks/PageSidebarLayout/meta.js +1 -0
- package/dist/blocks/PageSidebarLayout/tests/PageSidebarLayout.e2e.yaml +216 -0
- package/dist/blocks/PageSidebarLayout/tests.yaml +174 -0
- package/dist/blocks/PageSiderMenu/PageSiderMenu.js +1 -1
- package/dist/blocks/PageSiderMenu/gallery.yaml +516 -0
- package/dist/blocks/PageSiderMenu/tests/PageSiderMenu.e2e.yaml +175 -0
- package/dist/blocks/PageSiderMenu/tests.yaml +211 -0
- package/dist/blocks/Pagination/gallery.yaml +503 -0
- package/dist/blocks/Pagination/tests/Pagination.e2e.yaml +159 -0
- package/dist/blocks/Pagination/tests.yaml +80 -0
- package/dist/blocks/Paragraph/gallery.yaml +458 -0
- package/dist/blocks/Paragraph/tests/Paragraph.e2e.yaml +153 -0
- package/dist/blocks/Paragraph/tests.yaml +176 -0
- package/dist/blocks/ParagraphInput/gallery.yaml +1483 -0
- package/dist/blocks/ParagraphInput/tests/ParagraphInput.e2e.yaml +189 -0
- package/dist/blocks/ParagraphInput/tests.yaml +163 -0
- package/dist/blocks/PasswordInput/gallery.yaml +420 -0
- package/dist/blocks/PasswordInput/tests/PasswordInput.e2e.yaml +188 -0
- package/dist/blocks/PasswordInput/tests.yaml +78 -0
- package/dist/blocks/PhoneNumberInput/gallery.yaml +677 -0
- package/dist/blocks/PhoneNumberInput/tests/PhoneNumberInput.e2e.yaml +279 -0
- package/dist/blocks/PhoneNumberInput/tests.yaml +25 -0
- package/dist/blocks/Popover/gallery.yaml +1301 -0
- package/dist/blocks/Popover/tests/Popover.e2e.yaml +249 -0
- package/dist/blocks/Popover/tests.yaml +105 -0
- package/dist/blocks/Progress/gallery.yaml +772 -0
- package/dist/blocks/Progress/tests/Progress.e2e.yaml +167 -0
- package/dist/blocks/Progress/tests.yaml +114 -0
- package/dist/blocks/QRCode/gallery.yaml +492 -0
- package/dist/blocks/QRCode/tests/QRCode.e2e.yaml +66 -0
- package/dist/blocks/QRCode/tests.yaml +113 -0
- package/dist/blocks/RadioSelector/gallery.yaml +816 -0
- package/dist/blocks/RadioSelector/tests/RadioSelector.e2e.yaml +269 -0
- package/dist/blocks/RadioSelector/tests.yaml +339 -0
- package/dist/blocks/RatingSlider/gallery.yaml +627 -0
- package/dist/blocks/RatingSlider/tests/RatingSlider.e2e.yaml +188 -0
- package/dist/blocks/RatingSlider/tests.yaml +116 -0
- package/dist/blocks/Result/gallery.yaml +925 -0
- package/dist/blocks/Result/tests/Result.e2e.yaml +126 -0
- package/dist/blocks/Result/tests.yaml +75 -0
- package/dist/blocks/Search/Search.js +1 -1
- package/dist/blocks/Search/SearchModal.js +18 -9
- package/dist/blocks/Search/gallery.yaml +170 -0
- package/dist/blocks/Search/meta.js +2 -1
- package/dist/blocks/Search/{style.module.css → style.css} +19 -12
- package/dist/blocks/Search/tests/Search.e2e.yaml +125 -0
- package/dist/blocks/Search/useSearchIndex.js +24 -2
- package/dist/blocks/SegmentedSelector/gallery.yaml +725 -0
- package/dist/blocks/SegmentedSelector/tests/SegmentedSelector.e2e.yaml +115 -0
- package/dist/blocks/SegmentedSelector/tests.yaml +141 -0
- package/dist/blocks/Selector/gallery.yaml +1055 -0
- package/dist/blocks/Selector/tests/Selector.e2e.yaml +427 -0
- package/dist/blocks/Selector/tests.yaml +196 -0
- package/dist/blocks/Sider/gallery.yaml +994 -0
- package/dist/blocks/Sider/tests/Sider.e2e.yaml +162 -0
- package/dist/blocks/Sider/tests.yaml +20 -0
- package/dist/blocks/Slider/gallery.yaml +600 -0
- package/dist/blocks/Slider/tests/Slider.e2e.yaml +190 -0
- package/dist/blocks/Slider/tests.yaml +68 -0
- package/dist/blocks/Splitter/gallery.yaml +1511 -0
- package/dist/blocks/Splitter/tests/Splitter.e2e.yaml +114 -0
- package/dist/blocks/Splitter/tests.yaml +79 -0
- package/dist/blocks/Statistic/gallery.yaml +460 -0
- package/dist/blocks/Statistic/tests/Statistic.e2e.yaml +137 -0
- package/dist/blocks/Statistic/tests.yaml +77 -0
- package/dist/blocks/Steps/gallery.yaml +550 -0
- package/dist/blocks/Switch/gallery.yaml +502 -0
- package/dist/blocks/Switch/tests/Switch.e2e.yaml +132 -0
- package/dist/blocks/Switch/tests.yaml +87 -0
- package/dist/blocks/Tabs/gallery.yaml +1353 -0
- package/dist/blocks/Tabs/tests/Tabs.e2e.yaml +370 -0
- package/dist/blocks/Tabs/tests.yaml +349 -0
- package/dist/blocks/Tag/gallery.yaml +598 -0
- package/dist/blocks/Tag/tests/Tag.e2e.yaml +173 -0
- package/dist/blocks/Tag/tests.yaml +51 -0
- package/dist/blocks/TagMultipleSelector/TagMultipleSelector.js +53 -0
- package/dist/blocks/TagMultipleSelector/e2e.js +36 -0
- package/dist/blocks/TagMultipleSelector/gallery.yaml +70 -0
- package/dist/blocks/TagMultipleSelector/meta.js +91 -0
- package/dist/blocks/TagMultipleSelector/tests/TagMultipleSelector.e2e.yaml +93 -0
- package/dist/blocks/TagSelector/TagSelector.js +49 -0
- package/dist/blocks/TagSelector/e2e.js +36 -0
- package/dist/blocks/TagSelector/gallery.yaml +70 -0
- package/dist/blocks/TagSelector/meta.js +91 -0
- package/dist/blocks/TagSelector/tests/TagSelector.e2e.yaml +93 -0
- package/dist/blocks/TextArea/gallery.yaml +618 -0
- package/dist/blocks/TextArea/tests/TextArea.e2e.yaml +218 -0
- package/dist/blocks/TextArea/tests.yaml +100 -0
- package/dist/blocks/TextInput/gallery.yaml +560 -0
- package/dist/blocks/TextInput/tests/TextInput.e2e.yaml +287 -0
- package/dist/blocks/TextInput/tests.yaml +114 -0
- package/dist/blocks/TimelineList/gallery.yaml +431 -0
- package/dist/blocks/TimelineList/tests/TimelineList.e2e.yaml +244 -0
- package/dist/blocks/TimelineList/tests.yaml +251 -0
- package/dist/blocks/Title/gallery.yaml +483 -0
- package/dist/blocks/Title/tests/Title.e2e.yaml +180 -0
- package/dist/blocks/Title/tests.yaml +175 -0
- package/dist/blocks/TitleInput/gallery.yaml +1006 -0
- package/dist/blocks/TitleInput/tests/TitleInput.e2e.yaml +195 -0
- package/dist/blocks/TitleInput/tests.yaml +181 -0
- package/dist/blocks/Tooltip/gallery.yaml +1214 -0
- package/dist/blocks/Tooltip/tests/Tooltip.e2e.yaml +195 -0
- package/dist/blocks/Tooltip/tests.yaml +92 -0
- package/dist/blocks/Tour/gallery.yaml +2305 -0
- package/dist/blocks/Tour/tests/Tour.e2e.yaml +90 -0
- package/dist/blocks/Tour/tests.yaml +151 -0
- package/dist/blocks/TreeInput/gallery.yaml +78 -0
- package/dist/blocks/TreeInput/tests/TreeInput.e2e.yaml +139 -0
- package/dist/blocks/TreeInput/tests.yaml +140 -0
- package/dist/blocks/TreeMultipleSelector/gallery.yaml +67 -0
- package/dist/blocks/TreeSelector/gallery.yaml +81 -0
- package/dist/blocks/Watermark/gallery.yaml +479 -0
- package/dist/blocks/Watermark/tests/Watermark.e2e.yaml +62 -0
- package/dist/blocks/Watermark/tests.yaml +86 -0
- package/dist/blocks/WeekSelector/WeekSelector.js +6 -0
- package/dist/blocks/WeekSelector/e2e.js +26 -2
- package/dist/blocks/WeekSelector/gallery.yaml +589 -0
- package/dist/blocks/WeekSelector/meta.js +6 -0
- package/dist/blocks/WeekSelector/tests/WeekSelector.e2e.yaml +154 -0
- package/dist/blocks/WeekSelector/tests.yaml +122 -0
- package/dist/blocks.js +2 -0
- package/dist/disabledDate.js +91 -19
- package/dist/e2e.js +2 -0
- package/dist/getPresets.js +151 -0
- package/dist/getTagColor.js +44 -0
- package/dist/getTagSelectorOptions.js +30 -0
- package/dist/metas.js +2 -0
- package/dist/pickerPresetsStyle.css +26 -0
- package/dist/schemas/disabledDates.js +6 -2
- package/dist/schemas/index.js +1 -0
- package/dist/schemas/presets.js +111 -0
- package/dist/tagSelectorStyle.css +68 -0
- package/package.json +13 -13
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
# Copyright 2020-2026 Lowdefy, Inc
|
|
2
|
+
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
id: tag
|
|
16
|
+
type: Box
|
|
17
|
+
|
|
18
|
+
blocks:
|
|
19
|
+
# ============================================
|
|
20
|
+
# BASIC RENDERING
|
|
21
|
+
# ============================================
|
|
22
|
+
|
|
23
|
+
- id: tag_basic
|
|
24
|
+
type: Tag
|
|
25
|
+
properties:
|
|
26
|
+
title: Basic Tag
|
|
27
|
+
|
|
28
|
+
- id: tag_no_title
|
|
29
|
+
type: Tag
|
|
30
|
+
|
|
31
|
+
# ============================================
|
|
32
|
+
# PROPERTY TESTS
|
|
33
|
+
# ============================================
|
|
34
|
+
|
|
35
|
+
- id: tag_color_preset
|
|
36
|
+
type: Tag
|
|
37
|
+
properties:
|
|
38
|
+
title: Success Tag
|
|
39
|
+
color: success
|
|
40
|
+
|
|
41
|
+
- id: tag_color_warning
|
|
42
|
+
type: Tag
|
|
43
|
+
properties:
|
|
44
|
+
title: Warning Tag
|
|
45
|
+
color: warning
|
|
46
|
+
|
|
47
|
+
- id: tag_color_error
|
|
48
|
+
type: Tag
|
|
49
|
+
properties:
|
|
50
|
+
title: Error Tag
|
|
51
|
+
color: error
|
|
52
|
+
|
|
53
|
+
- id: tag_color_processing
|
|
54
|
+
type: Tag
|
|
55
|
+
properties:
|
|
56
|
+
title: Processing Tag
|
|
57
|
+
color: processing
|
|
58
|
+
|
|
59
|
+
- id: tag_color_custom
|
|
60
|
+
type: Tag
|
|
61
|
+
properties:
|
|
62
|
+
title: Custom Color
|
|
63
|
+
color: '#ff5500'
|
|
64
|
+
|
|
65
|
+
- id: tag_closable
|
|
66
|
+
type: Tag
|
|
67
|
+
properties:
|
|
68
|
+
title: Closable Tag
|
|
69
|
+
closable: true
|
|
70
|
+
|
|
71
|
+
- id: tag_with_icon
|
|
72
|
+
type: Tag
|
|
73
|
+
properties:
|
|
74
|
+
title: With Icon
|
|
75
|
+
icon: AiOutlineUser
|
|
76
|
+
|
|
77
|
+
- id: tag_html_title
|
|
78
|
+
type: Tag
|
|
79
|
+
properties:
|
|
80
|
+
title: '<strong>Bold</strong> Tag'
|
|
81
|
+
|
|
82
|
+
# ============================================
|
|
83
|
+
# EVENT TESTS
|
|
84
|
+
# ============================================
|
|
85
|
+
|
|
86
|
+
- id: tag_onclick
|
|
87
|
+
type: Tag
|
|
88
|
+
properties:
|
|
89
|
+
title: Click Me
|
|
90
|
+
events:
|
|
91
|
+
onClick:
|
|
92
|
+
- id: set_onclick
|
|
93
|
+
type: SetState
|
|
94
|
+
params:
|
|
95
|
+
tag_onclick_fired: true
|
|
96
|
+
|
|
97
|
+
- id: onclick_display
|
|
98
|
+
type: Span
|
|
99
|
+
properties:
|
|
100
|
+
content:
|
|
101
|
+
_if:
|
|
102
|
+
test:
|
|
103
|
+
_eq:
|
|
104
|
+
- _state: tag_onclick_fired
|
|
105
|
+
- true
|
|
106
|
+
then: Tag clicked
|
|
107
|
+
else: ''
|
|
108
|
+
|
|
109
|
+
- id: tag_onclose
|
|
110
|
+
type: Tag
|
|
111
|
+
properties:
|
|
112
|
+
title: Close Me
|
|
113
|
+
closable: true
|
|
114
|
+
events:
|
|
115
|
+
onClose:
|
|
116
|
+
- id: set_onclose
|
|
117
|
+
type: SetState
|
|
118
|
+
params:
|
|
119
|
+
tag_onclose_fired: true
|
|
120
|
+
|
|
121
|
+
- id: onclose_display
|
|
122
|
+
type: Span
|
|
123
|
+
properties:
|
|
124
|
+
content:
|
|
125
|
+
_if:
|
|
126
|
+
test:
|
|
127
|
+
_eq:
|
|
128
|
+
- _state: tag_onclose_fired
|
|
129
|
+
- true
|
|
130
|
+
then: Tag closed
|
|
131
|
+
else: ''
|
|
132
|
+
|
|
133
|
+
- id: tag_shortcut
|
|
134
|
+
type: Tag
|
|
135
|
+
properties:
|
|
136
|
+
title: Filter
|
|
137
|
+
events:
|
|
138
|
+
onClick:
|
|
139
|
+
shortcut: mod+f
|
|
140
|
+
try:
|
|
141
|
+
- id: filter_action
|
|
142
|
+
type: SetState
|
|
143
|
+
params:
|
|
144
|
+
filter_toggled: true
|
|
145
|
+
|
|
146
|
+
# ============================================
|
|
147
|
+
# SHORTCUT KEYBOARD TESTS
|
|
148
|
+
# ============================================
|
|
149
|
+
|
|
150
|
+
- id: tag_shortcut_fires
|
|
151
|
+
type: Tag
|
|
152
|
+
properties:
|
|
153
|
+
title: Toggle
|
|
154
|
+
events:
|
|
155
|
+
onClick:
|
|
156
|
+
shortcut: mod+j
|
|
157
|
+
try:
|
|
158
|
+
- id: set_tag_shortcut_fired
|
|
159
|
+
type: SetState
|
|
160
|
+
params:
|
|
161
|
+
tag_shortcut_fired: true
|
|
162
|
+
|
|
163
|
+
- id: tag_shortcut_fired_display
|
|
164
|
+
type: Span
|
|
165
|
+
properties:
|
|
166
|
+
content:
|
|
167
|
+
_if:
|
|
168
|
+
test:
|
|
169
|
+
_not:
|
|
170
|
+
_not:
|
|
171
|
+
_state: tag_shortcut_fired
|
|
172
|
+
then: 'shortcut:fired'
|
|
173
|
+
else: ''
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Copyright 2020-2026 Lowdefy, Inc
|
|
2
|
+
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
- id: default
|
|
16
|
+
type: Tag
|
|
17
|
+
- id: title
|
|
18
|
+
type: Tag
|
|
19
|
+
properties:
|
|
20
|
+
title: The title
|
|
21
|
+
- id: html
|
|
22
|
+
type: Tag
|
|
23
|
+
properties:
|
|
24
|
+
title: |
|
|
25
|
+
<span style="color: red;">Red</span>
|
|
26
|
+
<span style="color: green;">Blue</span>
|
|
27
|
+
- id: reset_color
|
|
28
|
+
type: Tag
|
|
29
|
+
properties:
|
|
30
|
+
color: red
|
|
31
|
+
- id: hex_color
|
|
32
|
+
type: Tag
|
|
33
|
+
properties:
|
|
34
|
+
color: '#040'
|
|
35
|
+
- id: hex_light_color
|
|
36
|
+
type: Tag
|
|
37
|
+
properties:
|
|
38
|
+
color: '#afb'
|
|
39
|
+
- id: style
|
|
40
|
+
type: Tag
|
|
41
|
+
properties:
|
|
42
|
+
style:
|
|
43
|
+
fontSize: 1.3em
|
|
44
|
+
- id: closable
|
|
45
|
+
type: Tag
|
|
46
|
+
properties:
|
|
47
|
+
closable: true
|
|
48
|
+
- id: icon
|
|
49
|
+
type: Tag
|
|
50
|
+
properties:
|
|
51
|
+
icon: AiOutlineSave
|
|
@@ -0,0 +1,53 @@
|
|
|
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 from 'react';
|
|
16
|
+
import { withBlockDefaults } from '@lowdefy/block-utils';
|
|
17
|
+
import { type } from '@lowdefy/helpers';
|
|
18
|
+
import TagPillRow from '../../TagPillRow.js';
|
|
19
|
+
import getTagSelectorOptions from '../../getTagSelectorOptions.js';
|
|
20
|
+
// Multi-select tag input: `value` is the array of selected option values.
|
|
21
|
+
// Clicking a pill toggles it in or out of the selection. Purely controlled —
|
|
22
|
+
// the selection is read from props each render. See TagPillRow for the shared
|
|
23
|
+
// rendering/color logic and TagSelector for the single-select variant whose
|
|
24
|
+
// value is one option value.
|
|
25
|
+
const TagMultipleSelector = (props)=>{
|
|
26
|
+
const { loading, methods, properties, value } = props;
|
|
27
|
+
const options = getTagSelectorOptions({
|
|
28
|
+
options: properties.options
|
|
29
|
+
});
|
|
30
|
+
const selected = type.isArray(value) ? value : [];
|
|
31
|
+
const isSelected = (optionValue)=>selected.includes(optionValue);
|
|
32
|
+
const onToggle = (option)=>{
|
|
33
|
+
if (option.disabled || properties.disabled || loading) return;
|
|
34
|
+
const next = selected.includes(option.value) ? selected.filter((v)=>v !== option.value) : [
|
|
35
|
+
...selected,
|
|
36
|
+
option.value
|
|
37
|
+
];
|
|
38
|
+
methods.setValue(next);
|
|
39
|
+
methods.triggerEvent({
|
|
40
|
+
name: 'onChange',
|
|
41
|
+
event: {
|
|
42
|
+
value: next
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
return /*#__PURE__*/ React.createElement(TagPillRow, {
|
|
47
|
+
...props,
|
|
48
|
+
options: options,
|
|
49
|
+
isSelected: isSelected,
|
|
50
|
+
onToggle: onToggle
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
export default withBlockDefaults(TagMultipleSelector);
|
|
@@ -0,0 +1,36 @@
|
|
|
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 { createBlockHelper, escapeId } from '@lowdefy/e2e-utils';
|
|
16
|
+
import { expect } from '@playwright/test';
|
|
17
|
+
const locator = (page, blockId)=>page.locator(`#${escapeId(blockId)}_input`);
|
|
18
|
+
export default createBlockHelper({
|
|
19
|
+
locator,
|
|
20
|
+
do: {
|
|
21
|
+
select: (page, blockId, text)=>locator(page, blockId).locator('.lf-tag-selector-tag').filter({
|
|
22
|
+
hasText: text
|
|
23
|
+
}).click()
|
|
24
|
+
},
|
|
25
|
+
expect: {
|
|
26
|
+
value: (page, blockId, text)=>expect(locator(page, blockId).locator('.lf-tag-selector-tag-selected').filter({
|
|
27
|
+
hasText: text
|
|
28
|
+
})).toBeVisible(),
|
|
29
|
+
disabled: (page, blockId, text)=>expect(locator(page, blockId).locator('.lf-tag-selector-tag').filter({
|
|
30
|
+
hasText: text
|
|
31
|
+
})).toBeDisabled(),
|
|
32
|
+
enabled: (page, blockId, text)=>expect(locator(page, blockId).locator('.lf-tag-selector-tag').filter({
|
|
33
|
+
hasText: text
|
|
34
|
+
})).toBeEnabled()
|
|
35
|
+
}
|
|
36
|
+
});
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Copyright 2020-2026 Lowdefy, Inc
|
|
2
|
+
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
- title: Basic String Options
|
|
16
|
+
blocks:
|
|
17
|
+
- id: basic_strings
|
|
18
|
+
type: TagMultipleSelector
|
|
19
|
+
properties:
|
|
20
|
+
title: Domains
|
|
21
|
+
options:
|
|
22
|
+
- Ethics
|
|
23
|
+
- Environment
|
|
24
|
+
- Governance
|
|
25
|
+
- Social
|
|
26
|
+
- Data Privacy
|
|
27
|
+
|
|
28
|
+
- title: Label-Value Options
|
|
29
|
+
blocks:
|
|
30
|
+
- id: label_value
|
|
31
|
+
type: TagMultipleSelector
|
|
32
|
+
properties:
|
|
33
|
+
title: Status Filter
|
|
34
|
+
options:
|
|
35
|
+
- label: Draft
|
|
36
|
+
value: draft
|
|
37
|
+
- label: In Review
|
|
38
|
+
value: in_review
|
|
39
|
+
- label: Published
|
|
40
|
+
value: published
|
|
41
|
+
- label: Archived
|
|
42
|
+
value: archived
|
|
43
|
+
disabled: true
|
|
44
|
+
|
|
45
|
+
- title: Explicit Colors and Single Accent
|
|
46
|
+
blocks:
|
|
47
|
+
- id: explicit_colors
|
|
48
|
+
type: TagMultipleSelector
|
|
49
|
+
properties:
|
|
50
|
+
title: Priorities
|
|
51
|
+
options:
|
|
52
|
+
- label: Low
|
|
53
|
+
value: low
|
|
54
|
+
color: '#59A14F'
|
|
55
|
+
- label: Medium
|
|
56
|
+
value: medium
|
|
57
|
+
color: '#EDC948'
|
|
58
|
+
- label: High
|
|
59
|
+
value: high
|
|
60
|
+
color: '#E15759'
|
|
61
|
+
- id: single_accent
|
|
62
|
+
type: TagMultipleSelector
|
|
63
|
+
properties:
|
|
64
|
+
title: Interests
|
|
65
|
+
colored: false
|
|
66
|
+
options:
|
|
67
|
+
- Design
|
|
68
|
+
- Engineering
|
|
69
|
+
- Product
|
|
70
|
+
- Research
|
|
@@ -0,0 +1,91 @@
|
|
|
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 LabelMeta from '../Label/meta.js';
|
|
16
|
+
import label from '../../schemas/label.js';
|
|
17
|
+
import { disabled, inputTitle, sizeSmallDefaultLarge } from '../../schemas/inputProperties.js';
|
|
18
|
+
export default {
|
|
19
|
+
category: 'input',
|
|
20
|
+
valueType: 'array',
|
|
21
|
+
icons: [
|
|
22
|
+
...LabelMeta.icons
|
|
23
|
+
],
|
|
24
|
+
cssKeys: {
|
|
25
|
+
element: 'The TagMultipleSelector tag row.',
|
|
26
|
+
tag: 'Each tag pill.',
|
|
27
|
+
label: 'The TagMultipleSelector label.',
|
|
28
|
+
extra: 'The TagMultipleSelector extra content.',
|
|
29
|
+
feedback: 'The TagMultipleSelector validation feedback.'
|
|
30
|
+
},
|
|
31
|
+
events: {
|
|
32
|
+
onChange: {
|
|
33
|
+
description: 'Trigger actions when the selection is changed.',
|
|
34
|
+
event: {
|
|
35
|
+
value: 'The array of selected values.'
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
onTooltipClick: 'Trigger actions when the tooltip icon is clicked.'
|
|
39
|
+
},
|
|
40
|
+
properties: {
|
|
41
|
+
type: 'object',
|
|
42
|
+
additionalProperties: false,
|
|
43
|
+
properties: {
|
|
44
|
+
options: {
|
|
45
|
+
type: 'array',
|
|
46
|
+
description: 'Options to select from. Primitives, or { label, value, color, disabled } - an explicit color overrides the stable palette color.',
|
|
47
|
+
items: {
|
|
48
|
+
type: [
|
|
49
|
+
'string',
|
|
50
|
+
'number',
|
|
51
|
+
'boolean',
|
|
52
|
+
'object'
|
|
53
|
+
],
|
|
54
|
+
properties: {
|
|
55
|
+
label: {
|
|
56
|
+
type: 'string',
|
|
57
|
+
description: 'Tag label. Defaults to the value.'
|
|
58
|
+
},
|
|
59
|
+
value: {
|
|
60
|
+
description: 'Option value written into the selection array.',
|
|
61
|
+
docs: {
|
|
62
|
+
displayType: 'yaml'
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
color: {
|
|
66
|
+
type: 'string',
|
|
67
|
+
description: 'Explicit tag color (hex or CSS color). Overrides the stable palette color.',
|
|
68
|
+
docs: {
|
|
69
|
+
displayType: 'color'
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
disabled: {
|
|
73
|
+
type: 'boolean',
|
|
74
|
+
default: false,
|
|
75
|
+
description: 'Disable this tag.'
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
colored: {
|
|
81
|
+
type: 'boolean',
|
|
82
|
+
default: true,
|
|
83
|
+
description: 'Give each option a stable color (hash of its value over a fixed palette). false = single primary accent.'
|
|
84
|
+
},
|
|
85
|
+
disabled,
|
|
86
|
+
size: sizeSmallDefaultLarge,
|
|
87
|
+
label,
|
|
88
|
+
title: inputTitle
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# Copyright 2020-2026 Lowdefy, Inc
|
|
2
|
+
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
id: tag_multiple_selector
|
|
16
|
+
type: Box
|
|
17
|
+
|
|
18
|
+
blocks:
|
|
19
|
+
# ============================================
|
|
20
|
+
# BASIC RENDERING
|
|
21
|
+
# ============================================
|
|
22
|
+
|
|
23
|
+
- id: tms_basic
|
|
24
|
+
type: TagMultipleSelector
|
|
25
|
+
properties:
|
|
26
|
+
label:
|
|
27
|
+
disabled: true
|
|
28
|
+
options:
|
|
29
|
+
- Ethics
|
|
30
|
+
- Environment
|
|
31
|
+
- Governance
|
|
32
|
+
|
|
33
|
+
# ============================================
|
|
34
|
+
# EVENT / SELECTION TESTS
|
|
35
|
+
# ============================================
|
|
36
|
+
|
|
37
|
+
- id: tms_change
|
|
38
|
+
type: TagMultipleSelector
|
|
39
|
+
properties:
|
|
40
|
+
label:
|
|
41
|
+
disabled: true
|
|
42
|
+
options:
|
|
43
|
+
- label: Option A
|
|
44
|
+
value: a
|
|
45
|
+
- label: Option B
|
|
46
|
+
value: b
|
|
47
|
+
events:
|
|
48
|
+
onChange:
|
|
49
|
+
- id: set_tms_result
|
|
50
|
+
type: SetState
|
|
51
|
+
params:
|
|
52
|
+
tms_result:
|
|
53
|
+
_event: value
|
|
54
|
+
|
|
55
|
+
- id: tms_change_display
|
|
56
|
+
type: Paragraph
|
|
57
|
+
properties:
|
|
58
|
+
content:
|
|
59
|
+
_if:
|
|
60
|
+
test:
|
|
61
|
+
_ne:
|
|
62
|
+
- _state: tms_result
|
|
63
|
+
- null
|
|
64
|
+
then:
|
|
65
|
+
_json.stringify:
|
|
66
|
+
- _state: tms_result
|
|
67
|
+
else: ''
|
|
68
|
+
|
|
69
|
+
# ============================================
|
|
70
|
+
# DISABLED TESTS
|
|
71
|
+
# ============================================
|
|
72
|
+
|
|
73
|
+
- id: tms_disabled
|
|
74
|
+
type: TagMultipleSelector
|
|
75
|
+
properties:
|
|
76
|
+
label:
|
|
77
|
+
disabled: true
|
|
78
|
+
disabled: true
|
|
79
|
+
options:
|
|
80
|
+
- X
|
|
81
|
+
- Y
|
|
82
|
+
|
|
83
|
+
- id: tms_disabled_option
|
|
84
|
+
type: TagMultipleSelector
|
|
85
|
+
properties:
|
|
86
|
+
label:
|
|
87
|
+
disabled: true
|
|
88
|
+
options:
|
|
89
|
+
- label: Enabled
|
|
90
|
+
value: enabled
|
|
91
|
+
- label: Locked
|
|
92
|
+
value: locked
|
|
93
|
+
disabled: true
|
|
@@ -0,0 +1,49 @@
|
|
|
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 from 'react';
|
|
16
|
+
import { withBlockDefaults } from '@lowdefy/block-utils';
|
|
17
|
+
import { type } from '@lowdefy/helpers';
|
|
18
|
+
import TagPillRow from '../../TagPillRow.js';
|
|
19
|
+
import getTagSelectorOptions from '../../getTagSelectorOptions.js';
|
|
20
|
+
// Single-select tag input: `value` is one option value (or null). Clicking a
|
|
21
|
+
// pill selects it; clicking the already-selected pill clears the value. Purely
|
|
22
|
+
// controlled — the value is read from props each render. See TagPillRow for the
|
|
23
|
+
// shared rendering/color logic and TagMultipleSelector for the multi-select
|
|
24
|
+
// variant whose value is the array of selected values.
|
|
25
|
+
const TagSelector = (props)=>{
|
|
26
|
+
const { loading, methods, properties, value } = props;
|
|
27
|
+
const options = getTagSelectorOptions({
|
|
28
|
+
options: properties.options
|
|
29
|
+
});
|
|
30
|
+
const isSelected = (optionValue)=>!type.isNone(value) && value === optionValue;
|
|
31
|
+
const onToggle = (option)=>{
|
|
32
|
+
if (option.disabled || properties.disabled || loading) return;
|
|
33
|
+
const next = value === option.value ? null : option.value;
|
|
34
|
+
methods.setValue(next);
|
|
35
|
+
methods.triggerEvent({
|
|
36
|
+
name: 'onChange',
|
|
37
|
+
event: {
|
|
38
|
+
value: next
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
return /*#__PURE__*/ React.createElement(TagPillRow, {
|
|
43
|
+
...props,
|
|
44
|
+
options: options,
|
|
45
|
+
isSelected: isSelected,
|
|
46
|
+
onToggle: onToggle
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
export default withBlockDefaults(TagSelector);
|
|
@@ -0,0 +1,36 @@
|
|
|
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 { createBlockHelper, escapeId } from '@lowdefy/e2e-utils';
|
|
16
|
+
import { expect } from '@playwright/test';
|
|
17
|
+
const locator = (page, blockId)=>page.locator(`#${escapeId(blockId)}_input`);
|
|
18
|
+
export default createBlockHelper({
|
|
19
|
+
locator,
|
|
20
|
+
do: {
|
|
21
|
+
select: (page, blockId, text)=>locator(page, blockId).locator('.lf-tag-selector-tag').filter({
|
|
22
|
+
hasText: text
|
|
23
|
+
}).click()
|
|
24
|
+
},
|
|
25
|
+
expect: {
|
|
26
|
+
value: (page, blockId, text)=>expect(locator(page, blockId).locator('.lf-tag-selector-tag-selected').filter({
|
|
27
|
+
hasText: text
|
|
28
|
+
})).toBeVisible(),
|
|
29
|
+
disabled: (page, blockId, text)=>expect(locator(page, blockId).locator('.lf-tag-selector-tag').filter({
|
|
30
|
+
hasText: text
|
|
31
|
+
})).toBeDisabled(),
|
|
32
|
+
enabled: (page, blockId, text)=>expect(locator(page, blockId).locator('.lf-tag-selector-tag').filter({
|
|
33
|
+
hasText: text
|
|
34
|
+
})).toBeEnabled()
|
|
35
|
+
}
|
|
36
|
+
});
|