@luzmo/analytics-components-kit 1.0.9-beta.4 → 1.0.9-beta.6
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/README.md +1 -1
- package/package.json +2 -2
- package/react/package.json +2 -2
- package/standalone/chunks/base-CR5wZnQk.js +2 -0
- package/standalone/chunks/display-settings-binning-D3wYG0p7.js +38 -0
- package/standalone/chunks/display-settings-datetime-D37ERF0v.js +199 -0
- package/standalone/chunks/display-settings-grand-totals-CKm9PkBj.js +26 -0
- package/standalone/chunks/display-settings-numeric-f9Mdphm-.js +172 -0
- package/standalone/chunks/{display-settings-period-over-period-Bwjoji3a.js → display-settings-period-over-period-Cl-vLKk3.js} +1 -1
- package/standalone/chunks/{embed-c581fYN4.js → embed-B3y_k1ri.js} +1 -1
- package/standalone/chunks/{filters-XL4xRKOk.js → filters-CIOtenxx.js} +1 -1
- package/standalone/chunks/{formula-codemirror-BAlhe79s.js → formula-codemirror-BXh_3Te_.js} +1 -1
- package/standalone/chunks/item-option-action-button-group-DdbUGL3Q.js +35 -0
- package/standalone/chunks/item-option-base-CJwisW9b.js +38 -0
- package/standalone/chunks/item-option-color-palette-picker-CIM_beO6.js +22 -0
- package/standalone/chunks/{item-option-color-picker-59il-pkm.js → item-option-color-picker-CFeaAV1o.js} +1 -1
- package/standalone/chunks/item-option-color-range-DlZPq0gW.js +80 -0
- package/standalone/chunks/item-option-guidelines-DTTp08iA.js +117 -0
- package/standalone/chunks/{item-option-multi-language-field-BNn4WFUG.js → item-option-multi-language-field-DPrary5L.js} +1 -1
- package/standalone/chunks/{item-option-number-field-_lCPA_qC.js → item-option-number-field-DqTWCfQm.js} +1 -1
- package/standalone/chunks/{item-option-panel-s1ZKzAZ9.js → item-option-panel-PNWjgMMu.js} +2 -2
- package/standalone/chunks/{item-option-picker-CeK7QDTm.js → item-option-picker-dpSAYz4b.js} +1 -1
- package/standalone/chunks/item-option-position-picker-CHSKJ29N.js +14 -0
- package/standalone/chunks/item-option-positions-number-field-DaUTQCTD.js +31 -0
- package/standalone/chunks/{item-option-radio-button-group-DR7gdaTr.js → item-option-radio-button-group-cy5Lc7Yg.js} +1 -1
- package/standalone/chunks/item-option-slider-CA-mF5rp.js +15 -0
- package/standalone/chunks/{item-option-switch-DJfnhpf_.js → item-option-switch-Dp2L-Owv.js} +1 -1
- package/standalone/chunks/{item-option-text-field-DNqL7Evw.js → item-option-text-field-dmwmrTKe.js} +1 -1
- package/standalone/chunks/{item-slot-picker-panel-DsZvl6kA.js → item-slot-picker-panel-DRqvLkhG.js} +2 -2
- package/standalone/chunks/load-data-fields-for-datasets-D74yX8C2.js +25 -0
- package/standalone/chunks/{load-formula-codemirror-Cyqo4LoE.js → load-formula-codemirror-D1TsWHH6.js} +1 -1
- package/standalone/chunks/localized-mixin-j1gjzMSn.js +2 -0
- package/standalone/chunks/{luzmo-icon-markup-GqF25og5.js → luzmo-icon-markup-BENMHpB_.js} +1 -1
- package/standalone/chunks/task-BRrSUTFr.js +2 -0
- package/standalone/interactive-viz-item.js +1 -1
- package/standalone/item-grid.js +1 -1
- package/standalone/manifest.json +33 -33
- package/standalone/chunks/base-DOKoeL4P.js +0 -2
- package/standalone/chunks/display-settings-binning-CTWsdo0F.js +0 -38
- package/standalone/chunks/display-settings-datetime-CdxMI-9Q.js +0 -199
- package/standalone/chunks/display-settings-grand-totals-BCW8hefp.js +0 -26
- package/standalone/chunks/display-settings-numeric-CSaI0l55.js +0 -172
- package/standalone/chunks/item-option-action-button-group-B_XEkUcP.js +0 -35
- package/standalone/chunks/item-option-base-R8-N5_rE.js +0 -38
- package/standalone/chunks/item-option-color-palette-picker-CMZyo1NH.js +0 -22
- package/standalone/chunks/item-option-color-range-BWaElfwS.js +0 -80
- package/standalone/chunks/item-option-guidelines-BzvrNruz.js +0 -117
- package/standalone/chunks/item-option-position-picker-BAWZpDBA.js +0 -14
- package/standalone/chunks/item-option-positions-number-field-BmEtttZL.js +0 -31
- package/standalone/chunks/item-option-slider-C_jierlR.js +0 -15
- package/standalone/chunks/load-data-fields-for-datasets-_VJWUFPO.js +0 -25
- package/standalone/chunks/localized-mixin-BEfBwOPN.js +0 -2
- package/standalone/chunks/task-C3c3OWyi.js +0 -2
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import{n as e,t}from"./localized-mixin-BEfBwOPN.js";import{n,r}from"./lit-localize-CIGP-NUw.js";import{t as i}from"./localized-decorator-Buib6Rq1.js";import{t as a}from"./luzmoTrashOutline-DXZpJx7f.js";import{t as o}from"./luzmoPlus-Dyrrz0v8.js";import{n as s,r as c,t as l}from"./luzmoBorderDotted-CWXwQ_Hm.js";import"./base-DOKoeL4P.js";import{t as u}from"./item-option-base-R8-N5_rE.js";import{a as d,c as f,i as p,l as m,n as h,o as g,r as _,s as v,t as y}from"./types-BS6dxSMT.js";import{html as b,nothing as x,property as S,repeat as C,state as w,unsafeCSS as T}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.3.0-beta.0/standalone/lit.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.3.0-beta.0/standalone/action-button.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.3.0-beta.0/standalone/action-group.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.3.0-beta.0/standalone/icon.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.3.0-beta.0/standalone/number-field.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.3.0-beta.0/standalone/picker.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.3.0-beta.0/standalone/menu.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.3.0-beta.0/standalone/button.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.3.0-beta.0/standalone/color-picker.js";var E=new Set(v),D=new Set(f),O=new Set(m),k={solid:`0`,dotted:`1,2`,dashed:`3,3`},A=e=>typeof e==`object`&&!!e&&!Array.isArray(e),j=e=>{if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`&&e.trim()!==``){let t=Number(e);return Number.isFinite(t)?t:void 0}},M=e=>typeof e==`string`&&E.has(e),N=e=>{let t=(e??[]).filter(M);return t.length>0?t:[...y]},P=e=>e===`dark-edit`?h:_,F=e=>structuredClone(e),I=e=>{if(!A(e))return{...d};let t=typeof e.type==`string`?e.type.trim().toLowerCase():``,n=D.has(t)?t:k[t]??d.type,r=(typeof e.width==`number`?String(e.width):typeof e.width==`string`?e.width.trim():``).replace(/px$/i,``);return{type:n,width:O.has(r)?r:d.width}},L=e=>{if(!A(e))return;let t=typeof e.type==`string`?e.type.trim().toLowerCase():``;if(!M(t))return;let n=typeof e.color==`string`&&e.color.trim()!==``?e.color.trim():_;return t===`value`?{type:t,color:n,value:j(e.value)??0}:{type:t,color:n}},R=e=>{let t=Array.isArray(e)?{lines:e}:e;if(!A(t)||!(Array.isArray(t.lines)||A(t.lines)))return;let n=Array.isArray(t.lines)?t.lines:[t.lines],r=n.map(L).filter(e=>e!==void 0);if(!(n.length>0&&r.length===0))return{lines:r,style:I(t.style)}},z=(e,t)=>e===`value`?{type:e,color:t,value:0}:{type:e,color:t},B=(e,t,n)=>{let r=N(t)[0],i=z(r,n);if(!e)return{lines:[i],style:{...d}};let a=F(e);return a.lines.push(i),a},V=(e,t)=>{let n=F(e);return n.lines.splice(t,1),n},H=(e,t,n)=>{let r=F(e),i=r.lines[t];return i&&(r.lines[t]=z(n,i.color)),r},U=(e,t,n)=>{let r=F(e);return r.lines[t]&&(r.lines[t].color=n),r},W=(e,t,n)=>{let r=F(e);return r.lines[t]&&(r.lines[t].value=n),r},G=(e,t)=>{let n=F(e);return n.style.type=t,n},K=(e,t)=>{let n=F(e);return n.style.width=t,n},q=`:host{display:block;container-type:inline-size}.luzmo-item-option{align-items:start;height:fit-content}.control-container{flex-grow:1;align-items:start}.guidelines{gap:var(--luzmo-item-option-guidelines-shared-gap,var(--item-option-guidelines-shared-gap));flex-direction:column;inline-size:100%;display:flex}.guideline-rows{gap:var(--luzmo-item-option-guidelines-rows-gap,var(--item-option-guidelines-rows-gap));flex-direction:column;display:flex}.guideline-row{align-items:center;gap:var(--luzmo-item-option-guidelines-row-gap,var(--item-option-guidelines-row-gap));grid-template-columns:auto minmax(0,max-content) minmax(6rem,1fr) auto;display:grid}.guideline-value{inline-size:100%}@container (width<=20rem){.guideline-row{grid-template-columns:auto minmax(0,1fr) auto}.guideline-value{grid-column:2}.guideline-value-spacer{display:none}}.guideline-value-spacer{min-inline-size:0;min-block-size:var(--luzmo-component-height)}.guidelines-add{justify-content:flex-end;display:flex}.guideline-shared{gap:var(--luzmo-item-option-guidelines-rows-gap,var(--item-option-guidelines-rows-gap));border-block-start:var(--luzmo-border-width) solid var(--luzmo-border-color);flex-direction:column;padding-block-start:var(--luzmo-item-option-guidelines-shared-gap,var(--item-option-guidelines-shared-gap));display:flex}.guideline-shared-row{justify-content:space-between;align-items:center;gap:var(--luzmo-item-option-guidelines-row-gap,var(--item-option-guidelines-row-gap));flex-wrap:wrap;display:flex}.guideline-shared-label{flex-shrink:0}.guideline-width{min-inline-size:8rem}:host{--item-option-guidelines-rows-gap:var(--luzmo-spacing-2);--item-option-guidelines-row-gap:var(--luzmo-spacing-2);--item-option-guidelines-shared-gap:var(--luzmo-spacing-3)}:host([size=s]){--item-option-guidelines-rows-gap:var(--luzmo-spacing-1);--item-option-guidelines-row-gap:var(--luzmo-spacing-1);--item-option-guidelines-shared-gap:var(--luzmo-spacing-2)}:host([size=l]){--item-option-guidelines-rows-gap:var(--luzmo-spacing-3);--item-option-guidelines-row-gap:var(--luzmo-spacing-3);--item-option-guidelines-shared-gap:var(--luzmo-spacing-4)}:host([size=xl]){--item-option-guidelines-rows-gap:var(--luzmo-spacing-4);--item-option-guidelines-row-gap:var(--luzmo-spacing-3);--item-option-guidelines-shared-gap:var(--luzmo-spacing-4)}`,J=0,Y=6,X=10**-6,Z={maximumFractionDigits:Y},Q=t(u),$=class extends Q{constructor(...e){super(...e),this.lineTypes=[],this.lineTypeLabels={},this.defaultColor=P(),this.debounce=200,this._lineIds=[],this._lineIdCounter=0,this._styleLabelId=`luzmo-item-option-guidelines-style-${++J}`,this._widthLabelId=`luzmo-item-option-guidelines-width-${J}`}static get styles(){return[...super.styles,T(q)]}willUpdate(e){super.willUpdate(e),e.has(`value`)&&(this._clearDebounce(),this._guidelines=R(this.value),this._lineIds=(this._guidelines?.lines??[]).map((e,t)=>this._lineIds[t]??this._createLineId()))}disconnectedCallback(){super.disconnectedCallback(),this._clearDebounce()}_createLineId(){return`${this._styleLabelId}-line-${++this._lineIdCounter}`}_clearDebounce(){clearTimeout(this._debounceTimeout),this._debounceTimeout=void 0}_emit(e,t=!1){let n=()=>{this._debounceTimeout=void 0,this.dispatchEvent(new CustomEvent(`luzmo-option-changed`,{bubbles:!0,composed:!0,cancelable:!0,detail:{value:e}}))};if(this._clearDebounce(),t||this.debounce<=0){n();return}this._debounceTimeout=setTimeout(n,this.debounce)}_commit(e,t=!1){this._guidelines=e,this._emit(e,t)}_allowedTypes(){return N(this.lineTypes)}_typeLabel(e){if(this.lineTypeLabels[e])return this.lineTypeLabels[e];switch(e){case`value`:return n(`Value`,{id:`item-option-guidelines-type-value`,desc:`Guideline type: manual numeric value`});case`average`:return n(`Average`,{id:`item-option-guidelines-type-average`,desc:`Guideline type: average of the plotted data`});case`median`:return n(`Median`,{id:`item-option-guidelines-type-median`,desc:`Guideline type: median of the plotted data`});case`average open`:return n(`Average open`,{id:`item-option-guidelines-type-average-open`,desc:`Guideline type: average of open values`});case`average close`:return n(`Average close`,{id:`item-option-guidelines-type-average-close`,desc:`Guideline type: average of close values`})}}_typeValues(){return Object.fromEntries(this._allowedTypes().map(e=>[e,this._typeLabel(e)]))}_widthValues(){return{1:n(`Thin`,{id:`item-option-guidelines-width-thin`,desc:`Guideline width: thin`}),2:n(`Medium`,{id:`item-option-guidelines-width-medium`,desc:`Guideline width: medium`}),3:n(`Thick`,{id:`item-option-guidelines-width-thick`,desc:`Guideline width: thick`})}}_styleOptions(){return[{key:`0`,icon:c,label:n(`Solid`,{id:`item-option-guidelines-style-solid`,desc:`Guideline line style: solid`})},{key:`1,2`,icon:l,label:n(`Dotted`,{id:`item-option-guidelines-style-dotted`,desc:`Guideline line style: dotted`})},{key:`3,3`,icon:s,label:n(`Dashed`,{id:`item-option-guidelines-style-dashed`,desc:`Guideline line style: dashed`})}]}_handleAdd(){this.disabled||(this._lineIds=[...this._lineIds,this._createLineId()],this._commit(B(this._guidelines,this.lineTypes,this.defaultColor),!0))}_handleRemove(e){this.disabled||!this._guidelines||(this._lineIds=this._lineIds.filter((t,n)=>n!==e),this._commit(V(this._guidelines,e),!0))}_handleTypeChange(e,t){this.disabled||!this._guidelines||!M(t.detail)||this._commit(H(this._guidelines,e,t.detail),!0)}_handleColorChange(e,t){if(this.disabled||!this._guidelines)return;let n=t.target.color;typeof n==`string`&&this._commit(U(this._guidelines,e,n))}_handleValueChange(e,t){if(this.disabled||!this._guidelines)return;let n=t.target.value;typeof n!=`number`||!Number.isFinite(n)||this._commit(W(this._guidelines,e,n))}_handleStyleChange(e){if(this.disabled||!this._guidelines)return;let t=e.target.selected?.[0];(t===`0`||t===`1,2`||t===`3,3`)&&this._commit(G(this._guidelines,t),!0)}_handleWidthChange(e){if(this.disabled||!this._guidelines)return;let t=e.detail,n=e.target.value,r=t===`1`||t===`2`||t===`3`?t:n;(r===`1`||r===`2`||r===`3`)&&this._commit(K(this._guidelines,r),!0)}_lineKey(e){return this._lineIds[e]}_renderLine(e,t){let i=t+1,o=n(r`Guideline ${i} color`,{id:`item-option-guidelines-color`,desc:`Accessible name for one guideline color picker`}),s=n(r`Guideline ${i} type`,{id:`item-option-guidelines-type`,desc:`Accessible name for one guideline type picker`}),c=n(r`Guideline ${i} value`,{id:`item-option-guidelines-value`,desc:`Accessible name for one manual guideline value`}),l=n(r`Remove guideline ${i}`,{id:`item-option-guidelines-remove`,desc:`Aria label for removing one guideline row`});return b`
|
|
3
|
-
<div class="guideline-row">
|
|
4
|
-
<luzmo-color-picker
|
|
5
|
-
class="guideline-color"
|
|
6
|
-
.color=${e.color}
|
|
7
|
-
.size=${this.size}
|
|
8
|
-
rounding="full"
|
|
9
|
-
shape="circle"
|
|
10
|
-
.label=${o}
|
|
11
|
-
?disabled=${this.disabled}
|
|
12
|
-
@change=${e=>this._handleColorChange(t,e)}
|
|
13
|
-
></luzmo-color-picker>
|
|
14
|
-
<luzmo-picker
|
|
15
|
-
class="guideline-type"
|
|
16
|
-
.label=${s}
|
|
17
|
-
.value=${e.type}
|
|
18
|
-
.size=${this.size}
|
|
19
|
-
variant="highlight"
|
|
20
|
-
?disabled=${this.disabled}
|
|
21
|
-
@change=${e=>this._handleTypeChange(t,e)}
|
|
22
|
-
>
|
|
23
|
-
${Object.entries(this._typeValues()).map(([e,t])=>b`
|
|
24
|
-
<luzmo-menu-item value=${e}>${t}</luzmo-menu-item>
|
|
25
|
-
`)}
|
|
26
|
-
</luzmo-picker>
|
|
27
|
-
${e.type===`value`?b`
|
|
28
|
-
<luzmo-number-field
|
|
29
|
-
class="guideline-value"
|
|
30
|
-
.value=${e.value??0}
|
|
31
|
-
.size=${this.size}
|
|
32
|
-
.step=${X}
|
|
33
|
-
.formatOptions=${Z}
|
|
34
|
-
.label=${c}
|
|
35
|
-
?disabled=${this.disabled}
|
|
36
|
-
@change=${e=>this._handleValueChange(t,e)}
|
|
37
|
-
></luzmo-number-field>
|
|
38
|
-
`:b`
|
|
39
|
-
<div class="guideline-value-spacer"></div>
|
|
40
|
-
`}
|
|
41
|
-
<luzmo-action-button
|
|
42
|
-
class="guideline-remove"
|
|
43
|
-
quiet
|
|
44
|
-
.size=${this.size}
|
|
45
|
-
.label=${l}
|
|
46
|
-
?disabled=${this.disabled}
|
|
47
|
-
@click=${()=>this._handleRemove(t)}
|
|
48
|
-
>
|
|
49
|
-
<luzmo-icon slot="icon" .size=${this.size} .icon=${a}></luzmo-icon>
|
|
50
|
-
</luzmo-action-button>
|
|
51
|
-
</div>
|
|
52
|
-
`}_renderSharedStyle(e){return b`
|
|
53
|
-
<div class="guideline-shared">
|
|
54
|
-
<div class="guideline-shared-row">
|
|
55
|
-
<span class="guideline-shared-label" id=${this._styleLabelId}>
|
|
56
|
-
${n(`Style`,{id:`item-option-guidelines-style-label`,desc:`Label for shared guideline dash style`})}
|
|
57
|
-
</span>
|
|
58
|
-
<luzmo-action-group
|
|
59
|
-
class="guideline-style"
|
|
60
|
-
compact
|
|
61
|
-
quiet
|
|
62
|
-
emphasized
|
|
63
|
-
selects="single"
|
|
64
|
-
.size=${this.size}
|
|
65
|
-
.selected=${[e.style.type]}
|
|
66
|
-
aria-labelledby=${this._styleLabelId}
|
|
67
|
-
?disabled=${this.disabled}
|
|
68
|
-
@change=${this._handleStyleChange}
|
|
69
|
-
>
|
|
70
|
-
${this._styleOptions().map(e=>b`
|
|
71
|
-
<luzmo-action-button value=${e.key} ?disabled=${this.disabled} .label=${e.label}>
|
|
72
|
-
<luzmo-icon slot="icon" .size=${this.size} .icon=${e.icon}></luzmo-icon>
|
|
73
|
-
</luzmo-action-button>
|
|
74
|
-
`)}
|
|
75
|
-
</luzmo-action-group>
|
|
76
|
-
</div>
|
|
77
|
-
<div class="guideline-shared-row">
|
|
78
|
-
<span class="guideline-shared-label" id=${this._widthLabelId}>
|
|
79
|
-
${n(`Width`,{id:`item-option-guidelines-width-label`,desc:`Label for shared guideline width`})}
|
|
80
|
-
</span>
|
|
81
|
-
<luzmo-picker
|
|
82
|
-
class="guideline-width"
|
|
83
|
-
aria-labelledby=${this._widthLabelId}
|
|
84
|
-
.value=${e.style.width}
|
|
85
|
-
.size=${this.size}
|
|
86
|
-
variant="highlight"
|
|
87
|
-
?disabled=${this.disabled}
|
|
88
|
-
@change=${this._handleWidthChange}
|
|
89
|
-
>
|
|
90
|
-
${Object.entries(this._widthValues()).map(([e,t])=>b`
|
|
91
|
-
<luzmo-menu-item value=${e}>${t}</luzmo-menu-item>
|
|
92
|
-
`)}
|
|
93
|
-
</luzmo-picker>
|
|
94
|
-
</div>
|
|
95
|
-
</div>
|
|
96
|
-
`}renderController(){let e=this._guidelines?.lines??[];return b`
|
|
97
|
-
<div id="luzmo-item-option-control" class="guidelines" role="group" aria-label=${this.label||n(`Guidelines`,{id:`item-option-guidelines-group`,desc:`Accessible name for the guidelines editor`})}>
|
|
98
|
-
${e.length>0?b`
|
|
99
|
-
<div class="guideline-rows">
|
|
100
|
-
${C(e,(e,t)=>this._lineKey(t),(e,t)=>this._renderLine(e,t))}
|
|
101
|
-
</div>
|
|
102
|
-
`:x}
|
|
103
|
-
<div class="guidelines-add">
|
|
104
|
-
<luzmo-button
|
|
105
|
-
class="add-guideline"
|
|
106
|
-
treatment="outline"
|
|
107
|
-
.size=${this.size}
|
|
108
|
-
?disabled=${this.disabled}
|
|
109
|
-
@click=${this._handleAdd}
|
|
110
|
-
>
|
|
111
|
-
<luzmo-icon slot="icon" .icon=${o} .size=${this.size}></luzmo-icon>
|
|
112
|
-
${n(`Add guideline`,{id:`item-option-guidelines-add`,desc:`Button that adds a chart guideline`})}
|
|
113
|
-
</luzmo-button>
|
|
114
|
-
</div>
|
|
115
|
-
${this._guidelines&&e.length>0?this._renderSharedStyle(this._guidelines):x}
|
|
116
|
-
</div>
|
|
117
|
-
`}};e([S({attribute:!1})],$.prototype,`value`,void 0),e([S({attribute:!1})],$.prototype,`lineTypes`,void 0),e([S({attribute:!1})],$.prototype,`lineTypeLabels`,void 0),e([S({type:String,reflect:!0,attribute:`default-color`})],$.prototype,`defaultColor`,void 0),e([S({type:Number,reflect:!0})],$.prototype,`debounce`,void 0),e([w()],$.prototype,`_guidelines`,void 0),$=e([i()],$),typeof customElements<`u`&&!customElements.get(`luzmo-item-option-guidelines`)&&customElements.define(`luzmo-item-option-guidelines`,$);export{y as CARTESIAN_GUIDELINE_LINE_TYPES,h as DEFAULT_GUIDELINE_COLOR_DARK,_ as DEFAULT_GUIDELINE_COLOR_LIGHT,p as DEFAULT_GUIDELINE_DEBOUNCE,d as DEFAULT_GUIDELINE_STYLE,g as DEFAULT_NUMERIC_GUIDELINE_VALUE,v as GUIDELINE_LINE_TYPES,f as GUIDELINE_STYLE_TYPES,m as GUIDELINE_WIDTHS,$ as LuzmoItemOptionGuidelines};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import{n as e}from"./localized-mixin-BEfBwOPN.js";import{t}from"./item-option-base-R8-N5_rE.js";import{html as n,nothing as r,property as i,unsafeCSS as a}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.3.0-beta.0/standalone/lit.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.3.0-beta.0/standalone/text-field.js";var o=`:host{height:var(--luzmo-item-option-position-picker-grid-height,var(--item-option-position-picker-grid-height));align-items:center;display:flex}.luzmo-item-option{height:var(--luzmo-item-option-position-picker-grid-height,var(--item-option-position-picker-grid-height))}.position-grid{gap:var(--luzmo-item-option-position-picker-grid-gap,var(--item-option-position-picker-grid-gap));width:var(--luzmo-item-option-position-picker-grid-width,var(--item-option-position-picker-grid-width));box-sizing:border-box;border:.0625rem solid var(--luzmo-item-option-position-picker-grid-border-color,var(--luzmo-border-color));padding:var(--luzmo-item-option-position-picker-grid-padding,var(--item-option-position-picker-grid-padding));border-radius:var(--luzmo-item-option-position-picker-grid-border-radius,var(--item-option-position-picker-grid-border-radius));grid-template-columns:repeat(3,1fr);display:grid}.position-item{width:100%;height:var(--luzmo-item-option-position-picker-item-height,var(--item-option-position-picker-item-height));box-sizing:border-box;border:.0625rem solid var(--luzmo-item-option-position-picker-border-color,var(--luzmo-border-color));border-radius:var(--luzmo-item-option-position-picker-border-radius,var(--item-option-position-picker-border-radius));background:var(--luzmo-item-option-position-picker-background,var(--luzmo-background-color-highlight));transition:background-color var(--luzmo-item-option-position-picker-animation-duration,var(--luzmo-animation-duration)) ease-in-out;cursor:pointer}.position-item:hover{background-color:var(--luzmo-item-option-position-picker-background-hover,var(--luzmo-background-color-highlight-down))}.position-item.selected,.position-item.selected:hover,.position-item.selected:active,.position-item.selected:focus{background-color:var(--luzmo-item-option-position-picker-background-selected,var(--luzmo-primary));transition:background-color var(--luzmo-item-option-position-picker-selected-animation-duration,0) ease-in-out}.position-item:focus-visible{outline:2px solid var(--luzmo-item-option-position-picker-focus-color,var(--luzmo-primary));outline-offset:1px}.position-item.position-item-not-allowed{opacity:0;pointer-events:none}:host{--item-option-position-picker-grid-height:7rem;--item-option-position-picker-grid-width:7rem;--item-option-position-picker-border-radius:var(--luzmo-border-radius);--item-option-position-picker-grid-border-radius:var(--luzmo-border-radius);--item-option-position-picker-grid-padding:.25rem;--item-option-position-picker-item-height:1.75rem;--item-option-position-picker-grid-gap:.25rem}:host([size=s]){--item-option-position-picker-grid-height:5.125rem;--item-option-position-picker-grid-width:5.625rem;--item-option-position-picker-border-radius:var(--luzmo-border-radius);--item-option-position-picker-grid-border-radius:var(--luzmo-border-radius-s);--item-option-position-picker-grid-padding:.125rem;--item-option-position-picker-item-height:1.5rem;--item-option-position-picker-grid-gap:.125rem}:host([size=l]){--item-option-position-picker-grid-height:8rem;--item-option-position-picker-grid-width:8rem;--item-option-position-picker-border-radius:var(--luzmo-border-radius-l);--item-option-position-picker-grid-border-radius:var(--luzmo-border-radius-l);--item-option-position-picker-grid-padding:.3rem;--item-option-position-picker-item-height:2rem;--item-option-position-picker-grid-gap:.25rem}:host([size=xl]){--item-option-position-picker-grid-height:9rem;--item-option-position-picker-grid-width:9rem;--item-option-position-picker-border-radius:var(--luzmo-border-radius-xl);--item-option-position-picker-grid-border-radius:var(--luzmo-border-radius-xl);--item-option-position-picker-grid-padding:.375rem;--item-option-position-picker-item-height:2.25rem;--item-option-position-picker-grid-gap:.275rem}`,s=[`topLeft`,`top`,`topRight`,`left`,`center`,`right`,`bottomLeft`,`bottom`,`bottomRight`],c=s.filter(e=>e!==`center`),l={topLeft:`Top left`,top:`Top center`,topRight:`Top right`,left:`Center left`,center:`Center`,right:`Center right`,bottomLeft:`Bottom left`,bottom:`Bottom center`,bottomRight:`Bottom right`},u=class extends t{constructor(...e){super(...e),this.default=`topRight`,this.positions=c,this.readonly=!1}static{this.styles=[super.styles,a(o)]}_handleEvent(){this.dispatchEvent(new CustomEvent(`luzmo-option-changed`,{bubbles:!0,composed:!0,cancelable:!0,detail:{value:this.value}}))}_handleClick(e){this.positions?.includes(e)&&(this.value=e,this._handleEvent())}_handleKeyDown(e,t){if(t.key===`Enter`||t.key===` `){t.preventDefault(),this._handleClick(e);return}let n=s.filter(e=>this.positions?.includes(e)),r=n.indexOf(e);if(r===-1)return;let i=-1;if(t.key===`ArrowRight`||t.key===`ArrowDown`?(t.preventDefault(),i=(r+1)%n.length):(t.key===`ArrowLeft`||t.key===`ArrowUp`)&&(t.preventDefault(),i=(r-1+n.length)%n.length),i>=0){let e=n[i];(this.shadowRoot?.querySelector(`[data-position="${e}"]`))?.focus()}}willUpdate(){this.value=this.value??this.default??`topRight`,this.positions=this.positions??c}renderController(){let e=s.map(e=>{let t=this.positions?.includes(e)??!1,i=this.value===e,a=t&&i,o=a||t&&!s.some(e=>this.positions?.includes(e)&&this.value===e);return n`
|
|
3
|
-
<div
|
|
4
|
-
class="position-item ${t?`position-item-allowed`:`position-item-not-allowed`} ${i?`selected`:``}"
|
|
5
|
-
role="radio"
|
|
6
|
-
aria-checked=${i?`true`:`false`}
|
|
7
|
-
aria-disabled=${t?`false`:`true`}
|
|
8
|
-
aria-label=${l[e]??e}
|
|
9
|
-
data-position=${e}
|
|
10
|
-
tabindex=${t?a||o?`0`:`-1`:r}
|
|
11
|
-
@click=${this._handleClick.bind(this,e)}
|
|
12
|
-
@keydown=${t?this._handleKeyDown.bind(this,e):r}
|
|
13
|
-
></div>
|
|
14
|
-
`});return n` <div class="position-grid" role="radiogroup" aria-label=${this.label??`Position`} id="luzmo-item-option-control">${e}</div> `}};e([i({type:String,reflect:!0})],u.prototype,`value`,void 0),e([i({type:String,reflect:!0,attribute:`default-position`})],u.prototype,`default`,void 0),e([i({type:Array,reflect:!0})],u.prototype,`positions`,void 0),e([i({type:Boolean,reflect:!0})],u.prototype,`readonly`,void 0),customElements.get(`luzmo-item-option-position-picker`)||customElements.define(`luzmo-item-option-position-picker`,u);export{u as LuzmoItemOptionPositionPicker};
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import{n as e}from"./localized-mixin-BEfBwOPN.js";import{n as t}from"./lit-localize-CIGP-NUw.js";import{t as n}from"./luzmoLockOutline-Dctb86HR.js";import{t as r}from"./luzmo-icon-markup-GqF25og5.js";import{t as i}from"./item-option-base-R8-N5_rE.js";import{html as a,property as o,state as s,unsafeCSS as c}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.3.0-beta.0/standalone/lit.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.3.0-beta.0/standalone/number-field.js";var l=`:host{--item-option-positions-number-field-container-row-gap:var(--luzmo-spacing-2);--item-option-positions-number-field-container-column-gap:var(--luzmo-spacing-2);--item-option-positions-number-field-sync-height:calc(var(--luzmo-component-height) * 1.5)}:host([size=s]){--item-option-positions-number-field-sync-height:calc(var(--luzmo-component-height-s) * 1.5)}:host([size=l]){--item-option-positions-number-field-sync-height:calc(var(--luzmo-component-height-l) * 1.5)}:host([size=xl]){--item-option-positions-number-field-sync-height:calc(var(--luzmo-component-height-xl) * 1.5)}.positions-container{max-width:var(--luzmo-item-option-positions-number-field-container-max-width,var(--item-option-positions-number-field-container-max-width));row-gap:var(--luzmo-item-option-positions-number-field-container-row-gap,var(--item-option-positions-number-field-container-row-gap));column-gap:var(--luzmo-item-option-positions-number-field-container-column-gap,var(--item-option-positions-number-field-container-column-gap));grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);display:grid}.position,.sync-button{justify-content:center;align-items:center;display:flex}.sync-button{cursor:pointer;border-radius:var(--luzmo-item-option-positions-number-field-sync-border-radius,var(--luzmo-border-radius));height:var(--luzmo-item-option-positions-number-field-sync-height,var(--item-option-positions-number-field-sync-height));font:inherit;color:inherit;background:0 0;border:none;padding:0}.sync-button:focus-visible{outline:var(--luzmo-indicator-width) solid var(--luzmo-item-option-positions-number-field-sync-border-color,var(--luzmo-indicator-color));outline-offset:1px}.no-sync-center{border:var(--luzmo-item-option-positions-number-field-no-sync-center-border-width,var(--luzmo-border-width)) solid var(--luzmo-item-option-positions-number-field-no-sync-center-border-color,var(--luzmo-border-color));border-radius:var(--luzmo-item-option-positions-number-field-no-sync-center-border-radius,var(--luzmo-border-radius));height:var(--luzmo-item-option-positions-number-field-sync-height,var(--item-option-positions-number-field-sync-height));background-color:var(--luzmo-item-option-positions-number-field-no-sync-center-background-color,var(--luzmo-background-color-highlight))}`,u=class extends i{constructor(...e){super(...e),this.canSync=!0,this.invalid=!1,this.readonly=!1,this.debounce=200,this._positions=[[`top-left`,`top`,`top-right`],[`left`,`center`,`right`],[`bottom-left`,`bottom`,`bottom-right`]]}static get styles(){return[c(l)]}_calculateSyncedValue(){let e,t={};return this.positions?.forEach(n=>{t[n]=this.values?.[n]??this.positionConfiguration?.[n]?.default??0,e=typeof e==`number`&&t[n]?Math.min(e,t[n]):t[n]}),e}toggleSync(){if(this.sync=!this.sync,this.sync&&(this.syncedValue=this._calculateSyncedValue(),typeof this.syncedValue==`number`)){this.values={...this.values};for(let e of this.positions??[])this.values[e]=this.syncedValue}}_handleEvent(e){let t=e.target.getAttribute(`position`),n=e.target.value,r={};if(!(!t||typeof n!=`number`)){if(this.canSync&&this.sync&&t===`center`){this.syncedValue=n;for(let e of this.positions??[])r[e]=n}else r={...this.values,[t]:n};this.debounceTimeout&&clearTimeout(this.debounceTimeout),this.debounceTimeout=setTimeout(()=>{let e=Object.keys(this.values??{}),t=Object.keys(r),n=!0;e.length!==t.length&&(n=!1);for(let t of e)this.values?.[t]!==r[t]&&(n=!1);n||(this.dispatchEvent(new CustomEvent(`luzmo-option-changed`,{bubbles:!0,composed:!0,cancelable:!0,detail:{values:{...r}}})),this.values=r)},this.debounce??200)}}_renderNumberField(e){return this.positions?.includes(e)||e===`center`?this.canSync&&(this.sync&&e!==`center`||!this.sync&&e===`center`)?a`<button
|
|
3
|
-
class="sync-button ${this.sync?``:`sync`}"
|
|
4
|
-
position=${e}
|
|
5
|
-
aria-label=${t(`Toggle sync`,{desc:`Aria label for sync toggle button`})}
|
|
6
|
-
aria-pressed=${this.sync?`true`:`false`}
|
|
7
|
-
@click=${this.toggleSync}
|
|
8
|
-
>
|
|
9
|
-
${r(n)}
|
|
10
|
-
</button>`:!this.canSync&&!this.positions?.includes(`center`)&&e===`center`?a`
|
|
11
|
-
<div class="no-sync-center"></div>
|
|
12
|
-
`:a`<div class="position">
|
|
13
|
-
<luzmo-number-field
|
|
14
|
-
label=${e}
|
|
15
|
-
position=${e}
|
|
16
|
-
.value=${this.sync&&this.canSync?this.syncedValue??0:this.values?.[e]??this.positionConfiguration?.[e]?.default??0}
|
|
17
|
-
.disabled=${this.disabled}
|
|
18
|
-
.size=${this.size}
|
|
19
|
-
.min=${this.positionConfiguration?.[e]?.min??0}
|
|
20
|
-
.max=${this.positionConfiguration?.[e]?.max??100}
|
|
21
|
-
.step=${this.positionConfiguration?.[e]?.step??1}
|
|
22
|
-
.invalid=${this.invalid}
|
|
23
|
-
@change=${this._handleEvent}
|
|
24
|
-
@input=${this._handleEvent}
|
|
25
|
-
>
|
|
26
|
-
</luzmo-number-field>
|
|
27
|
-
</div>`:a`
|
|
28
|
-
<div class="position"></div>
|
|
29
|
-
`}firstUpdated(){if(this.canSync&&!this.positions?.includes(`center`)){let e=this.values?.left??this.positionConfiguration?.left?.default,t=this.values?.top??this.positionConfiguration?.top?.default,n=this.values?.right??this.positionConfiguration?.right?.default,r=this.values?.bottom??this.positionConfiguration?.bottom?.default;this.sync=e===t&&t===n&&n===r}else this.sync=!1}willUpdate(){this.positions||=[`top`,`right`,`bottom`,`left`]}renderController(){this._calculateSyncedValue();let e=this._positions.map(e=>a`${e.map(e=>this._renderNumberField(e))}`);return a`<div class="positions-container-wrapper" id="luzmo-item-option-control" role="group" aria-label=${this.label??t(`Position values`,{desc:`Accessible label for positions number field group`})}>
|
|
30
|
-
<div class="positions-container">${e}</div>
|
|
31
|
-
</div>`}};e([o({type:Array,reflect:!0})],u.prototype,`positions`,void 0),e([o({type:Object,reflect:!0})],u.prototype,`values`,void 0),e([o({type:Boolean,reflect:!0,attribute:`can-sync`})],u.prototype,`canSync`,void 0),e([o({type:Object})],u.prototype,`positionConfiguration`,void 0),e([o({type:Boolean,reflect:!0})],u.prototype,`invalid`,void 0),e([o({type:Boolean,reflect:!0})],u.prototype,`readonly`,void 0),e([o({type:Number,reflect:!0})],u.prototype,`debounce`,void 0),e([o({type:Boolean,reflect:!0})],u.prototype,`sync`,void 0),e([s()],u.prototype,`syncedValue`,void 0),customElements.get(`luzmo-item-option-positions-number-field`)||customElements.define(`luzmo-item-option-positions-number-field`,u);export{u as LuzmoItemOptionPositionsNumberField};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import{n as e}from"./localized-mixin-BEfBwOPN.js";import{t}from"./item-option-base-R8-N5_rE.js";import{html as n,property as r,query as i,unsafeCSS as a}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.3.0-beta.0/standalone/lit.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.3.0-beta.0/standalone/slider.js";var o=`:host{overflow:visible}luzmo-slider{contain:layout}`,s=class extends t{constructor(...e){super(...e),this.value=0,this.default=0,this.min=0,this.max=100,this.step=100,this.debounce=200,this._debounceTimeout=null}static get styles(){return[...super.styles,a(o)]}disconnectedCallback(){super.disconnectedCallback(),this._debounceTimeout&&=(clearTimeout(this._debounceTimeout),null)}_emitOptionChanged(e){this._lastEmittedSliderValue=e,this.dispatchEvent(new CustomEvent(`luzmo-option-changed`,{bubbles:!0,composed:!0,cancelable:!0,detail:{value:typeof this.toValue==`function`?this.toValue(e):e}}))}_handleEvent(e){let t=this._slider.value;if(!(e.type===`change`&&!this._debounceTimeout&&Object.is(t,this._lastEmittedSliderValue))){if(this._debounceTimeout&&=(clearTimeout(this._debounceTimeout),null),this.debounce>0){this._debounceTimeout=setTimeout(()=>{this._debounceTimeout=null,this._emitOptionChanged(t)},this.debounce);return}this._emitOptionChanged(t)}}renderController(){let e=typeof this.parseValue==`function`?this.parseValue(this.value):this.value,t=typeof this.parseValue==`function`?this.parseValue(this.default):this.default;return n`
|
|
3
|
-
<luzmo-slider
|
|
4
|
-
id="luzmo-item-option-control"
|
|
5
|
-
.label=${this.label}
|
|
6
|
-
.min=${this.min}
|
|
7
|
-
.max=${this.max}
|
|
8
|
-
.value=${e??t}
|
|
9
|
-
.step=${this.step}
|
|
10
|
-
.size=${this.size}
|
|
11
|
-
.disabled=${this.disabled}
|
|
12
|
-
@input=${this._handleEvent}
|
|
13
|
-
@change=${this._handleEvent}
|
|
14
|
-
></luzmo-slider>
|
|
15
|
-
`}};e([r({type:Number,reflect:!0})],s.prototype,`value`,void 0),e([r({type:Number,reflect:!0})],s.prototype,`default`,void 0),e([r({type:Number,reflect:!0})],s.prototype,`min`,void 0),e([r({type:Number,reflect:!0})],s.prototype,`max`,void 0),e([r({type:Number,reflect:!0})],s.prototype,`step`,void 0),e([r({type:Number,reflect:!0})],s.prototype,`debounce`,void 0),e([r()],s.prototype,`parseValue`,void 0),e([r()],s.prototype,`toValue`,void 0),e([i(`luzmo-slider`)],s.prototype,`_slider`,void 0),customElements.get(`luzmo-item-option-slider`)||customElements.define(`luzmo-item-option-slider`,s);export{s as LuzmoItemOptionSlider};
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import{n as e,t}from"./localized-mixin-BEfBwOPN.js";import{n}from"./lit-localize-CIGP-NUw.js";import{t as r}from"./localized-decorator-Buib6Rq1.js";import{r as i,t as a}from"./calculate-data-field-icon-CrEVAfzJ.js";import{c as o}from"./type-check-CC6bgirK.js";import{t as s}from"./localize-BXHWaHdZ.js";import{n as c}from"./periods.const-Cie50jR4.js";import{t as l}from"./data-broker-CbKNAOhf.js";import{html as u,property as d,unsafeCSS as f}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.3.0-beta.0/standalone/lit.js";import{ElementSizes as p,LuzmoElement as m,SizedMixin as h}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.3.0-beta.0/standalone/utils.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.3.0-beta.0/standalone/select.js";var g=e=>!!(e&&Object.keys(e).length>0),_=(e,t,n={})=>{if(t.hidden===!0&&!n.includeHidden||!t.id||!t.type)return null;let r=g(t.name)?t.name:{en:`Untitled`},i={datasetId:e,columnId:t.id,type:t.type,name:r};return t.description&&g(t.description)&&(i.description=t.description),t.subtype&&(i.subtype=t.subtype),t.format&&(i.format=t.format),typeof t.lowestLevel==`number`&&(i.lowestLevel=t.lowestLevel),typeof t.highestLevel==`number`&&(i.highestLevel=t.highestLevel),typeof t.hierarchy_enabled==`boolean`&&(i.hierarchy_enabled=t.hierarchy_enabled),t.expression&&(i.expression=t.expression),Array.isArray(t.duration_levels)&&t.duration_levels.length>0&&(i.duration_levels=[...t.duration_levels]),t.duration_format&&(i.duration_format=t.duration_format),Array.isArray(t.hierarchyLevels)&&t.hierarchyLevels.length>0&&(i.hierarchyLevels=t.hierarchyLevels.map(({id:e,level:t,name:n})=>({id:e,level:t,name:n}))),t.currency?.id&&t.currency.symbol&&(i.currency={id:t.currency.id,name:t.currency.name,symbol:t.currency.symbol}),i},v=(e,t,n={})=>{if(t.hidden===!0&&!n.includeHidden||!t.id||!t.type)return null;let r=g(t.name)?t.name:{en:`Untitled`},i={datasetId:e,formulaId:t.id,type:t.type,name:r};return t.description&&g(t.description)&&(i.description=t.description),t.subtype&&(i.subtype=t.subtype),t.format&&(i.format=t.format),typeof t.lowestLevel==`number`&&(i.lowestLevel=t.lowestLevel),t.expression&&(i.expression=t.expression),Array.isArray(t.duration_levels)&&t.duration_levels.length>0&&(i.duration_levels=[...t.duration_levels]),t.duration_format&&(i.duration_format=t.duration_format),t.currency?.id&&t.currency.symbol&&(i.currency={id:t.currency.id,name:t.currency.name,symbol:t.currency.symbol}),i},y=(e,t={})=>{if(!e?.id)return[];let n=[];return Array.isArray(e.columns)&&e.columns.forEach(r=>{let i=_(e.id,r,t);i&&n.push(i)}),Array.isArray(e.formulas)&&e.formulas.forEach(r=>{let i=v(e.id,r,t);i&&n.push(i)}),n},b=(e,t={})=>e.map(e=>({id:e.id,name:e.name,description:e.description,dataFields:y(e,t)})),x=`:host{font-family:var(--luzmo-font-family)}luzmo-select{--luzmo-option-icon-width:var(--data-fields-select-option-icon-width);width:100%}:host{--data-fields-select-option-icon-width:calc(var(--luzmo-font-size) * 1.4)}:host([size=xxs]),:host([size=xs]),:host([size=s]){--data-fields-select-option-icon-width:calc(var(--luzmo-font-size-s) * 1.4)}:host([size=l]){--data-fields-select-option-icon-width:calc(var(--luzmo-font-size-l) * 1.4)}:host([size=xl]),:host([size=xxl]){--data-fields-select-option-icon-width:calc(var(--luzmo-font-size-xl) * 1.4)}`,S=`::level::`,C=(e,t)=>`${e}${S}${t}`,w=e=>{let t=e.indexOf(S);return t===-1?null:{columnId:e.slice(0,t),level:Number(e.slice(t+9))}},T=class extends t(h(m,{validSizes:Object.values(p)})){constructor(...e){super(...e),this.contentLanguage=`en`,this.icons=`menu-only`,this.levels=`on`,this.allowEmpty=!1,this.selects=`single`,this.value=[],this.retrieving=!1,this.invalid=!1,this.clearable=!1,this.pending=!1,this.disabled=!1,this.readonly=!1,this.quiet=!1,this.search=`auto`,this.placement=`bottom-start`,this.datasetsDataFields=[],this._dataFieldsSelected=[],this._lastEmittedValue=`[]`,this._pendingAutoSelectEvent=!1}static get styles(){return[f(x)]}_isAdHocFormula(e){return`formula`in e&&typeof e.formula==`string`}_sendChangeEvent(){let e=JSON.stringify(this.value);e!==this._lastEmittedValue&&(this._lastEmittedValue=e,this.dispatchEvent(new CustomEvent(`luzmo-data-fields-selected`,{bubbles:!0,composed:!0,cancelable:!0,detail:{dataFields:this._dataFieldsSelected}})))}_toDataFieldData(e,t,n=!1){return n?v(t,e,{includeHidden:!0}):_(t,e,{includeHidden:!0})}_toAdHocFormulaFieldData(e,t){return{datasetId:t,formula:e.formula,type:e.type,name:e.label??{en:`Ad-hoc formula`},subtype:e.subtype??void 0,format:e.format}}_findFormulaMatch(e,t,n){for(let r of e)if(this._isAdHocFormula(r)){if(r.formula===t)return this._toAdHocFormulaFieldData(r,n)}else if(r.id===t)return this._toDataFieldData(r,n,!0);return null}_resolveDataFieldFromValue(e,t){let n=w(e),r=n?n.columnId:e;for(let i of t){let t=i.columns??[],a=i.formulas??[],o=t.find(e=>e.id===r);if(o){let e=this._toDataFieldData(o,i.id,!1);if(e&&n&&(e.level=n.level,this._isExpandableHierarchy(o))){let t=o.hierarchyLevels?.find(e=>e.level===n.level);t&&(e.name=t.name)}return e}let s=this._findFormulaMatch(a,e,i.id);if(s)return s}return null}setDataField(e){if(this.disabled||this.readonly)return;let t=e?.detail?.value??[];this._dataFieldsSelected=[];for(let e of t){let t=this._resolveDataFieldFromValue(e,this.datasetsDataFields);t&&this._dataFieldsSelected.push(t)}this.value=t,this._sendChangeEvent()}_normalizeValueForLevels(e){if(this.levels!==`off`)return e;let t=[];for(let n of e){let e=w(n)?.columnId??n;t.includes(e)||t.push(e)}return t}_findDataFieldsInDatasetsDataFields(e){this._dataFieldsSelected=[];for(let t of e){let e=this._resolveDataFieldFromValue(t,this.datasetsDataFields);e&&this._dataFieldsSelected.push(e)}}_getAutoSelectValue(){for(let e of this.datasetsDataFields){if(e?.columns?.length>0){let t=e.columns[0];return this._isExpandableDatetime(t)?this._buildDatetimeChildren(t)[0]?.value??null:this._isExpandableHierarchy(t)?this._buildHierarchyChildren(t)[0]?.value??null:t.id}for(let t of e?.formulas??[])if(!this._isAdHocFormula(t))return t.id}return null}_autoSelectInitialDataField(){if(this.readonly||this.value.length>0||this.allowEmpty||this.retrieving)return;let e=this._getAutoSelectValue();e&&this._resolveDataFieldFromValue(e,this.datasetsDataFields)&&(this._pendingAutoSelectEvent=!0,this.value=[e])}willUpdate(e){if(super.willUpdate(e),(e.has(`value`)||e.has(`datasetsDataFields`)||e.has(`allowEmpty`)||e.has(`retrieving`)||e.has(`levels`)||e.has(`readonly`))&&this._autoSelectInitialDataField(),e.has(`value`)||e.has(`datasetsDataFields`)||e.has(`levels`)){if(e.has(`levels`)&&this.levels===`off`){let e=this._normalizeValueForLevels(this.value);JSON.stringify(e)!==JSON.stringify(this.value)&&(this._pendingAutoSelectEvent=!0,this.value=e)}this._findDataFieldsInDatasetsDataFields(this.value)}}updated(e){super.updated(e),this._pendingAutoSelectEvent&&e.has(`value`)&&this._dataFieldsSelected.length>0?(this._pendingAutoSelectEvent=!1,this._sendChangeEvent()):e.has(`value`)&&(this._lastEmittedValue=JSON.stringify(this.value))}_buildDatetimeChildren(e){let t=[],n=Math.min(Math.max(e.lowestLevel??1,1),c.length),r=Math.min(Math.max(e.highestLevel??1,1),c.length);for(let i=r;i<=n;i++)t.push({value:C(e.id,i),label:c[i-1]?.i18n()??``});return t}_buildHierarchyChildren(e){let t=[],n=e.hierarchyLevels??[];for(let r of n)r.level<1||t.push({value:C(e.id,r.level),label:s(r.name??{},this.contentLanguage)??``});return t}_isExpandableDatetime(e){let t=e.type;return this.levels!==`off`&&(t===`datetime`||t===`array[datetime]`)&&typeof e.lowestLevel==`number`}_isExpandableHierarchy(e){return this.levels!==`off`&&Array.isArray(e.hierarchyLevels)&&e.hierarchyLevels.length>2&&e.hierarchy_enabled===!0}render(){let e=[],t=this.icons!==`none`;for(let r of this.datasetsDataFields??[]){let o=r?.columns??[],c=r?.formulas??[];for(let n of o){let r={value:n.id,label:s(n?.name??{},this.contentLanguage)??``};t&&(r.icon=a(n,this.size)),this._isExpandableDatetime(n)?r.children=this._buildDatetimeChildren(n):this._isExpandableHierarchy(n)&&(r.children=this._buildHierarchyChildren(n)),e.push(r)}for(let r of c)if(this._isAdHocFormula(r)){let a=r.label?s(r.label,this.contentLanguage):n(`Ad-hoc formula`),o={value:r.formula,label:a??n(`Ad-hoc formula`)};t&&(o.icon=i),e.push(o)}else{let n={value:r.id,label:s(r?.name??{},this.contentLanguage)??``};t&&(n.icon=a(r,this.size)),e.push(n)}}let r=n(`Select...`),o=this.pending?``:this.label||this.placeholder||r,c=this.pending||this.value.length===0?[]:this.value,l=this.icons===`none`||this.icons===`menu-only`?`none`:void 0;return u`<luzmo-select
|
|
3
|
-
id="data-fields"
|
|
4
|
-
.size=${this.size}
|
|
5
|
-
.label=${o}
|
|
6
|
-
.pendingLabel=${this.label||this.placeholder||r}
|
|
7
|
-
.retrieving=${this.retrieving}
|
|
8
|
-
.icons=${l}
|
|
9
|
-
.selects=${this.selects}
|
|
10
|
-
.variant=${this.selects===`multiple`?`checkmarks`:`highlight`}
|
|
11
|
-
.placement=${this.placement}
|
|
12
|
-
.search=${this.search}
|
|
13
|
-
?emphasized=${!this.quiet}
|
|
14
|
-
.quiet=${this.quiet}
|
|
15
|
-
no-wrap
|
|
16
|
-
?invalid=${this.invalid}
|
|
17
|
-
?clearable=${this.clearable&&this.allowEmpty}
|
|
18
|
-
?pending=${this.pending}
|
|
19
|
-
?disabled=${this.disabled}
|
|
20
|
-
.readonly=${this.readonly}
|
|
21
|
-
.options=${e}
|
|
22
|
-
.value=${c}
|
|
23
|
-
@change=${this.setDataField}
|
|
24
|
-
>
|
|
25
|
-
</luzmo-select>`}};e([d({type:String,attribute:`content-language`,reflect:!0})],T.prototype,`contentLanguage`,void 0),e([d({type:String,reflect:!0})],T.prototype,`label`,void 0),e([d({type:String,reflect:!0})],T.prototype,`icons`,void 0),e([d({type:String,reflect:!0})],T.prototype,`levels`,void 0),e([d({type:Boolean,attribute:`allow-empty`,reflect:!0})],T.prototype,`allowEmpty`,void 0),e([d({type:String,attribute:`placeholder`,reflect:!0})],T.prototype,`placeholder`,void 0),e([d({type:String,reflect:!0})],T.prototype,`selects`,void 0),e([d({type:Array,reflect:!0})],T.prototype,`value`,void 0),e([d({type:Boolean,attribute:`retrieving`,reflect:!0})],T.prototype,`retrieving`,void 0),e([d({type:Boolean,attribute:`invalid`,reflect:!0})],T.prototype,`invalid`,void 0),e([d({type:Boolean,attribute:`clearable`,reflect:!0})],T.prototype,`clearable`,void 0),e([d({type:Boolean,attribute:`pending`,reflect:!0})],T.prototype,`pending`,void 0),e([d({type:Boolean,attribute:`disabled`,reflect:!0})],T.prototype,`disabled`,void 0),e([d({type:Boolean,reflect:!0})],T.prototype,`readonly`,void 0),e([d({type:Boolean,reflect:!0})],T.prototype,`quiet`,void 0),e([d({type:String,attribute:`search`,reflect:!0})],T.prototype,`search`,void 0),e([d({type:String,reflect:!0})],T.prototype,`placement`,void 0),e([d({type:Array,reflect:!1})],T.prototype,`datasetsDataFields`,void 0),T=e([r()],T),customElements.get(`luzmo-data-fields-select`)||customElements.define(`luzmo-data-fields-select`,T);var E=async(e,t)=>{if(!Array.isArray(e)||e.length===0)throw Error(`At least one dataset ID is required`);let{valid:n,invalid:r}=o(e);if(r.length>0&&console.warn(`[loadDataFieldsForDatasets] Invalid dataset IDs provided (not valid UUIDs): ${r.join(`, `)}. These will be skipped.`),n.length===0)throw Error(`No valid dataset IDs provided. Dataset IDs must be valid UUIDs.`);let{dataBrokerConfig:i}=t;if(!i)throw Error(`dataBrokerConfig is required`);(!i.authKey||!i.authToken)&&console.warn(`Both authKey and authToken are missing in the DataBroker configuration. This only works for public datasets and should not be used for secured data.`),l.configure({...i,authKey:i.authKey??``,authToken:i.authToken??``});try{return b(await l.fetchDatasetsWithColumnsAndFormulas(n))}catch(e){throw e instanceof Error&&e.message.includes(`Authentication failed`)?Error(`Failed to load datasets: Authentication failed. Please verify your API credentials are correct.`,{cause:e}):e}};export{E as t};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import{t as e}from"./lit-localize-CIGP-NUw.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.3.0-beta.0/standalone/tokens.js";import{property as t}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.3.0-beta.0/standalone/lit.js";var n=`:where(:root){--luzmo-font-color-hard:#000;--luzmo-background-color-alt-1:#fafafa;--luzmo-background-color-alt-2:#efefef;--luzmo-secondary-outline:#f0f3;--luzmo-color-informative:#1a77e9;--luzmo-color-informative-rgb:26, 119, 233;--luzmo-color-disabled:var(--luzmo-disabled-color)}:where(html.dark,html.dark-theme,.dark-theme){--luzmo-font-color-hard:#f8f9fa;--luzmo-background-color-alt-1:#2d2d32;--luzmo-background-color-alt-2:#313131;--luzmo-secondary-outline:#c8db0033;--luzmo-color-informative-rgb:26, 119, 233;--luzmo-color-disabled:var(--luzmo-disabled-color)}`;if(typeof document<`u`&&!document.querySelector(`style[data-luzmo-ack-vars]`)){let e=document.createElement(`style`);e.dataset.luzmoAckVars=``,e.textContent=n,document.head.append(e)}function r(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}var i=(e,t,n)=>{let r=t.lastIndexOf(`?`),i=e[r===-1||r<t.lastIndexOf(`/`)?t:t.slice(0,r)];return i?typeof i==`function`?i():Promise.resolve(i):new Promise((e,r)=>{(typeof queueMicrotask==`function`?queueMicrotask:setTimeout)(r.bind(null,Error(`Unknown variable dynamic import: `+t+(t.split(`/`).length===n?``:`. Note that variables only represent file names one level deep.`))))})},a=`en`,o=[`de`,`es`,`fr`,`nl`],{getLocale:s,setLocale:c}=e({sourceLocale:a,targetLocales:o,loadLocale:e=>i(Object.assign({"../../generated/locales/de.ts":()=>import(`./de-ClGscYPh.js`),"../../generated/locales/es.ts":()=>import(`./es-C56MpCO9.js`),"../../generated/locales/fr.ts":()=>import(`./fr-BpNJieSH.js`),"../../generated/locales/nl.ts":()=>import(`./nl-BpTxEv-1.js`)}),`../../generated/locales/${e}.ts`,6)}),l=e=>{class n extends e{constructor(...e){super(...e),this.language=`en`}firstUpdated(e){super.firstUpdated(e),this._syncLocale()}willUpdate(e){super.willUpdate(e),e.has(`language`)&&this._syncLocale()}_syncLocale(){this.language!==s()&&(o.includes(this.language)||this.language===`en`)&&c(this.language)}}return r([t({type:String,reflect:!0})],n.prototype,`language`,void 0),n};export{r as n,l as t};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import{notEqual as e}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.3.0-beta.0/standalone/lit.js";var t=Symbol(),n=class{get taskComplete(){return this.t||(this.i===1?this.t=new Promise(((e,t)=>{this.o=e,this.h=t})):this.i===3?this.t=Promise.reject(this.l):this.t=Promise.resolve(this.u)),this.t}constructor(e,t,n){this.p=0,this.i=0,(this._=e).addController(this);let i=typeof t==`object`?t:{task:t,args:n};this.v=i.task,this.j=i.args,this.m=i.argsEqual??r,this.k=i.onComplete,this.A=i.onError,this.autoRun=i.autoRun??!0,`initialValue`in i&&(this.u=i.initialValue,this.i=2,this.O=this.T?.())}hostUpdate(){!0===this.autoRun&&this.S()}hostUpdated(){this.autoRun===`afterUpdate`&&this.S()}T(){if(this.j===void 0)return;let e=this.j();if(!Array.isArray(e))throw Error(`The args function must return an array`);return e}async S(){let e=this.T(),t=this.O;this.O=e,e===t||e===void 0||t!==void 0&&this.m(t,e)||await this.run(e)}async run(e){let n,r;e??=this.T(),this.O=e,this.i===1?this.q?.abort():(this.t=void 0,this.o=void 0,this.h=void 0),this.i=1,this.autoRun===`afterUpdate`?queueMicrotask((()=>this._.requestUpdate())):this._.requestUpdate();let i=++this.p;this.q=new AbortController;let a=!1;try{n=await this.v(e,{signal:this.q.signal})}catch(e){a=!0,r=e}if(this.p===i){if(n===t)this.i=0;else{if(!1===a){try{this.k?.(n)}catch{}this.i=2,this.o?.(n)}else{try{this.A?.(r)}catch{}this.i=3,this.h?.(r)}this.u=n,this.l=r}this._.requestUpdate()}}abort(e){this.i===1&&this.q?.abort(e)}get value(){return this.u}get error(){return this.l}get status(){return this.i}render(e){switch(this.i){case 0:return e.initial?.();case 1:return e.pending?.();case 2:return e.complete?.(this.value);case 3:return e.error?.(this.error);default:throw Error(`Unexpected status: `+this.i)}}},r=(t,n)=>t===n||t.length===n.length&&t.every(((t,r)=>!e(t,n[r])));export{n as t};
|