@descope/web-components-ui 1.109.0 → 1.111.0

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 (87) hide show
  1. package/dist/cjs/index.cjs.js +2086 -1839
  2. package/dist/cjs/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +2452 -2204
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/umd/1995.js +7 -22
  6. package/dist/umd/1995.js.LICENSE.txt +0 -6
  7. package/dist/umd/1995.js.map +1 -1
  8. package/dist/umd/8961.js +1 -1
  9. package/dist/umd/8961.js.map +1 -1
  10. package/dist/umd/DescopeDev.js +1 -1
  11. package/dist/umd/DescopeDev.js.map +1 -1
  12. package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js +3 -3
  13. package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js.map +1 -1
  14. package/dist/umd/descope-alert-index-js.js +1 -1
  15. package/dist/umd/descope-alert-index-js.js.map +1 -1
  16. package/dist/umd/descope-apps-list.js +18 -0
  17. package/dist/umd/descope-apps-list.js.LICENSE.txt +23 -0
  18. package/dist/umd/descope-apps-list.js.map +1 -0
  19. package/dist/umd/descope-avatar.js +17 -1
  20. package/dist/umd/descope-avatar.js.LICENSE.txt +23 -0
  21. package/dist/umd/descope-avatar.js.map +1 -1
  22. package/dist/umd/descope-button.js +4 -4
  23. package/dist/umd/descope-button.js.map +1 -1
  24. package/dist/umd/descope-collapsible-container.js +1 -1
  25. package/dist/umd/descope-collapsible-container.js.map +1 -1
  26. package/dist/umd/descope-date-field-descope-calendar-index-js.js +1 -1
  27. package/dist/umd/descope-date-field-descope-calendar-index-js.js.map +1 -1
  28. package/dist/umd/descope-divider-index-js.js +1 -1
  29. package/dist/umd/descope-divider-index-js.js.map +1 -1
  30. package/dist/umd/descope-enriched-text.js +1 -1
  31. package/dist/umd/descope-enriched-text.js.map +1 -1
  32. package/dist/umd/descope-icon.js +1 -1
  33. package/dist/umd/descope-icon.js.map +1 -1
  34. package/dist/umd/descope-image.js +1 -1
  35. package/dist/umd/descope-image.js.map +1 -1
  36. package/dist/umd/descope-link.js +1 -1
  37. package/dist/umd/descope-link.js.map +1 -1
  38. package/dist/umd/descope-list-item.js +2 -0
  39. package/dist/umd/descope-list-item.js.map +1 -0
  40. package/dist/umd/descope-list.js +2 -0
  41. package/dist/umd/descope-list.js.map +1 -0
  42. package/dist/umd/descope-outbound-apps.js +339 -0
  43. package/dist/umd/descope-outbound-apps.js.LICENSE.txt +5 -0
  44. package/dist/umd/descope-outbound-apps.js.map +1 -0
  45. package/dist/umd/descope-recovery-codes.js +1 -1
  46. package/dist/umd/descope-recovery-codes.js.map +1 -1
  47. package/dist/umd/descope-scopes-list-index-js.js +1 -1
  48. package/dist/umd/descope-scopes-list-index-js.js.map +1 -1
  49. package/dist/umd/descope-security-questions-verify-index-js.js +1 -1
  50. package/dist/umd/descope-security-questions-verify-index-js.js.map +1 -1
  51. package/dist/umd/descope-text.js +1 -1
  52. package/dist/umd/descope-text.js.map +1 -1
  53. package/dist/umd/descope-third-party-app-logo-index-js.js +1 -1
  54. package/dist/umd/descope-third-party-app-logo-index-js.js.map +1 -1
  55. package/dist/umd/descope-timer-button.js +2 -2
  56. package/dist/umd/descope-timer-button.js.map +1 -1
  57. package/dist/umd/descope-timer.js +1 -1
  58. package/dist/umd/descope-timer.js.map +1 -1
  59. package/dist/umd/descope-upload-file-index-js.js +3 -3
  60. package/dist/umd/descope-upload-file-index-js.js.map +1 -1
  61. package/dist/umd/descope-user-attribute-index-js.js +4 -4
  62. package/dist/umd/descope-user-attribute-index-js.js.map +1 -1
  63. package/dist/umd/descope-user-auth-method-index-js.js +2 -2
  64. package/dist/umd/descope-user-auth-method-index-js.js.map +1 -1
  65. package/dist/umd/index.js +1 -1
  66. package/dist/umd/index.js.map +1 -1
  67. package/dist/umd/mapping-fields-descope-mappings-field-index-js.js +1 -1
  68. package/dist/umd/mapping-fields-descope-mappings-field-index-js.js.map +1 -1
  69. package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js +1 -1
  70. package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js.map +1 -1
  71. package/package.json +21 -17
  72. package/src/components/descope-scopes-list/index.js +2 -1
  73. package/src/index.cjs.js +0 -3
  74. package/src/index.js +0 -2
  75. package/src/theme/components/index.js +5 -3
  76. package/dist/umd/descope-apps-list-index-js.js +0 -2
  77. package/dist/umd/descope-apps-list-index-js.js.map +0 -1
  78. package/dist/umd/descope-list-index-js.js +0 -2
  79. package/dist/umd/descope-list-index-js.js.map +0 -1
  80. package/src/components/descope-apps-list/AppsListClass.js +0 -97
  81. package/src/components/descope-apps-list/index.js +0 -8
  82. package/src/components/descope-list/ListClass.js +0 -156
  83. package/src/components/descope-list/ListItemClass.js +0 -58
  84. package/src/components/descope-list/index.js +0 -7
  85. package/src/theme/components/appsList.js +0 -36
  86. package/src/theme/components/list/list.js +0 -56
  87. package/src/theme/components/list/listItem.js +0 -41
@@ -1 +1 @@
1
- {"version":3,"file":"descope-security-questions-verify-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/./src/components/descope-text-field/textFieldMappings.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/field-base/src/input-controller.js","webpack://@descope/web-components-ui/./src/components/descope-text-field/index.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/text-field/src/vaadin-text-field-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/text-field/src/vaadin-text-field.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/field-base/src/input-field-mixin.js","webpack://@descope/web-components-ui/./src/components/descope-security-questions-verify/SecurityQuestionsVerifyClass.js","webpack://@descope/web-components-ui/./src/components/descope-security-questions-verify/index.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/text-field/theme/lumo/vaadin-text-field-styles.js","webpack://@descope/web-components-ui/../components/descope-text/src/component/index.js","webpack://@descope/web-components-ui/../components/descope-text/src/component/TextClass.js","webpack://@descope/web-components-ui/./src/helpers/themeHelpers/resetHelpers.js","webpack://@descope/web-components-ui/./src/components/descope-text-field/TextFieldClass.js"],"sourcesContent":["const {\n host,\n label,\n placeholder,\n requiredIndicator,\n inputField,\n input,\n inputMask,\n helperText,\n errorMessage,\n disabledPlaceholder,\n inputDisabled,\n inputIcon,\n externalInput,\n externalInputDisabled,\n externalPlaceholder,\n externalDisabledPlaceholder,\n} = {\n host: { selector: () => ':host' },\n label: { selector: '::part(label)' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n placeholder: [\n { selector: '> input:placeholder-shown' },\n { selector: () => ':host::slotted(input:placeholder-shown)' },\n ],\n disabledPlaceholder: { selector: '> input:disabled::placeholder' },\n inputField: { selector: '::part(input-field)' },\n input: { selector: 'input' },\n inputMask: { selector: '::part(input-field)::before' },\n inputDisabled: { selector: 'input:disabled' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n inputIcon: { selector: 'vaadin-icon' },\n externalInput: { selector: () => '::slotted(input)' },\n externalInputDisabled: { selector: () => '::slotted(input:disabled)' },\n externalPlaceholder: { selector: () => '::slotted(input:placeholder-shown)' },\n externalDisabledPlaceholder: { selector: () => '::slotted(input:disabled::placeholder)' },\n};\n\nexport default {\n // we apply font-size also on the host so we can set its width with em\n fontSize: [{}, host],\n fontFamily: [label, inputField, helperText, errorMessage],\n\n labelFontSize: { ...label, property: 'font-size' },\n labelFontWeight: { ...label, property: 'font-weight' },\n\n labelTextColor: [\n { ...label, property: 'color' },\n { ...requiredIndicator, property: 'color' },\n { ...label, property: '-webkit-text-fill-color' },\n { ...requiredIndicator, property: '-webkit-text-fill-color' },\n ],\n\n hostWidth: { ...host, property: 'width' },\n hostMinWidth: { ...host, property: 'min-width' },\n hostDirection: { ...host, property: 'direction' },\n inputDirection: { ...input, property: 'direction' },\n\n inputBackgroundColor: [\n { ...inputField, property: 'background-color' },\n { ...inputMask, property: 'background-color' },\n ],\n\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n errorMessageIcon: { ...errorMessage, property: 'background-image' },\n errorMessageIconSize: { ...errorMessage, property: 'background-size' },\n errorMessageIconPadding: { ...errorMessage, property: 'padding-inline-start' },\n errorMessageIconRepeat: { ...errorMessage, property: 'background-repeat' },\n errorMessageIconPosition: { ...errorMessage, property: 'background-position' },\n errorMessageFontSize: { ...errorMessage, property: 'font-size' },\n\n helperTextColor: { ...helperText, property: '-webkit-text-fill-color' },\n\n inputValueTextColor: [\n { ...inputField, property: 'color' },\n { ...inputDisabled, property: '-webkit-text-fill-color' },\n { ...externalInputDisabled, property: '-webkit-text-fill-color' },\n ],\n inputCaretTextColor: [\n { ...input, property: 'caret-color' },\n { ...externalInput, property: 'caret-color' },\n ],\n\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n\n inputBorderColor: { ...inputField, property: 'border-color' },\n inputBorderWidth: { ...inputField, property: 'border-width' },\n inputBorderStyle: { ...inputField, property: 'border-style' },\n inputBorderRadius: { ...inputField, property: 'border-radius' },\n\n inputHeight: { ...inputField, property: 'height' },\n inputHorizontalPadding: [\n { ...input, property: 'padding-left' },\n { ...input, property: 'padding-right' },\n { ...externalInput, property: 'padding-left' },\n { ...externalInput, property: 'padding-right' },\n ],\n\n inputOutlineColor: { ...inputField, property: 'outline-color' },\n inputOutlineStyle: { ...inputField, property: 'outline-style' },\n inputOutlineWidth: { ...inputField, property: 'outline-width' },\n inputOutlineOffset: { ...inputField, property: 'outline-offset' },\n\n textAlign: {},\n\n inputTextAlign: [\n { ...input, property: 'text-align' },\n { ...externalInput, property: 'text-align' },\n ],\n\n inputPlaceholderColor: [\n { selector: () => ':host input:placeholder-shown', property: 'color' },\n { ...externalPlaceholder, property: 'color' },\n { ...placeholder, property: 'color' },\n { ...disabledPlaceholder, property: '-webkit-text-fill-color' },\n { ...externalDisabledPlaceholder, property: '-webkit-text-fill-color' },\n ],\n\n labelPosition: { ...label, property: 'position' },\n labelTopPosition: { ...label, property: 'top' },\n labelHorizontalPosition: [\n { ...label, property: 'left' },\n { ...label, property: 'right' },\n ],\n inputTransformY: { ...label, property: 'transform' },\n inputTransition: { ...label, property: 'transition' },\n marginInlineStart: { ...label, property: 'margin-inline-start' },\n placeholderOpacity: [\n { selector: '> input:placeholder-shown', property: 'opacity' },\n { ...externalPlaceholder, property: 'opacity' },\n ],\n inputVerticalAlignment: [\n { ...inputField, property: 'align-items' },\n { ...externalInput, property: 'align-items' },\n ],\n valueInputHeight: [\n { ...input, property: 'height' },\n { ...externalInput, property: 'height' },\n ],\n valueInputMarginBottom: [\n { ...input, property: 'margin-bottom' },\n { ...externalInput, property: 'margin-bottom' },\n ],\n\n inputIconOffset: [\n { ...inputIcon, property: 'margin-right' },\n { ...inputIcon, property: 'margin-left' },\n ],\n inputIconSize: { ...inputIcon, property: 'font-size' },\n inputIconColor: { ...inputIcon, property: 'color' },\n};\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { SlotController } from '@vaadin/component-base/src/slot-controller.js';\n\n/**\n * A controller to create and initialize slotted `<input>` element.\n */\nexport class InputController extends SlotController {\n constructor(host, callback) {\n super(host, 'input', 'input', {\n initializer: (node, host) => {\n if (host.value) {\n node.value = host.value;\n }\n if (host.type) {\n node.setAttribute('type', host.type);\n }\n\n // Ensure every instance has unique ID\n node.id = this.defaultId;\n\n if (typeof callback === 'function') {\n callback(node);\n }\n },\n useUniqueId: true,\n });\n }\n}\n","import '@vaadin/text-field';\nimport '@vaadin/icons';\nimport '@vaadin/icon';\n\nimport { componentName, TextFieldClass } from './TextFieldClass';\n\ncustomElements.define(componentName, TextFieldClass);\n\nexport { TextFieldClass, componentName };\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { InputController } from '@vaadin/field-base/src/input-controller.js';\nimport { InputFieldMixin } from '@vaadin/field-base/src/input-field-mixin.js';\nimport { LabelledInputController } from '@vaadin/field-base/src/labelled-input-controller.js';\n\n/**\n * A mixin providing common text field functionality.\n *\n * @polymerMixin\n * @mixes InputFieldMixin\n */\nexport const TextFieldMixin = (superClass) =>\n class TextFieldMixinClass extends InputFieldMixin(superClass) {\n static get properties() {\n return {\n /**\n * Maximum number of characters (in Unicode code points) that the user can enter.\n */\n maxlength: {\n type: Number,\n },\n\n /**\n * Minimum number of characters (in Unicode code points) that the user can enter.\n */\n minlength: {\n type: Number,\n },\n\n /**\n * A regular expression that the value is checked against.\n * The pattern must match the entire value, not just some subset.\n */\n pattern: {\n type: String,\n },\n };\n }\n\n static get delegateAttrs() {\n return [...super.delegateAttrs, 'maxlength', 'minlength', 'pattern'];\n }\n\n static get constraints() {\n return [...super.constraints, 'maxlength', 'minlength', 'pattern'];\n }\n\n constructor() {\n super();\n this._setType('text');\n }\n\n /** @protected */\n get clearElement() {\n return this.$.clearButton;\n }\n\n /** @protected */\n ready() {\n super.ready();\n\n this.addController(\n new InputController(this, (input) => {\n this._setInputElement(input);\n this._setFocusElement(input);\n this.stateTarget = input;\n this.ariaTarget = input;\n }),\n );\n this.addController(new LabelledInputController(this.inputElement, this._labelController));\n }\n };\n","/**\n * @license\n * Copyright (c) 2017 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport '@vaadin/input-container/src/vaadin-input-container.js';\nimport { html, PolymerElement } from '@polymer/polymer';\nimport { defineCustomElement } from '@vaadin/component-base/src/define.js';\nimport { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';\nimport { TooltipController } from '@vaadin/component-base/src/tooltip-controller.js';\nimport { inputFieldShared } from '@vaadin/field-base/src/styles/input-field-shared-styles.js';\nimport { registerStyles, ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { TextFieldMixin } from './vaadin-text-field-mixin.js';\n\nregisterStyles('vaadin-text-field', inputFieldShared, { moduleId: 'vaadin-text-field-styles' });\n\n/**\n * `<vaadin-text-field>` is a web component that allows the user to input and edit text.\n *\n * ```html\n * <vaadin-text-field label=\"First Name\"></vaadin-text-field>\n * ```\n *\n * ### Prefixes and suffixes\n *\n * These are child elements of a `<vaadin-text-field>` that are displayed\n * inline with the input, before or after.\n * In order for an element to be considered as a prefix, it must have the slot\n * attribute set to `prefix` (and similarly for `suffix`).\n *\n * ```html\n * <vaadin-text-field label=\"Email address\">\n * <div slot=\"prefix\">Sent to:</div>\n * <div slot=\"suffix\">@vaadin.com</div>\n * </vaadin-text-field>\n * ```\n *\n * ### Styling\n *\n * The following custom properties are available for styling:\n *\n * Custom property | Description | Default\n * -------------------------------|----------------------------|---------\n * `--vaadin-field-default-width` | Default width of the field | `12em`\n *\n * The following shadow DOM parts are available for styling:\n *\n * Part name | Description\n * ---------------------|----------------\n * `label` | The label element\n * `input-field` | The element that wraps prefix, value and suffix\n * `clear-button` | The clear button\n * `error-message` | The error message element\n * `helper-text` | The helper text element wrapper\n * `required-indicator` | The `required` state indicator element\n *\n * The following state attributes are available for styling:\n *\n * Attribute | Description | Part name\n * --------------------|-------------|------------\n * `disabled` | Set to a disabled text field | :host\n * `has-value` | Set when the element has a value | :host\n * `has-label` | Set when the element has a label | :host\n * `has-helper` | Set when the element has helper text or slot | :host\n * `has-error-message` | Set when the element has an error message | :host\n * `invalid` | Set when the element is invalid | :host\n * `input-prevented` | Temporarily set when invalid input is prevented | :host\n * `focused` | Set when the element is focused | :host\n * `focus-ring` | Set when the element is keyboard focused | :host\n * `readonly` | Set to a readonly text field | :host\n *\n * See [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.\n *\n * @fires {Event} input - Fired when the value is changed by the user: on every typing keystroke, and the value is cleared using the clear button.\n * @fires {Event} change - Fired when the user commits a value change.\n * @fires {CustomEvent} invalid-changed - Fired when the `invalid` property changes.\n * @fires {CustomEvent} value-changed - Fired when the `value` property changes.\n * @fires {CustomEvent} validated - Fired whenever the field is validated.\n *\n * @customElement\n * @extends HTMLElement\n * @mixes ElementMixin\n * @mixes ThemableMixin\n * @mixes TextFieldMixin\n */\nexport class TextField extends TextFieldMixin(ThemableMixin(ElementMixin(PolymerElement))) {\n static get is() {\n return 'vaadin-text-field';\n }\n\n static get template() {\n return html`\n <style>\n [part='input-field'] {\n flex-grow: 0;\n }\n </style>\n\n <div class=\"vaadin-field-container\">\n <div part=\"label\">\n <slot name=\"label\"></slot>\n <span part=\"required-indicator\" aria-hidden=\"true\" on-click=\"focus\"></span>\n </div>\n\n <vaadin-input-container\n part=\"input-field\"\n readonly=\"[[readonly]]\"\n disabled=\"[[disabled]]\"\n invalid=\"[[invalid]]\"\n theme$=\"[[_theme]]\"\n >\n <slot name=\"prefix\" slot=\"prefix\"></slot>\n <slot name=\"input\"></slot>\n <slot name=\"suffix\" slot=\"suffix\"></slot>\n <div id=\"clearButton\" part=\"clear-button\" slot=\"suffix\" aria-hidden=\"true\"></div>\n </vaadin-input-container>\n\n <div part=\"helper-text\">\n <slot name=\"helper\"></slot>\n </div>\n\n <div part=\"error-message\">\n <slot name=\"error-message\"></slot>\n </div>\n </div>\n <slot name=\"tooltip\"></slot>\n `;\n }\n\n static get properties() {\n return {\n /**\n * Maximum number of characters (in Unicode code points) that the user can enter.\n */\n maxlength: {\n type: Number,\n },\n\n /**\n * Minimum number of characters (in Unicode code points) that the user can enter.\n */\n minlength: {\n type: Number,\n },\n };\n }\n\n /** @protected */\n ready() {\n super.ready();\n\n this._tooltipController = new TooltipController(this);\n this._tooltipController.setPosition('top');\n this._tooltipController.setAriaTarget(this.inputElement);\n this.addController(this._tooltipController);\n }\n}\n\ndefineCustomElement(TextField);\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { InputControlMixin } from './input-control-mixin.js';\n\n/**\n * A mixin to provide logic for vaadin-text-field and related components.\n *\n * @polymerMixin\n * @mixes InputControlMixin\n */\nexport const InputFieldMixin = (superclass) =>\n class InputFieldMixinClass extends InputControlMixin(superclass) {\n static get properties() {\n return {\n /**\n * Whether the value of the control can be automatically completed by the browser.\n * List of available options at:\n * https://developer.mozilla.org/en/docs/Web/HTML/Element/input#attr-autocomplete\n */\n autocomplete: {\n type: String,\n },\n\n /**\n * This is a property supported by Safari that is used to control whether\n * autocorrection should be enabled when the user is entering/editing the text.\n * Possible values are:\n * on: Enable autocorrection.\n * off: Disable autocorrection.\n */\n autocorrect: {\n type: String,\n },\n\n /**\n * This is a property supported by Safari and Chrome that is used to control whether\n * autocapitalization should be enabled when the user is entering/editing the text.\n * Possible values are:\n * characters: Characters capitalization.\n * words: Words capitalization.\n * sentences: Sentences capitalization.\n * none: No capitalization.\n */\n autocapitalize: {\n type: String,\n reflectToAttribute: true,\n },\n };\n }\n\n static get delegateAttrs() {\n return [...super.delegateAttrs, 'autocapitalize', 'autocomplete', 'autocorrect'];\n }\n\n // Workaround for https://github.com/Polymer/polymer/issues/5259\n get __data() {\n return this.__dataValue || {};\n }\n\n set __data(value) {\n this.__dataValue = value;\n }\n\n /**\n * @param {HTMLElement} input\n * @protected\n * @override\n */\n _inputElementChanged(input) {\n super._inputElementChanged(input);\n\n if (input) {\n // Discard value set on the custom slotted input.\n if (input.value && input.value !== this.value) {\n console.warn(`Please define value on the <${this.localName}> component!`);\n input.value = '';\n }\n\n if (this.value) {\n input.value = this.value;\n }\n }\n }\n\n /**\n * Override an event listener from `FocusMixin`.\n * @param {boolean} focused\n * @protected\n * @override\n */\n _setFocused(focused) {\n super._setFocused(focused);\n\n // Do not validate when focusout is caused by document\n // losing focus, which happens on browser tab switch.\n if (!focused && document.hasFocus()) {\n this.validate();\n }\n }\n\n /**\n * Override an event listener from `InputMixin`\n * to mark as valid after user started typing.\n * @param {Event} event\n * @protected\n * @override\n */\n _onInput(event) {\n super._onInput(event);\n\n if (this.invalid) {\n this.validate();\n }\n }\n\n /**\n * Override an observer from `InputMixin` to validate the field\n * when a new value is set programmatically.\n *\n * @param {string | undefined} newValue\n * @param {string | undefined} oldValue\n * @protected\n * @override\n */\n _valueChanged(newValue, oldValue) {\n super._valueChanged(newValue, oldValue);\n\n if (oldValue === undefined) {\n return;\n }\n\n if (this.invalid) {\n this.validate();\n }\n }\n };\n","import { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName, observeAttributes } from '../../helpers/componentHelpers';\nimport { componentNameValidationMixin, createStyleMixin, draggableMixin } from '../../mixins';\nimport { TextClass } from '@descope-ui/descope-text/class';\nimport { TextFieldClass } from '../descope-text-field/TextFieldClass';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('security-questions-verify');\n\nconst textFieldsAttrs = [\n 'full-width',\n 'readonly',\n 'size',\n 'answer-placeholder',\n 'answer-data-errormessage-value-missing',\n 'st-error-message-icon',\n 'st-error-message-icon-size',\n 'st-error-message-icon-padding',\n];\n\nconst textsAttrs = ['question-mode'];\n\nconst attrMappings = {\n 'answer-placeholder': 'placeholder',\n 'answer-data-errormessage-value-missing': 'data-errormessage-value-missing',\n 'question-mode': 'mode',\n};\n\nconst attrsToSync = [...textFieldsAttrs, ...textsAttrs];\n\nconst attrsToReRender = ['questions'];\nclass RawSecurityQuestionsVerify extends createBaseClass({ componentName, baseSelector: 'div' }) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <div></div>\n\t\t`;\n\n injectStyle(\n `\n :host {\n display: inline-flex;\n }\n\n div {\n display: flex;\n flex-direction: column;\n }\n `,\n this\n );\n }\n\n #renderQuestions() {\n const res = this.questions.map(\n ({ id, text }) =>\n // <!--html-->\n `\n <div class=\"question-wrapper\">\n <descope-text\n data-id=\"${id}\"\n >${text}</descope-text>\n\n <descope-text-field\n data-id=\"${id}\"\n required=\"true\"\n bordered=\"true\"\n ></descope-text-field>\n </div>\n `\n // <!--!html-->\n );\n\n this.baseElement.innerHTML = res.join(\n '<spacer></spacer><descope-divider></descope-divider><spacer></spacer>'\n );\n\n this.#syncAttrs(attrsToSync);\n\n // focus input when text is clicked\n this.texts.forEach((el) => {\n const input = this.textFields.find(\n (field) => field.getAttribute('data-id') === el.getAttribute('data-id')\n );\n // eslint-disable-next-line no-param-reassign\n if (input) el.onclick = input.focus.bind(input);\n });\n }\n\n reportValidity() {\n this.textFields.reverse().forEach((el) => el.reportValidity());\n\n return this.checkValidity();\n }\n\n checkValidity() {\n return this.textFields.every((el) => el.checkValidity());\n }\n\n get questions() {\n try {\n return JSON.parse(this.getAttribute('questions')) || [];\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(componentName, 'Error parsing questions attribute', e);\n return [];\n }\n }\n\n get texts() {\n return Array.from(this.baseElement.querySelectorAll('descope-text'));\n }\n\n get textFields() {\n return Array.from(this.baseElement.querySelectorAll('descope-text-field'));\n }\n\n get elements() {\n return Array.from(this.baseElement.querySelectorAll('descope-text, descope-text-field'));\n }\n\n get value() {\n return this.textFields.map((el) => ({ id: el.getAttribute('data-id'), answer: el.value }));\n }\n\n set value(val = []) {\n val.forEach(({ id, answer }) => {\n const textField = this.textFields.find((el) => el.getAttribute('data-id') === id);\n if (textField) textField.value = answer;\n });\n }\n\n // eslint-disable-next-line class-methods-use-this\n #updateAttribute(ele, attrName, value) {\n if (value === null) ele.removeAttribute(attrName);\n else ele.setAttribute(attrName, value);\n }\n\n #getElementsToUpdate(attr) {\n switch (true) {\n case textFieldsAttrs.includes(attr):\n return this.textFields;\n case textsAttrs.includes(attr):\n return this.texts;\n default:\n return [];\n }\n }\n\n #syncAttrs(attrs) {\n attrs.forEach((attr) => {\n this.#getElementsToUpdate(attr).forEach((el) => {\n this.#updateAttribute(el, attrMappings[attr] || attr, this.getAttribute(attr));\n });\n });\n }\n\n init() {\n super.init?.();\n // render new components\n observeAttributes(\n this,\n () => {\n this.#renderQuestions();\n },\n { includeAttrs: attrsToReRender }\n );\n\n // update existing components\n observeAttributes(this, this.#syncAttrs.bind(this), {\n includeAttrs: attrsToSync,\n });\n }\n}\n\nexport const SecurityQuestionsVerifyClass = compose(\n createStyleMixin({ componentNameOverride: getComponentName('input-wrapper') }),\n createStyleMixin({\n mappings: {\n hostWidth: [{ selector: () => ':host', property: 'width' }, { property: 'width' }],\n hostDirection: [\n { selector: () => ':host', property: 'direction' },\n {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.hostDirection,\n },\n {\n selector: () => TextFieldClass.componentName,\n property: TextFieldClass.cssVarList.hostDirection,\n },\n ],\n gap: { selector: () => 'div', property: 'gap' },\n questionTextAlign: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.textAlign,\n },\n questionFontSize: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.fontSize,\n },\n questionFontFamily: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.fontFamily,\n },\n questionCursor: {\n selector: () => TextClass.componentName,\n property: 'cursor',\n },\n\n errorMessageIcon: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.errorMessageIcon,\n },\n errorMessageIconSize: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.errorMessageSize,\n },\n errorMessageIconPadding: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.errorMessagePadding,\n },\n errorMessageIconRepeat: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.errorMessageRepeat,\n },\n errorMessageIconPosition: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.errorMessagePosition,\n },\n errorMessageFontSize: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.errorMessageFontSize,\n },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawSecurityQuestionsVerify);\n","import { componentName, SecurityQuestionsVerifyClass } from './SecurityQuestionsVerifyClass';\nimport '@descope-ui/descope-text';\nimport '../descope-text-field';\n\ncustomElements.define(componentName, SecurityQuestionsVerifyClass);\n\nexport { SecurityQuestionsVerifyClass, componentName };\n","/**\n * @license\n * Copyright (c) 2017 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport '@vaadin/input-container/theme/lumo/vaadin-input-container-styles.js';\nimport { inputFieldShared } from '@vaadin/vaadin-lumo-styles/mixins/input-field-shared.js';\nimport { registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\n\nregisterStyles('vaadin-text-field', inputFieldShared, {\n moduleId: 'lumo-text-field-styles',\n});\n","import { componentName, TextClass } from './TextClass';\n\ncustomElements.define(componentName, TextClass);\n\nexport { TextClass, componentName };\n","import {\n createStyleMixin,\n draggableMixin,\n componentNameValidationMixin,\n} from '@descope-ui/common/components-mixins';\nimport { compose } from '@descope-ui/common/utils';\nimport {\n getComponentName,\n injectStyle,\n observeChildren,\n} from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\n\nexport const componentName = getComponentName('text');\n\nclass RawText extends createBaseClass({\n componentName,\n baseSelector: ':host > slot',\n}) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <slot part=\"text-wrapper\"></slot>\n `;\n\n injectStyle(`\n :host {\n display: inline-block;\n line-height: 1em;\n }\n :host > slot {\n width: 100%;\n display: inline-block;\n }\n `, this);\n }\n\n get hideWhenEmpty() {\n return this.getAttribute('hide-when-empty') === 'true';\n }\n\n init() {\n super.init();\n\n observeChildren(this, () => {\n const hasChildren = !!this.childNodes.length;\n this.style.display = !hasChildren && this.hideWhenEmpty ? 'none' : '';\n });\n }\n}\n\nconst { host } = {\n host: { selector: () => ':host' }\n}\n\nexport const TextClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n hostDirection: { selector: () => ':host', property: 'direction' },\n fontSize: {},\n textColor: [\n { property: 'color' }\n ],\n textLineHeight: { property: 'line-height' },\n textLetterSpacing: { property: 'letter-spacing' },\n textShadow: {},\n textAlign: {},\n textTransform: {},\n fontFamily: {},\n fontStyle: {},\n fontWeight: {},\n borderWidth: {},\n borderStyle: {},\n borderColor: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n)(RawText);\n","export const useHostExternalPadding = (cssVarList) => `\n :host {\n padding: calc(var(${cssVarList.inputOutlineWidth}) + var(${cssVarList.inputOutlineOffset}))\n }\n`;\n\nexport const resetInputFieldUnderlayingBorder = (name) => `\n ${name}::part(input-field)::after {\n border: none;\n }\n`;\n\nexport const resetInitialHeight = (name) => `\n ${name}::before {\n\t\theight: unset;\n\t}\n`;\n\nexport const resetInputElement = (name) => `\n ${name} > input {\n -webkit-mask-image: none;\n min-height: 0;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputContainer = (name) => `\n ${name} {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputField = (name) => `\n ${name}::part(input-field) {\n overflow: hidden;\n padding: 0;\n box-shadow: none;\n }\n`;\n\nexport const resetInputCursor = (name) => `\n ${name} > label,\n ${name}::part(label),\n ${name}::part(required-indicator) {\n cursor: pointer;\n }\n`;\n\nexport const resetInputPlaceholder = (name, ele = 'input') => `\n ${name}[disabled] > ${ele}:placeholder-shown,\n\t${name}[readonly] > ${ele}:placeholder-shown {\n\t\topacity: 1;\n\t}\n`;\n\nexport const resetInputAutoFill = (name, cssVarList) => `\n ${name} input:-webkit-autofill,\n ${name} input:-webkit-autofill::first-line,\n ${name} input:-webkit-autofill:hover,\n ${name} input:-webkit-autofill:active,\n ${name} input:-webkit-autofill:focus {\n -webkit-text-fill-color: var(${cssVarList.inputValueTextColor});\n box-shadow: 0 0 0 var(${cssVarList.inputHeight}) var(${cssVarList.inputBackgroundColor}) inset;\n }\n`;\n\nexport const resetInputFieldDefaultWidth = () => `\n :host {\n --vaadin-field-default-width: auto;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputReadonlyStyle = (name) => `\n ${name}::part(input-field)::after {\n opacity: 0;\n }\n`;\n\nexport const resetInputFieldInvalidBackgroundColor = (name) => `\n ${name}::part(input-field)::after {\n background: none;\n }\n`;\n\nexport const resetInputOverrides = (name, cssVarList) => `\n ${resetInputContainer(name)}\n ${resetInputCursor(name)}\n ${resetInputPlaceholder(name)}\n ${resetInputField(name)}\n ${resetInputAutoFill(name, cssVarList)}\n ${resetInputFieldInvalidBackgroundColor(name)}\n ${resetInitialHeight(name)}\n ${resetInputElement(name)}\n ${resetInputFieldUnderlayingBorder(name)}\n`;\n\n// This function is used to support RTL correctly for input components.\n// It also fixes the error message to be displayed LTR since we currently\n// don't support RTL for error messages.\nexport const resetInputLabelPosition = (name) => `\n :host ::part(error-message) {\n direction: ltr;\n }\n :host([required]) ::part(required-indicator) {\n width: 1em;\n display: inline-flex;\n }\n :host([required]) ::part(required-indicator)::after {\n position: static;\n }\n :host([has-label]) ::part(label) {\n padding-right: 0;\n padding-bottom: 0;\n display: flex;\n width: 100%;\n }\n ${name} [slot=\"label\"] {\n max-width: calc(100% - 1em);\n overflow: hidden;\n text-overflow: ellipsis;\n padding-bottom: 0.5em;\n }\n`;\n\nexport const inputFloatingLabelStyle = () => {\n return `\n :host([label-type=\"floating\"]) {\n position: relative;\n }\n :host([label-type=\"floating\"][has-label]) > ::part(label) {\n z-index: 1;\n padding: 0;\n width: auto;\n }\n `;\n};\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n} from '../../mixins';\nimport textFieldMappings from './textFieldMappings';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n inputFloatingLabelStyle,\n resetInputLabelPosition,\n resetInputOverrides,\n useHostExternalPadding,\n} from '../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('text-field');\n\nconst observedAttrs = ['type', 'label-type', 'copy-to-clipboard'];\n\nconst customMixin = (superclass) =>\n class TextFieldClass extends superclass {\n static get observedAttributes() {\n return observedAttrs.concat(superclass.observedAttributes || []);\n }\n\n icon;\n\n init() {\n super.init?.();\n }\n\n renderCopyToClipboard(shouldRender) {\n if (!shouldRender) {\n this.icon?.remove();\n return;\n }\n\n const iconInitConfig = {\n icon: 'vaadin:copy-o',\n title: 'Copy',\n style: 'cursor: pointer',\n };\n\n const iconCopiedConfig = {\n icon: 'vaadin:check-circle-o',\n title: 'Copied',\n style: 'cursor: initial',\n };\n\n this.icon = Object.assign(document.createElement('vaadin-icon'), {\n slot: 'suffix',\n ...iconInitConfig,\n });\n\n this.baseElement.appendChild(this.icon);\n this.icon.addEventListener('click', () => {\n navigator.clipboard.writeText(this.value);\n Object.assign(this.icon, iconCopiedConfig);\n\n // we want the icon to go back to the initial state after 5 seconds\n setTimeout(() => {\n Object.assign(this.icon, iconInitConfig);\n }, 5000);\n });\n }\n\n onLabelClick() {\n this.focus();\n }\n\n attributeChangedCallback(attrName, oldVal, newVal) {\n super.attributeChangeCallback?.(attrName, oldVal, newVal);\n\n // Vaadin doesn't allow to change the input type attribute.\n // We need the ability to do that, so we're overriding their\n // behavior with their private API.\n // When receiving a `type` attribute, we use their private API\n // to set it on the input.\n if (attrName === 'type') {\n this.baseElement._setType(newVal);\n }\n\n if (oldVal !== newVal) {\n if (attrName === 'label-type') {\n if (newVal === 'floating') {\n this.addEventListener('click', this.onLabelClick);\n } else {\n this.removeEventListener('click', this.onLabelClick);\n }\n } else if (attrName === 'copy-to-clipboard') {\n this.renderCopyToClipboard(newVal === 'true');\n }\n }\n }\n };\n\nexport const TextFieldClass = compose(\n createStyleMixin({\n mappings: textFieldMappings,\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'], useProxyTargets: true }),\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: ['prefix', 'suffix'],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tmax-width: 100%;\n\t\t\t\tpadding: calc(var(${TextFieldClass.cssVarList.inputOutlineWidth}) + var(${\n TextFieldClass.cssVarList.inputOutlineOffset\n }));\n box-sizing: border-box;\n\t\t\t}\n :host(:is([readonly], [disabled])) ::slotted(:is(input, textarea):placeholder-shown) {\n opacity: 1;\n }\n\n vaadin-text-field[label-type=\"floating\"]:not([focused])[readonly] > input:placeholder-shown {\n opacity: 0;\n }\n vaadin-text-field[label-type=\"floating\"]:not([focused])[disabled] > input:placeholder-shown {\n opacity: 0;\n }\n ${resetInputLabelPosition('vaadin-text-field')}\n\t\t\t${useHostExternalPadding(TextFieldClass.cssVarList)}\n\t\t\t${resetInputOverrides('vaadin-text-field', TextFieldClass.cssVarList)}\n ${inputFloatingLabelStyle()}\n\n vaadin-text-field vaadin-icon {\n align-self: center;\n }\n\t\t`,\n excludeAttrsSync: ['tabindex', 'style'],\n componentName,\n })\n);\n"],"names":["host","label","placeholder","requiredIndicator","inputField","input","inputMask","helperText","errorMessage","disabledPlaceholder","inputDisabled","inputIcon","externalInput","externalInputDisabled","externalPlaceholder","externalDisabledPlaceholder","selector","fontSize","fontFamily","labelFontSize","property","labelFontWeight","labelTextColor","hostWidth","hostMinWidth","hostDirection","inputDirection","inputBackgroundColor","errorMessageTextColor","errorMessageIcon","errorMessageIconSize","errorMessageIconPadding","errorMessageIconRepeat","errorMessageIconPosition","errorMessageFontSize","helperTextColor","inputValueTextColor","inputCaretTextColor","labelRequiredIndicator","inputBorderColor","inputBorderWidth","inputBorderStyle","inputBorderRadius","inputHeight","inputHorizontalPadding","inputOutlineColor","inputOutlineStyle","inputOutlineWidth","inputOutlineOffset","textAlign","inputTextAlign","inputPlaceholderColor","labelPosition","labelTopPosition","labelHorizontalPosition","inputTransformY","inputTransition","marginInlineStart","placeholderOpacity","inputVerticalAlignment","valueInputHeight","valueInputMarginBottom","inputIconOffset","inputIconSize","inputIconColor","InputController","constructor","callback","super","initializer","node","value","type","setAttribute","id","this","defaultId","useUniqueId","customElements","define","TextFieldMixin","superClass","properties","maxlength","Number","minlength","pattern","String","delegateAttrs","constraints","_setType","clearElement","$","clearButton","ready","addController","_setInputElement","_setFocusElement","stateTarget","ariaTarget","inputElement","_labelController","moduleId","TextField","is","template","_tooltipController","setPosition","setAriaTarget","InputFieldMixin","superclass","autocomplete","autocorrect","autocapitalize","reflectToAttribute","__data","__dataValue","_inputElementChanged","console","warn","localName","_setFocused","focused","document","hasFocus","validate","_onInput","event","invalid","_valueChanged","newValue","oldValue","undefined","componentName","textFieldsAttrs","textsAttrs","attrMappings","attrsToSync","attrsToReRender","RawSecurityQuestionsVerify","createBaseClass","baseSelector","attachShadow","mode","innerHTML","res","questions","map","text","baseElement","join","texts","forEach","el","textFields","find","field","getAttribute","onclick","focus","bind","reportValidity","reverse","checkValidity","every","JSON","parse","e","error","Array","from","querySelectorAll","elements","answer","val","textField","ele","attrName","removeAttribute","attr","includes","attrs","init","includeAttrs","SecurityQuestionsVerifyClass","componentNameOverride","mappings","TextClass","cssVarList","TextFieldClass","gap","questionTextAlign","questionFontSize","questionFontFamily","questionCursor","errorMessageSize","errorMessagePadding","errorMessageRepeat","errorMessagePosition","RawText","hideWhenEmpty","hasChildren","childNodes","length","style","display","textColor","textLineHeight","textLetterSpacing","textShadow","textTransform","fontStyle","fontWeight","borderWidth","borderStyle","borderColor","useHostExternalPadding","resetInputContainer","name","resetInputField","resetInputCursor","resetInputPlaceholder","resetInputFieldDefaultWidth","resetInputReadonlyStyle","resetInputFieldInvalidBackgroundColor","resetInputOverrides","resetInputAutoFill","resetInitialHeight","resetInputElement","resetInputFieldUnderlayingBorder","resetInputLabelPosition","inputFloatingLabelStyle","observedAttrs","proxyProps","useProxyTargets","observedAttributes","concat","icon","renderCopyToClipboard","shouldRender","remove","iconInitConfig","title","iconCopiedConfig","Object","assign","createElement","slot","appendChild","addEventListener","navigator","clipboard","writeText","setTimeout","onLabelClick","attributeChangedCallback","oldVal","newVal","attributeChangeCallback","removeEventListener","slots","wrappedEleName","excludeAttrsSync"],"sourceRoot":""}
1
+ {"version":3,"file":"descope-security-questions-verify-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/./src/components/descope-text-field/textFieldMappings.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/field-base/src/input-controller.js","webpack://@descope/web-components-ui/./src/components/descope-text-field/index.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/text-field/src/vaadin-text-field-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/text-field/src/vaadin-text-field.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/field-base/src/input-field-mixin.js","webpack://@descope/web-components-ui/./src/components/descope-security-questions-verify/SecurityQuestionsVerifyClass.js","webpack://@descope/web-components-ui/./src/components/descope-security-questions-verify/index.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/text-field/theme/lumo/vaadin-text-field-styles.js","webpack://@descope/web-components-ui/../components/descope-text/src/component/index.js","webpack://@descope/web-components-ui/../components/descope-text/src/component/TextClass.js","webpack://@descope/web-components-ui/./src/helpers/themeHelpers/resetHelpers.js","webpack://@descope/web-components-ui/./src/components/descope-text-field/TextFieldClass.js"],"sourcesContent":["const {\n host,\n label,\n placeholder,\n requiredIndicator,\n inputField,\n input,\n inputMask,\n helperText,\n errorMessage,\n disabledPlaceholder,\n inputDisabled,\n inputIcon,\n externalInput,\n externalInputDisabled,\n externalPlaceholder,\n externalDisabledPlaceholder,\n} = {\n host: { selector: () => ':host' },\n label: { selector: '::part(label)' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n placeholder: [\n { selector: '> input:placeholder-shown' },\n { selector: () => ':host::slotted(input:placeholder-shown)' },\n ],\n disabledPlaceholder: { selector: '> input:disabled::placeholder' },\n inputField: { selector: '::part(input-field)' },\n input: { selector: 'input' },\n inputMask: { selector: '::part(input-field)::before' },\n inputDisabled: { selector: 'input:disabled' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n inputIcon: { selector: 'vaadin-icon' },\n externalInput: { selector: () => '::slotted(input)' },\n externalInputDisabled: { selector: () => '::slotted(input:disabled)' },\n externalPlaceholder: { selector: () => '::slotted(input:placeholder-shown)' },\n externalDisabledPlaceholder: { selector: () => '::slotted(input:disabled::placeholder)' },\n};\n\nexport default {\n // we apply font-size also on the host so we can set its width with em\n fontSize: [{}, host],\n fontFamily: [label, inputField, helperText, errorMessage],\n\n labelFontSize: { ...label, property: 'font-size' },\n labelFontWeight: { ...label, property: 'font-weight' },\n\n labelTextColor: [\n { ...label, property: 'color' },\n { ...requiredIndicator, property: 'color' },\n { ...label, property: '-webkit-text-fill-color' },\n { ...requiredIndicator, property: '-webkit-text-fill-color' },\n ],\n\n hostWidth: { ...host, property: 'width' },\n hostMinWidth: { ...host, property: 'min-width' },\n hostDirection: { ...host, property: 'direction' },\n inputDirection: { ...input, property: 'direction' },\n\n inputBackgroundColor: [\n { ...inputField, property: 'background-color' },\n { ...inputMask, property: 'background-color' },\n ],\n\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n errorMessageIcon: { ...errorMessage, property: 'background-image' },\n errorMessageIconSize: { ...errorMessage, property: 'background-size' },\n errorMessageIconPadding: { ...errorMessage, property: 'padding-inline-start' },\n errorMessageIconRepeat: { ...errorMessage, property: 'background-repeat' },\n errorMessageIconPosition: { ...errorMessage, property: 'background-position' },\n errorMessageFontSize: { ...errorMessage, property: 'font-size' },\n\n helperTextColor: { ...helperText, property: '-webkit-text-fill-color' },\n\n inputValueTextColor: [\n { ...inputField, property: 'color' },\n { ...inputDisabled, property: '-webkit-text-fill-color' },\n { ...externalInputDisabled, property: '-webkit-text-fill-color' },\n ],\n inputCaretTextColor: [\n { ...input, property: 'caret-color' },\n { ...externalInput, property: 'caret-color' },\n ],\n\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n\n inputBorderColor: { ...inputField, property: 'border-color' },\n inputBorderWidth: { ...inputField, property: 'border-width' },\n inputBorderStyle: { ...inputField, property: 'border-style' },\n inputBorderRadius: { ...inputField, property: 'border-radius' },\n\n inputHeight: { ...inputField, property: 'height' },\n inputHorizontalPadding: [\n { ...input, property: 'padding-left' },\n { ...input, property: 'padding-right' },\n { ...externalInput, property: 'padding-left' },\n { ...externalInput, property: 'padding-right' },\n ],\n\n inputOutlineColor: { ...inputField, property: 'outline-color' },\n inputOutlineStyle: { ...inputField, property: 'outline-style' },\n inputOutlineWidth: { ...inputField, property: 'outline-width' },\n inputOutlineOffset: { ...inputField, property: 'outline-offset' },\n\n textAlign: {},\n\n inputTextAlign: [\n { ...input, property: 'text-align' },\n { ...externalInput, property: 'text-align' },\n ],\n\n inputPlaceholderColor: [\n { selector: () => ':host input:placeholder-shown', property: 'color' },\n { ...externalPlaceholder, property: 'color' },\n { ...placeholder, property: 'color' },\n { ...disabledPlaceholder, property: '-webkit-text-fill-color' },\n { ...externalDisabledPlaceholder, property: '-webkit-text-fill-color' },\n ],\n\n labelPosition: { ...label, property: 'position' },\n labelTopPosition: { ...label, property: 'top' },\n labelHorizontalPosition: [\n { ...label, property: 'left' },\n { ...label, property: 'right' },\n ],\n inputTransformY: { ...label, property: 'transform' },\n inputTransition: { ...label, property: 'transition' },\n marginInlineStart: { ...label, property: 'margin-inline-start' },\n placeholderOpacity: [\n { selector: '> input:placeholder-shown', property: 'opacity' },\n { ...externalPlaceholder, property: 'opacity' },\n ],\n inputVerticalAlignment: [\n { ...inputField, property: 'align-items' },\n { ...externalInput, property: 'align-items' },\n ],\n valueInputHeight: [\n { ...input, property: 'height' },\n { ...externalInput, property: 'height' },\n ],\n valueInputMarginBottom: [\n { ...input, property: 'margin-bottom' },\n { ...externalInput, property: 'margin-bottom' },\n ],\n\n inputIconOffset: [\n { ...inputIcon, property: 'margin-right' },\n { ...inputIcon, property: 'margin-left' },\n ],\n inputIconSize: { ...inputIcon, property: 'font-size' },\n inputIconColor: { ...inputIcon, property: 'color' },\n};\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { SlotController } from '@vaadin/component-base/src/slot-controller.js';\n\n/**\n * A controller to create and initialize slotted `<input>` element.\n */\nexport class InputController extends SlotController {\n constructor(host, callback) {\n super(host, 'input', 'input', {\n initializer: (node, host) => {\n if (host.value) {\n node.value = host.value;\n }\n if (host.type) {\n node.setAttribute('type', host.type);\n }\n\n // Ensure every instance has unique ID\n node.id = this.defaultId;\n\n if (typeof callback === 'function') {\n callback(node);\n }\n },\n useUniqueId: true,\n });\n }\n}\n","import '@vaadin/text-field';\nimport '@vaadin/icons';\nimport '@vaadin/icon';\n\nimport { componentName, TextFieldClass } from './TextFieldClass';\n\ncustomElements.define(componentName, TextFieldClass);\n\nexport { TextFieldClass, componentName };\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { InputController } from '@vaadin/field-base/src/input-controller.js';\nimport { InputFieldMixin } from '@vaadin/field-base/src/input-field-mixin.js';\nimport { LabelledInputController } from '@vaadin/field-base/src/labelled-input-controller.js';\n\n/**\n * A mixin providing common text field functionality.\n *\n * @polymerMixin\n * @mixes InputFieldMixin\n */\nexport const TextFieldMixin = (superClass) =>\n class TextFieldMixinClass extends InputFieldMixin(superClass) {\n static get properties() {\n return {\n /**\n * Maximum number of characters (in Unicode code points) that the user can enter.\n */\n maxlength: {\n type: Number,\n },\n\n /**\n * Minimum number of characters (in Unicode code points) that the user can enter.\n */\n minlength: {\n type: Number,\n },\n\n /**\n * A regular expression that the value is checked against.\n * The pattern must match the entire value, not just some subset.\n */\n pattern: {\n type: String,\n },\n };\n }\n\n static get delegateAttrs() {\n return [...super.delegateAttrs, 'maxlength', 'minlength', 'pattern'];\n }\n\n static get constraints() {\n return [...super.constraints, 'maxlength', 'minlength', 'pattern'];\n }\n\n constructor() {\n super();\n this._setType('text');\n }\n\n /** @protected */\n get clearElement() {\n return this.$.clearButton;\n }\n\n /** @protected */\n ready() {\n super.ready();\n\n this.addController(\n new InputController(this, (input) => {\n this._setInputElement(input);\n this._setFocusElement(input);\n this.stateTarget = input;\n this.ariaTarget = input;\n }),\n );\n this.addController(new LabelledInputController(this.inputElement, this._labelController));\n }\n };\n","/**\n * @license\n * Copyright (c) 2017 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport '@vaadin/input-container/src/vaadin-input-container.js';\nimport { html, PolymerElement } from '@polymer/polymer';\nimport { defineCustomElement } from '@vaadin/component-base/src/define.js';\nimport { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';\nimport { TooltipController } from '@vaadin/component-base/src/tooltip-controller.js';\nimport { inputFieldShared } from '@vaadin/field-base/src/styles/input-field-shared-styles.js';\nimport { registerStyles, ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { TextFieldMixin } from './vaadin-text-field-mixin.js';\n\nregisterStyles('vaadin-text-field', inputFieldShared, { moduleId: 'vaadin-text-field-styles' });\n\n/**\n * `<vaadin-text-field>` is a web component that allows the user to input and edit text.\n *\n * ```html\n * <vaadin-text-field label=\"First Name\"></vaadin-text-field>\n * ```\n *\n * ### Prefixes and suffixes\n *\n * These are child elements of a `<vaadin-text-field>` that are displayed\n * inline with the input, before or after.\n * In order for an element to be considered as a prefix, it must have the slot\n * attribute set to `prefix` (and similarly for `suffix`).\n *\n * ```html\n * <vaadin-text-field label=\"Email address\">\n * <div slot=\"prefix\">Sent to:</div>\n * <div slot=\"suffix\">@vaadin.com</div>\n * </vaadin-text-field>\n * ```\n *\n * ### Styling\n *\n * The following custom properties are available for styling:\n *\n * Custom property | Description | Default\n * -------------------------------|----------------------------|---------\n * `--vaadin-field-default-width` | Default width of the field | `12em`\n *\n * The following shadow DOM parts are available for styling:\n *\n * Part name | Description\n * ---------------------|----------------\n * `label` | The label element\n * `input-field` | The element that wraps prefix, value and suffix\n * `clear-button` | The clear button\n * `error-message` | The error message element\n * `helper-text` | The helper text element wrapper\n * `required-indicator` | The `required` state indicator element\n *\n * The following state attributes are available for styling:\n *\n * Attribute | Description | Part name\n * --------------------|-------------|------------\n * `disabled` | Set to a disabled text field | :host\n * `has-value` | Set when the element has a value | :host\n * `has-label` | Set when the element has a label | :host\n * `has-helper` | Set when the element has helper text or slot | :host\n * `has-error-message` | Set when the element has an error message | :host\n * `invalid` | Set when the element is invalid | :host\n * `input-prevented` | Temporarily set when invalid input is prevented | :host\n * `focused` | Set when the element is focused | :host\n * `focus-ring` | Set when the element is keyboard focused | :host\n * `readonly` | Set to a readonly text field | :host\n *\n * See [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.\n *\n * @fires {Event} input - Fired when the value is changed by the user: on every typing keystroke, and the value is cleared using the clear button.\n * @fires {Event} change - Fired when the user commits a value change.\n * @fires {CustomEvent} invalid-changed - Fired when the `invalid` property changes.\n * @fires {CustomEvent} value-changed - Fired when the `value` property changes.\n * @fires {CustomEvent} validated - Fired whenever the field is validated.\n *\n * @customElement\n * @extends HTMLElement\n * @mixes ElementMixin\n * @mixes ThemableMixin\n * @mixes TextFieldMixin\n */\nexport class TextField extends TextFieldMixin(ThemableMixin(ElementMixin(PolymerElement))) {\n static get is() {\n return 'vaadin-text-field';\n }\n\n static get template() {\n return html`\n <style>\n [part='input-field'] {\n flex-grow: 0;\n }\n </style>\n\n <div class=\"vaadin-field-container\">\n <div part=\"label\">\n <slot name=\"label\"></slot>\n <span part=\"required-indicator\" aria-hidden=\"true\" on-click=\"focus\"></span>\n </div>\n\n <vaadin-input-container\n part=\"input-field\"\n readonly=\"[[readonly]]\"\n disabled=\"[[disabled]]\"\n invalid=\"[[invalid]]\"\n theme$=\"[[_theme]]\"\n >\n <slot name=\"prefix\" slot=\"prefix\"></slot>\n <slot name=\"input\"></slot>\n <slot name=\"suffix\" slot=\"suffix\"></slot>\n <div id=\"clearButton\" part=\"clear-button\" slot=\"suffix\" aria-hidden=\"true\"></div>\n </vaadin-input-container>\n\n <div part=\"helper-text\">\n <slot name=\"helper\"></slot>\n </div>\n\n <div part=\"error-message\">\n <slot name=\"error-message\"></slot>\n </div>\n </div>\n <slot name=\"tooltip\"></slot>\n `;\n }\n\n static get properties() {\n return {\n /**\n * Maximum number of characters (in Unicode code points) that the user can enter.\n */\n maxlength: {\n type: Number,\n },\n\n /**\n * Minimum number of characters (in Unicode code points) that the user can enter.\n */\n minlength: {\n type: Number,\n },\n };\n }\n\n /** @protected */\n ready() {\n super.ready();\n\n this._tooltipController = new TooltipController(this);\n this._tooltipController.setPosition('top');\n this._tooltipController.setAriaTarget(this.inputElement);\n this.addController(this._tooltipController);\n }\n}\n\ndefineCustomElement(TextField);\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { InputControlMixin } from './input-control-mixin.js';\n\n/**\n * A mixin to provide logic for vaadin-text-field and related components.\n *\n * @polymerMixin\n * @mixes InputControlMixin\n */\nexport const InputFieldMixin = (superclass) =>\n class InputFieldMixinClass extends InputControlMixin(superclass) {\n static get properties() {\n return {\n /**\n * Whether the value of the control can be automatically completed by the browser.\n * List of available options at:\n * https://developer.mozilla.org/en/docs/Web/HTML/Element/input#attr-autocomplete\n */\n autocomplete: {\n type: String,\n },\n\n /**\n * This is a property supported by Safari that is used to control whether\n * autocorrection should be enabled when the user is entering/editing the text.\n * Possible values are:\n * on: Enable autocorrection.\n * off: Disable autocorrection.\n */\n autocorrect: {\n type: String,\n },\n\n /**\n * This is a property supported by Safari and Chrome that is used to control whether\n * autocapitalization should be enabled when the user is entering/editing the text.\n * Possible values are:\n * characters: Characters capitalization.\n * words: Words capitalization.\n * sentences: Sentences capitalization.\n * none: No capitalization.\n */\n autocapitalize: {\n type: String,\n reflectToAttribute: true,\n },\n };\n }\n\n static get delegateAttrs() {\n return [...super.delegateAttrs, 'autocapitalize', 'autocomplete', 'autocorrect'];\n }\n\n // Workaround for https://github.com/Polymer/polymer/issues/5259\n get __data() {\n return this.__dataValue || {};\n }\n\n set __data(value) {\n this.__dataValue = value;\n }\n\n /**\n * @param {HTMLElement} input\n * @protected\n * @override\n */\n _inputElementChanged(input) {\n super._inputElementChanged(input);\n\n if (input) {\n // Discard value set on the custom slotted input.\n if (input.value && input.value !== this.value) {\n console.warn(`Please define value on the <${this.localName}> component!`);\n input.value = '';\n }\n\n if (this.value) {\n input.value = this.value;\n }\n }\n }\n\n /**\n * Override an event listener from `FocusMixin`.\n * @param {boolean} focused\n * @protected\n * @override\n */\n _setFocused(focused) {\n super._setFocused(focused);\n\n // Do not validate when focusout is caused by document\n // losing focus, which happens on browser tab switch.\n if (!focused && document.hasFocus()) {\n this.validate();\n }\n }\n\n /**\n * Override an event listener from `InputMixin`\n * to mark as valid after user started typing.\n * @param {Event} event\n * @protected\n * @override\n */\n _onInput(event) {\n super._onInput(event);\n\n if (this.invalid) {\n this.validate();\n }\n }\n\n /**\n * Override an observer from `InputMixin` to validate the field\n * when a new value is set programmatically.\n *\n * @param {string | undefined} newValue\n * @param {string | undefined} oldValue\n * @protected\n * @override\n */\n _valueChanged(newValue, oldValue) {\n super._valueChanged(newValue, oldValue);\n\n if (oldValue === undefined) {\n return;\n }\n\n if (this.invalid) {\n this.validate();\n }\n }\n };\n","import { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName, observeAttributes } from '../../helpers/componentHelpers';\nimport { componentNameValidationMixin, createStyleMixin, draggableMixin } from '../../mixins';\nimport { TextClass } from '@descope-ui/descope-text/class';\nimport { TextFieldClass } from '../descope-text-field/TextFieldClass';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('security-questions-verify');\n\nconst textFieldsAttrs = [\n 'full-width',\n 'readonly',\n 'size',\n 'answer-placeholder',\n 'answer-data-errormessage-value-missing',\n 'st-error-message-icon',\n 'st-error-message-icon-size',\n 'st-error-message-icon-padding',\n];\n\nconst textsAttrs = ['question-mode'];\n\nconst attrMappings = {\n 'answer-placeholder': 'placeholder',\n 'answer-data-errormessage-value-missing': 'data-errormessage-value-missing',\n 'question-mode': 'mode',\n};\n\nconst attrsToSync = [...textFieldsAttrs, ...textsAttrs];\n\nconst attrsToReRender = ['questions'];\nclass RawSecurityQuestionsVerify extends createBaseClass({ componentName, baseSelector: 'div' }) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <div></div>\n\t\t`;\n\n injectStyle(\n `\n :host {\n display: inline-flex;\n }\n\n div {\n display: flex;\n flex-direction: column;\n }\n `,\n this\n );\n }\n\n #renderQuestions() {\n const res = this.questions.map(\n ({ id, text }) =>\n // <!--html-->\n `\n <div class=\"question-wrapper\">\n <descope-text\n data-id=\"${id}\"\n >${text}</descope-text>\n\n <descope-text-field\n data-id=\"${id}\"\n required=\"true\"\n bordered=\"true\"\n ></descope-text-field>\n </div>\n `\n // <!--!html-->\n );\n\n this.baseElement.innerHTML = res.join(\n '<spacer></spacer><descope-divider></descope-divider><spacer></spacer>'\n );\n\n this.#syncAttrs(attrsToSync);\n\n // focus input when text is clicked\n this.texts.forEach((el) => {\n const input = this.textFields.find(\n (field) => field.getAttribute('data-id') === el.getAttribute('data-id')\n );\n // eslint-disable-next-line no-param-reassign\n if (input) el.onclick = input.focus.bind(input);\n });\n }\n\n reportValidity() {\n this.textFields.reverse().forEach((el) => el.reportValidity());\n\n return this.checkValidity();\n }\n\n checkValidity() {\n return this.textFields.every((el) => el.checkValidity());\n }\n\n get questions() {\n try {\n return JSON.parse(this.getAttribute('questions')) || [];\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(componentName, 'Error parsing questions attribute', e);\n return [];\n }\n }\n\n get texts() {\n return Array.from(this.baseElement.querySelectorAll('descope-text'));\n }\n\n get textFields() {\n return Array.from(this.baseElement.querySelectorAll('descope-text-field'));\n }\n\n get elements() {\n return Array.from(this.baseElement.querySelectorAll('descope-text, descope-text-field'));\n }\n\n get value() {\n return this.textFields.map((el) => ({ id: el.getAttribute('data-id'), answer: el.value }));\n }\n\n set value(val = []) {\n val.forEach(({ id, answer }) => {\n const textField = this.textFields.find((el) => el.getAttribute('data-id') === id);\n if (textField) textField.value = answer;\n });\n }\n\n // eslint-disable-next-line class-methods-use-this\n #updateAttribute(ele, attrName, value) {\n if (value === null) ele.removeAttribute(attrName);\n else ele.setAttribute(attrName, value);\n }\n\n #getElementsToUpdate(attr) {\n switch (true) {\n case textFieldsAttrs.includes(attr):\n return this.textFields;\n case textsAttrs.includes(attr):\n return this.texts;\n default:\n return [];\n }\n }\n\n #syncAttrs(attrs) {\n attrs.forEach((attr) => {\n this.#getElementsToUpdate(attr).forEach((el) => {\n this.#updateAttribute(el, attrMappings[attr] || attr, this.getAttribute(attr));\n });\n });\n }\n\n init() {\n super.init?.();\n // render new components\n observeAttributes(\n this,\n () => {\n this.#renderQuestions();\n },\n { includeAttrs: attrsToReRender }\n );\n\n // update existing components\n observeAttributes(this, this.#syncAttrs.bind(this), {\n includeAttrs: attrsToSync,\n });\n }\n}\n\nexport const SecurityQuestionsVerifyClass = compose(\n createStyleMixin({ componentNameOverride: getComponentName('input-wrapper') }),\n createStyleMixin({\n mappings: {\n hostWidth: [{ selector: () => ':host', property: 'width' }, { property: 'width' }],\n hostDirection: [\n { selector: () => ':host', property: 'direction' },\n {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.hostDirection,\n },\n {\n selector: () => TextFieldClass.componentName,\n property: TextFieldClass.cssVarList.hostDirection,\n },\n ],\n gap: { selector: () => 'div', property: 'gap' },\n questionTextAlign: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.textAlign,\n },\n questionFontSize: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.fontSize,\n },\n questionFontFamily: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.fontFamily,\n },\n questionCursor: {\n selector: () => TextClass.componentName,\n property: 'cursor',\n },\n\n errorMessageIcon: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.errorMessageIcon,\n },\n errorMessageIconSize: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.errorMessageSize,\n },\n errorMessageIconPadding: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.errorMessagePadding,\n },\n errorMessageIconRepeat: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.errorMessageRepeat,\n },\n errorMessageIconPosition: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.errorMessagePosition,\n },\n errorMessageFontSize: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.errorMessageFontSize,\n },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawSecurityQuestionsVerify);\n","import { componentName, SecurityQuestionsVerifyClass } from './SecurityQuestionsVerifyClass';\nimport '@descope-ui/descope-text';\nimport '../descope-text-field';\n\ncustomElements.define(componentName, SecurityQuestionsVerifyClass);\n\nexport { SecurityQuestionsVerifyClass, componentName };\n","/**\n * @license\n * Copyright (c) 2017 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport '@vaadin/input-container/theme/lumo/vaadin-input-container-styles.js';\nimport { inputFieldShared } from '@vaadin/vaadin-lumo-styles/mixins/input-field-shared.js';\nimport { registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\n\nregisterStyles('vaadin-text-field', inputFieldShared, {\n moduleId: 'lumo-text-field-styles',\n});\n","import { componentName, TextClass } from './TextClass';\n\ncustomElements.define(componentName, TextClass);\n\nexport { TextClass, componentName };\n","import {\n createStyleMixin,\n draggableMixin,\n componentNameValidationMixin,\n} from '@descope-ui/common/components-mixins';\nimport { compose } from '@descope-ui/common/utils';\nimport {\n getComponentName,\n injectStyle,\n observeChildren,\n} from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\n\nexport const componentName = getComponentName('text');\n\nclass RawText extends createBaseClass({\n componentName,\n baseSelector: ':host > slot',\n}) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <slot part=\"text-wrapper\"></slot>\n `;\n\n injectStyle(`\n :host {\n display: inline-block;\n line-height: 1em;\n }\n :host > slot {\n width: 100%;\n display: inline-block;\n }\n `, this);\n }\n\n get hideWhenEmpty() {\n return this.getAttribute('hide-when-empty') === 'true';\n }\n\n init() {\n super.init();\n\n observeChildren(this, () => {\n const hasChildren = !!this.childNodes.length;\n this.style.display = !hasChildren && this.hideWhenEmpty ? 'none' : '';\n });\n }\n}\n\nconst { host } = {\n host: { selector: () => ':host' }\n}\n\nexport const TextClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n fontSize: {},\n textColor: [\n { property: 'color' }\n ],\n textLineHeight: { property: 'line-height' },\n textLetterSpacing: { property: 'letter-spacing' },\n textShadow: {},\n textAlign: {},\n textTransform: {},\n fontFamily: {},\n fontStyle: {},\n fontWeight: {},\n borderWidth: {},\n borderStyle: {},\n borderColor: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n)(RawText);\n","export const useHostExternalPadding = (cssVarList) => `\n :host {\n padding: calc(var(${cssVarList.inputOutlineWidth}) + var(${cssVarList.inputOutlineOffset}))\n }\n`;\n\nexport const resetInputFieldUnderlayingBorder = (name) => `\n ${name}::part(input-field)::after {\n border: none;\n }\n`;\n\nexport const resetInitialHeight = (name) => `\n ${name}::before {\n\t\theight: unset;\n\t}\n`;\n\nexport const resetInputElement = (name) => `\n ${name} > input {\n -webkit-mask-image: none;\n min-height: 0;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputContainer = (name) => `\n ${name} {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputField = (name) => `\n ${name}::part(input-field) {\n overflow: hidden;\n padding: 0;\n box-shadow: none;\n }\n`;\n\nexport const resetInputCursor = (name) => `\n ${name} > label,\n ${name}::part(label),\n ${name}::part(required-indicator) {\n cursor: pointer;\n }\n`;\n\nexport const resetInputPlaceholder = (name, ele = 'input') => `\n ${name}[disabled] > ${ele}:placeholder-shown,\n\t${name}[readonly] > ${ele}:placeholder-shown {\n\t\topacity: 1;\n\t}\n`;\n\nexport const resetInputAutoFill = (name, cssVarList) => `\n ${name} input:-webkit-autofill,\n ${name} input:-webkit-autofill::first-line,\n ${name} input:-webkit-autofill:hover,\n ${name} input:-webkit-autofill:active,\n ${name} input:-webkit-autofill:focus {\n -webkit-text-fill-color: var(${cssVarList.inputValueTextColor});\n box-shadow: 0 0 0 var(${cssVarList.inputHeight}) var(${cssVarList.inputBackgroundColor}) inset;\n }\n`;\n\nexport const resetInputFieldDefaultWidth = () => `\n :host {\n --vaadin-field-default-width: auto;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputReadonlyStyle = (name) => `\n ${name}::part(input-field)::after {\n opacity: 0;\n }\n`;\n\nexport const resetInputFieldInvalidBackgroundColor = (name) => `\n ${name}::part(input-field)::after {\n background: none;\n }\n`;\n\nexport const resetInputOverrides = (name, cssVarList) => `\n ${resetInputContainer(name)}\n ${resetInputCursor(name)}\n ${resetInputPlaceholder(name)}\n ${resetInputField(name)}\n ${resetInputAutoFill(name, cssVarList)}\n ${resetInputFieldInvalidBackgroundColor(name)}\n ${resetInitialHeight(name)}\n ${resetInputElement(name)}\n ${resetInputFieldUnderlayingBorder(name)}\n`;\n\n// This function is used to support RTL correctly for input components.\n// It also fixes the error message to be displayed LTR since we currently\n// don't support RTL for error messages.\nexport const resetInputLabelPosition = (name) => `\n :host ::part(error-message) {\n direction: ltr;\n }\n :host([required]) ::part(required-indicator) {\n width: 1em;\n display: inline-flex;\n }\n :host([required]) ::part(required-indicator)::after {\n position: static;\n }\n :host([has-label]) ::part(label) {\n padding-right: 0;\n padding-bottom: 0;\n display: flex;\n width: 100%;\n }\n ${name} [slot=\"label\"] {\n max-width: calc(100% - 1em);\n overflow: hidden;\n text-overflow: ellipsis;\n padding-bottom: 0.5em;\n }\n`;\n\nexport const inputFloatingLabelStyle = () => {\n return `\n :host([label-type=\"floating\"]) {\n position: relative;\n }\n :host([label-type=\"floating\"][has-label]) > ::part(label) {\n z-index: 1;\n padding: 0;\n width: auto;\n }\n `;\n};\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n} from '../../mixins';\nimport textFieldMappings from './textFieldMappings';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n inputFloatingLabelStyle,\n resetInputLabelPosition,\n resetInputOverrides,\n useHostExternalPadding,\n} from '../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('text-field');\n\nconst observedAttrs = ['type', 'label-type', 'copy-to-clipboard'];\n\nconst customMixin = (superclass) =>\n class TextFieldClass extends superclass {\n static get observedAttributes() {\n return observedAttrs.concat(superclass.observedAttributes || []);\n }\n\n icon;\n\n init() {\n super.init?.();\n }\n\n renderCopyToClipboard(shouldRender) {\n if (!shouldRender) {\n this.icon?.remove();\n return;\n }\n\n const iconInitConfig = {\n icon: 'vaadin:copy-o',\n title: 'Copy',\n style: 'cursor: pointer',\n };\n\n const iconCopiedConfig = {\n icon: 'vaadin:check-circle-o',\n title: 'Copied',\n style: 'cursor: initial',\n };\n\n this.icon = Object.assign(document.createElement('vaadin-icon'), {\n slot: 'suffix',\n ...iconInitConfig,\n });\n\n this.baseElement.appendChild(this.icon);\n this.icon.addEventListener('click', () => {\n navigator.clipboard.writeText(this.value);\n Object.assign(this.icon, iconCopiedConfig);\n\n // we want the icon to go back to the initial state after 5 seconds\n setTimeout(() => {\n Object.assign(this.icon, iconInitConfig);\n }, 5000);\n });\n }\n\n onLabelClick() {\n this.focus();\n }\n\n attributeChangedCallback(attrName, oldVal, newVal) {\n super.attributeChangeCallback?.(attrName, oldVal, newVal);\n\n // Vaadin doesn't allow to change the input type attribute.\n // We need the ability to do that, so we're overriding their\n // behavior with their private API.\n // When receiving a `type` attribute, we use their private API\n // to set it on the input.\n if (attrName === 'type') {\n this.baseElement._setType(newVal);\n }\n\n if (oldVal !== newVal) {\n if (attrName === 'label-type') {\n if (newVal === 'floating') {\n this.addEventListener('click', this.onLabelClick);\n } else {\n this.removeEventListener('click', this.onLabelClick);\n }\n } else if (attrName === 'copy-to-clipboard') {\n this.renderCopyToClipboard(newVal === 'true');\n }\n }\n }\n };\n\nexport const TextFieldClass = compose(\n createStyleMixin({\n mappings: textFieldMappings,\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'], useProxyTargets: true }),\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: ['prefix', 'suffix'],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tmax-width: 100%;\n\t\t\t\tpadding: calc(var(${TextFieldClass.cssVarList.inputOutlineWidth}) + var(${\n TextFieldClass.cssVarList.inputOutlineOffset\n }));\n box-sizing: border-box;\n\t\t\t}\n :host(:is([readonly], [disabled])) ::slotted(:is(input, textarea):placeholder-shown) {\n opacity: 1;\n }\n\n vaadin-text-field[label-type=\"floating\"]:not([focused])[readonly] > input:placeholder-shown {\n opacity: 0;\n }\n vaadin-text-field[label-type=\"floating\"]:not([focused])[disabled] > input:placeholder-shown {\n opacity: 0;\n }\n ${resetInputLabelPosition('vaadin-text-field')}\n\t\t\t${useHostExternalPadding(TextFieldClass.cssVarList)}\n\t\t\t${resetInputOverrides('vaadin-text-field', TextFieldClass.cssVarList)}\n ${inputFloatingLabelStyle()}\n\n vaadin-text-field vaadin-icon {\n align-self: center;\n }\n\t\t`,\n excludeAttrsSync: ['tabindex', 'style'],\n componentName,\n })\n);\n"],"names":["host","label","placeholder","requiredIndicator","inputField","input","inputMask","helperText","errorMessage","disabledPlaceholder","inputDisabled","inputIcon","externalInput","externalInputDisabled","externalPlaceholder","externalDisabledPlaceholder","selector","fontSize","fontFamily","labelFontSize","property","labelFontWeight","labelTextColor","hostWidth","hostMinWidth","hostDirection","inputDirection","inputBackgroundColor","errorMessageTextColor","errorMessageIcon","errorMessageIconSize","errorMessageIconPadding","errorMessageIconRepeat","errorMessageIconPosition","errorMessageFontSize","helperTextColor","inputValueTextColor","inputCaretTextColor","labelRequiredIndicator","inputBorderColor","inputBorderWidth","inputBorderStyle","inputBorderRadius","inputHeight","inputHorizontalPadding","inputOutlineColor","inputOutlineStyle","inputOutlineWidth","inputOutlineOffset","textAlign","inputTextAlign","inputPlaceholderColor","labelPosition","labelTopPosition","labelHorizontalPosition","inputTransformY","inputTransition","marginInlineStart","placeholderOpacity","inputVerticalAlignment","valueInputHeight","valueInputMarginBottom","inputIconOffset","inputIconSize","inputIconColor","InputController","constructor","callback","super","initializer","node","value","type","setAttribute","id","this","defaultId","useUniqueId","customElements","define","TextFieldMixin","superClass","properties","maxlength","Number","minlength","pattern","String","delegateAttrs","constraints","_setType","clearElement","$","clearButton","ready","addController","_setInputElement","_setFocusElement","stateTarget","ariaTarget","inputElement","_labelController","moduleId","TextField","is","template","_tooltipController","setPosition","setAriaTarget","InputFieldMixin","superclass","autocomplete","autocorrect","autocapitalize","reflectToAttribute","__data","__dataValue","_inputElementChanged","console","warn","localName","_setFocused","focused","document","hasFocus","validate","_onInput","event","invalid","_valueChanged","newValue","oldValue","undefined","componentName","textFieldsAttrs","textsAttrs","attrMappings","attrsToSync","attrsToReRender","RawSecurityQuestionsVerify","createBaseClass","baseSelector","attachShadow","mode","innerHTML","res","questions","map","text","baseElement","join","texts","forEach","el","textFields","find","field","getAttribute","onclick","focus","bind","reportValidity","reverse","checkValidity","every","JSON","parse","e","error","Array","from","querySelectorAll","elements","answer","val","textField","ele","attrName","removeAttribute","attr","includes","attrs","init","includeAttrs","SecurityQuestionsVerifyClass","componentNameOverride","mappings","TextClass","cssVarList","TextFieldClass","gap","questionTextAlign","questionFontSize","questionFontFamily","questionCursor","errorMessageSize","errorMessagePadding","errorMessageRepeat","errorMessagePosition","RawText","hideWhenEmpty","hasChildren","childNodes","length","style","display","textColor","textLineHeight","textLetterSpacing","textShadow","textTransform","fontStyle","fontWeight","borderWidth","borderStyle","borderColor","useHostExternalPadding","resetInputContainer","name","resetInputField","resetInputCursor","resetInputPlaceholder","resetInputFieldDefaultWidth","resetInputReadonlyStyle","resetInputFieldInvalidBackgroundColor","resetInputOverrides","resetInputAutoFill","resetInitialHeight","resetInputElement","resetInputFieldUnderlayingBorder","resetInputLabelPosition","inputFloatingLabelStyle","observedAttrs","proxyProps","useProxyTargets","observedAttributes","concat","icon","renderCopyToClipboard","shouldRender","remove","iconInitConfig","title","iconCopiedConfig","Object","assign","createElement","slot","appendChild","addEventListener","navigator","clipboard","writeText","setTimeout","onLabelClick","attributeChangedCallback","oldVal","newVal","attributeChangeCallback","removeEventListener","slots","wrappedEleName","excludeAttrsSync"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[2294],{63595:(t,e,o)=>{o.r(e),o.d(e,{TextClass:()=>n.s,componentName:()=>n.T});var n=o(66434);customElements.define(n.T,n.s)},66434:(t,e,o)=>{o.d(e,{T:()=>h,s:()=>c});var n=o(88961),s=o(63200),i=o(25964),r=o(72270);const h=(0,i.xE)("text");class p extends((0,r.qu)({componentName:h,baseSelector:":host > slot"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <slot part="text-wrapper"></slot>\n ',(0,i.fz)("\n :host {\n display: inline-block;\n line-height: 1em;\n }\n :host > slot {\n width: 100%;\n display: inline-block;\n }\n ",this)}get hideWhenEmpty(){return"true"===this.getAttribute("hide-when-empty")}init(){super.init(),(0,i.Ge)(this,(()=>{const t=!!this.childNodes.length;this.style.display=!t&&this.hideWhenEmpty?"none":""}))}}const{host:l}={host:{selector:()=>":host"}},c=(0,s.Zz)((0,n.RF)({mappings:{hostWidth:{selector:()=>":host",property:"width"},hostDirection:{selector:()=>":host",property:"direction"},fontSize:{},textColor:[{property:"color"}],textLineHeight:{property:"line-height"},textLetterSpacing:{property:"letter-spacing"},textShadow:{},textAlign:{},textTransform:{},fontFamily:{},fontStyle:{},fontWeight:{},borderWidth:{},borderStyle:{},borderColor:{}}}),n.VO,n.tQ)(p)}}]);
1
+ "use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[2294],{63595:(t,e,o)=>{o.r(e),o.d(e,{TextClass:()=>n.s,componentName:()=>n.T});var n=o(66434);customElements.define(n.T,n.s)},66434:(t,e,o)=>{o.d(e,{T:()=>h,s:()=>c});var n=o(88961),s=o(63200),i=o(25964),r=o(72270);const h=(0,i.xE)("text");class p extends((0,r.qu)({componentName:h,baseSelector:":host > slot"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <slot part="text-wrapper"></slot>\n ',(0,i.fz)("\n :host {\n display: inline-block;\n line-height: 1em;\n }\n :host > slot {\n width: 100%;\n display: inline-block;\n }\n ",this)}get hideWhenEmpty(){return"true"===this.getAttribute("hide-when-empty")}init(){super.init(),(0,i.Ge)(this,(()=>{const t=!!this.childNodes.length;this.style.display=!t&&this.hideWhenEmpty?"none":""}))}}const{host:l}={host:{selector:()=>":host"}},c=(0,s.Zz)((0,n.RF)({mappings:{hostWidth:{...l,property:"width"},hostDirection:{...l,property:"direction"},fontSize:{},textColor:[{property:"color"}],textLineHeight:{property:"line-height"},textLetterSpacing:{property:"letter-spacing"},textShadow:{},textAlign:{},textTransform:{},fontFamily:{},fontStyle:{},fontWeight:{},borderWidth:{},borderStyle:{},borderColor:{}}}),n.VO,n.tQ)(p)}}]);
2
2
  //# sourceMappingURL=descope-text.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"descope-text.js","mappings":"gNAEAA,eAAeC,OAAO,IAAe,I,2FCW9B,MAAMC,GAAgB,QAAiB,QAE9C,MAAMC,WAAgB,QAAgB,CACpCD,gBACAE,aAAc,kBAEd,WAAAC,GACEC,QAEAC,KAAKC,aAAa,CAAEC,KAAM,SAAUC,UAAY,iDAIhD,QAAY,iLASTH,KACL,CAEA,iBAAII,GACF,MAAgD,SAAzCJ,KAAKK,aAAa,kBAC3B,CAEA,IAAAC,GACEP,MAAMO,QAEN,QAAgBN,MAAM,KACpB,MAAMO,IAAgBP,KAAKQ,WAAWC,OACtCT,KAAKU,MAAMC,SAAWJ,GAAeP,KAAKI,cAAgB,OAAS,EAAE,GAEzE,EAGF,MAAM,KAAEQ,GAAS,CACfA,KAAM,CAAEC,SAAU,IAAM,UAGbC,GAAY,SACvB,QAAiB,CACfC,SAAU,CACRC,UAAW,CAAEH,SAAU,IAAM,QAASI,SAAU,SAChDC,cAAe,CAAEL,SAAU,IAAM,QAASI,SAAU,aACpDE,SAAU,CAAC,EACXC,UAAW,CACT,CAAEH,SAAU,UAEdI,eAAgB,CAAEJ,SAAU,eAC5BK,kBAAmB,CAAEL,SAAU,kBAC/BM,WAAY,CAAC,EACbC,UAAW,CAAC,EACZC,cAAe,CAAC,EAChBC,WAAY,CAAC,EACbC,UAAW,CAAC,EACZC,WAAY,CAAC,EACbC,YAAa,CAAC,EACdC,YAAa,CAAC,EACdC,YAAa,CAAC,KAGlB,KACA,KAvBuB,CAwBvBnC,E","sources":["webpack://@descope/web-components-ui/../components/descope-text/src/component/index.js","webpack://@descope/web-components-ui/../components/descope-text/src/component/TextClass.js"],"sourcesContent":["import { componentName, TextClass } from './TextClass';\n\ncustomElements.define(componentName, TextClass);\n\nexport { TextClass, componentName };\n","import {\n createStyleMixin,\n draggableMixin,\n componentNameValidationMixin,\n} from '@descope-ui/common/components-mixins';\nimport { compose } from '@descope-ui/common/utils';\nimport {\n getComponentName,\n injectStyle,\n observeChildren,\n} from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\n\nexport const componentName = getComponentName('text');\n\nclass RawText extends createBaseClass({\n componentName,\n baseSelector: ':host > slot',\n}) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <slot part=\"text-wrapper\"></slot>\n `;\n\n injectStyle(`\n :host {\n display: inline-block;\n line-height: 1em;\n }\n :host > slot {\n width: 100%;\n display: inline-block;\n }\n `, this);\n }\n\n get hideWhenEmpty() {\n return this.getAttribute('hide-when-empty') === 'true';\n }\n\n init() {\n super.init();\n\n observeChildren(this, () => {\n const hasChildren = !!this.childNodes.length;\n this.style.display = !hasChildren && this.hideWhenEmpty ? 'none' : '';\n });\n }\n}\n\nconst { host } = {\n host: { selector: () => ':host' }\n}\n\nexport const TextClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n hostDirection: { selector: () => ':host', property: 'direction' },\n fontSize: {},\n textColor: [\n { property: 'color' }\n ],\n textLineHeight: { property: 'line-height' },\n textLetterSpacing: { property: 'letter-spacing' },\n textShadow: {},\n textAlign: {},\n textTransform: {},\n fontFamily: {},\n fontStyle: {},\n fontWeight: {},\n borderWidth: {},\n borderStyle: {},\n borderColor: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n)(RawText);\n"],"names":["customElements","define","componentName","RawText","baseSelector","constructor","super","this","attachShadow","mode","innerHTML","hideWhenEmpty","getAttribute","init","hasChildren","childNodes","length","style","display","host","selector","TextClass","mappings","hostWidth","property","hostDirection","fontSize","textColor","textLineHeight","textLetterSpacing","textShadow","textAlign","textTransform","fontFamily","fontStyle","fontWeight","borderWidth","borderStyle","borderColor"],"sourceRoot":""}
1
+ {"version":3,"file":"descope-text.js","mappings":"gNAEAA,eAAeC,OAAO,IAAe,I,2FCW9B,MAAMC,GAAgB,QAAiB,QAE9C,MAAMC,WAAgB,QAAgB,CACpCD,gBACAE,aAAc,kBAEd,WAAAC,GACEC,QAEAC,KAAKC,aAAa,CAAEC,KAAM,SAAUC,UAAY,iDAIhD,QAAY,iLASTH,KACL,CAEA,iBAAII,GACF,MAAgD,SAAzCJ,KAAKK,aAAa,kBAC3B,CAEA,IAAAC,GACEP,MAAMO,QAEN,QAAgBN,MAAM,KACpB,MAAMO,IAAgBP,KAAKQ,WAAWC,OACtCT,KAAKU,MAAMC,SAAWJ,GAAeP,KAAKI,cAAgB,OAAS,EAAE,GAEzE,EAGF,MAAM,KAAEQ,GAAS,CACfA,KAAM,CAAEC,SAAU,IAAM,UAGbC,GAAY,SACvB,QAAiB,CACfC,SAAU,CACRC,UAAW,IAAKJ,EAAMK,SAAU,SAChCC,cAAe,IAAKN,EAAMK,SAAU,aACpCE,SAAU,CAAC,EACXC,UAAW,CACT,CAAEH,SAAU,UAEdI,eAAgB,CAAEJ,SAAU,eAC5BK,kBAAmB,CAAEL,SAAU,kBAC/BM,WAAY,CAAC,EACbC,UAAW,CAAC,EACZC,cAAe,CAAC,EAChBC,WAAY,CAAC,EACbC,UAAW,CAAC,EACZC,WAAY,CAAC,EACbC,YAAa,CAAC,EACdC,YAAa,CAAC,EACdC,YAAa,CAAC,KAGlB,KACA,KAvBuB,CAwBvBnC,E","sources":["webpack://@descope/web-components-ui/../components/descope-text/src/component/index.js","webpack://@descope/web-components-ui/../components/descope-text/src/component/TextClass.js"],"sourcesContent":["import { componentName, TextClass } from './TextClass';\n\ncustomElements.define(componentName, TextClass);\n\nexport { TextClass, componentName };\n","import {\n createStyleMixin,\n draggableMixin,\n componentNameValidationMixin,\n} from '@descope-ui/common/components-mixins';\nimport { compose } from '@descope-ui/common/utils';\nimport {\n getComponentName,\n injectStyle,\n observeChildren,\n} from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\n\nexport const componentName = getComponentName('text');\n\nclass RawText extends createBaseClass({\n componentName,\n baseSelector: ':host > slot',\n}) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <slot part=\"text-wrapper\"></slot>\n `;\n\n injectStyle(`\n :host {\n display: inline-block;\n line-height: 1em;\n }\n :host > slot {\n width: 100%;\n display: inline-block;\n }\n `, this);\n }\n\n get hideWhenEmpty() {\n return this.getAttribute('hide-when-empty') === 'true';\n }\n\n init() {\n super.init();\n\n observeChildren(this, () => {\n const hasChildren = !!this.childNodes.length;\n this.style.display = !hasChildren && this.hideWhenEmpty ? 'none' : '';\n });\n }\n}\n\nconst { host } = {\n host: { selector: () => ':host' }\n}\n\nexport const TextClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n fontSize: {},\n textColor: [\n { property: 'color' }\n ],\n textLineHeight: { property: 'line-height' },\n textLetterSpacing: { property: 'letter-spacing' },\n textShadow: {},\n textAlign: {},\n textTransform: {},\n fontFamily: {},\n fontStyle: {},\n fontWeight: {},\n borderWidth: {},\n borderStyle: {},\n borderColor: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n)(RawText);\n"],"names":["customElements","define","componentName","RawText","baseSelector","constructor","super","this","attachShadow","mode","innerHTML","hideWhenEmpty","getAttribute","init","hasChildren","childNodes","length","style","display","host","selector","TextClass","mappings","hostWidth","property","hostDirection","fontSize","textColor","textLineHeight","textLetterSpacing","textShadow","textAlign","textTransform","fontFamily","fontStyle","fontWeight","borderWidth","borderStyle","borderColor"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[230,1202,1239,6724],{6107:(t,e,n)=>{"use strict";n.r(e),n.d(e,{ThirdPartyAppLogoClass:()=>y});var s=n(25964),r=n(81365),i=n(9696),o=n(97810),a=n(79365),l=n(98538),c=n(59410),p=n(45447),d=n.n(p);const h=(0,o.xE)("third-party-app-logo");class g extends((0,r.q)({componentName:h,baseSelector:".wrapper"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML=`\n\t\t\t<div class="wrapper">\n <div class="third-party-app-logo-wrapper">\n <div class="third-party-app-logo"></div>\n </div>\n <div class="arrows">\n <descope-icon src="${d()}"></descope-icon>\n </div>\n <div class="company-logo-wrapper">\n <descope-logo st-height="100%"></descope-logo>\n </div>\n </div>\n\t\t\t`,(0,s.fz)('\n :host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\t\t\t\t:host([draggable="true"]) > div {\n\t\t\t\t\tpointer-events: none\n\t\t\t\t}\n\n .wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n min-width: max-content;\n }\n\n\t\t\t\t.third-party-app-logo {\n flex-shrink: 0;\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\tmax-width: 100%;\n\t\t\t\t\tmax-height: 100%;\n\t\t\t\t\tobject-fit: contain;\n\t\t\t\t}\n\n .company-logo-wrapper, .third-party-app-logo-wrapper {\n flex-shrink: 0;\n display: inline-flex;\n }\n\n .company-logo-wrapper {\n justify-content: flex-end;\n }\n\n .third-party-app-logo-wrapper {\n justify-content: flex-start;\n }\n\n .arrows {\n flex-shrink: 0;\n display: flex;\n }\n ',this)}}const m=">.company-logo-wrapper",u=">.third-party-app-logo-wrapper",y=(0,i.Zz)((0,a.RF)({mappings:{logoMaxHeight:[{selector:m,property:"height"},{selector:u,property:"height"}],logoMaxWidth:[{selector:m,property:"max-width"},{selector:u,property:"max-width"}],thirdPartyAppLogo:{selector:()=>".third-party-app-logo",property:"content",fallback:{}},companyLogoFallback:{selector:c.m.componentName,property:c.m.cssVarList.fallbackUrl},gap:{},arrowsColor:{selector:l.S.componentName,property:l.S.cssVarList.fill}}}),a.VO,a.tQ)(g);n(56737),n(86947),customElements.define(h,y)},6301:(t,e,n)=>{"use strict";n.r(e),n.d(e,{ImageClass:()=>h,componentName:()=>c});var s=n(88961),r=n(72270),i=n(63200),o=n(25964),a=n(25414);const l=t=>{const e=a.A.sanitize(t,{USE_PROFILES:{svg:!0,svgFilters:!0},ADD_TAGS:["image"],FORBID_TAGS:["defs"]});return(new DOMParser).parseFromString(e,"image/svg+xml").querySelector("svg")},c=(0,o.xE)("image"),p=["src","src-dark"];class d extends((0,r.qu)({componentName:c,baseSelector:"slot"})){static get observedAttributes(){return p}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n\t\t<slot></slot>\n\t",(0,o.fz)("\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n :host > slot {\n width: 100%;\n height: 100%;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tdisplay: flex;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\n ::slotted(*) {\n width: 100%;\n\t\t\t}\n\n .hidden {\n display: none;\n }\n ",this)}init(){super.init?.(),this.toggleVisibility(this.src)}onThemeChange(){this.renderImage()}toggleVisibility(t){t?this.classList.remove("hidden"):this.classList.add("hidden")}get altText(){return this.getAttribute("alt")||""}get legacySrc(){return this.getAttribute("src")}get themeSrc(){return this.getAttribute(`src-${this.currentThemeName}`)}get src(){return this.themeSrc||this.legacySrc}updateFillColor(t){[t,...t.querySelectorAll("*[fill]")].forEach((t=>{t.setAttribute("fill",`var(${h.cssVarList.fill}, ${t.getAttribute("fill")||"''"})`)}))}renderImage(){this.toggleVisibility(this.src),(async(t,e)=>{try{let n;if((t=>t.startsWith("data:image/svg+xml;base64,"))(t)){const e=atob(t.slice(26));n=l(e)}else if("svg"===(t=>{const e=t.match(/\.([0-9a-z]+)(?:[\\?#]|$)/i);return e?e[1]:null})(t)){const e=await fetch(t),s=await e.text();n=l(s)}else n=((t,e)=>{const n=document.createElement("img");return n.setAttribute("src",t),n.setAttribute("alt",e),n})(t,e);return n.style.setProperty("max-width","100%"),n.style.setProperty("max-height","100%"),n}catch{return null}})(this.src,this.altText).then((t=>{this.innerHTML="",t&&(this.updateFillColor(t),this.appendChild(t))}))}shouldRender(t){const e=this.getAttribute(t);return this.src===e}attributeChangedCallback(t,e,n){super.attributeChangedCallback?.(t,e,n),e!==n&&this.shouldRender(t)&&this.renderImage()}}const h=(0,i.Zz)((0,s.RF)({mappings:{fill:{},height:{selector:()=>":host"},width:{selector:()=>":host"}}}),s.VO,s.tQ)(d);customElements.define(c,h)},45447:t=>{t.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjkiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOSAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTkuMTQ0OTIgMTUuNjQ1TDcuNDk5OTIgMTRMMi44MzMyNSAxOC42NjY3TDcuNDk5OTIgMjMuMzMzM0w5LjE0NDkyIDIxLjY4ODNMNy4zMDE1OSAxOS44MzMzSDI0Ljk5OTlWMTcuNUg3LjMwMTU5TDkuMTQ0OTIgMTUuNjQ1WiIgZmlsbD0iIzYzNkM3NCIvPiA8cGF0aCBkPSJNMTkuODU1IDEyLjM1NTNMMjEuNSAxNC4wMDAzTDI2LjE2NjcgOS4zMzM2NkwyMS41IDQuNjY2OTlMMTkuODU1IDYuMzExOTlMMjEuNjk4MyA4LjE2Njk5SDRWMTAuNTAwM0gyMS42OTgzTDE5Ljg1NSAxMi4zNTUzWiIgZmlsbD0iIzYzNkM3NCIvPiA8L3N2Zz4g"},51491:(t,e,n)=>{"use strict";n.d(e,{I:()=>a});var s=n(25964),r=n(9696),i=n(79365),o=n(81365);const a=({componentName:t,varName:e,fallbackVarName:n})=>{let a;class l extends((0,o.q)({componentName:t,baseSelector:":host > div"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n\t\t\t<div></div>\n\t\t\t",(0,s.fz)(`\n\t\t\t\t:host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\t\t\t\t:host([draggable="true"]) > div {\n\t\t\t\t\tpointer-events: none\n\t\t\t\t}\n\t\t\t\t:host > div {\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\tmax-width: 100%;\n\t\t\t\t\tmax-height: 100%;\n\t\t\t\t\tobject-fit: contain;\n\t\t\t\t\tmargin: auto;\n\t\t\t\t\t${a}\n\t\t\t\t}\n `,this)}}const c=(0,r.Zz)((0,i.RF)({mappings:{height:{selector:()=>":host > div"},width:{selector:()=>":host > div"},[e]:{property:"content"},[n]:{property:"content"}}}),i.VO,i.tQ)(l);return a=`content: var(${c.cssVarList[e]}, var(${c.cssVarList[n]}));`,c}},56737:(t,e,n)=>{"use strict";n.r(e),n.d(e,{IconClass:()=>s.S,componentName:()=>s.T}),n(6301);var s=n(98538);customElements.define(s.T,s.S)},59410:(t,e,n)=>{"use strict";n.d(e,{T:()=>i,m:()=>o});var s=n(97810),r=n(51491);const i=(0,s.xE)("logo"),o=(0,r.I)({componentName:i,varName:"url",fallbackVarName:"fallbackUrl"})},86947:(t,e,n)=>{"use strict";n.r(e),n.d(e,{LogoClass:()=>s.m,componentName:()=>s.T});var s=n(59410);customElements.define(s.T,s.m)},98538:(t,e,n)=>{"use strict";n.d(e,{S:()=>a,T:()=>o});var s=n(88961),r=n(25964),i=n(63200);const o=(0,r.xE)("icon"),a=(0,i.Zz)((0,s.RF)({mappings:{fill:{}}}),s.VO,s.tQ)((0,s.tz)({slots:[],wrappedEleName:"descope-image",style:()=>"\n :host {\n display: inline-flex;\n }\n ",excludeAttrsSync:["tabindex","class"],componentName:o}))}}]);
1
+ (self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[230,1202,1239,6724],{6107:(t,e,n)=>{"use strict";n.r(e),n.d(e,{ThirdPartyAppLogoClass:()=>y});var s=n(25964),r=n(81365),i=n(9696),o=n(97810),a=n(79365),l=n(98538),c=n(59410),p=n(45447),d=n.n(p);const h=(0,o.xE)("third-party-app-logo");class g extends((0,r.q)({componentName:h,baseSelector:".wrapper"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML=`\n\t\t\t<div class="wrapper">\n <div class="third-party-app-logo-wrapper">\n <div class="third-party-app-logo"></div>\n </div>\n <div class="arrows">\n <descope-icon src="${d()}"></descope-icon>\n </div>\n <div class="company-logo-wrapper">\n <descope-logo st-height="100%"></descope-logo>\n </div>\n </div>\n\t\t\t`,(0,s.fz)('\n :host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\t\t\t\t:host([draggable="true"]) > div {\n\t\t\t\t\tpointer-events: none\n\t\t\t\t}\n\n .wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n min-width: max-content;\n }\n\n\t\t\t\t.third-party-app-logo {\n flex-shrink: 0;\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\tmax-width: 100%;\n\t\t\t\t\tmax-height: 100%;\n\t\t\t\t\tobject-fit: contain;\n\t\t\t\t}\n\n .company-logo-wrapper, .third-party-app-logo-wrapper {\n flex-shrink: 0;\n display: inline-flex;\n }\n\n .company-logo-wrapper {\n justify-content: flex-end;\n }\n\n .third-party-app-logo-wrapper {\n justify-content: flex-start;\n }\n\n .arrows {\n flex-shrink: 0;\n display: flex;\n }\n ',this)}}const m=">.company-logo-wrapper",u=">.third-party-app-logo-wrapper",y=(0,i.Zz)((0,a.RF)({mappings:{logoMaxHeight:[{selector:m,property:"height"},{selector:u,property:"height"}],logoMaxWidth:[{selector:m,property:"max-width"},{selector:u,property:"max-width"}],thirdPartyAppLogo:{selector:()=>".third-party-app-logo",property:"content",fallback:{}},companyLogoFallback:{selector:c.m.componentName,property:c.m.cssVarList.fallbackUrl},gap:{},arrowsColor:{selector:l.S.componentName,property:l.S.cssVarList.fill}}}),a.VO,a.tQ)(g);n(56737),n(86947),customElements.define(h,y)},8512:(t,e,n)=>{"use strict";n.d(e,{T:()=>l,q:()=>d});var s=n(88961),r=n(72270),i=n(63200),o=n(25964),a=n(18782);const l=(0,o.xE)("image"),c=["src","src-dark"];class p extends((0,r.qu)({componentName:l,baseSelector:"slot"})){static get observedAttributes(){return c}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n\t\t<slot></slot>\n\t",(0,o.fz)("\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n :host > slot {\n width: 100%;\n height: 100%;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tdisplay: flex;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\n ::slotted(*) {\n width: 100%;\n\t\t\t}\n\n .hidden {\n display: none;\n }\n ",this)}init(){super.init?.(),this.toggleVisibility(this.src)}onThemeChange(){this.renderImage()}toggleVisibility(t){t?this.classList.remove("hidden"):this.classList.add("hidden")}get altText(){return this.getAttribute("alt")||""}get legacySrc(){return this.getAttribute("src")}get themeSrc(){return this.getAttribute(`src-${this.currentThemeName}`)}get src(){return this.themeSrc||this.legacySrc}updateFillColor(t){[t,...t.querySelectorAll("*[fill]")].forEach((t=>{t.setAttribute("fill",`var(${d.cssVarList.fill}, ${t.getAttribute("fill")||"''"})`)}))}renderImage(){this.toggleVisibility(this.src),(0,a.m)(this.src,this.altText).then((t=>{this.innerHTML="",t&&(this.updateFillColor(t),this.appendChild(t))}))}shouldRender(t){const e=this.getAttribute(t);return this.src===e}attributeChangedCallback(t,e,n){super.attributeChangedCallback?.(t,e,n),e!==n&&this.shouldRender(t)&&this.renderImage()}}const d=(0,i.Zz)((0,s.RF)({mappings:{fill:{},height:{selector:()=>":host"},width:{selector:()=>":host"}}}),s.VO,s.tQ)(p)},18782:(t,e,n)=>{"use strict";n.d(e,{m:()=>i});var s=n(25414);const r=t=>{const e=s.A.sanitize(t,{USE_PROFILES:{svg:!0,svgFilters:!0},ADD_TAGS:["image"],FORBID_TAGS:["defs"]});return(new DOMParser).parseFromString(e,"image/svg+xml").querySelector("svg")},i=async(t,e)=>{try{let n;if((t=>t.startsWith("data:image/svg+xml;base64,"))(t)){const e=atob(t.slice(26));n=r(e)}else if("svg"===(t=>{const e=t.match(/\.([0-9a-z]+)(?:[\\?#]|$)/i);return e?e[1]:null})(t)){const e=await fetch(t),s=await e.text();n=r(s)}else n=((t,e)=>{const n=document.createElement("img");return n.setAttribute("src",t),n.setAttribute("alt",e),n})(t,e);return n.style.setProperty("max-width","100%"),n.style.setProperty("max-height","100%"),n}catch{return null}}},45447:t=>{t.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjkiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOSAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTkuMTQ0OTIgMTUuNjQ1TDcuNDk5OTIgMTRMMi44MzMyNSAxOC42NjY3TDcuNDk5OTIgMjMuMzMzM0w5LjE0NDkyIDIxLjY4ODNMNy4zMDE1OSAxOS44MzMzSDI0Ljk5OTlWMTcuNUg3LjMwMTU5TDkuMTQ0OTIgMTUuNjQ1WiIgZmlsbD0iIzYzNkM3NCIvPiA8cGF0aCBkPSJNMTkuODU1IDEyLjM1NTNMMjEuNSAxNC4wMDAzTDI2LjE2NjcgOS4zMzM2NkwyMS41IDQuNjY2OTlMMTkuODU1IDYuMzExOTlMMjEuNjk4MyA4LjE2Njk5SDRWMTAuNTAwM0gyMS42OTgzTDE5Ljg1NSAxMi4zNTUzWiIgZmlsbD0iIzYzNkM3NCIvPiA8L3N2Zz4g"},51491:(t,e,n)=>{"use strict";n.d(e,{I:()=>a});var s=n(25964),r=n(9696),i=n(79365),o=n(81365);const a=({componentName:t,varName:e,fallbackVarName:n})=>{let a;class l extends((0,o.q)({componentName:t,baseSelector:":host > div"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n\t\t\t<div></div>\n\t\t\t",(0,s.fz)(`\n\t\t\t\t:host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\t\t\t\t:host([draggable="true"]) > div {\n\t\t\t\t\tpointer-events: none\n\t\t\t\t}\n\t\t\t\t:host > div {\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\tmax-width: 100%;\n\t\t\t\t\tmax-height: 100%;\n\t\t\t\t\tobject-fit: contain;\n\t\t\t\t\tmargin: auto;\n\t\t\t\t\t${a}\n\t\t\t\t}\n `,this)}}const c=(0,r.Zz)((0,i.RF)({mappings:{height:{selector:()=>":host > div"},width:{selector:()=>":host > div"},[e]:{property:"content"},[n]:{property:"content"}}}),i.VO,i.tQ)(l);return a=`content: var(${c.cssVarList[e]}, var(${c.cssVarList[n]}));`,c}},53455:(t,e,n)=>{"use strict";n.r(e),n.d(e,{ImageClass:()=>s.q,componentName:()=>s.T});var s=n(8512);customElements.define(s.T,s.q)},56737:(t,e,n)=>{"use strict";n.r(e),n.d(e,{IconClass:()=>s.S,componentName:()=>s.T}),n(53455);var s=n(98538);customElements.define(s.T,s.S)},59410:(t,e,n)=>{"use strict";n.d(e,{T:()=>i,m:()=>o});var s=n(97810),r=n(51491);const i=(0,s.xE)("logo"),o=(0,r.I)({componentName:i,varName:"url",fallbackVarName:"fallbackUrl"})},86947:(t,e,n)=>{"use strict";n.r(e),n.d(e,{LogoClass:()=>s.m,componentName:()=>s.T});var s=n(59410);customElements.define(s.T,s.m)},98538:(t,e,n)=>{"use strict";n.d(e,{S:()=>l,T:()=>a});var s=n(88961),r=n(25964),i=n(8512),o=n(63200);const a=(0,r.xE)("icon"),l=(0,o.Zz)((0,s.RF)({mappings:{fill:[{},{property:i.q.cssVarList.fill}]}}),s.VO,s.tQ)((0,s.tz)({slots:[],wrappedEleName:"descope-image",style:()=>"\n :host {\n display: inline-flex;\n }\n ",excludeAttrsSync:["tabindex","class"],componentName:a}))}}]);
2
2
  //# sourceMappingURL=descope-third-party-app-logo-index-js.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"descope-third-party-app-logo-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/./src/components/descope-third-party-app-logo/ThirdPartyAppLogoClass.js","webpack://@descope/web-components-ui/./src/components/descope-third-party-app-logo/index.js","webpack://@descope/web-components-ui/../components/descope-image/src/component/helpers.js","webpack://@descope/web-components-ui/../components/descope-image/src/component/ImageClass.js","webpack://@descope/web-components-ui/../components/descope-image/src/component/index.js","webpack://@descope/web-components-ui/./src/components/descope-third-party-app-logo/arrows.svg","webpack://@descope/web-components-ui/./src/baseClasses/createCssVarImageClass.js","webpack://@descope/web-components-ui/../components/descope-icon/src/component/index.js","webpack://@descope/web-components-ui/./src/components/descope-logo/LogoClass.js","webpack://@descope/web-components-ui/./src/components/descope-logo/index.js","webpack://@descope/web-components-ui/../components/descope-icon/src/component/IconClass.js"],"sourcesContent":["import { injectStyle } from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport { componentNameValidationMixin, createStyleMixin, draggableMixin } from '../../mixins';\nimport { IconClass } from '@descope-ui/descope-icon/class';\nimport { LogoClass } from '../descope-logo/LogoClass';\nimport arrowsImg from './arrows.svg';\n\nexport const componentName = getComponentName('third-party-app-logo');\nclass RawThirdPartyAppLogoClass extends createBaseClass({\n componentName,\n baseSelector: '.wrapper',\n}) {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t\t<div class=\"wrapper\">\n <div class=\"third-party-app-logo-wrapper\">\n <div class=\"third-party-app-logo\"></div>\n </div>\n <div class=\"arrows\">\n <descope-icon src=\"${arrowsImg}\"></descope-icon>\n </div>\n <div class=\"company-logo-wrapper\">\n <descope-logo st-height=\"100%\"></descope-logo>\n </div>\n </div>\n\t\t\t`;\n\n injectStyle(\n `\n :host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\t\t\t\t:host([draggable=\"true\"]) > div {\n\t\t\t\t\tpointer-events: none\n\t\t\t\t}\n\n .wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n min-width: max-content;\n }\n\n\t\t\t\t.third-party-app-logo {\n flex-shrink: 0;\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\tmax-width: 100%;\n\t\t\t\t\tmax-height: 100%;\n\t\t\t\t\tobject-fit: contain;\n\t\t\t\t}\n\n .company-logo-wrapper, .third-party-app-logo-wrapper {\n flex-shrink: 0;\n display: inline-flex;\n }\n\n .company-logo-wrapper {\n justify-content: flex-end;\n }\n\n .third-party-app-logo-wrapper {\n justify-content: flex-start;\n }\n\n .arrows {\n flex-shrink: 0;\n display: flex;\n }\n `,\n this\n );\n }\n}\n\nconst companyLogoWrapper = '>.company-logo-wrapper';\nconst thirdPartyAppLogoWrapper = '>.third-party-app-logo-wrapper';\n\nexport const ThirdPartyAppLogoClass = compose(\n createStyleMixin({\n mappings: {\n logoMaxHeight: [\n { selector: companyLogoWrapper, property: 'height' },\n { selector: thirdPartyAppLogoWrapper, property: 'height' },\n ],\n logoMaxWidth: [\n { selector: companyLogoWrapper, property: 'max-width' },\n { selector: thirdPartyAppLogoWrapper, property: 'max-width' },\n ],\n thirdPartyAppLogo: {\n selector: () => '.third-party-app-logo',\n property: 'content',\n fallback: {},\n },\n companyLogoFallback: {\n selector: LogoClass.componentName,\n property: LogoClass.cssVarList.fallbackUrl,\n },\n gap: {},\n arrowsColor: { selector: IconClass.componentName, property: IconClass.cssVarList.fill },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawThirdPartyAppLogoClass);\n","import { componentName, ThirdPartyAppLogoClass } from './ThirdPartyAppLogoClass';\nimport '@descope-ui/descope-icon';\nimport '../descope-logo';\n\ncustomElements.define(componentName, ThirdPartyAppLogoClass);\n\nexport { ThirdPartyAppLogoClass };\n","import DOMPurify from 'dompurify';\n\nconst getFileExtension = (path) => {\n const match = path.match(/\\.([0-9a-z]+)(?:[\\\\?#]|$)/i);\n return match ? match[1] : null;\n};\n\nconst base64Prefix = 'data:image/svg+xml;base64,';\n\nconst isBase64Svg = (src) => src.startsWith(base64Prefix);\n\nconst createImgEle = (src, altText) => {\n const ele = document.createElement('img');\n ele.setAttribute('src', src);\n ele.setAttribute('alt', altText);\n return ele;\n};\n\nconst createSvgEle = (text) => {\n // we want to purify the SVG to avoid XSS attacks\n const clean = DOMPurify.sanitize(text, {\n USE_PROFILES: { svg: true, svgFilters: true },\n // allow image to render\n ADD_TAGS: ['image'],\n // forbid interactiviy via `use` tags (which are sanitized by default)\n FORBID_TAGS: ['defs']\n });\n\n const parser = new DOMParser();\n const ele = parser\n .parseFromString(clean, 'image/svg+xml')\n .querySelector('svg');\n return ele;\n};\n\nexport const createImage = async (src, altText) => {\n try {\n let ele;\n if (isBase64Svg(src)) {\n // handle base64 source\n const svgXml = atob(src.slice(base64Prefix.length));\n ele = createSvgEle(svgXml);\n } else if (getFileExtension(src) === 'svg') {\n // handle urls\n const fetchedSrc = await fetch(src);\n const text = await fetchedSrc.text();\n ele = createSvgEle(text);\n } else {\n // handle binary\n ele = createImgEle(src, altText);\n }\n\n ele.style.setProperty('max-width', '100%');\n ele.style.setProperty('max-height', '100%');\n\n return ele;\n } catch {\n return null;\n }\n};\n","/* eslint-disable no-use-before-define */\nimport {\n createStyleMixin,\n draggableMixin,\n componentNameValidationMixin,\n} from '@descope-ui/common/components-mixins';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\nimport { compose } from '@descope-ui/common/utils';\nimport { getComponentName } from '@descope-ui/common/components-helpers';\nimport { createImage } from './helpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('image');\n\nconst srcAttrs = ['src', 'src-dark'];\n\nclass RawImage extends createBaseClass({\n componentName,\n baseSelector: 'slot',\n}) {\n static get observedAttributes() {\n return srcAttrs;\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<slot></slot>\n\t`;\n\n injectStyle(\n `\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n :host > slot {\n width: 100%;\n height: 100%;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tdisplay: flex;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\n ::slotted(*) {\n width: 100%;\n\t\t\t}\n\n .hidden {\n display: none;\n }\n `,\n this,\n );\n }\n\n init() {\n super.init?.();\n this.toggleVisibility(this.src);\n }\n\n onThemeChange() {\n this.renderImage();\n }\n\n toggleVisibility(isVisible) {\n if (isVisible) {\n this.classList.remove('hidden');\n } else {\n this.classList.add('hidden');\n }\n }\n\n get altText() {\n return this.getAttribute('alt') || '';\n }\n\n get legacySrc() {\n return this.getAttribute('src');\n }\n\n get themeSrc() {\n return this.getAttribute(`src-${this.currentThemeName}`);\n }\n\n get src() {\n return this.themeSrc || this.legacySrc;\n }\n\n // in order to fill an SVG with `currentColor` override all of its `fill` and `path` nodes\n // with the value from the `st-fill` attribute\n // eslint-disable-next-line class-methods-use-this\n updateFillColor(node) {\n // set fill to root node and all its relevant selectors\n const elementsToReplace = [node, ...node.querySelectorAll('*[fill]')];\n\n elementsToReplace.forEach((ele) => {\n ele.setAttribute(\n 'fill',\n `var(${ImageClass.cssVarList.fill}, ${ele.getAttribute('fill') || \"''\"})`,\n );\n });\n }\n\n renderImage() {\n this.toggleVisibility(this.src);\n\n createImage(this.src, this.altText).then((res) => {\n this.innerHTML = '';\n if (res) {\n this.updateFillColor(res);\n this.appendChild(res);\n }\n });\n }\n\n // render only when src attribute matches current theme\n shouldRender(src) {\n const srcVal = this.getAttribute(src);\n return this.src === srcVal;\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (oldValue === newValue) return;\n\n if (this.shouldRender(attrName)) {\n this.renderImage();\n }\n }\n}\n\nexport const ImageClass = compose(\n createStyleMixin({\n mappings: {\n fill: {},\n height: { selector: () => ':host' },\n width: { selector: () => ':host' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n)(RawImage);\n","import { componentName, ImageClass } from './ImageClass';\n\ncustomElements.define(componentName, ImageClass);\n\nexport { ImageClass, componentName };\n","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjkiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOSAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTkuMTQ0OTIgMTUuNjQ1TDcuNDk5OTIgMTRMMi44MzMyNSAxOC42NjY3TDcuNDk5OTIgMjMuMzMzM0w5LjE0NDkyIDIxLjY4ODNMNy4zMDE1OSAxOS44MzMzSDI0Ljk5OTlWMTcuNUg3LjMwMTU5TDkuMTQ0OTIgMTUuNjQ1WiIgZmlsbD0iIzYzNkM3NCIvPiA8cGF0aCBkPSJNMTkuODU1IDEyLjM1NTNMMjEuNSAxNC4wMDAzTDI2LjE2NjcgOS4zMzM2NkwyMS41IDQuNjY2OTlMMTkuODU1IDYuMzExOTlMMjEuNjk4MyA4LjE2Njk5SDRWMTAuNTAwM0gyMS42OTgzTDE5Ljg1NSAxMi4zNTUzWiIgZmlsbD0iIzYzNkM3NCIvPiA8L3N2Zz4g\"","import { injectStyle } from '@descope-ui/common/components-helpers';\nimport { compose } from '../helpers';\nimport { componentNameValidationMixin, createStyleMixin, draggableMixin } from '../mixins';\nimport { createBaseClass } from './createBaseClass';\n\nexport const createCssVarImageClass = ({ componentName, varName, fallbackVarName }) => {\n let style;\n const getContent = () => style;\n\n class RawCssVarImageClass extends createBaseClass({\n componentName,\n baseSelector: ':host > div',\n }) {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t\t<div></div>\n\t\t\t`;\n\n injectStyle(\n `\n\t\t\t\t:host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\t\t\t\t:host([draggable=\"true\"]) > div {\n\t\t\t\t\tpointer-events: none\n\t\t\t\t}\n\t\t\t\t:host > div {\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\tmax-width: 100%;\n\t\t\t\t\tmax-height: 100%;\n\t\t\t\t\tobject-fit: contain;\n\t\t\t\t\tmargin: auto;\n\t\t\t\t\t${getContent()}\n\t\t\t\t}\n `,\n this\n );\n }\n }\n\n const CssVarImageClass = compose(\n createStyleMixin({\n mappings: {\n height: { selector: () => ':host > div' },\n width: { selector: () => ':host > div' },\n [varName]: { property: 'content' },\n [fallbackVarName]: { property: 'content' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n )(RawCssVarImageClass);\n\n style = `content: var(${CssVarImageClass.cssVarList[varName]}, var(${CssVarImageClass.cssVarList[fallbackVarName]}));`;\n\n return CssVarImageClass;\n};\n","import '@descope-ui/descope-image';\n\nimport { componentName, IconClass } from './IconClass';\n\ncustomElements.define(componentName, IconClass);\n\nexport { IconClass, componentName };\n","import { getComponentName } from '../../helpers/componentHelpers';\nimport { createCssVarImageClass } from '../../baseClasses/createCssVarImageClass';\n\nexport const componentName = getComponentName('logo');\n\nexport const LogoClass = createCssVarImageClass({\n componentName,\n varName: 'url',\n fallbackVarName: 'fallbackUrl',\n});\n","import { componentName, LogoClass } from './LogoClass';\n\ncustomElements.define(componentName, LogoClass);\n\nexport { LogoClass, componentName };\n","import {\n componentNameValidationMixin,\n createProxy,\n createStyleMixin,\n draggableMixin,\n} from '@descope-ui/common/components-mixins';\nimport { getComponentName } from '@descope-ui/common/components-helpers';\nimport { compose } from '@descope-ui/common/utils';\n\nexport const componentName = getComponentName('icon');\n\nexport const IconClass = compose(\n createStyleMixin({\n mappings: {\n fill: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'descope-image',\n style: () => `\n :host {\n display: inline-flex;\n }\n `,\n excludeAttrsSync: ['tabindex', 'class'],\n componentName,\n }),\n);\n"],"names":["componentName","RawThirdPartyAppLogoClass","createBaseClass","baseSelector","constructor","super","this","attachShadow","mode","innerHTML","companyLogoWrapper","thirdPartyAppLogoWrapper","ThirdPartyAppLogoClass","mappings","logoMaxHeight","selector","property","logoMaxWidth","thirdPartyAppLogo","fallback","companyLogoFallback","LogoClass","cssVarList","fallbackUrl","gap","arrowsColor","IconClass","fill","customElements","define","createSvgEle","text","clean","sanitize","USE_PROFILES","svg","svgFilters","ADD_TAGS","FORBID_TAGS","DOMParser","parseFromString","querySelector","srcAttrs","RawImage","observedAttributes","init","toggleVisibility","src","onThemeChange","renderImage","isVisible","classList","remove","add","altText","getAttribute","legacySrc","themeSrc","currentThemeName","updateFillColor","node","querySelectorAll","forEach","ele","setAttribute","ImageClass","async","startsWith","isBase64Svg","svgXml","atob","slice","base64Prefix","path","match","getFileExtension","fetchedSrc","fetch","document","createElement","createImgEle","style","setProperty","createImage","then","res","appendChild","shouldRender","srcVal","attributeChangedCallback","attrName","oldValue","newValue","height","width","module","exports","createCssVarImageClass","varName","fallbackVarName","RawCssVarImageClass","CssVarImageClass","slots","wrappedEleName","excludeAttrsSync"],"sourceRoot":""}
1
+ {"version":3,"file":"descope-third-party-app-logo-index-js.js","mappings":"uSASO,MAAMA,GAAgB,QAAiB,wBAC9C,MAAMC,WAAkC,EAAAC,EAAA,GAAgB,CACtDF,gBACAG,aAAc,cAEd,WAAAC,GACEC,QACAC,KAAKC,aAAa,CAAEC,KAAM,SAAUC,UAAY,qNAMrB,sLAQ3B,QACE,w5BAyCAH,KAEJ,EAGF,MAAMI,EAAqB,yBACrBC,EAA2B,iCAEpBC,GAAyB,SACpC,QAAiB,CACfC,SAAU,CACRC,cAAe,CACb,CAAEC,SAAUL,EAAoBM,SAAU,UAC1C,CAAED,SAAUJ,EAA0BK,SAAU,WAElDC,aAAc,CACZ,CAAEF,SAAUL,EAAoBM,SAAU,aAC1C,CAAED,SAAUJ,EAA0BK,SAAU,cAElDE,kBAAmB,CACjBH,SAAU,IAAM,wBAChBC,SAAU,UACVG,SAAU,CAAC,GAEbC,oBAAqB,CACnBL,SAAUM,EAAA,EAAUrB,cACpBgB,SAAUK,EAAA,EAAUC,WAAWC,aAEjCC,IAAK,CAAC,EACNC,YAAa,CAAEV,SAAUW,EAAA,EAAU1B,cAAegB,SAAUU,EAAA,EAAUJ,WAAWK,SAGrF,KACA,KAzBoC,CA0BpC1B,G,kBCtGF2B,eAAeC,OAAO7B,EAAeY,E,kHCQ9B,MAAMZ,GAAgB,QAAiB,SAExC8B,EAAW,CAAC,MAAO,YAEzB,MAAMC,WAAiB,QAAgB,CACrC/B,gBACAG,aAAc,UAEd,6BAAW6B,GACT,OAAOF,CACT,CAEA,WAAA1B,GACEC,QAEAC,KAAKC,aAAa,CAAEC,KAAM,SAAUC,UAAY,2BAIhD,QACE,6UAoBAH,KAEJ,CAEA,IAAA2B,GACE5B,MAAM4B,SACN3B,KAAK4B,iBAAiB5B,KAAK6B,IAC7B,CAEA,aAAAC,GACE9B,KAAK+B,aACP,CAEA,gBAAAH,CAAiBI,GACXA,EACFhC,KAAKiC,UAAUC,OAAO,UAEtBlC,KAAKiC,UAAUE,IAAI,SAEvB,CAEA,WAAIC,GACF,OAAOpC,KAAKqC,aAAa,QAAU,EACrC,CAEA,aAAIC,GACF,OAAOtC,KAAKqC,aAAa,MAC3B,CAEA,YAAIE,GACF,OAAOvC,KAAKqC,aAAa,OAAOrC,KAAKwC,mBACvC,CAEA,OAAIX,GACF,OAAO7B,KAAKuC,UAAYvC,KAAKsC,SAC/B,CAKA,eAAAG,CAAgBC,GAEY,CAACA,KAASA,EAAKC,iBAAiB,YAExCC,SAASC,IACzBA,EAAIC,aACF,OACA,OAAOC,EAAW/B,WAAWK,SAASwB,EAAIR,aAAa,SAAW,QACnE,GAEL,CAEA,WAAAN,GACE/B,KAAK4B,iBAAiB5B,KAAK6B,MAE3B,OAAY7B,KAAK6B,IAAK7B,KAAKoC,SAASY,MAAMC,IACxCjD,KAAKG,UAAY,GACb8C,IACFjD,KAAKyC,gBAAgBQ,GACrBjD,KAAKkD,YAAYD,GACnB,GAEJ,CAGA,YAAAE,CAAatB,GACX,MAAMuB,EAASpD,KAAKqC,aAAaR,GACjC,OAAO7B,KAAK6B,MAAQuB,CACtB,CAEA,wBAAAC,CAAyBC,EAAUC,EAAUC,GAC3CzD,MAAMsD,2BAA2BC,EAAUC,EAAUC,GAEjDD,IAAaC,GAEbxD,KAAKmD,aAAaG,IACpBtD,KAAK+B,aAET,EAGK,MAAMgB,GAAa,SACxB,QAAiB,CACfxC,SAAU,CACRc,KAAM,CAAC,EACPoC,OAAQ,CAAEhD,SAAU,IAAM,SAC1BiD,MAAO,CAAEjD,SAAU,IAAM,YAG7B,KACA,KATwB,CAUxBgB,E,+DC7IF,MAgBMkC,EAAgBC,IAEpB,MAAMC,EAAQ,IAAUC,SAASF,EAAM,CACrCG,aAAc,CAAEC,KAAK,EAAMC,YAAY,GAEvCC,SAAU,CAAC,SAEXC,YAAa,CAAC,UAOhB,OAJe,IAAIC,WAEhBC,gBAAgBR,EAAO,iBACvBS,cAAc,MACP,EAGCC,EAAcC,MAAO3C,EAAKO,KACrC,IACE,IAAIS,EACJ,GA7BgB,CAAChB,GAAQA,EAAI4C,WAFZ,8BA+BbC,CAAY7C,GAAM,CAEpB,MAAM8C,EAASC,KAAK/C,EAAIgD,MAAMC,KAC9BjC,EAAMc,EAAagB,EACrB,MAAO,GAA8B,QAxChB,CAACI,IACxB,MAAMC,EAAQD,EAAKC,MAAM,8BACzB,OAAOA,EAAQA,EAAM,GAAK,IAAI,EAsCjBC,CAAiBpD,GAAgB,CAE1C,MAAMqD,QAAmBC,MAAMtD,GACzB+B,QAAasB,EAAWtB,OAC9Bf,EAAMc,EAAaC,EACrB,MAEEf,EAtCe,EAAChB,EAAKO,KACzB,MAAMS,EAAMuC,SAASC,cAAc,OAGnC,OAFAxC,EAAIC,aAAa,MAAOjB,GACxBgB,EAAIC,aAAa,MAAOV,GACjBS,CAAG,EAkCAyC,CAAazD,EAAKO,GAM1B,OAHAS,EAAI0C,MAAMC,YAAY,YAAa,QACnC3C,EAAI0C,MAAMC,YAAY,aAAc,QAE7B3C,CACT,CAAE,MACA,OAAO,IACT,E,YC1DF4C,EAAOC,QAAU,4jB,+FCKV,MAAMC,EAAyB,EAAGjG,gBAAekG,UAASC,sBAC/D,IAAIN,EAGJ,MAAMO,WAA4B,OAAgB,CAChDpG,gBACAG,aAAc,iBAEd,WAAAC,GACEC,QACAC,KAAKC,aAAa,CAAEC,KAAM,SAAUC,UAAY,+BAIhD,QACE,6UAbmBoF,yBA6BnBvF,KAEJ,EAGF,MAAM+F,GAAmB,SACvB,QAAiB,CACfxF,SAAU,CACRkD,OAAQ,CAAEhD,SAAU,IAAM,eAC1BiD,MAAO,CAAEjD,SAAU,IAAM,eACzB,CAACmF,GAAU,CAAElF,SAAU,WACvB,CAACmF,GAAkB,CAAEnF,SAAU,cAGnC,KACA,KAVuB,CAWvBoF,GAIF,OAFAP,EAAQ,gBAAgBQ,EAAiB/E,WAAW4E,WAAiBG,EAAiB/E,WAAW6E,QAE1FE,CAAgB,C,sGCtDzBzE,eAAeC,OAAO,IAAe,I,+GCErCD,eAAeC,OAAO,IAAe,I,kFCD9B,MAAM7B,GAAgB,QAAiB,QAEjCqB,GAAY,OAAuB,CAC9CrB,gBACAkG,QAAS,MACTC,gBAAiB,e,sGCNnBvE,eAAeC,OAAO,IAAe,I,uGCQ9B,MAAM7B,GAAgB,QAAiB,QAEjC0B,GAAY,SACvB,QAAiB,CACfb,SAAU,CACRc,KAAM,CAAC,CAAC,EAAG,CAAEX,SAAU,IAAWM,WAAWK,UAGjD,KACA,KAPuB,EASvB,QAAY,CACV2E,MAAO,GACPC,eAAgB,gBAChBV,MAAO,IAAM,kEAKbW,iBAAkB,CAAC,WAAY,SAC/BxG,kB","sources":["webpack://@descope/web-components-ui/./src/components/descope-third-party-app-logo/ThirdPartyAppLogoClass.js","webpack://@descope/web-components-ui/./src/components/descope-third-party-app-logo/index.js","webpack://@descope/web-components-ui/../components/descope-image/src/component/ImageClass.js","webpack://@descope/web-components-ui/../components/descope-image/src/component/helpers.js","webpack://@descope/web-components-ui/./src/components/descope-third-party-app-logo/arrows.svg","webpack://@descope/web-components-ui/./src/baseClasses/createCssVarImageClass.js","webpack://@descope/web-components-ui/../components/descope-image/src/component/index.js","webpack://@descope/web-components-ui/../components/descope-icon/src/component/index.js","webpack://@descope/web-components-ui/./src/components/descope-logo/LogoClass.js","webpack://@descope/web-components-ui/./src/components/descope-logo/index.js","webpack://@descope/web-components-ui/../components/descope-icon/src/component/IconClass.js"],"sourcesContent":["import { injectStyle } from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport { componentNameValidationMixin, createStyleMixin, draggableMixin } from '../../mixins';\nimport { IconClass } from '@descope-ui/descope-icon/class';\nimport { LogoClass } from '../descope-logo/LogoClass';\nimport arrowsImg from './arrows.svg';\n\nexport const componentName = getComponentName('third-party-app-logo');\nclass RawThirdPartyAppLogoClass extends createBaseClass({\n componentName,\n baseSelector: '.wrapper',\n}) {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t\t<div class=\"wrapper\">\n <div class=\"third-party-app-logo-wrapper\">\n <div class=\"third-party-app-logo\"></div>\n </div>\n <div class=\"arrows\">\n <descope-icon src=\"${arrowsImg}\"></descope-icon>\n </div>\n <div class=\"company-logo-wrapper\">\n <descope-logo st-height=\"100%\"></descope-logo>\n </div>\n </div>\n\t\t\t`;\n\n injectStyle(\n `\n :host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\t\t\t\t:host([draggable=\"true\"]) > div {\n\t\t\t\t\tpointer-events: none\n\t\t\t\t}\n\n .wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n min-width: max-content;\n }\n\n\t\t\t\t.third-party-app-logo {\n flex-shrink: 0;\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\tmax-width: 100%;\n\t\t\t\t\tmax-height: 100%;\n\t\t\t\t\tobject-fit: contain;\n\t\t\t\t}\n\n .company-logo-wrapper, .third-party-app-logo-wrapper {\n flex-shrink: 0;\n display: inline-flex;\n }\n\n .company-logo-wrapper {\n justify-content: flex-end;\n }\n\n .third-party-app-logo-wrapper {\n justify-content: flex-start;\n }\n\n .arrows {\n flex-shrink: 0;\n display: flex;\n }\n `,\n this\n );\n }\n}\n\nconst companyLogoWrapper = '>.company-logo-wrapper';\nconst thirdPartyAppLogoWrapper = '>.third-party-app-logo-wrapper';\n\nexport const ThirdPartyAppLogoClass = compose(\n createStyleMixin({\n mappings: {\n logoMaxHeight: [\n { selector: companyLogoWrapper, property: 'height' },\n { selector: thirdPartyAppLogoWrapper, property: 'height' },\n ],\n logoMaxWidth: [\n { selector: companyLogoWrapper, property: 'max-width' },\n { selector: thirdPartyAppLogoWrapper, property: 'max-width' },\n ],\n thirdPartyAppLogo: {\n selector: () => '.third-party-app-logo',\n property: 'content',\n fallback: {},\n },\n companyLogoFallback: {\n selector: LogoClass.componentName,\n property: LogoClass.cssVarList.fallbackUrl,\n },\n gap: {},\n arrowsColor: { selector: IconClass.componentName, property: IconClass.cssVarList.fill },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawThirdPartyAppLogoClass);\n","import { componentName, ThirdPartyAppLogoClass } from './ThirdPartyAppLogoClass';\nimport '@descope-ui/descope-icon';\nimport '../descope-logo';\n\ncustomElements.define(componentName, ThirdPartyAppLogoClass);\n\nexport { ThirdPartyAppLogoClass };\n","/* eslint-disable no-use-before-define */\nimport {\n createStyleMixin,\n draggableMixin,\n componentNameValidationMixin,\n} from '@descope-ui/common/components-mixins';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\nimport { compose } from '@descope-ui/common/utils';\nimport { getComponentName } from '@descope-ui/common/components-helpers';\nimport { createImage } from './helpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('image');\n\nconst srcAttrs = ['src', 'src-dark'];\n\nclass RawImage extends createBaseClass({\n componentName,\n baseSelector: 'slot',\n}) {\n static get observedAttributes() {\n return srcAttrs;\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<slot></slot>\n\t`;\n\n injectStyle(\n `\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n :host > slot {\n width: 100%;\n height: 100%;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tdisplay: flex;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\n ::slotted(*) {\n width: 100%;\n\t\t\t}\n\n .hidden {\n display: none;\n }\n `,\n this,\n );\n }\n\n init() {\n super.init?.();\n this.toggleVisibility(this.src);\n }\n\n onThemeChange() {\n this.renderImage();\n }\n\n toggleVisibility(isVisible) {\n if (isVisible) {\n this.classList.remove('hidden');\n } else {\n this.classList.add('hidden');\n }\n }\n\n get altText() {\n return this.getAttribute('alt') || '';\n }\n\n get legacySrc() {\n return this.getAttribute('src');\n }\n\n get themeSrc() {\n return this.getAttribute(`src-${this.currentThemeName}`);\n }\n\n get src() {\n return this.themeSrc || this.legacySrc;\n }\n\n // in order to fill an SVG with `currentColor` override all of its `fill` and `path` nodes\n // with the value from the `st-fill` attribute\n // eslint-disable-next-line class-methods-use-this\n updateFillColor(node) {\n // set fill to root node and all its relevant selectors\n const elementsToReplace = [node, ...node.querySelectorAll('*[fill]')];\n\n elementsToReplace.forEach((ele) => {\n ele.setAttribute(\n 'fill',\n `var(${ImageClass.cssVarList.fill}, ${ele.getAttribute('fill') || \"''\"})`,\n );\n });\n }\n\n renderImage() {\n this.toggleVisibility(this.src);\n\n createImage(this.src, this.altText).then((res) => {\n this.innerHTML = '';\n if (res) {\n this.updateFillColor(res);\n this.appendChild(res);\n }\n });\n }\n\n // render only when src attribute matches current theme\n shouldRender(src) {\n const srcVal = this.getAttribute(src);\n return this.src === srcVal;\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (oldValue === newValue) return;\n\n if (this.shouldRender(attrName)) {\n this.renderImage();\n }\n }\n}\n\nexport const ImageClass = compose(\n createStyleMixin({\n mappings: {\n fill: {},\n height: { selector: () => ':host' },\n width: { selector: () => ':host' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n)(RawImage);\n","import DOMPurify from 'dompurify';\n\nconst getFileExtension = (path) => {\n const match = path.match(/\\.([0-9a-z]+)(?:[\\\\?#]|$)/i);\n return match ? match[1] : null;\n};\n\nconst base64Prefix = 'data:image/svg+xml;base64,';\n\nconst isBase64Svg = (src) => src.startsWith(base64Prefix);\n\nconst createImgEle = (src, altText) => {\n const ele = document.createElement('img');\n ele.setAttribute('src', src);\n ele.setAttribute('alt', altText);\n return ele;\n};\n\nconst createSvgEle = (text) => {\n // we want to purify the SVG to avoid XSS attacks\n const clean = DOMPurify.sanitize(text, {\n USE_PROFILES: { svg: true, svgFilters: true },\n // allow image to render\n ADD_TAGS: ['image'],\n // forbid interactiviy via `use` tags (which are sanitized by default)\n FORBID_TAGS: ['defs']\n });\n\n const parser = new DOMParser();\n const ele = parser\n .parseFromString(clean, 'image/svg+xml')\n .querySelector('svg');\n return ele;\n};\n\nexport const createImage = async (src, altText) => {\n try {\n let ele;\n if (isBase64Svg(src)) {\n // handle base64 source\n const svgXml = atob(src.slice(base64Prefix.length));\n ele = createSvgEle(svgXml);\n } else if (getFileExtension(src) === 'svg') {\n // handle urls\n const fetchedSrc = await fetch(src);\n const text = await fetchedSrc.text();\n ele = createSvgEle(text);\n } else {\n // handle binary\n ele = createImgEle(src, altText);\n }\n\n ele.style.setProperty('max-width', '100%');\n ele.style.setProperty('max-height', '100%');\n\n return ele;\n } catch {\n return null;\n }\n};\n","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjkiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOSAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTkuMTQ0OTIgMTUuNjQ1TDcuNDk5OTIgMTRMMi44MzMyNSAxOC42NjY3TDcuNDk5OTIgMjMuMzMzM0w5LjE0NDkyIDIxLjY4ODNMNy4zMDE1OSAxOS44MzMzSDI0Ljk5OTlWMTcuNUg3LjMwMTU5TDkuMTQ0OTIgMTUuNjQ1WiIgZmlsbD0iIzYzNkM3NCIvPiA8cGF0aCBkPSJNMTkuODU1IDEyLjM1NTNMMjEuNSAxNC4wMDAzTDI2LjE2NjcgOS4zMzM2NkwyMS41IDQuNjY2OTlMMTkuODU1IDYuMzExOTlMMjEuNjk4MyA4LjE2Njk5SDRWMTAuNTAwM0gyMS42OTgzTDE5Ljg1NSAxMi4zNTUzWiIgZmlsbD0iIzYzNkM3NCIvPiA8L3N2Zz4g\"","import { injectStyle } from '@descope-ui/common/components-helpers';\nimport { compose } from '../helpers';\nimport { componentNameValidationMixin, createStyleMixin, draggableMixin } from '../mixins';\nimport { createBaseClass } from './createBaseClass';\n\nexport const createCssVarImageClass = ({ componentName, varName, fallbackVarName }) => {\n let style;\n const getContent = () => style;\n\n class RawCssVarImageClass extends createBaseClass({\n componentName,\n baseSelector: ':host > div',\n }) {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t\t<div></div>\n\t\t\t`;\n\n injectStyle(\n `\n\t\t\t\t:host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\t\t\t\t:host([draggable=\"true\"]) > div {\n\t\t\t\t\tpointer-events: none\n\t\t\t\t}\n\t\t\t\t:host > div {\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\tmax-width: 100%;\n\t\t\t\t\tmax-height: 100%;\n\t\t\t\t\tobject-fit: contain;\n\t\t\t\t\tmargin: auto;\n\t\t\t\t\t${getContent()}\n\t\t\t\t}\n `,\n this\n );\n }\n }\n\n const CssVarImageClass = compose(\n createStyleMixin({\n mappings: {\n height: { selector: () => ':host > div' },\n width: { selector: () => ':host > div' },\n [varName]: { property: 'content' },\n [fallbackVarName]: { property: 'content' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n )(RawCssVarImageClass);\n\n style = `content: var(${CssVarImageClass.cssVarList[varName]}, var(${CssVarImageClass.cssVarList[fallbackVarName]}));`;\n\n return CssVarImageClass;\n};\n","import { componentName, ImageClass } from './ImageClass';\n\ncustomElements.define(componentName, ImageClass);\n\nexport { ImageClass, componentName };\n","import '@descope-ui/descope-image';\n\nimport { componentName, IconClass } from './IconClass';\n\ncustomElements.define(componentName, IconClass);\n\nexport { IconClass, componentName };\n","import { getComponentName } from '../../helpers/componentHelpers';\nimport { createCssVarImageClass } from '../../baseClasses/createCssVarImageClass';\n\nexport const componentName = getComponentName('logo');\n\nexport const LogoClass = createCssVarImageClass({\n componentName,\n varName: 'url',\n fallbackVarName: 'fallbackUrl',\n});\n","import { componentName, LogoClass } from './LogoClass';\n\ncustomElements.define(componentName, LogoClass);\n\nexport { LogoClass, componentName };\n","import {\n componentNameValidationMixin,\n createProxy,\n createStyleMixin,\n draggableMixin,\n} from '@descope-ui/common/components-mixins';\nimport { getComponentName } from '@descope-ui/common/components-helpers';\nimport { ImageClass } from '@descope-ui/descope-image/class';\nimport { compose } from '@descope-ui/common/utils';\n\nexport const componentName = getComponentName('icon');\n\nexport const IconClass = compose(\n createStyleMixin({\n mappings: {\n fill: [{}, { property: ImageClass.cssVarList.fill }],\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'descope-image',\n style: () => `\n :host {\n display: inline-flex;\n }\n `,\n excludeAttrsSync: ['tabindex', 'class'],\n componentName,\n }),\n);\n"],"names":["componentName","RawThirdPartyAppLogoClass","createBaseClass","baseSelector","constructor","super","this","attachShadow","mode","innerHTML","companyLogoWrapper","thirdPartyAppLogoWrapper","ThirdPartyAppLogoClass","mappings","logoMaxHeight","selector","property","logoMaxWidth","thirdPartyAppLogo","fallback","companyLogoFallback","LogoClass","cssVarList","fallbackUrl","gap","arrowsColor","IconClass","fill","customElements","define","srcAttrs","RawImage","observedAttributes","init","toggleVisibility","src","onThemeChange","renderImage","isVisible","classList","remove","add","altText","getAttribute","legacySrc","themeSrc","currentThemeName","updateFillColor","node","querySelectorAll","forEach","ele","setAttribute","ImageClass","then","res","appendChild","shouldRender","srcVal","attributeChangedCallback","attrName","oldValue","newValue","height","width","createSvgEle","text","clean","sanitize","USE_PROFILES","svg","svgFilters","ADD_TAGS","FORBID_TAGS","DOMParser","parseFromString","querySelector","createImage","async","startsWith","isBase64Svg","svgXml","atob","slice","base64Prefix","path","match","getFileExtension","fetchedSrc","fetch","document","createElement","createImgEle","style","setProperty","module","exports","createCssVarImageClass","varName","fallbackVarName","RawCssVarImageClass","CssVarImageClass","slots","wrappedEleName","excludeAttrsSync"],"sourceRoot":""}
@@ -1,5 +1,5 @@
1
1
  /*! For license information please see descope-timer-button.js.LICENSE.txt */
2
- (self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[743,1202,2250,5087,6724],{6301:(t,e,i)=>{"use strict";i.r(e),i.d(e,{ImageClass:()=>u,componentName:()=>c});var r=i(88961),o=i(72270),n=i(63200),s=i(25964),a=i(25414);const l=t=>{const e=a.A.sanitize(t,{USE_PROFILES:{svg:!0,svgFilters:!0},ADD_TAGS:["image"],FORBID_TAGS:["defs"]});return(new DOMParser).parseFromString(e,"image/svg+xml").querySelector("svg")},c=(0,s.xE)("image"),d=["src","src-dark"];class h extends((0,o.qu)({componentName:c,baseSelector:"slot"})){static get observedAttributes(){return d}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n\t\t<slot></slot>\n\t",(0,s.fz)("\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n :host > slot {\n width: 100%;\n height: 100%;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tdisplay: flex;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\n ::slotted(*) {\n width: 100%;\n\t\t\t}\n\n .hidden {\n display: none;\n }\n ",this)}init(){super.init?.(),this.toggleVisibility(this.src)}onThemeChange(){this.renderImage()}toggleVisibility(t){t?this.classList.remove("hidden"):this.classList.add("hidden")}get altText(){return this.getAttribute("alt")||""}get legacySrc(){return this.getAttribute("src")}get themeSrc(){return this.getAttribute(`src-${this.currentThemeName}`)}get src(){return this.themeSrc||this.legacySrc}updateFillColor(t){[t,...t.querySelectorAll("*[fill]")].forEach((t=>{t.setAttribute("fill",`var(${u.cssVarList.fill}, ${t.getAttribute("fill")||"''"})`)}))}renderImage(){this.toggleVisibility(this.src),(async(t,e)=>{try{let i;if((t=>t.startsWith("data:image/svg+xml;base64,"))(t)){const e=atob(t.slice(26));i=l(e)}else if("svg"===(t=>{const e=t.match(/\.([0-9a-z]+)(?:[\\?#]|$)/i);return e?e[1]:null})(t)){const e=await fetch(t),r=await e.text();i=l(r)}else i=((t,e)=>{const i=document.createElement("img");return i.setAttribute("src",t),i.setAttribute("alt",e),i})(t,e);return i.style.setProperty("max-width","100%"),i.style.setProperty("max-height","100%"),i}catch{return null}})(this.src,this.altText).then((t=>{this.innerHTML="",t&&(this.updateFillColor(t),this.appendChild(t))}))}shouldRender(t){const e=this.getAttribute(t);return this.src===e}attributeChangedCallback(t,e,i){super.attributeChangedCallback?.(t,e,i),e!==i&&this.shouldRender(t)&&this.renderImage()}}const u=(0,n.Zz)((0,r.RF)({mappings:{fill:{},height:{selector:()=>":host"},width:{selector:()=>":host"}}}),r.VO,r.tQ)(h);customElements.define(c,u)},10767:(t,e,i)=>{"use strict";i.d(e,{G:()=>r});const r=t=>class extends t{get isLoading(){return"true"===this.getAttribute("loading")}click(){this.isLoading||super.click()}}},15887:(t,e,i)=>{"use strict";i.r(e),i.d(e,{TimerClass:()=>v,componentName:()=>h});var r=i(88961),o=i(72270),n=i(63200),s=i(25964),a=i(44006),l=i.n(a),c=i(98538);const d=(t,e=2)=>String(t).padStart(e,"0"),h=(0,s.xE)("timer"),u=["seconds","hide-icon","paused"],m=(0,o.qu)({componentName:h,baseSelector:":host > .wrapper"}),{host:p,icon:b,timer:g}={host:{selector:()=>":host"},icon:{selector:()=>".icon"},timer:{selector:()=>".timer"}},v=(0,n.Zz)((0,r.RF)({mappings:{fontSize:{},iconSize:[{...b,property:"width"},{...b,property:"height"}],fontFamily:{},minHeight:{},fontWeight:{...g},lineHeight:{...g},textColor:{...g,property:"color"},gap:{},textAlign:{property:"justify-content"},hostWidth:{...p,property:"width"},hostDirection:{...p,property:"direction"},iconColor:{...b,property:c.S.cssVarList.fill}}}),r.VO,r.tQ)(class extends m{#t=0;#e;static get observedAttributes(){return u.concat(m.observedAttributes||[])}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML=`\n <div class="wrapper">\n <descope-icon src="${l()}" class="icon"></descope-icon>\n <div class="timer"></div>\n </div>\n\t\t`,(0,s.fz)("\n :host {\n display: inline-flex;\n user-select: none;\n -webkit-user-select: none;\n }\n .wrapper {\n display: flex;\n align-items: center;\n flex-direction: row;\n width: 100%;\n }\n .hidden {\n display: none;\n }\n ",this),this.icon=this.shadowRoot.querySelector(".icon"),this.timer=this.shadowRoot.querySelector(".timer")}get seconds(){const t=this.getAttribute("seconds"),e=1e3*parseInt(t||0,10);return Math.max(0,e)}get isPaused(){return"true"===this.getAttribute("paused")}init(){super.init?.(),this.#t=this.seconds}startInterval(){this.#t?this.#e=setInterval((()=>{this.#i(),this.#t||this.stop(),this.#r(this.#t)}),1e3):this.stop()}stopInterval(){clearInterval(this.#e)}#i(){this.#t=this.#t-1e3}reset(){this.#t=this.seconds,this.#r(this.#t),this.isPaused||(this.dispatchEvent(new CustomEvent("timer-started",{bubbles:!0})),this.startInterval())}stop(){this.stopInterval(),this.#t=0,this.#r(this.#t),this.dispatchEvent(new CustomEvent("timer-ended",{bubbles:!0}))}pause(){this.setAttribute("paused","true"),this.stopInterval()}resume(){this.removeAttribute("paused"),this.startInterval()}#r(t){this.timer.textContent=((t=0)=>{const e=Math.floor(t/1e3),i=Math.floor(e/3600),r=Math.floor(e%3600/60),o=e%60;return[...i?[d(i)]:[],d(r),d(o)].join(":")})(t)}#o(t){this.icon.classList.toggle("hidden",t)}#n(t){setTimeout((()=>{t?this.pause():this.#e||this.resume()}))}attributeChangedCallback(t,e,i){super.attributeChangedCallback?.(t,e,i),i!==e&&("seconds"===t&&this.reset(),"hide-icon"===t&&this.#o("true"===i),"paused"===t&&this.#n("true"===i))}});i(56737),customElements.define(h,v)},19624:(t,e,i)=>{"use strict";i.d(e,{J:()=>m,T:()=>l});var r=i(63200),o=i(25964),n=i(88961),s=i(98538),a=i(10767);const l=(0,o.xE)("button"),{host:c,label:d,slottedIcon:h}={host:{selector:()=>":host"},label:{selector:"::part(label)"},slottedIcon:{selector:()=>"::slotted(descope-icon)"}};let u;const m=(0,r.Zz)((0,n.RF)({mappings:{hostWidth:{property:"width"},hostHeight:{property:"height"},hostDirection:{...c,property:"direction"},fontSize:{},fontFamily:{},cursor:{},backgroundColor:{},outlineOffset:{},outlineColor:{},outlineStyle:{},outlineWidth:{},borderRadius:{},borderColor:{},borderStyle:{},borderWidth:{},verticalPadding:[{property:"padding-top"},{property:"padding-bottom"}],horizontalPadding:[{property:"padding-right",fallback:"0.875em"},{property:"padding-left",fallback:"0.875em"}],labelTextColor:{property:"color"},iconColor:{selector:()=>"::slotted(*)",property:s.S.cssVarList.fill},labelTextDecoration:{...d,property:"text-decoration"},labelSpacing:{...d,property:"gap"},textAlign:{...d,property:"justify-content",fallback:"center"},iconSize:[{...h,property:"width"},{...h,property:"height"}]}}),a.G,n.VO,n.tQ)((0,n.tz)({slots:["","prefix","label","suffix"],wrappedEleName:"vaadin-button",style:()=>`\n\t\t\t\n\t:host {\n\t\tdisplay: inline-block;\n\t\tbox-sizing: border-box;\n\t}\n\tvaadin-button::before,\n\tvaadin-button::after {\n\t\topacity: 0;\n\t}\n\tvaadin-button {\n\t\tmargin: 0;\n\t\tmin-width: 0;\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tbox-shadow: none;\n\t}\n\tvaadin-button::part(label) {\n\t\tpadding: 0;\n width: 100%;\n\t}\n\tvaadin-button::part(prefix) {\n\t\tmargin-left: 0;\n\t\tmargin-right: 0;\n\t}\n\n\t\t\t\n\tvaadin-button::part(prefix),\n\tvaadin-button::part(label) {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t}\n\n\t\t\t${u}\n\t\t\tvaadin-button::part(label) { pointer-events: none; }\n\t\t\t:host {\n\t\t\t\tpadding: calc(var(${m.cssVarList.outlineWidth}) + var(${m.cssVarList.outlineOffset}));\n\t\t\t}\n :host([full-width="true"]) {\n width: var(${m.cssVarList.hostWidth});\n }\n\t\t\tvaadin-button {\n\t\t\t\theight: calc(var(${m.cssVarList.hostHeight}) - var(${m.cssVarList.outlineWidth}) - var(${m.cssVarList.outlineOffset}));\n\t\t\t}\n\t\t\t[square="true"]:not([full-width="true"]) {\n\t\t\t\twidth: calc(var(${m.cssVarList.hostWidth}) - var(${m.cssVarList.outlineWidth}) - var(${m.cssVarList.outlineOffset}));\n padding: 0;\n\t\t\t}\n\t\t`,excludeAttrsSync:["tabindex"],componentName:l})),{color:p,fontSize:b}=m.cssVarList;u=`\n\t@keyframes spin {\n\t\t0% { -webkit-transform: rotate(0deg); }\n\t\t100% { -webkit-transform: rotate(360deg); }\n\t}\n\t:host([loading="true"]) ::before {\n\t\tanimation: spin 2s linear infinite;\n\t\tposition: absolute;\n\t\tcontent: '';\n\t\tz-index: 1;\n\t\tbox-sizing: border-box;\n\t\tborder-radius: 50%;\n\t\tborder-bottom-color: transparent;\n\t\tborder-left-color: transparent;\n\t\tborder-style: solid;\n\t\tcolor: var(${p});\n\t\ttop: calc(50% - (var(${b}) / 2));\n\t\tleft: calc(50% - (var(${b}) / 2));\n\t\tborder-width: calc(var(${b}) / 10);\n\t\twidth: var(${b});\n\t\theight: var(${b});\n\t}\n\t:host([disabled="true"]),\n\t:host([loading="true"]) {\n\t\tpointer-events: none;\n\t}\n\t:host([loading="true"]) ::part(prefix),\n\t:host([loading="true"]) ::part(label) {\n\t\tvisibility: hidden;\n\t}\n`},30576:(t,e,i)=>{"use strict";i.r(e),i.d(e,{ButtonClass:()=>r.J,componentName:()=>r.T});var r=i(19624);i(83799),customElements.define(r.T,r.J)},44006:t=>{t.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMWVtIiBoZWlnaHQ9IjFlbSIgdmlld0JveD0iMCAwIDEwNCAxMDQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+IDxwYXRoIGQ9Ik01MC4zMzM0IDAuMzMzMjUyQzIyLjgzMzQgMC4zMzMyNTIgMC4zMzMzNzQgMjIuODMzMyAwLjMzMzM3NCA1MC4zMzMzQzAuMzMzMzc0IDc3LjgzMzMgMjIuODMzNCAxMDAuMzMzIDUwLjMzMzQgMTAwLjMzM0M3Ny44MzM0IDEwMC4zMzMgMTAwLjMzMyA3Ny44MzMzIDEwMC4zMzMgNTAuMzMzM0MxMDAuMzMzIDIyLjgzMzMgNzcuODMzNCAwLjMzMzI1MiA1MC4zMzM0IDAuMzMzMjUyWk01MC4zMzM0IDg3LjgzMzNDMjkuNzA4NCA4Ny44MzMzIDEyLjgzMzQgNzAuOTU4MyAxMi44MzM0IDUwLjMzMzNDMTIuODMzNCAyOS43MDgzIDI5LjcwODQgMTIuODMzMyA1MC4zMzM0IDEyLjgzMzNDNzAuOTU4NCAxMi44MzMzIDg3LjgzMzQgMjkuNzA4MyA4Ny44MzM0IDUwLjMzMzNDODcuODMzNCA3MC45NTgzIDcwLjk1ODQgODcuODMzMyA1MC4zMzM0IDg3LjgzMzNaIiBmaWxsPSIjMTgxQTFDIi8+IDxwYXRoIGQ9Ik01MC4zMzI4IDE5LjA4MzNINDQuMDgyOFY1Ni41ODMySDc1LjMzMjhWNTAuMzMzMkg1MC4zMzI4VjE5LjA4MzNaIiBmaWxsPSIjMTgxQTFDIi8+IDwvc3ZnPiA="},56737:(t,e,i)=>{"use strict";i.r(e),i.d(e,{IconClass:()=>r.S,componentName:()=>r.T}),i(6301);var r=i(98538);customElements.define(r.T,r.S)},60096:(t,e,i)=>{"use strict";i.r(e),i.d(e,{TimerButtonClass:()=>p,componentName:()=>a});var r=i(88961),o=i(72270),n=i(63200),s=i(25964);const a=(0,s.xE)("timer-button"),l=["button-variant","button-mode","size","text-align","full-width"],c={"button-variant":"variant","button-mode":"mode"},d=["timer-seconds","timer-hide-icon","timer-paused","size","text-align","full-width"],h={"timer-seconds":"seconds","timer-hide-icon":"hide-icon","timer-paused":"paused"},u=(0,o.qu)({componentName:a,baseSelector:":host > div"}),{host:m}={host:{selector:()=>":host"},icon:{selector:".icon"},timer:{selector:".timer"}},p=(0,n.Zz)((0,r.RF)({mappings:{gap:{},flexDirection:{},hostWidth:{...m,property:"width"},hostDirection:{...m,property:"direction"}}}),r.VO,r.tQ)(class extends u{constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <div class="wrapper">\n <descope-timer class="timer"></descope-timer>\n <descope-button class="button" disabled="true">\n <slot></slot>\n </descope-button>\n </div>\n\t\t',(0,s.fz)("\n :host {\n display: inline-flex;\n }\n .wrapper {\n display: flex;\n flex-direction: column;\n gap: 0.5em;\n align-items: center;\n width: 100%;\n }\n .timer {\n flex: 1;\n }\n ",this),this.timer=this.shadowRoot.querySelector(".timer"),this.button=this.shadowRoot.querySelector(".button"),this.timer.addEventListener("timer-started",(()=>this.onTimerStarted())),this.timer.addEventListener("timer-ended",(()=>this.onTimerEnded())),this.button.addEventListener("click",this.onClick.bind(this))}set onclick(t){this.button.onclick=t}init(){super.init?.(),(0,s.EA)(this,this.button,{includeAttrs:l,mapAttrs:c}),(0,s.EA)(this,this.timer,{includeAttrs:d,mapAttrs:h}),this.button.shadowRoot.querySelector("vaadin-button").setAttribute("disabled","true")}onTimerStarted(){this.toggleButtonDisable(!0)}onTimerEnded(){this.toggleButtonDisable(!1)}onClick(){this.timer.reset()}toggleButtonDisable(t){setTimeout((()=>{t?this.button.setAttribute("disabled","true"):this.button.removeAttribute("disabled")}))}});i(30576),i(15887),customElements.define(a,p)},83799:(t,e,i)=>{"use strict";i(93555),i(89389)},89389:(t,e,i)=>{"use strict";i.d(e,{$:()=>p});var r=i(13256),o=i(55774),n=i(82901),s=i(90676),a=i(81488),l=i(87550);const c=i(51450).AH`
2
+ (self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[743,1202,2250,5087,6724],{8512:(t,e,i)=>{"use strict";i.d(e,{T:()=>l,q:()=>h});var r=i(88961),o=i(72270),n=i(63200),s=i(25964),a=i(18782);const l=(0,s.xE)("image"),c=["src","src-dark"];class d extends((0,o.qu)({componentName:l,baseSelector:"slot"})){static get observedAttributes(){return c}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n\t\t<slot></slot>\n\t",(0,s.fz)("\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n :host > slot {\n width: 100%;\n height: 100%;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tdisplay: flex;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\n ::slotted(*) {\n width: 100%;\n\t\t\t}\n\n .hidden {\n display: none;\n }\n ",this)}init(){super.init?.(),this.toggleVisibility(this.src)}onThemeChange(){this.renderImage()}toggleVisibility(t){t?this.classList.remove("hidden"):this.classList.add("hidden")}get altText(){return this.getAttribute("alt")||""}get legacySrc(){return this.getAttribute("src")}get themeSrc(){return this.getAttribute(`src-${this.currentThemeName}`)}get src(){return this.themeSrc||this.legacySrc}updateFillColor(t){[t,...t.querySelectorAll("*[fill]")].forEach((t=>{t.setAttribute("fill",`var(${h.cssVarList.fill}, ${t.getAttribute("fill")||"''"})`)}))}renderImage(){this.toggleVisibility(this.src),(0,a.m)(this.src,this.altText).then((t=>{this.innerHTML="",t&&(this.updateFillColor(t),this.appendChild(t))}))}shouldRender(t){const e=this.getAttribute(t);return this.src===e}attributeChangedCallback(t,e,i){super.attributeChangedCallback?.(t,e,i),e!==i&&this.shouldRender(t)&&this.renderImage()}}const h=(0,n.Zz)((0,r.RF)({mappings:{fill:{},height:{selector:()=>":host"},width:{selector:()=>":host"}}}),r.VO,r.tQ)(d)},10767:(t,e,i)=>{"use strict";i.d(e,{G:()=>r});const r=t=>class extends t{get isLoading(){return"true"===this.getAttribute("loading")}click(){this.isLoading||super.click()}}},15887:(t,e,i)=>{"use strict";i.r(e),i.d(e,{TimerClass:()=>v,componentName:()=>h});var r=i(88961),o=i(72270),n=i(63200),s=i(25964),a=i(44006),l=i.n(a),c=i(98538);const d=(t,e=2)=>String(t).padStart(e,"0"),h=(0,s.xE)("timer"),u=["seconds","hide-icon","paused"],m=(0,o.qu)({componentName:h,baseSelector:":host > .wrapper"}),{host:p,icon:b,timer:g}={host:{selector:()=>":host"},icon:{selector:()=>".icon"},timer:{selector:()=>".timer"}},v=(0,n.Zz)((0,r.RF)({mappings:{fontSize:{},iconSize:[{...b,property:"width"},{...b,property:"height"}],fontFamily:{},minHeight:{},fontWeight:{...g},lineHeight:{...g},textColor:{...g,property:"color"},gap:{},textAlign:{property:"justify-content"},hostWidth:{...p,property:"width"},hostDirection:{...p,property:"direction"},iconColor:{...b,property:c.S.cssVarList.fill}}}),r.VO,r.tQ)(class extends m{#t=0;#e;static get observedAttributes(){return u.concat(m.observedAttributes||[])}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML=`\n <div class="wrapper">\n <descope-icon src="${l()}" class="icon"></descope-icon>\n <div class="timer"></div>\n </div>\n\t\t`,(0,s.fz)("\n :host {\n display: inline-flex;\n user-select: none;\n -webkit-user-select: none;\n }\n .wrapper {\n display: flex;\n align-items: center;\n flex-direction: row;\n width: 100%;\n }\n .hidden {\n display: none;\n }\n ",this),this.icon=this.shadowRoot.querySelector(".icon"),this.timer=this.shadowRoot.querySelector(".timer")}get seconds(){const t=this.getAttribute("seconds"),e=1e3*parseInt(t||0,10);return Math.max(0,e)}get isPaused(){return"true"===this.getAttribute("paused")}init(){super.init?.(),this.#t=this.seconds}startInterval(){this.#t?this.#e=setInterval((()=>{this.#i(),this.#t||this.stop(),this.#r(this.#t)}),1e3):this.stop()}stopInterval(){clearInterval(this.#e)}#i(){this.#t=this.#t-1e3}reset(){this.#t=this.seconds,this.#r(this.#t),this.isPaused||(this.dispatchEvent(new CustomEvent("timer-started",{bubbles:!0})),this.startInterval())}stop(){this.stopInterval(),this.#t=0,this.#r(this.#t),this.dispatchEvent(new CustomEvent("timer-ended",{bubbles:!0}))}pause(){this.setAttribute("paused","true"),this.stopInterval()}resume(){this.removeAttribute("paused"),this.startInterval()}#r(t){this.timer.textContent=((t=0)=>{const e=Math.floor(t/1e3),i=Math.floor(e/3600),r=Math.floor(e%3600/60),o=e%60;return[...i?[d(i)]:[],d(r),d(o)].join(":")})(t)}#o(t){this.icon.classList.toggle("hidden",t)}#n(t){setTimeout((()=>{t?this.pause():this.#e||this.resume()}))}attributeChangedCallback(t,e,i){super.attributeChangedCallback?.(t,e,i),i!==e&&("seconds"===t&&this.reset(),"hide-icon"===t&&this.#o("true"===i),"paused"===t&&this.#n("true"===i))}});i(56737),customElements.define(h,v)},18782:(t,e,i)=>{"use strict";i.d(e,{m:()=>n});var r=i(25414);const o=t=>{const e=r.A.sanitize(t,{USE_PROFILES:{svg:!0,svgFilters:!0},ADD_TAGS:["image"],FORBID_TAGS:["defs"]});return(new DOMParser).parseFromString(e,"image/svg+xml").querySelector("svg")},n=async(t,e)=>{try{let i;if((t=>t.startsWith("data:image/svg+xml;base64,"))(t)){const e=atob(t.slice(26));i=o(e)}else if("svg"===(t=>{const e=t.match(/\.([0-9a-z]+)(?:[\\?#]|$)/i);return e?e[1]:null})(t)){const e=await fetch(t),r=await e.text();i=o(r)}else i=((t,e)=>{const i=document.createElement("img");return i.setAttribute("src",t),i.setAttribute("alt",e),i})(t,e);return i.style.setProperty("max-width","100%"),i.style.setProperty("max-height","100%"),i}catch{return null}}},19624:(t,e,i)=>{"use strict";i.d(e,{J:()=>m,T:()=>l});var r=i(63200),o=i(25964),n=i(88961),s=i(98538),a=i(10767);const l=(0,o.xE)("button"),{host:c,label:d,slottedIcon:h}={host:{selector:()=>":host"},label:{selector:"::part(label)"},slottedIcon:{selector:()=>"::slotted(descope-icon)"}};let u;const m=(0,r.Zz)((0,n.RF)({mappings:{hostWidth:{property:"width"},hostHeight:{property:"height"},hostDirection:{...c,property:"direction"},fontSize:{},fontFamily:{},cursor:{},backgroundColor:{},outlineOffset:{},outlineColor:{},outlineStyle:{},outlineWidth:{},borderRadius:{},borderColor:{},borderStyle:{},borderWidth:{},verticalPadding:[{property:"padding-top"},{property:"padding-bottom"}],horizontalPadding:[{property:"padding-right",fallback:"0.875em"},{property:"padding-left",fallback:"0.875em"}],labelTextColor:{property:"color"},iconColor:{selector:()=>"::slotted(*)",property:s.S.cssVarList.fill},labelTextDecoration:{...d,property:"text-decoration"},labelSpacing:{...d,property:"gap"},textAlign:{...d,property:"justify-content",fallback:"center"},iconSize:[{...h,property:"width"},{...h,property:"height"}]}}),a.G,n.VO,n.tQ)((0,n.tz)({slots:["","prefix","label","suffix"],wrappedEleName:"vaadin-button",style:()=>`\n\t\t\t\n\t:host {\n\t\tdisplay: inline-block;\n\t\tbox-sizing: border-box;\n\t}\n\tvaadin-button::before,\n\tvaadin-button::after {\n\t\topacity: 0;\n\t}\n\tvaadin-button {\n\t\tmargin: 0;\n\t\tmin-width: 0;\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tbox-shadow: none;\n\t}\n\tvaadin-button::part(label) {\n\t\tpadding: 0;\n width: 100%;\n\t}\n\tvaadin-button::part(prefix) {\n\t\tmargin-left: 0;\n\t\tmargin-right: 0;\n\t}\n\n\t\t\t\n\tvaadin-button::part(prefix),\n\tvaadin-button::part(label) {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t}\n\n\t\t\t${u}\n\t\t\tvaadin-button::part(label) { pointer-events: none; }\n\t\t\t:host {\n\t\t\t\tpadding: calc(var(${m.cssVarList.outlineWidth}) + var(${m.cssVarList.outlineOffset}));\n\t\t\t}\n :host([full-width="true"]) {\n width: var(${m.cssVarList.hostWidth});\n }\n\t\t\tvaadin-button {\n\t\t\t\theight: calc(var(${m.cssVarList.hostHeight}) - var(${m.cssVarList.outlineWidth}) - var(${m.cssVarList.outlineOffset}));\n\t\t\t}\n\t\t\t[square="true"]:not([full-width="true"]) {\n\t\t\t\twidth: calc(var(${m.cssVarList.hostWidth}) - var(${m.cssVarList.outlineWidth}) - var(${m.cssVarList.outlineOffset}));\n padding: 0;\n\t\t\t}\n\t\t`,excludeAttrsSync:["tabindex"],componentName:l})),{color:p,fontSize:b}=m.cssVarList;u=`\n\t@keyframes spin {\n\t\t0% { -webkit-transform: rotate(0deg); }\n\t\t100% { -webkit-transform: rotate(360deg); }\n\t}\n\t:host([loading="true"]) ::before {\n\t\tanimation: spin 2s linear infinite;\n\t\tposition: absolute;\n\t\tcontent: '';\n\t\tz-index: 1;\n\t\tbox-sizing: border-box;\n\t\tborder-radius: 50%;\n\t\tborder-bottom-color: transparent;\n\t\tborder-left-color: transparent;\n\t\tborder-style: solid;\n\t\tcolor: var(${p});\n\t\ttop: calc(50% - (var(${b}) / 2));\n\t\tleft: calc(50% - (var(${b}) / 2));\n\t\tborder-width: calc(var(${b}) / 10);\n\t\twidth: var(${b});\n\t\theight: var(${b});\n\t}\n\t:host([disabled="true"]),\n\t:host([loading="true"]) {\n\t\tpointer-events: none;\n\t}\n\t:host([loading="true"]) ::part(prefix),\n\t:host([loading="true"]) ::part(label) {\n\t\tvisibility: hidden;\n\t}\n`},30576:(t,e,i)=>{"use strict";i.r(e),i.d(e,{ButtonClass:()=>r.J,componentName:()=>r.T});var r=i(19624);i(83799),customElements.define(r.T,r.J)},44006:t=>{t.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMWVtIiBoZWlnaHQ9IjFlbSIgdmlld0JveD0iMCAwIDEwNCAxMDQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+IDxwYXRoIGQ9Ik01MC4zMzM0IDAuMzMzMjUyQzIyLjgzMzQgMC4zMzMyNTIgMC4zMzMzNzQgMjIuODMzMyAwLjMzMzM3NCA1MC4zMzMzQzAuMzMzMzc0IDc3LjgzMzMgMjIuODMzNCAxMDAuMzMzIDUwLjMzMzQgMTAwLjMzM0M3Ny44MzM0IDEwMC4zMzMgMTAwLjMzMyA3Ny44MzMzIDEwMC4zMzMgNTAuMzMzM0MxMDAuMzMzIDIyLjgzMzMgNzcuODMzNCAwLjMzMzI1MiA1MC4zMzM0IDAuMzMzMjUyWk01MC4zMzM0IDg3LjgzMzNDMjkuNzA4NCA4Ny44MzMzIDEyLjgzMzQgNzAuOTU4MyAxMi44MzM0IDUwLjMzMzNDMTIuODMzNCAyOS43MDgzIDI5LjcwODQgMTIuODMzMyA1MC4zMzM0IDEyLjgzMzNDNzAuOTU4NCAxMi44MzMzIDg3LjgzMzQgMjkuNzA4MyA4Ny44MzM0IDUwLjMzMzNDODcuODMzNCA3MC45NTgzIDcwLjk1ODQgODcuODMzMyA1MC4zMzM0IDg3LjgzMzNaIiBmaWxsPSIjMTgxQTFDIi8+IDxwYXRoIGQ9Ik01MC4zMzI4IDE5LjA4MzNINDQuMDgyOFY1Ni41ODMySDc1LjMzMjhWNTAuMzMzMkg1MC4zMzI4VjE5LjA4MzNaIiBmaWxsPSIjMTgxQTFDIi8+IDwvc3ZnPiA="},53455:(t,e,i)=>{"use strict";i.r(e),i.d(e,{ImageClass:()=>r.q,componentName:()=>r.T});var r=i(8512);customElements.define(r.T,r.q)},56737:(t,e,i)=>{"use strict";i.r(e),i.d(e,{IconClass:()=>r.S,componentName:()=>r.T}),i(53455);var r=i(98538);customElements.define(r.T,r.S)},60096:(t,e,i)=>{"use strict";i.r(e),i.d(e,{TimerButtonClass:()=>p,componentName:()=>a});var r=i(88961),o=i(72270),n=i(63200),s=i(25964);const a=(0,s.xE)("timer-button"),l=["button-variant","button-mode","size","text-align","full-width"],c={"button-variant":"variant","button-mode":"mode"},d=["timer-seconds","timer-hide-icon","timer-paused","size","text-align","full-width"],h={"timer-seconds":"seconds","timer-hide-icon":"hide-icon","timer-paused":"paused"},u=(0,o.qu)({componentName:a,baseSelector:":host > div"}),{host:m}={host:{selector:()=>":host"},icon:{selector:".icon"},timer:{selector:".timer"}},p=(0,n.Zz)((0,r.RF)({mappings:{gap:{},flexDirection:{},hostWidth:{...m,property:"width"},hostDirection:{...m,property:"direction"}}}),r.VO,r.tQ)(class extends u{constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <div class="wrapper">\n <descope-timer class="timer"></descope-timer>\n <descope-button class="button" disabled="true">\n <slot></slot>\n </descope-button>\n </div>\n\t\t',(0,s.fz)("\n :host {\n display: inline-flex;\n }\n .wrapper {\n display: flex;\n flex-direction: column;\n gap: 0.5em;\n align-items: center;\n width: 100%;\n }\n .timer {\n flex: 1;\n }\n ",this),this.timer=this.shadowRoot.querySelector(".timer"),this.button=this.shadowRoot.querySelector(".button"),this.timer.addEventListener("timer-started",(()=>this.onTimerStarted())),this.timer.addEventListener("timer-ended",(()=>this.onTimerEnded())),this.button.addEventListener("click",this.onClick.bind(this))}set onclick(t){this.button.onclick=t}init(){super.init?.(),(0,s.EA)(this,this.button,{includeAttrs:l,mapAttrs:c}),(0,s.EA)(this,this.timer,{includeAttrs:d,mapAttrs:h}),this.button.shadowRoot.querySelector("vaadin-button").setAttribute("disabled","true")}onTimerStarted(){this.toggleButtonDisable(!0)}onTimerEnded(){this.toggleButtonDisable(!1)}onClick(){this.timer.reset()}toggleButtonDisable(t){setTimeout((()=>{t?this.button.setAttribute("disabled","true"):this.button.removeAttribute("disabled")}))}});i(30576),i(15887),customElements.define(a,p)},83799:(t,e,i)=>{"use strict";i(93555),i(89389)},89389:(t,e,i)=>{"use strict";i.d(e,{$:()=>p});var r=i(13256),o=i(55774),n=i(82901),s=i(90676),a=i(81488),l=i(87550);const c=i(51450).AH`
3
3
  :host {
4
4
  display: inline-block;
5
5
  position: relative;
@@ -335,5 +335,5 @@
335
335
  margin-left: 0;
336
336
  margin-right: 0;
337
337
  }
338
- `;(0,r.SF)("vaadin-button",o,{moduleId:"lumo-button"})},98538:(t,e,i)=>{"use strict";i.d(e,{S:()=>a,T:()=>s});var r=i(88961),o=i(25964),n=i(63200);const s=(0,o.xE)("icon"),a=(0,n.Zz)((0,r.RF)({mappings:{fill:{}}}),r.VO,r.tQ)((0,r.tz)({slots:[],wrappedEleName:"descope-image",style:()=>"\n :host {\n display: inline-flex;\n }\n ",excludeAttrsSync:["tabindex","class"],componentName:s}))}}]);
338
+ `;(0,r.SF)("vaadin-button",o,{moduleId:"lumo-button"})},98538:(t,e,i)=>{"use strict";i.d(e,{S:()=>l,T:()=>a});var r=i(88961),o=i(25964),n=i(8512),s=i(63200);const a=(0,o.xE)("icon"),l=(0,s.Zz)((0,r.RF)({mappings:{fill:[{},{property:n.q.cssVarList.fill}]}}),r.VO,r.tQ)((0,r.tz)({slots:[],wrappedEleName:"descope-image",style:()=>"\n :host {\n display: inline-flex;\n }\n ",excludeAttrsSync:["tabindex","class"],componentName:a}))}}]);
339
339
  //# sourceMappingURL=descope-timer-button.js.map