@luftborn/custom-elements 1.1.38 → 1.1.41

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/demo/index.html +147 -2
  2. package/demo/index.js +451 -325
  3. package/demo/index.min.js +450 -324
  4. package/demo/index.min.js.map +1 -1
  5. package/dist/elements/Address/AddressElement.js +6 -4
  6. package/dist/elements/Address/AddressElement.js.map +1 -1
  7. package/dist/elements/BankField/BankFieldElement.js +4 -2
  8. package/dist/elements/BankField/BankFieldElement.js.map +1 -1
  9. package/dist/elements/CPRElement/CPRElement.js +4 -2
  10. package/dist/elements/CPRElement/CPRElement.js.map +1 -1
  11. package/dist/elements/CVRElement/CVRElement.js +4 -2
  12. package/dist/elements/CVRElement/CVRElement.js.map +1 -1
  13. package/dist/elements/CheckBoxElement/CheckBoxElement.js +5 -2
  14. package/dist/elements/CheckBoxElement/CheckBoxElement.js.map +1 -1
  15. package/dist/elements/CustomRegularExpression/CustomRegularExpressionElement.js +4 -2
  16. package/dist/elements/CustomRegularExpression/CustomRegularExpressionElement.js.map +1 -1
  17. package/dist/elements/DateField/DateFieldElement.js +4 -2
  18. package/dist/elements/DateField/DateFieldElement.js.map +1 -1
  19. package/dist/elements/DropDownList/DropDownListElement.js +6 -3
  20. package/dist/elements/DropDownList/DropDownListElement.js.map +1 -1
  21. package/dist/elements/EmailField/EmailFieldElement.js +4 -2
  22. package/dist/elements/EmailField/EmailFieldElement.js.map +1 -1
  23. package/dist/elements/FileField/FileFieldElement.js +4 -2
  24. package/dist/elements/FileField/FileFieldElement.js.map +1 -1
  25. package/dist/elements/IdentificationElement/IdentificationElement.js +4 -2
  26. package/dist/elements/IdentificationElement/IdentificationElement.js.map +1 -1
  27. package/dist/elements/InternationaPhoneNumber/InternationaPhoneNumberElement.js +4 -2
  28. package/dist/elements/InternationaPhoneNumber/InternationaPhoneNumberElement.js.map +1 -1
  29. package/dist/elements/NumericField/NumericFieldElement.js +4 -2
  30. package/dist/elements/NumericField/NumericFieldElement.js.map +1 -1
  31. package/dist/elements/RadioButtonGroup/RadioButtonGroupElement.js +5 -2
  32. package/dist/elements/RadioButtonGroup/RadioButtonGroupElement.js.map +1 -1
  33. package/dist/elements/TextAreaElement/TextAreaElement.js +4 -2
  34. package/dist/elements/TextAreaElement/TextAreaElement.js.map +1 -1
  35. package/dist/elements/TextField/TextFieldElement.js +4 -2
  36. package/dist/elements/TextField/TextFieldElement.js.map +1 -1
  37. package/dist/elements/TypeAhead/TypeAheadElement.js +4 -2
  38. package/dist/elements/TypeAhead/TypeAheadElement.js.map +1 -1
  39. package/dist/framework/CustomInputElement.d.ts +2 -0
  40. package/dist/framework/CustomInputElement.js +21 -2
  41. package/dist/framework/CustomInputElement.js.map +1 -1
  42. package/dist/framework/Language/Languages/DanishDictionary.js +3 -1
  43. package/dist/framework/Language/Languages/DanishDictionary.js.map +1 -1
  44. package/dist/framework/Language/Languages/EnglishDictionary.js +3 -1
  45. package/dist/framework/Language/Languages/EnglishDictionary.js.map +1 -1
  46. package/node_modules/@webcomponents/webcomponentsjs/CHANGELOG.md +61 -0
  47. package/node_modules/@webcomponents/webcomponentsjs/README.md +64 -47
  48. package/node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-ce.js +14 -24
  49. package/node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-ce.js.map +1 -1
  50. package/node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-pf_dom.js +60 -0
  51. package/node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-pf_dom.js.map +1 -0
  52. package/node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-pf_js.js +95 -0
  53. package/node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-pf_js.js.map +1 -0
  54. package/node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +290 -250
  55. package/node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +1 -1
  56. package/node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-sd-ce.js +184 -177
  57. package/node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +1 -1
  58. package/node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-sd.js +151 -135
  59. package/node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-sd.js.map +1 -1
  60. package/node_modules/@webcomponents/webcomponentsjs/package.json +30 -29
  61. package/node_modules/@webcomponents/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +5 -3
  62. package/node_modules/@webcomponents/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +1 -1
  63. package/node_modules/@webcomponents/webcomponentsjs/src/entrypoints/webcomponents-pf_dom-index.js +17 -0
  64. package/node_modules/@webcomponents/webcomponentsjs/src/entrypoints/webcomponents-pf_js-index.js +13 -0
  65. package/node_modules/@webcomponents/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +1 -1
  66. package/node_modules/@webcomponents/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +4 -7
  67. package/node_modules/@webcomponents/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +1 -1
  68. package/node_modules/@webcomponents/webcomponentsjs/src/flag-parser.js +69 -0
  69. package/node_modules/@webcomponents/webcomponentsjs/src/platform/baseuri.js +28 -0
  70. package/node_modules/@webcomponents/webcomponentsjs/src/platform/child-node/after.js +47 -0
  71. package/node_modules/@webcomponents/webcomponentsjs/src/platform/child-node/before.js +40 -0
  72. package/node_modules/@webcomponents/webcomponentsjs/src/platform/child-node/index.js +14 -0
  73. package/node_modules/@webcomponents/webcomponentsjs/src/platform/child-node/remove.js +37 -0
  74. package/node_modules/@webcomponents/webcomponentsjs/src/platform/child-node/replace-with.js +42 -0
  75. package/node_modules/@webcomponents/webcomponentsjs/src/platform/custom-event.js +79 -0
  76. package/node_modules/@webcomponents/webcomponentsjs/src/platform/es6-misc.js +38 -0
  77. package/node_modules/@webcomponents/webcomponentsjs/src/platform/get-attribute-names.js +27 -0
  78. package/node_modules/@webcomponents/webcomponentsjs/src/platform/matches.js +21 -0
  79. package/node_modules/@webcomponents/webcomponentsjs/src/platform/parent-node/append.js +31 -0
  80. package/node_modules/@webcomponents/webcomponentsjs/src/platform/parent-node/index.js +13 -0
  81. package/node_modules/@webcomponents/webcomponentsjs/src/platform/parent-node/prepend.js +42 -0
  82. package/node_modules/@webcomponents/webcomponentsjs/src/platform/parent-node/replace-children.js +45 -0
  83. package/node_modules/@webcomponents/webcomponentsjs/src/platform/promise.js +50 -0
  84. package/node_modules/@webcomponents/webcomponentsjs/src/platform/svg-element-class-list.js +28 -0
  85. package/node_modules/@webcomponents/webcomponentsjs/src/platform/symbol.js +64 -0
  86. package/node_modules/@webcomponents/webcomponentsjs/src/unresolved.js +32 -0
  87. package/node_modules/@webcomponents/webcomponentsjs/webcomponents-bundle.d.ts +174 -0
  88. package/node_modules/@webcomponents/webcomponentsjs/webcomponents-bundle.js +299 -250
  89. package/node_modules/@webcomponents/webcomponentsjs/webcomponents-bundle.js.map +1 -1
  90. package/node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js +49 -28
  91. package/package.json +2 -2
  92. package/src/elements/CheckBoxElement/CheckBoxElement.ts +1 -0
  93. package/src/elements/DropDownList/DropDownListElement.ts +2 -0
  94. package/src/elements/RadioButtonGroup/RadioButtonGroupElement.ts +1 -0
  95. package/src/framework/CustomInputElement.ts +19 -2
@@ -8,7 +8,7 @@
8
8
  * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
9
9
  */
10
10
 
11
- (function() {
11
+ (function () {
12
12
  'use strict';
13
13
 
14
14
  /**
@@ -47,7 +47,9 @@
47
47
 
48
48
  function fireEvent() {
49
49
  window.WebComponents.ready = true;
50
- document.dispatchEvent(new CustomEvent('WebComponentsReady', { bubbles: true }));
50
+ document.dispatchEvent(
51
+ new CustomEvent('WebComponentsReady', {bubbles: true})
52
+ );
51
53
  }
52
54
 
53
55
  function batchCustomElements() {
@@ -77,43 +79,51 @@
77
79
 
78
80
  function runWhenLoadedFns() {
79
81
  allowUpgrades = false;
80
- var fnsMap = whenLoadedFns.map(function(fn) {
82
+ var fnsMap = whenLoadedFns.map(function (fn) {
81
83
  return fn instanceof Function ? fn() : fn;
82
84
  });
83
85
  whenLoadedFns = [];
84
- return Promise.all(fnsMap).then(function() {
85
- allowUpgrades = true;
86
- flushFn && flushFn();
87
- }).catch(function(err) {
88
- console.error(err);
89
- });
86
+ return Promise.all(fnsMap)
87
+ .then(function () {
88
+ allowUpgrades = true;
89
+ flushFn && flushFn();
90
+ })
91
+ .catch(function (err) {
92
+ console.error(err);
93
+ });
90
94
  }
91
95
 
92
96
  window.WebComponents = window.WebComponents || {};
93
97
  window.WebComponents.ready = window.WebComponents.ready || false;
94
- window.WebComponents.waitFor = window.WebComponents.waitFor || function(waitFn) {
95
- if (!waitFn) {
96
- return;
97
- }
98
- whenLoadedFns.push(waitFn);
99
- if (polyfillsLoaded) {
100
- runWhenLoadedFns();
101
- }
102
- };
98
+ window.WebComponents.waitFor =
99
+ window.WebComponents.waitFor ||
100
+ function (waitFn) {
101
+ if (!waitFn) {
102
+ return;
103
+ }
104
+ whenLoadedFns.push(waitFn);
105
+ if (polyfillsLoaded) {
106
+ runWhenLoadedFns();
107
+ }
108
+ };
103
109
  window.WebComponents._batchCustomElements = batchCustomElements;
104
110
 
105
111
  var name = 'webcomponents-loader.js';
106
112
  // Feature detect which polyfill needs to be imported.
107
113
  var polyfills = [];
108
- if (!('attachShadow' in Element.prototype && 'getRootNode' in Element.prototype) ||
109
- (window.ShadyDOM && window.ShadyDOM.force)) {
114
+ if (
115
+ !(
116
+ 'attachShadow' in Element.prototype && 'getRootNode' in Element.prototype
117
+ ) ||
118
+ (window.ShadyDOM && window.ShadyDOM.force)
119
+ ) {
110
120
  polyfills.push('sd');
111
121
  }
112
122
  if (!window.customElements || window.customElements.forcePolyfill) {
113
123
  polyfills.push('ce');
114
124
  }
115
125
 
116
- var needsTemplate = (function() {
126
+ var needsTemplate = (function () {
117
127
  // no real <template> because no `content` property (IE and older browsers)
118
128
  var t = document.createElement('template');
119
129
  if (!('content' in t)) {
@@ -128,13 +138,21 @@
128
138
  t2.content.appendChild(document.createElement('div'));
129
139
  t.content.appendChild(t2);
130
140
  var clone = t.cloneNode(true);
131
- return (clone.content.childNodes.length === 0 ||
132
- clone.content.firstChild.content.childNodes.length === 0);
141
+ return (
142
+ clone.content.childNodes.length === 0 ||
143
+ clone.content.firstChild.content.childNodes.length === 0
144
+ );
133
145
  })();
134
146
 
135
147
  // NOTE: any browser that does not have template or ES6 features
136
148
  // must load the full suite of polyfills.
137
- if (!window.Promise || !Array.from || !window.URL || !window.Symbol || needsTemplate) {
149
+ if (
150
+ !window.Promise ||
151
+ !Array.from ||
152
+ !window.URL ||
153
+ !window.Symbol ||
154
+ needsTemplate
155
+ ) {
138
156
  polyfills = ['sd-ce-pf'];
139
157
  }
140
158
 
@@ -146,7 +164,7 @@
146
164
  if (window.WebComponents.root) {
147
165
  url = window.WebComponents.root + polyfillFile;
148
166
  } else {
149
- var script = document.querySelector('script[src*="' + name +'"]');
167
+ var script = document.querySelector('script[src*="' + name + '"]');
150
168
  // Load it from the right place.
151
169
  url = script.src.replace(name, polyfillFile);
152
170
  }
@@ -156,7 +174,10 @@
156
174
  // if readyState is 'loading', this script is synchronous
157
175
  if (document.readyState === 'loading') {
158
176
  // make sure custom elements are batched whenever parser gets to the injected script
159
- newScript.setAttribute('onload', 'window.WebComponents._batchCustomElements()');
177
+ newScript.setAttribute(
178
+ 'onload',
179
+ 'window.WebComponents._batchCustomElements()'
180
+ );
160
181
  document.write(newScript.outerHTML);
161
182
  document.addEventListener('DOMContentLoaded', ready);
162
183
  } else {
@@ -176,10 +197,10 @@
176
197
  } else {
177
198
  // this script may come between DCL and load, so listen for both, and cancel load listener if DCL fires
178
199
  window.addEventListener('load', ready);
179
- window.addEventListener('DOMContentLoaded', function() {
200
+ window.addEventListener('DOMContentLoaded', function () {
180
201
  window.removeEventListener('load', ready);
181
202
  ready();
182
- })
203
+ });
183
204
  }
184
205
  }
185
206
  })();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luftborn/custom-elements",
3
- "version": "1.1.38",
3
+ "version": "1.1.41",
4
4
  "description": "custom HTML elements for the form builder application ",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1",
@@ -32,7 +32,7 @@
32
32
  "gulp-uglify": "~3.0.2",
33
33
  "gulp-webserver": "~0.9.1",
34
34
  "tsify": "~4.0.1",
35
- "typescript": "~3.9.3",
35
+ "typescript": "4.4.3",
36
36
  "vinyl-buffer": "~1.0.1",
37
37
  "vinyl-source-stream": "~2.0.0"
38
38
  }
@@ -71,6 +71,7 @@ export class CheckBoxElement extends CustomInputElement {
71
71
 
72
72
  private addCheckBoxes() {
73
73
  const wrapper = super.getChildElement('.wrapper');
74
+ wrapper.innerHTML = "";
74
75
  this.options.forEach((element, index) => {
75
76
  wrapper.insertAdjacentHTML(
76
77
  'beforeend',
@@ -8,6 +8,7 @@ import { StringUtil } from '@luftborn/utilities';
8
8
  template: `
9
9
  <div class="wrapper">
10
10
  <select id='select-list'>
11
+ <option selected disabled>-</option>
11
12
  </select>
12
13
  </div>`,
13
14
  style: `
@@ -76,6 +77,7 @@ export class DropDownListElement extends CustomInputElement {
76
77
  }
77
78
 
78
79
  private addOptions() {
80
+ this.select.innerHTML = "";
79
81
  this.options.forEach((element, index) => {
80
82
  this.select.insertAdjacentHTML(
81
83
  'beforeend',
@@ -74,6 +74,7 @@ export class RadioButtonGroupElement extends CustomInputElement {
74
74
 
75
75
  private addRadioButtons() {
76
76
  const wrapper = super.getChildElement('.wrapper');
77
+ wrapper.innerHTML = "";
77
78
  this.options.forEach((element, index) => {
78
79
  wrapper.insertAdjacentHTML(
79
80
  'beforeend',
@@ -43,6 +43,23 @@ export abstract class CustomInputElement extends HTMLElement {
43
43
  abstract validate(): void;
44
44
  abstract change($event): void;
45
45
 
46
+ compareVlaues = [];
47
+
48
+ isValueConditionMatched(val: any) {
49
+ if (val && Array.isArray(val) && val.length) {
50
+ let result = false;
51
+ val.forEach(element => {
52
+ const elementMatched = this.compareVlaues.findIndex(x => x == element) !== -1;
53
+ if (elementMatched) {
54
+ result = true;
55
+ return;
56
+ }
57
+ });
58
+ return result;
59
+ }
60
+ return this.compareVlaues.findIndex(x => x == val) !== -1;
61
+ }
62
+
46
63
  connectedCallback(): void {
47
64
  this.init();
48
65
  this.setAttributes();
@@ -144,8 +161,8 @@ export abstract class CustomInputElement extends HTMLElement {
144
161
 
145
162
  private bindDependency(elementName: string, type: string, value?: string, criteria?: string,): void {
146
163
  let element = document.querySelector(`[name="${elementName}"]`) as CustomInputElement;
147
-
148
164
  if (element instanceof CustomInputElement) {
165
+ element.compareVlaues.push(value);
149
166
  if (this.dependentOnList.hasOwnProperty(element.name)) {
150
167
  return;
151
168
  }
@@ -161,7 +178,7 @@ export abstract class CustomInputElement extends HTMLElement {
161
178
  }
162
179
  if (type === "custom") {
163
180
  if (criteria === "Exact") {
164
- IsConditionMatched = e.value == value;
181
+ IsConditionMatched = element.isValueConditionMatched(e.value);
165
182
  } else if (criteria === "LessThan") {
166
183
  IsConditionMatched = e.value < value;
167
184
  } else if (criteria === "MoreThan") {