legalesign-document-viewer 0.0.7

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 (184) hide show
  1. package/LICENSE +21 -0
  2. package/dist/components/index.d.ts +33 -0
  3. package/dist/components/ls-document-options.d.ts +11 -0
  4. package/dist/components/ls-document-viewer.d.ts +11 -0
  5. package/dist/components/ls-editor-field.d.ts +11 -0
  6. package/dist/components/ls-editor-table.d.ts +11 -0
  7. package/dist/components/ls-feature-column.d.ts +11 -0
  8. package/dist/components/ls-field-alignment.d.ts +11 -0
  9. package/dist/components/ls-field-dimensions.d.ts +11 -0
  10. package/dist/components/ls-field-distribute.d.ts +11 -0
  11. package/dist/components/ls-field-format.d.ts +11 -0
  12. package/dist/components/ls-field-properties-date.d.ts +11 -0
  13. package/dist/components/ls-field-properties-general.d.ts +11 -0
  14. package/dist/components/ls-field-properties-multiple.d.ts +11 -0
  15. package/dist/components/ls-field-properties-number.d.ts +11 -0
  16. package/dist/components/ls-field-properties-signature.d.ts +11 -0
  17. package/dist/components/ls-field-properties-text.d.ts +11 -0
  18. package/dist/components/ls-field-properties.d.ts +11 -0
  19. package/dist/components/ls-field-size.d.ts +11 -0
  20. package/dist/components/ls-formfield.d.ts +11 -0
  21. package/dist/components/ls-icon.d.ts +11 -0
  22. package/dist/components/ls-number-input.d.ts +11 -0
  23. package/dist/components/ls-participant-manager.d.ts +11 -0
  24. package/dist/components/ls-participant-select.d.ts +11 -0
  25. package/dist/components/ls-radio-input.d.ts +11 -0
  26. package/dist/components/ls-select-input.d.ts +11 -0
  27. package/dist/components/ls-statusbar.d.ts +11 -0
  28. package/dist/components/ls-text-input.d.ts +11 -0
  29. package/dist/components/ls-textarea-input.d.ts +11 -0
  30. package/dist/components/ls-toolbar.d.ts +11 -0
  31. package/dist/components/ls-toolbox-field.d.ts +11 -0
  32. package/dist/ls-document-viewer/clsx-ChV9xqsO.js +6 -0
  33. package/dist/ls-document-viewer/clsx-ChV9xqsO.js.map +1 -0
  34. package/dist/ls-document-viewer/editorUtils-CFWWEWrJ.js +163 -0
  35. package/dist/ls-document-viewer/editorUtils-CFWWEWrJ.js.map +1 -0
  36. package/dist/ls-document-viewer/index-Cjn1MNt-.js +4334 -0
  37. package/dist/ls-document-viewer/index-Cjn1MNt-.js.map +1 -0
  38. package/dist/ls-document-viewer/index.esm.js +18 -0
  39. package/dist/ls-document-viewer/index.esm.js.map +1 -0
  40. package/dist/ls-document-viewer/loader.esm.js.map +1 -0
  41. package/dist/ls-document-viewer/ls-document-options.entry.esm.js.map +1 -0
  42. package/dist/ls-document-viewer/ls-document-options.entry.js +29 -0
  43. package/dist/ls-document-viewer/ls-document-options.entry.js.map +1 -0
  44. package/dist/ls-document-viewer/ls-document-viewer.entry.esm.js.map +1 -0
  45. package/dist/ls-document-viewer/ls-document-viewer.entry.js +46750 -0
  46. package/dist/ls-document-viewer/ls-document-viewer.entry.js.map +1 -0
  47. package/dist/ls-document-viewer/ls-document-viewer.esm.js +50 -0
  48. package/dist/ls-document-viewer/ls-document-viewer.esm.js.map +1 -0
  49. package/dist/ls-document-viewer/ls-editor-field.entry.esm.js.map +1 -0
  50. package/dist/ls-document-viewer/ls-editor-field.entry.js +120 -0
  51. package/dist/ls-document-viewer/ls-editor-field.entry.js.map +1 -0
  52. package/dist/ls-document-viewer/ls-editor-table.entry.esm.js.map +1 -0
  53. package/dist/ls-document-viewer/ls-editor-table.entry.js +40 -0
  54. package/dist/ls-document-viewer/ls-editor-table.entry.js.map +1 -0
  55. package/dist/ls-document-viewer/ls-feature-column.entry.esm.js.map +1 -0
  56. package/dist/ls-document-viewer/ls-feature-column.entry.js +26 -0
  57. package/dist/ls-document-viewer/ls-feature-column.entry.js.map +1 -0
  58. package/dist/ls-document-viewer/ls-field-alignment.entry.esm.js.map +1 -0
  59. package/dist/ls-document-viewer/ls-field-alignment.entry.js +130 -0
  60. package/dist/ls-document-viewer/ls-field-alignment.entry.js.map +1 -0
  61. package/dist/ls-document-viewer/ls-field-dimensions.entry.esm.js.map +1 -0
  62. package/dist/ls-document-viewer/ls-field-dimensions.entry.js +50 -0
  63. package/dist/ls-document-viewer/ls-field-dimensions.entry.js.map +1 -0
  64. package/dist/ls-document-viewer/ls-field-distribute.entry.esm.js.map +1 -0
  65. package/dist/ls-document-viewer/ls-field-distribute.entry.js +100 -0
  66. package/dist/ls-document-viewer/ls-field-distribute.entry.js.map +1 -0
  67. package/dist/ls-document-viewer/ls-field-format.entry.esm.js.map +1 -0
  68. package/dist/ls-document-viewer/ls-field-format.entry.js +41 -0
  69. package/dist/ls-document-viewer/ls-field-format.entry.js.map +1 -0
  70. package/dist/ls-document-viewer/ls-field-properties-date.entry.esm.js.map +1 -0
  71. package/dist/ls-document-viewer/ls-field-properties-date.entry.js +19 -0
  72. package/dist/ls-document-viewer/ls-field-properties-date.entry.js.map +1 -0
  73. package/dist/ls-document-viewer/ls-field-properties-general.entry.esm.js.map +1 -0
  74. package/dist/ls-document-viewer/ls-field-properties-general.entry.js +19 -0
  75. package/dist/ls-document-viewer/ls-field-properties-general.entry.js.map +1 -0
  76. package/dist/ls-document-viewer/ls-field-properties-multiple.entry.esm.js.map +1 -0
  77. package/dist/ls-document-viewer/ls-field-properties-multiple.entry.js +19 -0
  78. package/dist/ls-document-viewer/ls-field-properties-multiple.entry.js.map +1 -0
  79. package/dist/ls-document-viewer/ls-field-properties-number.entry.esm.js.map +1 -0
  80. package/dist/ls-document-viewer/ls-field-properties-number.entry.js +19 -0
  81. package/dist/ls-document-viewer/ls-field-properties-number.entry.js.map +1 -0
  82. package/dist/ls-document-viewer/ls-field-properties-signature.entry.esm.js.map +1 -0
  83. package/dist/ls-document-viewer/ls-field-properties-signature.entry.js +19 -0
  84. package/dist/ls-document-viewer/ls-field-properties-signature.entry.js.map +1 -0
  85. package/dist/ls-document-viewer/ls-field-properties-text.entry.esm.js.map +1 -0
  86. package/dist/ls-document-viewer/ls-field-properties-text.entry.js +19 -0
  87. package/dist/ls-document-viewer/ls-field-properties-text.entry.js.map +1 -0
  88. package/dist/ls-document-viewer/ls-field-properties.entry.esm.js.map +1 -0
  89. package/dist/ls-document-viewer/ls-field-properties.entry.js +39 -0
  90. package/dist/ls-document-viewer/ls-field-properties.entry.js.map +1 -0
  91. package/dist/ls-document-viewer/ls-field-size.entry.esm.js.map +1 -0
  92. package/dist/ls-document-viewer/ls-field-size.entry.js +33 -0
  93. package/dist/ls-document-viewer/ls-field-size.entry.js.map +1 -0
  94. package/dist/ls-document-viewer/ls-formfield.entry.esm.js.map +1 -0
  95. package/dist/ls-document-viewer/ls-formfield.entry.js +59 -0
  96. package/dist/ls-document-viewer/ls-formfield.entry.js.map +1 -0
  97. package/dist/ls-document-viewer/ls-icon.entry.esm.js.map +1 -0
  98. package/dist/ls-document-viewer/ls-icon.entry.js +11017 -0
  99. package/dist/ls-document-viewer/ls-icon.entry.js.map +1 -0
  100. package/dist/ls-document-viewer/ls-number-input.entry.esm.js.map +1 -0
  101. package/dist/ls-document-viewer/ls-number-input.entry.js +51 -0
  102. package/dist/ls-document-viewer/ls-number-input.entry.js.map +1 -0
  103. package/dist/ls-document-viewer/ls-participant-manager.entry.esm.js.map +1 -0
  104. package/dist/ls-document-viewer/ls-participant-manager.entry.js +59 -0
  105. package/dist/ls-document-viewer/ls-participant-manager.entry.js.map +1 -0
  106. package/dist/ls-document-viewer/ls-participant-select.entry.esm.js.map +1 -0
  107. package/dist/ls-document-viewer/ls-participant-select.entry.js +18 -0
  108. package/dist/ls-document-viewer/ls-participant-select.entry.js.map +1 -0
  109. package/dist/ls-document-viewer/ls-radio-input.entry.esm.js.map +1 -0
  110. package/dist/ls-document-viewer/ls-radio-input.entry.js +28 -0
  111. package/dist/ls-document-viewer/ls-radio-input.entry.js.map +1 -0
  112. package/dist/ls-document-viewer/ls-select-input.entry.esm.js.map +1 -0
  113. package/dist/ls-document-viewer/ls-select-input.entry.js +44 -0
  114. package/dist/ls-document-viewer/ls-select-input.entry.js.map +1 -0
  115. package/dist/ls-document-viewer/ls-statusbar.entry.esm.js.map +1 -0
  116. package/dist/ls-document-viewer/ls-statusbar.entry.js +50 -0
  117. package/dist/ls-document-viewer/ls-statusbar.entry.js.map +1 -0
  118. package/dist/ls-document-viewer/ls-text-input.entry.esm.js.map +1 -0
  119. package/dist/ls-document-viewer/ls-text-input.entry.js +47 -0
  120. package/dist/ls-document-viewer/ls-text-input.entry.js.map +1 -0
  121. package/dist/ls-document-viewer/ls-textarea-input.entry.esm.js.map +1 -0
  122. package/dist/ls-document-viewer/ls-textarea-input.entry.js +43 -0
  123. package/dist/ls-document-viewer/ls-textarea-input.entry.js.map +1 -0
  124. package/dist/ls-document-viewer/ls-toolbar.entry.esm.js.map +1 -0
  125. package/dist/ls-document-viewer/ls-toolbar.entry.js +36 -0
  126. package/dist/ls-document-viewer/ls-toolbar.entry.js.map +1 -0
  127. package/dist/ls-document-viewer/ls-toolbox-field.entry.esm.js.map +1 -0
  128. package/dist/ls-document-viewer/ls-toolbox-field.entry.js +52 -0
  129. package/dist/ls-document-viewer/ls-toolbox-field.entry.js.map +1 -0
  130. package/dist/types/components/interfaces/IToolboxField.d.ts +6 -0
  131. package/dist/types/components/ls-document-options/ls-document-options.d.ts +10 -0
  132. package/dist/types/components/ls-document-viewer/defaultPalette.d.ts +1 -0
  133. package/dist/types/components/ls-document-viewer/editorCalculator.d.ts +15 -0
  134. package/dist/types/components/ls-document-viewer/editorUtils.d.ts +20 -0
  135. package/dist/types/components/ls-document-viewer/keyHandlers.d.ts +1 -0
  136. package/dist/types/components/ls-document-viewer/ls-document-viewer.d.ts +139 -0
  137. package/dist/types/components/ls-document-viewer/mouseHandlers.d.ts +4 -0
  138. package/dist/types/components/ls-editor-field/ls-editor-field.d.ts +26 -0
  139. package/dist/types/components/ls-editor-table/ls-editor-table.d.ts +11 -0
  140. package/dist/types/components/ls-feature-column/ls-feature-column.d.ts +10 -0
  141. package/dist/types/components/ls-field-alignment/ls-field-alignment.d.ts +15 -0
  142. package/dist/types/components/ls-field-dimensions/ls-field-dimensions.d.ts +11 -0
  143. package/dist/types/components/ls-field-distribute/ls-field-distribute.d.ts +12 -0
  144. package/dist/types/components/ls-field-format/ls-field-format.d.ts +10 -0
  145. package/dist/types/components/ls-field-properties/ls-field-properties.d.ts +6 -0
  146. package/dist/types/components/ls-field-properties-date/ls-field-properties-date.d.ts +5 -0
  147. package/dist/types/components/ls-field-properties-general/ls-field-properties-general.d.ts +5 -0
  148. package/dist/types/components/ls-field-properties-multiple/ls-field-properties-multiple.d.ts +5 -0
  149. package/dist/types/components/ls-field-properties-number/ls-field-properties-number.d.ts +5 -0
  150. package/dist/types/components/ls-field-properties-signature/ls-field-properties-signature.d.ts +5 -0
  151. package/dist/types/components/ls-field-properties-text/ls-field-properties-text.d.ts +5 -0
  152. package/dist/types/components/ls-field-size/ls-field-size.d.ts +9 -0
  153. package/dist/types/components/ls-formfield/inputs/ls-number-input/ls-number-input.d.ts +21 -0
  154. package/dist/types/components/ls-formfield/inputs/ls-radio-input/ls-radio-input.d.ts +13 -0
  155. package/dist/types/components/ls-formfield/inputs/ls-select-input/ls-select-input.d.ts +16 -0
  156. package/dist/types/components/ls-formfield/inputs/ls-text-input/ls-text-input.d.ts +20 -0
  157. package/dist/types/components/ls-formfield/inputs/ls-textarea-input/ls-textarea-input.d.ts +18 -0
  158. package/dist/types/components/ls-formfield/ls-formfield.d.ts +31 -0
  159. package/dist/types/components/ls-icon/icons.d.ts +5 -0
  160. package/dist/types/components/ls-icon/ls-icon.d.ts +13 -0
  161. package/dist/types/components/ls-participant-manager/ls-participant-manager.d.ts +24 -0
  162. package/dist/types/components/ls-participant-select/ls-participant-select.d.ts +3 -0
  163. package/dist/types/components/ls-statusbar/ls-statusbar.d.ts +20 -0
  164. package/dist/types/components/ls-toolbar/ls-toolbar.d.ts +19 -0
  165. package/dist/types/components/ls-toolbox-field/ls-toolbox-field.d.ts +23 -0
  166. package/dist/types/components.d.ts +1145 -0
  167. package/dist/types/index.d.ts +11 -0
  168. package/dist/types/stencil-public-runtime.d.ts +1709 -0
  169. package/dist/types/types/Icon.d.ts +355 -0
  170. package/dist/types/types/LSApiElement.d.ts +42 -0
  171. package/dist/types/types/LSApiElementType.d.ts +14 -0
  172. package/dist/types/types/LSApiRole.d.ts +11 -0
  173. package/dist/types/types/LSApiTemplate.d.ts +29 -0
  174. package/dist/types/types/LSMutateEvent.d.ts +7 -0
  175. package/dist/types/types/RoleColor.d.ts +4 -0
  176. package/dist/types/types/ValidationType.d.ts +9 -0
  177. package/dist/types/utils/utils.d.ts +1 -0
  178. package/loader/cdn.js +1 -0
  179. package/loader/index.cjs.js +1 -0
  180. package/loader/index.d.ts +24 -0
  181. package/loader/index.es2017.js +1 -0
  182. package/loader/index.js +2 -0
  183. package/package.json +59 -0
  184. package/readme.md +79 -0
@@ -0,0 +1,33 @@
1
+ import { r as registerInstance, a as createEvent, h, e as Host } from './index-Cjn1MNt-.js';
2
+
3
+ const lsFieldSizeCss = ":host{display:inline-block}button{display:inline-flex;background-color:transparent;min-width:24px;min-height:24px;border-radius:0.5rem;margin:0.25rem;width:27px;height:27px;justify-content:center;vertical-align:middle;border:0}button:hover{background-color:rgb(219, 219, 219)}";
4
+
5
+ const LsFieldSize = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.mutate = createEvent(this, "mutate", 7);
9
+ this.update = createEvent(this, "update", 7);
10
+ }
11
+ dataItem;
12
+ mutate;
13
+ update;
14
+ // Send one or more mutations up the chain
15
+ // The source of the chain fires the mutation
16
+ alter(diff) {
17
+ const diffs = this.dataItem.map(c => {
18
+ return { action: "update", data: { ...c, ...diff } };
19
+ });
20
+ this.dataItem = diffs.map(d => d.data);
21
+ this.mutate.emit(diffs);
22
+ this.update.emit(diffs);
23
+ }
24
+ render() {
25
+ return (h(Host, { key: '0394ea5c55fdf6680ebf723c588333e4551f99ee' }, h("div", { key: 'e985d7ad03a96bec59d563a9ae39a06ec9dd27be', class: "flex rounded-[10px] focus:outline-hidden focus:ring-4 focus:ring-offset-0 focus:ring-primary-30" }, h("button", { key: 'cf4453e75fd169679715c010592ef60b6f7301dc', "aria-label": "Make selected fields the same width as the first selected field.", class: "ls-round-button", onClick: () => this.alter({ width: this.dataItem[0].width }), "data-tooltip-id": "le-tooltip", "data-tooltip-content": "Make selected fields the same width as the first selected field.", "data-tooltip-place": "top" }, h("svg", { key: '7bebe9b89820d8709a47fa536858cdb33b2abea6', width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '5ae2c2a402295427600157dc92bb75e132f75693', d: "M14 9V6C14 5.44772 13.5523 5 13 5H11C10.4477 5 10 5.44772 10 6V9M14 15.0104V18C14 18.5523 13.5523 19 13 19H11C10.4477 19 10 18.5523 10 18V15.0104M6.00751 15.0104L4.00751 12M4.00751 12L6.00751 9M4.00751 12H20.0013M18.0013 15.0104L20.0013 12M20.0013 12L18.0013 9", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))), h("button", { key: 'f9375df61a69f0568de27cd4f4dc23f945c6add2', class: "ls-round-button", onClick: () => this.alter({ height: this.dataItem[0].height }), "aria-label": "Make selected fields the same height as the first selected field.", "data-tooltip-id": "le-tooltip", "data-tooltip-content": "Make selected fields the same height as the first selected field.", "data-tooltip-place": "top" }, h("svg", { key: '31dcd7f385c184ec2730aaab08ddc6e85da479ca', width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: 'dab2671aa531b492fcf47fde7c631c0d8d339797', d: "M9.00439 10.0042H6.00439C5.45211 10.0042 5.00439 10.4519 5.00439 11.0042V13.0042C5.00439 13.5565 5.45211 14.0042 6.00439 14.0042H9.00439M15.0148 10.0042H18.0044C18.5567 10.0042 19.0044 10.4519 19.0044 11.0042V13.0042C19.0044 13.5565 18.5567 14.0042 18.0044 14.0042H15.0148M15.0148 17.9967L12.0044 19.9967M12.0044 19.9967L9.00439 17.9968M12.0044 19.9967V4.00293M15.0148 6.00299L12.0044 4.00293M12.0044 4.00293L9.00439 6.00293", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))), h("button", { key: '5a296dcd455c391deb56b4953a19a7e3c23f96e4', class: "ls-round-button", onClick: () => this.alter({ width: this.dataItem[0].width, height: this.dataItem[0].height }), "aria-label": "Make selected fields the same height and width as the first selected field.", "data-tooltip-id": "le-tooltip", "data-tooltip-content": "Make selected fields the same height and width as the first selected field.", "data-tooltip-place": "top" }, h("svg", { key: 'e1d8c0b27c9ca350b437b2a2b1513bd65becab88', width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '68b64b0899019469946718ea545a76cc6c77ebad', d: "M4 8V4M4 4H8M4 4L8 8M20 8V4M20 4H16M20 4L16 8M4 16V20M4 20H8M4 20L8 16M20 16V20M20 20H16M20 20L16 16M8 8H10M8 8V10M16 8H14M16 8V10M8 16H10M8 16V14M16 16V14M16 16H14", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("slot", { key: '69b404acca8ec83463492386af516720273795c7' })));
26
+ }
27
+ };
28
+ LsFieldSize.style = lsFieldSizeCss;
29
+
30
+ export { LsFieldSize as ls_field_size };
31
+ //# sourceMappingURL=ls-field-size.entry.esm.js.map
32
+
33
+ //# sourceMappingURL=ls-field-size.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"ls-field-size.entry.esm.js","mappings":"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","names":[],"sources":["src/components/ls-field-size/ls-field-size.css?tag=ls-field-size&encapsulation=shadow","src/components/ls-field-size/ls-field-size.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\nbutton {\n display: inline-flex;\n background-color: transparent;\n min-width: 24px;\n min-height: 24px;\n border-radius: 0.5rem;\n margin: 0.25rem;\n width: 27px; \n height: 27px;\n justify-content: center;\n vertical-align: middle;\n border: 0;\n}\n\nbutton:hover {\n background-color: rgb(219, 219, 219);\n}","import { Component, Host, Prop, h, Event, EventEmitter } from '@stencil/core';\nimport { LSApiElement, LSMutateEvent } from '../../components';\n\n@Component({\n tag: 'ls-field-size',\n styleUrl: 'ls-field-size.css',\n shadow: true,\n})\nexport class LsFieldSize {\n @Prop({ mutable: true }) dataItem: LSApiElement[];\n\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true\n }) mutate: EventEmitter<LSMutateEvent[]>;\n\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true\n }) update: EventEmitter<LSMutateEvent[]>;\n\n\n // Send one or more mutations up the chain\n // The source of the chain fires the mutation\n alter(diff: object) {\n\n const diffs: LSMutateEvent[] = this.dataItem.map(c => {\n return { action: \"update\", data: { ...c, ...diff } as LSApiElement }\n })\n\n this.dataItem = diffs.map(d => d.data as LSApiElement)\n this.mutate.emit(diffs) \n this.update.emit(diffs)\n }\n\n render() {\n return (\n <Host>\n <div class=\"flex rounded-[10px] focus:outline-hidden focus:ring-4 focus:ring-offset-0 focus:ring-primary-30\">\n <button aria-label=\"Make selected fields the same width as the first selected field.\"\n class=\"ls-round-button\"\n onClick={()=> this.alter({width: this.dataItem[0].width})}\n data-tooltip-id=\"le-tooltip\" data-tooltip-content=\"Make selected fields the same width as the first selected field.\" data-tooltip-place=\"top\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M14 9V6C14 5.44772 13.5523 5 13 5H11C10.4477 5 10 5.44772 10 6V9M14 15.0104V18C14 18.5523 13.5523 19 13 19H11C10.4477 19 10 18.5523 10 18V15.0104M6.00751 15.0104L4.00751 12M4.00751 12L6.00751 9M4.00751 12H20.0013M18.0013 15.0104L20.0013 12M20.0013 12L18.0013 9\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n <button class=\"ls-round-button\" \n onClick={()=>this.alter({height: this.dataItem[0].height})}\n aria-label=\"Make selected fields the same height as the first selected field.\"\n data-tooltip-id=\"le-tooltip\" data-tooltip-content=\"Make selected fields the same height as the first selected field.\" data-tooltip-place=\"top\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9.00439 10.0042H6.00439C5.45211 10.0042 5.00439 10.4519 5.00439 11.0042V13.0042C5.00439 13.5565 5.45211 14.0042 6.00439 14.0042H9.00439M15.0148 10.0042H18.0044C18.5567 10.0042 19.0044 10.4519 19.0044 11.0042V13.0042C19.0044 13.5565 18.5567 14.0042 18.0044 14.0042H15.0148M15.0148 17.9967L12.0044 19.9967M12.0044 19.9967L9.00439 17.9968M12.0044 19.9967V4.00293M15.0148 6.00299L12.0044 4.00293M12.0044 4.00293L9.00439 6.00293\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg>\n </button>\n <button class=\"ls-round-button\" \n onClick={()=>this.alter({width: this.dataItem[0].width, height: this.dataItem[0].height})}\n aria-label=\"Make selected fields the same height and width as the first selected field.\"\n data-tooltip-id=\"le-tooltip\" data-tooltip-content=\"Make selected fields the same height and width as the first selected field.\" data-tooltip-place=\"top\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M4 8V4M4 4H8M4 4L8 8M20 8V4M20 4H16M20 4L16 8M4 16V20M4 20H8M4 20L8 16M20 16V20M20 20H16M20 20L16 16M8 8H10M8 8V10M16 8H14M16 8V10M8 16H10M8 16V14M16 16V14M16 16H14\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n </div>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ls-formfield.entry.esm.js","sources":["src/components/ls-formfield/ls-formfield.css?tag=ls-formfield","src/components/ls-formfield/ls-formfield.tsx"],"sourcesContent":["* {\n box-sizing: border-box;\n margin: 0;\n}\n\n.formfield-host {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n width: 100%;\n}\n\n.formfield-top-elements {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0 0.125rem;\n}\n\n.formfield-left-side {\n display: flex;\n align-items: center;\n width: 100%;\n gap: 0.5rem;\n\n ls-icon {\n color: var(--gray-80, #787A80);\n }\n\n .formfield-label {\n color: var(--gray-100, #45484D);\n /* text-base/leading-6/font-medium */\n font-size: 1rem;\n font-style: normal;\n font-weight: 500;\n line-height: 1.5rem; /* 150% */\n }\n}\n\n.formfield-bottom-elements {\n position: relative;\n min-height: 1rem;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n height: fit-content;\n padding: 0 0.125rem;\n}\n\n.formfield-description-text {\n color: var(--Grey-80, #6C6E73);\n width: 100%;\n /* text-xs/leading-4/font-light */\n font-size: 0.75rem;\n font-style: normal;\n font-weight: 400;\n line-height: 1rem; /* 133.333% */\n}\n\n.formfield-error-text {\n color: var(--red-70, #DC2721);\n width: 100%;\n /* text-xs/leading-4/font-light */\n font-size: 0.75rem;\n font-style: normal;\n font-weight: 400;\n line-height: 1rem; /* 133.333% */\n}\n\n.formfield-count-container {\n position: absolute;\n right: 0;\n bottom: 0;\n display: flex;\n gap: 0.125rem;\n align-items: center;\n font-size: 0.75rem;\n font-style: normal;\n font-weight: 400;\n line-height: 1rem; /* 133.333% */\n text-align: right;\n}\n\n.formfield-count {\n display: flex;\n align-items: center;\n color: var(--Grey-70, #6C6E73);\n gap: 0.125rem;\n}\n\n.formfield-count-error {\n display: flex;\n align-items: center;\n gap: 0.125rem;\n color: var(--red-70, #DC2721);\n}\n\n\n","import { Component, Prop, h } from '@stencil/core';\nimport { Icon } from '../../types/Icon';\nimport { State, Watch } from '@stencil/core/internal';\n\n@Component({\n tag: 'ls-formfield',\n styleUrl: 'ls-formfield.css',\n shadow: false,\n})\nexport class LsFormfield {\n @Prop() name: string;\n @Prop() fieldId: string;\n @Prop() label?: string;\n @Prop() as?:\n | 'text'\n | 'select'\n | 'radio'\n | 'textarea'\n | 'password'\n | 'number'\n | 'displayonly' = 'text';\n @Prop({ mutable: true }) value?: string | number;\n @Prop() placeholder?: string;\n @Prop() descriptionText?: string;\n @Prop() errorText?: string;\n @Prop() aria?: string;\n @Prop() inputRef?: string;\n @Prop() infoTooltipText?: string;\n @Prop() hoverTooltipText?: string;\n @Prop() disabled: boolean;\n @Prop() extraLabel: 'optional' | 'required' | 'none' = 'none';\n @Prop() required: boolean;\n @Prop() valid: boolean;\n @Prop() dirty: boolean;\n @Prop() count: boolean;\n @Prop() countMax?: number;\n @Prop() buttonClick?: () => void;\n @Prop() buttonIcon?: Icon;\n @Prop() labelIcon?: Icon;\n @Prop() fieldIcon?: Icon;\n\n @State() _value: string;\n\n @Watch('value')\n valueWatcher(newValue: string) {\n this._value = newValue;\n }\n\n componentWillLoad() {\n this.valueWatcher(this?.value?.toString());\n }\n\n handleChange = (event: Event) => {\n const target = event.target as HTMLInputElement;\n this.value = target.value;\n };\n\n render() {\n const {\n name,\n fieldId,\n label,\n as,\n value,\n placeholder,\n descriptionText,\n errorText,\n aria,\n infoTooltipText,\n disabled,\n extraLabel,\n valid,\n dirty,\n count,\n countMax,\n buttonClick,\n buttonIcon,\n fieldIcon,\n labelIcon,\n } = this;\n\n const countClass = \n value && value.toString().length > countMax\n ? 'formfield-count-error'\n : 'formfield-count';\n\n return (\n <host class='formfield-host'>\n <div class='formfield-top-elements'>\n <div class='formfield-left-side'>\n {labelIcon && <ls-icon name={labelIcon}></ls-icon>}\n <label htmlFor={name} class='formfield-label'>\n {label}\n </label>\n {infoTooltipText && (\n <ls-icon name={'information-circle'}></ls-icon>\n )}\n </div>\n {extraLabel === 'optional' ? (\n <ls-label text='Optional' colour='gray' type='low'></ls-label>\n ) : extraLabel === 'required' ? (\n <ls-label text='Required' colour='gray' type='low'></ls-label>\n ) : (\n ''\n )}\n </div>\n {as === 'text' ? (\n <ls-text-input\n id={fieldId}\n name={name}\n value={value?.toString()}\n countMax={countMax}\n placeholder={placeholder}\n aria-label={aria}\n required={extraLabel === 'required'}\n disabled={disabled}\n valid={valid}\n dirty={dirty}\n buttonIcon={buttonIcon}\n buttonClick={buttonClick}\n fieldIcon={fieldIcon}\n onInput={(event: InputEvent) => this.handleChange(event)}\n ></ls-text-input>\n ) : as === 'select' ? (\n <ls-select-input\n id={name}\n name={name}\n aria-label={aria}\n required={extraLabel === 'required'}\n disabled={disabled}\n valid={valid}\n dirty={dirty}\n buttonIcon={buttonIcon}\n buttonClick={buttonClick}\n fieldIcon={fieldIcon}\n >\n <slot></slot>\n </ls-select-input>\n ) : as === 'radio' ? (\n <ls-radio-input\n radioId={label}\n label={value?.toString()}\n icon={fieldIcon}\n name={name}\n disabled={disabled}\n />\n ) : as === 'textarea' ? (\n <ls-textarea-input\n id={name}\n name={name}\n value={value?.toString()}\n countMax={countMax}\n placeholder={placeholder}\n aria-label={aria}\n required={extraLabel === 'required'}\n disabled={disabled}\n valid={valid}\n dirty={dirty}\n buttonIcon={buttonIcon}\n buttonClick={buttonClick}\n fieldIcon={fieldIcon}\n />\n ) : as === 'password' ? (\n <ls-text-input\n type='password'\n id={name}\n name={name}\n value={value?.toString()}\n countMax={countMax}\n placeholder={placeholder}\n aria-label={aria}\n required={extraLabel === 'required'}\n disabled={disabled}\n valid={valid}\n dirty={dirty}\n buttonIcon={buttonIcon}\n buttonClick={buttonClick}\n fieldIcon={fieldIcon}\n />\n ) : as === 'displayonly' ? (\n <ls-text-input\n type='displayonly'\n id={name}\n name={name}\n value={value?.toString()}\n countMax={countMax}\n placeholder={placeholder}\n aria-label={aria}\n required={extraLabel === 'required'}\n disabled={disabled}\n valid={valid}\n dirty={dirty}\n buttonIcon={buttonIcon}\n buttonClick={buttonClick}\n fieldIcon={fieldIcon}\n />\n ) : as === 'number' ? (\n <ls-number-input\n type='ls'\n id={name}\n name={name}\n value={Number(value)}\n countMax={countMax}\n placeholder={placeholder}\n aria-label={aria}\n required={extraLabel === 'required'}\n disabled={disabled}\n valid={valid}\n dirty={dirty}\n buttonIcon={buttonIcon}\n buttonClick={buttonClick}\n fieldIcon={fieldIcon}\n />\n ) : (\n <p>placeholder</p>\n )}\n <div class='formfield-bottom-elements'>\n {errorText && !valid ? (\n <p class='formfield-error-text'>{errorText}</p>\n ) : descriptionText ? (\n <p class='formfield-description-text'>{descriptionText}</p>\n ) : (\n ''\n )}\n {count && (\n <div class='formfield-count-container'>\n <p class={countClass}>{value?.toString()?.length}</p>\n {countMax > 0 && (\n <div class={countClass}>\n <p>/</p>\n <p>{countMax}</p>\n </div>\n )}\n </div>\n )}\n </div>\n </host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import { r as registerInstance, h } from './index-Cjn1MNt-.js';
2
+
3
+ const lsFormfieldCss = "* {\n box-sizing: border-box;\n margin: 0;\n}\n\n.formfield-host {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n width: 100%;\n}\n\n.formfield-top-elements {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0 0.125rem;\n}\n\n.formfield-left-side {\n display: flex;\n align-items: center;\n width: 100%;\n gap: 0.5rem;\n\n ls-icon {\n color: var(--gray-80, #787A80);\n }\n\n .formfield-label {\n color: var(--gray-100, #45484D);\n /* text-base/leading-6/font-medium */\n font-size: 1rem;\n font-style: normal;\n font-weight: 500;\n line-height: 1.5rem; /* 150% */\n }\n}\n\n.formfield-bottom-elements {\n position: relative;\n min-height: 1rem;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n height: fit-content;\n padding: 0 0.125rem;\n}\n\n.formfield-description-text {\n color: var(--Grey-80, #6C6E73);\n width: 100%;\n /* text-xs/leading-4/font-light */\n font-size: 0.75rem;\n font-style: normal;\n font-weight: 400;\n line-height: 1rem; /* 133.333% */\n}\n\n.formfield-error-text {\n color: var(--red-70, #DC2721);\n width: 100%;\n /* text-xs/leading-4/font-light */\n font-size: 0.75rem;\n font-style: normal;\n font-weight: 400;\n line-height: 1rem; /* 133.333% */\n}\n\n.formfield-count-container {\n position: absolute;\n right: 0;\n bottom: 0;\n display: flex;\n gap: 0.125rem;\n align-items: center;\n font-size: 0.75rem;\n font-style: normal;\n font-weight: 400;\n line-height: 1rem; /* 133.333% */\n text-align: right;\n}\n\n.formfield-count {\n display: flex;\n align-items: center;\n color: var(--Grey-70, #6C6E73);\n gap: 0.125rem;\n}\n\n.formfield-count-error {\n display: flex;\n align-items: center;\n gap: 0.125rem;\n color: var(--red-70, #DC2721);\n}\n\n\n";
4
+
5
+ const LsFormfield = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ }
9
+ name;
10
+ fieldId;
11
+ label;
12
+ as = 'text';
13
+ value;
14
+ placeholder;
15
+ descriptionText;
16
+ errorText;
17
+ aria;
18
+ inputRef;
19
+ infoTooltipText;
20
+ hoverTooltipText;
21
+ disabled;
22
+ extraLabel = 'none';
23
+ required;
24
+ valid;
25
+ dirty;
26
+ count;
27
+ countMax;
28
+ buttonClick;
29
+ buttonIcon;
30
+ labelIcon;
31
+ fieldIcon;
32
+ _value;
33
+ valueWatcher(newValue) {
34
+ this._value = newValue;
35
+ }
36
+ componentWillLoad() {
37
+ this.valueWatcher(this?.value?.toString());
38
+ }
39
+ handleChange = (event) => {
40
+ const target = event.target;
41
+ this.value = target.value;
42
+ };
43
+ render() {
44
+ const { name, fieldId, label, as, value, placeholder, descriptionText, errorText, aria, infoTooltipText, disabled, extraLabel, valid, dirty, count, countMax, buttonClick, buttonIcon, fieldIcon, labelIcon, } = this;
45
+ const countClass = value && value.toString().length > countMax
46
+ ? 'formfield-count-error'
47
+ : 'formfield-count';
48
+ return (h("host", { key: '7c9e146aaa8885dfcf882d1e8d8c6661aba5aa7d', class: 'formfield-host' }, h("div", { key: '2c27f1279cfd30059a9f25e28dda56a1d9fb4f54', class: 'formfield-top-elements' }, h("div", { key: '8eeeb49e83f12069a64cba1dcccb2a76c731b2f5', class: 'formfield-left-side' }, labelIcon && h("ls-icon", { key: '2615de185e959d526b41d307a134bec0d199e498', name: labelIcon }), h("label", { key: '464a7e0d9156fbbd67cf8c889378a3bb30c2cf02', htmlFor: name, class: 'formfield-label' }, label), infoTooltipText && (h("ls-icon", { key: '9dc3d844acd6806d2038c6a633280923421497a0', name: 'information-circle' }))), extraLabel === 'optional' ? (h("ls-label", { text: 'Optional', colour: 'gray', type: 'low' })) : extraLabel === 'required' ? (h("ls-label", { text: 'Required', colour: 'gray', type: 'low' })) : ('')), as === 'text' ? (h("ls-text-input", { id: fieldId, name: name, value: value?.toString(), countMax: countMax, placeholder: placeholder, "aria-label": aria, required: extraLabel === 'required', disabled: disabled, valid: valid, dirty: dirty, buttonIcon: buttonIcon, buttonClick: buttonClick, fieldIcon: fieldIcon, onInput: (event) => this.handleChange(event) })) : as === 'select' ? (h("ls-select-input", { id: name, name: name, "aria-label": aria, required: extraLabel === 'required', disabled: disabled, valid: valid, dirty: dirty, buttonIcon: buttonIcon, buttonClick: buttonClick, fieldIcon: fieldIcon }, h("slot", null))) : as === 'radio' ? (h("ls-radio-input", { radioId: label, label: value?.toString(), icon: fieldIcon, name: name, disabled: disabled })) : as === 'textarea' ? (h("ls-textarea-input", { id: name, name: name, value: value?.toString(), countMax: countMax, placeholder: placeholder, "aria-label": aria, required: extraLabel === 'required', disabled: disabled, valid: valid, dirty: dirty, buttonIcon: buttonIcon, buttonClick: buttonClick, fieldIcon: fieldIcon })) : as === 'password' ? (h("ls-text-input", { type: 'password', id: name, name: name, value: value?.toString(), countMax: countMax, placeholder: placeholder, "aria-label": aria, required: extraLabel === 'required', disabled: disabled, valid: valid, dirty: dirty, buttonIcon: buttonIcon, buttonClick: buttonClick, fieldIcon: fieldIcon })) : as === 'displayonly' ? (h("ls-text-input", { type: 'displayonly', id: name, name: name, value: value?.toString(), countMax: countMax, placeholder: placeholder, "aria-label": aria, required: extraLabel === 'required', disabled: disabled, valid: valid, dirty: dirty, buttonIcon: buttonIcon, buttonClick: buttonClick, fieldIcon: fieldIcon })) : as === 'number' ? (h("ls-number-input", { type: 'ls', id: name, name: name, value: Number(value), countMax: countMax, placeholder: placeholder, "aria-label": aria, required: extraLabel === 'required', disabled: disabled, valid: valid, dirty: dirty, buttonIcon: buttonIcon, buttonClick: buttonClick, fieldIcon: fieldIcon })) : (h("p", null, "placeholder")), h("div", { key: 'ac6d1c32a100561c3a92cc7586ba7649ff5665c2', class: 'formfield-bottom-elements' }, errorText && !valid ? (h("p", { class: 'formfield-error-text' }, errorText)) : descriptionText ? (h("p", { class: 'formfield-description-text' }, descriptionText)) : (''), count && (h("div", { key: 'cbb11974083e7ab0aa70af47366af2a5a9fc64e4', class: 'formfield-count-container' }, h("p", { key: '883bd413b5eba25ae7a840c3b6471cf25eb5dbc2', class: countClass }, value?.toString()?.length), countMax > 0 && (h("div", { key: '2b0b4deaf7c7a0f83e686aeec95c061406191b2d', class: countClass }, h("p", { key: 'f951ad9253b769d89eb9965cd79969dd578acfe7' }, "/"), h("p", { key: '750364651c6d92335b034930d8be1a81d38ceaf2' }, countMax))))))));
49
+ }
50
+ static get watchers() { return {
51
+ "value": ["valueWatcher"]
52
+ }; }
53
+ };
54
+ LsFormfield.style = lsFormfieldCss;
55
+
56
+ export { LsFormfield as ls_formfield };
57
+ //# sourceMappingURL=ls-formfield.entry.esm.js.map
58
+
59
+ //# sourceMappingURL=ls-formfield.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"ls-formfield.entry.esm.js","mappings":"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","names":[],"sources":["src/components/ls-formfield/ls-formfield.css?tag=ls-formfield","src/components/ls-formfield/ls-formfield.tsx"],"sourcesContent":["* {\n box-sizing: border-box;\n margin: 0;\n}\n\n.formfield-host {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n width: 100%;\n}\n\n.formfield-top-elements {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0 0.125rem;\n}\n\n.formfield-left-side {\n display: flex;\n align-items: center;\n width: 100%;\n gap: 0.5rem;\n\n ls-icon {\n color: var(--gray-80, #787A80);\n }\n\n .formfield-label {\n color: var(--gray-100, #45484D);\n /* text-base/leading-6/font-medium */\n font-size: 1rem;\n font-style: normal;\n font-weight: 500;\n line-height: 1.5rem; /* 150% */\n }\n}\n\n.formfield-bottom-elements {\n position: relative;\n min-height: 1rem;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n height: fit-content;\n padding: 0 0.125rem;\n}\n\n.formfield-description-text {\n color: var(--Grey-80, #6C6E73);\n width: 100%;\n /* text-xs/leading-4/font-light */\n font-size: 0.75rem;\n font-style: normal;\n font-weight: 400;\n line-height: 1rem; /* 133.333% */\n}\n\n.formfield-error-text {\n color: var(--red-70, #DC2721);\n width: 100%;\n /* text-xs/leading-4/font-light */\n font-size: 0.75rem;\n font-style: normal;\n font-weight: 400;\n line-height: 1rem; /* 133.333% */\n}\n\n.formfield-count-container {\n position: absolute;\n right: 0;\n bottom: 0;\n display: flex;\n gap: 0.125rem;\n align-items: center;\n font-size: 0.75rem;\n font-style: normal;\n font-weight: 400;\n line-height: 1rem; /* 133.333% */\n text-align: right;\n}\n\n.formfield-count {\n display: flex;\n align-items: center;\n color: var(--Grey-70, #6C6E73);\n gap: 0.125rem;\n}\n\n.formfield-count-error {\n display: flex;\n align-items: center;\n gap: 0.125rem;\n color: var(--red-70, #DC2721);\n}\n\n\n","import { Component, Prop, h } from '@stencil/core';\nimport { Icon } from '../../types/Icon';\nimport { State, Watch } from '@stencil/core/internal';\n\n@Component({\n tag: 'ls-formfield',\n styleUrl: 'ls-formfield.css',\n shadow: false,\n})\nexport class LsFormfield {\n @Prop() name: string;\n @Prop() fieldId: string;\n @Prop() label?: string;\n @Prop() as?:\n | 'text'\n | 'select'\n | 'radio'\n | 'textarea'\n | 'password'\n | 'number'\n | 'displayonly' = 'text';\n @Prop({ mutable: true }) value?: string | number;\n @Prop() placeholder?: string;\n @Prop() descriptionText?: string;\n @Prop() errorText?: string;\n @Prop() aria?: string;\n @Prop() inputRef?: string;\n @Prop() infoTooltipText?: string;\n @Prop() hoverTooltipText?: string;\n @Prop() disabled: boolean;\n @Prop() extraLabel: 'optional' | 'required' | 'none' = 'none';\n @Prop() required: boolean;\n @Prop() valid: boolean;\n @Prop() dirty: boolean;\n @Prop() count: boolean;\n @Prop() countMax?: number;\n @Prop() buttonClick?: () => void;\n @Prop() buttonIcon?: Icon;\n @Prop() labelIcon?: Icon;\n @Prop() fieldIcon?: Icon;\n\n @State() _value: string;\n\n @Watch('value')\n valueWatcher(newValue: string) {\n this._value = newValue;\n }\n\n componentWillLoad() {\n this.valueWatcher(this?.value?.toString());\n }\n\n handleChange = (event: Event) => {\n const target = event.target as HTMLInputElement;\n this.value = target.value;\n };\n\n render() {\n const {\n name,\n fieldId,\n label,\n as,\n value,\n placeholder,\n descriptionText,\n errorText,\n aria,\n infoTooltipText,\n disabled,\n extraLabel,\n valid,\n dirty,\n count,\n countMax,\n buttonClick,\n buttonIcon,\n fieldIcon,\n labelIcon,\n } = this;\n\n const countClass = \n value && value.toString().length > countMax\n ? 'formfield-count-error'\n : 'formfield-count';\n\n return (\n <host class='formfield-host'>\n <div class='formfield-top-elements'>\n <div class='formfield-left-side'>\n {labelIcon && <ls-icon name={labelIcon}></ls-icon>}\n <label htmlFor={name} class='formfield-label'>\n {label}\n </label>\n {infoTooltipText && (\n <ls-icon name={'information-circle'}></ls-icon>\n )}\n </div>\n {extraLabel === 'optional' ? (\n <ls-label text='Optional' colour='gray' type='low'></ls-label>\n ) : extraLabel === 'required' ? (\n <ls-label text='Required' colour='gray' type='low'></ls-label>\n ) : (\n ''\n )}\n </div>\n {as === 'text' ? (\n <ls-text-input\n id={fieldId}\n name={name}\n value={value?.toString()}\n countMax={countMax}\n placeholder={placeholder}\n aria-label={aria}\n required={extraLabel === 'required'}\n disabled={disabled}\n valid={valid}\n dirty={dirty}\n buttonIcon={buttonIcon}\n buttonClick={buttonClick}\n fieldIcon={fieldIcon}\n onInput={(event: InputEvent) => this.handleChange(event)}\n ></ls-text-input>\n ) : as === 'select' ? (\n <ls-select-input\n id={name}\n name={name}\n aria-label={aria}\n required={extraLabel === 'required'}\n disabled={disabled}\n valid={valid}\n dirty={dirty}\n buttonIcon={buttonIcon}\n buttonClick={buttonClick}\n fieldIcon={fieldIcon}\n >\n <slot></slot>\n </ls-select-input>\n ) : as === 'radio' ? (\n <ls-radio-input\n radioId={label}\n label={value?.toString()}\n icon={fieldIcon}\n name={name}\n disabled={disabled}\n />\n ) : as === 'textarea' ? (\n <ls-textarea-input\n id={name}\n name={name}\n value={value?.toString()}\n countMax={countMax}\n placeholder={placeholder}\n aria-label={aria}\n required={extraLabel === 'required'}\n disabled={disabled}\n valid={valid}\n dirty={dirty}\n buttonIcon={buttonIcon}\n buttonClick={buttonClick}\n fieldIcon={fieldIcon}\n />\n ) : as === 'password' ? (\n <ls-text-input\n type='password'\n id={name}\n name={name}\n value={value?.toString()}\n countMax={countMax}\n placeholder={placeholder}\n aria-label={aria}\n required={extraLabel === 'required'}\n disabled={disabled}\n valid={valid}\n dirty={dirty}\n buttonIcon={buttonIcon}\n buttonClick={buttonClick}\n fieldIcon={fieldIcon}\n />\n ) : as === 'displayonly' ? (\n <ls-text-input\n type='displayonly'\n id={name}\n name={name}\n value={value?.toString()}\n countMax={countMax}\n placeholder={placeholder}\n aria-label={aria}\n required={extraLabel === 'required'}\n disabled={disabled}\n valid={valid}\n dirty={dirty}\n buttonIcon={buttonIcon}\n buttonClick={buttonClick}\n fieldIcon={fieldIcon}\n />\n ) : as === 'number' ? (\n <ls-number-input\n type='ls'\n id={name}\n name={name}\n value={Number(value)}\n countMax={countMax}\n placeholder={placeholder}\n aria-label={aria}\n required={extraLabel === 'required'}\n disabled={disabled}\n valid={valid}\n dirty={dirty}\n buttonIcon={buttonIcon}\n buttonClick={buttonClick}\n fieldIcon={fieldIcon}\n />\n ) : (\n <p>placeholder</p>\n )}\n <div class='formfield-bottom-elements'>\n {errorText && !valid ? (\n <p class='formfield-error-text'>{errorText}</p>\n ) : descriptionText ? (\n <p class='formfield-description-text'>{descriptionText}</p>\n ) : (\n ''\n )}\n {count && (\n <div class='formfield-count-container'>\n <p class={countClass}>{value?.toString()?.length}</p>\n {countMax > 0 && (\n <div class={countClass}>\n <p>/</p>\n <p>{countMax}</p>\n </div>\n )}\n </div>\n )}\n </div>\n </host>\n );\n }\n}\n"],"version":3}