@plasmicpkgs/plasmic-rich-components 1.0.118 → 1.0.119
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/.tsbuildinfo +1 -1
- package/dist/common-prop-types.d.ts +7 -0
- package/dist/formatting.d.ts +1 -0
- package/dist/index.js +764 -247
- package/dist/index.js.map +1 -1
- package/dist/plasmic-rich-components.esm.js +764 -249
- package/dist/plasmic-rich-components.esm.js.map +1 -1
- package/dist/rich-calendar/RichCalendar.d.ts +31 -0
- package/dist/rich-calendar/index.d.ts +14 -0
- package/dist/utils.d.ts +11 -0
- package/package.json +2 -2
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import registerComponent from '@plasmicapp/host/registerComponent';
|
|
2
2
|
import '@plasmicapp/host/registerGlobalContext';
|
|
3
|
-
import React, { useState, useEffect, useRef } from 'react';
|
|
4
|
-
import
|
|
3
|
+
import React, { useState, useEffect, useRef, useMemo } from 'react';
|
|
4
|
+
import dayjs from 'dayjs';
|
|
5
|
+
import customParseFormat from 'dayjs/plugin/customParseFormat';
|
|
6
|
+
import { DateTime } from 'luxon';
|
|
7
|
+
import { Result, Checkbox, Switch, Empty, Descriptions, theme, ConfigProvider, Dropdown, Button, Input, List, Tag, Card, Calendar, Badge } from 'antd';
|
|
5
8
|
import 'lodash/get';
|
|
6
9
|
import { normalizeData, deriveFieldConfigs } from '@plasmicapp/data-sources';
|
|
7
|
-
import { DateTime } from 'luxon';
|
|
8
10
|
import { tinycolor } from '@ctrl/tinycolor';
|
|
9
11
|
import { LogoutOutlined, PlusOutlined, EllipsisOutlined } from '@ant-design/icons';
|
|
10
12
|
import { ProLayout, ProConfigProvider, ProTable } from '@ant-design/pro-components';
|
|
@@ -13,6 +15,7 @@ import { createObjectCsvStringifier } from 'csv-writer-browser';
|
|
|
13
15
|
import fastStringify from 'fast-stringify';
|
|
14
16
|
import classNames from 'classnames';
|
|
15
17
|
import groupBy from 'lodash/groupBy';
|
|
18
|
+
import { groupBy as groupBy$1 } from 'lodash';
|
|
16
19
|
|
|
17
20
|
function registerComponentHelper(loader, component, meta) {
|
|
18
21
|
if (loader) {
|
|
@@ -35,9 +38,65 @@ function maybe(x, f) {
|
|
|
35
38
|
return void 0;
|
|
36
39
|
return f(x);
|
|
37
40
|
}
|
|
41
|
+
function isValidIsoDate(str, extendedOnly = false) {
|
|
42
|
+
if (!str)
|
|
43
|
+
return false;
|
|
44
|
+
if (typeof str !== "string")
|
|
45
|
+
return false;
|
|
46
|
+
if (str.includes(" "))
|
|
47
|
+
return false;
|
|
48
|
+
if (str.length === 10) {
|
|
49
|
+
if (extendedOnly)
|
|
50
|
+
return false;
|
|
51
|
+
dayjs.extend(customParseFormat);
|
|
52
|
+
return dayjs(str, "YYYY-MM-DD", true).isValid();
|
|
53
|
+
}
|
|
54
|
+
if (!dayjs(str).isValid())
|
|
55
|
+
return false;
|
|
56
|
+
if (isNaN(new Date(str).getTime()))
|
|
57
|
+
return false;
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
function parseDate(value) {
|
|
61
|
+
const dateTimeParsers = [
|
|
62
|
+
DateTime.fromISO,
|
|
63
|
+
DateTime.fromRFC2822,
|
|
64
|
+
DateTime.fromHTTP,
|
|
65
|
+
DateTime.fromSQL
|
|
66
|
+
];
|
|
67
|
+
if (!value)
|
|
68
|
+
return void 0;
|
|
69
|
+
if (typeof value !== "string")
|
|
70
|
+
return void 0;
|
|
71
|
+
for (const parser of dateTimeParsers) {
|
|
72
|
+
const parsed = parser(value);
|
|
73
|
+
if (parsed.isValid) {
|
|
74
|
+
return parsed;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return void 0;
|
|
78
|
+
}
|
|
79
|
+
function isLikeDate(value) {
|
|
80
|
+
const parsed = parseDate(value);
|
|
81
|
+
return parsed ? true : false;
|
|
82
|
+
}
|
|
38
83
|
function isLikeImage(value) {
|
|
39
84
|
return typeof value === "string" ? value.match(/\.(png|jpg|jpeg|gif|svg|webp|avif|ico|bmp|tiff)$/i) : false;
|
|
40
85
|
}
|
|
86
|
+
function isLikeColor(value) {
|
|
87
|
+
if (typeof value !== "string")
|
|
88
|
+
return false;
|
|
89
|
+
const hex = /^#?([0-9a-fA-F]{3}([0-9a-fA-F]{3})?|[0-9a-fA-F]{4}([0-9a-fA-F]{4})?)$/;
|
|
90
|
+
const rgba = /^rgba?\((\s*\d+\s*,\s*\d+\s*,\s*\d+\s*(,\s*(1|0?(\.\d+)?))?\s*)\)$/;
|
|
91
|
+
const cssNamed = /^(aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen)$/;
|
|
92
|
+
const hsla = /^hsla?\((\s*\d+(\.\d+)?\s*,\s*\d+(\.\d+)?%\s*,\s*\d+(\.\d+)?%\s*(,\s*(1|0?\.\d+))?\s*)\)$/;
|
|
93
|
+
const cmyk = /^cmyka?\((\s*\d+(\.\d+)?%\s*,\s*\d+(\.\d+)?%\s*,\s*\d+(\.\d+)?%\s*,\s*\d+(\.\d+)?%\s*(,\s*(1|0?\.\d+))?\s*)\)$/;
|
|
94
|
+
const hsv = /^hsva?\((\s*\d+(\.\d+)?\s*,\s*\d+(\.\d+)?%\s*,\s*\d+(\.\d+)?%\s*(,\s*(1|0?\.\d+))?\s*)\)$/;
|
|
95
|
+
if (value.match(hex) || value.match(rgba) || value.match(cssNamed) || value.match(hsla) || value.match(cmyk) || value.match(hsv)) {
|
|
96
|
+
return true;
|
|
97
|
+
}
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
41
100
|
function isInteractable(target) {
|
|
42
101
|
if (["A", "BUTTON", "INPUT", "TEXTAREA", "SELECT"].includes(target.tagName)) {
|
|
43
102
|
return true;
|
|
@@ -85,33 +144,33 @@ class ErrorBoundary extends React.Component {
|
|
|
85
144
|
}
|
|
86
145
|
}
|
|
87
146
|
|
|
88
|
-
var __defProp$
|
|
89
|
-
var __defProps$
|
|
90
|
-
var __getOwnPropDescs$
|
|
91
|
-
var __getOwnPropSymbols$
|
|
92
|
-
var __hasOwnProp$
|
|
93
|
-
var __propIsEnum$
|
|
94
|
-
var __defNormalProp$
|
|
95
|
-
var __spreadValues$
|
|
147
|
+
var __defProp$b = Object.defineProperty;
|
|
148
|
+
var __defProps$8 = Object.defineProperties;
|
|
149
|
+
var __getOwnPropDescs$8 = Object.getOwnPropertyDescriptors;
|
|
150
|
+
var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
|
|
151
|
+
var __hasOwnProp$b = Object.prototype.hasOwnProperty;
|
|
152
|
+
var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
|
|
153
|
+
var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
154
|
+
var __spreadValues$b = (a, b) => {
|
|
96
155
|
for (var prop in b || (b = {}))
|
|
97
|
-
if (__hasOwnProp$
|
|
98
|
-
__defNormalProp$
|
|
99
|
-
if (__getOwnPropSymbols$
|
|
100
|
-
for (var prop of __getOwnPropSymbols$
|
|
101
|
-
if (__propIsEnum$
|
|
102
|
-
__defNormalProp$
|
|
156
|
+
if (__hasOwnProp$b.call(b, prop))
|
|
157
|
+
__defNormalProp$b(a, prop, b[prop]);
|
|
158
|
+
if (__getOwnPropSymbols$b)
|
|
159
|
+
for (var prop of __getOwnPropSymbols$b(b)) {
|
|
160
|
+
if (__propIsEnum$b.call(b, prop))
|
|
161
|
+
__defNormalProp$b(a, prop, b[prop]);
|
|
103
162
|
}
|
|
104
163
|
return a;
|
|
105
164
|
};
|
|
106
|
-
var __spreadProps$
|
|
107
|
-
var __objRest$
|
|
165
|
+
var __spreadProps$8 = (a, b) => __defProps$8(a, __getOwnPropDescs$8(b));
|
|
166
|
+
var __objRest$3 = (source, exclude) => {
|
|
108
167
|
var target = {};
|
|
109
168
|
for (var prop in source)
|
|
110
|
-
if (__hasOwnProp$
|
|
169
|
+
if (__hasOwnProp$b.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
111
170
|
target[prop] = source[prop];
|
|
112
|
-
if (source != null && __getOwnPropSymbols$
|
|
113
|
-
for (var prop of __getOwnPropSymbols$
|
|
114
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum$
|
|
171
|
+
if (source != null && __getOwnPropSymbols$b)
|
|
172
|
+
for (var prop of __getOwnPropSymbols$b(source)) {
|
|
173
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum$b.call(source, prop))
|
|
115
174
|
target[prop] = source[prop];
|
|
116
175
|
}
|
|
117
176
|
return target;
|
|
@@ -147,7 +206,7 @@ function deriveValueType(cconfig) {
|
|
|
147
206
|
const NoneField = "||NoneField||";
|
|
148
207
|
const CustomField = "";
|
|
149
208
|
function getFieldSubprops(opts) {
|
|
150
|
-
return __spreadValues$
|
|
209
|
+
return __spreadValues$b(__spreadValues$b({
|
|
151
210
|
key: {
|
|
152
211
|
type: "string",
|
|
153
212
|
hidden: () => true
|
|
@@ -183,7 +242,7 @@ function getFieldSubprops(opts) {
|
|
|
183
242
|
defaultValueHint: getDefaultValueHint("title"),
|
|
184
243
|
hidden: () => !!opts.noTitle
|
|
185
244
|
},
|
|
186
|
-
expr: __spreadProps$
|
|
245
|
+
expr: __spreadProps$8(__spreadValues$b({}, rowDataType("Custom value")), {
|
|
187
246
|
hidden: (ps, ctx, { item, path: _controlPath }) => {
|
|
188
247
|
return false;
|
|
189
248
|
}
|
|
@@ -461,7 +520,7 @@ function buildFieldsPropType(_a) {
|
|
|
461
520
|
advanced,
|
|
462
521
|
displayName,
|
|
463
522
|
minimalValue = (_props, contextData) => contextData == null ? void 0 : contextData.minimalFullLengthFields
|
|
464
|
-
} = _b, opts = __objRest$
|
|
523
|
+
} = _b, opts = __objRest$3(_b, [
|
|
465
524
|
"advanced",
|
|
466
525
|
"displayName",
|
|
467
526
|
"minimalValue"
|
|
@@ -495,25 +554,25 @@ function buildFieldsPropType(_a) {
|
|
|
495
554
|
};
|
|
496
555
|
}
|
|
497
556
|
|
|
498
|
-
var __defProp$
|
|
499
|
-
var __defProps$
|
|
500
|
-
var __getOwnPropDescs$
|
|
501
|
-
var __getOwnPropSymbols$
|
|
502
|
-
var __hasOwnProp$
|
|
503
|
-
var __propIsEnum$
|
|
504
|
-
var __defNormalProp$
|
|
505
|
-
var __spreadValues$
|
|
557
|
+
var __defProp$a = Object.defineProperty;
|
|
558
|
+
var __defProps$7 = Object.defineProperties;
|
|
559
|
+
var __getOwnPropDescs$7 = Object.getOwnPropertyDescriptors;
|
|
560
|
+
var __getOwnPropSymbols$a = Object.getOwnPropertySymbols;
|
|
561
|
+
var __hasOwnProp$a = Object.prototype.hasOwnProperty;
|
|
562
|
+
var __propIsEnum$a = Object.prototype.propertyIsEnumerable;
|
|
563
|
+
var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
564
|
+
var __spreadValues$a = (a, b) => {
|
|
506
565
|
for (var prop in b || (b = {}))
|
|
507
|
-
if (__hasOwnProp$
|
|
508
|
-
__defNormalProp$
|
|
509
|
-
if (__getOwnPropSymbols$
|
|
510
|
-
for (var prop of __getOwnPropSymbols$
|
|
511
|
-
if (__propIsEnum$
|
|
512
|
-
__defNormalProp$
|
|
566
|
+
if (__hasOwnProp$a.call(b, prop))
|
|
567
|
+
__defNormalProp$a(a, prop, b[prop]);
|
|
568
|
+
if (__getOwnPropSymbols$a)
|
|
569
|
+
for (var prop of __getOwnPropSymbols$a(b)) {
|
|
570
|
+
if (__propIsEnum$a.call(b, prop))
|
|
571
|
+
__defNormalProp$a(a, prop, b[prop]);
|
|
513
572
|
}
|
|
514
573
|
return a;
|
|
515
574
|
};
|
|
516
|
-
var __spreadProps$
|
|
575
|
+
var __spreadProps$7 = (a, b) => __defProps$7(a, __getOwnPropDescs$7(b));
|
|
517
576
|
function multiRenderValue(record, cconfigs) {
|
|
518
577
|
return cconfigs == null ? void 0 : cconfigs.flatMap(
|
|
519
578
|
(cc) => cc.isHidden ? [] : [` \u2022 `, /* @__PURE__ */ React.createElement(React.Fragment, null, renderValue(record, cc))]
|
|
@@ -529,6 +588,11 @@ function getFieldValue(record, cconfig) {
|
|
|
529
588
|
}
|
|
530
589
|
return value;
|
|
531
590
|
}
|
|
591
|
+
function getFieldAggregateValue(record, cconfigs, separator = ", ") {
|
|
592
|
+
if (!(cconfigs == null ? void 0 : cconfigs.length))
|
|
593
|
+
return void 0;
|
|
594
|
+
return (cconfigs == null ? void 0 : cconfigs.length) ? cconfigs.map((item) => getFieldValue(record, item)).join(separator) : void 0;
|
|
595
|
+
}
|
|
532
596
|
function renderValue(record, cconfig) {
|
|
533
597
|
const value = getFieldValue(record, cconfig);
|
|
534
598
|
if (value == null) {
|
|
@@ -582,11 +646,11 @@ function renderNumber(value, cconfig) {
|
|
|
582
646
|
if (cconfig.dataType === "number") {
|
|
583
647
|
return new Intl.NumberFormat(cconfig.locale, cconfig).format(value);
|
|
584
648
|
} else if (cconfig.dataType === "percent") {
|
|
585
|
-
return new Intl.NumberFormat(cconfig.locale, __spreadProps$
|
|
649
|
+
return new Intl.NumberFormat(cconfig.locale, __spreadProps$7(__spreadValues$a({}, cconfig), {
|
|
586
650
|
style: "percent"
|
|
587
651
|
})).format(value);
|
|
588
652
|
} else if (cconfig.dataType === "currency") {
|
|
589
|
-
return new Intl.NumberFormat(cconfig.locale, __spreadProps$
|
|
653
|
+
return new Intl.NumberFormat(cconfig.locale, __spreadProps$7(__spreadValues$a(__spreadValues$a({}, DEFAULT_CURRENCY_SETTINGS), cconfig), {
|
|
590
654
|
style: "currency"
|
|
591
655
|
})).format(value);
|
|
592
656
|
} else {
|
|
@@ -594,7 +658,7 @@ function renderNumber(value, cconfig) {
|
|
|
594
658
|
}
|
|
595
659
|
}
|
|
596
660
|
function renderDate(value, cconfig) {
|
|
597
|
-
const opts = __spreadValues$
|
|
661
|
+
const opts = __spreadValues$a(__spreadValues$a({}, DEFAULT_DATETIME_SETTINGS), cconfig);
|
|
598
662
|
if (opts.dateStyle === "none") {
|
|
599
663
|
delete opts["dateStyle"];
|
|
600
664
|
}
|
|
@@ -618,7 +682,7 @@ const UNIT_TO_MS = {
|
|
|
618
682
|
const UNITS_BY_MS = Object.keys(UNIT_TO_MS);
|
|
619
683
|
function renderRelativeDate(value, cconfig) {
|
|
620
684
|
var _a;
|
|
621
|
-
const opts = __spreadValues$
|
|
685
|
+
const opts = __spreadValues$a(__spreadValues$a({}, DEFAULT_RELATIVE_DATETIME_SETTINGS), cconfig);
|
|
622
686
|
const unit = (_a = cconfig.unit) != null ? _a : "day";
|
|
623
687
|
const formatter = new Intl.RelativeTimeFormat(cconfig.locale, opts);
|
|
624
688
|
if (isOneOf(unit, UNITS_BY_MS)) {
|
|
@@ -648,12 +712,6 @@ function renderBoolean(value, cconfig) {
|
|
|
648
712
|
return value ? "true" : "false";
|
|
649
713
|
}
|
|
650
714
|
}
|
|
651
|
-
const dateTimeParsers = [
|
|
652
|
-
DateTime.fromISO,
|
|
653
|
-
DateTime.fromRFC2822,
|
|
654
|
-
DateTime.fromHTTP,
|
|
655
|
-
DateTime.fromSQL
|
|
656
|
-
];
|
|
657
715
|
const CANNOT_COERCE = Symbol("plasmic-cannot-coerce");
|
|
658
716
|
function coerceValue(value, dataType) {
|
|
659
717
|
if (value == null) {
|
|
@@ -675,11 +733,9 @@ function coerceValue(value, dataType) {
|
|
|
675
733
|
} else if (typeof value === "number") {
|
|
676
734
|
return new Date(value);
|
|
677
735
|
} else if (typeof value === "string") {
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
return parsed.toJSDate();
|
|
682
|
-
}
|
|
736
|
+
const parsed = parseDate(value);
|
|
737
|
+
if (parsed) {
|
|
738
|
+
return parsed.toJSDate();
|
|
683
739
|
}
|
|
684
740
|
}
|
|
685
741
|
} else if (dataType === "boolean") {
|
|
@@ -715,25 +771,25 @@ function asString(value) {
|
|
|
715
771
|
}
|
|
716
772
|
}
|
|
717
773
|
|
|
718
|
-
var __defProp$
|
|
719
|
-
var __defProps$
|
|
720
|
-
var __getOwnPropDescs$
|
|
721
|
-
var __getOwnPropSymbols$
|
|
722
|
-
var __hasOwnProp$
|
|
723
|
-
var __propIsEnum$
|
|
724
|
-
var __defNormalProp$
|
|
725
|
-
var __spreadValues$
|
|
774
|
+
var __defProp$9 = Object.defineProperty;
|
|
775
|
+
var __defProps$6 = Object.defineProperties;
|
|
776
|
+
var __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;
|
|
777
|
+
var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
|
|
778
|
+
var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
|
|
779
|
+
var __propIsEnum$9 = Object.prototype.propertyIsEnumerable;
|
|
780
|
+
var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
781
|
+
var __spreadValues$9 = (a, b) => {
|
|
726
782
|
for (var prop in b || (b = {}))
|
|
727
|
-
if (__hasOwnProp$
|
|
728
|
-
__defNormalProp$
|
|
729
|
-
if (__getOwnPropSymbols$
|
|
730
|
-
for (var prop of __getOwnPropSymbols$
|
|
731
|
-
if (__propIsEnum$
|
|
732
|
-
__defNormalProp$
|
|
783
|
+
if (__hasOwnProp$9.call(b, prop))
|
|
784
|
+
__defNormalProp$9(a, prop, b[prop]);
|
|
785
|
+
if (__getOwnPropSymbols$9)
|
|
786
|
+
for (var prop of __getOwnPropSymbols$9(b)) {
|
|
787
|
+
if (__propIsEnum$9.call(b, prop))
|
|
788
|
+
__defNormalProp$9(a, prop, b[prop]);
|
|
733
789
|
}
|
|
734
790
|
return a;
|
|
735
791
|
};
|
|
736
|
-
var __spreadProps$
|
|
792
|
+
var __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));
|
|
737
793
|
function RichDetails(props) {
|
|
738
794
|
var _a;
|
|
739
795
|
const {
|
|
@@ -776,7 +832,7 @@ function useColumnDefinitions$1(data, props) {
|
|
|
776
832
|
const { mergedFields, minimalFullLengthFields } = deriveFieldConfigs(
|
|
777
833
|
fields != null ? fields : [],
|
|
778
834
|
schema,
|
|
779
|
-
(field) => __spreadValues$
|
|
835
|
+
(field) => __spreadValues$9({
|
|
780
836
|
key: mkShortId(),
|
|
781
837
|
isHidden: false,
|
|
782
838
|
dataType: "auto"
|
|
@@ -787,7 +843,7 @@ function useColumnDefinitions$1(data, props) {
|
|
|
787
843
|
expr: (currentItem) => currentItem[field.id]
|
|
788
844
|
})
|
|
789
845
|
);
|
|
790
|
-
setControlContextData == null ? void 0 : setControlContextData(__spreadProps$
|
|
846
|
+
setControlContextData == null ? void 0 : setControlContextData(__spreadProps$6(__spreadValues$9({}, data), { mergedFields, minimalFullLengthFields }));
|
|
791
847
|
const normalized = mergedFields;
|
|
792
848
|
const columnDefinitions = normalized.filter((cconfig) => !cconfig.isHidden).map((cconfig, _columnIndex, _columnsArray) => {
|
|
793
849
|
const columnDefinition = {
|
|
@@ -880,56 +936,56 @@ function isLight(color) {
|
|
|
880
936
|
return r * 0.299 + g * 0.587 + b * 0.114 > 186;
|
|
881
937
|
}
|
|
882
938
|
|
|
883
|
-
var __defProp$
|
|
884
|
-
var __defProps$
|
|
885
|
-
var __getOwnPropDescs$
|
|
886
|
-
var __getOwnPropSymbols$
|
|
887
|
-
var __hasOwnProp$
|
|
888
|
-
var __propIsEnum$
|
|
889
|
-
var __defNormalProp$
|
|
890
|
-
var __spreadValues$
|
|
939
|
+
var __defProp$8 = Object.defineProperty;
|
|
940
|
+
var __defProps$5 = Object.defineProperties;
|
|
941
|
+
var __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;
|
|
942
|
+
var __getOwnPropSymbols$8 = Object.getOwnPropertySymbols;
|
|
943
|
+
var __hasOwnProp$8 = Object.prototype.hasOwnProperty;
|
|
944
|
+
var __propIsEnum$8 = Object.prototype.propertyIsEnumerable;
|
|
945
|
+
var __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$8(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
946
|
+
var __spreadValues$8 = (a, b) => {
|
|
891
947
|
for (var prop in b || (b = {}))
|
|
892
|
-
if (__hasOwnProp$
|
|
893
|
-
__defNormalProp$
|
|
894
|
-
if (__getOwnPropSymbols$
|
|
895
|
-
for (var prop of __getOwnPropSymbols$
|
|
896
|
-
if (__propIsEnum$
|
|
897
|
-
__defNormalProp$
|
|
948
|
+
if (__hasOwnProp$8.call(b, prop))
|
|
949
|
+
__defNormalProp$8(a, prop, b[prop]);
|
|
950
|
+
if (__getOwnPropSymbols$8)
|
|
951
|
+
for (var prop of __getOwnPropSymbols$8(b)) {
|
|
952
|
+
if (__propIsEnum$8.call(b, prop))
|
|
953
|
+
__defNormalProp$8(a, prop, b[prop]);
|
|
898
954
|
}
|
|
899
955
|
return a;
|
|
900
956
|
};
|
|
901
|
-
var __spreadProps$
|
|
957
|
+
var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
|
|
902
958
|
const AnchorLink = React.forwardRef(function AnchorLink2(props, ref) {
|
|
903
|
-
return /* @__PURE__ */ React.createElement("a", __spreadProps$
|
|
959
|
+
return /* @__PURE__ */ React.createElement("a", __spreadProps$5(__spreadValues$8({}, props), { ref }));
|
|
904
960
|
});
|
|
905
961
|
|
|
906
|
-
var __defProp$
|
|
907
|
-
var __defProps$
|
|
908
|
-
var __getOwnPropDescs$
|
|
909
|
-
var __getOwnPropSymbols$
|
|
910
|
-
var __hasOwnProp$
|
|
911
|
-
var __propIsEnum$
|
|
912
|
-
var __defNormalProp$
|
|
913
|
-
var __spreadValues$
|
|
962
|
+
var __defProp$7 = Object.defineProperty;
|
|
963
|
+
var __defProps$4 = Object.defineProperties;
|
|
964
|
+
var __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;
|
|
965
|
+
var __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;
|
|
966
|
+
var __hasOwnProp$7 = Object.prototype.hasOwnProperty;
|
|
967
|
+
var __propIsEnum$7 = Object.prototype.propertyIsEnumerable;
|
|
968
|
+
var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
969
|
+
var __spreadValues$7 = (a, b) => {
|
|
914
970
|
for (var prop in b || (b = {}))
|
|
915
|
-
if (__hasOwnProp$
|
|
916
|
-
__defNormalProp$
|
|
917
|
-
if (__getOwnPropSymbols$
|
|
918
|
-
for (var prop of __getOwnPropSymbols$
|
|
919
|
-
if (__propIsEnum$
|
|
920
|
-
__defNormalProp$
|
|
971
|
+
if (__hasOwnProp$7.call(b, prop))
|
|
972
|
+
__defNormalProp$7(a, prop, b[prop]);
|
|
973
|
+
if (__getOwnPropSymbols$7)
|
|
974
|
+
for (var prop of __getOwnPropSymbols$7(b)) {
|
|
975
|
+
if (__propIsEnum$7.call(b, prop))
|
|
976
|
+
__defNormalProp$7(a, prop, b[prop]);
|
|
921
977
|
}
|
|
922
978
|
return a;
|
|
923
979
|
};
|
|
924
|
-
var __spreadProps$
|
|
925
|
-
var __objRest$
|
|
980
|
+
var __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));
|
|
981
|
+
var __objRest$2 = (source, exclude) => {
|
|
926
982
|
var target = {};
|
|
927
983
|
for (var prop in source)
|
|
928
|
-
if (__hasOwnProp$
|
|
984
|
+
if (__hasOwnProp$7.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
929
985
|
target[prop] = source[prop];
|
|
930
|
-
if (source != null && __getOwnPropSymbols$
|
|
931
|
-
for (var prop of __getOwnPropSymbols$
|
|
932
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum$
|
|
986
|
+
if (source != null && __getOwnPropSymbols$7)
|
|
987
|
+
for (var prop of __getOwnPropSymbols$7(source)) {
|
|
988
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum$7.call(source, prop))
|
|
933
989
|
target[prop] = source[prop];
|
|
934
990
|
}
|
|
935
991
|
return target;
|
|
@@ -940,7 +996,7 @@ function omitUndefined(x) {
|
|
|
940
996
|
);
|
|
941
997
|
}
|
|
942
998
|
function processNavItems(navMenuItems) {
|
|
943
|
-
return navMenuItems.filter((item) => item.condition === void 0 || item.condition).map((item) => __spreadProps$
|
|
999
|
+
return navMenuItems.filter((item) => item.condition === void 0 || item.condition).map((item) => __spreadProps$4(__spreadValues$7({}, item), {
|
|
944
1000
|
// We fill a default path because otherwise the item doesn't appear at all.
|
|
945
1001
|
path: item.path || "/",
|
|
946
1002
|
routes: item.routes ? processNavItems(item.routes) : void 0
|
|
@@ -972,7 +1028,7 @@ function RichLayout(_a) {
|
|
|
972
1028
|
simpleNavTheme,
|
|
973
1029
|
logo,
|
|
974
1030
|
logoElement
|
|
975
|
-
} = _b, layoutProps = __objRest$
|
|
1031
|
+
} = _b, layoutProps = __objRest$2(_b, [
|
|
976
1032
|
"children",
|
|
977
1033
|
"navMenuItems",
|
|
978
1034
|
"rootUrl",
|
|
@@ -1041,7 +1097,7 @@ function RichLayout(_a) {
|
|
|
1041
1097
|
};
|
|
1042
1098
|
return /* @__PURE__ */ React.createElement("div", { className, style: { display: "flex" } }, /* @__PURE__ */ React.createElement("style", null, baseStyles), /* @__PURE__ */ React.createElement(
|
|
1043
1099
|
ProLayout,
|
|
1044
|
-
__spreadProps$
|
|
1100
|
+
__spreadProps$4(__spreadValues$7({}, layoutProps), {
|
|
1045
1101
|
pageTitleRender: () => "",
|
|
1046
1102
|
logo: logo != null ? logo : logoElement,
|
|
1047
1103
|
headerRender: (_props, defaultDom) => /* @__PURE__ */ React.createElement(
|
|
@@ -1052,7 +1108,7 @@ function RichLayout(_a) {
|
|
|
1052
1108
|
/* @__PURE__ */ React.createElement(ProConfigProvider, { dark: !isNavBgLight }, defaultDom)
|
|
1053
1109
|
),
|
|
1054
1110
|
token: {
|
|
1055
|
-
header: omitUndefined(__spreadValues$
|
|
1111
|
+
header: omitUndefined(__spreadValues$7({
|
|
1056
1112
|
colorBgHeader: navBgColor
|
|
1057
1113
|
}, layoutColorOverrides)),
|
|
1058
1114
|
// Ideally, we'd do something similar to headerRender above, and just specify general dark mode to specify
|
|
@@ -1122,19 +1178,19 @@ function RichLayout(_a) {
|
|
|
1122
1178
|
));
|
|
1123
1179
|
}
|
|
1124
1180
|
|
|
1125
|
-
var __defProp$
|
|
1126
|
-
var __getOwnPropSymbols$
|
|
1127
|
-
var __hasOwnProp$
|
|
1128
|
-
var __propIsEnum$
|
|
1129
|
-
var __defNormalProp$
|
|
1130
|
-
var __spreadValues$
|
|
1181
|
+
var __defProp$6 = Object.defineProperty;
|
|
1182
|
+
var __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;
|
|
1183
|
+
var __hasOwnProp$6 = Object.prototype.hasOwnProperty;
|
|
1184
|
+
var __propIsEnum$6 = Object.prototype.propertyIsEnumerable;
|
|
1185
|
+
var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1186
|
+
var __spreadValues$6 = (a, b) => {
|
|
1131
1187
|
for (var prop in b || (b = {}))
|
|
1132
|
-
if (__hasOwnProp$
|
|
1133
|
-
__defNormalProp$
|
|
1134
|
-
if (__getOwnPropSymbols$
|
|
1135
|
-
for (var prop of __getOwnPropSymbols$
|
|
1136
|
-
if (__propIsEnum$
|
|
1137
|
-
__defNormalProp$
|
|
1188
|
+
if (__hasOwnProp$6.call(b, prop))
|
|
1189
|
+
__defNormalProp$6(a, prop, b[prop]);
|
|
1190
|
+
if (__getOwnPropSymbols$6)
|
|
1191
|
+
for (var prop of __getOwnPropSymbols$6(b)) {
|
|
1192
|
+
if (__propIsEnum$6.call(b, prop))
|
|
1193
|
+
__defNormalProp$6(a, prop, b[prop]);
|
|
1138
1194
|
}
|
|
1139
1195
|
return a;
|
|
1140
1196
|
};
|
|
@@ -1147,7 +1203,7 @@ function generateNavMenuType(isNested, remainingDepth, displayName, defaultValue
|
|
|
1147
1203
|
itemType: {
|
|
1148
1204
|
type: "object",
|
|
1149
1205
|
nameFunc: (item) => item.name || (!displayName ? "Unnamed nested item" : "Unnamed item"),
|
|
1150
|
-
fields: __spreadValues$
|
|
1206
|
+
fields: __spreadValues$6({
|
|
1151
1207
|
path: "href",
|
|
1152
1208
|
name: "string",
|
|
1153
1209
|
condition: {
|
|
@@ -1426,25 +1482,25 @@ function renderActions(rowActions, row, data, rowKey) {
|
|
|
1426
1482
|
});
|
|
1427
1483
|
}
|
|
1428
1484
|
|
|
1429
|
-
var __defProp$
|
|
1430
|
-
var __defProps$
|
|
1431
|
-
var __getOwnPropDescs$
|
|
1432
|
-
var __getOwnPropSymbols$
|
|
1433
|
-
var __hasOwnProp$
|
|
1434
|
-
var __propIsEnum$
|
|
1435
|
-
var __defNormalProp$
|
|
1436
|
-
var __spreadValues$
|
|
1485
|
+
var __defProp$5 = Object.defineProperty;
|
|
1486
|
+
var __defProps$3 = Object.defineProperties;
|
|
1487
|
+
var __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;
|
|
1488
|
+
var __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;
|
|
1489
|
+
var __hasOwnProp$5 = Object.prototype.hasOwnProperty;
|
|
1490
|
+
var __propIsEnum$5 = Object.prototype.propertyIsEnumerable;
|
|
1491
|
+
var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1492
|
+
var __spreadValues$5 = (a, b) => {
|
|
1437
1493
|
for (var prop in b || (b = {}))
|
|
1438
|
-
if (__hasOwnProp$
|
|
1439
|
-
__defNormalProp$
|
|
1440
|
-
if (__getOwnPropSymbols$
|
|
1441
|
-
for (var prop of __getOwnPropSymbols$
|
|
1442
|
-
if (__propIsEnum$
|
|
1443
|
-
__defNormalProp$
|
|
1494
|
+
if (__hasOwnProp$5.call(b, prop))
|
|
1495
|
+
__defNormalProp$5(a, prop, b[prop]);
|
|
1496
|
+
if (__getOwnPropSymbols$5)
|
|
1497
|
+
for (var prop of __getOwnPropSymbols$5(b)) {
|
|
1498
|
+
if (__propIsEnum$5.call(b, prop))
|
|
1499
|
+
__defNormalProp$5(a, prop, b[prop]);
|
|
1444
1500
|
}
|
|
1445
1501
|
return a;
|
|
1446
1502
|
};
|
|
1447
|
-
var __spreadProps$
|
|
1503
|
+
var __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));
|
|
1448
1504
|
function RichTable(props) {
|
|
1449
1505
|
const {
|
|
1450
1506
|
className,
|
|
@@ -1489,7 +1545,7 @@ function RichTable(props) {
|
|
|
1489
1545
|
}
|
|
1490
1546
|
return /* @__PURE__ */ React.createElement("div", { className: `${className} ${scopeClassName != null ? scopeClassName : ""}` }, /* @__PURE__ */ React.createElement(ErrorBoundary, { canvasEnvId: props["data-plasmic-canvas-envs"] }, /* @__PURE__ */ React.createElement(
|
|
1491
1547
|
ProTable,
|
|
1492
|
-
__spreadProps$
|
|
1548
|
+
__spreadProps$3(__spreadValues$5({
|
|
1493
1549
|
ErrorBoundary: false,
|
|
1494
1550
|
rowClassName: props.onRowClick || props.canSelectRows === "click" ? "plasmic-table-row-clickable" : void 0,
|
|
1495
1551
|
actionRef,
|
|
@@ -1613,7 +1669,7 @@ function RichTable(props) {
|
|
|
1613
1669
|
}
|
|
1614
1670
|
));
|
|
1615
1671
|
}
|
|
1616
|
-
const defaultColumnConfig$
|
|
1672
|
+
const defaultColumnConfig$2 = () => ({
|
|
1617
1673
|
key: mkShortId(),
|
|
1618
1674
|
isEditableExpr: () => false,
|
|
1619
1675
|
disableSorting: false,
|
|
@@ -1633,13 +1689,13 @@ function useColumnDefinitions(data, props) {
|
|
|
1633
1689
|
if (!data || !schema) {
|
|
1634
1690
|
return { normalized: [], columnDefinitions: [] };
|
|
1635
1691
|
}
|
|
1636
|
-
const { mergedFields, minimalFullLengthFields } = deriveFieldConfigs(fields != null ? fields : [], schema, (field) => __spreadValues$
|
|
1692
|
+
const { mergedFields, minimalFullLengthFields } = deriveFieldConfigs(fields != null ? fields : [], schema, (field) => __spreadValues$5(__spreadValues$5({}, defaultColumnConfig$2()), field && {
|
|
1637
1693
|
key: field.id,
|
|
1638
1694
|
fieldId: field.id,
|
|
1639
1695
|
title: field.label || field.id,
|
|
1640
1696
|
expr: (currentItem) => currentItem[field.id]
|
|
1641
1697
|
}));
|
|
1642
|
-
setControlContextData == null ? void 0 : setControlContextData(__spreadProps$
|
|
1698
|
+
setControlContextData == null ? void 0 : setControlContextData(__spreadProps$3(__spreadValues$5({}, data), { mergedFields, minimalFullLengthFields }));
|
|
1643
1699
|
const normalized = mergedFields;
|
|
1644
1700
|
const columnDefinitions = normalized.filter((cconfig) => !cconfig.isHidden).map((cconfig, _columnIndex, _columnsArray) => {
|
|
1645
1701
|
const columnDefinition = {
|
|
@@ -1707,7 +1763,7 @@ function useRowSelectionProps(data, props) {
|
|
|
1707
1763
|
return [];
|
|
1708
1764
|
}
|
|
1709
1765
|
};
|
|
1710
|
-
const rowSelection = canSelectRows && canSelectRows !== "none" ? __spreadValues$
|
|
1766
|
+
const rowSelection = canSelectRows && canSelectRows !== "none" ? __spreadValues$5({
|
|
1711
1767
|
type: canSelectRows === "single" || canSelectRows === "click" ? "radio" : "checkbox",
|
|
1712
1768
|
selectedRowKeys: deriveSelectedRowKeys(),
|
|
1713
1769
|
onChange: (rowKeys, rows) => {
|
|
@@ -1797,6 +1853,44 @@ function ExportMenu(props) {
|
|
|
1797
1853
|
);
|
|
1798
1854
|
}
|
|
1799
1855
|
|
|
1856
|
+
function roleProp({
|
|
1857
|
+
role,
|
|
1858
|
+
singular = false,
|
|
1859
|
+
advanced = false,
|
|
1860
|
+
displayName
|
|
1861
|
+
}) {
|
|
1862
|
+
return singular ? {
|
|
1863
|
+
type: "object",
|
|
1864
|
+
displayName: displayName || `${capitalize(role)} field`,
|
|
1865
|
+
advanced,
|
|
1866
|
+
hidden: (ps) => !ps.data,
|
|
1867
|
+
nameFunc: (item) => maybe(
|
|
1868
|
+
item,
|
|
1869
|
+
(i) => i.isHidden ? "Hidden" : i.fieldId || "Custom value"
|
|
1870
|
+
),
|
|
1871
|
+
fields: getFieldSubprops({
|
|
1872
|
+
canChangeField: true,
|
|
1873
|
+
noTitle: true
|
|
1874
|
+
}),
|
|
1875
|
+
defaultValueHint: (_props, contextData) => {
|
|
1876
|
+
var _a;
|
|
1877
|
+
return ((_a = contextData == null ? void 0 : contextData.minimalFullLengthFields) != null ? _a : []).find(
|
|
1878
|
+
(f) => f.role === role
|
|
1879
|
+
);
|
|
1880
|
+
}
|
|
1881
|
+
} : buildFieldsPropType({
|
|
1882
|
+
displayName: displayName || `${capitalize(role)} fields`,
|
|
1883
|
+
advanced,
|
|
1884
|
+
noTitle: true,
|
|
1885
|
+
canChangeField: true,
|
|
1886
|
+
minimalValue: (_props, contextData) => {
|
|
1887
|
+
var _a;
|
|
1888
|
+
return ((_a = contextData == null ? void 0 : contextData.minimalFullLengthFields) != null ? _a : []).filter(
|
|
1889
|
+
(f) => f.role === role
|
|
1890
|
+
);
|
|
1891
|
+
}
|
|
1892
|
+
});
|
|
1893
|
+
}
|
|
1800
1894
|
function dataProp() {
|
|
1801
1895
|
return {
|
|
1802
1896
|
type: "dataSourceOpData",
|
|
@@ -1886,25 +1980,25 @@ function onRowClickProp() {
|
|
|
1886
1980
|
};
|
|
1887
1981
|
}
|
|
1888
1982
|
|
|
1889
|
-
var __defProp$
|
|
1890
|
-
var __defProps$
|
|
1891
|
-
var __getOwnPropDescs$
|
|
1892
|
-
var __getOwnPropSymbols$
|
|
1893
|
-
var __hasOwnProp$
|
|
1894
|
-
var __propIsEnum$
|
|
1895
|
-
var __defNormalProp$
|
|
1896
|
-
var __spreadValues$
|
|
1983
|
+
var __defProp$4 = Object.defineProperty;
|
|
1984
|
+
var __defProps$2 = Object.defineProperties;
|
|
1985
|
+
var __getOwnPropDescs$2 = Object.getOwnPropertyDescriptors;
|
|
1986
|
+
var __getOwnPropSymbols$4 = Object.getOwnPropertySymbols;
|
|
1987
|
+
var __hasOwnProp$4 = Object.prototype.hasOwnProperty;
|
|
1988
|
+
var __propIsEnum$4 = Object.prototype.propertyIsEnumerable;
|
|
1989
|
+
var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1990
|
+
var __spreadValues$4 = (a, b) => {
|
|
1897
1991
|
for (var prop in b || (b = {}))
|
|
1898
|
-
if (__hasOwnProp$
|
|
1899
|
-
__defNormalProp$
|
|
1900
|
-
if (__getOwnPropSymbols$
|
|
1901
|
-
for (var prop of __getOwnPropSymbols$
|
|
1902
|
-
if (__propIsEnum$
|
|
1903
|
-
__defNormalProp$
|
|
1992
|
+
if (__hasOwnProp$4.call(b, prop))
|
|
1993
|
+
__defNormalProp$4(a, prop, b[prop]);
|
|
1994
|
+
if (__getOwnPropSymbols$4)
|
|
1995
|
+
for (var prop of __getOwnPropSymbols$4(b)) {
|
|
1996
|
+
if (__propIsEnum$4.call(b, prop))
|
|
1997
|
+
__defNormalProp$4(a, prop, b[prop]);
|
|
1904
1998
|
}
|
|
1905
1999
|
return a;
|
|
1906
2000
|
};
|
|
1907
|
-
var __spreadProps$
|
|
2001
|
+
var __spreadProps$2 = (a, b) => __defProps$2(a, __getOwnPropDescs$2(b));
|
|
1908
2002
|
const tableHelpers = {
|
|
1909
2003
|
states: {
|
|
1910
2004
|
selectedRow: {
|
|
@@ -1937,7 +2031,7 @@ const dataTableMeta = {
|
|
|
1937
2031
|
padding: "16px",
|
|
1938
2032
|
maxHeight: "100%"
|
|
1939
2033
|
},
|
|
1940
|
-
props: __spreadProps$
|
|
2034
|
+
props: __spreadProps$2(__spreadValues$4({
|
|
1941
2035
|
data: dataProp(),
|
|
1942
2036
|
fields: buildFieldsPropType({}),
|
|
1943
2037
|
canSelectRows: {
|
|
@@ -2038,24 +2132,24 @@ const dataTableMeta = {
|
|
|
2038
2132
|
}
|
|
2039
2133
|
}),
|
|
2040
2134
|
states: {
|
|
2041
|
-
selectedRowKey: __spreadValues$
|
|
2135
|
+
selectedRowKey: __spreadValues$4({
|
|
2042
2136
|
type: "writable",
|
|
2043
2137
|
valueProp: "selectedRowKey",
|
|
2044
2138
|
onChangeProp: "onRowSelectionChanged",
|
|
2045
2139
|
variableType: "text"
|
|
2046
2140
|
}, tableHelpers.states.selectedRowKey),
|
|
2047
|
-
selectedRowKeys: __spreadValues$
|
|
2141
|
+
selectedRowKeys: __spreadValues$4({
|
|
2048
2142
|
type: "writable",
|
|
2049
2143
|
valueProp: "selectedRowKeys",
|
|
2050
2144
|
onChangeProp: "onRowSelectionChanged",
|
|
2051
2145
|
variableType: "array"
|
|
2052
2146
|
}, tableHelpers.states.selectedRowKeys),
|
|
2053
|
-
selectedRow: __spreadValues$
|
|
2147
|
+
selectedRow: __spreadValues$4({
|
|
2054
2148
|
type: "readonly",
|
|
2055
2149
|
onChangeProp: "onRowSelectionChanged",
|
|
2056
2150
|
variableType: "object"
|
|
2057
2151
|
}, tableHelpers.states.selectedRow),
|
|
2058
|
-
selectedRows: __spreadValues$
|
|
2152
|
+
selectedRows: __spreadValues$4({
|
|
2059
2153
|
type: "readonly",
|
|
2060
2154
|
onChangeProp: "onRowSelectionChanged",
|
|
2061
2155
|
variableType: "array"
|
|
@@ -2073,33 +2167,33 @@ function registerRichTable(loader) {
|
|
|
2073
2167
|
registerComponentHelper(loader, RichTable, dataTableMeta);
|
|
2074
2168
|
}
|
|
2075
2169
|
|
|
2076
|
-
var __defProp$
|
|
2077
|
-
var __defProps = Object.defineProperties;
|
|
2078
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
2079
|
-
var __getOwnPropSymbols$
|
|
2080
|
-
var __hasOwnProp$
|
|
2081
|
-
var __propIsEnum$
|
|
2082
|
-
var __defNormalProp$
|
|
2083
|
-
var __spreadValues$
|
|
2170
|
+
var __defProp$3 = Object.defineProperty;
|
|
2171
|
+
var __defProps$1 = Object.defineProperties;
|
|
2172
|
+
var __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors;
|
|
2173
|
+
var __getOwnPropSymbols$3 = Object.getOwnPropertySymbols;
|
|
2174
|
+
var __hasOwnProp$3 = Object.prototype.hasOwnProperty;
|
|
2175
|
+
var __propIsEnum$3 = Object.prototype.propertyIsEnumerable;
|
|
2176
|
+
var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
2177
|
+
var __spreadValues$3 = (a, b) => {
|
|
2084
2178
|
for (var prop in b || (b = {}))
|
|
2085
|
-
if (__hasOwnProp$
|
|
2086
|
-
__defNormalProp$
|
|
2087
|
-
if (__getOwnPropSymbols$
|
|
2088
|
-
for (var prop of __getOwnPropSymbols$
|
|
2089
|
-
if (__propIsEnum$
|
|
2090
|
-
__defNormalProp$
|
|
2179
|
+
if (__hasOwnProp$3.call(b, prop))
|
|
2180
|
+
__defNormalProp$3(a, prop, b[prop]);
|
|
2181
|
+
if (__getOwnPropSymbols$3)
|
|
2182
|
+
for (var prop of __getOwnPropSymbols$3(b)) {
|
|
2183
|
+
if (__propIsEnum$3.call(b, prop))
|
|
2184
|
+
__defNormalProp$3(a, prop, b[prop]);
|
|
2091
2185
|
}
|
|
2092
2186
|
return a;
|
|
2093
2187
|
};
|
|
2094
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
2095
|
-
var __objRest = (source, exclude) => {
|
|
2188
|
+
var __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));
|
|
2189
|
+
var __objRest$1 = (source, exclude) => {
|
|
2096
2190
|
var target = {};
|
|
2097
2191
|
for (var prop in source)
|
|
2098
|
-
if (__hasOwnProp$
|
|
2192
|
+
if (__hasOwnProp$3.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
2099
2193
|
target[prop] = source[prop];
|
|
2100
|
-
if (source != null && __getOwnPropSymbols$
|
|
2101
|
-
for (var prop of __getOwnPropSymbols$
|
|
2102
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum$
|
|
2194
|
+
if (source != null && __getOwnPropSymbols$3)
|
|
2195
|
+
for (var prop of __getOwnPropSymbols$3(source)) {
|
|
2196
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum$3.call(source, prop))
|
|
2103
2197
|
target[prop] = source[prop];
|
|
2104
2198
|
}
|
|
2105
2199
|
return target;
|
|
@@ -2177,7 +2271,7 @@ function RichList(props) {
|
|
|
2177
2271
|
rowKey,
|
|
2178
2272
|
pagination = true,
|
|
2179
2273
|
onRowClick
|
|
2180
|
-
} = _a; __objRest(_a, [
|
|
2274
|
+
} = _a; __objRest$1(_a, [
|
|
2181
2275
|
"data",
|
|
2182
2276
|
"type",
|
|
2183
2277
|
"bordered",
|
|
@@ -2194,7 +2288,7 @@ function RichList(props) {
|
|
|
2194
2288
|
"onRowClick"
|
|
2195
2289
|
]);
|
|
2196
2290
|
const data = normalizeData(rawData);
|
|
2197
|
-
const { normalized, finalRoles: roleConfigs } = useRoleDefinitions(
|
|
2291
|
+
const { normalized, finalRoles: roleConfigs } = useRoleDefinitions$1(
|
|
2198
2292
|
data,
|
|
2199
2293
|
props
|
|
2200
2294
|
);
|
|
@@ -2324,7 +2418,7 @@ function ListItemContent(_a) {
|
|
|
2324
2418
|
afterTitle,
|
|
2325
2419
|
content,
|
|
2326
2420
|
bordered
|
|
2327
|
-
} = _b, others = __objRest(_b, [
|
|
2421
|
+
} = _b, others = __objRest$1(_b, [
|
|
2328
2422
|
"className",
|
|
2329
2423
|
"title",
|
|
2330
2424
|
"subtitle",
|
|
@@ -2338,7 +2432,7 @@ function ListItemContent(_a) {
|
|
|
2338
2432
|
const classString = classNames(`${prefixCls}-item-meta`, className);
|
|
2339
2433
|
return /* @__PURE__ */ React.createElement(
|
|
2340
2434
|
"div",
|
|
2341
|
-
__spreadProps(__spreadValues$
|
|
2435
|
+
__spreadProps$1(__spreadValues$3({}, others), {
|
|
2342
2436
|
className: classNames(
|
|
2343
2437
|
{
|
|
2344
2438
|
"plasmic-list-item-content--unbordered": !bordered
|
|
@@ -2367,7 +2461,7 @@ function ListItemContent(_a) {
|
|
|
2367
2461
|
)
|
|
2368
2462
|
);
|
|
2369
2463
|
}
|
|
2370
|
-
const defaultColumnConfig = () => ({
|
|
2464
|
+
const defaultColumnConfig$1 = () => ({
|
|
2371
2465
|
key: mkShortId(),
|
|
2372
2466
|
isEditableExpr: () => false,
|
|
2373
2467
|
disableSorting: false,
|
|
@@ -2381,7 +2475,7 @@ const defaultColumnConfig = () => ({
|
|
|
2381
2475
|
dataType: "auto",
|
|
2382
2476
|
role: void 0
|
|
2383
2477
|
});
|
|
2384
|
-
const roles = [
|
|
2478
|
+
const roles$1 = [
|
|
2385
2479
|
"content",
|
|
2386
2480
|
"title",
|
|
2387
2481
|
"subtitle",
|
|
@@ -2390,7 +2484,7 @@ const roles = [
|
|
|
2390
2484
|
"image",
|
|
2391
2485
|
"unset"
|
|
2392
2486
|
];
|
|
2393
|
-
function useRoleDefinitions(data, props) {
|
|
2487
|
+
function useRoleDefinitions$1(data, props) {
|
|
2394
2488
|
const { fields, setControlContextData, rowActions } = props;
|
|
2395
2489
|
return React.useMemo(() => {
|
|
2396
2490
|
var _a, _b, _c, _d;
|
|
@@ -2403,7 +2497,7 @@ function useRoleDefinitions(data, props) {
|
|
|
2403
2497
|
var _a2;
|
|
2404
2498
|
if (role !== "unset") {
|
|
2405
2499
|
return ensureArray((_a2 = props[role]) != null ? _a2 : []).map((field) => {
|
|
2406
|
-
return __spreadProps(__spreadValues$
|
|
2500
|
+
return __spreadProps$1(__spreadValues$3({}, field), {
|
|
2407
2501
|
role
|
|
2408
2502
|
});
|
|
2409
2503
|
});
|
|
@@ -2423,7 +2517,7 @@ function useRoleDefinitions(data, props) {
|
|
|
2423
2517
|
return deriveFieldConfigs(
|
|
2424
2518
|
mode === "defaults" ? [] : specifiedFieldsPartial,
|
|
2425
2519
|
schema,
|
|
2426
|
-
(field) => __spreadValues$
|
|
2520
|
+
(field) => __spreadValues$3(__spreadValues$3({}, defaultColumnConfig$1()), field && {
|
|
2427
2521
|
key: field.id,
|
|
2428
2522
|
fieldId: field.id,
|
|
2429
2523
|
title: field.label || field.id,
|
|
@@ -2514,12 +2608,12 @@ function useRoleDefinitions(data, props) {
|
|
|
2514
2608
|
groupBy(mergedFieldsWithDefaults, (f) => f.role)
|
|
2515
2609
|
);
|
|
2516
2610
|
const finalRoles = {};
|
|
2517
|
-
for (const role of roles) {
|
|
2611
|
+
for (const role of roles$1) {
|
|
2518
2612
|
if (role !== "unset") {
|
|
2519
2613
|
finalRoles[role] = (_d = maybe(props[role], ensureArray)) != null ? _d : roleConfigs[role];
|
|
2520
2614
|
}
|
|
2521
2615
|
}
|
|
2522
|
-
setControlContextData == null ? void 0 : setControlContextData(__spreadProps(__spreadValues$
|
|
2616
|
+
setControlContextData == null ? void 0 : setControlContextData(__spreadProps$1(__spreadValues$3({}, data), {
|
|
2523
2617
|
mergedFields: mergedFieldsWithDefaults,
|
|
2524
2618
|
minimalFullLengthFields: minimalFullLengthFieldsWithDefaults
|
|
2525
2619
|
}));
|
|
@@ -2528,60 +2622,22 @@ function useRoleDefinitions(data, props) {
|
|
|
2528
2622
|
}, [fields, data, setControlContextData, rowActions]);
|
|
2529
2623
|
}
|
|
2530
2624
|
|
|
2531
|
-
var __defProp = Object.defineProperty;
|
|
2532
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
2533
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
2534
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
2535
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
2536
|
-
var __spreadValues = (a, b) => {
|
|
2625
|
+
var __defProp$2 = Object.defineProperty;
|
|
2626
|
+
var __getOwnPropSymbols$2 = Object.getOwnPropertySymbols;
|
|
2627
|
+
var __hasOwnProp$2 = Object.prototype.hasOwnProperty;
|
|
2628
|
+
var __propIsEnum$2 = Object.prototype.propertyIsEnumerable;
|
|
2629
|
+
var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
2630
|
+
var __spreadValues$2 = (a, b) => {
|
|
2537
2631
|
for (var prop in b || (b = {}))
|
|
2538
|
-
if (__hasOwnProp.call(b, prop))
|
|
2539
|
-
__defNormalProp(a, prop, b[prop]);
|
|
2540
|
-
if (__getOwnPropSymbols)
|
|
2541
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
2542
|
-
if (__propIsEnum.call(b, prop))
|
|
2543
|
-
__defNormalProp(a, prop, b[prop]);
|
|
2632
|
+
if (__hasOwnProp$2.call(b, prop))
|
|
2633
|
+
__defNormalProp$2(a, prop, b[prop]);
|
|
2634
|
+
if (__getOwnPropSymbols$2)
|
|
2635
|
+
for (var prop of __getOwnPropSymbols$2(b)) {
|
|
2636
|
+
if (__propIsEnum$2.call(b, prop))
|
|
2637
|
+
__defNormalProp$2(a, prop, b[prop]);
|
|
2544
2638
|
}
|
|
2545
2639
|
return a;
|
|
2546
2640
|
};
|
|
2547
|
-
function roleProp({
|
|
2548
|
-
role,
|
|
2549
|
-
singular = false,
|
|
2550
|
-
advanced = false,
|
|
2551
|
-
displayName
|
|
2552
|
-
}) {
|
|
2553
|
-
return singular ? {
|
|
2554
|
-
type: "object",
|
|
2555
|
-
displayName,
|
|
2556
|
-
advanced,
|
|
2557
|
-
hidden: (ps) => !ps.data,
|
|
2558
|
-
nameFunc: (item) => maybe(
|
|
2559
|
-
item,
|
|
2560
|
-
(i) => i.isHidden ? "Hidden" : i.fieldId || "Custom value"
|
|
2561
|
-
),
|
|
2562
|
-
fields: getFieldSubprops({
|
|
2563
|
-
canChangeField: true,
|
|
2564
|
-
noTitle: true
|
|
2565
|
-
}),
|
|
2566
|
-
defaultValueHint: (_props, contextData) => {
|
|
2567
|
-
var _a;
|
|
2568
|
-
return ((_a = contextData == null ? void 0 : contextData.minimalFullLengthFields) != null ? _a : []).find(
|
|
2569
|
-
(f) => f.role === role
|
|
2570
|
-
);
|
|
2571
|
-
}
|
|
2572
|
-
} : buildFieldsPropType({
|
|
2573
|
-
displayName,
|
|
2574
|
-
advanced,
|
|
2575
|
-
noTitle: true,
|
|
2576
|
-
canChangeField: true,
|
|
2577
|
-
minimalValue: (_props, contextData) => {
|
|
2578
|
-
var _a;
|
|
2579
|
-
return ((_a = contextData == null ? void 0 : contextData.minimalFullLengthFields) != null ? _a : []).filter(
|
|
2580
|
-
(f) => f.role === role
|
|
2581
|
-
);
|
|
2582
|
-
}
|
|
2583
|
-
});
|
|
2584
|
-
}
|
|
2585
2641
|
const richListMeta = {
|
|
2586
2642
|
name: "hostless-rich-list",
|
|
2587
2643
|
displayName: "Data List",
|
|
@@ -2591,7 +2647,7 @@ const richListMeta = {
|
|
|
2591
2647
|
maxHeight: "100%"
|
|
2592
2648
|
},
|
|
2593
2649
|
defaultDisplay: "block",
|
|
2594
|
-
props: __spreadValues({
|
|
2650
|
+
props: __spreadValues$2({
|
|
2595
2651
|
data: dataProp(),
|
|
2596
2652
|
type: {
|
|
2597
2653
|
type: "choice",
|
|
@@ -2614,7 +2670,6 @@ const richListMeta = {
|
|
|
2614
2670
|
image: roleProp({ role: "image", singular: true }),
|
|
2615
2671
|
subtitle: roleProp({
|
|
2616
2672
|
role: "subtitle",
|
|
2617
|
-
displayName: "Subtitle",
|
|
2618
2673
|
advanced: true
|
|
2619
2674
|
}),
|
|
2620
2675
|
// Haven't styled these yet!
|
|
@@ -2649,11 +2704,471 @@ function registerRichList(loader) {
|
|
|
2649
2704
|
registerComponentHelper(loader, RichList, richListMeta);
|
|
2650
2705
|
}
|
|
2651
2706
|
|
|
2707
|
+
var __defProp$1 = Object.defineProperty;
|
|
2708
|
+
var __defProps = Object.defineProperties;
|
|
2709
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
2710
|
+
var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;
|
|
2711
|
+
var __hasOwnProp$1 = Object.prototype.hasOwnProperty;
|
|
2712
|
+
var __propIsEnum$1 = Object.prototype.propertyIsEnumerable;
|
|
2713
|
+
var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
2714
|
+
var __spreadValues$1 = (a, b) => {
|
|
2715
|
+
for (var prop in b || (b = {}))
|
|
2716
|
+
if (__hasOwnProp$1.call(b, prop))
|
|
2717
|
+
__defNormalProp$1(a, prop, b[prop]);
|
|
2718
|
+
if (__getOwnPropSymbols$1)
|
|
2719
|
+
for (var prop of __getOwnPropSymbols$1(b)) {
|
|
2720
|
+
if (__propIsEnum$1.call(b, prop))
|
|
2721
|
+
__defNormalProp$1(a, prop, b[prop]);
|
|
2722
|
+
}
|
|
2723
|
+
return a;
|
|
2724
|
+
};
|
|
2725
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
2726
|
+
var __objRest = (source, exclude) => {
|
|
2727
|
+
var target = {};
|
|
2728
|
+
for (var prop in source)
|
|
2729
|
+
if (__hasOwnProp$1.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
2730
|
+
target[prop] = source[prop];
|
|
2731
|
+
if (source != null && __getOwnPropSymbols$1)
|
|
2732
|
+
for (var prop of __getOwnPropSymbols$1(source)) {
|
|
2733
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum$1.call(source, prop))
|
|
2734
|
+
target[prop] = source[prop];
|
|
2735
|
+
}
|
|
2736
|
+
return target;
|
|
2737
|
+
};
|
|
2738
|
+
function getEventFullDate(date) {
|
|
2739
|
+
var _a;
|
|
2740
|
+
return ((_a = parseDate(date)) == null ? void 0 : _a.toISODate()) || void 0;
|
|
2741
|
+
}
|
|
2742
|
+
function getEventMonthYear(date) {
|
|
2743
|
+
var _a;
|
|
2744
|
+
return (_a = getEventFullDate(date)) == null ? void 0 : _a.substring(0, 7);
|
|
2745
|
+
}
|
|
2746
|
+
function EventCell({ events }) {
|
|
2747
|
+
if (!events || !events.length)
|
|
2748
|
+
return null;
|
|
2749
|
+
return /* @__PURE__ */ React.createElement("ul", { style: { all: "unset" } }, events.map((e) => /* @__PURE__ */ React.createElement("li", { key: JSON.stringify(e), style: { all: "unset", display: "block" } }, /* @__PURE__ */ React.createElement(Badge, { color: e.color || "green", text: e.title }))));
|
|
2750
|
+
}
|
|
2751
|
+
function RichCalendar(props) {
|
|
2752
|
+
const _a = props, {
|
|
2753
|
+
data: rawData = {
|
|
2754
|
+
data: [],
|
|
2755
|
+
schema: {
|
|
2756
|
+
id: "inferred",
|
|
2757
|
+
fields: [
|
|
2758
|
+
{
|
|
2759
|
+
id: "id",
|
|
2760
|
+
type: "string",
|
|
2761
|
+
readOnly: false
|
|
2762
|
+
}
|
|
2763
|
+
]
|
|
2764
|
+
}
|
|
2765
|
+
},
|
|
2766
|
+
value: isoValue,
|
|
2767
|
+
defaultValue: isoDefaultValue,
|
|
2768
|
+
validRange: isoValidRange,
|
|
2769
|
+
dateCellRender,
|
|
2770
|
+
dateFullCellRender,
|
|
2771
|
+
monthCellRender,
|
|
2772
|
+
monthFullCellRender
|
|
2773
|
+
} = _a, rest = __objRest(_a, [
|
|
2774
|
+
"data",
|
|
2775
|
+
"value",
|
|
2776
|
+
"defaultValue",
|
|
2777
|
+
"validRange",
|
|
2778
|
+
"dateCellRender",
|
|
2779
|
+
"dateFullCellRender",
|
|
2780
|
+
"monthCellRender",
|
|
2781
|
+
"monthFullCellRender"
|
|
2782
|
+
]);
|
|
2783
|
+
const data = normalizeData(rawData);
|
|
2784
|
+
const { normalized, finalRoles: roleConfigs } = useRoleDefinitions(
|
|
2785
|
+
data,
|
|
2786
|
+
props
|
|
2787
|
+
);
|
|
2788
|
+
const {
|
|
2789
|
+
eventsByDate,
|
|
2790
|
+
eventsByMonth
|
|
2791
|
+
} = useMemo(() => {
|
|
2792
|
+
if (!data)
|
|
2793
|
+
return { eventsByDate: {}, eventsByMonth: {} };
|
|
2794
|
+
return data == null ? void 0 : data.data.reduce(
|
|
2795
|
+
(acc, item) => {
|
|
2796
|
+
const date = getFieldAggregateValue(item, roleConfigs.date);
|
|
2797
|
+
const title = getFieldAggregateValue(item, roleConfigs.title);
|
|
2798
|
+
const color = getFieldAggregateValue(item, roleConfigs.color);
|
|
2799
|
+
const event = {
|
|
2800
|
+
date,
|
|
2801
|
+
title,
|
|
2802
|
+
color
|
|
2803
|
+
};
|
|
2804
|
+
const keyDate = getEventFullDate(date);
|
|
2805
|
+
const keyMonth = getEventMonthYear(date);
|
|
2806
|
+
if (keyDate && keyMonth) {
|
|
2807
|
+
acc.eventsByDate[keyDate] = [
|
|
2808
|
+
...acc.eventsByDate[keyDate] || [],
|
|
2809
|
+
event
|
|
2810
|
+
];
|
|
2811
|
+
acc.eventsByMonth[keyMonth] = [
|
|
2812
|
+
...acc.eventsByMonth[keyMonth] || [],
|
|
2813
|
+
event
|
|
2814
|
+
];
|
|
2815
|
+
}
|
|
2816
|
+
return acc;
|
|
2817
|
+
},
|
|
2818
|
+
{ eventsByDate: {}, eventsByMonth: {} }
|
|
2819
|
+
);
|
|
2820
|
+
}, [data, roleConfigs.color, roleConfigs.date, roleConfigs.title]);
|
|
2821
|
+
const value = useMemo(
|
|
2822
|
+
() => isValidIsoDate(isoValue) ? dayjs(isoValue) : dayjs(),
|
|
2823
|
+
[isoValue]
|
|
2824
|
+
);
|
|
2825
|
+
const defaultValue = useMemo(
|
|
2826
|
+
() => isValidIsoDate(isoDefaultValue) ? dayjs(isoDefaultValue) : dayjs(),
|
|
2827
|
+
[isoDefaultValue]
|
|
2828
|
+
);
|
|
2829
|
+
const validRange = useMemo(() => {
|
|
2830
|
+
if (!isoValidRange)
|
|
2831
|
+
return void 0;
|
|
2832
|
+
const range = isoValidRange.filter((dateIso) => isValidIsoDate(dateIso)).map((d) => dayjs(d));
|
|
2833
|
+
if (range.length !== 2)
|
|
2834
|
+
return void 0;
|
|
2835
|
+
return [range[0], range[1]];
|
|
2836
|
+
}, [isoValidRange]);
|
|
2837
|
+
const key = useMemo(() => JSON.stringify(roleConfigs), [roleConfigs]);
|
|
2838
|
+
return /* @__PURE__ */ React.createElement(
|
|
2839
|
+
Calendar,
|
|
2840
|
+
__spreadProps(__spreadValues$1({}, rest), {
|
|
2841
|
+
key,
|
|
2842
|
+
validRange,
|
|
2843
|
+
defaultValue,
|
|
2844
|
+
value,
|
|
2845
|
+
dateCellRender: dateCellRender ? dateCellRender : (date) => /* @__PURE__ */ React.createElement(
|
|
2846
|
+
EventCell,
|
|
2847
|
+
{
|
|
2848
|
+
events: eventsByDate[getEventFullDate(date.toISOString())]
|
|
2849
|
+
}
|
|
2850
|
+
),
|
|
2851
|
+
monthCellRender: monthCellRender ? monthCellRender : (date) => /* @__PURE__ */ React.createElement(
|
|
2852
|
+
EventCell,
|
|
2853
|
+
{
|
|
2854
|
+
events: eventsByMonth[getEventMonthYear(date.toISOString())]
|
|
2855
|
+
}
|
|
2856
|
+
),
|
|
2857
|
+
dateFullCellRender,
|
|
2858
|
+
monthFullCellRender
|
|
2859
|
+
})
|
|
2860
|
+
);
|
|
2861
|
+
}
|
|
2862
|
+
const defaultColumnConfig = () => ({
|
|
2863
|
+
key: mkShortId(),
|
|
2864
|
+
isEditableExpr: () => false,
|
|
2865
|
+
disableSorting: false,
|
|
2866
|
+
sortByExpr: void 0,
|
|
2867
|
+
isHidden: false,
|
|
2868
|
+
formatting: {
|
|
2869
|
+
styles: {},
|
|
2870
|
+
align: "left",
|
|
2871
|
+
freeze: "off"
|
|
2872
|
+
},
|
|
2873
|
+
dataType: "auto",
|
|
2874
|
+
role: void 0
|
|
2875
|
+
});
|
|
2876
|
+
const roles = ["date", "title", "color", "unset"];
|
|
2877
|
+
function useRoleDefinitions(data, props) {
|
|
2878
|
+
const { fields, setControlContextData } = props;
|
|
2879
|
+
return React.useMemo(() => {
|
|
2880
|
+
var _a, _b, _c, _d, _e;
|
|
2881
|
+
const schema = data == null ? void 0 : data.schema;
|
|
2882
|
+
if (!data || !schema) {
|
|
2883
|
+
return { normalized: [], finalRoles: {} };
|
|
2884
|
+
}
|
|
2885
|
+
function tagFieldConfigs(role) {
|
|
2886
|
+
var _a2;
|
|
2887
|
+
if (role !== "unset") {
|
|
2888
|
+
return ensureArray((_a2 = props[role]) != null ? _a2 : []).map((field) => {
|
|
2889
|
+
return __spreadProps(__spreadValues$1({}, field), {
|
|
2890
|
+
role
|
|
2891
|
+
});
|
|
2892
|
+
});
|
|
2893
|
+
} else {
|
|
2894
|
+
return [];
|
|
2895
|
+
}
|
|
2896
|
+
}
|
|
2897
|
+
const specifiedFieldsPartial = [
|
|
2898
|
+
...tagFieldConfigs("date"),
|
|
2899
|
+
...tagFieldConfigs("color"),
|
|
2900
|
+
...tagFieldConfigs("title")
|
|
2901
|
+
];
|
|
2902
|
+
function doDeriveFieldConfigs(mode) {
|
|
2903
|
+
return deriveFieldConfigs(
|
|
2904
|
+
mode === "defaults" ? [] : specifiedFieldsPartial,
|
|
2905
|
+
schema,
|
|
2906
|
+
(field) => __spreadValues$1(__spreadValues$1({}, defaultColumnConfig()), field && {
|
|
2907
|
+
key: field.id,
|
|
2908
|
+
fieldId: field.id,
|
|
2909
|
+
title: field.label || field.id,
|
|
2910
|
+
// undefined means not yet determined in this routine, not 'unset'
|
|
2911
|
+
role: void 0,
|
|
2912
|
+
expr: (currentItem) => currentItem[field.id]
|
|
2913
|
+
})
|
|
2914
|
+
);
|
|
2915
|
+
}
|
|
2916
|
+
const {
|
|
2917
|
+
mergedFields: defaultMergedFields,
|
|
2918
|
+
minimalFullLengthFields: defaultMinimalFullLengthFields
|
|
2919
|
+
} = doDeriveFieldConfigs("defaults");
|
|
2920
|
+
if (data.data.length > 0 && !defaultMergedFields.some((field) => field.role === "date")) {
|
|
2921
|
+
const sampleRows = Array.from(
|
|
2922
|
+
new Set(
|
|
2923
|
+
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9].map(
|
|
2924
|
+
(i) => Math.round(i / 9 * (data.data.length - 1))
|
|
2925
|
+
)
|
|
2926
|
+
)
|
|
2927
|
+
).map((i) => data.data[i]);
|
|
2928
|
+
const dateFieldCandidates = defaultMergedFields.filter(
|
|
2929
|
+
(field) => !field.role && sampleRows.filter(
|
|
2930
|
+
(row) => field.fieldId && isLikeDate(row[field.fieldId])
|
|
2931
|
+
).length >= sampleRows.length / 2
|
|
2932
|
+
);
|
|
2933
|
+
const dateField = (_b = (_a = dateFieldCandidates.find(
|
|
2934
|
+
(f) => {
|
|
2935
|
+
var _a2;
|
|
2936
|
+
return (_a2 = f.fieldId) == null ? void 0 : _a2.match(/^(date|datetime|timestamp|eventdate)$/i);
|
|
2937
|
+
}
|
|
2938
|
+
)) != null ? _a : dateFieldCandidates.find(
|
|
2939
|
+
(f) => {
|
|
2940
|
+
var _a2;
|
|
2941
|
+
return (_a2 = f.fieldId) == null ? void 0 : _a2.match(/.*(date|time|event).*/i);
|
|
2942
|
+
}
|
|
2943
|
+
)) != null ? _b : dateFieldCandidates[0];
|
|
2944
|
+
if (dateField) {
|
|
2945
|
+
dateField.role = "date";
|
|
2946
|
+
}
|
|
2947
|
+
}
|
|
2948
|
+
if (data.data.length > 0 && !defaultMergedFields.some((field) => field.role === "color")) {
|
|
2949
|
+
const sampleRows = Array.from(
|
|
2950
|
+
new Set(
|
|
2951
|
+
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9].map(
|
|
2952
|
+
(i) => Math.round(i / 9 * (data.data.length - 1))
|
|
2953
|
+
)
|
|
2954
|
+
)
|
|
2955
|
+
).map((i) => data.data[i]);
|
|
2956
|
+
const colorFieldCandidates = defaultMergedFields.filter(
|
|
2957
|
+
(field) => !field.role && sampleRows.filter(
|
|
2958
|
+
(row) => field.fieldId && isLikeColor(row[field.fieldId])
|
|
2959
|
+
).length >= sampleRows.length / 2
|
|
2960
|
+
);
|
|
2961
|
+
const colorField = (_d = (_c = colorFieldCandidates.find(
|
|
2962
|
+
(f) => {
|
|
2963
|
+
var _a2;
|
|
2964
|
+
return (_a2 = f.fieldId) == null ? void 0 : _a2.match(/^(color|hex|rgb|hsl|rgba|cmyk|hsv|hsb)$/i);
|
|
2965
|
+
}
|
|
2966
|
+
)) != null ? _c : colorFieldCandidates.find(
|
|
2967
|
+
(f) => {
|
|
2968
|
+
var _a2;
|
|
2969
|
+
return (_a2 = f.fieldId) == null ? void 0 : _a2.match(/.*(color|hex|rgb|hsl|rgba|cmyk|hsv|hsb).*/i);
|
|
2970
|
+
}
|
|
2971
|
+
)) != null ? _d : colorFieldCandidates[0];
|
|
2972
|
+
if (colorField) {
|
|
2973
|
+
colorField.role = "color";
|
|
2974
|
+
}
|
|
2975
|
+
}
|
|
2976
|
+
if (!defaultMergedFields.some((field) => field.role === "title")) {
|
|
2977
|
+
const titleField = defaultMergedFields.find(
|
|
2978
|
+
(field) => {
|
|
2979
|
+
var _a2;
|
|
2980
|
+
return !field.role && ((_a2 = field.fieldId) == null ? void 0 : _a2.toLowerCase().match(/^(title|name||event[ _-]?name)$/));
|
|
2981
|
+
}
|
|
2982
|
+
);
|
|
2983
|
+
if (titleField) {
|
|
2984
|
+
titleField.role = "title";
|
|
2985
|
+
}
|
|
2986
|
+
}
|
|
2987
|
+
const fieldIdToDefaultRole = new Map(
|
|
2988
|
+
defaultMergedFields.map((f) => [f.fieldId, f.role])
|
|
2989
|
+
);
|
|
2990
|
+
for (const f of defaultMinimalFullLengthFields) {
|
|
2991
|
+
f.role = fieldIdToDefaultRole.get(f.fieldId);
|
|
2992
|
+
}
|
|
2993
|
+
const { mergedFields, minimalFullLengthFields } = doDeriveFieldConfigs("existing");
|
|
2994
|
+
const minimalFullLengthFieldsWithDefaults = [
|
|
2995
|
+
...minimalFullLengthFields.filter((f) => f.role && f.role !== "unset"),
|
|
2996
|
+
...defaultMinimalFullLengthFields.filter(
|
|
2997
|
+
(f) => f.role && f.role !== "unset" && !props[f.role]
|
|
2998
|
+
)
|
|
2999
|
+
];
|
|
3000
|
+
const mergedFieldsWithDefaults = [
|
|
3001
|
+
...mergedFields.filter((f) => f.role && f.role !== "unset"),
|
|
3002
|
+
...defaultMergedFields.filter(
|
|
3003
|
+
(f) => f.role && f.role !== "unset" && !props[f.role]
|
|
3004
|
+
)
|
|
3005
|
+
];
|
|
3006
|
+
const roleConfigs = ensure(
|
|
3007
|
+
groupBy$1(mergedFieldsWithDefaults, (f) => f.role)
|
|
3008
|
+
);
|
|
3009
|
+
const finalRoles = {};
|
|
3010
|
+
for (const role of roles) {
|
|
3011
|
+
if (role !== "unset") {
|
|
3012
|
+
finalRoles[role] = (_e = maybe(props[role], ensureArray)) != null ? _e : roleConfigs[role];
|
|
3013
|
+
}
|
|
3014
|
+
}
|
|
3015
|
+
setControlContextData == null ? void 0 : setControlContextData(__spreadProps(__spreadValues$1({}, data), {
|
|
3016
|
+
mergedFields: mergedFieldsWithDefaults,
|
|
3017
|
+
minimalFullLengthFields: minimalFullLengthFieldsWithDefaults
|
|
3018
|
+
}));
|
|
3019
|
+
const normalized = mergedFieldsWithDefaults;
|
|
3020
|
+
return { normalized, finalRoles };
|
|
3021
|
+
}, [data, setControlContextData, props]);
|
|
3022
|
+
}
|
|
3023
|
+
|
|
3024
|
+
var __defProp = Object.defineProperty;
|
|
3025
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3026
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
3027
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
3028
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3029
|
+
var __spreadValues = (a, b) => {
|
|
3030
|
+
for (var prop in b || (b = {}))
|
|
3031
|
+
if (__hasOwnProp.call(b, prop))
|
|
3032
|
+
__defNormalProp(a, prop, b[prop]);
|
|
3033
|
+
if (__getOwnPropSymbols)
|
|
3034
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
3035
|
+
if (__propIsEnum.call(b, prop))
|
|
3036
|
+
__defNormalProp(a, prop, b[prop]);
|
|
3037
|
+
}
|
|
3038
|
+
return a;
|
|
3039
|
+
};
|
|
3040
|
+
const calendarHelpers = {
|
|
3041
|
+
states: {
|
|
3042
|
+
mode: {
|
|
3043
|
+
onChangeArgsToValue: (_date, mode) => mode
|
|
3044
|
+
},
|
|
3045
|
+
selectedDate: {
|
|
3046
|
+
onChangeArgsToValue: (date) => dayjs(date).toISOString()
|
|
3047
|
+
}
|
|
3048
|
+
}
|
|
3049
|
+
};
|
|
3050
|
+
const calendarComponentName = "hostless-rich-calendar";
|
|
3051
|
+
function registerRichCalendar(loader) {
|
|
3052
|
+
registerComponentHelper(loader, RichCalendar, {
|
|
3053
|
+
name: calendarComponentName,
|
|
3054
|
+
displayName: "Calendar",
|
|
3055
|
+
props: {
|
|
3056
|
+
data: {
|
|
3057
|
+
type: "dataSourceOpData",
|
|
3058
|
+
description: "The data to display. Should be a list of records with some date field."
|
|
3059
|
+
},
|
|
3060
|
+
title: roleProp({ role: "title" }),
|
|
3061
|
+
date: roleProp({ role: "date", singular: true }),
|
|
3062
|
+
color: roleProp({ role: "color", singular: true }),
|
|
3063
|
+
value: {
|
|
3064
|
+
// Must have a corresponding state and eventhandler for any prop that I want to be able to change in interactive mode.
|
|
3065
|
+
editOnly: true,
|
|
3066
|
+
uncontrolledProp: "defaultValue",
|
|
3067
|
+
type: "dateString",
|
|
3068
|
+
description: `The date selected by default as an ISO string`,
|
|
3069
|
+
validator: (value, ps) => {
|
|
3070
|
+
if (!ps.validRange)
|
|
3071
|
+
return true;
|
|
3072
|
+
if (!isValidIsoDate(value))
|
|
3073
|
+
return "Not a valid ISO string.";
|
|
3074
|
+
if (dayjs(value).isBefore(ps.validRange[0]) || dayjs(value).isAfter(ps.validRange[1]))
|
|
3075
|
+
return "Not within the valid range";
|
|
3076
|
+
return true;
|
|
3077
|
+
}
|
|
3078
|
+
},
|
|
3079
|
+
mode: {
|
|
3080
|
+
type: "choice",
|
|
3081
|
+
options: ["month", "year"],
|
|
3082
|
+
description: "The default display mode of the calendar.",
|
|
3083
|
+
defaultValueHint: "month"
|
|
3084
|
+
},
|
|
3085
|
+
validRange: {
|
|
3086
|
+
type: "dateRangeStrings",
|
|
3087
|
+
description: "Only allow selection of dates that lie within this range",
|
|
3088
|
+
advanced: true,
|
|
3089
|
+
validator: (value, ps) => {
|
|
3090
|
+
if (!value)
|
|
3091
|
+
return true;
|
|
3092
|
+
if (!Array.isArray(value) || value.length !== 2)
|
|
3093
|
+
return "Not an array with 2 items";
|
|
3094
|
+
if (!isValidIsoDate(value[0]) || !isValidIsoDate(value[1]))
|
|
3095
|
+
return "Min or max range is not in valid ISO date format.";
|
|
3096
|
+
return true;
|
|
3097
|
+
}
|
|
3098
|
+
},
|
|
3099
|
+
headerRender: {
|
|
3100
|
+
type: "slot",
|
|
3101
|
+
renderPropParams: ["headerProps"],
|
|
3102
|
+
hidePlaceholder: true,
|
|
3103
|
+
displayName: "Custom Header"
|
|
3104
|
+
},
|
|
3105
|
+
dateCellRender: {
|
|
3106
|
+
type: "slot",
|
|
3107
|
+
renderPropParams: ["dateProps"],
|
|
3108
|
+
hidePlaceholder: true,
|
|
3109
|
+
displayName: "Append Date Cell"
|
|
3110
|
+
},
|
|
3111
|
+
dateFullCellRender: {
|
|
3112
|
+
type: "slot",
|
|
3113
|
+
renderPropParams: ["dateProps"],
|
|
3114
|
+
hidePlaceholder: true,
|
|
3115
|
+
displayName: "Custom Date Cell"
|
|
3116
|
+
},
|
|
3117
|
+
monthCellRender: {
|
|
3118
|
+
type: "slot",
|
|
3119
|
+
renderPropParams: ["dateProps"],
|
|
3120
|
+
hidePlaceholder: true,
|
|
3121
|
+
displayName: "Append Month Cell"
|
|
3122
|
+
},
|
|
3123
|
+
monthFullCellRender: {
|
|
3124
|
+
type: "slot",
|
|
3125
|
+
renderPropParams: ["dateProps"],
|
|
3126
|
+
hidePlaceholder: true,
|
|
3127
|
+
displayName: "Custom Month Cell"
|
|
3128
|
+
},
|
|
3129
|
+
onPanelChange: {
|
|
3130
|
+
type: "eventHandler",
|
|
3131
|
+
description: "Triggers when the calendar mode changes (e.g. from month to year mode)",
|
|
3132
|
+
argTypes: [
|
|
3133
|
+
{ name: "date", type: "object" },
|
|
3134
|
+
{ name: "mode", type: "string" }
|
|
3135
|
+
]
|
|
3136
|
+
},
|
|
3137
|
+
onChange: {
|
|
3138
|
+
type: "eventHandler",
|
|
3139
|
+
argTypes: [{ name: "date", type: "object" }]
|
|
3140
|
+
}
|
|
3141
|
+
},
|
|
3142
|
+
states: {
|
|
3143
|
+
mode: __spreadValues({
|
|
3144
|
+
type: "writable",
|
|
3145
|
+
valueProp: "mode",
|
|
3146
|
+
onChangeProp: "onPanelChange",
|
|
3147
|
+
variableType: "text"
|
|
3148
|
+
}, calendarHelpers.states.mode),
|
|
3149
|
+
selectedDate: __spreadValues({
|
|
3150
|
+
type: "writable",
|
|
3151
|
+
valueProp: "value",
|
|
3152
|
+
onChangeProp: "onChange",
|
|
3153
|
+
variableType: "text"
|
|
3154
|
+
}, calendarHelpers.states.selectedDate)
|
|
3155
|
+
},
|
|
3156
|
+
componentHelpers: {
|
|
3157
|
+
helpers: calendarHelpers,
|
|
3158
|
+
importName: "calendarHelpers",
|
|
3159
|
+
importPath: "@plasmicpkgs/plasmic-rich-components"
|
|
3160
|
+
},
|
|
3161
|
+
importPath: "@plasmicpkgs/plasmic-rich-components",
|
|
3162
|
+
importName: "RichCalendar"
|
|
3163
|
+
});
|
|
3164
|
+
}
|
|
3165
|
+
|
|
2652
3166
|
function registerAll(loader) {
|
|
2653
3167
|
registerRichLayout(loader);
|
|
2654
3168
|
registerRichList(loader);
|
|
2655
3169
|
registerRichTable(loader);
|
|
2656
3170
|
registerRichDetails(loader);
|
|
3171
|
+
registerRichCalendar(loader);
|
|
2657
3172
|
}
|
|
2658
3173
|
|
|
2659
3174
|
export { RichDetails, RichLayout, RichList, RichTable, commonProps, dataProp, deriveKeyOfRow, deriveRowKey, ensureArray, isInteractable, isLikeImage, onRowClickProp, registerAll, renderActions, rowActionsProp, tableHelpers, useSortedFilteredData };
|