@plasmicpkgs/antd5 0.0.131 → 0.0.132

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.
@@ -0,0 +1,408 @@
1
+ import { DatePicker } from 'antd';
2
+ import React, { useMemo } from 'react';
3
+ import { r as registerComponentHelper, c as capitalize } from './utils-7d8f2418.esm.js';
4
+ import dayjs from 'dayjs';
5
+ import kebabCase from 'lodash/kebabCase';
6
+ import '@plasmicapp/host/registerComponent';
7
+ import '@plasmicapp/host/registerGlobalContext';
8
+
9
+ var __defProp = Object.defineProperty;
10
+ var __defProps = Object.defineProperties;
11
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
12
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
13
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
15
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
16
+ var __spreadValues = (a, b) => {
17
+ for (var prop in b || (b = {}))
18
+ if (__hasOwnProp.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ if (__getOwnPropSymbols)
21
+ for (var prop of __getOwnPropSymbols(b)) {
22
+ if (__propIsEnum.call(b, prop))
23
+ __defNormalProp(a, prop, b[prop]);
24
+ }
25
+ return a;
26
+ };
27
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
28
+ var __objRest = (source, exclude) => {
29
+ var target = {};
30
+ for (var prop in source)
31
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
32
+ target[prop] = source[prop];
33
+ if (source != null && __getOwnPropSymbols)
34
+ for (var prop of __getOwnPropSymbols(source)) {
35
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
36
+ target[prop] = source[prop];
37
+ }
38
+ return target;
39
+ };
40
+ const { RangePicker } = DatePicker;
41
+ function getDayjsRange(dateRange) {
42
+ return Array.isArray(dateRange) ? [
43
+ dateRange[0] ? dayjs(dateRange[0]) : null,
44
+ dateRange[1] ? dayjs(dateRange[1]) : null
45
+ ] : [null, null];
46
+ }
47
+ function getStrRange(dateRange) {
48
+ return Array.isArray(dateRange) ? dateRange.map(
49
+ (date) => date && !(typeof date === "string") && "toISOString" in date ? date.toISOString() : date === null ? void 0 : date
50
+ ) : void 0;
51
+ }
52
+ function AntdDateRangePicker(props) {
53
+ const _a = props, {
54
+ defaultStartDate,
55
+ defaultEndDate,
56
+ startDate,
57
+ endDate,
58
+ allowEmpty,
59
+ allowEmptyEndDate,
60
+ allowEmptyStartDate,
61
+ disabled,
62
+ renderExtraFooter,
63
+ disableStartDate,
64
+ disableEndDate,
65
+ presets,
66
+ picker,
67
+ placeholder,
68
+ onChange,
69
+ popupScopeClassName,
70
+ className
71
+ } = _a, rest = __objRest(_a, [
72
+ "defaultStartDate",
73
+ "defaultEndDate",
74
+ "startDate",
75
+ "endDate",
76
+ "allowEmpty",
77
+ "allowEmptyEndDate",
78
+ "allowEmptyStartDate",
79
+ "disabled",
80
+ "renderExtraFooter",
81
+ "disableStartDate",
82
+ "disableEndDate",
83
+ "presets",
84
+ "picker",
85
+ "placeholder",
86
+ "onChange",
87
+ "popupScopeClassName",
88
+ "className"
89
+ ]);
90
+ const popupScopeClassNameSelector = popupScopeClassName ? `.${popupScopeClassName}` : "";
91
+ const css = `
92
+ @media(max-width: 900px) {
93
+ .ant-picker-panels{
94
+ flex-direction: column;
95
+ }
96
+ }
97
+
98
+ @media(max-width: 500px) {
99
+ ${popupScopeClassNameSelector}.ant-picker-dropdown {
100
+ top: 20px !important;
101
+ left: 10px !important;
102
+ right: 10px !important;
103
+ max-height: 95vh;
104
+ position: fixed;
105
+ overflow-y: scroll;
106
+ max-width: 100vw;
107
+ }
108
+
109
+ ${popupScopeClassNameSelector} .ant-picker-panel-container {
110
+ min-width: 300px;
111
+ }
112
+
113
+ ${popupScopeClassNameSelector} .ant-picker-datetime-panel {
114
+ flex-direction: column;
115
+ }
116
+
117
+ .${className} .ant-picker-input > input {
118
+ font-size: 16px !important;
119
+ }
120
+
121
+ ${popupScopeClassNameSelector} .ant-picker-header-view {
122
+ line-height: unset !important;
123
+ }
124
+
125
+ ${popupScopeClassNameSelector} .ant-picker-content {
126
+ height: unset !important;
127
+ }
128
+
129
+ ${popupScopeClassNameSelector} .ant-picker-time-panel-column {
130
+ height: 100px;
131
+ }
132
+
133
+ ${popupScopeClassNameSelector} .ant-picker-range-arrow {
134
+ display: none;
135
+ }
136
+ }
137
+ `;
138
+ const presetsDayjs = useMemo(
139
+ () => presets == null ? void 0 : presets.map((p) => __spreadProps(__spreadValues({}, p), { value: getDayjsRange([p.startDate, p.endDate]) })).filter((p) => {
140
+ var _a2, _b;
141
+ return ((_a2 = p.value[0]) == null ? void 0 : _a2.isValid()) && ((_b = p.value[1]) == null ? void 0 : _b.isValid());
142
+ }),
143
+ [presets]
144
+ );
145
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
146
+ RangePicker,
147
+ __spreadProps(__spreadValues({}, rest), {
148
+ picker,
149
+ presets: presetsDayjs,
150
+ allowEmpty: allowEmpty ? [allowEmpty, allowEmpty] : [allowEmptyStartDate, allowEmptyEndDate],
151
+ value: getDayjsRange([startDate, endDate]),
152
+ defaultValue: getDayjsRange([defaultStartDate, defaultEndDate]),
153
+ renderExtraFooter: renderExtraFooter ? () => renderExtraFooter : void 0,
154
+ className,
155
+ inputReadOnly: true,
156
+ disabled: disabled ? disabled : [disableStartDate, disableEndDate],
157
+ placeholder: placeholder == null ? void 0 : placeholder.split(/,\s*/).slice(0, 2),
158
+ popupClassName: popupScopeClassName,
159
+ onChange: (values, _dateStrings) => {
160
+ onChange == null ? void 0 : onChange(getStrRange(values) || [null, null]);
161
+ }
162
+ })
163
+ ), /* @__PURE__ */ React.createElement("style", { dangerouslySetInnerHTML: { __html: css } }));
164
+ }
165
+ const dateRangePickerComponentName = "plasmic-antd5-date-range-picker";
166
+ const dateRangePickerHelpers = {
167
+ states: {
168
+ startDate: {
169
+ onChangeArgsToValue: (value) => value[0]
170
+ },
171
+ endDate: {
172
+ onChangeArgsToValue: (value) => value[1]
173
+ }
174
+ }
175
+ };
176
+ function registerDateRangePicker(loader) {
177
+ registerComponentHelper(loader, AntdDateRangePicker, {
178
+ name: dateRangePickerComponentName,
179
+ displayName: "Date Range Picker",
180
+ props: {
181
+ startDate: {
182
+ type: "dateString",
183
+ editOnly: true,
184
+ uncontrolledProp: "defaultStartDate",
185
+ description: "The default start date as ISO strings",
186
+ // TODO: Can there be a default validator attached to each prop type, so dynamic values can be checked?
187
+ hidden: (ps) => !!ps.__plasmicFormField
188
+ },
189
+ endDate: {
190
+ type: "dateString",
191
+ editOnly: true,
192
+ uncontrolledProp: "defaultEndDate",
193
+ description: "The default end date as ISO strings",
194
+ // TODO: Can there be a default validator attached to each prop type, so dynamic values can be checked?
195
+ hidden: (ps) => !!ps.__plasmicFormField
196
+ },
197
+ allowClear: {
198
+ type: "boolean",
199
+ advanced: true,
200
+ defaultValueHint: true,
201
+ description: "Whether to show the clear button"
202
+ },
203
+ autoFocus: {
204
+ type: "boolean",
205
+ description: "Focus when component is rendered",
206
+ defaultValueHint: false,
207
+ advanced: true
208
+ },
209
+ bordered: {
210
+ type: "boolean",
211
+ advanced: true,
212
+ defaultValueHint: true
213
+ },
214
+ changeOnBlur: {
215
+ type: "boolean",
216
+ advanced: true,
217
+ description: "Trigger change when blur. e.g. datetime picker no need click confirm button",
218
+ defaultValueHint: false,
219
+ hidden: (ps) => !ps.showTime
220
+ },
221
+ disabled: {
222
+ type: "boolean",
223
+ description: "Disable date range inputs",
224
+ defaultValueHint: false
225
+ },
226
+ disableStartDate: {
227
+ type: "boolean",
228
+ defaultValueHint: false,
229
+ advanced: true,
230
+ description: "Disable start date input only",
231
+ hidden: (ps) => ps.disabled
232
+ },
233
+ disableEndDate: {
234
+ type: "boolean",
235
+ defaultValueHint: false,
236
+ advanced: true,
237
+ description: "Disable end date input only",
238
+ hidden: (ps) => ps.disabled
239
+ },
240
+ picker: {
241
+ type: "choice",
242
+ options: ["date", "week", "month", "quarter", "year"].map((value) => ({
243
+ value,
244
+ label: capitalize(value)
245
+ })),
246
+ defaultValueHint: "date"
247
+ },
248
+ placeholder: {
249
+ type: "string",
250
+ advanced: true,
251
+ defaultValueHint: "Start date, End date",
252
+ description: "The placeholders of the start and end date inputs, separated by a comma"
253
+ },
254
+ placement: {
255
+ type: "choice",
256
+ options: ["bottomLeft", "bottomRight", "topLeft", "topRight"].map(
257
+ (value) => ({
258
+ value,
259
+ label: kebabCase(value)
260
+ })
261
+ ),
262
+ advanced: true,
263
+ defaultValueHint: "bottom-left",
264
+ description: "The position where the selection box pops up"
265
+ },
266
+ presets: {
267
+ type: "array",
268
+ advanced: true,
269
+ description: "The preset ranges for quick selection",
270
+ itemType: {
271
+ type: "object",
272
+ nameFunc: (item) => item.label,
273
+ fields: {
274
+ label: "string",
275
+ startDate: {
276
+ type: "dateString"
277
+ },
278
+ endDate: {
279
+ type: "dateString"
280
+ }
281
+ }
282
+ }
283
+ },
284
+ size: {
285
+ type: "choice",
286
+ advanced: true,
287
+ options: ["small", "middle", "large"].map((value) => ({
288
+ value,
289
+ label: capitalize(value)
290
+ })),
291
+ defaultValueHint: "middle"
292
+ },
293
+ status: {
294
+ type: "choice",
295
+ advanced: true,
296
+ options: ["error", "warning"].map((value) => ({
297
+ value,
298
+ label: capitalize(value)
299
+ })),
300
+ description: "Set validation status"
301
+ },
302
+ allowEmpty: {
303
+ type: "boolean",
304
+ advanced: true,
305
+ description: "Allow leaving start or end input empty",
306
+ defaultValueHint: false
307
+ },
308
+ allowEmptyStartDate: {
309
+ type: "boolean",
310
+ advanced: true,
311
+ description: "Allow leaving start input empty",
312
+ defaultValueHint: false,
313
+ hidden: (ps) => ps.allowEmpty
314
+ },
315
+ allowEmptyEndDate: {
316
+ type: "boolean",
317
+ advanced: true,
318
+ description: "Allow leaving end input empty",
319
+ defaultValueHint: false,
320
+ hidden: (ps) => ps.allowEmpty
321
+ },
322
+ renderExtraFooter: {
323
+ type: "slot",
324
+ displayName: "Extra footer",
325
+ hidePlaceholder: true
326
+ },
327
+ showTime: {
328
+ type: "boolean",
329
+ description: "Enable time selection",
330
+ defaultValueHint: false,
331
+ hidden: (ps) => ps.picker !== void 0 && ps.picker !== "date"
332
+ },
333
+ popupScopeClassName: {
334
+ type: "styleScopeClass",
335
+ scopeName: "dateRangePickerPopup"
336
+ },
337
+ popupClassName: {
338
+ type: "class",
339
+ displayName: "Popup container",
340
+ selectors: [
341
+ {
342
+ selector: ":dateRangePickerPopup .ant-picker-panel-container",
343
+ label: "Base"
344
+ }
345
+ ]
346
+ },
347
+ popupHeaderClassName: {
348
+ type: "class",
349
+ displayName: "Popup header",
350
+ selectors: [
351
+ {
352
+ selector: ":dateRangePickerPopup .ant-picker-header",
353
+ label: "Base"
354
+ }
355
+ ]
356
+ },
357
+ popupBodyClassName: {
358
+ type: "class",
359
+ displayName: "Popup body",
360
+ selectors: [
361
+ {
362
+ selector: ":dateRangePickerPopup .ant-picker-body",
363
+ label: "Base"
364
+ }
365
+ ]
366
+ },
367
+ popupFooterClassName: {
368
+ type: "class",
369
+ displayName: "Popup footer",
370
+ selectors: [
371
+ {
372
+ selector: ":dateRangePickerPopup .ant-picker-footer",
373
+ label: "Base"
374
+ }
375
+ ]
376
+ },
377
+ onChange: {
378
+ type: "eventHandler",
379
+ advanced: true,
380
+ argTypes: [{ name: "value", type: "object" }]
381
+ }
382
+ },
383
+ states: {
384
+ startDate: __spreadValues({
385
+ type: "writable",
386
+ valueProp: "startDate",
387
+ onChangeProp: "onChange",
388
+ variableType: "text"
389
+ }, dateRangePickerHelpers.states.startDate),
390
+ endDate: __spreadValues({
391
+ type: "writable",
392
+ valueProp: "endDate",
393
+ onChangeProp: "onChange",
394
+ variableType: "text"
395
+ }, dateRangePickerHelpers.states.endDate)
396
+ },
397
+ componentHelpers: {
398
+ helpers: dateRangePickerHelpers,
399
+ importName: "dateRangePickerHelpers",
400
+ importPath: "@plasmicpkgs/antd5/skinny/registerDateRangePicker"
401
+ },
402
+ importPath: "@plasmicpkgs/antd5/skinny/registerDateRangePicker",
403
+ importName: "AntdDateRangePicker"
404
+ });
405
+ }
406
+
407
+ export { AntdDateRangePicker, dateRangePickerComponentName, dateRangePickerHelpers, registerDateRangePicker };
408
+ //# sourceMappingURL=registerDateRangePicker.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerDateRangePicker.esm.js","sources":["../src/registerDateRangePicker.tsx"],"sourcesContent":["import { DatePicker } from \"antd\";\nimport React, { useMemo } from \"react\";\nimport { capitalize, Registerable, registerComponentHelper } from \"./utils\";\nimport dayjs from \"dayjs\";\nimport type { Dayjs } from \"dayjs\";\nimport kebabCase from \"lodash/kebabCase\";\n\nconst { RangePicker } = DatePicker;\n\nfunction getDayjsRange(dateRange: any): [Dayjs | null, Dayjs | null] {\n return Array.isArray(dateRange)\n ? [\n dateRange[0] ? dayjs(dateRange[0]) : null,\n dateRange[1] ? dayjs(dateRange[1]) : null,\n ]\n : [null, null];\n}\n\nfunction getStrRange(dateRange: any): string[] | undefined {\n return Array.isArray(dateRange)\n ? dateRange.map((date: any) =>\n date && !(typeof date === \"string\") && \"toISOString\" in date\n ? date.toISOString()\n : date === null\n ? undefined\n : date\n )\n : undefined;\n}\n\nexport function AntdDateRangePicker(\n props: Omit<\n React.ComponentProps<typeof RangePicker>,\n | \"value\"\n | \"onChange\"\n | \"presets\"\n | \"placeholder\"\n | \"renderExtraFooter\"\n | \"disabled\"\n | \"allowEmpty\"\n > & {\n onChange: (value: [string | undefined, string | undefined]) => void;\n value?: [Dayjs, Dayjs];\n // Not sure why this is missing from DatePicker props!\n showTime?: boolean;\n popupScopeClassName: string;\n presets: {\n label: string;\n startDate: string;\n endDate: string;\n }[];\n placeholder: string;\n disableStartDate: boolean;\n disableEndDate: boolean;\n renderExtraFooter: React.ReactNode;\n allowEmptyStartDate: boolean;\n allowEmptyEndDate: boolean;\n disabled: boolean;\n allowEmpty: boolean;\n defaultStartDate?: string;\n defaultEndDate?: string;\n startDate?: string;\n endDate?: string;\n }\n) {\n const {\n defaultStartDate,\n defaultEndDate,\n startDate,\n endDate,\n allowEmpty,\n allowEmptyEndDate,\n allowEmptyStartDate,\n disabled,\n renderExtraFooter,\n disableStartDate,\n disableEndDate,\n presets,\n picker,\n placeholder,\n onChange,\n popupScopeClassName,\n className,\n ...rest\n } = props;\n const popupScopeClassNameSelector = popupScopeClassName\n ? `.${popupScopeClassName}`\n : \"\";\n const css = `\n @media(max-width: 900px) { \n .ant-picker-panels{ \n flex-direction: column;\n }\n }\n \n @media(max-width: 500px) { \n ${popupScopeClassNameSelector}.ant-picker-dropdown {\n top: 20px !important;\n left: 10px !important;\n right: 10px !important;\n max-height: 95vh;\n position: fixed;\n overflow-y: scroll;\n max-width: 100vw;\n }\n\n ${popupScopeClassNameSelector} .ant-picker-panel-container {\n min-width: 300px;\n }\n\n ${popupScopeClassNameSelector} .ant-picker-datetime-panel {\n flex-direction: column;\n }\n\n .${className} .ant-picker-input > input {\n font-size: 16px !important;\n }\n \n ${popupScopeClassNameSelector} .ant-picker-header-view {\n line-height: unset !important;\n }\n \n ${popupScopeClassNameSelector} .ant-picker-content {\n height: unset !important;\n }\n \n ${popupScopeClassNameSelector} .ant-picker-time-panel-column {\n height: 100px;\n }\n\n ${popupScopeClassNameSelector} .ant-picker-range-arrow {\n display: none;\n }\n }\n `;\n\n const presetsDayjs = useMemo(\n () =>\n presets\n ?.map((p) => ({ ...p, value: getDayjsRange([p.startDate, p.endDate]) }))\n .filter((p) => p.value[0]?.isValid() && p.value[1]?.isValid()),\n [presets]\n );\n return (\n <>\n <RangePicker\n {...rest}\n picker={picker as any}\n presets={presetsDayjs}\n allowEmpty={\n allowEmpty\n ? [allowEmpty, allowEmpty]\n : [allowEmptyStartDate, allowEmptyEndDate]\n }\n value={getDayjsRange([startDate, endDate])}\n defaultValue={getDayjsRange([defaultStartDate, defaultEndDate])}\n renderExtraFooter={\n renderExtraFooter ? () => renderExtraFooter : undefined\n }\n className={className}\n inputReadOnly\n disabled={disabled ? disabled : [disableStartDate, disableEndDate]}\n placeholder={placeholder?.split(/,\\s*/).slice(0, 2) as [string, string]}\n popupClassName={popupScopeClassName}\n // dateString isn't a valid ISO string, and value is a dayjs object.\n onChange={(values, _dateStrings) => {\n onChange?.((getStrRange(values) as [string, string]) || [null, null]);\n }}\n />\n <style dangerouslySetInnerHTML={{ __html: css }} />\n </>\n );\n}\n\nexport const dateRangePickerComponentName = \"plasmic-antd5-date-range-picker\";\n\nexport const dateRangePickerHelpers = {\n states: {\n startDate: {\n onChangeArgsToValue: (value: string[]) => value[0],\n },\n endDate: {\n onChangeArgsToValue: (value: string[]) => value[1],\n },\n },\n};\n\nexport function registerDateRangePicker(loader?: Registerable) {\n registerComponentHelper(loader, AntdDateRangePicker, {\n name: dateRangePickerComponentName,\n displayName: \"Date Range Picker\",\n props: {\n startDate: {\n type: \"dateString\",\n editOnly: true,\n uncontrolledProp: \"defaultStartDate\",\n description: \"The default start date as ISO strings\",\n // TODO: Can there be a default validator attached to each prop type, so dynamic values can be checked?\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n endDate: {\n type: \"dateString\",\n editOnly: true,\n uncontrolledProp: \"defaultEndDate\",\n description: \"The default end date as ISO strings\",\n // TODO: Can there be a default validator attached to each prop type, so dynamic values can be checked?\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n allowClear: {\n type: \"boolean\",\n advanced: true,\n defaultValueHint: true,\n description: \"Whether to show the clear button\",\n },\n autoFocus: {\n type: \"boolean\",\n description: \"Focus when component is rendered\",\n defaultValueHint: false,\n advanced: true,\n },\n bordered: {\n type: \"boolean\",\n advanced: true,\n defaultValueHint: true,\n },\n changeOnBlur: {\n type: \"boolean\",\n advanced: true,\n description:\n \"Trigger change when blur. e.g. datetime picker no need click confirm button\",\n defaultValueHint: false,\n hidden: (ps) => !ps.showTime,\n },\n disabled: {\n type: \"boolean\",\n description: \"Disable date range inputs\",\n defaultValueHint: false,\n },\n disableStartDate: {\n type: \"boolean\",\n defaultValueHint: false,\n advanced: true,\n description: \"Disable start date input only\",\n hidden: (ps) => ps.disabled,\n },\n disableEndDate: {\n type: \"boolean\",\n defaultValueHint: false,\n advanced: true,\n description: \"Disable end date input only\",\n hidden: (ps) => ps.disabled,\n },\n picker: {\n type: \"choice\",\n options: [\"date\", \"week\", \"month\", \"quarter\", \"year\"].map((value) => ({\n value,\n label: capitalize(value),\n })),\n defaultValueHint: \"date\",\n },\n placeholder: {\n type: \"string\",\n advanced: true,\n defaultValueHint: \"Start date, End date\",\n description:\n \"The placeholders of the start and end date inputs, separated by a comma\",\n },\n placement: {\n type: \"choice\",\n options: [\"bottomLeft\", \"bottomRight\", \"topLeft\", \"topRight\"].map(\n (value) => ({\n value,\n label: kebabCase(value),\n })\n ),\n advanced: true,\n defaultValueHint: \"bottom-left\",\n description: \"The position where the selection box pops up\",\n },\n presets: {\n type: \"array\",\n advanced: true,\n description: \"The preset ranges for quick selection\",\n itemType: {\n type: \"object\",\n nameFunc: (item) => item.label,\n fields: {\n label: \"string\",\n startDate: {\n type: \"dateString\",\n },\n endDate: {\n type: \"dateString\",\n },\n },\n },\n },\n size: {\n type: \"choice\",\n advanced: true,\n options: [\"small\", \"middle\", \"large\"].map((value) => ({\n value,\n label: capitalize(value),\n })),\n defaultValueHint: \"middle\",\n },\n status: {\n type: \"choice\",\n advanced: true,\n options: [\"error\", \"warning\"].map((value) => ({\n value,\n label: capitalize(value),\n })),\n description: \"Set validation status\",\n },\n allowEmpty: {\n type: \"boolean\",\n advanced: true,\n description: \"Allow leaving start or end input empty\",\n defaultValueHint: false,\n },\n allowEmptyStartDate: {\n type: \"boolean\",\n advanced: true,\n description: \"Allow leaving start input empty\",\n defaultValueHint: false,\n hidden: (ps) => ps.allowEmpty,\n },\n allowEmptyEndDate: {\n type: \"boolean\",\n advanced: true,\n description: \"Allow leaving end input empty\",\n defaultValueHint: false,\n hidden: (ps) => ps.allowEmpty,\n },\n renderExtraFooter: {\n type: \"slot\",\n displayName: \"Extra footer\",\n hidePlaceholder: true,\n },\n showTime: {\n type: \"boolean\",\n description: \"Enable time selection\",\n defaultValueHint: false,\n hidden: (ps) => ps.picker !== undefined && ps.picker !== \"date\",\n },\n popupScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"dateRangePickerPopup\",\n } as any,\n popupClassName: {\n type: \"class\",\n displayName: \"Popup container\",\n selectors: [\n {\n selector: \":dateRangePickerPopup .ant-picker-panel-container\",\n label: \"Base\",\n },\n ],\n },\n popupHeaderClassName: {\n type: \"class\",\n displayName: \"Popup header\",\n selectors: [\n {\n selector: \":dateRangePickerPopup .ant-picker-header\",\n label: \"Base\",\n },\n ],\n },\n popupBodyClassName: {\n type: \"class\",\n displayName: \"Popup body\",\n selectors: [\n {\n selector: \":dateRangePickerPopup .ant-picker-body\",\n label: \"Base\",\n },\n ],\n },\n popupFooterClassName: {\n type: \"class\",\n displayName: \"Popup footer\",\n selectors: [\n {\n selector: \":dateRangePickerPopup .ant-picker-footer\",\n label: \"Base\",\n },\n ],\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"value\", type: \"object\" }],\n },\n },\n states: {\n startDate: {\n type: \"writable\",\n valueProp: \"startDate\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n ...dateRangePickerHelpers.states.startDate,\n },\n endDate: {\n type: \"writable\",\n valueProp: \"endDate\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n ...dateRangePickerHelpers.states.endDate,\n },\n },\n componentHelpers: {\n helpers: dateRangePickerHelpers,\n importName: \"dateRangePickerHelpers\",\n importPath: \"@plasmicpkgs/antd5/skinny/registerDateRangePicker\",\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerDateRangePicker\",\n importName: \"AntdDateRangePicker\",\n });\n}\n"],"names":["_a"],"mappings":"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"}
@@ -686,12 +686,12 @@ function registerForm(loader) {
686
686
  ]
687
687
  },
688
688
  validateTrigger: {
689
- displayName: "Validate rules",
689
+ displayName: "Validate when",
690
690
  type: "choice",
691
691
  options: [
692
- { value: "onBlur", label: "When a field loses focus" },
693
- { value: "onChange", label: "When a field changes" },
694
- { value: "onSubmit", label: "When the form is submitted" }
692
+ { value: "onBlur", label: "a field loses focus" },
693
+ { value: "onChange", label: "a field changes" },
694
+ { value: "onSubmit", label: "the form is submitted" }
695
695
  ],
696
696
  multiSelect: true,
697
697
  defaultValueHint: ["onChange"],
@@ -1198,9 +1198,15 @@ function commonFormItemProps(usage) {
1198
1198
  defaultValueHint: getDefaultValueHint("hidden")
1199
1199
  },
1200
1200
  validateTrigger: {
1201
+ displayName: "Validate when",
1201
1202
  type: "choice",
1202
- options: ["onSubmit", "onChange", "onBlur"],
1203
+ options: [
1204
+ { value: "onBlur", label: "a field loses focus" },
1205
+ { value: "onChange", label: "a field changes" },
1206
+ { value: "onSubmit", label: "the form is submitted" }
1207
+ ],
1203
1208
  multiSelect: true,
1209
+ defaultValueHint: ["onChange"],
1204
1210
  advanced: true
1205
1211
  },
1206
1212
  shouldUpdate: {