@descope/web-components-ui 2.3.3 → 3.0.1
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.
- package/dist/cjs/index.cjs.js +16884 -16946
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/index.esm.js +5291 -5373
- package/dist/index.esm.js.map +1 -1
- package/dist/umd/9365.js +1 -1
- package/dist/umd/9365.js.map +1 -1
- package/dist/umd/DescopeDev.js +1 -1
- package/dist/umd/DescopeDev.js.map +1 -1
- package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-index-js.js.map +1 -1
- package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-internal-index-js.js.map +1 -1
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-index-js.js.map +1 -1
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-internal-index-js.js.map +1 -1
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js +1 -1
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js.map +1 -1
- package/dist/umd/descope-alert-index-js.js +1 -1
- package/dist/umd/descope-alert-index-js.js.map +1 -1
- package/dist/umd/descope-code-snippet-index-js.js +1 -1
- package/dist/umd/descope-code-snippet-index-js.js.map +1 -1
- package/dist/umd/descope-container-index-js.js +1 -1
- package/dist/umd/descope-container-index-js.js.map +1 -1
- package/dist/umd/descope-date-field-descope-calendar-index-js.js +1 -1
- package/dist/umd/descope-date-field-descope-calendar-index-js.js.map +1 -1
- package/dist/umd/descope-date-field-index-js.js +1 -1
- package/dist/umd/descope-date-field-index-js.js.map +1 -1
- package/dist/umd/descope-divider-index-js.js +1 -1
- package/dist/umd/descope-divider-index-js.js.map +1 -1
- package/dist/umd/descope-grid-descope-grid-custom-column-index-js.js.map +1 -1
- package/dist/umd/descope-grid-descope-grid-item-details-column-index-js.js.map +1 -1
- package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js.map +1 -1
- package/dist/umd/descope-grid-descope-grid-text-column-index-js.js.map +1 -1
- package/dist/umd/descope-grid-index-js.js +1 -1
- package/dist/umd/descope-grid-index-js.js.map +1 -1
- package/dist/umd/descope-hybrid-field-index-js.js +1 -1
- package/dist/umd/descope-hybrid-field-index-js.js.map +1 -1
- package/dist/umd/descope-loader-linear-index-js.js +1 -1
- package/dist/umd/descope-loader-linear-index-js.js.map +1 -1
- package/dist/umd/descope-loader-radial-index-js.js +1 -1
- package/dist/umd/descope-loader-radial-index-js.js.map +1 -1
- package/dist/umd/descope-multi-select-combo-box-index-js.js.map +1 -1
- package/dist/umd/descope-new-password-descope-new-password-internal-index-js.js +1 -1
- package/dist/umd/descope-new-password-descope-new-password-internal-index-js.js.map +1 -1
- package/dist/umd/descope-new-password-index-js.js +1 -1
- package/dist/umd/descope-new-password-index-js.js.map +1 -1
- package/dist/umd/descope-notification-index-js.js.map +1 -1
- package/dist/umd/descope-passcode-descope-passcode-internal-index-js.js +1 -1
- package/dist/umd/descope-passcode-descope-passcode-internal-index-js.js.map +1 -1
- package/dist/umd/descope-passcode-index-js.js +1 -1
- package/dist/umd/descope-passcode-index-js.js.map +1 -1
- package/dist/umd/descope-policy-validation-index-js.js +1 -1
- package/dist/umd/descope-policy-validation-index-js.js.map +1 -1
- package/dist/umd/descope-radio-group-index-js.js.map +1 -1
- package/dist/umd/descope-recaptcha-index-js.js +1 -1
- package/dist/umd/descope-recaptcha-index-js.js.map +1 -1
- package/dist/umd/descope-scopes-list-index-js.js.map +1 -1
- package/dist/umd/descope-security-questions-setup-index-js.js +1 -1
- package/dist/umd/descope-security-questions-setup-index-js.js.map +1 -1
- package/dist/umd/descope-security-questions-verify-index-js.js +1 -1
- package/dist/umd/descope-security-questions-verify-index-js.js.map +1 -1
- package/dist/umd/descope-third-party-app-logo-index-js.js +1 -1
- package/dist/umd/descope-third-party-app-logo-index-js.js.map +1 -1
- package/dist/umd/descope-upload-file-index-js.js +1 -1
- package/dist/umd/descope-upload-file-index-js.js.map +1 -1
- package/dist/umd/descope-user-attribute-index-js.js +1 -1
- package/dist/umd/descope-user-attribute-index-js.js.map +1 -1
- package/dist/umd/descope-user-auth-method-index-js.js +1 -1
- package/dist/umd/descope-user-auth-method-index-js.js.map +1 -1
- package/dist/umd/index.js.map +1 -1
- package/dist/umd/mapping-fields-descope-mappings-field-descope-mappings-field-internal-index-js.js.map +1 -1
- package/dist/umd/mapping-fields-descope-mappings-field-index-js.js +1 -1
- package/dist/umd/mapping-fields-descope-mappings-field-index-js.js.map +1 -1
- package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js +1 -1
- package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js.map +1 -1
- package/dist/umd/phone-fields-descope-phone-field-descope-phone-field-internal-index-js.js +1 -1
- package/dist/umd/phone-fields-descope-phone-field-descope-phone-field-internal-index-js.js.map +1 -1
- package/dist/umd/phone-fields-descope-phone-field-index-js.js +1 -1
- package/dist/umd/phone-fields-descope-phone-field-index-js.js.map +1 -1
- package/dist/umd/phone-fields-descope-phone-input-box-field-descope-phone-input-box-internal-index-js.js +1 -1
- package/dist/umd/phone-fields-descope-phone-input-box-field-descope-phone-input-box-internal-index-js.js.map +1 -1
- package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js +1 -1
- package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js.map +1 -1
- package/package.json +32 -32
- package/src/baseClasses/createBaseClass.js +1 -1
- package/src/components/button-selection-group-fields/baseButtonSelectionGroup.js +0 -2
- package/src/components/button-selection-group-fields/createBaseButtonSelectionGroupInternalClass.js +1 -3
- package/src/components/button-selection-group-fields/descope-button-multi-selection-group-internal/ButtonMultiSelectionGroupInternalClass.js +0 -1
- package/src/components/button-selection-group-fields/descope-button-selection-group-item/ButtonSelectionGroupItemClass.js +2 -2
- package/src/components/descope-alert/AlertClass.js +2 -2
- package/src/components/descope-code-snippet/CodeSnippetClass.js +1 -1
- package/src/components/descope-code-snippet/helpers.js +1 -3
- package/src/components/descope-container/ContainerClass.js +1 -1
- package/src/components/descope-date-field/DateCounterClass.js +1 -1
- package/src/components/descope-date-field/DateFieldClass.js +4 -5
- package/src/components/descope-date-field/descope-calendar/CalendarClass.js +2 -2
- package/src/components/descope-date-field/descope-calendar/helpers.js +1 -3
- package/src/components/descope-divider/DividerClass.js +2 -2
- package/src/components/descope-grid/GridClass.js +15 -19
- package/src/components/descope-grid/descope-grid-custom-column/GridCustomColumnClass.js +0 -1
- package/src/components/descope-grid/descope-grid-custom-column/index.js +0 -1
- package/src/components/descope-grid/descope-grid-item-details-column/GridItemDetailsColumnClass.js +0 -2
- package/src/components/descope-grid/descope-grid-selection-column/GridSelectionColumnClass.js +0 -3
- package/src/components/descope-grid/descope-grid-text-column/GridTextColumnClass.js +0 -1
- package/src/components/descope-grid/helpers.js +1 -3
- package/src/components/descope-hybrid-field/HybridFieldClass.js +1 -1
- package/src/components/descope-loader-linear/LoaderLinearClass.js +1 -1
- package/src/components/descope-loader-radial/LoaderRadialClass.js +1 -1
- package/src/components/descope-multi-select-combo-box/MultiSelectComboBoxClass.js +3 -9
- package/src/components/descope-new-password/descope-new-password-internal/NewPasswordInternal.js +3 -6
- package/src/components/descope-notification/NotificationClass.js +0 -2
- package/src/components/descope-passcode/PasscodeClass.js +1 -1
- package/src/components/descope-passcode/descope-passcode-internal/PasscodeInternal.js +1 -3
- package/src/components/descope-passcode/descope-passcode-internal/helpers.js +1 -3
- package/src/components/descope-policy-validation/PolicyValidationClass.js +1 -2
- package/src/components/descope-radio-group/RadioGroupClass.js +3 -8
- package/src/components/descope-recaptcha/RecaptchaClass.js +1 -1
- package/src/components/descope-scopes-list/ScopesListClass.js +0 -3
- package/src/components/descope-security-questions-setup/SecurityQuestionsSetupClass.js +5 -8
- package/src/components/descope-security-questions-verify/SecurityQuestionsVerifyClass.js +3 -4
- package/src/components/descope-third-party-app-logo/ThirdPartyAppLogoClass.js +1 -1
- package/src/components/descope-upload-file/UploadFileClass.js +2 -2
- package/src/components/descope-upload-file/helpers.js +3 -6
- package/src/components/descope-user-attribute/UserAttributeClass.js +4 -4
- package/src/components/descope-user-auth-method/UserAuthMethodClass.js +5 -5
- package/src/components/mapping-fields/descope-mappings-field/MappingsFieldClass.js +1 -1
- package/src/components/mapping-fields/descope-mappings-field/descope-mappings-field-internal/MappingsFieldInternal.js +0 -1
- package/src/components/phone-fields/descope-phone-field/PhoneFieldClass.js +1 -1
- package/src/components/phone-fields/descope-phone-field/descope-phone-field-internal/PhoneFieldInternal.js +1 -1
- package/src/components/phone-fields/descope-phone-input-box-field/PhoneFieldInputBoxClass.js +1 -1
- package/src/components/phone-fields/descope-phone-input-box-field/descope-phone-input-box-internal/PhoneFieldInternalInputBox.js +1 -1
- package/src/components/phone-fields/helpers.js +2 -3
- package/src/helpers/componentHelpers.js +0 -1
- package/src/helpers/themeHelpers/colorsHelpers.js +2 -3
- package/src/helpers/themeHelpers/index.js +4 -6
- package/src/helpers/themeHelpers/resetHelpers.js +1 -3
- package/src/index.umd.js +0 -1
- package/src/mixins/createDynamicDataMixin.js +0 -1
- package/src/mixins/createStyleMixin/helpers.js +1 -1
- package/src/mixins/createStyleMixin/index.js +1 -2
- package/src/mixins/externalInputHelpers.js +0 -2
- package/src/mixins/externalInputMixin.js +1 -1
- package/src/mixins/inputValidationMixin.js +0 -4
- package/src/mixins/normalizeBooleanAttributesMixin.js +1 -3
- package/src/mixins/portalMixin.js +0 -1
- package/src/mixins/proxyInputMixin.js +0 -1
- package/src/theme/components/alert.js +1 -1
- package/src/theme/components/index.js +22 -22
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descope-security-questions-setup-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/./src/components/descope-security-questions-setup/SecurityQuestionsSetupClass.js","webpack://@descope/web-components-ui/./src/components/descope-security-questions-setup/index.js","webpack://@descope/web-components-ui/./src/components/descope-text-field/TextFieldClass.js","webpack://@descope/web-components-ui/./src/components/descope-text-field/index.js","webpack://@descope/web-components-ui/./src/components/descope-text-field/textFieldMappings.js"],"sourcesContent":["import { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName, observeAttributes } from '../../helpers/componentHelpers';\nimport { componentNameValidationMixin, createStyleMixin, draggableMixin } from '../../mixins';\nimport { ComboBoxClass } from '@descope-ui/descope-combo-box/class';\nimport { TextFieldClass } from '../descope-text-field/TextFieldClass';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('security-questions-setup');\n\nconst attrsToSync = [\n 'full-width',\n 'readonly',\n 'size',\n 'label-type',\n 'question-label',\n 'question-placeholder',\n 'question-data-errormessage-value-missing',\n 'answer-label',\n 'answer-placeholder',\n 'answer-data-errormessage-value-missing',\n 'st-error-message-icon',\n 'st-error-message-icon-size',\n 'st-error-message-icon-padding',\n];\n\nconst attrsToReRender = ['count', 'questions'];\nclass RawSecurityQuestionsSetup extends createBaseClass({ componentName, baseSelector: 'div' }) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <div></div>\n\t\t`;\n\n injectStyle(\n `\n :host {\n display: inline-flex;\n }\n\n div {\n display: flex;\n flex-direction: column;\n }\n `,\n this\n );\n }\n\n get count() {\n return Number(this.getAttribute('count')) || 0;\n }\n\n #renderQuestions() {\n const res = Array.from({ length: this.count }).map(\n (_, index) =>\n // <!--html-->\n `\n <div class=\"question-wrapper\">\n <descope-combo-box\n data-id=\"${index}\"\n item-label-path=\"data-name\"\n item-value-path=\"data-id\"\n bordered=\"true\"\n required=\"true\"\n clear-button-visible=\"true\"\n ></descope-combo-box>\n\n <descope-text-field\n data-id=\"${index}\"\n required=\"true\"\n bordered=\"true\"\n minlength=\"2\"\n ></descope-text-field>\n </div>\n `\n // <!--!html-->\n );\n\n this.baseElement.innerHTML = res.join(\n '<spacer></spacer><descope-divider></descope-divider><spacer></spacer>'\n );\n\n this.comboBoxes.forEach((el) => {\n el.addEventListener('change', (e) => {\n this.updateRemainingCombosData(e.target);\n const AttachedTextField = this.getAttachedTextField(e.target);\n\n AttachedTextField.value = '';\n });\n\n // eslint-disable-next-line no-param-reassign\n el.data = this.data;\n });\n\n this.#syncAttrs(attrsToSync);\n }\n\n getAttachedTextField(combo) {\n const selector = `descope-text-field[data-id=\"${combo.getAttribute('data-id')}\"]`;\n\n return this.baseElement.querySelector(selector);\n }\n\n filterData(comboValue) {\n const res = this.data.filter((item) => {\n return item.value === comboValue || !this.selectedQuestionIds.includes(item.value);\n });\n\n return res;\n }\n\n reportValidity() {\n this.inputs.reverse().forEach((el) => el.reportValidity());\n\n return this.checkValidity();\n }\n\n checkValidity() {\n return [...this.comboBoxes, ...this.textFields].every((el) => el.checkValidity());\n }\n\n updateRemainingCombosData(sourceCombo) {\n this.comboBoxes\n .filter((combo) => combo !== sourceCombo)\n .forEach((combo) => {\n // eslint-disable-next-line no-param-reassign\n combo.data = this.filterData(combo.value);\n });\n }\n\n get questions() {\n try {\n return JSON.parse(this.getAttribute('questions')) || [];\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(componentName, 'Error parsing questions attribute', e);\n return [];\n }\n }\n\n // this returns the structure expected by the combo box\n get data() {\n return this.questions.map(({ id, text }) => ({ value: id, label: text }));\n }\n\n get comboBoxes() {\n return Array.from(this.baseElement.querySelectorAll('descope-combo-box'));\n }\n\n get textFields() {\n return Array.from(this.baseElement.querySelectorAll('descope-text-field'));\n }\n\n get inputs() {\n return Array.from(this.baseElement.querySelectorAll('descope-combo-box, descope-text-field'));\n }\n\n get selectedQuestionIds() {\n return this.comboBoxes.map((el) => el.value);\n }\n\n get value() {\n return this.comboBoxes.map((combo) => {\n const id = combo.value;\n const answer = this.getAttachedTextField(combo).value;\n\n return { id, answer };\n });\n }\n\n set value(val = []) {\n val.forEach((item, index) => {\n const combo = this.comboBoxes[index];\n const textField = this.getAttachedTextField(combo);\n\n combo.value = item.id;\n textField.value = item.answer;\n });\n }\n\n // eslint-disable-next-line class-methods-use-this\n #updateAttribute(ele, attrName, value) {\n if (value === null) ele.removeAttribute(attrName);\n else ele.setAttribute(attrName, value);\n }\n\n #syncAttrs(attrs) {\n const componentMap = {\n question: this.comboBoxes,\n answer: this.textFields,\n };\n\n attrs.forEach((attr) => {\n const [maybeComponentType, ...rest] = attr.split('-');\n const elements = componentMap[maybeComponentType] || this.inputs;\n const attrName = componentMap[maybeComponentType] ? rest.join('-') : attr;\n\n elements.forEach((el) => {\n this.#updateAttribute(el, attrName, this.getAttribute(attr));\n });\n });\n }\n\n init() {\n super.init?.();\n // render new components\n observeAttributes(\n this,\n () => {\n this.#renderQuestions();\n },\n { includeAttrs: attrsToReRender }\n );\n\n // update existing components\n observeAttributes(this, this.#syncAttrs.bind(this), {\n includeAttrs: attrsToSync,\n });\n }\n}\n\nexport const SecurityQuestionsSetupClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: [{ selector: () => ':host', property: 'width' }, { property: 'width' }],\n hostDirection: [\n { selector: () => ':host', property: 'direction' },\n {\n selector: () => ComboBoxClass.componentName,\n property: ComboBoxClass.cssVarList.hostDirection,\n },\n {\n selector: () => TextFieldClass.componentName,\n property: TextFieldClass.cssVarList.hostDirection,\n },\n ],\n gap: { selector: () => 'div', property: 'gap' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawSecurityQuestionsSetup);\n","import { componentName, SecurityQuestionsSetupClass } from './SecurityQuestionsSetupClass';\nimport '../descope-text-field';\nimport '@descope-ui/descope-combo-box';\n\ncustomElements.define(componentName, SecurityQuestionsSetupClass);\n\nexport { SecurityQuestionsSetupClass, componentName };\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","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","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 inputTextSecurity: [\n { ...input, property: '-webkit-text-security' },\n { ...input, property: 'text-security' },\n { ...externalInput, property: '-webkit-text-security' },\n { ...externalInput, property: 'text-security' },\n ],\n};\n"],"names":["componentName","attrsToSync","attrsToReRender","RawSecurityQuestionsSetup","createBaseClass","baseSelector","constructor","super","this","attachShadow","mode","innerHTML","count","Number","getAttribute","res","Array","from","length","map","_","index","baseElement","join","comboBoxes","forEach","el","addEventListener","e","updateRemainingCombosData","target","getAttachedTextField","value","data","combo","selector","querySelector","filterData","comboValue","filter","item","selectedQuestionIds","includes","reportValidity","inputs","reverse","checkValidity","textFields","every","sourceCombo","questions","JSON","parse","console","error","id","text","label","querySelectorAll","answer","val","textField","ele","attrName","removeAttribute","setAttribute","attrs","componentMap","question","attr","maybeComponentType","rest","split","elements","init","includeAttrs","bind","SecurityQuestionsSetupClass","mappings","hostWidth","property","hostDirection","ComboBoxClass","C","cssVarList","TextFieldClass","gap","customElements","define","observedAttrs","proxyProps","useProxyTargets","superclass","observedAttributes","concat","icon","renderCopyToClipboard","shouldRender","remove","iconInitConfig","title","style","iconCopiedConfig","Object","assign","document","createElement","slot","appendChild","navigator","clipboard","writeText","setTimeout","onLabelClick","focus","attributeChangedCallback","oldVal","newVal","attributeChangeCallback","_setType","removeEventListener","slots","wrappedEleName","inputOutlineWidth","inputOutlineOffset","excludeAttrsSync","host","placeholder","requiredIndicator","inputField","input","inputMask","helperText","errorMessage","disabledPlaceholder","inputDisabled","inputIcon","externalInput","externalInputDisabled","externalPlaceholder","externalDisabledPlaceholder","fontSize","fontFamily","labelFontSize","labelFontWeight","labelTextColor","hostMinWidth","inputDirection","inputBackgroundColor","errorMessageTextColor","errorMessageIcon","errorMessageIconSize","errorMessageIconPadding","errorMessageIconRepeat","errorMessageIconPosition","errorMessageFontSize","helperTextColor","inputValueTextColor","inputCaretTextColor","labelRequiredIndicator","inputBorderColor","inputBorderWidth","inputBorderStyle","inputBorderRadius","inputHeight","inputHorizontalPadding","inputOutlineColor","inputOutlineStyle","textAlign","inputTextAlign","inputPlaceholderColor","labelPosition","labelTopPosition","labelHorizontalPosition","inputTransformY","inputTransition","marginInlineStart","placeholderOpacity","inputVerticalAlignment","valueInputHeight","valueInputMarginBottom","inputIconOffset","inputIconSize","inputIconColor","inputTextSecurity"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"descope-security-questions-setup-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/./src/components/descope-security-questions-setup/SecurityQuestionsSetupClass.js","webpack://@descope/web-components-ui/./src/components/descope-security-questions-setup/index.js","webpack://@descope/web-components-ui/./src/components/descope-text-field/TextFieldClass.js","webpack://@descope/web-components-ui/./src/components/descope-text-field/index.js","webpack://@descope/web-components-ui/./src/components/descope-text-field/textFieldMappings.js"],"sourcesContent":["import { ComboBoxClass } from '@descope-ui/descope-combo-box/class';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName, observeAttributes } from '../../helpers/componentHelpers';\nimport { componentNameValidationMixin, createStyleMixin, draggableMixin } from '../../mixins';\nimport { TextFieldClass } from '../descope-text-field/TextFieldClass';\n\nexport const componentName = getComponentName('security-questions-setup');\n\nconst attrsToSync = [\n 'full-width',\n 'readonly',\n 'size',\n 'label-type',\n 'question-label',\n 'question-placeholder',\n 'question-data-errormessage-value-missing',\n 'answer-label',\n 'answer-placeholder',\n 'answer-data-errormessage-value-missing',\n 'st-error-message-icon',\n 'st-error-message-icon-size',\n 'st-error-message-icon-padding',\n];\n\nconst attrsToReRender = ['count', 'questions'];\nclass RawSecurityQuestionsSetup extends createBaseClass({ componentName, baseSelector: 'div' }) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <div></div>\n\t\t`;\n\n injectStyle(\n `\n :host {\n display: inline-flex;\n }\n\n div {\n display: flex;\n flex-direction: column;\n }\n `,\n this\n );\n }\n\n get count() {\n return Number(this.getAttribute('count')) || 0;\n }\n\n #renderQuestions() {\n const res = Array.from({ length: this.count }).map(\n (_, index) =>\n // <!--html-->\n `\n <div class=\"question-wrapper\">\n <descope-combo-box\n data-id=\"${index}\"\n item-label-path=\"data-name\"\n item-value-path=\"data-id\"\n bordered=\"true\"\n required=\"true\"\n clear-button-visible=\"true\"\n ></descope-combo-box>\n\n <descope-text-field\n data-id=\"${index}\"\n required=\"true\"\n bordered=\"true\"\n minlength=\"2\"\n ></descope-text-field>\n </div>\n `\n // <!--!html-->\n );\n\n this.baseElement.innerHTML = res.join(\n '<spacer></spacer><descope-divider></descope-divider><spacer></spacer>'\n );\n\n this.comboBoxes.forEach((el) => {\n el.addEventListener('change', (e) => {\n this.updateRemainingCombosData(e.target);\n const AttachedTextField = this.getAttachedTextField(e.target);\n\n AttachedTextField.value = '';\n });\n\n el.data = this.data;\n });\n\n this.#syncAttrs(attrsToSync);\n }\n\n getAttachedTextField(combo) {\n const selector = `descope-text-field[data-id=\"${combo.getAttribute('data-id')}\"]`;\n\n return this.baseElement.querySelector(selector);\n }\n\n filterData(comboValue) {\n const res = this.data.filter(\n (item) => item.value === comboValue || !this.selectedQuestionIds.includes(item.value)\n );\n\n return res;\n }\n\n reportValidity() {\n this.inputs.reverse().forEach((el) => el.reportValidity());\n\n return this.checkValidity();\n }\n\n checkValidity() {\n return [...this.comboBoxes, ...this.textFields].every((el) => el.checkValidity());\n }\n\n updateRemainingCombosData(sourceCombo) {\n this.comboBoxes\n .filter((combo) => combo !== sourceCombo)\n .forEach((combo) => {\n combo.data = this.filterData(combo.value);\n });\n }\n\n get questions() {\n try {\n return JSON.parse(this.getAttribute('questions')) || [];\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(componentName, 'Error parsing questions attribute', e);\n return [];\n }\n }\n\n // this returns the structure expected by the combo box\n get data() {\n return this.questions.map(({ id, text }) => ({ value: id, label: text }));\n }\n\n get comboBoxes() {\n return Array.from(this.baseElement.querySelectorAll('descope-combo-box'));\n }\n\n get textFields() {\n return Array.from(this.baseElement.querySelectorAll('descope-text-field'));\n }\n\n get inputs() {\n return Array.from(this.baseElement.querySelectorAll('descope-combo-box, descope-text-field'));\n }\n\n get selectedQuestionIds() {\n return this.comboBoxes.map((el) => el.value);\n }\n\n get value() {\n return this.comboBoxes.map((combo) => {\n const id = combo.value;\n const answer = this.getAttachedTextField(combo).value;\n\n return { id, answer };\n });\n }\n\n set value(val = []) {\n val.forEach((item, index) => {\n const combo = this.comboBoxes[index];\n const textField = this.getAttachedTextField(combo);\n\n combo.value = item.id;\n textField.value = item.answer;\n });\n }\n\n #updateAttribute(ele, attrName, value) {\n if (value === null) ele.removeAttribute(attrName);\n else ele.setAttribute(attrName, value);\n }\n\n #syncAttrs(attrs) {\n const componentMap = {\n question: this.comboBoxes,\n answer: this.textFields,\n };\n\n attrs.forEach((attr) => {\n const [maybeComponentType, ...rest] = attr.split('-');\n const elements = componentMap[maybeComponentType] || this.inputs;\n const attrName = componentMap[maybeComponentType] ? rest.join('-') : attr;\n\n elements.forEach((el) => {\n this.#updateAttribute(el, attrName, this.getAttribute(attr));\n });\n });\n }\n\n init() {\n super.init?.();\n // render new components\n observeAttributes(\n this,\n () => {\n this.#renderQuestions();\n },\n { includeAttrs: attrsToReRender }\n );\n\n // update existing components\n observeAttributes(this, this.#syncAttrs.bind(this), {\n includeAttrs: attrsToSync,\n });\n }\n}\n\nexport const SecurityQuestionsSetupClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: [{ selector: () => ':host', property: 'width' }, { property: 'width' }],\n hostDirection: [\n { selector: () => ':host', property: 'direction' },\n {\n selector: () => ComboBoxClass.componentName,\n property: ComboBoxClass.cssVarList.hostDirection,\n },\n {\n selector: () => TextFieldClass.componentName,\n property: TextFieldClass.cssVarList.hostDirection,\n },\n ],\n gap: { selector: () => 'div', property: 'gap' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawSecurityQuestionsSetup);\n","import { componentName, SecurityQuestionsSetupClass } from './SecurityQuestionsSetupClass';\nimport '../descope-text-field';\nimport '@descope-ui/descope-combo-box';\n\ncustomElements.define(componentName, SecurityQuestionsSetupClass);\n\nexport { SecurityQuestionsSetupClass, componentName };\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","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","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 inputTextSecurity: [\n { ...input, property: '-webkit-text-security' },\n { ...input, property: 'text-security' },\n { ...externalInput, property: '-webkit-text-security' },\n { ...externalInput, property: 'text-security' },\n ],\n};\n"],"names":["componentName","attrsToSync","attrsToReRender","RawSecurityQuestionsSetup","createBaseClass","baseSelector","constructor","super","this","attachShadow","mode","innerHTML","count","Number","getAttribute","res","Array","from","length","map","_","index","baseElement","join","comboBoxes","forEach","el","addEventListener","e","updateRemainingCombosData","target","getAttachedTextField","value","data","combo","selector","querySelector","filterData","comboValue","filter","item","selectedQuestionIds","includes","reportValidity","inputs","reverse","checkValidity","textFields","every","sourceCombo","questions","JSON","parse","console","error","id","text","label","querySelectorAll","answer","val","textField","ele","attrName","removeAttribute","setAttribute","attrs","componentMap","question","attr","maybeComponentType","rest","split","elements","init","includeAttrs","bind","SecurityQuestionsSetupClass","mappings","hostWidth","property","hostDirection","ComboBoxClass","C","cssVarList","TextFieldClass","gap","customElements","define","observedAttrs","proxyProps","useProxyTargets","superclass","observedAttributes","concat","icon","renderCopyToClipboard","shouldRender","remove","iconInitConfig","title","style","iconCopiedConfig","Object","assign","document","createElement","slot","appendChild","navigator","clipboard","writeText","setTimeout","onLabelClick","focus","attributeChangedCallback","oldVal","newVal","attributeChangeCallback","_setType","removeEventListener","slots","wrappedEleName","inputOutlineWidth","inputOutlineOffset","excludeAttrsSync","host","placeholder","requiredIndicator","inputField","input","inputMask","helperText","errorMessage","disabledPlaceholder","inputDisabled","inputIcon","externalInput","externalInputDisabled","externalPlaceholder","externalDisabledPlaceholder","fontSize","fontFamily","labelFontSize","labelFontWeight","labelTextColor","hostMinWidth","inputDirection","inputBackgroundColor","errorMessageTextColor","errorMessageIcon","errorMessageIconSize","errorMessageIconPadding","errorMessageIconRepeat","errorMessageIconPosition","errorMessageFontSize","helperTextColor","inputValueTextColor","inputCaretTextColor","labelRequiredIndicator","inputBorderColor","inputBorderWidth","inputBorderStyle","inputBorderRadius","inputHeight","inputHorizontalPadding","inputOutlineColor","inputOutlineStyle","textAlign","inputTextAlign","inputPlaceholderColor","labelPosition","labelTopPosition","labelHorizontalPosition","inputTransformY","inputTransition","marginInlineStart","placeholderOpacity","inputVerticalAlignment","valueInputHeight","valueInputMarginBottom","inputIconOffset","inputIconSize","inputIconColor","inputTextSecurity"],"sourceRoot":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*! For license information please see descope-security-questions-verify-index-js.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[2294,4838,5166,9446],{66434(e,t,r){r.d(t,{T:()=>a,s:()=>d});var o=r(88961),i=r(63200),s=r(25964),n=r(72270);const a=(0,s.xE)("text");class l extends((0,n.qu)({componentName:a,baseSelector:":host > slot"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <slot part="text-wrapper"></slot>\n ',(0,s.fz)("\n :host {\n display: inline-block;\n line-height: 1em;\n }\n :host > slot {\n width: 100%;\n display: inline-block;\n }\n ",this)}get hideWhenEmpty(){return"true"===this.getAttribute("hide-when-empty")}init(){super.init(),(0,s.Ge)(this,()=>{const e=!!this.childNodes.length;this.style.display=!e&&this.hideWhenEmpty?"none":""})}}const{host:p}={host:{selector:()=>":host"}},d=(0,i.Zz)((0,o.RF)({mappings:{hostWidth:{...p,property:"width"},hostDirection:{...p,property:"direction"},fontSize:{},textColor:[{property:"color"}],textLineHeight:{property:"line-height"},textLetterSpacing:{property:"letter-spacing"},textShadow:{},textAlign:{},textTransform:{},fontFamily:{},fontStyle:{},fontWeight:{},borderWidth:{},borderStyle:{},borderColor:{}}}),o.VO,o.tQ)(l)},63595(e,t,r){r.r(t),r.d(t,{TextClass:()=>o.s,componentName:()=>o.T});var o=r(66434);customElements.define(o.T,o.s)},38479(e,t,r){r.r(t),r.d(t,{SecurityQuestionsVerifyClass:()=>b,componentName:()=>d});var o=r(81365),i=r(9696),s=r(97810),n=r(79365),a=r(66434),l=r(79275),p=r(25964);const d=(0,s.xE)("security-questions-verify"),c=["full-width","readonly","size","answer-placeholder","answer-data-errormessage-value-missing","st-error-message-icon","st-error-message-icon-size","st-error-message-icon-padding"],u=["question-mode"],h={"answer-placeholder":"placeholder","answer-data-errormessage-value-missing":"data-errormessage-value-missing","question-mode":"mode"},y=[...c,...u],g=["questions"];class m extends((0,o.q)({componentName:d,baseSelector:"div"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n <div></div>\n\t\t",(0,p.fz)("\n :host {\n display: inline-flex;\n }\n\n div {\n display: flex;\n flex-direction: column;\n }\n ",this)}#e(){const e=this.questions.map(({id:e,text:t})=>`\n <div class="question-wrapper">\n <descope-text\n data-id="${e}"\n >${t}</descope-text>\n\n <descope-text-field\n data-id="${e}"\n required="true"\n bordered="true"\n ></descope-text-field>\n </div>\n `);this.baseElement.innerHTML=e.join("<spacer></spacer><descope-divider></descope-divider><spacer></spacer>"),this.#t(y),this.texts.forEach(e=>{const t=this.textFields.find(t=>t.getAttribute("data-id")===e.getAttribute("data-id"));t&&(e.onclick=t.focus.bind(t))})}reportValidity(){return this.textFields.reverse().forEach(e=>e.reportValidity()),this.checkValidity()}checkValidity(){return this.textFields.every(e=>e.checkValidity())}get questions(){try{return JSON.parse(this.getAttribute("questions"))||[]}catch(e){return console.error(d,"Error parsing questions attribute",e),[]}}get texts(){return Array.from(this.baseElement.querySelectorAll("descope-text"))}get textFields(){return Array.from(this.baseElement.querySelectorAll("descope-text-field"))}get elements(){return Array.from(this.baseElement.querySelectorAll("descope-text, descope-text-field"))}get value(){return this.textFields.map(e=>({id:e.getAttribute("data-id"),answer:e.value}))}set value(e=[]){e.forEach(({id:e,answer:t})=>{const r=this.textFields.find(t=>t.getAttribute("data-id")===e);r&&(r.value=t)})}#r(e,t,r){null===r?e.removeAttribute(t):e.setAttribute(t,r)}#o(e){switch(!0){case c.includes(e):return this.textFields;case u.includes(e):return this.texts;default:return[]}}#t(e){e.forEach(e=>{this.#o(e).forEach(t=>{this.#r(t,h[e]||e,this.getAttribute(e))})})}init(){super.init?.(),(0,s.mx)(this,()=>{this.#e()},{includeAttrs:g}),(0,s.mx)(this,this.#t.bind(this),{includeAttrs:y})}}const b=(0,i.Zz)((0,n.RF)({componentNameOverride:(0,s.xE)("input-wrapper")}),(0,n.RF)({mappings:{hostWidth:[{selector:()=>":host",property:"width"},{property:"width"}],hostDirection:[{selector:()=>":host",property:"direction"},{selector:()=>a.s.componentName,property:a.s.cssVarList.hostDirection},{selector:()=>l.w.componentName,property:l.w.cssVarList.hostDirection}],gap:{selector:()=>"div",property:"gap"},questionTextAlign:{selector:()=>a.s.componentName,property:a.s.cssVarList.textAlign},questionFontSize:{selector:()=>a.s.componentName,property:a.s.cssVarList.fontSize},questionFontFamily:{selector:()=>a.s.componentName,property:a.s.cssVarList.fontFamily},questionCursor:{selector:()=>a.s.componentName,property:"cursor"},errorMessageIcon:{selector:()=>a.s.componentName,property:a.s.cssVarList.errorMessageIcon},errorMessageIconSize:{selector:()=>a.s.componentName,property:a.s.cssVarList.errorMessageSize},errorMessageIconPadding:{selector:()=>a.s.componentName,property:a.s.cssVarList.errorMessagePadding},errorMessageIconRepeat:{selector:()=>a.s.componentName,property:a.s.cssVarList.errorMessageRepeat},errorMessageIconPosition:{selector:()=>a.s.componentName,property:a.s.cssVarList.errorMessagePosition},errorMessageFontSize:{selector:()=>a.s.componentName,property:a.s.cssVarList.errorMessageFontSize}}}),n.VO,n.tQ)(m);r(63595),r(21374),customElements.define(d,b)},79275(e,t,r){r.d(t,{T:()=>l,w:()=>d});var o=r(79365),i=r(6424),s=r(9696),n=r(97810),a=r(73551);const l=(0,n.xE)("text-field"),p=["type","label-type","copy-to-clipboard"],d=(0,s.Zz)((0,o.RF)({mappings:i.A}),o.VO,(0,o.OZ)({proxyProps:["value","selectionStart"],useProxyTargets:!0}),o.tQ,e=>class extends e{static get observedAttributes(){return p.concat(e.observedAttributes||[])}icon;init(){super.init?.()}renderCopyToClipboard(e){if(!e)return void this.icon?.remove();const t={icon:"vaadin:copy-o",title:"Copy",style:"cursor: pointer"},r={icon:"vaadin:check-circle-o",title:"Copied",style:"cursor: initial"};this.icon=Object.assign(document.createElement("vaadin-icon"),{slot:"suffix",...t}),this.baseElement.appendChild(this.icon),this.icon.addEventListener("click",()=>{navigator.clipboard.writeText(this.value),Object.assign(this.icon,r),setTimeout(()=>{Object.assign(this.icon,t)},5e3)})}onLabelClick(){this.focus()}attributeChangedCallback(e,t,r){super.attributeChangeCallback?.(e,t,r),"type"===e&&this.baseElement._setType(r),t!==r&&("label-type"===e?"floating"===r?this.addEventListener("click",this.onLabelClick):this.removeEventListener("click",this.onLabelClick):"copy-to-clipboard"===e&&this.renderCopyToClipboard("true"===r))}})((0,o.tz)({slots:["prefix","suffix"],wrappedEleName:"vaadin-text-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\tpadding: calc(var(${d.cssVarList.inputOutlineWidth}) + var(${d.cssVarList.inputOutlineOffset}));\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 ${(0,a.$J)("vaadin-text-field")}\n\t\t\t${(0,a.cy)(d.cssVarList)}\n\t\t\t${(0,a.LJ)("vaadin-text-field",d.cssVarList)}\n ${(0,a.Kl)()}\n\n vaadin-text-field vaadin-icon {\n align-self: center;\n }\n\t\t`,excludeAttrsSync:["tabindex","style"],componentName:l}))},21374(e,t,r){r.r(t),r.d(t,{TextFieldClass:()=>o.w,componentName:()=>o.T}),r(11284),r(37182),r(95260);var o=r(79275);customElements.define(o.T,o.w)},6424(e,t,r){r.d(t,{A:()=>f});const{host:o,label:i,placeholder:s,requiredIndicator:n,inputField:a,input:l,inputMask:p,helperText:d,errorMessage:c,disabledPlaceholder:u,inputDisabled:h,inputIcon:y,externalInput:g,externalInputDisabled:m,externalPlaceholder:b,externalDisabledPlaceholder:x}={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)"}},f={fontSize:[{},o],fontFamily:[i,a,d,c],labelFontSize:{...i,property:"font-size"},labelFontWeight:{...i,property:"font-weight"},labelTextColor:[{...i,property:"color"},{...n,property:"color"},{...i,property:"-webkit-text-fill-color"},{...n,property:"-webkit-text-fill-color"}],hostWidth:{...o,property:"width"},hostMinWidth:{...o,property:"min-width"},hostDirection:{...o,property:"direction"},inputDirection:{...l,property:"direction"},inputBackgroundColor:[{...a,property:"background-color"},{...p,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:[{...a,property:"color"},{...h,property:"-webkit-text-fill-color"},{...m,property:"-webkit-text-fill-color"}],inputCaretTextColor:[{...l,property:"caret-color"},{...g,property:"caret-color"}],labelRequiredIndicator:{...n,property:"content"},inputBorderColor:{...a,property:"border-color"},inputBorderWidth:{...a,property:"border-width"},inputBorderStyle:{...a,property:"border-style"},inputBorderRadius:{...a,property:"border-radius"},inputHeight:{...a,property:"height"},inputHorizontalPadding:[{...l,property:"padding-left"},{...l,property:"padding-right"},{...g,property:"padding-left"},{...g,property:"padding-right"}],inputOutlineColor:{...a,property:"outline-color"},inputOutlineStyle:{...a,property:"outline-style"},inputOutlineWidth:{...a,property:"outline-width"},inputOutlineOffset:{...a,property:"outline-offset"},textAlign:{},inputTextAlign:[{...l,property:"text-align"},{...g,property:"text-align"}],inputPlaceholderColor:[{selector:()=>":host input:placeholder-shown",property:"color"},{...b,property:"color"},{...s,property:"color"},{...u,property:"-webkit-text-fill-color"},{...x,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"},{...b,property:"opacity"}],inputVerticalAlignment:[{...a,property:"align-items"},{...g,property:"align-items"}],valueInputHeight:[{...l,property:"height"},{...g,property:"height"}],valueInputMarginBottom:[{...l,property:"margin-bottom"},{...g,property:"margin-bottom"}],inputIconOffset:[{...y,property:"margin-right"},{...y,property:"margin-left"}],inputIconSize:{...y,property:"font-size"},inputIconColor:{...y,property:"color"},inputTextSecurity:[{...l,property:"-webkit-text-security"},{...l,property:"text-security"},{...g,property:"-webkit-text-security"},{...g,property:"text-security"}]}},18330(e,t,r){r.d(t,{f:()=>i});var o=r(44099);class i extends o.r{constructor(e,t){super(e,"input","input",{initializer:(e,r)=>{r.value&&(e.value=r.value),r.type&&e.setAttribute("type",r.type),e.id=this.defaultId,"function"==typeof t&&t(e)},useUniqueId:!0})}}},37436(e,t,r){r.d(t,{a:()=>i});var o=r(44218);const i=e=>class extends((0,o.R)(e)){static get properties(){return{autocomplete:{type:String},autocorrect:{type:String},autocapitalize:{type:String,reflectToAttribute:!0}}}static get delegateAttrs(){return[...super.delegateAttrs,"autocapitalize","autocomplete","autocorrect"]}get __data(){return this.__dataValue||{}}set __data(e){this.__dataValue=e}_inputElementChanged(e){super._inputElementChanged(e),e&&(e.value&&e.value!==this.value&&(console.warn(`Please define value on the <${this.localName}> component!`),e.value=""),this.value&&(e.value=this.value))}_setFocused(e){super._setFocused(e),!e&&document.hasFocus()&&this.validate()}_onInput(e){super._onInput(e),this.invalid&&this.validate()}_valueChanged(e,t){super._valueChanged(e,t),void 0!==t&&this.invalid&&this.validate()}}},27136(e,t,r){r.d(t,{A:()=>h}),r(86689);var o=r(13256),i=r(82901),s=r(72562),n=r(81488),a=r(86314),l=r(87550),p=r(18330),d=r(37436),c=r(37720);const u=e=>class extends((0,d.a)(e)){static get properties(){return{maxlength:{type:Number},minlength:{type:Number},pattern:{type:String}}}static get delegateAttrs(){return[...super.delegateAttrs,"maxlength","minlength","pattern"]}static get constraints(){return[...super.constraints,"maxlength","minlength","pattern"]}constructor(){super(),this._setType("text")}get clearElement(){return this.$.clearButton}ready(){super.ready(),this.addController(new p.f(this,e=>{this._setInputElement(e),this._setFocusElement(e),this.stateTarget=e,this.ariaTarget=e})),this.addController(new c.q(this.inputElement,this._labelController))}};(0,l.SF)("vaadin-text-field",a.k,{moduleId:"vaadin-text-field-styles"});class h extends(u((0,l.cp)((0,s.q)(o.Pu)))){static get is(){return"vaadin-text-field"}static get template(){return o.qy`
|
|
2
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[2294,4838,5166,9446],{66434(e,t,r){r.d(t,{T:()=>a,s:()=>d});var o=r(88961),i=r(63200),s=r(25964),n=r(72270);const a=(0,s.xE)("text");class l extends((0,n.qu)({componentName:a,baseSelector:":host > slot"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <slot part="text-wrapper"></slot>\n ',(0,s.fz)("\n :host {\n display: inline-block;\n line-height: 1em;\n }\n :host > slot {\n width: 100%;\n display: inline-block;\n }\n ",this)}get hideWhenEmpty(){return"true"===this.getAttribute("hide-when-empty")}init(){super.init(),(0,s.Ge)(this,()=>{const e=!!this.childNodes.length;this.style.display=!e&&this.hideWhenEmpty?"none":""})}}const{host:p}={host:{selector:()=>":host"}},d=(0,i.Zz)((0,o.RF)({mappings:{hostWidth:{...p,property:"width"},hostDirection:{...p,property:"direction"},fontSize:{},textColor:[{property:"color"}],textLineHeight:{property:"line-height"},textLetterSpacing:{property:"letter-spacing"},textShadow:{},textAlign:{},textTransform:{},fontFamily:{},fontStyle:{},fontWeight:{},borderWidth:{},borderStyle:{},borderColor:{}}}),o.VO,o.tQ)(l)},63595(e,t,r){r.r(t),r.d(t,{TextClass:()=>o.s,componentName:()=>o.T});var o=r(66434);customElements.define(o.T,o.s)},38479(e,t,r){r.r(t),r.d(t,{SecurityQuestionsVerifyClass:()=>b,componentName:()=>d});var o=r(66434),i=r(25964),s=r(81365),n=r(9696),a=r(97810),l=r(79365),p=r(79275);const d=(0,a.xE)("security-questions-verify"),c=["full-width","readonly","size","answer-placeholder","answer-data-errormessage-value-missing","st-error-message-icon","st-error-message-icon-size","st-error-message-icon-padding"],u=["question-mode"],h={"answer-placeholder":"placeholder","answer-data-errormessage-value-missing":"data-errormessage-value-missing","question-mode":"mode"},y=[...c,...u],g=["questions"];class m extends((0,s.q)({componentName:d,baseSelector:"div"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n <div></div>\n\t\t",(0,i.fz)("\n :host {\n display: inline-flex;\n }\n\n div {\n display: flex;\n flex-direction: column;\n }\n ",this)}#e(){const e=this.questions.map(({id:e,text:t})=>`\n <div class="question-wrapper">\n <descope-text\n data-id="${e}"\n >${t}</descope-text>\n\n <descope-text-field\n data-id="${e}"\n required="true"\n bordered="true"\n ></descope-text-field>\n </div>\n `);this.baseElement.innerHTML=e.join("<spacer></spacer><descope-divider></descope-divider><spacer></spacer>"),this.#t(y),this.texts.forEach(e=>{const t=this.textFields.find(t=>t.getAttribute("data-id")===e.getAttribute("data-id"));t&&(e.onclick=t.focus.bind(t))})}reportValidity(){return this.textFields.reverse().forEach(e=>e.reportValidity()),this.checkValidity()}checkValidity(){return this.textFields.every(e=>e.checkValidity())}get questions(){try{return JSON.parse(this.getAttribute("questions"))||[]}catch(e){return console.error(d,"Error parsing questions attribute",e),[]}}get texts(){return Array.from(this.baseElement.querySelectorAll("descope-text"))}get textFields(){return Array.from(this.baseElement.querySelectorAll("descope-text-field"))}get elements(){return Array.from(this.baseElement.querySelectorAll("descope-text, descope-text-field"))}get value(){return this.textFields.map(e=>({id:e.getAttribute("data-id"),answer:e.value}))}set value(e=[]){e.forEach(({id:e,answer:t})=>{const r=this.textFields.find(t=>t.getAttribute("data-id")===e);r&&(r.value=t)})}#r(e,t,r){null===r?e.removeAttribute(t):e.setAttribute(t,r)}#o(e){switch(!0){case c.includes(e):return this.textFields;case u.includes(e):return this.texts;default:return[]}}#t(e){e.forEach(e=>{this.#o(e).forEach(t=>{this.#r(t,h[e]||e,this.getAttribute(e))})})}init(){super.init?.(),(0,a.mx)(this,()=>{this.#e()},{includeAttrs:g}),(0,a.mx)(this,this.#t.bind(this),{includeAttrs:y})}}const b=(0,n.Zz)((0,l.RF)({componentNameOverride:(0,a.xE)("input-wrapper")}),(0,l.RF)({mappings:{hostWidth:[{selector:()=>":host",property:"width"},{property:"width"}],hostDirection:[{selector:()=>":host",property:"direction"},{selector:()=>o.s.componentName,property:o.s.cssVarList.hostDirection},{selector:()=>p.w.componentName,property:p.w.cssVarList.hostDirection}],gap:{selector:()=>"div",property:"gap"},questionTextAlign:{selector:()=>o.s.componentName,property:o.s.cssVarList.textAlign},questionFontSize:{selector:()=>o.s.componentName,property:o.s.cssVarList.fontSize},questionFontFamily:{selector:()=>o.s.componentName,property:o.s.cssVarList.fontFamily},questionCursor:{selector:()=>o.s.componentName,property:"cursor"},errorMessageIcon:{selector:()=>o.s.componentName,property:o.s.cssVarList.errorMessageIcon},errorMessageIconSize:{selector:()=>o.s.componentName,property:o.s.cssVarList.errorMessageSize},errorMessageIconPadding:{selector:()=>o.s.componentName,property:o.s.cssVarList.errorMessagePadding},errorMessageIconRepeat:{selector:()=>o.s.componentName,property:o.s.cssVarList.errorMessageRepeat},errorMessageIconPosition:{selector:()=>o.s.componentName,property:o.s.cssVarList.errorMessagePosition},errorMessageFontSize:{selector:()=>o.s.componentName,property:o.s.cssVarList.errorMessageFontSize}}}),l.VO,l.tQ)(m);r(63595),r(21374),customElements.define(d,b)},79275(e,t,r){r.d(t,{T:()=>l,w:()=>d});var o=r(79365),i=r(6424),s=r(9696),n=r(97810),a=r(73551);const l=(0,n.xE)("text-field"),p=["type","label-type","copy-to-clipboard"],d=(0,s.Zz)((0,o.RF)({mappings:i.A}),o.VO,(0,o.OZ)({proxyProps:["value","selectionStart"],useProxyTargets:!0}),o.tQ,e=>class extends e{static get observedAttributes(){return p.concat(e.observedAttributes||[])}icon;init(){super.init?.()}renderCopyToClipboard(e){if(!e)return void this.icon?.remove();const t={icon:"vaadin:copy-o",title:"Copy",style:"cursor: pointer"},r={icon:"vaadin:check-circle-o",title:"Copied",style:"cursor: initial"};this.icon=Object.assign(document.createElement("vaadin-icon"),{slot:"suffix",...t}),this.baseElement.appendChild(this.icon),this.icon.addEventListener("click",()=>{navigator.clipboard.writeText(this.value),Object.assign(this.icon,r),setTimeout(()=>{Object.assign(this.icon,t)},5e3)})}onLabelClick(){this.focus()}attributeChangedCallback(e,t,r){super.attributeChangeCallback?.(e,t,r),"type"===e&&this.baseElement._setType(r),t!==r&&("label-type"===e?"floating"===r?this.addEventListener("click",this.onLabelClick):this.removeEventListener("click",this.onLabelClick):"copy-to-clipboard"===e&&this.renderCopyToClipboard("true"===r))}})((0,o.tz)({slots:["prefix","suffix"],wrappedEleName:"vaadin-text-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\tpadding: calc(var(${d.cssVarList.inputOutlineWidth}) + var(${d.cssVarList.inputOutlineOffset}));\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 ${(0,a.$J)("vaadin-text-field")}\n\t\t\t${(0,a.cy)(d.cssVarList)}\n\t\t\t${(0,a.LJ)("vaadin-text-field",d.cssVarList)}\n ${(0,a.Kl)()}\n\n vaadin-text-field vaadin-icon {\n align-self: center;\n }\n\t\t`,excludeAttrsSync:["tabindex","style"],componentName:l}))},21374(e,t,r){r.r(t),r.d(t,{TextFieldClass:()=>o.w,componentName:()=>o.T}),r(11284),r(37182),r(95260);var o=r(79275);customElements.define(o.T,o.w)},6424(e,t,r){r.d(t,{A:()=>f});const{host:o,label:i,placeholder:s,requiredIndicator:n,inputField:a,input:l,inputMask:p,helperText:d,errorMessage:c,disabledPlaceholder:u,inputDisabled:h,inputIcon:y,externalInput:g,externalInputDisabled:m,externalPlaceholder:b,externalDisabledPlaceholder:x}={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)"}},f={fontSize:[{},o],fontFamily:[i,a,d,c],labelFontSize:{...i,property:"font-size"},labelFontWeight:{...i,property:"font-weight"},labelTextColor:[{...i,property:"color"},{...n,property:"color"},{...i,property:"-webkit-text-fill-color"},{...n,property:"-webkit-text-fill-color"}],hostWidth:{...o,property:"width"},hostMinWidth:{...o,property:"min-width"},hostDirection:{...o,property:"direction"},inputDirection:{...l,property:"direction"},inputBackgroundColor:[{...a,property:"background-color"},{...p,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:[{...a,property:"color"},{...h,property:"-webkit-text-fill-color"},{...m,property:"-webkit-text-fill-color"}],inputCaretTextColor:[{...l,property:"caret-color"},{...g,property:"caret-color"}],labelRequiredIndicator:{...n,property:"content"},inputBorderColor:{...a,property:"border-color"},inputBorderWidth:{...a,property:"border-width"},inputBorderStyle:{...a,property:"border-style"},inputBorderRadius:{...a,property:"border-radius"},inputHeight:{...a,property:"height"},inputHorizontalPadding:[{...l,property:"padding-left"},{...l,property:"padding-right"},{...g,property:"padding-left"},{...g,property:"padding-right"}],inputOutlineColor:{...a,property:"outline-color"},inputOutlineStyle:{...a,property:"outline-style"},inputOutlineWidth:{...a,property:"outline-width"},inputOutlineOffset:{...a,property:"outline-offset"},textAlign:{},inputTextAlign:[{...l,property:"text-align"},{...g,property:"text-align"}],inputPlaceholderColor:[{selector:()=>":host input:placeholder-shown",property:"color"},{...b,property:"color"},{...s,property:"color"},{...u,property:"-webkit-text-fill-color"},{...x,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"},{...b,property:"opacity"}],inputVerticalAlignment:[{...a,property:"align-items"},{...g,property:"align-items"}],valueInputHeight:[{...l,property:"height"},{...g,property:"height"}],valueInputMarginBottom:[{...l,property:"margin-bottom"},{...g,property:"margin-bottom"}],inputIconOffset:[{...y,property:"margin-right"},{...y,property:"margin-left"}],inputIconSize:{...y,property:"font-size"},inputIconColor:{...y,property:"color"},inputTextSecurity:[{...l,property:"-webkit-text-security"},{...l,property:"text-security"},{...g,property:"-webkit-text-security"},{...g,property:"text-security"}]}},18330(e,t,r){r.d(t,{f:()=>i});var o=r(44099);class i extends o.r{constructor(e,t){super(e,"input","input",{initializer:(e,r)=>{r.value&&(e.value=r.value),r.type&&e.setAttribute("type",r.type),e.id=this.defaultId,"function"==typeof t&&t(e)},useUniqueId:!0})}}},37436(e,t,r){r.d(t,{a:()=>i});var o=r(44218);const i=e=>class extends((0,o.R)(e)){static get properties(){return{autocomplete:{type:String},autocorrect:{type:String},autocapitalize:{type:String,reflectToAttribute:!0}}}static get delegateAttrs(){return[...super.delegateAttrs,"autocapitalize","autocomplete","autocorrect"]}get __data(){return this.__dataValue||{}}set __data(e){this.__dataValue=e}_inputElementChanged(e){super._inputElementChanged(e),e&&(e.value&&e.value!==this.value&&(console.warn(`Please define value on the <${this.localName}> component!`),e.value=""),this.value&&(e.value=this.value))}_setFocused(e){super._setFocused(e),!e&&document.hasFocus()&&this.validate()}_onInput(e){super._onInput(e),this.invalid&&this.validate()}_valueChanged(e,t){super._valueChanged(e,t),void 0!==t&&this.invalid&&this.validate()}}},27136(e,t,r){r.d(t,{A:()=>h}),r(86689);var o=r(13256),i=r(82901),s=r(72562),n=r(81488),a=r(86314),l=r(87550),p=r(18330),d=r(37436),c=r(37720);const u=e=>class extends((0,d.a)(e)){static get properties(){return{maxlength:{type:Number},minlength:{type:Number},pattern:{type:String}}}static get delegateAttrs(){return[...super.delegateAttrs,"maxlength","minlength","pattern"]}static get constraints(){return[...super.constraints,"maxlength","minlength","pattern"]}constructor(){super(),this._setType("text")}get clearElement(){return this.$.clearButton}ready(){super.ready(),this.addController(new p.f(this,e=>{this._setInputElement(e),this._setFocusElement(e),this.stateTarget=e,this.ariaTarget=e})),this.addController(new c.q(this.inputElement,this._labelController))}};(0,l.SF)("vaadin-text-field",a.k,{moduleId:"vaadin-text-field-styles"});class h extends(u((0,l.cp)((0,s.q)(o.Pu)))){static get is(){return"vaadin-text-field"}static get template(){return o.qy`
|
|
3
3
|
<style>
|
|
4
4
|
[part='input-field'] {
|
|
5
5
|
flex-grow: 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descope-security-questions-verify-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/../components/descope-text/src/component/TextClass.js","webpack://@descope/web-components-ui/../components/descope-text/src/component/index.js","webpack://@descope/web-components-ui/./src/components/descope-security-questions-verify/SecurityQuestionsVerifyClass.js","webpack://@descope/web-components-ui/./src/components/descope-security-questions-verify/index.js","webpack://@descope/web-components-ui/./src/components/descope-text-field/TextFieldClass.js","webpack://@descope/web-components-ui/./src/components/descope-text-field/index.js","webpack://@descope/web-components-ui/./src/components/descope-text-field/textFieldMappings.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/field-base/src/input-controller.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/field-base/src/input-field-mixin.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/text-field/theme/lumo/vaadin-text-field-styles.js"],"sourcesContent":["import {\n createStyleMixin,\n draggableMixin,\n componentNameValidationMixin,\n} from '@descope-ui/common/components-mixins';\nimport { compose } from '@descope-ui/common/utils';\nimport {\n getComponentName,\n injectStyle,\n observeChildren,\n} from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\n\nexport const componentName = getComponentName('text');\n\nclass RawText extends createBaseClass({\n componentName,\n baseSelector: ':host > slot',\n}) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <slot part=\"text-wrapper\"></slot>\n `;\n\n injectStyle(`\n :host {\n display: inline-block;\n line-height: 1em;\n }\n :host > slot {\n width: 100%;\n display: inline-block;\n }\n `, this);\n }\n\n get hideWhenEmpty() {\n return this.getAttribute('hide-when-empty') === 'true';\n }\n\n init() {\n super.init();\n\n observeChildren(this, () => {\n const hasChildren = !!this.childNodes.length;\n this.style.display = !hasChildren && this.hideWhenEmpty ? 'none' : '';\n });\n }\n}\n\nconst { host } = {\n host: { selector: () => ':host' }\n}\n\nexport const TextClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n fontSize: {},\n textColor: [\n { property: 'color' }\n ],\n textLineHeight: { property: 'line-height' },\n textLetterSpacing: { property: 'letter-spacing' },\n textShadow: {},\n textAlign: {},\n textTransform: {},\n fontFamily: {},\n fontStyle: {},\n fontWeight: {},\n borderWidth: {},\n borderStyle: {},\n borderColor: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n)(RawText);\n","import { componentName, TextClass } from './TextClass';\n\ncustomElements.define(componentName, TextClass);\n\nexport { TextClass, componentName };\n","import { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName, observeAttributes } from '../../helpers/componentHelpers';\nimport { componentNameValidationMixin, createStyleMixin, draggableMixin } from '../../mixins';\nimport { TextClass } from '@descope-ui/descope-text/class';\nimport { TextFieldClass } from '../descope-text-field/TextFieldClass';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('security-questions-verify');\n\nconst textFieldsAttrs = [\n 'full-width',\n 'readonly',\n 'size',\n 'answer-placeholder',\n 'answer-data-errormessage-value-missing',\n 'st-error-message-icon',\n 'st-error-message-icon-size',\n 'st-error-message-icon-padding',\n];\n\nconst textsAttrs = ['question-mode'];\n\nconst attrMappings = {\n 'answer-placeholder': 'placeholder',\n 'answer-data-errormessage-value-missing': 'data-errormessage-value-missing',\n 'question-mode': 'mode',\n};\n\nconst attrsToSync = [...textFieldsAttrs, ...textsAttrs];\n\nconst attrsToReRender = ['questions'];\nclass RawSecurityQuestionsVerify extends createBaseClass({ componentName, baseSelector: 'div' }) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <div></div>\n\t\t`;\n\n injectStyle(\n `\n :host {\n display: inline-flex;\n }\n\n div {\n display: flex;\n flex-direction: column;\n }\n `,\n this\n );\n }\n\n #renderQuestions() {\n const res = this.questions.map(\n ({ id, text }) =>\n // <!--html-->\n `\n <div class=\"question-wrapper\">\n <descope-text\n data-id=\"${id}\"\n >${text}</descope-text>\n\n <descope-text-field\n data-id=\"${id}\"\n required=\"true\"\n bordered=\"true\"\n ></descope-text-field>\n </div>\n `\n // <!--!html-->\n );\n\n this.baseElement.innerHTML = res.join(\n '<spacer></spacer><descope-divider></descope-divider><spacer></spacer>'\n );\n\n this.#syncAttrs(attrsToSync);\n\n // focus input when text is clicked\n this.texts.forEach((el) => {\n const input = this.textFields.find(\n (field) => field.getAttribute('data-id') === el.getAttribute('data-id')\n );\n // eslint-disable-next-line no-param-reassign\n if (input) el.onclick = input.focus.bind(input);\n });\n }\n\n reportValidity() {\n this.textFields.reverse().forEach((el) => el.reportValidity());\n\n return this.checkValidity();\n }\n\n checkValidity() {\n return this.textFields.every((el) => el.checkValidity());\n }\n\n get questions() {\n try {\n return JSON.parse(this.getAttribute('questions')) || [];\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(componentName, 'Error parsing questions attribute', e);\n return [];\n }\n }\n\n get texts() {\n return Array.from(this.baseElement.querySelectorAll('descope-text'));\n }\n\n get textFields() {\n return Array.from(this.baseElement.querySelectorAll('descope-text-field'));\n }\n\n get elements() {\n return Array.from(this.baseElement.querySelectorAll('descope-text, descope-text-field'));\n }\n\n get value() {\n return this.textFields.map((el) => ({ id: el.getAttribute('data-id'), answer: el.value }));\n }\n\n set value(val = []) {\n val.forEach(({ id, answer }) => {\n const textField = this.textFields.find((el) => el.getAttribute('data-id') === id);\n if (textField) textField.value = answer;\n });\n }\n\n // eslint-disable-next-line class-methods-use-this\n #updateAttribute(ele, attrName, value) {\n if (value === null) ele.removeAttribute(attrName);\n else ele.setAttribute(attrName, value);\n }\n\n #getElementsToUpdate(attr) {\n switch (true) {\n case textFieldsAttrs.includes(attr):\n return this.textFields;\n case textsAttrs.includes(attr):\n return this.texts;\n default:\n return [];\n }\n }\n\n #syncAttrs(attrs) {\n attrs.forEach((attr) => {\n this.#getElementsToUpdate(attr).forEach((el) => {\n this.#updateAttribute(el, attrMappings[attr] || attr, this.getAttribute(attr));\n });\n });\n }\n\n init() {\n super.init?.();\n // render new components\n observeAttributes(\n this,\n () => {\n this.#renderQuestions();\n },\n { includeAttrs: attrsToReRender }\n );\n\n // update existing components\n observeAttributes(this, this.#syncAttrs.bind(this), {\n includeAttrs: attrsToSync,\n });\n }\n}\n\nexport const SecurityQuestionsVerifyClass = compose(\n createStyleMixin({ componentNameOverride: getComponentName('input-wrapper') }),\n createStyleMixin({\n mappings: {\n hostWidth: [{ selector: () => ':host', property: 'width' }, { property: 'width' }],\n hostDirection: [\n { selector: () => ':host', property: 'direction' },\n {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.hostDirection,\n },\n {\n selector: () => TextFieldClass.componentName,\n property: TextFieldClass.cssVarList.hostDirection,\n },\n ],\n gap: { selector: () => 'div', property: 'gap' },\n questionTextAlign: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.textAlign,\n },\n questionFontSize: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.fontSize,\n },\n questionFontFamily: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.fontFamily,\n },\n questionCursor: {\n selector: () => TextClass.componentName,\n property: 'cursor',\n },\n\n errorMessageIcon: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.errorMessageIcon,\n },\n errorMessageIconSize: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.errorMessageSize,\n },\n errorMessageIconPadding: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.errorMessagePadding,\n },\n errorMessageIconRepeat: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.errorMessageRepeat,\n },\n errorMessageIconPosition: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.errorMessagePosition,\n },\n errorMessageFontSize: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.errorMessageFontSize,\n },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawSecurityQuestionsVerify);\n","import { componentName, SecurityQuestionsVerifyClass } from './SecurityQuestionsVerifyClass';\nimport '@descope-ui/descope-text';\nimport '../descope-text-field';\n\ncustomElements.define(componentName, SecurityQuestionsVerifyClass);\n\nexport { SecurityQuestionsVerifyClass, componentName };\n","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","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","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 inputTextSecurity: [\n { ...input, property: '-webkit-text-security' },\n { ...input, property: 'text-security' },\n { ...externalInput, property: '-webkit-text-security' },\n { ...externalInput, property: 'text-security' },\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","/**\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","/**\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) 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"],"names":["componentName","RawText","baseSelector","constructor","super","this","attachShadow","mode","innerHTML","hideWhenEmpty","getAttribute","init","hasChildren","childNodes","length","style","display","host","selector","TextClass","mappings","hostWidth","property","hostDirection","fontSize","textColor","textLineHeight","textLetterSpacing","textShadow","textAlign","textTransform","fontFamily","fontStyle","fontWeight","borderWidth","borderStyle","borderColor","customElements","define","textFieldsAttrs","textsAttrs","attrMappings","attrsToSync","attrsToReRender","RawSecurityQuestionsVerify","createBaseClass","res","questions","map","id","text","baseElement","join","texts","forEach","el","input","textFields","find","field","onclick","focus","bind","reportValidity","reverse","checkValidity","every","JSON","parse","e","console","error","Array","from","querySelectorAll","elements","value","answer","val","textField","ele","attrName","removeAttribute","setAttribute","attr","includes","attrs","includeAttrs","SecurityQuestionsVerifyClass","componentNameOverride","cssVarList","TextFieldClass","gap","questionTextAlign","questionFontSize","questionFontFamily","questionCursor","errorMessageIcon","errorMessageIconSize","errorMessageSize","errorMessageIconPadding","errorMessagePadding","errorMessageIconRepeat","errorMessageRepeat","errorMessageIconPosition","errorMessagePosition","errorMessageFontSize","observedAttrs","proxyProps","useProxyTargets","superclass","observedAttributes","concat","icon","renderCopyToClipboard","shouldRender","remove","iconInitConfig","title","iconCopiedConfig","Object","assign","document","createElement","slot","appendChild","addEventListener","navigator","clipboard","writeText","setTimeout","onLabelClick","attributeChangedCallback","oldVal","newVal","attributeChangeCallback","_setType","removeEventListener","slots","wrappedEleName","inputOutlineWidth","inputOutlineOffset","excludeAttrsSync","label","placeholder","requiredIndicator","inputField","inputMask","helperText","errorMessage","disabledPlaceholder","inputDisabled","inputIcon","externalInput","externalInputDisabled","externalPlaceholder","externalDisabledPlaceholder","labelFontSize","labelFontWeight","labelTextColor","hostMinWidth","inputDirection","inputBackgroundColor","errorMessageTextColor","helperTextColor","inputValueTextColor","inputCaretTextColor","labelRequiredIndicator","inputBorderColor","inputBorderWidth","inputBorderStyle","inputBorderRadius","inputHeight","inputHorizontalPadding","inputOutlineColor","inputOutlineStyle","inputTextAlign","inputPlaceholderColor","labelPosition","labelTopPosition","labelHorizontalPosition","inputTransformY","inputTransition","marginInlineStart","placeholderOpacity","inputVerticalAlignment","valueInputHeight","valueInputMarginBottom","inputIconOffset","inputIconSize","inputIconColor","inputTextSecurity","InputController","callback","initializer","node","type","defaultId","useUniqueId","InputFieldMixin","properties","autocomplete","String","autocorrect","autocapitalize","reflectToAttribute","delegateAttrs","__data","__dataValue","_inputElementChanged","warn","localName","_setFocused","focused","hasFocus","validate","_onInput","event","invalid","_valueChanged","newValue","oldValue","undefined","TextFieldMixin","superClass","maxlength","Number","minlength","pattern","constraints","clearElement","$","clearButton","ready","addController","_setInputElement","_setFocusElement","stateTarget","ariaTarget","inputElement","_labelController","moduleId","TextField","is","template","_tooltipController","setPosition","setAriaTarget"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"descope-security-questions-verify-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/../components/descope-text/src/component/TextClass.js","webpack://@descope/web-components-ui/../components/descope-text/src/component/index.js","webpack://@descope/web-components-ui/./src/components/descope-security-questions-verify/SecurityQuestionsVerifyClass.js","webpack://@descope/web-components-ui/./src/components/descope-security-questions-verify/index.js","webpack://@descope/web-components-ui/./src/components/descope-text-field/TextFieldClass.js","webpack://@descope/web-components-ui/./src/components/descope-text-field/index.js","webpack://@descope/web-components-ui/./src/components/descope-text-field/textFieldMappings.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/field-base/src/input-controller.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/field-base/src/input-field-mixin.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/text-field/theme/lumo/vaadin-text-field-styles.js"],"sourcesContent":["import {\n createStyleMixin,\n draggableMixin,\n componentNameValidationMixin,\n} from '@descope-ui/common/components-mixins';\nimport { compose } from '@descope-ui/common/utils';\nimport {\n getComponentName,\n injectStyle,\n observeChildren,\n} from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\n\nexport const componentName = getComponentName('text');\n\nclass RawText extends createBaseClass({\n componentName,\n baseSelector: ':host > slot',\n}) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <slot part=\"text-wrapper\"></slot>\n `;\n\n injectStyle(`\n :host {\n display: inline-block;\n line-height: 1em;\n }\n :host > slot {\n width: 100%;\n display: inline-block;\n }\n `, this);\n }\n\n get hideWhenEmpty() {\n return this.getAttribute('hide-when-empty') === 'true';\n }\n\n init() {\n super.init();\n\n observeChildren(this, () => {\n const hasChildren = !!this.childNodes.length;\n this.style.display = !hasChildren && this.hideWhenEmpty ? 'none' : '';\n });\n }\n}\n\nconst { host } = {\n host: { selector: () => ':host' }\n}\n\nexport const TextClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n fontSize: {},\n textColor: [\n { property: 'color' }\n ],\n textLineHeight: { property: 'line-height' },\n textLetterSpacing: { property: 'letter-spacing' },\n textShadow: {},\n textAlign: {},\n textTransform: {},\n fontFamily: {},\n fontStyle: {},\n fontWeight: {},\n borderWidth: {},\n borderStyle: {},\n borderColor: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n)(RawText);\n","import { componentName, TextClass } from './TextClass';\n\ncustomElements.define(componentName, TextClass);\n\nexport { TextClass, componentName };\n","import { TextClass } from '@descope-ui/descope-text/class';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName, observeAttributes } from '../../helpers/componentHelpers';\nimport { componentNameValidationMixin, createStyleMixin, draggableMixin } from '../../mixins';\nimport { TextFieldClass } from '../descope-text-field/TextFieldClass';\n\nexport const componentName = getComponentName('security-questions-verify');\n\nconst textFieldsAttrs = [\n 'full-width',\n 'readonly',\n 'size',\n 'answer-placeholder',\n 'answer-data-errormessage-value-missing',\n 'st-error-message-icon',\n 'st-error-message-icon-size',\n 'st-error-message-icon-padding',\n];\n\nconst textsAttrs = ['question-mode'];\n\nconst attrMappings = {\n 'answer-placeholder': 'placeholder',\n 'answer-data-errormessage-value-missing': 'data-errormessage-value-missing',\n 'question-mode': 'mode',\n};\n\nconst attrsToSync = [...textFieldsAttrs, ...textsAttrs];\n\nconst attrsToReRender = ['questions'];\nclass RawSecurityQuestionsVerify extends createBaseClass({ componentName, baseSelector: 'div' }) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <div></div>\n\t\t`;\n\n injectStyle(\n `\n :host {\n display: inline-flex;\n }\n\n div {\n display: flex;\n flex-direction: column;\n }\n `,\n this\n );\n }\n\n #renderQuestions() {\n const res = this.questions.map(\n ({ id, text }) =>\n // <!--html-->\n `\n <div class=\"question-wrapper\">\n <descope-text\n data-id=\"${id}\"\n >${text}</descope-text>\n\n <descope-text-field\n data-id=\"${id}\"\n required=\"true\"\n bordered=\"true\"\n ></descope-text-field>\n </div>\n `\n // <!--!html-->\n );\n\n this.baseElement.innerHTML = res.join(\n '<spacer></spacer><descope-divider></descope-divider><spacer></spacer>'\n );\n\n this.#syncAttrs(attrsToSync);\n\n // focus input when text is clicked\n this.texts.forEach((el) => {\n const input = this.textFields.find(\n (field) => field.getAttribute('data-id') === el.getAttribute('data-id')\n );\n\n if (input) el.onclick = input.focus.bind(input);\n });\n }\n\n reportValidity() {\n this.textFields.reverse().forEach((el) => el.reportValidity());\n\n return this.checkValidity();\n }\n\n checkValidity() {\n return this.textFields.every((el) => el.checkValidity());\n }\n\n get questions() {\n try {\n return JSON.parse(this.getAttribute('questions')) || [];\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(componentName, 'Error parsing questions attribute', e);\n return [];\n }\n }\n\n get texts() {\n return Array.from(this.baseElement.querySelectorAll('descope-text'));\n }\n\n get textFields() {\n return Array.from(this.baseElement.querySelectorAll('descope-text-field'));\n }\n\n get elements() {\n return Array.from(this.baseElement.querySelectorAll('descope-text, descope-text-field'));\n }\n\n get value() {\n return this.textFields.map((el) => ({ id: el.getAttribute('data-id'), answer: el.value }));\n }\n\n set value(val = []) {\n val.forEach(({ id, answer }) => {\n const textField = this.textFields.find((el) => el.getAttribute('data-id') === id);\n if (textField) textField.value = answer;\n });\n }\n\n #updateAttribute(ele, attrName, value) {\n if (value === null) ele.removeAttribute(attrName);\n else ele.setAttribute(attrName, value);\n }\n\n #getElementsToUpdate(attr) {\n switch (true) {\n case textFieldsAttrs.includes(attr):\n return this.textFields;\n case textsAttrs.includes(attr):\n return this.texts;\n default:\n return [];\n }\n }\n\n #syncAttrs(attrs) {\n attrs.forEach((attr) => {\n this.#getElementsToUpdate(attr).forEach((el) => {\n this.#updateAttribute(el, attrMappings[attr] || attr, this.getAttribute(attr));\n });\n });\n }\n\n init() {\n super.init?.();\n // render new components\n observeAttributes(\n this,\n () => {\n this.#renderQuestions();\n },\n { includeAttrs: attrsToReRender }\n );\n\n // update existing components\n observeAttributes(this, this.#syncAttrs.bind(this), {\n includeAttrs: attrsToSync,\n });\n }\n}\n\nexport const SecurityQuestionsVerifyClass = compose(\n createStyleMixin({ componentNameOverride: getComponentName('input-wrapper') }),\n createStyleMixin({\n mappings: {\n hostWidth: [{ selector: () => ':host', property: 'width' }, { property: 'width' }],\n hostDirection: [\n { selector: () => ':host', property: 'direction' },\n {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.hostDirection,\n },\n {\n selector: () => TextFieldClass.componentName,\n property: TextFieldClass.cssVarList.hostDirection,\n },\n ],\n gap: { selector: () => 'div', property: 'gap' },\n questionTextAlign: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.textAlign,\n },\n questionFontSize: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.fontSize,\n },\n questionFontFamily: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.fontFamily,\n },\n questionCursor: {\n selector: () => TextClass.componentName,\n property: 'cursor',\n },\n\n errorMessageIcon: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.errorMessageIcon,\n },\n errorMessageIconSize: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.errorMessageSize,\n },\n errorMessageIconPadding: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.errorMessagePadding,\n },\n errorMessageIconRepeat: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.errorMessageRepeat,\n },\n errorMessageIconPosition: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.errorMessagePosition,\n },\n errorMessageFontSize: {\n selector: () => TextClass.componentName,\n property: TextClass.cssVarList.errorMessageFontSize,\n },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawSecurityQuestionsVerify);\n","import { componentName, SecurityQuestionsVerifyClass } from './SecurityQuestionsVerifyClass';\nimport '@descope-ui/descope-text';\nimport '../descope-text-field';\n\ncustomElements.define(componentName, SecurityQuestionsVerifyClass);\n\nexport { SecurityQuestionsVerifyClass, componentName };\n","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","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","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 inputTextSecurity: [\n { ...input, property: '-webkit-text-security' },\n { ...input, property: 'text-security' },\n { ...externalInput, property: '-webkit-text-security' },\n { ...externalInput, property: 'text-security' },\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","/**\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","/**\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) 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"],"names":["componentName","RawText","baseSelector","constructor","super","this","attachShadow","mode","innerHTML","hideWhenEmpty","getAttribute","init","hasChildren","childNodes","length","style","display","host","selector","TextClass","mappings","hostWidth","property","hostDirection","fontSize","textColor","textLineHeight","textLetterSpacing","textShadow","textAlign","textTransform","fontFamily","fontStyle","fontWeight","borderWidth","borderStyle","borderColor","customElements","define","textFieldsAttrs","textsAttrs","attrMappings","attrsToSync","attrsToReRender","RawSecurityQuestionsVerify","createBaseClass","res","questions","map","id","text","baseElement","join","texts","forEach","el","input","textFields","find","field","onclick","focus","bind","reportValidity","reverse","checkValidity","every","JSON","parse","e","console","error","Array","from","querySelectorAll","elements","value","answer","val","textField","ele","attrName","removeAttribute","setAttribute","attr","includes","attrs","includeAttrs","SecurityQuestionsVerifyClass","componentNameOverride","cssVarList","TextFieldClass","gap","questionTextAlign","questionFontSize","questionFontFamily","questionCursor","errorMessageIcon","errorMessageIconSize","errorMessageSize","errorMessageIconPadding","errorMessagePadding","errorMessageIconRepeat","errorMessageRepeat","errorMessageIconPosition","errorMessagePosition","errorMessageFontSize","observedAttrs","proxyProps","useProxyTargets","superclass","observedAttributes","concat","icon","renderCopyToClipboard","shouldRender","remove","iconInitConfig","title","iconCopiedConfig","Object","assign","document","createElement","slot","appendChild","addEventListener","navigator","clipboard","writeText","setTimeout","onLabelClick","attributeChangedCallback","oldVal","newVal","attributeChangeCallback","_setType","removeEventListener","slots","wrappedEleName","inputOutlineWidth","inputOutlineOffset","excludeAttrsSync","label","placeholder","requiredIndicator","inputField","inputMask","helperText","errorMessage","disabledPlaceholder","inputDisabled","inputIcon","externalInput","externalInputDisabled","externalPlaceholder","externalDisabledPlaceholder","labelFontSize","labelFontWeight","labelTextColor","hostMinWidth","inputDirection","inputBackgroundColor","errorMessageTextColor","helperTextColor","inputValueTextColor","inputCaretTextColor","labelRequiredIndicator","inputBorderColor","inputBorderWidth","inputBorderStyle","inputBorderRadius","inputHeight","inputHorizontalPadding","inputOutlineColor","inputOutlineStyle","inputTextAlign","inputPlaceholderColor","labelPosition","labelTopPosition","labelHorizontalPosition","inputTransformY","inputTransition","marginInlineStart","placeholderOpacity","inputVerticalAlignment","valueInputHeight","valueInputMarginBottom","inputIconOffset","inputIconSize","inputIconColor","inputTextSecurity","InputController","callback","initializer","node","type","defaultId","useUniqueId","InputFieldMixin","properties","autocomplete","String","autocorrect","autocapitalize","reflectToAttribute","delegateAttrs","__data","__dataValue","_inputElementChanged","warn","localName","_setFocused","focused","hasFocus","validate","_onInput","event","invalid","_valueChanged","newValue","oldValue","undefined","TextFieldMixin","superClass","maxlength","Number","minlength","pattern","constraints","clearElement","$","clearButton","ready","addController","_setInputElement","_setFocusElement","stateTarget","ariaTarget","inputElement","_labelController","moduleId","TextField","is","template","_tooltipController","setPosition","setAriaTarget"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[230,1202,1239,6724],{45447(t){t.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjkiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOSAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTkuMTQ0OTIgMTUuNjQ1TDcuNDk5OTIgMTRMMi44MzMyNSAxOC42NjY3TDcuNDk5OTIgMjMuMzMzM0w5LjE0NDkyIDIxLjY4ODNMNy4zMDE1OSAxOS44MzMzSDI0Ljk5OTlWMTcuNUg3LjMwMTU5TDkuMTQ0OTIgMTUuNjQ1WiIgZmlsbD0iIzYzNkM3NCIvPiA8cGF0aCBkPSJNMTkuODU1IDEyLjM1NTNMMjEuNSAxNC4wMDAzTDI2LjE2NjcgOS4zMzM2NkwyMS41IDQuNjY2OTlMMTkuODU1IDYuMzExOTlMMjEuNjk4MyA4LjE2Njk5SDRWMTAuNTAwM0gyMS42OTgzTDE5Ljg1NSAxMi4zNTUzWiIgZmlsbD0iIzYzNkM3NCIvPiA8L3N2Zz4g"},98538(t,e,n){"use strict";n.d(e,{S:()=>l,T:()=>o});var s=n(88961),r=n(25964),i=n(8512),a=n(63200);const o=(0,r.xE)("icon"),l=(0,a.Zz)((0,s.RF)({mappings:{fill:[{},{property:i.q.cssVarList.fill}]}}),s.VO,s.tQ)((0,s.tz)({slots:[],wrappedEleName:"descope-image",style:()=>"\n :host {\n display: inline-flex;\n max-height: 100%;\n }\n ",excludeAttrsSync:["tabindex","class","style"],componentName:o}))},56737(t,e,n){"use strict";n.r(e),n.d(e,{IconClass:()=>s.S,componentName:()=>s.T}),n(53455);var s=n(98538);customElements.define(s.T,s.S)},8512(t,e,n){"use strict";n.d(e,{T:()=>l,q:()=>d});var s=n(88961),r=n(72270),i=n(63200),a=n(25964),o=n(18782);const l=(0,a.xE)("image"),c=["src","src-dark"];class p extends((0,r.qu)({componentName:l,baseSelector:"slot"})){static get observedAttributes(){return c}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n\t\t<slot></slot>\n\t",(0,a.fz)("\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n :host > slot {\n width: 100%;\n height: 100%;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tdisplay: flex;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\n ::slotted(*) {\n width: 100%;\n\t\t\t}\n\n .hidden {\n display: none;\n }\n ",this)}init(){super.init?.(),this.toggleVisibility(this.getSrc)}onThemeChange(){this.renderImage()}toggleVisibility(t){t?this.classList.remove("hidden"):this.classList.add("hidden")}get altText(){return this.getAttribute("alt")||""}get legacySrc(){return this.getAttribute("src")}get themeSrc(){return this.getAttribute(`src-${this.currentThemeName}`)}get getSrc(){return this.themeSrc||this.legacySrc}updateFillColor(t){[t,...t.querySelectorAll("*[fill]")].forEach(t=>{t.setAttribute("fill",`var(${d.cssVarList.fill}, ${t.getAttribute("fill")||"''"})`)})}renderImage(){this.toggleVisibility(this.getSrc),(0,o.m)(this.getSrc,this.altText).then(t=>{this.innerHTML="",t&&(this.updateFillColor(t),this.appendChild(t))})}shouldRender(t){const e=this.getAttribute(t);return this.getSrc===e}attributeChangedCallback(t,e,n){super.attributeChangedCallback?.(t,e,n),e!==n&&this.shouldRender(t)&&this.renderImage()}}const d=(0,i.Zz)((0,s.RF)({mappings:{fill:{},height:{selector:()=>":host"},width:{selector:()=>":host"}}}),s.VO,s.tQ)(p)},18782(t,e,n){"use strict";n.d(e,{m:()=>i});var s=n(25414);const r=t=>{const e=s.A.sanitize(t,{USE_PROFILES:{svg:!0,svgFilters:!0},ADD_TAGS:["image"],FORBID_TAGS:["defs"]});return(new DOMParser).parseFromString(e,"image/svg+xml").querySelector("svg")},i=async(t,e)=>{try{let n;if((t=>t.startsWith("data:image/svg+xml;base64,"))(t)){const e=atob(t.slice(26));n=r(e)}else if("svg"===(t=>{const e=t.match(/\.([0-9a-z]+)(?:[\\?#]|$)/i);return e?e[1]:null})(t)){const e=await fetch(t),s=await e.text();n=r(s)}else n=((t,e)=>{const n=document.createElement("img");return n.setAttribute("src",t),n.setAttribute("alt",e),n})(t,e);return n.style.setProperty("max-width","100%"),n.style.setProperty("max-height","100%"),n}catch{return null}}},53455(t,e,n){"use strict";n.r(e),n.d(e,{ImageClass:()=>s.q,componentName:()=>s.T});var s=n(8512);customElements.define(s.T,s.q)},51491(t,e,n){"use strict";n.d(e,{I:()=>o});var s=n(25964),r=n(9696),i=n(79365),a=n(81365);const o=({componentName:t,varName:e,fallbackVarName:n})=>{let o;class l extends((0,a.q)({componentName:t,baseSelector:":host > div"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n\t\t\t<div></div>\n\t\t\t",(0,s.fz)(`\n\t\t\t\t:host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\t\t\t\t:host([draggable="true"]) > div {\n\t\t\t\t\tpointer-events: none\n\t\t\t\t}\n\t\t\t\t:host > div {\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\tmax-width: 100%;\n\t\t\t\t\tmax-height: 100%;\n\t\t\t\t\tobject-fit: contain;\n\t\t\t\t\tmargin: auto;\n\t\t\t\t\t${o}\n\t\t\t\t}\n `,this)}}const c=(0,r.Zz)((0,i.RF)({mappings:{height:{selector:()=>":host > div"},width:{selector:()=>":host > div"},[e]:{property:"content"},[n]:{property:"content"}}}),i.VO,i.tQ)(l);return o=`content: var(${c.cssVarList[e]}, var(${c.cssVarList[n]}));`,c}},59410(t,e,n){"use strict";n.d(e,{T:()=>i,m:()=>a});var s=n(97810),r=n(51491);const i=(0,s.xE)("logo"),a=(0,r.I)({componentName:i,varName:"url",fallbackVarName:"fallbackUrl"})},86947(t,e,n){"use strict";n.r(e),n.d(e,{LogoClass:()=>s.m,componentName:()=>s.T});var s=n(59410);customElements.define(s.T,s.m)},6107(t,e,n){"use strict";n.r(e),n.d(e,{ThirdPartyAppLogoClass:()=>y});var s=n(25964),r=n(
|
|
1
|
+
(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[230,1202,1239,6724],{45447(t){t.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjkiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOSAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTkuMTQ0OTIgMTUuNjQ1TDcuNDk5OTIgMTRMMi44MzMyNSAxOC42NjY3TDcuNDk5OTIgMjMuMzMzM0w5LjE0NDkyIDIxLjY4ODNMNy4zMDE1OSAxOS44MzMzSDI0Ljk5OTlWMTcuNUg3LjMwMTU5TDkuMTQ0OTIgMTUuNjQ1WiIgZmlsbD0iIzYzNkM3NCIvPiA8cGF0aCBkPSJNMTkuODU1IDEyLjM1NTNMMjEuNSAxNC4wMDAzTDI2LjE2NjcgOS4zMzM2NkwyMS41IDQuNjY2OTlMMTkuODU1IDYuMzExOTlMMjEuNjk4MyA4LjE2Njk5SDRWMTAuNTAwM0gyMS42OTgzTDE5Ljg1NSAxMi4zNTUzWiIgZmlsbD0iIzYzNkM3NCIvPiA8L3N2Zz4g"},98538(t,e,n){"use strict";n.d(e,{S:()=>l,T:()=>o});var s=n(88961),r=n(25964),i=n(8512),a=n(63200);const o=(0,r.xE)("icon"),l=(0,a.Zz)((0,s.RF)({mappings:{fill:[{},{property:i.q.cssVarList.fill}]}}),s.VO,s.tQ)((0,s.tz)({slots:[],wrappedEleName:"descope-image",style:()=>"\n :host {\n display: inline-flex;\n max-height: 100%;\n }\n ",excludeAttrsSync:["tabindex","class","style"],componentName:o}))},56737(t,e,n){"use strict";n.r(e),n.d(e,{IconClass:()=>s.S,componentName:()=>s.T}),n(53455);var s=n(98538);customElements.define(s.T,s.S)},8512(t,e,n){"use strict";n.d(e,{T:()=>l,q:()=>d});var s=n(88961),r=n(72270),i=n(63200),a=n(25964),o=n(18782);const l=(0,a.xE)("image"),c=["src","src-dark"];class p extends((0,r.qu)({componentName:l,baseSelector:"slot"})){static get observedAttributes(){return c}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n\t\t<slot></slot>\n\t",(0,a.fz)("\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n :host > slot {\n width: 100%;\n height: 100%;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tdisplay: flex;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\n ::slotted(*) {\n width: 100%;\n\t\t\t}\n\n .hidden {\n display: none;\n }\n ",this)}init(){super.init?.(),this.toggleVisibility(this.getSrc)}onThemeChange(){this.renderImage()}toggleVisibility(t){t?this.classList.remove("hidden"):this.classList.add("hidden")}get altText(){return this.getAttribute("alt")||""}get legacySrc(){return this.getAttribute("src")}get themeSrc(){return this.getAttribute(`src-${this.currentThemeName}`)}get getSrc(){return this.themeSrc||this.legacySrc}updateFillColor(t){[t,...t.querySelectorAll("*[fill]")].forEach(t=>{t.setAttribute("fill",`var(${d.cssVarList.fill}, ${t.getAttribute("fill")||"''"})`)})}renderImage(){this.toggleVisibility(this.getSrc),(0,o.m)(this.getSrc,this.altText).then(t=>{this.innerHTML="",t&&(this.updateFillColor(t),this.appendChild(t))})}shouldRender(t){const e=this.getAttribute(t);return this.getSrc===e}attributeChangedCallback(t,e,n){super.attributeChangedCallback?.(t,e,n),e!==n&&this.shouldRender(t)&&this.renderImage()}}const d=(0,i.Zz)((0,s.RF)({mappings:{fill:{},height:{selector:()=>":host"},width:{selector:()=>":host"}}}),s.VO,s.tQ)(p)},18782(t,e,n){"use strict";n.d(e,{m:()=>i});var s=n(25414);const r=t=>{const e=s.A.sanitize(t,{USE_PROFILES:{svg:!0,svgFilters:!0},ADD_TAGS:["image"],FORBID_TAGS:["defs"]});return(new DOMParser).parseFromString(e,"image/svg+xml").querySelector("svg")},i=async(t,e)=>{try{let n;if((t=>t.startsWith("data:image/svg+xml;base64,"))(t)){const e=atob(t.slice(26));n=r(e)}else if("svg"===(t=>{const e=t.match(/\.([0-9a-z]+)(?:[\\?#]|$)/i);return e?e[1]:null})(t)){const e=await fetch(t),s=await e.text();n=r(s)}else n=((t,e)=>{const n=document.createElement("img");return n.setAttribute("src",t),n.setAttribute("alt",e),n})(t,e);return n.style.setProperty("max-width","100%"),n.style.setProperty("max-height","100%"),n}catch{return null}}},53455(t,e,n){"use strict";n.r(e),n.d(e,{ImageClass:()=>s.q,componentName:()=>s.T});var s=n(8512);customElements.define(s.T,s.q)},51491(t,e,n){"use strict";n.d(e,{I:()=>o});var s=n(25964),r=n(9696),i=n(79365),a=n(81365);const o=({componentName:t,varName:e,fallbackVarName:n})=>{let o;class l extends((0,a.q)({componentName:t,baseSelector:":host > div"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n\t\t\t<div></div>\n\t\t\t",(0,s.fz)(`\n\t\t\t\t:host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\t\t\t\t:host([draggable="true"]) > div {\n\t\t\t\t\tpointer-events: none\n\t\t\t\t}\n\t\t\t\t:host > div {\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\tmax-width: 100%;\n\t\t\t\t\tmax-height: 100%;\n\t\t\t\t\tobject-fit: contain;\n\t\t\t\t\tmargin: auto;\n\t\t\t\t\t${o}\n\t\t\t\t}\n `,this)}}const c=(0,r.Zz)((0,i.RF)({mappings:{height:{selector:()=>":host > div"},width:{selector:()=>":host > div"},[e]:{property:"content"},[n]:{property:"content"}}}),i.VO,i.tQ)(l);return o=`content: var(${c.cssVarList[e]}, var(${c.cssVarList[n]}));`,c}},59410(t,e,n){"use strict";n.d(e,{T:()=>i,m:()=>a});var s=n(97810),r=n(51491);const i=(0,s.xE)("logo"),a=(0,r.I)({componentName:i,varName:"url",fallbackVarName:"fallbackUrl"})},86947(t,e,n){"use strict";n.r(e),n.d(e,{LogoClass:()=>s.m,componentName:()=>s.T});var s=n(59410);customElements.define(s.T,s.m)},6107(t,e,n){"use strict";n.r(e),n.d(e,{ThirdPartyAppLogoClass:()=>y});var s=n(25964),r=n(98538),i=n(81365),a=n(9696),o=n(97810),l=n(79365),c=n(59410),p=n(45447),d=n.n(p);const h=(0,o.xE)("third-party-app-logo");class g extends((0,i.q)({componentName:h,baseSelector:".wrapper"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML=`\n\t\t\t<div class="wrapper">\n <div class="third-party-app-logo-wrapper">\n <div class="third-party-app-logo"></div>\n </div>\n <div class="arrows">\n <descope-icon src="${d()}"></descope-icon>\n </div>\n <div class="company-logo-wrapper">\n <descope-logo st-height="100%"></descope-logo>\n </div>\n </div>\n\t\t\t`,(0,s.fz)('\n :host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\t\t\t\t:host([draggable="true"]) > div {\n\t\t\t\t\tpointer-events: none\n\t\t\t\t}\n\n .wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n min-width: max-content;\n }\n\n\t\t\t\t.third-party-app-logo {\n flex-shrink: 0;\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\tmax-width: 100%;\n\t\t\t\t\tmax-height: 100%;\n\t\t\t\t\tobject-fit: contain;\n\t\t\t\t}\n\n .company-logo-wrapper, .third-party-app-logo-wrapper {\n flex-shrink: 0;\n display: inline-flex;\n }\n\n .company-logo-wrapper {\n justify-content: flex-end;\n }\n\n .third-party-app-logo-wrapper {\n justify-content: flex-start;\n }\n\n .arrows {\n flex-shrink: 0;\n display: flex;\n }\n ',this)}}const m=">.company-logo-wrapper",u=">.third-party-app-logo-wrapper",y=(0,a.Zz)((0,l.RF)({mappings:{logoMaxHeight:[{selector:m,property:"height"},{selector:u,property:"height"}],logoMaxWidth:[{selector:m,property:"max-width"},{selector:u,property:"max-width"}],thirdPartyAppLogo:{selector:()=>".third-party-app-logo",property:"content",fallback:{}},companyLogoFallback:{selector:c.m.componentName,property:c.m.cssVarList.fallbackUrl},gap:{},arrowsColor:{selector:r.S.componentName,property:r.S.cssVarList.fill}}}),l.VO,l.tQ)(g);n(56737),n(86947),customElements.define(h,y)}}]);
|
|
2
2
|
//# sourceMappingURL=descope-third-party-app-logo-index-js.js.map
|