proto-table-wc 0.0.457 → 0.0.459
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/demo-table_2.cjs.entry.js +143 -143
- package/dist/cjs/{index-267e3f8d.js → index-719e6a11.js} +46 -10
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/proto-table-wc.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/demo-table/demo-table.js +80 -80
- package/dist/collection/components/proto-table/iconPaths.js +7 -7
- package/dist/collection/components/proto-table/proto-table.js +137 -137
- package/dist/esm/demo-table_2.entry.js +143 -143
- package/dist/esm/{index-4a0356a5.js → index-0e2d85f3.js} +46 -10
- package/dist/esm/loader.js +2 -2
- package/dist/esm/proto-table-wc.js +3 -3
- package/dist/proto-table-wc/p-e4f313cd.js +2 -0
- package/dist/proto-table-wc/{p-dcfb580f.entry.js → p-e927935b.entry.js} +1 -1
- package/dist/proto-table-wc/proto-table-wc.esm.js +1 -1
- package/dist/types/components/demo-table/demo-table.d.ts +10 -10
- package/dist/types/components/proto-table/iconPaths.d.ts +7 -7
- package/dist/types/components/proto-table/proto-table.d.ts +13 -13
- package/dist/types/stencil-public-runtime.d.ts +8 -0
- package/package.json +5 -5
- package/dist/proto-table-wc/p-0f6e26e3.js +0 -2
@@ -1,163 +1,163 @@
|
|
1
|
-
import { r as registerInstance, h } from './index-
|
1
|
+
import { r as registerInstance, h } from './index-0e2d85f3.js';
|
2
2
|
|
3
3
|
const demoTableCss = ".detailWrapper{font-weight:100;font-size:13px;display:flex;flex-direction:column;justify-items:start;padding:5px;padding-left:30px}";
|
4
4
|
|
5
5
|
const DemoTable = class {
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
6
|
+
constructor(hostRef) {
|
7
|
+
registerInstance(this, hostRef);
|
8
|
+
this.fields = [
|
9
|
+
{ label: 'Date', prop: 'date' },
|
10
|
+
{ label: 'List Price', prop: 'price' },
|
11
|
+
{ label: '% of Market', prop: 'market' },
|
12
|
+
{ label: 'ProfitTime Score', prop: 'score' },
|
13
|
+
];
|
14
|
+
this.items = [];
|
15
|
+
this.table = undefined;
|
16
|
+
this.renderDetails = item => {
|
17
|
+
const { tags = [] } = item;
|
18
|
+
return (h("div", { class: "detailWrapper" }, h("span", null, tags.length, " details..."), h("ul", null, tags.map(tag => (h("li", null, tag))))));
|
19
|
+
};
|
20
|
+
}
|
21
|
+
componentWillLoad() {
|
22
|
+
this.items = [
|
23
|
+
{
|
24
|
+
date: '08/30/2020',
|
25
|
+
price: '$24,000',
|
26
|
+
market: '98%',
|
27
|
+
score: 'No Score',
|
28
|
+
tags: ['one', 'two', 'three'],
|
29
|
+
},
|
30
|
+
{
|
31
|
+
date: '08/31/2020',
|
32
|
+
price: '$24,000',
|
33
|
+
market: '99%',
|
34
|
+
score: 'No Score',
|
35
|
+
tags: ['uno', 'duo'],
|
36
|
+
},
|
37
|
+
{
|
38
|
+
date: '09/01/2020',
|
39
|
+
price: '$27,000',
|
40
|
+
market: '102%',
|
41
|
+
score: 'Platinum',
|
42
|
+
},
|
43
|
+
{
|
44
|
+
date: '09/02/2020',
|
45
|
+
price: '$27,423',
|
46
|
+
market: '104%',
|
47
|
+
score: 'Platinum',
|
48
|
+
tags: ['dog', 'cat', 'fish', 'hamster'],
|
49
|
+
},
|
50
|
+
{
|
51
|
+
date: '09/03/2020',
|
52
|
+
price: '$27,521',
|
53
|
+
market: '106%',
|
54
|
+
score: 'Platinum',
|
55
|
+
tags: ['4wd', 'sports'],
|
56
|
+
},
|
57
|
+
{
|
58
|
+
date: '09/04/2020',
|
59
|
+
price: '$27,687',
|
60
|
+
market: '107%',
|
61
|
+
score: 'Platinum',
|
62
|
+
tags: ['leather', 'chrome'],
|
63
|
+
},
|
64
|
+
];
|
65
|
+
}
|
66
|
+
componentDidLoad() {
|
67
|
+
const { table, items, fields } = this;
|
68
|
+
table.data = items;
|
69
|
+
table.fields = fields;
|
70
|
+
table.details = this.renderDetails;
|
71
|
+
}
|
72
|
+
render() {
|
73
|
+
return h("proto-table", { ref: el => (this.table = el) });
|
74
|
+
}
|
75
75
|
};
|
76
76
|
DemoTable.style = demoTableCss;
|
77
77
|
|
78
78
|
const iconPaths = {
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
79
|
+
'down': 'M12 15.4L6.6 10 8 8.6l4 4 4-4 1.4 1.4z',
|
80
|
+
'up': 'M16 15.4l-4-4-4 4L6.6 14 12 8.6l5.4 5.4z',
|
81
|
+
'left': 'M14 17.4L8.6 12 14 6.6 15.4 8l-4 4 4 4z',
|
82
|
+
'right': 'M10 17.4L8.6 16l4-4-4-4L10 6.6l5.4 5.4z',
|
83
|
+
'more': 'M12 14a2 2 0 100-4 2 2 0 000 4zm-6 0a2 2 0 100-4 2 2 0 000 4zm12 0a2 2 0 100-4 2 2 0 000 4z',
|
84
|
+
'arrow-up': 'M5.3 10.7l1.4 1.4L11 7.8V20h2V7.8l4.3 4.3 1.4-1.4L12 4z',
|
85
|
+
'arrow-down': 'M18.7 13.3l-1.4-1.4-4.3 4.3V4h-2v12.2l-4.3-4.3-1.4 1.4L12 20z',
|
86
86
|
};
|
87
87
|
|
88
88
|
const protoTableCss = ".table{font-weight:400;font-size:13px;display:flex;flex-direction:column;width:100%;border:1px solid var(--clrs-navy);border-radius:2px}.table svg{fill:var(--clrs-navy)}.header{display:flex}.headerCell{flex-basis:100%;display:flex;align-items:center;justify-items:start;border-right:1px solid var(--clrs-navy);border-bottom:1px solid var(--clrs-navy);padding:5px;cursor:pointer}.headerCell svg g{display:none}.headerCell.sort svg g{display:inline}.headerCell:hover svg g{display:inline}.headerCell:hover{background-color:var(--clrs-silver)}.headerCell:last-child{border-right:none}.cell{flex-basis:100%;display:flex;align-items:center;justify-items:start;padding:5px}.cell:first-child svg{cursor:pointer}.sort{background-color:var(--cx-column-sort)}.row{display:flex;justify-items:stretch;width:100%}.row.expanded{background-color:var(--cx-row-expanded)}.row.expanded svg{fill:var(--clrs-red)}.row:hover{background-color:var(--cx-row-hover)}";
|
89
89
|
|
90
90
|
const iconAliases = {
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
91
|
+
'right': 'show',
|
92
|
+
'down': 'hide',
|
93
|
+
'arrow-up': 'sort',
|
94
|
+
'arrow-down': 'sort',
|
95
95
|
};
|
96
96
|
const aliasFor = name => {
|
97
|
-
|
97
|
+
return iconAliases[name];
|
98
98
|
};
|
99
99
|
const ProtoTable = class {
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
100
|
+
constructor(hostRef) {
|
101
|
+
registerInstance(this, hostRef);
|
102
|
+
this.protoIcon = (name, hex = undefined, size = 24) => {
|
103
|
+
const path = iconPaths[name];
|
104
|
+
return (h("svg", { width: size, height: size, viewBox: "0 0 24 24", role: "img", "aria-labelledby": "title" }, h("title", null, aliasFor(name)), h("g", { fill: hex }, h("path", { d: path })), h("path", { d: "M0 0h24v24H0z", fill: "none" })));
|
105
|
+
};
|
106
|
+
this.handleCellClick = (index, row) => {
|
107
|
+
return () => {
|
108
|
+
if (index === 0) {
|
109
|
+
this.expanded = this.expanded === row ? undefined : row;
|
110
|
+
}
|
111
|
+
};
|
112
|
+
};
|
113
|
+
this.handleSortClick = index => {
|
114
|
+
// NOTE: small state machine for dealing with sorting...
|
115
|
+
return () => {
|
116
|
+
if (this.sort === index) {
|
117
|
+
if (this.clicks === 2) {
|
118
|
+
this.clicks = 0;
|
119
|
+
this.sort = undefined;
|
120
|
+
}
|
121
|
+
else {
|
122
|
+
this.clicks = this.clicks + 1;
|
123
|
+
}
|
124
|
+
}
|
125
|
+
else {
|
126
|
+
this.sort = index;
|
127
|
+
this.clicks = 1;
|
128
|
+
}
|
129
|
+
};
|
130
|
+
};
|
131
|
+
this.iconFor = column => {
|
132
|
+
return this.sort === column && this.clicks === 2 ? 'arrow-up' : 'arrow-down';
|
133
|
+
};
|
134
|
+
this.header = () => {
|
135
|
+
const { fields, iconFor, protoIcon } = this;
|
136
|
+
return (h("div", { class: "header" }, fields.map(({ label }, index) => {
|
137
|
+
const cellClass = index === this.sort ? 'headerCell sort' : 'headerCell';
|
138
|
+
const ikon = iconFor(index);
|
139
|
+
return (h("div", { class: cellClass, onClick: this.handleSortClick(index) }, protoIcon(ikon), h("span", null, label)));
|
140
|
+
})));
|
141
|
+
};
|
142
|
+
this.row = (data, row) => {
|
143
|
+
const { fields, protoIcon } = this;
|
144
|
+
const rowClass = this.expanded === row ? 'row expanded' : 'row';
|
145
|
+
return (h("div", { class: "rowContainer" }, h("div", { class: rowClass }, fields.map(({ prop }, index) => {
|
146
|
+
const cellClass = index === this.sort ? 'cell sort' : 'cell';
|
147
|
+
return (h("div", { class: cellClass, onClick: this.handleCellClick(index, row) }, index === 0 && this.details ? protoIcon(this.expanded === row ? 'down' : 'right') : protoIcon('pad'), data[prop]));
|
148
|
+
})), this.details && this.expanded === row && this.details(data)));
|
149
|
+
};
|
150
|
+
this.data = [];
|
151
|
+
this.details = undefined;
|
152
|
+
this.fields = [];
|
153
|
+
this.expanded = undefined;
|
154
|
+
this.sort = undefined;
|
155
|
+
this.clicks = 0;
|
156
|
+
}
|
157
|
+
render() {
|
158
|
+
const items = this.data || [];
|
159
|
+
return (h("div", { class: "table" }, this.header(), items.map((item, index) => this.row(item, index))));
|
160
|
+
}
|
161
161
|
};
|
162
162
|
ProtoTable.style = protoTableCss;
|
163
163
|
|
@@ -27,6 +27,13 @@ const uniqueTime = (key, measureText) => {
|
|
27
27
|
}
|
28
28
|
};
|
29
29
|
const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
|
30
|
+
/**
|
31
|
+
* Constant for styles to be globally applied to `slot-fb` elements for pseudo-slot behavior.
|
32
|
+
*
|
33
|
+
* Two cascading rules must be used instead of a `:not()` selector due to Stencil browser
|
34
|
+
* support as of Stencil v4.
|
35
|
+
*/
|
36
|
+
const SLOT_FB_CSS = 'slot-fb{display:contents}slot-fb[hidden]{display:none}';
|
30
37
|
/**
|
31
38
|
* Default style mode id
|
32
39
|
*/
|
@@ -241,6 +248,10 @@ const addStyle = (styleContainerNode, cmpMeta, mode) => {
|
|
241
248
|
}
|
242
249
|
styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
|
243
250
|
}
|
251
|
+
// Add styles for `slot-fb` elements if we're using slots outside the Shadow DOM
|
252
|
+
if (cmpMeta.$flags$ & 4 /* CMP_FLAGS.hasSlotRelocation */) {
|
253
|
+
styleElm.innerHTML += SLOT_FB_CSS;
|
254
|
+
}
|
244
255
|
if (appliedStyles) {
|
245
256
|
appliedStyles.add(scopeId);
|
246
257
|
}
|
@@ -378,7 +389,11 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
|
|
378
389
|
elm[memberName] = newValue;
|
379
390
|
}
|
380
391
|
}
|
381
|
-
catch (e) {
|
392
|
+
catch (e) {
|
393
|
+
/**
|
394
|
+
* in case someone tries to set a read-only property, e.g. "namespaceURI", we just ignore it
|
395
|
+
*/
|
396
|
+
}
|
382
397
|
}
|
383
398
|
if (newValue == null || newValue === false) {
|
384
399
|
if (newValue !== false || elm.getAttribute(memberName) === '') {
|
@@ -397,6 +412,11 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
|
|
397
412
|
}
|
398
413
|
};
|
399
414
|
const parseClassListRegex = /\s/;
|
415
|
+
/**
|
416
|
+
* Parsed a string of classnames into an array
|
417
|
+
* @param value className string, e.g. "foo bar baz"
|
418
|
+
* @returns list of classes, e.g. ["foo", "bar", "baz"]
|
419
|
+
*/
|
400
420
|
const parseClassList = (value) => (!value ? [] : value.split(parseClassListRegex));
|
401
421
|
const CAPTURE_EVENT_SUFFIX = 'Capture';
|
402
422
|
const CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + '$');
|
@@ -1145,10 +1165,10 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
|
|
1145
1165
|
*/
|
1146
1166
|
const proxyComponent = (Cstr, cmpMeta, flags) => {
|
1147
1167
|
var _a;
|
1168
|
+
const prototype = Cstr.prototype;
|
1148
1169
|
if (cmpMeta.$members$) {
|
1149
1170
|
// It's better to have a const than two Object.entries()
|
1150
1171
|
const members = Object.entries(cmpMeta.$members$);
|
1151
|
-
const prototype = Cstr.prototype;
|
1152
1172
|
members.map(([memberName, [memberFlags]]) => {
|
1153
1173
|
if ((memberFlags & 31 /* MEMBER_FLAGS.Prop */ ||
|
1154
1174
|
((flags & 2 /* PROXY_FLAGS.proxyState */) && memberFlags & 32 /* MEMBER_FLAGS.State */))) {
|
@@ -1171,6 +1191,7 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
1171
1191
|
const attrNameToPropName = new Map();
|
1172
1192
|
prototype.attributeChangedCallback = function (attrName, oldValue, newValue) {
|
1173
1193
|
plt.jmp(() => {
|
1194
|
+
var _a;
|
1174
1195
|
const propName = attrNameToPropName.get(attrName);
|
1175
1196
|
// In a web component lifecycle the attributeChangedCallback runs prior to connectedCallback
|
1176
1197
|
// in the case where an attribute was set inline.
|
@@ -1226,11 +1247,12 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
1226
1247
|
// 1. The instance is ready
|
1227
1248
|
// 2. The watchers are ready
|
1228
1249
|
// 3. The value has changed
|
1229
|
-
if (
|
1250
|
+
if (flags &&
|
1251
|
+
!(flags & 8 /* HOST_FLAGS.isConstructingInstance */) &&
|
1230
1252
|
flags & 128 /* HOST_FLAGS.isWatchReady */ &&
|
1231
1253
|
newValue !== oldValue) {
|
1232
1254
|
const instance = hostRef.$lazyInstance$ ;
|
1233
|
-
const entry = cmpMeta.$watchers$[attrName];
|
1255
|
+
const entry = (_a = cmpMeta.$watchers$) === null || _a === void 0 ? void 0 : _a[attrName];
|
1234
1256
|
entry === null || entry === void 0 ? void 0 : entry.forEach((callbackName) => {
|
1235
1257
|
if (instance[callbackName] != null) {
|
1236
1258
|
instance[callbackName].call(instance, newValue, oldValue, attrName);
|
@@ -1410,12 +1432,13 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
1410
1432
|
const customElements = win.customElements;
|
1411
1433
|
const head = doc.head;
|
1412
1434
|
const metaCharset = /*@__PURE__*/ head.querySelector('meta[charset]');
|
1413
|
-
const
|
1435
|
+
const dataStyles = /*@__PURE__*/ doc.createElement('style');
|
1414
1436
|
const deferredConnectedCallbacks = [];
|
1415
1437
|
let appLoadFallback;
|
1416
1438
|
let isBootstrapping = true;
|
1417
1439
|
Object.assign(plt, options);
|
1418
1440
|
plt.$resourcesUrl$ = new URL(options.resourcesUrl || './', doc.baseURI).href;
|
1441
|
+
let hasSlotRelocation = false;
|
1419
1442
|
lazyBundles.map((lazyBundle) => {
|
1420
1443
|
lazyBundle[1].map((compactMeta) => {
|
1421
1444
|
const cmpMeta = {
|
@@ -1424,6 +1447,11 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
1424
1447
|
$members$: compactMeta[2],
|
1425
1448
|
$listeners$: compactMeta[3],
|
1426
1449
|
};
|
1450
|
+
// Check if we are using slots outside the shadow DOM in this component.
|
1451
|
+
// We'll use this information later to add styles for `slot-fb` elements
|
1452
|
+
if (cmpMeta.$flags$ & 4 /* CMP_FLAGS.hasSlotRelocation */) {
|
1453
|
+
hasSlotRelocation = true;
|
1454
|
+
}
|
1427
1455
|
{
|
1428
1456
|
cmpMeta.$members$ = compactMeta[2];
|
1429
1457
|
}
|
@@ -1474,15 +1502,23 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
1474
1502
|
}
|
1475
1503
|
});
|
1476
1504
|
});
|
1505
|
+
// Add styles for `slot-fb` elements if any of our components are using slots outside the Shadow DOM
|
1506
|
+
if (hasSlotRelocation) {
|
1507
|
+
dataStyles.innerHTML += SLOT_FB_CSS;
|
1508
|
+
}
|
1509
|
+
// Add hydration styles
|
1477
1510
|
{
|
1478
|
-
|
1479
|
-
|
1511
|
+
dataStyles.innerHTML += cmpTags + HYDRATED_CSS;
|
1512
|
+
}
|
1513
|
+
// If we have styles, add them to the DOM
|
1514
|
+
if (dataStyles.innerHTML.length) {
|
1515
|
+
dataStyles.setAttribute('data-styles', '');
|
1516
|
+
head.insertBefore(dataStyles, metaCharset ? metaCharset.nextSibling : head.firstChild);
|
1480
1517
|
// Apply CSP nonce to the style tag if it exists
|
1481
1518
|
const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
|
1482
1519
|
if (nonce != null) {
|
1483
|
-
|
1520
|
+
dataStyles.setAttribute('nonce', nonce);
|
1484
1521
|
}
|
1485
|
-
head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);
|
1486
1522
|
}
|
1487
1523
|
// Process deferred connectedCallbacks now all components have been registered
|
1488
1524
|
isBootstrapping = false;
|
@@ -1634,7 +1670,7 @@ const flush = () => {
|
|
1634
1670
|
}
|
1635
1671
|
}
|
1636
1672
|
};
|
1637
|
-
const nextTick =
|
1673
|
+
const nextTick = (cb) => promiseResolve().then(cb);
|
1638
1674
|
const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
|
1639
1675
|
|
1640
1676
|
export { bootstrapLazy as b, h, promiseResolve as p, registerInstance as r, setNonce as s };
|
package/dist/esm/loader.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
import { b as bootstrapLazy } from './index-
|
2
|
-
export { s as setNonce } from './index-
|
1
|
+
import { b as bootstrapLazy } from './index-0e2d85f3.js';
|
2
|
+
export { s as setNonce } from './index-0e2d85f3.js';
|
3
3
|
|
4
4
|
const defineCustomElements = (win, options) => {
|
5
5
|
if (typeof window === 'undefined') return undefined;
|
@@ -1,8 +1,8 @@
|
|
1
|
-
import { p as promiseResolve, b as bootstrapLazy } from './index-
|
2
|
-
export { s as setNonce } from './index-
|
1
|
+
import { p as promiseResolve, b as bootstrapLazy } from './index-0e2d85f3.js';
|
2
|
+
export { s as setNonce } from './index-0e2d85f3.js';
|
3
3
|
|
4
4
|
/*
|
5
|
-
Stencil Client Patch Browser v4.
|
5
|
+
Stencil Client Patch Browser v4.8.0 | MIT Licensed | https://stenciljs.com
|
6
6
|
*/
|
7
7
|
const patchBrowser = () => {
|
8
8
|
const importMeta = import.meta.url;
|
@@ -0,0 +1,2 @@
|
|
1
|
+
let n,t,e=!1,l=!1;const o="slot-fb{display:contents}slot-fb[hidden]{display:none}",s={},i=n=>"object"==(n=typeof n)||"function"===n;function c(n){var t,e,l;return null!==(l=null===(e=null===(t=n.head)||void 0===t?void 0:t.querySelector('meta[name="csp-nonce"]'))||void 0===e?void 0:e.getAttribute("content"))&&void 0!==l?l:void 0}const r=(n,t,...e)=>{let l=null,o=!1,s=!1;const c=[],r=t=>{for(let e=0;e<t.length;e++)l=t[e],Array.isArray(l)?r(l):null!=l&&"boolean"!=typeof l&&((o="function"!=typeof n&&!i(l))&&(l+=""),o&&s?c[c.length-1].t+=l:c.push(o?u(null,l):l),s=o)};if(r(e),t){const n=t.className||t.class;n&&(t.class="object"!=typeof n?n:Object.keys(n).filter((t=>n[t])).join(" "))}const a=u(n,null);return a.l=t,c.length>0&&(a.o=c),a},u=(n,t)=>({i:0,u:n,t,p:null,o:null,l:null}),a={},f=new WeakMap,d=n=>"sc-"+n.h,p=(n,t,e,l,o,s)=>{if(e!==l){let c=_(n,t),r=t.toLowerCase();if("class"===t){const t=n.classList,o=h(e),s=h(l);t.remove(...o.filter((n=>n&&!s.includes(n)))),t.add(...s.filter((n=>n&&!o.includes(n))))}else if("ref"===t)l&&l(n);else if(c||"o"!==t[0]||"n"!==t[1]){const r=i(l);if((c||r&&null!==l)&&!o)try{if(n.tagName.includes("-"))n[t]=l;else{const o=null==l?"":l;"list"===t?c=!1:null!=e&&n[t]==o||(n[t]=o)}}catch(n){}null==l||!1===l?!1===l&&""!==n.getAttribute(t)||n.removeAttribute(t):(!c||4&s||o)&&!r&&n.setAttribute(t,l=!0===l?"":l)}else if(t="-"===t[2]?t.slice(3):_(J,r)?r.slice(2):r[2]+t.slice(3),e||l){const o=t.endsWith(v);t=t.replace($,""),e&&Q.rel(n,t,e,o),l&&Q.ael(n,t,l,o)}}},y=/\s/,h=n=>n?n.split(y):[],v="Capture",$=RegExp(v+"$"),m=(n,t,e,l)=>{const o=11===t.p.nodeType&&t.p.host?t.p.host:t.p,i=n&&n.l||s,c=t.l||s;for(l in i)l in c||p(o,l,i[l],void 0,e,t.i);for(l in c)p(o,l,i[l],c[l],e,t.i)},w=(t,l,o)=>{const s=l.o[o];let i,c,r=0;if(null!==s.t)i=s.p=K.createTextNode(s.t);else{if(e||(e="svg"===s.u),i=s.p=K.createElementNS(e?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",s.u),e&&"foreignObject"===s.u&&(e=!1),m(null,s,e),null!=n&&i["s-si"]!==n&&i.classList.add(i["s-si"]=n),s.o)for(r=0;r<s.o.length;++r)c=w(t,s,r),c&&i.appendChild(c);"svg"===s.u?e=!1:"foreignObject"===i.tagName&&(e=!0)}return i},b=(n,e,l,o,s,i)=>{let c,r=n;for(r.shadowRoot&&r.tagName===t&&(r=r.shadowRoot);s<=i;++s)o[s]&&(c=w(null,l,s),c&&(o[s].p=c,r.insertBefore(c,e)))},g=(n,t,e)=>{for(let l=t;l<=e;++l){const t=n[l];if(t){const n=t.p;O(t),n&&n.remove()}}},j=(n,t)=>n.u===t.u,S=(n,t)=>{const l=t.p=n.p,o=n.o,s=t.o,i=t.u,c=t.t;null===c?(e="svg"===i||"foreignObject"!==i&&e,m(n,t,e),null!==o&&null!==s?((n,t,e,l)=>{let o,s=0,i=0,c=t.length-1,r=t[0],u=t[c],a=l.length-1,f=l[0],d=l[a];for(;s<=c&&i<=a;)null==r?r=t[++s]:null==u?u=t[--c]:null==f?f=l[++i]:null==d?d=l[--a]:j(r,f)?(S(r,f),r=t[++s],f=l[++i]):j(u,d)?(S(u,d),u=t[--c],d=l[--a]):j(r,d)?(S(r,d),n.insertBefore(r.p,u.p.nextSibling),r=t[++s],d=l[--a]):j(u,f)?(S(u,f),n.insertBefore(u.p,r.p),u=t[--c],f=l[++i]):(o=w(t&&t[i],e,i),f=l[++i],o&&r.p.parentNode.insertBefore(o,r.p));s>c?b(n,null==l[a+1]?null:l[a+1].p,e,l,i,a):i>a&&g(t,s,c)})(l,o,t,s):null!==s?(null!==n.t&&(l.textContent=""),b(l,null,t,s,0,s.length-1)):null!==o&&g(o,0,o.length-1),e&&"svg"===i&&(e=!1)):n.t!==c&&(l.data=c)},O=n=>{n.l&&n.l.ref&&n.l.ref(null),n.o&&n.o.map(O)},M=(n,t)=>{t&&!n.v&&t["s-p"]&&t["s-p"].push(new Promise((t=>n.v=t)))},k=(n,t)=>{if(n.i|=16,!(4&n.i))return M(n,n.$),sn((()=>C(n,t)));n.i|=512},C=(n,t)=>{const e=n.m;let l;return t&&(l=R(e,"componentWillLoad")),x(l,(()=>E(n,e,t)))},x=(n,t)=>P(n)?n.then(t):t(),P=n=>n instanceof Promise||n&&n.then&&"function"==typeof n.then,E=async(n,t,e)=>{var l;const s=n.$hostElement$,i=s["s-rc"];e&&(n=>{const t=n.j,e=n.$hostElement$,l=t.i,s=((n,t)=>{var e;const l=d(t),s=I.get(l);if(n=11===n.nodeType?n:K,s)if("string"==typeof s){let i,r=f.get(n=n.head||n);if(r||f.set(n,r=new Set),!r.has(l)){{i=K.createElement("style"),i.innerHTML=s;const t=null!==(e=Q.S)&&void 0!==e?e:c(K);null!=t&&i.setAttribute("nonce",t),n.insertBefore(i,n.querySelector("link"))}4&t.i&&(i.innerHTML+=o),r&&r.add(l)}}else n.adoptedStyleSheets.includes(s)||(n.adoptedStyleSheets=[...n.adoptedStyleSheets,s]);return l})(e.shadowRoot?e.shadowRoot:e.getRootNode(),t);10&l&&(e["s-sc"]=s,e.classList.add(s+"-h"))})(n);L(n,t,s,e),i&&(i.map((n=>n())),s["s-rc"]=void 0);{const t=null!==(l=s["s-p"])&&void 0!==l?l:[],e=()=>A(n);0===t.length?e():(Promise.all(t).then(e),n.i|=4,t.length=0)}},L=(e,l,o,s)=>{try{l=l.render(),e.i&=-17,e.i|=2,((e,l,o=!1)=>{const s=e.$hostElement$,i=e.O||u(null,null),c=(n=>n&&n.u===a)(l)?l:r(null,null,l);if(t=s.tagName,o&&c.l)for(const n of Object.keys(c.l))s.hasAttribute(n)&&!["key","ref","style","class"].includes(n)&&(c.l[n]=s[n]);c.u=null,c.i|=4,e.O=c,c.p=i.p=s.shadowRoot||s,n=s["s-sc"],S(i,c)})(e,l,s)}catch(n){z(n,e.$hostElement$)}return null},A=n=>{const t=n.$hostElement$,e=n.m,l=n.$;64&n.i||(n.i|=64,T(t),R(e,"componentDidLoad"),n.M(t),l||N()),n.v&&(n.v(),n.v=void 0),512&n.i&&on((()=>k(n,!1))),n.i&=-517},N=()=>{T(K.documentElement),on((()=>(n=>{const t=Q.ce("appload",{detail:{namespace:"proto-table-wc"}});return n.dispatchEvent(t),t})(J)))},R=(n,t,e)=>{if(n&&n[t])try{return n[t](e)}catch(n){z(n)}},T=n=>n.classList.add("hydrated"),W=(n,t,e)=>{var l;const o=n.prototype;if(t.k){const s=Object.entries(t.k);if(s.map((([n,[t]])=>{(31&t||2&e&&32&t)&&Object.defineProperty(o,n,{get(){return((n,t)=>F(this).C.get(t))(0,n)},set(t){((n,t,e)=>{const l=F(n),o=l.C.get(t),s=l.i,c=l.m;e=(n=>(null==n||i(n),n))(e),8&s&&void 0!==o||e===o||Number.isNaN(o)&&Number.isNaN(e)||(l.C.set(t,e),c&&2==(18&s)&&k(l,!1))})(this,n,t)},configurable:!0,enumerable:!0})})),1&e){const e=new Map;o.attributeChangedCallback=function(n,l,s){Q.jmp((()=>{var i;const c=e.get(n);if(this.hasOwnProperty(c))s=this[c],delete this[c];else{if(o.hasOwnProperty(c)&&"number"==typeof this[c]&&this[c]==s)return;if(null==c){const e=F(this),o=null==e?void 0:e.i;if(o&&!(8&o)&&128&o&&s!==l){const o=e.m,c=null===(i=t.P)||void 0===i?void 0:i[n];null==c||c.forEach((t=>{null!=o[t]&&o[t].call(o,s,l,n)}))}return}}this[c]=(null!==s||"boolean"!=typeof this[c])&&s}))},n.observedAttributes=Array.from(new Set([...Object.keys(null!==(l=t.P)&&void 0!==l?l:{}),...s.filter((([n,t])=>15&t[0])).map((([n,t])=>{const l=t[1]||n;return e.set(l,n),l}))]))}}return n},U=(n,t={})=>{var e;const l=[],s=t.exclude||[],i=J.customElements,r=K.head,u=r.querySelector("meta[charset]"),a=K.createElement("style"),f=[];let p,y=!0;Object.assign(Q,t),Q.L=new URL(t.resourcesUrl||"./",K.baseURI).href;let h=!1;if(n.map((n=>{n[1].map((t=>{const e={i:t[0],h:t[1],k:t[2],A:t[3]};4&e.i&&(h=!0),e.k=t[2];const o=e.h,c=class extends HTMLElement{constructor(n){super(n),V(n=this,e),1&e.i&&n.attachShadow({mode:"open"})}connectedCallback(){p&&(clearTimeout(p),p=null),y?f.push(this):Q.jmp((()=>(n=>{if(0==(1&Q.i)){const t=F(n),e=t.j,l=()=>{};if(1&t.i)(null==t?void 0:t.m)||(null==t?void 0:t.N)&&t.N.then((()=>{}));else{t.i|=1;{let e=n;for(;e=e.parentNode||e.host;)if(e["s-p"]){M(t,t.$=e);break}}e.k&&Object.entries(e.k).map((([t,[e]])=>{if(31&e&&n.hasOwnProperty(t)){const e=n[t];delete n[t],n[t]=e}})),(async(n,t,e)=>{let l;if(0==(32&t.i)){t.i|=32;{if(l=G(e),l.then){const n=()=>{};l=await l,n()}l.isProxied||(W(l,e,2),l.isProxied=!0);const n=()=>{};t.i|=8;try{new l(t)}catch(n){z(n)}t.i&=-9,n()}if(l.style){let n=l.style;const t=d(e);if(!I.has(t)){const l=()=>{};((n,t,e)=>{let l=I.get(n);Y&&e?(l=l||new CSSStyleSheet,"string"==typeof l?l=t:l.replaceSync(t)):l=t,I.set(n,l)})(t,n,!!(1&e.i)),l()}}}const o=t.$,s=()=>k(t,!0);o&&o["s-rc"]?o["s-rc"].push(s):s()})(0,t,e)}l()}})(this)))}disconnectedCallback(){Q.jmp((()=>(async()=>{if(0==(1&Q.i)){const n=F(this);(null==n?void 0:n.m)||(null==n?void 0:n.N)&&n.N.then((()=>{}))}})()))}componentOnReady(){return F(this).N}};e.R=n[0],s.includes(o)||i.get(o)||(l.push(o),i.define(o,W(c,e,1)))}))})),h&&(a.innerHTML+=o),a.innerHTML+=l+"{visibility:hidden}.hydrated{visibility:inherit}",a.innerHTML.length){a.setAttribute("data-styles",""),r.insertBefore(a,u?u.nextSibling:r.firstChild);const n=null!==(e=Q.S)&&void 0!==e?e:c(K);null!=n&&a.setAttribute("nonce",n)}y=!1,f.length?f.map((n=>n.connectedCallback())):Q.jmp((()=>p=setTimeout(N,30)))},q=n=>Q.S=n,D=new WeakMap,F=n=>D.get(n),H=(n,t)=>D.set(t.m=n,t),V=(n,t)=>{const e={i:0,$hostElement$:n,j:t,C:new Map};return e.N=new Promise((n=>e.M=n)),n["s-p"]=[],n["s-rc"]=[],D.set(n,e)},_=(n,t)=>t in n,z=(n,t)=>(0,console.error)(n,t),B=new Map,G=n=>{const t=n.h.replace(/-/g,"_"),e=n.R,l=B.get(e);return l?l[t]:import(`./${e}.entry.js`).then((n=>(B.set(e,n),n[t])),z)
|
2
|
+
/*!__STENCIL_STATIC_IMPORT_SWITCH__*/},I=new Map,J="undefined"!=typeof window?window:{},K=J.document||{head:{}},Q={i:0,L:"",jmp:n=>n(),raf:n=>requestAnimationFrame(n),ael:(n,t,e,l)=>n.addEventListener(t,e,l),rel:(n,t,e,l)=>n.removeEventListener(t,e,l),ce:(n,t)=>new CustomEvent(n,t)},X=n=>Promise.resolve(n),Y=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(n){}return!1})(),Z=[],nn=[],tn=(n,t)=>e=>{n.push(e),l||(l=!0,t&&4&Q.i?on(ln):Q.raf(ln))},en=n=>{for(let t=0;t<n.length;t++)try{n[t](performance.now())}catch(n){z(n)}n.length=0},ln=()=>{en(Z),en(nn),(l=Z.length>0)&&Q.raf(ln)},on=n=>X().then(n),sn=tn(nn,!0);export{U as b,r as h,X as p,H as r,q as s}
|
@@ -1 +1 @@
|
|
1
|
-
import{r as t,h as e}from"./p-
|
1
|
+
import{r as t,h as e}from"./p-e4f313cd.js";const r=class{constructor(r){t(this,r),this.fields=[{label:"Date",prop:"date"},{label:"List Price",prop:"price"},{label:"% of Market",prop:"market"},{label:"ProfitTime Score",prop:"score"}],this.items=[],this.table=void 0,this.renderDetails=t=>{const{tags:r=[]}=t;return e("div",{class:"detailWrapper"},e("span",null,r.length," details..."),e("ul",null,r.map((t=>e("li",null,t)))))}}componentWillLoad(){this.items=[{date:"08/30/2020",price:"$24,000",market:"98%",score:"No Score",tags:["one","two","three"]},{date:"08/31/2020",price:"$24,000",market:"99%",score:"No Score",tags:["uno","duo"]},{date:"09/01/2020",price:"$27,000",market:"102%",score:"Platinum"},{date:"09/02/2020",price:"$27,423",market:"104%",score:"Platinum",tags:["dog","cat","fish","hamster"]},{date:"09/03/2020",price:"$27,521",market:"106%",score:"Platinum",tags:["4wd","sports"]},{date:"09/04/2020",price:"$27,687",market:"107%",score:"Platinum",tags:["leather","chrome"]}]}componentDidLoad(){const{table:t,items:e,fields:r}=this;t.data=e,t.fields=r,t.details=this.renderDetails}render(){return e("proto-table",{ref:t=>this.table=t})}};r.style=".detailWrapper{font-weight:100;font-size:13px;display:flex;flex-direction:column;justify-items:start;padding:5px;padding-left:30px}";const s={down:"M12 15.4L6.6 10 8 8.6l4 4 4-4 1.4 1.4z",up:"M16 15.4l-4-4-4 4L6.6 14 12 8.6l5.4 5.4z",left:"M14 17.4L8.6 12 14 6.6 15.4 8l-4 4 4 4z",right:"M10 17.4L8.6 16l4-4-4-4L10 6.6l5.4 5.4z",more:"M12 14a2 2 0 100-4 2 2 0 000 4zm-6 0a2 2 0 100-4 2 2 0 000 4zm12 0a2 2 0 100-4 2 2 0 000 4z","arrow-up":"M5.3 10.7l1.4 1.4L11 7.8V20h2V7.8l4.3 4.3 1.4-1.4L12 4z","arrow-down":"M18.7 13.3l-1.4-1.4-4.3 4.3V4h-2v12.2l-4.3-4.3-1.4 1.4L12 20z"},i={right:"show",down:"hide","arrow-up":"sort","arrow-down":"sort"},l=class{constructor(r){t(this,r),this.protoIcon=(t,r,l=24)=>{const o=s[t];return e("svg",{width:l,height:l,viewBox:"0 0 24 24",role:"img","aria-labelledby":"title"},e("title",null,(t=>i[t])(t)),e("g",{fill:r},e("path",{d:o})),e("path",{d:"M0 0h24v24H0z",fill:"none"}))},this.handleCellClick=(t,e)=>()=>{0===t&&(this.expanded=this.expanded===e?void 0:e)},this.handleSortClick=t=>()=>{this.sort===t?2===this.clicks?(this.clicks=0,this.sort=void 0):this.clicks=this.clicks+1:(this.sort=t,this.clicks=1)},this.iconFor=t=>this.sort===t&&2===this.clicks?"arrow-up":"arrow-down",this.header=()=>{const{fields:t,iconFor:r,protoIcon:s}=this;return e("div",{class:"header"},t.map((({label:t},i)=>{const l=i===this.sort?"headerCell sort":"headerCell",o=r(i);return e("div",{class:l,onClick:this.handleSortClick(i)},s(o),e("span",null,t))})))},this.row=(t,r)=>{const{fields:s,protoIcon:i}=this;return e("div",{class:"rowContainer"},e("div",{class:this.expanded===r?"row expanded":"row"},s.map((({prop:s},l)=>e("div",{class:l===this.sort?"cell sort":"cell",onClick:this.handleCellClick(l,r)},i(0===l&&this.details?this.expanded===r?"down":"right":"pad"),t[s])))),this.details&&this.expanded===r&&this.details(t))},this.data=[],this.details=void 0,this.fields=[],this.expanded=void 0,this.sort=void 0,this.clicks=0}render(){const t=this.data||[];return e("div",{class:"table"},this.header(),t.map(((t,e)=>this.row(t,e))))}};l.style=".table{font-weight:400;font-size:13px;display:flex;flex-direction:column;width:100%;border:1px solid var(--clrs-navy);border-radius:2px}.table svg{fill:var(--clrs-navy)}.header{display:flex}.headerCell{flex-basis:100%;display:flex;align-items:center;justify-items:start;border-right:1px solid var(--clrs-navy);border-bottom:1px solid var(--clrs-navy);padding:5px;cursor:pointer}.headerCell svg g{display:none}.headerCell.sort svg g{display:inline}.headerCell:hover svg g{display:inline}.headerCell:hover{background-color:var(--clrs-silver)}.headerCell:last-child{border-right:none}.cell{flex-basis:100%;display:flex;align-items:center;justify-items:start;padding:5px}.cell:first-child svg{cursor:pointer}.sort{background-color:var(--cx-column-sort)}.row{display:flex;justify-items:stretch;width:100%}.row.expanded{background-color:var(--cx-row-expanded)}.row.expanded svg{fill:var(--clrs-red)}.row:hover{background-color:var(--cx-row-hover)}";export{r as demo_table,l as proto_table}
|
@@ -1 +1 @@
|
|
1
|
-
import{p as e,b as t}from"./p-
|
1
|
+
import{p as e,b as t}from"./p-e4f313cd.js";export{s as setNonce}from"./p-e4f313cd.js";(()=>{const t=import.meta.url,s={};return""!==t&&(s.resourcesUrl=new URL(".",t).href),e(s)})().then((e=>t([["p-e927935b",[[1,"demo-table"],[0,"proto-table",{data:[16],details:[8],fields:[16],expanded:[32],sort:[32],clicks:[32]}]]]],e)));
|
@@ -1,12 +1,12 @@
|
|
1
1
|
export declare class DemoTable {
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
2
|
+
componentWillLoad(): void;
|
3
|
+
componentDidLoad(): void;
|
4
|
+
fields: {
|
5
|
+
label: string;
|
6
|
+
prop: string;
|
7
|
+
}[];
|
8
|
+
items: any[];
|
9
|
+
table: any;
|
10
|
+
renderDetails: (item: any) => any;
|
11
|
+
render(): any;
|
12
12
|
}
|
@@ -1,11 +1,11 @@
|
|
1
1
|
declare const iconPaths: {
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
2
|
+
down: string;
|
3
|
+
up: string;
|
4
|
+
left: string;
|
5
|
+
right: string;
|
6
|
+
more: string;
|
7
|
+
'arrow-up': string;
|
8
|
+
'arrow-down': string;
|
9
9
|
};
|
10
10
|
export { iconPaths };
|
11
11
|
export default iconPaths;
|
@@ -1,15 +1,15 @@
|
|
1
1
|
export declare class ProtoTable {
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
2
|
+
data: any[];
|
3
|
+
details: any;
|
4
|
+
fields: any[];
|
5
|
+
expanded: any;
|
6
|
+
sort: any;
|
7
|
+
clicks: number;
|
8
|
+
protoIcon: (name: any, hex?: any, size?: number) => any;
|
9
|
+
handleCellClick: (index: any, row: any) => () => void;
|
10
|
+
handleSortClick: (index: any) => () => void;
|
11
|
+
iconFor: (column: any) => "arrow-up" | "arrow-down";
|
12
|
+
header: () => any;
|
13
|
+
row: (data: any, row: any) => any;
|
14
|
+
render(): any;
|
15
15
|
}
|