@luftborn/custom-elements 2.5.8 → 2.6.1

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.
@@ -2,6 +2,7 @@ import { CustomInputElement } from '../../framework/CustomInputElement';
2
2
  export declare class DropDownListElement extends CustomInputElement {
3
3
  select: HTMLInputElement;
4
4
  optionTemplate: string;
5
+ placeholderOptionTemplate: string;
5
6
  constructor();
6
7
  get value(): string;
7
8
  set value(value: string);
@@ -30,7 +30,8 @@ var DropDownListElement = /** @class */ (function (_super) {
30
30
  __extends(DropDownListElement, _super);
31
31
  function DropDownListElement() {
32
32
  var _this = _super.call(this) || this;
33
- _this.optionTemplate = "\n <option value='{0}'>\n {1}\n </option>";
33
+ _this.optionTemplate = "\n\t\t<option value='{0}'>\n\t\t{1}\n\t\t</option>";
34
+ _this.placeholderOptionTemplate = "\n\t\t<option selected disabled id=\"placeholder-option\">\n\t\t{0}\n\t\t</option>";
34
35
  return _this;
35
36
  }
36
37
  Object.defineProperty(DropDownListElement.prototype, "value", {
@@ -45,7 +46,8 @@ var DropDownListElement = /** @class */ (function (_super) {
45
46
  });
46
47
  Object.defineProperty(DropDownListElement.prototype, "valid", {
47
48
  get: function () {
48
- return this.select.validity.valid;
49
+ var placeholderOption = this.select.querySelector('#placeholder-option');
50
+ return this.select.validity.valid && !(placeholderOption === null || placeholderOption === void 0 ? void 0 : placeholderOption.selected);
49
51
  },
50
52
  enumerable: false,
51
53
  configurable: true
@@ -67,6 +69,10 @@ var DropDownListElement = /** @class */ (function (_super) {
67
69
  DropDownListElement.prototype.addOptions = function () {
68
70
  var _this = this;
69
71
  this.select.innerHTML = "";
72
+ if (this.placeholder) {
73
+ this.select.insertAdjacentHTML('beforeend', StringUtil_1.StringUtil.StringFormat(this.placeholderOptionTemplate, this.placeholder));
74
+ }
75
+ ;
70
76
  this.options.forEach(function (element, index) {
71
77
  _this.select.insertAdjacentHTML('beforeend', StringUtil_1.StringUtil.StringFormat(_this.optionTemplate, element, element));
72
78
  });
@@ -1 +1 @@
1
- {"version":3,"file":"DropDownListElement.js","sourceRoot":"","sources":["../../../src/elements/DropDownList/DropDownListElement.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,qFAAqE;AACrE,yEAAwE;AACxE,6DAAsE;AACtE,mEAAkE;AAoClE;IAAyC,uCAAkB;IAO1D;QAAA,YACC,iBAAO,SACP;QAPD,oBAAc,GAAG,uDAGJ,CAAC;;IAId,CAAC;IAED,sBAAI,sCAAK;aAAT;YACC,OAAO,KAAG,IAAI,CAAC,MAAM,CAAC,KAAO,CAAC;QAC/B,CAAC;aAED,UAAU,KAAa;YACtB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAC3B,CAAC;;;OAJA;IAMD,sBAAI,sCAAK;aAAT;YACC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACnC,CAAC;;;OAAA;IAED,+CAAiB,GAAjB;QACC,iBAAM,iBAAiB,WAAE,CAAC;IAC3B,CAAC;IAED,6CAAe,GAAf;QACC,IAAI,CAAC,MAAM,GAAG,iBAAM,aAAa,YAAC,cAAc,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;SACzC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;SACzC;QACD,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;IAEO,wCAAU,GAAlB;QAAA,iBAQC;QAPA,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,OAAO,EAAE,KAAK;YACnC,KAAI,CAAC,MAAM,CAAC,kBAAkB,CAC7B,WAAW,EACX,uBAAU,CAAC,YAAY,CAAC,KAAI,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,CAC9D,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IACD,SAAS;IACF,oCAAM,GAAb,UAAc,MAAM;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,qCAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtE,CAAC;IAEM,sCAAQ,GAAf;QACC,IAAI,CAAC,KAAK,CAAC;QACX,IAAI,CAAC,UAAU,CAAC,IAAI,CACnB,IAAI,qCAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAClD,CAAC;IACH,CAAC;IA3DW,mBAAmB;QAlC/B,IAAA,kCAAa,EAAC;YACd,QAAQ,EAAE,mBAAmB;YAC7B,QAAQ,EAAE,kKAKD;YACT,KAAK,EAAE,0pBAuBI;YACX,SAAS,EAAE,IAAI;SACf,CAAC;OACW,mBAAmB,CA4D/B;IAAD,0BAAC;CAAA,AA5DD,CAAyC,uCAAkB,GA4D1D;AA5DY,kDAAmB"}
1
+ {"version":3,"file":"DropDownListElement.js","sourceRoot":"","sources":["../../../src/elements/DropDownList/DropDownListElement.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luftborn/custom-elements",
3
- "version": "2.5.8",
3
+ "version": "2.6.1",
4
4
  "description": "custom HTML elements for the form builder application (node version: 18)",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1",
@@ -40,9 +40,13 @@ import { StringUtil } from '../../framework/Utilities/StringUtil';
40
40
  export class DropDownListElement extends CustomInputElement {
41
41
  select: HTMLInputElement;
42
42
  optionTemplate = `
43
- <option value='{0}'>
44
- {1}
45
- </option>`;
43
+ <option value='{0}'>
44
+ {1}
45
+ </option>`;
46
+ placeholderOptionTemplate = `
47
+ <option selected disabled id="placeholder-option">
48
+ {0}
49
+ </option>`;
46
50
 
47
51
  constructor() {
48
52
  super();
@@ -57,7 +61,8 @@ export class DropDownListElement extends CustomInputElement {
57
61
  }
58
62
 
59
63
  get valid(): boolean {
60
- return this.select.validity.valid;
64
+ const placeholderOption = this.select.querySelector('#placeholder-option') as HTMLOptionElement;
65
+ return this.select.validity.valid && !placeholderOption?.selected;
61
66
  }
62
67
 
63
68
  connectedCallback(): void {
@@ -78,6 +83,12 @@ export class DropDownListElement extends CustomInputElement {
78
83
 
79
84
  private addOptions() {
80
85
  this.select.innerHTML = "";
86
+ if (this.placeholder) {
87
+ this.select.insertAdjacentHTML(
88
+ 'beforeend',
89
+ StringUtil.StringFormat(this.placeholderOptionTemplate, this.placeholder),
90
+ );
91
+ };
81
92
  this.options.forEach((element, index) => {
82
93
  this.select.insertAdjacentHTML(
83
94
  'beforeend',