@descope/web-components-ui 1.76.0 → 1.78.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/cjs/index.cjs.js +49 -2
  2. package/dist/cjs/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +49 -2
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/umd/2739.js +1 -1
  6. package/dist/umd/2739.js.map +1 -1
  7. package/dist/umd/7092.js +1 -1
  8. package/dist/umd/7092.js.map +1 -1
  9. package/dist/umd/DescopeDev.js +1 -1
  10. package/dist/umd/DescopeDev.js.map +1 -1
  11. package/dist/umd/boolean-fields-descope-checkbox-index-js.js +1 -1
  12. package/dist/umd/boolean-fields-descope-checkbox-index-js.js.map +1 -1
  13. package/dist/umd/boolean-fields-descope-switch-toggle-index-js.js +1 -1
  14. package/dist/umd/boolean-fields-descope-switch-toggle-index-js.js.map +1 -1
  15. package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-index-js.js +1 -1
  16. package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-index-js.js.map +1 -1
  17. package/dist/umd/button-selection-group-fields-descope-button-selection-group-index-js.js +1 -1
  18. package/dist/umd/button-selection-group-fields-descope-button-selection-group-index-js.js.map +1 -1
  19. package/dist/umd/descope-date-field-index-js.js +1 -1
  20. package/dist/umd/descope-date-field-index-js.js.map +1 -1
  21. package/dist/umd/descope-email-field-index-js.js +1 -1
  22. package/dist/umd/descope-email-field-index-js.js.map +1 -1
  23. package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js +1 -1
  24. package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js.map +1 -1
  25. package/dist/umd/descope-grid-index-js.js +1 -1
  26. package/dist/umd/descope-grid-index-js.js.map +1 -1
  27. package/dist/umd/descope-hybrid-field-index-js.js +2 -2
  28. package/dist/umd/descope-hybrid-field-index-js.js.map +1 -1
  29. package/dist/umd/descope-multi-select-combo-box-index-js.js +1 -1
  30. package/dist/umd/descope-multi-select-combo-box-index-js.js.map +1 -1
  31. package/dist/umd/descope-new-password-descope-new-password-internal-index-js.js +1 -1
  32. package/dist/umd/descope-new-password-descope-new-password-internal-index-js.js.map +1 -1
  33. package/dist/umd/descope-new-password-index-js.js +1 -1
  34. package/dist/umd/descope-new-password-index-js.js.map +1 -1
  35. package/dist/umd/descope-number-field-index-js.js +1 -1
  36. package/dist/umd/descope-number-field-index-js.js.map +1 -1
  37. package/dist/umd/descope-passcode-index-js.js +2 -2
  38. package/dist/umd/descope-passcode-index-js.js.map +1 -1
  39. package/dist/umd/descope-password-index-js.js +1 -1
  40. package/dist/umd/descope-password-index-js.js.map +1 -1
  41. package/dist/umd/descope-radio-group-index-js.js +1 -1
  42. package/dist/umd/descope-radio-group-index-js.js.map +1 -1
  43. package/dist/umd/descope-scopes-list-index-js.js +1 -1
  44. package/dist/umd/descope-scopes-list-index-js.js.map +1 -1
  45. package/dist/umd/descope-security-questions-setup-index-js.js +1 -1
  46. package/dist/umd/descope-security-questions-setup-index-js.js.map +1 -1
  47. package/dist/umd/descope-security-questions-verify-index-js.js +2 -2
  48. package/dist/umd/descope-security-questions-verify-index-js.js.map +1 -1
  49. package/dist/umd/descope-text-area-index-js.js +1 -1
  50. package/dist/umd/descope-text-area-index-js.js.map +1 -1
  51. package/dist/umd/descope-text-field-index-js.js +2 -2
  52. package/dist/umd/descope-text-field-index-js.js.map +1 -1
  53. package/dist/umd/mapping-fields-descope-mappings-field-index-js.js +1 -1
  54. package/dist/umd/mapping-fields-descope-mappings-field-index-js.js.map +1 -1
  55. package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js +1 -1
  56. package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js.map +1 -1
  57. package/dist/umd/phone-fields-descope-phone-field-index-js.js +1 -1
  58. package/dist/umd/phone-fields-descope-phone-field-index-js.js.map +1 -1
  59. package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js +1 -1
  60. package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js.map +1 -1
  61. package/package.json +6 -6
  62. package/src/components/boolean-fields/descope-checkbox/CheckboxClass.js +1 -0
  63. package/src/components/boolean-fields/descope-switch-toggle/SwitchToggleClass.js +1 -0
  64. package/src/components/button-selection-group-fields/baseButtonSelectionGroup.js +1 -0
  65. package/src/components/descope-hybrid-field/HybridFieldClass.js +10 -0
  66. package/src/components/descope-multi-select-combo-box/MultiSelectComboBoxClass.js +1 -0
  67. package/src/components/descope-new-password/NewPasswordClass.js +1 -0
  68. package/src/components/descope-passcode/PasscodeClass.js +1 -0
  69. package/src/components/descope-password/PasswordClass.js +2 -1
  70. package/src/components/descope-security-questions-verify/SecurityQuestionsVerifyClass.js +4 -0
  71. package/src/components/descope-text-area/TextAreaClass.js +1 -0
  72. package/src/components/descope-text-field/textFieldMappings.js +1 -0
  73. package/src/components/mapping-fields/descope-saml-group-mappings/SamlGroupMappingsClass.js +1 -0
  74. package/src/components/phone-fields/descope-phone-field/PhoneFieldClass.js +2 -1
  75. package/src/components/phone-fields/descope-phone-input-box-field/PhoneFieldInputBoxClass.js +1 -0
  76. package/src/theme/components/buttonSelectionGroup/baseButtonSelectionGroup.js +1 -0
  77. package/src/theme/components/checkbox.js +1 -0
  78. package/src/theme/components/emailField.js +1 -0
  79. package/src/theme/components/hybridField.js +1 -0
  80. package/src/theme/components/inputWrapper.js +1 -0
  81. package/src/theme/components/multiSelectComboBox.js +1 -0
  82. package/src/theme/components/newPassword.js +1 -0
  83. package/src/theme/components/numberField.js +1 -0
  84. package/src/theme/components/passcode.js +1 -0
  85. package/src/theme/components/password.js +1 -0
  86. package/src/theme/components/phoneField.js +1 -0
  87. package/src/theme/components/phoneInputBoxField.js +1 -0
  88. package/src/theme/components/radioGroup/radioGroup.js +1 -0
  89. package/src/theme/components/samlGroupMappings.js +1 -0
  90. package/src/theme/components/switchToggle.js +1 -0
  91. package/src/theme/components/textArea.js +1 -0
  92. package/src/theme/components/textField.js +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"descope-scopes-list-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-boolean-field-internal/index.js","webpack://@descope/web-components-ui/./src/baseClasses/createBaseInputClass.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/field-base/src/input-controller.js","webpack://@descope/web-components-ui/./src/components/descope-list/ListItemClass.js","webpack://@descope/web-components-ui/./src/mixins/activableMixin.js","webpack://@descope/web-components-ui/./src/components/descope-list/ListClass.js","webpack://@descope/web-components-ui/./src/components/descope-list/index.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/booleanFieldMixin.js","webpack://@descope/web-components-ui/./src/components/descope-scopes-list/ScopesListClass.js","webpack://@descope/web-components-ui/./src/components/descope-scopes-list/index.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-boolean-field-internal/BooleanFieldInternal.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/commonStyles.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-checkbox/index.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-checkbox/CheckboxClass.js","webpack://@descope/web-components-ui/./src/mixins/createDynamicDataMixin.js","webpack://@descope/web-components-ui/./src/helpers/themeHelpers/resetHelpers.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-switch-toggle/SwitchToggleClass.js"],"sourcesContent":["import BooleanFieldInternal, { componentName } from './BooleanFieldInternal';\n\ncustomElements.define(componentName, BooleanFieldInternal);\n","import { compose } from '../helpers';\nimport {\n changeMixin,\n inputEventsDispatchingMixin,\n inputValidationMixin,\n normalizeBooleanAttributesMixin,\n} from '../mixins';\nimport { createBaseClass } from './createBaseClass';\n\nexport const createBaseInputClass = (...args) =>\n compose(\n inputValidationMixin,\n changeMixin,\n normalizeBooleanAttributesMixin,\n inputEventsDispatchingMixin\n )(createBaseClass(...args));\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { SlotController } from '@vaadin/component-base/src/slot-controller.js';\n\n/**\n * A controller to create and initialize slotted `<input>` element.\n */\nexport class InputController extends SlotController {\n constructor(host, callback) {\n super(host, 'input', 'input', {\n initializer: (node, host) => {\n if (host.value) {\n node.value = host.value;\n }\n if (host.type) {\n node.setAttribute('type', host.type);\n }\n\n // Ensure every instance has unique ID\n node.id = this.defaultId;\n\n if (typeof callback === 'function') {\n callback(node);\n }\n },\n useUniqueId: true,\n });\n }\n}\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport { activeableMixin } from '../../mixins/activableMixin';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('list-item');\n\nconst customMixin = (superclass) =>\n class ListItemMixinClass extends superclass {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <slot></slot>\n `;\n\n injectStyle(\n `\n slot {\n width: 100%;\n display: flex;\n overflow: hidden;\n box-sizing: border-box;\n }\n :host {\n display: block;\n }\n `,\n this\n );\n }\n };\n\nexport const ListItemClass = compose(\n createStyleMixin({\n mappings: {\n padding: {},\n backgroundColor: {},\n borderColor: {},\n borderStyle: {},\n borderWidth: {},\n borderRadius: {},\n outline: {},\n cursor: {},\n gap: {},\n maxWidth: { selector: () => ':host' },\n alignItems: {},\n flexDirection: {},\n transition: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n customMixin,\n activeableMixin\n)(createBaseClass({ componentName, baseSelector: 'slot' }));\n","export const activeableMixin = (superclass) =>\n class ActiveableMixinClass extends superclass {\n init() {\n super.init?.();\n\n this.baseElement.addEventListener('mousedown', (e) => {\n e.preventDefault();\n this.setAttribute('active', 'true');\n window.addEventListener('mouseup', () => this.removeAttribute('active'), {\n once: true,\n });\n });\n }\n };\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName, observeChildren } from '../../helpers/componentHelpers';\nimport { ListItemClass } from './ListItemClass';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('list');\n\nclass RawList extends createBaseClass({ componentName, baseSelector: '.wrapper' }) {\n static get observedAttributes() {\n return ['variant', 'readonly'];\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <div class=\"wrapper\">\n <slot></slot>\n <slot name=\"empty-state\">\n No item...\n </slot>\n </div>\n\t`;\n\n injectStyle(\n `\n .wrapper {\n overflow: auto;\n display: grid;\n max-height: 100%;\n width: 100%;\n }\n\n :host {\n display: inline-flex;\n width: 100%;\n }\n slot[name=\"empty-state\"] {\n justify-content: center;\n align-items: center;\n display: flex;\n flex-grow: 1;\n }\n\n :host slot[name=\"empty-state\"] {\n display: none;\n }\n :host([empty]) slot[name=\"empty-state\"] {\n display: flex;\n }\n ::slotted(:not([slot])) {\n width: 100%;\n }\n `,\n this\n );\n }\n\n get items() {\n return this.shadowRoot.querySelector('slot').assignedElements();\n }\n\n #handleEmptyState() {\n if (this.items.length === 0) {\n this.setAttribute('empty', 'true');\n } else {\n this.removeAttribute('empty');\n }\n }\n\n get variant() {\n return this.getAttribute('variant') || 'list';\n }\n\n #handleItemsVariant() {\n this.items.forEach((item) => {\n let listItem = item;\n if (listItem.localName !== ListItemClass.componentName) {\n listItem = item.querySelector(ListItemClass.componentName);\n }\n\n const listItemVariant = this.variant === 'tiles' ? 'tile' : 'row';\n listItem.setAttribute('variant', listItemVariant);\n });\n }\n\n init() {\n super.init?.();\n\n // we want new items to get the size\n observeChildren(this, () => {\n this.#handleEmptyState();\n this.#handleItemsVariant();\n this.#handleReadOnly();\n });\n }\n\n get isReadOnly() {\n return this.getAttribute('readonly') === 'true';\n }\n\n #handleReadOnly() {\n this.items.forEach((item) => {\n if (this.isReadOnly) item.setAttribute('inert', '');\n else item.removeAttribute('inert');\n });\n }\n\n attributeChangedCallback(name, oldValue, newValue) {\n super.attributeChangedCallback?.(name, oldValue, newValue);\n\n if (newValue === oldValue) return;\n\n if (name === 'variant') {\n this.#handleItemsVariant();\n } else if (name === 'readonly') {\n this.#handleReadOnly();\n }\n }\n}\n\nexport const ListClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n maxHeight: { selector: () => ':host' },\n minHeight: {},\n verticalPadding: [{ property: 'padding-top' }, { property: 'padding-bottom' }],\n horizontalPadding: [{ property: 'padding-left' }, { property: 'padding-right' }],\n hostDirection: { selector: () => ':host', property: 'direction' },\n fontFamily: {},\n gap: {},\n\n backgroundColor: {},\n borderRadius: {},\n borderColor: {},\n borderStyle: {},\n borderWidth: {},\n\n boxShadow: {},\n gridTemplateColumns: {},\n maxItemsWidth: { selector: () => '::slotted(:not([slot]))', property: 'max-width' },\n minItemsWidth: { selector: () => '::slotted(:not([slot]))', property: 'min-width' },\n itemsHorizontalAlign: { selector: () => '::slotted(*)', property: 'justify-self' },\n emptyStateTextColor: { selector: () => 'slot[name=\"empty-state\"]', property: 'color' },\n emptyStateTextFontFamily: {\n selector: () => 'slot[name=\"empty-state\"]',\n property: 'font-family',\n },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawList);\n","import { componentName as listComponentName, ListClass } from './ListClass';\nimport { componentName as listItemComponentName, ListItemClass } from './ListItemClass';\n\ncustomElements.define(listComponentName, ListClass);\ncustomElements.define(listItemComponentName, ListItemClass);\n\nexport { ListClass, listComponentName as componentName };\n","import { forwardAttrs, forwardProps, syncAttrs } from '../../helpers/componentHelpers';\nimport { componentName as descopeInternalComponentName } from './descope-boolean-field-internal/BooleanFieldInternal';\n\nexport const booleanFieldMixin = (superclass) =>\n class BooleanFieldMixinClass extends superclass {\n init() {\n super.init?.();\n\n const template = document.createElement('template');\n template.innerHTML = `\n\t\t\t\t<${descopeInternalComponentName}\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\tslot=\"input\"\n\t\t\t\t></${descopeInternalComponentName}>\n\t\t\t`;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n this.checkbox = this.inputElement.querySelector('vaadin-checkbox');\n\n forwardAttrs(this, this.inputElement, {\n includeAttrs: [\n 'required',\n 'full-width',\n 'size',\n 'label',\n 'invalid',\n 'disabled',\n 'readonly',\n ],\n });\n\n forwardProps(this.inputElement, this, ['checked']);\n syncAttrs(this, this.inputElement, { includeAttrs: ['checked'] });\n }\n };\n","import { injectStyle } from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport { componentNameValidationMixin, createStyleMixin, draggableMixin } from '../../mixins';\nimport { createDynamicDataMixin } from '../../mixins/createDynamicDataMixin';\nimport { CheckboxClass } from '../boolean-fields/descope-checkbox/CheckboxClass';\nimport { SwitchToggleClass } from '../boolean-fields/descope-switch-toggle/SwitchToggleClass';\n\nexport const componentName = getComponentName('scopes-list');\nconst variants = ['checkbox', 'switch'];\n\nconst itemRenderer = ({ id, desc, required = false }, _, ref) => {\n const ComponentClass = ref.variant === 'checkbox' ? CheckboxClass : SwitchToggleClass;\n\n return `\n <${ComponentClass.componentName}\n bordered=\"true\"\n size=${ref.size}\n label=\"${desc}\"\n data-id=\"${id}\"\n readonly=\"${required || ref.isReadOnly}\"\n required=\"${required}\"\n checked=\"true\"\n ></${ComponentClass.componentName}>\n`;\n};\n\nclass RawScopesList 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 isReadOnly() {\n return this.getAttribute('readonly') === 'true';\n }\n\n get size() {\n return this.getAttribute('size') || 'sm';\n }\n\n #getChildNodes() {\n return Array.from(this.shadowRoot.querySelector('div').children);\n }\n\n // eslint-disable-next-line class-methods-use-this\n reportValidity() {\n this.checkValidity();\n }\n\n // eslint-disable-next-line class-methods-use-this\n checkValidity() {\n return this.data.every((item) => !item.required || this.value.includes(item.id));\n }\n\n get value() {\n return this.#getChildNodes()\n .filter((node) => node.checked)\n .map((node) => node.getAttribute('data-id'));\n }\n\n set value(val = []) {\n this.#getChildNodes().forEach((node) => {\n // eslint-disable-next-line no-param-reassign\n node.checked = val.includes(node.getAttribute('data-id'));\n });\n }\n\n get variant() {\n const variant = this.getAttribute('variant');\n\n return variants.includes(variant) ? variant : variants[0];\n }\n}\n\nexport const ScopesListClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n hostDirection: [\n { selector: () => ':host', property: 'direction' },\n {\n selector: () => CheckboxClass.componentName,\n property: CheckboxClass.cssVarList.hostDirection,\n },\n {\n selector: () => SwitchToggleClass.componentName,\n property: SwitchToggleClass.cssVarList.hostDirection,\n },\n ],\n gap: { selector: () => 'div', property: 'gap' },\n requiredInputBorderColor: [\n {\n selector: `${CheckboxClass.componentName}[required=\"true\"]`,\n property: CheckboxClass.cssVarList.inputBorderColor,\n },\n {\n selector: `${SwitchToggleClass.componentName}[required=\"true\"]`,\n property: SwitchToggleClass.cssVarList.inputBorderColor,\n },\n ],\n requiredInputValueTextColor: [\n {\n selector: `${CheckboxClass.componentName}[required=\"true\"]`,\n property: CheckboxClass.cssVarList.inputValueTextColor,\n },\n {\n selector: `${SwitchToggleClass.componentName}[required=\"true\"]`,\n property: SwitchToggleClass.cssVarList.knobColor,\n },\n ],\n },\n }),\n createDynamicDataMixin({ itemRenderer, rerenderAttrsList: ['size', 'variant'] }),\n draggableMixin,\n componentNameValidationMixin\n)(RawScopesList);\n","import { componentName, ScopesListClass } from './ScopesListClass';\nimport '../descope-list';\nimport '../boolean-fields/descope-checkbox';\n\ncustomElements.define(componentName, ScopesListClass);\n\nexport { ScopesListClass, componentName };\n","import { createBaseInputClass } from '../../../baseClasses/createBaseInputClass';\nimport { forwardAttrs, getComponentName, syncAttrs } from '../../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('boolean-field-internal');\n\nconst forwardAttributes = ['disabled', 'label', 'invalid', 'readonly'];\n\nconst BaseInputClass = createBaseInputClass({ componentName, baseSelector: 'div' });\n\nclass BooleanInputInternal extends BaseInputClass {\n static get observedAttributes() {\n return ['readonly'];\n }\n\n constructor() {\n super();\n this.innerHTML = `\n\t\t\t<div class=\"wrapper\">\n\t\t\t\t<vaadin-checkbox></vaadin-checkbox>\n\t\t\t</div>\n\t\t`;\n this.wrapperEle = this.querySelector('div');\n this.checkbox = this.querySelector('vaadin-checkbox');\n }\n\n get value() {\n return this.checkbox?.checked;\n }\n\n set value(val) {\n this.checkbox.checked = val;\n }\n\n get checked() {\n return this.value;\n }\n\n set checked(val) {\n this.value = val;\n }\n\n init() {\n this.addEventListener('focus', (e) => {\n if (e.isTrusted) {\n this.checkbox.focus();\n }\n });\n super.init?.();\n\n forwardAttrs(this, this.checkbox, { includeAttrs: forwardAttributes });\n syncAttrs(this, this.checkbox, { includeAttrs: ['checked'] });\n\n // we need it in order to set the focus ring and trigger validation on descope-checkbox\n this.handleFocusEventsDispatching([this.checkbox]);\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (attrName === 'readonly') {\n this.onReadOnlyChange(newValue !== null);\n }\n }\n\n onReadOnlyChange(val) {\n this.baseElement.setAttribute('inert', val);\n }\n\n getValidity() {\n if (this.isRequired && !this.value) {\n return { valueMissing: true };\n }\n return {};\n }\n}\n\nexport default BooleanInputInternal;\n","import { resetInputFieldDefaultWidth } from '../../helpers/themeHelpers/resetHelpers';\n\nexport default `\n:host {\n\tdisplay: inline-flex;\n}\n\n${resetInputFieldDefaultWidth()}\n\n.wrapper {\n\tdisplay: flex;\n\tbox-sizing: border-box;\n}\nvaadin-text-field {\n\tposition: relative;\n\tpadding: 0;\n\tdisplay: inline-flex;\n\talign-items: flex-start;\n}\nvaadin-text-field::before {\n content: unset;\n}\nvaadin-text-field::part(label) {\n position: absolute;\n top: 0;\n}\nvaadin-text-field::part(input-field) {\n\tpadding: 0;\n\tbackground: none;\n\tmin-height: 0;\n}\nvaadin-text-field::part(input-field)::after {\n background: none;\n}\nvaadin-text-field[focus-ring]::part(input-field) {\n\tbox-shadow: none;\n}\n\nvaadin-checkbox [slot=\"label\"] {\n align-self: flex-start;\n padding: 0;\n}\n[required] vaadin-checkbox [slot=\"label\"]:not(:empty) {\n\tpadding-inline-end: 1em;\n}\ndescope-boolean-field-internal {\n -webkit-mask-image: none;\n min-height: initial;\n}\n`;\n","import { componentName, CheckboxClass } from './CheckboxClass';\nimport '@vaadin/checkbox';\nimport '@vaadin/text-field';\nimport '../descope-boolean-field-internal';\n\ncustomElements.define(componentName, CheckboxClass);\n\nexport { CheckboxClass, componentName };\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { compose } from '../../../helpers';\nimport {\n createStyleMixin,\n proxyInputMixin,\n draggableMixin,\n componentNameValidationMixin,\n createProxy,\n} from '../../../mixins';\nimport { booleanFieldMixin } from '../booleanFieldMixin';\nimport commonStyles from '../commonStyles';\nimport { useHostExternalPadding } from '../../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('checkbox');\n\nconst {\n host,\n component,\n checkboxElement,\n checkboxSurface,\n checkboxLabel,\n requiredIndicator,\n helperText,\n errorMessage,\n} = {\n host: { selector: () => ':host' },\n requiredIndicator: { selector: '[required] vaadin-checkbox [slot=\"label\"]:not(:empty)::after' },\n component: { selector: 'vaadin-checkbox' },\n checkboxElement: { selector: 'vaadin-checkbox::part(checkbox)' },\n checkboxSurface: { selector: 'vaadin-checkbox::part(checkbox)::after' },\n checkboxLabel: { selector: 'vaadin-checkbox [slot=\"label\"]:not(:empty)' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nexport const CheckboxClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n\n fontSize: [host, checkboxElement, checkboxLabel],\n fontFamily: [checkboxLabel, helperText, errorMessage],\n\n labelTextColor: { ...checkboxLabel, property: 'color' },\n labelSpacing: { ...checkboxLabel, property: 'padding-inline-start' },\n labelLineHeight: { ...checkboxLabel, property: 'line-height' },\n labelFontWeight: { ...checkboxLabel, property: 'font-weight' },\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\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\n inputValueTextColor: { ...checkboxSurface, property: 'color' },\n inputBackgroundColor: { ...checkboxElement, property: 'background-color' },\n\n inputBorderRadius: { ...checkboxElement, property: 'border-radius' },\n inputBorderWidth: { ...checkboxElement, property: 'border-width' },\n inputBorderOffset: { ...checkboxElement, property: 'border-offset' },\n inputBorderColor: { ...checkboxElement, property: 'border-color' },\n inputBorderStyle: { ...checkboxElement, property: 'border-style' },\n\n inputOutlineWidth: { ...checkboxElement, property: 'outline-width' },\n inputOutlineOffset: { ...checkboxElement, property: 'outline-offset' },\n inputOutlineColor: { ...checkboxElement, property: 'outline-color' },\n inputOutlineStyle: { ...checkboxElement, property: 'outline-style' },\n\n inputSize: [\n { ...checkboxElement, property: 'width' },\n { ...checkboxElement, property: 'height' },\n { ...checkboxSurface, property: 'font-size' },\n { ...component, property: 'font-size' },\n ],\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n componentNameValidationMixin,\n booleanFieldMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n\t\t\t${commonStyles}\n ${useHostExternalPadding(CheckboxClass.cssVarList)}\n\n :host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tmax-width: 100%;\n margin: 1px;\n }\n\n :host ::part(error-message) {\n direction: ltr;\n }\n\n vaadin-text-field {\n width: 100%;\n }\n\n descope-boolean-field-internal {\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%;\n height: 100%;\n }\n\n vaadin-checkbox::part(checkbox) {\n margin: 0;\n }\n\n vaadin-checkbox::part(checkbox)::after {\n top: 0;\n left: 0;\n -webkit-text-fill-color: initial;\n }\n\n vaadin-checkbox label {\n -webkit-text-fill-color: initial;\n }\n\n vaadin-text-field::part(input-field)::after {\n content: none;\n }\n `,\n excludeAttrsSync: ['label', 'tabindex'],\n componentName,\n })\n);\n","import { observeAttributes } from '../helpers/componentHelpers';\n\nconst defaultValidateSchema = () => true;\nconst defaultItemRenderer = (item) => `<pre>${JSON.stringify(item, null, 4)}</pre>`;\n\nconst createTemplate = (templateString) => {\n const template = document.createElement('template');\n template.innerHTML = templateString;\n\n return template;\n};\n\nconst getTemplateContent = (templateOrString) => {\n if (typeof templateOrString === 'string') {\n return createTemplate(templateOrString).content;\n }\n\n if (templateOrString instanceof HTMLTemplateElement) {\n return templateOrString.content;\n }\n\n // eslint-disable-next-line no-console\n console.error('Invalid template', templateOrString);\n return null;\n};\n\nexport const createDynamicDataMixin =\n ({\n itemRenderer = defaultItemRenderer,\n validateSchema = defaultValidateSchema,\n slotName,\n rerenderAttrsList = [],\n }) =>\n (superclass) =>\n class DynamicDataMixinClass extends superclass {\n #data = [];\n\n // eslint-disable-next-line class-methods-use-this\n #validateSchema(data) {\n if (!validateSchema) return true;\n\n const validation = validateSchema(data);\n if (validation === true) return true;\n\n // eslint-disable-next-line no-console\n console.error('Data schema validation failed', validation || '');\n\n return false;\n }\n\n #removeOldItems() {\n const selector = slotName ? `*[slot=\"${slotName}\"]` : ':not([slot])';\n this.baseElement.querySelectorAll(selector).forEach((item) => item.remove());\n }\n\n #renderItems() {\n this.#removeOldItems();\n this.data.forEach((item, index) => {\n const content = getTemplateContent(itemRenderer(item, index, this));\n this.baseElement.appendChild(content?.cloneNode(true));\n });\n }\n\n set data(value) {\n if (this.#validateSchema(value)) {\n this.#data = value;\n this.#renderItems();\n }\n }\n\n get data() {\n return this.#data;\n }\n\n init() {\n super.init?.();\n\n observeAttributes(\n this,\n (attrs) => {\n if (attrs.includes('data')) this.#handleDataAttr();\n else this.#renderItems();\n },\n { includeAttrs: [...rerenderAttrsList, 'data'] }\n );\n }\n\n #handleDataAttr() {\n const dataAttr = this.getAttribute('data');\n\n if (!dataAttr) return;\n\n try {\n this.data = JSON.parse(dataAttr);\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn('Invalid JSON data', dataAttr);\n }\n }\n };\n","export const useHostExternalPadding = (cssVarList) => `\n :host {\n padding: calc(var(${cssVarList.inputOutlineWidth}) + var(${cssVarList.inputOutlineOffset}))\n }\n`;\n\nexport const resetInputFieldUnderlayingBorder = (name) => `\n ${name}::part(input-field)::after {\n border: none;\n }\n`;\n\nexport const resetInitialHeight = (name) => `\n ${name}::before {\n\t\theight: unset;\n\t}\n`;\n\nexport const resetInputElement = (name) => `\n ${name} > input {\n -webkit-mask-image: none;\n min-height: 0;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputContainer = (name) => `\n ${name} {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputField = (name) => `\n ${name}::part(input-field) {\n overflow: hidden;\n padding: 0;\n box-shadow: none;\n }\n`;\n\nexport const resetInputCursor = (name) => `\n ${name} > label,\n ${name}::part(label),\n ${name}::part(required-indicator) {\n cursor: pointer;\n }\n`;\n\nexport const resetInputPlaceholder = (name, ele = 'input') => `\n ${name}[disabled] > ${ele}:placeholder-shown,\n\t${name}[readonly] > ${ele}:placeholder-shown {\n\t\topacity: 1;\n\t}\n`;\n\nexport const resetInputAutoFill = (name, cssVarList) => `\n ${name} input:-webkit-autofill,\n ${name} input:-webkit-autofill::first-line,\n ${name} input:-webkit-autofill:hover,\n ${name} input:-webkit-autofill:active,\n ${name} input:-webkit-autofill:focus {\n -webkit-text-fill-color: var(${cssVarList.inputValueTextColor});\n box-shadow: 0 0 0 var(${cssVarList.inputHeight}) var(${cssVarList.inputBackgroundColor}) inset;\n }\n`;\n\nexport const resetInputFieldDefaultWidth = () => `\n :host {\n --vaadin-field-default-width: auto;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputReadonlyStyle = (name) => `\n ${name}::part(input-field)::after {\n opacity: 0;\n }\n`;\n\nexport const resetInputFieldInvalidBackgroundColor = (name) => `\n ${name}::part(input-field)::after {\n background: none;\n }\n`;\n\nexport const resetInputOverrides = (name, cssVarList) => `\n ${resetInputContainer(name)}\n ${resetInputCursor(name)}\n ${resetInputPlaceholder(name)}\n ${resetInputField(name)}\n ${resetInputAutoFill(name, cssVarList)}\n ${resetInputFieldInvalidBackgroundColor(name)}\n ${resetInitialHeight(name)}\n ${resetInputElement(name)}\n ${resetInputFieldUnderlayingBorder(name)}\n`;\n\n// This function is used to support RTL correctly for input components.\n// It also fixes the error message to be displayed LTR since we currently\n// don't support RTL for error messages.\nexport const resetInputLabelPosition = (name) => `\n :host ::part(error-message) {\n direction: ltr;\n }\n :host([required]) ::part(required-indicator) {\n width: 1em;\n display: inline-flex;\n }\n :host([required]) ::part(required-indicator)::after {\n position: static;\n }\n :host([has-label]) ::part(label) {\n padding-right: 0;\n padding-bottom: 0;\n display: flex;\n width: 100%;\n }\n ${name} [slot=\"label\"] {\n max-width: calc(100% - 1em);\n overflow: hidden;\n text-overflow: ellipsis;\n padding-bottom: 0.5em;\n }\n`;\n\nexport const inputFloatingLabelStyle = () => {\n return `\n :host([label-type=\"floating\"]) {\n position: relative;\n }\n :host([label-type=\"floating\"][has-label]) [slot=\"label\"] {\n padding: 0;\n }\n :host([label-type=\"floating\"][has-label]) > ::part(label) {\n z-index: 1;\n padding: 0;\n width: auto;\n }\n `;\n};\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { compose } from '../../../helpers';\nimport {\n createStyleMixin,\n proxyInputMixin,\n draggableMixin,\n componentNameValidationMixin,\n createProxy,\n} from '../../../mixins';\nimport { booleanFieldMixin } from '../booleanFieldMixin';\nimport commonStyles from '../commonStyles';\nimport { useHostExternalPadding } from '../../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('switch-toggle');\n\nconst {\n host,\n component,\n checkboxElement: track,\n checkboxSurface: knob,\n checkboxLabel,\n requiredIndicator,\n helperText,\n errorMessage,\n} = {\n host: { selector: () => ':host' },\n requiredIndicator: { selector: '[required] vaadin-checkbox [slot=\"label\"]:not(:empty)::after' },\n component: { selector: 'vaadin-checkbox' },\n checkboxElement: { selector: 'vaadin-checkbox::part(checkbox)' },\n checkboxSurface: { selector: 'vaadin-checkbox::part(checkbox)::after' },\n checkboxLabel: { selector: 'vaadin-checkbox [slot=\"label\"]:not(:empty)' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nexport const SwitchToggleClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n\n fontSize: [component, checkboxLabel, checkboxLabel],\n fontFamily: [checkboxLabel, helperText, errorMessage],\n\n labelTextColor: { ...checkboxLabel, property: 'color' },\n labelSpacing: { ...checkboxLabel, property: 'padding-inline-start' },\n labelLineHeight: { ...checkboxLabel, property: 'line-height' },\n labelFontWeight: { ...checkboxLabel, property: 'font-weight' },\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n\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\n trackBorderWidth: { ...track, property: 'border-width' },\n trackBorderStyle: { ...track, property: 'border-style' },\n trackBorderColor: { ...track, property: 'border-color' },\n trackBackgroundColor: { ...track, property: 'background-color' },\n trackBorderRadius: { ...track, property: 'border-radius' },\n trackWidth: [{ ...track, property: 'width' }],\n trackHeight: [\n { ...knob, property: 'font-size' },\n { ...track, property: 'height' },\n ],\n\n knobSize: [\n { ...knob, property: 'width' },\n { ...knob, property: 'height' },\n ],\n knobTextColor: { ...knob, property: 'color' },\n knobRadius: { ...knob, property: 'border-radius' },\n knobTransitionDuration: { ...knob, property: 'transition' },\n knobColor: { ...knob, property: 'background-color' },\n knobTopOffset: { ...knob, property: 'top' },\n knobLeftOffset: { ...knob, property: 'left' },\n\n inputOutlineWidth: { ...track, property: 'outline-width' },\n inputOutlineOffset: { ...track, property: 'outline-offset' },\n inputOutlineColor: { ...track, property: 'outline-color' },\n inputOutlineStyle: { ...track, property: 'outline-style' },\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n componentNameValidationMixin,\n booleanFieldMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n\t\t\t${commonStyles}\n\t\t\t${useHostExternalPadding(SwitchToggleClass.cssVarList)}\n\n :host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tmax-width: 100%;\n }\n\n :host ::part(error-message) {\n direction: ltr;\n }\n\n vaadin-text-field {\n width: 100%;\n }\n\n vaadin-text-field::part(input-field)::after {\n content: none;\n }\n\n descope-boolean-field-internal {\n\t\t\t\tpadding: 0;\n width: 100%;\n }\n\n vaadin-text-field::part(input-field) {\n cursor: pointer;\n }\n\n vaadin-checkbox {\n cursor: pointer;\n }\n\n vaadin-checkbox [slot=\"label\"]:not(:empty) {\n cursor: pointer;\n\t\t\t}\n\n vaadin-checkbox::part(checkbox) {\n margin: 0;\n\t\t\t}\n\n vaadin-checkbox::part(checkbox)::before {\n content: '';\n\t\t\t}\n\n vaadin-checkbox[active]::part(checkbox) {\n\t\t\t\ttransform: none;\n\t\t\t}\n\n vaadin-checkbox::part(checkbox)::after {\n\t\t\t\tposition: absolute;\n\t\t\t\topacity: 1;\n\t\t\t\tcontent: '';\n\t\t\t}\n\t\t`,\n excludeAttrsSync: ['label', 'tabindex'],\n componentName,\n })\n);\n"],"names":["customElements","define","createBaseInputClass","args","InputController","constructor","host","callback","super","initializer","node","value","type","setAttribute","id","this","defaultId","useUniqueId","componentName","ListItemClass","mappings","padding","backgroundColor","borderColor","borderStyle","borderWidth","borderRadius","outline","cursor","gap","maxWidth","selector","alignItems","flexDirection","transition","superclass","attachShadow","mode","innerHTML","init","baseElement","addEventListener","e","preventDefault","window","removeAttribute","once","createBaseClass","baseSelector","RawList","observedAttributes","items","shadowRoot","querySelector","assignedElements","length","variant","getAttribute","forEach","item","listItem","localName","listItemVariant","isReadOnly","attributeChangedCallback","name","oldValue","newValue","ListClass","hostWidth","property","maxHeight","minHeight","verticalPadding","horizontalPadding","hostDirection","fontFamily","boxShadow","gridTemplateColumns","maxItemsWidth","minItemsWidth","itemsHorizontalAlign","emptyStateTextColor","emptyStateTextFontFamily","booleanFieldMixin","template","document","createElement","appendChild","content","cloneNode","inputElement","checkbox","includeAttrs","variants","RawScopesList","size","Array","from","children","reportValidity","checkValidity","data","every","required","includes","filter","checked","map","val","ScopesListClass","CheckboxClass","cssVarList","SwitchToggleClass","requiredInputBorderColor","inputBorderColor","requiredInputValueTextColor","inputValueTextColor","knobColor","createDynamicDataMixin","itemRenderer","desc","_","ref","ComponentClass","rerenderAttrsList","forwardAttributes","BaseInputClass","wrapperEle","isTrusted","focus","handleFocusEventsDispatching","attrName","onReadOnlyChange","getValidity","isRequired","valueMissing","component","checkboxElement","checkboxSurface","checkboxLabel","requiredIndicator","helperText","errorMessage","fontSize","labelTextColor","labelSpacing","labelLineHeight","labelFontWeight","labelRequiredIndicator","errorMessageTextColor","errorMessageIcon","errorMessageIconSize","errorMessageIconPadding","errorMessageIconRepeat","errorMessageIconPosition","inputBackgroundColor","inputBorderRadius","inputBorderWidth","inputBorderOffset","inputBorderStyle","inputOutlineWidth","inputOutlineOffset","inputOutlineColor","inputOutlineStyle","inputSize","proxyProps","slots","wrappedEleName","style","excludeAttrsSync","defaultValidateSchema","defaultItemRenderer","JSON","stringify","validateSchema","slotName","validation","console","error","querySelectorAll","remove","index","templateOrString","templateString","createTemplate","HTMLTemplateElement","attrs","dataAttr","parse","warn","useHostExternalPadding","resetInputContainer","resetInputField","resetInputCursor","resetInputPlaceholder","ele","resetInputFieldDefaultWidth","resetInputReadonlyStyle","resetInputFieldInvalidBackgroundColor","resetInputOverrides","inputHeight","resetInputAutoFill","resetInitialHeight","resetInputElement","resetInputFieldUnderlayingBorder","resetInputLabelPosition","inputFloatingLabelStyle","track","knob","trackBorderWidth","trackBorderStyle","trackBorderColor","trackBackgroundColor","trackBorderRadius","trackWidth","trackHeight","knobSize","knobTextColor","knobRadius","knobTransitionDuration","knobTopOffset","knobLeftOffset"],"sourceRoot":""}
1
+ {"version":3,"file":"descope-scopes-list-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-boolean-field-internal/index.js","webpack://@descope/web-components-ui/./src/baseClasses/createBaseInputClass.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/field-base/src/input-controller.js","webpack://@descope/web-components-ui/./src/components/descope-list/ListItemClass.js","webpack://@descope/web-components-ui/./src/mixins/activableMixin.js","webpack://@descope/web-components-ui/./src/components/descope-list/ListClass.js","webpack://@descope/web-components-ui/./src/components/descope-list/index.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/booleanFieldMixin.js","webpack://@descope/web-components-ui/./src/components/descope-scopes-list/ScopesListClass.js","webpack://@descope/web-components-ui/./src/components/descope-scopes-list/index.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-boolean-field-internal/BooleanFieldInternal.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/commonStyles.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-checkbox/index.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-checkbox/CheckboxClass.js","webpack://@descope/web-components-ui/./src/mixins/createDynamicDataMixin.js","webpack://@descope/web-components-ui/./src/helpers/themeHelpers/resetHelpers.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-switch-toggle/SwitchToggleClass.js"],"sourcesContent":["import BooleanFieldInternal, { componentName } from './BooleanFieldInternal';\n\ncustomElements.define(componentName, BooleanFieldInternal);\n","import { compose } from '../helpers';\nimport {\n changeMixin,\n inputEventsDispatchingMixin,\n inputValidationMixin,\n normalizeBooleanAttributesMixin,\n} from '../mixins';\nimport { createBaseClass } from './createBaseClass';\n\nexport const createBaseInputClass = (...args) =>\n compose(\n inputValidationMixin,\n changeMixin,\n normalizeBooleanAttributesMixin,\n inputEventsDispatchingMixin\n )(createBaseClass(...args));\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { SlotController } from '@vaadin/component-base/src/slot-controller.js';\n\n/**\n * A controller to create and initialize slotted `<input>` element.\n */\nexport class InputController extends SlotController {\n constructor(host, callback) {\n super(host, 'input', 'input', {\n initializer: (node, host) => {\n if (host.value) {\n node.value = host.value;\n }\n if (host.type) {\n node.setAttribute('type', host.type);\n }\n\n // Ensure every instance has unique ID\n node.id = this.defaultId;\n\n if (typeof callback === 'function') {\n callback(node);\n }\n },\n useUniqueId: true,\n });\n }\n}\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport { activeableMixin } from '../../mixins/activableMixin';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('list-item');\n\nconst customMixin = (superclass) =>\n class ListItemMixinClass extends superclass {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <slot></slot>\n `;\n\n injectStyle(\n `\n slot {\n width: 100%;\n display: flex;\n overflow: hidden;\n box-sizing: border-box;\n }\n :host {\n display: block;\n }\n `,\n this\n );\n }\n };\n\nexport const ListItemClass = compose(\n createStyleMixin({\n mappings: {\n padding: {},\n backgroundColor: {},\n borderColor: {},\n borderStyle: {},\n borderWidth: {},\n borderRadius: {},\n outline: {},\n cursor: {},\n gap: {},\n maxWidth: { selector: () => ':host' },\n alignItems: {},\n flexDirection: {},\n transition: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n customMixin,\n activeableMixin\n)(createBaseClass({ componentName, baseSelector: 'slot' }));\n","export const activeableMixin = (superclass) =>\n class ActiveableMixinClass extends superclass {\n init() {\n super.init?.();\n\n this.baseElement.addEventListener('mousedown', (e) => {\n e.preventDefault();\n this.setAttribute('active', 'true');\n window.addEventListener('mouseup', () => this.removeAttribute('active'), {\n once: true,\n });\n });\n }\n };\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName, observeChildren } from '../../helpers/componentHelpers';\nimport { ListItemClass } from './ListItemClass';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('list');\n\nclass RawList extends createBaseClass({ componentName, baseSelector: '.wrapper' }) {\n static get observedAttributes() {\n return ['variant', 'readonly'];\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <div class=\"wrapper\">\n <slot></slot>\n <slot name=\"empty-state\">\n No item...\n </slot>\n </div>\n\t`;\n\n injectStyle(\n `\n .wrapper {\n overflow: auto;\n display: grid;\n max-height: 100%;\n width: 100%;\n }\n\n :host {\n display: inline-flex;\n width: 100%;\n }\n slot[name=\"empty-state\"] {\n justify-content: center;\n align-items: center;\n display: flex;\n flex-grow: 1;\n }\n\n :host slot[name=\"empty-state\"] {\n display: none;\n }\n :host([empty]) slot[name=\"empty-state\"] {\n display: flex;\n }\n ::slotted(:not([slot])) {\n width: 100%;\n }\n `,\n this\n );\n }\n\n get items() {\n return this.shadowRoot.querySelector('slot').assignedElements();\n }\n\n #handleEmptyState() {\n if (this.items.length === 0) {\n this.setAttribute('empty', 'true');\n } else {\n this.removeAttribute('empty');\n }\n }\n\n get variant() {\n return this.getAttribute('variant') || 'list';\n }\n\n #handleItemsVariant() {\n this.items.forEach((item) => {\n let listItem = item;\n if (listItem.localName !== ListItemClass.componentName) {\n listItem = item.querySelector(ListItemClass.componentName);\n }\n\n const listItemVariant = this.variant === 'tiles' ? 'tile' : 'row';\n listItem.setAttribute('variant', listItemVariant);\n });\n }\n\n init() {\n super.init?.();\n\n // we want new items to get the size\n observeChildren(this, () => {\n this.#handleEmptyState();\n this.#handleItemsVariant();\n this.#handleReadOnly();\n });\n }\n\n get isReadOnly() {\n return this.getAttribute('readonly') === 'true';\n }\n\n #handleReadOnly() {\n this.items.forEach((item) => {\n if (this.isReadOnly) item.setAttribute('inert', '');\n else item.removeAttribute('inert');\n });\n }\n\n attributeChangedCallback(name, oldValue, newValue) {\n super.attributeChangedCallback?.(name, oldValue, newValue);\n\n if (newValue === oldValue) return;\n\n if (name === 'variant') {\n this.#handleItemsVariant();\n } else if (name === 'readonly') {\n this.#handleReadOnly();\n }\n }\n}\n\nexport const ListClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n maxHeight: { selector: () => ':host' },\n minHeight: {},\n verticalPadding: [{ property: 'padding-top' }, { property: 'padding-bottom' }],\n horizontalPadding: [{ property: 'padding-left' }, { property: 'padding-right' }],\n hostDirection: { selector: () => ':host', property: 'direction' },\n fontFamily: {},\n gap: {},\n\n backgroundColor: {},\n borderRadius: {},\n borderColor: {},\n borderStyle: {},\n borderWidth: {},\n\n boxShadow: {},\n gridTemplateColumns: {},\n maxItemsWidth: { selector: () => '::slotted(:not([slot]))', property: 'max-width' },\n minItemsWidth: { selector: () => '::slotted(:not([slot]))', property: 'min-width' },\n itemsHorizontalAlign: { selector: () => '::slotted(*)', property: 'justify-self' },\n emptyStateTextColor: { selector: () => 'slot[name=\"empty-state\"]', property: 'color' },\n emptyStateTextFontFamily: {\n selector: () => 'slot[name=\"empty-state\"]',\n property: 'font-family',\n },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawList);\n","import { componentName as listComponentName, ListClass } from './ListClass';\nimport { componentName as listItemComponentName, ListItemClass } from './ListItemClass';\n\ncustomElements.define(listComponentName, ListClass);\ncustomElements.define(listItemComponentName, ListItemClass);\n\nexport { ListClass, listComponentName as componentName };\n","import { forwardAttrs, forwardProps, syncAttrs } from '../../helpers/componentHelpers';\nimport { componentName as descopeInternalComponentName } from './descope-boolean-field-internal/BooleanFieldInternal';\n\nexport const booleanFieldMixin = (superclass) =>\n class BooleanFieldMixinClass extends superclass {\n init() {\n super.init?.();\n\n const template = document.createElement('template');\n template.innerHTML = `\n\t\t\t\t<${descopeInternalComponentName}\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\tslot=\"input\"\n\t\t\t\t></${descopeInternalComponentName}>\n\t\t\t`;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n this.checkbox = this.inputElement.querySelector('vaadin-checkbox');\n\n forwardAttrs(this, this.inputElement, {\n includeAttrs: [\n 'required',\n 'full-width',\n 'size',\n 'label',\n 'invalid',\n 'disabled',\n 'readonly',\n ],\n });\n\n forwardProps(this.inputElement, this, ['checked']);\n syncAttrs(this, this.inputElement, { includeAttrs: ['checked'] });\n }\n };\n","import { injectStyle } from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport { componentNameValidationMixin, createStyleMixin, draggableMixin } from '../../mixins';\nimport { createDynamicDataMixin } from '../../mixins/createDynamicDataMixin';\nimport { CheckboxClass } from '../boolean-fields/descope-checkbox/CheckboxClass';\nimport { SwitchToggleClass } from '../boolean-fields/descope-switch-toggle/SwitchToggleClass';\n\nexport const componentName = getComponentName('scopes-list');\nconst variants = ['checkbox', 'switch'];\n\nconst itemRenderer = ({ id, desc, required = false }, _, ref) => {\n const ComponentClass = ref.variant === 'checkbox' ? CheckboxClass : SwitchToggleClass;\n\n return `\n <${ComponentClass.componentName}\n bordered=\"true\"\n size=${ref.size}\n label=\"${desc}\"\n data-id=\"${id}\"\n readonly=\"${required || ref.isReadOnly}\"\n required=\"${required}\"\n checked=\"true\"\n ></${ComponentClass.componentName}>\n`;\n};\n\nclass RawScopesList 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 isReadOnly() {\n return this.getAttribute('readonly') === 'true';\n }\n\n get size() {\n return this.getAttribute('size') || 'sm';\n }\n\n #getChildNodes() {\n return Array.from(this.shadowRoot.querySelector('div').children);\n }\n\n // eslint-disable-next-line class-methods-use-this\n reportValidity() {\n this.checkValidity();\n }\n\n // eslint-disable-next-line class-methods-use-this\n checkValidity() {\n return this.data.every((item) => !item.required || this.value.includes(item.id));\n }\n\n get value() {\n return this.#getChildNodes()\n .filter((node) => node.checked)\n .map((node) => node.getAttribute('data-id'));\n }\n\n set value(val = []) {\n this.#getChildNodes().forEach((node) => {\n // eslint-disable-next-line no-param-reassign\n node.checked = val.includes(node.getAttribute('data-id'));\n });\n }\n\n get variant() {\n const variant = this.getAttribute('variant');\n\n return variants.includes(variant) ? variant : variants[0];\n }\n}\n\nexport const ScopesListClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n hostDirection: [\n { selector: () => ':host', property: 'direction' },\n {\n selector: () => CheckboxClass.componentName,\n property: CheckboxClass.cssVarList.hostDirection,\n },\n {\n selector: () => SwitchToggleClass.componentName,\n property: SwitchToggleClass.cssVarList.hostDirection,\n },\n ],\n gap: { selector: () => 'div', property: 'gap' },\n requiredInputBorderColor: [\n {\n selector: `${CheckboxClass.componentName}[required=\"true\"]`,\n property: CheckboxClass.cssVarList.inputBorderColor,\n },\n {\n selector: `${SwitchToggleClass.componentName}[required=\"true\"]`,\n property: SwitchToggleClass.cssVarList.inputBorderColor,\n },\n ],\n requiredInputValueTextColor: [\n {\n selector: `${CheckboxClass.componentName}[required=\"true\"]`,\n property: CheckboxClass.cssVarList.inputValueTextColor,\n },\n {\n selector: `${SwitchToggleClass.componentName}[required=\"true\"]`,\n property: SwitchToggleClass.cssVarList.knobColor,\n },\n ],\n },\n }),\n createDynamicDataMixin({ itemRenderer, rerenderAttrsList: ['size', 'variant'] }),\n draggableMixin,\n componentNameValidationMixin\n)(RawScopesList);\n","import { componentName, ScopesListClass } from './ScopesListClass';\nimport '../descope-list';\nimport '../boolean-fields/descope-checkbox';\n\ncustomElements.define(componentName, ScopesListClass);\n\nexport { ScopesListClass, componentName };\n","import { createBaseInputClass } from '../../../baseClasses/createBaseInputClass';\nimport { forwardAttrs, getComponentName, syncAttrs } from '../../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('boolean-field-internal');\n\nconst forwardAttributes = ['disabled', 'label', 'invalid', 'readonly'];\n\nconst BaseInputClass = createBaseInputClass({ componentName, baseSelector: 'div' });\n\nclass BooleanInputInternal extends BaseInputClass {\n static get observedAttributes() {\n return ['readonly'];\n }\n\n constructor() {\n super();\n this.innerHTML = `\n\t\t\t<div class=\"wrapper\">\n\t\t\t\t<vaadin-checkbox></vaadin-checkbox>\n\t\t\t</div>\n\t\t`;\n this.wrapperEle = this.querySelector('div');\n this.checkbox = this.querySelector('vaadin-checkbox');\n }\n\n get value() {\n return this.checkbox?.checked;\n }\n\n set value(val) {\n this.checkbox.checked = val;\n }\n\n get checked() {\n return this.value;\n }\n\n set checked(val) {\n this.value = val;\n }\n\n init() {\n this.addEventListener('focus', (e) => {\n if (e.isTrusted) {\n this.checkbox.focus();\n }\n });\n super.init?.();\n\n forwardAttrs(this, this.checkbox, { includeAttrs: forwardAttributes });\n syncAttrs(this, this.checkbox, { includeAttrs: ['checked'] });\n\n // we need it in order to set the focus ring and trigger validation on descope-checkbox\n this.handleFocusEventsDispatching([this.checkbox]);\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (attrName === 'readonly') {\n this.onReadOnlyChange(newValue !== null);\n }\n }\n\n onReadOnlyChange(val) {\n this.baseElement.setAttribute('inert', val);\n }\n\n getValidity() {\n if (this.isRequired && !this.value) {\n return { valueMissing: true };\n }\n return {};\n }\n}\n\nexport default BooleanInputInternal;\n","import { resetInputFieldDefaultWidth } from '../../helpers/themeHelpers/resetHelpers';\n\nexport default `\n:host {\n\tdisplay: inline-flex;\n}\n\n${resetInputFieldDefaultWidth()}\n\n.wrapper {\n\tdisplay: flex;\n\tbox-sizing: border-box;\n}\nvaadin-text-field {\n\tposition: relative;\n\tpadding: 0;\n\tdisplay: inline-flex;\n\talign-items: flex-start;\n}\nvaadin-text-field::before {\n content: unset;\n}\nvaadin-text-field::part(label) {\n position: absolute;\n top: 0;\n}\nvaadin-text-field::part(input-field) {\n\tpadding: 0;\n\tbackground: none;\n\tmin-height: 0;\n}\nvaadin-text-field::part(input-field)::after {\n background: none;\n}\nvaadin-text-field[focus-ring]::part(input-field) {\n\tbox-shadow: none;\n}\n\nvaadin-checkbox [slot=\"label\"] {\n align-self: flex-start;\n padding: 0;\n}\n[required] vaadin-checkbox [slot=\"label\"]:not(:empty) {\n\tpadding-inline-end: 1em;\n}\ndescope-boolean-field-internal {\n -webkit-mask-image: none;\n min-height: initial;\n}\n`;\n","import { componentName, CheckboxClass } from './CheckboxClass';\nimport '@vaadin/checkbox';\nimport '@vaadin/text-field';\nimport '../descope-boolean-field-internal';\n\ncustomElements.define(componentName, CheckboxClass);\n\nexport { CheckboxClass, componentName };\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { compose } from '../../../helpers';\nimport {\n createStyleMixin,\n proxyInputMixin,\n draggableMixin,\n componentNameValidationMixin,\n createProxy,\n} from '../../../mixins';\nimport { booleanFieldMixin } from '../booleanFieldMixin';\nimport commonStyles from '../commonStyles';\nimport { useHostExternalPadding } from '../../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('checkbox');\n\nconst {\n host,\n component,\n checkboxElement,\n checkboxSurface,\n checkboxLabel,\n requiredIndicator,\n helperText,\n errorMessage,\n} = {\n host: { selector: () => ':host' },\n requiredIndicator: { selector: '[required] vaadin-checkbox [slot=\"label\"]:not(:empty)::after' },\n component: { selector: 'vaadin-checkbox' },\n checkboxElement: { selector: 'vaadin-checkbox::part(checkbox)' },\n checkboxSurface: { selector: 'vaadin-checkbox::part(checkbox)::after' },\n checkboxLabel: { selector: 'vaadin-checkbox [slot=\"label\"]:not(:empty)' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nexport const CheckboxClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n\n fontSize: [host, checkboxElement, checkboxLabel],\n fontFamily: [checkboxLabel, helperText, errorMessage],\n\n labelTextColor: { ...checkboxLabel, property: 'color' },\n labelSpacing: { ...checkboxLabel, property: 'padding-inline-start' },\n labelLineHeight: { ...checkboxLabel, property: 'line-height' },\n labelFontWeight: { ...checkboxLabel, property: 'font-weight' },\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\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 inputValueTextColor: { ...checkboxSurface, property: 'color' },\n inputBackgroundColor: { ...checkboxElement, property: 'background-color' },\n\n inputBorderRadius: { ...checkboxElement, property: 'border-radius' },\n inputBorderWidth: { ...checkboxElement, property: 'border-width' },\n inputBorderOffset: { ...checkboxElement, property: 'border-offset' },\n inputBorderColor: { ...checkboxElement, property: 'border-color' },\n inputBorderStyle: { ...checkboxElement, property: 'border-style' },\n\n inputOutlineWidth: { ...checkboxElement, property: 'outline-width' },\n inputOutlineOffset: { ...checkboxElement, property: 'outline-offset' },\n inputOutlineColor: { ...checkboxElement, property: 'outline-color' },\n inputOutlineStyle: { ...checkboxElement, property: 'outline-style' },\n\n inputSize: [\n { ...checkboxElement, property: 'width' },\n { ...checkboxElement, property: 'height' },\n { ...checkboxSurface, property: 'font-size' },\n { ...component, property: 'font-size' },\n ],\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n componentNameValidationMixin,\n booleanFieldMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n\t\t\t${commonStyles}\n ${useHostExternalPadding(CheckboxClass.cssVarList)}\n\n :host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tmax-width: 100%;\n margin: 1px;\n }\n\n :host ::part(error-message) {\n direction: ltr;\n }\n\n vaadin-text-field {\n width: 100%;\n }\n\n descope-boolean-field-internal {\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%;\n height: 100%;\n }\n\n vaadin-checkbox::part(checkbox) {\n margin: 0;\n }\n\n vaadin-checkbox::part(checkbox)::after {\n top: 0;\n left: 0;\n -webkit-text-fill-color: initial;\n }\n\n vaadin-checkbox label {\n -webkit-text-fill-color: initial;\n }\n\n vaadin-text-field::part(input-field)::after {\n content: none;\n }\n `,\n excludeAttrsSync: ['label', 'tabindex'],\n componentName,\n })\n);\n","import { observeAttributes } from '../helpers/componentHelpers';\n\nconst defaultValidateSchema = () => true;\nconst defaultItemRenderer = (item) => `<pre>${JSON.stringify(item, null, 4)}</pre>`;\n\nconst createTemplate = (templateString) => {\n const template = document.createElement('template');\n template.innerHTML = templateString;\n\n return template;\n};\n\nconst getTemplateContent = (templateOrString) => {\n if (typeof templateOrString === 'string') {\n return createTemplate(templateOrString).content;\n }\n\n if (templateOrString instanceof HTMLTemplateElement) {\n return templateOrString.content;\n }\n\n // eslint-disable-next-line no-console\n console.error('Invalid template', templateOrString);\n return null;\n};\n\nexport const createDynamicDataMixin =\n ({\n itemRenderer = defaultItemRenderer,\n validateSchema = defaultValidateSchema,\n slotName,\n rerenderAttrsList = [],\n }) =>\n (superclass) =>\n class DynamicDataMixinClass extends superclass {\n #data = [];\n\n // eslint-disable-next-line class-methods-use-this\n #validateSchema(data) {\n if (!validateSchema) return true;\n\n const validation = validateSchema(data);\n if (validation === true) return true;\n\n // eslint-disable-next-line no-console\n console.error('Data schema validation failed', validation || '');\n\n return false;\n }\n\n #removeOldItems() {\n const selector = slotName ? `*[slot=\"${slotName}\"]` : ':not([slot])';\n this.baseElement.querySelectorAll(selector).forEach((item) => item.remove());\n }\n\n #renderItems() {\n this.#removeOldItems();\n this.data.forEach((item, index) => {\n const content = getTemplateContent(itemRenderer(item, index, this));\n this.baseElement.appendChild(content?.cloneNode(true));\n });\n }\n\n set data(value) {\n if (this.#validateSchema(value)) {\n this.#data = value;\n this.#renderItems();\n }\n }\n\n get data() {\n return this.#data;\n }\n\n init() {\n super.init?.();\n\n observeAttributes(\n this,\n (attrs) => {\n if (attrs.includes('data')) this.#handleDataAttr();\n else this.#renderItems();\n },\n { includeAttrs: [...rerenderAttrsList, 'data'] }\n );\n }\n\n #handleDataAttr() {\n const dataAttr = this.getAttribute('data');\n\n if (!dataAttr) return;\n\n try {\n this.data = JSON.parse(dataAttr);\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn('Invalid JSON data', dataAttr);\n }\n }\n };\n","export const useHostExternalPadding = (cssVarList) => `\n :host {\n padding: calc(var(${cssVarList.inputOutlineWidth}) + var(${cssVarList.inputOutlineOffset}))\n }\n`;\n\nexport const resetInputFieldUnderlayingBorder = (name) => `\n ${name}::part(input-field)::after {\n border: none;\n }\n`;\n\nexport const resetInitialHeight = (name) => `\n ${name}::before {\n\t\theight: unset;\n\t}\n`;\n\nexport const resetInputElement = (name) => `\n ${name} > input {\n -webkit-mask-image: none;\n min-height: 0;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputContainer = (name) => `\n ${name} {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputField = (name) => `\n ${name}::part(input-field) {\n overflow: hidden;\n padding: 0;\n box-shadow: none;\n }\n`;\n\nexport const resetInputCursor = (name) => `\n ${name} > label,\n ${name}::part(label),\n ${name}::part(required-indicator) {\n cursor: pointer;\n }\n`;\n\nexport const resetInputPlaceholder = (name, ele = 'input') => `\n ${name}[disabled] > ${ele}:placeholder-shown,\n\t${name}[readonly] > ${ele}:placeholder-shown {\n\t\topacity: 1;\n\t}\n`;\n\nexport const resetInputAutoFill = (name, cssVarList) => `\n ${name} input:-webkit-autofill,\n ${name} input:-webkit-autofill::first-line,\n ${name} input:-webkit-autofill:hover,\n ${name} input:-webkit-autofill:active,\n ${name} input:-webkit-autofill:focus {\n -webkit-text-fill-color: var(${cssVarList.inputValueTextColor});\n box-shadow: 0 0 0 var(${cssVarList.inputHeight}) var(${cssVarList.inputBackgroundColor}) inset;\n }\n`;\n\nexport const resetInputFieldDefaultWidth = () => `\n :host {\n --vaadin-field-default-width: auto;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputReadonlyStyle = (name) => `\n ${name}::part(input-field)::after {\n opacity: 0;\n }\n`;\n\nexport const resetInputFieldInvalidBackgroundColor = (name) => `\n ${name}::part(input-field)::after {\n background: none;\n }\n`;\n\nexport const resetInputOverrides = (name, cssVarList) => `\n ${resetInputContainer(name)}\n ${resetInputCursor(name)}\n ${resetInputPlaceholder(name)}\n ${resetInputField(name)}\n ${resetInputAutoFill(name, cssVarList)}\n ${resetInputFieldInvalidBackgroundColor(name)}\n ${resetInitialHeight(name)}\n ${resetInputElement(name)}\n ${resetInputFieldUnderlayingBorder(name)}\n`;\n\n// This function is used to support RTL correctly for input components.\n// It also fixes the error message to be displayed LTR since we currently\n// don't support RTL for error messages.\nexport const resetInputLabelPosition = (name) => `\n :host ::part(error-message) {\n direction: ltr;\n }\n :host([required]) ::part(required-indicator) {\n width: 1em;\n display: inline-flex;\n }\n :host([required]) ::part(required-indicator)::after {\n position: static;\n }\n :host([has-label]) ::part(label) {\n padding-right: 0;\n padding-bottom: 0;\n display: flex;\n width: 100%;\n }\n ${name} [slot=\"label\"] {\n max-width: calc(100% - 1em);\n overflow: hidden;\n text-overflow: ellipsis;\n padding-bottom: 0.5em;\n }\n`;\n\nexport const inputFloatingLabelStyle = () => {\n return `\n :host([label-type=\"floating\"]) {\n position: relative;\n }\n :host([label-type=\"floating\"][has-label]) [slot=\"label\"] {\n padding: 0;\n }\n :host([label-type=\"floating\"][has-label]) > ::part(label) {\n z-index: 1;\n padding: 0;\n width: auto;\n }\n `;\n};\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { compose } from '../../../helpers';\nimport {\n createStyleMixin,\n proxyInputMixin,\n draggableMixin,\n componentNameValidationMixin,\n createProxy,\n} from '../../../mixins';\nimport { booleanFieldMixin } from '../booleanFieldMixin';\nimport commonStyles from '../commonStyles';\nimport { useHostExternalPadding } from '../../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('switch-toggle');\n\nconst {\n host,\n component,\n checkboxElement: track,\n checkboxSurface: knob,\n checkboxLabel,\n requiredIndicator,\n helperText,\n errorMessage,\n} = {\n host: { selector: () => ':host' },\n requiredIndicator: { selector: '[required] vaadin-checkbox [slot=\"label\"]:not(:empty)::after' },\n component: { selector: 'vaadin-checkbox' },\n checkboxElement: { selector: 'vaadin-checkbox::part(checkbox)' },\n checkboxSurface: { selector: 'vaadin-checkbox::part(checkbox)::after' },\n checkboxLabel: { selector: 'vaadin-checkbox [slot=\"label\"]:not(:empty)' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nexport const SwitchToggleClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n\n fontSize: [component, checkboxLabel, checkboxLabel],\n fontFamily: [checkboxLabel, helperText, errorMessage],\n\n labelTextColor: { ...checkboxLabel, property: 'color' },\n labelSpacing: { ...checkboxLabel, property: 'padding-inline-start' },\n labelLineHeight: { ...checkboxLabel, property: 'line-height' },\n labelFontWeight: { ...checkboxLabel, property: 'font-weight' },\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n\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 trackBorderWidth: { ...track, property: 'border-width' },\n trackBorderStyle: { ...track, property: 'border-style' },\n trackBorderColor: { ...track, property: 'border-color' },\n trackBackgroundColor: { ...track, property: 'background-color' },\n trackBorderRadius: { ...track, property: 'border-radius' },\n trackWidth: [{ ...track, property: 'width' }],\n trackHeight: [\n { ...knob, property: 'font-size' },\n { ...track, property: 'height' },\n ],\n\n knobSize: [\n { ...knob, property: 'width' },\n { ...knob, property: 'height' },\n ],\n knobTextColor: { ...knob, property: 'color' },\n knobRadius: { ...knob, property: 'border-radius' },\n knobTransitionDuration: { ...knob, property: 'transition' },\n knobColor: { ...knob, property: 'background-color' },\n knobTopOffset: { ...knob, property: 'top' },\n knobLeftOffset: { ...knob, property: 'left' },\n\n inputOutlineWidth: { ...track, property: 'outline-width' },\n inputOutlineOffset: { ...track, property: 'outline-offset' },\n inputOutlineColor: { ...track, property: 'outline-color' },\n inputOutlineStyle: { ...track, property: 'outline-style' },\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n componentNameValidationMixin,\n booleanFieldMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n\t\t\t${commonStyles}\n\t\t\t${useHostExternalPadding(SwitchToggleClass.cssVarList)}\n\n :host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tmax-width: 100%;\n }\n\n :host ::part(error-message) {\n direction: ltr;\n }\n\n vaadin-text-field {\n width: 100%;\n }\n\n vaadin-text-field::part(input-field)::after {\n content: none;\n }\n\n descope-boolean-field-internal {\n\t\t\t\tpadding: 0;\n width: 100%;\n }\n\n vaadin-text-field::part(input-field) {\n cursor: pointer;\n }\n\n vaadin-checkbox {\n cursor: pointer;\n }\n\n vaadin-checkbox [slot=\"label\"]:not(:empty) {\n cursor: pointer;\n\t\t\t}\n\n vaadin-checkbox::part(checkbox) {\n margin: 0;\n\t\t\t}\n\n vaadin-checkbox::part(checkbox)::before {\n content: '';\n\t\t\t}\n\n vaadin-checkbox[active]::part(checkbox) {\n\t\t\t\ttransform: none;\n\t\t\t}\n\n vaadin-checkbox::part(checkbox)::after {\n\t\t\t\tposition: absolute;\n\t\t\t\topacity: 1;\n\t\t\t\tcontent: '';\n\t\t\t}\n\t\t`,\n excludeAttrsSync: ['label', 'tabindex'],\n componentName,\n })\n);\n"],"names":["customElements","define","createBaseInputClass","args","InputController","constructor","host","callback","super","initializer","node","value","type","setAttribute","id","this","defaultId","useUniqueId","componentName","ListItemClass","mappings","padding","backgroundColor","borderColor","borderStyle","borderWidth","borderRadius","outline","cursor","gap","maxWidth","selector","alignItems","flexDirection","transition","superclass","attachShadow","mode","innerHTML","init","baseElement","addEventListener","e","preventDefault","window","removeAttribute","once","createBaseClass","baseSelector","RawList","observedAttributes","items","shadowRoot","querySelector","assignedElements","length","variant","getAttribute","forEach","item","listItem","localName","listItemVariant","isReadOnly","attributeChangedCallback","name","oldValue","newValue","ListClass","hostWidth","property","maxHeight","minHeight","verticalPadding","horizontalPadding","hostDirection","fontFamily","boxShadow","gridTemplateColumns","maxItemsWidth","minItemsWidth","itemsHorizontalAlign","emptyStateTextColor","emptyStateTextFontFamily","booleanFieldMixin","template","document","createElement","appendChild","content","cloneNode","inputElement","checkbox","includeAttrs","variants","RawScopesList","size","Array","from","children","reportValidity","checkValidity","data","every","required","includes","filter","checked","map","val","ScopesListClass","CheckboxClass","cssVarList","SwitchToggleClass","requiredInputBorderColor","inputBorderColor","requiredInputValueTextColor","inputValueTextColor","knobColor","createDynamicDataMixin","itemRenderer","desc","_","ref","ComponentClass","rerenderAttrsList","forwardAttributes","BaseInputClass","wrapperEle","isTrusted","focus","handleFocusEventsDispatching","attrName","onReadOnlyChange","getValidity","isRequired","valueMissing","component","checkboxElement","checkboxSurface","checkboxLabel","requiredIndicator","helperText","errorMessage","fontSize","labelTextColor","labelSpacing","labelLineHeight","labelFontWeight","labelRequiredIndicator","errorMessageTextColor","errorMessageIcon","errorMessageIconSize","errorMessageIconPadding","errorMessageIconRepeat","errorMessageIconPosition","errorMessageFontSize","inputBackgroundColor","inputBorderRadius","inputBorderWidth","inputBorderOffset","inputBorderStyle","inputOutlineWidth","inputOutlineOffset","inputOutlineColor","inputOutlineStyle","inputSize","proxyProps","slots","wrappedEleName","style","excludeAttrsSync","defaultValidateSchema","defaultItemRenderer","JSON","stringify","validateSchema","slotName","validation","console","error","querySelectorAll","remove","index","templateOrString","templateString","createTemplate","HTMLTemplateElement","attrs","dataAttr","parse","warn","useHostExternalPadding","resetInputContainer","resetInputField","resetInputCursor","resetInputPlaceholder","ele","resetInputFieldDefaultWidth","resetInputReadonlyStyle","resetInputFieldInvalidBackgroundColor","resetInputOverrides","inputHeight","resetInputAutoFill","resetInitialHeight","resetInputElement","resetInputFieldUnderlayingBorder","resetInputLabelPosition","inputFloatingLabelStyle","track","knob","trackBorderWidth","trackBorderStyle","trackBorderColor","trackBackgroundColor","trackBorderRadius","trackWidth","trackHeight","knobSize","knobTextColor","knobRadius","knobTransitionDuration","knobTopOffset","knobLeftOffset"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[3594],{6424:(e,t,r)=>{r.d(t,{A:()=>x});const{host:o,label:n,placeholder:i,requiredIndicator:l,inputField:a,input:s,inputMask:p,helperText:d,errorMessage:c,disabledPlaceholder:u,inputDisabled:h,inputIcon:b,externalInput:y,externalInputDisabled:g,externalPlaceholder:f,externalDisabledPlaceholder:m}={host:{selector:()=>":host"},label:{selector:"::part(label)"},requiredIndicator:{selector:"[required]::part(required-indicator)::after"},placeholder:[{selector:"> input:placeholder-shown"},{selector:()=>":host::slotted(input:placeholder-shown)"}],disabledPlaceholder:{selector:"> input:disabled::placeholder"},inputField:{selector:"::part(input-field)"},input:{selector:"input"},inputMask:{selector:"::part(input-field)::before"},inputDisabled:{selector:"input:disabled"},helperText:{selector:"::part(helper-text)"},errorMessage:{selector:"::part(error-message)"},inputIcon:{selector:"vaadin-icon"},externalInput:{selector:()=>"::slotted(input)"},externalInputDisabled:{selector:()=>"::slotted(input:disabled)"},externalPlaceholder:{selector:()=>"::slotted(input:placeholder-shown)"},externalDisabledPlaceholder:{selector:()=>"::slotted(input:disabled::placeholder)"}},x={fontSize:[{},o],fontFamily:[n,a,d,c],labelFontSize:{...n,property:"font-size"},labelFontWeight:{...n,property:"font-weight"},labelTextColor:[{...n,property:"color"},{...l,property:"color"},{...n,property:"-webkit-text-fill-color"},{...l,property:"-webkit-text-fill-color"}],hostWidth:{...o,property:"width"},hostMinWidth:{...o,property:"min-width"},hostDirection:{...o,property:"direction"},inputDirection:{...s,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"},helperTextColor:{...d,property:"-webkit-text-fill-color"},inputValueTextColor:[{...a,property:"color"},{...h,property:"-webkit-text-fill-color"},{...g,property:"-webkit-text-fill-color"}],inputCaretTextColor:[{...s,property:"caret-color"},{...y,property:"caret-color"}],labelRequiredIndicator:{...l,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:[{...s,property:"padding-left"},{...s,property:"padding-right"},{...y,property:"padding-left"},{...y,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:[{...s,property:"text-align"},{...y,property:"text-align"}],inputPlaceholderColor:[{selector:()=>":host input:placeholder-shown",property:"color"},{...f,property:"color"},{...i,property:"color"},{...u,property:"-webkit-text-fill-color"},{...m,property:"-webkit-text-fill-color"}],labelPosition:{...n,property:"position"},labelTopPosition:{...n,property:"top"},labelHorizontalPosition:[{...n,property:"left"},{...n,property:"right"}],inputTransformY:{...n,property:"transform"},inputTransition:{...n,property:"transition"},marginInlineStart:{...n,property:"margin-inline-start"},placeholderOpacity:[{selector:"> input:placeholder-shown",property:"opacity"},{...f,property:"opacity"}],inputVerticalAlignment:[{...a,property:"align-items"},{...y,property:"align-items"}],valueInputHeight:[{...s,property:"height"},{...y,property:"height"}],valueInputMarginBottom:[{...s,property:"margin-bottom"},{...y,property:"margin-bottom"}],inputIconOffset:[{...b,property:"margin-right"},{...b,property:"margin-left"}],inputIconSize:{...b,property:"font-size"},inputIconColor:{...b,property:"color"}}},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)},73551:(e,t,r)=>{r.d(t,{$J:()=>u,I4:()=>l,Kl:()=>h,LJ:()=>c,Qv:()=>i,X6:()=>s,cy:()=>o,fu:()=>p,kG:()=>d,lS:()=>a,zm:()=>n});const o=e=>`\n :host {\n padding: calc(var(${e.inputOutlineWidth}) + var(${e.inputOutlineOffset}))\n }\n`,n=e=>`\n ${e} {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n }\n`,i=e=>`\n ${e}::part(input-field) {\n overflow: hidden;\n padding: 0;\n box-shadow: none;\n }\n`,l=e=>`\n ${e} > label,\n ${e}::part(label),\n ${e}::part(required-indicator) {\n cursor: pointer;\n }\n`,a=(e,t="input")=>`\n ${e}[disabled] > ${t}:placeholder-shown,\n\t${e}[readonly] > ${t}:placeholder-shown {\n\t\topacity: 1;\n\t}\n`,s=()=>"\n :host {\n --vaadin-field-default-width: auto;\n box-sizing: border-box;\n }\n",p=e=>`\n ${e}::part(input-field)::after {\n opacity: 0;\n }\n`,d=e=>`\n ${e}::part(input-field)::after {\n background: none;\n }\n`,c=(e,t)=>`\n ${n(e)}\n ${l(e)}\n ${a(e)}\n ${i(e)}\n ${((e,t)=>`\n ${e} input:-webkit-autofill,\n ${e} input:-webkit-autofill::first-line,\n ${e} input:-webkit-autofill:hover,\n ${e} input:-webkit-autofill:active,\n ${e} input:-webkit-autofill:focus {\n -webkit-text-fill-color: var(${t.inputValueTextColor});\n box-shadow: 0 0 0 var(${t.inputHeight}) var(${t.inputBackgroundColor}) inset;\n }\n`)(e,t)}\n ${d(e)}\n ${(e=>`\n ${e}::before {\n\t\theight: unset;\n\t}\n`)(e)}\n ${(e=>`\n ${e} > input {\n -webkit-mask-image: none;\n min-height: 0;\n box-sizing: border-box;\n }\n`)(e)}\n ${(e=>`\n ${e}::part(input-field)::after {\n border: none;\n }\n`)(e)}\n`,u=e=>`\n :host ::part(error-message) {\n direction: ltr;\n }\n :host([required]) ::part(required-indicator) {\n width: 1em;\n display: inline-flex;\n }\n :host([required]) ::part(required-indicator)::after {\n position: static;\n }\n :host([has-label]) ::part(label) {\n padding-right: 0;\n padding-bottom: 0;\n display: flex;\n width: 100%;\n }\n ${e} [slot="label"] {\n max-width: calc(100% - 1em);\n overflow: hidden;\n text-overflow: ellipsis;\n padding-bottom: 0.5em;\n }\n`,h=()=>'\n :host([label-type="floating"]) {\n position: relative;\n }\n :host([label-type="floating"][has-label]) [slot="label"] {\n padding: 0;\n }\n :host([label-type="floating"][has-label]) > ::part(label) {\n z-index: 1;\n padding: 0;\n width: auto;\n }\n '},74460:(e,t,r)=>{r.r(t),r.d(t,{SecurityQuestionsSetupClass:()=>b,componentName:()=>d});var o=r(81365),n=r(9696),i=r(97810),l=r(79365),a=r(86365),s=r(79275),p=r(25964);const d=(0,i.xE)("security-questions-setup"),c=["full-width","readonly","size","label-type","question-label","question-placeholder","question-data-errormessage-value-missing","answer-label","answer-placeholder","answer-data-errormessage-value-missing","st-error-message-icon","st-error-message-icon-size","st-error-message-icon-padding"],u=["count","questions"];class h 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)}get count(){return Number(this.getAttribute("count"))||0}#e(){const e=Array.from({length:this.count}).map(((e,t)=>`\n <div class="question-wrapper">\n <descope-combo-box\n data-id="${t}"\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="${t}"\n required="true"\n bordered="true"\n minlength="2"\n ></descope-text-field>\n </div>\n `));this.baseElement.innerHTML=e.join("<spacer></spacer><descope-divider></descope-divider><spacer></spacer>"),this.comboBoxes.forEach((e=>{e.addEventListener("change",(e=>{this.updateRemainingCombosData(e.target),this.getAttachedTextField(e.target).value=""})),e.data=this.data})),this.#t(c)}getAttachedTextField(e){const t=`descope-text-field[data-id="${e.getAttribute("data-id")}"]`;return this.baseElement.querySelector(t)}filterData(e){return this.data.filter((t=>t.value===e||!this.selectedQuestionIds.includes(t.value)))}reportValidity(){return this.inputs.reverse().forEach((e=>e.reportValidity())),this.checkValidity()}checkValidity(){return[...this.comboBoxes,...this.textFields].every((e=>e.checkValidity()))}updateRemainingCombosData(e){this.comboBoxes.filter((t=>t!==e)).forEach((e=>{e.data=this.filterData(e.value)}))}get questions(){try{return JSON.parse(this.getAttribute("questions"))||[]}catch(e){return console.error(d,"Error parsing questions attribute",e),[]}}get data(){return this.questions.map((({id:e,text:t})=>({value:e,label:t})))}get comboBoxes(){return Array.from(this.baseElement.querySelectorAll("descope-combo-box"))}get textFields(){return Array.from(this.baseElement.querySelectorAll("descope-text-field"))}get inputs(){return Array.from(this.baseElement.querySelectorAll("descope-combo-box, descope-text-field"))}get selectedQuestionIds(){return this.comboBoxes.map((e=>e.value))}get value(){return this.comboBoxes.map((e=>({id:e.value,answer:this.getAttachedTextField(e).value})))}set value(e=[]){e.forEach(((e,t)=>{const r=this.comboBoxes[t],o=this.getAttachedTextField(r);r.value=e.id,o.value=e.answer}))}#r(e,t,r){null===r?e.removeAttribute(t):e.setAttribute(t,r)}#t(e){const t={question:this.comboBoxes,answer:this.textFields};e.forEach((e=>{const[r,...o]=e.split("-"),n=t[r]||this.inputs,i=t[r]?o.join("-"):e;n.forEach((t=>{this.#r(t,i,this.getAttribute(e))}))}))}init(){super.init?.(),(0,i.mx)(this,(()=>{this.#e()}),{includeAttrs:u}),(0,i.mx)(this,this.#t.bind(this),{includeAttrs:c})}}const b=(0,n.Zz)((0,l.RF)({mappings:{hostWidth:[{selector:()=>":host",property:"width"},{property:"width"}],hostDirection:[{selector:()=>":host",property:"direction"},{selector:()=>a.C.componentName,property:a.C.cssVarList.hostDirection},{selector:()=>s.w.componentName,property:s.w.cssVarList.hostDirection}],gap:{selector:()=>"div",property:"gap"}}}),l.VO,l.tQ)(h);r(21374),r(27092),customElements.define(d,b)},79275:(e,t,r)=>{r.d(t,{T:()=>s,w:()=>d});var o=r(79365),n=r(6424),i=r(9696),l=r(97810),a=r(73551);const s=(0,l.xE)("text-field"),p=["type","label-type","copy-to-clipboard"],d=(0,i.Zz)((0,o.RF)({mappings:n.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:s}))}}]);
1
+ "use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[3594],{6424:(e,t,r)=>{r.d(t,{A:()=>x});const{host:o,label:n,placeholder:i,requiredIndicator:a,inputField:l,input:s,inputMask:p,helperText:d,errorMessage:c,disabledPlaceholder:u,inputDisabled:h,inputIcon:b,externalInput:y,externalInputDisabled:g,externalPlaceholder:f,externalDisabledPlaceholder:m}={host:{selector:()=>":host"},label:{selector:"::part(label)"},requiredIndicator:{selector:"[required]::part(required-indicator)::after"},placeholder:[{selector:"> input:placeholder-shown"},{selector:()=>":host::slotted(input:placeholder-shown)"}],disabledPlaceholder:{selector:"> input:disabled::placeholder"},inputField:{selector:"::part(input-field)"},input:{selector:"input"},inputMask:{selector:"::part(input-field)::before"},inputDisabled:{selector:"input:disabled"},helperText:{selector:"::part(helper-text)"},errorMessage:{selector:"::part(error-message)"},inputIcon:{selector:"vaadin-icon"},externalInput:{selector:()=>"::slotted(input)"},externalInputDisabled:{selector:()=>"::slotted(input:disabled)"},externalPlaceholder:{selector:()=>"::slotted(input:placeholder-shown)"},externalDisabledPlaceholder:{selector:()=>"::slotted(input:disabled::placeholder)"}},x={fontSize:[{},o],fontFamily:[n,l,d,c],labelFontSize:{...n,property:"font-size"},labelFontWeight:{...n,property:"font-weight"},labelTextColor:[{...n,property:"color"},{...a,property:"color"},{...n,property:"-webkit-text-fill-color"},{...a,property:"-webkit-text-fill-color"}],hostWidth:{...o,property:"width"},hostMinWidth:{...o,property:"min-width"},hostDirection:{...o,property:"direction"},inputDirection:{...s,property:"direction"},inputBackgroundColor:[{...l,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:[{...l,property:"color"},{...h,property:"-webkit-text-fill-color"},{...g,property:"-webkit-text-fill-color"}],inputCaretTextColor:[{...s,property:"caret-color"},{...y,property:"caret-color"}],labelRequiredIndicator:{...a,property:"content"},inputBorderColor:{...l,property:"border-color"},inputBorderWidth:{...l,property:"border-width"},inputBorderStyle:{...l,property:"border-style"},inputBorderRadius:{...l,property:"border-radius"},inputHeight:{...l,property:"height"},inputHorizontalPadding:[{...s,property:"padding-left"},{...s,property:"padding-right"},{...y,property:"padding-left"},{...y,property:"padding-right"}],inputOutlineColor:{...l,property:"outline-color"},inputOutlineStyle:{...l,property:"outline-style"},inputOutlineWidth:{...l,property:"outline-width"},inputOutlineOffset:{...l,property:"outline-offset"},textAlign:{},inputTextAlign:[{...s,property:"text-align"},{...y,property:"text-align"}],inputPlaceholderColor:[{selector:()=>":host input:placeholder-shown",property:"color"},{...f,property:"color"},{...i,property:"color"},{...u,property:"-webkit-text-fill-color"},{...m,property:"-webkit-text-fill-color"}],labelPosition:{...n,property:"position"},labelTopPosition:{...n,property:"top"},labelHorizontalPosition:[{...n,property:"left"},{...n,property:"right"}],inputTransformY:{...n,property:"transform"},inputTransition:{...n,property:"transition"},marginInlineStart:{...n,property:"margin-inline-start"},placeholderOpacity:[{selector:"> input:placeholder-shown",property:"opacity"},{...f,property:"opacity"}],inputVerticalAlignment:[{...l,property:"align-items"},{...y,property:"align-items"}],valueInputHeight:[{...s,property:"height"},{...y,property:"height"}],valueInputMarginBottom:[{...s,property:"margin-bottom"},{...y,property:"margin-bottom"}],inputIconOffset:[{...b,property:"margin-right"},{...b,property:"margin-left"}],inputIconSize:{...b,property:"font-size"},inputIconColor:{...b,property:"color"}}},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)},73551:(e,t,r)=>{r.d(t,{$J:()=>u,I4:()=>a,Kl:()=>h,LJ:()=>c,Qv:()=>i,X6:()=>s,cy:()=>o,fu:()=>p,kG:()=>d,lS:()=>l,zm:()=>n});const o=e=>`\n :host {\n padding: calc(var(${e.inputOutlineWidth}) + var(${e.inputOutlineOffset}))\n }\n`,n=e=>`\n ${e} {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n }\n`,i=e=>`\n ${e}::part(input-field) {\n overflow: hidden;\n padding: 0;\n box-shadow: none;\n }\n`,a=e=>`\n ${e} > label,\n ${e}::part(label),\n ${e}::part(required-indicator) {\n cursor: pointer;\n }\n`,l=(e,t="input")=>`\n ${e}[disabled] > ${t}:placeholder-shown,\n\t${e}[readonly] > ${t}:placeholder-shown {\n\t\topacity: 1;\n\t}\n`,s=()=>"\n :host {\n --vaadin-field-default-width: auto;\n box-sizing: border-box;\n }\n",p=e=>`\n ${e}::part(input-field)::after {\n opacity: 0;\n }\n`,d=e=>`\n ${e}::part(input-field)::after {\n background: none;\n }\n`,c=(e,t)=>`\n ${n(e)}\n ${a(e)}\n ${l(e)}\n ${i(e)}\n ${((e,t)=>`\n ${e} input:-webkit-autofill,\n ${e} input:-webkit-autofill::first-line,\n ${e} input:-webkit-autofill:hover,\n ${e} input:-webkit-autofill:active,\n ${e} input:-webkit-autofill:focus {\n -webkit-text-fill-color: var(${t.inputValueTextColor});\n box-shadow: 0 0 0 var(${t.inputHeight}) var(${t.inputBackgroundColor}) inset;\n }\n`)(e,t)}\n ${d(e)}\n ${(e=>`\n ${e}::before {\n\t\theight: unset;\n\t}\n`)(e)}\n ${(e=>`\n ${e} > input {\n -webkit-mask-image: none;\n min-height: 0;\n box-sizing: border-box;\n }\n`)(e)}\n ${(e=>`\n ${e}::part(input-field)::after {\n border: none;\n }\n`)(e)}\n`,u=e=>`\n :host ::part(error-message) {\n direction: ltr;\n }\n :host([required]) ::part(required-indicator) {\n width: 1em;\n display: inline-flex;\n }\n :host([required]) ::part(required-indicator)::after {\n position: static;\n }\n :host([has-label]) ::part(label) {\n padding-right: 0;\n padding-bottom: 0;\n display: flex;\n width: 100%;\n }\n ${e} [slot="label"] {\n max-width: calc(100% - 1em);\n overflow: hidden;\n text-overflow: ellipsis;\n padding-bottom: 0.5em;\n }\n`,h=()=>'\n :host([label-type="floating"]) {\n position: relative;\n }\n :host([label-type="floating"][has-label]) [slot="label"] {\n padding: 0;\n }\n :host([label-type="floating"][has-label]) > ::part(label) {\n z-index: 1;\n padding: 0;\n width: auto;\n }\n '},74460:(e,t,r)=>{r.r(t),r.d(t,{SecurityQuestionsSetupClass:()=>b,componentName:()=>d});var o=r(81365),n=r(9696),i=r(97810),a=r(79365),l=r(86365),s=r(79275),p=r(25964);const d=(0,i.xE)("security-questions-setup"),c=["full-width","readonly","size","label-type","question-label","question-placeholder","question-data-errormessage-value-missing","answer-label","answer-placeholder","answer-data-errormessage-value-missing","st-error-message-icon","st-error-message-icon-size","st-error-message-icon-padding"],u=["count","questions"];class h 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)}get count(){return Number(this.getAttribute("count"))||0}#e(){const e=Array.from({length:this.count}).map(((e,t)=>`\n <div class="question-wrapper">\n <descope-combo-box\n data-id="${t}"\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="${t}"\n required="true"\n bordered="true"\n minlength="2"\n ></descope-text-field>\n </div>\n `));this.baseElement.innerHTML=e.join("<spacer></spacer><descope-divider></descope-divider><spacer></spacer>"),this.comboBoxes.forEach((e=>{e.addEventListener("change",(e=>{this.updateRemainingCombosData(e.target),this.getAttachedTextField(e.target).value=""})),e.data=this.data})),this.#t(c)}getAttachedTextField(e){const t=`descope-text-field[data-id="${e.getAttribute("data-id")}"]`;return this.baseElement.querySelector(t)}filterData(e){return this.data.filter((t=>t.value===e||!this.selectedQuestionIds.includes(t.value)))}reportValidity(){return this.inputs.reverse().forEach((e=>e.reportValidity())),this.checkValidity()}checkValidity(){return[...this.comboBoxes,...this.textFields].every((e=>e.checkValidity()))}updateRemainingCombosData(e){this.comboBoxes.filter((t=>t!==e)).forEach((e=>{e.data=this.filterData(e.value)}))}get questions(){try{return JSON.parse(this.getAttribute("questions"))||[]}catch(e){return console.error(d,"Error parsing questions attribute",e),[]}}get data(){return this.questions.map((({id:e,text:t})=>({value:e,label:t})))}get comboBoxes(){return Array.from(this.baseElement.querySelectorAll("descope-combo-box"))}get textFields(){return Array.from(this.baseElement.querySelectorAll("descope-text-field"))}get inputs(){return Array.from(this.baseElement.querySelectorAll("descope-combo-box, descope-text-field"))}get selectedQuestionIds(){return this.comboBoxes.map((e=>e.value))}get value(){return this.comboBoxes.map((e=>({id:e.value,answer:this.getAttachedTextField(e).value})))}set value(e=[]){e.forEach(((e,t)=>{const r=this.comboBoxes[t],o=this.getAttachedTextField(r);r.value=e.id,o.value=e.answer}))}#r(e,t,r){null===r?e.removeAttribute(t):e.setAttribute(t,r)}#t(e){const t={question:this.comboBoxes,answer:this.textFields};e.forEach((e=>{const[r,...o]=e.split("-"),n=t[r]||this.inputs,i=t[r]?o.join("-"):e;n.forEach((t=>{this.#r(t,i,this.getAttribute(e))}))}))}init(){super.init?.(),(0,i.mx)(this,(()=>{this.#e()}),{includeAttrs:u}),(0,i.mx)(this,this.#t.bind(this),{includeAttrs:c})}}const b=(0,n.Zz)((0,a.RF)({mappings:{hostWidth:[{selector:()=>":host",property:"width"},{property:"width"}],hostDirection:[{selector:()=>":host",property:"direction"},{selector:()=>l.C.componentName,property:l.C.cssVarList.hostDirection},{selector:()=>s.w.componentName,property:s.w.cssVarList.hostDirection}],gap:{selector:()=>"div",property:"gap"}}}),a.VO,a.tQ)(h);r(21374),r(27092),customElements.define(d,b)},79275:(e,t,r)=>{r.d(t,{T:()=>s,w:()=>d});var o=r(79365),n=r(6424),i=r(9696),a=r(97810),l=r(73551);const s=(0,a.xE)("text-field"),p=["type","label-type","copy-to-clipboard"],d=(0,i.Zz)((0,o.RF)({mappings:n.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,l.$J)("vaadin-text-field")}\n\t\t\t${(0,l.cy)(d.cssVarList)}\n\t\t\t${(0,l.LJ)("vaadin-text-field",d.cssVarList)}\n ${(0,l.Kl)()}\n\n vaadin-text-field vaadin-icon {\n align-self: center;\n }\n\t\t`,excludeAttrsSync:["tabindex","style"],componentName:s}))}}]);
2
2
  //# sourceMappingURL=descope-security-questions-setup-index-js.js.map
@@ -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-text-field/textFieldMappings.js","webpack://@descope/web-components-ui/./src/components/descope-text-field/index.js","webpack://@descope/web-components-ui/./src/helpers/themeHelpers/resetHelpers.js","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"],"sourcesContent":["const {\n host,\n label,\n placeholder,\n requiredIndicator,\n inputField,\n input,\n inputMask,\n helperText,\n errorMessage,\n disabledPlaceholder,\n inputDisabled,\n inputIcon,\n externalInput,\n externalInputDisabled,\n externalPlaceholder,\n externalDisabledPlaceholder,\n} = {\n host: { selector: () => ':host' },\n label: { selector: '::part(label)' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n placeholder: [\n { selector: '> input:placeholder-shown' },\n { selector: () => ':host::slotted(input:placeholder-shown)' },\n ],\n disabledPlaceholder: { selector: '> input:disabled::placeholder' },\n inputField: { selector: '::part(input-field)' },\n input: { selector: 'input' },\n inputMask: { selector: '::part(input-field)::before' },\n inputDisabled: { selector: 'input:disabled' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n inputIcon: { selector: 'vaadin-icon' },\n externalInput: { selector: () => '::slotted(input)' },\n externalInputDisabled: { selector: () => '::slotted(input:disabled)' },\n externalPlaceholder: { selector: () => '::slotted(input:placeholder-shown)' },\n externalDisabledPlaceholder: { selector: () => '::slotted(input:disabled::placeholder)' },\n};\n\nexport default {\n // we apply font-size also on the host so we can set its width with em\n fontSize: [{}, host],\n fontFamily: [label, inputField, helperText, errorMessage],\n\n labelFontSize: { ...label, property: 'font-size' },\n labelFontWeight: { ...label, property: 'font-weight' },\n\n labelTextColor: [\n { ...label, property: 'color' },\n { ...requiredIndicator, property: 'color' },\n { ...label, property: '-webkit-text-fill-color' },\n { ...requiredIndicator, property: '-webkit-text-fill-color' },\n ],\n\n hostWidth: { ...host, property: 'width' },\n hostMinWidth: { ...host, property: 'min-width' },\n hostDirection: { ...host, property: 'direction' },\n inputDirection: { ...input, property: 'direction' },\n\n inputBackgroundColor: [\n { ...inputField, property: 'background-color' },\n { ...inputMask, property: 'background-color' },\n ],\n\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n errorMessageIcon: { ...errorMessage, property: 'background-image' },\n errorMessageIconSize: { ...errorMessage, property: 'background-size' },\n errorMessageIconPadding: { ...errorMessage, property: 'padding-inline-start' },\n errorMessageIconRepeat: { ...errorMessage, property: 'background-repeat' },\n errorMessageIconPosition: { ...errorMessage, property: 'background-position' },\n\n helperTextColor: { ...helperText, property: '-webkit-text-fill-color' },\n\n inputValueTextColor: [\n { ...inputField, property: 'color' },\n { ...inputDisabled, property: '-webkit-text-fill-color' },\n { ...externalInputDisabled, property: '-webkit-text-fill-color' },\n ],\n inputCaretTextColor: [\n { ...input, property: 'caret-color' },\n { ...externalInput, property: 'caret-color' },\n ],\n\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n\n inputBorderColor: { ...inputField, property: 'border-color' },\n inputBorderWidth: { ...inputField, property: 'border-width' },\n inputBorderStyle: { ...inputField, property: 'border-style' },\n inputBorderRadius: { ...inputField, property: 'border-radius' },\n\n inputHeight: { ...inputField, property: 'height' },\n inputHorizontalPadding: [\n { ...input, property: 'padding-left' },\n { ...input, property: 'padding-right' },\n { ...externalInput, property: 'padding-left' },\n { ...externalInput, property: 'padding-right' },\n ],\n\n inputOutlineColor: { ...inputField, property: 'outline-color' },\n inputOutlineStyle: { ...inputField, property: 'outline-style' },\n inputOutlineWidth: { ...inputField, property: 'outline-width' },\n inputOutlineOffset: { ...inputField, property: 'outline-offset' },\n\n textAlign: {},\n\n inputTextAlign: [\n { ...input, property: 'text-align' },\n { ...externalInput, property: 'text-align' },\n ],\n\n inputPlaceholderColor: [\n { selector: () => ':host input:placeholder-shown', property: 'color' },\n { ...externalPlaceholder, property: 'color' },\n { ...placeholder, property: 'color' },\n { ...disabledPlaceholder, property: '-webkit-text-fill-color' },\n { ...externalDisabledPlaceholder, property: '-webkit-text-fill-color' },\n ],\n\n labelPosition: { ...label, property: 'position' },\n labelTopPosition: { ...label, property: 'top' },\n labelHorizontalPosition: [\n { ...label, property: 'left' },\n { ...label, property: 'right' },\n ],\n inputTransformY: { ...label, property: 'transform' },\n inputTransition: { ...label, property: 'transition' },\n marginInlineStart: { ...label, property: 'margin-inline-start' },\n placeholderOpacity: [\n { selector: '> input:placeholder-shown', property: 'opacity' },\n { ...externalPlaceholder, property: 'opacity' },\n ],\n inputVerticalAlignment: [\n { ...inputField, property: 'align-items' },\n { ...externalInput, property: 'align-items' },\n ],\n valueInputHeight: [\n { ...input, property: 'height' },\n { ...externalInput, property: 'height' },\n ],\n valueInputMarginBottom: [\n { ...input, property: 'margin-bottom' },\n { ...externalInput, property: 'margin-bottom' },\n ],\n\n inputIconOffset: [\n { ...inputIcon, property: 'margin-right' },\n { ...inputIcon, property: 'margin-left' },\n ],\n inputIconSize: { ...inputIcon, property: 'font-size' },\n inputIconColor: { ...inputIcon, property: 'color' },\n};\n","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","export const useHostExternalPadding = (cssVarList) => `\n :host {\n padding: calc(var(${cssVarList.inputOutlineWidth}) + var(${cssVarList.inputOutlineOffset}))\n }\n`;\n\nexport const resetInputFieldUnderlayingBorder = (name) => `\n ${name}::part(input-field)::after {\n border: none;\n }\n`;\n\nexport const resetInitialHeight = (name) => `\n ${name}::before {\n\t\theight: unset;\n\t}\n`;\n\nexport const resetInputElement = (name) => `\n ${name} > input {\n -webkit-mask-image: none;\n min-height: 0;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputContainer = (name) => `\n ${name} {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputField = (name) => `\n ${name}::part(input-field) {\n overflow: hidden;\n padding: 0;\n box-shadow: none;\n }\n`;\n\nexport const resetInputCursor = (name) => `\n ${name} > label,\n ${name}::part(label),\n ${name}::part(required-indicator) {\n cursor: pointer;\n }\n`;\n\nexport const resetInputPlaceholder = (name, ele = 'input') => `\n ${name}[disabled] > ${ele}:placeholder-shown,\n\t${name}[readonly] > ${ele}:placeholder-shown {\n\t\topacity: 1;\n\t}\n`;\n\nexport const resetInputAutoFill = (name, cssVarList) => `\n ${name} input:-webkit-autofill,\n ${name} input:-webkit-autofill::first-line,\n ${name} input:-webkit-autofill:hover,\n ${name} input:-webkit-autofill:active,\n ${name} input:-webkit-autofill:focus {\n -webkit-text-fill-color: var(${cssVarList.inputValueTextColor});\n box-shadow: 0 0 0 var(${cssVarList.inputHeight}) var(${cssVarList.inputBackgroundColor}) inset;\n }\n`;\n\nexport const resetInputFieldDefaultWidth = () => `\n :host {\n --vaadin-field-default-width: auto;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputReadonlyStyle = (name) => `\n ${name}::part(input-field)::after {\n opacity: 0;\n }\n`;\n\nexport const resetInputFieldInvalidBackgroundColor = (name) => `\n ${name}::part(input-field)::after {\n background: none;\n }\n`;\n\nexport const resetInputOverrides = (name, cssVarList) => `\n ${resetInputContainer(name)}\n ${resetInputCursor(name)}\n ${resetInputPlaceholder(name)}\n ${resetInputField(name)}\n ${resetInputAutoFill(name, cssVarList)}\n ${resetInputFieldInvalidBackgroundColor(name)}\n ${resetInitialHeight(name)}\n ${resetInputElement(name)}\n ${resetInputFieldUnderlayingBorder(name)}\n`;\n\n// This function is used to support RTL correctly for input components.\n// It also fixes the error message to be displayed LTR since we currently\n// don't support RTL for error messages.\nexport const resetInputLabelPosition = (name) => `\n :host ::part(error-message) {\n direction: ltr;\n }\n :host([required]) ::part(required-indicator) {\n width: 1em;\n display: inline-flex;\n }\n :host([required]) ::part(required-indicator)::after {\n position: static;\n }\n :host([has-label]) ::part(label) {\n padding-right: 0;\n padding-bottom: 0;\n display: flex;\n width: 100%;\n }\n ${name} [slot=\"label\"] {\n max-width: calc(100% - 1em);\n overflow: hidden;\n text-overflow: ellipsis;\n padding-bottom: 0.5em;\n }\n`;\n\nexport const inputFloatingLabelStyle = () => {\n return `\n :host([label-type=\"floating\"]) {\n position: relative;\n }\n :host([label-type=\"floating\"][has-label]) [slot=\"label\"] {\n padding: 0;\n }\n :host([label-type=\"floating\"][has-label]) > ::part(label) {\n z-index: 1;\n padding: 0;\n width: auto;\n }\n `;\n};\n","import { 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"],"names":["host","label","placeholder","requiredIndicator","inputField","input","inputMask","helperText","errorMessage","disabledPlaceholder","inputDisabled","inputIcon","externalInput","externalInputDisabled","externalPlaceholder","externalDisabledPlaceholder","selector","fontSize","fontFamily","labelFontSize","property","labelFontWeight","labelTextColor","hostWidth","hostMinWidth","hostDirection","inputDirection","inputBackgroundColor","errorMessageTextColor","errorMessageIcon","errorMessageIconSize","errorMessageIconPadding","errorMessageIconRepeat","errorMessageIconPosition","helperTextColor","inputValueTextColor","inputCaretTextColor","labelRequiredIndicator","inputBorderColor","inputBorderWidth","inputBorderStyle","inputBorderRadius","inputHeight","inputHorizontalPadding","inputOutlineColor","inputOutlineStyle","inputOutlineWidth","inputOutlineOffset","textAlign","inputTextAlign","inputPlaceholderColor","labelPosition","labelTopPosition","labelHorizontalPosition","inputTransformY","inputTransition","marginInlineStart","placeholderOpacity","inputVerticalAlignment","valueInputHeight","valueInputMarginBottom","inputIconOffset","inputIconSize","inputIconColor","customElements","define","useHostExternalPadding","cssVarList","resetInputContainer","name","resetInputField","resetInputCursor","resetInputPlaceholder","ele","resetInputFieldDefaultWidth","resetInputReadonlyStyle","resetInputFieldInvalidBackgroundColor","resetInputOverrides","resetInputAutoFill","resetInitialHeight","resetInputElement","resetInputFieldUnderlayingBorder","resetInputLabelPosition","inputFloatingLabelStyle","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","querySelector","filterData","comboValue","filter","item","selectedQuestionIds","includes","reportValidity","inputs","reverse","checkValidity","textFields","every","sourceCombo","questions","JSON","parse","console","error","id","text","querySelectorAll","answer","val","textField","attrName","removeAttribute","setAttribute","attrs","componentMap","question","attr","maybeComponentType","rest","split","elements","init","includeAttrs","bind","SecurityQuestionsSetupClass","mappings","ComboBoxClass","C","TextFieldClass","gap","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","excludeAttrsSync"],"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-text-field/textFieldMappings.js","webpack://@descope/web-components-ui/./src/components/descope-text-field/index.js","webpack://@descope/web-components-ui/./src/helpers/themeHelpers/resetHelpers.js","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"],"sourcesContent":["const {\n host,\n label,\n placeholder,\n requiredIndicator,\n inputField,\n input,\n inputMask,\n helperText,\n errorMessage,\n disabledPlaceholder,\n inputDisabled,\n inputIcon,\n externalInput,\n externalInputDisabled,\n externalPlaceholder,\n externalDisabledPlaceholder,\n} = {\n host: { selector: () => ':host' },\n label: { selector: '::part(label)' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n placeholder: [\n { selector: '> input:placeholder-shown' },\n { selector: () => ':host::slotted(input:placeholder-shown)' },\n ],\n disabledPlaceholder: { selector: '> input:disabled::placeholder' },\n inputField: { selector: '::part(input-field)' },\n input: { selector: 'input' },\n inputMask: { selector: '::part(input-field)::before' },\n inputDisabled: { selector: 'input:disabled' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n inputIcon: { selector: 'vaadin-icon' },\n externalInput: { selector: () => '::slotted(input)' },\n externalInputDisabled: { selector: () => '::slotted(input:disabled)' },\n externalPlaceholder: { selector: () => '::slotted(input:placeholder-shown)' },\n externalDisabledPlaceholder: { selector: () => '::slotted(input:disabled::placeholder)' },\n};\n\nexport default {\n // we apply font-size also on the host so we can set its width with em\n fontSize: [{}, host],\n fontFamily: [label, inputField, helperText, errorMessage],\n\n labelFontSize: { ...label, property: 'font-size' },\n labelFontWeight: { ...label, property: 'font-weight' },\n\n labelTextColor: [\n { ...label, property: 'color' },\n { ...requiredIndicator, property: 'color' },\n { ...label, property: '-webkit-text-fill-color' },\n { ...requiredIndicator, property: '-webkit-text-fill-color' },\n ],\n\n hostWidth: { ...host, property: 'width' },\n hostMinWidth: { ...host, property: 'min-width' },\n hostDirection: { ...host, property: 'direction' },\n inputDirection: { ...input, property: 'direction' },\n\n inputBackgroundColor: [\n { ...inputField, property: 'background-color' },\n { ...inputMask, property: 'background-color' },\n ],\n\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n errorMessageIcon: { ...errorMessage, property: 'background-image' },\n errorMessageIconSize: { ...errorMessage, property: 'background-size' },\n errorMessageIconPadding: { ...errorMessage, property: 'padding-inline-start' },\n errorMessageIconRepeat: { ...errorMessage, property: 'background-repeat' },\n errorMessageIconPosition: { ...errorMessage, property: 'background-position' },\n errorMessageFontSize: { ...errorMessage, property: 'font-size' },\n\n helperTextColor: { ...helperText, property: '-webkit-text-fill-color' },\n\n inputValueTextColor: [\n { ...inputField, property: 'color' },\n { ...inputDisabled, property: '-webkit-text-fill-color' },\n { ...externalInputDisabled, property: '-webkit-text-fill-color' },\n ],\n inputCaretTextColor: [\n { ...input, property: 'caret-color' },\n { ...externalInput, property: 'caret-color' },\n ],\n\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n\n inputBorderColor: { ...inputField, property: 'border-color' },\n inputBorderWidth: { ...inputField, property: 'border-width' },\n inputBorderStyle: { ...inputField, property: 'border-style' },\n inputBorderRadius: { ...inputField, property: 'border-radius' },\n\n inputHeight: { ...inputField, property: 'height' },\n inputHorizontalPadding: [\n { ...input, property: 'padding-left' },\n { ...input, property: 'padding-right' },\n { ...externalInput, property: 'padding-left' },\n { ...externalInput, property: 'padding-right' },\n ],\n\n inputOutlineColor: { ...inputField, property: 'outline-color' },\n inputOutlineStyle: { ...inputField, property: 'outline-style' },\n inputOutlineWidth: { ...inputField, property: 'outline-width' },\n inputOutlineOffset: { ...inputField, property: 'outline-offset' },\n\n textAlign: {},\n\n inputTextAlign: [\n { ...input, property: 'text-align' },\n { ...externalInput, property: 'text-align' },\n ],\n\n inputPlaceholderColor: [\n { selector: () => ':host input:placeholder-shown', property: 'color' },\n { ...externalPlaceholder, property: 'color' },\n { ...placeholder, property: 'color' },\n { ...disabledPlaceholder, property: '-webkit-text-fill-color' },\n { ...externalDisabledPlaceholder, property: '-webkit-text-fill-color' },\n ],\n\n labelPosition: { ...label, property: 'position' },\n labelTopPosition: { ...label, property: 'top' },\n labelHorizontalPosition: [\n { ...label, property: 'left' },\n { ...label, property: 'right' },\n ],\n inputTransformY: { ...label, property: 'transform' },\n inputTransition: { ...label, property: 'transition' },\n marginInlineStart: { ...label, property: 'margin-inline-start' },\n placeholderOpacity: [\n { selector: '> input:placeholder-shown', property: 'opacity' },\n { ...externalPlaceholder, property: 'opacity' },\n ],\n inputVerticalAlignment: [\n { ...inputField, property: 'align-items' },\n { ...externalInput, property: 'align-items' },\n ],\n valueInputHeight: [\n { ...input, property: 'height' },\n { ...externalInput, property: 'height' },\n ],\n valueInputMarginBottom: [\n { ...input, property: 'margin-bottom' },\n { ...externalInput, property: 'margin-bottom' },\n ],\n\n inputIconOffset: [\n { ...inputIcon, property: 'margin-right' },\n { ...inputIcon, property: 'margin-left' },\n ],\n inputIconSize: { ...inputIcon, property: 'font-size' },\n inputIconColor: { ...inputIcon, property: 'color' },\n};\n","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","export const useHostExternalPadding = (cssVarList) => `\n :host {\n padding: calc(var(${cssVarList.inputOutlineWidth}) + var(${cssVarList.inputOutlineOffset}))\n }\n`;\n\nexport const resetInputFieldUnderlayingBorder = (name) => `\n ${name}::part(input-field)::after {\n border: none;\n }\n`;\n\nexport const resetInitialHeight = (name) => `\n ${name}::before {\n\t\theight: unset;\n\t}\n`;\n\nexport const resetInputElement = (name) => `\n ${name} > input {\n -webkit-mask-image: none;\n min-height: 0;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputContainer = (name) => `\n ${name} {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputField = (name) => `\n ${name}::part(input-field) {\n overflow: hidden;\n padding: 0;\n box-shadow: none;\n }\n`;\n\nexport const resetInputCursor = (name) => `\n ${name} > label,\n ${name}::part(label),\n ${name}::part(required-indicator) {\n cursor: pointer;\n }\n`;\n\nexport const resetInputPlaceholder = (name, ele = 'input') => `\n ${name}[disabled] > ${ele}:placeholder-shown,\n\t${name}[readonly] > ${ele}:placeholder-shown {\n\t\topacity: 1;\n\t}\n`;\n\nexport const resetInputAutoFill = (name, cssVarList) => `\n ${name} input:-webkit-autofill,\n ${name} input:-webkit-autofill::first-line,\n ${name} input:-webkit-autofill:hover,\n ${name} input:-webkit-autofill:active,\n ${name} input:-webkit-autofill:focus {\n -webkit-text-fill-color: var(${cssVarList.inputValueTextColor});\n box-shadow: 0 0 0 var(${cssVarList.inputHeight}) var(${cssVarList.inputBackgroundColor}) inset;\n }\n`;\n\nexport const resetInputFieldDefaultWidth = () => `\n :host {\n --vaadin-field-default-width: auto;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputReadonlyStyle = (name) => `\n ${name}::part(input-field)::after {\n opacity: 0;\n }\n`;\n\nexport const resetInputFieldInvalidBackgroundColor = (name) => `\n ${name}::part(input-field)::after {\n background: none;\n }\n`;\n\nexport const resetInputOverrides = (name, cssVarList) => `\n ${resetInputContainer(name)}\n ${resetInputCursor(name)}\n ${resetInputPlaceholder(name)}\n ${resetInputField(name)}\n ${resetInputAutoFill(name, cssVarList)}\n ${resetInputFieldInvalidBackgroundColor(name)}\n ${resetInitialHeight(name)}\n ${resetInputElement(name)}\n ${resetInputFieldUnderlayingBorder(name)}\n`;\n\n// This function is used to support RTL correctly for input components.\n// It also fixes the error message to be displayed LTR since we currently\n// don't support RTL for error messages.\nexport const resetInputLabelPosition = (name) => `\n :host ::part(error-message) {\n direction: ltr;\n }\n :host([required]) ::part(required-indicator) {\n width: 1em;\n display: inline-flex;\n }\n :host([required]) ::part(required-indicator)::after {\n position: static;\n }\n :host([has-label]) ::part(label) {\n padding-right: 0;\n padding-bottom: 0;\n display: flex;\n width: 100%;\n }\n ${name} [slot=\"label\"] {\n max-width: calc(100% - 1em);\n overflow: hidden;\n text-overflow: ellipsis;\n padding-bottom: 0.5em;\n }\n`;\n\nexport const inputFloatingLabelStyle = () => {\n return `\n :host([label-type=\"floating\"]) {\n position: relative;\n }\n :host([label-type=\"floating\"][has-label]) [slot=\"label\"] {\n padding: 0;\n }\n :host([label-type=\"floating\"][has-label]) > ::part(label) {\n z-index: 1;\n padding: 0;\n width: auto;\n }\n `;\n};\n","import { 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"],"names":["host","label","placeholder","requiredIndicator","inputField","input","inputMask","helperText","errorMessage","disabledPlaceholder","inputDisabled","inputIcon","externalInput","externalInputDisabled","externalPlaceholder","externalDisabledPlaceholder","selector","fontSize","fontFamily","labelFontSize","property","labelFontWeight","labelTextColor","hostWidth","hostMinWidth","hostDirection","inputDirection","inputBackgroundColor","errorMessageTextColor","errorMessageIcon","errorMessageIconSize","errorMessageIconPadding","errorMessageIconRepeat","errorMessageIconPosition","errorMessageFontSize","helperTextColor","inputValueTextColor","inputCaretTextColor","labelRequiredIndicator","inputBorderColor","inputBorderWidth","inputBorderStyle","inputBorderRadius","inputHeight","inputHorizontalPadding","inputOutlineColor","inputOutlineStyle","inputOutlineWidth","inputOutlineOffset","textAlign","inputTextAlign","inputPlaceholderColor","labelPosition","labelTopPosition","labelHorizontalPosition","inputTransformY","inputTransition","marginInlineStart","placeholderOpacity","inputVerticalAlignment","valueInputHeight","valueInputMarginBottom","inputIconOffset","inputIconSize","inputIconColor","customElements","define","useHostExternalPadding","cssVarList","resetInputContainer","name","resetInputField","resetInputCursor","resetInputPlaceholder","ele","resetInputFieldDefaultWidth","resetInputReadonlyStyle","resetInputFieldInvalidBackgroundColor","resetInputOverrides","resetInputAutoFill","resetInitialHeight","resetInputElement","resetInputFieldUnderlayingBorder","resetInputLabelPosition","inputFloatingLabelStyle","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","querySelector","filterData","comboValue","filter","item","selectedQuestionIds","includes","reportValidity","inputs","reverse","checkValidity","textFields","every","sourceCombo","questions","JSON","parse","console","error","id","text","querySelectorAll","answer","val","textField","attrName","removeAttribute","setAttribute","attrs","componentMap","question","attr","maybeComponentType","rest","split","elements","init","includeAttrs","bind","SecurityQuestionsSetupClass","mappings","ComboBoxClass","C","TextFieldClass","gap","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","excludeAttrsSync"],"sourceRoot":""}