@descope/web-components-ui 2.1.14 → 2.1.16

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 (111) hide show
  1. package/dist/cjs/index.cjs.js +26 -24
  2. package/dist/cjs/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +26 -24
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/umd/7092.js +1 -1
  6. package/dist/umd/7092.js.map +1 -1
  7. package/dist/umd/9365.js +1 -1
  8. package/dist/umd/9365.js.map +1 -1
  9. package/dist/umd/DescopeDev.js +1 -1
  10. package/dist/umd/DescopeDev.js.map +1 -1
  11. package/dist/umd/boolean-fields-descope-checkbox-index-js.js +1 -1
  12. package/dist/umd/boolean-fields-descope-checkbox-index-js.js.map +1 -1
  13. package/dist/umd/boolean-fields-descope-switch-toggle-index-js.js +1 -1
  14. package/dist/umd/boolean-fields-descope-switch-toggle-index-js.js.map +1 -1
  15. package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-index-js.js +1 -1
  16. package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-index-js.js.map +1 -1
  17. package/dist/umd/button-selection-group-fields-descope-button-selection-group-index-js.js +1 -1
  18. package/dist/umd/button-selection-group-fields-descope-button-selection-group-index-js.js.map +1 -1
  19. package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js +2 -2
  20. package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js.map +1 -1
  21. package/dist/umd/descope-address-field.js +1 -1
  22. package/dist/umd/descope-address-field.js.map +1 -1
  23. package/dist/umd/descope-apps-list.js +1 -1
  24. package/dist/umd/descope-apps-list.js.map +1 -1
  25. package/dist/umd/descope-autocomplete-field.js +1 -1
  26. package/dist/umd/descope-autocomplete-field.js.map +1 -1
  27. package/dist/umd/descope-button.js +2 -2
  28. package/dist/umd/descope-button.js.map +1 -1
  29. package/dist/umd/descope-collapsible-container.js +1 -1
  30. package/dist/umd/descope-collapsible-container.js.map +1 -1
  31. package/dist/umd/descope-date-field-descope-calendar-index-js.js +1 -1
  32. package/dist/umd/descope-date-field-descope-calendar-index-js.js.map +1 -1
  33. package/dist/umd/descope-email-field-index-js.js +1 -1
  34. package/dist/umd/descope-email-field-index-js.js.map +1 -1
  35. package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js +1 -1
  36. package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js.map +1 -1
  37. package/dist/umd/descope-grid-index-js.js +1 -1
  38. package/dist/umd/descope-grid-index-js.js.map +1 -1
  39. package/dist/umd/descope-hybrid-field-index-js.js +2 -2
  40. package/dist/umd/descope-hybrid-field-index-js.js.map +1 -1
  41. package/dist/umd/descope-icon.js +1 -1
  42. package/dist/umd/descope-icon.js.map +1 -1
  43. package/dist/umd/descope-multi-select-combo-box-index-js.js +1 -1
  44. package/dist/umd/descope-multi-select-combo-box-index-js.js.map +1 -1
  45. package/dist/umd/descope-new-password-descope-new-password-internal-index-js.js +1 -1
  46. package/dist/umd/descope-new-password-descope-new-password-internal-index-js.js.map +1 -1
  47. package/dist/umd/descope-new-password-index-js.js +1 -1
  48. package/dist/umd/descope-new-password-index-js.js.map +1 -1
  49. package/dist/umd/descope-notification-descope-notification-card-index-js.js +1 -1
  50. package/dist/umd/descope-notification-descope-notification-card-index-js.js.map +1 -1
  51. package/dist/umd/descope-notification-index-js.js +1 -1
  52. package/dist/umd/descope-notification-index-js.js.map +1 -1
  53. package/dist/umd/descope-number-field-index-js.js +1 -1
  54. package/dist/umd/descope-number-field-index-js.js.map +1 -1
  55. package/dist/umd/descope-outbound-app-button.js +2 -2
  56. package/dist/umd/descope-outbound-app-button.js.map +1 -1
  57. package/dist/umd/descope-outbound-apps.js +2 -2
  58. package/dist/umd/descope-outbound-apps.js.map +1 -1
  59. package/dist/umd/descope-passcode-index-js.js +1 -1
  60. package/dist/umd/descope-passcode-index-js.js.map +1 -1
  61. package/dist/umd/descope-password-index-js.js +1 -1
  62. package/dist/umd/descope-password-index-js.js.map +1 -1
  63. package/dist/umd/descope-radio-group-index-js.js +1 -1
  64. package/dist/umd/descope-radio-group-index-js.js.map +1 -1
  65. package/dist/umd/descope-scopes-list-index-js.js +1 -1
  66. package/dist/umd/descope-scopes-list-index-js.js.map +1 -1
  67. package/dist/umd/descope-text-area-index-js.js +1 -1
  68. package/dist/umd/descope-text-area-index-js.js.map +1 -1
  69. package/dist/umd/descope-third-party-app-logo-index-js.js +1 -1
  70. package/dist/umd/descope-third-party-app-logo-index-js.js.map +1 -1
  71. package/dist/umd/descope-timer-button.js +2 -2
  72. package/dist/umd/descope-timer-button.js.map +1 -1
  73. package/dist/umd/descope-timer.js +1 -1
  74. package/dist/umd/descope-timer.js.map +1 -1
  75. package/dist/umd/descope-trusted-devices.js +1 -1
  76. package/dist/umd/descope-trusted-devices.js.map +1 -1
  77. package/dist/umd/descope-upload-file-index-js.js +2 -2
  78. package/dist/umd/descope-upload-file-index-js.js.map +1 -1
  79. package/dist/umd/descope-user-attribute-index-js.js +2 -2
  80. package/dist/umd/descope-user-attribute-index-js.js.map +1 -1
  81. package/dist/umd/descope-user-auth-method-index-js.js +2 -2
  82. package/dist/umd/descope-user-auth-method-index-js.js.map +1 -1
  83. package/dist/umd/mapping-fields-descope-mappings-field-index-js.js +1 -1
  84. package/dist/umd/mapping-fields-descope-mappings-field-index-js.js.map +1 -1
  85. package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js +1 -1
  86. package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js.map +1 -1
  87. package/dist/umd/phone-fields-descope-phone-field-index-js.js +1 -1
  88. package/dist/umd/phone-fields-descope-phone-field-index-js.js.map +1 -1
  89. package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js +1 -1
  90. package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js.map +1 -1
  91. package/package.json +28 -28
  92. package/src/components/boolean-fields/descope-checkbox/CheckboxClass.js +1 -1
  93. package/src/components/boolean-fields/descope-switch-toggle/SwitchToggleClass.js +1 -1
  94. package/src/components/button-selection-group-fields/descope-button-multi-selection-group/ButtonMultiSelectionGroupClass.js +1 -1
  95. package/src/components/button-selection-group-fields/descope-button-selection-group/ButtonSelectionGroupClass.js +1 -1
  96. package/src/components/descope-email-field/EmailFieldClass.js +1 -1
  97. package/src/components/descope-multi-select-combo-box/MultiSelectComboBoxClass.js +1 -1
  98. package/src/components/descope-new-password/NewPasswordClass.js +1 -1
  99. package/src/components/descope-notification/NotificationClass.js +1 -1
  100. package/src/components/descope-notification/descope-notification-card/NotificationCardClass.js +1 -1
  101. package/src/components/descope-number-field/NumberFieldClass.js +1 -1
  102. package/src/components/descope-passcode/PasscodeClass.js +1 -1
  103. package/src/components/descope-password/PasswordClass.js +1 -1
  104. package/src/components/descope-radio-group/RadioButtonClass.js +1 -1
  105. package/src/components/descope-radio-group/RadioGroupClass.js +1 -1
  106. package/src/components/descope-text-area/TextAreaClass.js +1 -1
  107. package/src/components/mapping-fields/descope-mappings-field/MappingsFieldClass.js +1 -0
  108. package/src/components/mapping-fields/descope-saml-group-mappings/SamlGroupMappingsClass.js +1 -0
  109. package/src/components/phone-fields/descope-phone-field/PhoneFieldClass.js +1 -1
  110. package/src/components/phone-fields/descope-phone-input-box-field/PhoneFieldInputBoxClass.js +1 -1
  111. package/src/mixins/createStyleMixin/index.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"descope-passcode-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/./src/baseClasses/createBaseInputClass.js","webpack://@descope/web-components-ui/./src/components/descope-text-field/textFieldMappings.js","webpack://@descope/web-components-ui/./src/components/descope-passcode/descope-passcode-internal/helpers.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-passcode/descope-passcode-internal/PasscodeInternal.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/text-field/theme/lumo/vaadin-text-field-styles.js","webpack://@descope/web-components-ui/./src/components/descope-loader-radial/index.js","webpack://@descope/web-components-ui/./src/components/descope-passcode/PasscodeClass.js","webpack://@descope/web-components-ui/./src/components/descope-passcode/index.js","webpack://@descope/web-components-ui/./src/components/descope-passcode/descope-passcode-internal/index.js","webpack://@descope/web-components-ui/./src/components/descope-loader-radial/LoaderRadialClass.js","webpack://@descope/web-components-ui/./src/components/descope-text-field/TextFieldClass.js"],"sourcesContent":["import { compose } from '../helpers';\nimport {\n changeMixin,\n inputEventsDispatchingMixin,\n inputValidationMixin,\n normalizeBooleanAttributesMixin,\n} from '../mixins';\nimport { createBaseClass } from './createBaseClass';\n\nexport const createBaseInputClass = (...args) =>\n compose(\n inputValidationMixin,\n changeMixin,\n normalizeBooleanAttributesMixin,\n inputEventsDispatchingMixin\n )(createBaseClass(...args));\n","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","export const INPUT_MASK_TEXT_PROP = '--descope-input-mask-content';\nexport const INPUT_MASK_DISPLAY_PROP = '--descope-input-mask-display';\nexport const INPUT_MASK_FALLBACK_PROP = '--descope-input-mask-fallback';\n\nexport const focusElement = (ele) => {\n ele?.focus();\n ele?.setSelectionRange?.(1, 1);\n};\n\nexport const sanitizeStr = (str) => {\n return str.replace(/\\D/g, '') || '';\n};\n\nexport const toggleMaskVisibility = (input, value) => {\n if (value) {\n input.style.setProperty(INPUT_MASK_TEXT_PROP, `\"${value}\"`);\n input.style.setProperty(INPUT_MASK_DISPLAY_PROP, 'flex');\n } else {\n input.style.removeProperty(INPUT_MASK_TEXT_PROP);\n input.style.removeProperty(INPUT_MASK_DISPLAY_PROP);\n }\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","/* eslint-disable no-param-reassign */\nimport debounce from 'lodash.debounce';\nimport { createBaseInputClass } from '../../../baseClasses/createBaseInputClass';\nimport { forwardAttrs, getComponentName } from '../../../helpers/componentHelpers';\nimport {\n sanitizeStr,\n focusElement,\n toggleMaskVisibility,\n INPUT_MASK_FALLBACK_PROP,\n INPUT_MASK_TEXT_PROP,\n INPUT_MASK_DISPLAY_PROP,\n} from './helpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('passcode-internal');\n\nconst observedAttributes = ['digits', 'loading'];\n\nconst forwardAttributes = [\n 'disabled',\n 'bordered',\n 'size',\n 'invalid',\n 'readonly',\n 'aria-labelledby',\n];\n\nconst BaseInputClass = createBaseInputClass({ componentName, baseSelector: 'div' });\n\nclass PasscodeInternal extends BaseInputClass {\n static get observedAttributes() {\n return observedAttributes.concat(BaseInputClass.observedAttributes || []);\n }\n\n constructor() {\n super();\n\n this.innerHTML = `\n\t\t<div class=\"wrapper\"></div>\n\t\t<div class=\"loader-container\">\n <descope-loader-radial size=\"xs\" mode=\"primary\"></descope-loader-radial>\n </div>\n\t\t`;\n\n this.wrapperEle = this.querySelector('.wrapper');\n this.loaderContainer = this.querySelector('.loader-container');\n }\n\n renderInputs() {\n const inputs = [...Array(this.digits).keys()].map(\n (idx) => `\n\t\t<descope-text-field\n\t\t\tdata-id=${idx}\n\t\t\ttype=\"tel\"\n\t\t\tautocomplete=\"one-time-code\"\n\t\t\tinputMode=\"numeric\"\n\t\t></descope-text-field>\n\t`\n );\n\n this.wrapperEle.innerHTML = inputs.join('');\n\n this.inputs = Array.from(this.querySelectorAll('descope-text-field'));\n\n this.initInputs();\n }\n\n handleLoadingState(isLoading) {\n if (isLoading) {\n this.setAttribute('inert', 'true');\n } else {\n this.removeAttribute('inert');\n }\n }\n\n get digits() {\n return Number.parseInt(this.getAttribute('digits'), 10) || 6;\n }\n\n get value() {\n return this.inputs?.map(({ value }) => value).join('') || '';\n }\n\n set value(val) {\n if (val === this.value) return;\n\n this.parseInputValue(this.inputs[0], sanitizeStr(val));\n }\n\n getValidity() {\n if (this.isRequired && !this.value) {\n return { valueMissing: true };\n }\n if (this.pattern && !new RegExp(this.pattern).test(this.value)) {\n return { patternMismatch: true };\n }\n\n return {};\n }\n\n init() {\n // we are adding listeners before calling to super because it's stopping the events\n this.addEventListener('focus', (e) => {\n // we want to ignore focus events we are dispatching\n if (e.isTrusted) this.inputs[0].focus();\n });\n\n super.init?.();\n\n this.renderInputs();\n }\n\n // eslint-disable-next-line class-methods-use-this\n getInputIdx(inputEle) {\n return Number.parseInt(inputEle.getAttribute('data-id'), 10);\n }\n\n getNextInput(currInput) {\n const currentIdx = this.getInputIdx(currInput);\n const newIdx = Math.min(currentIdx + 1, this.inputs.length - 1);\n return this.inputs[newIdx];\n }\n\n getPrevInput(currInput) {\n const currentIdx = this.getInputIdx(currInput);\n const newIdx = Math.max(currentIdx - 1, 0);\n return this.inputs[newIdx];\n }\n\n fillDigits(charArr, currentInput) {\n for (let i = 0; i < charArr.length; i += 1) {\n currentInput.value = charArr[i] ?? '';\n\n const nextInput = this.getNextInput(currentInput);\n\n if (nextInput === currentInput) break;\n currentInput = nextInput;\n }\n\n focusElement(currentInput);\n }\n\n parseInputValue(input, value = '') {\n const charArr = value.split('');\n\n if (!charArr.length) {\n // if we got an invalid value we want to clear the input\n input.value = '';\n } else this.fillDigits(charArr, input);\n }\n\n initInputs() {\n this.inputs.forEach((input) => {\n // During debounced input we hide the value with a mask.\n // This allows us to hide the multiple population of the first input\n // in case of an automated input (e.g. Safari OTP Autofill or paste).\n injectStyle(\n `\n vaadin-text-field::part(input-field)::before {\n ${INPUT_MASK_FALLBACK_PROP}: '';\n content: var(${INPUT_MASK_TEXT_PROP}, var(${INPUT_MASK_FALLBACK_PROP}));\n position: absolute;\n width: 100%;\n height: 100%;\n display: var(${INPUT_MASK_DISPLAY_PROP}, none);\n align-items: center;\n justify-content: center;\n }`,\n input\n );\n\n const handleParseInput = (val) => {\n this.parseInputValue(input, val);\n toggleMaskVisibility(input);\n };\n\n const debouncedHandleParseInput = debounce(handleParseInput, 0, { trailing: true });\n\n // sanitize the input\n input.addEventListener('input', (e) => {\n input.value = sanitizeStr(input.value);\n\n if (input.value) {\n toggleMaskVisibility(input, input.value[0]);\n }\n\n setTimeout(() => {\n if (e?.inputType === 'deleteContentBackward') {\n focusElement(this.getPrevInput(input));\n }\n });\n debouncedHandleParseInput(input.value);\n });\n\n // we want backspace to focus on the previous digit\n input.onkeydown = ({ key }) => {\n // when user deletes a digit, we want to focus the previous digit\n if (key === 'Backspace') {\n // if value is empty then the input element does not fire `input` event\n // if this is the case, we focus the element here.\n // otherwise, the focusElement occurs as part of the `input` event listener\n if (!input.value) {\n setTimeout(() => focusElement(this.getPrevInput(input)), 0);\n } else {\n input.setSelectionRange(1, 1);\n }\n } else if (key.length === 1) {\n // we want only characters and not command keys\n input.value = ''; // we are clearing the previous value so we can override it with the new value\n }\n };\n\n forwardAttrs(this, input, { includeAttrs: forwardAttributes });\n input.shadowRoot.querySelector('input').setAttribute('aria-label', 'passcode digit');\n });\n\n this.handleFocusEventsDispatching(this.inputs);\n this.handleInputEventDispatching();\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n // sync attributes to inputs\n if (oldValue !== newValue) {\n if (observedAttributes.includes(attrName)) {\n if (attrName === 'digits') {\n this.renderInputs();\n }\n if (attrName === 'loading') {\n this.handleLoadingState(newValue === 'true');\n }\n }\n }\n }\n\n get pattern() {\n return `^$|^\\\\d{${this.digits},}$`;\n }\n}\n\nexport default PasscodeInternal;\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, LoaderRadialClass } from './LoaderRadialClass';\n\ncustomElements.define(componentName, LoaderRadialClass);\n\nexport { LoaderRadialClass, componentName };\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n inputOverrideValidConstraintsMixin,\n} from '../../mixins';\nimport { componentName as descopeInternalComponentName } from './descope-passcode-internal/PasscodeInternal';\nimport { TextFieldClass } from '../descope-text-field/TextFieldClass';\nimport { LoaderRadialClass } from '../descope-loader-radial/LoaderRadialClass';\nimport { compose } from '../../helpers';\nimport { forwardAttrs, getComponentName } from '../../helpers/componentHelpers';\nimport {\n resetInputCursor,\n resetInputLabelPosition,\n resetInputFieldDefaultWidth,\n} from '../../helpers/themeHelpers/resetHelpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('passcode');\n\nconst observedAttributes = ['digits'];\n\nconst customMixin = (superclass) =>\n class PasscodeMixinClass extends superclass {\n static get observedAttributes() {\n return observedAttributes.concat(superclass.observedAttributes || []);\n }\n\n get digits() {\n return Number.parseInt(this.getAttribute('digits'), 10) || 6;\n }\n\n init() {\n super.init?.();\n\n injectStyle(\n `\n .wrapper {\n display: flex;\n width: 100%;\n justify-content: space-between;\n direction: ltr;\n position: relative;\n }\n\n descope-text-field {\n direction: ltr;\n }\n\n .loader-container {\n display: none;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n `,\n this\n );\n\n const template = document.createElement('template');\n\n template.innerHTML = `\n <${descopeInternalComponentName}\n bordered=\"true\"\n name=\"code\"\n tabindex=\"-1\"\n slot=\"input\"\n role=\"textbox\"\n ><slot></slot></${descopeInternalComponentName}>\n `;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n\n this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n\n forwardAttrs(this, this.inputElement, {\n includeAttrs: ['digits', 'size', 'loading', 'disabled'],\n });\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (attrName === 'digits') {\n this.style['--passcode-digits-count'] = newValue;\n }\n }\n };\n\nconst {\n host,\n digitField,\n label,\n requiredIndicator,\n internalWrapper,\n focusedDigitField,\n errorMessage,\n} = {\n host: { selector: () => ':host' },\n focusedDigitField: { selector: () => `${TextFieldClass.componentName}[focused=\"true\"]` },\n digitField: { selector: () => TextFieldClass.componentName },\n label: { selector: '::part(label)' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n internalWrapper: { selector: 'descope-passcode-internal .wrapper' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nconst textVars = TextFieldClass.cssVarList;\nconst loaderVars = LoaderRadialClass.cssVarList;\n\nexport const PasscodeClass = compose(\n createStyleMixin({\n mappings: {\n fontSize: [{ ...digitField, property: textVars.fontSize }, host],\n hostWidth: { property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n fontFamily: [host, { ...label }],\n labelTextColor: [\n { ...label, property: 'color' },\n { ...label, property: '-webkit-text-fill-color' },\n { ...requiredIndicator, property: 'color' },\n { ...requiredIndicator, property: '-webkit-text-fill-color' },\n ],\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\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 digitValueTextColor: {\n selector: TextFieldClass.componentName,\n property: textVars.inputValueTextColor,\n },\n digitSize: [\n { ...digitField, property: 'height' },\n { ...digitField, property: 'width' },\n ],\n digitPadding: { ...digitField, property: textVars.inputHorizontalPadding },\n digitTextAlign: { ...digitField, property: textVars.inputTextAlign },\n digitCaretTextColor: { ...digitField, property: textVars.inputCaretTextColor },\n digitSpacing: { ...internalWrapper, property: 'gap' },\n digitOutlineColor: { ...digitField, property: textVars.inputOutlineColor },\n digitOutlineWidth: { ...digitField, property: textVars.inputOutlineWidth },\n\n focusedDigitFieldOutlineColor: { ...focusedDigitField, property: textVars.inputOutlineColor },\n overlayOpacity: { ...internalWrapper, property: 'opacity' },\n spinnerSize: { selector: LoaderRadialClass.componentName, property: loaderVars.spinnerSize },\n },\n }),\n draggableMixin,\n inputOverrideValidConstraintsMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tmax-width: 100%;\n\t\t\t\tmin-width: calc(var(--passcode-digits-count) * 2em);\n\t\t\t}\n\t\t\t${resetInputFieldDefaultWidth()}\n\t\t\t:host::after {\n\t\t\t\tbackground-color: transparent;\n\t\t\t}\n\t\t\t:host::part(input-field)::after {\n\t\t\t\tbackground-color: transparent;\n\t\t\t}\n\n :host([loading=\"true\"]) descope-passcode-internal .loader-container {\n display: block;\n }\n\n\t\t\tdescope-passcode-internal {\n\t\t\t\t-webkit-mask-image: none;\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\tmin-height: initial;\n\t\t\t}\n\n\t\t\tdescope-passcode-internal .wrapper {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tmin-height: initial;\n\t\t\t\theight: 100%;\n\t\t\t\tjustify-content: space-between;\n\t\t\t}\n\n\t\t\tdescope-passcode-internal descope-text-field {\n\t\t\t\tmin-width: 2em;\n\t\t\t\tmax-width: var(${textVars.inputHeight});\n\t\t\t}\n\n\t\t\tvaadin-text-field::part(input-field) {\n\t\t\t\tbackground-color: transparent;\n\t\t\t\tpadding: 0;\n\t\t\t\toverflow: hidden;\n\t\t\t\t-webkit-mask-image: none;\n\t\t\t}\n\n /* safari */\n\t\t\tvaadin-text-field::part(input-field)::after {\n opacity: 0;\n }\n\n\t\t\tvaadin-text-field {\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\tvaadin-text-field::before {\n\t\t\t\theight: 0;\n\t\t\t}\n\n\t\t\tvaadin-text-field[readonly] > input:placeholder-shown {\n\t\t\t\topacity: 1;\n\t\t\t}\n\n\t\t\tvaadin-text-field[readonly]::part(input-field)::after {\n\t\t\t\tborder: 0 solid;\n\t\t\t}\n\n\t\t\tvaadin-text-field::part(input-field) {\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n\n ${resetInputLabelPosition('vaadin-text-field')}\n\t\t\t${resetInputCursor('vaadin-text-field')}\n \t`,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n\nexport default PasscodeClass;\n","import { componentName, PasscodeClass } from './PasscodeClass';\nimport '../descope-text-field';\nimport '../descope-loader-radial';\nimport './descope-passcode-internal';\n\ncustomElements.define(componentName, PasscodeClass);\n\nexport { PasscodeClass, componentName };\n","import PasscodeInternal, { componentName } from './PasscodeInternal';\n\ncustomElements.define(componentName, PasscodeInternal);\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('loader-radial');\n\nclass RawLoaderRadial extends createBaseClass({ componentName, baseSelector: ':host > div' }) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<div></div>\n\t`;\n\n injectStyle(\n `\n @keyframes spin {\n\t\t\t\t0% { transform: rotate(0deg); }\n\t\t\t\t100% { transform: rotate(360deg); }\n\t\t\t}\n\t\t\t:host {\n\t\t\t\tposition: relative;\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n\t\t\t:host > div {\n\t\t\t\tanimation-name: spin;\n\t\t\t}\n `,\n this\n );\n }\n}\n\nexport const LoaderRadialClass = compose(\n createStyleMixin({\n mappings: {\n hostDisplay: { property: 'display' },\n spinnerSize: [{ property: 'width' }, { property: 'height' }],\n spinnerBorderWidth: { property: 'border-width' },\n spinnerBorderStyle: { property: 'border-style' },\n spinnerBorderRadius: { property: 'border-radius' },\n spinnerQuadrant1Color: { property: 'border-top-color' },\n spinnerQuadrant2Color: { property: 'border-bottom-color' },\n spinnerQuadrant3Color: { property: 'border-right-color' },\n spinnerQuadrant4Color: { property: 'border-left-color' },\n animationDuration: {},\n animationTimingFunction: {},\n animationIterationCount: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawLoaderRadial);\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":["createBaseInputClass","args","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","INPUT_MASK_TEXT_PROP","INPUT_MASK_DISPLAY_PROP","INPUT_MASK_FALLBACK_PROP","focusElement","ele","focus","setSelectionRange","sanitizeStr","str","replace","toggleMaskVisibility","value","style","setProperty","removeProperty","InputController","constructor","callback","super","initializer","node","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","observedAttributes","forwardAttributes","BaseInputClass","baseSelector","concat","innerHTML","wrapperEle","querySelector","loaderContainer","renderInputs","inputs","Array","digits","keys","map","idx","join","from","querySelectorAll","initInputs","handleLoadingState","isLoading","removeAttribute","parseInt","getAttribute","val","parseInputValue","getValidity","isRequired","valueMissing","RegExp","test","patternMismatch","init","addEventListener","e","isTrusted","getInputIdx","inputEle","getNextInput","currInput","currentIdx","newIdx","Math","min","length","getPrevInput","max","fillDigits","charArr","currentInput","i","nextInput","split","forEach","debouncedHandleParseInput","trailing","setTimeout","inputType","onkeydown","key","includeAttrs","shadowRoot","handleFocusEventsDispatching","handleInputEventDispatching","attributeChangedCallback","attrName","includes","digitField","internalWrapper","focusedDigitField","TextFieldClass","textVars","cssVarList","loaderVars","LoaderRadialClass","PasscodeClass","mappings","digitValueTextColor","digitSize","digitPadding","digitTextAlign","digitCaretTextColor","digitSpacing","digitOutlineColor","digitOutlineWidth","focusedDigitFieldOutlineColor","overlayOpacity","spinnerSize","proxyProps","createElement","baseElement","appendChild","content","cloneNode","slots","wrappedEleName","excludeAttrsSync","RawLoaderRadial","attachShadow","mode","hostDisplay","spinnerBorderWidth","spinnerBorderStyle","spinnerBorderRadius","spinnerQuadrant1Color","spinnerQuadrant2Color","spinnerQuadrant3Color","spinnerQuadrant4Color","animationDuration","animationTimingFunction","animationIterationCount","observedAttrs","useProxyTargets","icon","renderCopyToClipboard","shouldRender","remove","iconInitConfig","title","iconCopiedConfig","Object","assign","slot","navigator","clipboard","writeText","onLabelClick","oldVal","newVal","attributeChangeCallback","removeEventListener"],"sourceRoot":""}
1
+ {"version":3,"file":"descope-passcode-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/./src/baseClasses/createBaseInputClass.js","webpack://@descope/web-components-ui/./src/components/descope-text-field/textFieldMappings.js","webpack://@descope/web-components-ui/./src/components/descope-passcode/descope-passcode-internal/helpers.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-passcode/descope-passcode-internal/PasscodeInternal.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/text-field/theme/lumo/vaadin-text-field-styles.js","webpack://@descope/web-components-ui/./src/components/descope-loader-radial/index.js","webpack://@descope/web-components-ui/./src/components/descope-passcode/PasscodeClass.js","webpack://@descope/web-components-ui/./src/components/descope-passcode/index.js","webpack://@descope/web-components-ui/./src/components/descope-passcode/descope-passcode-internal/index.js","webpack://@descope/web-components-ui/./src/components/descope-loader-radial/LoaderRadialClass.js","webpack://@descope/web-components-ui/./src/components/descope-text-field/TextFieldClass.js"],"sourcesContent":["import { compose } from '../helpers';\nimport {\n changeMixin,\n inputEventsDispatchingMixin,\n inputValidationMixin,\n normalizeBooleanAttributesMixin,\n} from '../mixins';\nimport { createBaseClass } from './createBaseClass';\n\nexport const createBaseInputClass = (...args) =>\n compose(\n inputValidationMixin,\n changeMixin,\n normalizeBooleanAttributesMixin,\n inputEventsDispatchingMixin\n )(createBaseClass(...args));\n","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","export const INPUT_MASK_TEXT_PROP = '--descope-input-mask-content';\nexport const INPUT_MASK_DISPLAY_PROP = '--descope-input-mask-display';\nexport const INPUT_MASK_FALLBACK_PROP = '--descope-input-mask-fallback';\n\nexport const focusElement = (ele) => {\n ele?.focus();\n ele?.setSelectionRange?.(1, 1);\n};\n\nexport const sanitizeStr = (str) => {\n return str.replace(/\\D/g, '') || '';\n};\n\nexport const toggleMaskVisibility = (input, value) => {\n if (value) {\n input.style.setProperty(INPUT_MASK_TEXT_PROP, `\"${value}\"`);\n input.style.setProperty(INPUT_MASK_DISPLAY_PROP, 'flex');\n } else {\n input.style.removeProperty(INPUT_MASK_TEXT_PROP);\n input.style.removeProperty(INPUT_MASK_DISPLAY_PROP);\n }\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","/* eslint-disable no-param-reassign */\nimport debounce from 'lodash.debounce';\nimport { createBaseInputClass } from '../../../baseClasses/createBaseInputClass';\nimport { forwardAttrs, getComponentName } from '../../../helpers/componentHelpers';\nimport {\n sanitizeStr,\n focusElement,\n toggleMaskVisibility,\n INPUT_MASK_FALLBACK_PROP,\n INPUT_MASK_TEXT_PROP,\n INPUT_MASK_DISPLAY_PROP,\n} from './helpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('passcode-internal');\n\nconst observedAttributes = ['digits', 'loading'];\n\nconst forwardAttributes = [\n 'disabled',\n 'bordered',\n 'size',\n 'invalid',\n 'readonly',\n 'aria-labelledby',\n];\n\nconst BaseInputClass = createBaseInputClass({ componentName, baseSelector: 'div' });\n\nclass PasscodeInternal extends BaseInputClass {\n static get observedAttributes() {\n return observedAttributes.concat(BaseInputClass.observedAttributes || []);\n }\n\n constructor() {\n super();\n\n this.innerHTML = `\n\t\t<div class=\"wrapper\"></div>\n\t\t<div class=\"loader-container\">\n <descope-loader-radial size=\"xs\" mode=\"primary\"></descope-loader-radial>\n </div>\n\t\t`;\n\n this.wrapperEle = this.querySelector('.wrapper');\n this.loaderContainer = this.querySelector('.loader-container');\n }\n\n renderInputs() {\n const inputs = [...Array(this.digits).keys()].map(\n (idx) => `\n\t\t<descope-text-field\n\t\t\tdata-id=${idx}\n\t\t\ttype=\"tel\"\n\t\t\tautocomplete=\"one-time-code\"\n\t\t\tinputMode=\"numeric\"\n\t\t></descope-text-field>\n\t`\n );\n\n this.wrapperEle.innerHTML = inputs.join('');\n\n this.inputs = Array.from(this.querySelectorAll('descope-text-field'));\n\n this.initInputs();\n }\n\n handleLoadingState(isLoading) {\n if (isLoading) {\n this.setAttribute('inert', 'true');\n } else {\n this.removeAttribute('inert');\n }\n }\n\n get digits() {\n return Number.parseInt(this.getAttribute('digits'), 10) || 6;\n }\n\n get value() {\n return this.inputs?.map(({ value }) => value).join('') || '';\n }\n\n set value(val) {\n if (val === this.value) return;\n\n this.parseInputValue(this.inputs[0], sanitizeStr(val));\n }\n\n getValidity() {\n if (this.isRequired && !this.value) {\n return { valueMissing: true };\n }\n if (this.pattern && !new RegExp(this.pattern).test(this.value)) {\n return { patternMismatch: true };\n }\n\n return {};\n }\n\n init() {\n // we are adding listeners before calling to super because it's stopping the events\n this.addEventListener('focus', (e) => {\n // we want to ignore focus events we are dispatching\n if (e.isTrusted) this.inputs[0].focus();\n });\n\n super.init?.();\n\n this.renderInputs();\n }\n\n // eslint-disable-next-line class-methods-use-this\n getInputIdx(inputEle) {\n return Number.parseInt(inputEle.getAttribute('data-id'), 10);\n }\n\n getNextInput(currInput) {\n const currentIdx = this.getInputIdx(currInput);\n const newIdx = Math.min(currentIdx + 1, this.inputs.length - 1);\n return this.inputs[newIdx];\n }\n\n getPrevInput(currInput) {\n const currentIdx = this.getInputIdx(currInput);\n const newIdx = Math.max(currentIdx - 1, 0);\n return this.inputs[newIdx];\n }\n\n fillDigits(charArr, currentInput) {\n for (let i = 0; i < charArr.length; i += 1) {\n currentInput.value = charArr[i] ?? '';\n\n const nextInput = this.getNextInput(currentInput);\n\n if (nextInput === currentInput) break;\n currentInput = nextInput;\n }\n\n focusElement(currentInput);\n }\n\n parseInputValue(input, value = '') {\n const charArr = value.split('');\n\n if (!charArr.length) {\n // if we got an invalid value we want to clear the input\n input.value = '';\n } else this.fillDigits(charArr, input);\n }\n\n initInputs() {\n this.inputs.forEach((input) => {\n // During debounced input we hide the value with a mask.\n // This allows us to hide the multiple population of the first input\n // in case of an automated input (e.g. Safari OTP Autofill or paste).\n injectStyle(\n `\n vaadin-text-field::part(input-field)::before {\n ${INPUT_MASK_FALLBACK_PROP}: '';\n content: var(${INPUT_MASK_TEXT_PROP}, var(${INPUT_MASK_FALLBACK_PROP}));\n position: absolute;\n width: 100%;\n height: 100%;\n display: var(${INPUT_MASK_DISPLAY_PROP}, none);\n align-items: center;\n justify-content: center;\n }`,\n input\n );\n\n const handleParseInput = (val) => {\n this.parseInputValue(input, val);\n toggleMaskVisibility(input);\n };\n\n const debouncedHandleParseInput = debounce(handleParseInput, 0, { trailing: true });\n\n // sanitize the input\n input.addEventListener('input', (e) => {\n input.value = sanitizeStr(input.value);\n\n if (input.value) {\n toggleMaskVisibility(input, input.value[0]);\n }\n\n setTimeout(() => {\n if (e?.inputType === 'deleteContentBackward') {\n focusElement(this.getPrevInput(input));\n }\n });\n debouncedHandleParseInput(input.value);\n });\n\n // we want backspace to focus on the previous digit\n input.onkeydown = ({ key }) => {\n // when user deletes a digit, we want to focus the previous digit\n if (key === 'Backspace') {\n // if value is empty then the input element does not fire `input` event\n // if this is the case, we focus the element here.\n // otherwise, the focusElement occurs as part of the `input` event listener\n if (!input.value) {\n setTimeout(() => focusElement(this.getPrevInput(input)), 0);\n } else {\n input.setSelectionRange(1, 1);\n }\n } else if (key.length === 1) {\n // we want only characters and not command keys\n input.value = ''; // we are clearing the previous value so we can override it with the new value\n }\n };\n\n forwardAttrs(this, input, { includeAttrs: forwardAttributes });\n input.shadowRoot.querySelector('input').setAttribute('aria-label', 'passcode digit');\n });\n\n this.handleFocusEventsDispatching(this.inputs);\n this.handleInputEventDispatching();\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n // sync attributes to inputs\n if (oldValue !== newValue) {\n if (observedAttributes.includes(attrName)) {\n if (attrName === 'digits') {\n this.renderInputs();\n }\n if (attrName === 'loading') {\n this.handleLoadingState(newValue === 'true');\n }\n }\n }\n }\n\n get pattern() {\n return `^$|^\\\\d{${this.digits},}$`;\n }\n}\n\nexport default PasscodeInternal;\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, LoaderRadialClass } from './LoaderRadialClass';\n\ncustomElements.define(componentName, LoaderRadialClass);\n\nexport { LoaderRadialClass, componentName };\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n inputOverrideValidConstraintsMixin,\n} from '../../mixins';\nimport { componentName as descopeInternalComponentName } from './descope-passcode-internal/PasscodeInternal';\nimport { TextFieldClass } from '../descope-text-field/TextFieldClass';\nimport { LoaderRadialClass } from '../descope-loader-radial/LoaderRadialClass';\nimport { compose } from '../../helpers';\nimport { forwardAttrs, getComponentName } from '../../helpers/componentHelpers';\nimport {\n resetInputCursor,\n resetInputLabelPosition,\n resetInputFieldDefaultWidth,\n} from '../../helpers/themeHelpers/resetHelpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('passcode');\n\nconst observedAttributes = ['digits'];\n\nconst customMixin = (superclass) =>\n class PasscodeMixinClass extends superclass {\n static get observedAttributes() {\n return observedAttributes.concat(superclass.observedAttributes || []);\n }\n\n get digits() {\n return Number.parseInt(this.getAttribute('digits'), 10) || 6;\n }\n\n init() {\n super.init?.();\n\n injectStyle(\n `\n .wrapper {\n display: flex;\n width: 100%;\n justify-content: space-between;\n direction: ltr;\n position: relative;\n }\n\n descope-text-field {\n direction: ltr;\n }\n\n .loader-container {\n display: none;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n `,\n this\n );\n\n const template = document.createElement('template');\n\n template.innerHTML = `\n <${descopeInternalComponentName}\n bordered=\"true\"\n name=\"code\"\n tabindex=\"-1\"\n slot=\"input\"\n role=\"textbox\"\n ><slot></slot></${descopeInternalComponentName}>\n `;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n\n this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n\n forwardAttrs(this, this.inputElement, {\n includeAttrs: ['digits', 'size', 'loading', 'disabled'],\n });\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (attrName === 'digits') {\n this.style['--passcode-digits-count'] = newValue;\n }\n }\n };\n\nconst {\n host,\n digitField,\n label,\n requiredIndicator,\n internalWrapper,\n focusedDigitField,\n errorMessage,\n} = {\n host: { selector: () => ':host' },\n focusedDigitField: { selector: () => `${TextFieldClass.componentName}[focused=\"true\"]` },\n digitField: { selector: () => TextFieldClass.componentName },\n label: { selector: '::part(label)' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n internalWrapper: { selector: 'descope-passcode-internal .wrapper' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nconst textVars = TextFieldClass.cssVarList;\nconst loaderVars = LoaderRadialClass.cssVarList;\n\nexport const PasscodeClass = compose(\n createStyleMixin({\n mappings: {\n fontSize: [{ ...digitField, property: textVars.fontSize }, host],\n hostWidth: { property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n fontFamily: [host, { ...label }],\n labelTextColor: [\n { ...label, property: 'color' },\n { ...label, property: '-webkit-text-fill-color' },\n { ...requiredIndicator, property: 'color' },\n { ...requiredIndicator, property: '-webkit-text-fill-color' },\n ],\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\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 digitValueTextColor: {\n selector: TextFieldClass.componentName,\n property: textVars.inputValueTextColor,\n },\n digitSize: [\n { ...digitField, property: 'height' },\n { ...digitField, property: 'width' },\n ],\n digitPadding: { ...digitField, property: textVars.inputHorizontalPadding },\n digitTextAlign: { ...digitField, property: textVars.inputTextAlign },\n digitCaretTextColor: { ...digitField, property: textVars.inputCaretTextColor },\n digitSpacing: { ...internalWrapper, property: 'gap' },\n digitOutlineColor: { ...digitField, property: textVars.inputOutlineColor },\n digitOutlineWidth: { ...digitField, property: textVars.inputOutlineWidth },\n\n focusedDigitFieldOutlineColor: { ...focusedDigitField, property: textVars.inputOutlineColor },\n overlayOpacity: { ...internalWrapper, property: 'opacity' },\n spinnerSize: { selector: LoaderRadialClass.componentName, property: loaderVars.spinnerSize },\n },\n }),\n draggableMixin,\n inputOverrideValidConstraintsMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tmax-width: 100%;\n\t\t\t\tmin-width: calc(var(--passcode-digits-count) * 2em);\n\t\t\t}\n\t\t\t${resetInputFieldDefaultWidth()}\n\t\t\t:host::after {\n\t\t\t\tbackground-color: transparent;\n\t\t\t}\n\t\t\t:host::part(input-field)::after {\n\t\t\t\tbackground-color: transparent;\n\t\t\t}\n\n :host([loading=\"true\"]) descope-passcode-internal .loader-container {\n display: block;\n }\n\n\t\t\tdescope-passcode-internal {\n\t\t\t\t-webkit-mask-image: none;\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\tmin-height: initial;\n\t\t\t}\n\n\t\t\tdescope-passcode-internal .wrapper {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tmin-height: initial;\n\t\t\t\theight: 100%;\n\t\t\t\tjustify-content: space-between;\n\t\t\t}\n\n\t\t\tdescope-passcode-internal descope-text-field {\n\t\t\t\tmin-width: 2em;\n\t\t\t\tmax-width: var(${textVars.inputHeight});\n\t\t\t}\n\n\t\t\tvaadin-text-field::part(input-field) {\n\t\t\t\tbackground-color: transparent;\n\t\t\t\tpadding: 0;\n\t\t\t\toverflow: hidden;\n\t\t\t\t-webkit-mask-image: none;\n\t\t\t}\n\n /* safari */\n\t\t\tvaadin-text-field::part(input-field)::after {\n opacity: 0;\n }\n\n\t\t\tvaadin-text-field {\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\tvaadin-text-field::before {\n\t\t\t\theight: 0;\n\t\t\t}\n\n\t\t\tvaadin-text-field[readonly] > input:placeholder-shown {\n\t\t\t\topacity: 1;\n\t\t\t}\n\n\t\t\tvaadin-text-field[readonly]::part(input-field)::after {\n\t\t\t\tborder: 0 solid;\n\t\t\t}\n\n\t\t\tvaadin-text-field::part(input-field) {\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n\n ${resetInputLabelPosition('vaadin-text-field')}\n\t\t\t${resetInputCursor('vaadin-text-field')}\n \t`,\n excludeAttrsSync: ['tabindex', 'style'],\n componentName,\n })\n);\n\nexport default PasscodeClass;\n","import { componentName, PasscodeClass } from './PasscodeClass';\nimport '../descope-text-field';\nimport '../descope-loader-radial';\nimport './descope-passcode-internal';\n\ncustomElements.define(componentName, PasscodeClass);\n\nexport { PasscodeClass, componentName };\n","import PasscodeInternal, { componentName } from './PasscodeInternal';\n\ncustomElements.define(componentName, PasscodeInternal);\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('loader-radial');\n\nclass RawLoaderRadial extends createBaseClass({ componentName, baseSelector: ':host > div' }) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<div></div>\n\t`;\n\n injectStyle(\n `\n @keyframes spin {\n\t\t\t\t0% { transform: rotate(0deg); }\n\t\t\t\t100% { transform: rotate(360deg); }\n\t\t\t}\n\t\t\t:host {\n\t\t\t\tposition: relative;\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n\t\t\t:host > div {\n\t\t\t\tanimation-name: spin;\n\t\t\t}\n `,\n this\n );\n }\n}\n\nexport const LoaderRadialClass = compose(\n createStyleMixin({\n mappings: {\n hostDisplay: { property: 'display' },\n spinnerSize: [{ property: 'width' }, { property: 'height' }],\n spinnerBorderWidth: { property: 'border-width' },\n spinnerBorderStyle: { property: 'border-style' },\n spinnerBorderRadius: { property: 'border-radius' },\n spinnerQuadrant1Color: { property: 'border-top-color' },\n spinnerQuadrant2Color: { property: 'border-bottom-color' },\n spinnerQuadrant3Color: { property: 'border-right-color' },\n spinnerQuadrant4Color: { property: 'border-left-color' },\n animationDuration: {},\n animationTimingFunction: {},\n animationIterationCount: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawLoaderRadial);\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":["createBaseInputClass","args","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","INPUT_MASK_TEXT_PROP","INPUT_MASK_DISPLAY_PROP","INPUT_MASK_FALLBACK_PROP","focusElement","ele","focus","setSelectionRange","sanitizeStr","str","replace","toggleMaskVisibility","value","style","setProperty","removeProperty","InputController","constructor","callback","super","initializer","node","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","observedAttributes","forwardAttributes","BaseInputClass","baseSelector","concat","innerHTML","wrapperEle","querySelector","loaderContainer","renderInputs","inputs","Array","digits","keys","map","idx","join","from","querySelectorAll","initInputs","handleLoadingState","isLoading","removeAttribute","parseInt","getAttribute","val","parseInputValue","getValidity","isRequired","valueMissing","RegExp","test","patternMismatch","init","addEventListener","e","isTrusted","getInputIdx","inputEle","getNextInput","currInput","currentIdx","newIdx","Math","min","length","getPrevInput","max","fillDigits","charArr","currentInput","i","nextInput","split","forEach","debouncedHandleParseInput","trailing","setTimeout","inputType","onkeydown","key","includeAttrs","shadowRoot","handleFocusEventsDispatching","handleInputEventDispatching","attributeChangedCallback","attrName","includes","digitField","internalWrapper","focusedDigitField","TextFieldClass","textVars","cssVarList","loaderVars","LoaderRadialClass","PasscodeClass","mappings","digitValueTextColor","digitSize","digitPadding","digitTextAlign","digitCaretTextColor","digitSpacing","digitOutlineColor","digitOutlineWidth","focusedDigitFieldOutlineColor","overlayOpacity","spinnerSize","proxyProps","createElement","baseElement","appendChild","content","cloneNode","slots","wrappedEleName","excludeAttrsSync","RawLoaderRadial","attachShadow","mode","hostDisplay","spinnerBorderWidth","spinnerBorderStyle","spinnerBorderRadius","spinnerQuadrant1Color","spinnerQuadrant2Color","spinnerQuadrant3Color","spinnerQuadrant4Color","animationDuration","animationTimingFunction","animationIterationCount","observedAttrs","useProxyTargets","icon","renderCopyToClipboard","shouldRender","remove","iconInitConfig","title","iconCopiedConfig","Object","assign","slot","navigator","clipboard","writeText","onLabelClick","oldVal","newVal","attributeChangeCallback","removeEventListener"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[6969],{5810:(t,e,i)=>{i.d(e,{M:()=>f,T:()=>l});var r=i(79365),o=i(9696),s=i(97810),n=i(16616),a=i(73551);const l=(0,s.xE)("password"),{host:p,inputField:d,inputElement:u,inputElementPlaceholder:h,revealButtonContainer:c,revealButtonIcon:b,label:y,requiredIndicator:g,errorMessage:w,helperText:m}={host:{selector:()=>":host"},inputField:{selector:"::part(input-field)"},inputElement:{selector:"> input"},inputElementPlaceholder:{selector:()=>":host input:placeholder-shown"},revealButtonContainer:{selector:"::part(reveal-button)"},revealButtonIcon:{selector:"::part(reveal-button)::before"},label:{selector:"::part(label)"},requiredIndicator:{selector:"[required]::part(required-indicator)::after"},helperText:{selector:"::part(helper-text)"},errorMessage:{selector:"::part(error-message)"}},f=(0,o.Zz)((0,r.RF)({mappings:{hostWidth:{...p,property:"width"},hostMinWidth:{...p,property:"min-width"},hostDirection:{...p,property:"direction"},fontSize:[{},p],fontFamily:[y,d,w,m],inputHeight:{...d,property:"height"},inputHorizontalPadding:[{...u,property:"padding-left"},{...u,property:"padding-right"}],inputBackgroundColor:{...d,property:"background-color"},inputBorderStyle:{...d,property:"border-style"},inputBorderWidth:{...d,property:"border-width"},inputBorderColor:{...d,property:"border-color"},inputBorderRadius:{...d,property:"border-radius"},inputOutlineColor:{...d,property:"outline-color"},inputOutlineStyle:{...d,property:"outline-style"},inputOutlineOffset:{...d,property:"outline-offset"},inputOutlineWidth:{...d,property:"outline-width"},labelFontSize:{...y,property:"font-size"},labelFontWeight:{...y,property:"font-weight"},labelTextColor:[{...y,property:"color"},{...y,property:"-webkit-text-fill-color"},{...g,property:"color"},{...g,property:"-webkit-text-fill-color"}],labelRequiredIndicator:{...g,property:"content"},errorMessageTextColor:{...w,property:"color"},errorMessageIcon:{...w,property:"background-image"},errorMessageIconSize:{...w,property:"background-size"},errorMessageIconPadding:{...w,property:"padding-inline-start"},errorMessageIconRepeat:{...w,property:"background-repeat"},errorMessageIconPosition:{...w,property:"background-position"},errorMessageFontSize:{...w,property:"font-size"},inputPlaceholderTextColor:[{...h,property:"color"},{selector:()=>":host ::slotted(input:placeholder-shown)",property:"color"}],inputValueTextColor:[{...u,property:"color"},{selector:()=>":host ::slotted(input)",property:"color"}],revealButtonOffset:[{...c,property:"margin-right"},{...c,property:"margin-left"}],revealButtonSize:{...c,property:"font-size"},revealButtonColor:{...b,property:"color"},labelPosition:{...y,property:"position"},labelTopPosition:{...y,property:"top"},labelHorizontalPosition:[{...y,property:"left"},{...y,property:"right"}],inputTransformY:{...y,property:"transform"},inputTransition:{...y,property:"transition"},marginInlineStart:{...y,property:"margin-inline-start"},placeholderOpacity:[{selector:"> input:placeholder-shown",property:"opacity"},{...u,property:"opacity"}],inputVerticalAlignment:{...d,property:"align-items"},valueInputHeight:{...u,property:"height"}}}),r.VO,(0,r.RV)({inputType:"password",inputName:"password",includeAttrs:["disabled","readonly","pattern","type","autocomplete"],noBlurDispatch:!0}),(0,r.OZ)({proxyProps:["value","selectionStart"],useProxyTargets:!0}),r.tQ,n.A,t=>class extends t{static get observedAttributes(){return["manual-visibility-toggle"]}get manualToggleVisibility(){return"true"===this.getAttribute("manual-visibility-toggle")}init(){super.init?.(),this.handleCaretOnVisibilityChange(),this.origSetPasswordVisible=this.baseElement._setPasswordVisible,this.origSetFocused=this.baseElement._setFocused,this.baseElement._setFocused=this.setFocus.bind(this),this.initExternalInput()}initExternalInput(){const t=this.createExternalInput();t&&this.handlePasswordVisibility(t)}get caretPosition(){return this.value?.length||0}handleCaretOnVisibilityChange(){const t=this.baseElement._togglePasswordVisibility.bind(this.baseElement);this.baseElement._togglePasswordVisibility=()=>{setTimeout(()=>(t(),this.inputElement.setSelectionRange(this.caretPosition,this.caretPosition),!1))}}setFocus(t){this.manualToggleVisibility&&(this.baseElement._setPasswordVisible=()=>{}),this.origSetFocused.call(this.baseElement,t),this.baseElement._setPasswordVisible=this.origSetPasswordVisible.bind(this.baseElement)}resetPasswordVisibilityToggle(){this.baseElement._setPasswordVisible=this.origSetPasswordVisible,this.baseElement._setFocused=this.origSetFocus}attributeChangedCallback(t,e,i){super.attributeChangedCallback?.(t,e,i)}handlePasswordVisibility(t){const e=this.baseElement.__boundRevealButtonMouseDown;this.baseElement.querySelector("vaadin-password-field-button").removeEventListener("mousedown",e),this.baseElement._passwordVisibleChanged=()=>{},this.baseElement._togglePasswordVisibility=()=>{"password"===t.getAttribute("type")?this.showPasswordVisibility(t):this.hidePasswordVisibility(t)}}showPasswordVisibility(t){t.setAttribute("type","text"),this.setAttribute("password-visible","true")}hidePasswordVisibility(t){t.setAttribute("type","password"),this.setAttribute("password-visible","false")}})((0,r.tz)({slots:["","suffix"],wrappedEleName:"vaadin-password-field",style:()=>`\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tmax-width: 100%;\n\t\t\t\tmin-width: 10em;\n box-sizing: border-box;\n position: relative;\n\t\t\t}\n\t\t\t${(0,a.cy)(f.cssVarList)}\n\t\t\t${(0,a.I4)("vaadin-password-field")}\n ${(0,a.$J)("vaadin-password-field")}\n\n\t\t\tvaadin-password-field {\n\t\t\t\twidth: 100%;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tpadding: 0;\n\t\t\t}\n\t\t\tvaadin-password-field > input {\n -webkit-mask-image: none;\n\t\t\t\tbox-sizing: border-box;\n opacity: 1;\n\t\t\t}\n\t\t\tvaadin-password-field::part(input-field) {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tpadding: 0;\n\t\t\t}\n\t\t\tvaadin-password-field[focus-ring]::part(input-field) {\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n :host ::slotted(input) {\n\t\t\t\tmin-height: 0;\n }\n :host([readonly]) ::slotted(input:placeholder-shown) {\n\t\t\t\topacity: 0;\n\t\t\t}\n\t\t\tvaadin-password-field::before {\n\t\t\t\theight: initial;\n\t\t\t}\n\t\t\tvaadin-password-field::part(input-field)::after {\n\t\t\t\topacity: 0;\n\t\t\t}\n\t\t\tvaadin-password-field-button {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\t\t\t:host([readonly]) vaadin-password-field-button {\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t\tvaadin-password-field-button[focus-ring] {\n\t\t\t\tbox-shadow: 0 0 0 2px var(${f.cssVarList.inputOutlineColor});\n\t\t\t}\n\n ${(0,a.Kl)()}\n\n ::part(reveal-button) {\n align-self: center;\n }\n\n vaadin-password-field[external-input="true"] > input:not(:placeholder-shown) {\n opacity: 0;\n }\n\t\t`,excludeAttrsSync:["tabindex"],componentName:l}))},16616:(t,e,i)=>{i.d(e,{A:()=>r});const r=t=>class extends t{get isReadOnly(){return this.hasAttribute("readonly")&&"false"!==this.getAttribute("readonly")}init(){super.init?.();const t=this.querySelector("input");t?.addEventListener("mousedown",e=>{if(this.isDraggable&&this.isReadOnly){t.setAttribute("inert","true");const i=e.target,r=i.getAttribute("type");i.setAttribute("type","text"),setTimeout(()=>{i.focus()});const o=e=>{i.setAttribute("type",r),t.removeAttribute("inert"),this.removeEventListener("mouseup",o),this.removeEventListener("dragend",o)};this.addEventListener("dragend",o,{once:!0}),this.addEventListener("mouseup",o,{once:!0})}})}}},19169:(t,e,i)=>{i.r(e),i.d(e,{PasswordClass:()=>r.M,componentName:()=>r.T}),i(51899);var r=i(5810);customElements.define(r.T,r.M)}}]);
1
+ "use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[6969],{5810:(t,e,i)=>{i.d(e,{M:()=>f,T:()=>l});var r=i(79365),o=i(9696),s=i(97810),n=i(16616),a=i(73551);const l=(0,s.xE)("password"),{host:p,inputField:d,inputElement:u,inputElementPlaceholder:h,revealButtonContainer:c,revealButtonIcon:b,label:y,requiredIndicator:g,errorMessage:w,helperText:m}={host:{selector:()=>":host"},inputField:{selector:"::part(input-field)"},inputElement:{selector:"> input"},inputElementPlaceholder:{selector:()=>":host input:placeholder-shown"},revealButtonContainer:{selector:"::part(reveal-button)"},revealButtonIcon:{selector:"::part(reveal-button)::before"},label:{selector:"::part(label)"},requiredIndicator:{selector:"[required]::part(required-indicator)::after"},helperText:{selector:"::part(helper-text)"},errorMessage:{selector:"::part(error-message)"}},f=(0,o.Zz)((0,r.RF)({mappings:{hostWidth:{...p,property:"width"},hostMinWidth:{...p,property:"min-width"},hostDirection:{...p,property:"direction"},fontSize:[{},p],fontFamily:[y,d,w,m],inputHeight:{...d,property:"height"},inputHorizontalPadding:[{...u,property:"padding-left"},{...u,property:"padding-right"}],inputBackgroundColor:{...d,property:"background-color"},inputBorderStyle:{...d,property:"border-style"},inputBorderWidth:{...d,property:"border-width"},inputBorderColor:{...d,property:"border-color"},inputBorderRadius:{...d,property:"border-radius"},inputOutlineColor:{...d,property:"outline-color"},inputOutlineStyle:{...d,property:"outline-style"},inputOutlineOffset:{...d,property:"outline-offset"},inputOutlineWidth:{...d,property:"outline-width"},labelFontSize:{...y,property:"font-size"},labelFontWeight:{...y,property:"font-weight"},labelTextColor:[{...y,property:"color"},{...y,property:"-webkit-text-fill-color"},{...g,property:"color"},{...g,property:"-webkit-text-fill-color"}],labelRequiredIndicator:{...g,property:"content"},errorMessageTextColor:{...w,property:"color"},errorMessageIcon:{...w,property:"background-image"},errorMessageIconSize:{...w,property:"background-size"},errorMessageIconPadding:{...w,property:"padding-inline-start"},errorMessageIconRepeat:{...w,property:"background-repeat"},errorMessageIconPosition:{...w,property:"background-position"},errorMessageFontSize:{...w,property:"font-size"},inputPlaceholderTextColor:[{...h,property:"color"},{selector:()=>":host ::slotted(input:placeholder-shown)",property:"color"}],inputValueTextColor:[{...u,property:"color"},{selector:()=>":host ::slotted(input)",property:"color"}],revealButtonOffset:[{...c,property:"margin-right"},{...c,property:"margin-left"}],revealButtonSize:{...c,property:"font-size"},revealButtonColor:{...b,property:"color"},labelPosition:{...y,property:"position"},labelTopPosition:{...y,property:"top"},labelHorizontalPosition:[{...y,property:"left"},{...y,property:"right"}],inputTransformY:{...y,property:"transform"},inputTransition:{...y,property:"transition"},marginInlineStart:{...y,property:"margin-inline-start"},placeholderOpacity:[{selector:"> input:placeholder-shown",property:"opacity"},{...u,property:"opacity"}],inputVerticalAlignment:{...d,property:"align-items"},valueInputHeight:{...u,property:"height"}}}),r.VO,(0,r.RV)({inputType:"password",inputName:"password",includeAttrs:["disabled","readonly","pattern","type","autocomplete"],noBlurDispatch:!0}),(0,r.OZ)({proxyProps:["value","selectionStart"],useProxyTargets:!0}),r.tQ,n.A,t=>class extends t{static get observedAttributes(){return["manual-visibility-toggle"]}get manualToggleVisibility(){return"true"===this.getAttribute("manual-visibility-toggle")}init(){super.init?.(),this.handleCaretOnVisibilityChange(),this.origSetPasswordVisible=this.baseElement._setPasswordVisible,this.origSetFocused=this.baseElement._setFocused,this.baseElement._setFocused=this.setFocus.bind(this),this.initExternalInput()}initExternalInput(){const t=this.createExternalInput();t&&this.handlePasswordVisibility(t)}get caretPosition(){return this.value?.length||0}handleCaretOnVisibilityChange(){const t=this.baseElement._togglePasswordVisibility.bind(this.baseElement);this.baseElement._togglePasswordVisibility=()=>{setTimeout(()=>(t(),this.inputElement.setSelectionRange(this.caretPosition,this.caretPosition),!1))}}setFocus(t){this.manualToggleVisibility&&(this.baseElement._setPasswordVisible=()=>{}),this.origSetFocused.call(this.baseElement,t),this.baseElement._setPasswordVisible=this.origSetPasswordVisible.bind(this.baseElement)}resetPasswordVisibilityToggle(){this.baseElement._setPasswordVisible=this.origSetPasswordVisible,this.baseElement._setFocused=this.origSetFocus}attributeChangedCallback(t,e,i){super.attributeChangedCallback?.(t,e,i)}handlePasswordVisibility(t){const e=this.baseElement.__boundRevealButtonMouseDown;this.baseElement.querySelector("vaadin-password-field-button").removeEventListener("mousedown",e),this.baseElement._passwordVisibleChanged=()=>{},this.baseElement._togglePasswordVisibility=()=>{"password"===t.getAttribute("type")?this.showPasswordVisibility(t):this.hidePasswordVisibility(t)}}showPasswordVisibility(t){t.setAttribute("type","text"),this.setAttribute("password-visible","true")}hidePasswordVisibility(t){t.setAttribute("type","password"),this.setAttribute("password-visible","false")}})((0,r.tz)({slots:["","suffix"],wrappedEleName:"vaadin-password-field",style:()=>`\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tmax-width: 100%;\n\t\t\t\tmin-width: 10em;\n box-sizing: border-box;\n position: relative;\n\t\t\t}\n\t\t\t${(0,a.cy)(f.cssVarList)}\n\t\t\t${(0,a.I4)("vaadin-password-field")}\n ${(0,a.$J)("vaadin-password-field")}\n\n\t\t\tvaadin-password-field {\n\t\t\t\twidth: 100%;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tpadding: 0;\n\t\t\t}\n\t\t\tvaadin-password-field > input {\n -webkit-mask-image: none;\n\t\t\t\tbox-sizing: border-box;\n opacity: 1;\n\t\t\t}\n\t\t\tvaadin-password-field::part(input-field) {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tpadding: 0;\n\t\t\t}\n\t\t\tvaadin-password-field[focus-ring]::part(input-field) {\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n :host ::slotted(input) {\n\t\t\t\tmin-height: 0;\n }\n :host([readonly]) ::slotted(input:placeholder-shown) {\n\t\t\t\topacity: 0;\n\t\t\t}\n\t\t\tvaadin-password-field::before {\n\t\t\t\theight: initial;\n\t\t\t}\n\t\t\tvaadin-password-field::part(input-field)::after {\n\t\t\t\topacity: 0;\n\t\t\t}\n\t\t\tvaadin-password-field-button {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\t\t\t:host([readonly]) vaadin-password-field-button {\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t\tvaadin-password-field-button[focus-ring] {\n\t\t\t\tbox-shadow: 0 0 0 2px var(${f.cssVarList.inputOutlineColor});\n\t\t\t}\n\n ${(0,a.Kl)()}\n\n ::part(reveal-button) {\n align-self: center;\n }\n\n vaadin-password-field[external-input="true"] > input:not(:placeholder-shown) {\n opacity: 0;\n }\n\t\t`,excludeAttrsSync:["tabindex","style"],componentName:l}))},16616:(t,e,i)=>{i.d(e,{A:()=>r});const r=t=>class extends t{get isReadOnly(){return this.hasAttribute("readonly")&&"false"!==this.getAttribute("readonly")}init(){super.init?.();const t=this.querySelector("input");t?.addEventListener("mousedown",e=>{if(this.isDraggable&&this.isReadOnly){t.setAttribute("inert","true");const i=e.target,r=i.getAttribute("type");i.setAttribute("type","text"),setTimeout(()=>{i.focus()});const o=e=>{i.setAttribute("type",r),t.removeAttribute("inert"),this.removeEventListener("mouseup",o),this.removeEventListener("dragend",o)};this.addEventListener("dragend",o,{once:!0}),this.addEventListener("mouseup",o,{once:!0})}})}}},19169:(t,e,i)=>{i.r(e),i.d(e,{PasswordClass:()=>r.M,componentName:()=>r.T}),i(51899);var r=i(5810);customElements.define(r.T,r.M)}}]);
2
2
  //# sourceMappingURL=descope-password-index-js.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"descope-password-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/./src/components/descope-password/PasswordClass.js","webpack://@descope/web-components-ui/./src/components/descope-password/passwordDraggableMixin.js","webpack://@descope/web-components-ui/./src/components/descope-password/index.js"],"sourcesContent":["import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n externalInputMixin,\n} from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport passwordDraggableMixin from './passwordDraggableMixin';\nimport {\n resetInputLabelPosition,\n resetInputCursor,\n useHostExternalPadding,\n inputFloatingLabelStyle,\n} from '../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('password');\n\nconst customMixin = (superclass) =>\n class PasswordFieldMixinClass extends superclass {\n static get observedAttributes() {\n return ['manual-visibility-toggle'];\n }\n\n get manualToggleVisibility() {\n return this.getAttribute('manual-visibility-toggle') === 'true';\n }\n\n init() {\n super.init?.();\n this.handleCaretOnVisibilityChange();\n this.origSetPasswordVisible = this.baseElement._setPasswordVisible;\n this.origSetFocused = this.baseElement._setFocused;\n this.baseElement._setFocused = this.setFocus.bind(this);\n\n this.initExternalInput();\n }\n\n initExternalInput() {\n const externalInput = this.createExternalInput();\n if (externalInput) {\n this.handlePasswordVisibility(externalInput);\n }\n }\n\n get caretPosition() {\n return this.value?.length || 0;\n }\n\n handleCaretOnVisibilityChange() {\n const origTogglePasswordVisibility = this.baseElement._togglePasswordVisibility.bind(\n this.baseElement\n );\n this.baseElement._togglePasswordVisibility = () => {\n setTimeout(() => {\n origTogglePasswordVisibility();\n this.inputElement.setSelectionRange(this.caretPosition, this.caretPosition);\n return false;\n });\n };\n }\n\n // We use `manual-visibility-toggle` to to toggle the password's visibility\n // even if the input field is focused-out. However, on focusout - Vaadin resets\n // password visibility. Since we don't want to override Vaadin's native setFocus\n // function (which is part of their FocusMixin).\n // So, here we override the part of logic that runs within Vaadin's setFocus that reports\n // the password visibility state. This logic is part of our `manual-visibility-toggle` only.\n setFocus(focused) {\n if (this.manualToggleVisibility) {\n this.baseElement._setPasswordVisible = () => {};\n }\n this.origSetFocused.call(this.baseElement, focused);\n this.baseElement._setPasswordVisible = this.origSetPasswordVisible.bind(this.baseElement);\n }\n\n resetPasswordVisibilityToggle() {\n this.baseElement._setPasswordVisible = this.origSetPasswordVisible;\n this.baseElement._setFocused = this.origSetFocus;\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n }\n\n // override vaadin's password visibility toggle.\n // we need this override in order to to resolve the external input `focus` race condition,\n // which is caused due to the focus sync between the two inputs.\n handlePasswordVisibility(externalInput) {\n // disable vaadin's `__boundRevealButtonMouseDown` mouse-down event lisetener\n const origBoundRevealButtonMouseDown = this.baseElement.__boundRevealButtonMouseDown;\n this.baseElement\n .querySelector('vaadin-password-field-button')\n .removeEventListener('mousedown', origBoundRevealButtonMouseDown);\n\n // disable vaadin's `_passwordVisibleChanged` observer\n this.baseElement._passwordVisibleChanged = () => {};\n\n // override vaadin's `_togglePasswordVisibility`\n this.baseElement._togglePasswordVisibility = () => {\n const currVisibility = externalInput.getAttribute('type');\n if (currVisibility === 'password') {\n this.showPasswordVisibility(externalInput);\n } else {\n this.hidePasswordVisibility(externalInput);\n }\n };\n }\n\n showPasswordVisibility(input) {\n // handle input element's type\n input.setAttribute('type', 'text');\n // handle vaadin's `password-visible` attribute\n this.setAttribute('password-visible', 'true');\n }\n\n hidePasswordVisibility(input) {\n // handle input element's type\n input.setAttribute('type', 'password');\n // handle vaadin's `password-visible` attribute\n this.setAttribute('password-visible', 'false');\n }\n };\n\nconst {\n host,\n inputField,\n inputElement,\n inputElementPlaceholder,\n revealButtonContainer,\n revealButtonIcon,\n label,\n requiredIndicator,\n errorMessage,\n helperText,\n} = {\n host: { selector: () => ':host' },\n inputField: { selector: '::part(input-field)' },\n inputElement: { selector: '> input' },\n inputElementPlaceholder: { selector: () => ':host input:placeholder-shown' },\n revealButtonContainer: { selector: '::part(reveal-button)' },\n revealButtonIcon: { selector: '::part(reveal-button)::before' },\n label: { selector: '::part(label)' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nexport const PasswordClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostMinWidth: { ...host, property: 'min-width' },\n hostDirection: { ...host, property: 'direction' },\n fontSize: [{}, host],\n fontFamily: [label, inputField, errorMessage, helperText],\n inputHeight: { ...inputField, property: 'height' },\n inputHorizontalPadding: [\n { ...inputElement, property: 'padding-left' },\n { ...inputElement, property: 'padding-right' },\n ],\n inputBackgroundColor: { ...inputField, property: 'background-color' },\n\n inputBorderStyle: { ...inputField, property: 'border-style' },\n inputBorderWidth: { ...inputField, property: 'border-width' },\n inputBorderColor: { ...inputField, property: 'border-color' },\n inputBorderRadius: { ...inputField, property: 'border-radius' },\n\n inputOutlineColor: { ...inputField, property: 'outline-color' },\n inputOutlineStyle: { ...inputField, property: 'outline-style' },\n inputOutlineOffset: { ...inputField, property: 'outline-offset' },\n inputOutlineWidth: { ...inputField, property: 'outline-width' },\n\n labelFontSize: { ...label, property: 'font-size' },\n labelFontWeight: { ...label, property: 'font-weight' },\n labelTextColor: [\n { ...label, property: 'color' },\n { ...label, property: '-webkit-text-fill-color' },\n { ...requiredIndicator, property: 'color' },\n { ...requiredIndicator, property: '-webkit-text-fill-color' },\n ],\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\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 inputPlaceholderTextColor: [\n { ...inputElementPlaceholder, property: 'color' },\n { selector: () => ':host ::slotted(input:placeholder-shown)', property: 'color' },\n ],\n inputValueTextColor: [\n { ...inputElement, property: 'color' },\n { selector: () => ':host ::slotted(input)', property: 'color' },\n ],\n\n revealButtonOffset: [\n { ...revealButtonContainer, property: 'margin-right' },\n { ...revealButtonContainer, property: 'margin-left' },\n ],\n revealButtonSize: { ...revealButtonContainer, property: 'font-size' },\n revealButtonColor: { ...revealButtonIcon, property: 'color' },\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 { ...inputElement, property: 'opacity' },\n ],\n inputVerticalAlignment: { ...inputField, property: 'align-items' },\n valueInputHeight: { ...inputElement, property: 'height' },\n },\n }),\n draggableMixin,\n externalInputMixin({\n inputType: 'password',\n inputName: 'password',\n includeAttrs: ['disabled', 'readonly', 'pattern', 'type', 'autocomplete'],\n noBlurDispatch: true,\n }),\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'], useProxyTargets: true }),\n componentNameValidationMixin,\n passwordDraggableMixin,\n customMixin\n)(\n createProxy({\n slots: ['', 'suffix'],\n wrappedEleName: 'vaadin-password-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\tmin-width: 10em;\n box-sizing: border-box;\n position: relative;\n\t\t\t}\n\t\t\t${useHostExternalPadding(PasswordClass.cssVarList)}\n\t\t\t${resetInputCursor('vaadin-password-field')}\n ${resetInputLabelPosition('vaadin-password-field')}\n\n\t\t\tvaadin-password-field {\n\t\t\t\twidth: 100%;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tpadding: 0;\n\t\t\t}\n\t\t\tvaadin-password-field > input {\n -webkit-mask-image: none;\n\t\t\t\tbox-sizing: border-box;\n opacity: 1;\n\t\t\t}\n\t\t\tvaadin-password-field::part(input-field) {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tpadding: 0;\n\t\t\t}\n\t\t\tvaadin-password-field[focus-ring]::part(input-field) {\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n :host ::slotted(input) {\n\t\t\t\tmin-height: 0;\n }\n :host([readonly]) ::slotted(input:placeholder-shown) {\n\t\t\t\topacity: 0;\n\t\t\t}\n\t\t\tvaadin-password-field::before {\n\t\t\t\theight: initial;\n\t\t\t}\n\t\t\tvaadin-password-field::part(input-field)::after {\n\t\t\t\topacity: 0;\n\t\t\t}\n\t\t\tvaadin-password-field-button {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\t\t\t:host([readonly]) vaadin-password-field-button {\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t\tvaadin-password-field-button[focus-ring] {\n\t\t\t\tbox-shadow: 0 0 0 2px var(${PasswordClass.cssVarList.inputOutlineColor});\n\t\t\t}\n\n ${inputFloatingLabelStyle()}\n\n ::part(reveal-button) {\n align-self: center;\n }\n\n vaadin-password-field[external-input=\"true\"] > input:not(:placeholder-shown) {\n opacity: 0;\n }\n\t\t`,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n","const passwordDraggableMixin = (superclass) =>\n class PasswordDraggableMixinClass extends superclass {\n get isReadOnly() {\n return this.hasAttribute('readonly') && this.getAttribute('readonly') !== 'false';\n }\n\n init() {\n // there is an issue in Chrome that input field with type password cannot be D&D\n // so in case the input is draggable & readonly, we are changing the input type to \"text\" before dragging\n // and return the original type when done\n super.init?.();\n\n const ele = this.querySelector('input');\n\n ele?.addEventListener('mousedown', (e) => {\n if (this.isDraggable && this.isReadOnly) {\n ele.setAttribute('inert', 'true');\n\n const inputEle = e.target;\n const prevType = inputEle.getAttribute('type');\n inputEle.setAttribute('type', 'text');\n setTimeout(() => {\n inputEle.focus();\n });\n\n const onComplete = (_) => {\n inputEle.setAttribute('type', prevType);\n ele.removeAttribute('inert');\n this.removeEventListener('mouseup', onComplete);\n this.removeEventListener('dragend', onComplete);\n };\n\n this.addEventListener('dragend', onComplete, { once: true });\n this.addEventListener('mouseup', onComplete, { once: true });\n }\n });\n }\n };\n\nexport default passwordDraggableMixin;\n","import '@vaadin/password-field';\nimport { componentName, PasswordClass } from './PasswordClass';\n\ncustomElements.define(componentName, PasswordClass);\n\nexport { PasswordClass, componentName };\n"],"names":["componentName","host","inputField","inputElement","inputElementPlaceholder","revealButtonContainer","revealButtonIcon","label","requiredIndicator","errorMessage","helperText","selector","PasswordClass","mappings","hostWidth","property","hostMinWidth","hostDirection","fontSize","fontFamily","inputHeight","inputHorizontalPadding","inputBackgroundColor","inputBorderStyle","inputBorderWidth","inputBorderColor","inputBorderRadius","inputOutlineColor","inputOutlineStyle","inputOutlineOffset","inputOutlineWidth","labelFontSize","labelFontWeight","labelTextColor","labelRequiredIndicator","errorMessageTextColor","errorMessageIcon","errorMessageIconSize","errorMessageIconPadding","errorMessageIconRepeat","errorMessageIconPosition","errorMessageFontSize","inputPlaceholderTextColor","inputValueTextColor","revealButtonOffset","revealButtonSize","revealButtonColor","labelPosition","labelTopPosition","labelHorizontalPosition","inputTransformY","inputTransition","marginInlineStart","placeholderOpacity","inputVerticalAlignment","valueInputHeight","inputType","inputName","includeAttrs","noBlurDispatch","proxyProps","useProxyTargets","superclass","observedAttributes","manualToggleVisibility","this","getAttribute","init","super","handleCaretOnVisibilityChange","origSetPasswordVisible","baseElement","_setPasswordVisible","origSetFocused","_setFocused","setFocus","bind","initExternalInput","externalInput","createExternalInput","handlePasswordVisibility","caretPosition","value","length","origTogglePasswordVisibility","_togglePasswordVisibility","setTimeout","setSelectionRange","focused","call","resetPasswordVisibilityToggle","origSetFocus","attributeChangedCallback","attrName","oldValue","newValue","origBoundRevealButtonMouseDown","__boundRevealButtonMouseDown","querySelector","removeEventListener","_passwordVisibleChanged","showPasswordVisibility","hidePasswordVisibility","input","setAttribute","slots","wrappedEleName","style","cssVarList","excludeAttrsSync","isReadOnly","hasAttribute","ele","addEventListener","e","isDraggable","inputEle","target","prevType","focus","onComplete","_","removeAttribute","once","customElements","define"],"sourceRoot":""}
1
+ {"version":3,"file":"descope-password-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/./src/components/descope-password/PasswordClass.js","webpack://@descope/web-components-ui/./src/components/descope-password/passwordDraggableMixin.js","webpack://@descope/web-components-ui/./src/components/descope-password/index.js"],"sourcesContent":["import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n externalInputMixin,\n} from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport passwordDraggableMixin from './passwordDraggableMixin';\nimport {\n resetInputLabelPosition,\n resetInputCursor,\n useHostExternalPadding,\n inputFloatingLabelStyle,\n} from '../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('password');\n\nconst customMixin = (superclass) =>\n class PasswordFieldMixinClass extends superclass {\n static get observedAttributes() {\n return ['manual-visibility-toggle'];\n }\n\n get manualToggleVisibility() {\n return this.getAttribute('manual-visibility-toggle') === 'true';\n }\n\n init() {\n super.init?.();\n this.handleCaretOnVisibilityChange();\n this.origSetPasswordVisible = this.baseElement._setPasswordVisible;\n this.origSetFocused = this.baseElement._setFocused;\n this.baseElement._setFocused = this.setFocus.bind(this);\n\n this.initExternalInput();\n }\n\n initExternalInput() {\n const externalInput = this.createExternalInput();\n if (externalInput) {\n this.handlePasswordVisibility(externalInput);\n }\n }\n\n get caretPosition() {\n return this.value?.length || 0;\n }\n\n handleCaretOnVisibilityChange() {\n const origTogglePasswordVisibility = this.baseElement._togglePasswordVisibility.bind(\n this.baseElement\n );\n this.baseElement._togglePasswordVisibility = () => {\n setTimeout(() => {\n origTogglePasswordVisibility();\n this.inputElement.setSelectionRange(this.caretPosition, this.caretPosition);\n return false;\n });\n };\n }\n\n // We use `manual-visibility-toggle` to to toggle the password's visibility\n // even if the input field is focused-out. However, on focusout - Vaadin resets\n // password visibility. Since we don't want to override Vaadin's native setFocus\n // function (which is part of their FocusMixin).\n // So, here we override the part of logic that runs within Vaadin's setFocus that reports\n // the password visibility state. This logic is part of our `manual-visibility-toggle` only.\n setFocus(focused) {\n if (this.manualToggleVisibility) {\n this.baseElement._setPasswordVisible = () => {};\n }\n this.origSetFocused.call(this.baseElement, focused);\n this.baseElement._setPasswordVisible = this.origSetPasswordVisible.bind(this.baseElement);\n }\n\n resetPasswordVisibilityToggle() {\n this.baseElement._setPasswordVisible = this.origSetPasswordVisible;\n this.baseElement._setFocused = this.origSetFocus;\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n }\n\n // override vaadin's password visibility toggle.\n // we need this override in order to to resolve the external input `focus` race condition,\n // which is caused due to the focus sync between the two inputs.\n handlePasswordVisibility(externalInput) {\n // disable vaadin's `__boundRevealButtonMouseDown` mouse-down event lisetener\n const origBoundRevealButtonMouseDown = this.baseElement.__boundRevealButtonMouseDown;\n this.baseElement\n .querySelector('vaadin-password-field-button')\n .removeEventListener('mousedown', origBoundRevealButtonMouseDown);\n\n // disable vaadin's `_passwordVisibleChanged` observer\n this.baseElement._passwordVisibleChanged = () => {};\n\n // override vaadin's `_togglePasswordVisibility`\n this.baseElement._togglePasswordVisibility = () => {\n const currVisibility = externalInput.getAttribute('type');\n if (currVisibility === 'password') {\n this.showPasswordVisibility(externalInput);\n } else {\n this.hidePasswordVisibility(externalInput);\n }\n };\n }\n\n showPasswordVisibility(input) {\n // handle input element's type\n input.setAttribute('type', 'text');\n // handle vaadin's `password-visible` attribute\n this.setAttribute('password-visible', 'true');\n }\n\n hidePasswordVisibility(input) {\n // handle input element's type\n input.setAttribute('type', 'password');\n // handle vaadin's `password-visible` attribute\n this.setAttribute('password-visible', 'false');\n }\n };\n\nconst {\n host,\n inputField,\n inputElement,\n inputElementPlaceholder,\n revealButtonContainer,\n revealButtonIcon,\n label,\n requiredIndicator,\n errorMessage,\n helperText,\n} = {\n host: { selector: () => ':host' },\n inputField: { selector: '::part(input-field)' },\n inputElement: { selector: '> input' },\n inputElementPlaceholder: { selector: () => ':host input:placeholder-shown' },\n revealButtonContainer: { selector: '::part(reveal-button)' },\n revealButtonIcon: { selector: '::part(reveal-button)::before' },\n label: { selector: '::part(label)' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nexport const PasswordClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostMinWidth: { ...host, property: 'min-width' },\n hostDirection: { ...host, property: 'direction' },\n fontSize: [{}, host],\n fontFamily: [label, inputField, errorMessage, helperText],\n inputHeight: { ...inputField, property: 'height' },\n inputHorizontalPadding: [\n { ...inputElement, property: 'padding-left' },\n { ...inputElement, property: 'padding-right' },\n ],\n inputBackgroundColor: { ...inputField, property: 'background-color' },\n\n inputBorderStyle: { ...inputField, property: 'border-style' },\n inputBorderWidth: { ...inputField, property: 'border-width' },\n inputBorderColor: { ...inputField, property: 'border-color' },\n inputBorderRadius: { ...inputField, property: 'border-radius' },\n\n inputOutlineColor: { ...inputField, property: 'outline-color' },\n inputOutlineStyle: { ...inputField, property: 'outline-style' },\n inputOutlineOffset: { ...inputField, property: 'outline-offset' },\n inputOutlineWidth: { ...inputField, property: 'outline-width' },\n\n labelFontSize: { ...label, property: 'font-size' },\n labelFontWeight: { ...label, property: 'font-weight' },\n labelTextColor: [\n { ...label, property: 'color' },\n { ...label, property: '-webkit-text-fill-color' },\n { ...requiredIndicator, property: 'color' },\n { ...requiredIndicator, property: '-webkit-text-fill-color' },\n ],\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\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 inputPlaceholderTextColor: [\n { ...inputElementPlaceholder, property: 'color' },\n { selector: () => ':host ::slotted(input:placeholder-shown)', property: 'color' },\n ],\n inputValueTextColor: [\n { ...inputElement, property: 'color' },\n { selector: () => ':host ::slotted(input)', property: 'color' },\n ],\n\n revealButtonOffset: [\n { ...revealButtonContainer, property: 'margin-right' },\n { ...revealButtonContainer, property: 'margin-left' },\n ],\n revealButtonSize: { ...revealButtonContainer, property: 'font-size' },\n revealButtonColor: { ...revealButtonIcon, property: 'color' },\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 { ...inputElement, property: 'opacity' },\n ],\n inputVerticalAlignment: { ...inputField, property: 'align-items' },\n valueInputHeight: { ...inputElement, property: 'height' },\n },\n }),\n draggableMixin,\n externalInputMixin({\n inputType: 'password',\n inputName: 'password',\n includeAttrs: ['disabled', 'readonly', 'pattern', 'type', 'autocomplete'],\n noBlurDispatch: true,\n }),\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'], useProxyTargets: true }),\n componentNameValidationMixin,\n passwordDraggableMixin,\n customMixin\n)(\n createProxy({\n slots: ['', 'suffix'],\n wrappedEleName: 'vaadin-password-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\tmin-width: 10em;\n box-sizing: border-box;\n position: relative;\n\t\t\t}\n\t\t\t${useHostExternalPadding(PasswordClass.cssVarList)}\n\t\t\t${resetInputCursor('vaadin-password-field')}\n ${resetInputLabelPosition('vaadin-password-field')}\n\n\t\t\tvaadin-password-field {\n\t\t\t\twidth: 100%;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tpadding: 0;\n\t\t\t}\n\t\t\tvaadin-password-field > input {\n -webkit-mask-image: none;\n\t\t\t\tbox-sizing: border-box;\n opacity: 1;\n\t\t\t}\n\t\t\tvaadin-password-field::part(input-field) {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tpadding: 0;\n\t\t\t}\n\t\t\tvaadin-password-field[focus-ring]::part(input-field) {\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n :host ::slotted(input) {\n\t\t\t\tmin-height: 0;\n }\n :host([readonly]) ::slotted(input:placeholder-shown) {\n\t\t\t\topacity: 0;\n\t\t\t}\n\t\t\tvaadin-password-field::before {\n\t\t\t\theight: initial;\n\t\t\t}\n\t\t\tvaadin-password-field::part(input-field)::after {\n\t\t\t\topacity: 0;\n\t\t\t}\n\t\t\tvaadin-password-field-button {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\t\t\t:host([readonly]) vaadin-password-field-button {\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t\tvaadin-password-field-button[focus-ring] {\n\t\t\t\tbox-shadow: 0 0 0 2px var(${PasswordClass.cssVarList.inputOutlineColor});\n\t\t\t}\n\n ${inputFloatingLabelStyle()}\n\n ::part(reveal-button) {\n align-self: center;\n }\n\n vaadin-password-field[external-input=\"true\"] > input:not(:placeholder-shown) {\n opacity: 0;\n }\n\t\t`,\n excludeAttrsSync: ['tabindex', 'style'],\n componentName,\n })\n);\n","const passwordDraggableMixin = (superclass) =>\n class PasswordDraggableMixinClass extends superclass {\n get isReadOnly() {\n return this.hasAttribute('readonly') && this.getAttribute('readonly') !== 'false';\n }\n\n init() {\n // there is an issue in Chrome that input field with type password cannot be D&D\n // so in case the input is draggable & readonly, we are changing the input type to \"text\" before dragging\n // and return the original type when done\n super.init?.();\n\n const ele = this.querySelector('input');\n\n ele?.addEventListener('mousedown', (e) => {\n if (this.isDraggable && this.isReadOnly) {\n ele.setAttribute('inert', 'true');\n\n const inputEle = e.target;\n const prevType = inputEle.getAttribute('type');\n inputEle.setAttribute('type', 'text');\n setTimeout(() => {\n inputEle.focus();\n });\n\n const onComplete = (_) => {\n inputEle.setAttribute('type', prevType);\n ele.removeAttribute('inert');\n this.removeEventListener('mouseup', onComplete);\n this.removeEventListener('dragend', onComplete);\n };\n\n this.addEventListener('dragend', onComplete, { once: true });\n this.addEventListener('mouseup', onComplete, { once: true });\n }\n });\n }\n };\n\nexport default passwordDraggableMixin;\n","import '@vaadin/password-field';\nimport { componentName, PasswordClass } from './PasswordClass';\n\ncustomElements.define(componentName, PasswordClass);\n\nexport { PasswordClass, componentName };\n"],"names":["componentName","host","inputField","inputElement","inputElementPlaceholder","revealButtonContainer","revealButtonIcon","label","requiredIndicator","errorMessage","helperText","selector","PasswordClass","mappings","hostWidth","property","hostMinWidth","hostDirection","fontSize","fontFamily","inputHeight","inputHorizontalPadding","inputBackgroundColor","inputBorderStyle","inputBorderWidth","inputBorderColor","inputBorderRadius","inputOutlineColor","inputOutlineStyle","inputOutlineOffset","inputOutlineWidth","labelFontSize","labelFontWeight","labelTextColor","labelRequiredIndicator","errorMessageTextColor","errorMessageIcon","errorMessageIconSize","errorMessageIconPadding","errorMessageIconRepeat","errorMessageIconPosition","errorMessageFontSize","inputPlaceholderTextColor","inputValueTextColor","revealButtonOffset","revealButtonSize","revealButtonColor","labelPosition","labelTopPosition","labelHorizontalPosition","inputTransformY","inputTransition","marginInlineStart","placeholderOpacity","inputVerticalAlignment","valueInputHeight","inputType","inputName","includeAttrs","noBlurDispatch","proxyProps","useProxyTargets","superclass","observedAttributes","manualToggleVisibility","this","getAttribute","init","super","handleCaretOnVisibilityChange","origSetPasswordVisible","baseElement","_setPasswordVisible","origSetFocused","_setFocused","setFocus","bind","initExternalInput","externalInput","createExternalInput","handlePasswordVisibility","caretPosition","value","length","origTogglePasswordVisibility","_togglePasswordVisibility","setTimeout","setSelectionRange","focused","call","resetPasswordVisibilityToggle","origSetFocus","attributeChangedCallback","attrName","oldValue","newValue","origBoundRevealButtonMouseDown","__boundRevealButtonMouseDown","querySelector","removeEventListener","_passwordVisibleChanged","showPasswordVisibility","hidePasswordVisibility","input","setAttribute","slots","wrappedEleName","style","cssVarList","excludeAttrsSync","isReadOnly","hasAttribute","ele","addEventListener","e","isDraggable","inputEle","target","prevType","focus","onComplete","_","removeAttribute","once","customElements","define"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[9399],{6424:(e,t,r)=>{r.d(t,{A:()=>x});const{host:o,label:i,placeholder:l,requiredIndicator:a,inputField:p,input:n,inputMask:s,helperText:d,errorMessage:c,disabledPlaceholder:u,inputDisabled:h,inputIcon:y,externalInput:b,externalInputDisabled:g,externalPlaceholder:m,externalDisabledPlaceholder:f}={host:{selector:()=>":host"},label:{selector:"::part(label)"},requiredIndicator:{selector:"[required]::part(required-indicator)::after"},placeholder:[{selector:"> input:placeholder-shown"},{selector:()=>":host::slotted(input:placeholder-shown)"}],disabledPlaceholder:{selector:"> input:disabled::placeholder"},inputField:{selector:"::part(input-field)"},input:{selector:"input"},inputMask:{selector:"::part(input-field)::before"},inputDisabled:{selector:"input:disabled"},helperText:{selector:"::part(helper-text)"},errorMessage:{selector:"::part(error-message)"},inputIcon:{selector:"vaadin-icon"},externalInput:{selector:()=>"::slotted(input)"},externalInputDisabled:{selector:()=>"::slotted(input:disabled)"},externalPlaceholder:{selector:()=>"::slotted(input:placeholder-shown)"},externalDisabledPlaceholder:{selector:()=>"::slotted(input:disabled::placeholder)"}},x={fontSize:[{},o],fontFamily:[i,p,d,c],labelFontSize:{...i,property:"font-size"},labelFontWeight:{...i,property:"font-weight"},labelTextColor:[{...i,property:"color"},{...a,property:"color"},{...i,property:"-webkit-text-fill-color"},{...a,property:"-webkit-text-fill-color"}],hostWidth:{...o,property:"width"},hostMinWidth:{...o,property:"min-width"},hostDirection:{...o,property:"direction"},inputDirection:{...n,property:"direction"},inputBackgroundColor:[{...p,property:"background-color"},{...s,property:"background-color"}],errorMessageTextColor:{...c,property:"color"},errorMessageIcon:{...c,property:"background-image"},errorMessageIconSize:{...c,property:"background-size"},errorMessageIconPadding:{...c,property:"padding-inline-start"},errorMessageIconRepeat:{...c,property:"background-repeat"},errorMessageIconPosition:{...c,property:"background-position"},errorMessageFontSize:{...c,property:"font-size"},helperTextColor:{...d,property:"-webkit-text-fill-color"},inputValueTextColor:[{...p,property:"color"},{...h,property:"-webkit-text-fill-color"},{...g,property:"-webkit-text-fill-color"}],inputCaretTextColor:[{...n,property:"caret-color"},{...b,property:"caret-color"}],labelRequiredIndicator:{...a,property:"content"},inputBorderColor:{...p,property:"border-color"},inputBorderWidth:{...p,property:"border-width"},inputBorderStyle:{...p,property:"border-style"},inputBorderRadius:{...p,property:"border-radius"},inputHeight:{...p,property:"height"},inputHorizontalPadding:[{...n,property:"padding-left"},{...n,property:"padding-right"},{...b,property:"padding-left"},{...b,property:"padding-right"}],inputOutlineColor:{...p,property:"outline-color"},inputOutlineStyle:{...p,property:"outline-style"},inputOutlineWidth:{...p,property:"outline-width"},inputOutlineOffset:{...p,property:"outline-offset"},textAlign:{},inputTextAlign:[{...n,property:"text-align"},{...b,property:"text-align"}],inputPlaceholderColor:[{selector:()=>":host input:placeholder-shown",property:"color"},{...m,property:"color"},{...l,property:"color"},{...u,property:"-webkit-text-fill-color"},{...f,property:"-webkit-text-fill-color"}],labelPosition:{...i,property:"position"},labelTopPosition:{...i,property:"top"},labelHorizontalPosition:[{...i,property:"left"},{...i,property:"right"}],inputTransformY:{...i,property:"transform"},inputTransition:{...i,property:"transition"},marginInlineStart:{...i,property:"margin-inline-start"},placeholderOpacity:[{selector:"> input:placeholder-shown",property:"opacity"},{...m,property:"opacity"}],inputVerticalAlignment:[{...p,property:"align-items"},{...b,property:"align-items"}],valueInputHeight:[{...n,property:"height"},{...b,property:"height"}],valueInputMarginBottom:[{...n,property:"margin-bottom"},{...b,property:"margin-bottom"}],inputIconOffset:[{...y,property:"margin-right"},{...y,property:"margin-left"}],inputIconSize:{...y,property:"font-size"},inputIconColor:{...y,property:"color"}}},40649:(e,t,r)=>{r.r(t),r.d(t,{RadioGroupClass:()=>c,componentName:()=>d});var o=r(9696),i=r(97810),l=r(73551),a=r(79365),p=r(6424);const n=(0,i.xE)("radio-button"),s=(0,o.Zz)((0,a.RF)({mappings:{cursor:[{},{selector:"label"}],fontSize:[{selector:"label"},{}],labelTextColor:{selector:"label",property:"color"},fontFamily:{selector:"label"},radioSize:[{selector:"::part(radio)",property:"height"},{selector:"::part(radio)",property:"width"}],radioBackgroundColor:{selector:"::part(radio)",property:"background-color"},radioMargin:{selector:"::part(radio)",property:"margin"},radioCheckedSize:{selector:"::part(radio)::after",property:"border-width"},radioCheckedColor:{selector:"::part(radio)::after",property:"border-color"},radioBorderColor:{selector:"::part(radio)",property:"border-color",fallback:"none"},radioBorderWidth:{selector:"::part(radio)",property:"border-width",fallback:0},radioBorderStyle:{selector:"::part(radio)",property:"border-style",fallback:"solid"}}}),(0,a.OZ)({proxyProps:["setSelectionRange"]}),a.tQ,e=>class extends e{constructor(){super(),this.baseElement.checkValidity=()=>{}}init(){this.baseElement.addEventListener("checked-changed",e=>{this.dispatchEvent(new CustomEvent("checked-changed",{detail:e.detail},{bubbles:!0,composed:!0}))}),super.init?.(),(0,i.Ge)(this,this.renderLabel.bind(this))}renderLabel(){this.baseElement.setAttribute("label",this.textContent)}get value(){return this.getAttribute("value")}})((0,a.tz)({slots:[""],wrappedEleName:"vaadin-radio-button",excludeAttrsSync:["tabindex","data"],includeForwardProps:["checked","name","disabled"],componentName:n})),d=(0,i.xE)("radio-group"),c=(0,o.Zz)((0,a.RF)({mappings:{...p.A,buttonsSpacing:{selector:"::part(group-field)",property:"justify-content"},buttonsRowGap:{selector:"::part(group-field)",property:"row-gap"},buttonsColumnGap:{selector:"::part(group-field)",property:"column-gap"},itemsLabelColor:{selector:()=>`::slotted(${s.componentName})`,property:s.cssVarList.labelTextColor}}}),a.VO,(0,a.OZ)({proxyProps:["setSelectionRange"]}),a.tQ,e=>class extends e{#e=({value:e,label:t})=>`<descope-radio-button value="${e}">${t}</descope-radio-button>`;#t;constructor(){super(),Object.defineProperty(this.baseElement,"children",{get:()=>this.querySelectorAll(n)}),this.baseElement.__filterRadioButtons=e=>e.filter(e=>e.localName===n),this.baseElement.setCustomValidity=()=>{}}get items(){return this.shadowRoot.querySelector("slot").assignedElements()}get size(){return this.getAttribute("size")}get data(){if(this.#t)return this.#t;const e=this.getAttribute("data");if(e)try{const t=JSON.parse(e);if(this.isValidDataType(t))return t}catch(e){console.error('could not parse data string from attribute "data" - ',e.message)}return[]}set data(e){this.isValidDataType(e)&&(this.#t=e,this.renderItems())}get defaultValue(){return this.getAttribute("default-value")}isValidDataType(e){const t=Array.isArray(e);return t||console.error("data must be an array, received:",e),t}getItemsTemplate(){return this.data?.reduce?.((e,t)=>e+(this.#e?.(t||{})||""),"")}renderItems(){const e=this.getItemsTemplate();e&&(this.innerHTML=e)}init(){super.init?.(),this.inputElement=this.baseElement,this.renderItems(),(0,i.mx)(this,this.renderItems.bind(this),{includeAttrs:["data"]}),Object.defineProperty(this.baseElement,"validity",{get:()=>({valueMissing:!this.baseElement.checkValidity()})}),(0,i.EA)(this,this.baseElement,{includeAttrs:["layout"],mapAttrs:{layout:"theme"}}),setTimeout(()=>{this.defaultValue&&(this.value=this.defaultValue)}),(0,i.Ge)(this,({addedNodes:e})=>{e.forEach(e=>{e.setAttribute("size",this.size)})}),(0,i.mx)(this,()=>{this.items.forEach(e=>{e.setAttribute("size",this.size)})},{includeAttrs:["size"]})}})((0,a.tz)({slots:["","prefix"],wrappedEleName:"vaadin-radio-group",style:()=>`\n :host {\n display: inline-block;\n max-width: 100%;\n box-sizing: border-box;\n }\n\n vaadin-radio-group {\n padding: 0;\n width: 100%;\n }\n\n ${(0,l.$J)("vaadin-radio-group")}\n `,excludeAttrsSync:["tabindex","size","data","direction"],componentName:d,includeForwardProps:["value"]}));r(54623),customElements.define(d,c),customElements.define(n,s)}}]);
1
+ "use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[9399],{6424:(e,t,r)=>{r.d(t,{A:()=>x});const{host:o,label:i,placeholder:l,requiredIndicator:a,inputField:p,input:n,inputMask:s,helperText:d,errorMessage:c,disabledPlaceholder:u,inputDisabled:h,inputIcon:y,externalInput:b,externalInputDisabled:g,externalPlaceholder:m,externalDisabledPlaceholder:f}={host:{selector:()=>":host"},label:{selector:"::part(label)"},requiredIndicator:{selector:"[required]::part(required-indicator)::after"},placeholder:[{selector:"> input:placeholder-shown"},{selector:()=>":host::slotted(input:placeholder-shown)"}],disabledPlaceholder:{selector:"> input:disabled::placeholder"},inputField:{selector:"::part(input-field)"},input:{selector:"input"},inputMask:{selector:"::part(input-field)::before"},inputDisabled:{selector:"input:disabled"},helperText:{selector:"::part(helper-text)"},errorMessage:{selector:"::part(error-message)"},inputIcon:{selector:"vaadin-icon"},externalInput:{selector:()=>"::slotted(input)"},externalInputDisabled:{selector:()=>"::slotted(input:disabled)"},externalPlaceholder:{selector:()=>"::slotted(input:placeholder-shown)"},externalDisabledPlaceholder:{selector:()=>"::slotted(input:disabled::placeholder)"}},x={fontSize:[{},o],fontFamily:[i,p,d,c],labelFontSize:{...i,property:"font-size"},labelFontWeight:{...i,property:"font-weight"},labelTextColor:[{...i,property:"color"},{...a,property:"color"},{...i,property:"-webkit-text-fill-color"},{...a,property:"-webkit-text-fill-color"}],hostWidth:{...o,property:"width"},hostMinWidth:{...o,property:"min-width"},hostDirection:{...o,property:"direction"},inputDirection:{...n,property:"direction"},inputBackgroundColor:[{...p,property:"background-color"},{...s,property:"background-color"}],errorMessageTextColor:{...c,property:"color"},errorMessageIcon:{...c,property:"background-image"},errorMessageIconSize:{...c,property:"background-size"},errorMessageIconPadding:{...c,property:"padding-inline-start"},errorMessageIconRepeat:{...c,property:"background-repeat"},errorMessageIconPosition:{...c,property:"background-position"},errorMessageFontSize:{...c,property:"font-size"},helperTextColor:{...d,property:"-webkit-text-fill-color"},inputValueTextColor:[{...p,property:"color"},{...h,property:"-webkit-text-fill-color"},{...g,property:"-webkit-text-fill-color"}],inputCaretTextColor:[{...n,property:"caret-color"},{...b,property:"caret-color"}],labelRequiredIndicator:{...a,property:"content"},inputBorderColor:{...p,property:"border-color"},inputBorderWidth:{...p,property:"border-width"},inputBorderStyle:{...p,property:"border-style"},inputBorderRadius:{...p,property:"border-radius"},inputHeight:{...p,property:"height"},inputHorizontalPadding:[{...n,property:"padding-left"},{...n,property:"padding-right"},{...b,property:"padding-left"},{...b,property:"padding-right"}],inputOutlineColor:{...p,property:"outline-color"},inputOutlineStyle:{...p,property:"outline-style"},inputOutlineWidth:{...p,property:"outline-width"},inputOutlineOffset:{...p,property:"outline-offset"},textAlign:{},inputTextAlign:[{...n,property:"text-align"},{...b,property:"text-align"}],inputPlaceholderColor:[{selector:()=>":host input:placeholder-shown",property:"color"},{...m,property:"color"},{...l,property:"color"},{...u,property:"-webkit-text-fill-color"},{...f,property:"-webkit-text-fill-color"}],labelPosition:{...i,property:"position"},labelTopPosition:{...i,property:"top"},labelHorizontalPosition:[{...i,property:"left"},{...i,property:"right"}],inputTransformY:{...i,property:"transform"},inputTransition:{...i,property:"transition"},marginInlineStart:{...i,property:"margin-inline-start"},placeholderOpacity:[{selector:"> input:placeholder-shown",property:"opacity"},{...m,property:"opacity"}],inputVerticalAlignment:[{...p,property:"align-items"},{...b,property:"align-items"}],valueInputHeight:[{...n,property:"height"},{...b,property:"height"}],valueInputMarginBottom:[{...n,property:"margin-bottom"},{...b,property:"margin-bottom"}],inputIconOffset:[{...y,property:"margin-right"},{...y,property:"margin-left"}],inputIconSize:{...y,property:"font-size"},inputIconColor:{...y,property:"color"}}},40649:(e,t,r)=>{r.r(t),r.d(t,{RadioGroupClass:()=>c,componentName:()=>d});var o=r(9696),i=r(97810),l=r(73551),a=r(79365),p=r(6424);const n=(0,i.xE)("radio-button"),s=(0,o.Zz)((0,a.RF)({mappings:{cursor:[{},{selector:"label"}],fontSize:[{selector:"label"},{}],labelTextColor:{selector:"label",property:"color"},fontFamily:{selector:"label"},radioSize:[{selector:"::part(radio)",property:"height"},{selector:"::part(radio)",property:"width"}],radioBackgroundColor:{selector:"::part(radio)",property:"background-color"},radioMargin:{selector:"::part(radio)",property:"margin"},radioCheckedSize:{selector:"::part(radio)::after",property:"border-width"},radioCheckedColor:{selector:"::part(radio)::after",property:"border-color"},radioBorderColor:{selector:"::part(radio)",property:"border-color",fallback:"none"},radioBorderWidth:{selector:"::part(radio)",property:"border-width",fallback:0},radioBorderStyle:{selector:"::part(radio)",property:"border-style",fallback:"solid"}}}),(0,a.OZ)({proxyProps:["setSelectionRange"]}),a.tQ,e=>class extends e{constructor(){super(),this.baseElement.checkValidity=()=>{}}init(){this.baseElement.addEventListener("checked-changed",e=>{this.dispatchEvent(new CustomEvent("checked-changed",{detail:e.detail},{bubbles:!0,composed:!0}))}),super.init?.(),(0,i.Ge)(this,this.renderLabel.bind(this))}renderLabel(){this.baseElement.setAttribute("label",this.textContent)}get value(){return this.getAttribute("value")}})((0,a.tz)({slots:[""],wrappedEleName:"vaadin-radio-button",excludeAttrsSync:["tabindex","data","style"],includeForwardProps:["checked","name","disabled"],componentName:n})),d=(0,i.xE)("radio-group"),c=(0,o.Zz)((0,a.RF)({mappings:{...p.A,buttonsSpacing:{selector:"::part(group-field)",property:"justify-content"},buttonsRowGap:{selector:"::part(group-field)",property:"row-gap"},buttonsColumnGap:{selector:"::part(group-field)",property:"column-gap"},itemsLabelColor:{selector:()=>`::slotted(${s.componentName})`,property:s.cssVarList.labelTextColor}}}),a.VO,(0,a.OZ)({proxyProps:["setSelectionRange"]}),a.tQ,e=>class extends e{#e=({value:e,label:t})=>`<descope-radio-button value="${e}">${t}</descope-radio-button>`;#t;constructor(){super(),Object.defineProperty(this.baseElement,"children",{get:()=>this.querySelectorAll(n)}),this.baseElement.__filterRadioButtons=e=>e.filter(e=>e.localName===n),this.baseElement.setCustomValidity=()=>{}}get items(){return this.shadowRoot.querySelector("slot").assignedElements()}get size(){return this.getAttribute("size")}get data(){if(this.#t)return this.#t;const e=this.getAttribute("data");if(e)try{const t=JSON.parse(e);if(this.isValidDataType(t))return t}catch(e){console.error('could not parse data string from attribute "data" - ',e.message)}return[]}set data(e){this.isValidDataType(e)&&(this.#t=e,this.renderItems())}get defaultValue(){return this.getAttribute("default-value")}isValidDataType(e){const t=Array.isArray(e);return t||console.error("data must be an array, received:",e),t}getItemsTemplate(){return this.data?.reduce?.((e,t)=>e+(this.#e?.(t||{})||""),"")}renderItems(){const e=this.getItemsTemplate();e&&(this.innerHTML=e)}init(){super.init?.(),this.inputElement=this.baseElement,this.renderItems(),(0,i.mx)(this,this.renderItems.bind(this),{includeAttrs:["data"]}),Object.defineProperty(this.baseElement,"validity",{get:()=>({valueMissing:!this.baseElement.checkValidity()})}),(0,i.EA)(this,this.baseElement,{includeAttrs:["layout"],mapAttrs:{layout:"theme"}}),setTimeout(()=>{this.defaultValue&&(this.value=this.defaultValue)}),(0,i.Ge)(this,({addedNodes:e})=>{e.forEach(e=>{e.setAttribute("size",this.size)})}),(0,i.mx)(this,()=>{this.items.forEach(e=>{e.setAttribute("size",this.size)})},{includeAttrs:["size"]})}})((0,a.tz)({slots:["","prefix"],wrappedEleName:"vaadin-radio-group",style:()=>`\n :host {\n display: inline-block;\n max-width: 100%;\n box-sizing: border-box;\n }\n\n vaadin-radio-group {\n padding: 0;\n width: 100%;\n }\n\n ${(0,l.$J)("vaadin-radio-group")}\n `,excludeAttrsSync:["tabindex","size","data","direction","style"],componentName:d,includeForwardProps:["value"]}));r(54623),customElements.define(d,c),customElements.define(n,s)}}]);
2
2
  //# sourceMappingURL=descope-radio-group-index-js.js.map