@descope/web-components-ui 1.99.0 → 1.101.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs.js +1958 -1643
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/index.esm.js +1904 -1588
- package/dist/index.esm.js.map +1 -1
- package/dist/umd/1995.js +22 -7
- package/dist/umd/1995.js.LICENSE.txt +6 -0
- package/dist/umd/1995.js.map +1 -1
- package/dist/umd/6063.js +18 -0
- package/dist/umd/6063.js.map +1 -0
- package/dist/umd/6818.js +3 -0
- package/dist/umd/6818.js.map +1 -0
- package/dist/umd/{189.js → 8248.js} +4 -4
- package/dist/umd/8248.js.map +1 -0
- package/dist/umd/8961.js +1 -1
- package/dist/umd/8961.js.map +1 -1
- package/dist/umd/8968.js +432 -0
- package/dist/umd/8968.js.map +1 -0
- package/dist/umd/8983.js +324 -7
- package/dist/umd/8983.js.map +1 -1
- package/dist/umd/{384.js → 9117.js} +9 -121
- package/dist/umd/9117.js.map +1 -0
- package/dist/umd/9275.js +18 -0
- package/dist/umd/9275.js.LICENSE.txt +23 -0
- package/dist/umd/9275.js.map +1 -0
- package/dist/umd/DescopeDev.js +1 -1
- package/dist/umd/DescopeDev.js.map +1 -1
- package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-index-js.js +1 -1
- package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-index-js.js.map +1 -1
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-index-js.js +1 -1
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-index-js.js.map +1 -1
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js +338 -1
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js.LICENSE.txt +5 -0
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js.map +1 -1
- package/dist/umd/descope-apps-list-index-js.js +1 -1
- package/dist/umd/descope-apps-list-index-js.js.map +1 -1
- package/dist/umd/descope-button.js +4 -4
- package/dist/umd/descope-button.js.LICENSE.txt +0 -6
- package/dist/umd/descope-button.js.map +1 -1
- package/dist/umd/descope-collapsible-container.js +1 -1
- package/dist/umd/descope-collapsible-container.js.map +1 -1
- package/dist/umd/descope-date-field-index-js.js +1 -1
- package/dist/umd/descope-date-field-index-js.js.map +1 -1
- package/dist/umd/descope-divider-index-js.js +1 -1
- package/dist/umd/descope-divider-index-js.js.map +1 -1
- package/dist/umd/descope-grid-descope-grid-custom-column-index-js.js +321 -4
- package/dist/umd/descope-grid-descope-grid-custom-column-index-js.js.LICENSE.txt +6 -0
- package/dist/umd/descope-grid-descope-grid-custom-column-index-js.js.map +1 -1
- package/dist/umd/descope-grid-descope-grid-item-details-column-index-js.js +322 -5
- package/dist/umd/descope-grid-descope-grid-item-details-column-index-js.js.map +1 -1
- package/dist/umd/descope-grid-descope-grid-text-column-index-js.js +321 -4
- package/dist/umd/descope-grid-descope-grid-text-column-index-js.js.LICENSE.txt +6 -0
- package/dist/umd/descope-grid-descope-grid-text-column-index-js.js.map +1 -1
- package/dist/umd/descope-link-index-js.js +1 -1
- package/dist/umd/descope-link-index-js.js.map +1 -1
- package/dist/umd/descope-recovery-codes.js +2 -0
- package/dist/umd/descope-recovery-codes.js.map +1 -0
- package/dist/umd/descope-security-questions-verify-index-js.js +1 -1
- package/dist/umd/descope-security-questions-verify-index-js.js.map +1 -1
- package/dist/umd/descope-text.js +1 -1
- package/dist/umd/descope-text.js.map +1 -1
- package/dist/umd/descope-timer-button.js +338 -1
- package/dist/umd/descope-timer-button.js.LICENSE.txt +5 -0
- package/dist/umd/descope-timer-button.js.map +1 -1
- package/dist/umd/descope-upload-file-index-js.js +338 -1
- package/dist/umd/descope-upload-file-index-js.js.LICENSE.txt +5 -0
- package/dist/umd/descope-upload-file-index-js.js.map +1 -1
- package/dist/umd/descope-user-attribute-index-js.js +338 -1
- package/dist/umd/descope-user-attribute-index-js.js.map +1 -1
- package/dist/umd/descope-user-auth-method-index-js.js +338 -1
- package/dist/umd/descope-user-auth-method-index-js.js.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/dist/umd/mapping-fields-descope-mappings-field-index-js.js +1 -1
- package/dist/umd/mapping-fields-descope-mappings-field-index-js.js.map +1 -1
- package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js +1 -1
- package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js.map +1 -1
- package/package.json +15 -14
- package/src/components/descope-date-field/DateFieldClass.js +43 -4
- package/src/theme/components/index.js +2 -0
- package/dist/umd/189.js.map +0 -1
- package/dist/umd/2894.js +0 -339
- package/dist/umd/2894.js.map +0 -1
- package/dist/umd/3792.js +0 -339
- package/dist/umd/3792.js.map +0 -1
- package/dist/umd/384.js.map +0 -1
- package/dist/umd/513.js +0 -339
- package/dist/umd/513.js.map +0 -1
- package/dist/umd/6227.js +0 -320
- package/dist/umd/6227.js.map +0 -1
- package/dist/umd/6649.js +0 -339
- package/dist/umd/6649.js.LICENSE.txt +0 -11
- package/dist/umd/6649.js.map +0 -1
- package/dist/umd/9030.js +0 -339
- package/dist/umd/9030.js.LICENSE.txt +0 -11
- package/dist/umd/9030.js.map +0 -1
- package/dist/umd/9380.js +0 -130
- package/dist/umd/9380.js.map +0 -1
- /package/dist/umd/{189.js.LICENSE.txt → 6063.js.LICENSE.txt} +0 -0
- /package/dist/umd/{6227.js.LICENSE.txt → 6818.js.LICENSE.txt} +0 -0
- /package/dist/umd/{9380.js.LICENSE.txt → 8248.js.LICENSE.txt} +0 -0
- /package/dist/umd/{2894.js.LICENSE.txt → 8968.js.LICENSE.txt} +0 -0
- /package/dist/umd/{3792.js.LICENSE.txt → 9117.js.LICENSE.txt} +0 -0
- /package/dist/umd/{384.js.LICENSE.txt → descope-user-attribute-index-js.js.LICENSE.txt} +0 -0
- /package/dist/umd/{513.js.LICENSE.txt → descope-user-auth-method-index-js.js.LICENSE.txt} +0 -0
@@ -1,5 +1,322 @@
|
|
1
1
|
/*! For license information please see descope-grid-descope-grid-custom-column-index-js.js.LICENSE.txt */
|
2
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[9176],{115:(
|
2
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[9176],{115:(t,o,e)=>{e.d(o,{i:()=>a});var r=e(94591);class a extends r.v{get sortable(){return"true"===this.getAttribute("sortable")}_defaultRenderer(t,o,e){const r=e.item[this.path]||"",a=Array.isArray(r)?r.join(", "):r;this.__setTextContent(t,a),t.title=a}_defaultHeaderRenderer(t,o){this.sortable?super._defaultHeaderRenderer(t,o):this.__setTextContent(t,this.__getHeader(this.header,this.path))}}},1508:(t,o,e)=>{function r(t){const o=[];for(;t;){if(t.nodeType===Node.DOCUMENT_NODE){o.push(t);break}t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE?t=t.assignedSlot?t.assignedSlot:t.parentNode:(o.push(t),t=t.host)}return o}function a(t){const o=[];let e;return"slot"===t.localName?e=t.assignedElements():(o.push(t),e=[...t.children]),e.forEach((t=>o.push(...a(t)))),o}function l(t,o){return o?o.closest(t)||l(t,o.getRootNode().host):null}function c(t){return t?new Set(t.split(" ")):new Set}function n(t){return t?[...t].join(" "):""}function i(t,o,e){const r=c(t.getAttribute(o));r.add(e),t.setAttribute(o,n(r))}function s(t,o,e){const r=c(t.getAttribute(o));r.delete(e),0!==r.size?t.setAttribute(o,n(r)):t.removeAttribute(o)}function d(t){return t.nodeType===Node.TEXT_NODE&&""===t.textContent.trim()}e.d(o,{Dy:()=>r,J$:()=>a,Wr:()=>s,Z4:()=>c,ZA:()=>d,el:()=>l,iA:()=>i,sz:()=>n})},3241:(t,o,e)=>{e(88660);var r=e(87550),a=e(36411);const l=r.AH`
|
3
|
+
:host {
|
4
|
+
/* Border radius */
|
5
|
+
--lumo-border-radius-s: 0.25em; /* Checkbox, badge, date-picker year indicator, etc */
|
6
|
+
--lumo-border-radius-m: var(--lumo-border-radius, 0.25em); /* Button, text field, menu overlay, etc */
|
7
|
+
--lumo-border-radius-l: 0.5em; /* Dialog, notification, etc */
|
8
|
+
|
9
|
+
/* Shadow */
|
10
|
+
--lumo-box-shadow-xs: 0 1px 4px -1px var(--lumo-shade-50pct);
|
11
|
+
--lumo-box-shadow-s: 0 2px 4px -1px var(--lumo-shade-20pct), 0 3px 12px -1px var(--lumo-shade-30pct);
|
12
|
+
--lumo-box-shadow-m: 0 2px 6px -1px var(--lumo-shade-20pct), 0 8px 24px -4px var(--lumo-shade-40pct);
|
13
|
+
--lumo-box-shadow-l: 0 3px 18px -2px var(--lumo-shade-20pct), 0 12px 48px -6px var(--lumo-shade-40pct);
|
14
|
+
--lumo-box-shadow-xl: 0 4px 24px -3px var(--lumo-shade-20pct), 0 18px 64px -8px var(--lumo-shade-40pct);
|
15
|
+
|
16
|
+
/* Clickable element cursor */
|
17
|
+
--lumo-clickable-cursor: default;
|
18
|
+
}
|
19
|
+
`;r.AH`
|
20
|
+
html {
|
21
|
+
/* Button */
|
22
|
+
--vaadin-button-background: var(--lumo-contrast-5pct);
|
23
|
+
--vaadin-button-border: none;
|
24
|
+
--vaadin-button-border-radius: var(--lumo-border-radius-m);
|
25
|
+
--vaadin-button-font-size: var(--lumo-font-size-m);
|
26
|
+
--vaadin-button-font-weight: 500;
|
27
|
+
--vaadin-button-height: var(--lumo-size-m);
|
28
|
+
--vaadin-button-margin: var(--lumo-space-xs) 0;
|
29
|
+
--vaadin-button-min-width: calc(var(--vaadin-button-height) * 2);
|
30
|
+
--vaadin-button-padding: 0 calc(var(--vaadin-button-height) / 3 + var(--lumo-border-radius-m) / 2);
|
31
|
+
--vaadin-button-text-color: var(--lumo-primary-text-color);
|
32
|
+
--vaadin-button-primary-background: var(--lumo-primary-color);
|
33
|
+
--vaadin-button-primary-border: none;
|
34
|
+
--vaadin-button-primary-font-weight: 600;
|
35
|
+
--vaadin-button-primary-text-color: var(--lumo-primary-contrast-color);
|
36
|
+
--vaadin-button-tertiary-background: transparent !important;
|
37
|
+
--vaadin-button-tertiary-text-color: var(--lumo-primary-text-color);
|
38
|
+
--vaadin-button-tertiary-font-weight: 500;
|
39
|
+
--vaadin-button-tertiary-padding: 0 calc(var(--vaadin-button-height) / 6);
|
40
|
+
/* Checkbox */
|
41
|
+
--vaadin-checkbox-background: var(--lumo-contrast-20pct);
|
42
|
+
--vaadin-checkbox-background-hover: var(--lumo-contrast-30pct);
|
43
|
+
--vaadin-checkbox-border-radius: var(--lumo-border-radius-s);
|
44
|
+
--vaadin-checkbox-checkmark-char: var(--lumo-icons-checkmark);
|
45
|
+
--vaadin-checkbox-checkmark-char-indeterminate: '';
|
46
|
+
--vaadin-checkbox-checkmark-color: var(--lumo-primary-contrast-color);
|
47
|
+
--vaadin-checkbox-checkmark-size: calc(var(--vaadin-checkbox-size) + 2px);
|
48
|
+
--vaadin-checkbox-label-color: var(--lumo-body-text-color);
|
49
|
+
--vaadin-checkbox-label-font-size: var(--lumo-font-size-m);
|
50
|
+
--vaadin-checkbox-label-padding: var(--lumo-space-xs) var(--lumo-space-s) var(--lumo-space-xs) var(--lumo-space-xs);
|
51
|
+
--vaadin-checkbox-size: calc(var(--lumo-size-m) / 2);
|
52
|
+
/* Radio button */
|
53
|
+
--vaadin-radio-button-background: var(--lumo-contrast-20pct);
|
54
|
+
--vaadin-radio-button-background-hover: var(--lumo-contrast-30pct);
|
55
|
+
--vaadin-radio-button-dot-color: var(--lumo-primary-contrast-color);
|
56
|
+
--vaadin-radio-button-dot-size: 3px;
|
57
|
+
--vaadin-radio-button-label-color: var(--lumo-body-text-color);
|
58
|
+
--vaadin-radio-button-label-font-size: var(--lumo-font-size-m);
|
59
|
+
--vaadin-radio-button-label-padding: var(--lumo-space-xs) var(--lumo-space-s) var(--lumo-space-xs)
|
60
|
+
var(--lumo-space-xs);
|
61
|
+
--vaadin-radio-button-size: calc(var(--lumo-size-m) / 2);
|
62
|
+
--vaadin-selection-color: var(--lumo-primary-color);
|
63
|
+
--vaadin-selection-color-text: var(--lumo-primary-text-color);
|
64
|
+
--vaadin-input-field-border-radius: var(--lumo-border-radius-m);
|
65
|
+
--vaadin-focus-ring-color: var(--lumo-primary-color-50pct);
|
66
|
+
--vaadin-focus-ring-width: 2px;
|
67
|
+
/* Label */
|
68
|
+
--vaadin-input-field-label-color: var(--lumo-secondary-text-color);
|
69
|
+
--vaadin-input-field-focused-label-color: var(--lumo-primary-text-color);
|
70
|
+
--vaadin-input-field-hovered-label-color: var(--lumo-body-text-color);
|
71
|
+
--vaadin-input-field-label-font-size: var(--lumo-font-size-s);
|
72
|
+
--vaadin-input-field-label-font-weight: 500;
|
73
|
+
/* Helper */
|
74
|
+
--vaadin-input-field-helper-color: var(--lumo-secondary-text-color);
|
75
|
+
--vaadin-input-field-helper-font-size: var(--lumo-font-size-xs);
|
76
|
+
--vaadin-input-field-helper-font-weight: 400;
|
77
|
+
--vaadin-input-field-helper-spacing: 0.4em;
|
78
|
+
/* Error message */
|
79
|
+
--vaadin-input-field-error-color: var(--lumo-error-text-color);
|
80
|
+
--vaadin-input-field-error-font-size: var(--lumo-font-size-xs);
|
81
|
+
--vaadin-input-field-error-font-weight: 400;
|
82
|
+
/* Input field */
|
83
|
+
--vaadin-input-field-background: var(--lumo-contrast-10pct);
|
84
|
+
--vaadin-input-field-icon-color: var(--lumo-contrast-60pct);
|
85
|
+
--vaadin-input-field-icon-size: var(--lumo-icon-size-m);
|
86
|
+
--vaadin-input-field-invalid-background: var(--lumo-error-color-10pct);
|
87
|
+
--vaadin-input-field-invalid-hover-highlight: var(--lumo-error-color-50pct);
|
88
|
+
--vaadin-input-field-height: var(--lumo-size-m);
|
89
|
+
--vaadin-input-field-hover-highlight: var(--lumo-contrast-50pct);
|
90
|
+
--vaadin-input-field-placeholder-color: var(--lumo-secondary-text-color);
|
91
|
+
--vaadin-input-field-readonly-border: 1px dashed var(--lumo-contrast-30pct);
|
92
|
+
--vaadin-input-field-value-color: var(--lumo-body-text-color);
|
93
|
+
--vaadin-input-field-value-font-size: var(--lumo-font-size-m);
|
94
|
+
--vaadin-input-field-value-font-weight: 400;
|
95
|
+
}
|
96
|
+
`,(0,a.q)("style-props",l)},9433:(t,o,e)=>{e(88660);var r=e(87550),a=e(36411);const l=r.AH`
|
97
|
+
:host {
|
98
|
+
/* Square */
|
99
|
+
--lumo-space-xs: 0.25rem;
|
100
|
+
--lumo-space-s: 0.5rem;
|
101
|
+
--lumo-space-m: 1rem;
|
102
|
+
--lumo-space-l: 1.5rem;
|
103
|
+
--lumo-space-xl: 2.5rem;
|
104
|
+
|
105
|
+
/* Wide */
|
106
|
+
--lumo-space-wide-xs: calc(var(--lumo-space-xs) / 2) var(--lumo-space-xs);
|
107
|
+
--lumo-space-wide-s: calc(var(--lumo-space-s) / 2) var(--lumo-space-s);
|
108
|
+
--lumo-space-wide-m: calc(var(--lumo-space-m) / 2) var(--lumo-space-m);
|
109
|
+
--lumo-space-wide-l: calc(var(--lumo-space-l) / 2) var(--lumo-space-l);
|
110
|
+
--lumo-space-wide-xl: calc(var(--lumo-space-xl) / 2) var(--lumo-space-xl);
|
111
|
+
|
112
|
+
/* Tall */
|
113
|
+
--lumo-space-tall-xs: var(--lumo-space-xs) calc(var(--lumo-space-xs) / 2);
|
114
|
+
--lumo-space-tall-s: var(--lumo-space-s) calc(var(--lumo-space-s) / 2);
|
115
|
+
--lumo-space-tall-m: var(--lumo-space-m) calc(var(--lumo-space-m) / 2);
|
116
|
+
--lumo-space-tall-l: var(--lumo-space-l) calc(var(--lumo-space-l) / 2);
|
117
|
+
--lumo-space-tall-xl: var(--lumo-space-xl) calc(var(--lumo-space-xl) / 2);
|
118
|
+
}
|
119
|
+
`;(0,a.q)("spacing-props",l)},12909:(t,o,e)=>{e.r(o),e.d(o,{componentName:()=>c});var r=e(97810),a=e(115);class l extends a.i{_defaultRenderer(t,o,e){const r=e.item[this.path]||"",a=Array.from(this.children).find((t=>{const o=t.getAttribute("data-pattern");return!o||new RegExp(o).test(r)}));if(!a)return void this.__setTextContent(t,e.item[this.path]||"");const l=a.cloneNode(!0);l.textContent=r||"",t.innerHTML="",t.append(l)}}const c=(0,r.xE)("grid-custom-column");customElements.define(c,l)},21255:(t,o,e)=>{function r(t){window.Vaadin&&window.Vaadin.templateRendererCallback?window.Vaadin.templateRendererCallback(t):t.querySelector("template")&&console.warn(`WARNING: <template> inside <${t.localName}> is no longer supported. Import @vaadin/polymer-legacy-adapter/template-renderer.js to enable compatibility.`)}e.d(o,{h:()=>r})},64511:(t,o,e)=>{e(88660);var r=e(87550),a=e(36411);const l=r.AH`
|
120
|
+
:host {
|
121
|
+
/* Base (background) */
|
122
|
+
--lumo-base-color: #fff;
|
123
|
+
|
124
|
+
/* Tint */
|
125
|
+
--lumo-tint-5pct: hsla(0, 0%, 100%, 0.3);
|
126
|
+
--lumo-tint-10pct: hsla(0, 0%, 100%, 0.37);
|
127
|
+
--lumo-tint-20pct: hsla(0, 0%, 100%, 0.44);
|
128
|
+
--lumo-tint-30pct: hsla(0, 0%, 100%, 0.5);
|
129
|
+
--lumo-tint-40pct: hsla(0, 0%, 100%, 0.57);
|
130
|
+
--lumo-tint-50pct: hsla(0, 0%, 100%, 0.64);
|
131
|
+
--lumo-tint-60pct: hsla(0, 0%, 100%, 0.7);
|
132
|
+
--lumo-tint-70pct: hsla(0, 0%, 100%, 0.77);
|
133
|
+
--lumo-tint-80pct: hsla(0, 0%, 100%, 0.84);
|
134
|
+
--lumo-tint-90pct: hsla(0, 0%, 100%, 0.9);
|
135
|
+
--lumo-tint: #fff;
|
136
|
+
|
137
|
+
/* Shade */
|
138
|
+
--lumo-shade-5pct: hsla(214, 61%, 25%, 0.05);
|
139
|
+
--lumo-shade-10pct: hsla(214, 57%, 24%, 0.1);
|
140
|
+
--lumo-shade-20pct: hsla(214, 53%, 23%, 0.16);
|
141
|
+
--lumo-shade-30pct: hsla(214, 50%, 22%, 0.26);
|
142
|
+
--lumo-shade-40pct: hsla(214, 47%, 21%, 0.38);
|
143
|
+
--lumo-shade-50pct: hsla(214, 45%, 20%, 0.52);
|
144
|
+
--lumo-shade-60pct: hsla(214, 43%, 19%, 0.6);
|
145
|
+
--lumo-shade-70pct: hsla(214, 42%, 18%, 0.69);
|
146
|
+
--lumo-shade-80pct: hsla(214, 41%, 17%, 0.83);
|
147
|
+
--lumo-shade-90pct: hsla(214, 40%, 16%, 0.94);
|
148
|
+
--lumo-shade: hsl(214, 35%, 15%);
|
149
|
+
|
150
|
+
/* Contrast */
|
151
|
+
--lumo-contrast-5pct: var(--lumo-shade-5pct);
|
152
|
+
--lumo-contrast-10pct: var(--lumo-shade-10pct);
|
153
|
+
--lumo-contrast-20pct: var(--lumo-shade-20pct);
|
154
|
+
--lumo-contrast-30pct: var(--lumo-shade-30pct);
|
155
|
+
--lumo-contrast-40pct: var(--lumo-shade-40pct);
|
156
|
+
--lumo-contrast-50pct: var(--lumo-shade-50pct);
|
157
|
+
--lumo-contrast-60pct: var(--lumo-shade-60pct);
|
158
|
+
--lumo-contrast-70pct: var(--lumo-shade-70pct);
|
159
|
+
--lumo-contrast-80pct: var(--lumo-shade-80pct);
|
160
|
+
--lumo-contrast-90pct: var(--lumo-shade-90pct);
|
161
|
+
--lumo-contrast: var(--lumo-shade);
|
162
|
+
|
163
|
+
/* Text */
|
164
|
+
--lumo-header-text-color: var(--lumo-contrast);
|
165
|
+
--lumo-body-text-color: var(--lumo-contrast-90pct);
|
166
|
+
--lumo-secondary-text-color: var(--lumo-contrast-70pct);
|
167
|
+
--lumo-tertiary-text-color: var(--lumo-contrast-50pct);
|
168
|
+
--lumo-disabled-text-color: var(--lumo-contrast-30pct);
|
169
|
+
|
170
|
+
/* Primary */
|
171
|
+
--lumo-primary-color: hsl(214, 100%, 48%);
|
172
|
+
--lumo-primary-color-50pct: hsla(214, 100%, 49%, 0.76);
|
173
|
+
--lumo-primary-color-10pct: hsla(214, 100%, 60%, 0.13);
|
174
|
+
--lumo-primary-text-color: hsl(214, 100%, 43%);
|
175
|
+
--lumo-primary-contrast-color: #fff;
|
176
|
+
|
177
|
+
/* Error */
|
178
|
+
--lumo-error-color: hsl(3, 85%, 48%);
|
179
|
+
--lumo-error-color-50pct: hsla(3, 85%, 49%, 0.5);
|
180
|
+
--lumo-error-color-10pct: hsla(3, 85%, 49%, 0.1);
|
181
|
+
--lumo-error-text-color: hsl(3, 89%, 42%);
|
182
|
+
--lumo-error-contrast-color: #fff;
|
183
|
+
|
184
|
+
/* Success */
|
185
|
+
--lumo-success-color: hsl(145, 72%, 30%);
|
186
|
+
--lumo-success-color-50pct: hsla(145, 72%, 31%, 0.5);
|
187
|
+
--lumo-success-color-10pct: hsla(145, 72%, 31%, 0.1);
|
188
|
+
--lumo-success-text-color: hsl(145, 85%, 25%);
|
189
|
+
--lumo-success-contrast-color: #fff;
|
190
|
+
|
191
|
+
/* Warning */
|
192
|
+
--lumo-warning-color: hsl(48, 100%, 50%);
|
193
|
+
--lumo-warning-color-10pct: hsla(48, 100%, 50%, 0.25);
|
194
|
+
--lumo-warning-text-color: hsl(32, 100%, 30%);
|
195
|
+
--lumo-warning-contrast-color: var(--lumo-shade-90pct);
|
196
|
+
}
|
197
|
+
|
198
|
+
/* forced-colors mode adjustments */
|
199
|
+
@media (forced-colors: active) {
|
200
|
+
html {
|
201
|
+
--lumo-disabled-text-color: GrayText;
|
202
|
+
}
|
203
|
+
}
|
204
|
+
`;(0,a.q)("color-props",l);const c=r.AH`
|
205
|
+
[theme~='dark'] {
|
206
|
+
/* Base (background) */
|
207
|
+
--lumo-base-color: hsl(214, 35%, 21%);
|
208
|
+
|
209
|
+
/* Tint */
|
210
|
+
--lumo-tint-5pct: hsla(214, 65%, 85%, 0.06);
|
211
|
+
--lumo-tint-10pct: hsla(214, 60%, 80%, 0.14);
|
212
|
+
--lumo-tint-20pct: hsla(214, 64%, 82%, 0.23);
|
213
|
+
--lumo-tint-30pct: hsla(214, 69%, 84%, 0.32);
|
214
|
+
--lumo-tint-40pct: hsla(214, 73%, 86%, 0.41);
|
215
|
+
--lumo-tint-50pct: hsla(214, 78%, 88%, 0.5);
|
216
|
+
--lumo-tint-60pct: hsla(214, 82%, 90%, 0.58);
|
217
|
+
--lumo-tint-70pct: hsla(214, 87%, 92%, 0.69);
|
218
|
+
--lumo-tint-80pct: hsla(214, 91%, 94%, 0.8);
|
219
|
+
--lumo-tint-90pct: hsla(214, 96%, 96%, 0.9);
|
220
|
+
--lumo-tint: hsl(214, 100%, 98%);
|
221
|
+
|
222
|
+
/* Shade */
|
223
|
+
--lumo-shade-5pct: hsla(214, 0%, 0%, 0.07);
|
224
|
+
--lumo-shade-10pct: hsla(214, 4%, 2%, 0.15);
|
225
|
+
--lumo-shade-20pct: hsla(214, 8%, 4%, 0.23);
|
226
|
+
--lumo-shade-30pct: hsla(214, 12%, 6%, 0.32);
|
227
|
+
--lumo-shade-40pct: hsla(214, 16%, 8%, 0.41);
|
228
|
+
--lumo-shade-50pct: hsla(214, 20%, 10%, 0.5);
|
229
|
+
--lumo-shade-60pct: hsla(214, 24%, 12%, 0.6);
|
230
|
+
--lumo-shade-70pct: hsla(214, 28%, 13%, 0.7);
|
231
|
+
--lumo-shade-80pct: hsla(214, 32%, 13%, 0.8);
|
232
|
+
--lumo-shade-90pct: hsla(214, 33%, 13%, 0.9);
|
233
|
+
--lumo-shade: hsl(214, 33%, 13%);
|
234
|
+
|
235
|
+
/* Contrast */
|
236
|
+
--lumo-contrast-5pct: var(--lumo-tint-5pct);
|
237
|
+
--lumo-contrast-10pct: var(--lumo-tint-10pct);
|
238
|
+
--lumo-contrast-20pct: var(--lumo-tint-20pct);
|
239
|
+
--lumo-contrast-30pct: var(--lumo-tint-30pct);
|
240
|
+
--lumo-contrast-40pct: var(--lumo-tint-40pct);
|
241
|
+
--lumo-contrast-50pct: var(--lumo-tint-50pct);
|
242
|
+
--lumo-contrast-60pct: var(--lumo-tint-60pct);
|
243
|
+
--lumo-contrast-70pct: var(--lumo-tint-70pct);
|
244
|
+
--lumo-contrast-80pct: var(--lumo-tint-80pct);
|
245
|
+
--lumo-contrast-90pct: var(--lumo-tint-90pct);
|
246
|
+
--lumo-contrast: var(--lumo-tint);
|
247
|
+
|
248
|
+
/* Text */
|
249
|
+
--lumo-header-text-color: var(--lumo-contrast);
|
250
|
+
--lumo-body-text-color: var(--lumo-contrast-90pct);
|
251
|
+
--lumo-secondary-text-color: var(--lumo-contrast-70pct);
|
252
|
+
--lumo-tertiary-text-color: var(--lumo-contrast-50pct);
|
253
|
+
--lumo-disabled-text-color: var(--lumo-contrast-30pct);
|
254
|
+
|
255
|
+
/* Primary */
|
256
|
+
--lumo-primary-color: hsl(214, 90%, 48%);
|
257
|
+
--lumo-primary-color-50pct: hsla(214, 90%, 70%, 0.69);
|
258
|
+
--lumo-primary-color-10pct: hsla(214, 90%, 55%, 0.13);
|
259
|
+
--lumo-primary-text-color: hsl(214, 90%, 77%);
|
260
|
+
--lumo-primary-contrast-color: #fff;
|
261
|
+
|
262
|
+
/* Error */
|
263
|
+
--lumo-error-color: hsl(3, 79%, 49%);
|
264
|
+
--lumo-error-color-50pct: hsla(3, 75%, 62%, 0.5);
|
265
|
+
--lumo-error-color-10pct: hsla(3, 75%, 62%, 0.14);
|
266
|
+
--lumo-error-text-color: hsl(3, 100%, 80%);
|
267
|
+
|
268
|
+
/* Success */
|
269
|
+
--lumo-success-color: hsl(145, 72%, 30%);
|
270
|
+
--lumo-success-color-50pct: hsla(145, 92%, 51%, 0.5);
|
271
|
+
--lumo-success-color-10pct: hsla(145, 92%, 51%, 0.1);
|
272
|
+
--lumo-success-text-color: hsl(145, 85%, 46%);
|
273
|
+
|
274
|
+
/* Warning */
|
275
|
+
--lumo-warning-color: hsl(43, 100%, 48%);
|
276
|
+
--lumo-warning-color-10pct: hsla(40, 100%, 50%, 0.2);
|
277
|
+
--lumo-warning-text-color: hsl(45, 100%, 60%);
|
278
|
+
--lumo-warning-contrast-color: var(--lumo-shade-90pct);
|
279
|
+
}
|
280
|
+
|
281
|
+
html {
|
282
|
+
color: var(--lumo-body-text-color);
|
283
|
+
background-color: var(--lumo-base-color);
|
284
|
+
color-scheme: light;
|
285
|
+
}
|
286
|
+
|
287
|
+
[theme~='dark'] {
|
288
|
+
color: var(--lumo-body-text-color);
|
289
|
+
background-color: var(--lumo-base-color);
|
290
|
+
color-scheme: dark;
|
291
|
+
}
|
292
|
+
|
293
|
+
h1,
|
294
|
+
h2,
|
295
|
+
h3,
|
296
|
+
h4,
|
297
|
+
h5,
|
298
|
+
h6 {
|
299
|
+
color: var(--lumo-header-text-color);
|
300
|
+
}
|
301
|
+
|
302
|
+
a:where(:any-link) {
|
303
|
+
color: var(--lumo-primary-text-color);
|
304
|
+
}
|
305
|
+
|
306
|
+
a:not(:any-link) {
|
307
|
+
color: var(--lumo-disabled-text-color);
|
308
|
+
}
|
309
|
+
|
310
|
+
blockquote {
|
311
|
+
color: var(--lumo-secondary-text-color);
|
312
|
+
}
|
313
|
+
|
314
|
+
code,
|
315
|
+
pre {
|
316
|
+
background-color: var(--lumo-contrast-10pct);
|
317
|
+
border-radius: var(--lumo-border-radius-m);
|
318
|
+
}
|
319
|
+
`;(0,r.SF)("",c,{moduleId:"lumo-color"})},85725:(t,o,e)=>{function r(t,o){return t.split(".").reduce(((t,o)=>t?t[o]:void 0),o)}e.d(o,{J:()=>r})},94591:(t,o,e)=>{e.d(o,{v:()=>m}),e(64511),e(3241),e(9433);var r=e(87550);(0,r.SF)("vaadin-grid-sorter",r.AH`
|
3
320
|
:host {
|
4
321
|
justify-content: flex-start;
|
5
322
|
align-items: baseline;
|
@@ -42,7 +359,7 @@
|
|
42
359
|
margin-right: var(--lumo-space-s);
|
43
360
|
margin-left: 0;
|
44
361
|
}
|
45
|
-
`,{moduleId:"lumo-grid-sorter"});var
|
362
|
+
`,{moduleId:"lumo-grid-sorter"});var a=e(13256),l=e(82901),c=e(23927);const n=document.createElement("template");n.innerHTML=`\n <style nonce=${window.DESCOPE_NONCE}>\n @font-face {\n font-family: 'vaadin-grid-sorter-icons';\n src: url('`+e.p+"fonts/font-1364590020.woff');\n font-weight: normal;\n font-style: normal;\n }\n </style>\n",document.head.appendChild(n.content),(0,r.SF)("vaadin-grid-sorter",r.AH`
|
46
363
|
:host {
|
47
364
|
display: inline-flex;
|
48
365
|
cursor: pointer;
|
@@ -80,12 +397,12 @@
|
|
80
397
|
:host([direction='desc']) [part='indicators']::before {
|
81
398
|
content: '\\e902';
|
82
399
|
}
|
83
|
-
`,{moduleId:"vaadin-grid-sorter-styles"});const
|
400
|
+
`,{moduleId:"vaadin-grid-sorter-styles"});const i=t=>class extends t{static get properties(){return{path:String,direction:{type:String,reflectToAttribute:!0,notify:!0,value:null,sync:!0},_order:{type:Number,value:null,sync:!0},_isConnected:{type:Boolean,observer:"__isConnectedChanged"}}}static get observers(){return["_pathOrDirectionChanged(path, direction)"]}ready(){super.ready(),this.addEventListener("click",this._onClick.bind(this))}connectedCallback(){super.connectedCallback(),this._isConnected=!0}disconnectedCallback(){super.disconnectedCallback(),this._isConnected=!1,!this.parentNode&&this._grid&&this._grid.__removeSorters([this])}_pathOrDirectionChanged(){this.__dispatchSorterChangedEvenIfPossible()}__isConnectedChanged(t,o){!1!==o&&this.__dispatchSorterChangedEvenIfPossible()}__dispatchSorterChangedEvenIfPossible(){void 0!==this.path&&void 0!==this.direction&&this._isConnected&&(this.dispatchEvent(new CustomEvent("sorter-changed",{detail:{shiftClick:Boolean(this._shiftClick),fromSorterClick:Boolean(this._fromSorterClick)},bubbles:!0,composed:!0})),this._fromSorterClick=!1,this._shiftClick=!1)}_getDisplayOrder(t){return null===t?"":t+1}_onClick(t){if(t.defaultPrevented)return;const o=this.getRootNode().activeElement;this!==o&&this.contains(o)||(t.preventDefault(),this._shiftClick=t.shiftKey,this._fromSorterClick=!0,"asc"===this.direction?this.direction="desc":"desc"===this.direction?this.direction=null:this.direction="asc")}};class s extends(i((0,r.cp)((0,c.v)(a.Pu)))){static get template(){return a.qy`
|
84
401
|
<div part="content">
|
85
402
|
<slot></slot>
|
86
403
|
</div>
|
87
404
|
<div part="indicators">
|
88
405
|
<span part="order">[[_getDisplayOrder(_order)]]</span>
|
89
406
|
</div>
|
90
|
-
`}static get is(){return"vaadin-grid-sorter"}}(0,
|
407
|
+
`}static get is(){return"vaadin-grid-sorter"}}(0,l.X)(s);var d=e(57565);const u=t=>class extends t{static get properties(){return{path:{type:String,sync:!0},direction:{type:String,notify:!0,sync:!0}}}static get observers(){return["_onHeaderRendererOrBindingChanged(_headerRenderer, _headerCell, path, header, direction)"]}constructor(){super(),this.__boundOnDirectionChanged=this.__onDirectionChanged.bind(this)}_defaultHeaderRenderer(t,o){let e=t.firstElementChild;e||(e=document.createElement("vaadin-grid-sorter"),e.addEventListener("direction-changed",this.__boundOnDirectionChanged),t.appendChild(e)),e.path=this.path,e.__rendererDirection=this.direction,e.direction=this.direction,e.textContent=this.__getHeader(this.header,this.path)}_computeHeaderRenderer(){return this._defaultHeaderRenderer}__onDirectionChanged(t){t.detail.value!==t.target.__rendererDirection&&(this.direction=t.detail.value)}__getHeader(t,o){return t||(o?this._generateHeader(o):void 0)}};class m extends(u(d.H)){static get is(){return"vaadin-grid-sort-column"}}(0,l.X)(m)}}]);
|
91
408
|
//# sourceMappingURL=descope-grid-descope-grid-custom-column-index-js.js.map
|
@@ -4,6 +4,12 @@
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
5
5
|
*/
|
6
6
|
|
7
|
+
/**
|
8
|
+
* @license
|
9
|
+
* Copyright (c) 2017 - 2023 Vaadin Ltd.
|
10
|
+
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
11
|
+
*/
|
12
|
+
|
7
13
|
/**
|
8
14
|
* @license
|
9
15
|
* Copyright (c) 2021 - 2023 Vaadin Ltd.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"descope-grid-descope-grid-custom-column-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-text-column/GridTextColumnClass.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/dom-utils.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-custom-column/GridCustomColumnClass.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-custom-column/index.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/templates.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/path-utils.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/grid/theme/lumo/vaadin-grid-sorter-styles.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/grid/src/vaadin-grid-sorter-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/grid/src/vaadin-grid-sorter.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/grid/src/vaadin-grid-sort-column-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/grid/src/vaadin-grid-sort-column.js"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport { GridSortColumn } from '@vaadin/grid/vaadin-grid-sort-column';\n\nexport class GridTextColumnClass extends GridSortColumn {\n get sortable() {\n return this.getAttribute('sortable') === 'true';\n }\n\n _defaultRenderer(cell, _col, model) {\n const data = model.item[this.path] || '';\n const content = Array.isArray(data) ? data.join(', ') : data;\n\n this.__setTextContent(cell, content);\n cell.title = content;\n }\n\n _defaultHeaderRenderer(root, _column) {\n if (this.sortable) {\n super._defaultHeaderRenderer(root, _column);\n\n return;\n }\n\n this.__setTextContent(root, this.__getHeader(this.header, this.path));\n }\n}\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * Returns an array of ancestor root nodes for the given node.\n *\n * A root node is either a document node or a document fragment node (Shadow Root).\n * The array is collected by a bottom-up DOM traversing that starts with the given node\n * and involves both the light DOM and ancestor shadow DOM trees.\n *\n * @param {Node} node\n * @return {Node[]}\n */\nexport function getAncestorRootNodes(node) {\n const result = [];\n\n while (node) {\n if (node.nodeType === Node.DOCUMENT_NODE) {\n result.push(node);\n break;\n }\n\n if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n result.push(node);\n node = node.host;\n continue;\n }\n\n if (node.assignedSlot) {\n node = node.assignedSlot;\n continue;\n }\n\n node = node.parentNode;\n }\n\n return result;\n}\n\n/**\n * Returns the list of flattened elements for the given `node`.\n * This list consists of a node's children and, for any children that are\n * `<slot>` elements, the expanded flattened list of `assignedElements`.\n *\n * @param {Node} node\n * @return {Element[]}\n */\nexport function getFlattenedElements(node) {\n const result = [];\n let elements;\n if (node.localName === 'slot') {\n elements = node.assignedElements();\n } else {\n result.push(node);\n elements = [...node.children];\n }\n elements.forEach((elem) => result.push(...getFlattenedElements(elem)));\n return result;\n}\n\n/**\n * Traverses the given node and its parents, including those that are across\n * the shadow root boundaries, until it finds a node that matches the selector.\n *\n * @param {string} selector The CSS selector to match against\n * @param {Node} node The starting node for the traversal\n * @return {Node | null} The closest matching element, or null if no match is found\n */\nexport function getClosestElement(selector, node) {\n if (!node) {\n return null;\n }\n\n return node.closest(selector) || getClosestElement(selector, node.getRootNode().host);\n}\n\n/**\n * Takes a string with values separated by space and returns a set the values\n *\n * @param {string} value\n * @return {Set<string>}\n */\nexport function deserializeAttributeValue(value) {\n if (!value) {\n return new Set();\n }\n\n return new Set(value.split(' '));\n}\n\n/**\n * Takes a set of string values and returns a string with values separated by space\n *\n * @param {Set<string>} values\n * @return {string}\n */\nexport function serializeAttributeValue(values) {\n return values ? [...values].join(' ') : '';\n}\n\n/**\n * Adds a value to an attribute containing space-delimited values.\n *\n * @param {HTMLElement} element\n * @param {string} attr\n * @param {string} value\n */\nexport function addValueToAttribute(element, attr, value) {\n const values = deserializeAttributeValue(element.getAttribute(attr));\n values.add(value);\n element.setAttribute(attr, serializeAttributeValue(values));\n}\n\n/**\n * Removes a value from an attribute containing space-delimited values.\n * If the value is the last one, the whole attribute is removed.\n *\n * @param {HTMLElement} element\n * @param {string} attr\n * @param {string} value\n */\nexport function removeValueFromAttribute(element, attr, value) {\n const values = deserializeAttributeValue(element.getAttribute(attr));\n values.delete(value);\n if (values.size === 0) {\n element.removeAttribute(attr);\n return;\n }\n element.setAttribute(attr, serializeAttributeValue(values));\n}\n\n/**\n * Returns true if the given node is an empty text node, false otherwise.\n *\n * @param {Node} node\n * @return {boolean}\n */\nexport function isEmptyTextNode(node) {\n return node.nodeType === Node.TEXT_NODE && node.textContent.trim() === '';\n}\n","/* eslint-disable no-param-reassign */\nimport { GridTextColumnClass } from '../descope-grid-text-column/GridTextColumnClass';\n\nexport class GridCustomColumnClass extends GridTextColumnClass {\n _defaultRenderer(cell, _col, model) {\n const content = model.item[this.path] || '';\n\n // we get a list of elements that can be used to render the content\n // each element can have a \"pattern\" attribute which contains regex expression\n // we are going over the elements, and when finding an element which is pattern matches the data,\n // we are cloning this element, and injecting the data as its child\n const contentEle = Array.from(this.children).find((child) => {\n const pattern = child.getAttribute('data-pattern');\n if (!pattern) return true;\n\n const regEx = new RegExp(pattern);\n return regEx.test(content);\n });\n\n if (!contentEle) {\n this.__setTextContent(cell, model.item[this.path] || '');\n\n return;\n }\n\n const newEle = contentEle.cloneNode(true);\n newEle.textContent = content || '';\n cell.innerHTML = '';\n cell.append(newEle);\n }\n}\n","/* eslint-disable no-param-reassign */\nimport { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridCustomColumnClass } from './GridCustomColumnClass';\n\nexport const componentName = getComponentName('grid-custom-column');\n\ncustomElements.define(componentName, GridCustomColumnClass);\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * Passes the component to the template renderer callback if the template renderer is imported.\n * Otherwise, if there is a template, it warns that the template renderer needs to be imported.\n *\n * @param {HTMLElement} component\n */\nexport function processTemplates(component) {\n if (window.Vaadin && window.Vaadin.templateRendererCallback) {\n window.Vaadin.templateRendererCallback(component);\n return;\n }\n\n if (component.querySelector('template')) {\n console.warn(\n `WARNING: <template> inside <${component.localName}> is no longer supported. Import @vaadin/polymer-legacy-adapter/template-renderer.js to enable compatibility.`,\n );\n }\n}\n","/**\n * @license\n * Copyright (c) 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * Convenience method for reading a value from a path.\n *\n * @param {string} path\n * @param {object} object\n */\nexport function get(path, object) {\n return path.split('.').reduce((obj, property) => (obj ? obj[property] : undefined), object);\n}\n\n/**\n * Convenience method for setting a value to a path.\n *\n * @param {string} path\n * @param {unknown} value\n * @param {object} object\n */\nexport function set(path, value, object) {\n const pathParts = path.split('.');\n const lastPart = pathParts.pop();\n const target = pathParts.reduce((target, part) => target[part], object);\n target[lastPart] = value;\n}\n","import '@vaadin/vaadin-lumo-styles/color.js';\nimport '@vaadin/vaadin-lumo-styles/style.js';\nimport '@vaadin/vaadin-lumo-styles/spacing.js';\nimport { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\n\nregisterStyles(\n 'vaadin-grid-sorter',\n css`\n :host {\n justify-content: flex-start;\n align-items: baseline;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n cursor: var(--lumo-clickable-cursor);\n }\n\n [part='content'] {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n [part='indicators'] {\n margin-left: var(--lumo-space-s);\n }\n\n [part='indicators']::before {\n transform: scale(0.8);\n }\n\n :host(:not([direction]):not(:hover)) [part='indicators'] {\n color: var(--lumo-tertiary-text-color);\n }\n\n :host([direction]) {\n color: var(--vaadin-selection-color-text, var(--lumo-primary-text-color));\n }\n\n [part='order'] {\n font-size: var(--lumo-font-size-xxs);\n line-height: 1;\n }\n\n /* RTL specific styles */\n\n :host([dir='rtl']) [part='indicators'] {\n margin-right: var(--lumo-space-s);\n margin-left: 0;\n }\n `,\n { moduleId: 'lumo-grid-sorter' },\n);\n","/**\n * @license\n * Copyright (c) 2016 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\n\nconst template = document.createElement('template');\n\ntemplate.innerHTML = `\n <style nonce=${window.DESCOPE_NONCE}>\n @font-face {\n font-family: 'vaadin-grid-sorter-icons';\n src: url('` + __webpack_public_path__ + `fonts/font-1364590020.woff');\n font-weight: normal;\n font-style: normal;\n }\n </style>\n`;\n\ndocument.head.appendChild(template.content);\n\nregisterStyles(\n 'vaadin-grid-sorter',\n css`\n :host {\n display: inline-flex;\n cursor: pointer;\n max-width: 100%;\n }\n\n [part='content'] {\n flex: 1 1 auto;\n }\n\n [part='indicators'] {\n position: relative;\n align-self: center;\n flex: none;\n }\n\n [part='order'] {\n display: inline;\n vertical-align: super;\n }\n\n [part='indicators']::before {\n font-family: 'vaadin-grid-sorter-icons';\n display: inline-block;\n }\n\n :host(:not([direction])) [part='indicators']::before {\n content: '\\\\e901';\n }\n\n :host([direction='asc']) [part='indicators']::before {\n content: '\\\\e900';\n }\n\n :host([direction='desc']) [part='indicators']::before {\n content: '\\\\e902';\n }\n `,\n { moduleId: 'vaadin-grid-sorter-styles' },\n);\n\n/**\n * A mixin providing common sorter functionality.\n *\n * @polymerMixin\n */\nexport const GridSorterMixin = (superClass) =>\n class GridSorterMixinClass extends superClass {\n static get properties() {\n return {\n /**\n * JS Path of the property in the item used for sorting the data.\n */\n path: String,\n\n /**\n * How to sort the data.\n * Possible values are `asc` to use an ascending algorithm, `desc` to sort the data in\n * descending direction, or `null` for not sorting the data.\n * @type {GridSorterDirection | undefined}\n */\n direction: {\n type: String,\n reflectToAttribute: true,\n notify: true,\n value: null,\n sync: true,\n },\n\n /**\n * @type {number | null}\n * @protected\n */\n _order: {\n type: Number,\n value: null,\n sync: true,\n },\n\n /** @private */\n _isConnected: {\n type: Boolean,\n observer: '__isConnectedChanged',\n },\n };\n }\n\n static get observers() {\n return ['_pathOrDirectionChanged(path, direction)'];\n }\n\n /** @protected */\n ready() {\n super.ready();\n this.addEventListener('click', this._onClick.bind(this));\n }\n\n /** @protected */\n connectedCallback() {\n super.connectedCallback();\n this._isConnected = true;\n }\n\n /** @protected */\n disconnectedCallback() {\n super.disconnectedCallback();\n this._isConnected = false;\n\n if (!this.parentNode && this._grid) {\n this._grid.__removeSorters([this]);\n }\n }\n\n /** @private */\n _pathOrDirectionChanged() {\n this.__dispatchSorterChangedEvenIfPossible();\n }\n\n /** @private */\n __isConnectedChanged(newValue, oldValue) {\n if (oldValue === false) {\n return;\n }\n\n this.__dispatchSorterChangedEvenIfPossible();\n }\n\n /** @private */\n __dispatchSorterChangedEvenIfPossible() {\n if (this.path === undefined || this.direction === undefined || !this._isConnected) {\n return;\n }\n\n this.dispatchEvent(\n new CustomEvent('sorter-changed', {\n detail: { shiftClick: Boolean(this._shiftClick), fromSorterClick: Boolean(this._fromSorterClick) },\n bubbles: true,\n composed: true,\n }),\n );\n // Cleaning up as a programatically sorting can be done after some user interaction\n this._fromSorterClick = false;\n this._shiftClick = false;\n }\n\n /** @private */\n _getDisplayOrder(order) {\n return order === null ? '' : order + 1;\n }\n\n /** @private */\n _onClick(e) {\n if (e.defaultPrevented) {\n // Something else has already handled the click event, do nothing.\n return;\n }\n\n const activeElement = this.getRootNode().activeElement;\n if (this !== activeElement && this.contains(activeElement)) {\n // Some focusable content inside the sorter was clicked, do nothing.\n return;\n }\n\n e.preventDefault();\n this._shiftClick = e.shiftKey;\n this._fromSorterClick = true;\n if (this.direction === 'asc') {\n this.direction = 'desc';\n } else if (this.direction === 'desc') {\n this.direction = null;\n } else {\n this.direction = 'asc';\n }\n }\n };\n","/**\n * @license\n * Copyright (c) 2016 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { html, PolymerElement } from '@polymer/polymer/polymer-element.js';\nimport { defineCustomElement } from '@vaadin/component-base/src/define.js';\nimport { DirMixin } from '@vaadin/component-base/src/dir-mixin.js';\nimport { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { GridSorterMixin } from './vaadin-grid-sorter-mixin.js';\n\n/**\n * `<vaadin-grid-sorter>` is a helper element for the `<vaadin-grid>` that provides out-of-the-box UI controls,\n * visual feedback, and handlers for sorting the grid data.\n *\n * #### Example:\n * ```html\n * <vaadin-grid-column id=\"column\"></vaadin-grid-column>\n * ```\n * ```js\n * const column = document.querySelector('#column');\n * column.renderer = (root, column, model) => {\n * let sorter = root.firstElementChild;\n * if (!sorter) {\n * sorter = document.createElement('vaadin-grid-sorter');\n * root.appendChild(sorter);\n * }\n * sorter.path = 'name.first';\n * };\n * ```\n *\n * ### Styling\n *\n * The following shadow DOM parts are available for styling:\n *\n * Part name | Description\n * ----------------|----------------\n * `content` | The slotted content wrapper\n * `indicators` | The internal sorter indicators.\n * `order` | The internal sorter order\n *\n * The following state attributes are available for styling:\n *\n * Attribute | Description | Part name\n * -------------|-------------|------------\n * `direction` | Sort direction of a sorter | :host\n *\n * @fires {CustomEvent} direction-changed - Fired when the `direction` property changes.\n * @fires {CustomEvent} sorter-changed - Fired when the `path` or `direction` property changes.\n *\n * @customElement\n * @extends HTMLElement\n * @mixes GridSorterMixin\n * @mixes ThemableMixin\n * @mixes DirMixin\n */\nclass GridSorter extends GridSorterMixin(ThemableMixin(DirMixin(PolymerElement))) {\n static get template() {\n return html`\n <div part=\"content\">\n <slot></slot>\n </div>\n <div part=\"indicators\">\n <span part=\"order\">[[_getDisplayOrder(_order)]]</span>\n </div>\n `;\n }\n\n static get is() {\n return 'vaadin-grid-sorter';\n }\n}\n\ndefineCustomElement(GridSorter);\n\nexport { GridSorter };\n","/**\n * @license\n * Copyright (c) 2016 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * @polymerMixin\n */\nexport const GridSortColumnMixin = (superClass) =>\n class extends superClass {\n static get properties() {\n return {\n /**\n * JS Path of the property in the item used for sorting the data.\n */\n path: {\n type: String,\n sync: true,\n },\n\n /**\n * How to sort the data.\n * Possible values are `asc` to use an ascending algorithm, `desc` to sort the data in\n * descending direction, or `null` for not sorting the data.\n * @type {GridSorterDirection | undefined}\n */\n direction: {\n type: String,\n notify: true,\n sync: true,\n },\n };\n }\n\n static get observers() {\n return ['_onHeaderRendererOrBindingChanged(_headerRenderer, _headerCell, path, header, direction)'];\n }\n\n constructor() {\n super();\n\n this.__boundOnDirectionChanged = this.__onDirectionChanged.bind(this);\n }\n\n /**\n * Renders the grid sorter to the header cell.\n *\n * @override\n */\n _defaultHeaderRenderer(root, _column) {\n let sorter = root.firstElementChild;\n if (!sorter) {\n sorter = document.createElement('vaadin-grid-sorter');\n sorter.addEventListener('direction-changed', this.__boundOnDirectionChanged);\n root.appendChild(sorter);\n }\n\n sorter.path = this.path;\n sorter.__rendererDirection = this.direction;\n sorter.direction = this.direction;\n sorter.textContent = this.__getHeader(this.header, this.path);\n }\n\n /**\n * The sort column doesn't allow to use a custom header renderer\n * to override the header cell content.\n * It always renders the grid sorter to the header cell.\n *\n * @override\n */\n _computeHeaderRenderer() {\n return this._defaultHeaderRenderer;\n }\n\n /**\n * Updates the sorting direction once the grid sorter's direction is changed.\n * The listener handles only user-fired events.\n *\n * @private\n */\n __onDirectionChanged(e) {\n // Skip if the direction is changed by the renderer.\n if (e.detail.value === e.target.__rendererDirection) {\n return;\n }\n\n this.direction = e.detail.value;\n }\n\n /** @private */\n __getHeader(header, path) {\n if (header) {\n return header;\n }\n\n if (path) {\n return this._generateHeader(path);\n }\n }\n };\n","/**\n * @license\n * Copyright (c) 2016 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport './vaadin-grid-sorter.js';\nimport { defineCustomElement } from '@vaadin/component-base/src/define.js';\nimport { GridColumn } from './vaadin-grid-column.js';\nimport { GridSortColumnMixin } from './vaadin-grid-sort-column-mixin.js';\n\n/**\n * `<vaadin-grid-sort-column>` is a helper element for the `<vaadin-grid>`\n * that provides default header renderer and functionality for sorting.\n *\n * #### Example:\n * ```html\n * <vaadin-grid items=\"[[items]]\">\n * <vaadin-grid-sort-column path=\"name.first\" direction=\"asc\"></vaadin-grid-sort-column>\n *\n * <vaadin-grid-column>\n * ...\n * ```\n *\n * @fires {CustomEvent} direction-changed - Fired when the `direction` property changes.\n *\n * @customElement\n * @extends GridColumn\n * @mixes GridSortColumnMixin\n */\nclass GridSortColumn extends GridSortColumnMixin(GridColumn) {\n static get is() {\n return 'vaadin-grid-sort-column';\n }\n}\n\ndefineCustomElement(GridSortColumn);\n\nexport { GridSortColumn };\n"],"names":["GridTextColumnClass","sortable","this","getAttribute","_defaultRenderer","cell","_col","model","data","item","path","content","Array","isArray","join","__setTextContent","title","_defaultHeaderRenderer","root","_column","super","__getHeader","header","getAncestorRootNodes","node","result","nodeType","Node","DOCUMENT_NODE","push","DOCUMENT_FRAGMENT_NODE","assignedSlot","parentNode","host","getFlattenedElements","elements","localName","assignedElements","children","forEach","elem","getClosestElement","selector","closest","getRootNode","deserializeAttributeValue","value","Set","split","serializeAttributeValue","values","addValueToAttribute","element","attr","add","setAttribute","removeValueFromAttribute","delete","size","removeAttribute","isEmptyTextNode","TEXT_NODE","textContent","trim","GridCustomColumnClass","contentEle","from","find","child","pattern","RegExp","test","newEle","cloneNode","innerHTML","append","componentName","customElements","define","processTemplates","component","window","Vaadin","templateRendererCallback","querySelector","console","warn","get","object","reduce","obj","property","undefined","moduleId","template","document","createElement","DESCOPE_NONCE","head","appendChild","GridSorterMixin","superClass","properties","String","direction","type","reflectToAttribute","notify","sync","_order","Number","_isConnected","Boolean","observer","observers","ready","addEventListener","_onClick","bind","connectedCallback","disconnectedCallback","_grid","__removeSorters","_pathOrDirectionChanged","__dispatchSorterChangedEvenIfPossible","__isConnectedChanged","newValue","oldValue","dispatchEvent","CustomEvent","detail","shiftClick","_shiftClick","fromSorterClick","_fromSorterClick","bubbles","composed","_getDisplayOrder","order","e","defaultPrevented","activeElement","contains","preventDefault","shiftKey","GridSorter","is","GridSortColumnMixin","constructor","__boundOnDirectionChanged","__onDirectionChanged","sorter","firstElementChild","__rendererDirection","_computeHeaderRenderer","target","_generateHeader","GridSortColumn"],"sourceRoot":""}
|
1
|
+
{"version":3,"file":"descope-grid-descope-grid-custom-column-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-text-column/GridTextColumnClass.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/dom-utils.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/vaadin-lumo-styles/style.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/vaadin-lumo-styles/spacing.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-custom-column/GridCustomColumnClass.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-custom-column/index.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/templates.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/vaadin-lumo-styles/color.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/path-utils.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/grid/theme/lumo/vaadin-grid-sorter-styles.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/grid/src/vaadin-grid-sorter-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/grid/src/vaadin-grid-sorter.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/grid/src/vaadin-grid-sort-column-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/grid/src/vaadin-grid-sort-column.js"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport { GridSortColumn } from '@vaadin/grid/vaadin-grid-sort-column';\n\nexport class GridTextColumnClass extends GridSortColumn {\n get sortable() {\n return this.getAttribute('sortable') === 'true';\n }\n\n _defaultRenderer(cell, _col, model) {\n const data = model.item[this.path] || '';\n const content = Array.isArray(data) ? data.join(', ') : data;\n\n this.__setTextContent(cell, content);\n cell.title = content;\n }\n\n _defaultHeaderRenderer(root, _column) {\n if (this.sortable) {\n super._defaultHeaderRenderer(root, _column);\n\n return;\n }\n\n this.__setTextContent(root, this.__getHeader(this.header, this.path));\n }\n}\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * Returns an array of ancestor root nodes for the given node.\n *\n * A root node is either a document node or a document fragment node (Shadow Root).\n * The array is collected by a bottom-up DOM traversing that starts with the given node\n * and involves both the light DOM and ancestor shadow DOM trees.\n *\n * @param {Node} node\n * @return {Node[]}\n */\nexport function getAncestorRootNodes(node) {\n const result = [];\n\n while (node) {\n if (node.nodeType === Node.DOCUMENT_NODE) {\n result.push(node);\n break;\n }\n\n if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n result.push(node);\n node = node.host;\n continue;\n }\n\n if (node.assignedSlot) {\n node = node.assignedSlot;\n continue;\n }\n\n node = node.parentNode;\n }\n\n return result;\n}\n\n/**\n * Returns the list of flattened elements for the given `node`.\n * This list consists of a node's children and, for any children that are\n * `<slot>` elements, the expanded flattened list of `assignedElements`.\n *\n * @param {Node} node\n * @return {Element[]}\n */\nexport function getFlattenedElements(node) {\n const result = [];\n let elements;\n if (node.localName === 'slot') {\n elements = node.assignedElements();\n } else {\n result.push(node);\n elements = [...node.children];\n }\n elements.forEach((elem) => result.push(...getFlattenedElements(elem)));\n return result;\n}\n\n/**\n * Traverses the given node and its parents, including those that are across\n * the shadow root boundaries, until it finds a node that matches the selector.\n *\n * @param {string} selector The CSS selector to match against\n * @param {Node} node The starting node for the traversal\n * @return {Node | null} The closest matching element, or null if no match is found\n */\nexport function getClosestElement(selector, node) {\n if (!node) {\n return null;\n }\n\n return node.closest(selector) || getClosestElement(selector, node.getRootNode().host);\n}\n\n/**\n * Takes a string with values separated by space and returns a set the values\n *\n * @param {string} value\n * @return {Set<string>}\n */\nexport function deserializeAttributeValue(value) {\n if (!value) {\n return new Set();\n }\n\n return new Set(value.split(' '));\n}\n\n/**\n * Takes a set of string values and returns a string with values separated by space\n *\n * @param {Set<string>} values\n * @return {string}\n */\nexport function serializeAttributeValue(values) {\n return values ? [...values].join(' ') : '';\n}\n\n/**\n * Adds a value to an attribute containing space-delimited values.\n *\n * @param {HTMLElement} element\n * @param {string} attr\n * @param {string} value\n */\nexport function addValueToAttribute(element, attr, value) {\n const values = deserializeAttributeValue(element.getAttribute(attr));\n values.add(value);\n element.setAttribute(attr, serializeAttributeValue(values));\n}\n\n/**\n * Removes a value from an attribute containing space-delimited values.\n * If the value is the last one, the whole attribute is removed.\n *\n * @param {HTMLElement} element\n * @param {string} attr\n * @param {string} value\n */\nexport function removeValueFromAttribute(element, attr, value) {\n const values = deserializeAttributeValue(element.getAttribute(attr));\n values.delete(value);\n if (values.size === 0) {\n element.removeAttribute(attr);\n return;\n }\n element.setAttribute(attr, serializeAttributeValue(values));\n}\n\n/**\n * Returns true if the given node is an empty text node, false otherwise.\n *\n * @param {Node} node\n * @return {boolean}\n */\nexport function isEmptyTextNode(node) {\n return node.nodeType === Node.TEXT_NODE && node.textContent.trim() === '';\n}\n","/**\n * @license\n * Copyright (c) 2017 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport './version.js';\nimport { css } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { addLumoGlobalStyles } from './global.js';\n\nconst style = css`\n :host {\n /* Border radius */\n --lumo-border-radius-s: 0.25em; /* Checkbox, badge, date-picker year indicator, etc */\n --lumo-border-radius-m: var(--lumo-border-radius, 0.25em); /* Button, text field, menu overlay, etc */\n --lumo-border-radius-l: 0.5em; /* Dialog, notification, etc */\n\n /* Shadow */\n --lumo-box-shadow-xs: 0 1px 4px -1px var(--lumo-shade-50pct);\n --lumo-box-shadow-s: 0 2px 4px -1px var(--lumo-shade-20pct), 0 3px 12px -1px var(--lumo-shade-30pct);\n --lumo-box-shadow-m: 0 2px 6px -1px var(--lumo-shade-20pct), 0 8px 24px -4px var(--lumo-shade-40pct);\n --lumo-box-shadow-l: 0 3px 18px -2px var(--lumo-shade-20pct), 0 12px 48px -6px var(--lumo-shade-40pct);\n --lumo-box-shadow-xl: 0 4px 24px -3px var(--lumo-shade-20pct), 0 18px 64px -8px var(--lumo-shade-40pct);\n\n /* Clickable element cursor */\n --lumo-clickable-cursor: default;\n }\n`;\n\n/**\n * Default values for component-specific custom properties.\n */\nconst globals = css`\n html {\n /* Button */\n --vaadin-button-background: var(--lumo-contrast-5pct);\n --vaadin-button-border: none;\n --vaadin-button-border-radius: var(--lumo-border-radius-m);\n --vaadin-button-font-size: var(--lumo-font-size-m);\n --vaadin-button-font-weight: 500;\n --vaadin-button-height: var(--lumo-size-m);\n --vaadin-button-margin: var(--lumo-space-xs) 0;\n --vaadin-button-min-width: calc(var(--vaadin-button-height) * 2);\n --vaadin-button-padding: 0 calc(var(--vaadin-button-height) / 3 + var(--lumo-border-radius-m) / 2);\n --vaadin-button-text-color: var(--lumo-primary-text-color);\n --vaadin-button-primary-background: var(--lumo-primary-color);\n --vaadin-button-primary-border: none;\n --vaadin-button-primary-font-weight: 600;\n --vaadin-button-primary-text-color: var(--lumo-primary-contrast-color);\n --vaadin-button-tertiary-background: transparent !important;\n --vaadin-button-tertiary-text-color: var(--lumo-primary-text-color);\n --vaadin-button-tertiary-font-weight: 500;\n --vaadin-button-tertiary-padding: 0 calc(var(--vaadin-button-height) / 6);\n /* Checkbox */\n --vaadin-checkbox-background: var(--lumo-contrast-20pct);\n --vaadin-checkbox-background-hover: var(--lumo-contrast-30pct);\n --vaadin-checkbox-border-radius: var(--lumo-border-radius-s);\n --vaadin-checkbox-checkmark-char: var(--lumo-icons-checkmark);\n --vaadin-checkbox-checkmark-char-indeterminate: '';\n --vaadin-checkbox-checkmark-color: var(--lumo-primary-contrast-color);\n --vaadin-checkbox-checkmark-size: calc(var(--vaadin-checkbox-size) + 2px);\n --vaadin-checkbox-label-color: var(--lumo-body-text-color);\n --vaadin-checkbox-label-font-size: var(--lumo-font-size-m);\n --vaadin-checkbox-label-padding: var(--lumo-space-xs) var(--lumo-space-s) var(--lumo-space-xs) var(--lumo-space-xs);\n --vaadin-checkbox-size: calc(var(--lumo-size-m) / 2);\n /* Radio button */\n --vaadin-radio-button-background: var(--lumo-contrast-20pct);\n --vaadin-radio-button-background-hover: var(--lumo-contrast-30pct);\n --vaadin-radio-button-dot-color: var(--lumo-primary-contrast-color);\n --vaadin-radio-button-dot-size: 3px;\n --vaadin-radio-button-label-color: var(--lumo-body-text-color);\n --vaadin-radio-button-label-font-size: var(--lumo-font-size-m);\n --vaadin-radio-button-label-padding: var(--lumo-space-xs) var(--lumo-space-s) var(--lumo-space-xs)\n var(--lumo-space-xs);\n --vaadin-radio-button-size: calc(var(--lumo-size-m) / 2);\n --vaadin-selection-color: var(--lumo-primary-color);\n --vaadin-selection-color-text: var(--lumo-primary-text-color);\n --vaadin-input-field-border-radius: var(--lumo-border-radius-m);\n --vaadin-focus-ring-color: var(--lumo-primary-color-50pct);\n --vaadin-focus-ring-width: 2px;\n /* Label */\n --vaadin-input-field-label-color: var(--lumo-secondary-text-color);\n --vaadin-input-field-focused-label-color: var(--lumo-primary-text-color);\n --vaadin-input-field-hovered-label-color: var(--lumo-body-text-color);\n --vaadin-input-field-label-font-size: var(--lumo-font-size-s);\n --vaadin-input-field-label-font-weight: 500;\n /* Helper */\n --vaadin-input-field-helper-color: var(--lumo-secondary-text-color);\n --vaadin-input-field-helper-font-size: var(--lumo-font-size-xs);\n --vaadin-input-field-helper-font-weight: 400;\n --vaadin-input-field-helper-spacing: 0.4em;\n /* Error message */\n --vaadin-input-field-error-color: var(--lumo-error-text-color);\n --vaadin-input-field-error-font-size: var(--lumo-font-size-xs);\n --vaadin-input-field-error-font-weight: 400;\n /* Input field */\n --vaadin-input-field-background: var(--lumo-contrast-10pct);\n --vaadin-input-field-icon-color: var(--lumo-contrast-60pct);\n --vaadin-input-field-icon-size: var(--lumo-icon-size-m);\n --vaadin-input-field-invalid-background: var(--lumo-error-color-10pct);\n --vaadin-input-field-invalid-hover-highlight: var(--lumo-error-color-50pct);\n --vaadin-input-field-height: var(--lumo-size-m);\n --vaadin-input-field-hover-highlight: var(--lumo-contrast-50pct);\n --vaadin-input-field-placeholder-color: var(--lumo-secondary-text-color);\n --vaadin-input-field-readonly-border: 1px dashed var(--lumo-contrast-30pct);\n --vaadin-input-field-value-color: var(--lumo-body-text-color);\n --vaadin-input-field-value-font-size: var(--lumo-font-size-m);\n --vaadin-input-field-value-font-weight: 400;\n }\n`;\n\naddLumoGlobalStyles('style-props', style);\n\nexport { globals, style };\n","/**\n * @license\n * Copyright (c) 2017 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport './version.js';\nimport { css } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { addLumoGlobalStyles } from './global.js';\n\nconst spacing = css`\n :host {\n /* Square */\n --lumo-space-xs: 0.25rem;\n --lumo-space-s: 0.5rem;\n --lumo-space-m: 1rem;\n --lumo-space-l: 1.5rem;\n --lumo-space-xl: 2.5rem;\n\n /* Wide */\n --lumo-space-wide-xs: calc(var(--lumo-space-xs) / 2) var(--lumo-space-xs);\n --lumo-space-wide-s: calc(var(--lumo-space-s) / 2) var(--lumo-space-s);\n --lumo-space-wide-m: calc(var(--lumo-space-m) / 2) var(--lumo-space-m);\n --lumo-space-wide-l: calc(var(--lumo-space-l) / 2) var(--lumo-space-l);\n --lumo-space-wide-xl: calc(var(--lumo-space-xl) / 2) var(--lumo-space-xl);\n\n /* Tall */\n --lumo-space-tall-xs: var(--lumo-space-xs) calc(var(--lumo-space-xs) / 2);\n --lumo-space-tall-s: var(--lumo-space-s) calc(var(--lumo-space-s) / 2);\n --lumo-space-tall-m: var(--lumo-space-m) calc(var(--lumo-space-m) / 2);\n --lumo-space-tall-l: var(--lumo-space-l) calc(var(--lumo-space-l) / 2);\n --lumo-space-tall-xl: var(--lumo-space-xl) calc(var(--lumo-space-xl) / 2);\n }\n`;\n\naddLumoGlobalStyles('spacing-props', spacing);\n\nexport { spacing };\n","/* eslint-disable no-param-reassign */\nimport { GridTextColumnClass } from '../descope-grid-text-column/GridTextColumnClass';\n\nexport class GridCustomColumnClass extends GridTextColumnClass {\n _defaultRenderer(cell, _col, model) {\n const content = model.item[this.path] || '';\n\n // we get a list of elements that can be used to render the content\n // each element can have a \"pattern\" attribute which contains regex expression\n // we are going over the elements, and when finding an element which is pattern matches the data,\n // we are cloning this element, and injecting the data as its child\n const contentEle = Array.from(this.children).find((child) => {\n const pattern = child.getAttribute('data-pattern');\n if (!pattern) return true;\n\n const regEx = new RegExp(pattern);\n return regEx.test(content);\n });\n\n if (!contentEle) {\n this.__setTextContent(cell, model.item[this.path] || '');\n\n return;\n }\n\n const newEle = contentEle.cloneNode(true);\n newEle.textContent = content || '';\n cell.innerHTML = '';\n cell.append(newEle);\n }\n}\n","/* eslint-disable no-param-reassign */\nimport { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridCustomColumnClass } from './GridCustomColumnClass';\n\nexport const componentName = getComponentName('grid-custom-column');\n\ncustomElements.define(componentName, GridCustomColumnClass);\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * Passes the component to the template renderer callback if the template renderer is imported.\n * Otherwise, if there is a template, it warns that the template renderer needs to be imported.\n *\n * @param {HTMLElement} component\n */\nexport function processTemplates(component) {\n if (window.Vaadin && window.Vaadin.templateRendererCallback) {\n window.Vaadin.templateRendererCallback(component);\n return;\n }\n\n if (component.querySelector('template')) {\n console.warn(\n `WARNING: <template> inside <${component.localName}> is no longer supported. Import @vaadin/polymer-legacy-adapter/template-renderer.js to enable compatibility.`,\n );\n }\n}\n","/**\n * @license\n * Copyright (c) 2017 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport './version.js';\nimport { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { addLumoGlobalStyles } from './global.js';\n\nconst colorBase = css`\n :host {\n /* Base (background) */\n --lumo-base-color: #fff;\n\n /* Tint */\n --lumo-tint-5pct: hsla(0, 0%, 100%, 0.3);\n --lumo-tint-10pct: hsla(0, 0%, 100%, 0.37);\n --lumo-tint-20pct: hsla(0, 0%, 100%, 0.44);\n --lumo-tint-30pct: hsla(0, 0%, 100%, 0.5);\n --lumo-tint-40pct: hsla(0, 0%, 100%, 0.57);\n --lumo-tint-50pct: hsla(0, 0%, 100%, 0.64);\n --lumo-tint-60pct: hsla(0, 0%, 100%, 0.7);\n --lumo-tint-70pct: hsla(0, 0%, 100%, 0.77);\n --lumo-tint-80pct: hsla(0, 0%, 100%, 0.84);\n --lumo-tint-90pct: hsla(0, 0%, 100%, 0.9);\n --lumo-tint: #fff;\n\n /* Shade */\n --lumo-shade-5pct: hsla(214, 61%, 25%, 0.05);\n --lumo-shade-10pct: hsla(214, 57%, 24%, 0.1);\n --lumo-shade-20pct: hsla(214, 53%, 23%, 0.16);\n --lumo-shade-30pct: hsla(214, 50%, 22%, 0.26);\n --lumo-shade-40pct: hsla(214, 47%, 21%, 0.38);\n --lumo-shade-50pct: hsla(214, 45%, 20%, 0.52);\n --lumo-shade-60pct: hsla(214, 43%, 19%, 0.6);\n --lumo-shade-70pct: hsla(214, 42%, 18%, 0.69);\n --lumo-shade-80pct: hsla(214, 41%, 17%, 0.83);\n --lumo-shade-90pct: hsla(214, 40%, 16%, 0.94);\n --lumo-shade: hsl(214, 35%, 15%);\n\n /* Contrast */\n --lumo-contrast-5pct: var(--lumo-shade-5pct);\n --lumo-contrast-10pct: var(--lumo-shade-10pct);\n --lumo-contrast-20pct: var(--lumo-shade-20pct);\n --lumo-contrast-30pct: var(--lumo-shade-30pct);\n --lumo-contrast-40pct: var(--lumo-shade-40pct);\n --lumo-contrast-50pct: var(--lumo-shade-50pct);\n --lumo-contrast-60pct: var(--lumo-shade-60pct);\n --lumo-contrast-70pct: var(--lumo-shade-70pct);\n --lumo-contrast-80pct: var(--lumo-shade-80pct);\n --lumo-contrast-90pct: var(--lumo-shade-90pct);\n --lumo-contrast: var(--lumo-shade);\n\n /* Text */\n --lumo-header-text-color: var(--lumo-contrast);\n --lumo-body-text-color: var(--lumo-contrast-90pct);\n --lumo-secondary-text-color: var(--lumo-contrast-70pct);\n --lumo-tertiary-text-color: var(--lumo-contrast-50pct);\n --lumo-disabled-text-color: var(--lumo-contrast-30pct);\n\n /* Primary */\n --lumo-primary-color: hsl(214, 100%, 48%);\n --lumo-primary-color-50pct: hsla(214, 100%, 49%, 0.76);\n --lumo-primary-color-10pct: hsla(214, 100%, 60%, 0.13);\n --lumo-primary-text-color: hsl(214, 100%, 43%);\n --lumo-primary-contrast-color: #fff;\n\n /* Error */\n --lumo-error-color: hsl(3, 85%, 48%);\n --lumo-error-color-50pct: hsla(3, 85%, 49%, 0.5);\n --lumo-error-color-10pct: hsla(3, 85%, 49%, 0.1);\n --lumo-error-text-color: hsl(3, 89%, 42%);\n --lumo-error-contrast-color: #fff;\n\n /* Success */\n --lumo-success-color: hsl(145, 72%, 30%);\n --lumo-success-color-50pct: hsla(145, 72%, 31%, 0.5);\n --lumo-success-color-10pct: hsla(145, 72%, 31%, 0.1);\n --lumo-success-text-color: hsl(145, 85%, 25%);\n --lumo-success-contrast-color: #fff;\n\n /* Warning */\n --lumo-warning-color: hsl(48, 100%, 50%);\n --lumo-warning-color-10pct: hsla(48, 100%, 50%, 0.25);\n --lumo-warning-text-color: hsl(32, 100%, 30%);\n --lumo-warning-contrast-color: var(--lumo-shade-90pct);\n }\n\n /* forced-colors mode adjustments */\n @media (forced-colors: active) {\n html {\n --lumo-disabled-text-color: GrayText;\n }\n }\n`;\n\naddLumoGlobalStyles('color-props', colorBase);\n\nconst color = css`\n [theme~='dark'] {\n /* Base (background) */\n --lumo-base-color: hsl(214, 35%, 21%);\n\n /* Tint */\n --lumo-tint-5pct: hsla(214, 65%, 85%, 0.06);\n --lumo-tint-10pct: hsla(214, 60%, 80%, 0.14);\n --lumo-tint-20pct: hsla(214, 64%, 82%, 0.23);\n --lumo-tint-30pct: hsla(214, 69%, 84%, 0.32);\n --lumo-tint-40pct: hsla(214, 73%, 86%, 0.41);\n --lumo-tint-50pct: hsla(214, 78%, 88%, 0.5);\n --lumo-tint-60pct: hsla(214, 82%, 90%, 0.58);\n --lumo-tint-70pct: hsla(214, 87%, 92%, 0.69);\n --lumo-tint-80pct: hsla(214, 91%, 94%, 0.8);\n --lumo-tint-90pct: hsla(214, 96%, 96%, 0.9);\n --lumo-tint: hsl(214, 100%, 98%);\n\n /* Shade */\n --lumo-shade-5pct: hsla(214, 0%, 0%, 0.07);\n --lumo-shade-10pct: hsla(214, 4%, 2%, 0.15);\n --lumo-shade-20pct: hsla(214, 8%, 4%, 0.23);\n --lumo-shade-30pct: hsla(214, 12%, 6%, 0.32);\n --lumo-shade-40pct: hsla(214, 16%, 8%, 0.41);\n --lumo-shade-50pct: hsla(214, 20%, 10%, 0.5);\n --lumo-shade-60pct: hsla(214, 24%, 12%, 0.6);\n --lumo-shade-70pct: hsla(214, 28%, 13%, 0.7);\n --lumo-shade-80pct: hsla(214, 32%, 13%, 0.8);\n --lumo-shade-90pct: hsla(214, 33%, 13%, 0.9);\n --lumo-shade: hsl(214, 33%, 13%);\n\n /* Contrast */\n --lumo-contrast-5pct: var(--lumo-tint-5pct);\n --lumo-contrast-10pct: var(--lumo-tint-10pct);\n --lumo-contrast-20pct: var(--lumo-tint-20pct);\n --lumo-contrast-30pct: var(--lumo-tint-30pct);\n --lumo-contrast-40pct: var(--lumo-tint-40pct);\n --lumo-contrast-50pct: var(--lumo-tint-50pct);\n --lumo-contrast-60pct: var(--lumo-tint-60pct);\n --lumo-contrast-70pct: var(--lumo-tint-70pct);\n --lumo-contrast-80pct: var(--lumo-tint-80pct);\n --lumo-contrast-90pct: var(--lumo-tint-90pct);\n --lumo-contrast: var(--lumo-tint);\n\n /* Text */\n --lumo-header-text-color: var(--lumo-contrast);\n --lumo-body-text-color: var(--lumo-contrast-90pct);\n --lumo-secondary-text-color: var(--lumo-contrast-70pct);\n --lumo-tertiary-text-color: var(--lumo-contrast-50pct);\n --lumo-disabled-text-color: var(--lumo-contrast-30pct);\n\n /* Primary */\n --lumo-primary-color: hsl(214, 90%, 48%);\n --lumo-primary-color-50pct: hsla(214, 90%, 70%, 0.69);\n --lumo-primary-color-10pct: hsla(214, 90%, 55%, 0.13);\n --lumo-primary-text-color: hsl(214, 90%, 77%);\n --lumo-primary-contrast-color: #fff;\n\n /* Error */\n --lumo-error-color: hsl(3, 79%, 49%);\n --lumo-error-color-50pct: hsla(3, 75%, 62%, 0.5);\n --lumo-error-color-10pct: hsla(3, 75%, 62%, 0.14);\n --lumo-error-text-color: hsl(3, 100%, 80%);\n\n /* Success */\n --lumo-success-color: hsl(145, 72%, 30%);\n --lumo-success-color-50pct: hsla(145, 92%, 51%, 0.5);\n --lumo-success-color-10pct: hsla(145, 92%, 51%, 0.1);\n --lumo-success-text-color: hsl(145, 85%, 46%);\n\n /* Warning */\n --lumo-warning-color: hsl(43, 100%, 48%);\n --lumo-warning-color-10pct: hsla(40, 100%, 50%, 0.2);\n --lumo-warning-text-color: hsl(45, 100%, 60%);\n --lumo-warning-contrast-color: var(--lumo-shade-90pct);\n }\n\n html {\n color: var(--lumo-body-text-color);\n background-color: var(--lumo-base-color);\n color-scheme: light;\n }\n\n [theme~='dark'] {\n color: var(--lumo-body-text-color);\n background-color: var(--lumo-base-color);\n color-scheme: dark;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n color: var(--lumo-header-text-color);\n }\n\n a:where(:any-link) {\n color: var(--lumo-primary-text-color);\n }\n\n a:not(:any-link) {\n color: var(--lumo-disabled-text-color);\n }\n\n blockquote {\n color: var(--lumo-secondary-text-color);\n }\n\n code,\n pre {\n background-color: var(--lumo-contrast-10pct);\n border-radius: var(--lumo-border-radius-m);\n }\n`;\n\nregisterStyles('', color, { moduleId: 'lumo-color' });\n\nexport { colorBase, color };\n","/**\n * @license\n * Copyright (c) 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * Convenience method for reading a value from a path.\n *\n * @param {string} path\n * @param {object} object\n */\nexport function get(path, object) {\n return path.split('.').reduce((obj, property) => (obj ? obj[property] : undefined), object);\n}\n\n/**\n * Convenience method for setting a value to a path.\n *\n * @param {string} path\n * @param {unknown} value\n * @param {object} object\n */\nexport function set(path, value, object) {\n const pathParts = path.split('.');\n const lastPart = pathParts.pop();\n const target = pathParts.reduce((target, part) => target[part], object);\n target[lastPart] = value;\n}\n","import '@vaadin/vaadin-lumo-styles/color.js';\nimport '@vaadin/vaadin-lumo-styles/style.js';\nimport '@vaadin/vaadin-lumo-styles/spacing.js';\nimport { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\n\nregisterStyles(\n 'vaadin-grid-sorter',\n css`\n :host {\n justify-content: flex-start;\n align-items: baseline;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n cursor: var(--lumo-clickable-cursor);\n }\n\n [part='content'] {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n [part='indicators'] {\n margin-left: var(--lumo-space-s);\n }\n\n [part='indicators']::before {\n transform: scale(0.8);\n }\n\n :host(:not([direction]):not(:hover)) [part='indicators'] {\n color: var(--lumo-tertiary-text-color);\n }\n\n :host([direction]) {\n color: var(--vaadin-selection-color-text, var(--lumo-primary-text-color));\n }\n\n [part='order'] {\n font-size: var(--lumo-font-size-xxs);\n line-height: 1;\n }\n\n /* RTL specific styles */\n\n :host([dir='rtl']) [part='indicators'] {\n margin-right: var(--lumo-space-s);\n margin-left: 0;\n }\n `,\n { moduleId: 'lumo-grid-sorter' },\n);\n","/**\n * @license\n * Copyright (c) 2016 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\n\nconst template = document.createElement('template');\n\ntemplate.innerHTML = `\n <style nonce=${window.DESCOPE_NONCE}>\n @font-face {\n font-family: 'vaadin-grid-sorter-icons';\n src: url('` + __webpack_public_path__ + `fonts/font-1364590020.woff');\n font-weight: normal;\n font-style: normal;\n }\n </style>\n`;\n\ndocument.head.appendChild(template.content);\n\nregisterStyles(\n 'vaadin-grid-sorter',\n css`\n :host {\n display: inline-flex;\n cursor: pointer;\n max-width: 100%;\n }\n\n [part='content'] {\n flex: 1 1 auto;\n }\n\n [part='indicators'] {\n position: relative;\n align-self: center;\n flex: none;\n }\n\n [part='order'] {\n display: inline;\n vertical-align: super;\n }\n\n [part='indicators']::before {\n font-family: 'vaadin-grid-sorter-icons';\n display: inline-block;\n }\n\n :host(:not([direction])) [part='indicators']::before {\n content: '\\\\e901';\n }\n\n :host([direction='asc']) [part='indicators']::before {\n content: '\\\\e900';\n }\n\n :host([direction='desc']) [part='indicators']::before {\n content: '\\\\e902';\n }\n `,\n { moduleId: 'vaadin-grid-sorter-styles' },\n);\n\n/**\n * A mixin providing common sorter functionality.\n *\n * @polymerMixin\n */\nexport const GridSorterMixin = (superClass) =>\n class GridSorterMixinClass extends superClass {\n static get properties() {\n return {\n /**\n * JS Path of the property in the item used for sorting the data.\n */\n path: String,\n\n /**\n * How to sort the data.\n * Possible values are `asc` to use an ascending algorithm, `desc` to sort the data in\n * descending direction, or `null` for not sorting the data.\n * @type {GridSorterDirection | undefined}\n */\n direction: {\n type: String,\n reflectToAttribute: true,\n notify: true,\n value: null,\n sync: true,\n },\n\n /**\n * @type {number | null}\n * @protected\n */\n _order: {\n type: Number,\n value: null,\n sync: true,\n },\n\n /** @private */\n _isConnected: {\n type: Boolean,\n observer: '__isConnectedChanged',\n },\n };\n }\n\n static get observers() {\n return ['_pathOrDirectionChanged(path, direction)'];\n }\n\n /** @protected */\n ready() {\n super.ready();\n this.addEventListener('click', this._onClick.bind(this));\n }\n\n /** @protected */\n connectedCallback() {\n super.connectedCallback();\n this._isConnected = true;\n }\n\n /** @protected */\n disconnectedCallback() {\n super.disconnectedCallback();\n this._isConnected = false;\n\n if (!this.parentNode && this._grid) {\n this._grid.__removeSorters([this]);\n }\n }\n\n /** @private */\n _pathOrDirectionChanged() {\n this.__dispatchSorterChangedEvenIfPossible();\n }\n\n /** @private */\n __isConnectedChanged(newValue, oldValue) {\n if (oldValue === false) {\n return;\n }\n\n this.__dispatchSorterChangedEvenIfPossible();\n }\n\n /** @private */\n __dispatchSorterChangedEvenIfPossible() {\n if (this.path === undefined || this.direction === undefined || !this._isConnected) {\n return;\n }\n\n this.dispatchEvent(\n new CustomEvent('sorter-changed', {\n detail: { shiftClick: Boolean(this._shiftClick), fromSorterClick: Boolean(this._fromSorterClick) },\n bubbles: true,\n composed: true,\n }),\n );\n // Cleaning up as a programatically sorting can be done after some user interaction\n this._fromSorterClick = false;\n this._shiftClick = false;\n }\n\n /** @private */\n _getDisplayOrder(order) {\n return order === null ? '' : order + 1;\n }\n\n /** @private */\n _onClick(e) {\n if (e.defaultPrevented) {\n // Something else has already handled the click event, do nothing.\n return;\n }\n\n const activeElement = this.getRootNode().activeElement;\n if (this !== activeElement && this.contains(activeElement)) {\n // Some focusable content inside the sorter was clicked, do nothing.\n return;\n }\n\n e.preventDefault();\n this._shiftClick = e.shiftKey;\n this._fromSorterClick = true;\n if (this.direction === 'asc') {\n this.direction = 'desc';\n } else if (this.direction === 'desc') {\n this.direction = null;\n } else {\n this.direction = 'asc';\n }\n }\n };\n","/**\n * @license\n * Copyright (c) 2016 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { html, PolymerElement } from '@polymer/polymer/polymer-element.js';\nimport { defineCustomElement } from '@vaadin/component-base/src/define.js';\nimport { DirMixin } from '@vaadin/component-base/src/dir-mixin.js';\nimport { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { GridSorterMixin } from './vaadin-grid-sorter-mixin.js';\n\n/**\n * `<vaadin-grid-sorter>` is a helper element for the `<vaadin-grid>` that provides out-of-the-box UI controls,\n * visual feedback, and handlers for sorting the grid data.\n *\n * #### Example:\n * ```html\n * <vaadin-grid-column id=\"column\"></vaadin-grid-column>\n * ```\n * ```js\n * const column = document.querySelector('#column');\n * column.renderer = (root, column, model) => {\n * let sorter = root.firstElementChild;\n * if (!sorter) {\n * sorter = document.createElement('vaadin-grid-sorter');\n * root.appendChild(sorter);\n * }\n * sorter.path = 'name.first';\n * };\n * ```\n *\n * ### Styling\n *\n * The following shadow DOM parts are available for styling:\n *\n * Part name | Description\n * ----------------|----------------\n * `content` | The slotted content wrapper\n * `indicators` | The internal sorter indicators.\n * `order` | The internal sorter order\n *\n * The following state attributes are available for styling:\n *\n * Attribute | Description | Part name\n * -------------|-------------|------------\n * `direction` | Sort direction of a sorter | :host\n *\n * @fires {CustomEvent} direction-changed - Fired when the `direction` property changes.\n * @fires {CustomEvent} sorter-changed - Fired when the `path` or `direction` property changes.\n *\n * @customElement\n * @extends HTMLElement\n * @mixes GridSorterMixin\n * @mixes ThemableMixin\n * @mixes DirMixin\n */\nclass GridSorter extends GridSorterMixin(ThemableMixin(DirMixin(PolymerElement))) {\n static get template() {\n return html`\n <div part=\"content\">\n <slot></slot>\n </div>\n <div part=\"indicators\">\n <span part=\"order\">[[_getDisplayOrder(_order)]]</span>\n </div>\n `;\n }\n\n static get is() {\n return 'vaadin-grid-sorter';\n }\n}\n\ndefineCustomElement(GridSorter);\n\nexport { GridSorter };\n","/**\n * @license\n * Copyright (c) 2016 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * @polymerMixin\n */\nexport const GridSortColumnMixin = (superClass) =>\n class extends superClass {\n static get properties() {\n return {\n /**\n * JS Path of the property in the item used for sorting the data.\n */\n path: {\n type: String,\n sync: true,\n },\n\n /**\n * How to sort the data.\n * Possible values are `asc` to use an ascending algorithm, `desc` to sort the data in\n * descending direction, or `null` for not sorting the data.\n * @type {GridSorterDirection | undefined}\n */\n direction: {\n type: String,\n notify: true,\n sync: true,\n },\n };\n }\n\n static get observers() {\n return ['_onHeaderRendererOrBindingChanged(_headerRenderer, _headerCell, path, header, direction)'];\n }\n\n constructor() {\n super();\n\n this.__boundOnDirectionChanged = this.__onDirectionChanged.bind(this);\n }\n\n /**\n * Renders the grid sorter to the header cell.\n *\n * @override\n */\n _defaultHeaderRenderer(root, _column) {\n let sorter = root.firstElementChild;\n if (!sorter) {\n sorter = document.createElement('vaadin-grid-sorter');\n sorter.addEventListener('direction-changed', this.__boundOnDirectionChanged);\n root.appendChild(sorter);\n }\n\n sorter.path = this.path;\n sorter.__rendererDirection = this.direction;\n sorter.direction = this.direction;\n sorter.textContent = this.__getHeader(this.header, this.path);\n }\n\n /**\n * The sort column doesn't allow to use a custom header renderer\n * to override the header cell content.\n * It always renders the grid sorter to the header cell.\n *\n * @override\n */\n _computeHeaderRenderer() {\n return this._defaultHeaderRenderer;\n }\n\n /**\n * Updates the sorting direction once the grid sorter's direction is changed.\n * The listener handles only user-fired events.\n *\n * @private\n */\n __onDirectionChanged(e) {\n // Skip if the direction is changed by the renderer.\n if (e.detail.value === e.target.__rendererDirection) {\n return;\n }\n\n this.direction = e.detail.value;\n }\n\n /** @private */\n __getHeader(header, path) {\n if (header) {\n return header;\n }\n\n if (path) {\n return this._generateHeader(path);\n }\n }\n };\n","/**\n * @license\n * Copyright (c) 2016 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport './vaadin-grid-sorter.js';\nimport { defineCustomElement } from '@vaadin/component-base/src/define.js';\nimport { GridColumn } from './vaadin-grid-column.js';\nimport { GridSortColumnMixin } from './vaadin-grid-sort-column-mixin.js';\n\n/**\n * `<vaadin-grid-sort-column>` is a helper element for the `<vaadin-grid>`\n * that provides default header renderer and functionality for sorting.\n *\n * #### Example:\n * ```html\n * <vaadin-grid items=\"[[items]]\">\n * <vaadin-grid-sort-column path=\"name.first\" direction=\"asc\"></vaadin-grid-sort-column>\n *\n * <vaadin-grid-column>\n * ...\n * ```\n *\n * @fires {CustomEvent} direction-changed - Fired when the `direction` property changes.\n *\n * @customElement\n * @extends GridColumn\n * @mixes GridSortColumnMixin\n */\nclass GridSortColumn extends GridSortColumnMixin(GridColumn) {\n static get is() {\n return 'vaadin-grid-sort-column';\n }\n}\n\ndefineCustomElement(GridSortColumn);\n\nexport { GridSortColumn };\n"],"names":["GridTextColumnClass","sortable","this","getAttribute","_defaultRenderer","cell","_col","model","data","item","path","content","Array","isArray","join","__setTextContent","title","_defaultHeaderRenderer","root","_column","super","__getHeader","header","getAncestorRootNodes","node","result","nodeType","Node","DOCUMENT_NODE","push","DOCUMENT_FRAGMENT_NODE","assignedSlot","parentNode","host","getFlattenedElements","elements","localName","assignedElements","children","forEach","elem","getClosestElement","selector","closest","getRootNode","deserializeAttributeValue","value","Set","split","serializeAttributeValue","values","addValueToAttribute","element","attr","add","setAttribute","removeValueFromAttribute","delete","size","removeAttribute","isEmptyTextNode","TEXT_NODE","textContent","trim","style","spacing","GridCustomColumnClass","contentEle","from","find","child","pattern","RegExp","test","newEle","cloneNode","innerHTML","append","componentName","customElements","define","processTemplates","component","window","Vaadin","templateRendererCallback","querySelector","console","warn","colorBase","color","moduleId","get","object","reduce","obj","property","undefined","template","document","createElement","DESCOPE_NONCE","head","appendChild","GridSorterMixin","superClass","properties","String","direction","type","reflectToAttribute","notify","sync","_order","Number","_isConnected","Boolean","observer","observers","ready","addEventListener","_onClick","bind","connectedCallback","disconnectedCallback","_grid","__removeSorters","_pathOrDirectionChanged","__dispatchSorterChangedEvenIfPossible","__isConnectedChanged","newValue","oldValue","dispatchEvent","CustomEvent","detail","shiftClick","_shiftClick","fromSorterClick","_fromSorterClick","bubbles","composed","_getDisplayOrder","order","e","defaultPrevented","activeElement","contains","preventDefault","shiftKey","GridSorter","is","GridSortColumnMixin","constructor","__boundOnDirectionChanged","__onDirectionChanged","sorter","firstElementChild","__rendererDirection","_computeHeaderRenderer","target","_generateHeader","GridSortColumn"],"sourceRoot":""}
|