@omegagrid/form 0.2.5

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 (89) hide show
  1. package/dist/constants.d.ts +45 -0
  2. package/dist/constants.d.ts.map +1 -0
  3. package/dist/constants.js +15 -0
  4. package/dist/constants.js.map +1 -0
  5. package/dist/index.d.ts +4 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +20 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/model/formAdapter.d.ts +13 -0
  10. package/dist/model/formAdapter.d.ts.map +1 -0
  11. package/dist/model/formAdapter.js +24 -0
  12. package/dist/model/formAdapter.js.map +1 -0
  13. package/dist/model/formControlModel.d.ts +9 -0
  14. package/dist/model/formControlModel.d.ts.map +1 -0
  15. package/dist/model/formControlModel.js +13 -0
  16. package/dist/model/formControlModel.js.map +1 -0
  17. package/dist/model/formModel.d.ts +17 -0
  18. package/dist/model/formModel.d.ts.map +1 -0
  19. package/dist/model/formModel.js +49 -0
  20. package/dist/model/formModel.js.map +1 -0
  21. package/dist/model/index.d.ts +4 -0
  22. package/dist/model/index.d.ts.map +1 -0
  23. package/dist/model/index.js +20 -0
  24. package/dist/model/index.js.map +1 -0
  25. package/dist/options.d.ts +3 -0
  26. package/dist/options.d.ts.map +1 -0
  27. package/dist/options.js +21 -0
  28. package/dist/options.js.map +1 -0
  29. package/dist/types.d.ts +89 -0
  30. package/dist/types.d.ts.map +1 -0
  31. package/dist/types.js +15 -0
  32. package/dist/types.js.map +1 -0
  33. package/dist/ui/controls/baseControl.d.ts +30 -0
  34. package/dist/ui/controls/baseControl.d.ts.map +1 -0
  35. package/dist/ui/controls/baseControl.js +85 -0
  36. package/dist/ui/controls/baseControl.js.map +1 -0
  37. package/dist/ui/controls/button.d.ts +16 -0
  38. package/dist/ui/controls/button.d.ts.map +1 -0
  39. package/dist/ui/controls/button.js +70 -0
  40. package/dist/ui/controls/button.js.map +1 -0
  41. package/dist/ui/controls/checkbox.d.ts +7 -0
  42. package/dist/ui/controls/checkbox.d.ts.map +1 -0
  43. package/dist/ui/controls/checkbox.js +29 -0
  44. package/dist/ui/controls/checkbox.js.map +1 -0
  45. package/dist/ui/controls/colorInput.d.ts +8 -0
  46. package/dist/ui/controls/colorInput.d.ts.map +1 -0
  47. package/dist/ui/controls/colorInput.js +41 -0
  48. package/dist/ui/controls/colorInput.js.map +1 -0
  49. package/dist/ui/controls/index.d.ts +8 -0
  50. package/dist/ui/controls/index.d.ts.map +1 -0
  51. package/dist/ui/controls/index.js +24 -0
  52. package/dist/ui/controls/index.js.map +1 -0
  53. package/dist/ui/controls/label.d.ts +6 -0
  54. package/dist/ui/controls/label.d.ts.map +1 -0
  55. package/dist/ui/controls/label.js +54 -0
  56. package/dist/ui/controls/label.js.map +1 -0
  57. package/dist/ui/controls/list.d.ts +16 -0
  58. package/dist/ui/controls/list.d.ts.map +1 -0
  59. package/dist/ui/controls/list.js +83 -0
  60. package/dist/ui/controls/list.js.map +1 -0
  61. package/dist/ui/controls/numericInput.d.ts +15 -0
  62. package/dist/ui/controls/numericInput.d.ts.map +1 -0
  63. package/dist/ui/controls/numericInput.js +135 -0
  64. package/dist/ui/controls/numericInput.js.map +1 -0
  65. package/dist/ui/controls/textInput.d.ts +8 -0
  66. package/dist/ui/controls/textInput.d.ts.map +1 -0
  67. package/dist/ui/controls/textInput.js +61 -0
  68. package/dist/ui/controls/textInput.js.map +1 -0
  69. package/dist/ui/form.d.ts +34 -0
  70. package/dist/ui/form.d.ts.map +1 -0
  71. package/dist/ui/form.js +195 -0
  72. package/dist/ui/form.js.map +1 -0
  73. package/dist/ui/form.style.d.ts +2 -0
  74. package/dist/ui/form.style.d.ts.map +1 -0
  75. package/dist/ui/form.style.js +39 -0
  76. package/dist/ui/form.style.js.map +1 -0
  77. package/dist/ui/formContainer.d.ts +28 -0
  78. package/dist/ui/formContainer.d.ts.map +1 -0
  79. package/dist/ui/formContainer.js +178 -0
  80. package/dist/ui/formContainer.js.map +1 -0
  81. package/dist/ui/formContainer.style.d.ts +2 -0
  82. package/dist/ui/formContainer.style.d.ts.map +1 -0
  83. package/dist/ui/formContainer.style.js +48 -0
  84. package/dist/ui/formContainer.style.js.map +1 -0
  85. package/dist/ui/index.d.ts +4 -0
  86. package/dist/ui/index.d.ts.map +1 -0
  87. package/dist/ui/index.js +20 -0
  88. package/dist/ui/index.js.map +1 -0
  89. package/package.json +59 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textInput.js","sourceRoot":"","sources":["../../../src/ui/controls/textInput.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gEAAwC;AACxC,6BAAgC;AAChC,qDAAkD;AAClD,+CAA4C;AAGrC,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,yBAAmB;IAA/C;;QA2BN,WAAM,GAAG,GAAG,EAAE;;YAAC,OAAA,IAAA,UAAI,EAAA;;;aAGP,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK;kBAC/B,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,CAAC,WAAW,mCAAI,EAAE;cACvC,IAAI,CAAC,QAAQ;;EAEzB,CAAA;SAAA,CAAC;IAEH,CAAC;IArBA,QAAQ;;QACP,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAA,IAAI,CAAC,KAAK,mCAAI,EAAE,CAAC,EAAE,CAAC;YAClF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACzC,CAAC;IACF,CAAC;IAED,QAAQ,CAAC,CAAa;QACrB,IAAI,CAAC,WAAW,CAAE,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;;AAzBW,sCAAa;AAElB,oBAAM,GAAG,CAAC,GAAG,yBAAW,CAAC,MAAM,EAAE,IAAA,SAAG,EAAA;;;;;;aAM/B,mBAAS,CAAC,mBAAmB;kBACxB,mBAAS,CAAC,mBAAmB;;;;EAI7C,CAAC,AAXW,CAWV;wBAbS,aAAa;IADzB,IAAA,6BAAa,EAAC,mBAAmB,CAAC;GACtB,aAAa,CAoCzB"}
@@ -0,0 +1,34 @@
1
+ import { LitElement } from "lit";
2
+ import { FormSettings, FormValues } from "../types";
3
+ import { FormModel } from "../model/formModel";
4
+ import { IControl, ControlEvent } from "./controls/baseControl";
5
+ import { FormAdapter } from "../model";
6
+ export declare class FormEvent extends Event {
7
+ key: string;
8
+ value: unknown;
9
+ constructor(type: string, args?: Partial<FormEvent>);
10
+ }
11
+ export declare class Form extends LitElement {
12
+ static styles: import("lit").CSSResult[];
13
+ key: string | number;
14
+ adapter: FormAdapter;
15
+ model: FormModel;
16
+ caption: string;
17
+ controlNodes: NodeListOf<IControl>;
18
+ controls: Map<string, IControl>;
19
+ rowElms: HTMLTableRowElement[];
20
+ values: FormValues;
21
+ private errorCounts;
22
+ setSourceData(sourceData: FormSettings): void;
23
+ resetValues(): void;
24
+ setValue(key: string, value: unknown): void;
25
+ reset(): Promise<void>;
26
+ validate(): void;
27
+ isValid(): boolean;
28
+ initAdapter(): Promise<void>;
29
+ willUpdate(changedProps: Map<PropertyKey, unknown>): Promise<void>;
30
+ updated(): void;
31
+ _onValueChange(e: ControlEvent<unknown>): void;
32
+ render: () => import("lit-html").TemplateResult;
33
+ }
34
+ //# sourceMappingURL=form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../src/ui/form.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAKjC,OAAO,EAAmB,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAYvC,qBAAa,SAAU,SAAQ,KAAK;IAEnC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;gBAEH,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;CAInD;AAED,qBAKa,IAAK,SAAQ,UAAU;IAEnC,MAAM,CAAC,MAAM,4BAAW;IAGxB,GAAG,EAAE,MAAM,GAAC,MAAM,CAAC;IAGnB,OAAO,EAAE,WAAW,CAAC;IAGrB,KAAK,EAAE,SAAS,CAAC;IAGjB,OAAO,EAAE,MAAM,CAAC;IAGhB,YAAY,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEnC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAGhC,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAG/B,MAAM,EAAE,UAAU,CAAM;IAExB,OAAO,CAAC,WAAW,CAA8B;IAEjD,aAAa,CAAC,UAAU,EAAE,YAAY;IAItC,WAAW;IAMX,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IAM9B,KAAK;IAKX,QAAQ;IAKR,OAAO;IAQD,WAAW;IAQX,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC;IAUxD,OAAO;IAsBP,cAAc,CAAC,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC;IASvC,MAAM,0CA6CJ;CAEF"}
@@ -0,0 +1,195 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.Form = exports.FormEvent = void 0;
10
+ const lit_1 = require("lit");
11
+ const static_html_js_1 = require("lit/static-html.js");
12
+ const decorators_js_1 = require("lit/decorators.js");
13
+ const style_map_js_1 = require("lit/directives/style-map.js");
14
+ const map_js_1 = require("lit/directives/map.js");
15
+ const types_1 = require("../types");
16
+ const formModel_1 = require("../model/formModel");
17
+ const core_1 = require("@omegagrid/core");
18
+ const form_style_1 = require("./form.style");
19
+ const controlTypeMap = new Map([
20
+ [types_1.FormControlType.Label, (0, static_html_js_1.literal) `og-form-label`],
21
+ [types_1.FormControlType.TextInput, (0, static_html_js_1.literal) `og-form-textinput`],
22
+ [types_1.FormControlType.ColorInput, (0, static_html_js_1.literal) `og-form-colorinput`],
23
+ [types_1.FormControlType.Checkbox, (0, static_html_js_1.literal) `og-form-checkbox`],
24
+ [types_1.FormControlType.List, (0, static_html_js_1.literal) `og-form-list`],
25
+ [types_1.FormControlType.Button, (0, static_html_js_1.literal) `og-form-button`],
26
+ [types_1.FormControlType.NumericInput, (0, static_html_js_1.literal) `og-form-numericinput`],
27
+ ]);
28
+ class FormEvent extends Event {
29
+ constructor(type, args) {
30
+ super(`form.${type}`, { bubbles: true, cancelable: true, composed: true });
31
+ Object.assign(this, args || {});
32
+ }
33
+ }
34
+ exports.FormEvent = FormEvent;
35
+ let Form = class Form extends lit_1.LitElement {
36
+ constructor() {
37
+ super(...arguments);
38
+ this.values = {};
39
+ this.errorCounts = {};
40
+ this.render = () => {
41
+ if (!this.model)
42
+ return (0, static_html_js_1.html) ``;
43
+ const columns = (0, map_js_1.map)(this.model.columns, column => {
44
+ const colStyle = (0, style_map_js_1.styleMap)({ width: (column === null || column === void 0 ? void 0 : column.width) ? core_1.dom.numToPixels(column.width) : 'auto' });
45
+ return (0, static_html_js_1.html) `<col style="${colStyle}">`;
46
+ });
47
+ const rows = (0, map_js_1.map)(this.model.controls, (row, r) => {
48
+ const rowStyle = (0, style_map_js_1.styleMap)({
49
+ height: (this.model.rows && this.model.rows[r] && this.model.rows[r].height
50
+ ? core_1.dom.numToPixels(this.model.rows[r].height) : null)
51
+ });
52
+ return (0, static_html_js_1.html) `
53
+ <tr class="row" style="${rowStyle}">
54
+ ${(0, map_js_1.map)(row, (control) => (0, static_html_js_1.html) `
55
+ <td colspan="${(control === null || control === void 0 ? void 0 : control.props.cs) || 1}" rowspan="${(control === null || control === void 0 ? void 0 : control.props.rs) || 1}">
56
+ ${control ? (0, static_html_js_1.html) `
57
+ <${controlTypeMap.get(control.props.type)}
58
+ id="${control.props.key}"
59
+ @change=${this._onValueChange}
60
+ class="control"
61
+ .value="${this.values && this.values[control.props.key] != null ? this.values[control.props.key] : control.props.value}"
62
+ .model="${control}"
63
+ .formModel="${this.model}"
64
+ .adapter="${control.props.adapter || this.model.options.treeAdapter}">
65
+ </${controlTypeMap.get(control.props.type)}>
66
+ ${(0, map_js_1.map)(control.errors, err => (0, static_html_js_1.html) `
67
+ <div class="error">${err}</div>
68
+ `)}
69
+ ` : ``}
70
+ </td>
71
+ `)}
72
+ </tr>
73
+ `;
74
+ });
75
+ return (0, static_html_js_1.html) `
76
+ ${this.caption ? (0, static_html_js_1.html) `<div class="title">${this.caption}</div>` : ``}
77
+ <div class="body">${this.model ? (0, static_html_js_1.html) `
78
+ <table>
79
+ <colgroup>${columns}</colgroup>
80
+ <tbody>${rows}</tbody>
81
+ </table>
82
+ ` : ``}</div>
83
+ `;
84
+ };
85
+ }
86
+ setSourceData(sourceData) {
87
+ this.model = new formModel_1.FormModel(sourceData);
88
+ }
89
+ resetValues() {
90
+ var _a;
91
+ const values = {};
92
+ (_a = this.model) === null || _a === void 0 ? void 0 : _a.controlMap.forEach(c => values[c.key] = c.props.value);
93
+ this.values = values;
94
+ }
95
+ setValue(key, value) {
96
+ this.values[key] = value;
97
+ const control = this.shadowRoot.querySelector(`#${key}`);
98
+ control.value = value;
99
+ }
100
+ async reset() {
101
+ this.resetValues();
102
+ this.controls.forEach(c => c.reset());
103
+ }
104
+ validate() {
105
+ this.controls.forEach(c => c.validate());
106
+ this.requestUpdate();
107
+ }
108
+ isValid() {
109
+ this.validate();
110
+ for (const c of this.controlNodes) {
111
+ if (!c.isValid)
112
+ return false;
113
+ }
114
+ return true;
115
+ }
116
+ async initAdapter() {
117
+ this.model = new formModel_1.FormModel({
118
+ rows: await this.adapter.getRows(this.key),
119
+ columns: await this.adapter.getColumns(this.key),
120
+ controls: await this.adapter.getControls(this.key)
121
+ });
122
+ }
123
+ async willUpdate(changedProps) {
124
+ if (changedProps.has('adapter')) {
125
+ await this.initAdapter();
126
+ }
127
+ if (changedProps.has('model')) {
128
+ this.resetValues();
129
+ }
130
+ }
131
+ updated() {
132
+ var _a;
133
+ this.controls = new Map();
134
+ this.controlNodes.forEach(c => this.controls.set(c.id, c));
135
+ (_a = this.model) === null || _a === void 0 ? void 0 : _a.controls.forEach((row, r) => row.forEach((control, c) => {
136
+ const cs = control.props.cs || 1;
137
+ const rs = control.props.rs || 1;
138
+ if (cs > 1 || rs > 1) {
139
+ for (let ri = r; ri <= r + rs - 1; ri++) {
140
+ for (let ci = c; ci <= c + cs - 1; ci++) {
141
+ const cell = this.rowElms[ri].children[ci];
142
+ if (cell) {
143
+ if (ci != c || ri != r)
144
+ core_1.dom.hideCell(cell);
145
+ else
146
+ core_1.dom.showCell(cell);
147
+ }
148
+ }
149
+ }
150
+ }
151
+ else {
152
+ core_1.dom.showCell(this.rowElms[r].children[c]);
153
+ }
154
+ }));
155
+ }
156
+ _onValueChange(e) {
157
+ this.values[e.model.key] = e.value;
158
+ if (this.errorCounts[e.model.key] != e.model.errors.length) {
159
+ this.requestUpdate();
160
+ }
161
+ this.errorCounts[e.model.key] = e.model.errors.length;
162
+ this.dispatchEvent(new FormEvent('change', { key: e.model.key, value: e.value }));
163
+ }
164
+ };
165
+ exports.Form = Form;
166
+ Form.styles = [form_style_1.style];
167
+ __decorate([
168
+ (0, decorators_js_1.property)()
169
+ ], Form.prototype, "key", void 0);
170
+ __decorate([
171
+ (0, decorators_js_1.property)({ type: Object })
172
+ ], Form.prototype, "adapter", void 0);
173
+ __decorate([
174
+ (0, decorators_js_1.property)({ type: Object })
175
+ ], Form.prototype, "model", void 0);
176
+ __decorate([
177
+ (0, decorators_js_1.property)({ type: String })
178
+ ], Form.prototype, "caption", void 0);
179
+ __decorate([
180
+ (0, decorators_js_1.queryAll)('.control')
181
+ ], Form.prototype, "controlNodes", void 0);
182
+ __decorate([
183
+ (0, decorators_js_1.queryAll)('.row')
184
+ ], Form.prototype, "rowElms", void 0);
185
+ __decorate([
186
+ (0, decorators_js_1.property)({ type: Object })
187
+ ], Form.prototype, "values", void 0);
188
+ exports.Form = Form = __decorate([
189
+ (0, decorators_js_1.customElement)('og-form'),
190
+ (0, core_1.stylable)({ vars: [
191
+ 'accent-color', 'accent-color-highlight', 'text-color', 'text-color-2',
192
+ 'font-size', 'text-color-reversed', 'form-*'
193
+ ] })
194
+ ], Form);
195
+ //# sourceMappingURL=form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/ui/form.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const style: import("lit").CSSResult;
2
+ //# sourceMappingURL=form.style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.style.d.ts","sourceRoot":"","sources":["../../src/ui/form.style.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,yBAiCjB,CAAC"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.style = void 0;
4
+ const lit_1 = require("lit");
5
+ exports.style = (0, lit_1.css) `
6
+ :host {
7
+ display: block;
8
+ background-color: var(--form-background-color);
9
+ font-size: var(--font-size);
10
+ }
11
+
12
+ * {
13
+ box-sizing: border-box;
14
+ }
15
+
16
+ .body {
17
+ padding: 11px;
18
+ }
19
+
20
+ table {
21
+ border-collapse: collapse;
22
+ width: 100%;
23
+ table-layout: fixed;
24
+ }
25
+
26
+ table tr {
27
+ height: 20px;
28
+ }
29
+
30
+ table td {
31
+ padding: 2px 0;
32
+ overflow: hidden;
33
+ }
34
+
35
+ .error {
36
+ color: red;
37
+ }
38
+ `;
39
+ //# sourceMappingURL=form.style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.style.js","sourceRoot":"","sources":["../../src/ui/form.style.ts"],"names":[],"mappings":";;;AAAA,6BAA0B;AAEb,QAAA,KAAK,GAAG,IAAA,SAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCvB,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { LitElement } from 'lit';
2
+ import { Overlay } from '@omegagrid/core';
3
+ import { FormAlert, FormButtonType, FormContainerOptions, FormSettings, FormValues } from '../types';
4
+ import { FormAdapter } from '../model';
5
+ import { Form } from './form';
6
+ export declare class FormContainer extends LitElement {
7
+ static styles: import("lit").CSSResult[];
8
+ config: FormSettings[];
9
+ options: FormContainerOptions;
10
+ collapsibleForms: boolean;
11
+ adapter: FormAdapter;
12
+ alerts: FormAlert[];
13
+ overlay: Overlay;
14
+ forms: NodeListOf<Form>;
15
+ private _saving;
16
+ constructor();
17
+ connectedCallback(): void;
18
+ get values(): Map<string | number, FormValues>;
19
+ setSourceData(config: FormSettings[], options?: Partial<FormContainerOptions>): void;
20
+ reset(dispatchEvent?: boolean): void;
21
+ isValid(): boolean;
22
+ save(dispatchEvent?: boolean): Promise<void>;
23
+ _onButtonClick: (type: FormButtonType) => void;
24
+ initAdapter(): Promise<void>;
25
+ willUpdate(changedProps: Map<PropertyKey, unknown>): Promise<void>;
26
+ render: () => import("lit-html").TemplateResult<1>;
27
+ }
28
+ //# sourceMappingURL=formContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formContainer.d.ts","sourceRoot":"","sources":["../../src/ui/formContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAGvC,OAAO,EAAE,OAAO,EAAY,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,oBAAoB,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACrG,OAAO,EAAE,WAAW,EAAa,MAAM,UAAU,CAAC;AAGlD,OAAO,EAAE,IAAI,EAAa,MAAM,QAAQ,CAAC;AAGzC,qBAEa,aAAc,SAAQ,UAAU;IAE5C,MAAM,CAAC,MAAM,4BAAW;IAGxB,MAAM,EAAE,YAAY,EAAE,CAAC;IAGvB,OAAO,EAAE,oBAAoB,CAAiB;IAG9C,gBAAgB,UAAS;IAGzB,OAAO,EAAE,WAAW,CAAC;IAGrB,MAAM,EAAE,SAAS,EAAE,CAAC;IAGpB,OAAO,EAAE,OAAO,CAAC;IAGjB,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IAExB,OAAO,CAAC,OAAO,CAAS;;IASxB,iBAAiB;IAKjB,IAAI,MAAM,qCAIT;IAED,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC;IAK7E,KAAK,CAAC,aAAa,UAAO;IAK1B,OAAO;IAID,IAAI,CAAC,aAAa,UAAO;IAoB/B,cAAc,SAAU,cAAc,UAMrC;IAEK,WAAW;IAKX,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC;IAMxD,MAAM,6CAkDL;CAED"}
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.FormContainer = void 0;
13
+ const lit_1 = require("lit");
14
+ const decorators_js_1 = require("lit/decorators.js");
15
+ const map_js_1 = require("lit/directives/map.js");
16
+ const core_1 = require("@omegagrid/core");
17
+ const model_1 = require("../model");
18
+ const constants_1 = __importDefault(require("../constants"));
19
+ const options_1 = require("../options");
20
+ const form_1 = require("./form");
21
+ const formContainer_style_1 = require("./formContainer.style");
22
+ let FormContainer = class FormContainer extends lit_1.LitElement {
23
+ constructor() {
24
+ super();
25
+ this.options = (0, options_1.initOptions)();
26
+ this.collapsibleForms = false;
27
+ this._saving = false;
28
+ this._onButtonClick = (type) => {
29
+ switch (type) {
30
+ case 'save':
31
+ this.save();
32
+ break;
33
+ case 'reset':
34
+ this.reset();
35
+ break;
36
+ case 'close':
37
+ this.dispatchEvent(new Event('close'));
38
+ break;
39
+ }
40
+ };
41
+ this.render = () => {
42
+ const buttons = this.options.buttons.length > 0
43
+ ? (0, lit_1.html) `<div class="buttons">${(0, map_js_1.map)(this.options.buttons, type => {
44
+ const btn = constants_1.default.BUTTON_CONFIG.get(type);
45
+ return (0, lit_1.html) `
46
+ <og-button
47
+ .text="${btn.text}"
48
+ .color="${btn.color}"
49
+ @click="${() => this._onButtonClick(type)}"
50
+ ?default="${btn.default}">
51
+ </og-button>
52
+ `;
53
+ })}</div>` : null;
54
+ const alerts = (0, map_js_1.map)(this.alerts, alert => (0, lit_1.html) `
55
+ <og-alert .text="${alert.text}" .type="${alert.type}"></og-alert>
56
+ `);
57
+ return (0, lit_1.html) `
58
+ ${this.options.caption ? (0, lit_1.html) `<div class="title">${this.options.caption}</div>` : ``}
59
+ ${this.options.buttonsPosition == 'top' ? buttons : ``}
60
+ ${this.options.alertsPosition == 'top' ? alerts : ``}
61
+ <og-overlay defaultLoader></og-overlay>
62
+ <og-container>
63
+ <div slot="content">
64
+ ${(0, map_js_1.map)(this.config, (f, index) => {
65
+ var _a;
66
+ const form = (0, lit_1.html) `
67
+ <og-form
68
+ slot="body"
69
+ key=${(_a = f.key) !== null && _a !== void 0 ? _a : index.toString()}
70
+ .adapter=${this.adapter}
71
+ .model=${this.adapter == null ? new model_1.FormModel(f) : null}
72
+ .rows=${f.rows}
73
+ .columns=${f.columns}>
74
+ </og-form>
75
+ `;
76
+ return f.caption ? (0, lit_1.html) `
77
+ <og-panel ?collapsible="${this.collapsibleForms}">
78
+ ${f.caption ? (0, lit_1.html) `<div slot="header">${f.caption}</div>` : ``}
79
+ ${form}
80
+ </og-panel>
81
+ ` : (0, lit_1.html) `
82
+ <div>${form}</div>
83
+ `;
84
+ })}
85
+ </div>
86
+ </og-container>
87
+ ${this.options.alertsPosition == 'bottom' ? alerts : ``}
88
+ ${this.options.buttonsPosition == 'bottom' ? buttons : ``}
89
+ `;
90
+ };
91
+ this.addEventListener('keydown', (e) => {
92
+ if (e.key == 'Enter')
93
+ this.save();
94
+ });
95
+ }
96
+ connectedCallback() {
97
+ super.connectedCallback();
98
+ this.tabIndex = 0;
99
+ }
100
+ get values() {
101
+ const values = new Map();
102
+ this.forms.forEach((f, i) => { var _a; return values.set((_a = this.config[i].key) !== null && _a !== void 0 ? _a : i, f.values); });
103
+ return values;
104
+ }
105
+ setSourceData(config, options) {
106
+ this.config = config;
107
+ this.options = (0, options_1.initOptions)(options, this.options);
108
+ }
109
+ reset(dispatchEvent = true) {
110
+ this.forms.forEach(f => f.reset());
111
+ if (dispatchEvent)
112
+ this.dispatchEvent(new form_1.FormEvent('reset'));
113
+ }
114
+ isValid() {
115
+ return Array.from(this.forms.values()).every(f => f.isValid());
116
+ }
117
+ async save(dispatchEvent = true) {
118
+ if (this._saving)
119
+ return;
120
+ if (!this.isValid())
121
+ return;
122
+ this._saving = true;
123
+ if (this.adapter) {
124
+ this.overlay.show(this);
125
+ const result = await this.adapter.save(this.values);
126
+ if (Array.isArray(result)) {
127
+ this.alerts = result;
128
+ this.requestUpdate();
129
+ }
130
+ this.overlay.hide();
131
+ if (dispatchEvent) {
132
+ this.dispatchEvent(new form_1.FormEvent('save'));
133
+ if (result === true && this.options.closeAfterSave)
134
+ this.dispatchEvent(new Event('close'));
135
+ }
136
+ }
137
+ else if (dispatchEvent)
138
+ this.dispatchEvent(new form_1.FormEvent('save'));
139
+ this._saving = false;
140
+ }
141
+ async initAdapter() {
142
+ this.config = await this.adapter.getForms();
143
+ this.options = (0, options_1.initOptions)(await this.adapter.getOptions(), this.options);
144
+ }
145
+ async willUpdate(changedProps) {
146
+ if (changedProps.has('adapter')) {
147
+ await this.initAdapter();
148
+ }
149
+ }
150
+ };
151
+ exports.FormContainer = FormContainer;
152
+ FormContainer.styles = [formContainer_style_1.style];
153
+ __decorate([
154
+ (0, decorators_js_1.property)({ type: Array })
155
+ ], FormContainer.prototype, "config", void 0);
156
+ __decorate([
157
+ (0, decorators_js_1.property)({ type: Object })
158
+ ], FormContainer.prototype, "options", void 0);
159
+ __decorate([
160
+ (0, decorators_js_1.property)({ type: Boolean })
161
+ ], FormContainer.prototype, "collapsibleForms", void 0);
162
+ __decorate([
163
+ (0, decorators_js_1.property)({ type: Object })
164
+ ], FormContainer.prototype, "adapter", void 0);
165
+ __decorate([
166
+ (0, decorators_js_1.property)({ type: Array })
167
+ ], FormContainer.prototype, "alerts", void 0);
168
+ __decorate([
169
+ (0, decorators_js_1.query)('og-overlay')
170
+ ], FormContainer.prototype, "overlay", void 0);
171
+ __decorate([
172
+ (0, decorators_js_1.queryAll)('og-form')
173
+ ], FormContainer.prototype, "forms", void 0);
174
+ exports.FormContainer = FormContainer = __decorate([
175
+ (0, decorators_js_1.customElement)('og-form-container'),
176
+ (0, core_1.stylable)({ vars: ['accent-*', 'text-*', 'font-size', 'form-*', 'button-*', 'border-*'] })
177
+ ], FormContainer);
178
+ //# sourceMappingURL=formContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formContainer.js","sourceRoot":"","sources":["../../src/ui/formContainer.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6BAAuC;AACvC,qDAA6E;AAC7E,kDAA4C;AAC5C,0CAAoD;AAEpD,oCAAkD;AAClD,6DAAqC;AACrC,wCAAyC;AACzC,iCAAyC;AACzC,+DAA8C;AAIvC,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,gBAAU;IA2B5C;QACC,KAAK,EAAE,CAAC;QApBT,YAAO,GAAyB,IAAA,qBAAW,GAAE,CAAC;QAG9C,qBAAgB,GAAG,KAAK,CAAC;QAcjB,YAAO,GAAG,KAAK,CAAC;QAsDxB,mBAAc,GAAG,CAAC,IAAoB,EAAE,EAAE;YACzC,QAAQ,IAAI,EAAE,CAAC;gBACd,KAAK,MAAM;oBAAE,IAAI,CAAC,IAAI,EAAE,CAAC;oBAAC,MAAM;gBAChC,KAAK,OAAO;oBAAE,IAAI,CAAC,KAAK,EAAE,CAAC;oBAAC,MAAM;gBAClC,KAAK,OAAO;oBAAE,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;oBAAC,MAAM;YAC7D,CAAC;QACF,CAAC,CAAA;QAaD,WAAM,GAAG,GAAG,EAAE;YACb,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;gBAC9C,CAAC,CAAC,IAAA,UAAI,EAAA,wBAAwB,IAAA,YAAG,EAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;oBAC9D,MAAM,GAAG,GAAG,mBAAS,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC9C,OAAO,IAAA,UAAI,EAAA;;eAEA,GAAG,CAAC,IAAI;gBACP,GAAG,CAAC,KAAK;gBACT,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;kBAC7B,GAAG,CAAC,OAAO;;KAExB,CAAC;gBACH,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YAEnB,MAAM,MAAM,GAAG,IAAA,YAAG,EAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAA,UAAI,EAAA;sBACzB,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,IAAI;GACnD,CAAC,CAAC;YAEH,OAAO,IAAA,UAAI,EAAA;KACR,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,UAAI,EAAA,sBAAsB,IAAI,CAAC,OAAO,CAAC,OAAO,QAAQ,CAAA,CAAC,CAAC,EAAE;KACjF,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;KACpD,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;;;;OAIhD,IAAA,YAAG,EAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;;gBAC/B,MAAM,IAAI,GAAG,IAAA,UAAI,EAAA;;;cAGT,MAAA,CAAC,CAAC,GAAG,mCAAI,KAAK,CAAC,QAAQ,EAAE;mBACpB,IAAI,CAAC,OAAO;iBACd,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,iBAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC/C,CAAC,CAAC,IAAI;mBACH,CAAC,CAAC,OAAO;;OAErB,CAAC;gBACF,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,UAAI,EAAA;iCACI,IAAI,CAAC,gBAAgB;UAC5C,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,UAAI,EAAA,sBAAsB,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE;UAC5D,IAAI;;OAEP,CAAC,CAAC,CAAC,IAAA,UAAI,EAAA;cACA,IAAI;OACX,CAAC;YACH,CAAC,CAAC;;;KAGF,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;KACrD,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;GACzD,CAAC;QACH,CAAC,CAAA;QAvHA,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAgB,EAAE,EAAE;YACrD,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO;gBAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,iBAAiB;QAChB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,IAAI,MAAM;QACT,MAAM,MAAM,GAAG,IAAI,GAAG,EAA6B,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,WAAC,OAAA,MAAM,CAAC,GAAG,CAAC,MAAA,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,mCAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA,EAAA,CAAC,CAAC;QAC5E,OAAO,MAAM,CAAC;IACf,CAAC;IAED,aAAa,CAAC,MAAsB,EAAE,OAAuC;QAC5E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,IAAA,qBAAW,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,aAAa,GAAG,IAAI;QACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACnC,IAAI,aAAa;YAAE,IAAI,CAAC,aAAa,CAAC,IAAI,gBAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO;QACN,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI;QAC9B,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAAE,OAAO;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrB,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,aAAa,EAAE,CAAC;gBACnB,IAAI,CAAC,aAAa,CAAC,IAAI,gBAAS,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC1C,IAAI,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc;oBAAE,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5F,CAAC;QACF,CAAC;aAAM,IAAI,aAAa;YAAE,IAAI,CAAC,aAAa,CAAC,IAAI,gBAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;IACrB,CAAC;IAUD,KAAK,CAAC,WAAW;QAChB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,IAAA,qBAAW,EAAC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,YAAuC;QACvD,IAAI,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1B,CAAC;IACF,CAAC;;AAhGW,sCAAa;AAElB,oBAAM,GAAG,CAAC,2BAAK,CAAC,AAAV,CAAW;AAGxB;IADC,IAAA,wBAAQ,EAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC;6CACD;AAGvB;IADC,IAAA,wBAAQ,EAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;8CACqB;AAG9C;IADC,IAAA,wBAAQ,EAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;uDACD;AAGzB;IADC,IAAA,wBAAQ,EAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;8CACJ;AAGrB;IADC,IAAA,wBAAQ,EAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC;6CACJ;AAGpB;IADC,IAAA,qBAAK,EAAC,YAAY,CAAC;8CACH;AAGjB;IADC,IAAA,wBAAQ,EAAC,SAAS,CAAC;4CACI;wBAvBZ,aAAa;IAFzB,IAAA,6BAAa,EAAC,mBAAmB,CAAC;IAClC,IAAA,eAAQ,EAAC,EAAC,IAAI,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,EAAC,CAAC;GAC3E,aAAa,CAsJzB"}
@@ -0,0 +1,2 @@
1
+ export declare const style: import("lit").CSSResult;
2
+ //# sourceMappingURL=formContainer.style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formContainer.style.d.ts","sourceRoot":"","sources":["../../src/ui/formContainer.style.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,yBA0CjB,CAAC"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.style = void 0;
4
+ const lit_1 = require("lit");
5
+ exports.style = (0, lit_1.css) `
6
+ * {
7
+ box-sizing: border-box;
8
+ }
9
+
10
+ :host {
11
+ display: flex;
12
+ flex-direction: column;
13
+ position: relative;
14
+ }
15
+
16
+ .title {
17
+ background-color: var(--accent-color);
18
+ line-height: 40px;
19
+ padding: 0 10px;
20
+ color: var(--text-color-reversed);
21
+ flex: 0;
22
+ }
23
+
24
+ og-container {
25
+ flex: 1;
26
+ }
27
+
28
+ .form-title {
29
+ padding: 5px;
30
+ }
31
+
32
+ .buttons {
33
+ display: flex;
34
+ flex-direction: row;
35
+ gap: 4px;
36
+ justify-content: flex-end;
37
+ padding: 4px;
38
+ border-top: 1px solid var(--border-color);
39
+ height: 30px;
40
+ line-height: 30px;
41
+ }
42
+
43
+ .buttons og-button {
44
+ min-width: 80px;
45
+ text-align: center;
46
+ }
47
+ `;
48
+ //# sourceMappingURL=formContainer.style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formContainer.style.js","sourceRoot":"","sources":["../../src/ui/formContainer.style.ts"],"names":[],"mappings":";;;AAAA,6BAA0B;AAEb,QAAA,KAAK,GAAG,IAAA,SAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CvB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './form';
2
+ export * from './formContainer';
3
+ export * from './controls';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./form"), exports);
18
+ __exportStar(require("./formContainer"), exports);
19
+ __exportStar(require("./controls"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,kDAAgC;AAChC,6CAA2B"}