@luzmo/analytics-components-kit 1.0.1-alpha.35 → 1.0.1-alpha.38

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 (95) hide show
  1. package/components/{calculate-data-item-icon-DauSiV8c.js → calculate-data-item-icon-BPZYysi7.js} +23 -23
  2. package/components/{calculate-data-item-icon-BtUWtDx3.cjs → calculate-data-item-icon-BpMATs29.cjs} +1 -1
  3. package/components/display-settings/index.cjs +3 -3
  4. package/components/display-settings/index.js +4 -4
  5. package/components/display-settings-binning/index.cjs +2 -2
  6. package/components/display-settings-binning/index.js +12 -12
  7. package/components/display-settings-datetime/index.cjs +4 -4
  8. package/components/display-settings-datetime/index.js +10 -10
  9. package/components/display-settings-grand-totals/index.cjs +2 -2
  10. package/components/display-settings-grand-totals/index.js +6 -6
  11. package/components/display-settings-numeric/index.cjs +2 -2
  12. package/components/display-settings-numeric/index.js +6 -6
  13. package/components/display-settings-period-over-period/index.cjs +1 -1
  14. package/components/display-settings-period-over-period/index.js +4 -4
  15. package/components/draggable-data-item-level/index.cjs +4 -4
  16. package/components/draggable-data-item-level/index.js +6 -6
  17. package/components/droppable-slot/index.cjs +3 -3
  18. package/components/droppable-slot/index.js +3 -3
  19. package/components/edit-item/index.cjs +5 -5
  20. package/components/edit-item/index.js +1 -1
  21. package/components/edit-option-action-button-group/index.cjs +1 -1
  22. package/components/edit-option-action-button-group/index.js +21 -21
  23. package/components/{edit-option-base-Brji81Gq.js → edit-option-base-BHvx3Mlq.js} +1 -1
  24. package/components/{edit-option-base-DDvWhumg.cjs → edit-option-base-J7XNb_vp.cjs} +1 -1
  25. package/components/edit-option-color-picker/index.cjs +51 -67
  26. package/components/edit-option-color-picker/index.js +4533 -1376
  27. package/components/edit-option-multi-language-field/index.cjs +1 -1
  28. package/components/edit-option-multi-language-field/index.js +2 -2
  29. package/components/edit-option-number-field/index.cjs +1 -1
  30. package/components/edit-option-number-field/index.js +2 -2
  31. package/components/edit-option-picker/index.cjs +1 -1
  32. package/components/edit-option-picker/index.js +3 -3
  33. package/components/edit-option-position-picker/index.cjs +1 -1
  34. package/components/edit-option-position-picker/index.js +2 -2
  35. package/components/edit-option-positions-number-field/index.cjs +2 -2
  36. package/components/edit-option-positions-number-field/index.js +7 -7
  37. package/components/edit-option-radio-button-group/index.cjs +1 -1
  38. package/components/edit-option-radio-button-group/index.js +2 -2
  39. package/components/edit-option-slider/index.cjs +1 -1
  40. package/components/edit-option-slider/index.js +1 -1
  41. package/components/edit-option-switch/index.cjs +1 -1
  42. package/components/edit-option-switch/index.js +1 -1
  43. package/components/edit-option-text-field/index.cjs +1 -1
  44. package/components/edit-option-text-field/index.js +2 -2
  45. package/components/filter-data-item-picker/index.cjs +1 -1
  46. package/components/filter-data-item-picker/index.js +4 -4
  47. package/components/filter-expression-picker/index.cjs +1 -1
  48. package/components/filter-expression-picker/index.js +1 -1
  49. package/components/filter-item/index.cjs +1 -1
  50. package/components/filter-item/index.js +1 -1
  51. package/components/filter-value-picker/index.cjs +1 -1
  52. package/components/filter-value-picker/index.js +1 -1
  53. package/components/filter-value-picker-datetime/index.cjs +8 -8
  54. package/components/filter-value-picker-datetime/index.js +9 -9
  55. package/components/filter-value-picker-hierarchy/index.cjs +1 -1
  56. package/components/filter-value-picker-hierarchy/index.js +2 -2
  57. package/components/filter-value-picker-numeric/index.cjs +1 -1
  58. package/components/filter-value-picker-numeric/index.js +2 -2
  59. package/components/{index-C8XzR0jl.js → index-0AQhhYNR.js} +4 -4
  60. package/components/{index-b3FPYSZk.js → index-5UNCjfdE.js} +2 -2
  61. package/components/{index-Tx5oQjbt.cjs → index-B0rH2mr9.cjs} +1 -1
  62. package/components/{index-C2TAa6lH.cjs → index-B4EIbvuW.cjs} +7 -7
  63. package/components/{index-D7LSPBqz.js → index-BFPa6sJd.js} +1 -1
  64. package/components/{index-BC1LV3vH.js → index-BNBJLKST.js} +1 -1
  65. package/components/{index-C0rOztJP.cjs → index-BhpqKmwq.cjs} +1 -1
  66. package/components/{index-Dj9-40eZ.js → index-BlLF9xYw.js} +5 -5
  67. package/components/{index-DbPlCKPI.cjs → index-C0mIH6sE.cjs} +1 -1
  68. package/components/{index-cHKqEi5-.cjs → index-C7pagyza.cjs} +3 -3
  69. package/components/{index-DSQyBS9Z.cjs → index-CKenYdIM.cjs} +1 -1
  70. package/components/{index-B888fnYx.cjs → index-COiTyPcJ.cjs} +1 -1
  71. package/components/{index-DE3d0E0P.js → index-CyAospmR.js} +2 -2
  72. package/components/{index-Cbm8MFTj.js → index-D5asknFy.js} +5 -5
  73. package/components/{index-rQxtPaJl.js → index-DDR_JmOh.js} +1 -1
  74. package/components/{index-CbuHBIDB.js → index-DFe4VuxB.js} +2 -2
  75. package/components/{index-CYqSw2_J.cjs → index-DJKhZGty.cjs} +14 -14
  76. package/components/{index-Rydj3Txs.js → index-Dh6CgbzT.js} +51 -52
  77. package/components/{index-CBOAQ3-E.cjs → index-ROT368zu.cjs} +5 -5
  78. package/components/{index-PfWxaas9.cjs → index-eHmbYtYG.cjs} +3 -3
  79. package/components/{index-Desl7GJ0.js → index-jlphu2Tm.js} +2 -2
  80. package/components/{index-C2PPSv8E.cjs → index-uoJRMChX.cjs} +2 -2
  81. package/components/index.cjs +1 -1
  82. package/components/index.js +1 -1
  83. package/components/{luzmo-icons-CPucBq6e.js → luzmo-icons-BZPchcMw.js} +61 -61
  84. package/components/{luzmo-icons-Nyf1P71v.cjs → luzmo-icons-BpFUFRQm.cjs} +2 -2
  85. package/components/{luzmo-icons-DbwDQtuO-DSQ-uVxy.cjs → luzmo-icons-NEyaMpEM-1fxXxs3F.cjs} +2 -2
  86. package/components/{luzmo-icons-DbwDQtuO-QG0fLECn.js → luzmo-icons-NEyaMpEM-DbyDs_5B.js} +9 -9
  87. package/components/{pending-state-DTX7ggyF-qbk3sPcq.js → pending-state-DTX7ggyF-B_9VbFxI.js} +2 -2
  88. package/components/{pending-state-DTX7ggyF-B5ihSygL.cjs → pending-state-DTX7ggyF-C_go9EJh.cjs} +1 -1
  89. package/components/slot-menu/index.cjs +4 -4
  90. package/components/slot-menu/index.js +1 -1
  91. package/components/slot-menu-list/index.cjs +3 -3
  92. package/components/slot-menu-list/index.js +6 -6
  93. package/components/{text-field-BIADXoLC-B8w9TVmS.cjs → text-field-B9IkRRxO-CRU1UGaM.cjs} +1 -1
  94. package/components/{text-field-BIADXoLC-B9oE05VF.js → text-field-B9IkRRxO-CWWQN_rn.js} +1 -1
  95. package/package.json +1 -1
@@ -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";require("./index-j8UKjHqY.cjs");require("./index-PfWxaas9.cjs");require("./index-CYqSw2_J.cjs");const a=require("./property-Dlf9S6Jz.cjs"),e=require("./set-locale-5FFfQpVQ.cjs"),q=require("./localized-decorator-ClAOFk8M.cjs"),h=require("./base-D76d76ww-tT6yr8eb.cjs");require("./focusable-BxtpnzWp-CkK9AeMt.cjs");const E=require("./state-CrfOw8Zp.cjs"),u=()=>[{id:"? = ?",key:"? = ?",expression:"? = ?",name:e.msg("equals",{desc:"Filter expression for equals comparison"}),description:e.msg("equals",{desc:"Filter expression for equals comparison"}),tiny:e.msg("eq",{desc:"Short form of equals comparison"}),type:["numeric","hierarchy"],subtype:["ip_address"]},{id:"? != ?",key:"? != ?",expression:"? != ?",name:e.msg("not equals",{desc:"Filter expression for not equals comparison"}),description:e.msg("not equals",{desc:"Filter expression for not equals comparison"}),tiny:e.msg("not eq",{desc:"Short form of not equals comparison"}),type:["numeric","hierarchy"],subtype:["ip_address"]},{id:"? in ?",key:"? in ?",expression:"? in ?",name:e.msg("is in",{desc:"Filter expression for in comparison"}),description:e.msg("is in",{desc:"Filter expression for in comparison"}),tiny:e.msg("is in",{desc:"Filter expression for in comparison"}),type:["numeric","hierarchy"],subtype:["ip_address"]},{id:"? not in ?",key:"? not in ?",expression:"? not in ?",name:e.msg("is not in",{desc:"Filter expression for not in comparison"}),description:e.msg("is not in",{desc:"Filter expression for not in comparison"}),tiny:e.msg("is not in",{desc:"Filter expression for not in comparison"}),type:["numeric","hierarchy"],subtype:["ip_address"]},{id:"? like ?",key:"? like ?",expression:"? like ?",name:e.msg("contains",{desc:"Filter expression for contains comparison"}),description:e.msg("contains",{desc:"Filter expression for contains comparison"}),tiny:e.msg("cont",{desc:"Short form of contains comparison in filter expression"}),type:["hierarchy"],subtype:["ip_address"]},{id:"? not like ?",key:"? not like ?",expression:"? not like ?",name:e.msg("does not contain",{desc:"Filter expression for does not contain comparison"}),description:e.msg("does not contain",{desc:"Filter expression for does not contain comparison"}),tiny:e.msg("not cont",{desc:"Short form of does not contain comparison in filter expression"}),type:["hierarchy"],subtype:["ip_address"]},{id:"? starts with ?",key:"? starts with ?",expression:"? starts with ?",name:e.msg("starts with",{desc:"Filter expression for starts with comparison"}),description:e.msg("starts with",{desc:"Filter expression for starts with comparison"}),tiny:e.msg("starts with",{desc:"Filter expression for starts with comparison"}),type:["hierarchy"],subtype:["ip_address"]},{id:"? not starts with ?",key:"? not starts with ?",expression:"? not starts with ?",name:e.msg("does not start with",{desc:"Filter expression for does not start with comparison"}),description:e.msg("does not start with",{desc:"Filter expression for does not start with comparison"}),tiny:e.msg("not starts with",{desc:"Short form of does not start with comparison in filter expression"}),type:["hierarchy"],subtype:["ip_address"]},{id:"? ends with ?",key:"? ends with ?",expression:"? ends with ?",name:e.msg("ends with",{desc:"Filter expression for ends with comparison"}),description:e.msg("ends with",{desc:"Filter expression for ends with comparison"}),tiny:e.msg("ends with",{desc:"Filter expression for ends with comparison"}),type:["hierarchy"],subtype:["ip_address"]},{id:"? not ends with ?",key:"? not ends with ?",expression:"? not ends with ?",name:e.msg("does not end with",{desc:"Filter expression for does not end with comparison"}),description:e.msg("does not end with",{desc:"Filter expression for does not end with comparison"}),tiny:e.msg("not ends with",{desc:"Short form of does not end with comparison in filter expression"}),type:["hierarchy"],subtype:["ip_address"]},{id:"? < ?",key:"? < ?",expression:"? < ?",name:e.msg("less than",{desc:"Filter expression for less than comparison"}),description:e.msg("less than",{desc:"Filter expression for less than comparison"}),tiny:e.msg("less than",{desc:"Filter expression for less than comparison"}),type:["numeric","datetime"],subtype:["ip_address"]},{id:"? <= ?",key:"? <= ?",expression:"? <= ?",name:e.msg("less than or equal",{desc:"Filter expression for less than or equal comparison"}),description:e.msg("less than or equal",{desc:"Filter expression for less than or equal comparison"}),tiny:e.msg("<=",{desc:"Short form of less than or equal comparison in filter expression"}),type:["numeric","datetime"],subtype:["ip_address"]},{id:"? > ?",key:"? > ?",expression:"? > ?",name:e.msg("greater than",{desc:"Filter expression for greater than comparison"}),description:e.msg("greater than",{desc:"Filter expression for greater than comparison"}),tiny:e.msg(">",{desc:"Short form of greater than comparison in filter expression"}),type:["numeric","datetime"],subtype:["ip_address"]},{id:"? >= ?",key:"? >= ?",expression:"? >= ?",name:e.msg("greater than or equal",{desc:"Filter expression for greater than or equal comparison"}),description:e.msg("greater than or equal",{desc:"Filter expression for greater than or equal comparison"}),tiny:e.msg(">=",{desc:"Short form of greater than or equal comparison in filter expression"}),type:["numeric","datetime"],subtype:["ip_address"]},{id:"? between ?",key:"? between ?",expression:"? between ?",name:e.msg("is between",{desc:"Filter expression for between comparison"}),description:e.msg("is between",{desc:"Filter expression for between comparison"}),tiny:e.msg("between",{desc:"Short form of between comparison in filter expression"}),type:[],subtype:["ip_address"]},{id:"last_now",key:"last_now",expression:"last_now",name:e.msg("last (x) periods",{desc:"Filter expression for last (x) periods"}),description:e.msg("last (x) periods",{desc:"Filter expression for last (x) periods"}),tiny:e.msg("last",{desc:"Short form of last (x) periods in filter expression"}),type:["datetime"]},{id:"last_available",key:"last_available",expression:"last_available",name:e.msg("last (x) available periods",{desc:"Filter expression for last (x) available periods"}),description:e.msg("last (x) available periods",{desc:"Filter expression for last (x) available periods"}),tiny:e.msg("last available",{desc:"Short form of last (x) available periods in filter expression"}),type:["datetime"]},{id:"last_completed",key:"last_completed",expression:"last_completed",name:e.msg("last completed period",{desc:"Filter expression for last completed period"}),description:e.msg("last completed (period)",{desc:"Filter expression for last completed period"}),tiny:e.msg("last completed",{desc:"Short form of last completed period in filter expression"}),type:["datetime"]},{id:"next_now",key:"next_now",expression:"next_now",name:e.msg("next (x) periods",{desc:"Filter expression for next (x) periods"}),description:e.msg("next (x) periods",{desc:"Filter expression for next (x) periods"}),tiny:e.msg("next",{desc:"Short form of next (x) periods in filter expression"}),type:["datetime"]},{id:"next_full",key:"next_full",expression:"next_full",name:e.msg("next full (period)",{desc:"Filter expression for next full period"}),description:e.msg("next full (period)",{desc:"Filter expression for next full period"}),tiny:e.msg("next full",{desc:"Short form of next full period in filter expression"}),type:["datetime"]},{id:"WTD",key:"to_date",expression:"to_date",unit:4,name:e.msg("week to date",{desc:"Filter expression for week to date"}),description:e.msg("week to date",{desc:"Filter expression for week to date"}),tiny:e.msg("WTD",{desc:"Short form of week to date in filter expression"}),type:["datetime"]},{id:"MTD",key:"to_date",expression:"to_date",unit:3,name:e.msg("month to date",{desc:"Filter expression for month to date"}),description:e.msg("month to date",{desc:"Filter expression for month to date"}),tiny:e.msg("MTD",{desc:"Short form of month to date in filter expression"}),type:["datetime"]},{id:"QTD",key:"to_date",expression:"to_date",unit:2,name:e.msg("quarter to date",{desc:"Filter expression for quarter to date"}),description:e.msg("quarter to date",{desc:"Filter expression for quarter to date"}),tiny:e.msg("QTD",{desc:"Short form of quarter to date in filter expression"}),type:["datetime"]},{id:"YTD",key:"to_date",expression:"to_date",unit:1,name:e.msg("year to date",{desc:"Filter expression for year to date"}),description:e.msg("year to date",{desc:"Filter expression for year to date"}),tiny:e.msg("YTD",{desc:"Short form of year to date in filter expression"}),type:["datetime"]},{id:"? is null",key:"? is null",expression:"? is null",name:e.msg("is missing",{desc:"Filter expression for is missing"}),description:e.msg("is missing",{desc:"Filter expression for is missing"}),tiny:e.msg("missing",{desc:"Short form of is missing in filter expression"}),type:["numeric","datetime","hierarchy","spatial"],subtype:["ip_address"]},{id:"? is not null",key:"? is not null",expression:"? is not null",name:e.msg("is not missing",{desc:"Filter expression for is not missing"}),description:e.msg("is not missing",{desc:"Filter expression for is not missing"}),tiny:e.msg("not missing",{desc:"Short form of is not missing in filter expression"}),type:["numeric","datetime","hierarchy","spatial"],subtype:["ip_address"]}],f=(d,s,t)=>{const r=new Set(["? in ?","? not in ?"]);return!d&&!s?u():u().filter(i=>{var o;return(d&&i.type.includes(d)||s&&((o=i.subtype)==null?void 0:o.includes(s)))&&!(t&&r.has(i.key))})},S=":host{font-family:var(--luzmo-font-family)}:host{--var: blue}";var z=Object.defineProperty,v=Object.getOwnPropertyDescriptor,p=(d,s,t,r)=>{for(var i=r>1?void 0:r?v(s,t):s,o=d.length-1,n;o>=0;o--)(n=d[o])&&(i=(r?n(s,t,i):n(i))||i);return r&&i&&z(s,t,i),i};exports.LuzmoFilterExpressionPicker=class extends h.m(h.It,{validSizes:Object.values(h.d$1)}){constructor(){super(...arguments),this.language="en",this.hasLabel=!1,this.allowEmpty=!1,this.placeholder="",this.disabled=!1,this.invalid=!1,this.isFormula=!1,this._expressionConfigurations=u()}static get styles(){return[a.r(S)]}_sendChangeEvent(){var t,r,i,o,n,l,c;if(this.disabled)return;const s={expression:(t=this.filter)==null?void 0:t.expression};(o=(i=(r=this.filter)==null?void 0:r.parameters)==null?void 0:i[1])!=null&&o.unit&&(s.unit=(c=(l=(n=this.filter)==null?void 0:n.parameters)==null?void 0:l[1])==null?void 0:c.unit),this.dispatchEvent(new CustomEvent("expression-selected",{bubbles:!0,composed:!0,cancelable:!0,detail:s}))}setExpression(s){var i,o;this._richExpression=(o=(i=s==null?void 0:s.detail)==null?void 0:i.value)==null?void 0:o[0];const t=this._expressionConfigurations.find(n=>n.id===this._richExpression),r=structuredClone(this.filter);r.expression=t==null?void 0:t.expression,t!=null&&t.unit&&(this._unit=t.unit,r!=null&&r.parameters[0]&&(r.parameters[1]={unit:this._unit})),this.filter=r,this._sendChangeEvent()}willUpdate(s){var x,y,g,F,b,w,_;const t=s.has("language"),r=s.has("filter"),i=s.has("type"),o=s.has("subtype"),n=s.has("isFormula");t&&this.language!==e.getLocale()&&([...e.targetLocales].includes(this.language??"en")||this.language==="en")&&e.setLocale(this.language);const l=f(this.type,this.subtype,this.isFormula),c=["YTD","QTD","MTD","WTD"];if(((x=this.filter)==null?void 0:x.expression)==="to_date"){const m=((g=(y=this.filter)==null?void 0:y.parameters[1])==null?void 0:g.unit)??1;this._unit=m,this._richExpression=c[m-1]??"YTD"}else this._richExpression=(F=this.filter)==null?void 0:F.expression;(i||o||n||r)&&this.filter&&!this.disabled&&!(l!=null&&l.find(m=>{var k;return m.expression===((k=this.filter)==null?void 0:k.expression)}))?(this.invalid=!0,console.warn(`Warning: ${(b=this.filter)==null?void 0:b.expression} is not valid given the type: ${this.type} and subtype: ${this.subtype}`)):this.invalid=!1,!((w=this.filter)!=null&&w.expression)&&!this.allowEmpty&&(this._richExpression=(_=l==null?void 0:l[0])==null?void 0:_.id,this.filter={...this.filter,expression:this._richExpression},this._sendChangeEvent())}render(){var i,o;const s=(i=f(this.type,this.subtype,this.isFormula))==null?void 0:i.map(n=>({value:n.id,label:n.description,shortLabel:n.tiny})),t=this.disabled||!((o=this.filter)!=null&&o.expression)&&!this.allowEmpty,r=a.x`<luzmo-field-label
20
+ "use strict";require("./index-j8UKjHqY.cjs");require("./index-eHmbYtYG.cjs");require("./index-DJKhZGty.cjs");const a=require("./property-Dlf9S6Jz.cjs"),e=require("./set-locale-5FFfQpVQ.cjs"),q=require("./localized-decorator-ClAOFk8M.cjs"),h=require("./base-D76d76ww-tT6yr8eb.cjs");require("./focusable-BxtpnzWp-CkK9AeMt.cjs");const E=require("./state-CrfOw8Zp.cjs"),u=()=>[{id:"? = ?",key:"? = ?",expression:"? = ?",name:e.msg("equals",{desc:"Filter expression for equals comparison"}),description:e.msg("equals",{desc:"Filter expression for equals comparison"}),tiny:e.msg("eq",{desc:"Short form of equals comparison"}),type:["numeric","hierarchy"],subtype:["ip_address"]},{id:"? != ?",key:"? != ?",expression:"? != ?",name:e.msg("not equals",{desc:"Filter expression for not equals comparison"}),description:e.msg("not equals",{desc:"Filter expression for not equals comparison"}),tiny:e.msg("not eq",{desc:"Short form of not equals comparison"}),type:["numeric","hierarchy"],subtype:["ip_address"]},{id:"? in ?",key:"? in ?",expression:"? in ?",name:e.msg("is in",{desc:"Filter expression for in comparison"}),description:e.msg("is in",{desc:"Filter expression for in comparison"}),tiny:e.msg("is in",{desc:"Filter expression for in comparison"}),type:["numeric","hierarchy"],subtype:["ip_address"]},{id:"? not in ?",key:"? not in ?",expression:"? not in ?",name:e.msg("is not in",{desc:"Filter expression for not in comparison"}),description:e.msg("is not in",{desc:"Filter expression for not in comparison"}),tiny:e.msg("is not in",{desc:"Filter expression for not in comparison"}),type:["numeric","hierarchy"],subtype:["ip_address"]},{id:"? like ?",key:"? like ?",expression:"? like ?",name:e.msg("contains",{desc:"Filter expression for contains comparison"}),description:e.msg("contains",{desc:"Filter expression for contains comparison"}),tiny:e.msg("cont",{desc:"Short form of contains comparison in filter expression"}),type:["hierarchy"],subtype:["ip_address"]},{id:"? not like ?",key:"? not like ?",expression:"? not like ?",name:e.msg("does not contain",{desc:"Filter expression for does not contain comparison"}),description:e.msg("does not contain",{desc:"Filter expression for does not contain comparison"}),tiny:e.msg("not cont",{desc:"Short form of does not contain comparison in filter expression"}),type:["hierarchy"],subtype:["ip_address"]},{id:"? starts with ?",key:"? starts with ?",expression:"? starts with ?",name:e.msg("starts with",{desc:"Filter expression for starts with comparison"}),description:e.msg("starts with",{desc:"Filter expression for starts with comparison"}),tiny:e.msg("starts with",{desc:"Filter expression for starts with comparison"}),type:["hierarchy"],subtype:["ip_address"]},{id:"? not starts with ?",key:"? not starts with ?",expression:"? not starts with ?",name:e.msg("does not start with",{desc:"Filter expression for does not start with comparison"}),description:e.msg("does not start with",{desc:"Filter expression for does not start with comparison"}),tiny:e.msg("not starts with",{desc:"Short form of does not start with comparison in filter expression"}),type:["hierarchy"],subtype:["ip_address"]},{id:"? ends with ?",key:"? ends with ?",expression:"? ends with ?",name:e.msg("ends with",{desc:"Filter expression for ends with comparison"}),description:e.msg("ends with",{desc:"Filter expression for ends with comparison"}),tiny:e.msg("ends with",{desc:"Filter expression for ends with comparison"}),type:["hierarchy"],subtype:["ip_address"]},{id:"? not ends with ?",key:"? not ends with ?",expression:"? not ends with ?",name:e.msg("does not end with",{desc:"Filter expression for does not end with comparison"}),description:e.msg("does not end with",{desc:"Filter expression for does not end with comparison"}),tiny:e.msg("not ends with",{desc:"Short form of does not end with comparison in filter expression"}),type:["hierarchy"],subtype:["ip_address"]},{id:"? < ?",key:"? < ?",expression:"? < ?",name:e.msg("less than",{desc:"Filter expression for less than comparison"}),description:e.msg("less than",{desc:"Filter expression for less than comparison"}),tiny:e.msg("less than",{desc:"Filter expression for less than comparison"}),type:["numeric","datetime"],subtype:["ip_address"]},{id:"? <= ?",key:"? <= ?",expression:"? <= ?",name:e.msg("less than or equal",{desc:"Filter expression for less than or equal comparison"}),description:e.msg("less than or equal",{desc:"Filter expression for less than or equal comparison"}),tiny:e.msg("<=",{desc:"Short form of less than or equal comparison in filter expression"}),type:["numeric","datetime"],subtype:["ip_address"]},{id:"? > ?",key:"? > ?",expression:"? > ?",name:e.msg("greater than",{desc:"Filter expression for greater than comparison"}),description:e.msg("greater than",{desc:"Filter expression for greater than comparison"}),tiny:e.msg(">",{desc:"Short form of greater than comparison in filter expression"}),type:["numeric","datetime"],subtype:["ip_address"]},{id:"? >= ?",key:"? >= ?",expression:"? >= ?",name:e.msg("greater than or equal",{desc:"Filter expression for greater than or equal comparison"}),description:e.msg("greater than or equal",{desc:"Filter expression for greater than or equal comparison"}),tiny:e.msg(">=",{desc:"Short form of greater than or equal comparison in filter expression"}),type:["numeric","datetime"],subtype:["ip_address"]},{id:"? between ?",key:"? between ?",expression:"? between ?",name:e.msg("is between",{desc:"Filter expression for between comparison"}),description:e.msg("is between",{desc:"Filter expression for between comparison"}),tiny:e.msg("between",{desc:"Short form of between comparison in filter expression"}),type:[],subtype:["ip_address"]},{id:"last_now",key:"last_now",expression:"last_now",name:e.msg("last (x) periods",{desc:"Filter expression for last (x) periods"}),description:e.msg("last (x) periods",{desc:"Filter expression for last (x) periods"}),tiny:e.msg("last",{desc:"Short form of last (x) periods in filter expression"}),type:["datetime"]},{id:"last_available",key:"last_available",expression:"last_available",name:e.msg("last (x) available periods",{desc:"Filter expression for last (x) available periods"}),description:e.msg("last (x) available periods",{desc:"Filter expression for last (x) available periods"}),tiny:e.msg("last available",{desc:"Short form of last (x) available periods in filter expression"}),type:["datetime"]},{id:"last_completed",key:"last_completed",expression:"last_completed",name:e.msg("last completed period",{desc:"Filter expression for last completed period"}),description:e.msg("last completed (period)",{desc:"Filter expression for last completed period"}),tiny:e.msg("last completed",{desc:"Short form of last completed period in filter expression"}),type:["datetime"]},{id:"next_now",key:"next_now",expression:"next_now",name:e.msg("next (x) periods",{desc:"Filter expression for next (x) periods"}),description:e.msg("next (x) periods",{desc:"Filter expression for next (x) periods"}),tiny:e.msg("next",{desc:"Short form of next (x) periods in filter expression"}),type:["datetime"]},{id:"next_full",key:"next_full",expression:"next_full",name:e.msg("next full (period)",{desc:"Filter expression for next full period"}),description:e.msg("next full (period)",{desc:"Filter expression for next full period"}),tiny:e.msg("next full",{desc:"Short form of next full period in filter expression"}),type:["datetime"]},{id:"WTD",key:"to_date",expression:"to_date",unit:4,name:e.msg("week to date",{desc:"Filter expression for week to date"}),description:e.msg("week to date",{desc:"Filter expression for week to date"}),tiny:e.msg("WTD",{desc:"Short form of week to date in filter expression"}),type:["datetime"]},{id:"MTD",key:"to_date",expression:"to_date",unit:3,name:e.msg("month to date",{desc:"Filter expression for month to date"}),description:e.msg("month to date",{desc:"Filter expression for month to date"}),tiny:e.msg("MTD",{desc:"Short form of month to date in filter expression"}),type:["datetime"]},{id:"QTD",key:"to_date",expression:"to_date",unit:2,name:e.msg("quarter to date",{desc:"Filter expression for quarter to date"}),description:e.msg("quarter to date",{desc:"Filter expression for quarter to date"}),tiny:e.msg("QTD",{desc:"Short form of quarter to date in filter expression"}),type:["datetime"]},{id:"YTD",key:"to_date",expression:"to_date",unit:1,name:e.msg("year to date",{desc:"Filter expression for year to date"}),description:e.msg("year to date",{desc:"Filter expression for year to date"}),tiny:e.msg("YTD",{desc:"Short form of year to date in filter expression"}),type:["datetime"]},{id:"? is null",key:"? is null",expression:"? is null",name:e.msg("is missing",{desc:"Filter expression for is missing"}),description:e.msg("is missing",{desc:"Filter expression for is missing"}),tiny:e.msg("missing",{desc:"Short form of is missing in filter expression"}),type:["numeric","datetime","hierarchy","spatial"],subtype:["ip_address"]},{id:"? is not null",key:"? is not null",expression:"? is not null",name:e.msg("is not missing",{desc:"Filter expression for is not missing"}),description:e.msg("is not missing",{desc:"Filter expression for is not missing"}),tiny:e.msg("not missing",{desc:"Short form of is not missing in filter expression"}),type:["numeric","datetime","hierarchy","spatial"],subtype:["ip_address"]}],f=(d,s,t)=>{const r=new Set(["? in ?","? not in ?"]);return!d&&!s?u():u().filter(i=>{var o;return(d&&i.type.includes(d)||s&&((o=i.subtype)==null?void 0:o.includes(s)))&&!(t&&r.has(i.key))})},S=":host{font-family:var(--luzmo-font-family)}:host{--var: blue}";var z=Object.defineProperty,v=Object.getOwnPropertyDescriptor,p=(d,s,t,r)=>{for(var i=r>1?void 0:r?v(s,t):s,o=d.length-1,n;o>=0;o--)(n=d[o])&&(i=(r?n(s,t,i):n(i))||i);return r&&i&&z(s,t,i),i};exports.LuzmoFilterExpressionPicker=class extends h.m(h.It,{validSizes:Object.values(h.d$1)}){constructor(){super(...arguments),this.language="en",this.hasLabel=!1,this.allowEmpty=!1,this.placeholder="",this.disabled=!1,this.invalid=!1,this.isFormula=!1,this._expressionConfigurations=u()}static get styles(){return[a.r(S)]}_sendChangeEvent(){var t,r,i,o,n,l,c;if(this.disabled)return;const s={expression:(t=this.filter)==null?void 0:t.expression};(o=(i=(r=this.filter)==null?void 0:r.parameters)==null?void 0:i[1])!=null&&o.unit&&(s.unit=(c=(l=(n=this.filter)==null?void 0:n.parameters)==null?void 0:l[1])==null?void 0:c.unit),this.dispatchEvent(new CustomEvent("expression-selected",{bubbles:!0,composed:!0,cancelable:!0,detail:s}))}setExpression(s){var i,o;this._richExpression=(o=(i=s==null?void 0:s.detail)==null?void 0:i.value)==null?void 0:o[0];const t=this._expressionConfigurations.find(n=>n.id===this._richExpression),r=structuredClone(this.filter);r.expression=t==null?void 0:t.expression,t!=null&&t.unit&&(this._unit=t.unit,r!=null&&r.parameters[0]&&(r.parameters[1]={unit:this._unit})),this.filter=r,this._sendChangeEvent()}willUpdate(s){var x,y,g,F,b,w,_;const t=s.has("language"),r=s.has("filter"),i=s.has("type"),o=s.has("subtype"),n=s.has("isFormula");t&&this.language!==e.getLocale()&&([...e.targetLocales].includes(this.language??"en")||this.language==="en")&&e.setLocale(this.language);const l=f(this.type,this.subtype,this.isFormula),c=["YTD","QTD","MTD","WTD"];if(((x=this.filter)==null?void 0:x.expression)==="to_date"){const m=((g=(y=this.filter)==null?void 0:y.parameters[1])==null?void 0:g.unit)??1;this._unit=m,this._richExpression=c[m-1]??"YTD"}else this._richExpression=(F=this.filter)==null?void 0:F.expression;(i||o||n||r)&&this.filter&&!this.disabled&&!(l!=null&&l.find(m=>{var k;return m.expression===((k=this.filter)==null?void 0:k.expression)}))?(this.invalid=!0,console.warn(`Warning: ${(b=this.filter)==null?void 0:b.expression} is not valid given the type: ${this.type} and subtype: ${this.subtype}`)):this.invalid=!1,!((w=this.filter)!=null&&w.expression)&&!this.allowEmpty&&(this._richExpression=(_=l==null?void 0:l[0])==null?void 0:_.id,this.filter={...this.filter,expression:this._richExpression},this._sendChangeEvent())}render(){var i,o;const s=(i=f(this.type,this.subtype,this.isFormula))==null?void 0:i.map(n=>({value:n.id,label:n.description,shortLabel:n.tiny})),t=this.disabled||!((o=this.filter)!=null&&o.expression)&&!this.allowEmpty,r=a.x`<luzmo-field-label
21
21
  for="expression"
22
22
  size=${this.size}
23
23
  >${this.label??e.msg("Select an expression",{desc:"Label for expression picker"})}</luzmo-field-label
@@ -17,9 +17,9 @@
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 { A as h } from "./text-field-BIADXoLC-B9oE05VF.js";
20
+ import { A as h } from "./text-field-B9IkRRxO-CWWQN_rn.js";
21
21
  import { m, I as p, a as x, d as s, R as i, z as c } from "./base-D76d76ww-BGkuhs54.js";
22
- import { D as z, A as d } from "./luzmo-icons-DbwDQtuO-QG0fLECn.js";
22
+ import { D as z, A as d } from "./luzmo-icons-NEyaMpEM-DbyDs_5B.js";
23
23
  /*! * Lucero - The design system for Luzmo.
24
24
  *
25
25
  * Copyright © 2025 Luzmo
@@ -20,12 +20,12 @@
20
20
  import { m as k, R as c, d, w as f, a as z, z as a } from "./base-D76d76ww-BGkuhs54.js";
21
21
  import { n as h } from "./directive-helpers-Cm6gitnu-CeYtlPO9.js";
22
22
  import { m as u, d as v } from "./if-defined-DOaE2coe-CNT45Xcl.js";
23
- import { g as y, u as x, o as w, v as b, a as I } from "./pending-state-DTX7ggyF-qbk3sPcq.js";
24
- import { p as $ } from "./index-Rydj3Txs.js";
23
+ import { g as y, u as x, o as w, v as b, a as I } from "./pending-state-DTX7ggyF-B_9VbFxI.js";
24
+ import { p as $ } from "./index-Dh6CgbzT.js";
25
25
  import { r as S } from "./focusable-BxtpnzWp-DJQkL8Zv.js";
26
- import { a as M } from "./index-D7LSPBqz.js";
27
- import { D as m, s as q, u as C } from "./luzmo-icons-DbwDQtuO-QG0fLECn.js";
28
- import "./index-C8XzR0jl.js";
26
+ import { a as M } from "./index-BFPa6sJd.js";
27
+ import { D as m, s as q, u as C } from "./luzmo-icons-NEyaMpEM-DbyDs_5B.js";
28
+ import "./index-0AQhhYNR.js";
29
29
  import "./index-C3N6qTxJ.js";
30
30
  /*! * Lucero - The design system for Luzmo.
31
31
  *
@@ -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
- import { D as b, V as s } from "./luzmo-icons-DbwDQtuO-QG0fLECn.js";
20
+ import { D as b, p as s } from "./luzmo-icons-NEyaMpEM-DbyDs_5B.js";
21
21
  import { m as g, a as h, R as m, z as a } from "./base-D76d76ww-BGkuhs54.js";
22
22
  import { a as v } from "./button-base-DbkDzb71-R8oqSqlY.js";
23
23
  /*! * Lucero - The design system for Luzmo.
@@ -18,8 +18,8 @@
18
18
  * SOFTWARE.
19
19
  * */
20
20
  import { m as s, I as m, a as c, R as d, z as e } from "./base-D76d76ww-BGkuhs54.js";
21
- import "./index-DE3d0E0P.js";
22
- import { u as z } from "./text-field-BIADXoLC-B9oE05VF.js";
21
+ import "./index-CyAospmR.js";
22
+ import { u as z } from "./text-field-B9IkRRxO-CWWQN_rn.js";
23
23
  /*! * Lucero - The design system for Luzmo.
24
24
  *
25
25
  * Copyright © 2025 Luzmo
@@ -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";const F=require("./observe-slot-text-BPfIQQtz-DHOh38Ve.cjs"),r=require("./base-D76d76ww-tT6yr8eb.cjs"),_=require("./if-defined-DOaE2coe-Cvlu5s9n.cjs"),K=require("./focusable-BxtpnzWp-CkK9AeMt.cjs"),io=require("./observe-slot-presence-CmVi0zTc-B4M1Mze7.cjs"),ro=require("./element-resolution-FCUT-wql-DSTvdyds.cjs"),y=require("./luzmo-icons-DbwDQtuO-DSQ-uVxy.cjs"),b=require("./directive-helpers-Cm6gitnu-BeggOiwf.cjs"),no=require("./async-directive-BfcqVjDp-C8C45jl6.cjs");require("./index-BKwbYw6x.cjs");const so=require("./divider.module-DoQWQEIJ-Bg8RrFkc.cjs"),I=require("./pending-state-DTX7ggyF-B5ihSygL.cjs"),ao=require("./index-C0rOztJP.cjs");require("./index-DSQyBS9Z.cjs");require("./index-C2TAa6lH.cjs");require("./index-BoXbQm2o.cjs");/*! * Lucero - The design system for Luzmo.
20
+ "use strict";const D=require("./observe-slot-text-BPfIQQtz-DHOh38Ve.cjs"),r=require("./base-D76d76ww-tT6yr8eb.cjs"),_=require("./if-defined-DOaE2coe-Cvlu5s9n.cjs"),K=require("./focusable-BxtpnzWp-CkK9AeMt.cjs"),io=require("./observe-slot-presence-CmVi0zTc-B4M1Mze7.cjs"),ro=require("./element-resolution-FCUT-wql-DSTvdyds.cjs"),y=require("./luzmo-icons-NEyaMpEM-1fxXxs3F.cjs"),b=require("./directive-helpers-Cm6gitnu-BeggOiwf.cjs"),no=require("./async-directive-BfcqVjDp-C8C45jl6.cjs");require("./index-BKwbYw6x.cjs");const so=require("./divider.module-DoQWQEIJ-Bg8RrFkc.cjs"),I=require("./pending-state-DTX7ggyF-C_go9EJh.cjs"),ao=require("./index-BhpqKmwq.cjs");require("./index-CKenYdIM.cjs");require("./index-B4EIbvuW.cjs");require("./index-BoXbQm2o.cjs");/*! * Lucero - The design system for Luzmo.
21
21
  *
22
22
  * Copyright © 2025 Luzmo
23
23
  * All rights reserved.
@@ -43,13 +43,13 @@
43
43
  </span>
44
44
  `,go=s=>r.Rt`
45
45
  <span class="icon-container icon checkbox ${s.join(" ")}">
46
- ${y.D(y.w)}
46
+ ${y.D(y.b)}
47
47
  </span>
48
48
  `,bo=s=>r.Rt`
49
49
  <span class="icon-container icon checkbox ${s.join(" ")}">
50
- ${y.D(y.d)}
50
+ ${y.D(y.w)}
51
51
  </span>
52
- `;class x extends F.b(F.y(io.b(K.r,'[slot="icon"]'))){constructor(){super(),this.active=!1,this.focused=!1,this.selected=!1,this.emphasized=!1,this.variant="checkmarks",this._value="",this.noWrap=!1,this.renderCheckIcon=(o,e)=>{const t=e?["check-icon--with-adjacent-icon"]:[];return this.variant==="checkboxes"?o?bo(t):go(t):o&&this.variant!=="highlight"?mo(t):r.Rt``},this.proxyFocus=()=>{this.focus()},this.willDispatchUpdate=!1,this.addEventListener("click",this.handleClickCapture,{capture:!0}),new F.a(this,{config:{characterData:!0,childList:!0,subtree:!0},callback:()=>{this.breakItemChildrenCache()}})}static get styles(){return[r.at(ho)]}get value(){return this._value||this.itemText}set value(o){o!==this._value&&(this._value=o||"",this._value?this.setAttribute("value",this._value):this.removeAttribute("value"))}get itemText(){return this.itemChildren.content.reduce((o,e)=>o+(e.textContent||"").trim(),"")}get focusElement(){return this}get hasIcon(){return this.slotContentIsPresent}get itemChildren(){if(!this.iconSlot||!this.contentSlot)return{icon:[],content:[]};if(this._itemChildren)return this._itemChildren;const o=this.iconSlot.assignedElements().map(t=>{const l=t.cloneNode(!0);return l.removeAttribute("slot"),l.classList.toggle("icon"),l}),e=this.contentSlot.assignedNodes().map(t=>t.cloneNode(!0));return this._itemChildren={icon:o,content:e},this._itemChildren}click(){this.disabled||this.shouldProxyClick()||super.click()}handleClickCapture(o){if(this.disabled)return o.preventDefault(),o.stopImmediatePropagation(),o.stopPropagation(),!1}shouldProxyClick(){let o=!1;return this.anchorElement&&(this.anchorElement.click(),o=!0),o}breakItemChildrenCache(){this._itemChildren=void 0,this.triggerUpdate()}render(){return r.Rt`
52
+ `;class x extends D.b(D.y(io.b(K.r,'[slot="icon"]'))){constructor(){super(),this.active=!1,this.focused=!1,this.selected=!1,this.emphasized=!1,this.variant="checkmarks",this._value="",this.noWrap=!1,this.renderCheckIcon=(o,e)=>{const t=e?["check-icon--with-adjacent-icon"]:[];return this.variant==="checkboxes"?o?bo(t):go(t):o&&this.variant!=="highlight"?mo(t):r.Rt``},this.proxyFocus=()=>{this.focus()},this.willDispatchUpdate=!1,this.addEventListener("click",this.handleClickCapture,{capture:!0}),new D.a(this,{config:{characterData:!0,childList:!0,subtree:!0},callback:()=>{this.breakItemChildrenCache()}})}static get styles(){return[r.at(ho)]}get value(){return this._value||this.itemText}set value(o){o!==this._value&&(this._value=o||"",this._value?this.setAttribute("value",this._value):this.removeAttribute("value"))}get itemText(){return this.itemChildren.content.reduce((o,e)=>o+(e.textContent||"").trim(),"")}get focusElement(){return this}get hasIcon(){return this.slotContentIsPresent}get itemChildren(){if(!this.iconSlot||!this.contentSlot)return{icon:[],content:[]};if(this._itemChildren)return this._itemChildren;const o=this.iconSlot.assignedElements().map(t=>{const l=t.cloneNode(!0);return l.removeAttribute("slot"),l.classList.toggle("icon"),l}),e=this.contentSlot.assignedNodes().map(t=>t.cloneNode(!0));return this._itemChildren={icon:o,content:e},this._itemChildren}click(){this.disabled||this.shouldProxyClick()||super.click()}handleClickCapture(o){if(this.disabled)return o.preventDefault(),o.stopImmediatePropagation(),o.stopPropagation(),!1}shouldProxyClick(){let o=!1;return this.anchorElement&&(this.anchorElement.click(),o=!0),o}breakItemChildrenCache(){this._itemChildren=void 0,this.triggerUpdate()}render(){return r.Rt`
53
53
  ${this.renderCheckIcon(this.selected,this.hasIcon)}
54
54
  <div id="icon">
55
55
  <slot name="icon"></slot>
@@ -64,7 +64,7 @@
64
64
  * @license
65
65
  * Copyright 2017 Google LLC
66
66
  * SPDX-License-Identifier: BSD-3-Clause
67
- */const j=(s,o,e)=>{const t=new Map;for(let l=o;l<=e;l++)t.set(s[l],l);return t},Q=b._(class extends b.${constructor(s){if(super(s),s.type!==b.s.CHILD)throw Error("repeat() can only be used in text expressions")}dt(s,o,e){let t;e===void 0?e=o:o!==void 0&&(t=o);const l=[],i=[];let a=0;for(const n of s)l[a]=t?t(n,a):a,i[a]=e(n,a),a++;return{values:i,keys:l}}render(s,o,e){return this.dt(s,o,e).values}update(s,[o,e,t]){const l=b.a(s),{values:i,keys:a}=this.dt(o,e,t);if(!Array.isArray(l))return this.ut=a,i;const n=this.ut??(this.ut=[]),c=[];let u,z,h=0,m=l.length-1,d=0,g=i.length-1;for(;h<=m&&d<=g;)if(l[h]===null)h++;else if(l[m]===null)m--;else if(n[h]===a[d])c[d]=b.p(l[h],i[d]),h++,d++;else if(n[m]===a[g])c[g]=b.p(l[m],i[g]),m--,g--;else if(n[h]===a[g])c[g]=b.p(l[h],i[g]),b.g(s,c[g+1],l[h]),h++,g--;else if(n[m]===a[d])c[d]=b.p(l[m],i[d]),b.g(s,l[h],l[m]),m--,d++;else if(u===void 0&&(u=j(a,d,g),z=j(n,h,m)),u.has(n[h]))if(u.has(n[m])){const f=z.get(a[d]),k=f!==void 0?l[f]:null;if(k===null){const E=b.g(s,l[h]);b.p(E,i[d]),c[d]=E}else c[d]=b.p(k,i[d]),b.g(s,l[h],k),l[f]=null;d++}else b.b(l[m]),m--;else b.b(l[h]),h++;for(;d<=g;){const f=b.g(s,c[g+1]);b.p(f,i[d]),c[d++]=f}for(;h<=m;){const f=l[h++];f!==null&&b.b(f)}return this.ut=a,b.x(s,c),r.v}});/**
67
+ */const j=(s,o,e)=>{const t=new Map;for(let l=o;l<=e;l++)t.set(s[l],l);return t},G=b._(class extends b.${constructor(s){if(super(s),s.type!==b.s.CHILD)throw Error("repeat() can only be used in text expressions")}dt(s,o,e){let t;e===void 0?e=o:o!==void 0&&(t=o);const l=[],i=[];let a=0;for(const n of s)l[a]=t?t(n,a):a,i[a]=e(n,a),a++;return{values:i,keys:l}}render(s,o,e){return this.dt(s,o,e).values}update(s,[o,e,t]){const l=b.a(s),{values:i,keys:a}=this.dt(o,e,t);if(!Array.isArray(l))return this.ut=a,i;const n=this.ut??(this.ut=[]),c=[];let u,z,h=0,m=l.length-1,d=0,g=i.length-1;for(;h<=m&&d<=g;)if(l[h]===null)h++;else if(l[m]===null)m--;else if(n[h]===a[d])c[d]=b.p(l[h],i[d]),h++,d++;else if(n[m]===a[g])c[g]=b.p(l[m],i[g]),m--,g--;else if(n[h]===a[g])c[g]=b.p(l[h],i[g]),b.g(s,c[g+1],l[h]),h++,g--;else if(n[m]===a[d])c[d]=b.p(l[m],i[d]),b.g(s,l[h],l[m]),m--,d++;else if(u===void 0&&(u=j(a,d,g),z=j(n,h,m)),u.has(n[h]))if(u.has(n[m])){const f=z.get(a[d]),k=f!==void 0?l[f]:null;if(k===null){const E=b.g(s,l[h]);b.p(E,i[d]),c[d]=E}else c[d]=b.p(k,i[d]),b.g(s,l[h],k),l[f]=null;d++}else b.b(l[m]),m--;else b.b(l[h]),h++;for(;d<=g;){const f=b.g(s,c[g+1]);b.p(f,i[d]),c[d++]=f}for(;h<=m;){const f=l[h++];f!==null&&b.b(f)}return this.ut=a,b.x(s,c),r.v}});/**
68
68
  * @license
69
69
  * Copyright 2021 Google LLC
70
70
  * SPDX-License-Identifier: BSD-3-Clause
@@ -80,11 +80,11 @@
80
80
  * @license
81
81
  * Copyright 2021 Google LLC
82
82
  * SPDX-License-Identifier: BSD-3-Clause
83
- */const G=s=>s,J=(s,o)=>r.Rt`${o}: ${JSON.stringify(s,null,2)}`;class wo extends no.C{constructor(o){if(super(o),this._virtualizer=null,this._first=0,this._last=-1,this._renderItem=(e,t)=>J(e,t+this._first),this._keyFunction=(e,t)=>G(e,t+this._first),this._items=[],o.type!==b.s.CHILD)throw new Error("The virtualize directive can only be used in child expressions")}render(o){o&&this._setFunctions(o);const e=[];if(this._first>=0&&this._last>=this._first)for(let t=this._first;t<=this._last;t++)e.push(this._items[t]);return Q(e,this._keyFunction,this._renderItem)}update(o,[e]){this._setFunctions(e);const t=this._items!==e.items;return this._items=e.items||[],this._virtualizer?this._updateVirtualizerConfig(o,e):this._initialize(o,e),t?r.v:this.render()}async _updateVirtualizerConfig(o,e){if(!await this._virtualizer.updateLayoutConfig(e.layout||{})){const t=o.parentNode;this._makeVirtualizer(t,e)}this._virtualizer.items=this._items}_setFunctions(o){const{renderItem:e,keyFunction:t}=o;e&&(this._renderItem=(l,i)=>e(l,i+this._first)),t&&(this._keyFunction=(l,i)=>t(l,i+this._first))}_makeVirtualizer(o,e){this._virtualizer&&this._virtualizer.disconnected();const{layout:t,scroller:l,items:i}=e;this._virtualizer=new yo({hostElement:o,layout:t,scroller:l}),this._virtualizer.items=i,this._virtualizer.connected()}_initialize(o,e){const t=o.parentNode;t&&t.nodeType===1&&(t.addEventListener("rangeChanged",l=>{this._first=l.first,this._last=l.last,this.setValue(this.render())}),this._makeVirtualizer(t,e))}disconnected(){var o;(o=this._virtualizer)==null||o.disconnected()}reconnected(){var o;(o=this._virtualizer)==null||o.connected()}}const Co=b._(wo);/**
83
+ */const Q=s=>s,J=(s,o)=>r.Rt`${o}: ${JSON.stringify(s,null,2)}`;class wo extends no.C{constructor(o){if(super(o),this._virtualizer=null,this._first=0,this._last=-1,this._renderItem=(e,t)=>J(e,t+this._first),this._keyFunction=(e,t)=>Q(e,t+this._first),this._items=[],o.type!==b.s.CHILD)throw new Error("The virtualize directive can only be used in child expressions")}render(o){o&&this._setFunctions(o);const e=[];if(this._first>=0&&this._last>=this._first)for(let t=this._first;t<=this._last;t++)e.push(this._items[t]);return G(e,this._keyFunction,this._renderItem)}update(o,[e]){this._setFunctions(e);const t=this._items!==e.items;return this._items=e.items||[],this._virtualizer?this._updateVirtualizerConfig(o,e):this._initialize(o,e),t?r.v:this.render()}async _updateVirtualizerConfig(o,e){if(!await this._virtualizer.updateLayoutConfig(e.layout||{})){const t=o.parentNode;this._makeVirtualizer(t,e)}this._virtualizer.items=this._items}_setFunctions(o){const{renderItem:e,keyFunction:t}=o;e&&(this._renderItem=(l,i)=>e(l,i+this._first)),t&&(this._keyFunction=(l,i)=>t(l,i+this._first))}_makeVirtualizer(o,e){this._virtualizer&&this._virtualizer.disconnected();const{layout:t,scroller:l,items:i}=e;this._virtualizer=new yo({hostElement:o,layout:t,scroller:l}),this._virtualizer.items=i,this._virtualizer.connected()}_initialize(o,e){const t=o.parentNode;t&&t.nodeType===1&&(t.addEventListener("rangeChanged",l=>{this._first=l.first,this._last=l.last,this.setValue(this.render())}),this._makeVirtualizer(t,e))}disconnected(){var o;(o=this._virtualizer)==null||o.disconnected()}reconnected(){var o;(o=this._virtualizer)==null||o.connected()}}const Co=b._(wo);/**
84
84
  * @license
85
85
  * Copyright 2021 Google LLC
86
86
  * SPDX-License-Identifier: BSD-3-Clause
87
- */class $ extends r.P{constructor(){super(...arguments),this.items=[],this.renderItem=J,this.keyFunction=G,this.layout={},this.scroller=!1}createRenderRoot(){return this}render(){const{items:o,renderItem:e,keyFunction:t,layout:l,scroller:i}=this;return r.Rt`${Co({items:o,renderItem:e,keyFunction:t,layout:l,scroller:i})}`}element(o){var e;return(e=this[P])==null?void 0:e.element(o)}get layoutComplete(){var o;return(o=this[P])==null?void 0:o.layoutComplete}scrollToIndex(o,e="start"){var t;(t=this.element(o))==null||t.scrollIntoView({block:e})}}A([r.zt({attribute:!1})],$.prototype,"items",void 0);A([r.zt()],$.prototype,"renderItem",void 0);A([r.zt()],$.prototype,"keyFunction",void 0);A([r.zt({attribute:!1})],$.prototype,"layout",void 0);A([r.zt({reflect:!0,type:Boolean})],$.prototype,"scroller",void 0);/**
87
+ */class $ extends r.P{constructor(){super(...arguments),this.items=[],this.renderItem=J,this.keyFunction=Q,this.layout={},this.scroller=!1}createRenderRoot(){return this}render(){const{items:o,renderItem:e,keyFunction:t,layout:l,scroller:i}=this;return r.Rt`${Co({items:o,renderItem:e,keyFunction:t,layout:l,scroller:i})}`}element(o){var e;return(e=this[P])==null?void 0:e.element(o)}get layoutComplete(){var o;return(o=this[P])==null?void 0:o.layoutComplete}scrollToIndex(o,e="start"){var t;(t=this.element(o))==null||t.scrollIntoView({block:e})}}A([r.zt({attribute:!1})],$.prototype,"items",void 0);A([r.zt()],$.prototype,"renderItem",void 0);A([r.zt()],$.prototype,"keyFunction",void 0);A([r.zt({attribute:!1})],$.prototype,"layout",void 0);A([r.zt({reflect:!0,type:Boolean})],$.prototype,"scroller",void 0);/**
88
88
  * @license
89
89
  * Copyright 2021 Google LLC
90
90
  * SPDX-License-Identifier: BSD-3-Clause
@@ -114,7 +114,7 @@
114
114
  .renderItem=${l}
115
115
  @rangeChanged=${this.rangeChange}
116
116
  @visibilityChanged=${this.visibilityChanged}
117
- ></lit-virtualizer>`:Q(this.options,l),a=this.pending?r.Rt`<div id="pending">
117
+ ></lit-virtualizer>`:G(this.options,l),a=this.pending?r.Rt`<div id="pending">
118
118
  <luzmo-progress-circle indeterminate></luzmo-progress-circle>
119
119
  </div>`:r.d;return r.Rt`${i} ${a}`}connectedCallback(){super.connectedCallback(),this.setAttribute("role","listbox"),this.updateComplete.then(()=>this.updateItemFocus())}disconnectedCallback(){super.disconnectedCallback()}prepareToCleanUp(){document.addEventListener("focusout",()=>{requestAnimationFrame(()=>{this.updateSelectedItemIndex()})},{once:!0})}updateItemFocus(){if(this.visibleOptionElements.length===0)return;const o=this.focusedOptionIndex,e=[...this.visibleOptionElements].find(t=>{var l,i,a,n,c,u;return(t.value===null?null:(l=t.value)==null?void 0:l.toString())===(((a=(i=this.options)==null?void 0:i[o])==null?void 0:a.value)===null?null:(u=(c=(n=this.options)==null?void 0:n[o])==null?void 0:c.value)==null?void 0:u.toString())});this.setFocusedAndActiveDescendant(e)}setFocusedAndActiveDescendant(o){var e,t;if(!o)return;const l=this.hasVisibleFocusInTree()||!!((e=this.visibleOptionElements)!=null&&e.some&&(t=this.visibleOptionElements)!=null&&t.some(i=>i.hasVisibleFocusInTree()));o.focused=l,l&&this.setAttribute("aria-activedescendant",o.id)}}S([r.zt({type:String,reflect:!0})],w.prototype,"label");S([r.zt({type:String,reflect:!0})],w.prototype,"variant");S([r.zt({type:String,reflect:!0})],w.prototype,"selects");S([r.zt({type:Boolean,reflect:!0})],w.prototype,"emphasized");S([r.zt({type:Boolean,reflect:!0})],w.prototype,"pending");S([r.zt({type:Array})],w.prototype,"options");S([r.zt({type:Boolean,reflect:!0,attribute:"no-wrap"})],w.prototype,"noWrap");S([r.zt({type:Array})],w.prototype,"value");S([_.d("lit-virtualizer")],w.prototype,"virtualizer");S([uo("luzmo-option")],w.prototype,"visibleOptionElements");customElements.get("luzmo-options")||customElements.define("luzmo-options",w);customElements.get("luzmo-options-divider")||customElements.define("luzmo-options-divider",Eo);customElements.get("luzmo-option")||customElements.define("luzmo-option",x);/*! * Lucero - The design system for Luzmo.
120
120
  *
@@ -140,20 +140,20 @@
140
140
  <div class="icon-container validation-icon icon">
141
141
  ${y.D(y.u)}
142
142
  </div>
143
- `,Do=()=>r.Rt`
143
+ `,Fo=()=>r.Rt`
144
144
  <div class="icon-container search-icon icon" id="search-icon">
145
145
  ${y.D(y.k)}
146
146
  </div>
147
- `,W="select-option-menu",Fo=20;class p extends r.m(K.r,{noDefaultSize:!0}){constructor(){super(),this.disabled=!1,this.focused=!1,this.variant="checkmarks",this.emphasized=!1,this.invalid=!1,this.search="auto",this.noWrap=!1,this.retrieving=!1,this.pending=!1,this.clearable=!1,this.pendingLabel="Pending",this.searchLabel="Search",this.noResultsLabel="No results",this.noDataLabel="No data",this.multipleLabelTemplate="Selected {count} items",this.open=!1,this.readonly=!1,this.placement="bottom-end",this.quiet=!1,this.value=[],this.options=[],this.selects="multiple",this.dependencyManager=new ao.a(this),this.isMobile=new I.g(this,I.u),this.listRole="listbox",this.itemRole="option",this.hasRenderedOverlay=!1,this._selfManageFocusElement=!1,this.selectionPromise=Promise.resolve(),this.enterKeydownOn=null,this._selectedOptions=[],this.handleSlottableRequest=o=>{},this.renderAngleIcon=()=>Vo(),this.renderAlertIcon=()=>Bo(),this.handleEnterKeydown=o=>{if(o.code==="Enter"){if(this.enterKeydownOn){o.preventDefault();return}this.enterKeydownOn=o.target,this.addEventListener("keyup",e=>{e.code==="Enter"&&(this.enterKeydownOn=null)},{once:!0})}},this.clearValue=o=>{o.preventDefault(),o.stopPropagation(),this.value=[],this.strategy&&(this.strategy.preventNextToggle="no"),this.open=!1,this.strategy&&(this.strategy.open=!1),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,cancelable:!0,composed:!0,detail:{value:this.value??[]}}))},this.handleKeydown=o=>{var e,t;const{code:l}=o;if(["Delete","Backspace"].includes(l)){this.clearValue(o);return}if(this.focused=!0,!(!l.startsWith("Arrow")||this.readonly||this.pending)){if(l==="ArrowUp"||l==="ArrowDown"){this.toggle(!0),o.preventDefault();return}if(o.preventDefault(),this.selects==="single"){const i=l==="ArrowRight"?1:-1,a=this.options.findIndex(u=>{var z,h,m;return((z=u==null?void 0:u.value)==null?void 0:z.toString())===((m=(h=this.value)==null?void 0:h[0])==null?void 0:m.toString())});let n=(this.options.length+a+i)%this.options.length,c=this.options.length;for(;(t=(e=this.options)==null?void 0:e[n])!=null&&t.disabled&&c;)c-=1,n=(this.options.length+n+i)%this.options.length;this.value=[this.options[n].value],this.dispatchEvent(new CustomEvent("change",{bubbles:!0,cancelable:!0,composed:!0,detail:{value:this.value??[]}}))}}},this.pendingStateController=new I.o(this)}static get styles(){return[r.at(To)]}get selfManageFocusElement(){return this._selfManageFocusElement}get focusElement(){var o;return this.open?this.search==="on"||this.search==="auto"&&((o=this.options)==null?void 0:o.length)>Fo?this.searchInput:this.optionsMenu:this.button}forceFocusVisible(){this.disabled||(this.focused=!0)}click(){this.disabled||this.toggle()}handleButtonBlur(){this.focused=!1}focus(o){super.focus(o),!this.disabled&&this.focusElement&&(this.focused=this.hasVisibleFocusInTree())}handleHelperFocus(){this.focused=!0,this.button.focus()}handleChange(o){var e;this.value=((e=o==null?void 0:o.detail)==null?void 0:e.value)??[],this.strategy&&(this.strategy.preventNextToggle="no"),o.stopPropagation(),(!o.cancelable||this.selects==="single")&&(this.open=!1,this.strategy&&(this.strategy.open=!1)),o.preventDefault(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,cancelable:!0,composed:!0,detail:{value:this.value??[]}}))}handleButtonFocus(o){var e;(e=this.strategy)==null||e.handleButtonFocus(o)}toggle(o){this.readonly||this.pending||(this.open=o===void 0?!this.open:o,this.strategy&&(this.strategy.open=this.open),this._selfManageFocusElement=this.open)}close(){this.readonly||this.strategy&&(this.open=!1,this.strategy.open=!1)}bindEvents(){var o;(o=this.strategy)==null||o.abort(),this.strategy=this.isMobile.matches?new I.v.mobile(this.button,this):new I.v.desktop(this.button,this)}connectedCallback(){super.connectedCallback()}disconnectedCallback(){var o;this.close(),(o=this.strategy)==null||o.releaseDescription(),super.disconnectedCallback()}handleTooltipSlotchange(o){this.tooltipEl=o.target.assignedElements()[0]}get labelTemplate(){var o,e,t,l,i,a,n,c,u,z,h,m,d,g,f;const k=((o=this._selectedOptions)==null?void 0:o.length)===1&&((e=this._selectedOptions[0])==null?void 0:e.icon),E=r.Rt`<div
147
+ `,W="select-option-menu",Do=20;class p extends r.m(K.r,{noDefaultSize:!0}){constructor(){super(),this.disabled=!1,this.focused=!1,this.variant="checkmarks",this.emphasized=!1,this.invalid=!1,this.search="auto",this.noWrap=!1,this.retrieving=!1,this.pending=!1,this.clearable=!1,this.pendingLabel="Pending",this.searchLabel="Search",this.noResultsLabel="No results",this.noDataLabel="No data",this.multipleLabelTemplate="Selected {count} items",this.open=!1,this.readonly=!1,this.placement="bottom-end",this.quiet=!1,this.value=[],this.options=[],this.selects="multiple",this.dependencyManager=new ao.a(this),this.isMobile=new I.g(this,I.u),this.listRole="listbox",this.itemRole="option",this.hasRenderedOverlay=!1,this._selfManageFocusElement=!1,this.selectionPromise=Promise.resolve(),this.enterKeydownOn=null,this._selectedOptions=[],this.handleSlottableRequest=o=>{},this.renderAngleIcon=()=>Vo(),this.renderAlertIcon=()=>Bo(),this.handleEnterKeydown=o=>{if(o.code==="Enter"){if(this.enterKeydownOn){o.preventDefault();return}this.enterKeydownOn=o.target,this.addEventListener("keyup",e=>{e.code==="Enter"&&(this.enterKeydownOn=null)},{once:!0})}},this.clearValue=o=>{o.preventDefault(),o.stopPropagation(),this.value=[],this.strategy&&(this.strategy.preventNextToggle="no"),this.open=!1,this.strategy&&(this.strategy.open=!1),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,cancelable:!0,composed:!0,detail:{value:this.value??[]}}))},this.handleKeydown=o=>{var e,t;const{code:l}=o;if(["Delete","Backspace"].includes(l)){this.clearValue(o);return}if(this.focused=!0,!(!l.startsWith("Arrow")||this.readonly||this.pending)){if(l==="ArrowUp"||l==="ArrowDown"){this.toggle(!0),o.preventDefault();return}if(o.preventDefault(),this.selects==="single"){const i=l==="ArrowRight"?1:-1,a=this.options.findIndex(u=>{var z,h,m;return((z=u==null?void 0:u.value)==null?void 0:z.toString())===((m=(h=this.value)==null?void 0:h[0])==null?void 0:m.toString())});let n=(this.options.length+a+i)%this.options.length,c=this.options.length;for(;(t=(e=this.options)==null?void 0:e[n])!=null&&t.disabled&&c;)c-=1,n=(this.options.length+n+i)%this.options.length;this.value=[this.options[n].value],this.dispatchEvent(new CustomEvent("change",{bubbles:!0,cancelable:!0,composed:!0,detail:{value:this.value??[]}}))}}},this.pendingStateController=new I.o(this)}static get styles(){return[r.at(To)]}get selfManageFocusElement(){return this._selfManageFocusElement}get focusElement(){var o;return this.open?this.search==="on"||this.search==="auto"&&((o=this.options)==null?void 0:o.length)>Do?this.searchInput:this.optionsMenu:this.button}forceFocusVisible(){this.disabled||(this.focused=!0)}click(){this.disabled||this.toggle()}handleButtonBlur(){this.focused=!1}focus(o){super.focus(o),!this.disabled&&this.focusElement&&(this.focused=this.hasVisibleFocusInTree())}handleHelperFocus(){this.focused=!0,this.button.focus()}handleChange(o){var e;this.value=((e=o==null?void 0:o.detail)==null?void 0:e.value)??[],this.strategy&&(this.strategy.preventNextToggle="no"),o.stopPropagation(),(!o.cancelable||this.selects==="single")&&(this.open=!1,this.strategy&&(this.strategy.open=!1)),o.preventDefault(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,cancelable:!0,composed:!0,detail:{value:this.value??[]}}))}handleButtonFocus(o){var e;(e=this.strategy)==null||e.handleButtonFocus(o)}toggle(o){this.readonly||this.pending||(this.open=o===void 0?!this.open:o,this.strategy&&(this.strategy.open=this.open),this._selfManageFocusElement=this.open)}close(){this.readonly||this.strategy&&(this.open=!1,this.strategy.open=!1)}bindEvents(){var o;(o=this.strategy)==null||o.abort(),this.strategy=this.isMobile.matches?new I.v.mobile(this.button,this):new I.v.desktop(this.button,this)}connectedCallback(){super.connectedCallback()}disconnectedCallback(){var o;this.close(),(o=this.strategy)==null||o.releaseDescription(),super.disconnectedCallback()}handleTooltipSlotchange(o){this.tooltipEl=o.target.assignedElements()[0]}get labelTemplate(){var o,e,t,l,i,a,n,c,u,z,h,m,d,g,f;const k=((o=this._selectedOptions)==null?void 0:o.length)===1&&((e=this._selectedOptions[0])==null?void 0:e.icon),E=r.Rt`<div
148
148
  id="icon"
149
149
  ?hidden=${typeof this.icons=="string"||((t=this.value)==null?void 0:t.length)>1||!k}
150
150
  >
151
151
  ${k?y.D(this._selectedOptions[0].icon):r.d}
152
- </div>`,O=eo=>eo.replaceAll(/{([^}]+)}/g,(to,lo)=>{var q;return lo==="count"?String((q=this.value)==null?void 0:q.length):to}),Y={"visually-hidden":this.icons==="only"&&((l=this.value)==null?void 0:l.length)>0,placeholder:!((i=this.value)!=null&&i.length),label:!0};let D;(a=this.value)!=null&&a.length?D=this.value.length===1?r.Rt`<span
152
+ </div>`,O=eo=>eo.replaceAll(/{([^}]+)}/g,(to,lo)=>{var q;return lo==="count"?String((q=this.value)==null?void 0:q.length):to}),Y={"visually-hidden":this.icons==="only"&&((l=this.value)==null?void 0:l.length)>0,placeholder:!((i=this.value)!=null&&i.length),label:!0};let F;(a=this.value)!=null&&a.length?F=this.value.length===1?r.Rt`<span
153
153
  >${((c=(n=this._selectedOptions)==null?void 0:n[0])==null?void 0:c.shortLabel)??((z=(u=this._selectedOptions)==null?void 0:u[0])==null?void 0:z.label)??((h=this.value)==null?void 0:h[0])}</span
154
154
  >`:r.Rt`<span
155
155
  >${O(this.multipleLabelTemplate)}</span
156
- >`:D=r.Rt`
156
+ >`:F=r.Rt`
157
157
  <slot name="label" id="label">
158
158
  <span aria-hidden="true"> ${this.label} </span>
159
159
  </slot>
@@ -172,7 +172,7 @@
172
172
  id=${_.m((g=this.value)!=null&&g.length?"label":void 0)}
173
173
  class=${I.u$1(Y)}
174
174
  >
175
- ${D}
175
+ ${F}
176
176
  </div>
177
177
  ${Z}
178
178
  ${this.invalid&&!this.pending?r.Rt` ${this.renderAlertIcon()} `:r.d}
@@ -235,7 +235,7 @@
235
235
  tabindex="0"
236
236
  role="searchbox"
237
237
  />
238
- ${Do()}
238
+ ${Fo()}
239
239
  </div>
240
240
  `}get renderMenu(){const o=this.options.filter(t=>{var l,i,a;const n=typeof t=="string"?t:t==null?void 0:t.label;return(a=(l=n==null?void 0:n.toString())==null?void 0:l.toLowerCase())==null?void 0:a.includes(((i=this.searchString)==null?void 0:i.toLowerCase())??"")}),e=r.Rt`
241
241
  <luzmo-options