@sankhyalabs/ezui 2.0.9 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dist/cjs/ez-button.cjs.entry.js +11 -0
  2. package/dist/cjs/ez-calendar.cjs.entry.js +2 -1
  3. package/dist/cjs/ez-card-item.cjs.entry.js +7 -0
  4. package/dist/cjs/ez-check.cjs.entry.js +10 -0
  5. package/dist/cjs/ez-chip.cjs.entry.js +7 -0
  6. package/dist/cjs/ez-combo-box.cjs.entry.js +6 -0
  7. package/dist/cjs/ez-date-input.cjs.entry.js +9 -0
  8. package/dist/cjs/ez-date-time-input.cjs.entry.js +9 -0
  9. package/dist/cjs/ez-filter-input.cjs.entry.js +7 -0
  10. package/dist/cjs/ez-number-input.cjs.entry.js +6 -0
  11. package/dist/cjs/ez-radio-button.cjs.entry.js +6 -0
  12. package/dist/cjs/ez-search.cjs.entry.js +7 -0
  13. package/dist/cjs/ez-text-area.cjs.entry.js +7 -0
  14. package/dist/cjs/ez-text-edit.cjs.entry.js +7 -0
  15. package/dist/cjs/ez-text-input.cjs.entry.js +6 -0
  16. package/dist/cjs/ez-time-input.cjs.entry.js +6 -0
  17. package/dist/cjs/ez-upload.cjs.entry.js +4 -0
  18. package/dist/collection/components/ez-button/ez-button.js +12 -1
  19. package/dist/collection/components/ez-calendar/ez-calendar.js +2 -1
  20. package/dist/collection/components/ez-card-item/ez-card-item.js +8 -1
  21. package/dist/collection/components/ez-check/ez-check.js +11 -1
  22. package/dist/collection/components/ez-chip/ez-chip.js +8 -1
  23. package/dist/collection/components/ez-combo-box/ez-combo-box.js +7 -1
  24. package/dist/collection/components/ez-date-input/ez-date-input.js +10 -1
  25. package/dist/collection/components/ez-date-time-input/ez-date-time-input.js +10 -1
  26. package/dist/collection/components/ez-filter-input/ez-filter-input.js +7 -0
  27. package/dist/collection/components/ez-number-input/ez-number-input.js +7 -1
  28. package/dist/collection/components/ez-radio-button/ez-radio-button.js +6 -0
  29. package/dist/collection/components/ez-search/ez-search.js +7 -0
  30. package/dist/collection/components/ez-text-area/ez-text-area.js +7 -0
  31. package/dist/collection/components/ez-text-edit/ez-text-edit.js +9 -2
  32. package/dist/collection/components/ez-text-input/ez-text-input.js +7 -1
  33. package/dist/collection/components/ez-time-input/ez-time-input.js +7 -1
  34. package/dist/collection/components/ez-upload/ez-upload.js +4 -0
  35. package/dist/custom-elements/index.js +109 -2
  36. package/dist/esm/ez-button.entry.js +12 -1
  37. package/dist/esm/ez-calendar.entry.js +2 -1
  38. package/dist/esm/ez-card-item.entry.js +8 -1
  39. package/dist/esm/ez-check.entry.js +11 -1
  40. package/dist/esm/ez-chip.entry.js +8 -1
  41. package/dist/esm/ez-combo-box.entry.js +7 -1
  42. package/dist/esm/ez-date-input.entry.js +10 -1
  43. package/dist/esm/ez-date-time-input.entry.js +10 -1
  44. package/dist/esm/ez-filter-input.entry.js +7 -0
  45. package/dist/esm/ez-number-input.entry.js +7 -1
  46. package/dist/esm/ez-radio-button.entry.js +6 -0
  47. package/dist/esm/ez-search.entry.js +7 -0
  48. package/dist/esm/ez-text-area.entry.js +7 -0
  49. package/dist/esm/ez-text-edit.entry.js +9 -2
  50. package/dist/esm/ez-text-input.entry.js +7 -1
  51. package/dist/esm/ez-time-input.entry.js +7 -1
  52. package/dist/esm/ez-upload.entry.js +4 -0
  53. package/dist/ezui/ezui.esm.js +1 -1
  54. package/dist/ezui/p-019c7fc4.entry.js +1 -0
  55. package/dist/ezui/p-107aff56.entry.js +1 -0
  56. package/dist/ezui/p-3cfefc57.entry.js +1 -0
  57. package/dist/ezui/p-4b2595f4.entry.js +1 -0
  58. package/dist/ezui/p-587e8dca.entry.js +1 -0
  59. package/dist/ezui/p-6700360e.entry.js +1 -0
  60. package/dist/ezui/p-6a8e7fb2.entry.js +1 -0
  61. package/dist/ezui/p-74e6c2a9.entry.js +1 -0
  62. package/dist/ezui/p-7b8d1f1c.entry.js +1 -0
  63. package/dist/ezui/p-88d0fc06.entry.js +1 -0
  64. package/dist/ezui/p-8eae779b.entry.js +1 -0
  65. package/dist/ezui/p-9d57e44a.entry.js +1 -0
  66. package/dist/ezui/p-a713a1aa.entry.js +1 -0
  67. package/dist/ezui/p-b484a0b3.entry.js +1 -0
  68. package/dist/ezui/p-c55f63c6.entry.js +1 -0
  69. package/dist/ezui/p-e38c4efe.entry.js +1 -0
  70. package/dist/ezui/p-fe578dc0.entry.js +1 -0
  71. package/dist/types/components/ez-button/ez-button.d.ts +2 -0
  72. package/dist/types/components/ez-card-item/ez-card-item.d.ts +2 -0
  73. package/dist/types/components/ez-check/ez-check.d.ts +2 -0
  74. package/dist/types/components/ez-chip/ez-chip.d.ts +1 -0
  75. package/dist/types/components/ez-radio-button/ez-radio-button.d.ts +1 -0
  76. package/dist/types/components/ez-text-edit/ez-text-edit.d.ts +1 -0
  77. package/package.json +1 -1
  78. package/dist/ezui/p-00d35755.entry.js +0 -1
  79. package/dist/ezui/p-0bd0afcf.entry.js +0 -1
  80. package/dist/ezui/p-11e137bb.entry.js +0 -1
  81. package/dist/ezui/p-1a17b0f5.entry.js +0 -1
  82. package/dist/ezui/p-1d054ad5.entry.js +0 -1
  83. package/dist/ezui/p-2ccad880.entry.js +0 -1
  84. package/dist/ezui/p-43bb6a59.entry.js +0 -1
  85. package/dist/ezui/p-56688470.entry.js +0 -1
  86. package/dist/ezui/p-5bdb1a41.entry.js +0 -1
  87. package/dist/ezui/p-63d567cc.entry.js +0 -1
  88. package/dist/ezui/p-744eb735.entry.js +0 -1
  89. package/dist/ezui/p-7f9196f6.entry.js +0 -1
  90. package/dist/ezui/p-9b9ebf95.entry.js +0 -1
  91. package/dist/ezui/p-a15171b4.entry.js +0 -1
  92. package/dist/ezui/p-e697ffd5.entry.js +0 -1
  93. package/dist/ezui/p-efa32bcc.entry.js +0 -1
  94. package/dist/ezui/p-fe75f477.entry.js +0 -1
@@ -1,4 +1,4 @@
1
- import { NumberUtils } from "@sankhyalabs/core";
1
+ import { ElementIDUtils, NumberUtils } from "@sankhyalabs/core";
2
2
  import { Component, h, Event, Prop, Element, Method, Watch } from "@stencil/core";
3
3
  import CSSVarsUtils from "../../utils/CSSVarsUtils";
4
4
  export class EzNumberInput {
@@ -124,6 +124,12 @@ export class EzNumberInput {
124
124
  componentDidLoad() {
125
125
  CSSVarsUtils.applyVarsTextInput(this._elem, this._textInput);
126
126
  this.setInputValue();
127
+ if (this._elem) {
128
+ ElementIDUtils.addIDInfo(this._elem, 'input');
129
+ if (this._textInput) {
130
+ ElementIDUtils.addIDInfo(this._textInput, 'internal_input', { id: this._elem.getAttribute("data-element-id") });
131
+ }
132
+ }
127
133
  }
128
134
  render() {
129
135
  return (h("ez-text-input", { ref: elem => this._textInput = elem, "data-slave-mode": "true", label: this.label, onBlur: () => this.handleBlur(), onInput: () => this.handleInput(), restrict: this.precision > 0 ? "0123456789-,." : "0123456789-", enabled: this.enabled, errorMessage: this.errorMessage, mode: this.mode }));
@@ -1,3 +1,4 @@
1
+ import { ElementIDUtils } from '@sankhyalabs/core';
1
2
  import { Event, Prop, Element, Component, Host, h } from '@stencil/core';
2
3
  export class EzRadioButton {
3
4
  constructor() {
@@ -14,6 +15,11 @@ export class EzRadioButton {
14
15
  */
15
16
  this.direction = "vertical";
16
17
  }
18
+ componentDidLoad() {
19
+ if (this.hostElement) {
20
+ ElementIDUtils.addIDInfo(this.hostElement, 'input');
21
+ }
22
+ }
17
23
  componentWillLoad() {
18
24
  this._options = this.options;
19
25
  const optionsTags = this.hostElement.querySelectorAll("ez-radio-button-option");
@@ -1,5 +1,6 @@
1
1
  import { Component, Event, h, Prop, Watch, Element, Method } from "@stencil/core";
2
2
  import CSSVarsUtils from "../../utils/CSSVarsUtils";
3
+ import { ElementIDUtils } from "@sankhyalabs/core";
3
4
  export class EzSearch {
4
5
  constructor() {
5
6
  /**
@@ -61,6 +62,12 @@ export class EzSearch {
61
62
  }
62
63
  componentDidLoad() {
63
64
  CSSVarsUtils.applyVarsTextInput(this._elem, this._comboElement);
65
+ if (this._elem) {
66
+ ElementIDUtils.addIDInfo(this._elem, 'input');
67
+ if (this._comboElement) {
68
+ ElementIDUtils.addIDInfo(this._comboElement, 'internal_input', { id: this._elem.getAttribute("data-element-id") });
69
+ }
70
+ }
64
71
  }
65
72
  render() {
66
73
  return (h("ez-combo-box", { ref: elem => this._comboElement = elem, value: this.value, label: this.label, enabled: this.enabled, errorMessage: this.errorMessage, optionLoader: this.optionLoader, searchMode: true, onEzChange: event => this.onComboChange(event), showSelectedValue: this.showSelectedValue, showOptionValue: this.showOptionValue, suppressEmptyOption: this.suppressEmptyOption, mode: this.mode }));
@@ -1,3 +1,4 @@
1
+ import { ElementIDUtils } from '@sankhyalabs/core';
1
2
  import { Component, Prop, h, Watch, Host, Method, Event, Element } from '@stencil/core';
2
3
  export class EzTextArea {
3
4
  constructor() {
@@ -133,6 +134,12 @@ export class EzTextArea {
133
134
  this.observeErrorMessage();
134
135
  this.adjustFloatingLabel();
135
136
  this.observeMode();
137
+ if (this._hostElement) {
138
+ ElementIDUtils.addIDInfo(this._hostElement, 'input');
139
+ if (this._inputElem) {
140
+ ElementIDUtils.addIDInfo(this._inputElem, 'internal_input', { id: this._hostElement.getAttribute("data-element-id") });
141
+ }
142
+ }
136
143
  }
137
144
  render() {
138
145
  return (h(Host, null,
@@ -1,5 +1,5 @@
1
- import { Component, Host, h, Prop, Event, State, Method } from '@stencil/core';
2
- import { StringUtils } from '@sankhyalabs/core';
1
+ import { Component, Host, h, Prop, Event, State, Method, Element } from '@stencil/core';
2
+ import { ElementIDUtils, StringUtils } from '@sankhyalabs/core';
3
3
  import { ApplicationUtils } from "../../utils";
4
4
  export class EzTextEdit {
5
5
  /**
@@ -76,6 +76,12 @@ export class EzTextEdit {
76
76
  componentDidLoad() {
77
77
  this.applyFocusSelect();
78
78
  this.setNewValue(this.value);
79
+ if (this._element) {
80
+ ElementIDUtils.addIDInfo(this._element, 'input');
81
+ if (this._inputElement) {
82
+ ElementIDUtils.addIDInfo(this._inputElement, 'internal_input', { id: this._element.getAttribute("data-element-id") });
83
+ }
84
+ }
79
85
  }
80
86
  componentDidRender() {
81
87
  this.setStyledInput();
@@ -185,4 +191,5 @@ export class EzTextEdit {
185
191
  }
186
192
  }
187
193
  }; }
194
+ static get elementRef() { return "_element"; }
188
195
  }
@@ -1,5 +1,5 @@
1
1
  import { Component, Prop, h, Watch, Host, Method, Event, Element } from "@stencil/core";
2
- import { MaskFormatter } from "@sankhyalabs/core";
2
+ import { ElementIDUtils, MaskFormatter } from "@sankhyalabs/core";
3
3
  export class EzTextInput {
4
4
  constructor() {
5
5
  /**
@@ -204,6 +204,12 @@ export class EzTextInput {
204
204
  this.observeMask();
205
205
  this.adjustFloatingLabel();
206
206
  this.adjustBorderInput();
207
+ if (this._hostElement) {
208
+ ElementIDUtils.addIDInfo(this._hostElement, 'input');
209
+ if (this._inputElem) {
210
+ ElementIDUtils.addIDInfo(this._inputElem, 'internal_input', { id: this._hostElement.getAttribute("data-element-id") });
211
+ }
212
+ }
207
213
  }
208
214
  componentWillLoad() {
209
215
  this.observeMask();
@@ -1,5 +1,5 @@
1
1
  import { Element, Component, Prop, h, Watch, Host, Method, Event } from "@stencil/core";
2
- import { TimeFormatter, MaskFormatter, NumberUtils } from "@sankhyalabs/core";
2
+ import { TimeFormatter, MaskFormatter, NumberUtils, ElementIDUtils } from "@sankhyalabs/core";
3
3
  import CSSVarsUtils from "../../utils/CSSVarsUtils";
4
4
  export class EzTimeInput {
5
5
  constructor() {
@@ -131,6 +131,12 @@ export class EzTimeInput {
131
131
  //---------------------------------------------
132
132
  componentDidLoad() {
133
133
  CSSVarsUtils.applyVarsTextInput(this._elem, this._textInput);
134
+ if (this._elem) {
135
+ ElementIDUtils.addIDInfo(this._elem, 'input');
136
+ if (this._textInput) {
137
+ ElementIDUtils.addIDInfo(this._textInput, 'internal_input', { id: this._elem.getAttribute("data-element-id") });
138
+ }
139
+ }
134
140
  }
135
141
  componentWillLoad() {
136
142
  this.observeShowSeconds();
@@ -1,5 +1,6 @@
1
1
  import { Component, h, Prop, Element, Event, Method, Watch, forceUpdate } from "@stencil/core";
2
2
  import ApplicationUtils from "../../utils/ApplicationUtils";
3
+ import { ElementIDUtils } from "@sankhyalabs/core";
3
4
  import RemoteFile from "./RemoteFile";
4
5
  export class EzUpload {
5
6
  constructor() {
@@ -229,6 +230,9 @@ export class EzUpload {
229
230
  this._dropZone.style.background = "";
230
231
  });
231
232
  }
233
+ if (this._host) {
234
+ ElementIDUtils.addIDInfo(this._host, 'input');
235
+ }
232
236
  }
233
237
  componentWillRender() {
234
238
  if (this.value) {
@@ -1,6 +1,6 @@
1
1
  import { HTMLElement as HTMLElement$1, createEvent, h, Host, forceUpdate, proxyCustomElement } from '@stencil/core/internal/client';
2
2
  export { setAssetPath, setPlatformOptions } from '@stencil/core/internal/client';
3
- import { FloatingManager, DateUtils as DateUtils$1, TimeFormatter, UserInterface, Action, WaitingChangeException, ApplicationContext, DataUnitAction, DataUnit, ObjectUtils as ObjectUtils$1, StringUtils as StringUtils$1, NumberUtils as NumberUtils$1, DataType, SortMode, UserAgentUtils, MaskFormatter } from '@sankhyalabs/core';
3
+ import { FloatingManager, ElementIDUtils, StringUtils as StringUtils$1, DateUtils as DateUtils$1, TimeFormatter, UserInterface, Action, WaitingChangeException, ApplicationContext, DataUnitAction, DataUnit, ObjectUtils as ObjectUtils$1, NumberUtils as NumberUtils$1, DataType, SortMode, UserAgentUtils, MaskFormatter } from '@sankhyalabs/core';
4
4
 
5
5
  var DialogType;
6
6
  (function (DialogType) {
@@ -346,6 +346,15 @@ let EzButton$1 = class extends HTMLElement$1 {
346
346
  async setBlur() {
347
347
  this._button.blur();
348
348
  }
349
+ componentDidLoad() {
350
+ if (this._element) {
351
+ ElementIDUtils.addIDInfo(this._element);
352
+ }
353
+ if (this._button) {
354
+ const dataInfo = { id: 'ezButton_internal_button' };
355
+ ElementIDUtils.addIDInfo(this._button, null, dataInfo);
356
+ }
357
+ }
349
358
  getIconSize(sizeParam = "medium") {
350
359
  const sizeList = ["small", "medium", "large"];
351
360
  const sizeLowerCase = this.size && this.size.toLowerCase();
@@ -389,6 +398,7 @@ let EzButton$1 = class extends HTMLElement$1 {
389
398
  return (h("button", { class: this.getIconSize(""), type: "button", disabled: !this.enabled, ref: (el) => this._button = el }, h("slot", { name: "leftIcon", onSlotchange: (ev) => { this.handleSlotChange(ev); } }), this.label, h("slot", { name: "rightIcon", onSlotchange: (ev) => { this.handleSlotChange(ev); } })));
390
399
  }
391
400
  }
401
+ get _element() { return this; }
392
402
  static get style() { return ezButtonCss; }
393
403
  };
394
404
 
@@ -568,6 +578,7 @@ let EzCalendar$1 = class extends HTMLElement$1 {
568
578
  const date = new Date();
569
579
  date.setTime(firstDate.getTime());
570
580
  date.setDate(date.getDate() + offset + index);
581
+ let dataDayMonth = `${date.getMonth() + 1}-${date.getDate()}-${date.getFullYear()}`;
571
582
  let classNames = "calendar__cell";
572
583
  if (this._currentPosition.getMonth() != date.getMonth()) {
573
584
  classNames += " calendar__cell--secondary";
@@ -575,7 +586,7 @@ let EzCalendar$1 = class extends HTMLElement$1 {
575
586
  else if (this.isSelectedDate(date)) {
576
587
  classNames += " calendar__cell--selected";
577
588
  }
578
- return h("div", { class: classNames, onClick: () => this.selectDate(date) }, date.getDate());
589
+ return h("div", { "data-day-month": dataDayMonth, class: classNames, onClick: () => this.selectDate(date) }, date.getDate());
579
590
  })))), h("div", { class: "calendar__footer" }, h("button", { class: "calendar__btn-today", onClick: () => this.selectDate(new Date()) }, this._todayLabel))), (this.time || this.showSeconds) &&
580
591
  h("div", { class: "calendar-time" }, h("div", { class: "calendar-time__header" }, h("div", null, "H"), h("div", { class: "separatorTime" }, ":"), h("div", null, "M"), this.showSeconds &&
581
592
  h("div", { class: "separatorTime" }, ":"), this.showSeconds &&
@@ -621,6 +632,11 @@ let EzCardItem$1 = class extends HTMLElement$1 {
621
632
  componentWillRender() {
622
633
  this.createDetailList();
623
634
  }
635
+ componentDidLoad() {
636
+ var _a, _b;
637
+ const dataInfo = { id: StringUtils$1.toCamelCase(((_a = this.item) === null || _a === void 0 ? void 0 : _a.key) || ((_b = this.item) === null || _b === void 0 ? void 0 : _b.title) || "") };
638
+ ElementIDUtils.addIDInfo(this._element, null, dataInfo);
639
+ }
624
640
  createDetailList() {
625
641
  var _a, _b, _c;
626
642
  this._details = { detailsLeft: [], detailsRight: [] };
@@ -645,6 +661,7 @@ let EzCardItem$1 = class extends HTMLElement$1 {
645
661
  return this.buildDetailContent(detail);
646
662
  }))))));
647
663
  }
664
+ get _element() { return this; }
648
665
  static get style() { return ezCardItemCss; }
649
666
  };
650
667
 
@@ -683,6 +700,14 @@ let EzCheck$1 = class extends HTMLElement$1 {
683
700
  async setFocus() {
684
701
  this._inputElem.focus();
685
702
  }
703
+ componentDidLoad() {
704
+ if (this._inputElem) {
705
+ ElementIDUtils.addIDInfo(this._inputElem, 'input');
706
+ }
707
+ if (this._element) {
708
+ ElementIDUtils.addIDInfo(this._element, 'input');
709
+ }
710
+ }
686
711
  changeValue() {
687
712
  if (!this.enabled) {
688
713
  return;
@@ -704,6 +729,7 @@ let EzCheck$1 = class extends HTMLElement$1 {
704
729
  render() {
705
730
  return (h(Host, null, h("input", { type: "checkbox", ref: (el) => this._inputElem = el, class: this.getInputClasses(), checked: this.value === true, onChange: () => { this.changeValue(); }, indeterminate: this.indeterminate, disabled: !this.enabled }), this.label ? h("label", { class: this.getLabelClasses(), onClick: () => { this.changeValue(); }, title: this.label }, this.label) : undefined));
706
731
  }
732
+ get _element() { return this; }
707
733
  static get style() { return ezCheckCss; }
708
734
  };
709
735
 
@@ -794,14 +820,20 @@ let EzChip$1 = class extends HTMLElement$1 {
794
820
  // Lifecycle web component
795
821
  //---------------------------------------------
796
822
  componentDidLoad() {
823
+ if (this._element) {
824
+ ElementIDUtils.addIDInfo(this._element, 'ezChip');
825
+ }
797
826
  if (this._containerElem) {
798
827
  this.observeValue();
799
828
  this.observeEnabled();
829
+ this._containerElem.setAttribute("data-element-id", 'ezChip_internal_button');
830
+ ElementIDUtils.addIDInfo(this._containerElem);
800
831
  }
801
832
  }
802
833
  render() {
803
834
  return (h("button", { onClick: (ev) => this.handleClick(ev), class: "label__container" + (this.removePosition === "left" ? " label__container--row-reverse" : ""), ref: (el) => this._containerElem = el }, h("div", { class: "label__content" }, h("slot", { name: "leftIcon", onSlotchange: (ev) => { this.handleSlotChange(ev); } }), h("label", { class: "lbl " + (this.value ? "lbl--active " : ""), ref: (el) => this._labelElem = el, title: this.label }, this.formatLabel()), h("slot", { name: "rightIcon", onSlotchange: (ev) => { this.handleSlotChange(ev); } })), this.mode !== 'action' && this.removePosition && h("ez-icon", { class: "btn-close", size: "small", "icon-name": "close" })));
804
835
  }
836
+ get _element() { return this; }
805
837
  static get watchers() { return {
806
838
  "value": ["observeValue"],
807
839
  "enabled": ["observeEnabled"]
@@ -1296,6 +1328,12 @@ let EzComboBox$1 = class extends HTMLElement$1 {
1296
1328
  componentDidLoad() {
1297
1329
  CSSVarsUtils.applyVarsTextInput(this.el, this._textInput);
1298
1330
  this.setInputValue(false);
1331
+ if (this.el) {
1332
+ ElementIDUtils.addIDInfo(this.el, 'input');
1333
+ if (this._textInput) {
1334
+ ElementIDUtils.addIDInfo(this._textInput, 'internal_input', { id: this.el.getAttribute("data-element-id") });
1335
+ }
1336
+ }
1299
1337
  }
1300
1338
  //---------------------------------------------
1301
1339
  // Event handlers
@@ -1547,6 +1585,15 @@ let EzDateInput$1 = class extends HTMLElement$1 {
1547
1585
  componentDidLoad() {
1548
1586
  CSSVarsUtils.applyVarsTextInput(this._elem, this._textInput);
1549
1587
  this.setInputValue();
1588
+ if (this._elem) {
1589
+ ElementIDUtils.addIDInfo(this._elem, 'input');
1590
+ if (this._textInput) {
1591
+ ElementIDUtils.addIDInfo(this._textInput, 'internal_input', { id: this._elem.getAttribute("data-element-id") });
1592
+ }
1593
+ if (this._calendar) {
1594
+ ElementIDUtils.addIDInfo(this._calendar, 'internal_calendar', { id: this._elem.getAttribute("data-element-id") });
1595
+ }
1596
+ }
1550
1597
  }
1551
1598
  render() {
1552
1599
  return (h(Host, null, h("ez-text-input", { ref: elem => this._textInput = elem, "data-slave-mode": "true", label: this.label, onBlur: () => this.handleBlur(), onInput: (evt) => this.handleInput(evt), restrict: "0123456789/", enabled: this.enabled, errorMessage: this.errorMessage, mode: this.mode }, h("button", { disabled: !this.enabled, tabindex: -1, class: "btn-open-cal", onClick: () => this.showCalendar(), slot: "leftIcon" })), h("ez-calendar", { onEzChange: (event) => { this.hideCalendar(); event.stopPropagation(); }, floating: true, ref: elem => this._calendar = elem })));
@@ -1753,6 +1800,15 @@ let EzDateTimeInput$1 = class extends HTMLElement$1 {
1753
1800
  componentDidLoad() {
1754
1801
  CSSVarsUtils.applyVarsTextInput(this._elem, this._textInput);
1755
1802
  this.setInputValue();
1803
+ if (this._elem) {
1804
+ ElementIDUtils.addIDInfo(this._elem, 'input');
1805
+ if (this._textInput) {
1806
+ ElementIDUtils.addIDInfo(this._textInput, 'internal_input', { id: this._elem.getAttribute("data-element-id") });
1807
+ }
1808
+ if (this._calendar) {
1809
+ ElementIDUtils.addIDInfo(this._calendar, 'internal_calendar', { id: this._elem.getAttribute("data-element-id") });
1810
+ }
1811
+ }
1756
1812
  }
1757
1813
  render() {
1758
1814
  return (h(Host, null, h("ez-text-input", { ref: elem => this._textInput = elem, "data-slave-mode": "true", label: this.label, restrict: "0123456789/: ", enabled: this.enabled, errorMessage: this.errorMessage, mode: this.mode, onKeyDown: event => { this.handleKeyDown(event); }, onBlur: () => this.handleBlur(), onInput: (evt) => this.handleInput(evt), onFocus: () => this.handleFocus(), onClick: () => this.handleClick() }, h("button", { disabled: !this.enabled, tabindex: -1, class: "btn-open-cal", onClick: () => this.showCalendar(), slot: "leftIcon" })), h("ez-calendar", { onEzChange: (event) => { this.changeValue(this._calendar.value); event.stopPropagation(); }, floating: true, ref: elem => this._calendar = elem, time: true, showSeconds: this.showSeconds })));
@@ -1967,6 +2023,12 @@ let EzFilterInput$1 = class extends HTMLElement$1 {
1967
2023
  }
1968
2024
  componentDidLoad() {
1969
2025
  CSSVarsUtils.applyVarsTextInput(this._elem, this._textInput);
2026
+ if (this._elem) {
2027
+ ElementIDUtils.addIDInfo(this._elem, 'input');
2028
+ if (this._textInput) {
2029
+ ElementIDUtils.addIDInfo(this._textInput, 'internal_input', { id: this._elem.getAttribute("data-element-id") });
2030
+ }
2031
+ }
1970
2032
  }
1971
2033
  render() {
1972
2034
  return (h("ez-text-input", { ref: elem => this._textInput = elem, label: this.label, onEzChange: evt => this.changeValue(evt), value: this.value, enabled: this.enabled, errorMessage: this.errorMessage, restrict: this.restrict, loading: this.loading, mode: this.mode }, h("ez-icon", { slot: "leftIcon", iconName: "search" })));
@@ -119201,6 +119263,12 @@ let EzNumberInput$1 = class extends HTMLElement$1 {
119201
119263
  componentDidLoad() {
119202
119264
  CSSVarsUtils.applyVarsTextInput(this._elem, this._textInput);
119203
119265
  this.setInputValue();
119266
+ if (this._elem) {
119267
+ ElementIDUtils.addIDInfo(this._elem, 'input');
119268
+ if (this._textInput) {
119269
+ ElementIDUtils.addIDInfo(this._textInput, 'internal_input', { id: this._elem.getAttribute("data-element-id") });
119270
+ }
119271
+ }
119204
119272
  }
119205
119273
  render() {
119206
119274
  return (h("ez-text-input", { ref: elem => this._textInput = elem, "data-slave-mode": "true", label: this.label, onBlur: () => this.handleBlur(), onInput: () => this.handleInput(), restrict: this.precision > 0 ? "0123456789-,." : "0123456789-", enabled: this.enabled, errorMessage: this.errorMessage, mode: this.mode }));
@@ -119426,6 +119494,11 @@ let EzRadioButton$1 = class extends HTMLElement$1 {
119426
119494
  */
119427
119495
  this.direction = "vertical";
119428
119496
  }
119497
+ componentDidLoad() {
119498
+ if (this.hostElement) {
119499
+ ElementIDUtils.addIDInfo(this.hostElement, 'input');
119500
+ }
119501
+ }
119429
119502
  componentWillLoad() {
119430
119503
  this._options = this.options;
119431
119504
  const optionsTags = this.hostElement.querySelectorAll("ez-radio-button-option");
@@ -119694,6 +119767,12 @@ let EzSearch$1 = class extends HTMLElement$1 {
119694
119767
  }
119695
119768
  componentDidLoad() {
119696
119769
  CSSVarsUtils.applyVarsTextInput(this._elem, this._comboElement);
119770
+ if (this._elem) {
119771
+ ElementIDUtils.addIDInfo(this._elem, 'input');
119772
+ if (this._comboElement) {
119773
+ ElementIDUtils.addIDInfo(this._comboElement, 'internal_input', { id: this._elem.getAttribute("data-element-id") });
119774
+ }
119775
+ }
119697
119776
  }
119698
119777
  render() {
119699
119778
  return (h("ez-combo-box", { ref: elem => this._comboElement = elem, value: this.value, label: this.label, enabled: this.enabled, errorMessage: this.errorMessage, optionLoader: this.optionLoader, searchMode: true, onEzChange: event => this.onComboChange(event), showSelectedValue: this.showSelectedValue, showOptionValue: this.showOptionValue, suppressEmptyOption: this.suppressEmptyOption, mode: this.mode }));
@@ -120052,6 +120131,12 @@ let EzTextArea$1 = class extends HTMLElement$1 {
120052
120131
  this.observeErrorMessage();
120053
120132
  this.adjustFloatingLabel();
120054
120133
  this.observeMode();
120134
+ if (this._hostElement) {
120135
+ ElementIDUtils.addIDInfo(this._hostElement, 'input');
120136
+ if (this._inputElem) {
120137
+ ElementIDUtils.addIDInfo(this._inputElem, 'internal_input', { id: this._hostElement.getAttribute("data-element-id") });
120138
+ }
120139
+ }
120055
120140
  }
120056
120141
  render() {
120057
120142
  return (h(Host, null, h("div", { class: "textarea", ref: (el) => this._container = el }, this.label && this.mode != "slim" ?
@@ -120153,6 +120238,12 @@ let EzTextEdit$1 = class extends HTMLElement$1 {
120153
120238
  componentDidLoad() {
120154
120239
  this.applyFocusSelect();
120155
120240
  this.setNewValue(this.value);
120241
+ if (this._element) {
120242
+ ElementIDUtils.addIDInfo(this._element, 'input');
120243
+ if (this._inputElement) {
120244
+ ElementIDUtils.addIDInfo(this._inputElement, 'internal_input', { id: this._element.getAttribute("data-element-id") });
120245
+ }
120246
+ }
120156
120247
  }
120157
120248
  componentDidRender() {
120158
120249
  this.setStyledInput();
@@ -120160,6 +120251,7 @@ let EzTextEdit$1 = class extends HTMLElement$1 {
120160
120251
  render() {
120161
120252
  return (h(Host, null, h("span", { class: "text-edit__hidden-value", ref: elem => this._valueBasis = elem }), h("ez-text-input", { onInput: () => { this.calcSizeInput(this._newValue); }, class: "text-edit__form-input", value: this._newValue, ref: (elem) => this._inputElement = elem, mode: "slim", onEzChange: (evt) => this.setNewValue(evt === null || evt === void 0 ? void 0 : evt.detail), noBorder: true }), h("ez-button", { class: "text-edit__icon-check", mode: "icon", iconName: "check", size: "small", onClick: () => { this.handleSaveEdition(); } }), h("ez-button", { class: "text-edit__icon-close", mode: "icon", iconName: "close", size: "small", onClick: () => { this.cancelEdition.emit(); } })));
120162
120253
  }
120254
+ get _element() { return this; }
120163
120255
  static get style() { return ezTextEditCss; }
120164
120256
  };
120165
120257
 
@@ -120373,6 +120465,12 @@ let EzTextInput$1 = class extends HTMLElement$1 {
120373
120465
  this.observeMask();
120374
120466
  this.adjustFloatingLabel();
120375
120467
  this.adjustBorderInput();
120468
+ if (this._hostElement) {
120469
+ ElementIDUtils.addIDInfo(this._hostElement, 'input');
120470
+ if (this._inputElem) {
120471
+ ElementIDUtils.addIDInfo(this._inputElem, 'internal_input', { id: this._hostElement.getAttribute("data-element-id") });
120472
+ }
120473
+ }
120376
120474
  }
120377
120475
  componentWillLoad() {
120378
120476
  this.observeMask();
@@ -120544,6 +120642,12 @@ let EzTimeInput$1 = class extends HTMLElement$1 {
120544
120642
  //---------------------------------------------
120545
120643
  componentDidLoad() {
120546
120644
  CSSVarsUtils.applyVarsTextInput(this._elem, this._textInput);
120645
+ if (this._elem) {
120646
+ ElementIDUtils.addIDInfo(this._elem, 'input');
120647
+ if (this._textInput) {
120648
+ ElementIDUtils.addIDInfo(this._textInput, 'internal_input', { id: this._elem.getAttribute("data-element-id") });
120649
+ }
120650
+ }
120547
120651
  }
120548
120652
  componentWillLoad() {
120549
120653
  this.observeShowSeconds();
@@ -120981,6 +121085,9 @@ let EzUpload$1 = class extends HTMLElement$1 {
120981
121085
  this._dropZone.style.background = "";
120982
121086
  });
120983
121087
  }
121088
+ if (this._host) {
121089
+ ElementIDUtils.addIDInfo(this._host, 'input');
121090
+ }
120984
121091
  }
120985
121092
  componentWillRender() {
120986
121093
  if (this.value) {
@@ -1,4 +1,5 @@
1
- import { r as registerInstance, h } from './index-7bc778b3.js';
1
+ import { r as registerInstance, h, g as getElement } from './index-7bc778b3.js';
2
+ import { ElementIDUtils } from '@sankhyalabs/core';
2
3
 
3
4
  const ezButtonCss = ":host{--ez-button--min-width:100px;--ez-button--width:'auto';--ez-button--height:42px;--ez-button__icon--width:18px;--ez-button__inline__icon--padding:12px;--ez-button--padding-top:0px;--ez-button--padding-bottom:0px;--ez-button--padding-right:var(--space--large, 24px);--ez-button--padding-left:var(--space--large, 24px);--ez-button--color:var(--title--primary, #FFF);--ez-button--font-size:var(--text--medium, 14px);--ez-button--font-family:var(--font-pattern, Arial);--ez-button--font-weight:var(--text-weight--large);--ez-button--background-color:var(--background--medium, #c0c0c0);--ez-button--border-radius:var(--border--radius-large, 12px);--ez-button--border:none;--ez-button--justify-content:center;--ez-button--hover-color:var(--color--primary-600);--ez-button--hover--background-color:var(--background--medium, var(--ez-button--background-color));--ez-button--disabled-color:var(--text--disable);--ez-button--disabled--background-color:var(--color--disable-secondary);--ez-button--focus--border:var(--border--xlarge, 4px solid) var(--color--primary-300);--ez-button--focus--box-shadow:none;--ez-button--active-color:var(--color--primary-700);--ez-button--active--background-color:var(--background--strong);--ez-button--link-color:var(--color--primary, '#008561');--ez-button--link--hover-color:var(--color--primary-700, '#1C1D22');--ez-button--link--small--font-size:var(--text--small, 12px);--ez-button--link--medium--font-size:var(--text--medium, 14px);--ez-button--link--large--font-size:var(--text--large, 16px)}ez-icon{--ez-icon--color:inherit}button{position:relative;display:flex;align-items:center;margin:0;cursor:pointer;transition:background-color 0.2s linear;white-space:nowrap;min-width:var(--ez-button--min-width);width:var(--ez-button--width);height:var(--ez-button--height);font-family:var(--ez-button--font-family);font-size:var(--ez-button--font-size);font-weight:var(--ez-button--font-weight);padding:var(--ez-button--padding-top) var(--ez-button--padding-right) var(--ez-button--padding-bottom) var(--ez-button--padding-left);border-radius:var(--ez-button--border-radius);background-color:var(--ez-button--background-color);color:var(--ez-button--color);fill:var(--ez-button--color);border:var(--ez-button--border);justify-content:var(--ez-button--justify-content)}button:focus{outline:var(--ez-button--focus--border);box-shadow:var(--ez-button--focus--box-shadow)}button:hover{outline:none;background-color:var(--ez-button--hover--background-color);color:var(--ez-button--hover-color);fill:var(--ez-button--hover-color);--ez-icon--color:var(--ez-button--hover-color)}button:active{outline:none;box-shadow:none;background-color:var(--ez-button--active--background-color);color:var(--ez-button--active-color);fill:var(--ez-button--active-color);--ez-icon--color:var(--ez-button--active-color)}button:disabled{background-color:var(--ez-button--disabled--background-color);color:var(--ez-button--disabled-color);fill:var(--ez-button--disabled-color);border:none;--ez-icon--color:var(--ez-button--disabled-color);cursor:no-drop}.small{height:32px;--ez-button--font-size:var(--text--small, 12px)}.medium{height:42px}.large{height:46px}.btn-icon{padding:0px}.btn-icon--medium{width:42px;min-width:42px;height:42px}.btn-icon--small{width:32px;min-width:32px;height:32px}.btn-icon--large{width:46px;min-width:46px;height:46px}.label-icon{display:flex;flex-direction:column;align-items:center;color:var(--ez-button--color)}.label-icon:hover{color:var(--ez-button--hover-color);fill:var(--ez-button--hover-color);--ez-icon--color:var(--ez-button--hover-color)}.label-icon:active{color:var(--ez-button--active-color);fill:var(--ez-button--active-color);--ez-icon--color:var(--ez-button--active-color)}.label-icon label{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;font-family:var(--ez-button--font-family);font-size:var(--ez-button--font-size);font-weight:var(--ez-button--font-weight);user-select:none}button:disabled+label{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;font-family:var(--ez-button--font-family);font-size:var(--ez-button--font-size);font-weight:var(--ez-button--font-weight);color:var(--ez-button--disabled-color);cursor:no-drop}div.label-icon{cursor:pointer}div.label-icon,button:disabled{cursor:no-drop}a{font-family:var(--ez-button--font-family);font-weight:var(--ez-button--font-weight);color:var(--ez-button--link-color);cursor:pointer;display:flex;align-items:center;justify-content:center;}a:hover{color:var(--ez-button--link--hover-color)}a.small{font-size:var(--ez-button--link--small--font-size);line-height:var(--ez-button--link--small--font-size)}a.medium{font-size:var(--ez-button--link--medium--font-size);line-height:var(--ez-button--link--medium--font-size)}a.large{font-size:var(--ez-button--link--large--font-size);line-height:var(--ez-button--link--large--font-size)}";
4
5
 
@@ -26,6 +27,15 @@ let EzButton = class {
26
27
  async setBlur() {
27
28
  this._button.blur();
28
29
  }
30
+ componentDidLoad() {
31
+ if (this._element) {
32
+ ElementIDUtils.addIDInfo(this._element);
33
+ }
34
+ if (this._button) {
35
+ const dataInfo = { id: 'ezButton_internal_button' };
36
+ ElementIDUtils.addIDInfo(this._button, null, dataInfo);
37
+ }
38
+ }
29
39
  getIconSize(sizeParam = "medium") {
30
40
  const sizeList = ["small", "medium", "large"];
31
41
  const sizeLowerCase = this.size && this.size.toLowerCase();
@@ -69,6 +79,7 @@ let EzButton = class {
69
79
  return (h("button", { class: this.getIconSize(""), type: "button", disabled: !this.enabled, ref: (el) => this._button = el }, h("slot", { name: "leftIcon", onSlotchange: (ev) => { this.handleSlotChange(ev); } }), this.label, h("slot", { name: "rightIcon", onSlotchange: (ev) => { this.handleSlotChange(ev); } })));
70
80
  }
71
81
  }
82
+ get _element() { return getElement(this); }
72
83
  };
73
84
  EzButton.style = ezButtonCss;
74
85
 
@@ -175,6 +175,7 @@ let EzCalendar = class {
175
175
  const date = new Date();
176
176
  date.setTime(firstDate.getTime());
177
177
  date.setDate(date.getDate() + offset + index);
178
+ let dataDayMonth = `${date.getMonth() + 1}-${date.getDate()}-${date.getFullYear()}`;
178
179
  let classNames = "calendar__cell";
179
180
  if (this._currentPosition.getMonth() != date.getMonth()) {
180
181
  classNames += " calendar__cell--secondary";
@@ -182,7 +183,7 @@ let EzCalendar = class {
182
183
  else if (this.isSelectedDate(date)) {
183
184
  classNames += " calendar__cell--selected";
184
185
  }
185
- return h("div", { class: classNames, onClick: () => this.selectDate(date) }, date.getDate());
186
+ return h("div", { "data-day-month": dataDayMonth, class: classNames, onClick: () => this.selectDate(date) }, date.getDate());
186
187
  })))), h("div", { class: "calendar__footer" }, h("button", { class: "calendar__btn-today", onClick: () => this.selectDate(new Date()) }, this._todayLabel))), (this.time || this.showSeconds) &&
187
188
  h("div", { class: "calendar-time" }, h("div", { class: "calendar-time__header" }, h("div", null, "H"), h("div", { class: "separatorTime" }, ":"), h("div", null, "M"), this.showSeconds &&
188
189
  h("div", { class: "separatorTime" }, ":"), this.showSeconds &&
@@ -1,4 +1,5 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-7bc778b3.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-7bc778b3.js';
2
+ import { StringUtils, ElementIDUtils } from '@sankhyalabs/core';
2
3
 
3
4
  const ezCardItemCss = ":host{--ez-card-item--font-size:var(--text--medium, 14px);--ez-card-item--font-family:var(--font-pattern, Arial);--ez-card-item--font-weight:var(--text-weight--medium, 400);--ez-card-item--font-weight-large:var(--text-weight--large, 600);--ez-card-item--color:var(--title--primary, #2B3A54);--ez-card-item__key--color:var(--text--primary, #626e82);--ez-card-item__detail-label--color:var(--text--secondary, #A2ABB9);--ez-card-item__detail--padding-bottom:var(--space--extra-small, 3px);--ez-card-item__title--padding-bottom:var(--space--extra-small, 3px);--ez-card-item__highlight--color:var(--color--primary-300, #E2F4EF);width:100%;display:flex;cursor:pointer}.card-item{display:flex;flex-direction:column;width:100%;cursor:pointer;padding:12px;z-index:0;position:relative}.card-item:hover{background:#F0F3F7;border-radius:12px}.card-item__title{display:flex;align-items:center;line-height:18px;cursor:pointer;font-size:var(--ez-card-item--font-size);font-family:var(--ez-card-item--font-family);font-weight:var(--ez-card-item--font-weight-large);color:var(--ez-card-item--color);padding-bottom:var(--ez-card-item__title--padding-bottom);gap:var(--space--small, 6px)}.card-item__key{color:var(--ez-card-item__key--color)}.card-item__details{display:flex;cursor:pointer;justify-content:space-between;gap:var(--space--small, 6px)}.card-item__details-left{cursor:pointer;width:50%}.card-item__details-right{width:50%;cursor:pointer}.card-item__detail:not(:last-child){cursor:pointer;padding-bottom:var(--ez-card-item__detail--padding-bottom)}.card-item__detail-label{cursor:pointer;font-size:var(--ez-card-item--font-size);font-family:var(--ez-card-item--font-family);font-weight:var(--ez-card-item--font-weight);color:var(--ez-card-item__detail-label--color)}.card-item__detail-value{cursor:pointer;font-size:var(--ez-card-item--font-size);font-family:var(--ez-card-item--font-family);font-weight:var(--ez-card-item--font-weight);color:var(--ez-card-item--color)}.card-item__highlight{position:relative;border-radius:8px;z-index:-1;background-color:var(--ez-card-item__highlight--color);outline:2px solid var(--ez-card-item__highlight--color);box-shadow:-4px 0px 0px 0px var(--ez-card-item__highlight--color), \n 4px 0px 0px 0px var(--ez-card-item__highlight--color)}";
4
5
 
@@ -10,6 +11,11 @@ let EzCardItem = class {
10
11
  componentWillRender() {
11
12
  this.createDetailList();
12
13
  }
14
+ componentDidLoad() {
15
+ var _a, _b;
16
+ const dataInfo = { id: StringUtils.toCamelCase(((_a = this.item) === null || _a === void 0 ? void 0 : _a.key) || ((_b = this.item) === null || _b === void 0 ? void 0 : _b.title) || "") };
17
+ ElementIDUtils.addIDInfo(this._element, null, dataInfo);
18
+ }
13
19
  createDetailList() {
14
20
  var _a, _b, _c;
15
21
  this._details = { detailsLeft: [], detailsRight: [] };
@@ -34,6 +40,7 @@ let EzCardItem = class {
34
40
  return this.buildDetailContent(detail);
35
41
  }))))));
36
42
  }
43
+ get _element() { return getElement(this); }
37
44
  };
38
45
  EzCardItem.style = ezCardItemCss;
39
46
 
@@ -1,4 +1,5 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-7bc778b3.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-7bc778b3.js';
2
+ import { ElementIDUtils } from '@sankhyalabs/core';
2
3
  import { C as CheckMode } from './CheckMode-bdb2ec19.js';
3
4
 
4
5
  const ezCheckCss = ":host{--ez-check--box--width:18px;--ez-check--box--height:18px;--ez-check--width:calc(var(--ez-check--box--width) + var(--ez-check--outter-gap, 14px));--ez-check--height:calc(var(--ez-check--box--width) + var(--ez-check--outter-gap, 14px));--ez-check--border-radius:var(--border--radius-small);--ez-check--checked--background-color:var(--color--primary-200);--ez-check--focus--background-color:var(--color--strokes, #FFFFFF);--ez-check--hover--background-color:var(--background--medium);--ez-check--checked--disabled--background-color:var(--color--disable-secondary);--ez-check--border:var(--border--medium) var(--title--primary);--ez-check--disabled--border:var(--border--medium) var(--color--strokes);--ez-check--checked--border:var(--border--medium) var(--color--primary);--ez-check--checked--hover--background-color:var(--color--primary-200);--ez-check--checked--focus--background-color:var(--color--primary-300, #FFFFFF);--ez-check--check--image:url('data:image/svg+xml;utf8,<svg width=\"8\" height=\"7\" viewBox=\"0 0 8 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7.70002 0.398999L7.48502 0.207997C7.31524 0.0598858 7.09376 -0.0150438 6.86894 -0.000430025C6.64411 0.0141838 6.43419 0.117153 6.28502 0.285997L2.70002 4.332L1.61802 3.384C1.44837 3.23576 1.22697 3.16067 1.00214 3.17509C0.77732 3.18952 0.567332 3.2923 0.418019 3.461L0.229019 3.674C0.0752361 3.84797 -0.00437434 4.07521 0.00721192 4.30713C0.0187982 4.53904 0.120661 4.75722 0.291019 4.915L2.27402 6.762C2.35832 6.8432 2.45842 6.90618 2.56811 6.94702C2.67779 6.98787 2.79471 7.00571 2.91159 6.99942C3.02846 6.99314 3.14279 6.96287 3.24747 6.91049C3.35214 6.85812 3.44492 6.78477 3.52002 6.695L7.79102 1.638C7.94063 1.46048 8.01486 1.23149 7.99786 0.999963C7.98085 0.768436 7.87396 0.552749 7.70002 0.398999Z\"/></svg>');--ez-check--indeterminate--image:url('data:image/svg+xml;utf8,<svg width=\"10\" height=\"2\" viewBox=\"0 0 10 2\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m 1,0 h 8 c 0.554,0 1,0.446 1,1 0,0.554 -0.446,1 -1,1 H 1 C 0.446,2 0,1.554 0,1 0,0.446 0.446,0 1,0 Z\" /></svg>');--ez-check--check--background-color:var(--color--primary);--ez-check--check--disabled--background-color:var(--color--strokes);--ez-switch--slider--width:34px;--ez-switch--slider--height:14px;--ez-switch--pin--width:19px;--ez-switch--pin--height:19px;--ez-switch--focus--width:32px;--ez-switch--focus--height:32px;--ez-switch--background-color:var(--color--strokes);--ez-switch--disabled--background-color:var(--color--disable-secondary);--ez-switch--disabled--checked--background-color:var(--color--primary-300);--ez-switch--checked--background-color:var(--color--primary);--ez-switch--pin--background-color:var(--background--xlight);--ez-switch--pin--disabled--background-color:var(--color--disable-primary);--ez-switch--pin--checked--background-color:var(--background--xlight);--ez-switch--pin--checked--disabled--background-color:#E8F7F4;--ez-switch--pin--focus--background-color:var(--text--disable);--ez-switch--pin--checked--focus--background-color:var(--color--primary);--ez-switch--pin--border-color:var(--text--primary);--ez-switch--pin--disabled--border-color:var(--text--secondary);--ez-check--label--font-size:var(--text--medium, 14px);--ez-check--label--font-family:var(--font-pattern, Arial);--ez-check--label--color:var(--title--primary, #000);--ez-check--label--disabled--color:var(--text--disable, #AFB6C0);display:flex;width:100%;align-items:center;margin:0}input.regular-mode{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;box-sizing:border-box;-webkit-appearance:none;appearance:none;cursor:pointer;border-radius:50%;position:relative;width:var(--ez-check--width);height:var(--ez-check--height)}input.regular-mode:enabled:hover{background-color:var(--ez-check--hover--background-color)}input.regular-mode:enabled:focus{outline:none;background-color:var(--ez-check--focus--background-color)}input.regular-mode:disabled{cursor:auto;background:none}input.regular-mode::before{box-sizing:border-box;content:\"\";display:block;width:var(--ez-check--box--width);height:var(--ez-check--box--height);border-radius:var(--ez-check--border-radius);border:var(--ez-check--border)}input.regular-mode:disabled::before{border:var(--ez-check--disabled--border)}input.regular-mode:checked:enabled:hover,input.regular-mode:indeterminate:enabled:hover{background-color:var(--ez-check--checked--hover--background-color)}input.regular-mode:checked:enabled:focus,input.regular-mode:indeterminate:enabled:focus{background-color:var(--ez-check--checked--focus--background-color)}input.regular-mode:checked::before,input.regular-mode:indeterminate::before{border:var(--ez-check--checked--border);background-color:var(--ez-check--checked--background-color)}input.regular-mode:disabled:before{border:var(--ez-check--disabled--border);background-color:var(--ez-check--checked--disabled--background-color)}input.regular-mode:checked::after,input.regular-mode:indeterminate:after{display:flex;position:absolute;content:\"\";background-color:var(--ez-check--check--background-color);width:8px;height:7px;-webkit-mask-image:var(--ez-check--check--image);mask-image:var(--ez-check--check--image)}input.regular-mode:indeterminate:after{display:flex;position:absolute;content:\"\";background-color:var(--ez-check--check--background-color);width:10px;height:2px;-webkit-mask-image:var(--ez-check--indeterminate--image);mask-image:var(--ez-check--indeterminate--image)}input.regular-mode:checked:disabled::after,input.regular-mode:indeterminate:disabled::after{background-color:var(--ez-check--check--disabled--background-color)}input.switch-mode{flex-shrink:0;-webkit-appearance:none;appearance:none;position:relative;outline:none;cursor:pointer;border-radius:20px;border:var(--border--small, 1px solid) var(--ez-switch--pin--border-color, #626e82);transition:background-color var(--transition);width:var(--ez-switch--slider--width);height:var(--ez-switch--slider--height);background-color:var(--ez-switch--background-color)}input.switch-mode:disabled{background-color:var(--ez-switch--disabled--background-color);border:var(--border--small, 1px solid) var(--ez-switch--pin--disabled--border-color, #a2abb9)}input.switch-mode:checked:disabled{background-color:var(--ez-switch--disabled--checked--background-color)}input.switch-mode::after{content:\"\";display:block;position:absolute;box-shadow:var(--shadow);transition:transform var(--transition);transition:background-color var(--transition);transition:border-color var(--transition);transform:translateX(-2px) translateY(-4px);border-radius:50%;border:var(--border--small, 1px solid) var(--ez-switch--pin--border-color, #626e82);width:var(--ez-switch--pin--width);height:var(--ez-switch--pin--height);background-color:var(--ez-switch--pin--background-color)}input.switch-mode:disabled::after{background-color:var(--ez-switch--pin--disabled--background-color);border:var(--border--small, 1px solid) var(--ez-switch--pin--disabled--border-color, #a2abb9)}input.switch-mode:checked{transition:background-color var(--transition), border var(--transition);background-color:var(--ez-switch--checked--background-color);border:var(--border--small, 1px solid) var(--color--primary, #008561)}input.switch-mode::before{display:block;content:\"\";display:block;position:absolute;border-radius:50%;opacity:0;width:var(--ez-switch--focus--width);height:var(--ez-switch--focus--height);top:calc((var(--ez-switch--slider--height) - var(--ez-switch--focus--height)) / 2);left:calc((var(--ez-switch--pin--width) - var(--ez-switch--focus--width) - 2px) / 2);background-color:var(--ez-switch--pin--focus--background-color)}input.switch-mode:focus::before{opacity:0.24;transition:opacity var(--transition)}input.switch-mode:checked:focus::before{background-color:var(--ez-switch--pin--checked--focus--background-color);transform:translateX(calc(var(--ez-switch--slider--width) - var(--ez-switch--pin--width) + 2px))}input.switch-mode:checked::after{transition:transform var(--transition);transition:background-color var(--transition);transition:border-color var(--transition);transform:translateX(calc(var(--ez-switch--slider--width) - var(--ez-switch--pin--width))) translateY(-4px);box-shadow:var(--shadow);background-color:var(--ez-switch--pin--checked--background-color);border:var(--border--small, 1px solid) var(--color--primary, #008561)}input.switch-mode:checked:disabled::after{background-color:var(--ez-switch--pin--checked--disabled--background-color)}.label{flex-shrink:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ez-check--label--color);font-size:var(--ez-check--label--font-size);font-family:var(--ez-check--label--font-family);cursor:default;padding-left:var(--space--small)}.label--disabled{color:var(--ez-check--label--disabled--color)}";
@@ -34,6 +35,14 @@ let EzCheck = class {
34
35
  async setFocus() {
35
36
  this._inputElem.focus();
36
37
  }
38
+ componentDidLoad() {
39
+ if (this._inputElem) {
40
+ ElementIDUtils.addIDInfo(this._inputElem, 'input');
41
+ }
42
+ if (this._element) {
43
+ ElementIDUtils.addIDInfo(this._element, 'input');
44
+ }
45
+ }
37
46
  changeValue() {
38
47
  if (!this.enabled) {
39
48
  return;
@@ -55,6 +64,7 @@ let EzCheck = class {
55
64
  render() {
56
65
  return (h(Host, null, h("input", { type: "checkbox", ref: (el) => this._inputElem = el, class: this.getInputClasses(), checked: this.value === true, onChange: () => { this.changeValue(); }, indeterminate: this.indeterminate, disabled: !this.enabled }), this.label ? h("label", { class: this.getLabelClasses(), onClick: () => { this.changeValue(); }, title: this.label }, this.label) : undefined));
57
66
  }
67
+ get _element() { return getElement(this); }
58
68
  };
59
69
  EzCheck.style = ezCheckCss;
60
70
 
@@ -1,4 +1,5 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-7bc778b3.js';
1
+ import { r as registerInstance, c as createEvent, h, g as getElement } from './index-7bc778b3.js';
2
+ import { ElementIDUtils } from '@sankhyalabs/core';
2
3
 
3
4
  const ezChipCss = ":host{--ez-label-chip--height:30px;--ez-label-chip__label--font-size:var(--text--medium, 14px);--ez-label-chip__label--font-family:var(--font-pattern, Arial);--ez-label-chip__label--font-weight:var(--text-weight--medium, 400);--ez-label-chip__label--space--medium:var(--space--medium, 12px);--ez-label-chip__label--title--primary:var(--title--primary, #2B3A54);--ez-label-chip__label--text--primary:var(--text--primary, #626e82);--ez-label-chip__label__container--border-radius:var(--border--radius-large, 24px);--ez-label-chip__label__container--border:1px solid;--ez-label-chip__label__container--border-color-strokes:var(--color--strokes, #DCE0E8);--ez-label-chip__label__container--color-primary:var(--color--primary, #008561);--ez-label-chip__label__container-color--disable-secondary:var(--color--disable-secondary, #F2F5F8);--ez-label-chip__label__container--background-color:var(--color--primary-300);--ez-label-chip__label__container--border-color:#0085610F;--ez-label-chip__label__container--default--border-color--active:var(--color--primary, #007a5a);--ez-label-chip__label__container--default--background-color--hover:var(--color--primary-300, #f2faf8);--ez-label-chip__label__container--default--color--hover:var(--color--primary, #f2faf8);--ez-label-chip__label__container--text--disabled:var(--text--disable, #AFB6C0);--ez-label-chip__label__container--default--border-color--active:var(--color--primary)}.lbl{display:flex;white-space:nowrap;align-items:center;cursor:pointer;user-select:none;color:var(--ez-label-chip__label--title--primary);height:var(--ez-label-chip--height);font-family:var(--ez-label-chip__label--font-family);font-size:var(--ez-label-chip__label--font-size);font-weight:var(--ez-label-chip__label--font-weight)}.lbl--active{color:var(--ez-label-chip__label__container--default--color--hover)}.lbl--disabled{color:var(--ez-label-chip__label__container--text--disabled)}.label__container{cursor:pointer;width:max-content;display:flex;flex-wrap:wrap;align-items:center;background-color:#FFFFFF;color:var(--ez-label-chip__label--text--primary);fill:var(--ez-label-chip__label--text--primary);--ez-icon--color:var(--ez-label-chip__label--text--primary);border:var(--ez-label-chip__label__container--border);border-radius:var(--ez-label-chip__label__container--border-radius);border-color:var(--ez-label-chip__label__container--border-color-strokes);padding-right:var(--ez-label-chip__label--space--medium);padding-left:var(--ez-label-chip__label--space--medium);outline-color:var(--ez-label-chip__label__container--default--border-color--active)}.label__content{display:flex;align-items:center;flex-wrap:wrap;--ez-icon--color:var(--ez-label-chip__label--text--primary)}.label__container--disabled{cursor:default;border-color:var(--ez-label-chip__label__container-color--disable-secondary);background-color:var(--ez-label-chip__label__container-color--disable-secondary);fill:var(--ez-label-chip__label__container--text--disabled);color:var(--ez-label-chip__label__container--text--disabled);--ez-icon--color:var(--ez-label-chip__label__container--text--disabled)}.label__container--active{border-color:var(--ez-label-chip__label__container--default--background-color--hover);background-color:var(--ez-label-chip__label__container--default--background-color--hover);color:var(--ez-label-chip__label__container--default--color--hover);fill:var(--ez-label-chip__label__container--default--color--hover);--ez-icon--color:var(--ez-label-chip__label__container--default--color--hover)}.label__container:hover{border-color:var(--ez-label-chip__label__container--default--border-color--active)}.label__container--disabled:hover{cursor:default;border:var(--ez-label-chip__label__container--border);border-color:var(--ez-label-chip__label__container-color--disable-secondary);background-color:var(--ez-label-chip__label__container-color--disable-secondary);fill:var(--ez-label-chip__label__container--text--disabled);color:var(--ez-label-chip__label__container--text--disabled);--ez-icon--color:var(--ez-label-chip__label__container--text--disabled)}.label__content__icon{display:flex;cursor:pointer;color:var(--ez-label-chip__label--text--primary);fill:var(--ez-label-chip__label--text--primary);--ez-icon--color:var(--ez-label-chip__label--text--primary)}.label__container--row-reverse{flex-direction:row-reverse}.label__container .btn-close{padding:0px 0px 0px 8px}.label__container--row-reverse .btn-close{padding:0px 8px 0px 0px}.cursor-disable{cursor:default}ez-icon{--ez-icon--color:inherit}";
4
5
 
@@ -85,14 +86,20 @@ let EzChip = class {
85
86
  // Lifecycle web component
86
87
  //---------------------------------------------
87
88
  componentDidLoad() {
89
+ if (this._element) {
90
+ ElementIDUtils.addIDInfo(this._element, 'ezChip');
91
+ }
88
92
  if (this._containerElem) {
89
93
  this.observeValue();
90
94
  this.observeEnabled();
95
+ this._containerElem.setAttribute("data-element-id", 'ezChip_internal_button');
96
+ ElementIDUtils.addIDInfo(this._containerElem);
91
97
  }
92
98
  }
93
99
  render() {
94
100
  return (h("button", { onClick: (ev) => this.handleClick(ev), class: "label__container" + (this.removePosition === "left" ? " label__container--row-reverse" : ""), ref: (el) => this._containerElem = el }, h("div", { class: "label__content" }, h("slot", { name: "leftIcon", onSlotchange: (ev) => { this.handleSlotChange(ev); } }), h("label", { class: "lbl " + (this.value ? "lbl--active " : ""), ref: (el) => this._labelElem = el, title: this.label }, this.formatLabel()), h("slot", { name: "rightIcon", onSlotchange: (ev) => { this.handleSlotChange(ev); } })), this.mode !== 'action' && this.removePosition && h("ez-icon", { class: "btn-close", size: "small", "icon-name": "close" })));
95
101
  }
102
+ get _element() { return getElement(this); }
96
103
  static get watchers() { return {
97
104
  "value": ["observeValue"],
98
105
  "enabled": ["observeEnabled"]
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-7bc778b3.js';
2
- import { FloatingManager } from '@sankhyalabs/core';
2
+ import { FloatingManager, ElementIDUtils } from '@sankhyalabs/core';
3
3
  import { A as ApplicationUtils } from './ApplicationUtils-205ac4bc.js';
4
4
  import { C as CSSVarsUtils } from './CSSVarsUtils-00f67f32.js';
5
5
  import './DialogType-4059dc4d.js';
@@ -355,6 +355,12 @@ let EzComboBox = class {
355
355
  componentDidLoad() {
356
356
  CSSVarsUtils.applyVarsTextInput(this.el, this._textInput);
357
357
  this.setInputValue(false);
358
+ if (this.el) {
359
+ ElementIDUtils.addIDInfo(this.el, 'input');
360
+ if (this._textInput) {
361
+ ElementIDUtils.addIDInfo(this._textInput, 'internal_input', { id: this.el.getAttribute("data-element-id") });
362
+ }
363
+ }
358
364
  }
359
365
  //---------------------------------------------
360
366
  // Event handlers