@foxy.io/elements 1.27.0-beta.3 → 1.27.0-beta.4

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 (151) hide show
  1. package/dist/cdn/foxy-cancellation-form.js +1 -1
  2. package/dist/cdn/foxy-cart-form.js +1 -1
  3. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  4. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  5. package/dist/cdn/foxy-coupon-form.js +1 -1
  6. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  7. package/dist/cdn/foxy-customer-portal.js +2 -2
  8. package/dist/cdn/foxy-customer.js +1 -1
  9. package/dist/cdn/foxy-donation.js +1 -1
  10. package/dist/cdn/foxy-downloadable-form.js +1 -1
  11. package/dist/cdn/foxy-email-template-form.js +1 -1
  12. package/dist/cdn/foxy-error-entry-card.js +1 -1
  13. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  14. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  15. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  16. package/dist/cdn/foxy-gift-card-form.js +1 -1
  17. package/dist/cdn/foxy-item-category-form.js +1 -1
  18. package/dist/cdn/foxy-item-form.js +2 -2
  19. package/dist/cdn/foxy-item-option-form.js +1 -1
  20. package/dist/cdn/foxy-items-form.js +1 -1
  21. package/dist/cdn/foxy-native-integration-form.js +1 -1
  22. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  23. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  24. package/dist/cdn/foxy-report-form.js +1 -1
  25. package/dist/cdn/foxy-store-form.js +1 -1
  26. package/dist/cdn/foxy-subscription-form.js +1 -1
  27. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  28. package/dist/cdn/foxy-tax-form.js +1 -1
  29. package/dist/cdn/foxy-template-config-form.js +1 -1
  30. package/dist/cdn/foxy-template-form.js +1 -1
  31. package/dist/cdn/foxy-transaction.js +1 -1
  32. package/dist/cdn/foxy-user-form.js +1 -1
  33. package/dist/cdn/foxy-users-table.js +1 -1
  34. package/dist/cdn/{shared-bbc0cdd6.js → shared-5c0e3fee.js} +1 -1
  35. package/dist/cdn/shared-6e9adc43.js +1 -0
  36. package/dist/cdn/shared-9de9f905.js +1 -0
  37. package/dist/cdn/{shared-40bece2b.js → shared-c0c7225c.js} +1 -1
  38. package/dist/cdn/{shared-352c79a6.js → shared-d7892f27.js} +1 -1
  39. package/dist/cdn/{shared-6e508e5b.js → shared-e4543605.js} +1 -1
  40. package/dist/cdn/translations/coupon-codes-form/en.json +12 -14
  41. package/dist/cdn/translations/coupon-form/en.json +46 -24
  42. package/dist/cdn/translations/generate-codes-form/en.json +34 -14
  43. package/dist/cdn/translations/gift-card-codes-form/en.json +18 -19
  44. package/dist/cdn/translations/gift-card-form/en.json +52 -32
  45. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js +17 -3
  46. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js.map +1 -1
  47. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.d.ts +0 -2
  48. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js +1 -8
  49. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js.map +1 -1
  50. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.d.ts +0 -2
  51. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js +1 -8
  52. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js.map +1 -1
  53. package/dist/elements/private/Checkbox/Checkbox.d.ts +1 -0
  54. package/dist/elements/private/Checkbox/Checkbox.js +1 -0
  55. package/dist/elements/private/Checkbox/Checkbox.js.map +1 -1
  56. package/dist/elements/private/Choice/Choice.d.ts +1 -0
  57. package/dist/elements/private/Choice/Choice.js +1 -0
  58. package/dist/elements/private/Choice/Choice.js.map +1 -1
  59. package/dist/elements/private/Dropdown/Dropdown.d.ts +1 -0
  60. package/dist/elements/private/Dropdown/Dropdown.js +1 -0
  61. package/dist/elements/private/Dropdown/Dropdown.js.map +1 -1
  62. package/dist/elements/private/EditableList/EditableList.d.ts +1 -0
  63. package/dist/elements/private/EditableList/EditableList.js +1 -0
  64. package/dist/elements/private/EditableList/EditableList.js.map +1 -1
  65. package/dist/elements/private/ErrorScreen/ErrorScreen.d.ts +1 -0
  66. package/dist/elements/private/ErrorScreen/ErrorScreen.js +1 -0
  67. package/dist/elements/private/ErrorScreen/ErrorScreen.js.map +1 -1
  68. package/dist/elements/private/FrequencyInput/FrequencyInput.d.ts +1 -0
  69. package/dist/elements/private/FrequencyInput/FrequencyInput.js +1 -0
  70. package/dist/elements/private/FrequencyInput/FrequencyInput.js.map +1 -1
  71. package/dist/elements/private/Group/Group.d.ts +1 -0
  72. package/dist/elements/private/Group/Group.js +1 -0
  73. package/dist/elements/private/Group/Group.js.map +1 -1
  74. package/dist/elements/private/I18N/I18N.d.ts +1 -0
  75. package/dist/elements/private/I18N/I18N.js +1 -0
  76. package/dist/elements/private/I18N/I18N.js.map +1 -1
  77. package/dist/elements/private/List/List.d.ts +1 -0
  78. package/dist/elements/private/List/List.js +1 -0
  79. package/dist/elements/private/List/List.js.map +1 -1
  80. package/dist/elements/private/LoadingScreen/LoadingScreen.d.ts +1 -0
  81. package/dist/elements/private/LoadingScreen/LoadingScreen.js +1 -0
  82. package/dist/elements/private/LoadingScreen/LoadingScreen.js.map +1 -1
  83. package/dist/elements/private/Metadata/Metadata.d.ts +1 -0
  84. package/dist/elements/private/Metadata/Metadata.js +1 -0
  85. package/dist/elements/private/Metadata/Metadata.js.map +1 -1
  86. package/dist/elements/private/MonthdayPicker/MonthdayPicker.d.ts +1 -0
  87. package/dist/elements/private/MonthdayPicker/MonthdayPicker.js +1 -0
  88. package/dist/elements/private/MonthdayPicker/MonthdayPicker.js.map +1 -1
  89. package/dist/elements/private/Page/Page.d.ts +1 -0
  90. package/dist/elements/private/Page/Page.js +1 -0
  91. package/dist/elements/private/Page/Page.js.map +1 -1
  92. package/dist/elements/private/Section/Section.d.ts +1 -0
  93. package/dist/elements/private/Section/Section.js +1 -0
  94. package/dist/elements/private/Section/Section.js.map +1 -1
  95. package/dist/elements/private/Skeleton/Skeleton.d.ts +1 -0
  96. package/dist/elements/private/Skeleton/Skeleton.js +1 -0
  97. package/dist/elements/private/Skeleton/Skeleton.js.map +1 -1
  98. package/dist/elements/private/Switch/Switch.d.ts +1 -0
  99. package/dist/elements/private/Switch/Switch.js +1 -0
  100. package/dist/elements/private/Switch/Switch.js.map +1 -1
  101. package/dist/elements/private/Tabs/Tabs.d.ts +1 -0
  102. package/dist/elements/private/Tabs/Tabs.js +1 -0
  103. package/dist/elements/private/Tabs/Tabs.js.map +1 -1
  104. package/dist/elements/private/Warning/Warning.d.ts +1 -0
  105. package/dist/elements/private/Warning/Warning.js +1 -0
  106. package/dist/elements/private/Warning/Warning.js.map +1 -1
  107. package/dist/elements/private/WeekdayPicker/WeekdayPicker.d.ts +1 -0
  108. package/dist/elements/private/WeekdayPicker/WeekdayPicker.js +1 -0
  109. package/dist/elements/private/WeekdayPicker/WeekdayPicker.js.map +1 -1
  110. package/dist/elements/public/CancellationForm/CancellationForm.d.ts +1 -0
  111. package/dist/elements/public/CancellationForm/CancellationForm.js +1 -0
  112. package/dist/elements/public/CancellationForm/CancellationForm.js.map +1 -1
  113. package/dist/elements/public/CouponCodesForm/CouponCodesForm.d.ts +17 -17
  114. package/dist/elements/public/CouponCodesForm/CouponCodesForm.js +42 -196
  115. package/dist/elements/public/CouponCodesForm/CouponCodesForm.js.map +1 -1
  116. package/dist/elements/public/CouponCodesForm/index.d.ts +2 -6
  117. package/dist/elements/public/CouponCodesForm/index.js +2 -8
  118. package/dist/elements/public/CouponCodesForm/index.js.map +1 -1
  119. package/dist/elements/public/CouponCodesForm/types.d.ts +8 -8
  120. package/dist/elements/public/CouponCodesForm/types.js.map +1 -1
  121. package/dist/elements/public/GenerateCodesForm/GenerateCodesForm.d.ts +14 -18
  122. package/dist/elements/public/GenerateCodesForm/GenerateCodesForm.js +47 -208
  123. package/dist/elements/public/GenerateCodesForm/GenerateCodesForm.js.map +1 -1
  124. package/dist/elements/public/GenerateCodesForm/index.d.ts +5 -6
  125. package/dist/elements/public/GenerateCodesForm/index.js +5 -6
  126. package/dist/elements/public/GenerateCodesForm/index.js.map +1 -1
  127. package/dist/elements/public/GenerateCodesForm/types.d.ts +4 -2
  128. package/dist/elements/public/GenerateCodesForm/types.js.map +1 -1
  129. package/dist/elements/public/GiftCardCodesForm/GiftCardCodesForm.d.ts +19 -22
  130. package/dist/elements/public/GiftCardCodesForm/GiftCardCodesForm.js +44 -239
  131. package/dist/elements/public/GiftCardCodesForm/GiftCardCodesForm.js.map +1 -1
  132. package/dist/elements/public/GiftCardCodesForm/index.d.ts +3 -7
  133. package/dist/elements/public/GiftCardCodesForm/index.js +3 -9
  134. package/dist/elements/public/GiftCardCodesForm/index.js.map +1 -1
  135. package/dist/elements/public/GiftCardCodesForm/types.d.ts +6 -4
  136. package/dist/elements/public/GiftCardCodesForm/types.js.map +1 -1
  137. package/package.json +1 -1
  138. package/dist/cdn/shared-0cf90158.js +0 -1
  139. package/dist/cdn/shared-f53d078e.js +0 -1
  140. package/dist/elements/public/CouponCodesForm/internal/InternalCouponCodesFormListItem.d.ts +0 -14
  141. package/dist/elements/public/CouponCodesForm/internal/InternalCouponCodesFormListItem.js +0 -48
  142. package/dist/elements/public/CouponCodesForm/internal/InternalCouponCodesFormListItem.js.map +0 -1
  143. package/dist/elements/public/GiftCardCodesForm/internal/InternalGiftCardCodesFormListItem.d.ts +0 -19
  144. package/dist/elements/public/GiftCardCodesForm/internal/InternalGiftCardCodesFormListItem.js +0 -48
  145. package/dist/elements/public/GiftCardCodesForm/internal/InternalGiftCardCodesFormListItem.js.map +0 -1
  146. /package/dist/cdn/{shared-f1afbd7b.js → shared-44d207fb.js} +0 -0
  147. /package/dist/cdn/{shared-497ebb8c.js → shared-597737ce.js} +0 -0
  148. /package/dist/cdn/{shared-4cec4de0.js → shared-65283d36.js} +0 -0
  149. /package/dist/cdn/{shared-5dfec3b7.js → shared-a3c5a30c.js} +0 -0
  150. /package/dist/cdn/{shared-74adbf9e.js → shared-c6707264.js} +0 -0
  151. /package/dist/cdn/{shared-9fd64015.js → shared-febda61c.js} +0 -0
@@ -4,6 +4,7 @@ import { CSSResultArray, LitElement, PropertyDeclarations, TemplateResult } from
4
4
  declare const Checkbox_base: typeof LitElement & {
5
5
  styles: CSSResultArray;
6
6
  };
7
+ /** @deprecated – use internal controls instead */
7
8
  export declare class Checkbox extends Checkbox_base {
8
9
  static get properties(): PropertyDeclarations;
9
10
  static get styles(): CSSResultArray;
@@ -4,6 +4,7 @@ import { LitElement, css, html, } from 'lit-element';
4
4
  import { CheckboxChangeEvent } from "./CheckboxChangeEvent.js";
5
5
  import { ThemeableMixin } from "../../../mixins/themeable.js";
6
6
  import { classMap } from "../../../utils/class-map.js";
7
+ /** @deprecated – use internal controls instead */
7
8
  export class Checkbox extends ThemeableMixin(LitElement) {
8
9
  constructor() {
9
10
  super(...arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../../src/elements/private/Checkbox/Checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAC5B,OAAO,kCAAkC,CAAC;AAE1C,OAAO,EAEL,UAAU,EAGV,GAAG,EACH,IAAI,GACL,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,mBAAmB,EAAE,iCAA8B;AAC5D,OAAO,EAAE,cAAc,EAAE,qCAAkC;AAC3D,OAAO,EAAE,QAAQ,EAAE,oCAAiC;AAEpD,MAAM,OAAO,QAAS,SAAQ,cAAc,CAAC,UAAU,CAAC;IAAxD;;QAsCE,aAAQ,GAAG,KAAK,CAAC;QAEjB,aAAQ,GAAG,KAAK,CAAC;QAEjB,YAAO,GAAG,KAAK,CAAC;IAoElB,CAAC;IA7GC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YAC3B,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SAC3B,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO;YACL,KAAK,CAAC,MAAM;YACZ,GAAG;;;;;;;;;;;;;;;;;;;;OAqBF;SACF,CAAC;IACJ,CAAC;IAQD,MAAM;QACJ,OAAO,IAAI,CAAA;;gBAEC,QAAQ,CAAC;YACf,0CAA0C,EAAE,IAAI;YAChD,gBAAgB,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;YAChD,eAAe,EAAE,IAAI,CAAC,QAAQ;YAC9B,gBAAgB,EAAE,IAAI,CAAC,QAAQ;YAC/B,gBAAgB,EAAE,CAAC,IAAI,CAAC,QAAQ;SACjC,CAAC;;;;oBAIU,QAAQ,CAAC;YACf,wDAAwD,EAAE,IAAI;YAC9D,6BAA6B,EAAE,IAAI;YACnC,kCAAkC,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO;YAClE,kCAAkC,EAAE,IAAI,CAAC,QAAQ;YACjD,oBAAoB,EAAE,CAAC,IAAI,CAAC,QAAQ;YACpC,YAAY,EAAE,IAAI,CAAC,QAAQ;YAC3B,+BAA+B,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO;YAChE,4BAA4B,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO;SAC9D,CAAC;;;;sBAIQ,QAAQ,CAAC;YACf,oDAAoD,EAAE,IAAI;YAC1D,WAAW,EAAE,IAAI,CAAC,OAAO;YACzB,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO;SACzB,CAAC;;;;;;;yBAOS,IAAI,CAAC,OAAO;0BACX,IAAI,CAAC,QAAQ;;wBAEf,CAAC,GAAU,EAAE,EAAE;YACvB,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO,GAAG,CAAC,cAAc,EAAE,CAAC;YAE/C,GAAG,CAAC,eAAe,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5D,CAAC;;;;;;;;;;;gBAWC,QAAQ,CAAC;YACf,oCAAoC,EAAE,IAAI;YAC1C,eAAe,EAAE,IAAI,CAAC,QAAQ;SAC/B,CAAC;;;;KAIL,CAAC;IACJ,CAAC;CACF","sourcesContent":["import '@polymer/iron-icon';\nimport '@vaadin/vaadin-lumo-styles/icons';\n\nimport {\n CSSResultArray,\n LitElement,\n PropertyDeclarations,\n TemplateResult,\n css,\n html,\n} from 'lit-element';\n\nimport { CheckboxChangeEvent } from './CheckboxChangeEvent';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { classMap } from '../../../utils/class-map';\n\nexport class Checkbox extends ThemeableMixin(LitElement) {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n readonly: { type: Boolean },\n disabled: { type: Boolean },\n checked: { type: Boolean },\n };\n }\n\n static get styles(): CSSResultArray {\n return [\n super.styles,\n css`\n :host {\n --check-size: 1.125rem;\n }\n\n label {\n margin: calc(((1rem * var(--lumo-line-height-s)) - var(--check-size)) / -2) 0;\n }\n\n label > :first-child {\n height: calc(1rem * var(--lumo-line-height-s));\n }\n\n .ml-xxl {\n margin-left: calc(var(--lumo-space-m) + var(--check-size));\n }\n\n .check {\n height: var(--check-size);\n width: var(--check-size);\n }\n `,\n ];\n }\n\n readonly = false;\n\n disabled = false;\n\n checked = false;\n\n render(): TemplateResult {\n return html`\n <label\n class=${classMap({\n 'flex items-start group transition-colors': true,\n 'cursor-default': this.disabled || this.readonly,\n 'text-disabled': this.disabled,\n 'text-secondary': this.readonly,\n 'cursor-pointer': !this.disabled,\n })}\n >\n <div class=\"flex items-center\">\n <div\n class=${classMap({\n 'flex-shrink-0 check transition-colors rounded-s border': true,\n 'focus-within-shadow-outline': true,\n 'bg-primary text-primary-contrast': !this.readonly && this.checked,\n 'border-dashed border-contrast-30': this.readonly,\n 'border-transparent': !this.readonly,\n 'opacity-50': this.disabled,\n 'text-secondary bg-contrast-20': !this.readonly && !this.checked,\n 'group-hover-bg-contrast-30': !this.readonly && !this.checked,\n })}\n >\n <iron-icon\n icon=\"lumo:checkmark\"\n class=${classMap({\n 'block w-full h-full transition-transform transform': true,\n 'scale-100': this.checked,\n 'scale-0': !this.checked,\n })}\n >\n </iron-icon>\n\n <input\n type=\"checkbox\"\n class=\"sr-only\"\n .checked=${this.checked}\n ?disabled=${this.disabled}\n data-testid=\"input\"\n @change=${(evt: Event) => {\n if (this.readonly) return evt.preventDefault();\n\n evt.stopPropagation();\n this.checked = !this.checked;\n this.dispatchEvent(new CheckboxChangeEvent(this.checked));\n }}\n />\n </div>\n </div>\n\n <div class=\"flex-1 font-lumo leading-s ml-m\">\n <slot></slot>\n </div>\n </label>\n\n <div\n class=${classMap({\n 'font-lumo ml-xxl transition-colors': true,\n 'text-disabled': this.disabled,\n })}\n >\n <slot name=\"content\"></slot>\n </div>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../../src/elements/private/Checkbox/Checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAC5B,OAAO,kCAAkC,CAAC;AAE1C,OAAO,EAEL,UAAU,EAGV,GAAG,EACH,IAAI,GACL,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,mBAAmB,EAAE,iCAA8B;AAC5D,OAAO,EAAE,cAAc,EAAE,qCAAkC;AAC3D,OAAO,EAAE,QAAQ,EAAE,oCAAiC;AAEpD,kDAAkD;AAClD,MAAM,OAAO,QAAS,SAAQ,cAAc,CAAC,UAAU,CAAC;IAAxD;;QAsCE,aAAQ,GAAG,KAAK,CAAC;QAEjB,aAAQ,GAAG,KAAK,CAAC;QAEjB,YAAO,GAAG,KAAK,CAAC;IAoElB,CAAC;IA7GC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YAC3B,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SAC3B,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO;YACL,KAAK,CAAC,MAAM;YACZ,GAAG;;;;;;;;;;;;;;;;;;;;OAqBF;SACF,CAAC;IACJ,CAAC;IAQD,MAAM;QACJ,OAAO,IAAI,CAAA;;gBAEC,QAAQ,CAAC;YACf,0CAA0C,EAAE,IAAI;YAChD,gBAAgB,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;YAChD,eAAe,EAAE,IAAI,CAAC,QAAQ;YAC9B,gBAAgB,EAAE,IAAI,CAAC,QAAQ;YAC/B,gBAAgB,EAAE,CAAC,IAAI,CAAC,QAAQ;SACjC,CAAC;;;;oBAIU,QAAQ,CAAC;YACf,wDAAwD,EAAE,IAAI;YAC9D,6BAA6B,EAAE,IAAI;YACnC,kCAAkC,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO;YAClE,kCAAkC,EAAE,IAAI,CAAC,QAAQ;YACjD,oBAAoB,EAAE,CAAC,IAAI,CAAC,QAAQ;YACpC,YAAY,EAAE,IAAI,CAAC,QAAQ;YAC3B,+BAA+B,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO;YAChE,4BAA4B,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO;SAC9D,CAAC;;;;sBAIQ,QAAQ,CAAC;YACf,oDAAoD,EAAE,IAAI;YAC1D,WAAW,EAAE,IAAI,CAAC,OAAO;YACzB,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO;SACzB,CAAC;;;;;;;yBAOS,IAAI,CAAC,OAAO;0BACX,IAAI,CAAC,QAAQ;;wBAEf,CAAC,GAAU,EAAE,EAAE;YACvB,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO,GAAG,CAAC,cAAc,EAAE,CAAC;YAE/C,GAAG,CAAC,eAAe,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5D,CAAC;;;;;;;;;;;gBAWC,QAAQ,CAAC;YACf,oCAAoC,EAAE,IAAI;YAC1C,eAAe,EAAE,IAAI,CAAC,QAAQ;SAC/B,CAAC;;;;KAIL,CAAC;IACJ,CAAC;CACF","sourcesContent":["import '@polymer/iron-icon';\nimport '@vaadin/vaadin-lumo-styles/icons';\n\nimport {\n CSSResultArray,\n LitElement,\n PropertyDeclarations,\n TemplateResult,\n css,\n html,\n} from 'lit-element';\n\nimport { CheckboxChangeEvent } from './CheckboxChangeEvent';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { classMap } from '../../../utils/class-map';\n\n/** @deprecated – use internal controls instead */\nexport class Checkbox extends ThemeableMixin(LitElement) {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n readonly: { type: Boolean },\n disabled: { type: Boolean },\n checked: { type: Boolean },\n };\n }\n\n static get styles(): CSSResultArray {\n return [\n super.styles,\n css`\n :host {\n --check-size: 1.125rem;\n }\n\n label {\n margin: calc(((1rem * var(--lumo-line-height-s)) - var(--check-size)) / -2) 0;\n }\n\n label > :first-child {\n height: calc(1rem * var(--lumo-line-height-s));\n }\n\n .ml-xxl {\n margin-left: calc(var(--lumo-space-m) + var(--check-size));\n }\n\n .check {\n height: var(--check-size);\n width: var(--check-size);\n }\n `,\n ];\n }\n\n readonly = false;\n\n disabled = false;\n\n checked = false;\n\n render(): TemplateResult {\n return html`\n <label\n class=${classMap({\n 'flex items-start group transition-colors': true,\n 'cursor-default': this.disabled || this.readonly,\n 'text-disabled': this.disabled,\n 'text-secondary': this.readonly,\n 'cursor-pointer': !this.disabled,\n })}\n >\n <div class=\"flex items-center\">\n <div\n class=${classMap({\n 'flex-shrink-0 check transition-colors rounded-s border': true,\n 'focus-within-shadow-outline': true,\n 'bg-primary text-primary-contrast': !this.readonly && this.checked,\n 'border-dashed border-contrast-30': this.readonly,\n 'border-transparent': !this.readonly,\n 'opacity-50': this.disabled,\n 'text-secondary bg-contrast-20': !this.readonly && !this.checked,\n 'group-hover-bg-contrast-30': !this.readonly && !this.checked,\n })}\n >\n <iron-icon\n icon=\"lumo:checkmark\"\n class=${classMap({\n 'block w-full h-full transition-transform transform': true,\n 'scale-100': this.checked,\n 'scale-0': !this.checked,\n })}\n >\n </iron-icon>\n\n <input\n type=\"checkbox\"\n class=\"sr-only\"\n .checked=${this.checked}\n ?disabled=${this.disabled}\n data-testid=\"input\"\n @change=${(evt: Event) => {\n if (this.readonly) return evt.preventDefault();\n\n evt.stopPropagation();\n this.checked = !this.checked;\n this.dispatchEvent(new CheckboxChangeEvent(this.checked));\n }}\n />\n </div>\n </div>\n\n <div class=\"flex-1 font-lumo leading-s ml-m\">\n <slot></slot>\n </div>\n </label>\n\n <div\n class=${classMap({\n 'font-lumo ml-xxl transition-colors': true,\n 'text-disabled': this.disabled,\n })}\n >\n <slot name=\"content\"></slot>\n </div>\n `;\n }\n}\n"]}
@@ -7,6 +7,7 @@ import '@vaadin/vaadin-text-field/vaadin-text-field';
7
7
  import { CSSResultArray, PropertyDeclarations, TemplateResult } from 'lit-element';
8
8
  import { ScopedElementsMap } from '@open-wc/scoped-elements';
9
9
  import { Translatable } from '../../../mixins/translatable';
10
+ /** @deprecated – use internal controls instead */
10
11
  export declare class Choice extends Translatable {
11
12
  static get scopedElements(): ScopedElementsMap;
12
13
  static get styles(): CSSResultArray;
@@ -55,6 +55,7 @@ function check(readonly, disabled, checked, attrs, label) {
55
55
  </label>
56
56
  `;
57
57
  }
58
+ /** @deprecated – use internal controls instead */
58
59
  export class Choice extends Translatable {
59
60
  constructor() {
60
61
  super(...arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"Choice.js","sourceRoot":"","sources":["../../../../src/elements/private/Choice/Choice.ts"],"names":[],"mappings":"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","sourcesContent":["import '@polymer/iron-icon';\nimport '@vaadin/vaadin-lumo-styles/icons';\nimport '@vaadin/vaadin-text-field/vaadin-integer-field';\nimport '@vaadin/vaadin-text-field/vaadin-number-field';\nimport '@vaadin/vaadin-text-field/vaadin-text-area';\nimport '@vaadin/vaadin-text-field/vaadin-text-field';\n\nimport { CSSResultArray, PropertyDeclarations, TemplateResult, css, html } from 'lit-element';\n\nimport { AttributePart } from 'lit-html';\nimport { ChoiceChangeEvent } from './ChoiceChangeEvent';\nimport { FrequencyInput } from '../FrequencyInput/FrequencyInput';\nimport { ScopedElementsMap } from '@open-wc/scoped-elements';\nimport { Translatable } from '../../../mixins/translatable';\nimport { interpret } from 'xstate';\nimport { machine } from './machine';\nimport { spread } from '@open-wc/lit-helpers/src/spread';\n\nconst VALUE_OTHER = `@foxy.io/elements::other[${(Math.pow(10, 10) * Math.random()).toFixed(0)}]`;\n\nfunction radio(\n readonly: boolean,\n disabled: boolean,\n checked: boolean,\n attrs: (part: AttributePart) => void,\n label: TemplateResult\n) {\n const enabledBg = checked ? 'bg-primary' : 'bg-contrast-20 group-hover-bg-contrast-30';\n const disabledBg = checked ? 'bg-primary-50' : 'bg-contrast-10';\n const scale = checked ? 'scale-100' : 'scale-0';\n const color = disabled ? 'text-disabled' : readonly ? 'text-secondary' : 'text-body';\n const ease = 'transition ease-in-out duration-200';\n const dotBg = readonly ? 'bg-contrast-70' : 'bg-tint';\n const dot = `${ease} ${disabled || readonly ? '' : 'shadow-xs'} transform ${scale} ${dotBg}`;\n const bg = readonly ? '' : disabled ? disabledBg : enabledBg;\n const border = `border ${readonly ? 'border-dashed border-contrast-30' : 'border-transparent'}`;\n\n return html`\n <label class=\"group flex items-center ${disabled || readonly ? '' : 'cursor-pointer'}\">\n <div class=\"item flex items-center justify-center flex-shrink-0\">\n <div class=\"flex radio rounded-full ${border} ${ease} ${bg} focus-within-shadow-outline\">\n <div class=\"dot m-auto rounded-full ${dot}\"></div>\n <input type=\"radio\" class=\"sr-only\" .checked=${checked} ...=${attrs} />\n </div>\n </div>\n <div class=\"font-lumo leading-m ${color}\">${label}</div>\n </label>\n `;\n}\n\nfunction check(\n readonly: boolean,\n disabled: boolean,\n checked: boolean,\n attrs: (part: AttributePart) => void,\n label: TemplateResult\n) {\n const enabledBg = checked ? 'bg-primary' : 'bg-contrast-20 group-hover-bg-contrast-30';\n const disabledBg = checked ? 'bg-primary-50' : 'bg-contrast-10';\n const scale = checked ? 'scale-100' : 'scale-0';\n const color = disabled ? 'text-disabled' : readonly ? 'text-secondary' : 'text-body';\n const ease = 'transition ease-in-out duration-200';\n const dot = `${ease} transform ${scale} ${readonly ? 'text-contrast-70' : 'text-tint'}`;\n const bg = readonly ? '' : disabled ? disabledBg : enabledBg;\n const border = `border ${readonly ? 'border-dashed border-contrast-30' : 'border-transparent'}`;\n\n return html`\n <label class=\"group flex items-center ${disabled || readonly ? '' : 'cursor-pointer'}\">\n <div class=\"item flex items-center justify-center flex-shrink-0 text-primary-contrast\">\n <div class=\"check rounded-s ${border} ${ease} ${bg} focus-within-shadow-outline\">\n <iron-icon icon=\"lumo:checkmark\" class=\"block w-full h-full ${dot}\"></iron-icon>\n <input type=\"checkbox\" class=\"sr-only\" .checked=${checked} ...=${attrs} />\n </div>\n </div>\n <div class=\"font-lumo leading-m ${color}\">${label}</div>\n </label>\n `;\n}\n\nexport class Choice extends Translatable {\n public static get scopedElements(): ScopedElementsMap {\n return {\n 'vaadin-integer-field': customElements.get('vaadin-integer-field'),\n 'vaadin-number-field': customElements.get('vaadin-number-field'),\n 'vaadin-text-field': customElements.get('vaadin-text-field'),\n 'x-frequency-input': FrequencyInput,\n 'vaadin-text-area': customElements.get('vaadin-text-area'),\n 'iron-icon': customElements.get('iron-icon'),\n };\n }\n\n public static get styles(): CSSResultArray {\n return [\n super.styles,\n css`\n :host {\n --item-width: calc((var(--lumo-space-m) * 2) + 1.25rem);\n }\n .ml-xxl {\n margin-left: var(--item-width);\n }\n .item {\n height: var(--lumo-size-l);\n width: var(--item-width);\n }\n .radio {\n height: 1.25rem;\n width: 1.25rem;\n }\n .check {\n height: 1.125rem;\n width: 1.125rem;\n }\n .dot {\n height: 0.5rem;\n width: 0.5rem;\n }\n `,\n ];\n }\n\n public static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n defaultCustomValue: { type: String, attribute: 'default-custom-value' },\n disabled: { type: Boolean },\n readonly: { type: Boolean },\n custom: { type: Boolean },\n type: { type: String },\n min: { type: Number },\n max: { type: Number },\n value: { type: Array },\n items: { type: Array },\n getText: { attribute: false },\n };\n }\n\n public getText: (value: string) => string = v => v;\n\n private __service = interpret(machine)\n .onChange(() => this.requestUpdate())\n .onTransition(({ changed }) => changed && this.requestUpdate())\n .start();\n\n public get defaultCustomValue(): string {\n return this.__service.state.context.defaultCustomValue;\n }\n\n public set defaultCustomValue(data: string) {\n this.__service.send('SET_DEFAULT_CUSTOM_VALUE', { data });\n }\n\n public get readonly(): boolean {\n return this.__service.state.matches('mutability.readonly');\n }\n\n public set readonly(data: boolean) {\n this.__service.send('SET_READONLY', { data });\n }\n\n public get disabled(): boolean {\n return this.__service.state.matches('interactivity.disabled');\n }\n\n public set disabled(data: boolean) {\n this.__service.send('SET_DISABLED', { data });\n }\n\n public get custom(): boolean {\n return this.__service.state.matches('extension.present');\n }\n\n public set custom(data: boolean) {\n this.__service.send('SET_CUSTOM', { data });\n }\n\n public get type(): 'text' | 'textarea' | 'integer' | 'number' | 'frequency' {\n return this.__service.state.context.type;\n }\n\n public set type(data: 'text' | 'textarea' | 'integer' | 'number' | 'frequency') {\n this.__service.send('SET_TYPE', { data });\n }\n\n public get min(): number | null {\n return this.__service.state.context.min;\n }\n\n public set min(data: number | null) {\n this.__service.send('SET_MIN', { data });\n }\n\n public get max(): number | null {\n return this.__service.state.context.max;\n }\n\n public set max(data: number | null) {\n this.__service.send('SET_MAX', { data });\n }\n\n public get value(): null | string | string[] {\n return this.__service.state.context.value;\n }\n\n public set value(data: null | string | string[]) {\n this.__service.send('SET_VALUE', { data });\n }\n\n public get items(): string[] {\n return this.__service.state.context.items;\n }\n\n public set items(data: string[]) {\n this.__service.send('SET_ITEMS', { data });\n }\n\n public render(): TemplateResult {\n const items = this.custom ? [...this.items, VALUE_OTHER] : this.items;\n const multiple = Array.isArray(this.value);\n const otherChecked = this.__service.state.matches('extension.present.selected');\n\n const children = html`\n ${items.map((item, index, array) => {\n const other = this.custom && index === array.length - 1;\n const checked = other\n ? otherChecked\n : multiple\n ? !!this.value?.includes(item)\n : item === String(this.value);\n const disabled = this.disabled || !this._isI18nReady;\n const attributes = spread({\n 'value': other ? VALUE_OTHER : item,\n 'name': multiple ? item : 'choice',\n 'data-testid': `item-${item}`,\n '?disabled': disabled,\n '@change': (evt: Event) => {\n if (this.readonly) return evt.preventDefault();\n\n const checked = (evt.target as HTMLInputElement).checked;\n const newItem = item === VALUE_OTHER ? this.defaultCustomValue : item;\n const value = this.value;\n\n if (Array.isArray(value)) {\n if (item === VALUE_OTHER) {\n this.value = checked ? [...value, newItem] : value.slice(0, value.length - 1);\n } else {\n this.value = checked ? [newItem, ...value] : value.filter(v => v !== newItem);\n }\n } else {\n this.value = checked ? newItem : null;\n }\n\n this.dispatchEvent(new ChoiceChangeEvent(this.value));\n },\n });\n const label = html`\n <div>\n ${item === VALUE_OTHER\n ? this._t('choice.other').toString()\n : html`<slot name=${`${item}-label`}>${this.getText(item)}</slot>`}\n </div>\n `;\n return html`\n <div class=\"ml-xxl border-t border-contrast-10 ${index ? '' : 'hidden'}\"></div>\n ${multiple\n ? check(this.readonly, disabled, checked, attributes, label)\n : radio(this.readonly, disabled, checked, attributes, label)}\n <div class=\"mr-m ml-xxl\">\n ${item === VALUE_OTHER && otherChecked ? this.__field : ''}\n ${item !== VALUE_OTHER ? html`<slot name=${item}></slot>` : ''}\n </div>\n `;\n })}\n `;\n\n return html`<form>${children}</form> `;\n }\n\n private get __field() {\n const handleInput = (evt: Event) => {\n evt.stopPropagation();\n const customValue = (evt.target as HTMLInputElement).value;\n\n if (Array.isArray(this.value)) {\n this.value = this.value.slice(0, this.value.length - 1).concat(customValue);\n } else {\n this.value = customValue;\n }\n\n this.dispatchEvent(new ChoiceChangeEvent(this.value));\n };\n\n const attributes = spread({\n 'placeholder': this._t('choice.other').toString(),\n 'class': 'w-full mb-m',\n 'value': this.__service.state.context.customValue,\n 'max': this.max,\n 'min': this.min,\n 'ns': this.ns,\n '?disabled': this.disabled,\n '?readonly': this.readonly,\n 'data-testid': 'field',\n '@change': handleInput,\n });\n\n if (this.type === 'frequency') {\n return html`<x-frequency-input ...=${attributes}></x-frequency-input>`;\n } else if (this.type === 'integer') {\n return html`<vaadin-integer-field ...=${attributes} has-controls></vaadin-integer-field>`;\n } else if (this.type === 'number') {\n return html`<vaadin-number-field ...=${attributes} has-controls></vaadin-number-field>`;\n } else if (this.type === 'textarea') {\n return html`<vaadin-text-area ...=${attributes}></vaadin-text-area>`;\n } else {\n return html`<vaadin-text-field ...=${attributes}></vaadin-text-field>`;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"Choice.js","sourceRoot":"","sources":["../../../../src/elements/private/Choice/Choice.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAC5B,OAAO,kCAAkC,CAAC;AAC1C,OAAO,gDAAgD,CAAC;AACxD,OAAO,+CAA+C,CAAC;AACvD,OAAO,4CAA4C,CAAC;AACpD,OAAO,6CAA6C,CAAC;AAErD,OAAO,EAAwD,GAAG,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAG9F,OAAO,EAAE,iBAAiB,EAAE,+BAA4B;AACxD,OAAO,EAAE,cAAc,EAAE,4CAAyC;AAElE,OAAO,EAAE,YAAY,EAAE,wCAAqC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,qBAAkB;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAEzD,MAAM,WAAW,GAAG,4BAA4B,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AAEjG,SAAS,KAAK,CACZ,QAAiB,EACjB,QAAiB,EACjB,OAAgB,EAChB,KAAoC,EACpC,KAAqB;IAErB,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,2CAA2C,CAAC;IACvF,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAChE,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC;IACrF,MAAM,IAAI,GAAG,qCAAqC,CAAC;IACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;IACtD,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,cAAc,KAAK,IAAI,KAAK,EAAE,CAAC;IAC7F,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,MAAM,MAAM,GAAG,UAAU,QAAQ,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC;IAEhG,OAAO,IAAI,CAAA;4CAC+B,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;;8CAE1C,MAAM,IAAI,IAAI,IAAI,EAAE;gDAClB,GAAG;yDACM,OAAO,QAAQ,KAAK;;;wCAGrC,KAAK,KAAK,KAAK;;GAEpD,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CACZ,QAAiB,EACjB,QAAiB,EACjB,OAAgB,EAChB,KAAoC,EACpC,KAAqB;IAErB,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,2CAA2C,CAAC;IACvF,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAChE,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC;IACrF,MAAM,IAAI,GAAG,qCAAqC,CAAC;IACnD,MAAM,GAAG,GAAG,GAAG,IAAI,cAAc,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACxF,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,MAAM,MAAM,GAAG,UAAU,QAAQ,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC;IAEhG,OAAO,IAAI,CAAA;4CAC+B,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;;sCAElD,MAAM,IAAI,IAAI,IAAI,EAAE;wEACc,GAAG;4DACf,OAAO,QAAQ,KAAK;;;wCAGxC,KAAK,KAAK,KAAK;;GAEpD,CAAC;AACJ,CAAC;AAED,kDAAkD;AAClD,MAAM,OAAO,MAAO,SAAQ,YAAY;IAAxC;;QA0DS,YAAO,GAA8B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3C,cAAS,GAAG,SAAS,CAAC,OAAO,CAAC;aACnC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;aACpC,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;aAC9D,KAAK,EAAE,CAAC;IA+Kb,CAAC;IA7OQ,MAAM,KAAK,cAAc;QAC9B,OAAO;YACL,sBAAsB,EAAE,cAAc,CAAC,GAAG,CAAC,sBAAsB,CAAC;YAClE,qBAAqB,EAAE,cAAc,CAAC,GAAG,CAAC,qBAAqB,CAAC;YAChE,mBAAmB,EAAE,cAAc,CAAC,GAAG,CAAC,mBAAmB,CAAC;YAC5D,mBAAmB,EAAE,cAAc;YACnC,kBAAkB,EAAE,cAAc,CAAC,GAAG,CAAC,kBAAkB,CAAC;YAC1D,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC;SAC7C,CAAC;IACJ,CAAC;IAEM,MAAM,KAAK,MAAM;QACtB,OAAO;YACL,KAAK,CAAC,MAAM;YACZ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuBF;SACF,CAAC;IACJ,CAAC;IAEM,MAAM,KAAK,UAAU;QAC1B,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,kBAAkB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,sBAAsB,EAAE;YACvE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YAC3B,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YAC3B,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YACzB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACtB,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACrB,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACrB,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YACtB,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YACtB,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SAC9B,CAAC;IACJ,CAAC;IASD,IAAW,kBAAkB;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACzD,CAAC;IAED,IAAW,kBAAkB,CAAC,IAAY;QACxC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC7D,CAAC;IAED,IAAW,QAAQ,CAAC,IAAa;QAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAChE,CAAC;IAED,IAAW,QAAQ,CAAC,IAAa;QAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC3D,CAAC;IAED,IAAW,MAAM,CAAC,IAAa;QAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3C,CAAC;IAED,IAAW,IAAI,CAAC,IAA8D;QAC5E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,IAAW,GAAG;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;IAC1C,CAAC;IAED,IAAW,GAAG,CAAC,IAAmB;QAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,IAAW,GAAG;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;IAC1C,CAAC;IAED,IAAW,GAAG,CAAC,IAAmB;QAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5C,CAAC;IAED,IAAW,KAAK,CAAC,IAA8B;QAC7C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5C,CAAC;IAED,IAAW,KAAK,CAAC,IAAc;QAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAEM,MAAM;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACtE,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAEhF,MAAM,QAAQ,GAAG,IAAI,CAAA;QACjB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;;YACjC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YACxD,MAAM,OAAO,GAAG,KAAK;gBACnB,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,CAAC,QAAC,IAAI,CAAC,KAAK,0CAAE,QAAQ,CAAC,IAAI,EAAC;oBAC9B,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;YACrD,MAAM,UAAU,GAAG,MAAM,CAAC;gBACxB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;gBACnC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ;gBAClC,aAAa,EAAE,QAAQ,IAAI,EAAE;gBAC7B,WAAW,EAAE,QAAQ;gBACrB,SAAS,EAAE,CAAC,GAAU,EAAE,EAAE;oBACxB,IAAI,IAAI,CAAC,QAAQ;wBAAE,OAAO,GAAG,CAAC,cAAc,EAAE,CAAC;oBAE/C,MAAM,OAAO,GAAI,GAAG,CAAC,MAA2B,CAAC,OAAO,CAAC;oBACzD,MAAM,OAAO,GAAG,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC;oBACtE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;oBAEzB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;wBACxB,IAAI,IAAI,KAAK,WAAW,EAAE;4BACxB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;yBAC/E;6BAAM;4BACL,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;yBAC/E;qBACF;yBAAM;wBACL,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;qBACvC;oBAED,IAAI,CAAC,aAAa,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBACxD,CAAC;aACF,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAA;;cAEZ,IAAI,KAAK,WAAW;gBACpB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE;gBACpC,CAAC,CAAC,IAAI,CAAA,cAAc,GAAG,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS;;SAEvE,CAAC;YACF,OAAO,IAAI,CAAA;2DACwC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;YACpE,QAAQ;gBACR,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC;gBAC5D,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC;;cAE1D,IAAI,KAAK,WAAW,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;cACxD,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAA,cAAc,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;;SAEjE,CAAC;QACJ,CAAC,CAAC;KACH,CAAC;QAEF,OAAO,IAAI,CAAA,SAAS,QAAQ,UAAU,CAAC;IACzC,CAAC;IAED,IAAY,OAAO;QACjB,MAAM,WAAW,GAAG,CAAC,GAAU,EAAE,EAAE;YACjC,GAAG,CAAC,eAAe,EAAE,CAAC;YACtB,MAAM,WAAW,GAAI,GAAG,CAAC,MAA2B,CAAC,KAAK,CAAC;YAE3D,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;aAC7E;iBAAM;gBACL,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;aAC1B;YAED,IAAI,CAAC,aAAa,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,CAAC;YACxB,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE;YACjD,OAAO,EAAE,aAAa;YACtB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW;YACjD,KAAK,EAAE,IAAI,CAAC,GAAG;YACf,KAAK,EAAE,IAAI,CAAC,GAAG;YACf,IAAI,EAAE,IAAI,CAAC,EAAE;YACb,WAAW,EAAE,IAAI,CAAC,QAAQ;YAC1B,WAAW,EAAE,IAAI,CAAC,QAAQ;YAC1B,aAAa,EAAE,OAAO;YACtB,SAAS,EAAE,WAAW;SACvB,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;YAC7B,OAAO,IAAI,CAAA,0BAA0B,UAAU,uBAAuB,CAAC;SACxE;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;YAClC,OAAO,IAAI,CAAA,6BAA6B,UAAU,uCAAuC,CAAC;SAC3F;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;YACjC,OAAO,IAAI,CAAA,4BAA4B,UAAU,sCAAsC,CAAC;SACzF;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;YACnC,OAAO,IAAI,CAAA,yBAAyB,UAAU,sBAAsB,CAAC;SACtE;aAAM;YACL,OAAO,IAAI,CAAA,0BAA0B,UAAU,uBAAuB,CAAC;SACxE;IACH,CAAC;CACF","sourcesContent":["import '@polymer/iron-icon';\nimport '@vaadin/vaadin-lumo-styles/icons';\nimport '@vaadin/vaadin-text-field/vaadin-integer-field';\nimport '@vaadin/vaadin-text-field/vaadin-number-field';\nimport '@vaadin/vaadin-text-field/vaadin-text-area';\nimport '@vaadin/vaadin-text-field/vaadin-text-field';\n\nimport { CSSResultArray, PropertyDeclarations, TemplateResult, css, html } from 'lit-element';\n\nimport { AttributePart } from 'lit-html';\nimport { ChoiceChangeEvent } from './ChoiceChangeEvent';\nimport { FrequencyInput } from '../FrequencyInput/FrequencyInput';\nimport { ScopedElementsMap } from '@open-wc/scoped-elements';\nimport { Translatable } from '../../../mixins/translatable';\nimport { interpret } from 'xstate';\nimport { machine } from './machine';\nimport { spread } from '@open-wc/lit-helpers/src/spread';\n\nconst VALUE_OTHER = `@foxy.io/elements::other[${(Math.pow(10, 10) * Math.random()).toFixed(0)}]`;\n\nfunction radio(\n readonly: boolean,\n disabled: boolean,\n checked: boolean,\n attrs: (part: AttributePart) => void,\n label: TemplateResult\n) {\n const enabledBg = checked ? 'bg-primary' : 'bg-contrast-20 group-hover-bg-contrast-30';\n const disabledBg = checked ? 'bg-primary-50' : 'bg-contrast-10';\n const scale = checked ? 'scale-100' : 'scale-0';\n const color = disabled ? 'text-disabled' : readonly ? 'text-secondary' : 'text-body';\n const ease = 'transition ease-in-out duration-200';\n const dotBg = readonly ? 'bg-contrast-70' : 'bg-tint';\n const dot = `${ease} ${disabled || readonly ? '' : 'shadow-xs'} transform ${scale} ${dotBg}`;\n const bg = readonly ? '' : disabled ? disabledBg : enabledBg;\n const border = `border ${readonly ? 'border-dashed border-contrast-30' : 'border-transparent'}`;\n\n return html`\n <label class=\"group flex items-center ${disabled || readonly ? '' : 'cursor-pointer'}\">\n <div class=\"item flex items-center justify-center flex-shrink-0\">\n <div class=\"flex radio rounded-full ${border} ${ease} ${bg} focus-within-shadow-outline\">\n <div class=\"dot m-auto rounded-full ${dot}\"></div>\n <input type=\"radio\" class=\"sr-only\" .checked=${checked} ...=${attrs} />\n </div>\n </div>\n <div class=\"font-lumo leading-m ${color}\">${label}</div>\n </label>\n `;\n}\n\nfunction check(\n readonly: boolean,\n disabled: boolean,\n checked: boolean,\n attrs: (part: AttributePart) => void,\n label: TemplateResult\n) {\n const enabledBg = checked ? 'bg-primary' : 'bg-contrast-20 group-hover-bg-contrast-30';\n const disabledBg = checked ? 'bg-primary-50' : 'bg-contrast-10';\n const scale = checked ? 'scale-100' : 'scale-0';\n const color = disabled ? 'text-disabled' : readonly ? 'text-secondary' : 'text-body';\n const ease = 'transition ease-in-out duration-200';\n const dot = `${ease} transform ${scale} ${readonly ? 'text-contrast-70' : 'text-tint'}`;\n const bg = readonly ? '' : disabled ? disabledBg : enabledBg;\n const border = `border ${readonly ? 'border-dashed border-contrast-30' : 'border-transparent'}`;\n\n return html`\n <label class=\"group flex items-center ${disabled || readonly ? '' : 'cursor-pointer'}\">\n <div class=\"item flex items-center justify-center flex-shrink-0 text-primary-contrast\">\n <div class=\"check rounded-s ${border} ${ease} ${bg} focus-within-shadow-outline\">\n <iron-icon icon=\"lumo:checkmark\" class=\"block w-full h-full ${dot}\"></iron-icon>\n <input type=\"checkbox\" class=\"sr-only\" .checked=${checked} ...=${attrs} />\n </div>\n </div>\n <div class=\"font-lumo leading-m ${color}\">${label}</div>\n </label>\n `;\n}\n\n/** @deprecated – use internal controls instead */\nexport class Choice extends Translatable {\n public static get scopedElements(): ScopedElementsMap {\n return {\n 'vaadin-integer-field': customElements.get('vaadin-integer-field'),\n 'vaadin-number-field': customElements.get('vaadin-number-field'),\n 'vaadin-text-field': customElements.get('vaadin-text-field'),\n 'x-frequency-input': FrequencyInput,\n 'vaadin-text-area': customElements.get('vaadin-text-area'),\n 'iron-icon': customElements.get('iron-icon'),\n };\n }\n\n public static get styles(): CSSResultArray {\n return [\n super.styles,\n css`\n :host {\n --item-width: calc((var(--lumo-space-m) * 2) + 1.25rem);\n }\n .ml-xxl {\n margin-left: var(--item-width);\n }\n .item {\n height: var(--lumo-size-l);\n width: var(--item-width);\n }\n .radio {\n height: 1.25rem;\n width: 1.25rem;\n }\n .check {\n height: 1.125rem;\n width: 1.125rem;\n }\n .dot {\n height: 0.5rem;\n width: 0.5rem;\n }\n `,\n ];\n }\n\n public static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n defaultCustomValue: { type: String, attribute: 'default-custom-value' },\n disabled: { type: Boolean },\n readonly: { type: Boolean },\n custom: { type: Boolean },\n type: { type: String },\n min: { type: Number },\n max: { type: Number },\n value: { type: Array },\n items: { type: Array },\n getText: { attribute: false },\n };\n }\n\n public getText: (value: string) => string = v => v;\n\n private __service = interpret(machine)\n .onChange(() => this.requestUpdate())\n .onTransition(({ changed }) => changed && this.requestUpdate())\n .start();\n\n public get defaultCustomValue(): string {\n return this.__service.state.context.defaultCustomValue;\n }\n\n public set defaultCustomValue(data: string) {\n this.__service.send('SET_DEFAULT_CUSTOM_VALUE', { data });\n }\n\n public get readonly(): boolean {\n return this.__service.state.matches('mutability.readonly');\n }\n\n public set readonly(data: boolean) {\n this.__service.send('SET_READONLY', { data });\n }\n\n public get disabled(): boolean {\n return this.__service.state.matches('interactivity.disabled');\n }\n\n public set disabled(data: boolean) {\n this.__service.send('SET_DISABLED', { data });\n }\n\n public get custom(): boolean {\n return this.__service.state.matches('extension.present');\n }\n\n public set custom(data: boolean) {\n this.__service.send('SET_CUSTOM', { data });\n }\n\n public get type(): 'text' | 'textarea' | 'integer' | 'number' | 'frequency' {\n return this.__service.state.context.type;\n }\n\n public set type(data: 'text' | 'textarea' | 'integer' | 'number' | 'frequency') {\n this.__service.send('SET_TYPE', { data });\n }\n\n public get min(): number | null {\n return this.__service.state.context.min;\n }\n\n public set min(data: number | null) {\n this.__service.send('SET_MIN', { data });\n }\n\n public get max(): number | null {\n return this.__service.state.context.max;\n }\n\n public set max(data: number | null) {\n this.__service.send('SET_MAX', { data });\n }\n\n public get value(): null | string | string[] {\n return this.__service.state.context.value;\n }\n\n public set value(data: null | string | string[]) {\n this.__service.send('SET_VALUE', { data });\n }\n\n public get items(): string[] {\n return this.__service.state.context.items;\n }\n\n public set items(data: string[]) {\n this.__service.send('SET_ITEMS', { data });\n }\n\n public render(): TemplateResult {\n const items = this.custom ? [...this.items, VALUE_OTHER] : this.items;\n const multiple = Array.isArray(this.value);\n const otherChecked = this.__service.state.matches('extension.present.selected');\n\n const children = html`\n ${items.map((item, index, array) => {\n const other = this.custom && index === array.length - 1;\n const checked = other\n ? otherChecked\n : multiple\n ? !!this.value?.includes(item)\n : item === String(this.value);\n const disabled = this.disabled || !this._isI18nReady;\n const attributes = spread({\n 'value': other ? VALUE_OTHER : item,\n 'name': multiple ? item : 'choice',\n 'data-testid': `item-${item}`,\n '?disabled': disabled,\n '@change': (evt: Event) => {\n if (this.readonly) return evt.preventDefault();\n\n const checked = (evt.target as HTMLInputElement).checked;\n const newItem = item === VALUE_OTHER ? this.defaultCustomValue : item;\n const value = this.value;\n\n if (Array.isArray(value)) {\n if (item === VALUE_OTHER) {\n this.value = checked ? [...value, newItem] : value.slice(0, value.length - 1);\n } else {\n this.value = checked ? [newItem, ...value] : value.filter(v => v !== newItem);\n }\n } else {\n this.value = checked ? newItem : null;\n }\n\n this.dispatchEvent(new ChoiceChangeEvent(this.value));\n },\n });\n const label = html`\n <div>\n ${item === VALUE_OTHER\n ? this._t('choice.other').toString()\n : html`<slot name=${`${item}-label`}>${this.getText(item)}</slot>`}\n </div>\n `;\n return html`\n <div class=\"ml-xxl border-t border-contrast-10 ${index ? '' : 'hidden'}\"></div>\n ${multiple\n ? check(this.readonly, disabled, checked, attributes, label)\n : radio(this.readonly, disabled, checked, attributes, label)}\n <div class=\"mr-m ml-xxl\">\n ${item === VALUE_OTHER && otherChecked ? this.__field : ''}\n ${item !== VALUE_OTHER ? html`<slot name=${item}></slot>` : ''}\n </div>\n `;\n })}\n `;\n\n return html`<form>${children}</form> `;\n }\n\n private get __field() {\n const handleInput = (evt: Event) => {\n evt.stopPropagation();\n const customValue = (evt.target as HTMLInputElement).value;\n\n if (Array.isArray(this.value)) {\n this.value = this.value.slice(0, this.value.length - 1).concat(customValue);\n } else {\n this.value = customValue;\n }\n\n this.dispatchEvent(new ChoiceChangeEvent(this.value));\n };\n\n const attributes = spread({\n 'placeholder': this._t('choice.other').toString(),\n 'class': 'w-full mb-m',\n 'value': this.__service.state.context.customValue,\n 'max': this.max,\n 'min': this.min,\n 'ns': this.ns,\n '?disabled': this.disabled,\n '?readonly': this.readonly,\n 'data-testid': 'field',\n '@change': handleInput,\n });\n\n if (this.type === 'frequency') {\n return html`<x-frequency-input ...=${attributes}></x-frequency-input>`;\n } else if (this.type === 'integer') {\n return html`<vaadin-integer-field ...=${attributes} has-controls></vaadin-integer-field>`;\n } else if (this.type === 'number') {\n return html`<vaadin-number-field ...=${attributes} has-controls></vaadin-number-field>`;\n } else if (this.type === 'textarea') {\n return html`<vaadin-text-area ...=${attributes}></vaadin-text-area>`;\n } else {\n return html`<vaadin-text-field ...=${attributes}></vaadin-text-field>`;\n }\n }\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  import '@vaadin/vaadin-select';
2
2
  import { CSSResult, CSSResultArray, LitElement, PropertyDeclarations, TemplateResult } from 'lit-element';
3
+ /** @deprecated – use internal controls instead */
3
4
  export declare class Dropdown extends LitElement {
4
5
  static get properties(): PropertyDeclarations;
5
6
  static get styles(): CSSResult | CSSResultArray;
@@ -21,6 +21,7 @@ registerStyles('vaadin-list-box', css `[part='items'] ::slotted(vaadin-item.drop
21
21
  function getUnexistentValue() {
22
22
  return `@foxy.io/elements#dropdown-${Math.random().toFixed(16).substr(2)}`;
23
23
  }
24
+ /** @deprecated – use internal controls instead */
24
25
  export class Dropdown extends LitElement {
25
26
  constructor() {
26
27
  super();
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../../../../src/elements/private/Dropdown/Dropdown.ts"],"names":[],"mappings":"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","sourcesContent":["import '@vaadin/vaadin-select';\n\nimport {\n CSSResult,\n CSSResultArray,\n LitElement,\n PropertyDeclarations,\n TemplateResult,\n html,\n} from 'lit-element';\nimport { css, registerStyles } from '@vaadin/vaadin-themable-mixin/register-styles';\n\nimport { DropdownChangeEvent } from './DropdownChangeEvent';\nimport { Themeable } from '../../../mixins/themeable';\n\nregisterStyles(\n 'vaadin-list-box',\n css`\n [part='items'] ::slotted(vaadin-item.dropdown-divisor) {\n color: var(--lumo-contrast-40pct);\n box-shadow: 0 1px var(--lumo-contrast-10pct);\n border-radius: 0;\n }\n [part='items'] ::slotted(vaadin-item.dropdown-sub-item) {\n margin-left: var(--lumo-space-l);\n }\n `\n);\n\n/**\n * According to Vaadin docs: if you do not want to select any item by default, you can set\n * the vaadin-select value to an inexistent value in the items list. This function\n * generates such value.\n */\nfunction getUnexistentValue() {\n return `@foxy.io/elements#dropdown-${Math.random().toFixed(16).substr(2)}`;\n}\n\nexport class Dropdown extends LitElement {\n public static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n disabled: { type: Boolean },\n getText: { type: Object, attribute: false },\n items: { type: Array },\n label: { type: String },\n value: { type: String },\n };\n }\n\n public static get styles(): CSSResult | CSSResultArray {\n return Themeable.styles;\n }\n\n public disabled = false;\n\n public label = '';\n\n public value: null | string = null;\n\n public items: null | (string | [string, string[]])[] = null;\n\n public getText: (value: string) => string = v => v;\n\n private __unexistentValue = getUnexistentValue();\n\n private __renderedItems: Record<string, Element> = {};\n\n private __list: HTMLElement;\n\n constructor() {\n super();\n this.__list = document.createElement('vaadin-list-box');\n }\n\n public render(): TemplateResult {\n return html`\n <vaadin-select\n class=\"w-full ${this.label ? '-mt-m' : ''}\"\n data-testid=\"select\"\n .label=${this.label}\n .value=${this.value === null ? this.__unexistentValue : this.value}\n .disabled=${this.disabled}\n .renderer=${this.__renderItems.bind(this)}\n @change=${this.__handleChange}\n >\n </vaadin-select>\n `;\n }\n\n private __renderItems(root: HTMLElement) {\n // Create vaadin-list-box element\n let list = root.querySelector('vaadin-list-box');\n if (list === null) {\n root.appendChild(this.__list);\n list = this.__list;\n }\n // Clean up keep indicator\n for (const v of Object.values(this.__renderedItems)) {\n (v as HTMLElement).dataset.keep = '';\n }\n\n const items = this.items ?? [];\n for (let i = 0; i < items.length; ++i) {\n if (typeof items[i] === 'string') {\n this.__addOrKeepItem(items[i] as string, items[i] as string, list).classList.add(\n 'dropdown-item'\n );\n } else if (Array.isArray(items[i])) {\n const divisor = this.__addOrKeepItem(items[i][0], items[i][0], list as Element);\n divisor.classList.add('dropdown-item', 'dropdown-divisor');\n (divisor as HTMLInputElement).disabled = true;\n for (const sub of items[i][1]) {\n this.__addOrKeepItem(items[i][0] + ': ' + sub, sub, list as Element).classList.add(\n 'dropdown-sub-item'\n );\n }\n }\n }\n\n // Remove items not set to keep\n for (const v of Object.values(this.__renderedItems)) {\n const tracked = v as HTMLElement;\n if (!tracked.dataset.keep) {\n v.remove();\n delete this.__renderedItems[tracked.dataset.trackId!];\n }\n }\n }\n\n // Adds an element to the dom, creating it if not already created, reusing it\n // if possible, in any case marking it with a keep signal sot it is not\n // removed.\n private __addOrKeepItem(key: string, text: string, list: Element): Element {\n let item: HTMLElement;\n\n if (this.__renderedItems[key]) {\n item = this.__renderedItems[key] as HTMLElement;\n } else {\n item = document.createElement('vaadin-item');\n this.__renderedItems[key] = item;\n (item as HTMLInputElement).value = key;\n list.appendChild(item);\n }\n\n item.dataset.keep = 'true';\n item.dataset.trackId = key;\n item.textContent = this.getText(text);\n\n return item;\n }\n\n private __handleChange(evt: CustomEvent) {\n const value = (evt.target as HTMLInputElement).value;\n const resolvedValue = value === this.__unexistentValue ? null : value;\n this.dispatchEvent(new DropdownChangeEvent(resolvedValue));\n }\n}\n"]}
1
+ {"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../../../../src/elements/private/Dropdown/Dropdown.ts"],"names":[],"mappings":"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","sourcesContent":["import '@vaadin/vaadin-select';\n\nimport {\n CSSResult,\n CSSResultArray,\n LitElement,\n PropertyDeclarations,\n TemplateResult,\n html,\n} from 'lit-element';\nimport { css, registerStyles } from '@vaadin/vaadin-themable-mixin/register-styles';\n\nimport { DropdownChangeEvent } from './DropdownChangeEvent';\nimport { Themeable } from '../../../mixins/themeable';\n\nregisterStyles(\n 'vaadin-list-box',\n css`\n [part='items'] ::slotted(vaadin-item.dropdown-divisor) {\n color: var(--lumo-contrast-40pct);\n box-shadow: 0 1px var(--lumo-contrast-10pct);\n border-radius: 0;\n }\n [part='items'] ::slotted(vaadin-item.dropdown-sub-item) {\n margin-left: var(--lumo-space-l);\n }\n `\n);\n\n/**\n * According to Vaadin docs: if you do not want to select any item by default, you can set\n * the vaadin-select value to an inexistent value in the items list. This function\n * generates such value.\n */\nfunction getUnexistentValue() {\n return `@foxy.io/elements#dropdown-${Math.random().toFixed(16).substr(2)}`;\n}\n\n/** @deprecated – use internal controls instead */\nexport class Dropdown extends LitElement {\n public static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n disabled: { type: Boolean },\n getText: { type: Object, attribute: false },\n items: { type: Array },\n label: { type: String },\n value: { type: String },\n };\n }\n\n public static get styles(): CSSResult | CSSResultArray {\n return Themeable.styles;\n }\n\n public disabled = false;\n\n public label = '';\n\n public value: null | string = null;\n\n public items: null | (string | [string, string[]])[] = null;\n\n public getText: (value: string) => string = v => v;\n\n private __unexistentValue = getUnexistentValue();\n\n private __renderedItems: Record<string, Element> = {};\n\n private __list: HTMLElement;\n\n constructor() {\n super();\n this.__list = document.createElement('vaadin-list-box');\n }\n\n public render(): TemplateResult {\n return html`\n <vaadin-select\n class=\"w-full ${this.label ? '-mt-m' : ''}\"\n data-testid=\"select\"\n .label=${this.label}\n .value=${this.value === null ? this.__unexistentValue : this.value}\n .disabled=${this.disabled}\n .renderer=${this.__renderItems.bind(this)}\n @change=${this.__handleChange}\n >\n </vaadin-select>\n `;\n }\n\n private __renderItems(root: HTMLElement) {\n // Create vaadin-list-box element\n let list = root.querySelector('vaadin-list-box');\n if (list === null) {\n root.appendChild(this.__list);\n list = this.__list;\n }\n // Clean up keep indicator\n for (const v of Object.values(this.__renderedItems)) {\n (v as HTMLElement).dataset.keep = '';\n }\n\n const items = this.items ?? [];\n for (let i = 0; i < items.length; ++i) {\n if (typeof items[i] === 'string') {\n this.__addOrKeepItem(items[i] as string, items[i] as string, list).classList.add(\n 'dropdown-item'\n );\n } else if (Array.isArray(items[i])) {\n const divisor = this.__addOrKeepItem(items[i][0], items[i][0], list as Element);\n divisor.classList.add('dropdown-item', 'dropdown-divisor');\n (divisor as HTMLInputElement).disabled = true;\n for (const sub of items[i][1]) {\n this.__addOrKeepItem(items[i][0] + ': ' + sub, sub, list as Element).classList.add(\n 'dropdown-sub-item'\n );\n }\n }\n }\n\n // Remove items not set to keep\n for (const v of Object.values(this.__renderedItems)) {\n const tracked = v as HTMLElement;\n if (!tracked.dataset.keep) {\n v.remove();\n delete this.__renderedItems[tracked.dataset.trackId!];\n }\n }\n }\n\n // Adds an element to the dom, creating it if not already created, reusing it\n // if possible, in any case marking it with a keep signal sot it is not\n // removed.\n private __addOrKeepItem(key: string, text: string, list: Element): Element {\n let item: HTMLElement;\n\n if (this.__renderedItems[key]) {\n item = this.__renderedItems[key] as HTMLElement;\n } else {\n item = document.createElement('vaadin-item');\n this.__renderedItems[key] = item;\n (item as HTMLInputElement).value = key;\n list.appendChild(item);\n }\n\n item.dataset.keep = 'true';\n item.dataset.trackId = key;\n item.textContent = this.getText(text);\n\n return item;\n }\n\n private __handleChange(evt: CustomEvent) {\n const value = (evt.target as HTMLInputElement).value;\n const resolvedValue = value === this.__unexistentValue ? null : value;\n this.dispatchEvent(new DropdownChangeEvent(resolvedValue));\n }\n}\n"]}
@@ -6,6 +6,7 @@ declare const Base: typeof LitElement & import("lit-element").Constructor<import
6
6
  } & import("lit-element").Constructor<import("../../../mixins/configurable").ConfigurableMixinHost> & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
7
7
  defaultNS: string;
8
8
  };
9
+ /** @deprecated – use internal controls instead */
9
10
  export declare class EditableList extends Base {
10
11
  static get properties(): PropertyDeclarations;
11
12
  options: {
@@ -7,6 +7,7 @@ import { live } from 'lit-html/directives/live';
7
7
  import { repeat } from 'lit-html/directives/repeat';
8
8
  import { InferrableMixin } from "../../../mixins/inferrable.js";
9
9
  const Base = TranslatableMixin(ConfigurableMixin(ThemeableMixin(InferrableMixin(LitElement))));
10
+ /** @deprecated – use internal controls instead */
10
11
  export class EditableList extends Base {
11
12
  constructor() {
12
13
  super(...arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"EditableList.js","sourceRoot":"","sources":["../../../../src/elements/private/EditableList/EditableList.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, PropertyDeclarations, TemplateResult, html } from 'lit-element';\n\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\nimport { live } from 'lit-html/directives/live';\nimport { repeat } from 'lit-html/directives/repeat';\nimport { InferrableMixin } from '../../../mixins/inferrable';\n\nconst Base = TranslatableMixin(ConfigurableMixin(ThemeableMixin(InferrableMixin(LitElement))));\n\nexport class EditableList extends Base {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n options: { type: Array },\n items: { type: Array },\n __newItem: { attribute: false },\n };\n }\n\n options: { label?: string; value: string }[] = [];\n\n items: { label?: string | TemplateResult; value: string }[] = [];\n\n private __newItem = '';\n\n render(): TemplateResult {\n const deleteButtonClass = classMap({\n 'w-xs h-xs mr-xs rounded-full transition-colors flex-shrink-0': true,\n 'focus-outline-none focus-ring-2 ring-inset ring-error-50': true,\n 'text-tertiary hover-bg-error-10 hover-text-error': !this.disabled,\n 'cursor-default text-disabled': this.disabled,\n 'flex items-center justify-center': !this.readonly,\n 'hidden': this.readonly,\n });\n\n const itemClass = classMap({\n 'transition-colors h-l ml-m flex items-center': true,\n 'text-secondary': this.readonly,\n 'text-disabled': this.disabled,\n });\n\n const isAddButtonDisabled = this.disabled || !this.__newItem;\n\n const addItem = () => {\n if (!this.__newItem) return;\n this.items.push({ value: this.__newItem });\n this.requestUpdate('items');\n this.dispatchEvent(new CustomEvent('change'));\n this.__newItem = '';\n };\n\n return html`\n <slot></slot>\n\n <ol class=\"divide-y divide-contrast-10\">\n ${repeat(\n this.items,\n item => item.value,\n (item, index) => {\n return html`\n <li class=${itemClass}>\n <div class=\"flex-1 mr-s\">${item.label ?? item.value}</div>\n\n <button\n aria-label=${this.t('delete')}\n class=${deleteButtonClass}\n ?disabled=${this.disabled}\n @click=${() => {\n this.items.splice(index, 1);\n this.requestUpdate('items');\n this.dispatchEvent(new CustomEvent('change'));\n }}\n >\n <iron-icon icon=\"lumo:cross\" class=\"icon-inline text-xl\"></iron-icon>\n </button>\n </li>\n `;\n }\n )}\n </ol>\n\n <div\n class=${classMap({\n 'ml-m h-l flex items-center': true,\n 'border-t border-contrast-10': this.items.length > 0,\n 'flex': !this.readonly,\n 'hidden': this.readonly,\n })}\n >\n <input\n placeholder=${this.t('type_here')}\n class=\"w-full bg-transparent appearance-none h-m focus-outline-none\"\n list=\"list\"\n .value=${live(this.__newItem)}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && addItem()}\n @change=${(evt: Event) => evt.stopPropagation()}\n @input=${(evt: InputEvent) => {\n this.__newItem = (evt.currentTarget as HTMLInputElement).value.trim();\n }}\n />\n\n <datalist id=\"list\">\n ${this.options.map(({ label, value }) => {\n if (this.items.some(item => item.value === value)) return;\n return html`<option value=${value}>${label ?? value}</option>`;\n })}\n </datalist>\n\n <div class=\"transition-opacity ${this.__newItem ? 'opacity-100' : 'opacity-0'}\">\n <button\n aria-label=${this.t('submit')}\n class=${classMap({\n 'w-xs h-xs mr-xs flex-shrink-0 ring-inset ring-success-50 focus-outline-none': true,\n 'flex items-center justify-center rounded-full transition-colors': true,\n 'bg-contrast-5 text-disabled cursor-default': isAddButtonDisabled,\n 'bg-success-10 text-success cursor-pointer': !isAddButtonDisabled,\n 'hover-bg-success hover-text-success-contrast': !isAddButtonDisabled,\n 'focus-ring-2': !isAddButtonDisabled,\n })}\n ?disabled=${isAddButtonDisabled}\n @click=${addItem}\n >\n <iron-icon icon=\"lumo:plus\" class=\"icon-inline text-l\"></iron-icon>\n </button>\n </div>\n </div>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"EditableList.js","sourceRoot":"","sources":["../../../../src/elements/private/EditableList/EditableList.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, PropertyDeclarations, TemplateResult, html } from 'lit-element';\n\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\nimport { live } from 'lit-html/directives/live';\nimport { repeat } from 'lit-html/directives/repeat';\nimport { InferrableMixin } from '../../../mixins/inferrable';\n\nconst Base = TranslatableMixin(ConfigurableMixin(ThemeableMixin(InferrableMixin(LitElement))));\n\n/** @deprecated – use internal controls instead */\nexport class EditableList extends Base {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n options: { type: Array },\n items: { type: Array },\n __newItem: { attribute: false },\n };\n }\n\n options: { label?: string; value: string }[] = [];\n\n items: { label?: string | TemplateResult; value: string }[] = [];\n\n private __newItem = '';\n\n render(): TemplateResult {\n const deleteButtonClass = classMap({\n 'w-xs h-xs mr-xs rounded-full transition-colors flex-shrink-0': true,\n 'focus-outline-none focus-ring-2 ring-inset ring-error-50': true,\n 'text-tertiary hover-bg-error-10 hover-text-error': !this.disabled,\n 'cursor-default text-disabled': this.disabled,\n 'flex items-center justify-center': !this.readonly,\n 'hidden': this.readonly,\n });\n\n const itemClass = classMap({\n 'transition-colors h-l ml-m flex items-center': true,\n 'text-secondary': this.readonly,\n 'text-disabled': this.disabled,\n });\n\n const isAddButtonDisabled = this.disabled || !this.__newItem;\n\n const addItem = () => {\n if (!this.__newItem) return;\n this.items.push({ value: this.__newItem });\n this.requestUpdate('items');\n this.dispatchEvent(new CustomEvent('change'));\n this.__newItem = '';\n };\n\n return html`\n <slot></slot>\n\n <ol class=\"divide-y divide-contrast-10\">\n ${repeat(\n this.items,\n item => item.value,\n (item, index) => {\n return html`\n <li class=${itemClass}>\n <div class=\"flex-1 mr-s\">${item.label ?? item.value}</div>\n\n <button\n aria-label=${this.t('delete')}\n class=${deleteButtonClass}\n ?disabled=${this.disabled}\n @click=${() => {\n this.items.splice(index, 1);\n this.requestUpdate('items');\n this.dispatchEvent(new CustomEvent('change'));\n }}\n >\n <iron-icon icon=\"lumo:cross\" class=\"icon-inline text-xl\"></iron-icon>\n </button>\n </li>\n `;\n }\n )}\n </ol>\n\n <div\n class=${classMap({\n 'ml-m h-l flex items-center': true,\n 'border-t border-contrast-10': this.items.length > 0,\n 'flex': !this.readonly,\n 'hidden': this.readonly,\n })}\n >\n <input\n placeholder=${this.t('type_here')}\n class=\"w-full bg-transparent appearance-none h-m focus-outline-none\"\n list=\"list\"\n .value=${live(this.__newItem)}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && addItem()}\n @change=${(evt: Event) => evt.stopPropagation()}\n @input=${(evt: InputEvent) => {\n this.__newItem = (evt.currentTarget as HTMLInputElement).value.trim();\n }}\n />\n\n <datalist id=\"list\">\n ${this.options.map(({ label, value }) => {\n if (this.items.some(item => item.value === value)) return;\n return html`<option value=${value}>${label ?? value}</option>`;\n })}\n </datalist>\n\n <div class=\"transition-opacity ${this.__newItem ? 'opacity-100' : 'opacity-0'}\">\n <button\n aria-label=${this.t('submit')}\n class=${classMap({\n 'w-xs h-xs mr-xs flex-shrink-0 ring-inset ring-success-50 focus-outline-none': true,\n 'flex items-center justify-center rounded-full transition-colors': true,\n 'bg-contrast-5 text-disabled cursor-default': isAddButtonDisabled,\n 'bg-success-10 text-success cursor-pointer': !isAddButtonDisabled,\n 'hover-bg-success hover-text-success-contrast': !isAddButtonDisabled,\n 'focus-ring-2': !isAddButtonDisabled,\n })}\n ?disabled=${isAddButtonDisabled}\n @click=${addItem}\n >\n <iron-icon icon=\"lumo:plus\" class=\"icon-inline text-l\"></iron-icon>\n </button>\n </div>\n </div>\n `;\n }\n}\n"]}
@@ -10,6 +10,7 @@ export declare class FriendlyError {
10
10
  export declare class ErrorScreenReloadEvent extends CustomEvent<void> {
11
11
  constructor();
12
12
  }
13
+ /** @deprecated – use internal controls instead */
13
14
  export declare class ErrorScreen extends Translatable {
14
15
  static get scopedElements(): ScopedElementsMap;
15
16
  static get styles(): CSSResultArray;
@@ -13,6 +13,7 @@ export class ErrorScreenReloadEvent extends CustomEvent {
13
13
  super('reload');
14
14
  }
15
15
  }
16
+ /** @deprecated – use internal controls instead */
16
17
  export class ErrorScreen extends Translatable {
17
18
  constructor() {
18
19
  super(...arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorScreen.js","sourceRoot":"","sources":["../../../../src/elements/private/ErrorScreen/ErrorScreen.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAwC,GAAG,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAkB,IAAI,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,wCAAqC;AAC5D,OAAO,EAAE,IAAI,EAAE,wBAAqB;AAIpC,MAAM,OAAO,aAAa;IAGxB,YAAY,OAAkB,SAAS;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,WAAiB;IAC3D;QACE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClB,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,YAAY;IAA7C;;QAoCS,SAAI,GAAc,SAAS,CAAC;QAE5B,WAAM,GAAG,KAAK,CAAC;IA4CxB,CAAC;IAjFQ,MAAM,KAAK,cAAc;QAC9B,OAAO;YACL,eAAe,EAAE,aAAa;YAC9B,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC;YAC5C,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC;IAEM,MAAM,KAAK,MAAM;QACtB,OAAO;YACL,KAAK,CAAC,MAAM;YACZ,GAAG;;;;;;;;;;;OAYF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;YACxC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACvB,CAAC;IACJ,CAAC;IAMM,MAAM;QACX,OAAO,IAAI,CAAA;;;;;;;uBAOQ,IAAI,CAAC,EAAE,SAAS,IAAI,CAAC,IAAI,gBAAgB,IAAI,CAAC,IAAI;;;;uBAIlD,IAAI,CAAC,EAAE,SAAS,IAAI,CAAC,IAAI,gBAAgB,IAAI,CAAC,IAAI;;;;;;mBAMtD,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,QAAQ,EAAE;;;;;yBAK7C,IAAI,CAAC,EAAE,SAAS,IAAI,CAAC,IAAI,gBAAgB,IAAI,CAAC,IAAI;;;YAG/D,IAAI,CAAC,MAAM;YACX,CAAC,CAAC,IAAI,CAAA;;;;2BAIS,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,sBAAsB,EAAE,CAAC;;+BAElD,IAAI,CAAC,EAAE,SAAS,IAAI,CAAC,IAAI;;;eAGzC;YACH,CAAC,CAAC,EAAE;;;KAGX,CAAC;IACJ,CAAC;CACF","sourcesContent":["import { ScopedElementsMap } from '@open-wc/scoped-elements';\nimport { ButtonElement } from '@vaadin/vaadin-button';\nimport { CSSResultArray, PropertyDeclarations, css } from 'lit-element';\nimport { TemplateResult, html } from 'lit-html';\nimport { Translatable } from '../../../mixins/translatable';\nimport { I18N } from '../I18N/I18N';\n\nexport type ErrorType = 'unknown' | 'setup_needed' | 'unauthorized';\n\nexport class FriendlyError {\n public type: ErrorType;\n\n constructor(type: ErrorType = 'unknown') {\n this.type = type;\n }\n}\n\nexport class ErrorScreenReloadEvent extends CustomEvent<void> {\n constructor() {\n super('reload');\n }\n}\n\nexport class ErrorScreen extends Translatable {\n public static get scopedElements(): ScopedElementsMap {\n return {\n 'vaadin-button': ButtonElement,\n 'iron-icon': customElements.get('iron-icon'),\n 'x-i18n': I18N,\n };\n }\n\n public static get styles(): CSSResultArray {\n return [\n super.styles,\n css`\n :host {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n }\n\n .container-narrow {\n max-width: 400px;\n }\n `,\n ];\n }\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n reload: { type: Boolean, reflect: true },\n type: { type: String },\n };\n }\n\n public type: ErrorType = 'unknown';\n\n public reload = false;\n\n public render(): TemplateResult {\n return html`\n <article\n class=\"bg-base font-lumo text-center leading-m p-m h-full flex flex-col items-center justify-center\"\n >\n <iron-icon icon=\"lumo:error\" class=\"text-error w-l h-l mb-m\"></iron-icon>\n\n <header class=\"text-xl text-header container-narrow font-medium\">\n <x-i18n ns=${this.ns} lang=${this.lang} key=\"errors.${this.type}.title\"></x-i18n>\n </header>\n\n <p class=\"text-m text-secondary container-narrow mb-l\">\n <x-i18n ns=${this.ns} lang=${this.lang} key=\"errors.${this.type}.message\"></x-i18n>\n </p>\n\n <div class=\"flex space-x-s\">\n <a\n rel=\"nofollow noreferrer noopener\"\n href=${this._i18n.t(`errors.${this.type}.href`).toString()}\n target=\"_blank\"\n class=\"px-m py-xs text-primary font-medium tracking-wide border border-contrast-10 rounded transition-colors duration-200 hover-bg-primary-10 hover-border-primary-10 focus-outline-none focus-shadow-outline\"\n router-ignore\n >\n <x-i18n ns=${this.ns} lang=${this.lang} key=\"errors.${this.type}.action\"></x-i18n>\n </a>\n\n ${this.reload\n ? html`\n <vaadin-button\n data-testid=\"reload\"\n theme=\"primary\"\n @click=${() => this.dispatchEvent(new ErrorScreenReloadEvent())}\n >\n <x-i18n ns=${this.ns} lang=${this.lang} key=\"reload\"></x-i18n>\n <iron-icon icon=\"icons:refresh\" slot=\"suffix\"></iron-icon>\n </vaadin-button>\n `\n : ''}\n </div>\n </article>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"ErrorScreen.js","sourceRoot":"","sources":["../../../../src/elements/private/ErrorScreen/ErrorScreen.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAwC,GAAG,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAkB,IAAI,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,wCAAqC;AAC5D,OAAO,EAAE,IAAI,EAAE,wBAAqB;AAIpC,MAAM,OAAO,aAAa;IAGxB,YAAY,OAAkB,SAAS;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,WAAiB;IAC3D;QACE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClB,CAAC;CACF;AAED,kDAAkD;AAClD,MAAM,OAAO,WAAY,SAAQ,YAAY;IAA7C;;QAoCS,SAAI,GAAc,SAAS,CAAC;QAE5B,WAAM,GAAG,KAAK,CAAC;IA4CxB,CAAC;IAjFQ,MAAM,KAAK,cAAc;QAC9B,OAAO;YACL,eAAe,EAAE,aAAa;YAC9B,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC;YAC5C,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC;IAEM,MAAM,KAAK,MAAM;QACtB,OAAO;YACL,KAAK,CAAC,MAAM;YACZ,GAAG;;;;;;;;;;;OAYF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;YACxC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACvB,CAAC;IACJ,CAAC;IAMM,MAAM;QACX,OAAO,IAAI,CAAA;;;;;;;uBAOQ,IAAI,CAAC,EAAE,SAAS,IAAI,CAAC,IAAI,gBAAgB,IAAI,CAAC,IAAI;;;;uBAIlD,IAAI,CAAC,EAAE,SAAS,IAAI,CAAC,IAAI,gBAAgB,IAAI,CAAC,IAAI;;;;;;mBAMtD,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,QAAQ,EAAE;;;;;yBAK7C,IAAI,CAAC,EAAE,SAAS,IAAI,CAAC,IAAI,gBAAgB,IAAI,CAAC,IAAI;;;YAG/D,IAAI,CAAC,MAAM;YACX,CAAC,CAAC,IAAI,CAAA;;;;2BAIS,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,sBAAsB,EAAE,CAAC;;+BAElD,IAAI,CAAC,EAAE,SAAS,IAAI,CAAC,IAAI;;;eAGzC;YACH,CAAC,CAAC,EAAE;;;KAGX,CAAC;IACJ,CAAC;CACF","sourcesContent":["import { ScopedElementsMap } from '@open-wc/scoped-elements';\nimport { ButtonElement } from '@vaadin/vaadin-button';\nimport { CSSResultArray, PropertyDeclarations, css } from 'lit-element';\nimport { TemplateResult, html } from 'lit-html';\nimport { Translatable } from '../../../mixins/translatable';\nimport { I18N } from '../I18N/I18N';\n\nexport type ErrorType = 'unknown' | 'setup_needed' | 'unauthorized';\n\nexport class FriendlyError {\n public type: ErrorType;\n\n constructor(type: ErrorType = 'unknown') {\n this.type = type;\n }\n}\n\nexport class ErrorScreenReloadEvent extends CustomEvent<void> {\n constructor() {\n super('reload');\n }\n}\n\n/** @deprecated – use internal controls instead */\nexport class ErrorScreen extends Translatable {\n public static get scopedElements(): ScopedElementsMap {\n return {\n 'vaadin-button': ButtonElement,\n 'iron-icon': customElements.get('iron-icon'),\n 'x-i18n': I18N,\n };\n }\n\n public static get styles(): CSSResultArray {\n return [\n super.styles,\n css`\n :host {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n }\n\n .container-narrow {\n max-width: 400px;\n }\n `,\n ];\n }\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n reload: { type: Boolean, reflect: true },\n type: { type: String },\n };\n }\n\n public type: ErrorType = 'unknown';\n\n public reload = false;\n\n public render(): TemplateResult {\n return html`\n <article\n class=\"bg-base font-lumo text-center leading-m p-m h-full flex flex-col items-center justify-center\"\n >\n <iron-icon icon=\"lumo:error\" class=\"text-error w-l h-l mb-m\"></iron-icon>\n\n <header class=\"text-xl text-header container-narrow font-medium\">\n <x-i18n ns=${this.ns} lang=${this.lang} key=\"errors.${this.type}.title\"></x-i18n>\n </header>\n\n <p class=\"text-m text-secondary container-narrow mb-l\">\n <x-i18n ns=${this.ns} lang=${this.lang} key=\"errors.${this.type}.message\"></x-i18n>\n </p>\n\n <div class=\"flex space-x-s\">\n <a\n rel=\"nofollow noreferrer noopener\"\n href=${this._i18n.t(`errors.${this.type}.href`).toString()}\n target=\"_blank\"\n class=\"px-m py-xs text-primary font-medium tracking-wide border border-contrast-10 rounded transition-colors duration-200 hover-bg-primary-10 hover-border-primary-10 focus-outline-none focus-shadow-outline\"\n router-ignore\n >\n <x-i18n ns=${this.ns} lang=${this.lang} key=\"errors.${this.type}.action\"></x-i18n>\n </a>\n\n ${this.reload\n ? html`\n <vaadin-button\n data-testid=\"reload\"\n theme=\"primary\"\n @click=${() => this.dispatchEvent(new ErrorScreenReloadEvent())}\n >\n <x-i18n ns=${this.ns} lang=${this.lang} key=\"reload\"></x-i18n>\n <iron-icon icon=\"icons:refresh\" slot=\"suffix\"></iron-icon>\n </vaadin-button>\n `\n : ''}\n </div>\n </article>\n `;\n }\n}\n"]}
@@ -8,6 +8,7 @@ declare const FrequencyInput_base: typeof LitElement & import("lit-element").Con
8
8
  } & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
9
9
  defaultNS: string;
10
10
  };
11
+ /** @deprecated – use internal controls instead */
11
12
  export declare class FrequencyInput extends FrequencyInput_base {
12
13
  static get properties(): PropertyDeclarations;
13
14
  static get styles(): CSSResult | CSSResultArray;
@@ -9,6 +9,7 @@ import { live } from '@open-wc/lit-helpers';
9
9
  import memoize from 'lodash-es/memoize';
10
10
  import { parseDuration } from "../../../utils/parse-duration.js";
11
11
  import { InferrableMixin } from "../../../mixins/inferrable.js";
12
+ /** @deprecated – use internal controls instead */
12
13
  export class FrequencyInput extends TranslatableMixin(InferrableMixin(LitElement)) {
13
14
  constructor() {
14
15
  super(...arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"FrequencyInput.js","sourceRoot":"","sources":["../../../../src/elements/private/FrequencyInput/FrequencyInput.ts"],"names":[],"mappings":"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","sourcesContent":["import '@vaadin/vaadin-text-field/vaadin-integer-field';\nimport '@vaadin/vaadin-custom-field';\nimport '@vaadin/vaadin-combo-box';\nimport '../../public/I18n/index';\n\nimport {\n CSSResult,\n CSSResultArray,\n LitElement,\n PropertyDeclarations,\n TemplateResult,\n css,\n html,\n} from 'lit-element';\nimport type { CustomFieldElement, CustomFieldI18n } from '@vaadin/vaadin-custom-field';\n\nimport { FrequencyInputChangeEvent } from './FrequencyInputChangeEvent';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { live } from '@open-wc/lit-helpers';\nimport memoize from 'lodash-es/memoize';\nimport { parseDuration } from '../../../utils/parse-duration';\nimport { InferrableMixin } from '../../../mixins/inferrable';\n\nexport class FrequencyInput extends TranslatableMixin(InferrableMixin(LitElement)) {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n checkValidity: { attribute: false },\n errorMessage: { type: String, attribute: 'error-message' },\n disabled: { type: Boolean, reflect: true },\n readonly: { type: Boolean, reflect: true },\n label: { type: String },\n value: { type: String },\n };\n }\n\n static get styles(): CSSResult | CSSResultArray {\n return css`\n :host {\n display: block;\n }\n\n vaadin-custom-field {\n width: 100%;\n font-size: 0;\n line-height: 0;\n padding-top: 0 !important;\n }\n\n vaadin-custom-field::part(label) {\n padding-bottom: var(--lumo-space-s);\n }\n\n vaadin-custom-field::part(error-message)[aria-hidden='false'] {\n padding-top: var(--lumo-space-xs);\n }\n\n vaadin-integer-field,\n vaadin-combo-box {\n width: calc(50% - (var(--lumo-space-s) / 2));\n }\n\n vaadin-integer-field {\n margin-right: var(--lumo-space-s);\n padding: 0;\n }\n\n vaadin-combo-box::part(text-field) {\n padding: 0;\n }\n `;\n }\n\n label = '';\n\n value = '';\n\n disabled = false;\n\n readonly = false;\n\n errorMessage = '';\n\n private __i18n: CustomFieldI18n = {\n formatValue: inputValues => inputValues.join(''),\n parseValue: value => {\n const { count, units } = parseDuration(value);\n return [count.toString(), units];\n },\n };\n\n private __getItems = memoize((value: string) => {\n const count = parseDuration(value).count;\n\n return [\n { value: 'd', label: this.t('day', { count }) },\n { value: 'w', label: this.t('week', { count }) },\n { value: 'm', label: this.t('month', { count }) },\n { value: 'y', label: this.t('year', { count }) },\n ];\n });\n\n render(): TemplateResult {\n return html`\n <vaadin-custom-field\n data-testid=\"field\"\n .i18n=${this.__i18n}\n .label=${this.label}\n .value=${live(this.value)}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n .errorMessage=${this.errorMessage}\n .checkValidity=${this.checkValidity}\n @change=${this.__handleChange}\n >\n <vaadin-integer-field\n data-testid=\"value\"\n min=\"1\"\n max=\"999\"\n has-controls\n prevent-invalid-input\n ?invalid=${!this.checkValidity()}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n >\n </vaadin-integer-field>\n\n <vaadin-combo-box\n data-testid=\"units\"\n item-value-path=\"value\"\n item-label-path=\"label\"\n .items=${this.__getItems(this.value)}\n ?invalid=${!this.checkValidity()}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n >\n </vaadin-combo-box>\n </vaadin-custom-field>\n `;\n }\n\n updated(changes: Map<keyof this, unknown>): void {\n super.updated(changes);\n const field = this.renderRoot.firstElementChild as CustomFieldElement;\n if (field.value !== this.value) field.value = this.value;\n }\n\n checkValidity(): boolean {\n return true;\n }\n\n private __handleChange(evt: CustomEvent<void>) {\n const field = evt.target as CustomFieldElement;\n this.value = field.value as string;\n this.dispatchEvent(new FrequencyInputChangeEvent(this.value));\n }\n}\n"]}
1
+ {"version":3,"file":"FrequencyInput.js","sourceRoot":"","sources":["../../../../src/elements/private/FrequencyInput/FrequencyInput.ts"],"names":[],"mappings":"AAAA,OAAO,gDAAgD,CAAC;AACxD,OAAO,6BAA6B,CAAC;AACrC,OAAO,0BAA0B,CAAC;AAClC,oCAAiC;AAEjC,OAAO,EAGL,UAAU,EAGV,GAAG,EACH,IAAI,GACL,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,yBAAyB,EAAE,uCAAoC;AACxE,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,yCAAsC;AAC9D,OAAO,EAAE,eAAe,EAAE,sCAAmC;AAE7D,kDAAkD;AAClD,MAAM,OAAO,cAAe,SAAQ,iBAAiB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAAlF;;QAkDE,UAAK,GAAG,EAAE,CAAC;QAEX,UAAK,GAAG,EAAE,CAAC;QAEX,aAAQ,GAAG,KAAK,CAAC;QAEjB,aAAQ,GAAG,KAAK,CAAC;QAEjB,iBAAY,GAAG,EAAE,CAAC;QAEV,WAAM,GAAoB;YAChC,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,UAAU,EAAE,KAAK,CAAC,EAAE;gBAClB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC9C,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC;SACF,CAAC;QAEM,eAAU,GAAG,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;YAC7C,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;YAEzC,OAAO;gBACL,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAC/C,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChD,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBACjD,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;aACjD,CAAC;QACJ,CAAC,CAAC,CAAC;IAwDL,CAAC;IApIC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,aAAa,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;YACnC,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE;YAC1D,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;YAC1C,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;YAC1C,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACvB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACxB,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiCT,CAAC;IACJ,CAAC;IA+BD,MAAM;QACJ,OAAO,IAAI,CAAA;;;gBAGC,IAAI,CAAC,MAAM;iBACV,IAAI,CAAC,KAAK;iBACV,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;oBACb,IAAI,CAAC,QAAQ;oBACb,IAAI,CAAC,QAAQ;wBACT,IAAI,CAAC,YAAY;yBAChB,IAAI,CAAC,aAAa;kBACzB,IAAI,CAAC,cAAc;;;;;;;;qBAQhB,CAAC,IAAI,CAAC,aAAa,EAAE;sBACpB,IAAI,CAAC,QAAQ;sBACb,IAAI,CAAC,QAAQ;;;;;;;;mBAQhB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;qBACzB,CAAC,IAAI,CAAC,aAAa,EAAE;sBACpB,IAAI,CAAC,QAAQ;sBACb,IAAI,CAAC,QAAQ;;;;KAI9B,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,OAAiC;QACvC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAuC,CAAC;QACtE,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;YAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC3D,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,cAAc,CAAC,GAAsB;QAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,MAA4B,CAAC;QAC/C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAe,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,IAAI,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,CAAC;CACF","sourcesContent":["import '@vaadin/vaadin-text-field/vaadin-integer-field';\nimport '@vaadin/vaadin-custom-field';\nimport '@vaadin/vaadin-combo-box';\nimport '../../public/I18n/index';\n\nimport {\n CSSResult,\n CSSResultArray,\n LitElement,\n PropertyDeclarations,\n TemplateResult,\n css,\n html,\n} from 'lit-element';\nimport type { CustomFieldElement, CustomFieldI18n } from '@vaadin/vaadin-custom-field';\n\nimport { FrequencyInputChangeEvent } from './FrequencyInputChangeEvent';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { live } from '@open-wc/lit-helpers';\nimport memoize from 'lodash-es/memoize';\nimport { parseDuration } from '../../../utils/parse-duration';\nimport { InferrableMixin } from '../../../mixins/inferrable';\n\n/** @deprecated – use internal controls instead */\nexport class FrequencyInput extends TranslatableMixin(InferrableMixin(LitElement)) {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n checkValidity: { attribute: false },\n errorMessage: { type: String, attribute: 'error-message' },\n disabled: { type: Boolean, reflect: true },\n readonly: { type: Boolean, reflect: true },\n label: { type: String },\n value: { type: String },\n };\n }\n\n static get styles(): CSSResult | CSSResultArray {\n return css`\n :host {\n display: block;\n }\n\n vaadin-custom-field {\n width: 100%;\n font-size: 0;\n line-height: 0;\n padding-top: 0 !important;\n }\n\n vaadin-custom-field::part(label) {\n padding-bottom: var(--lumo-space-s);\n }\n\n vaadin-custom-field::part(error-message)[aria-hidden='false'] {\n padding-top: var(--lumo-space-xs);\n }\n\n vaadin-integer-field,\n vaadin-combo-box {\n width: calc(50% - (var(--lumo-space-s) / 2));\n }\n\n vaadin-integer-field {\n margin-right: var(--lumo-space-s);\n padding: 0;\n }\n\n vaadin-combo-box::part(text-field) {\n padding: 0;\n }\n `;\n }\n\n label = '';\n\n value = '';\n\n disabled = false;\n\n readonly = false;\n\n errorMessage = '';\n\n private __i18n: CustomFieldI18n = {\n formatValue: inputValues => inputValues.join(''),\n parseValue: value => {\n const { count, units } = parseDuration(value);\n return [count.toString(), units];\n },\n };\n\n private __getItems = memoize((value: string) => {\n const count = parseDuration(value).count;\n\n return [\n { value: 'd', label: this.t('day', { count }) },\n { value: 'w', label: this.t('week', { count }) },\n { value: 'm', label: this.t('month', { count }) },\n { value: 'y', label: this.t('year', { count }) },\n ];\n });\n\n render(): TemplateResult {\n return html`\n <vaadin-custom-field\n data-testid=\"field\"\n .i18n=${this.__i18n}\n .label=${this.label}\n .value=${live(this.value)}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n .errorMessage=${this.errorMessage}\n .checkValidity=${this.checkValidity}\n @change=${this.__handleChange}\n >\n <vaadin-integer-field\n data-testid=\"value\"\n min=\"1\"\n max=\"999\"\n has-controls\n prevent-invalid-input\n ?invalid=${!this.checkValidity()}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n >\n </vaadin-integer-field>\n\n <vaadin-combo-box\n data-testid=\"units\"\n item-value-path=\"value\"\n item-label-path=\"label\"\n .items=${this.__getItems(this.value)}\n ?invalid=${!this.checkValidity()}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n >\n </vaadin-combo-box>\n </vaadin-custom-field>\n `;\n }\n\n updated(changes: Map<keyof this, unknown>): void {\n super.updated(changes);\n const field = this.renderRoot.firstElementChild as CustomFieldElement;\n if (field.value !== this.value) field.value = this.value;\n }\n\n checkValidity(): boolean {\n return true;\n }\n\n private __handleChange(evt: CustomEvent<void>) {\n const field = evt.target as CustomFieldElement;\n this.value = field.value as string;\n this.dispatchEvent(new FrequencyInputChangeEvent(this.value));\n }\n}\n"]}
@@ -1,4 +1,5 @@
1
1
  import { CSSResult, CSSResultArray, LitElement, PropertyDeclarations, TemplateResult } from 'lit-element';
2
+ /** @deprecated – use internal controls instead */
2
3
  export declare class Group extends LitElement {
3
4
  static get properties(): PropertyDeclarations;
4
5
  static get styles(): CSSResult | CSSResultArray;
@@ -1,5 +1,6 @@
1
1
  import { LitElement, html, } from 'lit-element';
2
2
  import { Themeable } from "../../../mixins/themeable.js";
3
+ /** @deprecated – use internal controls instead */
3
4
  export class Group extends LitElement {
4
5
  constructor() {
5
6
  super(...arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"Group.js","sourceRoot":"","sources":["../../../../src/elements/private/Group/Group.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EAGV,IAAI,GACL,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,qCAAkC;AAEtD,MAAM,OAAO,KAAM,SAAQ,UAAU;IAArC;;QAYS,UAAK,GAAG,KAAK,CAAC;IAiBvB,CAAC;IA5BQ,MAAM,KAAK,UAAU;QAC1B,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SACzB,CAAC;IACJ,CAAC;IAEM,MAAM,KAAK,MAAM;QACtB,OAAO,SAAS,CAAC,MAAM,CAAC;IAC1B,CAAC;IAIM,MAAM;QACX,MAAM,UAAU,GAAG,2CAA2C,CAAC;QAE/D,OAAO,IAAI,CAAA;;oBAEK,kDAAkD,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE;;;;8BAIlE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;;;;KAIrD,CAAC;IACJ,CAAC;CACF","sourcesContent":["import {\n CSSResult,\n CSSResultArray,\n LitElement,\n PropertyDeclarations,\n TemplateResult,\n html,\n} from 'lit-element';\n\nimport { Themeable } from '../../../mixins/themeable';\n\nexport class Group extends LitElement {\n public static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n frame: { type: Boolean },\n };\n }\n\n public static get styles(): CSSResult | CSSResultArray {\n return Themeable.styles;\n }\n\n public frame = false;\n\n public render(): TemplateResult {\n const frameClass = 'border border-contrast-10 overflow-hidden';\n\n return html`\n <section class=\"space-y-s font-lumo antialiased\">\n <h3 class=${`text-s font-medium text-secondary leading-none ${this.frame ? '' : 'pl-m'}`}>\n <slot name=\"header\"></slot>\n </h3>\n\n <div class=\"rounded ${this.frame ? frameClass : ''}\">\n <slot></slot>\n </div>\n </section>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"Group.js","sourceRoot":"","sources":["../../../../src/elements/private/Group/Group.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EAGV,IAAI,GACL,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,qCAAkC;AAEtD,kDAAkD;AAClD,MAAM,OAAO,KAAM,SAAQ,UAAU;IAArC;;QAYS,UAAK,GAAG,KAAK,CAAC;IAiBvB,CAAC;IA5BQ,MAAM,KAAK,UAAU;QAC1B,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SACzB,CAAC;IACJ,CAAC;IAEM,MAAM,KAAK,MAAM;QACtB,OAAO,SAAS,CAAC,MAAM,CAAC;IAC1B,CAAC;IAIM,MAAM;QACX,MAAM,UAAU,GAAG,2CAA2C,CAAC;QAE/D,OAAO,IAAI,CAAA;;oBAEK,kDAAkD,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE;;;;8BAIlE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;;;;KAIrD,CAAC;IACJ,CAAC;CACF","sourcesContent":["import {\n CSSResult,\n CSSResultArray,\n LitElement,\n PropertyDeclarations,\n TemplateResult,\n html,\n} from 'lit-element';\n\nimport { Themeable } from '../../../mixins/themeable';\n\n/** @deprecated – use internal controls instead */\nexport class Group extends LitElement {\n public static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n frame: { type: Boolean },\n };\n }\n\n public static get styles(): CSSResult | CSSResultArray {\n return Themeable.styles;\n }\n\n public frame = false;\n\n public render(): TemplateResult {\n const frameClass = 'border border-contrast-10 overflow-hidden';\n\n return html`\n <section class=\"space-y-s font-lumo antialiased\">\n <h3 class=${`text-s font-medium text-secondary leading-none ${this.frame ? '' : 'pl-m'}`}>\n <slot name=\"header\"></slot>\n </h3>\n\n <div class=\"rounded ${this.frame ? frameClass : ''}\">\n <slot></slot>\n </div>\n </section>\n `;\n }\n}\n"]}
@@ -3,6 +3,7 @@ import { TOptions } from 'i18next';
3
3
  import { CSSResultArray, TemplateResult, PropertyDeclarations } from 'lit-element';
4
4
  import { Translatable } from '../../../mixins/translatable';
5
5
  export declare type I18NOptions = TOptions<any>;
6
+ /** @deprecated – use internal controls instead */
6
7
  export declare class I18N extends Translatable {
7
8
  static get scopedElements(): ScopedElementsMap;
8
9
  static get properties(): PropertyDeclarations;
@@ -1,6 +1,7 @@
1
1
  import { css, html } from 'lit-element';
2
2
  import { Translatable } from "../../../mixins/translatable.js";
3
3
  import { Skeleton } from "../Skeleton/Skeleton.js";
4
+ /** @deprecated – use internal controls instead */
4
5
  export class I18N extends Translatable {
5
6
  constructor() {
6
7
  super(...arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"I18N.js","sourceRoot":"","sources":["../../../../src/elements/private/I18N/I18N.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAkB,IAAI,EAAwC,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAE,wCAAqC;AAC5D,OAAO,EAAE,QAAQ,EAAE,gCAA6B;AAKhD,MAAM,OAAO,IAAK,SAAQ,YAAY;IAAtC;;QA6BS,QAAG,GAAG,EAAE,CAAC;IAelB,CAAC;IA3CQ,MAAM,KAAK,cAAc;QAC9B,OAAO;YACL,YAAY,EAAE,QAAQ;SACvB,CAAC;IACJ,CAAC;IAEM,MAAM,KAAK,UAAU;QAC1B,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;YACpC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACvB,CAAC;IACJ,CAAC;IAEM,MAAM,KAAK,MAAM;QACtB,OAAO;YACL,KAAK,CAAC,MAAM;YACZ,GAAG;;;;;;OAOF;SACF,CAAC;IACJ,CAAC;IAMD,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,cAAe,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9D,CAAC;IAEM,MAAM;QACX,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,OAAO,IAAI,CAAA,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;SAC3D;aAAM;YACL,OAAO,IAAI,CAAA,6BAA6B,IAAI,CAAC,GAAG,4BAA4B,CAAC;SAC9E;IACH,CAAC;CACF","sourcesContent":["import { ScopedElementsMap } from '@open-wc/scoped-elements';\nimport { TOptions } from 'i18next';\nimport { css, CSSResultArray, html, TemplateResult, PropertyDeclarations } from 'lit-element';\nimport { Translatable } from '../../../mixins/translatable';\nimport { Skeleton } from '../Skeleton/Skeleton';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type I18NOptions = TOptions<any>;\n\nexport class I18N extends Translatable {\n public static get scopedElements(): ScopedElementsMap {\n return {\n 'x-skeleton': Skeleton,\n };\n }\n\n public static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n key: { type: String, reflect: true },\n opts: { type: Object },\n };\n }\n\n public static get styles(): CSSResultArray {\n return [\n super.styles,\n css`\n :host {\n display: inline-block;\n color: inherit;\n line-height: inherit;\n font: inherit;\n }\n `,\n ];\n }\n\n public key = '';\n\n public opts?: I18NOptions;\n\n public get whenReady(): Promise<unknown> {\n return this._whenI18nReady!.then(() => this.updateComplete);\n }\n\n public render(): TemplateResult {\n if (this._isI18nReady) {\n return html`${this._t(this.key, this.opts)}<slot></slot>`;\n } else {\n return html`<x-skeleton class=\"block\">${this.key}<slot></slot></x-skeleton>`;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"I18N.js","sourceRoot":"","sources":["../../../../src/elements/private/I18N/I18N.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAkB,IAAI,EAAwC,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAE,wCAAqC;AAC5D,OAAO,EAAE,QAAQ,EAAE,gCAA6B;AAKhD,kDAAkD;AAClD,MAAM,OAAO,IAAK,SAAQ,YAAY;IAAtC;;QA6BS,QAAG,GAAG,EAAE,CAAC;IAelB,CAAC;IA3CQ,MAAM,KAAK,cAAc;QAC9B,OAAO;YACL,YAAY,EAAE,QAAQ;SACvB,CAAC;IACJ,CAAC;IAEM,MAAM,KAAK,UAAU;QAC1B,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;YACpC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACvB,CAAC;IACJ,CAAC;IAEM,MAAM,KAAK,MAAM;QACtB,OAAO;YACL,KAAK,CAAC,MAAM;YACZ,GAAG;;;;;;OAOF;SACF,CAAC;IACJ,CAAC;IAMD,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,cAAe,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9D,CAAC;IAEM,MAAM;QACX,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,OAAO,IAAI,CAAA,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;SAC3D;aAAM;YACL,OAAO,IAAI,CAAA,6BAA6B,IAAI,CAAC,GAAG,4BAA4B,CAAC;SAC9E;IACH,CAAC;CACF","sourcesContent":["import { ScopedElementsMap } from '@open-wc/scoped-elements';\nimport { TOptions } from 'i18next';\nimport { css, CSSResultArray, html, TemplateResult, PropertyDeclarations } from 'lit-element';\nimport { Translatable } from '../../../mixins/translatable';\nimport { Skeleton } from '../Skeleton/Skeleton';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type I18NOptions = TOptions<any>;\n\n/** @deprecated – use internal controls instead */\nexport class I18N extends Translatable {\n public static get scopedElements(): ScopedElementsMap {\n return {\n 'x-skeleton': Skeleton,\n };\n }\n\n public static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n key: { type: String, reflect: true },\n opts: { type: Object },\n };\n }\n\n public static get styles(): CSSResultArray {\n return [\n super.styles,\n css`\n :host {\n display: inline-block;\n color: inherit;\n line-height: inherit;\n font: inherit;\n }\n `,\n ];\n }\n\n public key = '';\n\n public opts?: I18NOptions;\n\n public get whenReady(): Promise<unknown> {\n return this._whenI18nReady!.then(() => this.updateComplete);\n }\n\n public render(): TemplateResult {\n if (this._isI18nReady) {\n return html`${this._t(this.key, this.opts)}<slot></slot>`;\n } else {\n return html`<x-skeleton class=\"block\">${this.key}<slot></slot></x-skeleton>`;\n }\n }\n}\n"]}
@@ -1,4 +1,5 @@
1
1
  import { CSSResult, CSSResultArray, LitElement, PropertyDeclarations, TemplateResult } from 'lit-element';
2
+ /** @deprecated – use internal controls instead */
2
3
  export declare class List extends LitElement {
3
4
  static get properties(): PropertyDeclarations;
4
5
  static get styles(): CSSResult | CSSResultArray;
@@ -1,6 +1,7 @@
1
1
  import { LitElement, html, } from 'lit-element';
2
2
  import { ListChangeEvent } from "./ListChangeEvent.js";
3
3
  import { Themeable } from "../../../mixins/themeable.js";
4
+ /** @deprecated – use internal controls instead */
4
5
  export class List extends LitElement {
5
6
  constructor() {
6
7
  super(...arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"List.js","sourceRoot":"","sources":["../../../../src/elements/private/List/List.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EAGV,IAAI,GACL,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,eAAe,EAAE,6BAA0B;AACpD,OAAO,EAAE,SAAS,EAAE,qCAAkC;AAEtD,MAAM,OAAO,IAAK,SAAQ,UAAU;IAApC;;QAcS,UAAK,GAAa,EAAE,CAAC;QAErB,aAAQ,GAAG,KAAK,CAAC;QAEjB,YAAO,GAA8B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAqCrD,CAAC;IAtDQ,MAAM,KAAK,UAAU;QAC1B,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YACtB,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SAC1B,CAAC;IACJ,CAAC;IAEM,MAAM,KAAK,MAAM;QACtB,OAAO,SAAS,CAAC,MAAM,CAAC;IAC1B,CAAC;IAQM,MAAM;QACX,OAAO,IAAI,CAAA;;;YAGH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAChC,OAAO,IAAI,CAAA;;wBAEC,sDAAsD;gBAC9D,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,CAAC;;6BAEpC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;;;8BAG3B,IAAI,CAAC,QAAQ;;2BAEhB,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;;;;;aAKxC,CAAC;QACJ,CAAC,CAAC;;;;;;;KAOP,CAAC;IACJ,CAAC;IAEO,QAAQ,CAAC,KAAa;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,aAAa,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,CAAC;CACF","sourcesContent":["import {\n CSSResult,\n CSSResultArray,\n LitElement,\n PropertyDeclarations,\n TemplateResult,\n html,\n} from 'lit-element';\n\nimport { ListChangeEvent } from './ListChangeEvent';\nimport { Themeable } from '../../../mixins/themeable';\n\nexport class List extends LitElement {\n public static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n value: { type: Array },\n disabled: { type: Boolean },\n getText: { type: Object },\n };\n }\n\n public static get styles(): CSSResult | CSSResultArray {\n return Themeable.styles;\n }\n\n public value: string[] = [];\n\n public disabled = false;\n\n public getText: (value: string) => string = v => v;\n\n public render(): TemplateResult {\n return html`\n <div class=\"font-lumo text-m w-full\">\n <ul>\n ${this.value.map((value, index) => {\n return html`\n <li\n class=${'ml-m h-l text-body flex justify-between items-center' +\n (index > 0 ? ' border-t border-contrast-10' : '')}\n >\n <slot name=${index}>${this.getText(value)}</slot>\n\n <button\n ?disabled=${this.disabled}\n class=\"w-l h-l rounded text-tertiary transition duration-150 hover-text-secondary disabled-text-tertiary disabled-opacity-50 disabled-cursor-default focus-outline-none focus-shadow-outline\"\n @click=${() => this.__remove(index)}\n >\n <iron-icon icon=\"lumo:cross\"></iron-icon>\n </button>\n </li>\n `;\n })}\n </ul>\n\n <div class=\"p-m\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n\n private __remove(index: number) {\n this.value = this.value.filter((_, i) => i !== index);\n this.dispatchEvent(new ListChangeEvent(this.value));\n }\n}\n"]}
1
+ {"version":3,"file":"List.js","sourceRoot":"","sources":["../../../../src/elements/private/List/List.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EAGV,IAAI,GACL,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,eAAe,EAAE,6BAA0B;AACpD,OAAO,EAAE,SAAS,EAAE,qCAAkC;AAEtD,kDAAkD;AAClD,MAAM,OAAO,IAAK,SAAQ,UAAU;IAApC;;QAcS,UAAK,GAAa,EAAE,CAAC;QAErB,aAAQ,GAAG,KAAK,CAAC;QAEjB,YAAO,GAA8B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAqCrD,CAAC;IAtDQ,MAAM,KAAK,UAAU;QAC1B,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YACtB,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SAC1B,CAAC;IACJ,CAAC;IAEM,MAAM,KAAK,MAAM;QACtB,OAAO,SAAS,CAAC,MAAM,CAAC;IAC1B,CAAC;IAQM,MAAM;QACX,OAAO,IAAI,CAAA;;;YAGH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAChC,OAAO,IAAI,CAAA;;wBAEC,sDAAsD;gBAC9D,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,CAAC;;6BAEpC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;;;8BAG3B,IAAI,CAAC,QAAQ;;2BAEhB,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;;;;;aAKxC,CAAC;QACJ,CAAC,CAAC;;;;;;;KAOP,CAAC;IACJ,CAAC;IAEO,QAAQ,CAAC,KAAa;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,aAAa,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,CAAC;CACF","sourcesContent":["import {\n CSSResult,\n CSSResultArray,\n LitElement,\n PropertyDeclarations,\n TemplateResult,\n html,\n} from 'lit-element';\n\nimport { ListChangeEvent } from './ListChangeEvent';\nimport { Themeable } from '../../../mixins/themeable';\n\n/** @deprecated – use internal controls instead */\nexport class List extends LitElement {\n public static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n value: { type: Array },\n disabled: { type: Boolean },\n getText: { type: Object },\n };\n }\n\n public static get styles(): CSSResult | CSSResultArray {\n return Themeable.styles;\n }\n\n public value: string[] = [];\n\n public disabled = false;\n\n public getText: (value: string) => string = v => v;\n\n public render(): TemplateResult {\n return html`\n <div class=\"font-lumo text-m w-full\">\n <ul>\n ${this.value.map((value, index) => {\n return html`\n <li\n class=${'ml-m h-l text-body flex justify-between items-center' +\n (index > 0 ? ' border-t border-contrast-10' : '')}\n >\n <slot name=${index}>${this.getText(value)}</slot>\n\n <button\n ?disabled=${this.disabled}\n class=\"w-l h-l rounded text-tertiary transition duration-150 hover-text-secondary disabled-text-tertiary disabled-opacity-50 disabled-cursor-default focus-outline-none focus-shadow-outline\"\n @click=${() => this.__remove(index)}\n >\n <iron-icon icon=\"lumo:cross\"></iron-icon>\n </button>\n </li>\n `;\n })}\n </ul>\n\n <div class=\"p-m\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n\n private __remove(index: number) {\n this.value = this.value.filter((_, i) => i !== index);\n this.dispatchEvent(new ListChangeEvent(this.value));\n }\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  import { CSSResultArray, LitElement } from 'lit-element';
2
2
  import { TemplateResult } from 'lit-html';
3
+ /** @deprecated – use internal controls instead */
3
4
  export declare class LoadingScreen extends LitElement {
4
5
  static get styles(): CSSResultArray;
5
6
  render(): TemplateResult;
@@ -1,6 +1,7 @@
1
1
  import { LitElement, css } from 'lit-element';
2
2
  import { html } from 'lit-html';
3
3
  import { Themeable } from "../../../mixins/themeable.js";
4
+ /** @deprecated – use internal controls instead */
4
5
  export class LoadingScreen extends LitElement {
5
6
  static get styles() {
6
7
  return [
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingScreen.js","sourceRoot":"","sources":["../../../../src/elements/private/LoadingScreen/LoadingScreen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,UAAU,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAkB,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,qCAAkC;AAEtD,MAAM,OAAO,aAAc,SAAQ,UAAU;IACpC,MAAM,KAAK,MAAM;QACtB,OAAO;YACL,SAAS,CAAC,MAAM;YAChB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgDF;SACF,CAAC;IACJ,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2EV,CAAC;IACJ,CAAC;CACF","sourcesContent":["import { CSSResultArray, LitElement, css } from 'lit-element';\nimport { TemplateResult, html } from 'lit-html';\n\nimport { Themeable } from '../../../mixins/themeable';\n\nexport class LoadingScreen extends LitElement {\n public static get styles(): CSSResultArray {\n return [\n Themeable.styles,\n css`\n :host {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n }\n\n .top-center {\n top: calc(50% - (var(--lumo-size-xl) / 2));\n }\n\n @keyframes dash0 {\n from {\n transform: translate(0, 0);\n }\n to {\n transform: translate(5.681301px, 3.368302px);\n }\n }\n\n @keyframes dash1 {\n from {\n transform: translate(0, 0);\n }\n to {\n transform: translate(5.677051px, 3.457428px);\n }\n }\n\n @keyframes dash2 {\n from {\n transform: translate(0, 0);\n }\n to {\n transform: translate(5.686002px, 3.127455px);\n }\n }\n\n @keyframes dash3 {\n from {\n transform: translate(-5.6842px, -3.404556px);\n }\n to {\n transform: translate(0, 0);\n }\n }\n `,\n ];\n }\n\n public render(): TemplateResult {\n return html`\n <div class=\"h-full bg-base text-primary\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"fill-current w-xl h-xl mx-auto sticky top-center\"\n shape-rendering=\"geometricPrecision\"\n text-rendering=\"geometricPrecision\"\n viewBox=\"0 0 64 64\"\n >\n <path\n id=\"ew5fy7afo2w2\"\n fill-rule=\"evenodd\"\n stroke=\"none\"\n stroke-width=\"1\"\n d=\"M41.93 49.46c0 .18-.2.3-.36.2l-1.78-1.07-22.73-13.76a1.5 1.5 0 01-.7-1.3V11.08c0-.18.2-.3.36-.2l1.75 1.04c.44.25.74.75.74 1.32v19.27c0 .08.05.16.12.2L41.22 46c.47.28.73.8.72 1.32v2.15z\"\n clip-rule=\"evenodd\"\n />\n\n <path\n id=\"ew5fy7afo2w3\"\n fill-rule=\"evenodd\"\n stroke=\"none\"\n stroke-width=\"1\"\n d=\"M47.64 52.9c0 .2-.2.3-.36.21l-1.8-1.08c-.42-.26-.7-.74-.7-1.3v-19.3a.24.24 0 00-.12-.2L25.27 19.47a.24.24 0 00-.37.21v12.55c0 .19-.21.3-.37.2l-1.76-1.06a1.46 1.46 0 01-.71-1.28V16.7c0-.54.27-1.03.71-1.3.45-.27 1-.26 1.44 0l22.72 13.77c.44.26.7.76.7 1.3v20.27l.01 2.17z\"\n clip-rule=\"evenodd\"\n />\n\n <g style=\"animation:dash0 300ms linear infinite normal forwards\">\n <path\n id=\"ew5fy7afo2w4\"\n fill-rule=\"evenodd\"\n stroke=\"none\"\n stroke-width=\"1\"\n d=\"M30.59 35.68c0 .2-.21.3-.37.21l-1.8-1.1c-.41-.27-.68-.74-.68-1.28V27v-2.15c0-.2.2-.3.37-.21l1.78 1.06c.42.26.7.74.7 1.3v8.68z\"\n clip-rule=\"evenodd\"\n />\n </g>\n\n <g style=\"animation:dash1 300ms linear infinite normal forwards\">\n <path\n id=\"ew5fy7afo2w5\"\n fill-rule=\"evenodd\"\n stroke=\"none\"\n stroke-width=\"1\"\n d=\"M36.28 39.13c0 .2-.2.3-.37.21l-1.79-1.1c-.41-.25-.69-.73-.69-1.28v-6.51-2.16c0-.2.2-.31.37-.21l1.76 1.06c.44.26.73.75.73 1.3v8.69z\"\n clip-rule=\"evenodd\"\n />\n </g>\n\n <g style=\"animation:dash2 300ms linear infinite normal forwards\">\n <path\n id=\"ew5fy7afo2w6\"\n fill-rule=\"evenodd\"\n stroke=\"none\"\n stroke-width=\"1\"\n d=\"M41.96 42.57c0 .2-.2.3-.37.21L39.8 41.7a1.52 1.52 0 01-.71-1.3v-6.51-2.17c0-.2.2-.31.37-.21l1.74 1.06c.45.25.75.75.75 1.32v8.68z\"\n clip-rule=\"evenodd\"\n />\n </g>\n\n <g\n transform=\"translate(-5.68 -3.4)\"\n style=\"animation:dash3 300ms linear infinite normal forwards\"\n >\n <path\n id=\"ew5fy7afo2w7\"\n fill-rule=\"evenodd\"\n stroke=\"none\"\n stroke-width=\"1\"\n d=\"M30.59 35.68c0 .2-.21.3-.37.21l-1.8-1.1c-.41-.27-.68-.74-.68-1.28V27v-2.15c0-.2.2-.3.37-.21l1.78 1.06c.42.26.7.74.7 1.3v8.68z\"\n clip-rule=\"evenodd\"\n />\n </g>\n </svg>\n </div>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"LoadingScreen.js","sourceRoot":"","sources":["../../../../src/elements/private/LoadingScreen/LoadingScreen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,UAAU,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAkB,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,qCAAkC;AAEtD,kDAAkD;AAClD,MAAM,OAAO,aAAc,SAAQ,UAAU;IACpC,MAAM,KAAK,MAAM;QACtB,OAAO;YACL,SAAS,CAAC,MAAM;YAChB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgDF;SACF,CAAC;IACJ,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2EV,CAAC;IACJ,CAAC;CACF","sourcesContent":["import { CSSResultArray, LitElement, css } from 'lit-element';\nimport { TemplateResult, html } from 'lit-html';\n\nimport { Themeable } from '../../../mixins/themeable';\n\n/** @deprecated – use internal controls instead */\nexport class LoadingScreen extends LitElement {\n public static get styles(): CSSResultArray {\n return [\n Themeable.styles,\n css`\n :host {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n }\n\n .top-center {\n top: calc(50% - (var(--lumo-size-xl) / 2));\n }\n\n @keyframes dash0 {\n from {\n transform: translate(0, 0);\n }\n to {\n transform: translate(5.681301px, 3.368302px);\n }\n }\n\n @keyframes dash1 {\n from {\n transform: translate(0, 0);\n }\n to {\n transform: translate(5.677051px, 3.457428px);\n }\n }\n\n @keyframes dash2 {\n from {\n transform: translate(0, 0);\n }\n to {\n transform: translate(5.686002px, 3.127455px);\n }\n }\n\n @keyframes dash3 {\n from {\n transform: translate(-5.6842px, -3.404556px);\n }\n to {\n transform: translate(0, 0);\n }\n }\n `,\n ];\n }\n\n public render(): TemplateResult {\n return html`\n <div class=\"h-full bg-base text-primary\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"fill-current w-xl h-xl mx-auto sticky top-center\"\n shape-rendering=\"geometricPrecision\"\n text-rendering=\"geometricPrecision\"\n viewBox=\"0 0 64 64\"\n >\n <path\n id=\"ew5fy7afo2w2\"\n fill-rule=\"evenodd\"\n stroke=\"none\"\n stroke-width=\"1\"\n d=\"M41.93 49.46c0 .18-.2.3-.36.2l-1.78-1.07-22.73-13.76a1.5 1.5 0 01-.7-1.3V11.08c0-.18.2-.3.36-.2l1.75 1.04c.44.25.74.75.74 1.32v19.27c0 .08.05.16.12.2L41.22 46c.47.28.73.8.72 1.32v2.15z\"\n clip-rule=\"evenodd\"\n />\n\n <path\n id=\"ew5fy7afo2w3\"\n fill-rule=\"evenodd\"\n stroke=\"none\"\n stroke-width=\"1\"\n d=\"M47.64 52.9c0 .2-.2.3-.36.21l-1.8-1.08c-.42-.26-.7-.74-.7-1.3v-19.3a.24.24 0 00-.12-.2L25.27 19.47a.24.24 0 00-.37.21v12.55c0 .19-.21.3-.37.2l-1.76-1.06a1.46 1.46 0 01-.71-1.28V16.7c0-.54.27-1.03.71-1.3.45-.27 1-.26 1.44 0l22.72 13.77c.44.26.7.76.7 1.3v20.27l.01 2.17z\"\n clip-rule=\"evenodd\"\n />\n\n <g style=\"animation:dash0 300ms linear infinite normal forwards\">\n <path\n id=\"ew5fy7afo2w4\"\n fill-rule=\"evenodd\"\n stroke=\"none\"\n stroke-width=\"1\"\n d=\"M30.59 35.68c0 .2-.21.3-.37.21l-1.8-1.1c-.41-.27-.68-.74-.68-1.28V27v-2.15c0-.2.2-.3.37-.21l1.78 1.06c.42.26.7.74.7 1.3v8.68z\"\n clip-rule=\"evenodd\"\n />\n </g>\n\n <g style=\"animation:dash1 300ms linear infinite normal forwards\">\n <path\n id=\"ew5fy7afo2w5\"\n fill-rule=\"evenodd\"\n stroke=\"none\"\n stroke-width=\"1\"\n d=\"M36.28 39.13c0 .2-.2.3-.37.21l-1.79-1.1c-.41-.25-.69-.73-.69-1.28v-6.51-2.16c0-.2.2-.31.37-.21l1.76 1.06c.44.26.73.75.73 1.3v8.69z\"\n clip-rule=\"evenodd\"\n />\n </g>\n\n <g style=\"animation:dash2 300ms linear infinite normal forwards\">\n <path\n id=\"ew5fy7afo2w6\"\n fill-rule=\"evenodd\"\n stroke=\"none\"\n stroke-width=\"1\"\n d=\"M41.96 42.57c0 .2-.2.3-.37.21L39.8 41.7a1.52 1.52 0 01-.71-1.3v-6.51-2.17c0-.2.2-.31.37-.21l1.74 1.06c.45.25.75.75.75 1.32v8.68z\"\n clip-rule=\"evenodd\"\n />\n </g>\n\n <g\n transform=\"translate(-5.68 -3.4)\"\n style=\"animation:dash3 300ms linear infinite normal forwards\"\n >\n <path\n id=\"ew5fy7afo2w7\"\n fill-rule=\"evenodd\"\n stroke=\"none\"\n stroke-width=\"1\"\n d=\"M30.59 35.68c0 .2-.21.3-.37.21l-1.8-1.1c-.41-.27-.68-.74-.68-1.28V27v-2.15c0-.2.2-.3.37-.21l1.78 1.06c.42.26.7.74.7 1.3v8.68z\"\n clip-rule=\"evenodd\"\n />\n </g>\n </svg>\n </div>\n `;\n }\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  import type { PropertyDeclarations } from 'lit-element';
2
2
  import type { TemplateResult } from 'lit-html';
3
3
  import { Themeable } from '../../../mixins/themeable';
4
+ /** @deprecated – use internal controls instead */
4
5
  export declare class Metadata extends Themeable {
5
6
  static get properties(): PropertyDeclarations;
6
7
  /** @deprecated */
@@ -1,5 +1,6 @@
1
1
  import { Themeable } from "../../../mixins/themeable.js";
2
2
  import { html } from 'lit-html';
3
+ /** @deprecated – use internal controls instead */
3
4
  export class Metadata extends Themeable {
4
5
  constructor() {
5
6
  super(...arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"Metadata.js","sourceRoot":"","sources":["../../../../src/elements/private/Metadata/Metadata.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,qCAAkC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,OAAO,QAAS,SAAQ,SAAS;IAAvC;;QASE,kBAAkB;QAClB,aAAQ,GAAG,KAAK,CAAC;QAEjB,UAAK,GAAsC,EAAE,CAAC;IAWhD,CAAC;IAtBC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;YAC1C,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SAC5B,CAAC;IACJ,CAAC;IAOD,MAAM;QACJ,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;YACtC,OAAO,IAAI,CAAA,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA,QAAQ,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;QAC9D,CAAC,CAAC;;KAEL,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\n\nimport { Themeable } from '../../../mixins/themeable';\nimport { html } from 'lit-html';\n\nexport class Metadata extends Themeable {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n disabled: { type: Boolean, reflect: true },\n items: { attribute: false },\n };\n }\n\n /** @deprecated */\n disabled = false;\n\n items: { name: string; value: string }[] = [];\n\n render(): TemplateResult {\n return html`\n <p class=\"font-lumo text-xs leading-s text-secondary\">\n ${this.items.map(({ name, value }, i) => {\n return html`${i === 0 ? '' : html`&bull;`}${name} ${value}`;\n })}\n </p>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"Metadata.js","sourceRoot":"","sources":["../../../../src/elements/private/Metadata/Metadata.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,qCAAkC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,kDAAkD;AAClD,MAAM,OAAO,QAAS,SAAQ,SAAS;IAAvC;;QASE,kBAAkB;QAClB,aAAQ,GAAG,KAAK,CAAC;QAEjB,UAAK,GAAsC,EAAE,CAAC;IAWhD,CAAC;IAtBC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;YAC1C,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SAC5B,CAAC;IACJ,CAAC;IAOD,MAAM;QACJ,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;YACtC,OAAO,IAAI,CAAA,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA,QAAQ,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;QAC9D,CAAC,CAAC;;KAEL,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\n\nimport { Themeable } from '../../../mixins/themeable';\nimport { html } from 'lit-html';\n\n/** @deprecated – use internal controls instead */\nexport class Metadata extends Themeable {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n disabled: { type: Boolean, reflect: true },\n items: { attribute: false },\n };\n }\n\n /** @deprecated */\n disabled = false;\n\n items: { name: string; value: string }[] = [];\n\n render(): TemplateResult {\n return html`\n <p class=\"font-lumo text-xs leading-s text-secondary\">\n ${this.items.map(({ name, value }, i) => {\n return html`${i === 0 ? '' : html`&bull;`}${name} ${value}`;\n })}\n </p>\n `;\n }\n}\n"]}