@descope/web-components-ui 2.2.23 → 2.2.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/umd/1408.js +2 -2
- package/dist/umd/1453.js +177 -0
- package/dist/umd/{1995.js.LICENSE.txt → 1453.js.LICENSE.txt} +6 -0
- package/dist/umd/1453.js.map +1 -0
- package/dist/umd/1899.js +2 -2
- package/dist/umd/2562.js +3 -0
- package/dist/umd/2562.js.map +1 -0
- package/dist/umd/3620.js +3 -3
- package/dist/umd/4518.js +3 -3
- package/dist/umd/4550.js +2 -2
- package/dist/umd/4623.js +1 -1
- package/dist/umd/4914.js +1 -1
- package/dist/umd/4914.js.map +1 -1
- package/dist/umd/5260.js +2 -2
- package/dist/umd/5263.js +498 -0
- package/dist/umd/5263.js.LICENSE.txt +17 -0
- package/dist/umd/5263.js.map +1 -0
- package/dist/umd/5648.js +1 -1
- package/dist/umd/5966.js +125 -0
- package/dist/umd/5966.js.map +1 -0
- package/dist/umd/6477.js +3 -3
- package/dist/umd/7291.js +2 -2
- package/dist/umd/7387.js +144 -0
- package/dist/umd/{6419.js.LICENSE.txt → 7387.js.LICENSE.txt} +8 -2
- package/dist/umd/7387.js.map +1 -0
- package/dist/umd/7774.js +3 -3
- package/dist/umd/7939.js +1 -1
- package/dist/umd/8202.js +82 -0
- package/dist/umd/{descope-apps-list.js.LICENSE.txt → 8202.js.LICENSE.txt} +0 -6
- package/dist/umd/8202.js.map +1 -0
- package/dist/umd/8983.js +1 -1
- package/dist/umd/9117.js +3 -3
- package/dist/umd/9970.js +1 -1
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js +1 -1
- package/dist/umd/descope-apps-list.js +1 -17
- package/dist/umd/descope-apps-list.js.map +1 -1
- package/dist/umd/descope-avatar.js +161 -2
- package/dist/umd/descope-avatar.js.LICENSE.txt +6 -0
- package/dist/umd/descope-avatar.js.map +1 -1
- package/dist/umd/descope-button.js +1 -1
- package/dist/umd/descope-combo-box.js +2 -2
- package/dist/umd/descope-date-field-index-js.js +1 -1
- package/dist/umd/descope-email-field-index-js.js +1 -1
- package/dist/umd/descope-grid-descope-grid-custom-column-index-js.js +1 -1
- package/dist/umd/descope-grid-descope-grid-custom-column-index-js.js.map +1 -1
- package/dist/umd/descope-grid-descope-grid-item-details-column-index-js.js +1 -1
- package/dist/umd/descope-grid-descope-grid-item-details-column-index-js.js.map +1 -1
- package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js +1 -1
- package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js.map +1 -1
- package/dist/umd/descope-grid-descope-grid-text-column-index-js.js +1 -1
- package/dist/umd/descope-grid-descope-grid-text-column-index-js.js.map +1 -1
- package/dist/umd/descope-outbound-app-button.js +1 -1
- package/dist/umd/descope-outbound-apps.js +1 -338
- package/dist/umd/descope-outbound-apps.js.map +1 -1
- package/dist/umd/descope-passcode-index-js.js +1 -1
- package/dist/umd/descope-security-questions-verify-index-js.js +1 -1
- package/dist/umd/descope-text-field-index-js.js +1 -1
- package/dist/umd/descope-timer-button.js +1 -1
- package/dist/umd/descope-tooltip.js +2 -1
- package/dist/umd/descope-tooltip.js.LICENSE.txt +11 -0
- package/dist/umd/descope-tooltip.js.map +1 -1
- package/dist/umd/descope-upload-file-index-js.js +1 -1
- package/dist/umd/descope-user-attribute-index-js.js +1 -1
- package/dist/umd/descope-user-auth-method-index-js.js +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/dist/umd/phone-fields-descope-phone-input-box-field-descope-phone-input-box-internal-index-js.js +1 -1
- package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js +1 -1
- package/package.json +29 -29
- package/dist/umd/1519.js +0 -203
- package/dist/umd/1519.js.LICENSE.txt +0 -51
- package/dist/umd/1519.js.map +0 -1
- package/dist/umd/1995.js +0 -241
- package/dist/umd/1995.js.map +0 -1
- package/dist/umd/6419.js +0 -82
- package/dist/umd/6419.js.map +0 -1
- package/dist/umd/676.js +0 -3
- package/dist/umd/676.js.map +0 -1
- package/dist/umd/8618.js +0 -125
- package/dist/umd/8618.js.map +0 -1
- package/dist/umd/descope-outbound-apps.js.LICENSE.txt +0 -5
- /package/dist/umd/{676.js.LICENSE.txt → 2562.js.LICENSE.txt} +0 -0
- /package/dist/umd/{8618.js.LICENSE.txt → 5966.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descope-grid-descope-grid-selection-column-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/../../../node_modules/@vaadin/field-base/src/input-controller.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/templates.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/grid/src/vaadin-grid-selection-column-base-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/grid/src/vaadin-grid-selection-column-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/grid/src/vaadin-grid-selection-column.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/../../../node_modules/@vaadin/component-base/src/path-utils.js"],"sourcesContent":["/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { SlotController } from '@vaadin/component-base/src/slot-controller.js';\n\n/**\n * A controller to create and initialize slotted `<input>` element.\n */\nexport class InputController extends SlotController {\n constructor(host, callback) {\n super(host, 'input', 'input', {\n initializer: (node, host) => {\n if (host.value) {\n node.value = host.value;\n }\n if (host.type) {\n node.setAttribute('type', host.type);\n }\n\n // Ensure every instance has unique ID\n node.id = this.defaultId;\n\n if (typeof callback === 'function') {\n callback(node);\n }\n },\n useUniqueId: true,\n });\n }\n}\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * Passes the component to the template renderer callback if the template renderer is imported.\n * Otherwise, if there is a template, it warns that the template renderer needs to be imported.\n *\n * @param {HTMLElement} component\n */\nexport function processTemplates(component) {\n if (window.Vaadin && window.Vaadin.templateRendererCallback) {\n window.Vaadin.templateRendererCallback(component);\n return;\n }\n\n if (component.querySelector('template')) {\n console.warn(\n `WARNING: <template> inside <${component.localName}> is no longer supported. Import @vaadin/polymer-legacy-adapter/template-renderer.js to enable compatibility.`,\n );\n }\n}\n","/**\n * @license\n * Copyright (c) 2016 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { addListener } from '@vaadin/component-base/src/gestures.js';\n\n/**\n * A mixin that provides basic functionality for the\n * `<vaadin-grid-selection-column>`. This includes properties, cell rendering,\n * and overridable methods for handling changes to the selection state.\n *\n * **NOTE**: This mixin is re-used by the Flow component, and as such must not\n * implement any selection state updates for the column element or the grid.\n * Web component-specific selection state updates must be implemented in the\n * `<vaadin-grid-selection-column>` itself, by overriding the protected methods\n * provided by this mixin.\n *\n * @polymerMixin\n */\nexport const GridSelectionColumnBaseMixin = (superClass) =>\n class GridSelectionColumnBaseMixin extends superClass {\n static get properties() {\n return {\n /**\n * Width of the cells for this column.\n */\n width: {\n type: String,\n value: '58px',\n sync: true,\n },\n\n /**\n * Flex grow ratio for the cell widths. When set to 0, cell width is fixed.\n * @attr {number} flex-grow\n * @type {number}\n */\n flexGrow: {\n type: Number,\n value: 0,\n sync: true,\n },\n\n /**\n * When true, all the items are selected.\n * @attr {boolean} select-all\n * @type {boolean}\n */\n selectAll: {\n type: Boolean,\n value: false,\n notify: true,\n sync: true,\n },\n\n /**\n * When true, the active gets automatically selected.\n * @attr {boolean} auto-select\n * @type {boolean}\n */\n autoSelect: {\n type: Boolean,\n value: false,\n sync: true,\n },\n\n /**\n * When true, rows can be selected by dragging over the selection column.\n * @attr {boolean} drag-select\n * @type {boolean}\n */\n dragSelect: {\n type: Boolean,\n value: false,\n sync: true,\n },\n\n /** @protected */\n _indeterminate: {\n type: Boolean,\n sync: true,\n },\n\n /** @protected */\n _selectAllHidden: Boolean,\n };\n }\n\n static get observers() {\n return [\n '_onHeaderRendererOrBindingChanged(_headerRenderer, _headerCell, path, header, selectAll, _indeterminate, _selectAllHidden)',\n ];\n }\n\n /**\n * Renders the Select All checkbox to the header cell.\n *\n * @override\n */\n _defaultHeaderRenderer(root, _column) {\n let checkbox = root.firstElementChild;\n if (!checkbox) {\n checkbox = document.createElement('vaadin-checkbox');\n checkbox.setAttribute('aria-label', 'Select All');\n checkbox.classList.add('vaadin-grid-select-all-checkbox');\n root.appendChild(checkbox);\n // Add listener after appending, so we can skip the initial change event\n checkbox.addEventListener('checked-changed', this.__onSelectAllCheckedChanged.bind(this));\n }\n\n const checked = this.__isChecked(this.selectAll, this._indeterminate);\n checkbox.__rendererChecked = checked;\n checkbox.checked = checked;\n checkbox.hidden = this._selectAllHidden;\n checkbox.indeterminate = this._indeterminate;\n }\n\n /**\n * Renders the Select Row checkbox to the body cell.\n *\n * @override\n */\n _defaultRenderer(root, _column, { item, selected }) {\n let checkbox = root.firstElementChild;\n if (!checkbox) {\n checkbox = document.createElement('vaadin-checkbox');\n checkbox.setAttribute('aria-label', 'Select Row');\n root.appendChild(checkbox);\n // Add listener after appending, so we can skip the initial change event\n checkbox.addEventListener('checked-changed', this.__onSelectRowCheckedChanged.bind(this));\n addListener(root, 'track', this.__onCellTrack.bind(this));\n root.addEventListener('mousedown', this.__onCellMouseDown.bind(this));\n root.addEventListener('click', this.__onCellClick.bind(this));\n }\n\n checkbox.__item = item;\n checkbox.__rendererChecked = selected;\n checkbox.checked = selected;\n }\n\n /**\n * Updates the select all state when the Select All checkbox is switched.\n * The listener handles only user-fired events.\n *\n * @private\n */\n __onSelectAllCheckedChanged(e) {\n // Skip if the state is changed by the renderer.\n if (e.target.checked === e.target.__rendererChecked) {\n return;\n }\n\n if (this._indeterminate || e.target.checked) {\n this._selectAll();\n } else {\n this._deselectAll();\n }\n }\n\n /**\n * Selects or deselects the row when the Select Row checkbox is switched.\n * The listener handles only user-fired events.\n *\n * @private\n */\n __onSelectRowCheckedChanged(e) {\n // Skip if the state is changed by the renderer.\n if (e.target.checked === e.target.__rendererChecked) {\n return;\n }\n\n if (e.target.checked) {\n this._selectItem(e.target.__item);\n } else {\n this._deselectItem(e.target.__item);\n }\n }\n\n /** @private */\n __onCellTrack(event) {\n if (!this.dragSelect) {\n return;\n }\n this.__dragCurrentY = event.detail.y;\n this.__dragDy = event.detail.dy;\n if (event.detail.state === 'start') {\n const renderedRows = this._grid._getRenderedRows();\n // Get the row where the drag started\n const dragStartRow = renderedRows.find((row) => row.contains(event.currentTarget.assignedSlot));\n // Whether to select or deselect the items on drag\n this.__selectOnDrag = !this._grid._isSelected(dragStartRow._item);\n // Store the index of the row where the drag started\n this.__dragStartIndex = dragStartRow.index;\n // Store the item of the row where the drag started\n this.__dragStartItem = dragStartRow._item;\n // Start the auto scroller\n this.__dragAutoScroller();\n } else if (event.detail.state === 'end') {\n // if drag start and end stays within the same item, then toggle its state\n if (this.__dragStartItem) {\n if (this.__selectOnDrag) {\n this._selectItem(this.__dragStartItem);\n } else {\n this._deselectItem(this.__dragStartItem);\n }\n }\n // clear drag state after timeout, which allows preventing the\n // subsequent click event if drag started and ended on the same item\n setTimeout(() => {\n this.__dragStartIndex = undefined;\n });\n }\n }\n\n /** @private */\n __onCellMouseDown(e) {\n if (this.dragSelect) {\n // Prevent text selection when starting to drag\n e.preventDefault();\n }\n }\n\n /** @private */\n __onCellClick(e) {\n if (this.__dragStartIndex !== undefined) {\n // Stop the click event if drag was enabled. This click event should\n // only occur if drag started and stopped on the same item. In that case\n // the selection state has already been toggled on drag end, and we\n // don't want to toggle it again from clicking the checkbox or changing\n // the active item.\n e.preventDefault();\n }\n }\n\n /** @private */\n __dragAutoScroller() {\n if (this.__dragStartIndex === undefined) {\n return;\n }\n // Get the row being hovered over\n const renderedRows = this._grid._getRenderedRows();\n const hoveredRow = renderedRows.find((row) => {\n const rowRect = row.getBoundingClientRect();\n return this.__dragCurrentY >= rowRect.top && this.__dragCurrentY <= rowRect.bottom;\n });\n\n // Get the index of the row being hovered over or the first/last\n // visible row if hovering outside the grid\n let hoveredIndex = hoveredRow ? hoveredRow.index : undefined;\n const scrollableArea = this.__getScrollableArea();\n if (this.__dragCurrentY < scrollableArea.top) {\n hoveredIndex = this._grid._firstVisibleIndex;\n } else if (this.__dragCurrentY > scrollableArea.bottom) {\n hoveredIndex = this._grid._lastVisibleIndex;\n }\n\n if (hoveredIndex !== undefined) {\n // Select all items between the start and the current row\n renderedRows.forEach((row) => {\n if (\n (hoveredIndex > this.__dragStartIndex && row.index >= this.__dragStartIndex && row.index <= hoveredIndex) ||\n (hoveredIndex < this.__dragStartIndex && row.index <= this.__dragStartIndex && row.index >= hoveredIndex)\n ) {\n if (this.__selectOnDrag) {\n this._selectItem(row._item);\n } else {\n this._deselectItem(row._item);\n }\n this.__dragStartItem = undefined;\n }\n });\n }\n\n // Start scrolling in the top/bottom 15% of the scrollable area\n const scrollTriggerArea = scrollableArea.height * 0.15;\n // Maximum number of pixels to scroll per iteration\n const maxScrollAmount = 10;\n\n if (this.__dragDy < 0 && this.__dragCurrentY < scrollableArea.top + scrollTriggerArea) {\n const dy = scrollableArea.top + scrollTriggerArea - this.__dragCurrentY;\n const percentage = Math.min(1, dy / scrollTriggerArea);\n this._grid.$.table.scrollTop -= percentage * maxScrollAmount;\n }\n if (this.__dragDy > 0 && this.__dragCurrentY > scrollableArea.bottom - scrollTriggerArea) {\n const dy = this.__dragCurrentY - (scrollableArea.bottom - scrollTriggerArea);\n const percentage = Math.min(1, dy / scrollTriggerArea);\n this._grid.$.table.scrollTop += percentage * maxScrollAmount;\n }\n\n // Schedule the next auto scroll\n setTimeout(() => this.__dragAutoScroller(), 10);\n }\n\n /**\n * Gets the scrollable area of the grid as a bounding client rect. The\n * scrollable area is the bounding rect of the grid minus the header and\n * footer.\n *\n * @private\n */\n __getScrollableArea() {\n const gridRect = this._grid.$.table.getBoundingClientRect();\n const headerRect = this._grid.$.header.getBoundingClientRect();\n const footerRect = this._grid.$.footer.getBoundingClientRect();\n\n return {\n top: gridRect.top + headerRect.height,\n bottom: gridRect.bottom - footerRect.height,\n left: gridRect.left,\n right: gridRect.right,\n height: gridRect.height - headerRect.height - footerRect.height,\n width: gridRect.width,\n };\n }\n\n /**\n * Override to handle the user selecting all items.\n * @protected\n */\n _selectAll() {}\n\n /**\n * Override to handle the user deselecting all items.\n * @protected\n */\n _deselectAll() {}\n\n /**\n * Override to handle the user selecting an item.\n * @param {Object} item the item to select\n * @protected\n */\n _selectItem(item) {}\n\n /**\n * Override to handle the user deselecting an item.\n * @param {Object} item the item to deselect\n * @protected\n */\n _deselectItem(item) {}\n\n /**\n * IOS needs indeterminate + checked at the same time\n * @private\n */\n __isChecked(selectAll, indeterminate) {\n return indeterminate || selectAll;\n }\n };\n","/**\n * @license\n * Copyright (c) 2016 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { GridSelectionColumnBaseMixin } from './vaadin-grid-selection-column-base-mixin.js';\n\n/**\n * @polymerMixin\n * @mixes GridSelectionColumnBaseMixin\n */\nexport const GridSelectionColumnMixin = (superClass) =>\n class extends GridSelectionColumnBaseMixin(superClass) {\n static get properties() {\n return {\n /**\n * The previous state of activeItem. When activeItem turns to `null`,\n * previousActiveItem will have an Object with just unselected activeItem\n * @private\n */\n __previousActiveItem: Object,\n };\n }\n\n static get observers() {\n return ['__onSelectAllChanged(selectAll)'];\n }\n\n constructor() {\n super();\n\n this.__boundOnActiveItemChanged = this.__onActiveItemChanged.bind(this);\n this.__boundOnDataProviderChanged = this.__onDataProviderChanged.bind(this);\n this.__boundOnSelectedItemsChanged = this.__onSelectedItemsChanged.bind(this);\n }\n\n /** @protected */\n disconnectedCallback() {\n this._grid.removeEventListener('active-item-changed', this.__boundOnActiveItemChanged);\n this._grid.removeEventListener('data-provider-changed', this.__boundOnDataProviderChanged);\n this._grid.removeEventListener('filter-changed', this.__boundOnSelectedItemsChanged);\n this._grid.removeEventListener('selected-items-changed', this.__boundOnSelectedItemsChanged);\n\n super.disconnectedCallback();\n }\n\n /** @protected */\n connectedCallback() {\n super.connectedCallback();\n if (this._grid) {\n this._grid.addEventListener('active-item-changed', this.__boundOnActiveItemChanged);\n this._grid.addEventListener('data-provider-changed', this.__boundOnDataProviderChanged);\n this._grid.addEventListener('filter-changed', this.__boundOnSelectedItemsChanged);\n this._grid.addEventListener('selected-items-changed', this.__boundOnSelectedItemsChanged);\n }\n }\n\n /** @private */\n __onSelectAllChanged(selectAll) {\n if (selectAll === undefined || !this._grid) {\n return;\n }\n\n if (!this.__selectAllInitialized) {\n // The initial value for selectAll property was applied, avoid clearing pre-selected items\n this.__selectAllInitialized = true;\n return;\n }\n\n if (this._selectAllChangeLock) {\n return;\n }\n\n if (selectAll && this.__hasArrayDataProvider()) {\n this.__withFilteredItemsArray((items) => {\n this._grid.selectedItems = items;\n });\n } else {\n this._grid.selectedItems = [];\n }\n }\n\n /**\n * Return true if array `a` contains all the items in `b`\n * We need this when sorting or to preserve selection after filtering.\n * @private\n */\n __arrayContains(a, b) {\n return Array.isArray(a) && Array.isArray(b) && b.every((i) => a.includes(i));\n }\n\n /**\n * Override a method from `GridSelectionColumnBaseMixin` to handle the user\n * selecting all items.\n *\n * @protected\n * @override\n */\n _selectAll() {\n this.selectAll = true;\n }\n\n /**\n * Override a method from `GridSelectionColumnBaseMixin` to handle the user\n * deselecting all items.\n *\n * @protected\n * @override\n */\n _deselectAll() {\n this.selectAll = false;\n }\n\n /**\n * Override a method from `GridSelectionColumnBaseMixin` to handle the user\n * selecting an item.\n *\n * @param {Object} item the item to select\n * @protected\n * @override\n */\n _selectItem(item) {\n this._grid.selectItem(item);\n }\n\n /**\n * Override a method from `GridSelectionColumnBaseMixin` to handle the user\n * deselecting an item.\n *\n * @param {Object} item the item to deselect\n * @protected\n * @override\n */\n _deselectItem(item) {\n this._grid.deselectItem(item);\n }\n\n /** @private */\n __onActiveItemChanged(e) {\n const activeItem = e.detail.value;\n if (this.autoSelect) {\n const item = activeItem || this.__previousActiveItem;\n if (item) {\n this._grid._toggleItem(item);\n }\n }\n this.__previousActiveItem = activeItem;\n }\n\n /** @private */\n __hasArrayDataProvider() {\n return Array.isArray(this._grid.items) && !!this._grid.dataProvider;\n }\n\n /** @private */\n __onSelectedItemsChanged() {\n this._selectAllChangeLock = true;\n if (this.__hasArrayDataProvider()) {\n this.__withFilteredItemsArray((items) => {\n if (!this._grid.selectedItems.length) {\n this.selectAll = false;\n this._indeterminate = false;\n } else if (this.__arrayContains(this._grid.selectedItems, items)) {\n this.selectAll = true;\n this._indeterminate = false;\n } else {\n this.selectAll = false;\n this._indeterminate = true;\n }\n });\n }\n this._selectAllChangeLock = false;\n }\n\n /** @private */\n __onDataProviderChanged() {\n this._selectAllHidden = !Array.isArray(this._grid.items);\n }\n\n /**\n * Assuming the grid uses an items array data provider, fetches all the filtered items\n * from the data provider and invokes the callback with the resulting array.\n *\n * @private\n */\n __withFilteredItemsArray(callback) {\n const params = {\n page: 0,\n pageSize: Infinity,\n sortOrders: [],\n filters: this._grid._mapFilters(),\n };\n this._grid.dataProvider(params, (items) => callback(items));\n }\n };\n","/**\n * @license\n * Copyright (c) 2016 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport '@vaadin/checkbox/src/vaadin-checkbox.js';\nimport { defineCustomElement } from '@vaadin/component-base/src/define.js';\nimport { GridColumn } from './vaadin-grid-column.js';\nimport { GridSelectionColumnMixin } from './vaadin-grid-selection-column-mixin.js';\n\n/**\n * `<vaadin-grid-selection-column>` is a helper element for the `<vaadin-grid>`\n * that provides default renderers and functionality for item selection.\n *\n * #### Example:\n * ```html\n * <vaadin-grid items=\"[[items]]\">\n * <vaadin-grid-selection-column frozen auto-select></vaadin-grid-selection-column>\n *\n * <vaadin-grid-column>\n * ...\n * ```\n *\n * By default the selection column displays `<vaadin-checkbox>` elements in the\n * column cells. The checkboxes in the body rows toggle selection of the corresponding row items.\n *\n * When the grid data is provided as an array of [`items`](#/elements/vaadin-grid#property-items),\n * the column header gets an additional checkbox that can be used for toggling\n * selection for all the items at once.\n *\n * __The default content can also be overridden__\n *\n * @customElement\n * @fires {CustomEvent} select-all-changed - Fired when the `selectAll` property changes.\n * @extends GridColumn\n * @mixes GridSelectionColumnMixin\n */\nclass GridSelectionColumn extends GridSelectionColumnMixin(GridColumn) {\n static get is() {\n return 'vaadin-grid-selection-column';\n }\n}\n\ndefineCustomElement(GridSelectionColumn);\n\nexport { GridSelectionColumn };\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","/**\n * @license\n * Copyright (c) 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * Convenience method for reading a value from a path.\n *\n * @param {string} path\n * @param {object} object\n */\nexport function get(path, object) {\n return path.split('.').reduce((obj, property) => (obj ? obj[property] : undefined), object);\n}\n\n/**\n * Convenience method for setting a value to a path.\n *\n * @param {string} path\n * @param {unknown} value\n * @param {object} object\n */\nexport function set(path, value, object) {\n const pathParts = path.split('.');\n const lastPart = pathParts.pop();\n const target = pathParts.reduce((target, part) => target[part], object);\n target[lastPart] = value;\n}\n"],"names":["InputController","constructor","host","callback","super","initializer","node","value","type","setAttribute","id","this","defaultId","useUniqueId","processTemplates","component","window","Vaadin","templateRendererCallback","querySelector","console","warn","localName","GridSelectionColumnBaseMixin","superClass","properties","width","String","sync","flexGrow","Number","selectAll","Boolean","notify","autoSelect","dragSelect","_indeterminate","_selectAllHidden","observers","_defaultHeaderRenderer","root","_column","checkbox","firstElementChild","document","createElement","classList","add","appendChild","addEventListener","__onSelectAllCheckedChanged","bind","checked","__isChecked","__rendererChecked","hidden","indeterminate","_defaultRenderer","item","selected","__onSelectRowCheckedChanged","__onCellTrack","__onCellMouseDown","__onCellClick","__item","e","target","_selectAll","_deselectAll","_selectItem","_deselectItem","event","__dragCurrentY","detail","y","__dragDy","dy","state","dragStartRow","_grid","_getRenderedRows","find","row","contains","currentTarget","assignedSlot","__selectOnDrag","_isSelected","_item","__dragStartIndex","index","__dragStartItem","__dragAutoScroller","setTimeout","undefined","preventDefault","renderedRows","hoveredRow","rowRect","getBoundingClientRect","top","bottom","hoveredIndex","scrollableArea","__getScrollableArea","_firstVisibleIndex","_lastVisibleIndex","forEach","scrollTriggerArea","height","percentage","Math","min","$","table","scrollTop","gridRect","headerRect","header","footerRect","footer","left","right","GridSelectionColumnMixin","__previousActiveItem","Object","__boundOnActiveItemChanged","__onActiveItemChanged","__boundOnDataProviderChanged","__onDataProviderChanged","__boundOnSelectedItemsChanged","__onSelectedItemsChanged","disconnectedCallback","removeEventListener","connectedCallback","__onSelectAllChanged","__selectAllInitialized","_selectAllChangeLock","__hasArrayDataProvider","__withFilteredItemsArray","items","selectedItems","__arrayContains","a","b","Array","isArray","every","i","includes","selectItem","deselectItem","activeItem","_toggleItem","dataProvider","length","params","page","pageSize","Infinity","sortOrders","filters","_mapFilters","GridSelectionColumn","is","createCheckboxEle","getIsAllItemsSelected","grid","GridSelectionColumnClass","_onHeaderRendererOrBindingChanged","_headerRenderer","cell","parentNode","isAllItemsSelected","col","model","onchange","componentName","customElements","define","get","path","object","split","reduce","obj","property"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"descope-grid-descope-grid-selection-column-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/../../../node_modules/@vaadin/field-base/src/input-controller.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/templates.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/grid/src/vaadin-grid-selection-column-base-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/grid/src/vaadin-grid-selection-column-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/grid/src/vaadin-grid-selection-column.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/../../../node_modules/@vaadin/component-base/src/path-utils.js"],"sourcesContent":["/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { SlotController } from '@vaadin/component-base/src/slot-controller.js';\n\n/**\n * A controller to create and initialize slotted `<input>` element.\n */\nexport class InputController extends SlotController {\n constructor(host, callback) {\n super(host, 'input', 'input', {\n initializer: (node, host) => {\n if (host.value) {\n node.value = host.value;\n }\n if (host.type) {\n node.setAttribute('type', host.type);\n }\n\n // Ensure every instance has unique ID\n node.id = this.defaultId;\n\n if (typeof callback === 'function') {\n callback(node);\n }\n },\n useUniqueId: true,\n });\n }\n}\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * Passes the component to the template renderer callback if the template renderer is imported.\n * Otherwise, if there is a template, it warns that the template renderer needs to be imported.\n *\n * @param {HTMLElement} component\n */\nexport function processTemplates(component) {\n if (window.Vaadin && window.Vaadin.templateRendererCallback) {\n window.Vaadin.templateRendererCallback(component);\n return;\n }\n\n if (component.querySelector('template')) {\n console.warn(\n `WARNING: <template> inside <${component.localName}> is no longer supported. Import @vaadin/polymer-legacy-adapter/template-renderer.js to enable compatibility.`,\n );\n }\n}\n","/**\n * @license\n * Copyright (c) 2016 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { addListener } from '@vaadin/component-base/src/gestures.js';\n\n/**\n * A mixin that provides basic functionality for the\n * `<vaadin-grid-selection-column>`. This includes properties, cell rendering,\n * and overridable methods for handling changes to the selection state.\n *\n * **NOTE**: This mixin is re-used by the Flow component, and as such must not\n * implement any selection state updates for the column element or the grid.\n * Web component-specific selection state updates must be implemented in the\n * `<vaadin-grid-selection-column>` itself, by overriding the protected methods\n * provided by this mixin.\n *\n * @polymerMixin\n */\nexport const GridSelectionColumnBaseMixin = (superClass) =>\n class GridSelectionColumnBaseMixin extends superClass {\n static get properties() {\n return {\n /**\n * Width of the cells for this column.\n */\n width: {\n type: String,\n value: '58px',\n sync: true,\n },\n\n /**\n * Flex grow ratio for the cell widths. When set to 0, cell width is fixed.\n * @attr {number} flex-grow\n * @type {number}\n */\n flexGrow: {\n type: Number,\n value: 0,\n sync: true,\n },\n\n /**\n * When true, all the items are selected.\n * @attr {boolean} select-all\n * @type {boolean}\n */\n selectAll: {\n type: Boolean,\n value: false,\n notify: true,\n sync: true,\n },\n\n /**\n * When true, the active gets automatically selected.\n * @attr {boolean} auto-select\n * @type {boolean}\n */\n autoSelect: {\n type: Boolean,\n value: false,\n sync: true,\n },\n\n /**\n * When true, rows can be selected by dragging over the selection column.\n * @attr {boolean} drag-select\n * @type {boolean}\n */\n dragSelect: {\n type: Boolean,\n value: false,\n sync: true,\n },\n\n /** @protected */\n _indeterminate: {\n type: Boolean,\n sync: true,\n },\n\n /** @protected */\n _selectAllHidden: Boolean,\n };\n }\n\n static get observers() {\n return [\n '_onHeaderRendererOrBindingChanged(_headerRenderer, _headerCell, path, header, selectAll, _indeterminate, _selectAllHidden)',\n ];\n }\n\n /**\n * Renders the Select All checkbox to the header cell.\n *\n * @override\n */\n _defaultHeaderRenderer(root, _column) {\n let checkbox = root.firstElementChild;\n if (!checkbox) {\n checkbox = document.createElement('vaadin-checkbox');\n checkbox.setAttribute('aria-label', 'Select All');\n checkbox.classList.add('vaadin-grid-select-all-checkbox');\n root.appendChild(checkbox);\n // Add listener after appending, so we can skip the initial change event\n checkbox.addEventListener('checked-changed', this.__onSelectAllCheckedChanged.bind(this));\n }\n\n const checked = this.__isChecked(this.selectAll, this._indeterminate);\n checkbox.__rendererChecked = checked;\n checkbox.checked = checked;\n checkbox.hidden = this._selectAllHidden;\n checkbox.indeterminate = this._indeterminate;\n }\n\n /**\n * Renders the Select Row checkbox to the body cell.\n *\n * @override\n */\n _defaultRenderer(root, _column, { item, selected }) {\n let checkbox = root.firstElementChild;\n if (!checkbox) {\n checkbox = document.createElement('vaadin-checkbox');\n checkbox.setAttribute('aria-label', 'Select Row');\n root.appendChild(checkbox);\n // Add listener after appending, so we can skip the initial change event\n checkbox.addEventListener('checked-changed', this.__onSelectRowCheckedChanged.bind(this));\n addListener(root, 'track', this.__onCellTrack.bind(this));\n root.addEventListener('mousedown', this.__onCellMouseDown.bind(this));\n root.addEventListener('click', this.__onCellClick.bind(this));\n }\n\n checkbox.__item = item;\n checkbox.__rendererChecked = selected;\n checkbox.checked = selected;\n }\n\n /**\n * Updates the select all state when the Select All checkbox is switched.\n * The listener handles only user-fired events.\n *\n * @private\n */\n __onSelectAllCheckedChanged(e) {\n // Skip if the state is changed by the renderer.\n if (e.target.checked === e.target.__rendererChecked) {\n return;\n }\n\n if (this._indeterminate || e.target.checked) {\n this._selectAll();\n } else {\n this._deselectAll();\n }\n }\n\n /**\n * Selects or deselects the row when the Select Row checkbox is switched.\n * The listener handles only user-fired events.\n *\n * @private\n */\n __onSelectRowCheckedChanged(e) {\n // Skip if the state is changed by the renderer.\n if (e.target.checked === e.target.__rendererChecked) {\n return;\n }\n\n if (e.target.checked) {\n this._selectItem(e.target.__item);\n } else {\n this._deselectItem(e.target.__item);\n }\n }\n\n /** @private */\n __onCellTrack(event) {\n if (!this.dragSelect) {\n return;\n }\n this.__dragCurrentY = event.detail.y;\n this.__dragDy = event.detail.dy;\n if (event.detail.state === 'start') {\n const renderedRows = this._grid._getRenderedRows();\n // Get the row where the drag started\n const dragStartRow = renderedRows.find((row) => row.contains(event.currentTarget.assignedSlot));\n // Whether to select or deselect the items on drag\n this.__selectOnDrag = !this._grid._isSelected(dragStartRow._item);\n // Store the index of the row where the drag started\n this.__dragStartIndex = dragStartRow.index;\n // Store the item of the row where the drag started\n this.__dragStartItem = dragStartRow._item;\n // Start the auto scroller\n this.__dragAutoScroller();\n } else if (event.detail.state === 'end') {\n // if drag start and end stays within the same item, then toggle its state\n if (this.__dragStartItem) {\n if (this.__selectOnDrag) {\n this._selectItem(this.__dragStartItem);\n } else {\n this._deselectItem(this.__dragStartItem);\n }\n }\n // clear drag state after timeout, which allows preventing the\n // subsequent click event if drag started and ended on the same item\n setTimeout(() => {\n this.__dragStartIndex = undefined;\n });\n }\n }\n\n /** @private */\n __onCellMouseDown(e) {\n if (this.dragSelect) {\n // Prevent text selection when starting to drag\n e.preventDefault();\n }\n }\n\n /** @private */\n __onCellClick(e) {\n if (this.__dragStartIndex !== undefined) {\n // Stop the click event if drag was enabled. This click event should\n // only occur if drag started and stopped on the same item. In that case\n // the selection state has already been toggled on drag end, and we\n // don't want to toggle it again from clicking the checkbox or changing\n // the active item.\n e.preventDefault();\n }\n }\n\n /** @private */\n __dragAutoScroller() {\n if (this.__dragStartIndex === undefined) {\n return;\n }\n // Get the row being hovered over\n const renderedRows = this._grid._getRenderedRows();\n const hoveredRow = renderedRows.find((row) => {\n const rowRect = row.getBoundingClientRect();\n return this.__dragCurrentY >= rowRect.top && this.__dragCurrentY <= rowRect.bottom;\n });\n\n // Get the index of the row being hovered over or the first/last\n // visible row if hovering outside the grid\n let hoveredIndex = hoveredRow ? hoveredRow.index : undefined;\n const scrollableArea = this.__getScrollableArea();\n if (this.__dragCurrentY < scrollableArea.top) {\n hoveredIndex = this._grid._firstVisibleIndex;\n } else if (this.__dragCurrentY > scrollableArea.bottom) {\n hoveredIndex = this._grid._lastVisibleIndex;\n }\n\n if (hoveredIndex !== undefined) {\n // Select all items between the start and the current row\n renderedRows.forEach((row) => {\n if (\n (hoveredIndex > this.__dragStartIndex && row.index >= this.__dragStartIndex && row.index <= hoveredIndex) ||\n (hoveredIndex < this.__dragStartIndex && row.index <= this.__dragStartIndex && row.index >= hoveredIndex)\n ) {\n if (this.__selectOnDrag) {\n this._selectItem(row._item);\n } else {\n this._deselectItem(row._item);\n }\n this.__dragStartItem = undefined;\n }\n });\n }\n\n // Start scrolling in the top/bottom 15% of the scrollable area\n const scrollTriggerArea = scrollableArea.height * 0.15;\n // Maximum number of pixels to scroll per iteration\n const maxScrollAmount = 10;\n\n if (this.__dragDy < 0 && this.__dragCurrentY < scrollableArea.top + scrollTriggerArea) {\n const dy = scrollableArea.top + scrollTriggerArea - this.__dragCurrentY;\n const percentage = Math.min(1, dy / scrollTriggerArea);\n this._grid.$.table.scrollTop -= percentage * maxScrollAmount;\n }\n if (this.__dragDy > 0 && this.__dragCurrentY > scrollableArea.bottom - scrollTriggerArea) {\n const dy = this.__dragCurrentY - (scrollableArea.bottom - scrollTriggerArea);\n const percentage = Math.min(1, dy / scrollTriggerArea);\n this._grid.$.table.scrollTop += percentage * maxScrollAmount;\n }\n\n // Schedule the next auto scroll\n setTimeout(() => this.__dragAutoScroller(), 10);\n }\n\n /**\n * Gets the scrollable area of the grid as a bounding client rect. The\n * scrollable area is the bounding rect of the grid minus the header and\n * footer.\n *\n * @private\n */\n __getScrollableArea() {\n const gridRect = this._grid.$.table.getBoundingClientRect();\n const headerRect = this._grid.$.header.getBoundingClientRect();\n const footerRect = this._grid.$.footer.getBoundingClientRect();\n\n return {\n top: gridRect.top + headerRect.height,\n bottom: gridRect.bottom - footerRect.height,\n left: gridRect.left,\n right: gridRect.right,\n height: gridRect.height - headerRect.height - footerRect.height,\n width: gridRect.width,\n };\n }\n\n /**\n * Override to handle the user selecting all items.\n * @protected\n */\n _selectAll() {}\n\n /**\n * Override to handle the user deselecting all items.\n * @protected\n */\n _deselectAll() {}\n\n /**\n * Override to handle the user selecting an item.\n * @param {Object} item the item to select\n * @protected\n */\n _selectItem(item) {}\n\n /**\n * Override to handle the user deselecting an item.\n * @param {Object} item the item to deselect\n * @protected\n */\n _deselectItem(item) {}\n\n /**\n * IOS needs indeterminate + checked at the same time\n * @private\n */\n __isChecked(selectAll, indeterminate) {\n return indeterminate || selectAll;\n }\n };\n","/**\n * @license\n * Copyright (c) 2016 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { GridSelectionColumnBaseMixin } from './vaadin-grid-selection-column-base-mixin.js';\n\n/**\n * @polymerMixin\n * @mixes GridSelectionColumnBaseMixin\n */\nexport const GridSelectionColumnMixin = (superClass) =>\n class extends GridSelectionColumnBaseMixin(superClass) {\n static get properties() {\n return {\n /**\n * The previous state of activeItem. When activeItem turns to `null`,\n * previousActiveItem will have an Object with just unselected activeItem\n * @private\n */\n __previousActiveItem: Object,\n };\n }\n\n static get observers() {\n return ['__onSelectAllChanged(selectAll)'];\n }\n\n constructor() {\n super();\n\n this.__boundOnActiveItemChanged = this.__onActiveItemChanged.bind(this);\n this.__boundOnDataProviderChanged = this.__onDataProviderChanged.bind(this);\n this.__boundOnSelectedItemsChanged = this.__onSelectedItemsChanged.bind(this);\n }\n\n /** @protected */\n disconnectedCallback() {\n this._grid.removeEventListener('active-item-changed', this.__boundOnActiveItemChanged);\n this._grid.removeEventListener('data-provider-changed', this.__boundOnDataProviderChanged);\n this._grid.removeEventListener('filter-changed', this.__boundOnSelectedItemsChanged);\n this._grid.removeEventListener('selected-items-changed', this.__boundOnSelectedItemsChanged);\n\n super.disconnectedCallback();\n }\n\n /** @protected */\n connectedCallback() {\n super.connectedCallback();\n if (this._grid) {\n this._grid.addEventListener('active-item-changed', this.__boundOnActiveItemChanged);\n this._grid.addEventListener('data-provider-changed', this.__boundOnDataProviderChanged);\n this._grid.addEventListener('filter-changed', this.__boundOnSelectedItemsChanged);\n this._grid.addEventListener('selected-items-changed', this.__boundOnSelectedItemsChanged);\n }\n }\n\n /** @private */\n __onSelectAllChanged(selectAll) {\n if (selectAll === undefined || !this._grid) {\n return;\n }\n\n if (!this.__selectAllInitialized) {\n // The initial value for selectAll property was applied, avoid clearing pre-selected items\n this.__selectAllInitialized = true;\n return;\n }\n\n if (this._selectAllChangeLock) {\n return;\n }\n\n if (selectAll && this.__hasArrayDataProvider()) {\n this.__withFilteredItemsArray((items) => {\n this._grid.selectedItems = items;\n });\n } else {\n this._grid.selectedItems = [];\n }\n }\n\n /**\n * Return true if array `a` contains all the items in `b`\n * We need this when sorting or to preserve selection after filtering.\n * @private\n */\n __arrayContains(a, b) {\n return Array.isArray(a) && Array.isArray(b) && b.every((i) => a.includes(i));\n }\n\n /**\n * Override a method from `GridSelectionColumnBaseMixin` to handle the user\n * selecting all items.\n *\n * @protected\n * @override\n */\n _selectAll() {\n this.selectAll = true;\n }\n\n /**\n * Override a method from `GridSelectionColumnBaseMixin` to handle the user\n * deselecting all items.\n *\n * @protected\n * @override\n */\n _deselectAll() {\n this.selectAll = false;\n }\n\n /**\n * Override a method from `GridSelectionColumnBaseMixin` to handle the user\n * selecting an item.\n *\n * @param {Object} item the item to select\n * @protected\n * @override\n */\n _selectItem(item) {\n this._grid.selectItem(item);\n }\n\n /**\n * Override a method from `GridSelectionColumnBaseMixin` to handle the user\n * deselecting an item.\n *\n * @param {Object} item the item to deselect\n * @protected\n * @override\n */\n _deselectItem(item) {\n this._grid.deselectItem(item);\n }\n\n /** @private */\n __onActiveItemChanged(e) {\n const activeItem = e.detail.value;\n if (this.autoSelect) {\n const item = activeItem || this.__previousActiveItem;\n if (item) {\n this._grid._toggleItem(item);\n }\n }\n this.__previousActiveItem = activeItem;\n }\n\n /** @private */\n __hasArrayDataProvider() {\n return Array.isArray(this._grid.items) && !!this._grid.dataProvider;\n }\n\n /** @private */\n __onSelectedItemsChanged() {\n this._selectAllChangeLock = true;\n if (this.__hasArrayDataProvider()) {\n this.__withFilteredItemsArray((items) => {\n if (!this._grid.selectedItems.length) {\n this.selectAll = false;\n this._indeterminate = false;\n } else if (this.__arrayContains(this._grid.selectedItems, items)) {\n this.selectAll = true;\n this._indeterminate = false;\n } else {\n this.selectAll = false;\n this._indeterminate = true;\n }\n });\n }\n this._selectAllChangeLock = false;\n }\n\n /** @private */\n __onDataProviderChanged() {\n this._selectAllHidden = !Array.isArray(this._grid.items);\n }\n\n /**\n * Assuming the grid uses an items array data provider, fetches all the filtered items\n * from the data provider and invokes the callback with the resulting array.\n *\n * @private\n */\n __withFilteredItemsArray(callback) {\n const params = {\n page: 0,\n pageSize: Infinity,\n sortOrders: [],\n filters: this._grid._mapFilters(),\n };\n this._grid.dataProvider(params, (items) => callback(items));\n }\n };\n","/**\n * @license\n * Copyright (c) 2016 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport '@vaadin/checkbox/src/vaadin-checkbox.js';\nimport { defineCustomElement } from '@vaadin/component-base/src/define.js';\nimport { GridColumn } from './vaadin-grid-column.js';\nimport { GridSelectionColumnMixin } from './vaadin-grid-selection-column-mixin.js';\n\n/**\n * `<vaadin-grid-selection-column>` is a helper element for the `<vaadin-grid>`\n * that provides default renderers and functionality for item selection.\n *\n * #### Example:\n * ```html\n * <vaadin-grid items=\"[[items]]\">\n * <vaadin-grid-selection-column frozen auto-select></vaadin-grid-selection-column>\n *\n * <vaadin-grid-column>\n * ...\n * ```\n *\n * By default the selection column displays `<vaadin-checkbox>` elements in the\n * column cells. The checkboxes in the body rows toggle selection of the corresponding row items.\n *\n * When the grid data is provided as an array of [`items`](#/elements/vaadin-grid#property-items),\n * the column header gets an additional checkbox that can be used for toggling\n * selection for all the items at once.\n *\n * __The default content can also be overridden__\n *\n * @customElement\n * @fires {CustomEvent} select-all-changed - Fired when the `selectAll` property changes.\n * @extends GridColumn\n * @mixes GridSelectionColumnMixin\n */\nclass GridSelectionColumn extends GridSelectionColumnMixin(GridColumn) {\n static get is() {\n return 'vaadin-grid-selection-column';\n }\n}\n\ndefineCustomElement(GridSelectionColumn);\n\nexport { GridSelectionColumn };\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","/**\n * @license\n * Copyright (c) 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * Convenience method for reading a value from a path.\n *\n * @param {string} path\n * @param {object} object\n */\nexport function get(path, object) {\n return path.split('.').reduce((obj, property) => (obj ? obj[property] : undefined), object);\n}\n\n/**\n * Convenience method for setting a value to a path.\n *\n * @param {string} path\n * @param {unknown} value\n * @param {object} object\n */\nexport function set(path, value, object) {\n const pathParts = path.split('.');\n const lastPart = pathParts.pop();\n const target = pathParts.reduce((target, part) => target[part], object);\n target[lastPart] = value;\n}\n"],"names":["InputController","constructor","host","callback","super","initializer","node","value","type","setAttribute","id","this","defaultId","useUniqueId","processTemplates","component","window","Vaadin","templateRendererCallback","querySelector","console","warn","localName","GridSelectionColumnBaseMixin","superClass","properties","width","String","sync","flexGrow","Number","selectAll","Boolean","notify","autoSelect","dragSelect","_indeterminate","_selectAllHidden","observers","_defaultHeaderRenderer","root","_column","checkbox","firstElementChild","document","createElement","classList","add","appendChild","addEventListener","__onSelectAllCheckedChanged","bind","checked","__isChecked","__rendererChecked","hidden","indeterminate","_defaultRenderer","item","selected","__onSelectRowCheckedChanged","__onCellTrack","__onCellMouseDown","__onCellClick","__item","e","target","_selectAll","_deselectAll","_selectItem","_deselectItem","event","__dragCurrentY","detail","y","__dragDy","dy","state","dragStartRow","_grid","_getRenderedRows","find","row","contains","currentTarget","assignedSlot","__selectOnDrag","_isSelected","_item","__dragStartIndex","index","__dragStartItem","__dragAutoScroller","setTimeout","undefined","preventDefault","renderedRows","hoveredRow","rowRect","getBoundingClientRect","top","bottom","hoveredIndex","scrollableArea","__getScrollableArea","_firstVisibleIndex","_lastVisibleIndex","forEach","scrollTriggerArea","height","percentage","Math","min","$","table","scrollTop","gridRect","headerRect","header","footerRect","footer","left","right","GridSelectionColumnMixin","__previousActiveItem","Object","__boundOnActiveItemChanged","__onActiveItemChanged","__boundOnDataProviderChanged","__onDataProviderChanged","__boundOnSelectedItemsChanged","__onSelectedItemsChanged","disconnectedCallback","removeEventListener","connectedCallback","__onSelectAllChanged","__selectAllInitialized","_selectAllChangeLock","__hasArrayDataProvider","__withFilteredItemsArray","items","selectedItems","__arrayContains","a","b","Array","isArray","every","i","includes","selectItem","deselectItem","activeItem","_toggleItem","dataProvider","length","params","page","pageSize","Infinity","sortOrders","filters","_mapFilters","GridSelectionColumn","is","createCheckboxEle","getIsAllItemsSelected","grid","GridSelectionColumnClass","_onHeaderRendererOrBindingChanged","_headerRenderer","cell","parentNode","isAllItemsSelected","col","model","onchange","componentName","customElements","define","get","path","object","split","reduce","obj","property","set","pathParts","lastPart","pop","part"],"sourceRoot":""}
|
|
@@ -316,7 +316,7 @@
|
|
|
316
316
|
background-color: var(--lumo-contrast-10pct);
|
|
317
317
|
border-radius: var(--lumo-border-radius-m);
|
|
318
318
|
}
|
|
319
|
-
`;(0,r.SF)("",c,{moduleId:"lumo-color"})},85725:(t,o,a)=>{function r(t,o){return t.split(".").reduce((t,o)=>t?t[o]:void 0,o)}a.d(o,{J:()=>r})},94591:(t,o,a)=>{a.d(o,{v:()=>m}),a(64511),a(3241),a(9433);var r=a(87550);(0,r.SF)("vaadin-grid-sorter",r.AH`
|
|
319
|
+
`;(0,r.SF)("",c,{moduleId:"lumo-color"})},85725:(t,o,a)=>{function r(t,o){return t.split(".").reduce((t,o)=>t?t[o]:void 0,o)}function e(t,o,a){const r=t.split("."),e=r.pop();r.reduce((t,o)=>t[o],a)[e]=o}a.d(o,{J:()=>r,h:()=>e})},94591:(t,o,a)=>{a.d(o,{v:()=>m}),a(64511),a(3241),a(9433);var r=a(87550);(0,r.SF)("vaadin-grid-sorter",r.AH`
|
|
320
320
|
:host {
|
|
321
321
|
justify-content: flex-start;
|
|
322
322
|
align-items: baseline;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descope-grid-descope-grid-text-column-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/../../../node_modules/@vaadin/component-base/src/dom-utils.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/vaadin-lumo-styles/style.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/vaadin-lumo-styles/spacing.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/templates.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-text-column/index.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/vaadin-lumo-styles/color.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/path-utils.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/grid/theme/lumo/vaadin-grid-sorter-styles.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/grid/src/vaadin-grid-sorter-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/grid/src/vaadin-grid-sorter.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/grid/src/vaadin-grid-sort-column-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/grid/src/vaadin-grid-sort-column.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","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * Returns an array of ancestor root nodes for the given node.\n *\n * A root node is either a document node or a document fragment node (Shadow Root).\n * The array is collected by a bottom-up DOM traversing that starts with the given node\n * and involves both the light DOM and ancestor shadow DOM trees.\n *\n * @param {Node} node\n * @return {Node[]}\n */\nexport function getAncestorRootNodes(node) {\n const result = [];\n\n while (node) {\n if (node.nodeType === Node.DOCUMENT_NODE) {\n result.push(node);\n break;\n }\n\n if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n result.push(node);\n node = node.host;\n continue;\n }\n\n if (node.assignedSlot) {\n node = node.assignedSlot;\n continue;\n }\n\n node = node.parentNode;\n }\n\n return result;\n}\n\n/**\n * Returns the list of flattened elements for the given `node`.\n * This list consists of a node's children and, for any children that are\n * `<slot>` elements, the expanded flattened list of `assignedElements`.\n *\n * @param {Node} node\n * @return {Element[]}\n */\nexport function getFlattenedElements(node) {\n const result = [];\n let elements;\n if (node.localName === 'slot') {\n elements = node.assignedElements();\n } else {\n result.push(node);\n elements = [...node.children];\n }\n elements.forEach((elem) => result.push(...getFlattenedElements(elem)));\n return result;\n}\n\n/**\n * Traverses the given node and its parents, including those that are across\n * the shadow root boundaries, until it finds a node that matches the selector.\n *\n * @param {string} selector The CSS selector to match against\n * @param {Node} node The starting node for the traversal\n * @return {Node | null} The closest matching element, or null if no match is found\n */\nexport function getClosestElement(selector, node) {\n if (!node) {\n return null;\n }\n\n return node.closest(selector) || getClosestElement(selector, node.getRootNode().host);\n}\n\n/**\n * Takes a string with values separated by space and returns a set the values\n *\n * @param {string} value\n * @return {Set<string>}\n */\nexport function deserializeAttributeValue(value) {\n if (!value) {\n return new Set();\n }\n\n return new Set(value.split(' '));\n}\n\n/**\n * Takes a set of string values and returns a string with values separated by space\n *\n * @param {Set<string>} values\n * @return {string}\n */\nexport function serializeAttributeValue(values) {\n return values ? [...values].join(' ') : '';\n}\n\n/**\n * Adds a value to an attribute containing space-delimited values.\n *\n * @param {HTMLElement} element\n * @param {string} attr\n * @param {string} value\n */\nexport function addValueToAttribute(element, attr, value) {\n const values = deserializeAttributeValue(element.getAttribute(attr));\n values.add(value);\n element.setAttribute(attr, serializeAttributeValue(values));\n}\n\n/**\n * Removes a value from an attribute containing space-delimited values.\n * If the value is the last one, the whole attribute is removed.\n *\n * @param {HTMLElement} element\n * @param {string} attr\n * @param {string} value\n */\nexport function removeValueFromAttribute(element, attr, value) {\n const values = deserializeAttributeValue(element.getAttribute(attr));\n values.delete(value);\n if (values.size === 0) {\n element.removeAttribute(attr);\n return;\n }\n element.setAttribute(attr, serializeAttributeValue(values));\n}\n\n/**\n * Returns true if the given node is an empty text node, false otherwise.\n *\n * @param {Node} node\n * @return {boolean}\n */\nexport function isEmptyTextNode(node) {\n return node.nodeType === Node.TEXT_NODE && node.textContent.trim() === '';\n}\n","/**\n * @license\n * Copyright (c) 2017 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport './version.js';\nimport { css } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { addLumoGlobalStyles } from './global.js';\n\nconst style = css`\n :host {\n /* Border radius */\n --lumo-border-radius-s: 0.25em; /* Checkbox, badge, date-picker year indicator, etc */\n --lumo-border-radius-m: var(--lumo-border-radius, 0.25em); /* Button, text field, menu overlay, etc */\n --lumo-border-radius-l: 0.5em; /* Dialog, notification, etc */\n\n /* Shadow */\n --lumo-box-shadow-xs: 0 1px 4px -1px var(--lumo-shade-50pct);\n --lumo-box-shadow-s: 0 2px 4px -1px var(--lumo-shade-20pct), 0 3px 12px -1px var(--lumo-shade-30pct);\n --lumo-box-shadow-m: 0 2px 6px -1px var(--lumo-shade-20pct), 0 8px 24px -4px var(--lumo-shade-40pct);\n --lumo-box-shadow-l: 0 3px 18px -2px var(--lumo-shade-20pct), 0 12px 48px -6px var(--lumo-shade-40pct);\n --lumo-box-shadow-xl: 0 4px 24px -3px var(--lumo-shade-20pct), 0 18px 64px -8px var(--lumo-shade-40pct);\n\n /* Clickable element cursor */\n --lumo-clickable-cursor: default;\n }\n`;\n\n/**\n * Default values for component-specific custom properties.\n */\nconst globals = css`\n html {\n /* Button */\n --vaadin-button-background: var(--lumo-contrast-5pct);\n --vaadin-button-border: none;\n --vaadin-button-border-radius: var(--lumo-border-radius-m);\n --vaadin-button-font-size: var(--lumo-font-size-m);\n --vaadin-button-font-weight: 500;\n --vaadin-button-height: var(--lumo-size-m);\n --vaadin-button-margin: var(--lumo-space-xs) 0;\n --vaadin-button-min-width: calc(var(--vaadin-button-height) * 2);\n --vaadin-button-padding: 0 calc(var(--vaadin-button-height) / 3 + var(--lumo-border-radius-m) / 2);\n --vaadin-button-text-color: var(--lumo-primary-text-color);\n --vaadin-button-primary-background: var(--lumo-primary-color);\n --vaadin-button-primary-border: none;\n --vaadin-button-primary-font-weight: 600;\n --vaadin-button-primary-text-color: var(--lumo-primary-contrast-color);\n --vaadin-button-tertiary-background: transparent !important;\n --vaadin-button-tertiary-text-color: var(--lumo-primary-text-color);\n --vaadin-button-tertiary-font-weight: 500;\n --vaadin-button-tertiary-padding: 0 calc(var(--vaadin-button-height) / 6);\n /* Checkbox */\n --vaadin-checkbox-background: var(--lumo-contrast-20pct);\n --vaadin-checkbox-background-hover: var(--lumo-contrast-30pct);\n --vaadin-checkbox-border-radius: var(--lumo-border-radius-s);\n --vaadin-checkbox-checkmark-char: var(--lumo-icons-checkmark);\n --vaadin-checkbox-checkmark-char-indeterminate: '';\n --vaadin-checkbox-checkmark-color: var(--lumo-primary-contrast-color);\n --vaadin-checkbox-checkmark-size: calc(var(--vaadin-checkbox-size) + 2px);\n --vaadin-checkbox-label-color: var(--lumo-body-text-color);\n --vaadin-checkbox-label-font-size: var(--lumo-font-size-m);\n --vaadin-checkbox-label-padding: var(--lumo-space-xs) var(--lumo-space-s) var(--lumo-space-xs) var(--lumo-space-xs);\n --vaadin-checkbox-size: calc(var(--lumo-size-m) / 2);\n /* Radio button */\n --vaadin-radio-button-background: var(--lumo-contrast-20pct);\n --vaadin-radio-button-background-hover: var(--lumo-contrast-30pct);\n --vaadin-radio-button-dot-color: var(--lumo-primary-contrast-color);\n --vaadin-radio-button-dot-size: 3px;\n --vaadin-radio-button-label-color: var(--lumo-body-text-color);\n --vaadin-radio-button-label-font-size: var(--lumo-font-size-m);\n --vaadin-radio-button-label-padding: var(--lumo-space-xs) var(--lumo-space-s) var(--lumo-space-xs)\n var(--lumo-space-xs);\n --vaadin-radio-button-size: calc(var(--lumo-size-m) / 2);\n --vaadin-selection-color: var(--lumo-primary-color);\n --vaadin-selection-color-text: var(--lumo-primary-text-color);\n --vaadin-input-field-border-radius: var(--lumo-border-radius-m);\n --vaadin-focus-ring-color: var(--lumo-primary-color-50pct);\n --vaadin-focus-ring-width: 2px;\n /* Label */\n --vaadin-input-field-label-color: var(--lumo-secondary-text-color);\n --vaadin-input-field-focused-label-color: var(--lumo-primary-text-color);\n --vaadin-input-field-hovered-label-color: var(--lumo-body-text-color);\n --vaadin-input-field-label-font-size: var(--lumo-font-size-s);\n --vaadin-input-field-label-font-weight: 500;\n /* Helper */\n --vaadin-input-field-helper-color: var(--lumo-secondary-text-color);\n --vaadin-input-field-helper-font-size: var(--lumo-font-size-xs);\n --vaadin-input-field-helper-font-weight: 400;\n --vaadin-input-field-helper-spacing: 0.4em;\n /* Error message */\n --vaadin-input-field-error-color: var(--lumo-error-text-color);\n --vaadin-input-field-error-font-size: var(--lumo-font-size-xs);\n --vaadin-input-field-error-font-weight: 400;\n /* Input field */\n --vaadin-input-field-background: var(--lumo-contrast-10pct);\n --vaadin-input-field-icon-color: var(--lumo-contrast-60pct);\n --vaadin-input-field-icon-size: var(--lumo-icon-size-m);\n --vaadin-input-field-invalid-background: var(--lumo-error-color-10pct);\n --vaadin-input-field-invalid-hover-highlight: var(--lumo-error-color-50pct);\n --vaadin-input-field-height: var(--lumo-size-m);\n --vaadin-input-field-hover-highlight: var(--lumo-contrast-50pct);\n --vaadin-input-field-placeholder-color: var(--lumo-secondary-text-color);\n --vaadin-input-field-readonly-border: 1px dashed var(--lumo-contrast-30pct);\n --vaadin-input-field-value-color: var(--lumo-body-text-color);\n --vaadin-input-field-value-font-size: var(--lumo-font-size-m);\n --vaadin-input-field-value-font-weight: 400;\n }\n`;\n\naddLumoGlobalStyles('style-props', style);\n\nexport { globals, style };\n","/**\n * @license\n * Copyright (c) 2017 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport './version.js';\nimport { css } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { addLumoGlobalStyles } from './global.js';\n\nconst spacing = css`\n :host {\n /* Square */\n --lumo-space-xs: 0.25rem;\n --lumo-space-s: 0.5rem;\n --lumo-space-m: 1rem;\n --lumo-space-l: 1.5rem;\n --lumo-space-xl: 2.5rem;\n\n /* Wide */\n --lumo-space-wide-xs: calc(var(--lumo-space-xs) / 2) var(--lumo-space-xs);\n --lumo-space-wide-s: calc(var(--lumo-space-s) / 2) var(--lumo-space-s);\n --lumo-space-wide-m: calc(var(--lumo-space-m) / 2) var(--lumo-space-m);\n --lumo-space-wide-l: calc(var(--lumo-space-l) / 2) var(--lumo-space-l);\n --lumo-space-wide-xl: calc(var(--lumo-space-xl) / 2) var(--lumo-space-xl);\n\n /* Tall */\n --lumo-space-tall-xs: var(--lumo-space-xs) calc(var(--lumo-space-xs) / 2);\n --lumo-space-tall-s: var(--lumo-space-s) calc(var(--lumo-space-s) / 2);\n --lumo-space-tall-m: var(--lumo-space-m) calc(var(--lumo-space-m) / 2);\n --lumo-space-tall-l: var(--lumo-space-l) calc(var(--lumo-space-l) / 2);\n --lumo-space-tall-xl: var(--lumo-space-xl) calc(var(--lumo-space-xl) / 2);\n }\n`;\n\naddLumoGlobalStyles('spacing-props', spacing);\n\nexport { spacing };\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * Passes the component to the template renderer callback if the template renderer is imported.\n * Otherwise, if there is a template, it warns that the template renderer needs to be imported.\n *\n * @param {HTMLElement} component\n */\nexport function processTemplates(component) {\n if (window.Vaadin && window.Vaadin.templateRendererCallback) {\n window.Vaadin.templateRendererCallback(component);\n return;\n }\n\n if (component.querySelector('template')) {\n console.warn(\n `WARNING: <template> inside <${component.localName}> is no longer supported. Import @vaadin/polymer-legacy-adapter/template-renderer.js to enable compatibility.`,\n );\n }\n}\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridTextColumnClass } from './GridTextColumnClass';\n\nexport const componentName = getComponentName('grid-text-column');\n\ncustomElements.define(componentName, GridTextColumnClass);\n","/**\n * @license\n * Copyright (c) 2017 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport './version.js';\nimport { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { addLumoGlobalStyles } from './global.js';\n\nconst colorBase = css`\n :host {\n /* Base (background) */\n --lumo-base-color: #fff;\n\n /* Tint */\n --lumo-tint-5pct: hsla(0, 0%, 100%, 0.3);\n --lumo-tint-10pct: hsla(0, 0%, 100%, 0.37);\n --lumo-tint-20pct: hsla(0, 0%, 100%, 0.44);\n --lumo-tint-30pct: hsla(0, 0%, 100%, 0.5);\n --lumo-tint-40pct: hsla(0, 0%, 100%, 0.57);\n --lumo-tint-50pct: hsla(0, 0%, 100%, 0.64);\n --lumo-tint-60pct: hsla(0, 0%, 100%, 0.7);\n --lumo-tint-70pct: hsla(0, 0%, 100%, 0.77);\n --lumo-tint-80pct: hsla(0, 0%, 100%, 0.84);\n --lumo-tint-90pct: hsla(0, 0%, 100%, 0.9);\n --lumo-tint: #fff;\n\n /* Shade */\n --lumo-shade-5pct: hsla(214, 61%, 25%, 0.05);\n --lumo-shade-10pct: hsla(214, 57%, 24%, 0.1);\n --lumo-shade-20pct: hsla(214, 53%, 23%, 0.16);\n --lumo-shade-30pct: hsla(214, 50%, 22%, 0.26);\n --lumo-shade-40pct: hsla(214, 47%, 21%, 0.38);\n --lumo-shade-50pct: hsla(214, 45%, 20%, 0.52);\n --lumo-shade-60pct: hsla(214, 43%, 19%, 0.6);\n --lumo-shade-70pct: hsla(214, 42%, 18%, 0.69);\n --lumo-shade-80pct: hsla(214, 41%, 17%, 0.83);\n --lumo-shade-90pct: hsla(214, 40%, 16%, 0.94);\n --lumo-shade: hsl(214, 35%, 15%);\n\n /* Contrast */\n --lumo-contrast-5pct: var(--lumo-shade-5pct);\n --lumo-contrast-10pct: var(--lumo-shade-10pct);\n --lumo-contrast-20pct: var(--lumo-shade-20pct);\n --lumo-contrast-30pct: var(--lumo-shade-30pct);\n --lumo-contrast-40pct: var(--lumo-shade-40pct);\n --lumo-contrast-50pct: var(--lumo-shade-50pct);\n --lumo-contrast-60pct: var(--lumo-shade-60pct);\n --lumo-contrast-70pct: var(--lumo-shade-70pct);\n --lumo-contrast-80pct: var(--lumo-shade-80pct);\n --lumo-contrast-90pct: var(--lumo-shade-90pct);\n --lumo-contrast: var(--lumo-shade);\n\n /* Text */\n --lumo-header-text-color: var(--lumo-contrast);\n --lumo-body-text-color: var(--lumo-contrast-90pct);\n --lumo-secondary-text-color: var(--lumo-contrast-70pct);\n --lumo-tertiary-text-color: var(--lumo-contrast-50pct);\n --lumo-disabled-text-color: var(--lumo-contrast-30pct);\n\n /* Primary */\n --lumo-primary-color: hsl(214, 100%, 48%);\n --lumo-primary-color-50pct: hsla(214, 100%, 49%, 0.76);\n --lumo-primary-color-10pct: hsla(214, 100%, 60%, 0.13);\n --lumo-primary-text-color: hsl(214, 100%, 43%);\n --lumo-primary-contrast-color: #fff;\n\n /* Error */\n --lumo-error-color: hsl(3, 85%, 48%);\n --lumo-error-color-50pct: hsla(3, 85%, 49%, 0.5);\n --lumo-error-color-10pct: hsla(3, 85%, 49%, 0.1);\n --lumo-error-text-color: hsl(3, 89%, 42%);\n --lumo-error-contrast-color: #fff;\n\n /* Success */\n --lumo-success-color: hsl(145, 72%, 30%);\n --lumo-success-color-50pct: hsla(145, 72%, 31%, 0.5);\n --lumo-success-color-10pct: hsla(145, 72%, 31%, 0.1);\n --lumo-success-text-color: hsl(145, 85%, 25%);\n --lumo-success-contrast-color: #fff;\n\n /* Warning */\n --lumo-warning-color: hsl(48, 100%, 50%);\n --lumo-warning-color-10pct: hsla(48, 100%, 50%, 0.25);\n --lumo-warning-text-color: hsl(32, 100%, 30%);\n --lumo-warning-contrast-color: var(--lumo-shade-90pct);\n }\n\n /* forced-colors mode adjustments */\n @media (forced-colors: active) {\n html {\n --lumo-disabled-text-color: GrayText;\n }\n }\n`;\n\naddLumoGlobalStyles('color-props', colorBase);\n\nconst color = css`\n [theme~='dark'] {\n /* Base (background) */\n --lumo-base-color: hsl(214, 35%, 21%);\n\n /* Tint */\n --lumo-tint-5pct: hsla(214, 65%, 85%, 0.06);\n --lumo-tint-10pct: hsla(214, 60%, 80%, 0.14);\n --lumo-tint-20pct: hsla(214, 64%, 82%, 0.23);\n --lumo-tint-30pct: hsla(214, 69%, 84%, 0.32);\n --lumo-tint-40pct: hsla(214, 73%, 86%, 0.41);\n --lumo-tint-50pct: hsla(214, 78%, 88%, 0.5);\n --lumo-tint-60pct: hsla(214, 82%, 90%, 0.58);\n --lumo-tint-70pct: hsla(214, 87%, 92%, 0.69);\n --lumo-tint-80pct: hsla(214, 91%, 94%, 0.8);\n --lumo-tint-90pct: hsla(214, 96%, 96%, 0.9);\n --lumo-tint: hsl(214, 100%, 98%);\n\n /* Shade */\n --lumo-shade-5pct: hsla(214, 0%, 0%, 0.07);\n --lumo-shade-10pct: hsla(214, 4%, 2%, 0.15);\n --lumo-shade-20pct: hsla(214, 8%, 4%, 0.23);\n --lumo-shade-30pct: hsla(214, 12%, 6%, 0.32);\n --lumo-shade-40pct: hsla(214, 16%, 8%, 0.41);\n --lumo-shade-50pct: hsla(214, 20%, 10%, 0.5);\n --lumo-shade-60pct: hsla(214, 24%, 12%, 0.6);\n --lumo-shade-70pct: hsla(214, 28%, 13%, 0.7);\n --lumo-shade-80pct: hsla(214, 32%, 13%, 0.8);\n --lumo-shade-90pct: hsla(214, 33%, 13%, 0.9);\n --lumo-shade: hsl(214, 33%, 13%);\n\n /* Contrast */\n --lumo-contrast-5pct: var(--lumo-tint-5pct);\n --lumo-contrast-10pct: var(--lumo-tint-10pct);\n --lumo-contrast-20pct: var(--lumo-tint-20pct);\n --lumo-contrast-30pct: var(--lumo-tint-30pct);\n --lumo-contrast-40pct: var(--lumo-tint-40pct);\n --lumo-contrast-50pct: var(--lumo-tint-50pct);\n --lumo-contrast-60pct: var(--lumo-tint-60pct);\n --lumo-contrast-70pct: var(--lumo-tint-70pct);\n --lumo-contrast-80pct: var(--lumo-tint-80pct);\n --lumo-contrast-90pct: var(--lumo-tint-90pct);\n --lumo-contrast: var(--lumo-tint);\n\n /* Text */\n --lumo-header-text-color: var(--lumo-contrast);\n --lumo-body-text-color: var(--lumo-contrast-90pct);\n --lumo-secondary-text-color: var(--lumo-contrast-70pct);\n --lumo-tertiary-text-color: var(--lumo-contrast-50pct);\n --lumo-disabled-text-color: var(--lumo-contrast-30pct);\n\n /* Primary */\n --lumo-primary-color: hsl(214, 90%, 48%);\n --lumo-primary-color-50pct: hsla(214, 90%, 70%, 0.69);\n --lumo-primary-color-10pct: hsla(214, 90%, 55%, 0.13);\n --lumo-primary-text-color: hsl(214, 90%, 77%);\n --lumo-primary-contrast-color: #fff;\n\n /* Error */\n --lumo-error-color: hsl(3, 79%, 49%);\n --lumo-error-color-50pct: hsla(3, 75%, 62%, 0.5);\n --lumo-error-color-10pct: hsla(3, 75%, 62%, 0.14);\n --lumo-error-text-color: hsl(3, 100%, 80%);\n\n /* Success */\n --lumo-success-color: hsl(145, 72%, 30%);\n --lumo-success-color-50pct: hsla(145, 92%, 51%, 0.5);\n --lumo-success-color-10pct: hsla(145, 92%, 51%, 0.1);\n --lumo-success-text-color: hsl(145, 85%, 46%);\n\n /* Warning */\n --lumo-warning-color: hsl(43, 100%, 48%);\n --lumo-warning-color-10pct: hsla(40, 100%, 50%, 0.2);\n --lumo-warning-text-color: hsl(45, 100%, 60%);\n --lumo-warning-contrast-color: var(--lumo-shade-90pct);\n }\n\n html {\n color: var(--lumo-body-text-color);\n background-color: var(--lumo-base-color);\n color-scheme: light;\n }\n\n [theme~='dark'] {\n color: var(--lumo-body-text-color);\n background-color: var(--lumo-base-color);\n color-scheme: dark;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n color: var(--lumo-header-text-color);\n }\n\n a:where(:any-link) {\n color: var(--lumo-primary-text-color);\n }\n\n a:not(:any-link) {\n color: var(--lumo-disabled-text-color);\n }\n\n blockquote {\n color: var(--lumo-secondary-text-color);\n }\n\n code,\n pre {\n background-color: var(--lumo-contrast-10pct);\n border-radius: var(--lumo-border-radius-m);\n }\n`;\n\nregisterStyles('', color, { moduleId: 'lumo-color' });\n\nexport { colorBase, color };\n","/**\n * @license\n * Copyright (c) 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * Convenience method for reading a value from a path.\n *\n * @param {string} path\n * @param {object} object\n */\nexport function get(path, object) {\n return path.split('.').reduce((obj, property) => (obj ? obj[property] : undefined), object);\n}\n\n/**\n * Convenience method for setting a value to a path.\n *\n * @param {string} path\n * @param {unknown} value\n * @param {object} object\n */\nexport function set(path, value, object) {\n const pathParts = path.split('.');\n const lastPart = pathParts.pop();\n const target = pathParts.reduce((target, part) => target[part], object);\n target[lastPart] = value;\n}\n","import '@vaadin/vaadin-lumo-styles/color.js';\nimport '@vaadin/vaadin-lumo-styles/style.js';\nimport '@vaadin/vaadin-lumo-styles/spacing.js';\nimport { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\n\nregisterStyles(\n 'vaadin-grid-sorter',\n css`\n :host {\n justify-content: flex-start;\n align-items: baseline;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n cursor: var(--lumo-clickable-cursor);\n }\n\n [part='content'] {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n [part='indicators'] {\n margin-left: var(--lumo-space-s);\n }\n\n [part='indicators']::before {\n transform: scale(0.8);\n }\n\n :host(:not([direction]):not(:hover)) [part='indicators'] {\n color: var(--lumo-tertiary-text-color);\n }\n\n :host([direction]) {\n color: var(--vaadin-selection-color-text, var(--lumo-primary-text-color));\n }\n\n [part='order'] {\n font-size: var(--lumo-font-size-xxs);\n line-height: 1;\n }\n\n /* RTL specific styles */\n\n :host([dir='rtl']) [part='indicators'] {\n margin-right: var(--lumo-space-s);\n margin-left: 0;\n }\n `,\n { moduleId: 'lumo-grid-sorter' },\n);\n","/**\n * @license\n * Copyright (c) 2016 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\n\nconst template = document.createElement('template');\n\ntemplate.innerHTML = `\n <style nonce=${window.DESCOPE_NONCE}>\n @font-face {\n font-family: 'vaadin-grid-sorter-icons';\n src: url('` + __webpack_public_path__ + `fonts/font-1364590020.woff');\n font-weight: normal;\n font-style: normal;\n }\n </style>\n`;\n\ndocument.head.appendChild(template.content);\n\nregisterStyles(\n 'vaadin-grid-sorter',\n css`\n :host {\n display: inline-flex;\n cursor: pointer;\n max-width: 100%;\n }\n\n [part='content'] {\n flex: 1 1 auto;\n }\n\n [part='indicators'] {\n position: relative;\n align-self: center;\n flex: none;\n }\n\n [part='order'] {\n display: inline;\n vertical-align: super;\n }\n\n [part='indicators']::before {\n font-family: 'vaadin-grid-sorter-icons';\n display: inline-block;\n }\n\n :host(:not([direction])) [part='indicators']::before {\n content: '\\\\e901';\n }\n\n :host([direction='asc']) [part='indicators']::before {\n content: '\\\\e900';\n }\n\n :host([direction='desc']) [part='indicators']::before {\n content: '\\\\e902';\n }\n `,\n { moduleId: 'vaadin-grid-sorter-styles' },\n);\n\n/**\n * A mixin providing common sorter functionality.\n *\n * @polymerMixin\n */\nexport const GridSorterMixin = (superClass) =>\n class GridSorterMixinClass extends superClass {\n static get properties() {\n return {\n /**\n * JS Path of the property in the item used for sorting the data.\n */\n path: String,\n\n /**\n * How to sort the data.\n * Possible values are `asc` to use an ascending algorithm, `desc` to sort the data in\n * descending direction, or `null` for not sorting the data.\n * @type {GridSorterDirection | undefined}\n */\n direction: {\n type: String,\n reflectToAttribute: true,\n notify: true,\n value: null,\n sync: true,\n },\n\n /**\n * @type {number | null}\n * @protected\n */\n _order: {\n type: Number,\n value: null,\n sync: true,\n },\n\n /** @private */\n _isConnected: {\n type: Boolean,\n observer: '__isConnectedChanged',\n },\n };\n }\n\n static get observers() {\n return ['_pathOrDirectionChanged(path, direction)'];\n }\n\n /** @protected */\n ready() {\n super.ready();\n this.addEventListener('click', this._onClick.bind(this));\n }\n\n /** @protected */\n connectedCallback() {\n super.connectedCallback();\n this._isConnected = true;\n }\n\n /** @protected */\n disconnectedCallback() {\n super.disconnectedCallback();\n this._isConnected = false;\n\n if (!this.parentNode && this._grid) {\n this._grid.__removeSorters([this]);\n }\n }\n\n /** @private */\n _pathOrDirectionChanged() {\n this.__dispatchSorterChangedEvenIfPossible();\n }\n\n /** @private */\n __isConnectedChanged(newValue, oldValue) {\n if (oldValue === false) {\n return;\n }\n\n this.__dispatchSorterChangedEvenIfPossible();\n }\n\n /** @private */\n __dispatchSorterChangedEvenIfPossible() {\n if (this.path === undefined || this.direction === undefined || !this._isConnected) {\n return;\n }\n\n this.dispatchEvent(\n new CustomEvent('sorter-changed', {\n detail: { shiftClick: Boolean(this._shiftClick), fromSorterClick: Boolean(this._fromSorterClick) },\n bubbles: true,\n composed: true,\n }),\n );\n // Cleaning up as a programatically sorting can be done after some user interaction\n this._fromSorterClick = false;\n this._shiftClick = false;\n }\n\n /** @private */\n _getDisplayOrder(order) {\n return order === null ? '' : order + 1;\n }\n\n /** @private */\n _onClick(e) {\n if (e.defaultPrevented) {\n // Something else has already handled the click event, do nothing.\n return;\n }\n\n const activeElement = this.getRootNode().activeElement;\n if (this !== activeElement && this.contains(activeElement)) {\n // Some focusable content inside the sorter was clicked, do nothing.\n return;\n }\n\n e.preventDefault();\n this._shiftClick = e.shiftKey;\n this._fromSorterClick = true;\n if (this.direction === 'asc') {\n this.direction = 'desc';\n } else if (this.direction === 'desc') {\n this.direction = null;\n } else {\n this.direction = 'asc';\n }\n }\n };\n","/**\n * @license\n * Copyright (c) 2016 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { html, PolymerElement } from '@polymer/polymer/polymer-element.js';\nimport { defineCustomElement } from '@vaadin/component-base/src/define.js';\nimport { DirMixin } from '@vaadin/component-base/src/dir-mixin.js';\nimport { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { GridSorterMixin } from './vaadin-grid-sorter-mixin.js';\n\n/**\n * `<vaadin-grid-sorter>` is a helper element for the `<vaadin-grid>` that provides out-of-the-box UI controls,\n * visual feedback, and handlers for sorting the grid data.\n *\n * #### Example:\n * ```html\n * <vaadin-grid-column id=\"column\"></vaadin-grid-column>\n * ```\n * ```js\n * const column = document.querySelector('#column');\n * column.renderer = (root, column, model) => {\n * let sorter = root.firstElementChild;\n * if (!sorter) {\n * sorter = document.createElement('vaadin-grid-sorter');\n * root.appendChild(sorter);\n * }\n * sorter.path = 'name.first';\n * };\n * ```\n *\n * ### Styling\n *\n * The following shadow DOM parts are available for styling:\n *\n * Part name | Description\n * ----------------|----------------\n * `content` | The slotted content wrapper\n * `indicators` | The internal sorter indicators.\n * `order` | The internal sorter order\n *\n * The following state attributes are available for styling:\n *\n * Attribute | Description | Part name\n * -------------|-------------|------------\n * `direction` | Sort direction of a sorter | :host\n *\n * @fires {CustomEvent} direction-changed - Fired when the `direction` property changes.\n * @fires {CustomEvent} sorter-changed - Fired when the `path` or `direction` property changes.\n *\n * @customElement\n * @extends HTMLElement\n * @mixes GridSorterMixin\n * @mixes ThemableMixin\n * @mixes DirMixin\n */\nclass GridSorter extends GridSorterMixin(ThemableMixin(DirMixin(PolymerElement))) {\n static get template() {\n return html`\n <div part=\"content\">\n <slot></slot>\n </div>\n <div part=\"indicators\">\n <span part=\"order\">[[_getDisplayOrder(_order)]]</span>\n </div>\n `;\n }\n\n static get is() {\n return 'vaadin-grid-sorter';\n }\n}\n\ndefineCustomElement(GridSorter);\n\nexport { GridSorter };\n","/**\n * @license\n * Copyright (c) 2016 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * @polymerMixin\n */\nexport const GridSortColumnMixin = (superClass) =>\n class extends superClass {\n static get properties() {\n return {\n /**\n * JS Path of the property in the item used for sorting the data.\n */\n path: {\n type: String,\n sync: true,\n },\n\n /**\n * How to sort the data.\n * Possible values are `asc` to use an ascending algorithm, `desc` to sort the data in\n * descending direction, or `null` for not sorting the data.\n * @type {GridSorterDirection | undefined}\n */\n direction: {\n type: String,\n notify: true,\n sync: true,\n },\n };\n }\n\n static get observers() {\n return ['_onHeaderRendererOrBindingChanged(_headerRenderer, _headerCell, path, header, direction)'];\n }\n\n constructor() {\n super();\n\n this.__boundOnDirectionChanged = this.__onDirectionChanged.bind(this);\n }\n\n /**\n * Renders the grid sorter to the header cell.\n *\n * @override\n */\n _defaultHeaderRenderer(root, _column) {\n let sorter = root.firstElementChild;\n if (!sorter) {\n sorter = document.createElement('vaadin-grid-sorter');\n sorter.addEventListener('direction-changed', this.__boundOnDirectionChanged);\n root.appendChild(sorter);\n }\n\n sorter.path = this.path;\n sorter.__rendererDirection = this.direction;\n sorter.direction = this.direction;\n sorter.textContent = this.__getHeader(this.header, this.path);\n }\n\n /**\n * The sort column doesn't allow to use a custom header renderer\n * to override the header cell content.\n * It always renders the grid sorter to the header cell.\n *\n * @override\n */\n _computeHeaderRenderer() {\n return this._defaultHeaderRenderer;\n }\n\n /**\n * Updates the sorting direction once the grid sorter's direction is changed.\n * The listener handles only user-fired events.\n *\n * @private\n */\n __onDirectionChanged(e) {\n // Skip if the direction is changed by the renderer.\n if (e.detail.value === e.target.__rendererDirection) {\n return;\n }\n\n this.direction = e.detail.value;\n }\n\n /** @private */\n __getHeader(header, path) {\n if (header) {\n return header;\n }\n\n if (path) {\n return this._generateHeader(path);\n }\n }\n };\n","/**\n * @license\n * Copyright (c) 2016 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport './vaadin-grid-sorter.js';\nimport { defineCustomElement } from '@vaadin/component-base/src/define.js';\nimport { GridColumn } from './vaadin-grid-column.js';\nimport { GridSortColumnMixin } from './vaadin-grid-sort-column-mixin.js';\n\n/**\n * `<vaadin-grid-sort-column>` is a helper element for the `<vaadin-grid>`\n * that provides default header renderer and functionality for sorting.\n *\n * #### Example:\n * ```html\n * <vaadin-grid items=\"[[items]]\">\n * <vaadin-grid-sort-column path=\"name.first\" direction=\"asc\"></vaadin-grid-sort-column>\n *\n * <vaadin-grid-column>\n * ...\n * ```\n *\n * @fires {CustomEvent} direction-changed - Fired when the `direction` property changes.\n *\n * @customElement\n * @extends GridColumn\n * @mixes GridSortColumnMixin\n */\nclass GridSortColumn extends GridSortColumnMixin(GridColumn) {\n static get is() {\n return 'vaadin-grid-sort-column';\n }\n}\n\ndefineCustomElement(GridSortColumn);\n\nexport { GridSortColumn };\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","getAncestorRootNodes","node","result","nodeType","Node","DOCUMENT_NODE","push","DOCUMENT_FRAGMENT_NODE","assignedSlot","parentNode","host","getFlattenedElements","elements","localName","assignedElements","children","forEach","elem","getClosestElement","selector","closest","getRootNode","deserializeAttributeValue","value","Set","split","serializeAttributeValue","values","addValueToAttribute","element","attr","add","setAttribute","removeValueFromAttribute","delete","size","removeAttribute","isEmptyTextNode","TEXT_NODE","textContent","trim","style","spacing","processTemplates","component","window","Vaadin","templateRendererCallback","querySelector","console","warn","componentName","customElements","define","colorBase","color","moduleId","get","object","reduce","obj","property","undefined","template","document","createElement","innerHTML","DESCOPE_NONCE","head","appendChild","GridSorterMixin","superClass","properties","String","direction","type","reflectToAttribute","notify","sync","_order","Number","_isConnected","Boolean","observer","observers","ready","addEventListener","_onClick","bind","connectedCallback","disconnectedCallback","_grid","__removeSorters","_pathOrDirectionChanged","__dispatchSorterChangedEvenIfPossible","__isConnectedChanged","newValue","oldValue","dispatchEvent","CustomEvent","detail","shiftClick","_shiftClick","fromSorterClick","_fromSorterClick","bubbles","composed","_getDisplayOrder","order","e","defaultPrevented","activeElement","contains","preventDefault","shiftKey","GridSorter","is","GridSortColumnMixin","constructor","__boundOnDirectionChanged","__onDirectionChanged","sorter","firstElementChild","__rendererDirection","_computeHeaderRenderer","target","_generateHeader","GridSortColumn"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"descope-grid-descope-grid-text-column-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/../../../node_modules/@vaadin/component-base/src/dom-utils.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/vaadin-lumo-styles/style.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/vaadin-lumo-styles/spacing.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/templates.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-text-column/index.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/vaadin-lumo-styles/color.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/path-utils.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/grid/theme/lumo/vaadin-grid-sorter-styles.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/grid/src/vaadin-grid-sorter-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/grid/src/vaadin-grid-sorter.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/grid/src/vaadin-grid-sort-column-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/grid/src/vaadin-grid-sort-column.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","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * Returns an array of ancestor root nodes for the given node.\n *\n * A root node is either a document node or a document fragment node (Shadow Root).\n * The array is collected by a bottom-up DOM traversing that starts with the given node\n * and involves both the light DOM and ancestor shadow DOM trees.\n *\n * @param {Node} node\n * @return {Node[]}\n */\nexport function getAncestorRootNodes(node) {\n const result = [];\n\n while (node) {\n if (node.nodeType === Node.DOCUMENT_NODE) {\n result.push(node);\n break;\n }\n\n if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n result.push(node);\n node = node.host;\n continue;\n }\n\n if (node.assignedSlot) {\n node = node.assignedSlot;\n continue;\n }\n\n node = node.parentNode;\n }\n\n return result;\n}\n\n/**\n * Returns the list of flattened elements for the given `node`.\n * This list consists of a node's children and, for any children that are\n * `<slot>` elements, the expanded flattened list of `assignedElements`.\n *\n * @param {Node} node\n * @return {Element[]}\n */\nexport function getFlattenedElements(node) {\n const result = [];\n let elements;\n if (node.localName === 'slot') {\n elements = node.assignedElements();\n } else {\n result.push(node);\n elements = [...node.children];\n }\n elements.forEach((elem) => result.push(...getFlattenedElements(elem)));\n return result;\n}\n\n/**\n * Traverses the given node and its parents, including those that are across\n * the shadow root boundaries, until it finds a node that matches the selector.\n *\n * @param {string} selector The CSS selector to match against\n * @param {Node} node The starting node for the traversal\n * @return {Node | null} The closest matching element, or null if no match is found\n */\nexport function getClosestElement(selector, node) {\n if (!node) {\n return null;\n }\n\n return node.closest(selector) || getClosestElement(selector, node.getRootNode().host);\n}\n\n/**\n * Takes a string with values separated by space and returns a set the values\n *\n * @param {string} value\n * @return {Set<string>}\n */\nexport function deserializeAttributeValue(value) {\n if (!value) {\n return new Set();\n }\n\n return new Set(value.split(' '));\n}\n\n/**\n * Takes a set of string values and returns a string with values separated by space\n *\n * @param {Set<string>} values\n * @return {string}\n */\nexport function serializeAttributeValue(values) {\n return values ? [...values].join(' ') : '';\n}\n\n/**\n * Adds a value to an attribute containing space-delimited values.\n *\n * @param {HTMLElement} element\n * @param {string} attr\n * @param {string} value\n */\nexport function addValueToAttribute(element, attr, value) {\n const values = deserializeAttributeValue(element.getAttribute(attr));\n values.add(value);\n element.setAttribute(attr, serializeAttributeValue(values));\n}\n\n/**\n * Removes a value from an attribute containing space-delimited values.\n * If the value is the last one, the whole attribute is removed.\n *\n * @param {HTMLElement} element\n * @param {string} attr\n * @param {string} value\n */\nexport function removeValueFromAttribute(element, attr, value) {\n const values = deserializeAttributeValue(element.getAttribute(attr));\n values.delete(value);\n if (values.size === 0) {\n element.removeAttribute(attr);\n return;\n }\n element.setAttribute(attr, serializeAttributeValue(values));\n}\n\n/**\n * Returns true if the given node is an empty text node, false otherwise.\n *\n * @param {Node} node\n * @return {boolean}\n */\nexport function isEmptyTextNode(node) {\n return node.nodeType === Node.TEXT_NODE && node.textContent.trim() === '';\n}\n","/**\n * @license\n * Copyright (c) 2017 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport './version.js';\nimport { css } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { addLumoGlobalStyles } from './global.js';\n\nconst style = css`\n :host {\n /* Border radius */\n --lumo-border-radius-s: 0.25em; /* Checkbox, badge, date-picker year indicator, etc */\n --lumo-border-radius-m: var(--lumo-border-radius, 0.25em); /* Button, text field, menu overlay, etc */\n --lumo-border-radius-l: 0.5em; /* Dialog, notification, etc */\n\n /* Shadow */\n --lumo-box-shadow-xs: 0 1px 4px -1px var(--lumo-shade-50pct);\n --lumo-box-shadow-s: 0 2px 4px -1px var(--lumo-shade-20pct), 0 3px 12px -1px var(--lumo-shade-30pct);\n --lumo-box-shadow-m: 0 2px 6px -1px var(--lumo-shade-20pct), 0 8px 24px -4px var(--lumo-shade-40pct);\n --lumo-box-shadow-l: 0 3px 18px -2px var(--lumo-shade-20pct), 0 12px 48px -6px var(--lumo-shade-40pct);\n --lumo-box-shadow-xl: 0 4px 24px -3px var(--lumo-shade-20pct), 0 18px 64px -8px var(--lumo-shade-40pct);\n\n /* Clickable element cursor */\n --lumo-clickable-cursor: default;\n }\n`;\n\n/**\n * Default values for component-specific custom properties.\n */\nconst globals = css`\n html {\n /* Button */\n --vaadin-button-background: var(--lumo-contrast-5pct);\n --vaadin-button-border: none;\n --vaadin-button-border-radius: var(--lumo-border-radius-m);\n --vaadin-button-font-size: var(--lumo-font-size-m);\n --vaadin-button-font-weight: 500;\n --vaadin-button-height: var(--lumo-size-m);\n --vaadin-button-margin: var(--lumo-space-xs) 0;\n --vaadin-button-min-width: calc(var(--vaadin-button-height) * 2);\n --vaadin-button-padding: 0 calc(var(--vaadin-button-height) / 3 + var(--lumo-border-radius-m) / 2);\n --vaadin-button-text-color: var(--lumo-primary-text-color);\n --vaadin-button-primary-background: var(--lumo-primary-color);\n --vaadin-button-primary-border: none;\n --vaadin-button-primary-font-weight: 600;\n --vaadin-button-primary-text-color: var(--lumo-primary-contrast-color);\n --vaadin-button-tertiary-background: transparent !important;\n --vaadin-button-tertiary-text-color: var(--lumo-primary-text-color);\n --vaadin-button-tertiary-font-weight: 500;\n --vaadin-button-tertiary-padding: 0 calc(var(--vaadin-button-height) / 6);\n /* Checkbox */\n --vaadin-checkbox-background: var(--lumo-contrast-20pct);\n --vaadin-checkbox-background-hover: var(--lumo-contrast-30pct);\n --vaadin-checkbox-border-radius: var(--lumo-border-radius-s);\n --vaadin-checkbox-checkmark-char: var(--lumo-icons-checkmark);\n --vaadin-checkbox-checkmark-char-indeterminate: '';\n --vaadin-checkbox-checkmark-color: var(--lumo-primary-contrast-color);\n --vaadin-checkbox-checkmark-size: calc(var(--vaadin-checkbox-size) + 2px);\n --vaadin-checkbox-label-color: var(--lumo-body-text-color);\n --vaadin-checkbox-label-font-size: var(--lumo-font-size-m);\n --vaadin-checkbox-label-padding: var(--lumo-space-xs) var(--lumo-space-s) var(--lumo-space-xs) var(--lumo-space-xs);\n --vaadin-checkbox-size: calc(var(--lumo-size-m) / 2);\n /* Radio button */\n --vaadin-radio-button-background: var(--lumo-contrast-20pct);\n --vaadin-radio-button-background-hover: var(--lumo-contrast-30pct);\n --vaadin-radio-button-dot-color: var(--lumo-primary-contrast-color);\n --vaadin-radio-button-dot-size: 3px;\n --vaadin-radio-button-label-color: var(--lumo-body-text-color);\n --vaadin-radio-button-label-font-size: var(--lumo-font-size-m);\n --vaadin-radio-button-label-padding: var(--lumo-space-xs) var(--lumo-space-s) var(--lumo-space-xs)\n var(--lumo-space-xs);\n --vaadin-radio-button-size: calc(var(--lumo-size-m) / 2);\n --vaadin-selection-color: var(--lumo-primary-color);\n --vaadin-selection-color-text: var(--lumo-primary-text-color);\n --vaadin-input-field-border-radius: var(--lumo-border-radius-m);\n --vaadin-focus-ring-color: var(--lumo-primary-color-50pct);\n --vaadin-focus-ring-width: 2px;\n /* Label */\n --vaadin-input-field-label-color: var(--lumo-secondary-text-color);\n --vaadin-input-field-focused-label-color: var(--lumo-primary-text-color);\n --vaadin-input-field-hovered-label-color: var(--lumo-body-text-color);\n --vaadin-input-field-label-font-size: var(--lumo-font-size-s);\n --vaadin-input-field-label-font-weight: 500;\n /* Helper */\n --vaadin-input-field-helper-color: var(--lumo-secondary-text-color);\n --vaadin-input-field-helper-font-size: var(--lumo-font-size-xs);\n --vaadin-input-field-helper-font-weight: 400;\n --vaadin-input-field-helper-spacing: 0.4em;\n /* Error message */\n --vaadin-input-field-error-color: var(--lumo-error-text-color);\n --vaadin-input-field-error-font-size: var(--lumo-font-size-xs);\n --vaadin-input-field-error-font-weight: 400;\n /* Input field */\n --vaadin-input-field-background: var(--lumo-contrast-10pct);\n --vaadin-input-field-icon-color: var(--lumo-contrast-60pct);\n --vaadin-input-field-icon-size: var(--lumo-icon-size-m);\n --vaadin-input-field-invalid-background: var(--lumo-error-color-10pct);\n --vaadin-input-field-invalid-hover-highlight: var(--lumo-error-color-50pct);\n --vaadin-input-field-height: var(--lumo-size-m);\n --vaadin-input-field-hover-highlight: var(--lumo-contrast-50pct);\n --vaadin-input-field-placeholder-color: var(--lumo-secondary-text-color);\n --vaadin-input-field-readonly-border: 1px dashed var(--lumo-contrast-30pct);\n --vaadin-input-field-value-color: var(--lumo-body-text-color);\n --vaadin-input-field-value-font-size: var(--lumo-font-size-m);\n --vaadin-input-field-value-font-weight: 400;\n }\n`;\n\naddLumoGlobalStyles('style-props', style);\n\nexport { globals, style };\n","/**\n * @license\n * Copyright (c) 2017 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport './version.js';\nimport { css } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { addLumoGlobalStyles } from './global.js';\n\nconst spacing = css`\n :host {\n /* Square */\n --lumo-space-xs: 0.25rem;\n --lumo-space-s: 0.5rem;\n --lumo-space-m: 1rem;\n --lumo-space-l: 1.5rem;\n --lumo-space-xl: 2.5rem;\n\n /* Wide */\n --lumo-space-wide-xs: calc(var(--lumo-space-xs) / 2) var(--lumo-space-xs);\n --lumo-space-wide-s: calc(var(--lumo-space-s) / 2) var(--lumo-space-s);\n --lumo-space-wide-m: calc(var(--lumo-space-m) / 2) var(--lumo-space-m);\n --lumo-space-wide-l: calc(var(--lumo-space-l) / 2) var(--lumo-space-l);\n --lumo-space-wide-xl: calc(var(--lumo-space-xl) / 2) var(--lumo-space-xl);\n\n /* Tall */\n --lumo-space-tall-xs: var(--lumo-space-xs) calc(var(--lumo-space-xs) / 2);\n --lumo-space-tall-s: var(--lumo-space-s) calc(var(--lumo-space-s) / 2);\n --lumo-space-tall-m: var(--lumo-space-m) calc(var(--lumo-space-m) / 2);\n --lumo-space-tall-l: var(--lumo-space-l) calc(var(--lumo-space-l) / 2);\n --lumo-space-tall-xl: var(--lumo-space-xl) calc(var(--lumo-space-xl) / 2);\n }\n`;\n\naddLumoGlobalStyles('spacing-props', spacing);\n\nexport { spacing };\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * Passes the component to the template renderer callback if the template renderer is imported.\n * Otherwise, if there is a template, it warns that the template renderer needs to be imported.\n *\n * @param {HTMLElement} component\n */\nexport function processTemplates(component) {\n if (window.Vaadin && window.Vaadin.templateRendererCallback) {\n window.Vaadin.templateRendererCallback(component);\n return;\n }\n\n if (component.querySelector('template')) {\n console.warn(\n `WARNING: <template> inside <${component.localName}> is no longer supported. Import @vaadin/polymer-legacy-adapter/template-renderer.js to enable compatibility.`,\n );\n }\n}\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridTextColumnClass } from './GridTextColumnClass';\n\nexport const componentName = getComponentName('grid-text-column');\n\ncustomElements.define(componentName, GridTextColumnClass);\n","/**\n * @license\n * Copyright (c) 2017 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport './version.js';\nimport { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { addLumoGlobalStyles } from './global.js';\n\nconst colorBase = css`\n :host {\n /* Base (background) */\n --lumo-base-color: #fff;\n\n /* Tint */\n --lumo-tint-5pct: hsla(0, 0%, 100%, 0.3);\n --lumo-tint-10pct: hsla(0, 0%, 100%, 0.37);\n --lumo-tint-20pct: hsla(0, 0%, 100%, 0.44);\n --lumo-tint-30pct: hsla(0, 0%, 100%, 0.5);\n --lumo-tint-40pct: hsla(0, 0%, 100%, 0.57);\n --lumo-tint-50pct: hsla(0, 0%, 100%, 0.64);\n --lumo-tint-60pct: hsla(0, 0%, 100%, 0.7);\n --lumo-tint-70pct: hsla(0, 0%, 100%, 0.77);\n --lumo-tint-80pct: hsla(0, 0%, 100%, 0.84);\n --lumo-tint-90pct: hsla(0, 0%, 100%, 0.9);\n --lumo-tint: #fff;\n\n /* Shade */\n --lumo-shade-5pct: hsla(214, 61%, 25%, 0.05);\n --lumo-shade-10pct: hsla(214, 57%, 24%, 0.1);\n --lumo-shade-20pct: hsla(214, 53%, 23%, 0.16);\n --lumo-shade-30pct: hsla(214, 50%, 22%, 0.26);\n --lumo-shade-40pct: hsla(214, 47%, 21%, 0.38);\n --lumo-shade-50pct: hsla(214, 45%, 20%, 0.52);\n --lumo-shade-60pct: hsla(214, 43%, 19%, 0.6);\n --lumo-shade-70pct: hsla(214, 42%, 18%, 0.69);\n --lumo-shade-80pct: hsla(214, 41%, 17%, 0.83);\n --lumo-shade-90pct: hsla(214, 40%, 16%, 0.94);\n --lumo-shade: hsl(214, 35%, 15%);\n\n /* Contrast */\n --lumo-contrast-5pct: var(--lumo-shade-5pct);\n --lumo-contrast-10pct: var(--lumo-shade-10pct);\n --lumo-contrast-20pct: var(--lumo-shade-20pct);\n --lumo-contrast-30pct: var(--lumo-shade-30pct);\n --lumo-contrast-40pct: var(--lumo-shade-40pct);\n --lumo-contrast-50pct: var(--lumo-shade-50pct);\n --lumo-contrast-60pct: var(--lumo-shade-60pct);\n --lumo-contrast-70pct: var(--lumo-shade-70pct);\n --lumo-contrast-80pct: var(--lumo-shade-80pct);\n --lumo-contrast-90pct: var(--lumo-shade-90pct);\n --lumo-contrast: var(--lumo-shade);\n\n /* Text */\n --lumo-header-text-color: var(--lumo-contrast);\n --lumo-body-text-color: var(--lumo-contrast-90pct);\n --lumo-secondary-text-color: var(--lumo-contrast-70pct);\n --lumo-tertiary-text-color: var(--lumo-contrast-50pct);\n --lumo-disabled-text-color: var(--lumo-contrast-30pct);\n\n /* Primary */\n --lumo-primary-color: hsl(214, 100%, 48%);\n --lumo-primary-color-50pct: hsla(214, 100%, 49%, 0.76);\n --lumo-primary-color-10pct: hsla(214, 100%, 60%, 0.13);\n --lumo-primary-text-color: hsl(214, 100%, 43%);\n --lumo-primary-contrast-color: #fff;\n\n /* Error */\n --lumo-error-color: hsl(3, 85%, 48%);\n --lumo-error-color-50pct: hsla(3, 85%, 49%, 0.5);\n --lumo-error-color-10pct: hsla(3, 85%, 49%, 0.1);\n --lumo-error-text-color: hsl(3, 89%, 42%);\n --lumo-error-contrast-color: #fff;\n\n /* Success */\n --lumo-success-color: hsl(145, 72%, 30%);\n --lumo-success-color-50pct: hsla(145, 72%, 31%, 0.5);\n --lumo-success-color-10pct: hsla(145, 72%, 31%, 0.1);\n --lumo-success-text-color: hsl(145, 85%, 25%);\n --lumo-success-contrast-color: #fff;\n\n /* Warning */\n --lumo-warning-color: hsl(48, 100%, 50%);\n --lumo-warning-color-10pct: hsla(48, 100%, 50%, 0.25);\n --lumo-warning-text-color: hsl(32, 100%, 30%);\n --lumo-warning-contrast-color: var(--lumo-shade-90pct);\n }\n\n /* forced-colors mode adjustments */\n @media (forced-colors: active) {\n html {\n --lumo-disabled-text-color: GrayText;\n }\n }\n`;\n\naddLumoGlobalStyles('color-props', colorBase);\n\nconst color = css`\n [theme~='dark'] {\n /* Base (background) */\n --lumo-base-color: hsl(214, 35%, 21%);\n\n /* Tint */\n --lumo-tint-5pct: hsla(214, 65%, 85%, 0.06);\n --lumo-tint-10pct: hsla(214, 60%, 80%, 0.14);\n --lumo-tint-20pct: hsla(214, 64%, 82%, 0.23);\n --lumo-tint-30pct: hsla(214, 69%, 84%, 0.32);\n --lumo-tint-40pct: hsla(214, 73%, 86%, 0.41);\n --lumo-tint-50pct: hsla(214, 78%, 88%, 0.5);\n --lumo-tint-60pct: hsla(214, 82%, 90%, 0.58);\n --lumo-tint-70pct: hsla(214, 87%, 92%, 0.69);\n --lumo-tint-80pct: hsla(214, 91%, 94%, 0.8);\n --lumo-tint-90pct: hsla(214, 96%, 96%, 0.9);\n --lumo-tint: hsl(214, 100%, 98%);\n\n /* Shade */\n --lumo-shade-5pct: hsla(214, 0%, 0%, 0.07);\n --lumo-shade-10pct: hsla(214, 4%, 2%, 0.15);\n --lumo-shade-20pct: hsla(214, 8%, 4%, 0.23);\n --lumo-shade-30pct: hsla(214, 12%, 6%, 0.32);\n --lumo-shade-40pct: hsla(214, 16%, 8%, 0.41);\n --lumo-shade-50pct: hsla(214, 20%, 10%, 0.5);\n --lumo-shade-60pct: hsla(214, 24%, 12%, 0.6);\n --lumo-shade-70pct: hsla(214, 28%, 13%, 0.7);\n --lumo-shade-80pct: hsla(214, 32%, 13%, 0.8);\n --lumo-shade-90pct: hsla(214, 33%, 13%, 0.9);\n --lumo-shade: hsl(214, 33%, 13%);\n\n /* Contrast */\n --lumo-contrast-5pct: var(--lumo-tint-5pct);\n --lumo-contrast-10pct: var(--lumo-tint-10pct);\n --lumo-contrast-20pct: var(--lumo-tint-20pct);\n --lumo-contrast-30pct: var(--lumo-tint-30pct);\n --lumo-contrast-40pct: var(--lumo-tint-40pct);\n --lumo-contrast-50pct: var(--lumo-tint-50pct);\n --lumo-contrast-60pct: var(--lumo-tint-60pct);\n --lumo-contrast-70pct: var(--lumo-tint-70pct);\n --lumo-contrast-80pct: var(--lumo-tint-80pct);\n --lumo-contrast-90pct: var(--lumo-tint-90pct);\n --lumo-contrast: var(--lumo-tint);\n\n /* Text */\n --lumo-header-text-color: var(--lumo-contrast);\n --lumo-body-text-color: var(--lumo-contrast-90pct);\n --lumo-secondary-text-color: var(--lumo-contrast-70pct);\n --lumo-tertiary-text-color: var(--lumo-contrast-50pct);\n --lumo-disabled-text-color: var(--lumo-contrast-30pct);\n\n /* Primary */\n --lumo-primary-color: hsl(214, 90%, 48%);\n --lumo-primary-color-50pct: hsla(214, 90%, 70%, 0.69);\n --lumo-primary-color-10pct: hsla(214, 90%, 55%, 0.13);\n --lumo-primary-text-color: hsl(214, 90%, 77%);\n --lumo-primary-contrast-color: #fff;\n\n /* Error */\n --lumo-error-color: hsl(3, 79%, 49%);\n --lumo-error-color-50pct: hsla(3, 75%, 62%, 0.5);\n --lumo-error-color-10pct: hsla(3, 75%, 62%, 0.14);\n --lumo-error-text-color: hsl(3, 100%, 80%);\n\n /* Success */\n --lumo-success-color: hsl(145, 72%, 30%);\n --lumo-success-color-50pct: hsla(145, 92%, 51%, 0.5);\n --lumo-success-color-10pct: hsla(145, 92%, 51%, 0.1);\n --lumo-success-text-color: hsl(145, 85%, 46%);\n\n /* Warning */\n --lumo-warning-color: hsl(43, 100%, 48%);\n --lumo-warning-color-10pct: hsla(40, 100%, 50%, 0.2);\n --lumo-warning-text-color: hsl(45, 100%, 60%);\n --lumo-warning-contrast-color: var(--lumo-shade-90pct);\n }\n\n html {\n color: var(--lumo-body-text-color);\n background-color: var(--lumo-base-color);\n color-scheme: light;\n }\n\n [theme~='dark'] {\n color: var(--lumo-body-text-color);\n background-color: var(--lumo-base-color);\n color-scheme: dark;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n color: var(--lumo-header-text-color);\n }\n\n a:where(:any-link) {\n color: var(--lumo-primary-text-color);\n }\n\n a:not(:any-link) {\n color: var(--lumo-disabled-text-color);\n }\n\n blockquote {\n color: var(--lumo-secondary-text-color);\n }\n\n code,\n pre {\n background-color: var(--lumo-contrast-10pct);\n border-radius: var(--lumo-border-radius-m);\n }\n`;\n\nregisterStyles('', color, { moduleId: 'lumo-color' });\n\nexport { colorBase, color };\n","/**\n * @license\n * Copyright (c) 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * Convenience method for reading a value from a path.\n *\n * @param {string} path\n * @param {object} object\n */\nexport function get(path, object) {\n return path.split('.').reduce((obj, property) => (obj ? obj[property] : undefined), object);\n}\n\n/**\n * Convenience method for setting a value to a path.\n *\n * @param {string} path\n * @param {unknown} value\n * @param {object} object\n */\nexport function set(path, value, object) {\n const pathParts = path.split('.');\n const lastPart = pathParts.pop();\n const target = pathParts.reduce((target, part) => target[part], object);\n target[lastPart] = value;\n}\n","import '@vaadin/vaadin-lumo-styles/color.js';\nimport '@vaadin/vaadin-lumo-styles/style.js';\nimport '@vaadin/vaadin-lumo-styles/spacing.js';\nimport { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\n\nregisterStyles(\n 'vaadin-grid-sorter',\n css`\n :host {\n justify-content: flex-start;\n align-items: baseline;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n cursor: var(--lumo-clickable-cursor);\n }\n\n [part='content'] {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n [part='indicators'] {\n margin-left: var(--lumo-space-s);\n }\n\n [part='indicators']::before {\n transform: scale(0.8);\n }\n\n :host(:not([direction]):not(:hover)) [part='indicators'] {\n color: var(--lumo-tertiary-text-color);\n }\n\n :host([direction]) {\n color: var(--vaadin-selection-color-text, var(--lumo-primary-text-color));\n }\n\n [part='order'] {\n font-size: var(--lumo-font-size-xxs);\n line-height: 1;\n }\n\n /* RTL specific styles */\n\n :host([dir='rtl']) [part='indicators'] {\n margin-right: var(--lumo-space-s);\n margin-left: 0;\n }\n `,\n { moduleId: 'lumo-grid-sorter' },\n);\n","/**\n * @license\n * Copyright (c) 2016 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\n\nconst template = document.createElement('template');\n\ntemplate.innerHTML = `\n <style nonce=${window.DESCOPE_NONCE}>\n @font-face {\n font-family: 'vaadin-grid-sorter-icons';\n src: url('` + __webpack_public_path__ + `fonts/font-1364590020.woff');\n font-weight: normal;\n font-style: normal;\n }\n </style>\n`;\n\ndocument.head.appendChild(template.content);\n\nregisterStyles(\n 'vaadin-grid-sorter',\n css`\n :host {\n display: inline-flex;\n cursor: pointer;\n max-width: 100%;\n }\n\n [part='content'] {\n flex: 1 1 auto;\n }\n\n [part='indicators'] {\n position: relative;\n align-self: center;\n flex: none;\n }\n\n [part='order'] {\n display: inline;\n vertical-align: super;\n }\n\n [part='indicators']::before {\n font-family: 'vaadin-grid-sorter-icons';\n display: inline-block;\n }\n\n :host(:not([direction])) [part='indicators']::before {\n content: '\\\\e901';\n }\n\n :host([direction='asc']) [part='indicators']::before {\n content: '\\\\e900';\n }\n\n :host([direction='desc']) [part='indicators']::before {\n content: '\\\\e902';\n }\n `,\n { moduleId: 'vaadin-grid-sorter-styles' },\n);\n\n/**\n * A mixin providing common sorter functionality.\n *\n * @polymerMixin\n */\nexport const GridSorterMixin = (superClass) =>\n class GridSorterMixinClass extends superClass {\n static get properties() {\n return {\n /**\n * JS Path of the property in the item used for sorting the data.\n */\n path: String,\n\n /**\n * How to sort the data.\n * Possible values are `asc` to use an ascending algorithm, `desc` to sort the data in\n * descending direction, or `null` for not sorting the data.\n * @type {GridSorterDirection | undefined}\n */\n direction: {\n type: String,\n reflectToAttribute: true,\n notify: true,\n value: null,\n sync: true,\n },\n\n /**\n * @type {number | null}\n * @protected\n */\n _order: {\n type: Number,\n value: null,\n sync: true,\n },\n\n /** @private */\n _isConnected: {\n type: Boolean,\n observer: '__isConnectedChanged',\n },\n };\n }\n\n static get observers() {\n return ['_pathOrDirectionChanged(path, direction)'];\n }\n\n /** @protected */\n ready() {\n super.ready();\n this.addEventListener('click', this._onClick.bind(this));\n }\n\n /** @protected */\n connectedCallback() {\n super.connectedCallback();\n this._isConnected = true;\n }\n\n /** @protected */\n disconnectedCallback() {\n super.disconnectedCallback();\n this._isConnected = false;\n\n if (!this.parentNode && this._grid) {\n this._grid.__removeSorters([this]);\n }\n }\n\n /** @private */\n _pathOrDirectionChanged() {\n this.__dispatchSorterChangedEvenIfPossible();\n }\n\n /** @private */\n __isConnectedChanged(newValue, oldValue) {\n if (oldValue === false) {\n return;\n }\n\n this.__dispatchSorterChangedEvenIfPossible();\n }\n\n /** @private */\n __dispatchSorterChangedEvenIfPossible() {\n if (this.path === undefined || this.direction === undefined || !this._isConnected) {\n return;\n }\n\n this.dispatchEvent(\n new CustomEvent('sorter-changed', {\n detail: { shiftClick: Boolean(this._shiftClick), fromSorterClick: Boolean(this._fromSorterClick) },\n bubbles: true,\n composed: true,\n }),\n );\n // Cleaning up as a programatically sorting can be done after some user interaction\n this._fromSorterClick = false;\n this._shiftClick = false;\n }\n\n /** @private */\n _getDisplayOrder(order) {\n return order === null ? '' : order + 1;\n }\n\n /** @private */\n _onClick(e) {\n if (e.defaultPrevented) {\n // Something else has already handled the click event, do nothing.\n return;\n }\n\n const activeElement = this.getRootNode().activeElement;\n if (this !== activeElement && this.contains(activeElement)) {\n // Some focusable content inside the sorter was clicked, do nothing.\n return;\n }\n\n e.preventDefault();\n this._shiftClick = e.shiftKey;\n this._fromSorterClick = true;\n if (this.direction === 'asc') {\n this.direction = 'desc';\n } else if (this.direction === 'desc') {\n this.direction = null;\n } else {\n this.direction = 'asc';\n }\n }\n };\n","/**\n * @license\n * Copyright (c) 2016 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { html, PolymerElement } from '@polymer/polymer/polymer-element.js';\nimport { defineCustomElement } from '@vaadin/component-base/src/define.js';\nimport { DirMixin } from '@vaadin/component-base/src/dir-mixin.js';\nimport { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { GridSorterMixin } from './vaadin-grid-sorter-mixin.js';\n\n/**\n * `<vaadin-grid-sorter>` is a helper element for the `<vaadin-grid>` that provides out-of-the-box UI controls,\n * visual feedback, and handlers for sorting the grid data.\n *\n * #### Example:\n * ```html\n * <vaadin-grid-column id=\"column\"></vaadin-grid-column>\n * ```\n * ```js\n * const column = document.querySelector('#column');\n * column.renderer = (root, column, model) => {\n * let sorter = root.firstElementChild;\n * if (!sorter) {\n * sorter = document.createElement('vaadin-grid-sorter');\n * root.appendChild(sorter);\n * }\n * sorter.path = 'name.first';\n * };\n * ```\n *\n * ### Styling\n *\n * The following shadow DOM parts are available for styling:\n *\n * Part name | Description\n * ----------------|----------------\n * `content` | The slotted content wrapper\n * `indicators` | The internal sorter indicators.\n * `order` | The internal sorter order\n *\n * The following state attributes are available for styling:\n *\n * Attribute | Description | Part name\n * -------------|-------------|------------\n * `direction` | Sort direction of a sorter | :host\n *\n * @fires {CustomEvent} direction-changed - Fired when the `direction` property changes.\n * @fires {CustomEvent} sorter-changed - Fired when the `path` or `direction` property changes.\n *\n * @customElement\n * @extends HTMLElement\n * @mixes GridSorterMixin\n * @mixes ThemableMixin\n * @mixes DirMixin\n */\nclass GridSorter extends GridSorterMixin(ThemableMixin(DirMixin(PolymerElement))) {\n static get template() {\n return html`\n <div part=\"content\">\n <slot></slot>\n </div>\n <div part=\"indicators\">\n <span part=\"order\">[[_getDisplayOrder(_order)]]</span>\n </div>\n `;\n }\n\n static get is() {\n return 'vaadin-grid-sorter';\n }\n}\n\ndefineCustomElement(GridSorter);\n\nexport { GridSorter };\n","/**\n * @license\n * Copyright (c) 2016 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * @polymerMixin\n */\nexport const GridSortColumnMixin = (superClass) =>\n class extends superClass {\n static get properties() {\n return {\n /**\n * JS Path of the property in the item used for sorting the data.\n */\n path: {\n type: String,\n sync: true,\n },\n\n /**\n * How to sort the data.\n * Possible values are `asc` to use an ascending algorithm, `desc` to sort the data in\n * descending direction, or `null` for not sorting the data.\n * @type {GridSorterDirection | undefined}\n */\n direction: {\n type: String,\n notify: true,\n sync: true,\n },\n };\n }\n\n static get observers() {\n return ['_onHeaderRendererOrBindingChanged(_headerRenderer, _headerCell, path, header, direction)'];\n }\n\n constructor() {\n super();\n\n this.__boundOnDirectionChanged = this.__onDirectionChanged.bind(this);\n }\n\n /**\n * Renders the grid sorter to the header cell.\n *\n * @override\n */\n _defaultHeaderRenderer(root, _column) {\n let sorter = root.firstElementChild;\n if (!sorter) {\n sorter = document.createElement('vaadin-grid-sorter');\n sorter.addEventListener('direction-changed', this.__boundOnDirectionChanged);\n root.appendChild(sorter);\n }\n\n sorter.path = this.path;\n sorter.__rendererDirection = this.direction;\n sorter.direction = this.direction;\n sorter.textContent = this.__getHeader(this.header, this.path);\n }\n\n /**\n * The sort column doesn't allow to use a custom header renderer\n * to override the header cell content.\n * It always renders the grid sorter to the header cell.\n *\n * @override\n */\n _computeHeaderRenderer() {\n return this._defaultHeaderRenderer;\n }\n\n /**\n * Updates the sorting direction once the grid sorter's direction is changed.\n * The listener handles only user-fired events.\n *\n * @private\n */\n __onDirectionChanged(e) {\n // Skip if the direction is changed by the renderer.\n if (e.detail.value === e.target.__rendererDirection) {\n return;\n }\n\n this.direction = e.detail.value;\n }\n\n /** @private */\n __getHeader(header, path) {\n if (header) {\n return header;\n }\n\n if (path) {\n return this._generateHeader(path);\n }\n }\n };\n","/**\n * @license\n * Copyright (c) 2016 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport './vaadin-grid-sorter.js';\nimport { defineCustomElement } from '@vaadin/component-base/src/define.js';\nimport { GridColumn } from './vaadin-grid-column.js';\nimport { GridSortColumnMixin } from './vaadin-grid-sort-column-mixin.js';\n\n/**\n * `<vaadin-grid-sort-column>` is a helper element for the `<vaadin-grid>`\n * that provides default header renderer and functionality for sorting.\n *\n * #### Example:\n * ```html\n * <vaadin-grid items=\"[[items]]\">\n * <vaadin-grid-sort-column path=\"name.first\" direction=\"asc\"></vaadin-grid-sort-column>\n *\n * <vaadin-grid-column>\n * ...\n * ```\n *\n * @fires {CustomEvent} direction-changed - Fired when the `direction` property changes.\n *\n * @customElement\n * @extends GridColumn\n * @mixes GridSortColumnMixin\n */\nclass GridSortColumn extends GridSortColumnMixin(GridColumn) {\n static get is() {\n return 'vaadin-grid-sort-column';\n }\n}\n\ndefineCustomElement(GridSortColumn);\n\nexport { GridSortColumn };\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","getAncestorRootNodes","node","result","nodeType","Node","DOCUMENT_NODE","push","DOCUMENT_FRAGMENT_NODE","assignedSlot","parentNode","host","getFlattenedElements","elements","localName","assignedElements","children","forEach","elem","getClosestElement","selector","closest","getRootNode","deserializeAttributeValue","value","Set","split","serializeAttributeValue","values","addValueToAttribute","element","attr","add","setAttribute","removeValueFromAttribute","delete","size","removeAttribute","isEmptyTextNode","TEXT_NODE","textContent","trim","style","spacing","processTemplates","component","window","Vaadin","templateRendererCallback","querySelector","console","warn","componentName","customElements","define","colorBase","color","moduleId","get","object","reduce","obj","property","undefined","set","pathParts","lastPart","pop","target","part","template","document","createElement","innerHTML","DESCOPE_NONCE","head","appendChild","GridSorterMixin","superClass","properties","String","direction","type","reflectToAttribute","notify","sync","_order","Number","_isConnected","Boolean","observer","observers","ready","addEventListener","_onClick","bind","connectedCallback","disconnectedCallback","_grid","__removeSorters","_pathOrDirectionChanged","__dispatchSorterChangedEvenIfPossible","__isConnectedChanged","newValue","oldValue","dispatchEvent","CustomEvent","detail","shiftClick","_shiftClick","fromSorterClick","_fromSorterClick","bubbles","composed","_getDisplayOrder","order","e","defaultPrevented","activeElement","contains","preventDefault","shiftKey","GridSorter","is","GridSortColumnMixin","constructor","__boundOnDirectionChanged","__onDirectionChanged","sorter","firstElementChild","__rendererDirection","_computeHeaderRenderer","_generateHeader","GridSortColumn"],"sourceRoot":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*! For license information please see descope-outbound-app-button.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[1202,5087,6724,8634],{8512:(t,e,o)=>{o.d(e,{T:()=>l,q:()=>h});var r=o(88961),n=o(72270),i=o(63200),a=o(25964),s=o(18782);const l=(0,a.xE)("image"),c=["src","src-dark"];class d extends((0,n.qu)({componentName:l,baseSelector:"slot"})){static get observedAttributes(){return c}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n\t\t<slot></slot>\n\t",(0,a.fz)("\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n :host > slot {\n width: 100%;\n height: 100%;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tdisplay: flex;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\n ::slotted(*) {\n width: 100%;\n\t\t\t}\n\n .hidden {\n display: none;\n }\n ",this)}init(){super.init?.(),this.toggleVisibility(this.getSrc)}onThemeChange(){this.renderImage()}toggleVisibility(t){t?this.classList.remove("hidden"):this.classList.add("hidden")}get altText(){return this.getAttribute("alt")||""}get legacySrc(){return this.getAttribute("src")}get themeSrc(){return this.getAttribute(`src-${this.currentThemeName}`)}get getSrc(){return this.themeSrc||this.legacySrc}updateFillColor(t){[t,...t.querySelectorAll("*[fill]")].forEach(t=>{t.setAttribute("fill",`var(${h.cssVarList.fill}, ${t.getAttribute("fill")||"''"})`)})}renderImage(){this.toggleVisibility(this.getSrc),(0,s.m)(this.getSrc,this.altText).then(t=>{this.innerHTML="",t&&(this.updateFillColor(t),this.appendChild(t))})}shouldRender(t){const e=this.getAttribute(t);return this.getSrc===e}attributeChangedCallback(t,e,o){super.attributeChangedCallback?.(t,e,o),e!==o&&this.shouldRender(t)&&this.renderImage()}}const h=(0,i.Zz)((0,r.RF)({mappings:{fill:{},height:{selector:()=>":host"},width:{selector:()=>":host"}}}),r.VO,r.tQ)(d)},10767:(t,e,o)=>{o.d(e,{G:()=>r});const r=t=>class extends t{get isLoading(){return"true"===this.getAttribute("loading")}click(){this.isLoading||super.click()}}},18782:(t,e,o)=>{o.d(e,{m:()=>i});var r=o(25414);const n=t=>{const e=r.A.sanitize(t,{USE_PROFILES:{svg:!0,svgFilters:!0},ADD_TAGS:["image"],FORBID_TAGS:["defs"]});return(new DOMParser).parseFromString(e,"image/svg+xml").querySelector("svg")},i=async(t,e)=>{try{let o;if((t=>t.startsWith("data:image/svg+xml;base64,"))(t)){const e=atob(t.slice(26));o=n(e)}else if("svg"===(t=>{const e=t.match(/\.([0-9a-z]+)(?:[\\?#]|$)/i);return e?e[1]:null})(t)){const e=await fetch(t),r=await e.text();o=n(r)}else o=((t,e)=>{const o=document.createElement("img");return o.setAttribute("src",t),o.setAttribute("alt",e),o})(t,e);return o.style.setProperty("max-width","100%"),o.style.setProperty("max-height","100%"),o}catch{return null}}},19624:(t,e,o)=>{o.d(e,{J:()=>p,T:()=>l});var r=o(63200),n=o(25964),i=o(88961),a=o(98538),s=o(10767);const l=(0,n.xE)("button"),{host:c,label:d,slottedIcon:h}={host:{selector:()=>":host"},label:{selector:"::part(label)"},slottedIcon:{selector:()=>"::slotted(descope-icon)"}};let u;const p=(0,r.Zz)((0,i.RF)({mappings:{hostWidth:{property:"width"},hostHeight:{property:"height"},hostDirection:{...c,property:"direction"},fontSize:{},fontFamily:{},cursor:{},backgroundColor:{},outlineOffset:{},outlineColor:{},outlineStyle:{},outlineWidth:{},borderRadius:{},borderColor:{},borderStyle:{},borderWidth:{},verticalPadding:[{property:"padding-top"},{property:"padding-bottom"}],horizontalPadding:[{property:"padding-right",fallback:"0.875em"},{property:"padding-left",fallback:"0.875em"}],labelTextColor:{property:"color"},iconColor:{selector:()=>"::slotted(*)",property:a.S.cssVarList.fill},labelTextDecoration:{...d,property:"text-decoration"},labelSpacing:{...d,property:"gap"},textAlign:{...d,property:"justify-content",fallback:"center"},iconSize:[{...h,property:"width"},{...h,property:"height"}]}}),s.G,i.VO,i.tQ)((0,i.tz)({slots:["","prefix","label","suffix"],wrappedEleName:"vaadin-button",style:()=>`\n\t\t\t\n\t:host {\n\t\tdisplay: inline-block;\n\t\tbox-sizing: border-box;\n\t}\n\tvaadin-button::before,\n\tvaadin-button::after {\n\t\topacity: 0;\n\t}\n\tvaadin-button {\n\t\tmargin: 0;\n\t\tmin-width: 0;\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tbox-shadow: none;\n\t}\n\tvaadin-button::part(label) {\n\t\tpadding: 0;\n width: 100%;\n\t}\n\tvaadin-button::part(prefix) {\n\t\tmargin-left: 0;\n\t\tmargin-right: 0;\n\t}\n\n\t\t\t\n\tvaadin-button::part(prefix),\n\tvaadin-button::part(label) {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t}\n\n\t\t\t${u}\n\t\t\tvaadin-button::part(label) { pointer-events: none; }\n\t\t\t:host {\n\t\t\t\tpadding: calc(var(${p.cssVarList.outlineWidth}) + var(${p.cssVarList.outlineOffset}));\n\t\t\t}\n :host([full-width="true"]) {\n width: var(${p.cssVarList.hostWidth});\n }\n\t\t\tvaadin-button {\n\t\t\t\theight: calc(var(${p.cssVarList.hostHeight}) - var(${p.cssVarList.outlineWidth}) - var(${p.cssVarList.outlineOffset}));\n\t\t\t}\n\t\t\t[square="true"]:not([full-width="true"]) {\n\t\t\t\twidth: calc(var(${p.cssVarList.hostWidth}) - var(${p.cssVarList.outlineWidth}) - var(${p.cssVarList.outlineOffset}));\n padding: 0;\n\t\t\t}\n\t\t`,excludeAttrsSync:["tabindex","class","style"],componentName:l})),{color:m,fontSize:b}=p.cssVarList;u=`\n\t@keyframes spin {\n\t\t0% { -webkit-transform: rotate(0deg); }\n\t\t100% { -webkit-transform: rotate(360deg); }\n\t}\n\t:host([loading="true"]) ::before {\n\t\tanimation: spin 2s linear infinite;\n\t\tposition: absolute;\n\t\tcontent: '';\n\t\tz-index: 1;\n\t\tbox-sizing: border-box;\n\t\tborder-radius: 50%;\n\t\tborder-bottom-color: transparent;\n\t\tborder-left-color: transparent;\n\t\tborder-style: solid;\n\t\tcolor: var(${m});\n\t\ttop: calc(50% - (var(${b}) / 2));\n\t\tleft: calc(50% - (var(${b}) / 2));\n\t\tborder-width: calc(var(${b}) / 10);\n\t\twidth: var(${b});\n\t\theight: var(${b});\n\t}\n\t:host([disabled="true"]),\n\t:host([loading="true"]) {\n\t\tpointer-events: none;\n\t}\n\t:host([loading="true"]) ::part(prefix),\n\t:host([loading="true"]) ::part(label) {\n\t\tvisibility: hidden;\n\t}\n`},30576:(t,e,o)=>{o.r(e),o.d(e,{ButtonClass:()=>r.J,componentName:()=>r.T});var r=o(19624);o(83799),customElements.define(r.T,r.J)},53455:(t,e,o)=>{o.r(e),o.d(e,{ImageClass:()=>r.q,componentName:()=>r.T});var r=o(8512);customElements.define(r.T,r.q)},56737:(t,e,o)=>{o.r(e),o.d(e,{IconClass:()=>r.S,componentName:()=>r.T}),o(53455);var r=o(98538);customElements.define(r.T,r.S)},81422:(t,e,o)=>{o.r(e),o.d(e,{OutboundAppButtonClass:()=>d,componentName:()=>l});var r=o(88961),n=o(25964),i=o(63200),a=o(72270),s=o(19624);const l=(0,n.xE)("outbound-app-button");class c extends((0,a.qu)({componentName:l,baseSelector:":host > descope-button"})){static get observedAttributes(){return["label","icon-src","icon-fill-current-color"]}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <descope-button>\n <descope-icon class="icon"></descope-icon>\n <span class="label"></span>\n </descope-button>\n ',(0,n.fz)("\n :host {\n display: inline-block;\n }\n .hidden {\n display: none;\n }\n ",this),this.button=this.shadowRoot.querySelector("descope-button"),this.icon=this.shadowRoot.querySelector(".icon"),this.label=this.shadowRoot.querySelector(".label")}init(){super.init?.(),(0,n.EA)(this,this.button,{excludeAttrs:["style","class","label","icon-src","icon-fill-current-color"]})}updateLabel(t=""){this.label.textContent=t,this.label.classList.toggle("hidden",!t)}updateIcon(t=""){this.icon.setAttribute("src",t),this.icon.classList.toggle("hidden",!t)}attributeChangedCallback(t,e,o){super.attributeChangedCallback?.(t,e,o),e!==o&&("label"===t?this.updateLabel(o):"icon-src"===t&&this.updateIcon(o))}}const d=(0,i.Zz)((0,r.RF)({mappings:{hostWidth:{selector:()=>":host",property:"width"},iconFillCurrentColor:{selector:()=>"descope-icon",property:s.J.cssVarList.iconColor}}}),r.VO,r.tQ)(c);o(30576),o(56737),customElements.define(l,d)},83799:(t,e,o)=>{o(93555),o(89389)},89389:(t,e,o)=>{o.d(e,{$:()=>m});var r=o(13256),n=o(55774),i=o(82901),a=o(
|
|
2
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[1202,5087,6724,8634],{8512:(t,e,o)=>{o.d(e,{T:()=>l,q:()=>h});var r=o(88961),n=o(72270),i=o(63200),a=o(25964),s=o(18782);const l=(0,a.xE)("image"),c=["src","src-dark"];class d extends((0,n.qu)({componentName:l,baseSelector:"slot"})){static get observedAttributes(){return c}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n\t\t<slot></slot>\n\t",(0,a.fz)("\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n :host > slot {\n width: 100%;\n height: 100%;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tdisplay: flex;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\n ::slotted(*) {\n width: 100%;\n\t\t\t}\n\n .hidden {\n display: none;\n }\n ",this)}init(){super.init?.(),this.toggleVisibility(this.getSrc)}onThemeChange(){this.renderImage()}toggleVisibility(t){t?this.classList.remove("hidden"):this.classList.add("hidden")}get altText(){return this.getAttribute("alt")||""}get legacySrc(){return this.getAttribute("src")}get themeSrc(){return this.getAttribute(`src-${this.currentThemeName}`)}get getSrc(){return this.themeSrc||this.legacySrc}updateFillColor(t){[t,...t.querySelectorAll("*[fill]")].forEach(t=>{t.setAttribute("fill",`var(${h.cssVarList.fill}, ${t.getAttribute("fill")||"''"})`)})}renderImage(){this.toggleVisibility(this.getSrc),(0,s.m)(this.getSrc,this.altText).then(t=>{this.innerHTML="",t&&(this.updateFillColor(t),this.appendChild(t))})}shouldRender(t){const e=this.getAttribute(t);return this.getSrc===e}attributeChangedCallback(t,e,o){super.attributeChangedCallback?.(t,e,o),e!==o&&this.shouldRender(t)&&this.renderImage()}}const h=(0,i.Zz)((0,r.RF)({mappings:{fill:{},height:{selector:()=>":host"},width:{selector:()=>":host"}}}),r.VO,r.tQ)(d)},10767:(t,e,o)=>{o.d(e,{G:()=>r});const r=t=>class extends t{get isLoading(){return"true"===this.getAttribute("loading")}click(){this.isLoading||super.click()}}},18782:(t,e,o)=>{o.d(e,{m:()=>i});var r=o(25414);const n=t=>{const e=r.A.sanitize(t,{USE_PROFILES:{svg:!0,svgFilters:!0},ADD_TAGS:["image"],FORBID_TAGS:["defs"]});return(new DOMParser).parseFromString(e,"image/svg+xml").querySelector("svg")},i=async(t,e)=>{try{let o;if((t=>t.startsWith("data:image/svg+xml;base64,"))(t)){const e=atob(t.slice(26));o=n(e)}else if("svg"===(t=>{const e=t.match(/\.([0-9a-z]+)(?:[\\?#]|$)/i);return e?e[1]:null})(t)){const e=await fetch(t),r=await e.text();o=n(r)}else o=((t,e)=>{const o=document.createElement("img");return o.setAttribute("src",t),o.setAttribute("alt",e),o})(t,e);return o.style.setProperty("max-width","100%"),o.style.setProperty("max-height","100%"),o}catch{return null}}},19624:(t,e,o)=>{o.d(e,{J:()=>p,T:()=>l});var r=o(63200),n=o(25964),i=o(88961),a=o(98538),s=o(10767);const l=(0,n.xE)("button"),{host:c,label:d,slottedIcon:h}={host:{selector:()=>":host"},label:{selector:"::part(label)"},slottedIcon:{selector:()=>"::slotted(descope-icon)"}};let u;const p=(0,r.Zz)((0,i.RF)({mappings:{hostWidth:{property:"width"},hostHeight:{property:"height"},hostDirection:{...c,property:"direction"},fontSize:{},fontFamily:{},cursor:{},backgroundColor:{},outlineOffset:{},outlineColor:{},outlineStyle:{},outlineWidth:{},borderRadius:{},borderColor:{},borderStyle:{},borderWidth:{},verticalPadding:[{property:"padding-top"},{property:"padding-bottom"}],horizontalPadding:[{property:"padding-right",fallback:"0.875em"},{property:"padding-left",fallback:"0.875em"}],labelTextColor:{property:"color"},iconColor:{selector:()=>"::slotted(*)",property:a.S.cssVarList.fill},labelTextDecoration:{...d,property:"text-decoration"},labelSpacing:{...d,property:"gap"},textAlign:{...d,property:"justify-content",fallback:"center"},iconSize:[{...h,property:"width"},{...h,property:"height"}]}}),s.G,i.VO,i.tQ)((0,i.tz)({slots:["","prefix","label","suffix"],wrappedEleName:"vaadin-button",style:()=>`\n\t\t\t\n\t:host {\n\t\tdisplay: inline-block;\n\t\tbox-sizing: border-box;\n\t}\n\tvaadin-button::before,\n\tvaadin-button::after {\n\t\topacity: 0;\n\t}\n\tvaadin-button {\n\t\tmargin: 0;\n\t\tmin-width: 0;\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tbox-shadow: none;\n\t}\n\tvaadin-button::part(label) {\n\t\tpadding: 0;\n width: 100%;\n\t}\n\tvaadin-button::part(prefix) {\n\t\tmargin-left: 0;\n\t\tmargin-right: 0;\n\t}\n\n\t\t\t\n\tvaadin-button::part(prefix),\n\tvaadin-button::part(label) {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t}\n\n\t\t\t${u}\n\t\t\tvaadin-button::part(label) { pointer-events: none; }\n\t\t\t:host {\n\t\t\t\tpadding: calc(var(${p.cssVarList.outlineWidth}) + var(${p.cssVarList.outlineOffset}));\n\t\t\t}\n :host([full-width="true"]) {\n width: var(${p.cssVarList.hostWidth});\n }\n\t\t\tvaadin-button {\n\t\t\t\theight: calc(var(${p.cssVarList.hostHeight}) - var(${p.cssVarList.outlineWidth}) - var(${p.cssVarList.outlineOffset}));\n\t\t\t}\n\t\t\t[square="true"]:not([full-width="true"]) {\n\t\t\t\twidth: calc(var(${p.cssVarList.hostWidth}) - var(${p.cssVarList.outlineWidth}) - var(${p.cssVarList.outlineOffset}));\n padding: 0;\n\t\t\t}\n\t\t`,excludeAttrsSync:["tabindex","class","style"],componentName:l})),{color:m,fontSize:b}=p.cssVarList;u=`\n\t@keyframes spin {\n\t\t0% { -webkit-transform: rotate(0deg); }\n\t\t100% { -webkit-transform: rotate(360deg); }\n\t}\n\t:host([loading="true"]) ::before {\n\t\tanimation: spin 2s linear infinite;\n\t\tposition: absolute;\n\t\tcontent: '';\n\t\tz-index: 1;\n\t\tbox-sizing: border-box;\n\t\tborder-radius: 50%;\n\t\tborder-bottom-color: transparent;\n\t\tborder-left-color: transparent;\n\t\tborder-style: solid;\n\t\tcolor: var(${m});\n\t\ttop: calc(50% - (var(${b}) / 2));\n\t\tleft: calc(50% - (var(${b}) / 2));\n\t\tborder-width: calc(var(${b}) / 10);\n\t\twidth: var(${b});\n\t\theight: var(${b});\n\t}\n\t:host([disabled="true"]),\n\t:host([loading="true"]) {\n\t\tpointer-events: none;\n\t}\n\t:host([loading="true"]) ::part(prefix),\n\t:host([loading="true"]) ::part(label) {\n\t\tvisibility: hidden;\n\t}\n`},30576:(t,e,o)=>{o.r(e),o.d(e,{ButtonClass:()=>r.J,componentName:()=>r.T});var r=o(19624);o(83799),customElements.define(r.T,r.J)},53455:(t,e,o)=>{o.r(e),o.d(e,{ImageClass:()=>r.q,componentName:()=>r.T});var r=o(8512);customElements.define(r.T,r.q)},56737:(t,e,o)=>{o.r(e),o.d(e,{IconClass:()=>r.S,componentName:()=>r.T}),o(53455);var r=o(98538);customElements.define(r.T,r.S)},81422:(t,e,o)=>{o.r(e),o.d(e,{OutboundAppButtonClass:()=>d,componentName:()=>l});var r=o(88961),n=o(25964),i=o(63200),a=o(72270),s=o(19624);const l=(0,n.xE)("outbound-app-button");class c extends((0,a.qu)({componentName:l,baseSelector:":host > descope-button"})){static get observedAttributes(){return["label","icon-src","icon-fill-current-color"]}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <descope-button>\n <descope-icon class="icon"></descope-icon>\n <span class="label"></span>\n </descope-button>\n ',(0,n.fz)("\n :host {\n display: inline-block;\n }\n .hidden {\n display: none;\n }\n ",this),this.button=this.shadowRoot.querySelector("descope-button"),this.icon=this.shadowRoot.querySelector(".icon"),this.label=this.shadowRoot.querySelector(".label")}init(){super.init?.(),(0,n.EA)(this,this.button,{excludeAttrs:["style","class","label","icon-src","icon-fill-current-color"]})}updateLabel(t=""){this.label.textContent=t,this.label.classList.toggle("hidden",!t)}updateIcon(t=""){this.icon.setAttribute("src",t),this.icon.classList.toggle("hidden",!t)}attributeChangedCallback(t,e,o){super.attributeChangedCallback?.(t,e,o),e!==o&&("label"===t?this.updateLabel(o):"icon-src"===t&&this.updateIcon(o))}}const d=(0,i.Zz)((0,r.RF)({mappings:{hostWidth:{selector:()=>":host",property:"width"},iconFillCurrentColor:{selector:()=>"descope-icon",property:s.J.cssVarList.iconColor}}}),r.VO,r.tQ)(c);o(30576),o(56737),customElements.define(l,d)},83799:(t,e,o)=>{o(93555),o(89389)},89389:(t,e,o)=>{o.d(e,{$:()=>m});var r=o(13256),n=o(55774),i=o(82901),a=o(72562),s=o(81488),l=o(87550);const c=o(51450).AH`
|
|
3
3
|
:host {
|
|
4
4
|
display: inline-block;
|
|
5
5
|
position: relative;
|