@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
|
@@ -13,17 +13,24 @@
|
|
|
13
13
|
See the License for the specific language governing permissions and
|
|
14
14
|
limitations under the License.
|
|
15
15
|
*/ import React, { useState } from 'react';
|
|
16
|
-
import { blockDefaultProps } from '@lowdefy/block-utils';
|
|
17
16
|
import { DatePicker } from 'antd';
|
|
17
|
+
import dayjs from 'dayjs';
|
|
18
|
+
import utc from 'dayjs/plugin/utc.js';
|
|
19
|
+
import weekOfYear from 'dayjs/plugin/weekOfYear.js';
|
|
20
|
+
import advancedFormat from 'dayjs/plugin/advancedFormat.js';
|
|
18
21
|
import { type } from '@lowdefy/helpers';
|
|
19
|
-
import
|
|
20
|
-
import disabledDate from '../../disabledDate.js';
|
|
22
|
+
import { withBlockDefaults } from '@lowdefy/block-utils';
|
|
21
23
|
import Label from '../Label/Label.js';
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
import withTheme from '../withTheme.js';
|
|
25
|
+
import disabledDate from '../../disabledDate.js';
|
|
26
|
+
dayjs.extend(utc);
|
|
27
|
+
dayjs.extend(weekOfYear);
|
|
28
|
+
dayjs.extend(advancedFormat);
|
|
29
|
+
const WeekSelector = ({ blockId, classNames = {}, components: { Icon, Link }, events, loading, methods, properties, required, styles = {}, validation, value })=>{
|
|
24
30
|
const [elementId] = useState((0 | Math.random() * 9e2) + 1e2);
|
|
25
31
|
return /*#__PURE__*/ React.createElement(Label, {
|
|
26
32
|
blockId: blockId,
|
|
33
|
+
classNames: classNames,
|
|
27
34
|
components: {
|
|
28
35
|
Icon,
|
|
29
36
|
Link
|
|
@@ -36,24 +43,25 @@ const WeekSelector = ({ blockId, components: { Icon, Link }, events, loading, me
|
|
|
36
43
|
},
|
|
37
44
|
validation: validation,
|
|
38
45
|
required: required,
|
|
46
|
+
styles: styles,
|
|
39
47
|
content: {
|
|
40
48
|
content: ()=>/*#__PURE__*/ React.createElement("div", {
|
|
41
|
-
|
|
49
|
+
style: {
|
|
42
50
|
width: '100%'
|
|
43
|
-
}
|
|
51
|
+
}
|
|
44
52
|
}, /*#__PURE__*/ React.createElement("div", {
|
|
45
53
|
id: `${blockId}_${elementId}_popup`
|
|
46
|
-
}), /*#__PURE__*/ React.createElement(
|
|
54
|
+
}), /*#__PURE__*/ React.createElement(DatePicker, {
|
|
47
55
|
id: `${blockId}_input`,
|
|
56
|
+
picker: "week",
|
|
48
57
|
allowClear: properties.allowClear !== false,
|
|
49
58
|
autoFocus: properties.autoFocus,
|
|
50
|
-
bordered: properties.
|
|
51
|
-
className:
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
]),
|
|
59
|
+
variant: properties.bordered === false ? 'borderless' : properties.variant,
|
|
60
|
+
className: classNames.element,
|
|
61
|
+
style: {
|
|
62
|
+
width: '100%',
|
|
63
|
+
...styles.element
|
|
64
|
+
},
|
|
57
65
|
disabled: properties.disabled || loading,
|
|
58
66
|
disabledDate: disabledDate(properties.disabledDates),
|
|
59
67
|
format: properties.format ?? 'YYYY-wo',
|
|
@@ -63,11 +71,19 @@ const WeekSelector = ({ blockId, components: { Icon, Link }, events, loading, me
|
|
|
63
71
|
status: validation.status,
|
|
64
72
|
suffixIcon: /*#__PURE__*/ React.createElement(Icon, {
|
|
65
73
|
blockId: `${blockId}_suffixIcon`,
|
|
74
|
+
classNames: {
|
|
75
|
+
element: classNames.suffixIcon
|
|
76
|
+
},
|
|
66
77
|
events: events,
|
|
67
|
-
properties: properties.suffixIcon ?? 'AiOutlineCalendar'
|
|
78
|
+
properties: properties.suffixIcon ?? 'AiOutlineCalendar',
|
|
79
|
+
styles: {
|
|
80
|
+
element: styles.suffixIcon
|
|
81
|
+
}
|
|
68
82
|
}),
|
|
69
83
|
onChange: (newVal)=>{
|
|
70
|
-
|
|
84
|
+
// Wrap with our dayjs — antd v6's internal dayjs may lack the utc plugin.
|
|
85
|
+
const d = newVal ? dayjs(newVal) : null;
|
|
86
|
+
const val = !d ? null : dayjs.utc(d.add(d.utcOffset(), 'minutes')).startOf('week').toDate();
|
|
71
87
|
methods.setValue(val);
|
|
72
88
|
methods.triggerEvent({
|
|
73
89
|
name: 'onChange',
|
|
@@ -76,21 +92,9 @@ const WeekSelector = ({ blockId, components: { Icon, Link }, events, loading, me
|
|
|
76
92
|
}
|
|
77
93
|
});
|
|
78
94
|
},
|
|
79
|
-
value: value && type.isDate(value) ?
|
|
95
|
+
value: value && type.isDate(value) ? dayjs.utc(value).startOf('week') : null
|
|
80
96
|
}))
|
|
81
97
|
}
|
|
82
98
|
});
|
|
83
99
|
};
|
|
84
|
-
|
|
85
|
-
WeekSelector.meta = {
|
|
86
|
-
valueType: 'date',
|
|
87
|
-
category: 'input',
|
|
88
|
-
icons: [
|
|
89
|
-
...Label.meta.icons,
|
|
90
|
-
'AiOutlineCalendar'
|
|
91
|
-
],
|
|
92
|
-
styles: [
|
|
93
|
-
'blocks/WeekSelector/style.less'
|
|
94
|
-
]
|
|
95
|
-
};
|
|
96
|
-
export default WeekSelector;
|
|
100
|
+
export default withTheme('DatePicker', withBlockDefaults(WeekSelector));
|
|
@@ -0,0 +1,269 @@
|
|
|
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 icon from '../../schemas/icon.js';
|
|
18
|
+
import disabledDates from '../../schemas/disabledDates.js';
|
|
19
|
+
import { disabled, placeholder, inputTitle, autoFocus, allowClear, sizeSmallDefaultLarge } from '../../schemas/inputProperties.js';
|
|
20
|
+
export default {
|
|
21
|
+
category: 'input',
|
|
22
|
+
icons: [
|
|
23
|
+
...LabelMeta.icons,
|
|
24
|
+
'AiOutlineCalendar'
|
|
25
|
+
],
|
|
26
|
+
valueType: 'date',
|
|
27
|
+
cssKeys: {
|
|
28
|
+
element: 'The WeekSelector element.',
|
|
29
|
+
label: 'The WeekSelector label.',
|
|
30
|
+
extra: 'The WeekSelector extra content.',
|
|
31
|
+
feedback: 'The WeekSelector validation feedback.',
|
|
32
|
+
popup: 'The WeekSelector popup.',
|
|
33
|
+
suffixIcon: 'The suffix icon in the WeekSelector.'
|
|
34
|
+
},
|
|
35
|
+
events: {
|
|
36
|
+
onChange: {
|
|
37
|
+
description: 'Trigger action when week is changed.',
|
|
38
|
+
event: {
|
|
39
|
+
value: 'The selected week value.'
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
properties: {
|
|
44
|
+
type: 'object',
|
|
45
|
+
additionalProperties: false,
|
|
46
|
+
properties: {
|
|
47
|
+
allowClear: {
|
|
48
|
+
...allowClear,
|
|
49
|
+
default: true
|
|
50
|
+
},
|
|
51
|
+
autoFocus,
|
|
52
|
+
bordered: {
|
|
53
|
+
type: 'boolean',
|
|
54
|
+
default: true,
|
|
55
|
+
description: "Deprecated - use variant: 'borderless'. Whether or not the input has a border style."
|
|
56
|
+
},
|
|
57
|
+
disabled,
|
|
58
|
+
variant: {
|
|
59
|
+
type: 'string',
|
|
60
|
+
enum: [
|
|
61
|
+
'outlined',
|
|
62
|
+
'filled',
|
|
63
|
+
'borderless'
|
|
64
|
+
],
|
|
65
|
+
default: 'outlined',
|
|
66
|
+
description: "Variant style of the input. Use 'borderless' instead of bordered: false."
|
|
67
|
+
},
|
|
68
|
+
disabledDates,
|
|
69
|
+
format: {
|
|
70
|
+
type: 'string',
|
|
71
|
+
default: 'YYYY-wo',
|
|
72
|
+
description: 'Format in which to format the date value, eg. "wo-YYYY" will format a date value of 1999-12-26 as "52nd-1999". The format has to conform to dayjs formats.'
|
|
73
|
+
},
|
|
74
|
+
placeholder: {
|
|
75
|
+
...placeholder,
|
|
76
|
+
default: 'Select Week'
|
|
77
|
+
},
|
|
78
|
+
label,
|
|
79
|
+
showToday: {
|
|
80
|
+
type: 'boolean',
|
|
81
|
+
default: true,
|
|
82
|
+
description: 'Shows a button to easily select the current date if true.'
|
|
83
|
+
},
|
|
84
|
+
size: sizeSmallDefaultLarge,
|
|
85
|
+
suffixIcon: {
|
|
86
|
+
...icon,
|
|
87
|
+
default: 'AiOutlineCalendar',
|
|
88
|
+
description: "Name of an React-Icon (See <a href='https://react-icons.github.io/react-icons/'>all icons</a>) or properties of an Icon block to customize icon at the right-hand side of the date picker."
|
|
89
|
+
},
|
|
90
|
+
title: inputTitle,
|
|
91
|
+
theme: {
|
|
92
|
+
type: 'object',
|
|
93
|
+
description: 'Antd design token overrides for this block. See <a href="https://ant.design/components/overview#design-token">antd design tokens</a>.',
|
|
94
|
+
docs: {
|
|
95
|
+
displayType: 'yaml',
|
|
96
|
+
link: 'https://ant.design/components/date-picker#design-token'
|
|
97
|
+
},
|
|
98
|
+
properties: {
|
|
99
|
+
cellHeight: {
|
|
100
|
+
type: 'number',
|
|
101
|
+
default: 24,
|
|
102
|
+
description: 'Height of a calendar cell.'
|
|
103
|
+
},
|
|
104
|
+
cellWidth: {
|
|
105
|
+
type: 'number',
|
|
106
|
+
default: 36,
|
|
107
|
+
description: 'Width of a calendar cell.'
|
|
108
|
+
},
|
|
109
|
+
cellHoverBg: {
|
|
110
|
+
type: 'string',
|
|
111
|
+
description: 'Background color of a calendar cell on hover.'
|
|
112
|
+
},
|
|
113
|
+
cellActiveWithRangeBg: {
|
|
114
|
+
type: 'string',
|
|
115
|
+
description: 'Background color of cells within the selected range.'
|
|
116
|
+
},
|
|
117
|
+
cellHoverWithRangeBg: {
|
|
118
|
+
type: 'string',
|
|
119
|
+
description: 'Background color of cells within range on hover.'
|
|
120
|
+
},
|
|
121
|
+
cellBgDisabled: {
|
|
122
|
+
type: 'string',
|
|
123
|
+
description: 'Background color of disabled cells.'
|
|
124
|
+
},
|
|
125
|
+
cellRangeBorderColor: {
|
|
126
|
+
type: 'string',
|
|
127
|
+
description: 'Border color of range selection cells.'
|
|
128
|
+
},
|
|
129
|
+
timeColumnWidth: {
|
|
130
|
+
type: 'number',
|
|
131
|
+
default: 56,
|
|
132
|
+
description: 'Width of the time panel column.'
|
|
133
|
+
},
|
|
134
|
+
timeColumnHeight: {
|
|
135
|
+
type: 'number',
|
|
136
|
+
default: 224,
|
|
137
|
+
description: 'Height of the time panel column.'
|
|
138
|
+
},
|
|
139
|
+
timeCellHeight: {
|
|
140
|
+
type: 'number',
|
|
141
|
+
default: 28,
|
|
142
|
+
description: 'Height of a time cell in the time panel.'
|
|
143
|
+
},
|
|
144
|
+
addonBg: {
|
|
145
|
+
type: 'string',
|
|
146
|
+
description: 'Background color for the addon area.'
|
|
147
|
+
},
|
|
148
|
+
hoverBorderColor: {
|
|
149
|
+
type: 'string',
|
|
150
|
+
description: 'Border color on hover.'
|
|
151
|
+
},
|
|
152
|
+
activeBorderColor: {
|
|
153
|
+
type: 'string',
|
|
154
|
+
description: 'Border color when active.'
|
|
155
|
+
},
|
|
156
|
+
activeShadow: {
|
|
157
|
+
type: 'string',
|
|
158
|
+
description: 'Shadow effect when active.'
|
|
159
|
+
},
|
|
160
|
+
paddingBlock: {
|
|
161
|
+
type: 'number',
|
|
162
|
+
default: 4,
|
|
163
|
+
description: 'Vertical padding of the input.'
|
|
164
|
+
},
|
|
165
|
+
paddingBlockSM: {
|
|
166
|
+
type: 'number',
|
|
167
|
+
default: 0,
|
|
168
|
+
description: 'Vertical padding for small size.'
|
|
169
|
+
},
|
|
170
|
+
paddingBlockLG: {
|
|
171
|
+
type: 'number',
|
|
172
|
+
default: 7,
|
|
173
|
+
description: 'Vertical padding for large size.'
|
|
174
|
+
},
|
|
175
|
+
paddingInline: {
|
|
176
|
+
type: 'number',
|
|
177
|
+
default: 11,
|
|
178
|
+
description: 'Horizontal padding of the input.'
|
|
179
|
+
},
|
|
180
|
+
paddingInlineSM: {
|
|
181
|
+
type: 'number',
|
|
182
|
+
default: 7,
|
|
183
|
+
description: 'Horizontal padding for small size.'
|
|
184
|
+
},
|
|
185
|
+
paddingInlineLG: {
|
|
186
|
+
type: 'number',
|
|
187
|
+
default: 11,
|
|
188
|
+
description: 'Horizontal padding for large size.'
|
|
189
|
+
},
|
|
190
|
+
zIndexPopup: {
|
|
191
|
+
type: 'number',
|
|
192
|
+
default: 1050,
|
|
193
|
+
description: 'Z-index of the picker popup.'
|
|
194
|
+
},
|
|
195
|
+
borderRadius: {
|
|
196
|
+
type: 'number',
|
|
197
|
+
default: 6,
|
|
198
|
+
description: 'Border radius of the input.'
|
|
199
|
+
},
|
|
200
|
+
borderRadiusSM: {
|
|
201
|
+
type: 'number',
|
|
202
|
+
default: 4,
|
|
203
|
+
description: 'Border radius for the small picker.'
|
|
204
|
+
},
|
|
205
|
+
borderRadiusLG: {
|
|
206
|
+
type: 'number',
|
|
207
|
+
default: 8,
|
|
208
|
+
description: 'Border radius for the large picker and popup panel.'
|
|
209
|
+
},
|
|
210
|
+
controlHeight: {
|
|
211
|
+
type: 'number',
|
|
212
|
+
default: 32,
|
|
213
|
+
description: 'Height of the input.'
|
|
214
|
+
},
|
|
215
|
+
controlHeightLG: {
|
|
216
|
+
type: 'number',
|
|
217
|
+
default: 40,
|
|
218
|
+
description: 'Height for large size.'
|
|
219
|
+
},
|
|
220
|
+
controlHeightSM: {
|
|
221
|
+
type: 'number',
|
|
222
|
+
default: 24,
|
|
223
|
+
description: 'Height for small size.'
|
|
224
|
+
},
|
|
225
|
+
fontSize: {
|
|
226
|
+
type: 'number',
|
|
227
|
+
default: 14,
|
|
228
|
+
description: 'Font size of the picker input.'
|
|
229
|
+
},
|
|
230
|
+
fontSizeSM: {
|
|
231
|
+
type: 'number',
|
|
232
|
+
default: 14,
|
|
233
|
+
description: 'Font size for the small picker.'
|
|
234
|
+
},
|
|
235
|
+
fontSizeLG: {
|
|
236
|
+
type: 'number',
|
|
237
|
+
default: 16,
|
|
238
|
+
description: 'Font size for the large picker.'
|
|
239
|
+
},
|
|
240
|
+
lineWidth: {
|
|
241
|
+
type: 'number',
|
|
242
|
+
default: 1,
|
|
243
|
+
description: 'Border width.'
|
|
244
|
+
},
|
|
245
|
+
colorPrimary: {
|
|
246
|
+
type: 'string',
|
|
247
|
+
description: 'Primary color override.'
|
|
248
|
+
},
|
|
249
|
+
colorBgContainer: {
|
|
250
|
+
type: 'string',
|
|
251
|
+
description: 'Background color of the input.'
|
|
252
|
+
},
|
|
253
|
+
colorText: {
|
|
254
|
+
type: 'string',
|
|
255
|
+
description: 'Text color.'
|
|
256
|
+
},
|
|
257
|
+
colorBorder: {
|
|
258
|
+
type: 'string',
|
|
259
|
+
description: 'Border color.'
|
|
260
|
+
},
|
|
261
|
+
colorTextPlaceholder: {
|
|
262
|
+
type: 'string',
|
|
263
|
+
description: 'Placeholder text color.'
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
};
|
|
@@ -0,0 +1,95 @@
|
|
|
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
|
+
function getTitle({ id, properties, pageId, url }) {
|
|
17
|
+
return properties?.title ?? pageId ?? url ?? id;
|
|
18
|
+
}
|
|
19
|
+
function buildMenuItems({ links, components: { Icon, Link, ShortcutBadge }, classNames, styles, events }) {
|
|
20
|
+
return (links ?? []).map((link, i)=>{
|
|
21
|
+
if (link.type === 'MenuDivider') {
|
|
22
|
+
return {
|
|
23
|
+
type: 'divider',
|
|
24
|
+
key: link.id ?? i,
|
|
25
|
+
dashed: link.properties?.dashed,
|
|
26
|
+
style: link.style
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
if (link.type === 'MenuGroup') {
|
|
30
|
+
return {
|
|
31
|
+
key: link.id,
|
|
32
|
+
label: getTitle(link),
|
|
33
|
+
icon: link.properties?.icon ? /*#__PURE__*/ React.createElement(Icon, {
|
|
34
|
+
blockId: `${link.id}_icon`,
|
|
35
|
+
classNames: {
|
|
36
|
+
element: classNames.itemIcon
|
|
37
|
+
},
|
|
38
|
+
events: events,
|
|
39
|
+
properties: link.properties.icon,
|
|
40
|
+
styles: {
|
|
41
|
+
element: styles.itemIcon
|
|
42
|
+
}
|
|
43
|
+
}) : undefined,
|
|
44
|
+
children: buildMenuItems({
|
|
45
|
+
links: link.links,
|
|
46
|
+
components: {
|
|
47
|
+
Icon,
|
|
48
|
+
Link,
|
|
49
|
+
ShortcutBadge
|
|
50
|
+
},
|
|
51
|
+
classNames,
|
|
52
|
+
styles,
|
|
53
|
+
events
|
|
54
|
+
})
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
// MenuLink (default)
|
|
58
|
+
return {
|
|
59
|
+
key: link.id,
|
|
60
|
+
danger: link.properties?.danger,
|
|
61
|
+
disabled: link.properties?.disabled,
|
|
62
|
+
icon: link.properties?.icon ? /*#__PURE__*/ React.createElement(Icon, {
|
|
63
|
+
blockId: `${link.id}_icon`,
|
|
64
|
+
classNames: {
|
|
65
|
+
element: classNames.itemIcon
|
|
66
|
+
},
|
|
67
|
+
events: events,
|
|
68
|
+
properties: link.properties.icon,
|
|
69
|
+
styles: {
|
|
70
|
+
element: styles.itemIcon
|
|
71
|
+
}
|
|
72
|
+
}) : undefined,
|
|
73
|
+
label: /*#__PURE__*/ React.createElement(Link, {
|
|
74
|
+
id: link.pageId ?? link.id ?? i,
|
|
75
|
+
style: link.style,
|
|
76
|
+
url: link.url ?? link.properties?.url,
|
|
77
|
+
newTab: link.newTab ?? link.properties?.newTab,
|
|
78
|
+
...link
|
|
79
|
+
}, getTitle(link), /*#__PURE__*/ React.createElement(ShortcutBadge, {
|
|
80
|
+
shortcut: link.properties?.shortcut
|
|
81
|
+
}))
|
|
82
|
+
};
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
function flattenLinks(links) {
|
|
86
|
+
const map = {};
|
|
87
|
+
(links ?? []).forEach((link)=>{
|
|
88
|
+
map[link.id] = link;
|
|
89
|
+
if (link.links) {
|
|
90
|
+
Object.assign(map, flattenLinks(link.links));
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
return map;
|
|
94
|
+
}
|
|
95
|
+
export { buildMenuItems, flattenLinks, getTitle };
|