@luzmo/analytics-components-kit 1.0.1-alpha.97 → 1.0.1-alpha.99

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.
Files changed (116) hide show
  1. package/angular/README.md +2 -2
  2. package/angular/components/ai-interaction-textarea.component.ts +8 -0
  3. package/angular/components/{filter-data-item-picker.component.ts → data-items-select.component.ts} +34 -17
  4. package/angular/components/edit-filters/index.ts +1 -0
  5. package/angular/components/edit-filters/types.ts +10 -0
  6. package/angular/components/edit-filters.component.ts +41 -0
  7. package/angular/components/slot-contents-picker.component.ts +8 -6
  8. package/angular/esm/components/ai-interaction-textarea.component.d.ts +5 -1
  9. package/angular/esm/components/ai-interaction-textarea.component.js +22 -2
  10. package/angular/esm/components/data-items-select.component.d.ts +33 -0
  11. package/angular/esm/components/{filter-data-item-picker.component.js → data-items-select.component.js} +41 -26
  12. package/angular/esm/components/edit-filters/index.d.ts +1 -0
  13. package/angular/esm/components/edit-filters/index.js +1 -0
  14. package/angular/esm/components/edit-filters/types.d.ts +8 -0
  15. package/angular/esm/components/edit-filters/types.js +1 -0
  16. package/angular/esm/components/edit-filters.component.d.ts +21 -0
  17. package/angular/esm/components/edit-filters.component.js +89 -0
  18. package/angular/esm/components/slot-contents-picker.component.d.ts +7 -6
  19. package/angular/esm/components/slot-contents-picker.component.js +11 -6
  20. package/angular/esm/index.d.ts +5 -5
  21. package/angular/esm/index.js +6 -6
  22. package/angular/esm/types.d.ts +9 -0
  23. package/angular/index.ts +6 -6
  24. package/angular/types.ts +17 -0
  25. package/angular/utils/filters/expressions.d.ts +1 -1
  26. package/components/ai-interaction-textarea/ai-interaction-textarea.d.ts +21 -0
  27. package/components/ai-interaction-textarea/index.cjs +17 -15
  28. package/components/ai-interaction-textarea/index.js +90 -65
  29. package/components/{filter-data-item-picker/filter-data-item-picker.d.ts → data-items-select/data-items-select.d.ts} +36 -21
  30. package/components/data-items-select/index.cjs +39 -0
  31. package/components/data-items-select/index.d.ts +6 -0
  32. package/components/{filter-data-item-picker → data-items-select}/index.js +127 -109
  33. package/components/dataset-selector-list/index.cjs +1 -1
  34. package/components/dataset-selector-list/index.js +3 -3
  35. package/components/dataset-selector-row/index.cjs +1 -1
  36. package/components/dataset-selector-row/index.js +1 -1
  37. package/components/{de-COKGBX9L.cjs → de-DOYL4txr.cjs} +1 -1
  38. package/components/{de-DU0DlXuf.js → de-SDzGVifr.js} +10 -1
  39. package/components/display-settings-binning/index.cjs +1 -1
  40. package/components/display-settings-binning/index.js +1 -1
  41. package/components/display-settings-datetime/index.cjs +1 -1
  42. package/components/display-settings-datetime/index.js +1 -1
  43. package/components/display-settings-grand-totals/index.cjs +1 -1
  44. package/components/display-settings-grand-totals/index.js +1 -1
  45. package/components/display-settings-numeric/index.cjs +1 -1
  46. package/components/display-settings-numeric/index.js +1 -1
  47. package/components/display-settings-period-over-period/index.cjs +1 -1
  48. package/components/display-settings-period-over-period/index.js +1 -1
  49. package/components/draggable-data-item/index.cjs +1 -1
  50. package/components/draggable-data-item/index.js +1 -1
  51. package/components/draggable-data-item-level/index.cjs +1 -1
  52. package/components/draggable-data-item-level/index.js +1 -1
  53. package/components/droppable-slot/index.cjs +9 -9
  54. package/components/droppable-slot/index.js +82 -158
  55. package/components/edit-filters/edit-filters.d.ts +79 -0
  56. package/components/edit-filters/index.cjs +144 -0
  57. package/components/edit-filters/index.d.ts +8 -0
  58. package/components/edit-filters/index.js +341 -0
  59. package/components/edit-filters/types.d.ts +8 -0
  60. package/components/{es-BxR1uGKR.js → es-B1TeapPZ.js} +10 -1
  61. package/components/{es-CaKfa7fn.cjs → es-DcQvrHgz.cjs} +1 -1
  62. package/components/filter-expression-picker/index.cjs +1 -1
  63. package/components/filter-expression-picker/index.js +1 -1
  64. package/components/filter-item/filter-item.d.ts +1 -1
  65. package/components/filter-item/index.cjs +7 -5
  66. package/components/filter-item/index.js +78 -68
  67. package/components/filter-value-picker/index.cjs +1 -1
  68. package/components/filter-value-picker/index.js +1 -1
  69. package/components/filter-value-picker-datetime/index.cjs +2 -2
  70. package/components/filter-value-picker-datetime/index.js +4 -4
  71. package/components/filter-value-picker-hierarchy/index.cjs +1 -1
  72. package/components/filter-value-picker-hierarchy/index.js +2 -2
  73. package/components/filter-value-picker-numeric/index.cjs +2 -1
  74. package/components/filter-value-picker-numeric/index.js +3 -2
  75. package/components/{fr-DiZbjx_a.cjs → fr-D6QmA3Ve.cjs} +1 -1
  76. package/components/{fr-CvltYxR_.js → fr-sZFBmltf.js} +10 -1
  77. package/components/{get-css-variable-Pzks_rOx.cjs → get-css-variable-C0B_Sxqf.cjs} +1 -1
  78. package/components/{get-css-variable-Bb7TxJdX.js → get-css-variable-DgTBQV3c.js} +2 -1
  79. package/components/grid/index.cjs +1 -1
  80. package/components/grid/index.js +1 -1
  81. package/components/{index-DNPULp4A.js → index-BikhVAa1.js} +1 -1
  82. package/components/{index-CFL6gmIu.cjs → index-CAbDIHYI.cjs} +1 -1
  83. package/components/{index-BNAmjOkm.cjs → index-DM58h73U.cjs} +3 -3
  84. package/components/{index-DdyZ2g5L.js → index-DR5275fa.js} +48 -18
  85. package/components/index.cjs +1 -1
  86. package/components/index.js +105 -106
  87. package/components/{nl-CLs7FmRK.js → nl-BYXZ-qNp.js} +10 -1
  88. package/components/{nl-Bot6bJ4g.cjs → nl-D7oNsLn0.cjs} +1 -1
  89. package/components/{set-locale-hKTMz37h.js → set-locale-B5562CBM.js} +1 -1
  90. package/components/{set-locale-BRRalqne.cjs → set-locale-B8iQGfk0.cjs} +1 -1
  91. package/components/slot-contents-picker/index.cjs +31 -27
  92. package/components/slot-contents-picker/index.js +137 -124
  93. package/components/slot-contents-picker/slot-contents-picker.d.ts +26 -5
  94. package/components/slot-menu/index.cjs +6 -6
  95. package/components/slot-menu/index.js +76 -76
  96. package/components/slot-menu-list/index.cjs +1 -1
  97. package/components/slot-menu-list/index.js +1 -1
  98. package/components/slot-store-CRfN0nD3.js +98 -0
  99. package/components/slot-store-Dd_cPNXk.cjs +20 -0
  100. package/components/utils.cjs +1 -1
  101. package/components/utils.js +1 -1
  102. package/components/viz-item-menu/index.cjs +6 -6
  103. package/components/viz-item-menu/index.js +27 -28
  104. package/custom-elements.json +1922 -1631
  105. package/index.d.ts +1 -1
  106. package/package.json +12 -12
  107. package/types.d.ts +9 -0
  108. package/utils/filters/expressions.d.ts +1 -1
  109. package/angular/components/filter-group.component.ts +0 -29
  110. package/angular/esm/components/filter-data-item-picker.component.d.ts +0 -30
  111. package/angular/esm/components/filter-group.component.d.ts +0 -12
  112. package/angular/esm/components/filter-group.component.js +0 -56
  113. package/components/filter-data-item-picker/index.cjs +0 -47
  114. package/components/filter-data-item-picker/index.d.ts +0 -7
  115. package/components/filter-group/filter-group.d.ts +0 -26
  116. package/components/filter-group/index.d.ts +0 -7
@@ -17,16 +17,18 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("lit"),d=require("@lit/localize"),p=require("@luzmo/lucero/utils"),h=require("../set-locale-BRRalqne.cjs"),c=require("../index-CFL6gmIu.cjs"),a=require("lit/decorators.js"),f=require("../index-BNAmjOkm.cjs");require("../filter-data-item-picker/index.cjs");require("../filter-value-picker/index.cjs");const g=":host{display:flex;flex-direction:row;gap:var(--luzmo-filter-item-gap, var(--filter-item-gap))}:host{--filter-item-gap: var(--luzmo-spacing-3)}:host([size=s]){--filter-item-gap: var(--luzmo-spacing-2)}:host([size=m]){--filter-item-gap: var(--luzmo-spacing-3)}:host([size=l]){--filter-item-gap: calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1))}:host([size=xl]){--filter-item-gap: var(--luzmo-spacing-4)}";var y=Object.defineProperty,I=Object.getOwnPropertyDescriptor,r=(u,t,e,s)=>{for(var i=s>1?void 0:s?I(t,e):t,l=u.length-1,n;l>=0;l--)(n=u[l])&&(i=(s?n(t,e,i):n(i))||i);return s&&i&&y(t,e,i),i};exports.LuzmoFilterItem=class extends p.SizedMixin(p.LuzmoElement,{validSizes:Object.values(p.ElementSizes)}){constructor(){super(...arguments),this.apiUrl="https://api.luzmo.com",this.language="en",this.contentLanguage="en",this.filter={},this._loading=!1,this._datasetsDataItems=[]}static get styles(){return[m.unsafeCSS(g)]}connectedCallback(){super.connectedCallback();const t={};this.apiUrl&&(t.apiUrl=this.apiUrl),this.cacheTime&&(t.staleTime=this.cacheTime,t.gcTime=this.cacheTime*2),this.authKey&&this.authToken&&(t.authKey=this.authKey,t.authToken=this.authToken),c.dataBroker.configure(t)}async _fetchDatasetDataItems(){if(!this.datasetIds||this.datasetIds.length===0){this._error="Missing dataset ids to fetch columns & formulas";return}this._loading=!0,this._error=null;try{const t=await c.dataBroker.fetchDatasetsWithColumnsAndFormulas(this.datasetIds);for(const e of t)for(const s of[...e.columns,...e.formulas])s.id=e.id;this._datasetsDataItems=t}catch(t){console.error("Error fetching dataset columns & formulas:",t),this._error=t instanceof Error?t.message:"Unknown error",this._datasetsDataItems=[]}finally{this._loading=!1}}willUpdate(t){const e=t.has("filter"),s=t.has("language"),i=t.has("datasetIds"),l=t.has("_datasetsDataItems");if(s&&this.language!==h.getLocale()&&([...h.targetLocales].includes(this.language??"en")||this.language==="en")&&h.setLocale(this.language),e||i||l&&this.filter?.parameters?.[0]?.columnId&&(this.filter?.parameters?.[0]?.datasetId||this.filter?.parameters?.[0]?.formulaId)){const n=this._datasetsDataItems.find(o=>o.id===this.filter.parameters?.[0]?.datasetId);if(n){for(const o of[...n.columns||[],...n?.formulas||[]])if(o.id===this.filter.parameters?.[0]?.columnId||o.id===this.filter.parameters?.[0]?.formulaId){this._type=o.type,this._subType=o.subtype,this._isFormula=o.id===this.filter.parameters?.[0]?.formulaId;break}}}i&&this._fetchDatasetDataItems()}_sendChangeEvent(){this.dispatchEvent(new CustomEvent("filter-changed",{bubbles:!0,composed:!0,cancelable:!0,detail:{filter:this.filter}}))}setFilterDataItem(t){const e=this._type,s=this.filter?.parameters?.[0]?.columnId||this.filter?.parameters?.[0]?.formulaId,i=t.detail?.dataItem?.id;this._type=t.detail?.dataItem?.type,this._subType=t.detail?.dataItem?.subtype,this._isFormula=t.detail?.dataItem?.isFormula;const l=f.getValidExpressions(this._type,this._subType,this._isFormula);this.filter=structuredClone(this.filter??{}),l?.includes(this.filter?.expression)||(this.filter.expression=l?.[0]?.expression),this.filter.parameters=this.filter?.parameters??[],this.filter.parameters[0]={datasetId:t.detail?.dataItem?.datasetId},this._isFormula?this.filter.parameters[0].formulaId=t.detail?.dataItem?.id:this.filter.parameters[0].columnId=t.detail?.dataItem?.id,t.detail?.dataItem?.lowestLevel,e!==this._type?this._type==="hierarchy"?(this.filter.expression="? like ?",this.filter.parameters[1]=""):this._type==="numeric"?(this.filter.expression="? > ?",this.filter.parameters[1]=0):this._type==="datetime"?(this.filter.expression="? < ?",this.filter.parameters[1]=new Date().toISOString()):(this.filter.expression="? is not null",this.filter.parameters=[this.filter.parameters[0]]):s!==i&&this._type==="hierarchy"&&(this.filter.parameters[1]=["? in ?","? not in ?"].includes(this.filter.expression)?[]:""),this._sendChangeEvent()}setFilterExpression(t){const e=structuredClone(this.filter??{}),s=e.expression;if(e.expression=t.detail?.expression,s!==e.expression){if(["? is null","? is not null"].includes(e.expression))e.parameters=[e.parameters[0]];else if(this._type==="datetime")if(["YTD","QTD","MTD","WTD"].includes(e.expression)){const i=t?.detail?.unit;i&&(e.parameters[1]={unit:typeof i=="number"?i:1})}else if(["last_completed","next_full","to_date"].includes(e.expression)){const i=e?.parameters?.[1]?.unit;e.parameters[1]={unit:typeof i=="number"?i:1}}else if(["last_now","last_available","next_now"].includes(e.expression)){const i=e?.parameters?.[1]?.unit,l=e?.parameters?.[1]?.quantity;e.parameters[1]={unit:typeof i=="number"?i:1,quantity:typeof l=="number"?l:1}}else e.parameters[1]=new Date().toISOString();else this._type==="hierarchy"?["? in ?","? not in ?"].includes(e.expression)?["? = ?","? != ?"].includes(s)?e.parameters[1]=e.parameters[1]?[e.parameters[1]]:[]:e.parameters[1]=[]:["? = ?","? != ?"].includes(e.expression)?["? in ?","? not in ?"].includes(s)?e.parameters[1]=Array.isArray(e.parameters[1])&&e.parameters[1][0]?e.parameters[1][0]:"":e.parameters[1]="":e.parameters[1]=["? in ?","? not in ?"].includes(s)?"":e.parameters[1]??"":this._type==="numeric"&&(["? in ?","? not in ?"].includes(e.expression)&&["? in ?","? not in ?"].includes(s)?e.parameters[1]=e.parameters[1]??[]:["? in ?","? not in ?"].includes(e.expression)?e.parameters[1]=[]:e.parameters[1]=["? in ?","? not in ?"].includes(s)?0:e.parameters[1]??0);this.filter=e,this._sendChangeEvent()}}setFilterValue(t){this.filter.parameters[1]=t?.detail?.value,this._sendChangeEvent()}renderDataItemPicker(){return m.html`<luzmo-filter-data-item-picker
20
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("lit"),g=require("@lit/localize"),h=require("@luzmo/lucero/utils"),c=require("../set-locale-B8iQGfk0.cjs"),d=require("../index-CAbDIHYI.cjs"),a=require("lit/decorators.js"),y=require("../index-DM58h73U.cjs");require("../data-items-select/index.cjs");require("../filter-value-picker/index.cjs");const I=":host{display:flex;flex-direction:row;gap:var(--luzmo-filter-item-gap, var(--filter-item-gap));min-width:0;max-width:100%}luzmo-data-items-select{flex-shrink:1;min-width:0}luzmo-filter-value-picker{flex-shrink:2;min-width:0}:host{--filter-item-gap: var(--luzmo-spacing-3)}:host([size=s]){--filter-item-gap: var(--luzmo-spacing-2)}:host([size=m]){--filter-item-gap: var(--luzmo-spacing-3)}:host([size=l]){--filter-item-gap: calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1))}:host([size=xl]){--filter-item-gap: var(--luzmo-spacing-4)}";var _=Object.defineProperty,z=Object.getOwnPropertyDescriptor,r=(p,t,e,i)=>{for(var s=i>1?void 0:i?z(t,e):t,l=p.length-1,n;l>=0;l--)(n=p[l])&&(s=(i?n(t,e,s):n(s))||s);return i&&s&&_(t,e,s),s};exports.LuzmoFilterItem=class extends h.SizedMixin(h.LuzmoElement,{validSizes:Object.values(h.ElementSizes)}){constructor(){super(...arguments),this.apiUrl="https://api.luzmo.com",this.language="en",this.contentLanguage="en",this.filter={},this._loading=!1,this._datasetsDataItems=[]}static get styles(){return[m.unsafeCSS(I)]}connectedCallback(){super.connectedCallback();const t={};this.apiUrl&&(t.apiUrl=this.apiUrl),this.cacheTime&&(t.staleTime=this.cacheTime,t.gcTime=this.cacheTime*2),t.authKey=this.authKey||"",t.authToken=this.authToken||"",d.dataBroker.configure(t)}async _fetchDatasetDataItems(){if(!this.datasetIds||this.datasetIds.length===0){this._error="Missing dataset ids to fetch columns & formulas";return}this._loading=!0,this._error=null;try{const t=await d.dataBroker.fetchDatasetsWithColumnsAndFormulas(this.datasetIds);for(const e of t)for(const i of[...e.columns,...e.formulas])i.datasetId=e.id;this._datasetsDataItems=t}catch(t){console.error("Error fetching dataset columns & formulas:",t),this._error=t instanceof Error?t.message:"Unknown error",this._datasetsDataItems=[]}finally{this._loading=!1}}willUpdate(t){const e=t.has("filter"),i=t.has("language"),s=t.has("datasetIds"),l=t.has("authKey"),n=t.has("authToken"),f=t.has("_datasetsDataItems");if(i&&this.language!==c.getLocale()&&([...c.targetLocales].includes(this.language??"en")||this.language==="en")&&c.setLocale(this.language),e||s||f&&this.filter?.parameters?.[0]?.columnId&&(this.filter?.parameters?.[0]?.datasetId||this.filter?.parameters?.[0]?.formulaId)){const u=this._datasetsDataItems.find(o=>o.id===this.filter.parameters?.[0]?.datasetId);if(u){for(const o of[...u.columns||[],...u?.formulas||[]])if(o.id===this.filter.parameters?.[0]?.columnId||o.id===this.filter.parameters?.[0]?.formulaId){this._type=o.type,this._subType=o.subtype,this._isFormula=o.id===this.filter.parameters?.[0]?.formulaId;break}}}if(l||n){const u={authKey:this.authKey||"",authToken:this.authToken||""};d.dataBroker.configure(u)}(s||l||n)&&this._fetchDatasetDataItems()}_sendChangeEvent(){this.dispatchEvent(new CustomEvent("filter-changed",{bubbles:!0,composed:!0,cancelable:!0,detail:{filter:this.filter}}))}setFilterDataItem(t){const e=t.detail?.dataItems?.[0],i=this._type,s=this.filter?.parameters?.[0]?.columnId||this.filter?.parameters?.[0]?.formulaId,l=e?.columnId||e?.formulaId;this._type=e?.type,this._subType=e?.subtype,this._isFormula=!!e?.formulaId;const n=y.getValidExpressions(this._type,this._subType,this._isFormula);this.filter=structuredClone(this.filter??{}),n?.includes(this.filter?.expression)||(this.filter.expression=n?.[0]?.expression),this.filter.parameters=this.filter?.parameters??[],this.filter.parameters[0]={datasetId:e?.datasetId},this._isFormula?this.filter.parameters[0].formulaId=e?.formulaId:this.filter.parameters[0].columnId=e?.columnId,e?.lowestLevel,i!==this._type?this._type==="hierarchy"?(this.filter.expression="? like ?",this.filter.parameters[1]=""):this._type==="numeric"?(this.filter.expression="? > ?",this.filter.parameters[1]=0):this._type==="datetime"?(this.filter.expression="? < ?",this.filter.parameters[1]=new Date().toISOString()):(this.filter.expression="? is not null",this.filter.parameters=[this.filter.parameters[0]]):s!==l&&this._type==="hierarchy"&&(this.filter.parameters[1]=["? in ?","? not in ?"].includes(this.filter.expression)?[]:""),this._sendChangeEvent()}setFilterExpression(t){const e=structuredClone(this.filter??{}),i=e.expression;if(e.expression=t.detail?.expression,i!==e.expression){if(["? is null","? is not null"].includes(e.expression))e.parameters=[e.parameters[0]];else if(this._type==="datetime")if(["YTD","QTD","MTD","WTD"].includes(e.expression)){const s=t?.detail?.unit;s&&(e.parameters[1]={unit:typeof s=="number"?s:1})}else if(["last_completed","next_full","to_date"].includes(e.expression)){const s=e?.parameters?.[1]?.unit;e.parameters[1]={unit:typeof s=="number"?s:1}}else if(["last_now","last_available","next_now","more_than_ago","or_more_ago"].includes(e.expression)){const s=e?.parameters?.[1]?.unit,l=e?.parameters?.[1]?.quantity;e.parameters[1]={unit:typeof s=="number"?s:1,quantity:typeof l=="number"?l:1}}else e.parameters[1]=new Date().toISOString();else this._type==="hierarchy"?["? in ?","? not in ?"].includes(e.expression)?["? = ?","? != ?"].includes(i)?e.parameters[1]=e.parameters[1]?[e.parameters[1]]:[]:e.parameters[1]=[]:["? = ?","? != ?"].includes(e.expression)?["? in ?","? not in ?"].includes(i)?e.parameters[1]=Array.isArray(e.parameters[1])&&e.parameters[1][0]?e.parameters[1][0]:"":e.parameters[1]="":e.parameters[1]=["? in ?","? not in ?"].includes(i)?"":e.parameters[1]??"":this._type==="numeric"&&(["? in ?","? not in ?"].includes(e.expression)&&["? in ?","? not in ?"].includes(i)?e.parameters[1]=e.parameters[1]??[]:["? in ?","? not in ?"].includes(e.expression)?e.parameters[1]=[]:e.parameters[1]=["? in ?","? not in ?"].includes(i)?0:e.parameters[1]??0);this.filter=e,this._sendChangeEvent()}}setFilterValue(t){this.filter.parameters[1]=t?.detail?.value,this._sendChangeEvent()}renderDataItemPicker(){const t=this._loading?"":this.filter?.parameters?.[0]?.columnId||this.filter?.parameters?.[0]?.formulaId;return m.html`<luzmo-data-items-select
21
21
  .language=${this.language}
22
22
  .contentLanguage=${this.contentLanguage}
23
23
  .size=${this.size}
24
- .dataItemId=${this._loading?"":this.filter?.parameters?.[0]?.columnId||this.filter?.parameters?.[0]?.formulaId}
24
+ .dataItemIds=${t?[t]:[]}
25
+ selects="single"
25
26
  .datasetsDataItems=${this._datasetsDataItems}
26
27
  .invalid=${!!this._error}
27
28
  .loading=${this._loading}
28
- @data-item-selected=${this.setFilterDataItem}
29
- ></luzmo-filter-data-item-picker>`}renderExpressionPicker(){const t=!this.filter?.parameters?.[0]?.datasetId||!this.filter?.parameters?.[0]?.columnId;return m.html`<luzmo-filter-expression-picker
29
+ .pending=${this._loading}
30
+ @data-items-selected=${this.setFilterDataItem}
31
+ ></luzmo-data-items-select>`}renderExpressionPicker(){const t=!this.filter?.parameters?.[0]?.datasetId||!this.filter?.parameters?.[0]?.columnId;return m.html`<luzmo-filter-expression-picker
30
32
  .language=${this.language}
31
33
  .size=${this.size}
32
34
  .type=${this._type}
@@ -49,4 +51,4 @@
49
51
  ?disabled=${t}
50
52
  @filter-value-changed=${this.setFilterValue}
51
53
  ></luzmo-filter-value-picker>`}render(){return m.html`${this.renderDataItemPicker()} ${this.renderExpressionPicker()}
52
- ${this.renderValuePicker()}`}};r([a.property({type:String,attribute:"api-url",reflect:!0})],exports.LuzmoFilterItem.prototype,"apiUrl",2);r([a.property({type:String,attribute:"auth-key",reflect:!0})],exports.LuzmoFilterItem.prototype,"authKey",2);r([a.property({type:String,attribute:"auth-token",reflect:!0})],exports.LuzmoFilterItem.prototype,"authToken",2);r([a.property({type:Number,attribute:"cache-time",reflect:!0})],exports.LuzmoFilterItem.prototype,"cacheTime",2);r([a.property({type:String,reflect:!0})],exports.LuzmoFilterItem.prototype,"language",2);r([a.property({type:String,reflect:!0})],exports.LuzmoFilterItem.prototype,"contentLanguage",2);r([a.property({type:String,attribute:"time-zone",reflect:!0})],exports.LuzmoFilterItem.prototype,"timeZone",2);r([a.property({type:Array,attribute:"dataset-ids",reflect:!0})],exports.LuzmoFilterItem.prototype,"datasetIds",2);r([a.property({type:Object,reflect:!1})],exports.LuzmoFilterItem.prototype,"filter",2);r([a.state()],exports.LuzmoFilterItem.prototype,"_type",2);r([a.state()],exports.LuzmoFilterItem.prototype,"_subType",2);r([a.state()],exports.LuzmoFilterItem.prototype,"_isFormula",2);r([a.state()],exports.LuzmoFilterItem.prototype,"_error",2);r([a.state()],exports.LuzmoFilterItem.prototype,"_loading",2);r([a.state()],exports.LuzmoFilterItem.prototype,"_datasetsDataItems",2);exports.LuzmoFilterItem=r([d.localized()],exports.LuzmoFilterItem);customElements.get("luzmo-filter-item")||customElements.define("luzmo-filter-item",exports.LuzmoFilterItem);
54
+ ${this.renderValuePicker()}`}};r([a.property({type:String,attribute:"api-url",reflect:!0})],exports.LuzmoFilterItem.prototype,"apiUrl",2);r([a.property({type:String,attribute:"auth-key",reflect:!0})],exports.LuzmoFilterItem.prototype,"authKey",2);r([a.property({type:String,attribute:"auth-token",reflect:!0})],exports.LuzmoFilterItem.prototype,"authToken",2);r([a.property({type:Number,attribute:"cache-time",reflect:!0})],exports.LuzmoFilterItem.prototype,"cacheTime",2);r([a.property({type:String,reflect:!0})],exports.LuzmoFilterItem.prototype,"language",2);r([a.property({type:String,reflect:!0})],exports.LuzmoFilterItem.prototype,"contentLanguage",2);r([a.property({type:String,attribute:"time-zone",reflect:!0})],exports.LuzmoFilterItem.prototype,"timeZone",2);r([a.property({type:Array,attribute:"dataset-ids",reflect:!0})],exports.LuzmoFilterItem.prototype,"datasetIds",2);r([a.property({type:Object,reflect:!1})],exports.LuzmoFilterItem.prototype,"filter",2);r([a.state()],exports.LuzmoFilterItem.prototype,"_type",2);r([a.state()],exports.LuzmoFilterItem.prototype,"_subType",2);r([a.state()],exports.LuzmoFilterItem.prototype,"_isFormula",2);r([a.state()],exports.LuzmoFilterItem.prototype,"_error",2);r([a.state()],exports.LuzmoFilterItem.prototype,"_loading",2);r([a.state()],exports.LuzmoFilterItem.prototype,"_datasetsDataItems",2);exports.LuzmoFilterItem=r([g.localized()],exports.LuzmoFilterItem);customElements.get("luzmo-filter-item")||customElements.define("luzmo-filter-item",exports.LuzmoFilterItem);
@@ -17,14 +17,14 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- import { unsafeCSS as d, html as c } from "lit";
21
- import { localized as f } from "@lit/localize";
22
- import { SizedMixin as h, LuzmoElement as g, ElementSizes as z } from "@luzmo/lucero/utils";
23
- import { g as b, t as y, s as x } from "../set-locale-hKTMz37h.js";
24
- import { d as p } from "../index-DNPULp4A.js";
20
+ import { unsafeCSS as f, html as d } from "lit";
21
+ import { localized as g } from "@lit/localize";
22
+ import { SizedMixin as z, LuzmoElement as b, ElementSizes as y } from "@luzmo/lucero/utils";
23
+ import { g as x, t as v, s as _ } from "../set-locale-B5562CBM.js";
24
+ import { d as h } from "../index-BikhVAa1.js";
25
25
  import { property as n, state as m } from "lit/decorators.js";
26
- import { g as _ } from "../index-DdyZ2g5L.js";
27
- import "../filter-data-item-picker/index.js";
26
+ import { g as I } from "../index-DR5275fa.js";
27
+ import "../data-items-select/index.js";
28
28
  import "../filter-value-picker/index.js";
29
29
  (function() {
30
30
  if (typeof document < "u" && !document.querySelector("style[data-luzmo-vars]")) {
@@ -32,25 +32,25 @@ import "../filter-value-picker/index.js";
32
32
  e.setAttribute("data-luzmo-vars", ""), e.textContent = 'html{--luzmo-animation-duration: 0.15s;--luzmo-border-color: rgba(var(--luzmo-border-color-rgb), 0.1);--luzmo-border-color-hover: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-down: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-border-color-focus: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-rgb: 0, 0, 0;--luzmo-border-color-full: rgb(180, 180, 180);--luzmo-border-color-full-hover: rgb(140, 140, 140);--luzmo-border-color-full-down: rgb(110, 110, 110);--luzmo-border-color-full-focus: rgb(140, 140, 140);--luzmo-border-color-disabled: #dddddd;--luzmo-border-radius: 6px;--luzmo-border-radius-s: 4px;--luzmo-border-radius-l: 8px;--luzmo-border-radius-xl: 12px;--luzmo-border-radius-full: 999rem;--luzmo-background-color: #ffffff;--luzmo-background-color-rgb: 255, 255, 255;--luzmo-background-color-disabled: #eeeeee;--luzmo-background-color-hover: #f0f0fc;--luzmo-background-color-down: #f1f1ff;--luzmo-background-color-focus: #f0f0fc;--luzmo-background-color-highlight: rgb(240, 240, 240);--luzmo-background-color-highlight-disabled: rgb(245, 245, 245);--luzmo-background-color-highlight-hover: rgb(225, 225, 225);--luzmo-background-color-highlight-down: rgb(215, 215, 215);--luzmo-background-color-highlight-focus: rgb(225, 225, 225);--luzmo-background-color-alt-1: rgb(250, 250, 250);--luzmo-background-color-alt-2: rgb(239, 239, 239);--luzmo-border-width: 1px;--luzmo-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif;--luzmo-font-size-xs: 10px;--luzmo-font-size-s: 12px;--luzmo-font-size-m: 14px;--luzmo-font-size: 14px;--luzmo-font-size-l: 16px;--luzmo-font-size-xl: 18px;--luzmo-font-size-xxl: 20px;--luzmo-font-style: normal;--luzmo-line-height: normal;--luzmo-font-weight: 400;--luzmo-font-weight-semibold: 500;--luzmo-font-weight-bold: 600;--luzmo-font-color: #333;--luzmo-font-color-hard: #000;--luzmo-font-color-disabled: var(--luzmo-color-disabled);--luzmo-font-color-extra-dimmed: #888;--luzmo-font-color-hover: #333;--luzmo-font-color-down: #111;--luzmo-font-color-focus: #333;--luzmo-primary: #4434ff;--luzmo-primary-hover: #4234e4;--luzmo-primary-down: #392cc7;--luzmo-primary-focus: #4234e4;--luzmo-primary-inverse-color: #ffffff;--luzmo-primary-rgb: 68, 52, 255;--luzmo-secondary: #ff00ff;--luzmo-secondary-hover: #e309e3;--luzmo-secondary-down: #c711c7;--luzmo-secondary-focus: #e309e3;--luzmo-secondary-inverse-color: #ffffff;--luzmo-secondary-rgb: 255, 0, 255;--luzmo-secondary-outline: rgba(255, 0, 255, 0.2);--luzmo-negative-color: #ca221c;--luzmo-negative-color-hover: #b3241f;--luzmo-negative-color-down: #9f231f;--luzmo-negative-color-focus: #b3241f;--luzmo-negative-color-rgb: 202, 34, 28;--luzmo-positive-color: rgb(20, 150, 101);--luzmo-positive-color-hover: rgb(17, 128, 86);--luzmo-positive-color-down: rgb(16, 105, 71);--luzmo-positive-color-focus: rgb(17, 128, 86);--luzmo-positive-color-rgb: 20, 150, 101;--luzmo-selected-color: rgb(110, 110, 110);--luzmo-selected-color-hover: rgb(70, 70, 70);--luzmo-selected-color-down: rgb(40, 40, 40);--luzmo-selected-color-focus: rgb(70, 70, 70);--luzmo-selected-color-hard: #1e1e1e;--luzmo-selected-color-hard-hover: rgb(0, 0, 0);--luzmo-selected-color-hard-down: rgb(0, 0, 0);--luzmo-selected-color-hard-focus: rgb(0, 0, 0);--luzmo-color-informative: #1a77e9;--luzmo-color-informative-rgb: 26, 119, 233;--luzmo-color-disabled: #aaaaaa;--luzmo-spacing-1: 2px;--luzmo-spacing-2: 4px;--luzmo-spacing-3: 8px;--luzmo-spacing-4: 12px;--luzmo-spacing-5: 16px;--luzmo-indicator-gap: 2px;--luzmo-indicator-width: 1px;--luzmo-indicator-color: var(--luzmo-primary);--luzmo-component-height-xxs: 20px;--luzmo-component-height-xs: 24px;--luzmo-component-height-s: 28px;--luzmo-component-height: 32px;--luzmo-component-height-l: 40px;--luzmo-component-height-xl: 48px;--luzmo-component-height-xxl: 64px;--luzmo-icon-size-xxs: 12px;--luzmo-icon-size-xs: 14px;--luzmo-icon-size-s: 16px;--luzmo-icon-size-m: 18px;--luzmo-icon-size-l: 20px;--luzmo-icon-size-xl: 22px;--luzmo-icon-size-xxl: 32px}', document.head.appendChild(e);
33
33
  }
34
34
  })();
35
- const v = ":host{display:flex;flex-direction:row;gap:var(--luzmo-filter-item-gap, var(--filter-item-gap))}:host{--filter-item-gap: var(--luzmo-spacing-3)}:host([size=s]){--filter-item-gap: var(--luzmo-spacing-2)}:host([size=m]){--filter-item-gap: var(--luzmo-spacing-3)}:host([size=l]){--filter-item-gap: calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1))}:host([size=xl]){--filter-item-gap: var(--luzmo-spacing-4)}";
36
- var I = Object.defineProperty, k = Object.getOwnPropertyDescriptor, s = (t, e, i, r) => {
37
- for (var a = r > 1 ? void 0 : r ? k(e, i) : e, u = t.length - 1, l; u >= 0; u--)
38
- (l = t[u]) && (a = (r ? l(e, i, a) : l(a)) || a);
39
- return r && a && I(e, i, a), a;
35
+ const k = ":host{display:flex;flex-direction:row;gap:var(--luzmo-filter-item-gap, var(--filter-item-gap));min-width:0;max-width:100%}luzmo-data-items-select{flex-shrink:1;min-width:0}luzmo-filter-value-picker{flex-shrink:2;min-width:0}:host{--filter-item-gap: var(--luzmo-spacing-3)}:host([size=s]){--filter-item-gap: var(--luzmo-spacing-2)}:host([size=m]){--filter-item-gap: var(--luzmo-spacing-3)}:host([size=l]){--filter-item-gap: calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1))}:host([size=xl]){--filter-item-gap: var(--luzmo-spacing-4)}";
36
+ var w = Object.defineProperty, $ = Object.getOwnPropertyDescriptor, i = (t, e, s, r) => {
37
+ for (var a = r > 1 ? void 0 : r ? $(e, s) : e, l = t.length - 1, c; l >= 0; l--)
38
+ (c = t[l]) && (a = (r ? c(e, s, a) : c(a)) || a);
39
+ return r && a && w(e, s, a), a;
40
40
  };
41
- let o = class extends h(g, {
42
- validSizes: Object.values(z)
41
+ let o = class extends z(b, {
42
+ validSizes: Object.values(y)
43
43
  }) {
44
44
  constructor() {
45
45
  super(...arguments), this.apiUrl = "https://api.luzmo.com", this.language = "en", this.contentLanguage = "en", this.filter = {}, this._loading = !1, this._datasetsDataItems = [];
46
46
  }
47
47
  static get styles() {
48
- return [d(v)];
48
+ return [f(k)];
49
49
  }
50
50
  connectedCallback() {
51
51
  super.connectedCallback();
52
52
  const t = {};
53
- this.apiUrl && (t.apiUrl = this.apiUrl), this.cacheTime && (t.staleTime = this.cacheTime, t.gcTime = this.cacheTime * 2), this.authKey && this.authToken && (t.authKey = this.authKey, t.authToken = this.authToken), p.configure(t);
53
+ this.apiUrl && (t.apiUrl = this.apiUrl), this.cacheTime && (t.staleTime = this.cacheTime, t.gcTime = this.cacheTime * 2), t.authKey = this.authKey || "", t.authToken = this.authToken || "", h.configure(t);
54
54
  }
55
55
  /**
56
56
  * Fetches hierarchy values from the databroker
@@ -62,12 +62,12 @@ let o = class extends h(g, {
62
62
  }
63
63
  this._loading = !0, this._error = null;
64
64
  try {
65
- const t = await p.fetchDatasetsWithColumnsAndFormulas(
65
+ const t = await h.fetchDatasetsWithColumnsAndFormulas(
66
66
  this.datasetIds
67
67
  );
68
68
  for (const e of t)
69
- for (const i of [...e.columns, ...e.formulas])
70
- i.id = e.id;
69
+ for (const s of [...e.columns, ...e.formulas])
70
+ s.datasetId = e.id;
71
71
  this._datasetsDataItems = t;
72
72
  } catch (t) {
73
73
  console.error("Error fetching dataset columns & formulas:", t), this._error = t instanceof Error ? t.message : "Unknown error", this._datasetsDataItems = [];
@@ -76,23 +76,30 @@ let o = class extends h(g, {
76
76
  }
77
77
  }
78
78
  willUpdate(t) {
79
- const e = t.has("filter"), i = t.has("language"), r = t.has("datasetIds"), a = t.has("_datasetsDataItems");
80
- if (i && this.language !== b() && ([...y].includes(this.language ?? "en") || this.language === "en") && x(this.language), e || r || a && this.filter?.parameters?.[0]?.columnId && (this.filter?.parameters?.[0]?.datasetId || this.filter?.parameters?.[0]?.formulaId)) {
81
- const u = this._datasetsDataItems.find(
82
- (l) => l.id === this.filter.parameters?.[0]?.datasetId
79
+ const e = t.has("filter"), s = t.has("language"), r = t.has("datasetIds"), a = t.has("authKey"), l = t.has("authToken"), c = t.has("_datasetsDataItems");
80
+ if (s && this.language !== x() && ([...v].includes(this.language ?? "en") || this.language === "en") && _(this.language), e || r || c && this.filter?.parameters?.[0]?.columnId && (this.filter?.parameters?.[0]?.datasetId || this.filter?.parameters?.[0]?.formulaId)) {
81
+ const p = this._datasetsDataItems.find(
82
+ (u) => u.id === this.filter.parameters?.[0]?.datasetId
83
83
  );
84
- if (u) {
85
- for (const l of [
86
- ...u.columns || [],
87
- ...u?.formulas || []
84
+ if (p) {
85
+ for (const u of [
86
+ ...p.columns || [],
87
+ ...p?.formulas || []
88
88
  ])
89
- if (l.id === this.filter.parameters?.[0]?.columnId || l.id === this.filter.parameters?.[0]?.formulaId) {
90
- this._type = l.type, this._subType = l.subtype, this._isFormula = l.id === this.filter.parameters?.[0]?.formulaId;
89
+ if (u.id === this.filter.parameters?.[0]?.columnId || u.id === this.filter.parameters?.[0]?.formulaId) {
90
+ this._type = u.type, this._subType = u.subtype, this._isFormula = u.id === this.filter.parameters?.[0]?.formulaId;
91
91
  break;
92
92
  }
93
93
  }
94
94
  }
95
- r && this._fetchDatasetDataItems();
95
+ if (a || l) {
96
+ const p = {
97
+ authKey: this.authKey || "",
98
+ authToken: this.authToken || ""
99
+ };
100
+ h.configure(p);
101
+ }
102
+ (r || a || l) && this._fetchDatasetDataItems();
96
103
  }
97
104
  _sendChangeEvent() {
98
105
  this.dispatchEvent(
@@ -107,25 +114,25 @@ let o = class extends h(g, {
107
114
  );
108
115
  }
109
116
  setFilterDataItem(t) {
110
- const e = this._type, i = this.filter?.parameters?.[0]?.columnId || this.filter?.parameters?.[0]?.formulaId, r = t.detail?.dataItem?.id;
111
- this._type = t.detail?.dataItem?.type, this._subType = t.detail?.dataItem?.subtype, this._isFormula = t.detail?.dataItem?.isFormula;
112
- const a = _(
117
+ const e = t.detail?.dataItems?.[0], s = this._type, r = this.filter?.parameters?.[0]?.columnId || this.filter?.parameters?.[0]?.formulaId, a = e?.columnId || e?.formulaId;
118
+ this._type = e?.type, this._subType = e?.subtype, this._isFormula = !!e?.formulaId;
119
+ const l = I(
113
120
  this._type,
114
121
  this._subType,
115
122
  this._isFormula
116
123
  );
117
- this.filter = structuredClone(this.filter ?? {}), a?.includes(this.filter?.expression) || (this.filter.expression = a?.[0]?.expression), this.filter.parameters = this.filter?.parameters ?? [], this.filter.parameters[0] = {
118
- datasetId: t.detail?.dataItem?.datasetId
119
- }, this._isFormula ? this.filter.parameters[0].formulaId = t.detail?.dataItem?.id : this.filter.parameters[0].columnId = t.detail?.dataItem?.id, t.detail?.dataItem?.lowestLevel, e !== this._type ? this._type === "hierarchy" ? (this.filter.expression = "? like ?", this.filter.parameters[1] = "") : this._type === "numeric" ? (this.filter.expression = "? > ?", this.filter.parameters[1] = 0) : this._type === "datetime" ? (this.filter.expression = "? < ?", this.filter.parameters[1] = (/* @__PURE__ */ new Date()).toISOString()) : (this.filter.expression = "? is not null", this.filter.parameters = [this.filter.parameters[0]]) : (
124
+ this.filter = structuredClone(this.filter ?? {}), l?.includes(this.filter?.expression) || (this.filter.expression = l?.[0]?.expression), this.filter.parameters = this.filter?.parameters ?? [], this.filter.parameters[0] = {
125
+ datasetId: e?.datasetId
126
+ }, this._isFormula ? this.filter.parameters[0].formulaId = e?.formulaId : this.filter.parameters[0].columnId = e?.columnId, e?.lowestLevel, s !== this._type ? this._type === "hierarchy" ? (this.filter.expression = "? like ?", this.filter.parameters[1] = "") : this._type === "numeric" ? (this.filter.expression = "? > ?", this.filter.parameters[1] = 0) : this._type === "datetime" ? (this.filter.expression = "? < ?", this.filter.parameters[1] = (/* @__PURE__ */ new Date()).toISOString()) : (this.filter.expression = "? is not null", this.filter.parameters = [this.filter.parameters[0]]) : (
120
127
  // if same type and type is hierarchy but different column, reset the value
121
- i !== r && this._type === "hierarchy" && (this.filter.parameters[1] = ["? in ?", "? not in ?"].includes(
128
+ r !== a && this._type === "hierarchy" && (this.filter.parameters[1] = ["? in ?", "? not in ?"].includes(
122
129
  this.filter.expression
123
130
  ) ? [] : "")
124
131
  ), this._sendChangeEvent();
125
132
  }
126
133
  setFilterExpression(t) {
127
- const e = structuredClone(this.filter ?? {}), i = e.expression;
128
- if (e.expression = t.detail?.expression, i !== e.expression) {
134
+ const e = structuredClone(this.filter ?? {}), s = e.expression;
135
+ if (e.expression = t.detail?.expression, s !== e.expression) {
129
136
  if (["? is null", "? is not null"].includes(e.expression))
130
137
  e.parameters = [e.parameters[0]];
131
138
  else if (this._type === "datetime")
@@ -139,7 +146,7 @@ let o = class extends h(g, {
139
146
  e.parameters[1] = {
140
147
  unit: typeof r == "number" ? r : 1
141
148
  };
142
- } else if (["last_now", "last_available", "next_now"].includes(e.expression)) {
149
+ } else if (["last_now", "last_available", "next_now", "more_than_ago", "or_more_ago"].includes(e.expression)) {
143
150
  const r = e?.parameters?.[1]?.unit, a = e?.parameters?.[1]?.quantity;
144
151
  e.parameters[1] = {
145
152
  unit: typeof r == "number" ? r : 1,
@@ -147,10 +154,10 @@ let o = class extends h(g, {
147
154
  };
148
155
  } else
149
156
  e.parameters[1] = (/* @__PURE__ */ new Date()).toISOString();
150
- else this._type === "hierarchy" ? ["? in ?", "? not in ?"].includes(e.expression) ? ["? = ?", "? != ?"].includes(i) ? e.parameters[1] = e.parameters[1] ? [e.parameters[1]] : [] : e.parameters[1] = [] : ["? = ?", "? != ?"].includes(e.expression) ? ["? in ?", "? not in ?"].includes(i) ? e.parameters[1] = Array.isArray(e.parameters[1]) && e.parameters[1][0] ? e.parameters[1][0] : "" : e.parameters[1] = "" : e.parameters[1] = ["? in ?", "? not in ?"].includes(
151
- i
152
- ) ? "" : e.parameters[1] ?? "" : this._type === "numeric" && (["? in ?", "? not in ?"].includes(e.expression) && ["? in ?", "? not in ?"].includes(i) ? e.parameters[1] = e.parameters[1] ?? [] : ["? in ?", "? not in ?"].includes(e.expression) ? e.parameters[1] = [] : e.parameters[1] = ["? in ?", "? not in ?"].includes(
153
- i
157
+ else this._type === "hierarchy" ? ["? in ?", "? not in ?"].includes(e.expression) ? ["? = ?", "? != ?"].includes(s) ? e.parameters[1] = e.parameters[1] ? [e.parameters[1]] : [] : e.parameters[1] = [] : ["? = ?", "? != ?"].includes(e.expression) ? ["? in ?", "? not in ?"].includes(s) ? e.parameters[1] = Array.isArray(e.parameters[1]) && e.parameters[1][0] ? e.parameters[1][0] : "" : e.parameters[1] = "" : e.parameters[1] = ["? in ?", "? not in ?"].includes(
158
+ s
159
+ ) ? "" : e.parameters[1] ?? "" : this._type === "numeric" && (["? in ?", "? not in ?"].includes(e.expression) && ["? in ?", "? not in ?"].includes(s) ? e.parameters[1] = e.parameters[1] ?? [] : ["? in ?", "? not in ?"].includes(e.expression) ? e.parameters[1] = [] : e.parameters[1] = ["? in ?", "? not in ?"].includes(
160
+ s
154
161
  ) ? 0 : e.parameters[1] ?? 0);
155
162
  this.filter = e, this._sendChangeEvent();
156
163
  }
@@ -159,20 +166,23 @@ let o = class extends h(g, {
159
166
  this.filter.parameters[1] = t?.detail?.value, this._sendChangeEvent();
160
167
  }
161
168
  renderDataItemPicker() {
162
- return c`<luzmo-filter-data-item-picker
169
+ const t = this._loading ? "" : this.filter?.parameters?.[0]?.columnId || this.filter?.parameters?.[0]?.formulaId;
170
+ return d`<luzmo-data-items-select
163
171
  .language=${this.language}
164
172
  .contentLanguage=${this.contentLanguage}
165
173
  .size=${this.size}
166
- .dataItemId=${this._loading ? "" : this.filter?.parameters?.[0]?.columnId || this.filter?.parameters?.[0]?.formulaId}
174
+ .dataItemIds=${t ? [t] : []}
175
+ selects="single"
167
176
  .datasetsDataItems=${this._datasetsDataItems}
168
177
  .invalid=${!!this._error}
169
178
  .loading=${this._loading}
170
- @data-item-selected=${this.setFilterDataItem}
171
- ></luzmo-filter-data-item-picker>`;
179
+ .pending=${this._loading}
180
+ @data-items-selected=${this.setFilterDataItem}
181
+ ></luzmo-data-items-select>`;
172
182
  }
173
183
  renderExpressionPicker() {
174
184
  const t = !this.filter?.parameters?.[0]?.datasetId || !this.filter?.parameters?.[0]?.columnId;
175
- return c`<luzmo-filter-expression-picker
185
+ return d`<luzmo-filter-expression-picker
176
186
  .language=${this.language}
177
187
  .size=${this.size}
178
188
  .type=${this._type}
@@ -185,7 +195,7 @@ let o = class extends h(g, {
185
195
  }
186
196
  renderValuePicker() {
187
197
  const t = !this.filter?.parameters?.[0]?.datasetId || !this.filter?.parameters?.[0]?.columnId;
188
- return c`<luzmo-filter-value-picker
198
+ return d`<luzmo-filter-value-picker
189
199
  .apiUrl=${this.apiUrl}
190
200
  .authKey=${this.authKey}
191
201
  .authToken=${this.authToken}
@@ -201,57 +211,57 @@ let o = class extends h(g, {
201
211
  ></luzmo-filter-value-picker>`;
202
212
  }
203
213
  render() {
204
- return c`${this.renderDataItemPicker()} ${this.renderExpressionPicker()}
214
+ return d`${this.renderDataItemPicker()} ${this.renderExpressionPicker()}
205
215
  ${this.renderValuePicker()}`;
206
216
  }
207
217
  };
208
- s([
218
+ i([
209
219
  n({ type: String, attribute: "api-url", reflect: !0 })
210
220
  ], o.prototype, "apiUrl", 2);
211
- s([
221
+ i([
212
222
  n({ type: String, attribute: "auth-key", reflect: !0 })
213
223
  ], o.prototype, "authKey", 2);
214
- s([
224
+ i([
215
225
  n({ type: String, attribute: "auth-token", reflect: !0 })
216
226
  ], o.prototype, "authToken", 2);
217
- s([
227
+ i([
218
228
  n({ type: Number, attribute: "cache-time", reflect: !0 })
219
229
  ], o.prototype, "cacheTime", 2);
220
- s([
230
+ i([
221
231
  n({ type: String, reflect: !0 })
222
232
  ], o.prototype, "language", 2);
223
- s([
233
+ i([
224
234
  n({ type: String, reflect: !0 })
225
235
  ], o.prototype, "contentLanguage", 2);
226
- s([
236
+ i([
227
237
  n({ type: String, attribute: "time-zone", reflect: !0 })
228
238
  ], o.prototype, "timeZone", 2);
229
- s([
239
+ i([
230
240
  n({ type: Array, attribute: "dataset-ids", reflect: !0 })
231
241
  ], o.prototype, "datasetIds", 2);
232
- s([
242
+ i([
233
243
  n({ type: Object, reflect: !1 })
234
244
  ], o.prototype, "filter", 2);
235
- s([
245
+ i([
236
246
  m()
237
247
  ], o.prototype, "_type", 2);
238
- s([
248
+ i([
239
249
  m()
240
250
  ], o.prototype, "_subType", 2);
241
- s([
251
+ i([
242
252
  m()
243
253
  ], o.prototype, "_isFormula", 2);
244
- s([
254
+ i([
245
255
  m()
246
256
  ], o.prototype, "_error", 2);
247
- s([
257
+ i([
248
258
  m()
249
259
  ], o.prototype, "_loading", 2);
250
- s([
260
+ i([
251
261
  m()
252
262
  ], o.prototype, "_datasetsDataItems", 2);
253
- o = s([
254
- f()
263
+ o = i([
264
+ g()
255
265
  ], o);
256
266
  customElements.get("luzmo-filter-item") || customElements.define("luzmo-filter-item", o);
257
267
  export {
@@ -17,7 +17,7 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("@luzmo/lucero/picker");const l=require("lit"),c=require("@luzmo/lucero/utils"),r=require("lit/decorators.js"),o=require("../set-locale-BRRalqne.cjs");require("../filter-value-picker-datetime/index.cjs");require("../filter-value-picker-hierarchy/index.cjs");require("../filter-value-picker-numeric/index.cjs");const p=":host{--var: red}:host{--var: blue}";var g=Object.defineProperty,i=(n,e,a,m)=>{for(var u=void 0,s=n.length-1,h;s>=0;s--)(h=n[s])&&(u=h(e,a,u)||u);return u&&g(e,a,u),u};class t extends c.SizedMixin(c.LuzmoElement,{validSizes:Object.values(c.ElementSizes)}){constructor(){super(...arguments),this.language="en",this.contentLanguage="en",this._expressionsWithoutValuePicker=new Set(["? is null","? is not null","to_date"])}static get styles(){return[l.unsafeCSS(p)]}_sendChangeEvent(e){this.dispatchEvent(new CustomEvent("filter-value-changed",{bubbles:!0,composed:!0,cancelable:!0,detail:{value:e}}))}setFilterValue(e){e.stopPropagation(),this._sendChangeEvent(e?.detail?.value)}renderNumericValuePicker(){return l.html`<luzmo-filter-value-picker-numeric
20
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("@luzmo/lucero/picker");const l=require("lit"),c=require("@luzmo/lucero/utils"),r=require("lit/decorators.js"),o=require("../set-locale-B8iQGfk0.cjs");require("../filter-value-picker-datetime/index.cjs");require("../filter-value-picker-hierarchy/index.cjs");require("../filter-value-picker-numeric/index.cjs");const p=":host{--var: red}:host{--var: blue}";var g=Object.defineProperty,i=(n,e,a,m)=>{for(var u=void 0,s=n.length-1,h;s>=0;s--)(h=n[s])&&(u=h(e,a,u)||u);return u&&g(e,a,u),u};class t extends c.SizedMixin(c.LuzmoElement,{validSizes:Object.values(c.ElementSizes)}){constructor(){super(...arguments),this.language="en",this.contentLanguage="en",this._expressionsWithoutValuePicker=new Set(["? is null","? is not null","to_date"])}static get styles(){return[l.unsafeCSS(p)]}_sendChangeEvent(e){this.dispatchEvent(new CustomEvent("filter-value-changed",{bubbles:!0,composed:!0,cancelable:!0,detail:{value:e}}))}setFilterValue(e){e.stopPropagation(),this._sendChangeEvent(e?.detail?.value)}renderNumericValuePicker(){return l.html`<luzmo-filter-value-picker-numeric
21
21
  .apiUrl=${this.apiUrl}
22
22
  .authKey=${this.authKey}
23
23
  .authToken=${this.authToken}
@@ -21,7 +21,7 @@ import "@luzmo/lucero/picker";
21
21
  import { unsafeCSS as m, html as a } from "lit";
22
22
  import { SizedMixin as s, LuzmoElement as g, ElementSizes as z } from "@luzmo/lucero/utils";
23
23
  import { property as r } from "lit/decorators.js";
24
- import { g as h, t as d, s as p } from "../set-locale-hKTMz37h.js";
24
+ import { g as h, t as d, s as p } from "../set-locale-B5562CBM.js";
25
25
  import "../filter-value-picker-datetime/index.js";
26
26
  import "../filter-value-picker-hierarchy/index.js";
27
27
  import "../filter-value-picker-numeric/index.js";
@@ -17,7 +17,7 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("@luzmo/lucero/date-time-picker");require("@luzmo/lucero/number-field");require("@luzmo/lucero/picker");require("@luzmo/lucero/text-field");const a=require("lit"),c=require("@luzmo/lucero/utils"),m=require("../set-locale-BRRalqne.cjs"),l=require("../periods.const-3jA-ECRf.cjs"),n=require("lit/decorators.js"),f=":host{display:flex;flex-direction:row;gap:var(--luzmo-filter-value-picker-datetime-gap, var(--filter-value-picker-datetime-gap))}:host{--filter-value-picker-datetime-gap: var(--luzmo-spacing-3)}:host([size=s]){--filter-value-picker-datetime-gap: var(--luzmo-spacing-2)}:host([size=m]){--filter-value-picker-datetime-gap: var(--luzmo-spacing-3)}:host([size=l]){--filter-value-picker-datetime-gap: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) )}:host([size=xl]){--filter-value-picker-datetime-gap: var(--luzmo-spacing-4)}";var g=Object.defineProperty,u=(o,e,t,i)=>{for(var r=void 0,p=o.length-1,h;p>=0;p--)(h=o[p])&&(r=h(e,t,r)||r);return r&&g(e,t,r),r};class s extends c.SizedMixin(c.LuzmoElement,{validSizes:Object.values(c.ElementSizes)}){constructor(){super(...arguments),this.language="en",this.contentLanguage="en"}static get styles(){return[a.unsafeCSS(f)]}willUpdate(e){const t=e.has("language"),i=e.get("filter");t&&this.language!==m.getLocale()&&([...m.targetLocales].includes(this.language??"en")||this.language==="en")&&m.setLocale(this.language),i&&(["last_now","last_available","next_now"].includes(this.filter?.expression)?this.filter.parameters[1]={quantity:this.filter?.parameters?.[1]?.quantity??1,unit:this.filter?.parameters?.[1]?.unit??1}:["last_completed","next_full","to_date"].includes(this.filter?.expression)?this.filter.parameters[1]={unit:this.filter?.parameters?.[1]?.unit??1}:this.filter.parameters[1]=typeof this.filter.parameters[1]=="string"?this.filter.parameters[1]:new Date().toISOString())}_sendChangeEvent(){this.filter.parameters=[{...this.filter?.parameters?.[0]},this._value],this.dispatchEvent(new CustomEvent("filter-value-changed",{bubbles:!0,composed:!0,cancelable:!0,detail:{value:this._value}}))}setDate(e){this._value=e.detail.value,this._value!==this.filter?.parameters?.[1]&&this._sendChangeEvent()}setUnit(e){const t=l.DATETIME_LEVELS.find(i=>i.key===e?.target?.value)?.level;this.filter?.parameters?.[1]?.unit!==t&&(this._value={unit:t??1,quantity:this.filter?.parameters?.[1]?.quantity??1},this._sendChangeEvent())}setQuantity(e){const t=e?.target?.value;this.filter?.parameters?.[1]?.quantity!==t&&(this._value={quantity:t,unit:this.filter?.parameters?.[1]?.unit??1},this._sendChangeEvent())}renderDatePicker(){let e="second";return this.filter?.parameters?.[0]?.lowestLevel>4&&(this.filter?.parameters?.[0]?.lowestLevel===5?e="day":this.filter?.parameters?.[0]?.lowestLevel===6?e="hour":this.filter?.parameters?.[0]?.lowestLevel===7?e="minute":e="second"),a.html`<luzmo-date-time-picker
20
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("@luzmo/lucero/date-time-picker");require("@luzmo/lucero/number-field");require("@luzmo/lucero/picker");require("@luzmo/lucero/text-field");const a=require("lit"),p=require("@luzmo/lucero/utils"),c=require("../set-locale-B8iQGfk0.cjs"),l=require("../periods.const-3jA-ECRf.cjs"),n=require("lit/decorators.js"),f=":host{display:flex;flex-direction:row;gap:var(--luzmo-filter-value-picker-datetime-gap, var(--filter-value-picker-datetime-gap));min-width:0;flex-shrink:1}:host{--filter-value-picker-datetime-gap: var(--luzmo-spacing-3)}:host([size=s]){--filter-value-picker-datetime-gap: var(--luzmo-spacing-2)}:host([size=m]){--filter-value-picker-datetime-gap: var(--luzmo-spacing-3)}:host([size=l]){--filter-value-picker-datetime-gap: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) )}:host([size=xl]){--filter-value-picker-datetime-gap: var(--luzmo-spacing-4)}";var g=Object.defineProperty,u=(o,e,t,i)=>{for(var r=void 0,m=o.length-1,h;m>=0;m--)(h=o[m])&&(r=h(e,t,r)||r);return r&&g(e,t,r),r};class s extends p.SizedMixin(p.LuzmoElement,{validSizes:Object.values(p.ElementSizes)}){constructor(){super(...arguments),this.language="en",this.contentLanguage="en"}static get styles(){return[a.unsafeCSS(f)]}willUpdate(e){const t=e.has("language"),i=e.get("filter");t&&this.language!==c.getLocale()&&([...c.targetLocales].includes(this.language??"en")||this.language==="en")&&c.setLocale(this.language),i&&(["last_now","last_available","next_now","more_than_ago","or_more_ago"].includes(this.filter?.expression)?this.filter.parameters[1]={quantity:this.filter?.parameters?.[1]?.quantity??1,unit:this.filter?.parameters?.[1]?.unit??1}:["last_completed","next_full","to_date"].includes(this.filter?.expression)?this.filter.parameters[1]={unit:this.filter?.parameters?.[1]?.unit??1}:this.filter.parameters[1]=typeof this.filter.parameters[1]=="string"?this.filter.parameters[1]:new Date().toISOString())}_sendChangeEvent(){this.filter.parameters=[{...this.filter?.parameters?.[0]},this._value],this.dispatchEvent(new CustomEvent("filter-value-changed",{bubbles:!0,composed:!0,cancelable:!0,detail:{value:this._value}}))}setDate(e){this._value=e.detail.value,this._value!==this.filter?.parameters?.[1]&&this._sendChangeEvent()}setUnit(e){const t=l.DATETIME_LEVELS.find(i=>i.key===e?.target?.value)?.level;this.filter?.parameters?.[1]?.unit!==t&&(this._value={unit:t??1,quantity:this.filter?.parameters?.[1]?.quantity??1},this._sendChangeEvent())}setQuantity(e){const t=e?.target?.value;this.filter?.parameters?.[1]?.quantity!==t&&(this._value={quantity:t,unit:this.filter?.parameters?.[1]?.unit??1},this._sendChangeEvent())}renderDatePicker(){let e="second";return this.filter?.parameters?.[0]?.lowestLevel>4&&(this.filter?.parameters?.[0]?.lowestLevel===5?e="day":this.filter?.parameters?.[0]?.lowestLevel===6?e="hour":this.filter?.parameters?.[0]?.lowestLevel===7?e="minute":e="second"),a.html`<luzmo-date-time-picker
21
21
  .size=${this.size}
22
22
  .precision=${e}
23
23
  .timeZone=${this.timeZone}
@@ -36,4 +36,4 @@
36
36
  @change=${this.setUnit}
37
37
  variant="highlight"
38
38
  >${e}</luzmo-picker
39
- >`}render(){const e=this.filter?.expression;return["last_now","last_available","next_now"].includes(e)?a.html`${this.renderQuantityField()}${this.renderUnitPicker()}`:["last_completed","next_full"].includes(e)?this.renderUnitPicker():this.renderDatePicker()}}u([n.property({type:String,reflect:!0})],s.prototype,"language");u([n.property({type:String,attribute:"content-language",reflect:!0})],s.prototype,"contentLanguage");u([n.property({type:String,attribute:"time-zone",reflect:!0})],s.prototype,"timeZone");u([n.property({type:Object,reflect:!1})],s.prototype,"filter");customElements.get("luzmo-filter-value-picker-datetime")||customElements.define("luzmo-filter-value-picker-datetime",s);exports.LuzmoFilterValuePickerDatetime=s;
39
+ >`}render(){const e=this.filter?.expression;return["last_now","last_available","next_now","more_than_ago","or_more_ago"].includes(e)?a.html`${this.renderQuantityField()}${this.renderUnitPicker()}`:["last_completed","next_full"].includes(e)?this.renderUnitPicker():this.renderDatePicker()}}u([n.property({type:String,reflect:!0})],s.prototype,"language");u([n.property({type:String,attribute:"content-language",reflect:!0})],s.prototype,"contentLanguage");u([n.property({type:String,attribute:"time-zone",reflect:!0})],s.prototype,"timeZone");u([n.property({type:Object,reflect:!1})],s.prototype,"filter");customElements.get("luzmo-filter-value-picker-datetime")||customElements.define("luzmo-filter-value-picker-datetime",s);exports.LuzmoFilterValuePickerDatetime=s;
@@ -23,7 +23,7 @@ import "@luzmo/lucero/picker";
23
23
  import "@luzmo/lucero/text-field";
24
24
  import { unsafeCSS as d, html as l } from "lit";
25
25
  import { SizedMixin as z, LuzmoElement as f, ElementSizes as p } from "@luzmo/lucero/utils";
26
- import { g, t as h, s as b } from "../set-locale-hKTMz37h.js";
26
+ import { g, t as h, s as b } from "../set-locale-B5562CBM.js";
27
27
  import { D as u } from "../periods.const-CjHXYn-w.js";
28
28
  import { property as n } from "lit/decorators.js";
29
29
  (function() {
@@ -32,7 +32,7 @@ import { property as n } from "lit/decorators.js";
32
32
  e.setAttribute("data-luzmo-vars", ""), e.textContent = 'html{--luzmo-animation-duration: 0.15s;--luzmo-border-color: rgba(var(--luzmo-border-color-rgb), 0.1);--luzmo-border-color-hover: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-down: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-border-color-focus: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-rgb: 0, 0, 0;--luzmo-border-color-full: rgb(180, 180, 180);--luzmo-border-color-full-hover: rgb(140, 140, 140);--luzmo-border-color-full-down: rgb(110, 110, 110);--luzmo-border-color-full-focus: rgb(140, 140, 140);--luzmo-border-color-disabled: #dddddd;--luzmo-border-radius: 6px;--luzmo-border-radius-s: 4px;--luzmo-border-radius-l: 8px;--luzmo-border-radius-xl: 12px;--luzmo-border-radius-full: 999rem;--luzmo-background-color: #ffffff;--luzmo-background-color-rgb: 255, 255, 255;--luzmo-background-color-disabled: #eeeeee;--luzmo-background-color-hover: #f0f0fc;--luzmo-background-color-down: #f1f1ff;--luzmo-background-color-focus: #f0f0fc;--luzmo-background-color-highlight: rgb(240, 240, 240);--luzmo-background-color-highlight-disabled: rgb(245, 245, 245);--luzmo-background-color-highlight-hover: rgb(225, 225, 225);--luzmo-background-color-highlight-down: rgb(215, 215, 215);--luzmo-background-color-highlight-focus: rgb(225, 225, 225);--luzmo-background-color-alt-1: rgb(250, 250, 250);--luzmo-background-color-alt-2: rgb(239, 239, 239);--luzmo-border-width: 1px;--luzmo-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif;--luzmo-font-size-xs: 10px;--luzmo-font-size-s: 12px;--luzmo-font-size-m: 14px;--luzmo-font-size: 14px;--luzmo-font-size-l: 16px;--luzmo-font-size-xl: 18px;--luzmo-font-size-xxl: 20px;--luzmo-font-style: normal;--luzmo-line-height: normal;--luzmo-font-weight: 400;--luzmo-font-weight-semibold: 500;--luzmo-font-weight-bold: 600;--luzmo-font-color: #333;--luzmo-font-color-hard: #000;--luzmo-font-color-disabled: var(--luzmo-color-disabled);--luzmo-font-color-extra-dimmed: #888;--luzmo-font-color-hover: #333;--luzmo-font-color-down: #111;--luzmo-font-color-focus: #333;--luzmo-primary: #4434ff;--luzmo-primary-hover: #4234e4;--luzmo-primary-down: #392cc7;--luzmo-primary-focus: #4234e4;--luzmo-primary-inverse-color: #ffffff;--luzmo-primary-rgb: 68, 52, 255;--luzmo-secondary: #ff00ff;--luzmo-secondary-hover: #e309e3;--luzmo-secondary-down: #c711c7;--luzmo-secondary-focus: #e309e3;--luzmo-secondary-inverse-color: #ffffff;--luzmo-secondary-rgb: 255, 0, 255;--luzmo-secondary-outline: rgba(255, 0, 255, 0.2);--luzmo-negative-color: #ca221c;--luzmo-negative-color-hover: #b3241f;--luzmo-negative-color-down: #9f231f;--luzmo-negative-color-focus: #b3241f;--luzmo-negative-color-rgb: 202, 34, 28;--luzmo-positive-color: rgb(20, 150, 101);--luzmo-positive-color-hover: rgb(17, 128, 86);--luzmo-positive-color-down: rgb(16, 105, 71);--luzmo-positive-color-focus: rgb(17, 128, 86);--luzmo-positive-color-rgb: 20, 150, 101;--luzmo-selected-color: rgb(110, 110, 110);--luzmo-selected-color-hover: rgb(70, 70, 70);--luzmo-selected-color-down: rgb(40, 40, 40);--luzmo-selected-color-focus: rgb(70, 70, 70);--luzmo-selected-color-hard: #1e1e1e;--luzmo-selected-color-hard-hover: rgb(0, 0, 0);--luzmo-selected-color-hard-down: rgb(0, 0, 0);--luzmo-selected-color-hard-focus: rgb(0, 0, 0);--luzmo-color-informative: #1a77e9;--luzmo-color-informative-rgb: 26, 119, 233;--luzmo-color-disabled: #aaaaaa;--luzmo-spacing-1: 2px;--luzmo-spacing-2: 4px;--luzmo-spacing-3: 8px;--luzmo-spacing-4: 12px;--luzmo-spacing-5: 16px;--luzmo-indicator-gap: 2px;--luzmo-indicator-width: 1px;--luzmo-indicator-color: var(--luzmo-primary);--luzmo-component-height-xxs: 20px;--luzmo-component-height-xs: 24px;--luzmo-component-height-s: 28px;--luzmo-component-height: 32px;--luzmo-component-height-l: 40px;--luzmo-component-height-xl: 48px;--luzmo-component-height-xxl: 64px;--luzmo-icon-size-xxs: 12px;--luzmo-icon-size-xs: 14px;--luzmo-icon-size-s: 16px;--luzmo-icon-size-m: 18px;--luzmo-icon-size-l: 20px;--luzmo-icon-size-xl: 22px;--luzmo-icon-size-xxl: 32px}', document.head.appendChild(e);
33
33
  }
34
34
  })();
35
- const v = ":host{display:flex;flex-direction:row;gap:var(--luzmo-filter-value-picker-datetime-gap, var(--filter-value-picker-datetime-gap))}:host{--filter-value-picker-datetime-gap: var(--luzmo-spacing-3)}:host([size=s]){--filter-value-picker-datetime-gap: var(--luzmo-spacing-2)}:host([size=m]){--filter-value-picker-datetime-gap: var(--luzmo-spacing-3)}:host([size=l]){--filter-value-picker-datetime-gap: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) )}:host([size=xl]){--filter-value-picker-datetime-gap: var(--luzmo-spacing-4)}";
35
+ const v = ":host{display:flex;flex-direction:row;gap:var(--luzmo-filter-value-picker-datetime-gap, var(--filter-value-picker-datetime-gap));min-width:0;flex-shrink:1}:host{--filter-value-picker-datetime-gap: var(--luzmo-spacing-3)}:host([size=s]){--filter-value-picker-datetime-gap: var(--luzmo-spacing-2)}:host([size=m]){--filter-value-picker-datetime-gap: var(--luzmo-spacing-3)}:host([size=l]){--filter-value-picker-datetime-gap: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) )}:host([size=xl]){--filter-value-picker-datetime-gap: var(--luzmo-spacing-4)}";
36
36
  var x = Object.defineProperty, s = (a, e, o, t) => {
37
37
  for (var r = void 0, m = a.length - 1, c; m >= 0; m--)
38
38
  (c = a[m]) && (r = c(e, o, r) || r);
@@ -49,7 +49,7 @@ class i extends z(f, {
49
49
  }
50
50
  willUpdate(e) {
51
51
  const o = e.has("language"), t = e.get("filter");
52
- o && this.language !== g() && ([...h].includes(this.language ?? "en") || this.language === "en") && b(this.language), t && (["last_now", "last_available", "next_now"].includes(
52
+ o && this.language !== g() && ([...h].includes(this.language ?? "en") || this.language === "en") && b(this.language), t && (["last_now", "last_available", "next_now", "more_than_ago", "or_more_ago"].includes(
53
53
  this.filter?.expression
54
54
  ) ? this.filter.parameters[1] = {
55
55
  quantity: this.filter?.parameters?.[1]?.quantity ?? 1,
@@ -125,7 +125,7 @@ class i extends z(f, {
125
125
  }
126
126
  render() {
127
127
  const e = this.filter?.expression;
128
- return ["last_now", "last_available", "next_now"].includes(e) ? l`${this.renderQuantityField()}${this.renderUnitPicker()}` : ["last_completed", "next_full"].includes(e) ? this.renderUnitPicker() : this.renderDatePicker();
128
+ return ["last_now", "last_available", "next_now", "more_than_ago", "or_more_ago"].includes(e) ? l`${this.renderQuantityField()}${this.renderUnitPicker()}` : ["last_completed", "next_full"].includes(e) ? this.renderUnitPicker() : this.renderDatePicker();
129
129
  }
130
130
  }
131
131
  s([
@@ -17,7 +17,7 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("@luzmo/lucero/select");require("@luzmo/lucero/text-field");const f=require("lit"),c=require("@lit/localize"),_=require("@luzmo/lucero/utils"),L=require("../index-CFL6gmIu.cjs"),b=require("../localize-C4zNlrwK.cjs"),n=require("lit/decorators.js"),y=require("../set-locale-BRRalqne.cjs"),V=".missing-value{opacity:.4}:host{--var: blue}";var k=Object.defineProperty,S=Object.getOwnPropertyDescriptor,a=(g,e,t,i)=>{for(var r=i>1?void 0:i?S(e,t):e,s=g.length-1,u;s>=0;s--)(u=g[s])&&(r=(i?u(e,t,r):u(r))||r);return i&&r&&k(e,t,r),r};const z=5e3;exports.LuzmoFilterValuePickerHierarchy=class extends _.SizedMixin(_.LuzmoElement,{validSizes:Object.values(_.ElementSizes)}){constructor(){super(...arguments),this.language="en",this.contentLanguage="en",this._hierarchyValues=[],this._retrieving=!0,this._search="",this._error=null,this._allValuesRetrieved=!1,this._runningQueries=[]}static get styles(){return[f.unsafeCSS(V)]}connectedCallback(){super.connectedCallback();const e={};this.apiUrl&&(e.apiUrl=this.apiUrl),this.cacheTime&&(e.staleTime=this.cacheTime,e.gcTime=this.cacheTime*2),this.authKey&&this.authToken&&(e.authKey=this.authKey,e.authToken=this.authToken),L.dataBroker.configure(e)}willUpdate(e){if(e.has("language")&&this.language!==y.getLocale()&&([...y.targetLocales].includes(this.language??"en")||this.language==="en")&&y.setLocale(this.language),e.has("filter")&&this.filter){const i=e.get("filter")?.expression,r=e.get("filter")?.parameters?.[0]?.columnId||e.get("filter")?.parameters?.[0]?.formulaId,s=this.filter?.parameters?.[0]?.columnId||this.filter?.parameters?.[0]?.formulaId;r!==s&&(["? in ?","? not in ?","? = ?","? != ?"].includes(this.filter?.expression)||!["? in ?","? not in ?","? = ?","? != ?"].includes(i))&&(this._hierarchyValues=[],this._allValuesRetrieved=!1,this._retrieving=!0)}}async _fetchHierarchyValues(e=0){if(this._allValuesRetrieved){this._retrieving=!1;return}if(!this.filter?.parameters?.[0]){this._retrieving=!1,this._error="Missing column parameters";return}const t=this.filter.parameters[0],i=t.columnId,r=t.formulaId,s=t.datasetId;if(!i&&!r){this._retrieving=!1,this._error="Missing column id or formula id";return}else if(!s){this._retrieving=!1,this._error="Missing dataset id";return}this._retrieving=!0,this._error=null;const u={expression:"? like ?",parameters:[{column_id:i,formula_id:r,dataset_id:s},this._search]},p={dimensions:[{column_id:i,formula_id:r,dataset_id:s}],where:[],order:[{column_id:i,formula_id:r,dataset_id:s,order:"asc"}],limit:{by:z,offset:e}};this._search&&this._allValuesRetrieved&&p.where.push(u);const d=new AbortController,o=new Promise((l,h)=>{L.dataBroker.fetchData(p).then(l).catch(h),d.signal.addEventListener("abort",()=>{console.warn("Request aborted"),h({status:"aborted"})})}),m={promise:o,abortController:d};this._runningQueries.push(m);try{const l=await o,h=l&&Array.isArray(l.data)?l.data.map(v=>v[0]):[];this._search||(this._allValuesRetrieved=h.length<z),this._hierarchyValues=e>0?[...this._hierarchyValues,...h]:h}catch(l){if(l?.status==="aborted")return;this._error=l instanceof Error?l.message:"Unknown error",this._hierarchyValues=[]}finally{this._runningQueries=this._runningQueries.filter(l=>l.promise!==o),this._retrieving=!1}}_sendChangeEvent(){this.dispatchEvent(new CustomEvent("filter-value-changed",{bubbles:!0,composed:!0,cancelable:!0,detail:{value:this._value}}))}setHierarchy(e){let t;["? in ?","? not in ?"].includes(this.filter?.expression)?t=e?.detail?.value:["? = ?","? != ?"].includes(this.filter?.expression)?t=e?.detail?.value?.[0]:t=e?.target?.value,this._value!==t&&(this._value=t,this.filter={...this.filter,parameters:[{...this.filter?.parameters?.[0]},this._value]},this._sendChangeEvent())}onScrolled(e){!this._retrieving&&!this._allValuesRetrieved&&e?.detail?.last===this._hierarchyValues.length-1&&this._fetchHierarchyValues(this._hierarchyValues.length)}renderTextField(){return f.html`<luzmo-text-field
20
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("@luzmo/lucero/select");require("@luzmo/lucero/text-field");const f=require("lit"),c=require("@lit/localize"),_=require("@luzmo/lucero/utils"),L=require("../index-CAbDIHYI.cjs"),b=require("../localize-C4zNlrwK.cjs"),n=require("lit/decorators.js"),y=require("../set-locale-B8iQGfk0.cjs"),V=".missing-value{opacity:.4}:host{--var: blue}";var k=Object.defineProperty,S=Object.getOwnPropertyDescriptor,a=(g,e,t,i)=>{for(var r=i>1?void 0:i?S(e,t):e,s=g.length-1,u;s>=0;s--)(u=g[s])&&(r=(i?u(e,t,r):u(r))||r);return i&&r&&k(e,t,r),r};const z=5e3;exports.LuzmoFilterValuePickerHierarchy=class extends _.SizedMixin(_.LuzmoElement,{validSizes:Object.values(_.ElementSizes)}){constructor(){super(...arguments),this.language="en",this.contentLanguage="en",this._hierarchyValues=[],this._retrieving=!0,this._search="",this._error=null,this._allValuesRetrieved=!1,this._runningQueries=[]}static get styles(){return[f.unsafeCSS(V)]}connectedCallback(){super.connectedCallback();const e={};this.apiUrl&&(e.apiUrl=this.apiUrl),this.cacheTime&&(e.staleTime=this.cacheTime,e.gcTime=this.cacheTime*2),this.authKey&&this.authToken&&(e.authKey=this.authKey,e.authToken=this.authToken),L.dataBroker.configure(e)}willUpdate(e){if(e.has("language")&&this.language!==y.getLocale()&&([...y.targetLocales].includes(this.language??"en")||this.language==="en")&&y.setLocale(this.language),e.has("filter")&&this.filter){const i=e.get("filter")?.expression,r=e.get("filter")?.parameters?.[0]?.columnId||e.get("filter")?.parameters?.[0]?.formulaId,s=this.filter?.parameters?.[0]?.columnId||this.filter?.parameters?.[0]?.formulaId;r!==s&&(["? in ?","? not in ?","? = ?","? != ?"].includes(this.filter?.expression)||!["? in ?","? not in ?","? = ?","? != ?"].includes(i))&&(this._hierarchyValues=[],this._allValuesRetrieved=!1,this._retrieving=!0)}}async _fetchHierarchyValues(e=0){if(this._allValuesRetrieved){this._retrieving=!1;return}if(!this.filter?.parameters?.[0]){this._retrieving=!1,this._error="Missing column parameters";return}const t=this.filter.parameters[0],i=t.columnId,r=t.formulaId,s=t.datasetId;if(!i&&!r){this._retrieving=!1,this._error="Missing column id or formula id";return}else if(!s){this._retrieving=!1,this._error="Missing dataset id";return}this._retrieving=!0,this._error=null;const u={expression:"? like ?",parameters:[{column_id:i,formula_id:r,dataset_id:s},this._search]},p={dimensions:[{column_id:i,formula_id:r,dataset_id:s}],where:[],order:[{column_id:i,formula_id:r,dataset_id:s,order:"asc"}],limit:{by:z,offset:e}};this._search&&this._allValuesRetrieved&&p.where.push(u);const d=new AbortController,o=new Promise((l,h)=>{L.dataBroker.fetchData(p).then(l).catch(h),d.signal.addEventListener("abort",()=>{console.warn("Request aborted"),h({status:"aborted"})})}),m={promise:o,abortController:d};this._runningQueries.push(m);try{const l=await o,h=l&&Array.isArray(l.data)?l.data.map(v=>v[0]):[];this._search||(this._allValuesRetrieved=h.length<z),this._hierarchyValues=e>0?[...this._hierarchyValues,...h]:h}catch(l){if(l?.status==="aborted")return;this._error=l instanceof Error?l.message:"Unknown error",this._hierarchyValues=[]}finally{this._runningQueries=this._runningQueries.filter(l=>l.promise!==o),this._retrieving=!1}}_sendChangeEvent(){this.dispatchEvent(new CustomEvent("filter-value-changed",{bubbles:!0,composed:!0,cancelable:!0,detail:{value:this._value}}))}setHierarchy(e){let t;["? in ?","? not in ?"].includes(this.filter?.expression)?t=e?.detail?.value:["? = ?","? != ?"].includes(this.filter?.expression)?t=e?.detail?.value?.[0]:t=e?.target?.value,this._value!==t&&(this._value=t,this.filter={...this.filter,parameters:[{...this.filter?.parameters?.[0]},this._value]},this._sendChangeEvent())}onScrolled(e){!this._retrieving&&!this._allValuesRetrieved&&e?.detail?.last===this._hierarchyValues.length-1&&this._fetchHierarchyValues(this._hierarchyValues.length)}renderTextField(){return f.html`<luzmo-text-field
21
21
  .size=${this.size}
22
22
  @change=${this.setHierarchy}
23
23
  @input=${this.setHierarchy}
@@ -22,10 +22,10 @@ import "@luzmo/lucero/text-field";
22
22
  import { unsafeCSS as x, html as z } from "lit";
23
23
  import { msg as f, localized as w } from "@lit/localize";
24
24
  import { SizedMixin as S, LuzmoElement as k, ElementSizes as L } from "@luzmo/lucero/utils";
25
- import { d as v } from "../index-DNPULp4A.js";
25
+ import { d as v } from "../index-BikhVAa1.js";
26
26
  import { l as y } from "../localize-CcDpq940.js";
27
27
  import { property as h, state as p } from "lit/decorators.js";
28
- import { g as V, t as $, s as C } from "../set-locale-hKTMz37h.js";
28
+ import { g as V, t as $, s as C } from "../set-locale-B5562CBM.js";
29
29
  (function() {
30
30
  if (typeof document < "u" && !document.querySelector("style[data-luzmo-vars]")) {
31
31
  const r = document.createElement("style");
@@ -17,7 +17,8 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("@luzmo/lucero/number-field");require("@luzmo/lucero/select");const d=require("lit"),h=require("@lit/localize"),f=require("@luzmo/lucero/utils"),b=require("../index-CFL6gmIu.cjs"),g=require("../set-locale-BRRalqne.cjs"),u=require("lit/decorators.js"),L=".missing-value{opacity:.4}:host{--var: blue}";var z=Object.defineProperty,k=Object.getOwnPropertyDescriptor,a=(m,e,t,i)=>{for(var r=i>1?void 0:i?k(e,t):e,s=m.length-1,n;s>=0;s--)(n=m[s])&&(r=(i?n(e,t,r):n(r))||r);return i&&r&&z(e,t,r),r};const y=5e3;exports.LuzmoFilterValuePickerNumeric=class extends f.SizedMixin(f.LuzmoElement,{validSizes:Object.values(f.ElementSizes)}){constructor(){super(...arguments),this.language="en",this.contentLanguage="en",this._numericValues=[],this._retrieving=!0,this._search="",this._error=null,this._allValuesRetrieved=!1,this._runningQueries=[]}static get styles(){return[d.unsafeCSS(L)]}connectedCallback(){super.connectedCallback();const e={};this.apiUrl&&(e.apiUrl=this.apiUrl),this.cacheTime&&(e.staleTime=this.cacheTime,e.gcTime=this.cacheTime*2),this.authKey&&this.authToken&&(e.authKey=this.authKey,e.authToken=this.authToken),b.dataBroker.configure(e)}willUpdate(e){const t=e.has("filter");if(e.has("language")&&this.language!==g.getLocale()&&([...g.targetLocales].includes(this.language??"en")||this.language==="en")&&g.setLocale(this.language),t&&this.filter){const r=e.get("filter")?.expression,s=this.filter?.expression,n=e.get("filter")?.parameters?.[0]?.columnId||e.get("filter")?.parameters?.[0]?.formulaId,o=this.filter?.parameters?.[0]?.columnId||this.filter?.parameters?.[0]?.formulaId;(n!==o||!["? in ?","? not in ?"].includes(r))&&["? in ?","? not in ?"].includes(s)&&(this._numericValues=[],this._allValuesRetrieved=!1,this._retrieving=!0)}}async _fetchNumericValues(e=0){if(this._allValuesRetrieved){this._retrieving=!1;return}if(!this.filter?.parameters?.[0]){this._retrieving=!1,this._error="Missing column parameters";return}const t=this.filter.parameters[0],i=t.columnId,r=t.formulaId,s=t.datasetId;if(!i&&!r){this._retrieving=!1,this._error="Missing column id or formula id";return}else if(!s){this._retrieving=!1,this._error="Missing dataset id";return}this._retrieving=!0,this._error=null;const n={expression:"? like ?",parameters:[{dataset_id:s,expression:`CAST({${s}:${i??r}},hierarchy)`},this._search]},o={dimensions:[{column_id:i,formula_id:r,dataset_id:s}],where:[],order:[{column_id:i,formula_id:r,dataset_id:s,order:"asc"}],limit:{by:y,offset:e}};this._search&&!this._allValuesRetrieved&&o.where.push(n);const _=new AbortController,p=new Promise((l,c)=>{b.dataBroker.fetchData(o).then(l).catch(c),_.signal.addEventListener("abort",()=>{console.warn("Request aborted"),c({status:"aborted"})})}),V={promise:p,abortController:_};this._runningQueries.push(V);try{const l=await p,c=l&&Array.isArray(l.data)?l.data.map(v=>v[0]):[];this._search||(this._allValuesRetrieved=c.length<y),this._numericValues=e>0?[...this._numericValues,...c]:c}catch(l){if(l?.status==="aborted")return;this._error=l instanceof Error?l.message:"Unknown error",this._numericValues=[]}finally{this._runningQueries=this._runningQueries.filter(l=>l.promise!==p),this._retrieving=!1}}_sendChangeEvent(){this.dispatchEvent(new CustomEvent("filter-value-changed",{bubbles:!0,composed:!0,cancelable:!0,detail:{value:this._value}}))}setValue(e){const t=["? in ?","? not in ?"].includes(this.filter?.expression)?e?.detail?.value:e?.target?.value;this._value!==t&&(this._value=t,this.filter={...this.filter,parameters:[{...this.filter?.parameters?.[0]},t]},this._sendChangeEvent())}selectValue(e){const i=(e.detail?.value??"").map(r=>Number.parseFloat(r));this.filter={...this.filter,parameters:[{...this.filter?.parameters?.[0]},i]},this._value=i,this._sendChangeEvent()}onScrolled(e){!this._retrieving&&!this._allValuesRetrieved&&e?.detail?.last===this._numericValues.length-1&&this._fetchNumericValues(this._numericValues.length)}renderNumberField(){return d.html`<luzmo-number-field
20
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("@luzmo/lucero/number-field");require("@luzmo/lucero/select");const d=require("lit"),h=require("@lit/localize"),f=require("@luzmo/lucero/utils"),b=require("../index-CAbDIHYI.cjs"),g=require("../set-locale-B8iQGfk0.cjs"),u=require("lit/decorators.js"),L=".missing-value{opacity:.4}:host{--var: blue}";var z=Object.defineProperty,k=Object.getOwnPropertyDescriptor,a=(m,e,t,i)=>{for(var r=i>1?void 0:i?k(e,t):e,s=m.length-1,n;s>=0;s--)(n=m[s])&&(r=(i?n(e,t,r):n(r))||r);return i&&r&&z(e,t,r),r};const y=5e3;exports.LuzmoFilterValuePickerNumeric=class extends f.SizedMixin(f.LuzmoElement,{validSizes:Object.values(f.ElementSizes)}){constructor(){super(...arguments),this.language="en",this.contentLanguage="en",this._numericValues=[],this._retrieving=!0,this._search="",this._error=null,this._allValuesRetrieved=!1,this._runningQueries=[]}static get styles(){return[d.unsafeCSS(L)]}connectedCallback(){super.connectedCallback();const e={};this.apiUrl&&(e.apiUrl=this.apiUrl),this.cacheTime&&(e.staleTime=this.cacheTime,e.gcTime=this.cacheTime*2),this.authKey&&this.authToken&&(e.authKey=this.authKey,e.authToken=this.authToken),b.dataBroker.configure(e)}willUpdate(e){const t=e.has("filter");if(e.has("language")&&this.language!==g.getLocale()&&([...g.targetLocales].includes(this.language??"en")||this.language==="en")&&g.setLocale(this.language),t&&this.filter){const r=e.get("filter")?.expression,s=this.filter?.expression,n=e.get("filter")?.parameters?.[0]?.columnId||e.get("filter")?.parameters?.[0]?.formulaId,o=this.filter?.parameters?.[0]?.columnId||this.filter?.parameters?.[0]?.formulaId;(n!==o||!["? in ?","? not in ?"].includes(r))&&["? in ?","? not in ?"].includes(s)&&(this._numericValues=[],this._allValuesRetrieved=!1,this._retrieving=!0)}}async _fetchNumericValues(e=0){if(this._allValuesRetrieved){this._retrieving=!1;return}if(!this.filter?.parameters?.[0]){this._retrieving=!1,this._error="Missing column parameters";return}const t=this.filter.parameters[0],i=t.columnId,r=t.formulaId,s=t.datasetId;if(!i&&!r){this._retrieving=!1,this._error="Missing column id or formula id";return}else if(!s){this._retrieving=!1,this._error="Missing dataset id";return}this._retrieving=!0,this._error=null;const n={expression:"? like ?",parameters:[{dataset_id:s,expression:`CAST({${s}:${i??r}},hierarchy)`},this._search]},o={dimensions:[{column_id:i,formula_id:r,dataset_id:s}],where:[],order:[{column_id:i,formula_id:r,dataset_id:s,order:"asc"}],limit:{by:y,offset:e}};this._search&&!this._allValuesRetrieved&&o.where.push(n);const _=new AbortController,p=new Promise((l,c)=>{b.dataBroker.fetchData(o).then(l).catch(c),_.signal.addEventListener("abort",()=>{console.warn("Request aborted"),c({status:"aborted"})})}),V={promise:p,abortController:_};this._runningQueries.push(V);try{const l=await p,c=l&&Array.isArray(l.data)?l.data.map(v=>v[0]):[];this._search||(this._allValuesRetrieved=c.length<y),this._numericValues=e>0?[...this._numericValues,...c]:c}catch(l){if(l?.status==="aborted")return;this._error=l instanceof Error?l.message:"Unknown error",this._numericValues=[]}finally{this._runningQueries=this._runningQueries.filter(l=>l.promise!==p),this._retrieving=!1}}_sendChangeEvent(){this.dispatchEvent(new CustomEvent("filter-value-changed",{bubbles:!0,composed:!0,cancelable:!0,detail:{value:this._value}}))}setValue(e){const t=["? in ?","? not in ?"].includes(this.filter?.expression)?e?.detail?.value:e?.target?.value;this._value!==t&&(this._value=t,this.filter={...this.filter,parameters:[{...this.filter?.parameters?.[0]},t]},this._sendChangeEvent())}selectValue(e){const i=(e.detail?.value??"").map(r=>Number.parseFloat(r));this.filter={...this.filter,parameters:[{...this.filter?.parameters?.[0]},i]},this._value=i,this._sendChangeEvent()}onScrolled(e){!this._retrieving&&!this._allValuesRetrieved&&e?.detail?.last===this._numericValues.length-1&&this._fetchNumericValues(this._numericValues.length)}renderNumberField(){return d.html`<luzmo-number-field
21
+ grows
21
22
  .size=${this.size}
22
23
  @change=${this.setValue}
23
24
  @input=${this.setValue}
@@ -22,8 +22,8 @@ import "@luzmo/lucero/select";
22
22
  import { unsafeCSS as x, html as z } from "lit";
23
23
  import { msg as h, localized as y } from "@lit/localize";
24
24
  import { SizedMixin as S, LuzmoElement as V, ElementSizes as w } from "@luzmo/lucero/utils";
25
- import { d as b } from "../index-DNPULp4A.js";
26
- import { g as k, t as L, s as $ } from "../set-locale-hKTMz37h.js";
25
+ import { d as b } from "../index-BikhVAa1.js";
26
+ import { g as k, t as L, s as $ } from "../set-locale-B5562CBM.js";
27
27
  import { property as c, state as d } from "lit/decorators.js";
28
28
  (function() {
29
29
  if (typeof document < "u" && !document.querySelector("style[data-luzmo-vars]")) {
@@ -165,6 +165,7 @@ let i = class extends S(V, {
165
165
  }
166
166
  renderNumberField() {
167
167
  return z`<luzmo-number-field
168
+ grows
168
169
  .size=${this.size}
169
170
  @change=${this.setValue}
170
171
  @input=${this.setValue}
@@ -17,4 +17,4 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={s00decbd8fed4f501:"Maximum",s0218a6cc95bc9386:"Type de plage",s0456d2ad905847d9:"dernier",s079a052719914d71:"Catégorie",s08098b07b4c86ff2:"&lt;=",s08108707b4ce87d4:"&gt;=",s088e3b07b5394bc3:"ég",s099b18e1bd8a1154:"Heures",s09c2b609dff29061:"Somme cumulative",s0acece4c687177a9:"Numéros de trimestre",s0bb151c9319a6813:"Axe X",s0bca0c91195d8d6d:"cont",s1125d159f7e64df5:"Affichage",s11326fd2590f4e5e:"Par défaut",s122f7f3f1a22ea50:"non ég",s13f5793e33ebda4f:"entre",s146475c4daa430ed:"Décimales",s178b06f4d02cfd40:"n'est pas manquant",s184501a399a815dc:"Trimestres",s18498398aeb37b07:"La semaine commence le",s187528426100c44e:"Aucune donnée",s1cdb6b07fe827486:"Numéro de la semaine",s1e593719b55d60c0:"MTD",s1e7745005c37315c:"Décalage relatif",s1f0916624a87d415:"Jour de l'année",s2454d1f117573457:"Précision",s247d110f13a3a288:"Jour de la semaine",s26273c258ddde0e1:"Sélectionner...",s2695506122ffd614:"Seconde dans la minute",s2718cebf7de190e1:"est entre",s2798d16f4e04857e:"Minute dans l'heure",s281f1d977ddc0ebe:"Numéro du mois",s2ea38ce3da088075:"Périodes",s2fb2a49481123d6a:"Semaines",s2fedf26ef08343d4:"est égal à",s31f1afc1bfe1cb3a:"En savoir plus",s3924c3d773a80312:"dernier dispo",s3c6455b19fb1c3e4:"Changement absolu",s3dcf7b255596a2c3:"Écart type",s441accd1cd3484c9:"Minute",s463b8c4e92751ba5:"Options",s467b030b9a34b3c8:"Moyenne",s48e186fb300e5464:"Temps",s496c60f73bdf5725:"Agrégation",s4b30fad1c34464e1:"supérieur ou égal à",s4b58c01e2578f5e4:"Légende",s4e585eeea351a038:"contient",s4efbcab48a433013:"Long",s4f27f6b48a68b5c2:"Verrouiller",s519d0aa80bbafd42:"semaine en cours",s57ace73e7c6e719f:"n'est pas dans",s58ec693e33483873:"inférieur à",s5d73a3b3b68e6cba:"Défini par l'utilisateur",s5d929ff1619ac0c9:"Rechercher",s5e2654fb8587f442:"Dupliquer",s602805b1eb3106c6:"Axe Y",s6031881827829901:"24h",s60b34c3c17dc35bd:"Années",s64ef2a6c2dd1d3d1:"Modifier",s66722bc2ea775e05:"Désactivé",s669b18c6d2d9c95b:"Aucun",s66dcbbc0355c2759:"Dimanche",s680f01021b5e339d:"Semaine",s6b0bffd88024372f:"Heure",s6de3d6e9660857a1:"Exemple",s708bbac083d05109:"ne commence pas par",s70a773eb3133e5fa:"mois en cours",s716a6024e3fe999c:"Afficher",s74dcd519e6563a26:"WTD",s7632fc9aa12bf382:"Mois",s782f286a79cca35d:"Relatif",s7a6878d41ffac284:"dernier complet",s7e357543a7b769f4:"Colonne de date de décalage",s846876f9b712e843:"n'est pas égal à",s862f5319f0256b94:"QTD",s8665d029b5cb8b24:"Totaux généraux",s8a56a8c8bd19c9c7:"manquant",s8d0259032729869d:"Seconde",s965c503c3e42fdfe:"Activé",s9689e928323dc124:"dernière (période) complète",s981f232bd33ec927:"Taux",s9854300ef4a37d18:"ne se termine pas par",s987abe19fac8d108:"Somme",s98c337186f2d57c6:"Largeur de la bin",s98db41a3eb532203:"année en cours",s991d216e6efc157c:"Aucun résultat",s996319f23f6cf0b5:"se termine par",s9b9009d4a5004fb8:"Regroupement",s9b9d6ce29d05a298:"inférieur ou égal à",s9e40e59654c8ad67:"Colonne",sa3c9339de23c1752:"Format",sa6ab5184d6315895:"De",sa6f2645578b2d2bc:"Année",sa7effa06c0f6784c:"supérieur à",sa8beb6b1182241ac:"Filtres",sac8256732f2ee1e5:"Données",sac8b59943205b14f:"prochaine (période) complète",sac94bb71f7737997:"Médiane",sacae74732f544fca:"Jours",saf63b34c8601a6e1:"&gt;",sb1f654608a3eea75:"Jour de la semaine",sb3b793ff5cc1bc39:"prochaines (x) périodes",sb47daaf9e1c4a905:"Mois",sb5b295e3a7500b9c:"Niveaux de durée",sb6513caf69971fb5:"Court",sb70671db5700ff60:"ne finit pas par",sb93e5af29aca2e3d:"est manquant",sbbb97b1c63507dc0:"Nombre",sbeebe911264bed23:"dernières (x) périodes disponibles",sc1bf67624fa6d498:"% de changement",sc4842e5b8b90466a:"Secondes",sc6e49f3d37e54030:"Heure dans la journée",sc6f5a4fc0583d734:"est dans",sc86e72c4fdd4e0ec:"Compter distinct",scb7bab1a17663a6c:"YTD",scf2bb2b0de9cdb8a:"Milliseconde",sd237be440de38cc7:"Trimestre",sd28141a332dc31fa:"Jour du mois",sd5b1040899eb149d:"suivant complet",sd66a74fff07a11fb:"{count} éléments sélectionnés",sd7ebafacf602c9bd:"Lettre",sdb73788b3c975f16:"Automatique",sdc673e73b5c13aea:"Supprimer",sdebe99a43259a451:"Compter les lignes",sdfeb2151b9e78d4d:"ne contient pas",se0955919920ee87d:"Jour",se211e3d21bbf3bff:"Mesure",se2b7530e30fa607d:"Comparaison de période",se415bbea6c976fb1:"Grouper par",se5316cbaa025f028:"suivant",se715be190539325a:"il y a",se9e535bb9591039e:"Sélectionner une expression",se9ff6e9a514d8cf9:"Lundi",seb4eae68d45315b7:"Minimum",seb9c440de1ce6044:"commence par",sec2f608650e36ac5:"dernière période complète",secf42ec1c7c47be2:"non manquant",see0ec27fb03d880e:"Minutes",sef49aec68fd1dc66:"Nom",sf095cc47a4ff9c3d:"Formule",sf518b78d9734f57b:"ne commence pas par",sf6cda8263b3170af:"Utiliser la période à ce jour pour les périodes incomplètes",sf70eaf9ab4c93082:"non cont",sf9c10516a62a23db:"Afficher comme",sfa2d0aa30ee5aa58:"dernières (x) périodes",sfad9ed343e97551c:"Valeur passée",sfb9e6d0c6baa99f5:"Correspond au plage de dates visible dans le graphique ou la table",sfbac36245480ddbc:"Séparateur",sfda1c9d0be35cec8:"trimestre en cours"};exports.templates=e;
20
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={s00decbd8fed4f501:"Maximum",s0218a6cc95bc9386:"Type de plage",s0456d2ad905847d9:"dernier",s079a052719914d71:"Catégorie",s08098b07b4c86ff2:"&lt;=",s08108707b4ce87d4:"&gt;=",s088e3b07b5394bc3:"ég",s099b18e1bd8a1154:"Heures",s09c2b609dff29061:"Somme cumulative",s0acece4c687177a9:"Numéros de trimestre",s0bb151c9319a6813:"Axe X",s0bca0c91195d8d6d:"cont",s1125d159f7e64df5:"Affichage",s11326fd2590f4e5e:"Par défaut",s122f7f3f1a22ea50:"non ég",s13f5793e33ebda4f:"entre",s146475c4daa430ed:"Décimales",s178b06f4d02cfd40:"n'est pas manquant",s184501a399a815dc:"Trimestres",s18498398aeb37b07:"La semaine commence le",s187528426100c44e:"Aucune donnée",s1cdb6b07fe827486:"Numéro de la semaine",s1e593719b55d60c0:"MTD",s1e7745005c37315c:"Décalage relatif",s1f0916624a87d415:"Jour de l'année",s2454d1f117573457:"Précision",s247d110f13a3a288:"Jour de la semaine",s26273c258ddde0e1:"Sélectionner...",s2695506122ffd614:"Seconde dans la minute",s2718cebf7de190e1:"est entre",s2798d16f4e04857e:"Minute dans l'heure",s281f1d977ddc0ebe:"Numéro du mois",s2ea38ce3da088075:"Périodes",s2fb2a49481123d6a:"Semaines",s2fedf26ef08343d4:"est égal à",s31f1afc1bfe1cb3a:"En savoir plus",s3924c3d773a80312:"dernier dispo",s3c6455b19fb1c3e4:"Changement absolu",s3dcf7b255596a2c3:"Écart type",s441accd1cd3484c9:"Minute",s463b8c4e92751ba5:"Options",s467b030b9a34b3c8:"Moyenne",s48e186fb300e5464:"Temps",s496c60f73bdf5725:"Agrégation",s4b30fad1c34464e1:"supérieur ou égal à",s4b58c01e2578f5e4:"Légende",s4e585eeea351a038:"contient",s4efbcab48a433013:"Long",s4f27f6b48a68b5c2:"Verrouiller",s519d0aa80bbafd42:"semaine en cours",s57ace73e7c6e719f:"n'est pas dans",s58ec693e33483873:"inférieur à",s5d73a3b3b68e6cba:"Défini par l'utilisateur",s5d929ff1619ac0c9:"Rechercher",s5e2654fb8587f442:"Dupliquer",s602805b1eb3106c6:"Axe Y",s6031881827829901:"24h",s60b34c3c17dc35bd:"Années",s64ef2a6c2dd1d3d1:"Modifier",s66722bc2ea775e05:"Désactivé",s669b18c6d2d9c95b:"Aucun",s66dcbbc0355c2759:"Dimanche",s680f01021b5e339d:"Semaine",s6b0bffd88024372f:"Heure",s6de3d6e9660857a1:"Exemple",s708bbac083d05109:"ne commence pas par",s70a773eb3133e5fa:"mois en cours",s716a6024e3fe999c:"Afficher",s74dcd519e6563a26:"WTD",s7632fc9aa12bf382:"Mois",s782f286a79cca35d:"Relatif",s7a6878d41ffac284:"dernier complet",s7e357543a7b769f4:"Colonne de date de décalage",s846876f9b712e843:"n'est pas égal à",s862f5319f0256b94:"QTD",s8665d029b5cb8b24:"Totaux généraux",s8a56a8c8bd19c9c7:"manquant",s8d0259032729869d:"Seconde",s8de2a5b227e80c95:"(x) périodes ou plus",s965c503c3e42fdfe:"Activé",s9689e928323dc124:"dernière (période) complète",s981f232bd33ec927:"Taux",s9854300ef4a37d18:"ne se termine pas par",s987abe19fac8d108:"Somme",s98c337186f2d57c6:"Largeur de la bin",s98db41a3eb532203:"année en cours",s991d216e6efc157c:"Aucun résultat",s996319f23f6cf0b5:"se termine par",s9b9009d4a5004fb8:"Regroupement",s9b9d6ce29d05a298:"inférieur ou égal à",s9e40e59654c8ad67:"Colonne",sa3c9339de23c1752:"Format",sa6ab5184d6315895:"De",sa6f2645578b2d2bc:"Année",sa7effa06c0f6784c:"supérieur à",sa8beb6b1182241ac:"Filtres",sa91d4991fca9514e:"plus de",sac8256732f2ee1e5:"Données",sac8b59943205b14f:"prochaine (période) complète",sac94bb71f7737997:"Médiane",sacae74732f544fca:"Jours",saf2a19f4eaf00f68:"ou plus",saf63b34c8601a6e1:"&gt;",sb1f654608a3eea75:"Jour de la semaine",sb3b793ff5cc1bc39:"prochaines (x) périodes",sb47daaf9e1c4a905:"Mois",sb5b295e3a7500b9c:"Niveaux de durée",sb6513caf69971fb5:"Court",sb70671db5700ff60:"ne finit pas par",sb93e5af29aca2e3d:"est manquant",sbbb97b1c63507dc0:"Nombre",sbeebe911264bed23:"dernières (x) périodes disponibles",sc1bf67624fa6d498:"% de changement",sc4842e5b8b90466a:"Secondes",sc6e49f3d37e54030:"Heure dans la journée",sc6f5a4fc0583d734:"est dans",sc86e72c4fdd4e0ec:"Compter distinct",scb7bab1a17663a6c:"YTD",scf2bb2b0de9cdb8a:"Milliseconde",sd237be440de38cc7:"Trimestre",sd28141a332dc31fa:"Jour du mois",sd5b1040899eb149d:"suivant complet",sd66a74fff07a11fb:"{count} éléments sélectionnés",sd7ebafacf602c9bd:"Lettre",sdb73788b3c975f16:"Automatique",sdc673e73b5c13aea:"Supprimer",sdebe99a43259a451:"Compter les lignes",sdfeb2151b9e78d4d:"ne contient pas",se0955919920ee87d:"Jour",se211e3d21bbf3bff:"Mesure",se2b7530e30fa607d:"Comparaison de période",se2d6ee866b592a9f:"plus de (x) périodes",se415bbea6c976fb1:"Grouper par",se5316cbaa025f028:"suivant",se715be190539325a:"il y a",se9e535bb9591039e:"Sélectionner une expression",se9ff6e9a514d8cf9:"Lundi",seb4eae68d45315b7:"Minimum",seb9c440de1ce6044:"commence par",sec2f608650e36ac5:"dernière période complète",secf42ec1c7c47be2:"non manquant",see0ec27fb03d880e:"Minutes",sef49aec68fd1dc66:"Nom",sf095cc47a4ff9c3d:"Formule",sf518b78d9734f57b:"ne commence pas par",sf6cda8263b3170af:"Utiliser la période à ce jour pour les périodes incomplètes",sf70eaf9ab4c93082:"non cont",sf9c10516a62a23db:"Afficher comme",sfa2d0aa30ee5aa58:"dernières (x) périodes",sfad9ed343e97551c:"Valeur passée",sfb9e6d0c6baa99f5:"Correspond au plage de dates visible dans le graphique ou la table",sfbac36245480ddbc:"Séparateur",sfda1c9d0be35cec8:"trimestre en cours",s7c95876637f6a9d7:"Filter",s92ab9b834d8fd1fc:"Subgroup",s79f7983c97f2aaed:"Add filter group",s8ba2b22eee9bb57e:"Add filter",s98b1cb8fb62909ec:"Group"};exports.templates=e;