@descope/web-components-ui 2.1.18 → 2.2.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 (53) hide show
  1. package/dist/cjs/index.cjs.js +273 -249
  2. package/dist/cjs/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +8072 -8025
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/umd/1899.js +1 -1
  6. package/dist/umd/1899.js.map +1 -1
  7. package/dist/umd/4623.js +1 -1
  8. package/dist/umd/4623.js.map +1 -1
  9. package/dist/umd/4914.js +1 -1
  10. package/dist/umd/4914.js.map +1 -1
  11. package/dist/umd/5648.js +1 -1
  12. package/dist/umd/5648.js.map +1 -1
  13. package/dist/umd/9582.js +2 -0
  14. package/dist/umd/9582.js.map +1 -0
  15. package/dist/umd/DescopeDev.js +1 -1
  16. package/dist/umd/DescopeDev.js.map +1 -1
  17. package/dist/umd/boolean-fields-descope-boolean-field-internal-index-js.js +1 -1
  18. package/dist/umd/boolean-fields-descope-boolean-field-internal-index-js.js.map +1 -1
  19. package/dist/umd/boolean-fields-descope-checkbox-index-js.js +1 -1
  20. package/dist/umd/boolean-fields-descope-checkbox-index-js.js.map +1 -1
  21. package/dist/umd/boolean-fields-descope-switch-toggle-index-js.js +1 -1
  22. package/dist/umd/boolean-fields-descope-switch-toggle-index-js.js.map +1 -1
  23. package/dist/umd/descope-alert-index-js.js +1 -1
  24. package/dist/umd/descope-alert-index-js.js.map +1 -1
  25. package/dist/umd/descope-email-field-index-js.js +1 -1
  26. package/dist/umd/descope-email-field-index-js.js.map +1 -1
  27. package/dist/umd/descope-enriched-text.js +1 -1
  28. package/dist/umd/descope-enriched-text.js.map +1 -1
  29. package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js +1 -1
  30. package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js.map +1 -1
  31. package/dist/umd/descope-grid-index-js.js +1 -1
  32. package/dist/umd/descope-grid-index-js.js.map +1 -1
  33. package/dist/umd/descope-passcode-index-js.js +1 -1
  34. package/dist/umd/descope-passcode-index-js.js.map +1 -1
  35. package/dist/umd/descope-scopes-list-index-js.js +1 -1
  36. package/dist/umd/descope-scopes-list-index-js.js.map +1 -1
  37. package/dist/umd/descope-security-questions-verify-index-js.js +1 -1
  38. package/dist/umd/descope-security-questions-verify-index-js.js.map +1 -1
  39. package/dist/umd/descope-text-field-index-js.js +1 -1
  40. package/dist/umd/descope-text-field-index-js.js.map +1 -1
  41. package/dist/umd/index.js +1 -1
  42. package/dist/umd/index.js.map +1 -1
  43. package/dist/umd/phone-fields-descope-phone-input-box-field-descope-phone-input-box-internal-index-js.js +1 -1
  44. package/dist/umd/phone-fields-descope-phone-input-box-field-descope-phone-input-box-internal-index-js.js.map +1 -1
  45. package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js +1 -1
  46. package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js.map +1 -1
  47. package/package.json +28 -28
  48. package/src/components/boolean-fields/commonStyles.js +11 -1
  49. package/src/components/boolean-fields/descope-boolean-field-internal/BooleanFieldInternal.js +32 -4
  50. package/src/components/boolean-fields/descope-checkbox/CheckboxClass.js +15 -2
  51. package/src/components/boolean-fields/descope-checkbox/index.js +1 -0
  52. package/src/components/boolean-fields/descope-switch-toggle/SwitchToggleClass.js +5 -2
  53. package/src/components/boolean-fields/descope-switch-toggle/index.js +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"descope-grid-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-text-column/GridTextColumnClass.js","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/./src/components/descope-grid/descope-grid-custom-column/GridCustomColumnClass.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-custom-column/index.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/booleanFieldMixin.js","webpack://@descope/web-components-ui/./src/components/descope-grid/helpers.js","webpack://@descope/web-components-ui/./src/components/descope-grid/GridClass.js","webpack://@descope/web-components-ui/./src/components/descope-grid/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/descope-grid/descope-grid-text-column/index.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-selection-column/GridSelectionColumnClass.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-selection-column/index.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-checkbox/CheckboxClass.js","webpack://@descope/web-components-ui/./src/components/descope-code-snippet/CodeSnippetClass.js","webpack://@descope/web-components-ui/./src/components/descope-code-snippet/helpers.js","webpack://@descope/web-components-ui/./src/components/descope-code-snippet/index.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-item-details-column/GridItemDetailsColumnClass.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-item-details-column/index.js"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport { GridSortColumn } from '@vaadin/grid/vaadin-grid-sort-column';\n\nexport class GridTextColumnClass extends GridSortColumn {\n get sortable() {\n return this.getAttribute('sortable') === 'true';\n }\n\n _defaultRenderer(cell, _col, model) {\n const data = model.item[this.path] || '';\n const content = Array.isArray(data) ? data.join(', ') : data;\n\n this.__setTextContent(cell, content);\n cell.title = content;\n }\n\n _defaultHeaderRenderer(root, _column) {\n if (this.sortable) {\n super._defaultHeaderRenderer(root, _column);\n\n return;\n }\n\n this.__setTextContent(root, this.__getHeader(this.header, this.path));\n }\n}\n","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","/* eslint-disable no-param-reassign */\nimport { GridTextColumnClass } from '../descope-grid-text-column/GridTextColumnClass';\n\nexport class GridCustomColumnClass extends GridTextColumnClass {\n _defaultRenderer(cell, _col, model) {\n const content = model.item[this.path] || '';\n\n // we get a list of elements that can be used to render the content\n // each element can have a \"pattern\" attribute which contains regex expression\n // we are going over the elements, and when finding an element which is pattern matches the data,\n // we are cloning this element, and injecting the data as its child\n const contentEle = Array.from(this.children).find((child) => {\n const pattern = child.getAttribute('data-pattern');\n if (!pattern) return true;\n\n const regEx = new RegExp(pattern);\n return regEx.test(content);\n });\n\n if (!contentEle) {\n this.__setTextContent(cell, model.item[this.path] || '');\n\n return;\n }\n\n const newEle = contentEle.cloneNode(true);\n newEle.textContent = content || '';\n cell.innerHTML = '';\n cell.append(newEle);\n }\n}\n","/* eslint-disable no-param-reassign */\nimport { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridCustomColumnClass } from './GridCustomColumnClass';\n\nexport const componentName = getComponentName('grid-custom-column');\n\ncustomElements.define(componentName, GridCustomColumnClass);\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 { toTitle } from '../../helpers';\n\nexport const isValidDataType = (data) => {\n const isValid = Array.isArray(data);\n if (!isValid) {\n // eslint-disable-next-line no-console\n console.error('data must be an array, received:', data);\n }\n\n return isValid;\n};\n\nexport const isPlainObject = (value) => value?.constructor === Object;\n\nconst isXml = (str) => /^\\s*<[\\s\\S]*>/.test(str);\n\nconst escapeXML = (s) => {\n const dom = document.createElement('div');\n dom.textContent = s;\n return dom.innerHTML;\n};\n\nexport const getValueType = (value) => {\n if (isPlainObject(value)) return 'object';\n if (Array.isArray(value)) return 'array';\n if (isXml(value)) return 'xml';\n\n return 'text';\n};\n\nexport const renderCodeSnippet = (value, lang) =>\n `<descope-code-snippet lang=\"${lang}\" class=\"row-details__value code\">${escapeXML(value)}</descope-code-snippet>`;\n\nexport const renderText = (text) =>\n `<div class=\"row-details__value text\" title=\"${text}\">${escapeXML(text)}</div>`;\nconst renderJson = (value) => renderCodeSnippet(JSON.stringify(value, null, 2), 'json');\nconst renderXml = (value) => renderCodeSnippet(value, 'xml');\n\nconst defaultRowDetailsValueRenderer = (value) => {\n const valueType = getValueType(value);\n\n if (valueType === 'object') {\n return renderJson(value);\n }\n\n if (valueType === 'xml') {\n return renderXml(value);\n }\n\n if (valueType === 'array') {\n if (value.some((v) => getValueType(v) === 'object')) {\n return renderJson(value);\n }\n return renderText(value.join(',\\n'));\n }\n\n return renderText(value);\n};\n\nexport const defaultRowDetailsRenderer = (item, itemLabelsMapping) => {\n return `\n <div class=\"row-details\">\n ${Object.entries(item)\n .map(\n ([key, value]) =>\n `<div class=\"row-details__item\" >\n <div class=\"row-details__label\">${itemLabelsMapping[key] || toTitle(key)}</div>\n ${defaultRowDetailsValueRenderer(value)}\n </div>`\n )\n .join('\\n')}\n</div>\n `;\n};\n","import { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n componentNameValidationMixin,\n createProxy,\n createStyleMixin,\n draggableMixin,\n} from '../../mixins';\n\nimport { defaultRowDetailsRenderer, isValidDataType } from './helpers';\n\nexport const componentName = getComponentName('grid');\n\nconst GridMixin = (superclass) =>\n class GridMixinClass extends superclass {\n #columns;\n\n init() {\n super.init?.();\n this.handleColumns();\n this.forwardSelectedItemsChange();\n\n // disable the grid sort\n this.baseElement._mapSorters = () => {};\n\n // there is an issue in vaadin that on some cases when trying to render the details panel, the row is null and this fn throwing\n // so we override it to prevent the error\n const origUpdateDetailsCellHeight = this.baseElement._updateDetailsCellHeight;\n this.baseElement._updateDetailsCellHeight = (row) => {\n if (!row) return;\n origUpdateDetailsCellHeight.call(this.baseElement, row);\n };\n\n this.baseElement.rowDetailsRenderer = this.#rowDetailsRenderer.bind(this);\n }\n\n // this renders the details panel content\n // in order to open it, the descope-grid-item-details-column should be used\n #rowDetailsRenderer = async (cell, _col, model) => {\n // prevent details panel from being scrolled into view when clicked\n cell.addEventListener('mousedown', (e) => e.stopImmediatePropagation(), true);\n\n const template = this.getRowDetailsTemplate(model.item);\n\n // eslint-disable-next-line no-param-reassign\n cell.innerHTML = '';\n cell.append(template.content.cloneNode(true));\n };\n\n getRowDetailsTemplate(item) {\n const itemLabelsMapping = this.#columns.reduce(\n (acc, { path, header }) => (!path || !header ? acc : { ...acc, [path]: header }),\n {}\n );\n const template =\n this.rowDetailsRenderer?.(item, itemLabelsMapping) ??\n defaultRowDetailsRenderer(item, itemLabelsMapping);\n\n switch (true) {\n case template instanceof HTMLTemplateElement:\n return template;\n case typeof template === 'string':\n return Object.assign(document.createElement('template'), { innerHTML: template });\n default:\n throw new Error('rowDetailsRenderer should return a string or a template');\n }\n }\n\n forwardSelectedItemsChange() {\n this.baseElement.addEventListener('selected-items-changed', (e) => {\n this.dispatchEvent(\n new CustomEvent('selected-items-changed', {\n bubbles: true,\n composed: true,\n detail: e.detail,\n })\n );\n });\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (attrName === 'columns') {\n this.setColumnsDataFromAttr();\n }\n }\n\n handleColumns() {\n if (this.columnsAttr) {\n this.setColumnsDataFromAttr();\n } else if (this.children.length) {\n this.setColumnsFromChildren();\n }\n }\n\n setColumnsFromChildren() {\n this.#columns = Array.from(this.children).map((child) => {\n return {\n path: child.getAttribute('path'),\n header: child.getAttribute('header'),\n type: child.localName.match('^descope-grid-(\\\\w+)-column$')?.[1] || 'text',\n\n attrs: ['frozen', 'resizable', 'auto-width', 'status'].reduce((acc, attrName) => {\n const attrVal = child.getAttribute(attrName);\n\n if (attrVal) {\n acc[attrName] = attrVal;\n }\n\n return acc;\n }, {}),\n };\n });\n }\n\n get columnsAttr() {\n return this.getAttribute('columns');\n }\n\n setColumnsDataFromAttr() {\n try {\n const data = JSON.parse(this.columnsAttr);\n if (isValidDataType(data)) {\n this.columns = data;\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error('could not parse data string from attribute \"columns\" -', e.message);\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n #renderColumn = ({ path, header, type, attrs }) => {\n const colAttrs = Object.entries(attrs)\n .map(([key, value]) => `${key}=\"${value}\"`)\n .join(' ');\n\n const tagName = `descope-grid-${type}-column`;\n\n return `<${tagName} header=\"${header}\" path=\"${path}\" ${colAttrs}></${tagName}>`;\n };\n\n get renderColumn() {\n return this.#renderColumn;\n }\n\n set renderColumn(renderFn) {\n this.#renderColumn = renderFn;\n this.renderColumns();\n }\n\n getColumnsTemplate() {\n return this.#columns?.reduce?.(\n (acc, item) => acc + (this.renderColumn?.(item || {}) || ''),\n ''\n );\n }\n\n // there is an issue in vaadin-grid, when rowDetailsRenderer is set, it renders an empty details panel\n reassignRowDetailsRenderer() {\n this.baseElement.rowDetailsRenderer = null;\n setTimeout(() => {\n this.baseElement.rowDetailsRenderer = this.#rowDetailsRenderer.bind(this);\n }, 0);\n }\n\n renderColumns() {\n const template = this.getColumnsTemplate();\n if (template) {\n this.reassignRowDetailsRenderer();\n this.innerHTML = template;\n }\n }\n\n get grid() {\n return this.shadowRoot.querySelector('vaadin-grid');\n }\n\n get data() {\n return this.grid.items;\n }\n\n set data(data) {\n if (isValidDataType(data) && this.grid.items !== data) {\n this.grid.items = data;\n\n if (this.grid.selectedItems) {\n const itemsIds = new Set(\n this.grid.items.map((item) => item[this.uniqueColumnId] ?? item)\n );\n\n const newSelectedItems = this.grid.selectedItems.filter((selectedItem) =>\n itemsIds.has(selectedItem[this.uniqueColumnId] ?? selectedItem)\n );\n\n // we want to update the selected items only if there is a reason,\n // to prevent redundant notifications\n if (this.grid.selectedItems.length !== newSelectedItems.length) {\n this.grid.selectedItems = newSelectedItems;\n }\n }\n }\n }\n\n get columns() {\n return this.#columns;\n }\n\n set columns(data) {\n this.#columns = data;\n this.renderColumns();\n }\n\n get paths() {\n return this.columns.map((col) => col.path);\n }\n\n get uniqueColumnId() {\n return this.getAttribute('unique-column-id');\n }\n };\n\nconst {\n host,\n headerRow,\n headerRowCell,\n contentRow,\n firstRow,\n sortIndicators,\n activeSortIndicator,\n selectedRow,\n rowSeparator,\n resizeHandle,\n toggleDetailsPanelButton,\n toggleDetailsPanelButtonOpened,\n toggleDetailsPanelButtonClosed,\n detailsPanel,\n detailsPanelLabels,\n selectedRowCell,\n detailsPanelContent,\n} = {\n host: { selector: () => 'vaadin-grid' },\n headerRow: { selector: () => '::part(header-cell)' },\n headerRowCell: { selector: () => 'vaadin-grid::part(header-cell)' },\n contentRow: { selector: () => '::part(cell)' },\n firstRow: { selector: () => '::part(first-header-row-cell)' },\n selectedRow: { selector: () => '::part(selected-row)' },\n selectedRowCell: { selector: () => '::part(selected-row-cell)' },\n sortIndicators: { selector: () => 'vaadin-grid-sorter::part(indicators)' },\n activeSortIndicator: { selector: () => 'vaadin-grid-sorter[direction]' },\n rowSeparator: { selector: () => 'vaadin-grid::part(body-cell)' },\n resizeHandle: { selector: () => '::part(resize-handle)' },\n toggleDetailsPanelButton: { selector: () => 'vaadin-grid vaadin-icon.toggle-details-button' },\n toggleDetailsPanelButtonOpened: {\n selector: () => 'vaadin-grid vaadin-icon.toggle-details-button.opened',\n },\n toggleDetailsPanelButtonClosed: {\n selector: () => 'vaadin-grid vaadin-icon.toggle-details-button.closed',\n },\n detailsPanel: { selector: () => 'vaadin-grid::part(details-cell)' },\n detailsPanelLabels: { selector: () => 'vaadin-grid .row-details__label' },\n detailsPanelContent: { selector: () => 'vaadin-grid .row-details' },\n};\n\nexport const GridClass = compose(\n createStyleMixin({ componentNameOverride: getComponentName('input-wrapper') }),\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n hostHeight: { selector: () => ':host', property: 'height' },\n hostMinHeight: { selector: () => ':host', property: 'min-height' },\n fontFamily: [{ ...headerRow }, { ...contentRow }],\n fontSize: [{ ...headerRow }, { ...contentRow }],\n fontWeight: { ...contentRow },\n valueTextColor: { ...contentRow, property: 'color' },\n backgroundColor: [\n { ...host, property: 'background-color' },\n { ...contentRow, property: 'background-color' },\n ],\n sortIndicatorsColor: { ...sortIndicators, property: 'color' },\n activeSortIndicator: { ...activeSortIndicator, property: 'color' },\n borderColor: { ...host, property: 'border-color' },\n borderWidth: { ...host, property: 'border-width' },\n borderStyle: { ...host, property: 'border-style' },\n borderRadius: { ...host, property: 'border-radius' },\n selectedBackgroundColor: [\n { ...selectedRow, property: 'background-color' },\n { ...selectedRowCell, property: 'background-color' },\n ],\n headerRowTextColor: { ...headerRowCell, property: 'color' },\n separatorColor: [\n { ...firstRow, property: 'border-bottom-color' },\n { ...rowSeparator, property: 'border-top-color' },\n ],\n resizeHandleColor: { ...resizeHandle, property: 'background-color' },\n hostDirection: { ...host, property: 'direction', fallback: 'ltr' },\n toggleDetailsPanelButtonSize: [\n { ...toggleDetailsPanelButton, property: 'width' },\n { ...toggleDetailsPanelButton, property: 'height' },\n ],\n toggleDetailsPanelButtonOpenedColor: { ...toggleDetailsPanelButtonOpened, property: 'color' },\n toggleDetailsPanelButtonClosedColor: { ...toggleDetailsPanelButtonClosed, property: 'color' },\n toggleDetailsPanelButtonCursor: { ...toggleDetailsPanelButton, property: 'cursor' },\n detailsPanelBackgroundColor: { ...detailsPanel, property: 'background-color' },\n detailsPanelBorderTopColor: { ...detailsPanel, property: 'border-top-color' },\n detailsPanelLabelsColor: { ...detailsPanelLabels, property: 'color' },\n detailsPanelLabelsFontSize: { ...detailsPanelLabels, property: 'font-size' },\n detailsPanelItemsGap: { ...detailsPanelContent, property: 'grid-gap' },\n detailsPanelPadding: { ...detailsPanelContent, property: 'padding' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n GridMixin\n)(\n createProxy({\n delegatesFocus: false,\n slots: [''],\n wrappedEleName: 'vaadin-grid',\n style: () => `\n /*css*/\n vaadin-grid {\n overflow: hidden;\n height: 100%;\n min-height: 300px;\n }\n vaadin-grid-cell-content {\n display: flex;\n }\n vaadin-grid::part(selected-row-cell) {\n background-image: none;\n box-shadow: none;\n background-color: inherit;\n }\n vaadin-grid::part(details-cell) {\n border-top-style: dashed;\n border-top-width: 1px;\n }\n vaadin-grid .row-details {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(max(200px, calc(100%/4 - var(${GridClass.cssVarList.detailsPanelItemsGap}))), 1fr));\n width: 100%;\n }\n vaadin-grid .row-details__item:has(.row-details__value.code) {\n grid-column: 1 / -1;\n order: 2;\n }\n vaadin-grid .row-details__value.text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: pre;\n }\n vaadin-grid .row-details__value.code {\n margin-top: 5px;\n max-height: 120px;\n overflow: scroll;\n font-size: 0.85em;\n }\n vaadin-grid vaadin-icon.toggle-details-button {\n margin: auto;\n }\n /*!css*/\n\t\t`,\n excludeAttrsSync: ['columns', 'tabindex', 'style'],\n componentName,\n })\n);\n","import '@vaadin/grid';\nimport './descope-grid-text-column';\nimport './descope-grid-custom-column';\nimport './descope-grid-selection-column';\nimport './descope-grid-item-details-column';\nimport '../descope-code-snippet'; // this is needed for the details panel\n\nimport { componentName, GridClass } from './GridClass';\n\ncustomElements.define(componentName, GridClass);\n\nexport { GridClass, 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 { GridTextColumnClass } from './GridTextColumnClass';\n\nexport const componentName = getComponentName('grid-text-column');\n\ncustomElements.define(componentName, GridTextColumnClass);\n","import { GridSelectionColumn } from '@vaadin/grid/vaadin-grid-selection-column';\n\nconst createCheckboxEle = () => {\n const checkbox = document.createElement('descope-checkbox');\n\n checkbox.setAttribute('bordered', 'true');\n checkbox.setAttribute('size', 'xs');\n\n return checkbox;\n};\n\nconst getIsAllItemsSelected = (grid) =>\n !!grid.items?.length && grid.selectedItems.length === grid.items.length;\n\nexport class GridSelectionColumnClass extends GridSelectionColumn {\n // eslint-disable-next-line class-methods-use-this\n _onHeaderRendererOrBindingChanged() {}\n\n // eslint-disable-next-line class-methods-use-this\n _headerRenderer(cell) {\n const grid = cell.parentNode;\n\n let checkbox = cell.querySelector('descope-checkbox');\n if (!checkbox) {\n checkbox = createCheckboxEle();\n\n checkbox.addEventListener('input', () => {\n const isAllItemsSelected = getIsAllItemsSelected(grid);\n if (isAllItemsSelected) {\n grid.selectedItems = [];\n } else {\n grid.selectedItems = grid.items;\n }\n });\n\n cell.appendChild(checkbox);\n }\n\n checkbox.setAttribute('checked', getIsAllItemsSelected(grid));\n }\n\n // eslint-disable-next-line class-methods-use-this\n _defaultRenderer(cell, col, model) {\n const grid = cell.parentNode;\n\n let checkbox = cell.querySelector('descope-checkbox');\n if (!checkbox) {\n checkbox = createCheckboxEle();\n cell.appendChild(checkbox);\n }\n\n checkbox.onchange = () => {\n checkbox.checked ? grid.selectItem(model.item) : grid.deselectItem(model.item);\n };\n\n checkbox.setAttribute('checked', model.selected);\n }\n}\n","import '../../boolean-fields/descope-checkbox';\nimport { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridSelectionColumnClass } from './GridSelectionColumnClass';\n\nexport const componentName = getComponentName('grid-selection-column');\n\ncustomElements.define(componentName, GridSelectionColumnClass);\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', 'style'],\n componentName,\n })\n);\n","import hljs from 'highlight.js';\nimport { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName, observeChildren } from '../../helpers/componentHelpers';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { decode, tpl } from './helpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('code-snippet');\n\nclass CodeSnippet extends createBaseClass({ componentName, baseSelector: ':host > code' }) {\n static get observedAttributes() {\n return ['lang', 'inline'];\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <code class=\"hljs\"></code>\n `;\n\n injectStyle(\n `\n :host {\n display: inline-block;\n width: 100%;\n }\n code {\n display: block;\n width: 100%;\n min-height: 1em;\n overflow-x: scroll;\n overflow-y: scroll;\n }\n pre {\n margin: 0;\n }\n `,\n this\n );\n }\n\n init() {\n super.init?.();\n\n this.lang = this.getAttribute('lang');\n this.isInline = this.getAttribute('inline') === 'true';\n\n observeChildren(this, this.#renderSnippet.bind(this));\n }\n\n get contentNode() {\n return this.shadowRoot.querySelector(this.baseSelector);\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (oldValue !== newValue) {\n if (attrName === 'inline') {\n this.isInline = newValue;\n }\n\n if (attrName === 'lang') {\n this.lang = newValue;\n }\n\n this.#renderSnippet();\n }\n }\n\n #renderSnippet() {\n const sanitized = decode(this.textContent);\n const language = this.lang;\n\n if (!language) {\n this.contentNode.textContent = sanitized;\n return;\n }\n\n const { value: highlighted } = hljs.highlight(sanitized, { language });\n\n this.contentNode.innerHTML = tpl(highlighted, this.isInline);\n }\n}\n\nconst {\n root,\n docTag,\n keyword,\n metaKeyword,\n templateTag,\n templateVariable,\n type,\n variableLanguage,\n title,\n titleClass,\n titleClassInherited,\n titleFunction,\n attr,\n attribute,\n literal,\n meta,\n number,\n operator,\n variable,\n selectorAttr,\n selectorClass,\n selectorId,\n regexp,\n string,\n metaString,\n builtIn,\n symbol,\n comment,\n code,\n formula,\n name,\n quote,\n selectorTag,\n selectorPseudo,\n subst,\n section,\n bullet,\n emphasis,\n strong,\n addition,\n deletion,\n charEscape,\n link,\n params,\n property,\n punctuation,\n tag,\n} = {\n root: { selector: () => '.hljs' },\n docTag: { selector: () => '.hljs-doctag' },\n keyword: { selector: () => '.hljs-keyword' },\n metaKeyword: { selector: () => '.hljs-meta .hljs-keyword' },\n templateTag: { selector: () => '.hljs-template-tag' },\n templateVariable: { selector: () => '.hljs-template-variable' },\n type: { selector: () => '.hljs-type' },\n variableLanguage: { selector: () => '.hljs-variable.language' },\n title: { selector: () => '.hljs-title' },\n titleClass: { selector: () => '.hljs-title.class_' },\n titleClassInherited: { selector: () => '.hljs-title.class_.inherited__' },\n titleFunction: { selector: () => '.hljs-title.function_' },\n attr: { selector: () => '.hljs-attr' },\n attribute: { selector: () => '.hljs-attribute' },\n literal: { selector: () => '.hljs-literal' },\n meta: { selector: () => '.hljs-meta' },\n number: { selector: () => '.hljs-number' },\n operator: { selector: () => '.hljs-operator' },\n variable: { selector: () => '.hljs-variable' },\n selectorAttr: { selector: () => '.hljs-selector-attr' },\n selectorClass: { selector: () => '.hljs-selector-class' },\n selectorId: { selector: () => '.hljs-selector-id' },\n regexp: { selector: () => '.hljs-regexp' },\n string: { selector: () => '.hljs-string' },\n metaString: { selector: () => '.hljs-meta .hljs-string' },\n builtIn: { selector: () => '.hljs-built_in' },\n symbol: { selector: () => '.hljs-symbol' },\n comment: { selector: () => '.hljs-comment' },\n code: { selector: () => '.hljs-code' },\n formula: { selector: () => '.hljs-formula' },\n name: { selector: () => '.hljs-name' },\n quote: { selector: () => '.hljs-quote' },\n selectorTag: { selector: () => '.hljs-selector-tag' },\n selectorPseudo: { selector: () => '.hljs-selector-pseudo' },\n subst: { selector: () => '.hljs-subst' },\n section: { selector: () => '.hljs-section' },\n bullet: { selector: () => '.hljs-bullet' },\n emphasis: { selector: () => '.hljs-emphasis' },\n strong: { selector: () => '.hljs-strong' },\n addition: { selector: () => '.hljs-addition' },\n deletion: { selector: () => '.hljs-deletion' },\n charEscape: { selector: () => '.hljs-char.escape' },\n link: { selector: () => '.hljs-link' },\n params: { selector: () => '.hljs-params' },\n property: { selector: () => '.hljs-property' },\n punctuation: { selector: () => '.hljs-punctuation' },\n tag: { selector: () => '.hljs-tag' },\n};\n\nexport const CodeSnippetClass = compose(\n createStyleMixin({\n mappings: {\n rootBgColor: { ...root, property: 'background-color' },\n rootTextColor: { ...root, property: 'color' },\n docTagTextColor: { ...docTag, property: 'color' },\n keywordTextColor: { ...keyword, property: 'color' },\n metaKeywordTextColor: { ...metaKeyword, property: 'color' },\n templateTagTextColor: { ...templateTag, property: 'color' },\n templateVariableTextColor: { ...templateVariable, property: 'color' },\n typeTextColor: { ...type, property: 'color' },\n variableLanguageTextColor: { ...variableLanguage, property: 'color' },\n titleTextColor: { ...title, property: 'color' },\n titleClassTextColor: { ...titleClass, property: 'color' },\n titleClassInheritedTextColor: { ...titleClassInherited, property: 'color' },\n titleFunctionTextColor: { ...titleFunction, property: 'color' },\n attrTextColor: { ...attr, property: 'color' },\n attributeTextColor: { ...attribute, property: 'color' },\n literalTextColor: { ...literal, property: 'color' },\n metaTextColor: { ...meta, property: 'color' },\n numberTextColor: { ...number, property: 'color' },\n operatorTextColor: { ...operator, property: 'color' },\n variableTextColor: { ...variable, property: 'color' },\n selectorAttrTextColor: { ...selectorAttr, property: 'color' },\n selectorClassTextColor: { ...selectorClass, property: 'color' },\n selectorIdTextColor: { ...selectorId, property: 'color' },\n regexpTextColor: { ...regexp, property: 'color' },\n stringTextColor: { ...string, property: 'color' },\n metaStringTextColor: { ...metaString, property: 'color' },\n builtInTextColor: { ...builtIn, property: 'color' },\n symbolTextColor: { ...symbol, property: 'color' },\n commentTextColor: { ...comment, property: 'color' },\n codeTextColor: { ...code, property: 'color' },\n formulaTextColor: { ...formula, property: 'color' },\n nameTextColor: { ...name, property: 'color' },\n quoteTextColor: { ...quote, property: 'color' },\n selectorTagTextColor: { ...selectorTag, property: 'color' },\n selectorPseudoTextColor: { ...selectorPseudo, property: 'color' },\n substTextColor: { ...subst, property: 'color' },\n sectionTextColor: { ...section, property: 'color' },\n bulletTextColor: { ...bullet, property: 'color' },\n emphasisTextColor: { ...emphasis, property: 'color' },\n strongTextColor: { ...strong, property: 'color' },\n additionTextColor: { ...addition, property: 'color' },\n additionBgColor: { ...addition, property: 'background-color' },\n deletionTextColor: { ...deletion, property: 'color' },\n deletionBgColor: { ...deletion, property: 'background-color' },\n charEscapeTextColor: { ...charEscape, property: 'color' },\n linkTextColor: { ...link, property: 'color' },\n paramsTextColor: { ...params, property: 'color' },\n propertyTextColor: { ...property, property: 'color' },\n punctuationTextColor: { ...punctuation, property: 'color' },\n tagTextColor: { ...tag, property: 'color' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(CodeSnippet);\n","export const decode = (input) => {\n const txt = document.createElement('textarea');\n txt.innerHTML = input;\n return txt.value;\n};\n\nexport const tpl = (input, inline) => {\n return inline ? input : `<pre>${input}</pre>`;\n};\n","import { componentName, CodeSnippetClass } from './CodeSnippetClass';\n\ncustomElements.define(componentName, CodeSnippetClass);\n\nexport { CodeSnippetClass, componentName };\n","/* eslint-disable no-param-reassign */\nimport { GridSortColumn } from '@vaadin/grid/vaadin-grid-sort-column';\n\nexport class GridItemDetailsColumnClass extends GridSortColumn {\n get sortable() {\n return this.getAttribute('sortable') === 'true';\n }\n\n // eslint-disable-next-line class-methods-use-this\n _defaultRenderer(cell, _col, model) {\n const grid = _col._gridValue;\n const itemIdx = grid.detailsOpenedItems?.indexOf(model.item) ?? -1;\n const isOpened = itemIdx !== -1;\n\n const toggleIcon = document.createElement('vaadin-icon');\n toggleIcon.icon = isOpened ? 'vaadin:angle-up' : 'vaadin:angle-down';\n toggleIcon.classList.add('toggle-details-button', isOpened ? 'opened' : 'closed');\n cell.innerHTML = '';\n cell.append(toggleIcon);\n\n toggleIcon.onclick = () => {\n grid.detailsOpenedItems = isOpened\n ? grid.detailsOpenedItems.toSpliced(itemIdx, 1)\n : [...grid.detailsOpenedItems, model.item];\n };\n }\n\n _defaultHeaderRenderer(root, _column) {\n if (this.sortable) {\n super._defaultHeaderRenderer(root, _column);\n\n return;\n }\n\n this.__setTextContent(root, this.__getHeader(this.header, this.path));\n }\n}\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridItemDetailsColumnClass } from './GridItemDetailsColumnClass';\nimport '@vaadin/icon';\nimport '@vaadin/icons';\n\nexport const componentName = getComponentName('grid-item-details-column');\n\ncustomElements.define(componentName, GridItemDetailsColumnClass);\n"],"names":["GridTextColumnClass","sortable","this","getAttribute","_defaultRenderer","cell","_col","model","data","item","path","content","Array","isArray","join","__setTextContent","title","_defaultHeaderRenderer","root","_column","super","__getHeader","header","customElements","define","createBaseInputClass","args","GridCustomColumnClass","contentEle","from","children","find","child","pattern","RegExp","test","newEle","cloneNode","textContent","innerHTML","append","componentName","booleanFieldMixin","superclass","init","template","document","createElement","baseElement","appendChild","inputElement","shadowRoot","querySelector","checkbox","includeAttrs","isValidDataType","isValid","console","error","escapeXML","s","dom","getValueType","value","constructor","Object","isPlainObject","renderCodeSnippet","lang","renderText","text","renderJson","JSON","stringify","host","headerRow","headerRowCell","contentRow","firstRow","sortIndicators","activeSortIndicator","selectedRow","rowSeparator","resizeHandle","toggleDetailsPanelButton","toggleDetailsPanelButtonOpened","toggleDetailsPanelButtonClosed","detailsPanel","detailsPanelLabels","selectedRowCell","detailsPanelContent","selector","GridClass","componentNameOverride","mappings","hostWidth","property","hostHeight","hostMinHeight","fontFamily","fontSize","fontWeight","valueTextColor","backgroundColor","sortIndicatorsColor","borderColor","borderWidth","borderStyle","borderRadius","selectedBackgroundColor","headerRowTextColor","separatorColor","resizeHandleColor","hostDirection","fallback","toggleDetailsPanelButtonSize","toggleDetailsPanelButtonOpenedColor","toggleDetailsPanelButtonClosedColor","toggleDetailsPanelButtonCursor","detailsPanelBackgroundColor","detailsPanelBorderTopColor","detailsPanelLabelsColor","detailsPanelLabelsFontSize","detailsPanelItemsGap","detailsPanelPadding","handleColumns","forwardSelectedItemsChange","_mapSorters","origUpdateDetailsCellHeight","_updateDetailsCellHeight","row","call","rowDetailsRenderer","bind","async","addEventListener","e","stopImmediatePropagation","getRowDetailsTemplate","itemLabelsMapping","reduce","acc","entries","map","key","valueType","renderXml","some","v","defaultRowDetailsValueRenderer","defaultRowDetailsRenderer","HTMLTemplateElement","assign","Error","dispatchEvent","CustomEvent","bubbles","composed","detail","attributeChangedCallback","attrName","oldValue","newValue","setColumnsDataFromAttr","columnsAttr","length","setColumnsFromChildren","type","localName","match","attrs","attrVal","parse","columns","message","tagName","renderColumn","renderFn","renderColumns","getColumnsTemplate","reassignRowDetailsRenderer","setTimeout","grid","items","selectedItems","itemsIds","Set","uniqueColumnId","newSelectedItems","filter","selectedItem","has","paths","col","delegatesFocus","slots","wrappedEleName","style","cssVarList","excludeAttrsSync","forwardAttributes","BaseInputClass","baseSelector","observedAttributes","wrapperEle","checked","val","isTrusted","focus","handleFocusEventsDispatching","onReadOnlyChange","setAttribute","getValidity","isRequired","valueMissing","createCheckboxEle","getIsAllItemsSelected","GridSelectionColumnClass","_onHeaderRendererOrBindingChanged","_headerRenderer","parentNode","isAllItemsSelected","onchange","selectItem","deselectItem","selected","component","checkboxElement","checkboxSurface","checkboxLabel","requiredIndicator","helperText","errorMessage","CheckboxClass","labelTextColor","labelSpacing","labelLineHeight","labelFontWeight","labelRequiredIndicator","errorMessageTextColor","errorMessageIcon","errorMessageIconSize","errorMessageIconPadding","errorMessageIconRepeat","errorMessageIconPosition","errorMessageFontSize","inputValueTextColor","inputBackgroundColor","inputBorderRadius","inputBorderWidth","inputBorderOffset","inputBorderColor","inputBorderStyle","inputOutlineWidth","inputOutlineOffset","inputOutlineColor","inputOutlineStyle","inputSize","proxyProps","CodeSnippet","createBaseClass","attachShadow","mode","isInline","contentNode","sanitized","input","txt","decode","language","highlighted","highlight","docTag","keyword","metaKeyword","templateTag","templateVariable","variableLanguage","titleClass","titleClassInherited","titleFunction","attr","attribute","literal","meta","number","operator","variable","selectorAttr","selectorClass","selectorId","regexp","string","metaString","builtIn","symbol","comment","code","formula","name","quote","selectorTag","selectorPseudo","subst","section","bullet","emphasis","strong","addition","deletion","charEscape","link","params","punctuation","tag","CodeSnippetClass","rootBgColor","rootTextColor","docTagTextColor","keywordTextColor","metaKeywordTextColor","templateTagTextColor","templateVariableTextColor","typeTextColor","variableLanguageTextColor","titleTextColor","titleClassTextColor","titleClassInheritedTextColor","titleFunctionTextColor","attrTextColor","attributeTextColor","literalTextColor","metaTextColor","numberTextColor","operatorTextColor","variableTextColor","selectorAttrTextColor","selectorClassTextColor","selectorIdTextColor","regexpTextColor","stringTextColor","metaStringTextColor","builtInTextColor","symbolTextColor","commentTextColor","codeTextColor","formulaTextColor","nameTextColor","quoteTextColor","selectorTagTextColor","selectorPseudoTextColor","substTextColor","sectionTextColor","bulletTextColor","emphasisTextColor","strongTextColor","additionTextColor","additionBgColor","deletionTextColor","deletionBgColor","charEscapeTextColor","linkTextColor","paramsTextColor","propertyTextColor","punctuationTextColor","tagTextColor","GridItemDetailsColumnClass","_gridValue","itemIdx","detailsOpenedItems","indexOf","isOpened","toggleIcon","icon","classList","add","onclick","toSpliced"],"sourceRoot":""}
1
+ {"version":3,"file":"descope-grid-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-text-column/GridTextColumnClass.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-custom-column/GridCustomColumnClass.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-custom-column/index.js","webpack://@descope/web-components-ui/./src/components/descope-grid/helpers.js","webpack://@descope/web-components-ui/./src/components/descope-grid/GridClass.js","webpack://@descope/web-components-ui/./src/components/descope-grid/index.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-text-column/index.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-selection-column/GridSelectionColumnClass.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-selection-column/index.js","webpack://@descope/web-components-ui/./src/components/descope-code-snippet/CodeSnippetClass.js","webpack://@descope/web-components-ui/./src/components/descope-code-snippet/helpers.js","webpack://@descope/web-components-ui/./src/components/descope-code-snippet/index.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-item-details-column/GridItemDetailsColumnClass.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-item-details-column/index.js"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport { GridSortColumn } from '@vaadin/grid/vaadin-grid-sort-column';\n\nexport class GridTextColumnClass extends GridSortColumn {\n get sortable() {\n return this.getAttribute('sortable') === 'true';\n }\n\n _defaultRenderer(cell, _col, model) {\n const data = model.item[this.path] || '';\n const content = Array.isArray(data) ? data.join(', ') : data;\n\n this.__setTextContent(cell, content);\n cell.title = content;\n }\n\n _defaultHeaderRenderer(root, _column) {\n if (this.sortable) {\n super._defaultHeaderRenderer(root, _column);\n\n return;\n }\n\n this.__setTextContent(root, this.__getHeader(this.header, this.path));\n }\n}\n","/* eslint-disable no-param-reassign */\nimport { GridTextColumnClass } from '../descope-grid-text-column/GridTextColumnClass';\n\nexport class GridCustomColumnClass extends GridTextColumnClass {\n _defaultRenderer(cell, _col, model) {\n const content = model.item[this.path] || '';\n\n // we get a list of elements that can be used to render the content\n // each element can have a \"pattern\" attribute which contains regex expression\n // we are going over the elements, and when finding an element which is pattern matches the data,\n // we are cloning this element, and injecting the data as its child\n const contentEle = Array.from(this.children).find((child) => {\n const pattern = child.getAttribute('data-pattern');\n if (!pattern) return true;\n\n const regEx = new RegExp(pattern);\n return regEx.test(content);\n });\n\n if (!contentEle) {\n this.__setTextContent(cell, model.item[this.path] || '');\n\n return;\n }\n\n const newEle = contentEle.cloneNode(true);\n newEle.textContent = content || '';\n cell.innerHTML = '';\n cell.append(newEle);\n }\n}\n","/* eslint-disable no-param-reassign */\nimport { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridCustomColumnClass } from './GridCustomColumnClass';\n\nexport const componentName = getComponentName('grid-custom-column');\n\ncustomElements.define(componentName, GridCustomColumnClass);\n","import { toTitle } from '../../helpers';\n\nexport const isValidDataType = (data) => {\n const isValid = Array.isArray(data);\n if (!isValid) {\n // eslint-disable-next-line no-console\n console.error('data must be an array, received:', data);\n }\n\n return isValid;\n};\n\nexport const isPlainObject = (value) => value?.constructor === Object;\n\nconst isXml = (str) => /^\\s*<[\\s\\S]*>/.test(str);\n\nconst escapeXML = (s) => {\n const dom = document.createElement('div');\n dom.textContent = s;\n return dom.innerHTML;\n};\n\nexport const getValueType = (value) => {\n if (isPlainObject(value)) return 'object';\n if (Array.isArray(value)) return 'array';\n if (isXml(value)) return 'xml';\n\n return 'text';\n};\n\nexport const renderCodeSnippet = (value, lang) =>\n `<descope-code-snippet lang=\"${lang}\" class=\"row-details__value code\">${escapeXML(value)}</descope-code-snippet>`;\n\nexport const renderText = (text) =>\n `<div class=\"row-details__value text\" title=\"${text}\">${escapeXML(text)}</div>`;\nconst renderJson = (value) => renderCodeSnippet(JSON.stringify(value, null, 2), 'json');\nconst renderXml = (value) => renderCodeSnippet(value, 'xml');\n\nconst defaultRowDetailsValueRenderer = (value) => {\n const valueType = getValueType(value);\n\n if (valueType === 'object') {\n return renderJson(value);\n }\n\n if (valueType === 'xml') {\n return renderXml(value);\n }\n\n if (valueType === 'array') {\n if (value.some((v) => getValueType(v) === 'object')) {\n return renderJson(value);\n }\n return renderText(value.join(',\\n'));\n }\n\n return renderText(value);\n};\n\nexport const defaultRowDetailsRenderer = (item, itemLabelsMapping) => {\n return `\n <div class=\"row-details\">\n ${Object.entries(item)\n .map(\n ([key, value]) =>\n `<div class=\"row-details__item\" >\n <div class=\"row-details__label\">${itemLabelsMapping[key] || toTitle(key)}</div>\n ${defaultRowDetailsValueRenderer(value)}\n </div>`\n )\n .join('\\n')}\n</div>\n `;\n};\n","import { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n componentNameValidationMixin,\n createProxy,\n createStyleMixin,\n draggableMixin,\n} from '../../mixins';\n\nimport { defaultRowDetailsRenderer, isValidDataType } from './helpers';\n\nexport const componentName = getComponentName('grid');\n\nconst GridMixin = (superclass) =>\n class GridMixinClass extends superclass {\n #columns;\n\n init() {\n super.init?.();\n this.handleColumns();\n this.forwardSelectedItemsChange();\n\n // disable the grid sort\n this.baseElement._mapSorters = () => {};\n\n // there is an issue in vaadin that on some cases when trying to render the details panel, the row is null and this fn throwing\n // so we override it to prevent the error\n const origUpdateDetailsCellHeight = this.baseElement._updateDetailsCellHeight;\n this.baseElement._updateDetailsCellHeight = (row) => {\n if (!row) return;\n origUpdateDetailsCellHeight.call(this.baseElement, row);\n };\n\n this.baseElement.rowDetailsRenderer = this.#rowDetailsRenderer.bind(this);\n }\n\n // this renders the details panel content\n // in order to open it, the descope-grid-item-details-column should be used\n #rowDetailsRenderer = async (cell, _col, model) => {\n // prevent details panel from being scrolled into view when clicked\n cell.addEventListener('mousedown', (e) => e.stopImmediatePropagation(), true);\n\n const template = this.getRowDetailsTemplate(model.item);\n\n // eslint-disable-next-line no-param-reassign\n cell.innerHTML = '';\n cell.append(template.content.cloneNode(true));\n };\n\n getRowDetailsTemplate(item) {\n const itemLabelsMapping = this.#columns.reduce(\n (acc, { path, header }) => (!path || !header ? acc : { ...acc, [path]: header }),\n {}\n );\n const template =\n this.rowDetailsRenderer?.(item, itemLabelsMapping) ??\n defaultRowDetailsRenderer(item, itemLabelsMapping);\n\n switch (true) {\n case template instanceof HTMLTemplateElement:\n return template;\n case typeof template === 'string':\n return Object.assign(document.createElement('template'), { innerHTML: template });\n default:\n throw new Error('rowDetailsRenderer should return a string or a template');\n }\n }\n\n forwardSelectedItemsChange() {\n this.baseElement.addEventListener('selected-items-changed', (e) => {\n this.dispatchEvent(\n new CustomEvent('selected-items-changed', {\n bubbles: true,\n composed: true,\n detail: e.detail,\n })\n );\n });\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (attrName === 'columns') {\n this.setColumnsDataFromAttr();\n }\n }\n\n handleColumns() {\n if (this.columnsAttr) {\n this.setColumnsDataFromAttr();\n } else if (this.children.length) {\n this.setColumnsFromChildren();\n }\n }\n\n setColumnsFromChildren() {\n this.#columns = Array.from(this.children).map((child) => {\n return {\n path: child.getAttribute('path'),\n header: child.getAttribute('header'),\n type: child.localName.match('^descope-grid-(\\\\w+)-column$')?.[1] || 'text',\n\n attrs: ['frozen', 'resizable', 'auto-width', 'status'].reduce((acc, attrName) => {\n const attrVal = child.getAttribute(attrName);\n\n if (attrVal) {\n acc[attrName] = attrVal;\n }\n\n return acc;\n }, {}),\n };\n });\n }\n\n get columnsAttr() {\n return this.getAttribute('columns');\n }\n\n setColumnsDataFromAttr() {\n try {\n const data = JSON.parse(this.columnsAttr);\n if (isValidDataType(data)) {\n this.columns = data;\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error('could not parse data string from attribute \"columns\" -', e.message);\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n #renderColumn = ({ path, header, type, attrs }) => {\n const colAttrs = Object.entries(attrs)\n .map(([key, value]) => `${key}=\"${value}\"`)\n .join(' ');\n\n const tagName = `descope-grid-${type}-column`;\n\n return `<${tagName} header=\"${header}\" path=\"${path}\" ${colAttrs}></${tagName}>`;\n };\n\n get renderColumn() {\n return this.#renderColumn;\n }\n\n set renderColumn(renderFn) {\n this.#renderColumn = renderFn;\n this.renderColumns();\n }\n\n getColumnsTemplate() {\n return this.#columns?.reduce?.(\n (acc, item) => acc + (this.renderColumn?.(item || {}) || ''),\n ''\n );\n }\n\n // there is an issue in vaadin-grid, when rowDetailsRenderer is set, it renders an empty details panel\n reassignRowDetailsRenderer() {\n this.baseElement.rowDetailsRenderer = null;\n setTimeout(() => {\n this.baseElement.rowDetailsRenderer = this.#rowDetailsRenderer.bind(this);\n }, 0);\n }\n\n renderColumns() {\n const template = this.getColumnsTemplate();\n if (template) {\n this.reassignRowDetailsRenderer();\n this.innerHTML = template;\n }\n }\n\n get grid() {\n return this.shadowRoot.querySelector('vaadin-grid');\n }\n\n get data() {\n return this.grid.items;\n }\n\n set data(data) {\n if (isValidDataType(data) && this.grid.items !== data) {\n this.grid.items = data;\n\n if (this.grid.selectedItems) {\n const itemsIds = new Set(\n this.grid.items.map((item) => item[this.uniqueColumnId] ?? item)\n );\n\n const newSelectedItems = this.grid.selectedItems.filter((selectedItem) =>\n itemsIds.has(selectedItem[this.uniqueColumnId] ?? selectedItem)\n );\n\n // we want to update the selected items only if there is a reason,\n // to prevent redundant notifications\n if (this.grid.selectedItems.length !== newSelectedItems.length) {\n this.grid.selectedItems = newSelectedItems;\n }\n }\n }\n }\n\n get columns() {\n return this.#columns;\n }\n\n set columns(data) {\n this.#columns = data;\n this.renderColumns();\n }\n\n get paths() {\n return this.columns.map((col) => col.path);\n }\n\n get uniqueColumnId() {\n return this.getAttribute('unique-column-id');\n }\n };\n\nconst {\n host,\n headerRow,\n headerRowCell,\n contentRow,\n firstRow,\n sortIndicators,\n activeSortIndicator,\n selectedRow,\n rowSeparator,\n resizeHandle,\n toggleDetailsPanelButton,\n toggleDetailsPanelButtonOpened,\n toggleDetailsPanelButtonClosed,\n detailsPanel,\n detailsPanelLabels,\n selectedRowCell,\n detailsPanelContent,\n} = {\n host: { selector: () => 'vaadin-grid' },\n headerRow: { selector: () => '::part(header-cell)' },\n headerRowCell: { selector: () => 'vaadin-grid::part(header-cell)' },\n contentRow: { selector: () => '::part(cell)' },\n firstRow: { selector: () => '::part(first-header-row-cell)' },\n selectedRow: { selector: () => '::part(selected-row)' },\n selectedRowCell: { selector: () => '::part(selected-row-cell)' },\n sortIndicators: { selector: () => 'vaadin-grid-sorter::part(indicators)' },\n activeSortIndicator: { selector: () => 'vaadin-grid-sorter[direction]' },\n rowSeparator: { selector: () => 'vaadin-grid::part(body-cell)' },\n resizeHandle: { selector: () => '::part(resize-handle)' },\n toggleDetailsPanelButton: { selector: () => 'vaadin-grid vaadin-icon.toggle-details-button' },\n toggleDetailsPanelButtonOpened: {\n selector: () => 'vaadin-grid vaadin-icon.toggle-details-button.opened',\n },\n toggleDetailsPanelButtonClosed: {\n selector: () => 'vaadin-grid vaadin-icon.toggle-details-button.closed',\n },\n detailsPanel: { selector: () => 'vaadin-grid::part(details-cell)' },\n detailsPanelLabels: { selector: () => 'vaadin-grid .row-details__label' },\n detailsPanelContent: { selector: () => 'vaadin-grid .row-details' },\n};\n\nexport const GridClass = compose(\n createStyleMixin({ componentNameOverride: getComponentName('input-wrapper') }),\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n hostHeight: { selector: () => ':host', property: 'height' },\n hostMinHeight: { selector: () => ':host', property: 'min-height' },\n fontFamily: [{ ...headerRow }, { ...contentRow }],\n fontSize: [{ ...headerRow }, { ...contentRow }],\n fontWeight: { ...contentRow },\n valueTextColor: { ...contentRow, property: 'color' },\n backgroundColor: [\n { ...host, property: 'background-color' },\n { ...contentRow, property: 'background-color' },\n ],\n sortIndicatorsColor: { ...sortIndicators, property: 'color' },\n activeSortIndicator: { ...activeSortIndicator, property: 'color' },\n borderColor: { ...host, property: 'border-color' },\n borderWidth: { ...host, property: 'border-width' },\n borderStyle: { ...host, property: 'border-style' },\n borderRadius: { ...host, property: 'border-radius' },\n selectedBackgroundColor: [\n { ...selectedRow, property: 'background-color' },\n { ...selectedRowCell, property: 'background-color' },\n ],\n headerRowTextColor: { ...headerRowCell, property: 'color' },\n separatorColor: [\n { ...firstRow, property: 'border-bottom-color' },\n { ...rowSeparator, property: 'border-top-color' },\n ],\n resizeHandleColor: { ...resizeHandle, property: 'background-color' },\n hostDirection: { ...host, property: 'direction', fallback: 'ltr' },\n toggleDetailsPanelButtonSize: [\n { ...toggleDetailsPanelButton, property: 'width' },\n { ...toggleDetailsPanelButton, property: 'height' },\n ],\n toggleDetailsPanelButtonOpenedColor: { ...toggleDetailsPanelButtonOpened, property: 'color' },\n toggleDetailsPanelButtonClosedColor: { ...toggleDetailsPanelButtonClosed, property: 'color' },\n toggleDetailsPanelButtonCursor: { ...toggleDetailsPanelButton, property: 'cursor' },\n detailsPanelBackgroundColor: { ...detailsPanel, property: 'background-color' },\n detailsPanelBorderTopColor: { ...detailsPanel, property: 'border-top-color' },\n detailsPanelLabelsColor: { ...detailsPanelLabels, property: 'color' },\n detailsPanelLabelsFontSize: { ...detailsPanelLabels, property: 'font-size' },\n detailsPanelItemsGap: { ...detailsPanelContent, property: 'grid-gap' },\n detailsPanelPadding: { ...detailsPanelContent, property: 'padding' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n GridMixin\n)(\n createProxy({\n delegatesFocus: false,\n slots: [''],\n wrappedEleName: 'vaadin-grid',\n style: () => `\n /*css*/\n vaadin-grid {\n overflow: hidden;\n height: 100%;\n min-height: 300px;\n }\n vaadin-grid-cell-content {\n display: flex;\n }\n vaadin-grid::part(selected-row-cell) {\n background-image: none;\n box-shadow: none;\n background-color: inherit;\n }\n vaadin-grid::part(details-cell) {\n border-top-style: dashed;\n border-top-width: 1px;\n }\n vaadin-grid .row-details {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(max(200px, calc(100%/4 - var(${GridClass.cssVarList.detailsPanelItemsGap}))), 1fr));\n width: 100%;\n }\n vaadin-grid .row-details__item:has(.row-details__value.code) {\n grid-column: 1 / -1;\n order: 2;\n }\n vaadin-grid .row-details__value.text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: pre;\n }\n vaadin-grid .row-details__value.code {\n margin-top: 5px;\n max-height: 120px;\n overflow: scroll;\n font-size: 0.85em;\n }\n vaadin-grid vaadin-icon.toggle-details-button {\n margin: auto;\n }\n /*!css*/\n\t\t`,\n excludeAttrsSync: ['columns', 'tabindex', 'style'],\n componentName,\n })\n);\n","import '@vaadin/grid';\nimport './descope-grid-text-column';\nimport './descope-grid-custom-column';\nimport './descope-grid-selection-column';\nimport './descope-grid-item-details-column';\nimport '../descope-code-snippet'; // this is needed for the details panel\n\nimport { componentName, GridClass } from './GridClass';\n\ncustomElements.define(componentName, GridClass);\n\nexport { GridClass, componentName };\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridTextColumnClass } from './GridTextColumnClass';\n\nexport const componentName = getComponentName('grid-text-column');\n\ncustomElements.define(componentName, GridTextColumnClass);\n","import { GridSelectionColumn } from '@vaadin/grid/vaadin-grid-selection-column';\n\nconst createCheckboxEle = () => {\n const checkbox = document.createElement('descope-checkbox');\n\n checkbox.setAttribute('bordered', 'true');\n checkbox.setAttribute('size', 'xs');\n\n return checkbox;\n};\n\nconst getIsAllItemsSelected = (grid) =>\n !!grid.items?.length && grid.selectedItems.length === grid.items.length;\n\nexport class GridSelectionColumnClass extends GridSelectionColumn {\n // eslint-disable-next-line class-methods-use-this\n _onHeaderRendererOrBindingChanged() {}\n\n // eslint-disable-next-line class-methods-use-this\n _headerRenderer(cell) {\n const grid = cell.parentNode;\n\n let checkbox = cell.querySelector('descope-checkbox');\n if (!checkbox) {\n checkbox = createCheckboxEle();\n\n checkbox.addEventListener('input', () => {\n const isAllItemsSelected = getIsAllItemsSelected(grid);\n if (isAllItemsSelected) {\n grid.selectedItems = [];\n } else {\n grid.selectedItems = grid.items;\n }\n });\n\n cell.appendChild(checkbox);\n }\n\n checkbox.setAttribute('checked', getIsAllItemsSelected(grid));\n }\n\n // eslint-disable-next-line class-methods-use-this\n _defaultRenderer(cell, col, model) {\n const grid = cell.parentNode;\n\n let checkbox = cell.querySelector('descope-checkbox');\n if (!checkbox) {\n checkbox = createCheckboxEle();\n cell.appendChild(checkbox);\n }\n\n checkbox.onchange = () => {\n checkbox.checked ? grid.selectItem(model.item) : grid.deselectItem(model.item);\n };\n\n checkbox.setAttribute('checked', model.selected);\n }\n}\n","import '../../boolean-fields/descope-checkbox';\nimport { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridSelectionColumnClass } from './GridSelectionColumnClass';\n\nexport const componentName = getComponentName('grid-selection-column');\n\ncustomElements.define(componentName, GridSelectionColumnClass);\n","import hljs from 'highlight.js';\nimport { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName, observeChildren } from '../../helpers/componentHelpers';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { decode, tpl } from './helpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('code-snippet');\n\nclass CodeSnippet extends createBaseClass({ componentName, baseSelector: ':host > code' }) {\n static get observedAttributes() {\n return ['lang', 'inline'];\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <code class=\"hljs\"></code>\n `;\n\n injectStyle(\n `\n :host {\n display: inline-block;\n width: 100%;\n }\n code {\n display: block;\n width: 100%;\n min-height: 1em;\n overflow-x: scroll;\n overflow-y: scroll;\n }\n pre {\n margin: 0;\n }\n `,\n this\n );\n }\n\n init() {\n super.init?.();\n\n this.lang = this.getAttribute('lang');\n this.isInline = this.getAttribute('inline') === 'true';\n\n observeChildren(this, this.#renderSnippet.bind(this));\n }\n\n get contentNode() {\n return this.shadowRoot.querySelector(this.baseSelector);\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (oldValue !== newValue) {\n if (attrName === 'inline') {\n this.isInline = newValue;\n }\n\n if (attrName === 'lang') {\n this.lang = newValue;\n }\n\n this.#renderSnippet();\n }\n }\n\n #renderSnippet() {\n const sanitized = decode(this.textContent);\n const language = this.lang;\n\n if (!language) {\n this.contentNode.textContent = sanitized;\n return;\n }\n\n const { value: highlighted } = hljs.highlight(sanitized, { language });\n\n this.contentNode.innerHTML = tpl(highlighted, this.isInline);\n }\n}\n\nconst {\n root,\n docTag,\n keyword,\n metaKeyword,\n templateTag,\n templateVariable,\n type,\n variableLanguage,\n title,\n titleClass,\n titleClassInherited,\n titleFunction,\n attr,\n attribute,\n literal,\n meta,\n number,\n operator,\n variable,\n selectorAttr,\n selectorClass,\n selectorId,\n regexp,\n string,\n metaString,\n builtIn,\n symbol,\n comment,\n code,\n formula,\n name,\n quote,\n selectorTag,\n selectorPseudo,\n subst,\n section,\n bullet,\n emphasis,\n strong,\n addition,\n deletion,\n charEscape,\n link,\n params,\n property,\n punctuation,\n tag,\n} = {\n root: { selector: () => '.hljs' },\n docTag: { selector: () => '.hljs-doctag' },\n keyword: { selector: () => '.hljs-keyword' },\n metaKeyword: { selector: () => '.hljs-meta .hljs-keyword' },\n templateTag: { selector: () => '.hljs-template-tag' },\n templateVariable: { selector: () => '.hljs-template-variable' },\n type: { selector: () => '.hljs-type' },\n variableLanguage: { selector: () => '.hljs-variable.language' },\n title: { selector: () => '.hljs-title' },\n titleClass: { selector: () => '.hljs-title.class_' },\n titleClassInherited: { selector: () => '.hljs-title.class_.inherited__' },\n titleFunction: { selector: () => '.hljs-title.function_' },\n attr: { selector: () => '.hljs-attr' },\n attribute: { selector: () => '.hljs-attribute' },\n literal: { selector: () => '.hljs-literal' },\n meta: { selector: () => '.hljs-meta' },\n number: { selector: () => '.hljs-number' },\n operator: { selector: () => '.hljs-operator' },\n variable: { selector: () => '.hljs-variable' },\n selectorAttr: { selector: () => '.hljs-selector-attr' },\n selectorClass: { selector: () => '.hljs-selector-class' },\n selectorId: { selector: () => '.hljs-selector-id' },\n regexp: { selector: () => '.hljs-regexp' },\n string: { selector: () => '.hljs-string' },\n metaString: { selector: () => '.hljs-meta .hljs-string' },\n builtIn: { selector: () => '.hljs-built_in' },\n symbol: { selector: () => '.hljs-symbol' },\n comment: { selector: () => '.hljs-comment' },\n code: { selector: () => '.hljs-code' },\n formula: { selector: () => '.hljs-formula' },\n name: { selector: () => '.hljs-name' },\n quote: { selector: () => '.hljs-quote' },\n selectorTag: { selector: () => '.hljs-selector-tag' },\n selectorPseudo: { selector: () => '.hljs-selector-pseudo' },\n subst: { selector: () => '.hljs-subst' },\n section: { selector: () => '.hljs-section' },\n bullet: { selector: () => '.hljs-bullet' },\n emphasis: { selector: () => '.hljs-emphasis' },\n strong: { selector: () => '.hljs-strong' },\n addition: { selector: () => '.hljs-addition' },\n deletion: { selector: () => '.hljs-deletion' },\n charEscape: { selector: () => '.hljs-char.escape' },\n link: { selector: () => '.hljs-link' },\n params: { selector: () => '.hljs-params' },\n property: { selector: () => '.hljs-property' },\n punctuation: { selector: () => '.hljs-punctuation' },\n tag: { selector: () => '.hljs-tag' },\n};\n\nexport const CodeSnippetClass = compose(\n createStyleMixin({\n mappings: {\n rootBgColor: { ...root, property: 'background-color' },\n rootTextColor: { ...root, property: 'color' },\n docTagTextColor: { ...docTag, property: 'color' },\n keywordTextColor: { ...keyword, property: 'color' },\n metaKeywordTextColor: { ...metaKeyword, property: 'color' },\n templateTagTextColor: { ...templateTag, property: 'color' },\n templateVariableTextColor: { ...templateVariable, property: 'color' },\n typeTextColor: { ...type, property: 'color' },\n variableLanguageTextColor: { ...variableLanguage, property: 'color' },\n titleTextColor: { ...title, property: 'color' },\n titleClassTextColor: { ...titleClass, property: 'color' },\n titleClassInheritedTextColor: { ...titleClassInherited, property: 'color' },\n titleFunctionTextColor: { ...titleFunction, property: 'color' },\n attrTextColor: { ...attr, property: 'color' },\n attributeTextColor: { ...attribute, property: 'color' },\n literalTextColor: { ...literal, property: 'color' },\n metaTextColor: { ...meta, property: 'color' },\n numberTextColor: { ...number, property: 'color' },\n operatorTextColor: { ...operator, property: 'color' },\n variableTextColor: { ...variable, property: 'color' },\n selectorAttrTextColor: { ...selectorAttr, property: 'color' },\n selectorClassTextColor: { ...selectorClass, property: 'color' },\n selectorIdTextColor: { ...selectorId, property: 'color' },\n regexpTextColor: { ...regexp, property: 'color' },\n stringTextColor: { ...string, property: 'color' },\n metaStringTextColor: { ...metaString, property: 'color' },\n builtInTextColor: { ...builtIn, property: 'color' },\n symbolTextColor: { ...symbol, property: 'color' },\n commentTextColor: { ...comment, property: 'color' },\n codeTextColor: { ...code, property: 'color' },\n formulaTextColor: { ...formula, property: 'color' },\n nameTextColor: { ...name, property: 'color' },\n quoteTextColor: { ...quote, property: 'color' },\n selectorTagTextColor: { ...selectorTag, property: 'color' },\n selectorPseudoTextColor: { ...selectorPseudo, property: 'color' },\n substTextColor: { ...subst, property: 'color' },\n sectionTextColor: { ...section, property: 'color' },\n bulletTextColor: { ...bullet, property: 'color' },\n emphasisTextColor: { ...emphasis, property: 'color' },\n strongTextColor: { ...strong, property: 'color' },\n additionTextColor: { ...addition, property: 'color' },\n additionBgColor: { ...addition, property: 'background-color' },\n deletionTextColor: { ...deletion, property: 'color' },\n deletionBgColor: { ...deletion, property: 'background-color' },\n charEscapeTextColor: { ...charEscape, property: 'color' },\n linkTextColor: { ...link, property: 'color' },\n paramsTextColor: { ...params, property: 'color' },\n propertyTextColor: { ...property, property: 'color' },\n punctuationTextColor: { ...punctuation, property: 'color' },\n tagTextColor: { ...tag, property: 'color' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(CodeSnippet);\n","export const decode = (input) => {\n const txt = document.createElement('textarea');\n txt.innerHTML = input;\n return txt.value;\n};\n\nexport const tpl = (input, inline) => {\n return inline ? input : `<pre>${input}</pre>`;\n};\n","import { componentName, CodeSnippetClass } from './CodeSnippetClass';\n\ncustomElements.define(componentName, CodeSnippetClass);\n\nexport { CodeSnippetClass, componentName };\n","/* eslint-disable no-param-reassign */\nimport { GridSortColumn } from '@vaadin/grid/vaadin-grid-sort-column';\n\nexport class GridItemDetailsColumnClass extends GridSortColumn {\n get sortable() {\n return this.getAttribute('sortable') === 'true';\n }\n\n // eslint-disable-next-line class-methods-use-this\n _defaultRenderer(cell, _col, model) {\n const grid = _col._gridValue;\n const itemIdx = grid.detailsOpenedItems?.indexOf(model.item) ?? -1;\n const isOpened = itemIdx !== -1;\n\n const toggleIcon = document.createElement('vaadin-icon');\n toggleIcon.icon = isOpened ? 'vaadin:angle-up' : 'vaadin:angle-down';\n toggleIcon.classList.add('toggle-details-button', isOpened ? 'opened' : 'closed');\n cell.innerHTML = '';\n cell.append(toggleIcon);\n\n toggleIcon.onclick = () => {\n grid.detailsOpenedItems = isOpened\n ? grid.detailsOpenedItems.toSpliced(itemIdx, 1)\n : [...grid.detailsOpenedItems, model.item];\n };\n }\n\n _defaultHeaderRenderer(root, _column) {\n if (this.sortable) {\n super._defaultHeaderRenderer(root, _column);\n\n return;\n }\n\n this.__setTextContent(root, this.__getHeader(this.header, this.path));\n }\n}\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridItemDetailsColumnClass } from './GridItemDetailsColumnClass';\nimport '@vaadin/icon';\nimport '@vaadin/icons';\n\nexport const componentName = getComponentName('grid-item-details-column');\n\ncustomElements.define(componentName, GridItemDetailsColumnClass);\n"],"names":["GridTextColumnClass","sortable","this","getAttribute","_defaultRenderer","cell","_col","model","data","item","path","content","Array","isArray","join","__setTextContent","title","_defaultHeaderRenderer","root","_column","super","__getHeader","header","GridCustomColumnClass","contentEle","from","children","find","child","pattern","RegExp","test","newEle","cloneNode","textContent","innerHTML","append","componentName","customElements","define","isValidDataType","isValid","console","error","escapeXML","s","dom","document","createElement","getValueType","value","constructor","Object","isPlainObject","renderCodeSnippet","lang","renderText","text","renderJson","JSON","stringify","host","headerRow","headerRowCell","contentRow","firstRow","sortIndicators","activeSortIndicator","selectedRow","rowSeparator","resizeHandle","toggleDetailsPanelButton","toggleDetailsPanelButtonOpened","toggleDetailsPanelButtonClosed","detailsPanel","detailsPanelLabels","selectedRowCell","detailsPanelContent","selector","GridClass","componentNameOverride","mappings","hostWidth","property","hostHeight","hostMinHeight","fontFamily","fontSize","fontWeight","valueTextColor","backgroundColor","sortIndicatorsColor","borderColor","borderWidth","borderStyle","borderRadius","selectedBackgroundColor","headerRowTextColor","separatorColor","resizeHandleColor","hostDirection","fallback","toggleDetailsPanelButtonSize","toggleDetailsPanelButtonOpenedColor","toggleDetailsPanelButtonClosedColor","toggleDetailsPanelButtonCursor","detailsPanelBackgroundColor","detailsPanelBorderTopColor","detailsPanelLabelsColor","detailsPanelLabelsFontSize","detailsPanelItemsGap","detailsPanelPadding","superclass","init","handleColumns","forwardSelectedItemsChange","baseElement","_mapSorters","origUpdateDetailsCellHeight","_updateDetailsCellHeight","row","call","rowDetailsRenderer","bind","async","addEventListener","e","stopImmediatePropagation","template","getRowDetailsTemplate","itemLabelsMapping","reduce","acc","entries","map","key","valueType","renderXml","some","v","defaultRowDetailsValueRenderer","defaultRowDetailsRenderer","HTMLTemplateElement","assign","Error","dispatchEvent","CustomEvent","bubbles","composed","detail","attributeChangedCallback","attrName","oldValue","newValue","setColumnsDataFromAttr","columnsAttr","length","setColumnsFromChildren","type","localName","match","attrs","attrVal","parse","columns","message","tagName","renderColumn","renderFn","renderColumns","getColumnsTemplate","reassignRowDetailsRenderer","setTimeout","grid","shadowRoot","querySelector","items","selectedItems","itemsIds","Set","uniqueColumnId","newSelectedItems","filter","selectedItem","has","paths","col","delegatesFocus","slots","wrappedEleName","style","cssVarList","excludeAttrsSync","createCheckboxEle","checkbox","setAttribute","getIsAllItemsSelected","GridSelectionColumnClass","_onHeaderRendererOrBindingChanged","_headerRenderer","parentNode","isAllItemsSelected","appendChild","onchange","checked","selectItem","deselectItem","selected","CodeSnippet","createBaseClass","baseSelector","observedAttributes","attachShadow","mode","isInline","contentNode","sanitized","input","txt","decode","language","highlighted","highlight","docTag","keyword","metaKeyword","templateTag","templateVariable","variableLanguage","titleClass","titleClassInherited","titleFunction","attr","attribute","literal","meta","number","operator","variable","selectorAttr","selectorClass","selectorId","regexp","string","metaString","builtIn","symbol","comment","code","formula","name","quote","selectorTag","selectorPseudo","subst","section","bullet","emphasis","strong","addition","deletion","charEscape","link","params","punctuation","tag","CodeSnippetClass","rootBgColor","rootTextColor","docTagTextColor","keywordTextColor","metaKeywordTextColor","templateTagTextColor","templateVariableTextColor","typeTextColor","variableLanguageTextColor","titleTextColor","titleClassTextColor","titleClassInheritedTextColor","titleFunctionTextColor","attrTextColor","attributeTextColor","literalTextColor","metaTextColor","numberTextColor","operatorTextColor","variableTextColor","selectorAttrTextColor","selectorClassTextColor","selectorIdTextColor","regexpTextColor","stringTextColor","metaStringTextColor","builtInTextColor","symbolTextColor","commentTextColor","codeTextColor","formulaTextColor","nameTextColor","quoteTextColor","selectorTagTextColor","selectorPseudoTextColor","substTextColor","sectionTextColor","bulletTextColor","emphasisTextColor","strongTextColor","additionTextColor","additionBgColor","deletionTextColor","deletionBgColor","charEscapeTextColor","linkTextColor","paramsTextColor","propertyTextColor","punctuationTextColor","tagTextColor","GridItemDetailsColumnClass","_gridValue","itemIdx","detailsOpenedItems","indexOf","isOpened","toggleIcon","icon","classList","add","onclick","toSpliced"],"sourceRoot":""}
@@ -1,5 +1,5 @@
1
1
  /*! For license information please see descope-passcode-index-js.js.LICENSE.txt */
2
- "use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[3359,5166,7163,8884],{3393:(t,e,r)=>{r.d(e,{y:()=>a});var i=r(9696),n=r(79365),o=r(81365);const a=(...t)=>(0,i.Zz)(n.XX,n._$,n.yF,n.jd)((0,o.q)(...t))},6424:(t,e,r)=>{r.d(e,{A:()=>v});const{host:i,label:n,placeholder:o,requiredIndicator:a,inputField:s,input:l,inputMask:p,helperText:d,errorMessage:c,disabledPlaceholder:u,inputDisabled:h,inputIcon:g,externalInput:y,externalInputDisabled:b,externalPlaceholder:m,externalDisabledPlaceholder:f}={host:{selector:()=>":host"},label:{selector:"::part(label)"},requiredIndicator:{selector:"[required]::part(required-indicator)::after"},placeholder:[{selector:"> input:placeholder-shown"},{selector:()=>":host::slotted(input:placeholder-shown)"}],disabledPlaceholder:{selector:"> input:disabled::placeholder"},inputField:{selector:"::part(input-field)"},input:{selector:"input"},inputMask:{selector:"::part(input-field)::before"},inputDisabled:{selector:"input:disabled"},helperText:{selector:"::part(helper-text)"},errorMessage:{selector:"::part(error-message)"},inputIcon:{selector:"vaadin-icon"},externalInput:{selector:()=>"::slotted(input)"},externalInputDisabled:{selector:()=>"::slotted(input:disabled)"},externalPlaceholder:{selector:()=>"::slotted(input:placeholder-shown)"},externalDisabledPlaceholder:{selector:()=>"::slotted(input:disabled::placeholder)"}},v={fontSize:[{},i],fontFamily:[n,s,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:{...i,property:"width"},hostMinWidth:{...i,property:"min-width"},hostDirection:{...i,property:"direction"},inputDirection:{...l,property:"direction"},inputBackgroundColor:[{...s,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:[{...s,property:"color"},{...h,property:"-webkit-text-fill-color"},{...b,property:"-webkit-text-fill-color"}],inputCaretTextColor:[{...l,property:"caret-color"},{...y,property:"caret-color"}],labelRequiredIndicator:{...a,property:"content"},inputBorderColor:{...s,property:"border-color"},inputBorderWidth:{...s,property:"border-width"},inputBorderStyle:{...s,property:"border-style"},inputBorderRadius:{...s,property:"border-radius"},inputHeight:{...s,property:"height"},inputHorizontalPadding:[{...l,property:"padding-left"},{...l,property:"padding-right"},{...y,property:"padding-left"},{...y,property:"padding-right"}],inputOutlineColor:{...s,property:"outline-color"},inputOutlineStyle:{...s,property:"outline-style"},inputOutlineWidth:{...s,property:"outline-width"},inputOutlineOffset:{...s,property:"outline-offset"},textAlign:{},inputTextAlign:[{...l,property:"text-align"},{...y,property:"text-align"}],inputPlaceholderColor:[{selector:()=>":host input:placeholder-shown",property:"color"},{...m,property:"color"},{...o,property:"color"},{...u,property:"-webkit-text-fill-color"},{...f,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"},{...m,property:"opacity"}],inputVerticalAlignment:[{...s,property:"align-items"},{...y,property:"align-items"}],valueInputHeight:[{...l,property:"height"},{...y,property:"height"}],valueInputMarginBottom:[{...l,property:"margin-bottom"},{...y,property:"margin-bottom"}],inputIconOffset:[{...g,property:"margin-right"},{...g,property:"margin-left"}],inputIconSize:{...g,property:"font-size"},inputIconColor:{...g,property:"color"}}},11284:(t,e,r)=>{r(52733),r(27136)},18280:(t,e,r)=>{r.d(e,{Z:()=>l,_B:()=>i,n6:()=>n,pW:()=>a,vz:()=>o,zj:()=>s});const i="--descope-input-mask-content",n="--descope-input-mask-display",o="--descope-input-mask-fallback",a=t=>{t?.focus(),t?.setSelectionRange?.(1,1)},s=t=>t.replace(/\D/g,"")||"",l=(t,e)=>{e?(t.style.setProperty(i,`"${e}"`),t.style.setProperty(n,"flex")):(t.style.removeProperty(i),t.style.removeProperty(n))}},18330:(t,e,r)=>{r.d(e,{f:()=>n});var i=r(44099);class n extends i.r{constructor(t,e){super(t,"input","input",{initializer:(t,r)=>{r.value&&(t.value=r.value),r.type&&t.setAttribute("type",r.type),t.id=this.defaultId,"function"==typeof e&&e(t)},useUniqueId:!0})}}},21374:(t,e,r)=>{r.r(e),r.d(e,{TextFieldClass:()=>i.w,componentName:()=>i.T}),r(11284),r(37182),r(95260);var i=r(79275);customElements.define(i.T,i.w)},27136:(t,e,r)=>{r.d(e,{A:()=>h}),r(86689);var i=r(13256),n=r(82901),o=r(90676),a=r(81488),s=r(86314),l=r(87550),p=r(18330),d=r(37436),c=r(37720);const u=t=>class extends((0,d.a)(t)){static get properties(){return{maxlength:{type:Number},minlength:{type:Number},pattern:{type:String}}}static get delegateAttrs(){return[...super.delegateAttrs,"maxlength","minlength","pattern"]}static get constraints(){return[...super.constraints,"maxlength","minlength","pattern"]}constructor(){super(),this._setType("text")}get clearElement(){return this.$.clearButton}ready(){super.ready(),this.addController(new p.f(this,t=>{this._setInputElement(t),this._setFocusElement(t),this.stateTarget=t,this.ariaTarget=t})),this.addController(new c.q(this.inputElement,this._labelController))}};(0,l.SF)("vaadin-text-field",s.k,{moduleId:"vaadin-text-field-styles"});class h extends(u((0,l.cp)((0,o.q)(i.Pu)))){static get is(){return"vaadin-text-field"}static get template(){return i.qy`
2
+ "use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[3359,4838,5166,7163,8884],{3393:(t,e,r)=>{r.d(e,{y:()=>a});var i=r(9696),n=r(79365),o=r(81365);const a=(...t)=>(0,i.Zz)(n.XX,n._$,n.yF,n.jd)((0,o.q)(...t))},6424:(t,e,r)=>{r.d(e,{A:()=>v});const{host:i,label:n,placeholder:o,requiredIndicator:a,inputField:s,input:l,inputMask:p,helperText:d,errorMessage:c,disabledPlaceholder:u,inputDisabled:h,inputIcon:g,externalInput:y,externalInputDisabled:b,externalPlaceholder:m,externalDisabledPlaceholder:f}={host:{selector:()=>":host"},label:{selector:"::part(label)"},requiredIndicator:{selector:"[required]::part(required-indicator)::after"},placeholder:[{selector:"> input:placeholder-shown"},{selector:()=>":host::slotted(input:placeholder-shown)"}],disabledPlaceholder:{selector:"> input:disabled::placeholder"},inputField:{selector:"::part(input-field)"},input:{selector:"input"},inputMask:{selector:"::part(input-field)::before"},inputDisabled:{selector:"input:disabled"},helperText:{selector:"::part(helper-text)"},errorMessage:{selector:"::part(error-message)"},inputIcon:{selector:"vaadin-icon"},externalInput:{selector:()=>"::slotted(input)"},externalInputDisabled:{selector:()=>"::slotted(input:disabled)"},externalPlaceholder:{selector:()=>"::slotted(input:placeholder-shown)"},externalDisabledPlaceholder:{selector:()=>"::slotted(input:disabled::placeholder)"}},v={fontSize:[{},i],fontFamily:[n,s,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:{...i,property:"width"},hostMinWidth:{...i,property:"min-width"},hostDirection:{...i,property:"direction"},inputDirection:{...l,property:"direction"},inputBackgroundColor:[{...s,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:[{...s,property:"color"},{...h,property:"-webkit-text-fill-color"},{...b,property:"-webkit-text-fill-color"}],inputCaretTextColor:[{...l,property:"caret-color"},{...y,property:"caret-color"}],labelRequiredIndicator:{...a,property:"content"},inputBorderColor:{...s,property:"border-color"},inputBorderWidth:{...s,property:"border-width"},inputBorderStyle:{...s,property:"border-style"},inputBorderRadius:{...s,property:"border-radius"},inputHeight:{...s,property:"height"},inputHorizontalPadding:[{...l,property:"padding-left"},{...l,property:"padding-right"},{...y,property:"padding-left"},{...y,property:"padding-right"}],inputOutlineColor:{...s,property:"outline-color"},inputOutlineStyle:{...s,property:"outline-style"},inputOutlineWidth:{...s,property:"outline-width"},inputOutlineOffset:{...s,property:"outline-offset"},textAlign:{},inputTextAlign:[{...l,property:"text-align"},{...y,property:"text-align"}],inputPlaceholderColor:[{selector:()=>":host input:placeholder-shown",property:"color"},{...m,property:"color"},{...o,property:"color"},{...u,property:"-webkit-text-fill-color"},{...f,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"},{...m,property:"opacity"}],inputVerticalAlignment:[{...s,property:"align-items"},{...y,property:"align-items"}],valueInputHeight:[{...l,property:"height"},{...y,property:"height"}],valueInputMarginBottom:[{...l,property:"margin-bottom"},{...y,property:"margin-bottom"}],inputIconOffset:[{...g,property:"margin-right"},{...g,property:"margin-left"}],inputIconSize:{...g,property:"font-size"},inputIconColor:{...g,property:"color"}}},11284:(t,e,r)=>{r(52733),r(27136)},18280:(t,e,r)=>{r.d(e,{Z:()=>l,_B:()=>i,n6:()=>n,pW:()=>a,vz:()=>o,zj:()=>s});const i="--descope-input-mask-content",n="--descope-input-mask-display",o="--descope-input-mask-fallback",a=t=>{t?.focus(),t?.setSelectionRange?.(1,1)},s=t=>t.replace(/\D/g,"")||"",l=(t,e)=>{e?(t.style.setProperty(i,`"${e}"`),t.style.setProperty(n,"flex")):(t.style.removeProperty(i),t.style.removeProperty(n))}},18330:(t,e,r)=>{r.d(e,{f:()=>n});var i=r(44099);class n extends i.r{constructor(t,e){super(t,"input","input",{initializer:(t,r)=>{r.value&&(t.value=r.value),r.type&&t.setAttribute("type",r.type),t.id=this.defaultId,"function"==typeof e&&e(t)},useUniqueId:!0})}}},21374:(t,e,r)=>{r.r(e),r.d(e,{TextFieldClass:()=>i.w,componentName:()=>i.T}),r(11284),r(37182),r(95260);var i=r(79275);customElements.define(i.T,i.w)},27136:(t,e,r)=>{r.d(e,{A:()=>h}),r(86689);var i=r(13256),n=r(82901),o=r(90676),a=r(81488),s=r(86314),l=r(87550),p=r(18330),d=r(37436),c=r(37720);const u=t=>class extends((0,d.a)(t)){static get properties(){return{maxlength:{type:Number},minlength:{type:Number},pattern:{type:String}}}static get delegateAttrs(){return[...super.delegateAttrs,"maxlength","minlength","pattern"]}static get constraints(){return[...super.constraints,"maxlength","minlength","pattern"]}constructor(){super(),this._setType("text")}get clearElement(){return this.$.clearButton}ready(){super.ready(),this.addController(new p.f(this,t=>{this._setInputElement(t),this._setFocusElement(t),this.stateTarget=t,this.ariaTarget=t})),this.addController(new c.q(this.inputElement,this._labelController))}};(0,l.SF)("vaadin-text-field",s.k,{moduleId:"vaadin-text-field-styles"});class h extends(u((0,l.cp)((0,o.q)(i.Pu)))){static get is(){return"vaadin-text-field"}static get template(){return i.qy`
3
3
  <style>
4
4
  [part='input-field'] {
5
5
  flex-grow: 0;