@web-atoms/web-controls 2.1.265 → 2.1.268

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 (201) hide show
  1. package/dist/ModuleFiles.sys.js +57 -0
  2. package/dist/ModuleFiles.sys.js.map +1 -0
  3. package/dist/auto-complete/AppComboBoxViewModel.sys.js +23 -0
  4. package/dist/auto-complete/AppComboBoxViewModel.sys.js.map +1 -0
  5. package/dist/auto-complete/AutoCompleteBox.sys.js +402 -0
  6. package/dist/auto-complete/AutoCompleteBox.sys.js.map +1 -0
  7. package/dist/auto-complete/AutoCompleteBoxStyle.sys.js +95 -0
  8. package/dist/auto-complete/AutoCompleteBoxStyle.sys.js.map +1 -0
  9. package/dist/auto-complete/ItemHost.sys.js +46 -0
  10. package/dist/auto-complete/ItemHost.sys.js.map +1 -0
  11. package/dist/basic/AtomChips.sys.js +429 -0
  12. package/dist/basic/AtomChips.sys.js.map +1 -0
  13. package/dist/basic/AtomRepeater.sys.js +1319 -0
  14. package/dist/basic/AtomRepeater.sys.js.map +1 -0
  15. package/dist/basic/AtomSuggestions.sys.js +178 -0
  16. package/dist/basic/AtomSuggestions.sys.js.map +1 -0
  17. package/dist/basic/Button.sys.js +71 -0
  18. package/dist/basic/Button.sys.js.map +1 -0
  19. package/dist/basic/Calendar.sys.js +263 -0
  20. package/dist/basic/Calendar.sys.js.map +1 -0
  21. package/dist/basic/CheckBoxList.sys.js +88 -0
  22. package/dist/basic/CheckBoxList.sys.js.map +1 -0
  23. package/dist/basic/Checkbox.sys.js +35 -0
  24. package/dist/basic/Checkbox.sys.js.map +1 -0
  25. package/dist/basic/ComboBox.sys.js +114 -0
  26. package/dist/basic/ComboBox.sys.js.map +1 -0
  27. package/dist/basic/DataGrid.sys.js +415 -0
  28. package/dist/basic/DataGrid.sys.js.map +1 -0
  29. package/dist/basic/DateField.sys.js +120 -0
  30. package/dist/basic/DateField.sys.js.map +1 -0
  31. package/dist/basic/DropDown.sys.js +199 -0
  32. package/dist/basic/DropDown.sys.js.map +1 -0
  33. package/dist/basic/Editable.sys.js +150 -0
  34. package/dist/basic/Editable.sys.js.map +1 -0
  35. package/dist/basic/Expander.sys.js +89 -0
  36. package/dist/basic/Expander.sys.js.map +1 -0
  37. package/dist/basic/Form.sys.js +405 -0
  38. package/dist/basic/Form.sys.js.map +1 -0
  39. package/dist/basic/FormDialog.sys.js +35 -0
  40. package/dist/basic/FormDialog.sys.js.map +1 -0
  41. package/dist/basic/FormField.sys.js +214 -0
  42. package/dist/basic/FormField.sys.js.map +1 -0
  43. package/dist/basic/IElement.sys.js +9 -0
  44. package/dist/basic/IElement.sys.js.map +1 -0
  45. package/dist/basic/Input.sys.js +33 -0
  46. package/dist/basic/Input.sys.js.map +1 -0
  47. package/dist/basic/MaskedInput.sys.js +82 -0
  48. package/dist/basic/MaskedInput.sys.js.map +1 -0
  49. package/dist/basic/MaskedInputDiv.sys.js +122 -0
  50. package/dist/basic/MaskedInputDiv.sys.js.map +1 -0
  51. package/dist/basic/Mix.sys.js +44 -0
  52. package/dist/basic/Mix.sys.js.map +1 -0
  53. package/dist/basic/Panel.sys.js +42 -0
  54. package/dist/basic/Panel.sys.js.map +1 -0
  55. package/dist/basic/PopupButton.sys.js +143 -0
  56. package/dist/basic/PopupButton.sys.js.map +1 -0
  57. package/dist/basic/RadioButtonList.sys.js +79 -0
  58. package/dist/basic/RadioButtonList.sys.js.map +1 -0
  59. package/dist/basic/RefreshLock.sys.js +103 -0
  60. package/dist/basic/RefreshLock.sys.js.map +1 -0
  61. package/dist/basic/Row.sys.js +47 -0
  62. package/dist/basic/Row.sys.js.map +1 -0
  63. package/dist/basic/Switch.sys.js +54 -0
  64. package/dist/basic/Switch.sys.js.map +1 -0
  65. package/dist/basic/TableRepeater.sys.js +61 -0
  66. package/dist/basic/TableRepeater.sys.js.map +1 -0
  67. package/dist/basic/ToggleButtonBar.sys.js +81 -0
  68. package/dist/basic/ToggleButtonBar.sys.js.map +1 -0
  69. package/dist/basic/Tooltip.sys.js +121 -0
  70. package/dist/basic/Tooltip.sys.js.map +1 -0
  71. package/dist/basic/combineClasses.sys.js +15 -0
  72. package/dist/basic/combineClasses.sys.js.map +1 -0
  73. package/dist/basic/in-built/InBuiltStyles.sys.js +55 -0
  74. package/dist/basic/in-built/InBuiltStyles.sys.js.map +1 -0
  75. package/dist/button-bar/AtomButtonBar.sys.js +52 -0
  76. package/dist/button-bar/AtomButtonBar.sys.js.map +1 -0
  77. package/dist/buttons/AtomPopupButton.sys.js +25 -0
  78. package/dist/buttons/AtomPopupButton.sys.js.map +1 -0
  79. package/dist/buttons/AtomPopupButtonStyle.sys.js +35 -0
  80. package/dist/buttons/AtomPopupButtonStyle.sys.js.map +1 -0
  81. package/dist/calendar/AtomCalendar.sys.js +105 -0
  82. package/dist/calendar/AtomCalendar.sys.js.map +1 -0
  83. package/dist/calendar/AtomCalendarStyle.sys.js +186 -0
  84. package/dist/calendar/AtomCalendarStyle.sys.js.map +1 -0
  85. package/dist/calendar/CalendarViewModel.sys.js +165 -0
  86. package/dist/calendar/CalendarViewModel.sys.js.map +1 -0
  87. package/dist/calendar/res/SRCalendar.sys.js +95 -0
  88. package/dist/calendar/res/SRCalendar.sys.js.map +1 -0
  89. package/dist/calendar/res/en-US/SRCalendar.sys.js +81 -0
  90. package/dist/calendar/res/en-US/SRCalendar.sys.js.map +1 -0
  91. package/dist/data-grid/AtomColumn.sys.js +75 -0
  92. package/dist/data-grid/AtomColumn.sys.js.map +1 -0
  93. package/dist/data-grid/AtomDataGrid.sys.js +83 -0
  94. package/dist/data-grid/AtomDataGrid.sys.js.map +1 -0
  95. package/dist/data-grid/AtomDataGridStyle.sys.js +59 -0
  96. package/dist/data-grid/AtomDataGridStyle.sys.js.map +1 -0
  97. package/dist/data-grid/AtomDataGridViewModel.sys.js +98 -0
  98. package/dist/data-grid/AtomDataGridViewModel.sys.js.map +1 -0
  99. package/dist/data-grid/GridTemplate.sys.js +80 -0
  100. package/dist/data-grid/GridTemplate.sys.js.map +1 -0
  101. package/dist/data-pager/AtomDataPager.sys.js +130 -0
  102. package/dist/data-pager/AtomDataPager.sys.js.map +1 -0
  103. package/dist/date-field/AtomDateField.sys.js +67 -0
  104. package/dist/date-field/AtomDateField.sys.js.map +1 -0
  105. package/dist/form/AtomField.sys.js +177 -0
  106. package/dist/form/AtomField.sys.js.map +1 -0
  107. package/dist/form/AtomForm.sys.js +126 -0
  108. package/dist/form/AtomForm.sys.js.map +1 -0
  109. package/dist/form/AtomFormGroup.sys.js +20 -0
  110. package/dist/form/AtomFormGroup.sys.js.map +1 -0
  111. package/dist/form/AtomFormStyle.sys.js +77 -0
  112. package/dist/form/AtomFormStyle.sys.js.map +1 -0
  113. package/dist/form/HelpPopup.sys.js +30 -0
  114. package/dist/form/HelpPopup.sys.js.map +1 -0
  115. package/dist/html-editor/AtomHtmlEditor.sys.js +332 -0
  116. package/dist/html-editor/AtomHtmlEditor.sys.js.map +1 -0
  117. package/dist/html-editor/commands/AddImage.sys.js +96 -0
  118. package/dist/html-editor/commands/AddImage.sys.js.map +1 -0
  119. package/dist/html-editor/commands/AddLink.sys.js +114 -0
  120. package/dist/html-editor/commands/AddLink.sys.js.map +1 -0
  121. package/dist/html-editor/commands/Align.sys.js +44 -0
  122. package/dist/html-editor/commands/Align.sys.js.map +1 -0
  123. package/dist/html-editor/commands/AttachFile.sys.js +110 -0
  124. package/dist/html-editor/commands/AttachFile.sys.js.map +1 -0
  125. package/dist/html-editor/commands/Bold.sys.js +28 -0
  126. package/dist/html-editor/commands/Bold.sys.js.map +1 -0
  127. package/dist/html-editor/commands/ChangeColor.sys.js +62 -0
  128. package/dist/html-editor/commands/ChangeColor.sys.js.map +1 -0
  129. package/dist/html-editor/commands/ChangeFont.sys.js +78 -0
  130. package/dist/html-editor/commands/ChangeFont.sys.js.map +1 -0
  131. package/dist/html-editor/commands/ChangeFontSize.sys.js +36 -0
  132. package/dist/html-editor/commands/ChangeFontSize.sys.js.map +1 -0
  133. package/dist/html-editor/commands/Command.sys.js +64 -0
  134. package/dist/html-editor/commands/Command.sys.js.map +1 -0
  135. package/dist/html-editor/commands/CommandButton.sys.js +113 -0
  136. package/dist/html-editor/commands/CommandButton.sys.js.map +1 -0
  137. package/dist/html-editor/commands/Headings.sys.js +46 -0
  138. package/dist/html-editor/commands/Headings.sys.js.map +1 -0
  139. package/dist/html-editor/commands/HorizontalRule.sys.js +27 -0
  140. package/dist/html-editor/commands/HorizontalRule.sys.js.map +1 -0
  141. package/dist/html-editor/commands/HtmlCommands.sys.js +86 -0
  142. package/dist/html-editor/commands/HtmlCommands.sys.js.map +1 -0
  143. package/dist/html-editor/commands/IndentLess.sys.js +28 -0
  144. package/dist/html-editor/commands/IndentLess.sys.js.map +1 -0
  145. package/dist/html-editor/commands/IndentMore.sys.js +28 -0
  146. package/dist/html-editor/commands/IndentMore.sys.js.map +1 -0
  147. package/dist/html-editor/commands/Italic.sys.js +28 -0
  148. package/dist/html-editor/commands/Italic.sys.js.map +1 -0
  149. package/dist/html-editor/commands/NumberedList.sys.js +28 -0
  150. package/dist/html-editor/commands/NumberedList.sys.js.map +1 -0
  151. package/dist/html-editor/commands/Quote.sys.js +28 -0
  152. package/dist/html-editor/commands/Quote.sys.js.map +1 -0
  153. package/dist/html-editor/commands/RemoveFormat.sys.js +28 -0
  154. package/dist/html-editor/commands/RemoveFormat.sys.js.map +1 -0
  155. package/dist/html-editor/commands/Separator.sys.js +29 -0
  156. package/dist/html-editor/commands/Separator.sys.js.map +1 -0
  157. package/dist/html-editor/commands/Source.sys.js +114 -0
  158. package/dist/html-editor/commands/Source.sys.js.map +1 -0
  159. package/dist/html-editor/commands/StrikeThrough.sys.js +28 -0
  160. package/dist/html-editor/commands/StrikeThrough.sys.js.map +1 -0
  161. package/dist/html-editor/commands/Underline.sys.js +28 -0
  162. package/dist/html-editor/commands/Underline.sys.js.map +1 -0
  163. package/dist/html-editor/commands/Unlink.sys.js +28 -0
  164. package/dist/html-editor/commands/Unlink.sys.js.map +1 -0
  165. package/dist/html-editor/commands/UnorderedList.sys.js +28 -0
  166. package/dist/html-editor/commands/UnorderedList.sys.js.map +1 -0
  167. package/dist/mobile/pages/AtomPageFrame.sys.js +250 -0
  168. package/dist/mobile/pages/AtomPageFrame.sys.js.map +1 -0
  169. package/dist/mobile/pages/AtomPageFrameStyle.sys.js +69 -0
  170. package/dist/mobile/pages/AtomPageFrameStyle.sys.js.map +1 -0
  171. package/dist/mobile/pages/AtomPageFrameTemplate.sys.js +58 -0
  172. package/dist/mobile/pages/AtomPageFrameTemplate.sys.js.map +1 -0
  173. package/dist/mobile/pages/Page.sys.js +31 -0
  174. package/dist/mobile/pages/Page.sys.js.map +1 -0
  175. package/dist/mobile/pages/PageFrameViewModel.sys.js +190 -0
  176. package/dist/mobile/pages/PageFrameViewModel.sys.js.map +1 -0
  177. package/dist/mobile/pages/TitleTemplate.sys.js +32 -0
  178. package/dist/mobile/pages/TitleTemplate.sys.js.map +1 -0
  179. package/dist/mobile-app/MobileApp.js +1 -1
  180. package/dist/mobile-app/MobileApp.js.map +1 -1
  181. package/dist/mobile-app/MobileApp.sys.js +420 -0
  182. package/dist/mobile-app/MobileApp.sys.js.map +1 -0
  183. package/dist/player/AtomVideoPlayer.sys.js +280 -0
  184. package/dist/player/AtomVideoPlayer.sys.js.map +1 -0
  185. package/dist/player/TrackProgress.sys.js +33 -0
  186. package/dist/player/TrackProgress.sys.js.map +1 -0
  187. package/dist/setupBridge.sys.js +108 -0
  188. package/dist/setupBridge.sys.js.map +1 -0
  189. package/dist/switch/AtomSwitch.sys.js +56 -0
  190. package/dist/switch/AtomSwitch.sys.js.map +1 -0
  191. package/dist/switch/AtomSwitchStyle.sys.js +85 -0
  192. package/dist/switch/AtomSwitchStyle.sys.js.map +1 -0
  193. package/dist/time-field/AtomTimeField.sys.js +122 -0
  194. package/dist/time-field/AtomTimeField.sys.js.map +1 -0
  195. package/dist/time-field/AtomTimeFieldStyle.sys.js +31 -0
  196. package/dist/time-field/AtomTimeFieldStyle.sys.js.map +1 -0
  197. package/dist/toggle-view/AtomToggleView.sys.js +113 -0
  198. package/dist/toggle-view/AtomToggleView.sys.js.map +1 -0
  199. package/dist/tsconfig.tsbuildinfo +1 -1
  200. package/package.json +7 -2
  201. package/src/mobile-app/MobileApp.tsx +1 -1
@@ -0,0 +1,405 @@
1
+ System.register(["@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/style/StyleRule", "@web-atoms/core/dist/web/styles/CSS", "./ToggleButtonBar"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var XNode, StyleRule, CSS, ToggleButtonBar, __rest, FormButtonBar, css, submitFormHandler, checkValidity, moveNext, formId, formGroupSymbol, elementType;
5
+
6
+ function FormAction(_a, node) {
7
+ var _b;
8
+
9
+ var {
10
+ action = "submit",
11
+ eventClick,
12
+ "event-click": eventClick2
13
+ } = _a,
14
+ a = __rest(_a, ["action", "eventClick", "event-click"]);
15
+
16
+ const attributes = (_b = node.attributes) !== null && _b !== void 0 ? _b : node.attributes = {};
17
+ attributes["data-wa-form-action"] = action;
18
+ const e = attributes["event-click"] || attributes.eventClick;
19
+
20
+ if (e) {
21
+ attributes["event-submit"] = e;
22
+ delete attributes["event-click"];
23
+ delete attributes.eventClick;
24
+ }
25
+
26
+ eventClick !== null && eventClick !== void 0 ? eventClick : eventClick = eventClick2;
27
+
28
+ if (action === "submit" && eventClick) {
29
+ attributes.eventSubmit = eventClick;
30
+ }
31
+
32
+ node.attributes = Object.assign(Object.assign({}, a), attributes);
33
+ return node;
34
+ }
35
+
36
+ function SubmitAction(a, node) {
37
+ a.action = "submit";
38
+ return FormAction(a, node);
39
+ }
40
+
41
+ function CancelAction(a, node) {
42
+ a.action = "cancel";
43
+ return FormAction(a, node);
44
+ }
45
+
46
+ function SubmitButton(_a, ...nodes) {
47
+ var {
48
+ eventClick
49
+ } = _a,
50
+ others = __rest(_a, ["eventClick"]);
51
+
52
+ return XNode.create("button", Object.assign({
53
+ "data-wa-form-action": "submit",
54
+ eventSubmit: eventClick
55
+ }, others), ...nodes);
56
+ }
57
+
58
+ function findSubmitAction(e) {
59
+ var _a;
60
+
61
+ let button = e.target;
62
+
63
+ if (e.type === "submit") {
64
+ e.preventDefault();
65
+ button = e.submitter;
66
+ }
67
+
68
+ while (button) {
69
+ const action = (_a = button.dataset.waFormAction) !== null && _a !== void 0 ? _a : button.dataset.event;
70
+
71
+ if (/submit|cancel/i.test(action)) {
72
+ return {
73
+ button,
74
+ action
75
+ };
76
+ }
77
+
78
+ button = button.parentElement;
79
+ }
80
+
81
+ return {
82
+ button
83
+ };
84
+ }
85
+
86
+ function FormGroup(fg, ...nodes) {
87
+ fg[formGroupSymbol] = true;
88
+ return XNode.create("div", Object.assign({}, fg), ...nodes);
89
+ }
90
+
91
+ function Form(_a, ...nodes) {
92
+ var _b;
93
+
94
+ var {
95
+ id = formId++,
96
+ focusNextOnEnter = true,
97
+ scrollable,
98
+ eventSubmit
99
+ } = _a,
100
+ a = __rest(_a, ["id", "focusNextOnEnter", "scrollable", "eventSubmit"]);
101
+
102
+ if (focusNextOnEnter) {
103
+ a.eventKeypress = moveNext(eventSubmit);
104
+ }
105
+
106
+ a["data-form-id"] = id;
107
+ a["data-scrollable"] = !!scrollable;
108
+
109
+ if (!eventSubmit) {
110
+ a["data-wa-show-errors"] = "yes";
111
+ }
112
+
113
+ const fields = [];
114
+
115
+ for (const iterator of nodes) {
116
+ if (!iterator) {
117
+ continue;
118
+ }
119
+
120
+ const ca = iterator.attributes;
121
+
122
+ if (ca === null || ca === void 0 ? void 0 : ca[formGroupSymbol]) {
123
+ for (const child of iterator.children) {
124
+ const cha = (_b = child.attributes) !== null && _b !== void 0 ? _b : child.attributes = {};
125
+ cha["data-group"] = ca.group;
126
+ fields.push(child);
127
+ }
128
+
129
+ continue;
130
+ }
131
+
132
+ fields.push(iterator);
133
+ }
134
+
135
+ return XNode.create("div", Object.assign({
136
+ "data-wa-form": "wa-form"
137
+ }, a, {
138
+ eventSubmitForm: eventSubmit,
139
+ eventClick: checkValidity(eventSubmit)
140
+ }), ...fields);
141
+ }
142
+
143
+ function FormLayout(_a, ...nodes) {
144
+ var _b, _c, _d;
145
+
146
+ var {
147
+ id = formId++,
148
+ focusNextOnEnter = true,
149
+ scrollable,
150
+ eventSubmit,
151
+ header,
152
+ footer
153
+ } = _a,
154
+ a = __rest(_a, ["id", "focusNextOnEnter", "scrollable", "eventSubmit", "header", "footer"]);
155
+
156
+ if (focusNextOnEnter) {
157
+ a.eventKeypress = moveNext(eventSubmit);
158
+ }
159
+
160
+ a["data-form-id"] = id;
161
+ a["data-scrollable"] = !!scrollable;
162
+
163
+ if (!eventSubmit) {
164
+ a["data-wa-show-errors"] = "yes";
165
+ }
166
+
167
+ const fields = [];
168
+
169
+ for (const iterator of nodes) {
170
+ if (!iterator) {
171
+ continue;
172
+ }
173
+
174
+ const et = iterator[elementType];
175
+
176
+ if (et !== void 0) {
177
+ if (et === "header") {
178
+ header = iterator;
179
+ delete iterator[elementType];
180
+ continue;
181
+ }
182
+
183
+ if (et === "footer") {
184
+ footer = iterator;
185
+ delete iterator[elementType];
186
+ continue;
187
+ }
188
+ }
189
+
190
+ const ca = iterator.attributes;
191
+
192
+ if (ca === null || ca === void 0 ? void 0 : ca[formGroupSymbol]) {
193
+ for (const child of iterator.children) {
194
+ const cha = (_b = child.attributes) !== null && _b !== void 0 ? _b : child.attributes = {};
195
+ cha["data-group"] = ca.group;
196
+ fields.push(child);
197
+ }
198
+
199
+ continue;
200
+ }
201
+
202
+ fields.push(iterator);
203
+ }
204
+
205
+ if (header) {
206
+ const ha = (_c = header.attributes) !== null && _c !== void 0 ? _c : header.attributes = {};
207
+ ha["data-element"] = "header";
208
+ }
209
+
210
+ if (footer) {
211
+ const ha = (_d = footer.attributes) !== null && _d !== void 0 ? _d : footer.attributes = {};
212
+ ha["data-element"] = "footer";
213
+ }
214
+
215
+ return XNode.create("div", Object.assign({
216
+ "data-wa-form": "wa-form",
217
+ "data-form-layout": "form-layout"
218
+ }, a, {
219
+ eventSubmitForm: eventSubmit,
220
+ eventClick: checkValidity(eventSubmit)
221
+ }), header, XNode.create("div", {
222
+ "data-element": "content"
223
+ }, XNode.create("div", null, ...fields)), footer);
224
+ }
225
+
226
+ _export({
227
+ FormAction: FormAction,
228
+ SubmitAction: SubmitAction,
229
+ CancelAction: CancelAction,
230
+ SubmitButton: SubmitButton,
231
+ FormGroup: FormGroup,
232
+ default: Form,
233
+ FormLayout: FormLayout
234
+ });
235
+
236
+ return {
237
+ setters: [function (_webAtomsCoreDistCoreXNode) {
238
+ XNode = _webAtomsCoreDistCoreXNode.default;
239
+ }, function (_webAtomsCoreDistStyleStyleRule) {
240
+ StyleRule = _webAtomsCoreDistStyleStyleRule.default;
241
+ }, function (_webAtomsCoreDistWebStylesCSS) {
242
+ CSS = _webAtomsCoreDistWebStylesCSS.default;
243
+ }, function (_ToggleButtonBar) {
244
+ ToggleButtonBar = _ToggleButtonBar.default;
245
+ }],
246
+ execute: function () {
247
+ __rest = void 0 && (void 0).__rest || function (s, e) {
248
+ var t = {};
249
+
250
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
251
+
252
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
253
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
254
+ }
255
+ return t;
256
+ };
257
+
258
+ _export("FormButtonBar", FormButtonBar = ToggleButtonBar);
259
+
260
+ css = CSS(StyleRule().verticalFlexLayout({
261
+ alignItems: "stretch"
262
+ }).displayNone(" .field-error:empty").displayNone(":not([data-wa-show-errors=yes]) .field-error:not(:empty)").child(StyleRule("button").alignSelf("flex-start")).and(StyleRule("[data-scrollable=true]").justifyContent("flex-start").overflow("auto")), "*[data-wa-form=wa-form]");
263
+
264
+ submitFormHandler = form => {
265
+ if (!form.dataset.waShowErrors) {
266
+ form.dataset.waShowErrors = "yes";
267
+ }
268
+
269
+ setTimeout(() => {
270
+ var _a, _b;
271
+
272
+ const all = Array.from(form.getElementsByClassName("field-error"));
273
+
274
+ for (const iterator of all) {
275
+ if (iterator.textContent) {
276
+ alert((_b = (_a = form.dataset) === null || _a === void 0 ? void 0 : _a.errorMessage) !== null && _b !== void 0 ? _b : "Please fix all validations");
277
+ return;
278
+ }
279
+ }
280
+
281
+ form.dispatchEvent(new CustomEvent("submitForm"));
282
+ }, 100);
283
+ };
284
+
285
+ checkValidity = handler => e => {
286
+ const form = e.currentTarget;
287
+ const {
288
+ button,
289
+ action
290
+ } = findSubmitAction(e);
291
+
292
+ if (!button) {
293
+ return;
294
+ }
295
+
296
+ if (handler) {
297
+ submitFormHandler(form);
298
+ return;
299
+ }
300
+
301
+ if (action === "cancel") {
302
+ form.dataset.waShowErrors = "";
303
+ return;
304
+ }
305
+
306
+ if (!form.dataset.waShowErrors) {
307
+ form.dataset.waShowErrors = "yes";
308
+ }
309
+
310
+ setTimeout(() => {
311
+ var _a, _b;
312
+
313
+ const all = Array.from(form.getElementsByClassName("field-error"));
314
+
315
+ for (const iterator of all) {
316
+ if (iterator.textContent) {
317
+ alert((_b = (_a = form.dataset) === null || _a === void 0 ? void 0 : _a.errorMessage) !== null && _b !== void 0 ? _b : "Please fix all validations");
318
+ return;
319
+ }
320
+ }
321
+
322
+ button.dispatchEvent(new CustomEvent("submit"));
323
+ }, 100);
324
+ };
325
+
326
+ moveNext = handler => e => {
327
+ if (!/enter|submit|return/i.test(e.key)) {
328
+ return;
329
+ }
330
+
331
+ const element = e.target;
332
+
333
+ if (!element.tagName) {
334
+ return;
335
+ }
336
+
337
+ if (handler) {
338
+ if (element.tagName !== "TEXTAREA") {
339
+ submitFormHandler(e.currentTarget);
340
+ }
341
+
342
+ return;
343
+ }
344
+
345
+ if (element.dataset.waFormAction === "submit") {
346
+ element.dispatchEvent(new MouseEvent("click"));
347
+ return;
348
+ }
349
+
350
+ if (/input/i.test(element.tagName)) {
351
+ e.preventDefault();
352
+ element.dispatchEvent(new KeyboardEvent("keypress", {
353
+ key: "tab"
354
+ }));
355
+ }
356
+ };
357
+
358
+ document.body.addEventListener("click", e => {
359
+ let start = e.target;
360
+ let id;
361
+
362
+ while (start) {
363
+ id = start.dataset.submitFormId;
364
+
365
+ if (id) {
366
+ break;
367
+ }
368
+
369
+ start = start.parentElement;
370
+ }
371
+
372
+ if (!start) {
373
+ return;
374
+ }
375
+
376
+ const form = document.body.querySelector(`[data-form-id="${id}"]`);
377
+ submitFormHandler(form);
378
+ });
379
+ formId = 0;
380
+ formGroupSymbol = Symbol("formGroup");
381
+ CSS(StyleRule().display("grid").alignSelf("stretch").justifyContent("stretch").flex("1 1 100%").gridTemplateRows("auto 1fr auto").gridTemplateColumns("1fr").child(StyleRule("[data-element=header]").gridRowStart("1")).child(StyleRule("[data-element=content]").gridRowStart("2").overflow("auto").child(StyleRule("div").verticalFlexLayout({
382
+ alignItems: "stretch",
383
+ gap: 10
384
+ }))).child(StyleRule("[data-element=footer]").gridRowStart("3")), "*[data-form-layout=form-layout]");
385
+ elementType = Symbol.for("elementType");
386
+
387
+ FormLayout.Footer = ({}, child) => {
388
+ child[elementType] = "footer";
389
+ return child;
390
+ };
391
+
392
+ FormLayout.Header = ({}, child) => {
393
+ child[elementType] = "header";
394
+ return child;
395
+ };
396
+
397
+ Form.newId = () => formId++;
398
+
399
+ Form.submitId = id => ({
400
+ "data-submit-form-id": id.toString()
401
+ });
402
+ }
403
+ };
404
+ });
405
+ //# sourceMappingURL=Form.sys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":"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","names":["FormAction","_a","node","action","eventClick","eventClick2","a","attributes","_b","e","eventSubmit","Object","SubmitAction","CancelAction","SubmitButton","nodes","others","XNode","findSubmitAction","button","target","type","preventDefault","submitter","dataset","waFormAction","event","test","parentElement","FormGroup","fg","formGroupSymbol","Form","id","formId","focusNextOnEnter","scrollable","eventKeypress","moveNext","fields","iterator","ca","child","children","cha","group","push","eventSubmitForm","checkValidity","FormLayout","header","footer","et","elementType","ha","_c","_d","StyleRule","CSS","ToggleButtonBar","FormButtonBar","css","verticalFlexLayout","alignItems","displayNone","alignSelf","and","justifyContent","overflow","submitFormHandler","form","waShowErrors","setTimeout","all","Array","from","getElementsByClassName","textContent","alert","errorMessage","dispatchEvent","CustomEvent","handler","currentTarget","key","element","tagName","MouseEvent","KeyboardEvent","document","body","addEventListener","start","submitFormId","querySelector","Symbol","display","flex","gridTemplateRows","gridTemplateColumns","gridRowStart","gap","for","Footer","Header","newId","submitId","toString"],"sourceRoot":"","sources":["../../src/basic/Form.tsx"],"sourcesContent":[null]}
@@ -0,0 +1,35 @@
1
+ System.register(["@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/style/StyleRule", "@web-atoms/core/dist/web/styles/CSS", "./Form"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var XNode, StyleRule, CSS, Form;
5
+
6
+ function FormDialog(a, ...nodes) {
7
+ return XNode.create("div", {
8
+ "data-form-dialog": "true"
9
+ }, XNode.create(Form, Object.assign({
10
+ scrollable: true
11
+ }, a), ...nodes));
12
+ }
13
+
14
+ _export("default", FormDialog);
15
+
16
+ return {
17
+ setters: [function (_webAtomsCoreDistCoreXNode) {
18
+ XNode = _webAtomsCoreDistCoreXNode.default;
19
+ }, function (_webAtomsCoreDistStyleStyleRule) {
20
+ StyleRule = _webAtomsCoreDistStyleStyleRule.default;
21
+ }, function (_webAtomsCoreDistWebStylesCSS) {
22
+ CSS = _webAtomsCoreDistWebStylesCSS.default;
23
+ }, function (_Form) {
24
+ Form = _Form.default;
25
+ }],
26
+ execute: function () {
27
+ CSS(StyleRule().display("flex").overflow("auto").position("relative").child(StyleRule("[data-wa-form]").marginBottom(70).child(StyleRule("[data-command-row]").absolutePosition({
28
+ left: 0,
29
+ right: 0,
30
+ bottom: 0
31
+ }))), "div[data-form-dialog=true]");
32
+ }
33
+ };
34
+ });
35
+ //# sourceMappingURL=FormDialog.sys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":";;;;;EAqBc,SAAUA,UAAV,CAAqBC,CAArB,EAA+B,GAAIC,KAAnC,EAAiD;IAC3D,OAAOC;MAAA,oBAAsB;IAAtB,GACHA,aAACC,IAAD,EAAKC;MAACC,UAAU,EAAE;IAAb,GAAwBL,CAAxB,CAAL,EAA8B,GACpBC,KADV,CADG,CAAP;EAKH;;qBANuBF,U;;;;MArBjBG,K;;MACAI,S;;MACAC,G;;MACAJ,I;;;MAEPI,GAAG,CAACD,SAAS,GACRE,OADD,CACS,MADT,EAECC,QAFD,CAEU,MAFV,EAGCC,QAHD,CAGU,UAHV,EAICC,KAJD,CAIOL,SAAS,CAAC,gBAAD,CAAT,CACFM,YADE,CACW,EADX,EAEFD,KAFE,CAEIL,SAAS,CAAC,oBAAD,CAAT,CACFO,gBADE,CACe;QACdC,IAAI,EAAE,CADQ;QAEdC,KAAK,EAAE,CAFO;QAGdC,MAAM,EAAE;MAHM,CADf,CAFJ,CAJP,CAAD,EAcD,4BAdC,CAAH","names":["FormDialog","a","nodes","XNode","Form","Object","scrollable","StyleRule","CSS","display","overflow","position","child","marginBottom","absolutePosition","left","right","bottom"],"sourceRoot":"","sources":["../../src/basic/FormDialog.tsx"],"sourcesContent":[null]}
@@ -0,0 +1,214 @@
1
+ System.register(["@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/core/Colors", "@web-atoms/core/dist/core/FormattedString", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/services/NavigationService", "@web-atoms/core/dist/style/StyleRule", "@web-atoms/core/dist/web/services/PopupService", "@web-atoms/core/dist/web/styles/CSS"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var Bind, Colors, FormattedString, XNode, NavigationService, StyleRule, PopupWindow, CSS, __rest, css;
5
+
6
+ function FormField(_a, node) {
7
+ var _b;
8
+
9
+ var {
10
+ label,
11
+ required,
12
+ error,
13
+ helpIcon = "fas fa-question-circle",
14
+ help,
15
+ helpEventClick,
16
+ helpTitle,
17
+ border = false
18
+ } = _a,
19
+ others = __rest(_a, ["label", "required", "error", "helpIcon", "help", "helpEventClick", "helpTitle", "border"]);
20
+
21
+ if (node) {
22
+ const na = (_b = node.attributes) !== null && _b !== void 0 ? _b : node.attributes = {};
23
+ na["data-content"] = "content";
24
+ }
25
+
26
+ if (!helpEventClick && help) {
27
+ helpEventClick = Bind.event((s, e) => {
28
+ const app = s.app;
29
+
30
+ if (typeof help === "string" || help instanceof FormattedString) {
31
+ const ns = app.resolve(NavigationService);
32
+ ns.notify(help);
33
+ return;
34
+ }
35
+
36
+ class HelpPopup extends PopupWindow {
37
+ create() {
38
+ this.render(XNode.create("div", {
39
+ "data-form-field-help": "help-window"
40
+ }, help));
41
+ }
42
+
43
+ }
44
+
45
+ HelpPopup.showWindow({
46
+ title: helpTitle !== null && helpTitle !== void 0 ? helpTitle : "Help"
47
+ });
48
+ });
49
+ }
50
+
51
+ return XNode.create("div", Object.assign({
52
+ "data-wa-form-field": "wa-form-field",
53
+ "data-border": border
54
+ }, others), label && XNode.create("label", {
55
+ class: "label",
56
+ text: label
57
+ }), required && XNode.create("span", {
58
+ "data-required": "required",
59
+ class: required,
60
+ text: "*"
61
+ }), border && XNode.create("i", {
62
+ "data-border": "border"
63
+ }), node, help && XNode.create("i", {
64
+ "data-help": "help",
65
+ class: helpIcon,
66
+ title: helpTitle,
67
+ eventClick: helpEventClick
68
+ }), XNode.create("div", {
69
+ class: "field-error",
70
+ text: error
71
+ }));
72
+ }
73
+
74
+ function HorizontalFormField(_a, node) {
75
+ var _b;
76
+
77
+ var {
78
+ label,
79
+ required,
80
+ error,
81
+ helpIcon = "fas fa-question-circle",
82
+ help,
83
+ helpEventClick,
84
+ helpTitle,
85
+ border = false
86
+ } = _a,
87
+ others = __rest(_a, ["label", "required", "error", "helpIcon", "help", "helpEventClick", "helpTitle", "border"]);
88
+
89
+ if (node) {
90
+ const na = (_b = node.attributes) !== null && _b !== void 0 ? _b : node.attributes = {};
91
+ na["data-content"] = "content";
92
+ }
93
+
94
+ if (!helpEventClick && help) {
95
+ helpEventClick = Bind.event((s, e) => {
96
+ const app = s.app;
97
+
98
+ if (typeof help === "string" || help instanceof FormattedString) {
99
+ const ns = app.resolve(NavigationService);
100
+ ns.notify(help);
101
+ return;
102
+ }
103
+
104
+ class HelpPopup extends PopupWindow {
105
+ create() {
106
+ this.render(XNode.create("div", {
107
+ "data-form-field-help": "help-window"
108
+ }, help));
109
+ }
110
+
111
+ }
112
+
113
+ HelpPopup.showWindow({
114
+ title: helpTitle !== null && helpTitle !== void 0 ? helpTitle : "Help"
115
+ });
116
+ });
117
+ }
118
+
119
+ return XNode.create("div", Object.assign({
120
+ "data-wa-form-field": "wa-form-field",
121
+ "data-layout": "horizontal",
122
+ "data-border": border
123
+ }, others), label && XNode.create("label", {
124
+ class: "label",
125
+ text: label
126
+ }), required && XNode.create("span", {
127
+ "data-required": "required",
128
+ class: required,
129
+ text: "*"
130
+ }), border && XNode.create("i", {
131
+ "data-border": "border"
132
+ }), node, help && XNode.create("i", {
133
+ "data-help": "help",
134
+ class: helpIcon,
135
+ title: helpTitle,
136
+ eventClick: helpEventClick
137
+ }), XNode.create("div", {
138
+ class: "field-error",
139
+ text: error
140
+ }));
141
+ }
142
+
143
+ _export({
144
+ default: FormField,
145
+ HorizontalFormField: HorizontalFormField
146
+ });
147
+
148
+ return {
149
+ setters: [function (_webAtomsCoreDistCoreBind) {
150
+ Bind = _webAtomsCoreDistCoreBind.default;
151
+ }, function (_webAtomsCoreDistCoreColors) {
152
+ Colors = _webAtomsCoreDistCoreColors.default;
153
+ }, function (_webAtomsCoreDistCoreFormattedString) {
154
+ FormattedString = _webAtomsCoreDistCoreFormattedString.default;
155
+ }, function (_webAtomsCoreDistCoreXNode) {
156
+ XNode = _webAtomsCoreDistCoreXNode.default;
157
+ }, function (_webAtomsCoreDistServicesNavigationService) {
158
+ NavigationService = _webAtomsCoreDistServicesNavigationService.NavigationService;
159
+ }, function (_webAtomsCoreDistStyleStyleRule) {
160
+ StyleRule = _webAtomsCoreDistStyleStyleRule.default;
161
+ }, function (_webAtomsCoreDistWebServicesPopupService) {
162
+ PopupWindow = _webAtomsCoreDistWebServicesPopupService.PopupWindow;
163
+ }, function (_webAtomsCoreDistWebStylesCSS) {
164
+ CSS = _webAtomsCoreDistWebStylesCSS.default;
165
+ }],
166
+ execute: function () {
167
+ __rest = void 0 && (void 0).__rest || function (s, e) {
168
+ var t = {};
169
+
170
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
171
+
172
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
173
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
174
+ }
175
+ return t;
176
+ };
177
+
178
+ css = CSS(StyleRule().display("grid").alignItems("center").gridTemplateColumns("auto 1fr auto auto").gridTemplateRows("auto auto auto").child(StyleRule("[data-content=content]").gridRowStart("2").gridColumnStart("1").gridColumnEnd("span 2").marginTop(5).marginBottom(5)).and(StyleRule("[data-border=true]").nested(StyleRule("input").border("none").outline("none")).nested(StyleRule("textarea").border("none").outline("none")).nested(StyleRule("select").border("none"))).child(StyleRule("i[data-border=border]").gridColumnStart("1").gridColumnEnd("span 3").gridRowStart("3").alignSelf("flex-end").borderBottomStyle("solid").borderBottomWidth("1px").borderBottomColor(Colors.lightGray)).and(StyleRule("[data-focused=true]").child(StyleRule("i[data-border=border]").borderBottomColor(Colors.black))).child(StyleRule("i[data-help=help]").gridRowStart("2").gridColumnStart("3").padding(5).fontSize("x-large").cursor("pointer").marginLeft("auto").color(Colors.lightGreen)).child(StyleRule(".field-error").gridRowStart("4").gridColumnStart("1").gridColumnEnd("span 3").padding(5).margin(5).borderRadius(9999).backgroundColor(Colors.red).color(Colors.white).fontSize("smaller").and(StyleRule(":empty").display("none"))).child(StyleRule("span[data-required=required]").gridColumnStart("2").visibility("hidden").color(Colors.red).and(StyleRule(".true").visibility("visible"))).and(StyleRule("[data-layout=horizontal]").gridTemplateColumns("auto auto 1fr auto").gridTemplateRows("auto auto").child(StyleRule("label.label").gridRowStart("2").marginRight(5).marginBottom(5)).child(StyleRule("[data-content=content]").gridRowStart("2").gridColumnStart("3").marginTop(0).marginBottom(5)).child(StyleRule("i[data-help=help]").gridRowStart("2").gridColumnStart("4")).child(StyleRule(".field-error").gridRowStart("4").gridColumnStart("1").gridColumnEnd("span 3")).child(StyleRule("span[data-required=required]").gridRowStart("2").gridColumnStart("2").marginRight(5).display("none").color(Colors.red).and(StyleRule(".true").display("inline")))), "div[data-wa-form-field=wa-form-field]");
179
+ CSS(StyleRule().width(300).maxHeight(500).overflow("auto").padding(10).verticalFlexLayout({
180
+ alignItems: "center",
181
+ justifyContent: "flex-start"
182
+ }), "div[data-form-field-help=help-window]");
183
+ document.addEventListener("focusin", e => {
184
+ let {
185
+ target
186
+ } = e;
187
+
188
+ while (target) {
189
+ if (target.dataset.waFormField === "wa-form-field") {
190
+ target.dataset.focused = "true";
191
+ break;
192
+ }
193
+
194
+ target = target.parentElement;
195
+ }
196
+ });
197
+ document.addEventListener("focusout", e => {
198
+ let {
199
+ target
200
+ } = e;
201
+
202
+ while (target) {
203
+ if (target.dataset.waFormField === "wa-form-field") {
204
+ delete target.dataset.focused;
205
+ break;
206
+ }
207
+
208
+ target = target.parentElement;
209
+ }
210
+ });
211
+ }
212
+ };
213
+ });
214
+ //# sourceMappingURL=FormField.sys.js.map