@paperless/core 2.0.1-beta.31 → 2.0.1-beta.33

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 (72) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/build/{p-850c70f0.js → p-2c6f3984.js} +1 -1
  3. package/dist/build/p-4a10de20.entry.js +2 -0
  4. package/dist/build/p-4a10de20.entry.js.map +1 -0
  5. package/dist/build/p-5c2b9a8d.entry.js +2 -0
  6. package/dist/{paperless/p-c066c38b.entry.js.map → build/p-5c2b9a8d.entry.js.map} +1 -1
  7. package/dist/build/p-e77d5ca1.entry.js +2 -0
  8. package/dist/build/p-e77d5ca1.entry.js.map +1 -0
  9. package/dist/build/paperless.esm.js +1 -1
  10. package/dist/build/paperless.esm.js.map +1 -1
  11. package/dist/cjs/loader.cjs.js +1 -1
  12. package/dist/cjs/p-checkbox_3.cjs.entry.js +7 -17
  13. package/dist/cjs/p-checkbox_3.cjs.entry.js.map +1 -1
  14. package/dist/cjs/p-field_2.cjs.entry.js +49 -10
  15. package/dist/cjs/p-field_2.cjs.entry.js.map +1 -1
  16. package/dist/cjs/p-toggle.cjs.entry.js +8 -18
  17. package/dist/cjs/p-toggle.cjs.entry.js.map +1 -1
  18. package/dist/cjs/paperless.cjs.js +1 -1
  19. package/dist/collection/components/atoms/checkbox/checkbox.component.css +1 -1
  20. package/dist/collection/components/atoms/checkbox/checkbox.component.js +6 -16
  21. package/dist/collection/components/atoms/checkbox/checkbox.component.js.map +1 -1
  22. package/dist/collection/components/atoms/toggle/toggle.component.css +1 -1
  23. package/dist/collection/components/atoms/toggle/toggle.component.js +7 -17
  24. package/dist/collection/components/atoms/toggle/toggle.component.js.map +1 -1
  25. package/dist/collection/components/molecules/field/field.component.css +1 -1
  26. package/dist/collection/components/molecules/field/field.component.js +75 -18
  27. package/dist/collection/components/molecules/field/field.component.js.map +1 -1
  28. package/dist/collection/components/molecules/field-container/field-container.component.js +22 -1
  29. package/dist/collection/components/molecules/field-container/field-container.component.js.map +1 -1
  30. package/dist/components/checkbox.component.js +7 -17
  31. package/dist/components/checkbox.component.js.map +1 -1
  32. package/dist/components/field-container.component.js +4 -1
  33. package/dist/components/field-container.component.js.map +1 -1
  34. package/dist/components/field.component.js +47 -9
  35. package/dist/components/field.component.js.map +1 -1
  36. package/dist/components/p-toggle.js +8 -18
  37. package/dist/components/p-toggle.js.map +1 -1
  38. package/dist/esm/loader.js +1 -1
  39. package/dist/esm/p-checkbox_3.entry.js +7 -17
  40. package/dist/esm/p-checkbox_3.entry.js.map +1 -1
  41. package/dist/esm/p-field_2.entry.js +49 -10
  42. package/dist/esm/p-field_2.entry.js.map +1 -1
  43. package/dist/esm/p-toggle.entry.js +8 -18
  44. package/dist/esm/p-toggle.entry.js.map +1 -1
  45. package/dist/esm/paperless.js +1 -1
  46. package/dist/index.html +1 -1
  47. package/dist/paperless/p-4a10de20.entry.js +2 -0
  48. package/dist/paperless/p-4a10de20.entry.js.map +1 -0
  49. package/dist/paperless/p-5c2b9a8d.entry.js +2 -0
  50. package/dist/{build/p-c066c38b.entry.js.map → paperless/p-5c2b9a8d.entry.js.map} +1 -1
  51. package/dist/paperless/p-e77d5ca1.entry.js +2 -0
  52. package/dist/paperless/p-e77d5ca1.entry.js.map +1 -0
  53. package/dist/paperless/paperless.esm.js +1 -1
  54. package/dist/paperless/paperless.esm.js.map +1 -1
  55. package/dist/sw.js +1 -1
  56. package/dist/sw.js.map +1 -1
  57. package/dist/types/components/molecules/field/field.component.d.ts +15 -11
  58. package/dist/types/components/molecules/field-container/field-container.component.d.ts +4 -0
  59. package/dist/types/components.d.ts +36 -20
  60. package/hydrate/index.js +66 -45
  61. package/hydrate/index.mjs +66 -45
  62. package/package.json +1 -1
  63. package/dist/build/p-3f0837c4.entry.js +0 -2
  64. package/dist/build/p-3f0837c4.entry.js.map +0 -1
  65. package/dist/build/p-52056fb3.entry.js +0 -2
  66. package/dist/build/p-52056fb3.entry.js.map +0 -1
  67. package/dist/build/p-c066c38b.entry.js +0 -2
  68. package/dist/paperless/p-3f0837c4.entry.js +0 -2
  69. package/dist/paperless/p-3f0837c4.entry.js.map +0 -1
  70. package/dist/paperless/p-52056fb3.entry.js +0 -2
  71. package/dist/paperless/p-52056fb3.entry.js.map +0 -1
  72. package/dist/paperless/p-c066c38b.entry.js +0 -2
@@ -3,6 +3,7 @@ import { formatTranslation, getLocaleComponentStrings } from "../../../utils";
3
3
  export class FieldContainer {
4
4
  constructor() {
5
5
  this.label = undefined;
6
+ this.variant = undefined;
6
7
  this.helper = undefined;
7
8
  this.required = undefined;
8
9
  this.error = undefined;
@@ -22,7 +23,8 @@ export class FieldContainer {
22
23
  }
23
24
  render() {
24
25
  const { hasHeaderSlot, hasErrorSlot, helper, label, errorAndErrorIsNotBoolean, } = this._getSlotInfo();
25
- return (h(Host, { key: 'd281d2a9ff20d8ade9f76ad4eb86085e9924130f', class: 'p-field-container' }, h("div", { key: 'bd089038396275d6055446fdc3c8df5565905633', class: 'flex w-inherit flex-col gap-1' }, h("div", { key: 'dabb2165c9791a856aac3ba207cdc8633174c322', class: 'flex items-end justify-between gap-1' }, label && (h("div", { key: '955a3a463212f5eebb50c84156b4245cec176e05', class: 'text-xs font-medium text-black-teal-300', onClick: () => this.focus.emit() }, label)), (!this.required || helper || hasHeaderSlot) && (h("div", { key: 'eeb7241af592900b4d7703af00d5ba5083d23836', class: 'flex items-center gap-1' }, !this.required && (h("span", { key: 'e59dca6b1ee35d7a69489c0a38d5fb7b25a9da9d', class: 'text-xs font-medium text-black-teal-200' }, this.optionalTemplate())), (helper || hasHeaderSlot) && (h(Fragment, { key: 'c8b6efc1f2acaff910265a8db68c50626c6c9d37' }, hasHeaderSlot && h("slot", { key: '511747f7a8fe7cfc33e8e88d6fc156cb0f86ac14', name: 'header' }), helper && (h("p-helper", { key: '08c8ba308601ba7247cfe6f4272c4b5f3b2d1f32', class: `flex ${hasHeaderSlot ? 'ml-2' : ''}`, placement: 'top-end' }, helper))))))), h("p-tooltip", { key: '9b0ddbeae82d7cdaa7db4eb0ca7a3312166983dc', class: 'w-full', variant: 'error', content: this.error, show: errorAndErrorIsNotBoolean && this.forceShowTooltip, enableUserInput: false, placement: this.errorPlacement }, hasErrorSlot && (h("slot", { key: '653ddb7c4ab6b8d1c14f581a72e663c96cd7c494', name: 'error', slot: 'content' })), h("slot", { key: '66e58f122515c6e68ca669b6d00d2a23feee31c9', name: 'content', slot: 'trigger' })))));
26
+ const contentSlot = (h("slot", { key: 'a7e3919d645cc21fa538340b0c9ea7a98e66ca90', name: 'content', slot: 'trigger' }));
27
+ return (h(Host, { key: '44a79d2058aafb4d9bf89f09cb3e7a1a708d99f9', class: 'p-field-container' }, h("div", { key: '47af2893a5f27a1a905c846a016c183756d026f8', class: 'flex w-inherit flex-col gap-1' }, h("div", { key: 'cd64bc812c19e11d35ea4eb1756f9885a1f2a148', class: 'flex items-end justify-between gap-1' }, label && (h("div", { key: '962aecba76c4ba9326ed992d6ad39c1efbdab8ab', class: 'text-xs font-medium text-black-teal-300', onClick: () => this.focus.emit() }, label)), (!this.required || helper || hasHeaderSlot) && (h("div", { key: 'd0cdd8810de8098eaca90d2aeddd1f01fbcd0faf', class: 'flex items-center gap-1' }, !this.required && this.variant === 'write' && (h("span", { key: 'e83d37fcb0050bad328d0aa2d6890c1226fe17fb', class: 'text-xs font-medium text-black-teal-200' }, this.optionalTemplate())), (helper || hasHeaderSlot) && (h(Fragment, { key: 'c156ee1c951fec9dbe602cf317ff7591a6bce9bf' }, hasHeaderSlot && h("slot", { key: 'e568644b05673354c9059042b0ba40f137d1709c', name: 'header' }), helper && (h("p-helper", { key: '7dcbdd61deb2eba74abf8f57b245b011fbf9066b', class: `flex ${hasHeaderSlot ? 'ml-2' : ''}`, placement: 'top-end' }, helper))))))), h("p-tooltip", { key: '41588daf8a794d9d16d32bcd841f5f4cbe64349a', class: 'w-full', variant: 'error', content: this.error, show: errorAndErrorIsNotBoolean && this.forceShowTooltip, enableUserInput: false, placement: this.errorPlacement }, hasErrorSlot && (h("slot", { key: 'a61dd91094db6ac2b016ee79320cffd887976e12', name: 'error', slot: 'content' })), contentSlot))));
26
28
  }
27
29
  async _setLocales() {
28
30
  this._locales = await getLocaleComponentStrings(this._el);
@@ -84,6 +86,25 @@ export class FieldContainer {
84
86
  "attribute": "label",
85
87
  "reflect": false
86
88
  },
89
+ "variant": {
90
+ "type": "string",
91
+ "mutable": false,
92
+ "complexType": {
93
+ "original": "'read' | 'write'",
94
+ "resolved": "\"read\" | \"write\"",
95
+ "references": {}
96
+ },
97
+ "required": false,
98
+ "optional": false,
99
+ "docs": {
100
+ "tags": [],
101
+ "text": "The variant of the field container"
102
+ },
103
+ "getter": false,
104
+ "setter": false,
105
+ "attribute": "variant",
106
+ "reflect": false
107
+ },
87
108
  "helper": {
88
109
  "type": "string",
89
110
  "mutable": false,
@@ -1 +1 @@
1
- {"version":3,"file":"field-container.component.js","sourceRoot":"","sources":["../../../../src/components/molecules/field-container/field-container.component.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n\tComponent,\n\tElement,\n\tEventEmitter,\n\th,\n\tHost,\n\tEvent,\n\tProp,\n\tFragment,\n\tState,\n\tListen,\n} from '@stencil/core';\nimport { formatTranslation, getLocaleComponentStrings } from '../../../utils';\nimport { Placement } from '@floating-ui/dom';\n\nexport type templateFunc = () => string;\n\n@Component({\n\ttag: 'p-field-container',\n\tstyleUrl: 'field-container.component.css',\n\tshadow: true,\n})\nexport class FieldContainer {\n\tprivate _defaultOptionalTemplate: templateFunc = () =>\n\t\tformatTranslation(this._locales.optional);\n\n\t/**\n\t * The label of the input group\n\t */\n\t@Prop() label: string | HTMLSlotElement;\n\n\t/**\n\t * The helper of the input group\n\t */\n\t@Prop() helper: string | HTMLSlotElement;\n\n\t/**\n\t * Wether the field is required\n\t */\n\t@Prop({ reflect: true }) required: boolean;\n\n\t/**\n\t * The helper of the input group\n\t */\n\t@Prop({ reflect: true }) error: string | HTMLSlotElement;\n\n\t/**\n\t * The placement of the error popover\n\t */\n\t@Prop() errorPlacement: Placement;\n\n\t/**\n\t * Force show the error tooltip\n\t */\n\t@Prop({ reflect: true }) forceShowTooltip: boolean = false;\n\n\t/**\n\t * The template for the optional text\n\t */\n\t@Prop() optionalTemplate: templateFunc = this._defaultOptionalTemplate;\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@Event() focus: EventEmitter<void>;\n\n\t/**\n\t * Locales used for this component\n\t */\n\t@State() private _locales: any = {};\n\n\tcomponentWillLoad() {\n\t\tthis._setLocales();\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\thasHeaderSlot,\n\t\t\thasErrorSlot,\n\t\t\thelper,\n\t\t\tlabel,\n\t\t\terrorAndErrorIsNotBoolean,\n\t\t} = this._getSlotInfo();\n\n\t\treturn (\n\t\t\t<Host class='p-field-container'>\n\t\t\t\t<div class='flex w-inherit flex-col gap-1'>\n\t\t\t\t\t<div class='flex items-end justify-between gap-1'>\n\t\t\t\t\t\t{label && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass='text-xs font-medium text-black-teal-300'\n\t\t\t\t\t\t\t\tonClick={() => this.focus.emit()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{(!this.required || helper || hasHeaderSlot) && (\n\t\t\t\t\t\t\t<div class='flex items-center gap-1'>\n\t\t\t\t\t\t\t\t{!this.required && (\n\t\t\t\t\t\t\t\t\t<span class='text-xs font-medium text-black-teal-200'>\n\t\t\t\t\t\t\t\t\t\t{this.optionalTemplate()}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{(helper || hasHeaderSlot) && (\n\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t{hasHeaderSlot && <slot name='header' />}\n\t\t\t\t\t\t\t\t\t\t{helper && (\n\t\t\t\t\t\t\t\t\t\t\t<p-helper\n\t\t\t\t\t\t\t\t\t\t\t\tclass={`flex ${hasHeaderSlot ? 'ml-2' : ''}`}\n\t\t\t\t\t\t\t\t\t\t\t\tplacement='top-end'\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{helper}\n\t\t\t\t\t\t\t\t\t\t\t</p-helper>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<p-tooltip\n\t\t\t\t\t\tclass='w-full'\n\t\t\t\t\t\tvariant='error'\n\t\t\t\t\t\tcontent={this.error}\n\t\t\t\t\t\tshow={errorAndErrorIsNotBoolean && this.forceShowTooltip}\n\t\t\t\t\t\tenableUserInput={false}\n\t\t\t\t\t\tplacement={this.errorPlacement}\n\t\t\t\t\t>\n\t\t\t\t\t\t{hasErrorSlot && (\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\tname='error'\n\t\t\t\t\t\t\t\tslot='content'\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\tname='content'\n\t\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\t/>\n\t\t\t\t\t</p-tooltip>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('localeChanged', { target: 'body' })\n\tprivate async _setLocales(): Promise<void> {\n\t\tthis._locales = await getLocaleComponentStrings(this._el);\n\t}\n\n\tprivate _getSlotInfo() {\n\t\tconst hasHelperSlot = !!this._el.querySelector(':scope > [slot=\"helper\"]');\n\t\tconst hasLabelSlot = !!this._el.querySelector(':scope > [slot=\"label\"]');\n\t\tconst hasHeaderSlot = !!this._el.querySelector(':scope > [slot=\"header\"]');\n\t\tconst hasErrorSlot = !!this._el.querySelector(':scope > [slot=\"error\"]');\n\n\t\tconst helper = hasHelperSlot ? <slot name='helper' /> : this.helper;\n\t\tconst label = hasLabelSlot ? <slot name='label' /> : this.label;\n\n\t\tconst errorAndErrorIsNotBoolean =\n\t\t\thasErrorSlot ||\n\t\t\t(this.error && typeof this.error === 'string' && this.error !== 'true');\n\n\t\treturn {\n\t\t\thasHelperSlot,\n\t\t\thasLabelSlot,\n\t\t\thasHeaderSlot,\n\t\t\thasErrorSlot,\n\t\t\thelper,\n\t\t\tlabel,\n\t\t\terrorAndErrorIsNotBoolean,\n\t\t};\n\t}\n}\n"]}
1
+ {"version":3,"file":"field-container.component.js","sourceRoot":"","sources":["../../../../src/components/molecules/field-container/field-container.component.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n\tComponent,\n\tElement,\n\tEventEmitter,\n\th,\n\tHost,\n\tEvent,\n\tProp,\n\tFragment,\n\tState,\n\tListen,\n} from '@stencil/core';\nimport { formatTranslation, getLocaleComponentStrings } from '../../../utils';\nimport { Placement } from '@floating-ui/dom';\n\nexport type templateFunc = () => string;\n\n@Component({\n\ttag: 'p-field-container',\n\tstyleUrl: 'field-container.component.css',\n\tshadow: true,\n})\nexport class FieldContainer {\n\tprivate _defaultOptionalTemplate: templateFunc = () =>\n\t\tformatTranslation(this._locales.optional);\n\n\t/**\n\t * The label of the input group\n\t */\n\t@Prop() label: string | HTMLSlotElement;\n\n\t/**\n\t * The variant of the field container\n\t */\n\t@Prop() variant: 'read' | 'write';\n\n\t/**\n\t * The helper of the input group\n\t */\n\t@Prop() helper: string | HTMLSlotElement;\n\n\t/**\n\t * Wether the field is required\n\t */\n\t@Prop({ reflect: true }) required: boolean;\n\n\t/**\n\t * The helper of the input group\n\t */\n\t@Prop({ reflect: true }) error: string | HTMLSlotElement;\n\n\t/**\n\t * The placement of the error popover\n\t */\n\t@Prop() errorPlacement: Placement;\n\n\t/**\n\t * Force show the error tooltip\n\t */\n\t@Prop({ reflect: true }) forceShowTooltip: boolean = false;\n\n\t/**\n\t * The template for the optional text\n\t */\n\t@Prop() optionalTemplate: templateFunc = this._defaultOptionalTemplate;\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@Event() focus: EventEmitter<void>;\n\n\t/**\n\t * Locales used for this component\n\t */\n\t@State() private _locales: any = {};\n\n\tcomponentWillLoad() {\n\t\tthis._setLocales();\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\thasHeaderSlot,\n\t\t\thasErrorSlot,\n\t\t\thelper,\n\t\t\tlabel,\n\t\t\terrorAndErrorIsNotBoolean,\n\t\t} = this._getSlotInfo();\n\n\t\tconst contentSlot = (\n\t\t\t<slot\n\t\t\t\tname='content'\n\t\t\t\tslot='trigger'\n\t\t\t/>\n\t\t);\n\n\t\treturn (\n\t\t\t<Host class='p-field-container'>\n\t\t\t\t<div class='flex w-inherit flex-col gap-1'>\n\t\t\t\t\t<div class='flex items-end justify-between gap-1'>\n\t\t\t\t\t\t{label && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass='text-xs font-medium text-black-teal-300'\n\t\t\t\t\t\t\t\tonClick={() => this.focus.emit()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{(!this.required || helper || hasHeaderSlot) && (\n\t\t\t\t\t\t\t<div class='flex items-center gap-1'>\n\t\t\t\t\t\t\t\t{!this.required && this.variant === 'write' && (\n\t\t\t\t\t\t\t\t\t<span class='text-xs font-medium text-black-teal-200'>\n\t\t\t\t\t\t\t\t\t\t{this.optionalTemplate()}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{(helper || hasHeaderSlot) && (\n\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t{hasHeaderSlot && <slot name='header' />}\n\t\t\t\t\t\t\t\t\t\t{helper && (\n\t\t\t\t\t\t\t\t\t\t\t<p-helper\n\t\t\t\t\t\t\t\t\t\t\t\tclass={`flex ${hasHeaderSlot ? 'ml-2' : ''}`}\n\t\t\t\t\t\t\t\t\t\t\t\tplacement='top-end'\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{helper}\n\t\t\t\t\t\t\t\t\t\t\t</p-helper>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<p-tooltip\n\t\t\t\t\t\tclass='w-full'\n\t\t\t\t\t\tvariant='error'\n\t\t\t\t\t\tcontent={this.error}\n\t\t\t\t\t\tshow={errorAndErrorIsNotBoolean && this.forceShowTooltip}\n\t\t\t\t\t\tenableUserInput={false}\n\t\t\t\t\t\tplacement={this.errorPlacement}\n\t\t\t\t\t>\n\t\t\t\t\t\t{hasErrorSlot && (\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\tname='error'\n\t\t\t\t\t\t\t\tslot='content'\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{contentSlot}\n\t\t\t\t\t</p-tooltip>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('localeChanged', { target: 'body' })\n\tprivate async _setLocales(): Promise<void> {\n\t\tthis._locales = await getLocaleComponentStrings(this._el);\n\t}\n\n\tprivate _getSlotInfo() {\n\t\tconst hasHelperSlot = !!this._el.querySelector(':scope > [slot=\"helper\"]');\n\t\tconst hasLabelSlot = !!this._el.querySelector(':scope > [slot=\"label\"]');\n\t\tconst hasHeaderSlot = !!this._el.querySelector(':scope > [slot=\"header\"]');\n\t\tconst hasErrorSlot = !!this._el.querySelector(':scope > [slot=\"error\"]');\n\n\t\tconst helper = hasHelperSlot ? <slot name='helper' /> : this.helper;\n\t\tconst label = hasLabelSlot ? <slot name='label' /> : this.label;\n\n\t\tconst errorAndErrorIsNotBoolean =\n\t\t\thasErrorSlot ||\n\t\t\t(this.error && typeof this.error === 'string' && this.error !== 'true');\n\n\t\treturn {\n\t\t\thasHelperSlot,\n\t\t\thasLabelSlot,\n\t\t\thasHeaderSlot,\n\t\t\thasErrorSlot,\n\t\t\thelper,\n\t\t\tlabel,\n\t\t\terrorAndErrorIsNotBoolean,\n\t\t};\n\t}\n}\n"]}
@@ -3,7 +3,7 @@ import { c as cva } from './index2.js';
3
3
  import { n as nonce } from './nonce.js';
4
4
  import { d as defineCustomElement$1 } from './icon.component.js';
5
5
 
6
- const checkboxComponentCss = "*{box-sizing:border-box}.pointer-events-none{pointer-events:none!important}.static{position:static!important}.absolute{position:absolute!important}.relative{position:relative!important}.left-1\\/2{left:50%!important}.top-1\\/2{top:50%!important}.m-0{margin:0!important}.flex{display:flex!important}.hidden{display:none!important}.h-4{height:1rem!important}.h-6{height:1.5rem!important}.w-4{width:1rem!important}.w-6{width:1.5rem!important}.flex-shrink-0{flex-shrink:0!important}.-translate-x-1\\/2{--tw-translate-x:-50%!important}.-translate-x-1\\/2,.-translate-y-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.-translate-y-1\\/2{--tw-translate-y:-50%!important}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-pointer{cursor:pointer!important}.appearance-none{appearance:none!important}.items-center{align-items:center!important}.justify-start{justify-content:flex-start!important}.gap-2{gap:.5rem!important}.rounded{border-radius:.25rem!important}.rounded-lg{border-radius:.5rem!important}.border{border-width:1px!important}.border-solid{border-style:solid!important}.border-black-teal-100{--tw-border-opacity:1!important;border-color:rgb(205 212 211/var(--tw-border-opacity,1))!important}.border-black-teal-50{--tw-border-opacity:1!important;border-color:rgb(230 234 233/var(--tw-border-opacity,1))!important}.bg-white{background-color:rgb(255 255 255/var(--tw-bg-opacity,1))!important}.bg-white,.bg-white-600{--tw-bg-opacity:1!important}.bg-white-600{background-color:rgb(250 250 250/var(--tw-bg-opacity,1))!important}.text-black-teal{--tw-text-opacity:1!important;color:rgb(3 42 36/var(--tw-text-opacity,1))!important}.text-black-teal-200{--tw-text-opacity:1!important;color:rgb(154 170 167/var(--tw-text-opacity,1))!important}.text-white{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity,1))!important}.shadow-1{--tw-shadow:0 1px 1px rgba(0,2,2,.08)!important;--tw-shadow-colored:0 1px 1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.outline-none{outline:2px solid transparent!important;outline-offset:2px!important}.drop-shadow-black-teal-10\\%{--tw-drop-shadow:drop-shadow(0px 1px 0px rgba(3,42,36,.1))!important;filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.checked\\:border-black-teal\\/20:checked{border-color:rgba(3,42,36,.2)!important}.checked\\:bg-supportive-lilac:checked{--tw-bg-opacity:1!important;background-color:rgb(209 174 255/var(--tw-bg-opacity,1))!important}.checked\\:ring-2:checked{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.checked\\:ring-supportive-lilac-100:checked{--tw-ring-opacity:1!important;--tw-ring-color:rgb(246 239 255/var(--tw-ring-opacity,1))!important}.indeterminate\\:border-black-teal\\/20:indeterminate{border-color:rgba(3,42,36,.2)!important}.indeterminate\\:bg-supportive-lilac:indeterminate{--tw-bg-opacity:1!important;background-color:rgb(209 174 255/var(--tw-bg-opacity,1))!important}.indeterminate\\:ring-2:indeterminate{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.indeterminate\\:ring-supportive-lilac-100:indeterminate{--tw-ring-opacity:1!important;--tw-ring-color:rgb(246 239 255/var(--tw-ring-opacity,1))!important}.hover\\:border-black-teal-100:hover{--tw-border-opacity:1!important;border-color:rgb(205 212 211/var(--tw-border-opacity,1))!important}.hover\\:bg-supportive-lilac-100:hover{--tw-bg-opacity:1!important;background-color:rgb(246 239 255/var(--tw-bg-opacity,1))!important}.checked\\:hover\\:border-black-teal\\/20:hover:checked{border-color:rgba(3,42,36,.2)!important}.checked\\:hover\\:bg-supportive-lilac:hover:checked{--tw-bg-opacity:1!important;background-color:rgb(209 174 255/var(--tw-bg-opacity,1))!important}.indeterminate\\:hover\\:border-black-teal\\/20:hover:indeterminate{border-color:rgba(3,42,36,.2)!important}.indeterminate\\:hover\\:bg-supportive-lilac:hover:indeterminate{--tw-bg-opacity:1!important;background-color:rgb(209 174 255/var(--tw-bg-opacity,1))!important}.peer:checked~.peer-checked\\:flex{display:flex!important}.peer:indeterminate~.peer-indeterminate\\:flex{display:flex!important}";
6
+ const checkboxComponentCss = "*{box-sizing:border-box}.pointer-events-none{pointer-events:none!important}.static{position:static!important}.absolute{position:absolute!important}.relative{position:relative!important}.left-1\\/2{left:50%!important}.top-1\\/2{top:50%!important}.m-0{margin:0!important}.flex{display:flex!important}.hidden{display:none!important}.h-4{height:1rem!important}.h-6{height:1.5rem!important}.w-4{width:1rem!important}.w-6{width:1.5rem!important}.flex-shrink-0{flex-shrink:0!important}.-translate-x-1\\/2{--tw-translate-x:-50%!important}.-translate-x-1\\/2,.-translate-y-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.-translate-y-1\\/2{--tw-translate-y:-50%!important}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-pointer{cursor:pointer!important}.appearance-none{appearance:none!important}.items-center{align-items:center!important}.justify-start{justify-content:flex-start!important}.gap-2{gap:.5rem!important}.rounded{border-radius:.25rem!important}.rounded-lg{border-radius:.5rem!important}.border{border-width:1px!important}.border-solid{border-style:solid!important}.border-black-teal-100{--tw-border-opacity:1!important;border-color:rgb(205 212 211/var(--tw-border-opacity,1))!important}.border-black-teal-50{--tw-border-opacity:1!important;border-color:rgb(230 234 233/var(--tw-border-opacity,1))!important}.bg-white{background-color:rgb(255 255 255/var(--tw-bg-opacity,1))!important}.bg-white,.bg-white-600{--tw-bg-opacity:1!important}.bg-white-600{background-color:rgb(250 250 250/var(--tw-bg-opacity,1))!important}.text-black-teal{--tw-text-opacity:1!important;color:rgb(3 42 36/var(--tw-text-opacity,1))!important}.text-black-teal-200{--tw-text-opacity:1!important;color:rgb(154 170 167/var(--tw-text-opacity,1))!important}.text-white{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity,1))!important}.shadow-1{--tw-shadow:0 1px 1px rgba(0,2,2,.08)!important;--tw-shadow-colored:0 1px 1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.outline-none{outline:2px solid transparent!important;outline-offset:2px!important}.drop-shadow-black-teal-10\\%{--tw-drop-shadow:drop-shadow(0px 1px 0px rgba(3,42,36,.1))!important;filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.checked\\:border-black-teal\\/20:checked{border-color:rgba(3,42,36,.2)!important}.checked\\:bg-supportive-lilac:checked{--tw-bg-opacity:1!important;background-color:rgb(209 174 255/var(--tw-bg-opacity,1))!important}.checked\\:ring-2:checked{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.checked\\:ring-supportive-lilac-100:checked{--tw-ring-opacity:1!important;--tw-ring-color:rgb(246 239 255/var(--tw-ring-opacity,1))!important}.indeterminate\\:border-black-teal\\/20:indeterminate{border-color:rgba(3,42,36,.2)!important}.indeterminate\\:bg-supportive-lilac-700:indeterminate{--tw-bg-opacity:1!important;background-color:rgb(200 159 255/var(--tw-bg-opacity,1))!important}.indeterminate\\:ring-2:indeterminate{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.indeterminate\\:ring-supportive-lilac-100:indeterminate{--tw-ring-opacity:1!important;--tw-ring-color:rgb(246 239 255/var(--tw-ring-opacity,1))!important}.hover\\:border-black-teal-100:hover{--tw-border-opacity:1!important;border-color:rgb(205 212 211/var(--tw-border-opacity,1))!important}.hover\\:bg-supportive-lilac-100:hover{--tw-bg-opacity:1!important;background-color:rgb(246 239 255/var(--tw-bg-opacity,1))!important}.checked\\:hover\\:border-black-teal\\/20:hover:checked{border-color:rgba(3,42,36,.2)!important}.checked\\:hover\\:bg-supportive-lilac-700:hover:checked{--tw-bg-opacity:1!important;background-color:rgb(200 159 255/var(--tw-bg-opacity,1))!important}.indeterminate\\:hover\\:border-black-teal\\/20:hover:indeterminate{border-color:rgba(3,42,36,.2)!important}.indeterminate\\:hover\\:bg-supportive-lilac:hover:indeterminate{--tw-bg-opacity:1!important;background-color:rgb(209 174 255/var(--tw-bg-opacity,1))!important}.peer:checked~.peer-checked\\:flex{display:flex!important}.peer:indeterminate~.peer-indeterminate\\:flex{display:flex!important}";
7
7
  const PCheckboxStyle0 = checkboxComponentCss;
8
8
 
9
9
  const checkbox = cva([
@@ -19,27 +19,17 @@ const checkbox = cva([
19
19
  false: [
20
20
  'cursor-pointer shadow-1',
21
21
  'bg-white border-black-teal-100',
22
- 'hover:bg-supportivce-lilac-100 hover:border-black-teal-100',
22
+ 'hover:bg-supportive-lilac-100 hover:border-black-teal-100',
23
23
  'checked:bg-supportive-lilac checked:border-black-teal/20',
24
24
  'checked:ring-2 checked:ring-supportive-lilac-100',
25
- 'checked:hover:bg-supportive-lilac checked:hover:border-black-teal/20',
26
- 'indeterminate:bg-supportive-lilac indeterminate:border-black-teal/20',
25
+ 'checked:hover:bg-supportive-lilac-700 checked:hover:border-black-teal/20',
26
+ 'indeterminate:bg-supportive-lilac-700 indeterminate:border-black-teal/20',
27
27
  'indeterminate:ring-2 indeterminate:ring-supportive-lilac-100',
28
28
  'indeterminate:hover:bg-supportive-lilac indeterminate:hover:border-black-teal/20',
29
29
  ],
30
30
  true: 'bg-white-600 border-black-teal-50 cursor-not-allowed ',
31
31
  },
32
32
  },
33
- compoundVariants: [
34
- {
35
- disabled: false,
36
- class: [
37
- 'cursor-pointer shadow-1',
38
- 'bg-white border-black-teal-100',
39
- 'hover:bg-supportive-lilac-100 hover:border-black-teal-100',
40
- ],
41
- },
42
- ],
43
33
  });
44
34
  const icon = cva([
45
35
  'hidden peer-indeterminate:flex peer-checked:flex',
@@ -76,12 +66,12 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends HTMLEle
76
66
  */
77
67
  indeterminateChange;
78
68
  render() {
79
- return (h(Host, { key: '763757228cc34a2ad33d913ff61a612fd5e5955c', class: 'p-checkbox' }, h("label", { key: 'bfff8193dffe46ff7b20e42b98ef2e8468b3c7d3', htmlFor: this.id ?? this._nonce, class: 'flex items-center justify-start gap-2 text-black-teal' }, h("div", { key: 'b2d392f038e6eada52cad8048fa80aa9eb059482', class: 'relative flex flex-shrink-0 items-center' }, h("input", { key: '46784ca50fd4815283f7bac2cfc9a28602ab8026', class: checkbox({
69
+ return (h(Host, { key: 'e2efce30f2d5a1f955c2a8ddefb2b229eca1cfd5', class: 'p-checkbox' }, h("label", { key: 'd26d81c88cb2f2a941cd9539e8060fbf60aa634f', htmlFor: this.id ?? this._nonce, class: 'flex items-center justify-start gap-2 text-black-teal' }, h("div", { key: 'd59c67ca2cbccdd8c91f860f5aa7561f34f79120', class: 'relative flex flex-shrink-0 items-center' }, h("input", { key: '6a8317350b7f60e3fdb7665d7d68d3f1a2ce9868', class: checkbox({
80
70
  size: this.size,
81
71
  disabled: this.disabled,
82
- }), type: 'checkbox', id: this.id ?? this._nonce, name: this.name, required: this.required, checked: !!this.checked, indeterminate: this.indeterminate, disabled: this.disabled, onChange: ev => this._onChange(ev) }), h("div", { key: '300cdf6032a669bdb6745e106b626e22b527f527', class: icon({
72
+ }), type: 'checkbox', id: this.id ?? this._nonce, name: this.name, required: this.required, checked: !!this.checked, indeterminate: this.indeterminate, disabled: this.disabled, onChange: ev => this._onChange(ev) }), h("div", { key: 'b9010adaa74914c00b8018566b0c31808cc63b33', class: icon({
83
73
  disabled: this.disabled,
84
- }) }, h("p-icon", { key: '949a7e8cdc7ebaa494f2892b6c3d0e73f9676d4b', size: this.size, class: 'drop-shadow-black-teal-10%', variant: !!this.indeterminate ? 'minus' : 'checkmark' }))), h("slot", { key: 'b68faa0a1f9232a425f918d7be9e4e47a93dfa03' }))));
74
+ }) }, h("p-icon", { key: '3d760b5e7ee1b76b79dae46beff4094dc00fe8b0', size: this.size, class: 'drop-shadow-black-teal-10%', variant: !!this.indeterminate ? 'minus' : 'checkmark' }))), h("slot", { key: '17f8e47facc7b631494534b68986eebe5aa96fa0' }))));
85
75
  }
86
76
  _onChange(ev) {
87
77
  if (this.disabled) {
@@ -1 +1 @@
1
- {"file":"checkbox.component.js","mappings":"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","names":[],"sources":["src/components/atoms/checkbox/checkbox.component.css?tag=p-checkbox","src/components/atoms/checkbox/checkbox.component.tsx"],"sourcesContent":["","import {\n\tComponent,\n\tEvent,\n\tEventEmitter,\n\tHost,\n\tProp,\n\tState,\n\th,\n} from '@stencil/core';\nimport { cva } from 'class-variance-authority';\nimport { nonce } from '../../../utils/nonce';\n\nconst checkbox = cva(\n\t[\n\t\t'peer appearance-none m-0 outline-none flex-shrink-0',\n\t\t'border border-inset border-solid ',\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\tsm: 'rounded w-4 h-4',\n\t\t\t\tbase: 'rounded-lg w-6 h-6',\n\t\t\t},\n\t\t\tdisabled: {\n\t\t\t\tfalse: [\n\t\t\t\t\t'cursor-pointer shadow-1',\n\t\t\t\t\t'bg-white border-black-teal-100',\n\t\t\t\t\t'hover:bg-supportivce-lilac-100 hover:border-black-teal-100',\n\t\t\t\t\t'checked:bg-supportive-lilac checked:border-black-teal/20',\n\t\t\t\t\t'checked:ring-2 checked:ring-supportive-lilac-100',\n\t\t\t\t\t'checked:hover:bg-supportive-lilac checked:hover:border-black-teal/20',\n\t\t\t\t\t'indeterminate:bg-supportive-lilac indeterminate:border-black-teal/20',\n\t\t\t\t\t'indeterminate:ring-2 indeterminate:ring-supportive-lilac-100',\n\t\t\t\t\t'indeterminate:hover:bg-supportive-lilac indeterminate:hover:border-black-teal/20',\n\t\t\t\t],\n\t\t\t\ttrue: 'bg-white-600 border-black-teal-50 cursor-not-allowed ',\n\t\t\t},\n\t\t},\n\t\tcompoundVariants: [\n\t\t\t{\n\t\t\t\tdisabled: false,\n\t\t\t\tclass: [\n\t\t\t\t\t'cursor-pointer shadow-1',\n\t\t\t\t\t'bg-white border-black-teal-100',\n\t\t\t\t\t'hover:bg-supportive-lilac-100 hover:border-black-teal-100',\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t}\n);\n\nconst icon = cva(\n\t[\n\t\t'hidden peer-indeterminate:flex peer-checked:flex',\n\t\t'absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 pointer-events-none',\n\t],\n\t{\n\t\tvariants: {\n\t\t\tdisabled: {\n\t\t\t\tfalse: 'text-white',\n\t\t\t\ttrue: 'text-black-teal-200',\n\t\t\t},\n\t\t},\n\t}\n);\n\n@Component({\n\ttag: 'p-checkbox',\n\tstyleUrl: 'checkbox.component.css',\n})\nexport class Checkbox {\n\t/**\n\t * Wether the checkbox is checked\n\t */\n\t@Prop() checked: boolean;\n\n\t/**\n\t * Wether the checkbox is in indeterminate state\n\t */\n\t@Prop() indeterminate: boolean;\n\n\t/**\n\t * The size of the checkbox\n\t */\n\t@Prop() size: 'sm' | 'base' = 'base';\n\n\t/**\n\t * Wether the checkbox is disabled\n\t */\n\t@Prop({ reflect: true }) disabled: boolean = false;\n\n\t/**\n\t * Wether the checkbox is required\n\t */\n\t@Prop({ reflect: true }) required: boolean = true;\n\n\t/**\n\t * The id of the checkbox button\n\t */\n\t@Prop({ reflect: true }) id: string;\n\n\t/**\n\t * The name of the checkbox button\n\t */\n\t@Prop({ reflect: true }) name: string;\n\n\t/**\n\t * Event whenever the checked changes\n\t */\n\t@Event() checkedChange: EventEmitter<boolean>;\n\t/**\n\t * Event whenever the indeterminate changes\n\t */\n\t@Event() indeterminateChange: EventEmitter<boolean>;\n\n\t@State() private _nonce = nonce(5);\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class='p-checkbox'>\n\t\t\t\t<label\n\t\t\t\t\thtmlFor={this.id ?? this._nonce}\n\t\t\t\t\tclass='flex items-center justify-start gap-2 text-black-teal'\n\t\t\t\t>\n\t\t\t\t\t<div class='relative flex flex-shrink-0 items-center'>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tclass={checkbox({\n\t\t\t\t\t\t\t\tsize: this.size,\n\t\t\t\t\t\t\t\tdisabled: this.disabled,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\ttype='checkbox'\n\t\t\t\t\t\t\tid={this.id ?? this._nonce}\n\t\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\t\tchecked={!!this.checked}\n\t\t\t\t\t\t\tindeterminate={this.indeterminate}\n\t\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\t\tonChange={ev => this._onChange(ev)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={icon({\n\t\t\t\t\t\t\t\tdisabled: this.disabled,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\t\t\tclass='drop-shadow-black-teal-10%'\n\t\t\t\t\t\t\t\tvariant={!!this.indeterminate ? 'minus' : 'checkmark'}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</label>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate _onChange(ev: Event) {\n\t\tif (this.disabled) {\n\t\t\tev.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tconst checked = (ev.target as HTMLInputElement).checked;\n\t\tconst indeterminate = (ev.target as HTMLInputElement).indeterminate;\n\n\t\tif (checked != this.checked) {\n\t\t\tthis.checked = checked;\n\t\t\tthis.checkedChange.emit(checked);\n\t\t}\n\n\t\tif (indeterminate != this.indeterminate) {\n\t\t\tthis.indeterminate = indeterminate;\n\t\t\tthis.indeterminateChange.emit(indeterminate);\n\t\t}\n\t}\n}\n"],"version":3}
1
+ {"file":"checkbox.component.js","mappings":";;;;;AAAA,MAAM,oBAAoB,GAAG,0lKAA0lK,CAAC;AACxnK,wBAAe,oBAAoB;;ACWnC,MAAM,QAAQ,GAAG,GAAG,CACnB;IACC,qDAAqD;IACrD,mCAAmC;CACnC,EACD;IACC,QAAQ,EAAE;QACT,IAAI,EAAE;YACL,EAAE,EAAE,iBAAiB;YACrB,IAAI,EAAE,oBAAoB;SAC1B;QACD,QAAQ,EAAE;YACT,KAAK,EAAE;gBACN,yBAAyB;gBACzB,gCAAgC;gBAChC,2DAA2D;gBAC3D,0DAA0D;gBAC1D,kDAAkD;gBAClD,0EAA0E;gBAC1E,0EAA0E;gBAC1E,8DAA8D;gBAC9D,kFAAkF;aAClF;YACD,IAAI,EAAE,uDAAuD;SAC7D;KACD;CACD,CACD,CAAC;AAEF,MAAM,IAAI,GAAG,GAAG,CACf;IACC,kDAAkD;IAClD,2FAA2F;CAC3F,EACD;IACC,QAAQ,EAAE;QACT,QAAQ,EAAE;YACT,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,qBAAqB;SAC3B;KACD;CACD,CACD,CAAC;MAMW,QAAQ;;;;;;;;oBAcU,MAAM;wBAKS,KAAK;wBAKL,IAAI;;;sBAqBvB,KAAK,CAAC,CAAC,CAAC;;;;;IANzB,aAAa,CAAwB;;;;IAIrC,mBAAmB,CAAwB;IAIpD,MAAM;QACL,QACC,EAAC,IAAI,qDAAC,KAAK,EAAC,YAAY,IACvB,8DACC,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,EAC/B,KAAK,EAAC,uDAAuD,IAE7D,4DAAK,KAAK,EAAC,0CAA0C,IACpD,8DACC,KAAK,EAAE,QAAQ,CAAC;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACvB,CAAC,EACF,IAAI,EAAC,UAAU,EACf,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,EAC1B,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EACvB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,GACjC,EACF,4DACC,KAAK,EAAE,IAAI,CAAC;gBACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACvB,CAAC,IAEF,+DACC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,OAAO,GAAG,WAAW,GACpD,CACG,CACD,EACN,8DAAa,CACN,CACF,EACN;KACF;IAEO,SAAS,CAAC,EAAS;QAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,EAAE,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;SACP;QAED,MAAM,OAAO,GAAI,EAAE,CAAC,MAA2B,CAAC,OAAO,CAAC;QACxD,MAAM,aAAa,GAAI,EAAE,CAAC,MAA2B,CAAC,aAAa,CAAC;QAEpE,IAAI,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE;YAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACjC;QAED,IAAI,aAAa,IAAI,IAAI,CAAC,aAAa,EAAE;YACxC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;YACnC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAC7C;KACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/atoms/checkbox/checkbox.component.css?tag=p-checkbox","src/components/atoms/checkbox/checkbox.component.tsx"],"sourcesContent":["","import {\n\tComponent,\n\tEvent,\n\tEventEmitter,\n\tHost,\n\tProp,\n\tState,\n\th,\n} from '@stencil/core';\nimport { cva } from 'class-variance-authority';\nimport { nonce } from '../../../utils/nonce';\n\nconst checkbox = cva(\n\t[\n\t\t'peer appearance-none m-0 outline-none flex-shrink-0',\n\t\t'border border-inset border-solid ',\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\tsm: 'rounded w-4 h-4',\n\t\t\t\tbase: 'rounded-lg w-6 h-6',\n\t\t\t},\n\t\t\tdisabled: {\n\t\t\t\tfalse: [\n\t\t\t\t\t'cursor-pointer shadow-1',\n\t\t\t\t\t'bg-white border-black-teal-100',\n\t\t\t\t\t'hover:bg-supportive-lilac-100 hover:border-black-teal-100',\n\t\t\t\t\t'checked:bg-supportive-lilac checked:border-black-teal/20',\n\t\t\t\t\t'checked:ring-2 checked:ring-supportive-lilac-100',\n\t\t\t\t\t'checked:hover:bg-supportive-lilac-700 checked:hover:border-black-teal/20',\n\t\t\t\t\t'indeterminate:bg-supportive-lilac-700 indeterminate:border-black-teal/20',\n\t\t\t\t\t'indeterminate:ring-2 indeterminate:ring-supportive-lilac-100',\n\t\t\t\t\t'indeterminate:hover:bg-supportive-lilac indeterminate:hover:border-black-teal/20',\n\t\t\t\t],\n\t\t\t\ttrue: 'bg-white-600 border-black-teal-50 cursor-not-allowed ',\n\t\t\t},\n\t\t},\n\t}\n);\n\nconst icon = cva(\n\t[\n\t\t'hidden peer-indeterminate:flex peer-checked:flex',\n\t\t'absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 pointer-events-none',\n\t],\n\t{\n\t\tvariants: {\n\t\t\tdisabled: {\n\t\t\t\tfalse: 'text-white',\n\t\t\t\ttrue: 'text-black-teal-200',\n\t\t\t},\n\t\t},\n\t}\n);\n\n@Component({\n\ttag: 'p-checkbox',\n\tstyleUrl: 'checkbox.component.css',\n})\nexport class Checkbox {\n\t/**\n\t * Wether the checkbox is checked\n\t */\n\t@Prop() checked: boolean;\n\n\t/**\n\t * Wether the checkbox is in indeterminate state\n\t */\n\t@Prop() indeterminate: boolean;\n\n\t/**\n\t * The size of the checkbox\n\t */\n\t@Prop() size: 'sm' | 'base' = 'base';\n\n\t/**\n\t * Wether the checkbox is disabled\n\t */\n\t@Prop({ reflect: true }) disabled: boolean = false;\n\n\t/**\n\t * Wether the checkbox is required\n\t */\n\t@Prop({ reflect: true }) required: boolean = true;\n\n\t/**\n\t * The id of the checkbox button\n\t */\n\t@Prop({ reflect: true }) id: string;\n\n\t/**\n\t * The name of the checkbox button\n\t */\n\t@Prop({ reflect: true }) name: string;\n\n\t/**\n\t * Event whenever the checked changes\n\t */\n\t@Event() checkedChange: EventEmitter<boolean>;\n\t/**\n\t * Event whenever the indeterminate changes\n\t */\n\t@Event() indeterminateChange: EventEmitter<boolean>;\n\n\t@State() private _nonce = nonce(5);\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class='p-checkbox'>\n\t\t\t\t<label\n\t\t\t\t\thtmlFor={this.id ?? this._nonce}\n\t\t\t\t\tclass='flex items-center justify-start gap-2 text-black-teal'\n\t\t\t\t>\n\t\t\t\t\t<div class='relative flex flex-shrink-0 items-center'>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tclass={checkbox({\n\t\t\t\t\t\t\t\tsize: this.size,\n\t\t\t\t\t\t\t\tdisabled: this.disabled,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\ttype='checkbox'\n\t\t\t\t\t\t\tid={this.id ?? this._nonce}\n\t\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\t\tchecked={!!this.checked}\n\t\t\t\t\t\t\tindeterminate={this.indeterminate}\n\t\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\t\tonChange={ev => this._onChange(ev)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={icon({\n\t\t\t\t\t\t\t\tdisabled: this.disabled,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\t\t\tclass='drop-shadow-black-teal-10%'\n\t\t\t\t\t\t\t\tvariant={!!this.indeterminate ? 'minus' : 'checkmark'}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</label>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate _onChange(ev: Event) {\n\t\tif (this.disabled) {\n\t\t\tev.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tconst checked = (ev.target as HTMLInputElement).checked;\n\t\tconst indeterminate = (ev.target as HTMLInputElement).indeterminate;\n\n\t\tif (checked != this.checked) {\n\t\t\tthis.checked = checked;\n\t\t\tthis.checkedChange.emit(checked);\n\t\t}\n\n\t\tif (indeterminate != this.indeterminate) {\n\t\t\tthis.indeterminate = indeterminate;\n\t\t\tthis.indeterminateChange.emit(indeterminate);\n\t\t}\n\t}\n}\n"],"version":3}
@@ -14,6 +14,7 @@ const FieldContainer = /*@__PURE__*/ proxyCustomElement(class FieldContainer ext
14
14
  this.__attachShadow();
15
15
  this.focus = createEvent(this, "focus", 7);
16
16
  this.label = undefined;
17
+ this.variant = undefined;
17
18
  this.helper = undefined;
18
19
  this.required = undefined;
19
20
  this.error = undefined;
@@ -30,7 +31,8 @@ const FieldContainer = /*@__PURE__*/ proxyCustomElement(class FieldContainer ext
30
31
  }
31
32
  render() {
32
33
  const { hasHeaderSlot, hasErrorSlot, helper, label, errorAndErrorIsNotBoolean, } = this._getSlotInfo();
33
- return (h(Host, { key: 'd281d2a9ff20d8ade9f76ad4eb86085e9924130f', class: 'p-field-container' }, h("div", { key: 'bd089038396275d6055446fdc3c8df5565905633', class: 'flex w-inherit flex-col gap-1' }, h("div", { key: 'dabb2165c9791a856aac3ba207cdc8633174c322', class: 'flex items-end justify-between gap-1' }, label && (h("div", { key: '955a3a463212f5eebb50c84156b4245cec176e05', class: 'text-xs font-medium text-black-teal-300', onClick: () => this.focus.emit() }, label)), (!this.required || helper || hasHeaderSlot) && (h("div", { key: 'eeb7241af592900b4d7703af00d5ba5083d23836', class: 'flex items-center gap-1' }, !this.required && (h("span", { key: 'e59dca6b1ee35d7a69489c0a38d5fb7b25a9da9d', class: 'text-xs font-medium text-black-teal-200' }, this.optionalTemplate())), (helper || hasHeaderSlot) && (h(Fragment, { key: 'c8b6efc1f2acaff910265a8db68c50626c6c9d37' }, hasHeaderSlot && h("slot", { key: '511747f7a8fe7cfc33e8e88d6fc156cb0f86ac14', name: 'header' }), helper && (h("p-helper", { key: '08c8ba308601ba7247cfe6f4272c4b5f3b2d1f32', class: `flex ${hasHeaderSlot ? 'ml-2' : ''}`, placement: 'top-end' }, helper))))))), h("p-tooltip", { key: '9b0ddbeae82d7cdaa7db4eb0ca7a3312166983dc', class: 'w-full', variant: 'error', content: this.error, show: errorAndErrorIsNotBoolean && this.forceShowTooltip, enableUserInput: false, placement: this.errorPlacement }, hasErrorSlot && (h("slot", { key: '653ddb7c4ab6b8d1c14f581a72e663c96cd7c494', name: 'error', slot: 'content' })), h("slot", { key: '66e58f122515c6e68ca669b6d00d2a23feee31c9', name: 'content', slot: 'trigger' })))));
34
+ const contentSlot = (h("slot", { key: 'a7e3919d645cc21fa538340b0c9ea7a98e66ca90', name: 'content', slot: 'trigger' }));
35
+ return (h(Host, { key: '44a79d2058aafb4d9bf89f09cb3e7a1a708d99f9', class: 'p-field-container' }, h("div", { key: '47af2893a5f27a1a905c846a016c183756d026f8', class: 'flex w-inherit flex-col gap-1' }, h("div", { key: 'cd64bc812c19e11d35ea4eb1756f9885a1f2a148', class: 'flex items-end justify-between gap-1' }, label && (h("div", { key: '962aecba76c4ba9326ed992d6ad39c1efbdab8ab', class: 'text-xs font-medium text-black-teal-300', onClick: () => this.focus.emit() }, label)), (!this.required || helper || hasHeaderSlot) && (h("div", { key: 'd0cdd8810de8098eaca90d2aeddd1f01fbcd0faf', class: 'flex items-center gap-1' }, !this.required && this.variant === 'write' && (h("span", { key: 'e83d37fcb0050bad328d0aa2d6890c1226fe17fb', class: 'text-xs font-medium text-black-teal-200' }, this.optionalTemplate())), (helper || hasHeaderSlot) && (h(Fragment, { key: 'c156ee1c951fec9dbe602cf317ff7591a6bce9bf' }, hasHeaderSlot && h("slot", { key: 'e568644b05673354c9059042b0ba40f137d1709c', name: 'header' }), helper && (h("p-helper", { key: '7dcbdd61deb2eba74abf8f57b245b011fbf9066b', class: `flex ${hasHeaderSlot ? 'ml-2' : ''}`, placement: 'top-end' }, helper))))))), h("p-tooltip", { key: '41588daf8a794d9d16d32bcd841f5f4cbe64349a', class: 'w-full', variant: 'error', content: this.error, show: errorAndErrorIsNotBoolean && this.forceShowTooltip, enableUserInput: false, placement: this.errorPlacement }, hasErrorSlot && (h("slot", { key: 'a61dd91094db6ac2b016ee79320cffd887976e12', name: 'error', slot: 'content' })), contentSlot))));
34
36
  }
35
37
  async _setLocales() {
36
38
  this._locales = await getLocaleComponentStrings(this._el);
@@ -57,6 +59,7 @@ const FieldContainer = /*@__PURE__*/ proxyCustomElement(class FieldContainer ext
57
59
  static get style() { return PFieldContainerStyle0; }
58
60
  }, [1, "p-field-container", {
59
61
  "label": [1],
62
+ "variant": [1],
60
63
  "helper": [1],
61
64
  "required": [516],
62
65
  "error": [513],
@@ -1 +1 @@
1
- {"file":"field-container.component.js","mappings":"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","names":[],"sources":["src/components/molecules/field-container/field-container.component.css?tag=p-field-container&encapsulation=shadow","src/components/molecules/field-container/field-container.component.tsx"],"sourcesContent":["","import {\n\tComponent,\n\tElement,\n\tEventEmitter,\n\th,\n\tHost,\n\tEvent,\n\tProp,\n\tFragment,\n\tState,\n\tListen,\n} from '@stencil/core';\nimport { formatTranslation, getLocaleComponentStrings } from '../../../utils';\nimport { Placement } from '@floating-ui/dom';\n\nexport type templateFunc = () => string;\n\n@Component({\n\ttag: 'p-field-container',\n\tstyleUrl: 'field-container.component.css',\n\tshadow: true,\n})\nexport class FieldContainer {\n\tprivate _defaultOptionalTemplate: templateFunc = () =>\n\t\tformatTranslation(this._locales.optional);\n\n\t/**\n\t * The label of the input group\n\t */\n\t@Prop() label: string | HTMLSlotElement;\n\n\t/**\n\t * The helper of the input group\n\t */\n\t@Prop() helper: string | HTMLSlotElement;\n\n\t/**\n\t * Wether the field is required\n\t */\n\t@Prop({ reflect: true }) required: boolean;\n\n\t/**\n\t * The helper of the input group\n\t */\n\t@Prop({ reflect: true }) error: string | HTMLSlotElement;\n\n\t/**\n\t * The placement of the error popover\n\t */\n\t@Prop() errorPlacement: Placement;\n\n\t/**\n\t * Force show the error tooltip\n\t */\n\t@Prop({ reflect: true }) forceShowTooltip: boolean = false;\n\n\t/**\n\t * The template for the optional text\n\t */\n\t@Prop() optionalTemplate: templateFunc = this._defaultOptionalTemplate;\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@Event() focus: EventEmitter<void>;\n\n\t/**\n\t * Locales used for this component\n\t */\n\t@State() private _locales: any = {};\n\n\tcomponentWillLoad() {\n\t\tthis._setLocales();\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\thasHeaderSlot,\n\t\t\thasErrorSlot,\n\t\t\thelper,\n\t\t\tlabel,\n\t\t\terrorAndErrorIsNotBoolean,\n\t\t} = this._getSlotInfo();\n\n\t\treturn (\n\t\t\t<Host class='p-field-container'>\n\t\t\t\t<div class='flex w-inherit flex-col gap-1'>\n\t\t\t\t\t<div class='flex items-end justify-between gap-1'>\n\t\t\t\t\t\t{label && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass='text-xs font-medium text-black-teal-300'\n\t\t\t\t\t\t\t\tonClick={() => this.focus.emit()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{(!this.required || helper || hasHeaderSlot) && (\n\t\t\t\t\t\t\t<div class='flex items-center gap-1'>\n\t\t\t\t\t\t\t\t{!this.required && (\n\t\t\t\t\t\t\t\t\t<span class='text-xs font-medium text-black-teal-200'>\n\t\t\t\t\t\t\t\t\t\t{this.optionalTemplate()}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{(helper || hasHeaderSlot) && (\n\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t{hasHeaderSlot && <slot name='header' />}\n\t\t\t\t\t\t\t\t\t\t{helper && (\n\t\t\t\t\t\t\t\t\t\t\t<p-helper\n\t\t\t\t\t\t\t\t\t\t\t\tclass={`flex ${hasHeaderSlot ? 'ml-2' : ''}`}\n\t\t\t\t\t\t\t\t\t\t\t\tplacement='top-end'\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{helper}\n\t\t\t\t\t\t\t\t\t\t\t</p-helper>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<p-tooltip\n\t\t\t\t\t\tclass='w-full'\n\t\t\t\t\t\tvariant='error'\n\t\t\t\t\t\tcontent={this.error}\n\t\t\t\t\t\tshow={errorAndErrorIsNotBoolean && this.forceShowTooltip}\n\t\t\t\t\t\tenableUserInput={false}\n\t\t\t\t\t\tplacement={this.errorPlacement}\n\t\t\t\t\t>\n\t\t\t\t\t\t{hasErrorSlot && (\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\tname='error'\n\t\t\t\t\t\t\t\tslot='content'\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\tname='content'\n\t\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\t/>\n\t\t\t\t\t</p-tooltip>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('localeChanged', { target: 'body' })\n\tprivate async _setLocales(): Promise<void> {\n\t\tthis._locales = await getLocaleComponentStrings(this._el);\n\t}\n\n\tprivate _getSlotInfo() {\n\t\tconst hasHelperSlot = !!this._el.querySelector(':scope > [slot=\"helper\"]');\n\t\tconst hasLabelSlot = !!this._el.querySelector(':scope > [slot=\"label\"]');\n\t\tconst hasHeaderSlot = !!this._el.querySelector(':scope > [slot=\"header\"]');\n\t\tconst hasErrorSlot = !!this._el.querySelector(':scope > [slot=\"error\"]');\n\n\t\tconst helper = hasHelperSlot ? <slot name='helper' /> : this.helper;\n\t\tconst label = hasLabelSlot ? <slot name='label' /> : this.label;\n\n\t\tconst errorAndErrorIsNotBoolean =\n\t\t\thasErrorSlot ||\n\t\t\t(this.error && typeof this.error === 'string' && this.error !== 'true');\n\n\t\treturn {\n\t\t\thasHelperSlot,\n\t\t\thasLabelSlot,\n\t\t\thasHeaderSlot,\n\t\t\thasErrorSlot,\n\t\t\thelper,\n\t\t\tlabel,\n\t\t\terrorAndErrorIsNotBoolean,\n\t\t};\n\t}\n}\n"],"version":3}
1
+ {"file":"field-container.component.js","mappings":"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","names":[],"sources":["src/components/molecules/field-container/field-container.component.css?tag=p-field-container&encapsulation=shadow","src/components/molecules/field-container/field-container.component.tsx"],"sourcesContent":["","import {\n\tComponent,\n\tElement,\n\tEventEmitter,\n\th,\n\tHost,\n\tEvent,\n\tProp,\n\tFragment,\n\tState,\n\tListen,\n} from '@stencil/core';\nimport { formatTranslation, getLocaleComponentStrings } from '../../../utils';\nimport { Placement } from '@floating-ui/dom';\n\nexport type templateFunc = () => string;\n\n@Component({\n\ttag: 'p-field-container',\n\tstyleUrl: 'field-container.component.css',\n\tshadow: true,\n})\nexport class FieldContainer {\n\tprivate _defaultOptionalTemplate: templateFunc = () =>\n\t\tformatTranslation(this._locales.optional);\n\n\t/**\n\t * The label of the input group\n\t */\n\t@Prop() label: string | HTMLSlotElement;\n\n\t/**\n\t * The variant of the field container\n\t */\n\t@Prop() variant: 'read' | 'write';\n\n\t/**\n\t * The helper of the input group\n\t */\n\t@Prop() helper: string | HTMLSlotElement;\n\n\t/**\n\t * Wether the field is required\n\t */\n\t@Prop({ reflect: true }) required: boolean;\n\n\t/**\n\t * The helper of the input group\n\t */\n\t@Prop({ reflect: true }) error: string | HTMLSlotElement;\n\n\t/**\n\t * The placement of the error popover\n\t */\n\t@Prop() errorPlacement: Placement;\n\n\t/**\n\t * Force show the error tooltip\n\t */\n\t@Prop({ reflect: true }) forceShowTooltip: boolean = false;\n\n\t/**\n\t * The template for the optional text\n\t */\n\t@Prop() optionalTemplate: templateFunc = this._defaultOptionalTemplate;\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@Event() focus: EventEmitter<void>;\n\n\t/**\n\t * Locales used for this component\n\t */\n\t@State() private _locales: any = {};\n\n\tcomponentWillLoad() {\n\t\tthis._setLocales();\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\thasHeaderSlot,\n\t\t\thasErrorSlot,\n\t\t\thelper,\n\t\t\tlabel,\n\t\t\terrorAndErrorIsNotBoolean,\n\t\t} = this._getSlotInfo();\n\n\t\tconst contentSlot = (\n\t\t\t<slot\n\t\t\t\tname='content'\n\t\t\t\tslot='trigger'\n\t\t\t/>\n\t\t);\n\n\t\treturn (\n\t\t\t<Host class='p-field-container'>\n\t\t\t\t<div class='flex w-inherit flex-col gap-1'>\n\t\t\t\t\t<div class='flex items-end justify-between gap-1'>\n\t\t\t\t\t\t{label && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass='text-xs font-medium text-black-teal-300'\n\t\t\t\t\t\t\t\tonClick={() => this.focus.emit()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{(!this.required || helper || hasHeaderSlot) && (\n\t\t\t\t\t\t\t<div class='flex items-center gap-1'>\n\t\t\t\t\t\t\t\t{!this.required && this.variant === 'write' && (\n\t\t\t\t\t\t\t\t\t<span class='text-xs font-medium text-black-teal-200'>\n\t\t\t\t\t\t\t\t\t\t{this.optionalTemplate()}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{(helper || hasHeaderSlot) && (\n\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t{hasHeaderSlot && <slot name='header' />}\n\t\t\t\t\t\t\t\t\t\t{helper && (\n\t\t\t\t\t\t\t\t\t\t\t<p-helper\n\t\t\t\t\t\t\t\t\t\t\t\tclass={`flex ${hasHeaderSlot ? 'ml-2' : ''}`}\n\t\t\t\t\t\t\t\t\t\t\t\tplacement='top-end'\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{helper}\n\t\t\t\t\t\t\t\t\t\t\t</p-helper>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<p-tooltip\n\t\t\t\t\t\tclass='w-full'\n\t\t\t\t\t\tvariant='error'\n\t\t\t\t\t\tcontent={this.error}\n\t\t\t\t\t\tshow={errorAndErrorIsNotBoolean && this.forceShowTooltip}\n\t\t\t\t\t\tenableUserInput={false}\n\t\t\t\t\t\tplacement={this.errorPlacement}\n\t\t\t\t\t>\n\t\t\t\t\t\t{hasErrorSlot && (\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\tname='error'\n\t\t\t\t\t\t\t\tslot='content'\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{contentSlot}\n\t\t\t\t\t</p-tooltip>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('localeChanged', { target: 'body' })\n\tprivate async _setLocales(): Promise<void> {\n\t\tthis._locales = await getLocaleComponentStrings(this._el);\n\t}\n\n\tprivate _getSlotInfo() {\n\t\tconst hasHelperSlot = !!this._el.querySelector(':scope > [slot=\"helper\"]');\n\t\tconst hasLabelSlot = !!this._el.querySelector(':scope > [slot=\"label\"]');\n\t\tconst hasHeaderSlot = !!this._el.querySelector(':scope > [slot=\"header\"]');\n\t\tconst hasErrorSlot = !!this._el.querySelector(':scope > [slot=\"error\"]');\n\n\t\tconst helper = hasHelperSlot ? <slot name='helper' /> : this.helper;\n\t\tconst label = hasLabelSlot ? <slot name='label' /> : this.label;\n\n\t\tconst errorAndErrorIsNotBoolean =\n\t\t\thasErrorSlot ||\n\t\t\t(this.error && typeof this.error === 'string' && this.error !== 'true');\n\n\t\treturn {\n\t\t\thasHelperSlot,\n\t\t\thasLabelSlot,\n\t\t\thasHeaderSlot,\n\t\t\thasErrorSlot,\n\t\t\thelper,\n\t\t\tlabel,\n\t\t\terrorAndErrorIsNotBoolean,\n\t\t};\n\t}\n}\n"],"version":3}
@@ -6,14 +6,18 @@ import { d as defineCustomElement$3 } from './icon.component.js';
6
6
  import { d as defineCustomElement$2 } from './portal.component.js';
7
7
  import { d as defineCustomElement$1 } from './tooltip.component.js';
8
8
 
9
- const fieldComponentCss = "*{box-sizing:border-box}.static{position:static!important}.flex{display:flex!important}.h-6{height:1.5rem!important}.h-8{height:2rem!important}.h-full{height:100%!important}.w-inherit{width:inherit!important}.min-w-0{min-width:0!important}.flex-1{flex:1 1 0%!important}.flex-shrink-0{flex-shrink:0!important}.cursor-not-allowed{cursor:not-allowed!important}.items-center{align-items:center!important}.justify-center{justify-content:center!important}.gap-2{gap:.5rem!important}.rounded-lg{border-radius:.5rem!important}.border{border-width:1px!important}.border-solid{border-style:solid!important}.border-none{border-style:none!important}.border-black-teal-100{--tw-border-opacity:1!important;border-color:rgb(205 212 211/var(--tw-border-opacity,1))!important}.border-negative-red{--tw-border-opacity:1!important;border-color:rgb(230 30 30/var(--tw-border-opacity,1))!important}.border-supportive-lilac-800{--tw-border-opacity:1!important;border-color:rgb(189 140 255/var(--tw-border-opacity,1))!important}.bg-transparent{background-color:transparent!important}.bg-white{background-color:rgb(255 255 255/var(--tw-bg-opacity,1))!important}.bg-white,.bg-white-600{--tw-bg-opacity:1!important}.bg-white-600{background-color:rgb(250 250 250/var(--tw-bg-opacity,1))!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.text-center{text-align:center!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.text-black-teal{--tw-text-opacity:1!important;color:rgb(3 42 36/var(--tw-text-opacity,1))!important}.text-black-teal-100{--tw-text-opacity:1!important;color:rgb(205 212 211/var(--tw-text-opacity,1))!important}.text-black-teal-300{--tw-text-opacity:1!important;color:rgb(104 127 124/var(--tw-text-opacity,1))!important}.text-black-teal-500{--tw-text-opacity:1!important;color:rgb(3 42 36/var(--tw-text-opacity,1))!important}.text-negative-red{--tw-text-opacity:1!important;color:rgb(230 30 30/var(--tw-text-opacity,1))!important}.text-negative-red-800{--tw-text-opacity:1!important;color:rgb(141 16 16/var(--tw-text-opacity,1))!important}.outline-none{outline:2px solid transparent!important;outline-offset:2px!important}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.ring-negative-red-50{--tw-ring-opacity:1!important;--tw-ring-color:rgb(253 237 237/var(--tw-ring-opacity,1))!important}.ring-supportive-lilac-100{--tw-ring-opacity:1!important;--tw-ring-color:rgb(246 239 255/var(--tw-ring-opacity,1))!important}.selection\\:bg-negative-red-50 ::selection{--tw-bg-opacity:1!important;background-color:rgb(253 237 237/var(--tw-bg-opacity,1))!important}.selection\\:bg-supportive-lilac ::selection{--tw-bg-opacity:1!important;background-color:rgb(209 174 255/var(--tw-bg-opacity,1))!important}.selection\\:bg-negative-red-50::selection{--tw-bg-opacity:1!important;background-color:rgb(253 237 237/var(--tw-bg-opacity,1))!important}.selection\\:bg-supportive-lilac::selection{--tw-bg-opacity:1!important;background-color:rgb(209 174 255/var(--tw-bg-opacity,1))!important}.placeholder\\:text-sm::placeholder{font-size:.875rem!important;line-height:1.25rem!important}.placeholder\\:text-black-teal-200::placeholder{--tw-text-opacity:1!important;color:rgb(154 170 167/var(--tw-text-opacity,1))!important}.focus\\:outline-none:focus{outline:2px solid transparent!important;outline-offset:2px!important}";
9
+ const fieldComponentCss = "*{box-sizing:border-box}.static{position:static!important}.flex{display:flex!important}.h-4{height:1rem!important}.h-6{height:1.5rem!important}.h-8{height:2rem!important}.h-full{height:100%!important}.w-inherit{width:inherit!important}.min-w-0{min-width:0!important}.flex-1{flex:1 1 0%!important}.flex-shrink-0{flex-shrink:0!important}.cursor-not-allowed{cursor:not-allowed!important}.items-center{align-items:center!important}.justify-center{justify-content:center!important}.gap-2{gap:.5rem!important}.rounded-lg{border-radius:.5rem!important}.border{border-width:1px!important}.border-0{border-width:0!important}.border-solid{border-style:solid!important}.border-none{border-style:none!important}.border-black-teal-100{--tw-border-opacity:1!important;border-color:rgb(205 212 211/var(--tw-border-opacity,1))!important}.border-negative-red{--tw-border-opacity:1!important;border-color:rgb(230 30 30/var(--tw-border-opacity,1))!important}.border-supportive-lilac-800{--tw-border-opacity:1!important;border-color:rgb(189 140 255/var(--tw-border-opacity,1))!important}.bg-transparent{background-color:transparent!important}.bg-white{background-color:rgb(255 255 255/var(--tw-bg-opacity,1))!important}.bg-white,.bg-white-600{--tw-bg-opacity:1!important}.bg-white-600{background-color:rgb(250 250 250/var(--tw-bg-opacity,1))!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.text-center{text-align:center!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.text-black-teal{--tw-text-opacity:1!important;color:rgb(3 42 36/var(--tw-text-opacity,1))!important}.text-black-teal-100{--tw-text-opacity:1!important;color:rgb(205 212 211/var(--tw-text-opacity,1))!important}.text-black-teal-300{--tw-text-opacity:1!important;color:rgb(104 127 124/var(--tw-text-opacity,1))!important}.text-black-teal-500{--tw-text-opacity:1!important;color:rgb(3 42 36/var(--tw-text-opacity,1))!important}.text-negative-red{--tw-text-opacity:1!important;color:rgb(230 30 30/var(--tw-text-opacity,1))!important}.text-negative-red-800{--tw-text-opacity:1!important;color:rgb(141 16 16/var(--tw-text-opacity,1))!important}.outline-none{outline:2px solid transparent!important;outline-offset:2px!important}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.ring-negative-red-50{--tw-ring-opacity:1!important;--tw-ring-color:rgb(253 237 237/var(--tw-ring-opacity,1))!important}.ring-supportive-lilac-100{--tw-ring-opacity:1!important;--tw-ring-color:rgb(246 239 255/var(--tw-ring-opacity,1))!important}.selection\\:bg-negative-red-50 ::selection{--tw-bg-opacity:1!important;background-color:rgb(253 237 237/var(--tw-bg-opacity,1))!important}.selection\\:bg-supportive-lilac ::selection{--tw-bg-opacity:1!important;background-color:rgb(209 174 255/var(--tw-bg-opacity,1))!important}.selection\\:bg-negative-red-50::selection{--tw-bg-opacity:1!important;background-color:rgb(253 237 237/var(--tw-bg-opacity,1))!important}.selection\\:bg-supportive-lilac::selection{--tw-bg-opacity:1!important;background-color:rgb(209 174 255/var(--tw-bg-opacity,1))!important}.placeholder\\:text-sm::placeholder{font-size:.875rem!important;line-height:1.25rem!important}.placeholder\\:text-black-teal-200::placeholder{--tw-text-opacity:1!important;color:rgb(154 170 167/var(--tw-text-opacity,1))!important}.focus\\:outline-none:focus{outline:2px solid transparent!important;outline-offset:2px!important}";
10
10
  const PFieldStyle0 = fieldComponentCss;
11
11
 
12
- const field = cva(['flex gap-2', 'w-inherit px-2', 'border border-solid rounded-lg'], {
12
+ const field = cva(['flex gap-2', 'w-inherit', 'border-solid rounded-lg'], {
13
13
  variants: {
14
+ variant: {
15
+ read: 'border-0 items-center',
16
+ write: 'border px-2',
17
+ },
14
18
  size: {
15
- sm: 'h-6',
16
- base: 'h-8',
19
+ sm: null,
20
+ base: null,
17
21
  },
18
22
  disabled: {
19
23
  false: 'bg-white',
@@ -29,6 +33,26 @@ const field = cva(['flex gap-2', 'w-inherit px-2', 'border border-solid rounded-
29
33
  },
30
34
  },
31
35
  compoundVariants: [
36
+ {
37
+ size: 'sm',
38
+ variant: 'write',
39
+ class: 'h-6',
40
+ },
41
+ {
42
+ size: 'base',
43
+ variant: 'write',
44
+ class: 'h-8',
45
+ },
46
+ {
47
+ size: 'sm',
48
+ variant: 'read',
49
+ class: 'h-4',
50
+ },
51
+ {
52
+ size: 'base',
53
+ variant: 'read',
54
+ class: 'h-6',
55
+ },
32
56
  {
33
57
  focused: false,
34
58
  error: false,
@@ -75,6 +99,10 @@ const prefixAndSuffix = cva(['flex flex-shrink-0 justify-center items-center tex
75
99
  false: null,
76
100
  true: null,
77
101
  },
102
+ isText: {
103
+ false: null,
104
+ true: 'text-sm',
105
+ },
78
106
  },
79
107
  compoundVariants: [
80
108
  {
@@ -110,6 +138,7 @@ const Field = /*@__PURE__*/ proxyCustomElement(class Field extends HTMLElement {
110
138
  this.__attachShadow();
111
139
  this.valueChange = createEvent(this, "valueChange", 7);
112
140
  this.inputRefChange = createEvent(this, "inputRefChange", 7);
141
+ this.variant = 'write';
113
142
  this.size = 'base';
114
143
  this.type = 'text';
115
144
  this.properties = {};
@@ -149,20 +178,23 @@ const Field = /*@__PURE__*/ proxyCustomElement(class Field extends HTMLElement {
149
178
  this._checkAutoFocus();
150
179
  }
151
180
  render() {
152
- const { prefix, suffix, hasHeaderSlot, hasLabelSlot, hasHelperSlot, hasErrorSlot, } = this._getSlotInfo();
153
- return (h(Host, { key: 'cf990118b7fb2b397a4ed1d00026893fb5d65651', class: 'p-field' }, h("p-field-container", { key: '8957ddbafafbe9be741359ae9c4265bb5c2ab08d', forceShowTooltip: this.forceShowTooltip || this._focused, label: this.label, helper: this.helper, error: this.error, required: this.required }, hasLabelSlot && (h("slot", { key: 'f60081c6a1485f8066715a2e422ea5903f0963a8', name: 'label', slot: 'label' })), hasHeaderSlot && (h("slot", { key: 'e4b78626d1a79acb5b95692158b5809a4b24dd63', name: 'header', slot: 'header' })), hasHelperSlot && (h("slot", { key: '4346e4bc124d1de2ceb4ee4005eb9b661bf677dd', name: 'helper', slot: 'helper' })), hasErrorSlot && (h("slot", { key: '6d0408efce0e27da7d14dfb4aa9fffb38d3b927a', name: 'error', slot: 'error' })), h("div", { key: 'cf6aed5c63d0652a7fa0ca66c562a7c79d57dafa', class: field({
181
+ const { prefix, suffix, hasHeaderSlot, hasLabelSlot, hasHelperSlot, hasErrorSlot, hasValueSlot, } = this._getSlotInfo();
182
+ return (h(Host, { key: '1a79a5c8f8247833586cf9e8e663b5c6fe6a2bd9', class: 'p-field' }, h("p-field-container", { key: '10b84cef30d39755c90812095158541c5d653002', forceShowTooltip: this.forceShowTooltip || this._focused, label: this.label, helper: this.helper, error: this.error, required: this.required, variant: this.variant }, hasLabelSlot && (h("slot", { key: 'bffa3ae2c58bb688956bfe65652fd578968227f4', name: 'label', slot: 'label' })), hasHeaderSlot && (h("slot", { key: '1e4c706e8166014605a494c975bd16c502ff79cf', name: 'header', slot: 'header' })), hasHelperSlot && (h("slot", { key: '298572eb4da550e87443aecc0d68842eef9e9f98', name: 'helper', slot: 'helper' })), hasErrorSlot && (h("slot", { key: '4a9f6b0a99b88cffc4c0d84e31d880a3d07776b2', name: 'error', slot: 'error' })), h("div", { key: 'cc5d1bff2b66717facdf1df95e11bc4c16e401c2', class: field({
154
183
  error: !!this.error?.length,
155
184
  disabled: this.disabled,
156
185
  focused: this.focused || this._focused,
157
186
  size: this.size,
158
- }), slot: 'content' }, (prefix || (this.icon && this.iconPosition === 'start')) && (h("div", { key: 'fb6c0aa6cebc783dc15a44462bc04e89fcd13f13', class: prefixAndSuffix({
187
+ variant: this.variant,
188
+ }), slot: 'content' }, (prefix || (this.icon && this.iconPosition === 'start')) && (h("div", { key: '9a559c208e22f1c512121a81648777f5496375c9', class: prefixAndSuffix({
159
189
  error: !!this.error?.length,
160
190
  disabled: this.disabled,
161
191
  focused: this.focused || this._focused,
162
- }), onClick: () => this._focusInput() }, this.icon && this.iconPosition === 'start' ? (h("p-icon", { class: 'flex', variant: this.icon, rotate: this.iconRotate, flip: this.iconFlip })) : (prefix))), this._getInput(), (suffix || (this.icon && this.iconPosition === 'end')) && (h("div", { key: '2822280cb543d2315d062b00b52729f1603b8c6f', class: prefixAndSuffix({
192
+ isText: typeof suffix === 'string',
193
+ }), onClick: () => this._focusInput() }, this.icon && this.iconPosition === 'start' ? (h("p-icon", { class: 'flex', variant: this.icon, rotate: this.iconRotate, flip: this.iconFlip })) : (prefix))), this._getContent(hasValueSlot), (suffix || (this.icon && this.iconPosition === 'end')) && (h("div", { key: '6ae960c4a1fe98dd99d83af0035992e3aedcf86f', class: prefixAndSuffix({
163
194
  error: !!this.error?.length,
164
195
  disabled: this.disabled,
165
196
  focused: this.focused || this._focused,
197
+ isText: typeof suffix === 'string',
166
198
  }), onClick: () => this._focusInput() }, this.icon && this.iconPosition === 'end' ? (h("p-icon", { class: 'flex', variant: this.icon, rotate: this.iconRotate, flip: this.iconFlip })) : (suffix)))))));
167
199
  }
168
200
  handleFocusIn() {
@@ -185,6 +217,7 @@ const Field = /*@__PURE__*/ proxyCustomElement(class Field extends HTMLElement {
185
217
  const hasSuffixSlot = !!this._el.querySelector(':scope > [slot="suffix"]');
186
218
  const hasHeaderSlot = !!this._el.querySelector(':scope > [slot="header"]');
187
219
  const hasErrorSlot = !!this._el.querySelector(':scope > [slot="error"]');
220
+ const hasValueSlot = !!this._el.querySelector(':scope > [slot="value"]');
188
221
  const prefix = hasPrefixSlot ? h("slot", { name: 'prefix' }) : this.prefix;
189
222
  const suffix = hasSuffixSlot ? h("slot", { name: 'suffix' }) : this.suffix;
190
223
  const errorAndErrorIsNotBoolean = this.error && typeof this.error === 'string' && this.error !== 'true';
@@ -195,12 +228,16 @@ const Field = /*@__PURE__*/ proxyCustomElement(class Field extends HTMLElement {
195
228
  hasSuffixSlot,
196
229
  hasHeaderSlot,
197
230
  hasErrorSlot,
231
+ hasValueSlot,
198
232
  prefix,
199
233
  suffix,
200
234
  errorAndErrorIsNotBoolean,
201
235
  };
202
236
  }
203
- _getInput() {
237
+ _getContent(hasValueSlot = false) {
238
+ if (this.variant === 'read') {
239
+ return (h("div", { class: 'text-sm' }, hasValueSlot ? (h("slot", { name: 'value' })) : !!this.value && this.value.length > 0 ? (this.value) : ('—')));
240
+ }
204
241
  if (this.type === 'slot') {
205
242
  return h("slot", { name: 'input' });
206
243
  }
@@ -257,6 +294,7 @@ const Field = /*@__PURE__*/ proxyCustomElement(class Field extends HTMLElement {
257
294
  }
258
295
  static get style() { return PFieldStyle0; }
259
296
  }, [1, "p-field", {
297
+ "variant": [1],
260
298
  "size": [1],
261
299
  "type": [1],
262
300
  "properties": [8],
@@ -1 +1 @@
1
- {"file":"field.component.js","mappings":"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","names":[],"sources":["src/components/molecules/field/field.component.css?tag=p-field&encapsulation=shadow","src/components/molecules/field/field.component.tsx"],"sourcesContent":["","import { Placement } from '@floating-ui/dom';\nimport {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tState,\n} from '@stencil/core';\nimport { cva } from 'class-variance-authority';\nimport { HTMLInputTypeAttribute } from 'react';\nimport { RotateOptions } from '../../../types/tailwind';\nimport { IconFlipOptions, IconVariant } from '../../atoms/icon/icon.component';\nimport { templateFunc } from '../field-container/field-container.component';\n\nconst field = cva(\n\t['flex gap-2', 'w-inherit px-2', 'border border-solid rounded-lg'],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\tsm: 'h-6',\n\t\t\t\tbase: 'h-8',\n\t\t\t},\n\t\t\tdisabled: {\n\t\t\t\tfalse: 'bg-white',\n\t\t\t\ttrue: 'bg-white-600 cursor-not-allowed',\n\t\t\t},\n\t\t\tfocused: {\n\t\t\t\tfalse: null,\n\t\t\t\ttrue: null,\n\t\t\t},\n\t\t\terror: {\n\t\t\t\tfalse: null,\n\t\t\t\ttrue: null,\n\t\t\t},\n\t\t},\n\t\tcompoundVariants: [\n\t\t\t{\n\t\t\t\tfocused: false,\n\t\t\t\terror: false,\n\t\t\t\tclass: 'border-black-teal-100',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisabled: false,\n\t\t\t\tfocused: true,\n\t\t\t\terror: false,\n\t\t\t\tclass:\n\t\t\t\t\t'border-supportive-lilac-800 ring ring-supportive-lilac-100 selection:bg-supportive-lilac',\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisabled: false,\n\t\t\t\terror: true,\n\t\t\t\tclass: 'border-negative-red',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisabled: false,\n\t\t\t\tfocused: true,\n\t\t\t\terror: true,\n\t\t\t\tclass: 'ring ring-negative-red-50 selection:bg-negative-red-50',\n\t\t\t},\n\t\t],\n\t}\n);\n\nconst input = cva(\n\t'text-sm placeholder:text-sm placeholder:text-black-teal-200 text-black-teal border-none outline-none focus:outline-none bg-transparent flex-1 min-w-0 h-full',\n\t{\n\t\tvariants: {\n\t\t\tdisabled: {\n\t\t\t\tfalse: null,\n\t\t\t\ttrue: 'cursor-not-allowed',\n\t\t\t},\n\t\t},\n\t}\n);\n\nconst prefixAndSuffix = cva(\n\t['flex flex-shrink-0 justify-center items-center text-center'],\n\t{\n\t\tvariants: {\n\t\t\tdisabled: {\n\t\t\t\tfalse: null,\n\t\t\t\ttrue: 'text-black-teal-100',\n\t\t\t},\n\t\t\tfocused: {\n\t\t\t\tfalse: null,\n\t\t\t\ttrue: null,\n\t\t\t},\n\t\t\terror: {\n\t\t\t\tfalse: null,\n\t\t\t\ttrue: null,\n\t\t\t},\n\t\t},\n\t\tcompoundVariants: [\n\t\t\t{\n\t\t\t\tdisabled: false,\n\t\t\t\tfocused: false,\n\t\t\t\terror: false,\n\t\t\t\tclass: 'text-black-teal-300',\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisabled: false,\n\t\t\t\tfocused: true,\n\t\t\t\terror: false,\n\t\t\t\tclass: 'text-black-teal-500',\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisabled: false,\n\t\t\t\tfocused: false,\n\t\t\t\terror: true,\n\t\t\t\tclass: 'text-negative-red',\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisabled: false,\n\t\t\t\tfocused: true,\n\t\t\t\terror: true,\n\t\t\t\tclass: 'text-negative-red-800',\n\t\t\t},\n\t\t],\n\t}\n);\n\n@Component({\n\ttag: 'p-field',\n\tstyleUrl: './field.component.css',\n\tshadow: true,\n})\nexport class Field {\n\t/**\n\t * The size of the input group\n\t */\n\t@Prop() size: 'sm' | 'base' = 'base';\n\n\t/**\n\t * The type of the input group\n\t */\n\t@Prop() type: HTMLInputTypeAttribute | 'textarea' | 'slot' = 'text';\n\n\t/**\n\t * The size of the input group\n\t */\n\t@Prop() properties: any | string = {};\n\n\t/**\n\t * The prefix of the input group\n\t */\n\t@Prop() prefix: string;\n\n\t/**\n\t * The suffix of the input group\n\t */\n\t@Prop() suffix: string;\n\n\t/**\n\t * Icon of the input group\n\t */\n\t@Prop() icon: IconVariant;\n\n\t/**\n\t * Icon flip */\n\t@Prop() iconFlip: IconFlipOptions;\n\n\t/**\n\t * Icon rotate\n\t */\n\t@Prop() iconRotate: RotateOptions;\n\n\t/**\n\t * Icon position\n\t */\n\t@Prop() iconPosition: 'start' | 'end' = 'start';\n\n\t/**\n\t * The value of the input\n\t */\n\t@Prop() value: string;\n\n\t/**\n\t * The label of the input group\n\t */\n\t@Prop() label: string;\n\n\t/**\n\t * The placeholder of the input\n\t */\n\t@Prop() placeholder: string;\n\n\t/**\n\t * The helper of the input group\n\t */\n\t@Prop() helper: string;\n\n\t/**\n\t * Wether the field is required\n\t */\n\t@Prop({ reflect: true }) required: boolean = true;\n\n\t/**\n\t * Wether to autofocus the field\n\t */\n\t@Prop({ reflect: true }) autofocus: boolean = false;\n\n\t/**\n\t * The error to display\n\t */\n\t@Prop({ reflect: true }) error: string;\n\n\t/**\n\t * The placement of the error popover\n\t */\n\t@Prop() errorPlacement: Placement;\n\n\t/**\n\t * Wether the input group is disabled\n\t */\n\t@Prop({ reflect: true }) disabled: boolean = false;\n\n\t/**\n\t * Wether the input group is focused\n\t */\n\t@Prop({ reflect: true }) focused: boolean = false;\n\n\t/**\n\t * Force show the error tooltip\n\t */\n\t@Prop({ reflect: true }) forceShowTooltip: boolean = false;\n\n\t/**\n\t * Wether to select all text on focus\n\t */\n\t@Prop({ reflect: true }) selectAllOnFocus: boolean = true;\n\n\t/**\n\t * The method to use when focusing the input\n\t */\n\t@Prop() focusMethod: 'focus' | 'click' = 'focus';\n\n\t/**\n\t * The template for the optional text\n\t */\n\t@Prop() optionalTemplate: templateFunc;\n\n\t/**\n\t * Event whenever the value changes\n\t */\n\t@Event() valueChange: EventEmitter<string>;\n\n\t/**\n\t * Event whenever the input ref changes\n\t */\n\t@Event() inputRefChange: EventEmitter<HTMLInputElement | HTMLTextAreaElement>;\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@State() private _focused = false;\n\n\tprivate _inputRef: HTMLInputElement | HTMLTextAreaElement;\n\n\tcomponentDidLoad() {\n\t\tthis._checkAutoFocus();\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tprefix,\n\t\t\tsuffix,\n\t\t\thasHeaderSlot,\n\t\t\thasLabelSlot,\n\t\t\thasHelperSlot,\n\t\t\thasErrorSlot,\n\t\t} = this._getSlotInfo();\n\n\t\treturn (\n\t\t\t<Host class='p-field'>\n\t\t\t\t<p-field-container\n\t\t\t\t\tforceShowTooltip={this.forceShowTooltip || this._focused}\n\t\t\t\t\tlabel={this.label}\n\t\t\t\t\thelper={this.helper}\n\t\t\t\t\terror={this.error}\n\t\t\t\t\trequired={this.required}\n\t\t\t\t>\n\t\t\t\t\t{hasLabelSlot && (\n\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\tname='label'\n\t\t\t\t\t\t\tslot='label'\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{hasHeaderSlot && (\n\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\tname='header'\n\t\t\t\t\t\t\tslot='header'\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{hasHelperSlot && (\n\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\tname='helper'\n\t\t\t\t\t\t\tslot='helper'\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{hasErrorSlot && (\n\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\tname='error'\n\t\t\t\t\t\t\tslot='error'\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={field({\n\t\t\t\t\t\t\terror: !!this.error?.length,\n\t\t\t\t\t\t\tdisabled: this.disabled,\n\t\t\t\t\t\t\tfocused: this.focused || this._focused,\n\t\t\t\t\t\t\tsize: this.size,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tslot='content'\n\t\t\t\t\t>\n\t\t\t\t\t\t{(prefix || (this.icon && this.iconPosition === 'start')) && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass={prefixAndSuffix({\n\t\t\t\t\t\t\t\t\terror: !!this.error?.length,\n\t\t\t\t\t\t\t\t\tdisabled: this.disabled,\n\t\t\t\t\t\t\t\t\tfocused: this.focused || this._focused,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\tonClick={() => this._focusInput()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this.icon && this.iconPosition === 'start' ? (\n\t\t\t\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\t\t\t\tclass='flex'\n\t\t\t\t\t\t\t\t\t\tvariant={this.icon}\n\t\t\t\t\t\t\t\t\t\trotate={this.iconRotate}\n\t\t\t\t\t\t\t\t\t\tflip={this.iconFlip}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\tprefix\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{this._getInput()}\n\n\t\t\t\t\t\t{(suffix || (this.icon && this.iconPosition === 'end')) && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass={prefixAndSuffix({\n\t\t\t\t\t\t\t\t\terror: !!this.error?.length,\n\t\t\t\t\t\t\t\t\tdisabled: this.disabled,\n\t\t\t\t\t\t\t\t\tfocused: this.focused || this._focused,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\tonClick={() => this._focusInput()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this.icon && this.iconPosition === 'end' ? (\n\t\t\t\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\t\t\t\tclass='flex'\n\t\t\t\t\t\t\t\t\t\tvariant={this.icon}\n\t\t\t\t\t\t\t\t\t\trotate={this.iconRotate}\n\t\t\t\t\t\t\t\t\t\tflip={this.iconFlip}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\tsuffix\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</p-field-container>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('focusin')\n\thandleFocusIn() {\n\t\tif (this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._focused = true;\n\t\tthis._selectAll();\n\t}\n\n\t@Listen('focusout')\n\thandleFocusOut() {\n\t\tif (this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._focused = false;\n\t}\n\n\tprivate _getSlotInfo() {\n\t\tconst hasHelperSlot = !!this._el.querySelector(':scope > [slot=\"helper\"]');\n\t\tconst hasLabelSlot = !!this._el.querySelector(':scope > [slot=\"label\"]');\n\t\tconst hasPrefixSlot = !!this._el.querySelector(':scope > [slot=\"prefix\"]');\n\t\tconst hasSuffixSlot = !!this._el.querySelector(':scope > [slot=\"suffix\"]');\n\t\tconst hasHeaderSlot = !!this._el.querySelector(':scope > [slot=\"header\"]');\n\t\tconst hasErrorSlot = !!this._el.querySelector(':scope > [slot=\"error\"]');\n\n\t\tconst prefix = hasPrefixSlot ? <slot name='prefix' /> : this.prefix;\n\t\tconst suffix = hasSuffixSlot ? <slot name='suffix' /> : this.suffix;\n\n\t\tconst errorAndErrorIsNotBoolean =\n\t\t\tthis.error && typeof this.error === 'string' && this.error !== 'true';\n\n\t\treturn {\n\t\t\thasHelperSlot,\n\t\t\thasLabelSlot,\n\t\t\thasPrefixSlot,\n\t\t\thasSuffixSlot,\n\t\t\thasHeaderSlot,\n\t\t\thasErrorSlot,\n\t\t\tprefix,\n\t\t\tsuffix,\n\t\t\terrorAndErrorIsNotBoolean,\n\t\t};\n\t}\n\n\tprivate _getInput() {\n\t\tif (this.type === 'slot') {\n\t\t\treturn <slot name='input' />;\n\t\t}\n\n\t\tconst props = {\n\t\t\tclass: input({\n\t\t\t\tdisabled: this.disabled,\n\t\t\t}),\n\t\t\tvalue: this.value,\n\t\t\tplaceholder: this.placeholder,\n\t\t\tdisabled: this.disabled,\n\t\t\tonInput: (ev: Event) => this._valueChange(ev),\n\t\t};\n\n\t\tlet properties = this.properties ?? {};\n\t\tif (typeof properties === 'string') {\n\t\t\tproperties = JSON.parse(this.properties);\n\t\t}\n\n\t\tif (this.type === 'textarea') {\n\t\t\t<textarea\n\t\t\t\tref={ref => this._setInputRef(ref)}\n\t\t\t\t{...props}\n\t\t\t\t{...properties}\n\t\t\t/>;\n\t\t}\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\ttype={this.type}\n\t\t\t\tref={ref => this._setInputRef(ref)}\n\t\t\t\t{...props}\n\t\t\t\t{...properties}\n\t\t\t/>\n\t\t);\n\t}\n\n\tprivate _setInputRef(ref: HTMLInputElement | HTMLTextAreaElement) {\n\t\tthis._inputRef = ref;\n\t\tthis.inputRefChange.emit(ref);\n\t}\n\n\tprivate _focusInput() {\n\t\tif (this._inputRef) {\n\t\t\tthis._inputRef.focus();\n\t\t\treturn;\n\t\t}\n\n\t\tconst input = this._el.querySelector(':scope > [slot=\"input\"]');\n\t\t(input as HTMLElement)[this.focusMethod]();\n\t}\n\n\tprivate _selectAll() {\n\t\tif (!this._inputRef || !this.selectAllOnFocus) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._inputRef.select();\n\t}\n\n\tprivate _valueChange(ev) {\n\t\tconst value = (ev.target as HTMLTextAreaElement | HTMLInputElement).value;\n\t\tthis.value = value;\n\t\tthis.valueChange.emit(value);\n\t}\n\n\tprivate _checkAutoFocus() {\n\t\tif (!this.autofocus) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._inputRef) {\n\t\t\tsetTimeout(() => this._checkAutoFocus(), 100);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._focusInput();\n\t}\n}\n"],"version":3}
1
+ {"file":"field.component.js","mappings":"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","names":[],"sources":["src/components/molecules/field/field.component.css?tag=p-field&encapsulation=shadow","src/components/molecules/field/field.component.tsx"],"sourcesContent":["","import { Placement } from '@floating-ui/dom';\nimport {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tState,\n} from '@stencil/core';\nimport { cva } from 'class-variance-authority';\nimport { HTMLInputTypeAttribute } from 'react';\nimport { RotateOptions } from '../../../types/tailwind';\nimport { IconFlipOptions, IconVariant } from '../../atoms/icon/icon.component';\nimport { templateFunc } from '../field-container/field-container.component';\n\nconst field = cva(['flex gap-2', 'w-inherit', 'border-solid rounded-lg'], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tread: 'border-0 items-center',\n\t\t\twrite: 'border px-2',\n\t\t},\n\t\tsize: {\n\t\t\tsm: null,\n\t\t\tbase: null,\n\t\t},\n\t\tdisabled: {\n\t\t\tfalse: 'bg-white',\n\t\t\ttrue: 'bg-white-600 cursor-not-allowed',\n\t\t},\n\t\tfocused: {\n\t\t\tfalse: null,\n\t\t\ttrue: null,\n\t\t},\n\t\terror: {\n\t\t\tfalse: null,\n\t\t\ttrue: null,\n\t\t},\n\t},\n\tcompoundVariants: [\n\t\t{\n\t\t\tsize: 'sm',\n\t\t\tvariant: 'write',\n\t\t\tclass: 'h-6',\n\t\t},\n\t\t{\n\t\t\tsize: 'base',\n\t\t\tvariant: 'write',\n\t\t\tclass: 'h-8',\n\t\t},\n\n\t\t{\n\t\t\tsize: 'sm',\n\t\t\tvariant: 'read',\n\t\t\tclass: 'h-4',\n\t\t},\n\t\t{\n\t\t\tsize: 'base',\n\t\t\tvariant: 'read',\n\t\t\tclass: 'h-6',\n\t\t},\n\n\t\t{\n\t\t\tfocused: false,\n\t\t\terror: false,\n\t\t\tclass: 'border-black-teal-100',\n\t\t},\n\t\t{\n\t\t\tdisabled: false,\n\t\t\tfocused: true,\n\t\t\terror: false,\n\t\t\tclass:\n\t\t\t\t'border-supportive-lilac-800 ring ring-supportive-lilac-100 selection:bg-supportive-lilac',\n\t\t},\n\n\t\t{\n\t\t\tdisabled: false,\n\t\t\terror: true,\n\t\t\tclass: 'border-negative-red',\n\t\t},\n\t\t{\n\t\t\tdisabled: false,\n\t\t\tfocused: true,\n\t\t\terror: true,\n\t\t\tclass: 'ring ring-negative-red-50 selection:bg-negative-red-50',\n\t\t},\n\t],\n});\n\nconst input = cva(\n\t'text-sm placeholder:text-sm placeholder:text-black-teal-200 text-black-teal border-none outline-none focus:outline-none bg-transparent flex-1 min-w-0 h-full',\n\t{\n\t\tvariants: {\n\t\t\tdisabled: {\n\t\t\t\tfalse: null,\n\t\t\t\ttrue: 'cursor-not-allowed',\n\t\t\t},\n\t\t},\n\t}\n);\n\nconst prefixAndSuffix = cva(\n\t['flex flex-shrink-0 justify-center items-center text-center'],\n\t{\n\t\tvariants: {\n\t\t\tdisabled: {\n\t\t\t\tfalse: null,\n\t\t\t\ttrue: 'text-black-teal-100',\n\t\t\t},\n\t\t\tfocused: {\n\t\t\t\tfalse: null,\n\t\t\t\ttrue: null,\n\t\t\t},\n\t\t\terror: {\n\t\t\t\tfalse: null,\n\t\t\t\ttrue: null,\n\t\t\t},\n\t\t\tisText: {\n\t\t\t\tfalse: null,\n\t\t\t\ttrue: 'text-sm',\n\t\t\t},\n\t\t},\n\t\tcompoundVariants: [\n\t\t\t{\n\t\t\t\tdisabled: false,\n\t\t\t\tfocused: false,\n\t\t\t\terror: false,\n\t\t\t\tclass: 'text-black-teal-300',\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisabled: false,\n\t\t\t\tfocused: true,\n\t\t\t\terror: false,\n\t\t\t\tclass: 'text-black-teal-500',\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisabled: false,\n\t\t\t\tfocused: false,\n\t\t\t\terror: true,\n\t\t\t\tclass: 'text-negative-red',\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tdisabled: false,\n\t\t\t\tfocused: true,\n\t\t\t\terror: true,\n\t\t\t\tclass: 'text-negative-red-800',\n\t\t\t},\n\t\t],\n\t}\n);\n\n@Component({\n\ttag: 'p-field',\n\tstyleUrl: './field.component.css',\n\tshadow: true,\n})\nexport class Field {\n\t/**\n\t * The variant of the field\n\t */\n\t@Prop() variant: 'read' | 'write' = 'write';\n\n\t/**\n\t * The size of the field\n\t */\n\t@Prop() size: 'sm' | 'base' = 'base';\n\n\t/**\n\t * The type of the field\n\t */\n\t@Prop() type: HTMLInputTypeAttribute | 'textarea' | 'slot' = 'text';\n\n\t/**\n\t * The size of the field\n\t */\n\t@Prop() properties: any | string = {};\n\n\t/**\n\t * The prefix of the field\n\t */\n\t@Prop() prefix: string;\n\n\t/**\n\t * The suffix of the field\n\t */\n\t@Prop() suffix: string;\n\n\t/**\n\t * Icon of the field\n\t */\n\t@Prop() icon: IconVariant;\n\n\t/**\n\t * Icon flip */\n\t@Prop() iconFlip: IconFlipOptions;\n\n\t/**\n\t * Icon rotate\n\t */\n\t@Prop() iconRotate: RotateOptions;\n\n\t/**\n\t * Icon position\n\t */\n\t@Prop() iconPosition: 'start' | 'end' = 'start';\n\n\t/**\n\t * The value of the input\n\t */\n\t@Prop() value: string;\n\n\t/**\n\t * The label of the field\n\t */\n\t@Prop() label: string;\n\n\t/**\n\t * The placeholder of the input\n\t */\n\t@Prop() placeholder: string;\n\n\t/**\n\t * The helper of the field\n\t */\n\t@Prop() helper: string;\n\n\t/**\n\t * Wether the field is required\n\t */\n\t@Prop({ reflect: true }) required: boolean = true;\n\n\t/**\n\t * Wether to autofocus the field\n\t */\n\t@Prop({ reflect: true }) autofocus: boolean = false;\n\n\t/**\n\t * The error to display\n\t */\n\t@Prop({ reflect: true }) error: string;\n\n\t/**\n\t * The placement of the error popover\n\t */\n\t@Prop() errorPlacement: Placement;\n\n\t/**\n\t * Wether the field is disabled\n\t */\n\t@Prop({ reflect: true }) disabled: boolean = false;\n\n\t/**\n\t * Wether the field is focused\n\t */\n\t@Prop({ reflect: true }) focused: boolean = false;\n\n\t/**\n\t * Force show the error tooltip\n\t */\n\t@Prop({ reflect: true }) forceShowTooltip: boolean = false;\n\n\t/**\n\t * Wether to select all text on focus\n\t */\n\t@Prop({ reflect: true }) selectAllOnFocus: boolean = true;\n\n\t/**\n\t * The method to use when focusing the input\n\t */\n\t@Prop() focusMethod: 'focus' | 'click' = 'focus';\n\n\t/**\n\t * The template for the optional text\n\t */\n\t@Prop() optionalTemplate: templateFunc;\n\n\t/**\n\t * Event whenever the value changes\n\t */\n\t@Event() valueChange: EventEmitter<string>;\n\n\t/**\n\t * Event whenever the input ref changes\n\t */\n\t@Event() inputRefChange: EventEmitter<HTMLInputElement | HTMLTextAreaElement>;\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@State() private _focused = false;\n\n\tprivate _inputRef: HTMLInputElement | HTMLTextAreaElement;\n\n\tcomponentDidLoad() {\n\t\tthis._checkAutoFocus();\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tprefix,\n\t\t\tsuffix,\n\t\t\thasHeaderSlot,\n\t\t\thasLabelSlot,\n\t\t\thasHelperSlot,\n\t\t\thasErrorSlot,\n\t\t\thasValueSlot,\n\t\t} = this._getSlotInfo();\n\n\t\treturn (\n\t\t\t<Host class='p-field'>\n\t\t\t\t<p-field-container\n\t\t\t\t\tforceShowTooltip={this.forceShowTooltip || this._focused}\n\t\t\t\t\tlabel={this.label}\n\t\t\t\t\thelper={this.helper}\n\t\t\t\t\terror={this.error}\n\t\t\t\t\trequired={this.required}\n\t\t\t\t\tvariant={this.variant}\n\t\t\t\t>\n\t\t\t\t\t{hasLabelSlot && (\n\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\tname='label'\n\t\t\t\t\t\t\tslot='label'\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{hasHeaderSlot && (\n\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\tname='header'\n\t\t\t\t\t\t\tslot='header'\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{hasHelperSlot && (\n\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\tname='helper'\n\t\t\t\t\t\t\tslot='helper'\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{hasErrorSlot && (\n\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\tname='error'\n\t\t\t\t\t\t\tslot='error'\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={field({\n\t\t\t\t\t\t\terror: !!this.error?.length,\n\t\t\t\t\t\t\tdisabled: this.disabled,\n\t\t\t\t\t\t\tfocused: this.focused || this._focused,\n\t\t\t\t\t\t\tsize: this.size,\n\t\t\t\t\t\t\tvariant: this.variant,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tslot='content'\n\t\t\t\t\t>\n\t\t\t\t\t\t{(prefix || (this.icon && this.iconPosition === 'start')) && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass={prefixAndSuffix({\n\t\t\t\t\t\t\t\t\terror: !!this.error?.length,\n\t\t\t\t\t\t\t\t\tdisabled: this.disabled,\n\t\t\t\t\t\t\t\t\tfocused: this.focused || this._focused,\n\t\t\t\t\t\t\t\t\tisText: typeof suffix === 'string',\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\tonClick={() => this._focusInput()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this.icon && this.iconPosition === 'start' ? (\n\t\t\t\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\t\t\t\tclass='flex'\n\t\t\t\t\t\t\t\t\t\tvariant={this.icon}\n\t\t\t\t\t\t\t\t\t\trotate={this.iconRotate}\n\t\t\t\t\t\t\t\t\t\tflip={this.iconFlip}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\tprefix\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{this._getContent(hasValueSlot)}\n\n\t\t\t\t\t\t{(suffix || (this.icon && this.iconPosition === 'end')) && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass={prefixAndSuffix({\n\t\t\t\t\t\t\t\t\terror: !!this.error?.length,\n\t\t\t\t\t\t\t\t\tdisabled: this.disabled,\n\t\t\t\t\t\t\t\t\tfocused: this.focused || this._focused,\n\t\t\t\t\t\t\t\t\tisText: typeof suffix === 'string',\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\tonClick={() => this._focusInput()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this.icon && this.iconPosition === 'end' ? (\n\t\t\t\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\t\t\t\tclass='flex'\n\t\t\t\t\t\t\t\t\t\tvariant={this.icon}\n\t\t\t\t\t\t\t\t\t\trotate={this.iconRotate}\n\t\t\t\t\t\t\t\t\t\tflip={this.iconFlip}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\tsuffix\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</p-field-container>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('focusin')\n\thandleFocusIn() {\n\t\tif (this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._focused = true;\n\t\tthis._selectAll();\n\t}\n\n\t@Listen('focusout')\n\thandleFocusOut() {\n\t\tif (this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._focused = false;\n\t}\n\n\tprivate _getSlotInfo() {\n\t\tconst hasHelperSlot = !!this._el.querySelector(':scope > [slot=\"helper\"]');\n\t\tconst hasLabelSlot = !!this._el.querySelector(':scope > [slot=\"label\"]');\n\t\tconst hasPrefixSlot = !!this._el.querySelector(':scope > [slot=\"prefix\"]');\n\t\tconst hasSuffixSlot = !!this._el.querySelector(':scope > [slot=\"suffix\"]');\n\t\tconst hasHeaderSlot = !!this._el.querySelector(':scope > [slot=\"header\"]');\n\t\tconst hasErrorSlot = !!this._el.querySelector(':scope > [slot=\"error\"]');\n\t\tconst hasValueSlot = !!this._el.querySelector(':scope > [slot=\"value\"]');\n\n\t\tconst prefix = hasPrefixSlot ? <slot name='prefix' /> : this.prefix;\n\t\tconst suffix = hasSuffixSlot ? <slot name='suffix' /> : this.suffix;\n\n\t\tconst errorAndErrorIsNotBoolean =\n\t\t\tthis.error && typeof this.error === 'string' && this.error !== 'true';\n\n\t\treturn {\n\t\t\thasHelperSlot,\n\t\t\thasLabelSlot,\n\t\t\thasPrefixSlot,\n\t\t\thasSuffixSlot,\n\t\t\thasHeaderSlot,\n\t\t\thasErrorSlot,\n\t\t\thasValueSlot,\n\t\t\tprefix,\n\t\t\tsuffix,\n\t\t\terrorAndErrorIsNotBoolean,\n\t\t};\n\t}\n\n\tprivate _getContent(hasValueSlot = false) {\n\t\tif (this.variant === 'read') {\n\t\t\treturn (\n\t\t\t\t<div class='text-sm'>\n\t\t\t\t\t{hasValueSlot ? (\n\t\t\t\t\t\t<slot name='value' />\n\t\t\t\t\t) : !!this.value && this.value.length > 0 ? (\n\t\t\t\t\t\tthis.value\n\t\t\t\t\t) : (\n\t\t\t\t\t\t'—'\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif (this.type === 'slot') {\n\t\t\treturn <slot name='input' />;\n\t\t}\n\n\t\tconst props = {\n\t\t\tclass: input({\n\t\t\t\tdisabled: this.disabled,\n\t\t\t}),\n\t\t\tvalue: this.value,\n\t\t\tplaceholder: this.placeholder,\n\t\t\tdisabled: this.disabled,\n\t\t\tonInput: (ev: Event) => this._valueChange(ev),\n\t\t};\n\n\t\tlet properties = this.properties ?? {};\n\t\tif (typeof properties === 'string') {\n\t\t\tproperties = JSON.parse(this.properties);\n\t\t}\n\n\t\tif (this.type === 'textarea') {\n\t\t\t<textarea\n\t\t\t\tref={ref => this._setInputRef(ref)}\n\t\t\t\t{...props}\n\t\t\t\t{...properties}\n\t\t\t/>;\n\t\t}\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\ttype={this.type}\n\t\t\t\tref={ref => this._setInputRef(ref)}\n\t\t\t\t{...props}\n\t\t\t\t{...properties}\n\t\t\t/>\n\t\t);\n\t}\n\n\tprivate _setInputRef(ref: HTMLInputElement | HTMLTextAreaElement) {\n\t\tthis._inputRef = ref;\n\t\tthis.inputRefChange.emit(ref);\n\t}\n\n\tprivate _focusInput() {\n\t\tif (this._inputRef) {\n\t\t\tthis._inputRef.focus();\n\t\t\treturn;\n\t\t}\n\n\t\tconst input = this._el.querySelector(':scope > [slot=\"input\"]');\n\t\t(input as HTMLElement)[this.focusMethod]();\n\t}\n\n\tprivate _selectAll() {\n\t\tif (!this._inputRef || !this.selectAllOnFocus) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._inputRef.select();\n\t}\n\n\tprivate _valueChange(ev) {\n\t\tconst value = (ev.target as HTMLTextAreaElement | HTMLInputElement).value;\n\t\tthis.value = value;\n\t\tthis.valueChange.emit(value);\n\t}\n\n\tprivate _checkAutoFocus() {\n\t\tif (!this.autofocus) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._inputRef) {\n\t\t\tsetTimeout(() => this._checkAutoFocus(), 100);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._focusInput();\n\t}\n}\n"],"version":3}