@carbon/web-components 2.42.0 → 2.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +1225 -97
- package/dist/accordion.min.js +1 -1
- package/dist/code-snippet.min.js +7 -7
- package/dist/{collection-helpers-_CvqQaiX.js → collection-helpers-C5emLOnk.js} +1 -1
- package/dist/combo-box.min.js +5 -5
- package/dist/{content-switcher-item-VHI7iTTP.js → content-switcher-item-3fTDI2Aq.js} +1 -1
- package/dist/content-switcher.min.js +1 -1
- package/dist/data-table.min.js +1 -1
- package/dist/date-picker.min.js +1 -1
- package/dist/{dropdown-item-Pt_eWt66.js → dropdown-item-BO7AhHPd.js} +25 -25
- package/dist/dropdown.min.js +1 -1
- package/dist/file-uploader.min.js +1 -1
- package/dist/fluid-search.min.js +33 -0
- package/dist/fluid-select.min.js +30 -0
- package/dist/fluid-textarea.min.js +36 -0
- package/dist/icon-indicator.min.js +1 -1
- package/dist/inline-loading.min.js +1 -1
- package/dist/list.min.js +1 -1
- package/dist/loading.min.js +1 -1
- package/dist/menu.min.js +1 -1
- package/dist/modal.min.js +5 -5
- package/dist/multi-select.min.js +1 -1
- package/dist/overflow-menu.min.js +1 -1
- package/dist/pagination.min.js +1 -1
- package/dist/progress-indicator.min.js +1 -1
- package/dist/radio-button.min.js +10 -8
- package/dist/{search-BrKCrPl3.js → search-DhwzN9sI.js} +2 -1
- package/dist/search.min.js +4 -4
- package/dist/select-BIi12O8B.js +108 -0
- package/dist/select-item-Be7OL9mD.js +28 -0
- package/dist/select-skeleton-8uIIQzNt.js +31 -0
- package/dist/select.min.js +1 -4
- package/dist/structured-list.min.js +1 -1
- package/dist/tabs.min.js +1 -1
- package/dist/textarea.min.js +23 -15
- package/dist/time-picker.min.js +20 -20
- package/dist/ui-shell.min.js +2 -2
- package/es/components/combo-box/combo-box.d.ts +9 -2
- package/es/components/combo-box/combo-box.js +63 -6
- package/es/components/combo-box/combo-box.js.map +1 -1
- package/es/components/combo-box/combo-box.scss.js +1 -1
- package/es/components/data-table/data-table.scss.js +1 -1
- package/es/components/dropdown/dropdown.d.ts +8 -0
- package/es/components/dropdown/dropdown.js +29 -11
- package/es/components/dropdown/dropdown.js.map +1 -1
- package/es/components/dropdown/dropdown.scss.js +1 -1
- package/es/components/file-uploader/file-uploader.scss.js +1 -1
- package/es/components/fluid-search/fluid-search-skeleton.d.ts +17 -0
- package/es/components/fluid-search/fluid-search-skeleton.js +38 -0
- package/es/components/fluid-search/fluid-search-skeleton.js.map +1 -0
- package/es/components/fluid-search/fluid-search.d.ts +17 -0
- package/es/components/fluid-search/fluid-search.js +44 -0
- package/es/components/fluid-search/fluid-search.js.map +1 -0
- package/es/components/fluid-search/fluid-search.scss.js +13 -0
- package/es/components/fluid-search/fluid-search.scss.js.map +1 -0
- package/es/components/fluid-search/index.d.ts +8 -0
- package/es/components/fluid-search/index.js +10 -0
- package/es/components/fluid-search/index.js.map +1 -0
- package/es/components/fluid-select/fluid-select-skeleton.d.ts +17 -0
- package/es/components/fluid-select/fluid-select-skeleton.js +40 -0
- package/es/components/fluid-select/fluid-select-skeleton.js.map +1 -0
- package/es/components/fluid-select/fluid-select.d.ts +19 -0
- package/es/components/fluid-select/fluid-select.js +59 -0
- package/es/components/fluid-select/fluid-select.js.map +1 -0
- package/es/components/fluid-select/fluid-select.scss.js +13 -0
- package/es/components/fluid-select/fluid-select.scss.js.map +1 -0
- package/es/components/fluid-select/index.d.ts +8 -0
- package/es/components/fluid-select/index.js +10 -0
- package/es/components/fluid-select/index.js.map +1 -0
- package/es/components/fluid-textarea/fluid-textarea-skeleton.d.ts +17 -0
- package/es/components/fluid-textarea/fluid-textarea-skeleton.js +42 -0
- package/es/components/fluid-textarea/fluid-textarea-skeleton.js.map +1 -0
- package/es/components/fluid-textarea/fluid-textarea.d.ts +18 -0
- package/es/components/fluid-textarea/fluid-textarea.js +46 -0
- package/es/components/fluid-textarea/fluid-textarea.js.map +1 -0
- package/es/components/fluid-textarea/fluid-textarea.scss.js +13 -0
- package/es/components/fluid-textarea/fluid-textarea.scss.js.map +1 -0
- package/es/components/fluid-textarea/index.d.ts +8 -0
- package/es/components/fluid-textarea/index.js +10 -0
- package/es/components/fluid-textarea/index.js.map +1 -0
- package/es/components/inline-loading/inline-loading.scss.js +1 -1
- package/es/components/list/list.scss.js +1 -1
- package/es/components/loading/loading.scss.js +1 -1
- package/es/components/menu/menu.js +3 -1
- package/es/components/menu/menu.js.map +1 -1
- package/es/components/modal/modal.scss.js +1 -1
- package/es/components/multi-select/multi-select.scss.js +1 -1
- package/es/components/overflow-menu/overflow-menu-body.js +22 -10
- package/es/components/overflow-menu/overflow-menu-body.js.map +1 -1
- package/es/components/radio-button/radio-button-group.js +4 -2
- package/es/components/radio-button/radio-button-group.js.map +1 -1
- package/es/components/radio-button/radio-button.d.ts +8 -0
- package/es/components/radio-button/radio-button.js +53 -3
- package/es/components/radio-button/radio-button.js.map +1 -1
- package/es/components/radio-button/radio-button.scss.js +1 -1
- package/es/components/search/search-skeleton.js +2 -2
- package/es/components/search/search-skeleton.js.map +1 -1
- package/es/components/search/search.js +1 -0
- package/es/components/search/search.js.map +1 -1
- package/es/components/search/search.scss.js +1 -1
- package/es/components/select/select.d.ts +4 -0
- package/es/components/select/select.js +14 -1
- package/es/components/select/select.js.map +1 -1
- package/es/components/select/select.scss.js +1 -1
- package/es/components/textarea/textarea.d.ts +4 -0
- package/es/components/textarea/textarea.js +37 -11
- package/es/components/textarea/textarea.js.map +1 -1
- package/es/components/time-picker/time-picker.js +13 -8
- package/es/components/time-picker/time-picker.js.map +1 -1
- package/es/components/ui-shell/side-nav.scss.js +1 -1
- package/es-custom/components/combo-box/combo-box.d.ts +9 -2
- package/es-custom/components/combo-box/combo-box.js +63 -6
- package/es-custom/components/combo-box/combo-box.js.map +1 -1
- package/es-custom/components/combo-box/combo-box.scss.js +1 -1
- package/es-custom/components/data-table/data-table.scss.js +1 -1
- package/es-custom/components/dropdown/dropdown.d.ts +8 -0
- package/es-custom/components/dropdown/dropdown.js +29 -11
- package/es-custom/components/dropdown/dropdown.js.map +1 -1
- package/es-custom/components/dropdown/dropdown.scss.js +1 -1
- package/es-custom/components/file-uploader/file-uploader.scss.js +1 -1
- package/es-custom/components/fluid-search/fluid-search-skeleton.d.ts +17 -0
- package/es-custom/components/fluid-search/fluid-search-skeleton.js +38 -0
- package/es-custom/components/fluid-search/fluid-search-skeleton.js.map +1 -0
- package/es-custom/components/fluid-search/fluid-search.d.ts +17 -0
- package/es-custom/components/fluid-search/fluid-search.js +44 -0
- package/es-custom/components/fluid-search/fluid-search.js.map +1 -0
- package/es-custom/components/fluid-search/fluid-search.scss.js +13 -0
- package/es-custom/components/fluid-search/fluid-search.scss.js.map +1 -0
- package/es-custom/components/fluid-search/index.d.ts +8 -0
- package/es-custom/components/fluid-search/index.js +10 -0
- package/es-custom/components/fluid-search/index.js.map +1 -0
- package/es-custom/components/fluid-select/fluid-select-skeleton.d.ts +17 -0
- package/es-custom/components/fluid-select/fluid-select-skeleton.js +40 -0
- package/es-custom/components/fluid-select/fluid-select-skeleton.js.map +1 -0
- package/es-custom/components/fluid-select/fluid-select.d.ts +19 -0
- package/es-custom/components/fluid-select/fluid-select.js +59 -0
- package/es-custom/components/fluid-select/fluid-select.js.map +1 -0
- package/es-custom/components/fluid-select/fluid-select.scss.js +13 -0
- package/es-custom/components/fluid-select/fluid-select.scss.js.map +1 -0
- package/es-custom/components/fluid-select/index.d.ts +8 -0
- package/es-custom/components/fluid-select/index.js +10 -0
- package/es-custom/components/fluid-select/index.js.map +1 -0
- package/es-custom/components/fluid-textarea/fluid-textarea-skeleton.d.ts +17 -0
- package/es-custom/components/fluid-textarea/fluid-textarea-skeleton.js +42 -0
- package/es-custom/components/fluid-textarea/fluid-textarea-skeleton.js.map +1 -0
- package/es-custom/components/fluid-textarea/fluid-textarea.d.ts +18 -0
- package/es-custom/components/fluid-textarea/fluid-textarea.js +46 -0
- package/es-custom/components/fluid-textarea/fluid-textarea.js.map +1 -0
- package/es-custom/components/fluid-textarea/fluid-textarea.scss.js +13 -0
- package/es-custom/components/fluid-textarea/fluid-textarea.scss.js.map +1 -0
- package/es-custom/components/fluid-textarea/index.d.ts +8 -0
- package/es-custom/components/fluid-textarea/index.js +10 -0
- package/es-custom/components/fluid-textarea/index.js.map +1 -0
- package/es-custom/components/inline-loading/inline-loading.scss.js +1 -1
- package/es-custom/components/list/list.scss.js +1 -1
- package/es-custom/components/loading/loading.scss.js +1 -1
- package/es-custom/components/menu/menu.js +3 -1
- package/es-custom/components/menu/menu.js.map +1 -1
- package/es-custom/components/modal/modal.scss.js +1 -1
- package/es-custom/components/multi-select/multi-select.scss.js +1 -1
- package/es-custom/components/overflow-menu/overflow-menu-body.js +22 -10
- package/es-custom/components/overflow-menu/overflow-menu-body.js.map +1 -1
- package/es-custom/components/radio-button/radio-button-group.js +4 -2
- package/es-custom/components/radio-button/radio-button-group.js.map +1 -1
- package/es-custom/components/radio-button/radio-button.d.ts +8 -0
- package/es-custom/components/radio-button/radio-button.js +53 -3
- package/es-custom/components/radio-button/radio-button.js.map +1 -1
- package/es-custom/components/radio-button/radio-button.scss.js +1 -1
- package/es-custom/components/search/search-skeleton.js +2 -2
- package/es-custom/components/search/search-skeleton.js.map +1 -1
- package/es-custom/components/search/search.js +1 -0
- package/es-custom/components/search/search.js.map +1 -1
- package/es-custom/components/search/search.scss.js +1 -1
- package/es-custom/components/select/select.d.ts +4 -0
- package/es-custom/components/select/select.js +14 -1
- package/es-custom/components/select/select.js.map +1 -1
- package/es-custom/components/select/select.scss.js +1 -1
- package/es-custom/components/textarea/textarea.d.ts +4 -0
- package/es-custom/components/textarea/textarea.js +37 -11
- package/es-custom/components/textarea/textarea.js.map +1 -1
- package/es-custom/components/time-picker/time-picker.js +13 -8
- package/es-custom/components/time-picker/time-picker.js.map +1 -1
- package/es-custom/components/ui-shell/side-nav.scss.js +1 -1
- package/lib/components/combo-box/combo-box.d.ts +9 -2
- package/lib/components/dropdown/dropdown.d.ts +8 -0
- package/lib/components/fluid-search/fluid-search-skeleton.d.ts +17 -0
- package/lib/components/fluid-search/fluid-search.d.ts +17 -0
- package/lib/components/fluid-search/index.d.ts +8 -0
- package/lib/components/fluid-select/fluid-select-skeleton.d.ts +17 -0
- package/lib/components/fluid-select/fluid-select.d.ts +19 -0
- package/lib/components/fluid-select/index.d.ts +8 -0
- package/lib/components/fluid-textarea/fluid-textarea-skeleton.d.ts +17 -0
- package/lib/components/fluid-textarea/fluid-textarea.d.ts +18 -0
- package/lib/components/fluid-textarea/index.d.ts +8 -0
- package/lib/components/radio-button/radio-button.d.ts +8 -0
- package/lib/components/select/select.d.ts +4 -0
- package/lib/components/textarea/textarea.d.ts +4 -0
- package/package.json +6 -6
- package/scss/components/combo-box/combo-box.scss +82 -18
- package/scss/components/data-table/_table-core.scss +9 -9
- package/scss/components/data-table/_table-expandable.scss +7 -7
- package/scss/components/data-table/_table-selection.scss +3 -3
- package/scss/components/dropdown/dropdown.scss +2 -0
- package/scss/components/fluid-search/fluid-search.scss +55 -0
- package/scss/components/fluid-select/fluid-select.scss +58 -0
- package/scss/components/fluid-textarea/fluid-textarea.scss +16 -0
- package/scss/components/list/list.scss +1 -1
- package/scss/components/radio-button/radio-button.scss +9 -4
- package/scss/components/select/select.scss +1 -0
- package/telemetry.yml +9 -10
- package/dist/select-Dwsf_c0t.js +0 -104
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sources":["../../../src/components/select/select.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2020, 2025\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property, query, queryAll } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { prefix } from '../../globals/settings';\nimport ChevronDown16 from '@carbon/icons/es/chevron--down/16.js';\nimport WarningFilled16 from '@carbon/icons/es/warning--filled/16.js';\nimport WarningAltFilled16 from '@carbon/icons/es/warning--alt--filled/16.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport FormMixin from '../../globals/mixins/form';\nimport { filter } from '../../globals/internal/collection-helpers';\nimport { INPUT_SIZE } from '../text-input/text-input';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport styles from './select.scss?lit';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Select box.\n *\n * @element cds-select\n * @fires cds-select-selected\n * The name of the custom event fired after an item is selected.\n * @slot helper-text - The helper text.\n * @slot label-text - The label text.\n * @slot validity-message - The validity message. If present and non-empty, this input shows the UI of its invalid state.\n */\n@customElement(`${prefix}-select`)\nclass CDSSelect extends FormMixin(LitElement) {\n /**\n * `true` if there is an AI Label.\n */\n protected _hasAILabel = false;\n\n /**\n * The mutation observer DOM mutation.\n */\n private _observerMutation: MutationObserver | null = null;\n\n /**\n * The `value` for placeholder `<option>`.\n */\n private _placeholderItemValue = `__${prefix}-select-placeholder_${Math.random()\n .toString(36)\n .slice(2)}`;\n\n /**\n * The select box.\n */\n @query('select')\n private _selectNode!: HTMLSelectElement;\n\n /**\n * Input node of `select` element\n */\n @query('#input')\n private _inputNode!: HTMLInputElement;\n\n /**\n * Select all <option> nodes with `selected` attribute\n */\n @queryAll(`.${prefix}--select-option[selected]`)\n private _selectedOptionNodes!: HTMLOptionElement[];\n\n /**\n * Handles `oninput` event on the `<input>`.\n *\n * @param event The event.\n * @param event.target The event target.\n */\n private _handleInput({ target }: Event) {\n const { value } = target as HTMLSelectElement;\n this.value = value;\n const { eventSelect } = this.constructor as typeof CDSSelect;\n this.dispatchEvent(\n new CustomEvent(eventSelect, {\n bubbles: true,\n composed: true,\n detail: {\n value,\n },\n })\n );\n }\n\n /**\n * Handles DOM mutation of `<cds-select-item>` or `<cds-select-item-group>` put in `<cds-select>`, or their changes.\n * In such event, `<cds-select>` creates the corresponding `<option>` and `<optgroup>`, respectively, into shadow DOM,\n * with `._renderItems()`.\n * Doing so allows the shadow DOM style of `<cds-select>` to control the style of the `<option>` and `<optgroup>`,\n * notably the disabled ones.\n */\n private _handleMutation = () => {\n this.requestUpdate();\n };\n\n /**\n * @param element The parent element containing pseudo `<optgroup>`/`<option>`.\n * @returns The template containing child `<optgroup>`/`<option>` that will be rendered to shadow DOM.\n */\n private _renderItems(element: CDSSelect | HTMLOptGroupElement) {\n const { selectorItem, selectorLeafItem } = this\n .constructor as typeof CDSSelect;\n // Harvests attributes from `<cds-select-item>` and `<cds-select-item-group>`.\n // Does not use properties to avoid delay in attribute to property mapping, which runs in custom element reaction cycle:\n // https://html.spec.whatwg.org/multipage/custom-elements.html#custom-element-reactions\n return html`\n ${filter(\n element.childNodes,\n (item) =>\n item.nodeType === Node.ELEMENT_NODE &&\n (item as Element).matches(selectorItem)\n ).map((item) => {\n const disabled = item.hasAttribute('disabled');\n const label = item.getAttribute('label');\n const selected = item.hasAttribute('selected');\n const value = item.getAttribute('value');\n const { textContent } = item;\n return item.matches(selectorLeafItem)\n ? html`\n <option\n class=\"${prefix}--select-option\"\n ?disabled=\"${disabled}\"\n label=\"${ifNonEmpty(label)}\"\n ?selected=\"${selected}\"\n value=\"${ifDefined(value)}\">\n ${textContent}\n </option>\n `\n : html`\n <optgroup\n class=\"${prefix}--select-optgroup\"\n ?disabled=\"${disabled}\"\n label=\"${ifDefined(label)}\">\n ${this._renderItems(item)}\n </optgroup>\n `;\n })}\n `;\n }\n\n _handleFormdata(event: FormDataEvent) {\n const { formData } = event;\n const { disabled, name, value } = this;\n if (!disabled) {\n formData.append(name, value);\n }\n }\n\n /**\n * Handles `slotchange` event.\n */\n protected _handleAILabelSlotChange({ target }: Event) {\n const hasContent = (target as HTMLSlotElement)\n .assignedNodes()\n .filter((elem) =>\n (elem as HTMLElement).matches !== undefined\n ? (elem as HTMLElement).matches(\n (this.constructor as typeof CDSSelect).aiLabelItem\n ) ||\n // remove reference to slug in v12\n (elem as HTMLElement).matches(\n (this.constructor as typeof CDSSelect).slugItem\n )\n : false\n );\n\n this._hasAILabel = Boolean(hasContent);\n this.setAttribute('slug', `${this._hasAILabel}`);\n (hasContent[0] as HTMLElement).setAttribute('size', 'mini');\n this.requestUpdate();\n }\n\n /**\n * The count of child `<option>`s.\n * If the placeholder is in effect, it includes the `<option>` for the placeholder.\n */\n get length() {\n return this._selectNode.length;\n }\n\n /**\n * The child `<option>`s.\n */\n get options() {\n return this._selectNode.options;\n }\n\n /**\n * This form control's type.\n */\n get type() {\n return this._selectNode.type;\n }\n\n /**\n * Sets the select to be focussed automatically on page load. Defaults to false\n */\n @property({ type: Boolean })\n autofocus = false;\n\n /**\n * Controls the disabled state of the select\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * The helper text.\n */\n @property({ attribute: 'helper-text' })\n helperText = '';\n\n /**\n * Specify whether the label should be hidden, or not\n */\n @property({ type: Boolean, attribute: 'hide-label' })\n hideLabel = false;\n\n /**\n * ID to link the `label` and `select`\n */\n @property()\n id = '';\n\n /**\n * Specify if the currently value is invalid.\n */\n @property({ type: Boolean, reflect: true })\n invalid = false;\n\n /**\n * Message which is displayed if the value is invalid.\n */\n @property({ attribute: 'invalid-text' })\n invalidText = '';\n\n /**\n * Specify if the currently value is warn.\n */\n @property({ type: Boolean, reflect: true })\n warn = false;\n\n /**\n * Message which is displayed if the value is warn.\n */\n @property({ attribute: 'warn-text' })\n warnText = '';\n\n /**\n * The label text.\n */\n @property({ attribute: 'label-text' })\n labelText = '';\n\n /**\n * Specify whether you want the inline version of this control\n */\n @property({ type: Boolean, reflect: true })\n inline = false;\n\n /**\n * `true` to enable multiple selection.\n */\n @property({ type: Boolean })\n get multiple() {\n return false;\n }\n\n /**\n * Name for the select in the `FormData`\n */\n @property()\n name = '';\n\n /**\n * Pattern to validate the select against for HTML validity checking\n */\n @property()\n pattern = '';\n\n /**\n * Value to display when the select has an empty `value`\n */\n @property({ reflect: true })\n placeholder = '';\n\n /**\n * Controls the readonly state of the select\n */\n @property({ type: Boolean, reflect: true })\n readonly = false;\n\n /**\n * Boolean property to set the required status\n */\n @property({ type: Boolean, reflect: true })\n required = false;\n\n /**\n * The special validity message for `required`.\n */\n @property({ attribute: 'required-validity-message' })\n requiredValidityMessage = 'Please fill out this field.';\n\n /**\n * The selected index.\n */\n @property({ type: Number })\n get selectedIndex() {\n return this._selectNode?.selectedIndex;\n }\n\n set selectedIndex(value) {\n this._selectNode.selectedIndex = value;\n this.value = this._selectNode.value;\n }\n\n /**\n * The input box size.\n */\n @property({ reflect: true })\n size = INPUT_SIZE.MEDIUM;\n\n /**\n * The value of the text area.\n */\n @property({ reflect: true })\n value = '';\n\n connectedCallback() {\n super.connectedCallback();\n this._observerMutation = new MutationObserver(this._handleMutation);\n this._observerMutation.observe(this, {\n attributes: true,\n childList: true,\n subtree: true,\n });\n }\n\n disconnectedCallback() {\n if (this._observerMutation) {\n this._observerMutation.disconnect();\n this._observerMutation = null;\n }\n super.disconnectedCallback();\n }\n\n updated(changedProperties) {\n if (changedProperties.has('value')) {\n const { value, _placeholderItemValue: placeholderItemValue } = this;\n // Ensures setting the `value` after rendering child `<option>`s/`<optgroup>`s when there is a change in `value`,\n // given reflecting `value` requires child `<option>`s/`<optgroup>`s being there beforehand\n\n const lastOption =\n this._selectedOptionNodes?.[this._selectedOptionNodes?.length - 1]?.[\n 'value'\n ];\n\n if (value) {\n this._selectNode.value = value;\n } else if (lastOption) {\n this._selectNode.value = lastOption;\n } else {\n this._selectNode.value = placeholderItemValue;\n }\n }\n\n const label = this.shadowRoot?.querySelector(\"slot[name='ai-label']\");\n\n if (label) {\n if ((label as HTMLSlotElement).assignedNodes()?.length) {\n this._inputNode?.classList.add(`${prefix}--select-input-has--ai-label`);\n }\n\n label?.classList.toggle(\n `${prefix}--slug--revert`,\n this.querySelector(`${prefix}-ai-label`)?.hasAttribute('revert-active')\n );\n } else {\n this.shadowRoot\n ?.querySelector(\"slot[name='slug']\")\n ?.classList.toggle(\n `${prefix}--slug--revert`,\n this.querySelector(`${prefix}-slug`)?.hasAttribute('revert-active')\n );\n }\n }\n\n render() {\n const {\n disabled,\n helperText,\n hideLabel,\n inline,\n invalid,\n invalidText,\n labelText,\n placeholder,\n readonly,\n size,\n warn,\n warnText,\n value,\n _placeholderItemValue: placeholderItemValue,\n _handleInput: handleInput,\n _handleAILabelSlotChange: handleAILabelSlotChange,\n } = this;\n\n const inputClasses = classMap({\n [`${prefix}--select-input`]: true,\n [`${prefix}--select-input--${size}`]: size,\n });\n\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--label--disabled`]: disabled,\n [`${prefix}--visually-hidden`]: hideLabel,\n });\n\n const helperTextClasses = classMap({\n [`${prefix}--form__helper-text`]: true,\n [`${prefix}--form__helper-text--disabled`]: disabled,\n });\n\n const supplementalText = helperText\n ? html`\n <div id=\"helper-text\" class=\"${helperTextClasses}\">\n <slot name=\"helper-text\"> ${helperText} </slot>\n </div>\n `\n : null;\n\n const errorText =\n invalid || warn\n ? html` <div id=\"error-text\" class=\"${prefix}--form-requirement\">\n ${invalid ? invalidText : warnText}\n </div>`\n : null;\n\n let describedBy: string | undefined;\n if (invalid || warn) {\n describedBy = 'error-text';\n } else if (helperText) {\n describedBy = 'helper-text';\n }\n\n const input = html`\n <select\n id=\"input\"\n class=\"${inputClasses}\"\n ?disabled=\"${disabled}\"\n aria-readonly=\"${String(Boolean(readonly))}\"\n aria-invalid=\"${String(Boolean(invalid))}\"\n aria-describedby=\"${ifDefined(describedBy)}\"\n @input=\"${handleInput}\">\n ${!placeholder || value\n ? undefined\n : html`\n <option\n disabled\n hidden\n class=\"${prefix}--select-option\"\n value=\"${placeholderItemValue}\">\n ${placeholder}\n </option>\n `}\n ${this._renderItems(this)}\n </select>\n ${iconLoader(ChevronDown16, {\n class: `${prefix}--select__arrow`,\n 'aria-hidden': 'true',\n })}\n <slot\n name=\"ai-label\"\n style=\"--${prefix}-show-before: ${warn || invalid ? 'block' : 'none'}\"\n @slotchange=${handleAILabelSlotChange}></slot>\n <slot name=\"slug\" @slotchange=${handleAILabelSlotChange}></slot>\n ${!invalid\n ? undefined\n : iconLoader(WarningFilled16, {\n class: `${prefix}--select__invalid-icon`,\n })}\n ${!invalid && warn\n ? iconLoader(WarningAltFilled16, {\n class: `${prefix}--select__invalid-icon ${prefix}--select__invalid-icon--warning`,\n })\n : null}\n `;\n\n return html`\n <label class=\"${labelClasses}\" for=\"input\">\n <slot name=\"label-text\"> ${labelText} </slot>\n </label>\n\n ${inline\n ? html`<div\n class=\"${prefix}--select-input--inline__wrapper\"\n ?data-invalid=\"${invalid}\">\n <div\n class=\"${prefix}--select-input__wrapper\"\n ?data-invalid=\"${invalid}\">\n ${input}\n </div>\n </div>`\n : html`<div\n class=\"${prefix}--select-input__wrapper\"\n ?data-invalid=\"${invalid}\">\n ${input}\n </div> `}\n ${errorText ? errorText : supplementalText}\n `;\n }\n\n /**\n * A selector selecting child pseudo `<optgroup>`/`<option>`.\n */\n static get selectorItem() {\n return `${prefix}-select-item-group,${prefix}-select-item`;\n }\n\n /**\n * A selector selecting child pseudo `<option>`.\n */\n static get selectorLeafItem() {\n return `${prefix}-select-item`;\n }\n\n /**\n * A selector that will return the slug item.\n *\n * remove in v12\n */\n static get slugItem() {\n return `${prefix}-slug`;\n }\n\n /**\n * A selector that will return the AI Label item.\n */\n static get aiLabelItem() {\n return `${prefix}-ai-label`;\n }\n\n /**\n * The name of the custom event fired after item is selected.\n */\n static get eventSelect() {\n return `${prefix}-select-selected`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSSelect;\n"],"names":["customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"select.js","sources":["../../../src/components/select/select.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2020, 2025\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property, query, queryAll } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { prefix } from '../../globals/settings';\nimport ChevronDown16 from '@carbon/icons/es/chevron--down/16.js';\nimport WarningFilled16 from '@carbon/icons/es/warning--filled/16.js';\nimport WarningAltFilled16 from '@carbon/icons/es/warning--alt--filled/16.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport FormMixin from '../../globals/mixins/form';\nimport { filter } from '../../globals/internal/collection-helpers';\nimport { INPUT_SIZE } from '../text-input/text-input';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport styles from './select.scss?lit';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Select box.\n *\n * @element cds-select\n * @fires cds-select-selected\n * The name of the custom event fired after an item is selected.\n * @slot helper-text - The helper text.\n * @slot label-text - The label text.\n * @slot validity-message - The validity message. If present and non-empty, this input shows the UI of its invalid state.\n */\n@customElement(`${prefix}-select`)\nclass CDSSelect extends FormMixin(LitElement) {\n /**\n * `true` if there is an AI Label.\n */\n protected _hasAILabel = false;\n\n /**\n * The mutation observer DOM mutation.\n */\n private _observerMutation: MutationObserver | null = null;\n\n /**\n * The `value` for placeholder `<option>`.\n */\n private _placeholderItemValue = `__${prefix}-select-placeholder_${Math.random()\n .toString(36)\n .slice(2)}`;\n\n /**\n * The select box.\n */\n @query('select')\n private _selectNode!: HTMLSelectElement;\n\n /**\n * Input node of `select` element\n */\n @query('#input')\n private _inputNode!: HTMLInputElement;\n\n /**\n * Select all <option> nodes with `selected` attribute\n */\n @queryAll(`.${prefix}--select-option[selected]`)\n private _selectedOptionNodes!: HTMLOptionElement[];\n\n /**\n * Specify whether the textarea is fluid or not\n */\n @property({ type: Boolean })\n isFluid = false;\n\n /**\n * Handles `oninput` event on the `<input>`.\n *\n * @param event The event.\n * @param event.target The event target.\n */\n private _handleInput({ target }: Event) {\n const { value } = target as HTMLSelectElement;\n this.value = value;\n const { eventSelect } = this.constructor as typeof CDSSelect;\n this.dispatchEvent(\n new CustomEvent(eventSelect, {\n bubbles: true,\n composed: true,\n detail: {\n value,\n },\n })\n );\n }\n\n /**\n * Handles DOM mutation of `<cds-select-item>` or `<cds-select-item-group>` put in `<cds-select>`, or their changes.\n * In such event, `<cds-select>` creates the corresponding `<option>` and `<optgroup>`, respectively, into shadow DOM,\n * with `._renderItems()`.\n * Doing so allows the shadow DOM style of `<cds-select>` to control the style of the `<option>` and `<optgroup>`,\n * notably the disabled ones.\n */\n private _handleMutation = () => {\n this.requestUpdate();\n };\n\n /**\n * @param element The parent element containing pseudo `<optgroup>`/`<option>`.\n * @returns The template containing child `<optgroup>`/`<option>` that will be rendered to shadow DOM.\n */\n private _renderItems(element: CDSSelect | HTMLOptGroupElement) {\n const { selectorItem, selectorLeafItem } = this\n .constructor as typeof CDSSelect;\n // Harvests attributes from `<cds-select-item>` and `<cds-select-item-group>`.\n // Does not use properties to avoid delay in attribute to property mapping, which runs in custom element reaction cycle:\n // https://html.spec.whatwg.org/multipage/custom-elements.html#custom-element-reactions\n return html`\n ${filter(\n element.childNodes,\n (item) =>\n item.nodeType === Node.ELEMENT_NODE &&\n (item as Element).matches(selectorItem)\n ).map((item) => {\n const disabled = item.hasAttribute('disabled');\n const label = item.getAttribute('label');\n const selected = item.hasAttribute('selected');\n const value = item.getAttribute('value');\n const { textContent } = item;\n return item.matches(selectorLeafItem)\n ? html`\n <option\n class=\"${prefix}--select-option\"\n ?disabled=\"${disabled}\"\n label=\"${ifNonEmpty(label)}\"\n ?selected=\"${selected}\"\n value=\"${ifDefined(value)}\">\n ${textContent}\n </option>\n `\n : html`\n <optgroup\n class=\"${prefix}--select-optgroup\"\n ?disabled=\"${disabled}\"\n label=\"${ifDefined(label)}\">\n ${this._renderItems(item)}\n </optgroup>\n `;\n })}\n `;\n }\n\n _handleFormdata(event: FormDataEvent) {\n const { formData } = event;\n const { disabled, name, value } = this;\n if (!disabled) {\n formData.append(name, value);\n }\n }\n\n /**\n * Handles `slotchange` event.\n */\n protected _handleAILabelSlotChange({ target }: Event) {\n const hasContent = (target as HTMLSlotElement)\n .assignedNodes()\n .filter((elem) =>\n (elem as HTMLElement).matches !== undefined\n ? (elem as HTMLElement).matches(\n (this.constructor as typeof CDSSelect).aiLabelItem\n ) ||\n // remove reference to slug in v12\n (elem as HTMLElement).matches(\n (this.constructor as typeof CDSSelect).slugItem\n )\n : false\n );\n\n this._hasAILabel = Boolean(hasContent);\n this.setAttribute('slug', `${this._hasAILabel}`);\n (hasContent[0] as HTMLElement).setAttribute('size', 'mini');\n this.requestUpdate();\n }\n\n /**\n * The count of child `<option>`s.\n * If the placeholder is in effect, it includes the `<option>` for the placeholder.\n */\n get length() {\n return this._selectNode.length;\n }\n\n /**\n * The child `<option>`s.\n */\n get options() {\n return this._selectNode.options;\n }\n\n /**\n * This form control's type.\n */\n get type() {\n return this._selectNode.type;\n }\n\n /**\n * Sets the select to be focussed automatically on page load. Defaults to false\n */\n @property({ type: Boolean })\n autofocus = false;\n\n /**\n * Controls the disabled state of the select\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * The helper text.\n */\n @property({ attribute: 'helper-text' })\n helperText = '';\n\n /**\n * Specify whether the label should be hidden, or not\n */\n @property({ type: Boolean, attribute: 'hide-label' })\n hideLabel = false;\n\n /**\n * ID to link the `label` and `select`\n */\n @property()\n id = '';\n\n /**\n * Specify if the currently value is invalid.\n */\n @property({ type: Boolean, reflect: true })\n invalid = false;\n\n /**\n * Message which is displayed if the value is invalid.\n */\n @property({ attribute: 'invalid-text' })\n invalidText = '';\n\n /**\n * Specify if the currently value is warn.\n */\n @property({ type: Boolean, reflect: true })\n warn = false;\n\n /**\n * Message which is displayed if the value is warn.\n */\n @property({ attribute: 'warn-text' })\n warnText = '';\n\n /**\n * The label text.\n */\n @property({ attribute: 'label-text' })\n labelText = '';\n\n /**\n * Specify whether you want the inline version of this control\n */\n @property({ type: Boolean, reflect: true })\n inline = false;\n\n /**\n * `true` to enable multiple selection.\n */\n @property({ type: Boolean })\n get multiple() {\n return false;\n }\n\n /**\n * Name for the select in the `FormData`\n */\n @property()\n name = '';\n\n /**\n * Pattern to validate the select against for HTML validity checking\n */\n @property()\n pattern = '';\n\n /**\n * Value to display when the select has an empty `value`\n */\n @property({ reflect: true })\n placeholder = '';\n\n /**\n * Controls the readonly state of the select\n */\n @property({ type: Boolean, reflect: true })\n readonly = false;\n\n /**\n * Boolean property to set the required status\n */\n @property({ type: Boolean, reflect: true })\n required = false;\n\n /**\n * The special validity message for `required`.\n */\n @property({ attribute: 'required-validity-message' })\n requiredValidityMessage = 'Please fill out this field.';\n\n /**\n * The selected index.\n */\n @property({ type: Number })\n get selectedIndex() {\n return this._selectNode?.selectedIndex;\n }\n\n set selectedIndex(value) {\n this._selectNode.selectedIndex = value;\n this.value = this._selectNode.value;\n }\n\n /**\n * The input box size.\n */\n @property({ reflect: true })\n size = INPUT_SIZE.MEDIUM;\n\n /**\n * The value of the text area.\n */\n @property({ reflect: true })\n value = '';\n\n connectedCallback() {\n super.connectedCallback();\n this._observerMutation = new MutationObserver(this._handleMutation);\n this._observerMutation.observe(this, {\n attributes: true,\n childList: true,\n subtree: true,\n });\n }\n\n disconnectedCallback() {\n if (this._observerMutation) {\n this._observerMutation.disconnect();\n this._observerMutation = null;\n }\n super.disconnectedCallback();\n }\n\n updated(changedProperties) {\n if (changedProperties.has('value')) {\n const { value, _placeholderItemValue: placeholderItemValue } = this;\n // Ensures setting the `value` after rendering child `<option>`s/`<optgroup>`s when there is a change in `value`,\n // given reflecting `value` requires child `<option>`s/`<optgroup>`s being there beforehand\n\n const lastOption =\n this._selectedOptionNodes?.[this._selectedOptionNodes?.length - 1]?.[\n 'value'\n ];\n\n if (value) {\n this._selectNode.value = value;\n } else if (lastOption) {\n this._selectNode.value = lastOption;\n } else {\n this._selectNode.value = placeholderItemValue;\n }\n }\n\n const label = this.shadowRoot?.querySelector(\"slot[name='ai-label']\");\n\n if (label) {\n if ((label as HTMLSlotElement).assignedNodes()?.length) {\n this._inputNode?.classList.add(`${prefix}--select-input-has--ai-label`);\n }\n\n label?.classList.toggle(\n `${prefix}--slug--revert`,\n this.querySelector(`${prefix}-ai-label`)?.hasAttribute('revert-active')\n );\n } else {\n this.shadowRoot\n ?.querySelector(\"slot[name='slug']\")\n ?.classList.toggle(\n `${prefix}--slug--revert`,\n this.querySelector(`${prefix}-slug`)?.hasAttribute('revert-active')\n );\n }\n }\n\n render() {\n const {\n disabled,\n helperText,\n hideLabel,\n inline,\n invalid,\n invalidText,\n labelText,\n placeholder,\n readonly,\n size,\n warn,\n warnText,\n value,\n _placeholderItemValue: placeholderItemValue,\n _handleInput: handleInput,\n _handleAILabelSlotChange: handleAILabelSlotChange,\n } = this;\n\n const inputClasses = classMap({\n [`${prefix}--select-input`]: true,\n [`${prefix}--select-input--${size}`]: size,\n });\n\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--label--disabled`]: disabled,\n [`${prefix}--visually-hidden`]: hideLabel,\n });\n\n const helperTextClasses = classMap({\n [`${prefix}--form__helper-text`]: true,\n [`${prefix}--form__helper-text--disabled`]: disabled,\n });\n\n const supplementalText = helperText\n ? html`\n <div id=\"helper-text\" class=\"${helperTextClasses}\">\n <slot name=\"helper-text\"> ${helperText} </slot>\n </div>\n `\n : null;\n\n const errorText =\n invalid || warn\n ? html` <div id=\"error-text\" class=\"${prefix}--form-requirement\">\n ${invalid ? invalidText : warnText}\n </div>`\n : null;\n\n let describedBy: string | undefined;\n if (invalid || warn) {\n describedBy = 'error-text';\n } else if (helperText) {\n describedBy = 'helper-text';\n }\n\n const input = html`\n <select\n id=\"input\"\n class=\"${inputClasses}\"\n ?disabled=\"${disabled}\"\n aria-readonly=\"${String(Boolean(readonly))}\"\n aria-invalid=\"${String(Boolean(invalid))}\"\n aria-describedby=\"${ifDefined(describedBy)}\"\n @input=\"${handleInput}\">\n ${!placeholder || value\n ? undefined\n : html`\n <option\n disabled\n hidden\n class=\"${prefix}--select-option\"\n value=\"${placeholderItemValue}\">\n ${placeholder}\n </option>\n `}\n ${this._renderItems(this)}\n </select>\n ${iconLoader(ChevronDown16, {\n class: `${prefix}--select__arrow`,\n 'aria-hidden': 'true',\n })}\n <slot\n name=\"ai-label\"\n style=\"--${prefix}-show-before: ${warn || invalid ? 'block' : 'none'}\"\n @slotchange=${handleAILabelSlotChange}></slot>\n <slot name=\"slug\" @slotchange=${handleAILabelSlotChange}></slot>\n ${!invalid\n ? undefined\n : iconLoader(WarningFilled16, {\n class: `${prefix}--select__invalid-icon`,\n })}\n ${!invalid && warn\n ? iconLoader(WarningAltFilled16, {\n class: `${prefix}--select__invalid-icon ${prefix}--select__invalid-icon--warning`,\n })\n : null}\n `;\n\n return html`\n <label class=\"${labelClasses}\" for=\"input\">\n <slot name=\"label-text\"> ${labelText} </slot>\n </label>\n\n ${inline\n ? html`<div\n class=\"${prefix}--select-input--inline__wrapper\"\n ?data-invalid=\"${invalid}\">\n <div\n class=\"${prefix}--select-input__wrapper\"\n ?data-invalid=\"${invalid}\">\n ${input}\n </div>\n </div>`\n : html`<div\n class=\"${prefix}--select-input__wrapper\"\n ?data-invalid=\"${invalid}\">\n ${input}\n ${this.isFluid\n ? html`\n <hr class=\"${prefix}--select__divider\" />\n ${errorText ? errorText : null}\n `\n : null}\n </div> `}\n ${!this.isFluid && errorText ? errorText : supplementalText}\n `;\n }\n\n /**\n * A selector selecting child pseudo `<optgroup>`/`<option>`.\n */\n static get selectorItem() {\n return `${prefix}-select-item-group,${prefix}-select-item`;\n }\n\n /**\n * A selector selecting child pseudo `<option>`.\n */\n static get selectorLeafItem() {\n return `${prefix}-select-item`;\n }\n\n /**\n * A selector that will return the slug item.\n *\n * remove in v12\n */\n static get slugItem() {\n return `${prefix}-slug`;\n }\n\n /**\n * A selector that will return the AI Label item.\n */\n static get aiLabelItem() {\n return `${prefix}-ai-label`;\n }\n\n /**\n * The name of the custom event fired after item is selected.\n */\n static get eventSelect() {\n return `${prefix}-select-selected`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSSelect;\n"],"names":["customElement"],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import { css } from 'lit';
|
|
9
9
|
|
|
10
|
-
var styles = css([".cds--layer-one,:root{--cds-layer:var(--cds-layer-01,#f4f4f4);--cds-layer-active:var(--cds-layer-active-01,#c6c6c6);--cds-layer-background:var(--cds-layer-background-01,#fff);--cds-layer-hover:var(--cds-layer-hover-01,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-01,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-01,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-01,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-01,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-01,#a8a8a8);--cds-field:var(--cds-field-01,#f4f4f4);--cds-field-hover:var(--cds-field-hover-01,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-00,#e0e0e0);--cds-border-subtle-selected:var(--cds-border-subtle-selected-01,#c6c6c6);--cds-border-strong:var(--cds-border-strong-01,#8d8d8d);--cds-border-tile:var(--cds-border-tile-01,#c6c6c6)}.cds--layer-two{--cds-layer:var(--cds-layer-02,#fff);--cds-layer-active:var(--cds-layer-active-02,#c6c6c6);--cds-layer-background:var(--cds-layer-background-02,#f4f4f4);--cds-layer-hover:var(--cds-layer-hover-02,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-02,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-02,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-02,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-02,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-02,#a8a8a8);--cds-field:var(--cds-field-02,#fff);--cds-field-hover:var(--cds-field-hover-02,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-01,#c6c6c6);--cds-border-subtle-selected:var(--cds-border-subtle-selected-02,#c6c6c6);--cds-border-strong:var(--cds-border-strong-02,#8d8d8d);--cds-border-tile:var(--cds-border-tile-02,#a8a8a8)}.cds--layer-three{--cds-layer:var(--cds-layer-03,#f4f4f4);--cds-layer-active:var(--cds-layer-active-03,#c6c6c6);--cds-layer-background:var(--cds-layer-background-03,#fff);--cds-layer-hover:var(--cds-layer-hover-03,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-03,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-03,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-03,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-03,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-03,#a8a8a8);--cds-field:var(--cds-field-03,#f4f4f4);--cds-field-hover:var(--cds-field-hover-03,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-02,#e0e0e0);--cds-border-subtle-selected:var(--cds-border-subtle-selected-03,#c6c6c6);--cds-border-strong:var(--cds-border-strong-03,#8d8d8d);--cds-border-tile:var(--cds-border-tile-03,#c6c6c6)}.cds--layer-one.cds--layer__with-background,.cds--layer-three.cds--layer__with-background,.cds--layer-two.cds--layer__with-background{background-color:var(--cds-layer-background)}@keyframes cds--hide-feedback{0%{opacity:1;visibility:inherit}to{opacity:0;visibility:hidden}}@keyframes cds--show-feedback{0%{opacity:0;visibility:hidden}to{opacity:1;visibility:inherit}}@keyframes cds--skeleton{0%{opacity:.3;transform:scaleX(0);transform-origin:left}20%{opacity:1;transform:scaleX(1);transform-origin:left}28%{transform:scaleX(1);transform-origin:right}51%{transform:scaleX(0);transform-origin:right}58%{transform:scaleX(0);transform-origin:right}82%{transform:scaleX(1);transform-origin:right}83%{transform:scaleX(1);transform-origin:left}96%{transform:scaleX(0);transform-origin:left}to{opacity:.3;transform:scaleX(0);transform-origin:left}}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover,textarea:-webkit-autofill,textarea:-webkit-autofill:focus,textarea:-webkit-autofill:hover{box-shadow:0 0 0 1000px var(--cds-field) inset;-webkit-text-fill-color:var(--cds-text-primary,#161616)}.cds--fieldset{border:0;box-sizing:border-box;font-family:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}.cds--fieldset *,.cds--fieldset :after,.cds--fieldset :before{box-sizing:inherit}.cds--form-item{align-items:flex-start;display:flex;flex:1 1 auto;flex-direction:column;font-size:var(--cds-body-compact-01-font-size,.875rem);font-weight:var(--cds-body-compact-01-font-weight,400);letter-spacing:var(--cds-body-compact-01-letter-spacing,.16px);line-height:var(--cds-body-compact-01-line-height,1.28572)}.cds--label html{font-size:100%}.cds--label body{font-family:IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,sans-serif;font-weight:400;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.cds--label code{font-family:IBM Plex Mono,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,monospace}.cds--label strong{font-weight:600}.cds--label{color:var(--cds-text-secondary,#525252);display:inline-block;font-weight:var(--cds-label-01-font-weight,400);font-weight:400;line-height:var(--cds-label-01-line-height,1.33333);line-height:1rem;margin-block-end:.5rem;vertical-align:baseline}.cds--label,.cds--label .cds--toggletip-label{font-size:var(--cds-label-01-font-size,.75rem);letter-spacing:var(--cds-label-01-letter-spacing,.32px)}.cds--label .cds--toggletip-label{font-weight:var(--cds-label-01-font-weight,400);line-height:var(--cds-label-01-line-height,1.33333)}.cds--label--no-margin{margin-block-end:0}.cds--label+.cds--tooltip{inset-block-start:.2rem;inset-inline-start:.5rem;position:relative}.cds--label+.cds--tooltip .cds--tooltip__trigger{box-sizing:border-box;font-family:inherit;font-size:100%;margin:0;vertical-align:baseline}.cds--label+.cds--tooltip .cds--tooltip__trigger *,.cds--label+.cds--tooltip .cds--tooltip__trigger :after,.cds--label+.cds--tooltip .cds--tooltip__trigger :before{box-sizing:inherit}.cds--label+.cds--tooltip .cds--tooltip__trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;cursor:pointer;display:inline-block;inline-size:100%;padding:0;text-align:start}.cds--label+.cds--tooltip .cds--tooltip__trigger::-moz-focus-inner{border:0}.cds--label+.cds--tooltip .cds--tooltip__trigger{align-items:center;display:flex;font-size:var(--cds-label-01-font-size,.75rem);font-weight:var(--cds-label-01-font-weight,400);justify-content:center;letter-spacing:var(--cds-label-01-letter-spacing,.32px);line-height:var(--cds-label-01-line-height,1.33333)}.cds--label+.cds--tooltip .cds--tooltip__trigger:focus{outline:1px solid var(--cds-focus,#0f62fe)}.cds--label+.cds--tooltip .cds--tooltip__trigger svg{fill:var(--cds-icon-secondary,#525252)}.cds--label+.cds--tooltip .cds--tooltip__trigger svg :hover{fill:var(--cds-icon-primary,#161616)}.cds--label+.cds--toggletip{inset-block-start:.2rem;inset-inline-start:.5rem}.cds--label.cds--skeleton{background:var(--cds-skeleton-background,#e8e8e8);border:none;box-shadow:none;padding:0;pointer-events:none;position:relative}.cds--label.cds--skeleton:active,.cds--label.cds--skeleton:focus,.cds--label.cds--skeleton:hover{border:none;cursor:default;outline:none}.cds--label.cds--skeleton:before{animation:cds--skeleton 3s ease-in-out infinite;background:var(--cds-skeleton-element,#c6c6c6);block-size:100%;content:\"\";inline-size:100%;inset-inline-start:0;position:absolute;will-change:transform-origin,transform,opacity}@media (prefers-reduced-motion:reduce){.cds--label.cds--skeleton:before{animation:none}}@media (forced-colors:active),screen and (-ms-high-contrast:active){.cds--label.cds--skeleton{background:CanvasText}.cds--label.cds--skeleton:before{background:Canvas;forced-color-adjust:none}}.cds--label.cds--skeleton{block-size:.875rem;inline-size:4.6875rem}input[type=number],input[type=text].cds--number{font-family:IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,sans-serif}.cds--combo-box[data-invalid]:not(.cds--multi-select--selected) .cds--text-input:not(:focus),.cds--list-box[data-invalid]:not(.cds--multi-select--invalid--focused,.cds--combo-box--invalid--focused),.cds--number[data-invalid] input[type=number]:not(:focus),.cds--number[data-invalid] input[type=text]:not(:focus),.cds--select-input__wrapper[data-invalid] .cds--select-input:not(:focus),.cds--text-area__wrapper[data-invalid]>.cds--text-area--invalid:not(:focus),.cds--text-input__field-wrapper[data-invalid]>.cds--text-input--invalid:not(:focus),input[data-invalid]:not(:focus){outline:2px solid var(--cds-support-error,#da1e28);outline-offset:-2px}@media screen and (prefers-contrast){.cds--combo-box[data-invalid]:not(.cds--multi-select--selected) .cds--text-input:not(:focus),.cds--list-box[data-invalid]:not(.cds--multi-select--invalid--focused,.cds--combo-box--invalid--focused),.cds--number[data-invalid] input[type=number]:not(:focus),.cds--number[data-invalid] input[type=text]:not(:focus),.cds--select-input__wrapper[data-invalid] .cds--select-input:not(:focus),.cds--text-area__wrapper[data-invalid]>.cds--text-area--invalid:not(:focus),.cds--text-input__field-wrapper[data-invalid]>.cds--text-input--invalid:not(:focus),input[data-invalid]:not(:focus){outline-style:dotted}}.cds--date-picker-input__wrapper--invalid~.cds--form-requirement,.cds--date-picker-input__wrapper--warn~.cds--form-requirement,.cds--date-picker-input__wrapper~.cds--form-requirement,.cds--list-box--warning~.cds--form-requirement,.cds--list-box[data-invalid]~.cds--form-requirement,.cds--number[data-invalid] .cds--number__input-wrapper~.cds--form-requirement,.cds--number__input-wrapper--warning~.cds--form-requirement,.cds--select--warning .cds--select-input__wrapper~.cds--form-requirement,.cds--select-input__wrapper[data-invalid]~.cds--form-requirement,.cds--text-area__wrapper--warn~.cds--form-requirement,.cds--text-area__wrapper[data-invalid]~.cds--form-requirement,.cds--text-input__field-wrapper--warning>.cds--text-input~.cds--form-requirement,.cds--text-input__field-wrapper--warning~.cds--form-requirement,.cds--text-input__field-wrapper[data-invalid]~.cds--form-requirement,.cds--time-picker--invalid~.cds--form-requirement,.cds--time-picker--warning~.cds--form-requirement,.cds--time-picker[data-invalid]~.cds--form-requirement,:host(cds-select[warn]) .cds--select-input__wrapper~.cds--form-requirement,input[data-invalid]~.cds--form-requirement{display:block;font-weight:400;max-block-size:12.5rem;overflow:visible}.cds--select--inline.cds--select--warning .cds--select-input--inline__wrapper~.cds--form-requirement,.cds--select-input--inline__wrapper[data-invalid]~.cds--form-requirement,:host(cds-select[inline]):host(cds-select[warn]) .cds--select-input--inline__wrapper~.cds--form-requirement{display:inline-flex;inline-size:100%;margin:0;margin-block-end:0;max-block-size:100%;overflow:visible;padding-inline-start:.5rem}.cds--date-picker-input__wrapper--invalid~.cds--form-requirement,.cds--date-picker-input__wrapper~.cds--form-requirement,.cds--list-box[data-invalid]~.cds--form-requirement,.cds--number[data-invalid] .cds--number__input-wrapper~.cds--form-requirement,.cds--select-input--inline__wrapper[data-invalid]~.cds--form-requirement,.cds--select-input__wrapper[data-invalid]~.cds--form-requirement,.cds--text-area__wrapper[data-invalid]~.cds--form-requirement,.cds--text-input__field-wrapper[data-invalid]~.cds--form-requirement,.cds--time-picker--invalid~.cds--form-requirement,.cds--time-picker[data-invalid]~.cds--form-requirement,input[data-invalid]~.cds--form-requirement{color:var(--cds-text-error,#da1e28)}.cds--form--fluid .cds--text-input__field-wrapper--warning,.cds--form--fluid .cds--text-input__field-wrapper[data-invalid]{display:block}.cds--form--fluid input[data-invalid]{outline:none}.cds--form--fluid .cds--form-requirement{margin:0;padding:.5rem 2.5rem .5rem 1rem}input:not(output,[data-invalid]):-moz-ui-invalid{box-shadow:none}.cds--form-requirement html{font-size:100%}.cds--form-requirement body{font-family:IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,sans-serif;font-weight:400;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.cds--form-requirement code{font-family:IBM Plex Mono,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,monospace}.cds--form-requirement strong{font-weight:600}.cds--form-requirement{display:none;font-size:var(--cds-label-01-font-size,.75rem);font-weight:var(--cds-label-01-font-weight,400);letter-spacing:var(--cds-label-01-letter-spacing,.32px);line-height:var(--cds-label-01-line-height,1.33333);margin:.25rem 0 0;max-block-size:0;overflow:hidden}.cds--select--inline .cds--form__helper-text,:host(cds-select[inline]) .cds--form__helper-text{margin-block-start:0}.cds--form__helper-text{color:var(--cds-text-helper,#6f6f6f);font-size:var(--cds-helper-text-01-font-size,.75rem);inline-size:100%;letter-spacing:var(--cds-helper-text-01-letter-spacing,.32px);line-height:var(--cds-helper-text-01-line-height,1.33333);margin-block-start:.25rem;opacity:1;z-index:0}.cds--form__helper-text--disabled,.cds--label--disabled,fieldset[disabled] .cds--form__helper-text,fieldset[disabled] .cds--label{color:var(--cds-text-disabled,hsla(0,0%,9%,.25))}.cds--select,:host(cds-select){border:0;box-sizing:border-box;font-family:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}.cds--select *,.cds--select :after,.cds--select :before,:host(cds-select) *,:host(cds-select) :after,:host(cds-select) :before{box-sizing:inherit}.cds--select,:host(cds-select){align-items:flex-start;display:flex;flex-direction:column;inline-size:100%;position:relative}.cds--select-input__wrapper{align-items:center;display:flex;inline-size:100%;position:relative}.cds--select-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--cds-field);block-size:2.5rem;border:none;border-block-end:1px solid var(--cds-border-strong);border-radius:0;color:var(--cds-text-primary,#161616);cursor:pointer;display:block;font-family:inherit;font-size:var(--cds-body-compact-01-font-size,.875rem);font-weight:var(--cds-body-compact-01-font-weight,400);inline-size:100%;letter-spacing:var(--cds-body-compact-01-letter-spacing,.16px);line-height:var(--cds-body-compact-01-line-height,1.28572);opacity:1;outline:2px solid transparent;outline-offset:-2px;padding-block:0;padding-inline:1rem 3rem;text-overflow:ellipsis;transition:outline 70ms cubic-bezier(.2,0,.38,.9)}.cds--select-input:hover{background-color:var(--cds-field-hover)}.cds--select-input::-ms-expand{display:none}@-moz-document url-prefix(){.cds--select-input:-moz-focusring,.cds--select-input::-moz-focus-inner{background-image:none;color:transparent;text-shadow:0 0 0 #000}}.cds--select-input:focus{outline:2px solid var(--cds-focus,#0f62fe);outline-offset:-2px}@media screen and (prefers-contrast){.cds--select-input:focus{outline-style:dotted}}.cds--select-input:focus{color:var(--cds-text-primary,#161616)}.cds--select-input:disabled,.cds--select-input:hover:disabled{background-color:var(--cds-field);border-block-end-color:transparent;color:var(--cds-text-disabled,hsla(0,0%,9%,.25));cursor:not-allowed}.cds--select-input--sm{block-size:2rem;max-block-size:2rem}.cds--select-input--lg{block-size:3rem;max-block-size:3rem}.cds--select--disabled .cds--form__helper-text,.cds--select--disabled .cds--label,:host(cds-select[disabled]) .cds--form__helper-text,:host(cds-select[disabled]) .cds--label{color:var(--cds-text-disabled,hsla(0,0%,9%,.25))}.cds--select--warning .cds--select-input,.cds--select-input__wrapper[data-invalid] .cds--select-input,:host(cds-select[warn]) .cds--select-input{padding-inline-end:4rem}.cds--select-input:disabled~.cds--select__arrow{fill:var(--cds-icon-disabled,hsla(0,0%,9%,.25))}.cds--select--light .cds--select-input{background-color:var(--cds-field-02,#fff)}.cds--select--light .cds--select-input:hover{background-color:var(--cds-field-hover)}.cds--select--light .cds--select-input:disabled,.cds--select--light .cds--select-input:hover:disabled{background-color:var(--cds-field-02,#fff);color:var(--cds-text-disabled,hsla(0,0%,9%,.25));cursor:not-allowed}.cds--select__arrow{block-size:100%;position:absolute;fill:var(--cds-icon-primary,#161616);inset-block-start:0;inset-inline-end:1rem;pointer-events:none}@media screen and (-ms-high-contrast:active),screen and (prefers-contrast){.cds--select__arrow path{fill:ButtonText}}.cds--select__invalid-icon{inset-inline-end:2.5rem;position:absolute}.cds--select-input--inline__wrapper[data-invalid] .cds--select__invalid-icon,.cds--select-input__wrapper[data-invalid] .cds--select-input~.cds--select__invalid-icon{fill:var(--cds-support-error,#da1e28)}.cds--select__invalid-icon--warning{fill:var(--cds-support-warning,#f1c21b)}.cds--select__invalid-icon--warning path[fill]{fill:#000;opacity:1}.cds--select-option,optgroup.cds--select-optgroup{background-color:var(--cds-layer-hover);color:var(--cds-text-primary,#161616)}.cds--select-option:disabled,optgroup.cds--select-optgroup:disabled{color:var(--cds-text-disabled,hsla(0,0%,9%,.25))}.cds--select--inline,:host(cds-select[inline]){align-items:center;display:flex;flex-direction:row}.cds--select--inline .cds--form__helper-text,:host(cds-select[inline]) .cds--form__helper-text{margin-block-end:0;margin-inline-start:.5rem}.cds--select--inline .cds--label,:host(cds-select[inline]) .cds--label{margin:0 .5rem 0 0;white-space:nowrap}.cds--select--inline .cds--select-input,:host(cds-select[inline]) .cds--select-input{background-color:transparent;border-block-end:none;color:var(--cds-text-primary,#161616);inline-size:100%;padding-inline:.5rem 3rem}.cds--select--inline .cds--select-input:hover,:host(cds-select[inline]) .cds--select-input:hover{background-color:var(--cds-field-hover)}.cds--select--inline .cds--select-input:focus,.cds--select--inline .cds--select-input:focus optgroup,.cds--select--inline .cds--select-input:focus option,:host(cds-select[inline]) .cds--select-input:focus,:host(cds-select[inline]) .cds--select-input:focus optgroup,:host(cds-select[inline]) .cds--select-input:focus option{background-color:var(--cds-background,#fff)}.cds--select--inline .cds--select-input:focus optgroup:hover,.cds--select--inline .cds--select-input:focus option:hover,.cds--select--inline .cds--select-input:focus:hover,:host(cds-select[inline]) .cds--select-input:focus optgroup:hover,:host(cds-select[inline]) .cds--select-input:focus option:hover,:host(cds-select[inline]) .cds--select-input:focus:hover{background-color:var(--cds-field-hover)}.cds--select--inline .cds--select-input[disabled],.cds--select--inline .cds--select-input[disabled]:hover,:host(cds-select[inline]) .cds--select-input[disabled]{background-color:var(--cds-background,#fff)}.cds--select--inline .cds--select__arrow,:host(cds-select[inline]) .cds--select__arrow{inset-inline-end:.5rem}.cds--select--inline.cds--select--invalid .cds--select-input,:host(cds-select[inline]):host(cds-select[invalid]) .cds--select-input{padding-inline-end:3.5rem}.cds--select--inline.cds--select--invalid .cds--select-input~.cds--select__invalid-icon,.cds--select--inline.cds--select--warning .cds--select-input~.cds--select__invalid-icon--warning,:host(cds-select[inline]):host(cds-select[invalid]) .cds--select-input~.cds--select__invalid-icon,:host(cds-select[inline]):host(cds-select[warn]) .cds--select-input~.cds--select__invalid-icon--warning{inset-inline-end:2rem}.cds--select--inline .cds--select-input:disabled,:host(cds-select[inline]) .cds--select-input:disabled{color:var(--cds-text-disabled,hsla(0,0%,9%,.25));cursor:not-allowed}.cds--select--inline .cds--select-input:disabled~*,:host(cds-select[inline]) .cds--select-input:disabled~*{cursor:not-allowed}.cds--select--readonly .cds--select-input{background-color:transparent;border-block-end-color:var(--cds-border-subtle);cursor:default}.cds--select--readonly .cds--select__arrow{fill:var(--cds-icon-disabled,hsla(0,0%,9%,.25))}.cds--select--readonly.cds--select--inline .cds--select-input:hover{background-color:transparent}.cds--select.cds--skeleton{background:var(--cds-skeleton-background,#e8e8e8);border:none;box-shadow:none;padding:0;pointer-events:none;position:relative}.cds--select.cds--skeleton:active,.cds--select.cds--skeleton:focus,.cds--select.cds--skeleton:hover{border:none;cursor:default;outline:none}.cds--select.cds--skeleton:before{animation:cds--skeleton 3s ease-in-out infinite;background:var(--cds-skeleton-element,#c6c6c6);block-size:100%;content:\"\";inline-size:100%;inset-inline-start:0;position:absolute;will-change:transform-origin,transform,opacity}@media (prefers-reduced-motion:reduce){.cds--select.cds--skeleton:before{animation:none}}@media (forced-colors:active),screen and (-ms-high-contrast:active){.cds--select.cds--skeleton{background:CanvasText}.cds--select.cds--skeleton:before{background:Canvas;forced-color-adjust:none}}.cds--select.cds--skeleton{block-size:2.5rem;inline-size:100%}.cds--select.cds--skeleton .cds--select-input{display:none}.cds--select--decorator .cds--select__inner-wrapper--decorator>*,.cds--select--slug .cds--ai-label,.cds--select--slug .cds--slug,:host(cds-select[slug]) .cds--ai-label,:host(cds-select[slug]) .cds--slug{inset-block-start:50%;inset-inline-end:calc(2.5rem + 9px);margin-block-start:.03125rem;position:absolute;transform:translateY(-50%)}.cds--select--decorator .cds--select__inner-wrapper--decorator>:after,.cds--select--decorator .cds--select__inner-wrapper--decorator>:before,.cds--select--slug .cds--ai-label:after,.cds--select--slug .cds--ai-label:before,.cds--select--slug .cds--slug:after,.cds--select--slug .cds--slug:before,:host(cds-select[slug]) .cds--ai-label:after,:host(cds-select[slug]) .cds--ai-label:before,:host(cds-select[slug]) .cds--slug:after,:host(cds-select[slug]) .cds--slug:before{background-color:var(--cds-border-subtle-01,#c6c6c6);block-size:1rem;content:\"\";inline-size:.0625rem;position:absolute}.cds--select--decorator .cds--select__inner-wrapper--decorator>:before,.cds--select--slug .cds--ai-label:before,.cds--select--slug .cds--slug:before,:host(cds-select[slug]) .cds--ai-label:before,:host(cds-select[slug]) .cds--slug:before{display:none;inset-inline-start:calc(-.5rem - 1px)}.cds--select--decorator .cds--select__inner-wrapper--decorator>:after,.cds--select--slug .cds--ai-label:after,.cds--select--slug .cds--slug:after,:host(cds-select[slug]) .cds--ai-label:after,:host(cds-select[slug]) .cds--slug:after{display:block;inset-block-start:0;inset-inline-end:calc(-.5rem - 1px)}.cds--select--decorator .cds--select__inner-wrapper--decorator>.cds--ai-label--revert:before,.cds--select--slug .cds--ai-label--revert:before,.cds--select--slug .cds--slug--revert:before,:host(cds-select[slug]) .cds--ai-label--revert:before,:host(cds-select[slug]) .cds--slug--revert:before{inset-block-start:.5rem;inset-inline-start:0}.cds--select--decorator .cds--select__inner-wrapper--decorator>.cds--ai-label--revert,.cds--select--slug .cds--ai-label--revert,:host(cds-select[slug]) .cds--ai-label--revert{inset-inline-end:2.5625rem}.cds--select--decorator .cds--ai-label--revert:after,.cds--select--slug .cds--ai-label--revert:after,.cds--select--slug .cds--slug--revert:after,:host(cds-select[slug]) .cds--ai-label--revert:after,:host(cds-select[slug]) .cds--slug--revert:after{inset-block-start:.5rem;inset-inline-end:-1px}.cds--select--decorator .cds--select-input:has(~.cds--select__inner-wrapper--decorator),.cds--select--slug .cds--select-input:has(~.cds--ai-label),.cds--select--slug .cds--select-input:has(~.cds--slug),:host(cds-select[slug]) .cds--select-input:has(~.cds--ai-label),:host(cds-select[slug]) .cds--select-input:has(~.cds--slug){padding-inline-end:4rem}.cds--select--decorator:has(.cds--select__invalid-icon) .cds--select-input:has(~.cds--select__inner-wrapper--decorator),.cds--select--slug:has(.cds--select__invalid-icon) .cds--select-input:has(~.cds--ai-label),.cds--select--slug:has(.cds--select__invalid-icon) .cds--select-input:has(~.cds--slug),:has(.cds--select__invalid-icon):host(cds-select[slug]) .cds--select-input:has(~.cds--ai-label),:has(.cds--select__invalid-icon):host(cds-select[slug]) .cds--select-input:has(~.cds--slug){padding-inline-end:6rem}.cds--select--decorator .cds--select-input:has(~.cds--select__inner-wrapper--decorator .cds--ai-label):not(:has(~.cds--select__inner-wrapper--decorator .cds--ai-label--revert)),.cds--select--slug .cds--select-input:has(~.cds--ai-label):not(:has(~.cds--ai-label--revert)),.cds--select--slug .cds--select-input:has(~.cds--slug):not(:has(~.cds--slug--revert)),.cds--select-input-has--ai-label,:host(cds-select[slug]) .cds--select-input:has(~.cds--ai-label):not(:has(~.cds--ai-label--revert)),:host(cds-select[slug]) .cds--select-input:has(~.cds--slug):not(:has(~.cds--slug--revert)){background-image:linear-gradient(0deg,var(--cds-ai-aura-start-sm,rgba(69,137,255,.16)) 0,15%,var(--cds-ai-aura-end,hsla(0,0%,100%,0)) 50%,transparent 100%);border-block-end-color:var(--cds-ai-border-strong,#4589ff)}.cds--select--decorator:has(.cds--select__invalid-icon) .cds--select__inner-wrapper--decorator>:before,.cds--select--slug:has(.cds--select__invalid-icon) .cds--ai-label:before,.cds--select--slug:has(.cds--select__invalid-icon) .cds--slug:before,:has(.cds--select__invalid-icon):host(cds-select[slug]) .cds--ai-label:before,:has(.cds--select__invalid-icon):host(cds-select[slug]) .cds--slug:before{display:block}.cds--select--decorator .cds--select-input__wrapper .cds--select-input~.cds--select__invalid-icon,.cds--select--slug .cds--select-input__wrapper .cds--select-input~.cds--select__invalid-icon,.cds--select--slug .cds--select-input__wrapper[data-invalid] .cds--select-input~.cds--select__invalid-icon,:host(cds-select[slug]) .cds--select-input__wrapper .cds--select-input~.cds--select__invalid-icon{inset-inline-end:5rem}.cds--assistive-text,.cds--visually-hidden{block-size:1px;border:0;margin:-1px;overflow:hidden;padding:0;position:absolute;clip:rect(0,0,0,0);inline-size:1px;visibility:inherit;white-space:nowrap}:host(cds-select){outline:none}:host(cds-select) ::slotted(cds-ai-label),:host(cds-select) ::slotted(cds-slug){inset-block-start:50%;inset-inline-end:3rem;position:absolute}:host(cds-select) ::slotted(cds-ai-label:not([revert-active])),:host(cds-select) ::slotted(cds-slug:not([revert-active])){transform:translateY(-50%)}:host(cds-select) ::slotted(cds-ai-label):after,:host(cds-select) ::slotted(cds-ai-label):before{background-color:var(--cds-border-subtle-01,#c6c6c6);block-size:1rem;content:\"\";inline-size:.0625rem;inset-inline-start:calc(1.5rem - 1px);position:absolute}:host(cds-select) ::slotted(cds-ai-label):before{display:var(--cds-show-before);inset-inline-start:calc(-.5rem - 1px)}:host(cds-select[readonly]) select{pointer-events:none}:host(cds-select[pagination]) .cds--label{margin:0}:host(cds-select[pagination]) .cds--select-input{padding:0 2.25rem 0 1rem}:host(cds-select[pagination]) .cds--select-input:focus{background-color:transparent}:host(cds-select[pagination]) .cds--select__arrow{inset-block-start:50%;transform:translate(-.5rem,-50%)}:host(cds-select[pagination][left-select]) .cds--select-input{border-inline-end:1px solid var(--cds-border-subtle)}:host(cds-select[invalid]) ::slotted(cds-ai-label),:host(cds-select[invalid]) ::slotted(cds-slug),:host(cds-select[warn]) ::slotted(cds-ai-label),:host(cds-select[warn]) ::slotted(cds-slug){inset-inline-end:3rem}"]);
|
|
10
|
+
var styles = css([".cds--layer-one,:root{--cds-layer:var(--cds-layer-01,#f4f4f4);--cds-layer-active:var(--cds-layer-active-01,#c6c6c6);--cds-layer-background:var(--cds-layer-background-01,#fff);--cds-layer-hover:var(--cds-layer-hover-01,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-01,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-01,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-01,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-01,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-01,#a8a8a8);--cds-field:var(--cds-field-01,#f4f4f4);--cds-field-hover:var(--cds-field-hover-01,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-00,#e0e0e0);--cds-border-subtle-selected:var(--cds-border-subtle-selected-01,#c6c6c6);--cds-border-strong:var(--cds-border-strong-01,#8d8d8d);--cds-border-tile:var(--cds-border-tile-01,#c6c6c6)}.cds--layer-two{--cds-layer:var(--cds-layer-02,#fff);--cds-layer-active:var(--cds-layer-active-02,#c6c6c6);--cds-layer-background:var(--cds-layer-background-02,#f4f4f4);--cds-layer-hover:var(--cds-layer-hover-02,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-02,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-02,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-02,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-02,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-02,#a8a8a8);--cds-field:var(--cds-field-02,#fff);--cds-field-hover:var(--cds-field-hover-02,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-01,#c6c6c6);--cds-border-subtle-selected:var(--cds-border-subtle-selected-02,#c6c6c6);--cds-border-strong:var(--cds-border-strong-02,#8d8d8d);--cds-border-tile:var(--cds-border-tile-02,#a8a8a8)}.cds--layer-three{--cds-layer:var(--cds-layer-03,#f4f4f4);--cds-layer-active:var(--cds-layer-active-03,#c6c6c6);--cds-layer-background:var(--cds-layer-background-03,#fff);--cds-layer-hover:var(--cds-layer-hover-03,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-03,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-03,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-03,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-03,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-03,#a8a8a8);--cds-field:var(--cds-field-03,#f4f4f4);--cds-field-hover:var(--cds-field-hover-03,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-02,#e0e0e0);--cds-border-subtle-selected:var(--cds-border-subtle-selected-03,#c6c6c6);--cds-border-strong:var(--cds-border-strong-03,#8d8d8d);--cds-border-tile:var(--cds-border-tile-03,#c6c6c6)}.cds--layer-one.cds--layer__with-background,.cds--layer-three.cds--layer__with-background,.cds--layer-two.cds--layer__with-background{background-color:var(--cds-layer-background)}@keyframes cds--hide-feedback{0%{opacity:1;visibility:inherit}to{opacity:0;visibility:hidden}}@keyframes cds--show-feedback{0%{opacity:0;visibility:hidden}to{opacity:1;visibility:inherit}}@keyframes cds--skeleton{0%{opacity:.3;transform:scaleX(0);transform-origin:left}20%{opacity:1;transform:scaleX(1);transform-origin:left}28%{transform:scaleX(1);transform-origin:right}51%{transform:scaleX(0);transform-origin:right}58%{transform:scaleX(0);transform-origin:right}82%{transform:scaleX(1);transform-origin:right}83%{transform:scaleX(1);transform-origin:left}96%{transform:scaleX(0);transform-origin:left}to{opacity:.3;transform:scaleX(0);transform-origin:left}}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover,textarea:-webkit-autofill,textarea:-webkit-autofill:focus,textarea:-webkit-autofill:hover{box-shadow:0 0 0 1000px var(--cds-field) inset;-webkit-text-fill-color:var(--cds-text-primary,#161616)}.cds--fieldset{border:0;box-sizing:border-box;font-family:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}.cds--fieldset *,.cds--fieldset :after,.cds--fieldset :before{box-sizing:inherit}.cds--form-item{align-items:flex-start;display:flex;flex:1 1 auto;flex-direction:column;font-size:var(--cds-body-compact-01-font-size,.875rem);font-weight:var(--cds-body-compact-01-font-weight,400);letter-spacing:var(--cds-body-compact-01-letter-spacing,.16px);line-height:var(--cds-body-compact-01-line-height,1.28572)}.cds--label html{font-size:100%}.cds--label body{font-family:IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,sans-serif;font-weight:400;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.cds--label code{font-family:IBM Plex Mono,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,monospace}.cds--label strong{font-weight:600}.cds--label{color:var(--cds-text-secondary,#525252);display:inline-block;font-weight:var(--cds-label-01-font-weight,400);font-weight:400;line-height:var(--cds-label-01-line-height,1.33333);line-height:1rem;margin-block-end:.5rem;vertical-align:baseline}.cds--label,.cds--label .cds--toggletip-label{font-size:var(--cds-label-01-font-size,.75rem);letter-spacing:var(--cds-label-01-letter-spacing,.32px)}.cds--label .cds--toggletip-label{font-weight:var(--cds-label-01-font-weight,400);line-height:var(--cds-label-01-line-height,1.33333)}.cds--label--no-margin{margin-block-end:0}.cds--label+.cds--tooltip{inset-block-start:.2rem;inset-inline-start:.5rem;position:relative}.cds--label+.cds--tooltip .cds--tooltip__trigger{box-sizing:border-box;font-family:inherit;font-size:100%;margin:0;vertical-align:baseline}.cds--label+.cds--tooltip .cds--tooltip__trigger *,.cds--label+.cds--tooltip .cds--tooltip__trigger :after,.cds--label+.cds--tooltip .cds--tooltip__trigger :before{box-sizing:inherit}.cds--label+.cds--tooltip .cds--tooltip__trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;cursor:pointer;display:inline-block;inline-size:100%;padding:0;text-align:start}.cds--label+.cds--tooltip .cds--tooltip__trigger::-moz-focus-inner{border:0}.cds--label+.cds--tooltip .cds--tooltip__trigger{align-items:center;display:flex;font-size:var(--cds-label-01-font-size,.75rem);font-weight:var(--cds-label-01-font-weight,400);justify-content:center;letter-spacing:var(--cds-label-01-letter-spacing,.32px);line-height:var(--cds-label-01-line-height,1.33333)}.cds--label+.cds--tooltip .cds--tooltip__trigger:focus{outline:1px solid var(--cds-focus,#0f62fe)}.cds--label+.cds--tooltip .cds--tooltip__trigger svg{fill:var(--cds-icon-secondary,#525252)}.cds--label+.cds--tooltip .cds--tooltip__trigger svg :hover{fill:var(--cds-icon-primary,#161616)}.cds--label+.cds--toggletip{inset-block-start:.2rem;inset-inline-start:.5rem}.cds--label.cds--skeleton{background:var(--cds-skeleton-background,#e8e8e8);border:none;box-shadow:none;padding:0;pointer-events:none;position:relative}.cds--label.cds--skeleton:active,.cds--label.cds--skeleton:focus,.cds--label.cds--skeleton:hover{border:none;cursor:default;outline:none}.cds--label.cds--skeleton:before{animation:cds--skeleton 3s ease-in-out infinite;background:var(--cds-skeleton-element,#c6c6c6);block-size:100%;content:\"\";inline-size:100%;inset-inline-start:0;position:absolute;will-change:transform-origin,transform,opacity}@media (prefers-reduced-motion:reduce){.cds--label.cds--skeleton:before{animation:none}}@media (forced-colors:active),screen and (-ms-high-contrast:active){.cds--label.cds--skeleton{background:CanvasText}.cds--label.cds--skeleton:before{background:Canvas;forced-color-adjust:none}}.cds--label.cds--skeleton{block-size:.875rem;inline-size:4.6875rem}input[type=number],input[type=text].cds--number{font-family:IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,sans-serif}.cds--combo-box[data-invalid]:not(.cds--multi-select--selected) .cds--text-input:not(:focus),.cds--list-box[data-invalid]:not(.cds--multi-select--invalid--focused,.cds--combo-box--invalid--focused),.cds--number[data-invalid] input[type=number]:not(:focus),.cds--number[data-invalid] input[type=text]:not(:focus),.cds--select-input__wrapper[data-invalid] .cds--select-input:not(:focus),.cds--text-area__wrapper[data-invalid]>.cds--text-area--invalid:not(:focus),.cds--text-input__field-wrapper[data-invalid]>.cds--text-input--invalid:not(:focus),input[data-invalid]:not(:focus){outline:2px solid var(--cds-support-error,#da1e28);outline-offset:-2px}@media screen and (prefers-contrast){.cds--combo-box[data-invalid]:not(.cds--multi-select--selected) .cds--text-input:not(:focus),.cds--list-box[data-invalid]:not(.cds--multi-select--invalid--focused,.cds--combo-box--invalid--focused),.cds--number[data-invalid] input[type=number]:not(:focus),.cds--number[data-invalid] input[type=text]:not(:focus),.cds--select-input__wrapper[data-invalid] .cds--select-input:not(:focus),.cds--text-area__wrapper[data-invalid]>.cds--text-area--invalid:not(:focus),.cds--text-input__field-wrapper[data-invalid]>.cds--text-input--invalid:not(:focus),input[data-invalid]:not(:focus){outline-style:dotted}}.cds--date-picker-input__wrapper--invalid~.cds--form-requirement,.cds--date-picker-input__wrapper--warn~.cds--form-requirement,.cds--date-picker-input__wrapper~.cds--form-requirement,.cds--list-box--warning~.cds--form-requirement,.cds--list-box[data-invalid]~.cds--form-requirement,.cds--number[data-invalid] .cds--number__input-wrapper~.cds--form-requirement,.cds--number__input-wrapper--warning~.cds--form-requirement,.cds--select--warning .cds--select-input__wrapper~.cds--form-requirement,.cds--select-input__wrapper[data-invalid]~.cds--form-requirement,.cds--text-area__wrapper--warn~.cds--form-requirement,.cds--text-area__wrapper[data-invalid]~.cds--form-requirement,.cds--text-input__field-wrapper--warning>.cds--text-input~.cds--form-requirement,.cds--text-input__field-wrapper--warning~.cds--form-requirement,.cds--text-input__field-wrapper[data-invalid]~.cds--form-requirement,.cds--time-picker--invalid~.cds--form-requirement,.cds--time-picker--warning~.cds--form-requirement,.cds--time-picker[data-invalid]~.cds--form-requirement,:host(cds-select[warn]) .cds--select-input__wrapper~.cds--form-requirement,input[data-invalid]~.cds--form-requirement{display:block;font-weight:400;max-block-size:12.5rem;overflow:visible}.cds--select--inline.cds--select--warning .cds--select-input--inline__wrapper~.cds--form-requirement,.cds--select-input--inline__wrapper[data-invalid]~.cds--form-requirement,:host(cds-select[inline]):host(cds-select[warn]) .cds--select-input--inline__wrapper~.cds--form-requirement{display:inline-flex;inline-size:100%;margin:0;margin-block-end:0;max-block-size:100%;overflow:visible;padding-inline-start:.5rem}.cds--date-picker-input__wrapper--invalid~.cds--form-requirement,.cds--date-picker-input__wrapper~.cds--form-requirement,.cds--list-box[data-invalid]~.cds--form-requirement,.cds--number[data-invalid] .cds--number__input-wrapper~.cds--form-requirement,.cds--select-input--inline__wrapper[data-invalid]~.cds--form-requirement,.cds--select-input__wrapper[data-invalid]~.cds--form-requirement,.cds--text-area__wrapper[data-invalid]~.cds--form-requirement,.cds--text-input__field-wrapper[data-invalid]~.cds--form-requirement,.cds--time-picker--invalid~.cds--form-requirement,.cds--time-picker[data-invalid]~.cds--form-requirement,input[data-invalid]~.cds--form-requirement{color:var(--cds-text-error,#da1e28)}.cds--form--fluid .cds--text-input__field-wrapper--warning,.cds--form--fluid .cds--text-input__field-wrapper[data-invalid]{display:block}.cds--form--fluid input[data-invalid]{outline:none}.cds--form--fluid .cds--form-requirement{margin:0;padding:.5rem 2.5rem .5rem 1rem}input:not(output,[data-invalid]):-moz-ui-invalid{box-shadow:none}.cds--form-requirement html{font-size:100%}.cds--form-requirement body{font-family:IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,sans-serif;font-weight:400;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.cds--form-requirement code{font-family:IBM Plex Mono,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,monospace}.cds--form-requirement strong{font-weight:600}.cds--form-requirement{display:none;font-size:var(--cds-label-01-font-size,.75rem);font-weight:var(--cds-label-01-font-weight,400);letter-spacing:var(--cds-label-01-letter-spacing,.32px);line-height:var(--cds-label-01-line-height,1.33333);margin:.25rem 0 0;max-block-size:0;overflow:hidden}.cds--select--inline .cds--form__helper-text,:host(cds-select[inline]) .cds--form__helper-text{margin-block-start:0}.cds--form__helper-text{color:var(--cds-text-helper,#6f6f6f);font-size:var(--cds-helper-text-01-font-size,.75rem);inline-size:100%;letter-spacing:var(--cds-helper-text-01-letter-spacing,.32px);line-height:var(--cds-helper-text-01-line-height,1.33333);margin-block-start:.25rem;opacity:1;z-index:0}.cds--form__helper-text--disabled,.cds--label--disabled,fieldset[disabled] .cds--form__helper-text,fieldset[disabled] .cds--label{color:var(--cds-text-disabled,hsla(0,0%,9%,.25))}.cds--select,:host(cds-select){border:0;box-sizing:border-box;font-family:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}.cds--select *,.cds--select :after,.cds--select :before,:host(cds-select) *,:host(cds-select) :after,:host(cds-select) :before{box-sizing:inherit}.cds--select,:host(cds-select){align-items:flex-start;display:flex;flex-direction:column;inline-size:100%;position:relative}.cds--select-input__wrapper{align-items:center;display:flex;inline-size:100%;position:relative}.cds--select-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--cds-field);block-size:2.5rem;border:none;border-block-end:1px solid var(--cds-border-strong);border-radius:0;color:var(--cds-text-primary,#161616);cursor:pointer;display:block;font-family:inherit;font-size:var(--cds-body-compact-01-font-size,.875rem);font-weight:var(--cds-body-compact-01-font-weight,400);inline-size:100%;letter-spacing:var(--cds-body-compact-01-letter-spacing,.16px);line-height:var(--cds-body-compact-01-line-height,1.28572);opacity:1;outline:2px solid transparent;outline-offset:-2px;padding-block:0;padding-inline:1rem 3rem;text-overflow:ellipsis;transition:outline 70ms cubic-bezier(.2,0,.38,.9)}.cds--select-input:hover{background-color:var(--cds-field-hover)}.cds--select-input::-ms-expand{display:none}@-moz-document url-prefix(){.cds--select-input:-moz-focusring,.cds--select-input::-moz-focus-inner{background-image:none;color:transparent;text-shadow:0 0 0 #000}}.cds--select-input:focus{outline:2px solid var(--cds-focus,#0f62fe);outline-offset:-2px}@media screen and (prefers-contrast){.cds--select-input:focus{outline-style:dotted}}.cds--select-input:focus{color:var(--cds-text-primary,#161616)}.cds--select-input:disabled,.cds--select-input:hover:disabled{background-color:var(--cds-field);border-block-end-color:transparent;color:var(--cds-text-disabled,hsla(0,0%,9%,.25));cursor:not-allowed}.cds--select-input--sm{block-size:2rem;max-block-size:2rem}.cds--select-input--lg{block-size:3rem;max-block-size:3rem}.cds--select--disabled .cds--form__helper-text,.cds--select--disabled .cds--label,:host(cds-select[disabled]) .cds--form__helper-text,:host(cds-select[disabled]) .cds--label{color:var(--cds-text-disabled,hsla(0,0%,9%,.25))}.cds--select--warning .cds--select-input,.cds--select-input__wrapper[data-invalid] .cds--select-input,:host(cds-select[warn]) .cds--select-input{padding-inline-end:4rem}.cds--select-input:disabled~.cds--select__arrow{fill:var(--cds-icon-disabled,hsla(0,0%,9%,.25))}.cds--select--light .cds--select-input{background-color:var(--cds-field-02,#fff)}.cds--select--light .cds--select-input:hover{background-color:var(--cds-field-hover)}.cds--select--light .cds--select-input:disabled,.cds--select--light .cds--select-input:hover:disabled{background-color:var(--cds-field-02,#fff);color:var(--cds-text-disabled,hsla(0,0%,9%,.25));cursor:not-allowed}.cds--select__arrow{block-size:100%;position:absolute;fill:var(--cds-icon-primary,#161616);inset-block-start:0;inset-inline-end:1rem;pointer-events:none}@media screen and (-ms-high-contrast:active),screen and (prefers-contrast){.cds--select__arrow path{fill:ButtonText}}.cds--select__invalid-icon{inset-inline-end:2.5rem;position:absolute}.cds--select-input--inline__wrapper[data-invalid] .cds--select__invalid-icon,.cds--select-input__wrapper[data-invalid] .cds--select-input~.cds--select__invalid-icon{fill:var(--cds-support-error,#da1e28)}.cds--select__invalid-icon--warning{fill:var(--cds-support-warning,#f1c21b)}.cds--select__invalid-icon--warning path[fill]{fill:#000;opacity:1}.cds--select-option,optgroup.cds--select-optgroup{background-color:var(--cds-layer-hover);color:var(--cds-text-primary,#161616)}.cds--select-option:disabled,optgroup.cds--select-optgroup:disabled{color:var(--cds-text-disabled,hsla(0,0%,9%,.25))}.cds--select--inline,:host(cds-select[inline]){align-items:center;display:flex;flex-direction:row}.cds--select--inline .cds--form__helper-text,:host(cds-select[inline]) .cds--form__helper-text{margin-block-end:0;margin-inline-start:.5rem}.cds--select--inline .cds--label,:host(cds-select[inline]) .cds--label{margin:0 .5rem 0 0;white-space:nowrap}.cds--select--inline .cds--select-input,:host(cds-select[inline]) .cds--select-input{background-color:transparent;border-block-end:none;color:var(--cds-text-primary,#161616);inline-size:100%;padding-inline:.5rem 3rem}.cds--select--inline .cds--select-input:hover,:host(cds-select[inline]) .cds--select-input:hover{background-color:var(--cds-field-hover)}.cds--select--inline .cds--select-input:focus,.cds--select--inline .cds--select-input:focus optgroup,.cds--select--inline .cds--select-input:focus option,:host(cds-select[inline]) .cds--select-input:focus,:host(cds-select[inline]) .cds--select-input:focus optgroup,:host(cds-select[inline]) .cds--select-input:focus option{background-color:var(--cds-background,#fff)}.cds--select--inline .cds--select-input:focus optgroup:hover,.cds--select--inline .cds--select-input:focus option:hover,.cds--select--inline .cds--select-input:focus:hover,:host(cds-select[inline]) .cds--select-input:focus optgroup:hover,:host(cds-select[inline]) .cds--select-input:focus option:hover,:host(cds-select[inline]) .cds--select-input:focus:hover{background-color:var(--cds-field-hover)}.cds--select--inline .cds--select-input[disabled],.cds--select--inline .cds--select-input[disabled]:hover,:host(cds-select[inline]) .cds--select-input[disabled]{background-color:var(--cds-background,#fff)}.cds--select--inline .cds--select__arrow,:host(cds-select[inline]) .cds--select__arrow{inset-inline-end:.5rem}.cds--select--inline.cds--select--invalid .cds--select-input,:host(cds-select[inline]):host(cds-select[invalid]) .cds--select-input{padding-inline-end:3.5rem}.cds--select--inline.cds--select--invalid .cds--select-input~.cds--select__invalid-icon,.cds--select--inline.cds--select--warning .cds--select-input~.cds--select__invalid-icon--warning,:host(cds-select[inline]):host(cds-select[invalid]) .cds--select-input~.cds--select__invalid-icon,:host(cds-select[inline]):host(cds-select[warn]) .cds--select-input~.cds--select__invalid-icon--warning{inset-inline-end:2rem}.cds--select--inline .cds--select-input:disabled,:host(cds-select[inline]) .cds--select-input:disabled{color:var(--cds-text-disabled,hsla(0,0%,9%,.25));cursor:not-allowed}.cds--select--inline .cds--select-input:disabled~*,:host(cds-select[inline]) .cds--select-input:disabled~*{cursor:not-allowed}.cds--select--readonly .cds--select-input{background-color:transparent;border-block-end-color:var(--cds-border-subtle);cursor:default}.cds--select--readonly .cds--select__arrow{fill:var(--cds-icon-disabled,hsla(0,0%,9%,.25))}.cds--select--readonly.cds--select--inline .cds--select-input:hover{background-color:transparent}.cds--select.cds--skeleton{background:var(--cds-skeleton-background,#e8e8e8);border:none;box-shadow:none;padding:0;pointer-events:none;position:relative}.cds--select.cds--skeleton:active,.cds--select.cds--skeleton:focus,.cds--select.cds--skeleton:hover{border:none;cursor:default;outline:none}.cds--select.cds--skeleton:before{animation:cds--skeleton 3s ease-in-out infinite;background:var(--cds-skeleton-element,#c6c6c6);block-size:100%;content:\"\";inline-size:100%;inset-inline-start:0;position:absolute;will-change:transform-origin,transform,opacity}@media (prefers-reduced-motion:reduce){.cds--select.cds--skeleton:before{animation:none}}@media (forced-colors:active),screen and (-ms-high-contrast:active){.cds--select.cds--skeleton{background:CanvasText}.cds--select.cds--skeleton:before{background:Canvas;forced-color-adjust:none}}.cds--select.cds--skeleton{block-size:2.5rem;inline-size:100%}.cds--select.cds--skeleton .cds--select-input{display:none}.cds--select--decorator .cds--select__inner-wrapper--decorator>*,.cds--select--slug .cds--ai-label,.cds--select--slug .cds--slug,:host(cds-select[slug]) .cds--ai-label,:host(cds-select[slug]) .cds--slug{inset-block-start:50%;inset-inline-end:calc(2.5rem + 9px);margin-block-start:.03125rem;position:absolute;transform:translateY(-50%)}.cds--select--decorator .cds--select__inner-wrapper--decorator>:after,.cds--select--decorator .cds--select__inner-wrapper--decorator>:before,.cds--select--slug .cds--ai-label:after,.cds--select--slug .cds--ai-label:before,.cds--select--slug .cds--slug:after,.cds--select--slug .cds--slug:before,:host(cds-select[slug]) .cds--ai-label:after,:host(cds-select[slug]) .cds--ai-label:before,:host(cds-select[slug]) .cds--slug:after,:host(cds-select[slug]) .cds--slug:before{background-color:var(--cds-border-subtle-01,#c6c6c6);block-size:1rem;content:\"\";inline-size:.0625rem;position:absolute}.cds--select--decorator .cds--select__inner-wrapper--decorator>:before,.cds--select--slug .cds--ai-label:before,.cds--select--slug .cds--slug:before,:host(cds-select[slug]) .cds--ai-label:before,:host(cds-select[slug]) .cds--slug:before{display:none;inset-inline-start:calc(-.5rem - 1px)}.cds--select--decorator .cds--select__inner-wrapper--decorator>:after,.cds--select--slug .cds--ai-label:after,.cds--select--slug .cds--slug:after,:host(cds-select[slug]) .cds--ai-label:after,:host(cds-select[slug]) .cds--slug:after{display:block;inset-block-start:0;inset-inline-end:calc(-.5rem - 1px)}.cds--select--decorator .cds--select__inner-wrapper--decorator>.cds--ai-label--revert:before,.cds--select--slug .cds--ai-label--revert:before,.cds--select--slug .cds--slug--revert:before,:host(cds-select[slug]) .cds--ai-label--revert:before,:host(cds-select[slug]) .cds--slug--revert:before{inset-block-start:.5rem;inset-inline-start:0}.cds--select--decorator .cds--select__inner-wrapper--decorator>.cds--ai-label--revert,.cds--select--slug .cds--ai-label--revert,:host(cds-select[slug]) .cds--ai-label--revert{inset-inline-end:2.5625rem}.cds--select--decorator .cds--ai-label--revert:after,.cds--select--slug .cds--ai-label--revert:after,.cds--select--slug .cds--slug--revert:after,:host(cds-select[slug]) .cds--ai-label--revert:after,:host(cds-select[slug]) .cds--slug--revert:after{inset-block-start:.5rem;inset-inline-end:-1px}.cds--select--decorator .cds--select-input:has(~.cds--select__inner-wrapper--decorator),.cds--select--slug .cds--select-input:has(~.cds--ai-label),.cds--select--slug .cds--select-input:has(~.cds--slug),:host(cds-select[slug]) .cds--select-input:has(~.cds--ai-label),:host(cds-select[slug]) .cds--select-input:has(~.cds--slug){padding-inline-end:4rem}.cds--select--decorator:has(.cds--select__invalid-icon) .cds--select-input:has(~.cds--select__inner-wrapper--decorator),.cds--select--slug:has(.cds--select__invalid-icon) .cds--select-input:has(~.cds--ai-label),.cds--select--slug:has(.cds--select__invalid-icon) .cds--select-input:has(~.cds--slug),:has(.cds--select__invalid-icon):host(cds-select[slug]) .cds--select-input:has(~.cds--ai-label),:has(.cds--select__invalid-icon):host(cds-select[slug]) .cds--select-input:has(~.cds--slug){padding-inline-end:6rem}.cds--select--decorator .cds--select-input:has(~.cds--select__inner-wrapper--decorator .cds--ai-label):not(:has(~.cds--select__inner-wrapper--decorator .cds--ai-label--revert)),.cds--select--slug .cds--select-input:has(~.cds--ai-label):not(:has(~.cds--ai-label--revert)),.cds--select--slug .cds--select-input:has(~.cds--slug):not(:has(~.cds--slug--revert)),.cds--select-input-has--ai-label,:host(cds-select[slug]) .cds--select-input:has(~.cds--ai-label):not(:has(~.cds--ai-label--revert)),:host(cds-select[slug]) .cds--select-input:has(~.cds--slug):not(:has(~.cds--slug--revert)){background-image:linear-gradient(0deg,var(--cds-ai-aura-start-sm,rgba(69,137,255,.16)) 0,15%,var(--cds-ai-aura-end,hsla(0,0%,100%,0)) 50%,transparent 100%);border-block-end-color:var(--cds-ai-border-strong,#4589ff)}.cds--select--decorator:has(.cds--select__invalid-icon) .cds--select__inner-wrapper--decorator>:before,.cds--select--slug:has(.cds--select__invalid-icon) .cds--ai-label:before,.cds--select--slug:has(.cds--select__invalid-icon) .cds--slug:before,:has(.cds--select__invalid-icon):host(cds-select[slug]) .cds--ai-label:before,:has(.cds--select__invalid-icon):host(cds-select[slug]) .cds--slug:before{display:block}.cds--select--decorator .cds--select-input__wrapper .cds--select-input~.cds--select__invalid-icon,.cds--select--slug .cds--select-input__wrapper .cds--select-input~.cds--select__invalid-icon,.cds--select--slug .cds--select-input__wrapper[data-invalid] .cds--select-input~.cds--select__invalid-icon,:host(cds-select[slug]) .cds--select-input__wrapper .cds--select-input~.cds--select__invalid-icon{inset-inline-end:5rem}.cds--select--fluid .cds--select,.cds--select--fluid :host(cds-select){background:var(--cds-field);block-size:100%;position:relative;transition:background-color 70ms cubic-bezier(.2,0,.38,.9),outline 70ms cubic-bezier(.2,0,.38,.9)}.cds--select--fluid .cds--label{align-items:center;block-size:1rem;display:flex;inline-size:calc(100% - 2rem);inset-block-start:.8125rem;inset-inline-start:1rem;margin:0;position:absolute;z-index:1}.cds--select--fluid .cds--label .cds--toggletip-label::-webkit-scrollbar,.cds--select--fluid .cds--label::-webkit-scrollbar{display:none}.cds--select--fluid .cds--label .cds--toggletip-label,.cds--select--fluid .cds--label:not(:has(.cds--toggletip-label)){-ms-overflow-style:none;overflow-x:scroll;scrollbar-width:none;white-space:nowrap}.cds--select--fluid .cds--select-input{min-block-size:4rem;outline:none;padding:2rem 2rem .8125rem 1rem;text-overflow:ellipsis}.cds--select--fluid .cds--select__arrow{block-size:1rem;inset-block-start:2.125rem;inset-inline-end:.75rem}.cds--select--fluid .cds--select__divider{display:none;transition:border-color 70ms cubic-bezier(.2,0,.38,.9)}.cds--select--fluid .cds--select--invalid .cds--select-input__wrapper,.cds--select--fluid :host(cds-select[invalid]) .cds--select-input__wrapper{outline:2px solid var(--cds-support-error,#da1e28);outline-offset:-2px}@media screen and (prefers-contrast){.cds--select--fluid .cds--select--invalid .cds--select-input__wrapper,.cds--select--fluid :host(cds-select[invalid]) .cds--select-input__wrapper{outline-style:dotted}}.cds--select--fluid .cds--select--invalid .cds--select__divider,.cds--select--fluid .cds--select--warning .cds--select__divider,.cds--select--fluid :host(cds-select[invalid]) .cds--select__divider,.cds--select--fluid :host(cds-select[warn]) .cds--select__divider{border:none;border-block-end:1px solid var(--cds-border-subtle);display:block;inline-size:calc(100% - 2rem);margin:0 1rem}.cds--select--fluid .cds--select--warning .cds--select-input,.cds--select--fluid .cds--select-input__wrapper[data-invalid] .cds--select-input,.cds--select--fluid :host(cds-select[warn]) .cds--select-input{border-block-end:1px solid transparent;padding-inline-end:2rem}.cds--select--fluid .cds--select--warning,.cds--select--fluid :host(cds-select[warn]){border-block-end:1px solid var(--cds-border-strong)}.cds--select--fluid .cds--select-input__wrapper{display:block}.cds--select--fluid .cds--select--warning .cds--select-input:not(:focus),.cds--select--fluid .cds--select-input__wrapper[data-invalid] .cds--select-input:not(:focus),.cds--select--fluid :host(cds-select[warn]) .cds--select-input:not(:focus){outline:none}.cds--select--fluid .cds--select--warning .cds--form-requirement,.cds--select--fluid .cds--select-input__wrapper[data-invalid] .cds--form-requirement,.cds--select--fluid :host(cds-select[warn]) .cds--form-requirement{display:block;max-block-size:100%;overflow:visible}.cds--select--fluid .cds--select-input__wrapper[data-invalid] .cds--form-requirement{color:var(--cds-text-error,#da1e28)}.cds--select--fluid .cds--form-requirement{margin:0;padding:.5rem 2.5rem .5rem 1rem}.cds--select--fluid .cds--select--warning .cds--select-input__wrapper:hover+.cds--select__divider,.cds--select--fluid .cds--select-input__wrapper[data-invalid]:hover+.cds--select__divider,.cds--select--fluid :host(cds-select[warn]) .cds--select-input__wrapper:hover+.cds--select__divider{border-color:transparent}.cds--select--fluid .cds--select--invalid .cds--select-input__wrapper[data-invalid] .cds--select__invalid-icon,.cds--select--fluid .cds--select--warning .cds--select-input__wrapper .cds--select__invalid-icon,.cds--select--fluid :host(cds-select[invalid]) .cds--select-input__wrapper[data-invalid] .cds--select__invalid-icon,.cds--select--fluid :host(cds-select[warn]) .cds--select-input__wrapper .cds--select__invalid-icon{inset-block-start:4.5625rem;inset-inline-end:1rem;pointer-events:none}.cds--select--fluid .cds--select--fluid--focus .cds--select-input__wrapper{outline:2px solid var(--cds-focus,#0f62fe);outline-offset:-2px}@media screen and (prefers-contrast){.cds--select--fluid .cds--select--fluid--focus .cds--select-input__wrapper{outline-style:dotted}}.cds--select--fluid .cds--select--fluid--focus .cds--select-input,.cds--select--fluid .cds--select--fluid--focus.cds--select--warning{border-block-end:1px solid transparent}.cds--select--fluid .cds--select--disabled .cds--toggletip-label,.cds--select--fluid :host(cds-select[disabled]) .cds--toggletip-label{color:var(--cds-text-disabled,hsla(0,0%,9%,.25))}.cds--select--fluid .cds--select--disabled .cds--toggletip-button,.cds--select--fluid :host(cds-select[disabled]) .cds--toggletip-button{pointer-events:none}.cds--select--fluid .cds--select--disabled .cds--toggletip-button svg,.cds--select--fluid :host(cds-select[disabled]) .cds--toggletip-button svg{fill:var(--cds-icon-disabled,hsla(0,0%,9%,.25))}.cds--select--fluid .cds--select--decorator .cds--select__inner-wrapper--decorator>*,.cds--select--fluid .cds--select--slug .cds--ai-label,.cds--select--fluid .cds--select--slug .cds--slug,.cds--select--fluid :host(cds-select[slug]) .cds--ai-label,.cds--select--fluid :host(cds-select[slug]) .cds--slug{inset-block-start:2.625rem;inset-inline-end:3rem}.cds--select--fluid .cds--select--slug .cds--select-input,.cds--select--fluid :host(cds-select[slug]) .cds--select-input{padding-inline-end:4rem}.cds--select--fluid .cds--select--decorator .cds--select__inner-wrapper--decorator>.cds--ai-label:before,.cds--select--fluid .cds--select--slug:has(.cds--select__invalid-icon) .cds--ai-label:before,.cds--select--fluid .cds--select--slug:has(.cds--select__invalid-icon) .cds--slug:before,.cds--select--fluid :has(.cds--select__invalid-icon):host(cds-select[slug]) .cds--ai-label:before,.cds--select--fluid :has(.cds--select__invalid-icon):host(cds-select[slug]) .cds--slug:before{display:none}.cds--select--fluid__skeleton{background:var(--cds-skeleton-background,#e8e8e8);block-size:4rem;border-block-end:1px solid var(--cds-skeleton-element,#c6c6c6);position:relative}.cds--select--fluid__skeleton .cds--skeleton{block-size:.5rem;inline-size:25%;inset-block-start:1rem;inset-inline-start:1rem;position:absolute}.cds--select--fluid__skeleton .cds--label{block-size:.5rem;inline-size:50%;inset-block-start:2.25rem;inset-inline-start:1rem;padding:0;position:absolute}.cds--assistive-text,.cds--visually-hidden{block-size:1px;border:0;margin:-1px;overflow:hidden;padding:0;position:absolute;clip:rect(0,0,0,0);inline-size:1px;visibility:inherit;white-space:nowrap}:host(cds-select){outline:none}:host(cds-select) ::slotted(cds-ai-label),:host(cds-select) ::slotted(cds-slug){inset-block-start:50%;inset-inline-end:3rem;position:absolute}:host(cds-select) ::slotted(cds-ai-label:not([revert-active])),:host(cds-select) ::slotted(cds-slug:not([revert-active])){transform:translateY(-50%)}:host(cds-select) ::slotted(cds-ai-label):after,:host(cds-select) ::slotted(cds-ai-label):before{background-color:var(--cds-border-subtle-01,#c6c6c6);block-size:1rem;content:\"\";inline-size:.0625rem;inset-inline-start:calc(1.5rem - 1px);position:absolute}:host(cds-select) ::slotted(cds-ai-label):before{display:var(--cds-show-before);inset-inline-start:calc(-.5rem - 1px)}:host(cds-select[readonly]) select{pointer-events:none}:host(cds-select[pagination]) .cds--label{margin:0}:host(cds-select[pagination]) .cds--select-input{padding:0 2.25rem 0 1rem}:host(cds-select[pagination]) .cds--select-input:focus{background-color:transparent}:host(cds-select[pagination]) .cds--select__arrow{inset-block-start:50%;transform:translate(-.5rem,-50%)}:host(cds-select[pagination][left-select]) .cds--select-input{border-inline-end:1px solid var(--cds-border-subtle)}:host(cds-select[invalid]) ::slotted(cds-ai-label),:host(cds-select[invalid]) ::slotted(cds-slug),:host(cds-select[warn]) ::slotted(cds-ai-label),:host(cds-select[warn]) ::slotted(cds-slug){inset-inline-end:3rem}"]);
|
|
11
11
|
|
|
12
12
|
export { styles as default };
|
|
13
13
|
//# sourceMappingURL=select.scss.js.map
|
|
@@ -38,6 +38,10 @@ declare class CDSTextarea extends CDSTextInput {
|
|
|
38
38
|
* The number of columns for the textarea to show by default
|
|
39
39
|
*/
|
|
40
40
|
cols: any;
|
|
41
|
+
/**
|
|
42
|
+
* Specify whether the textarea is fluid or not
|
|
43
|
+
*/
|
|
44
|
+
isFluid: boolean;
|
|
41
45
|
/**
|
|
42
46
|
* Specify the method used for calculating the counter number
|
|
43
47
|
*/
|
|
@@ -36,6 +36,10 @@ import { iconLoader } from '../../globals/internal/icon-loader.js';
|
|
|
36
36
|
let CDSTextarea = class CDSTextarea extends CDSTextInput {
|
|
37
37
|
constructor() {
|
|
38
38
|
super(...arguments);
|
|
39
|
+
/**
|
|
40
|
+
* Specify whether the textarea is fluid or not
|
|
41
|
+
*/
|
|
42
|
+
this.isFluid = false;
|
|
39
43
|
/**
|
|
40
44
|
* Specify the method used for calculating the counter number
|
|
41
45
|
*/
|
|
@@ -149,6 +153,7 @@ let CDSTextarea = class CDSTextarea extends CDSTextInput {
|
|
|
149
153
|
const counterClasses = classMap({
|
|
150
154
|
[`${prefix}--label`]: true,
|
|
151
155
|
[`${prefix}--label--disabled`]: this.disabled,
|
|
156
|
+
[`${prefix}--text-area__label-counter`]: true,
|
|
152
157
|
});
|
|
153
158
|
const helperTextClasses = classMap({
|
|
154
159
|
[`${prefix}--form__helper-text`]: true,
|
|
@@ -172,6 +177,26 @@ let CDSTextarea = class CDSTextarea extends CDSTextInput {
|
|
|
172
177
|
}
|
|
173
178
|
return null;
|
|
174
179
|
};
|
|
180
|
+
const helper = html `
|
|
181
|
+
<div class="${helperTextClasses}" id="helper-text">
|
|
182
|
+
<slot name="helper-text">${this.helperText}</slot>
|
|
183
|
+
</div>
|
|
184
|
+
`;
|
|
185
|
+
const normalizedProps = {
|
|
186
|
+
invalid: this.invalid,
|
|
187
|
+
warn: this.warn,
|
|
188
|
+
'slot-name': this.invalid ? 'invalid-text' : 'warn-text',
|
|
189
|
+
'slot-text': this.invalid ? this.invalidText : this.warnText,
|
|
190
|
+
};
|
|
191
|
+
const validationMessage = html `
|
|
192
|
+
<div
|
|
193
|
+
class="${prefix}--form-requirement"
|
|
194
|
+
?hidden="${!normalizedProps.invalid && !normalizedProps.warn}">
|
|
195
|
+
<slot name="${normalizedProps['slot-name']}">
|
|
196
|
+
${normalizedProps['slot-text']} ${this.isFluid ? icon() : null}
|
|
197
|
+
</slot>
|
|
198
|
+
</div>
|
|
199
|
+
`;
|
|
175
200
|
return html `
|
|
176
201
|
<div class="${prefix}--text-area__label-wrapper">
|
|
177
202
|
<label class="${labelClasses}" for="input">
|
|
@@ -180,7 +205,7 @@ let CDSTextarea = class CDSTextarea extends CDSTextInput {
|
|
|
180
205
|
${counter}
|
|
181
206
|
</div>
|
|
182
207
|
<div class="${textareaWrapperClasses}" ?data-invalid="${this.invalid}">
|
|
183
|
-
${icon()}
|
|
208
|
+
${!this.isFluid ? icon() : null}
|
|
184
209
|
<textarea
|
|
185
210
|
autocomplete="${this.autocomplete}"
|
|
186
211
|
?autofocus="${this.autofocus}"
|
|
@@ -204,17 +229,15 @@ let CDSTextarea = class CDSTextarea extends CDSTextInput {
|
|
|
204
229
|
@input="${this._handleInput}"></textarea>
|
|
205
230
|
<slot name="ai-label" @slotchange="${this._handleSlotChange}"></slot>
|
|
206
231
|
<slot name="slug" @slotchange="${this._handleSlotChange}"></slot>
|
|
232
|
+
${this.isFluid
|
|
233
|
+
? html `
|
|
234
|
+
<hr class="${prefix}--text-area__divider" />
|
|
235
|
+
${validationMessage}
|
|
236
|
+
`
|
|
237
|
+
: null}
|
|
207
238
|
</div>
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
</div>
|
|
211
|
-
<div
|
|
212
|
-
class="${prefix}--form-requirement"
|
|
213
|
-
?hidden="${!this.invalid && !this.warn}">
|
|
214
|
-
<slot name="${this.invalid ? 'invalid-text' : 'warn-text'}">
|
|
215
|
-
${this.invalid ? this.invalidText : this.warnText}
|
|
216
|
-
</slot>
|
|
217
|
-
</div>
|
|
239
|
+
${ /* Non-fluid: validation and helper outside field wrapper */''}
|
|
240
|
+
${!this.isFluid ? html ` ${helper} ${validationMessage} ` : null}
|
|
218
241
|
`;
|
|
219
242
|
}
|
|
220
243
|
updated() {
|
|
@@ -268,6 +291,9 @@ CDSTextarea.styles = styles;
|
|
|
268
291
|
__decorate([
|
|
269
292
|
property({ type: Number })
|
|
270
293
|
], CDSTextarea.prototype, "cols", void 0);
|
|
294
|
+
__decorate([
|
|
295
|
+
property({ type: Boolean })
|
|
296
|
+
], CDSTextarea.prototype, "isFluid", void 0);
|
|
271
297
|
__decorate([
|
|
272
298
|
property({
|
|
273
299
|
type: String,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textarea.js","sources":["../../../src/components/textarea/textarea.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2025\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { prefix } from '../../globals/settings';\nimport WarningFilled16 from '@carbon/icons/es/warning--filled/16.js';\nimport WarningAltFilled16 from '@carbon/icons/es/warning--alt--filled/16.js';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport CDSTextInput from '../text-input/text-input';\nimport styles from './textarea.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { iconLoader } from '../../globals/internal/icon-loader';\n\n/**\n * Text area.\n *\n * @element cds-textarea\n * @slot helper-text - The helper text.\n * @slot label-text - The label text.\n * @slot validity-message - The validity message. If present and non-empty, this input shows the UI of its invalid state.\n */\n@customElement(`${prefix}-textarea`)\nclass CDSTextarea extends CDSTextInput {\n /**\n * Manually handles maxCount for counterMode = 'word'\n * @param event The keyboard event.\n */\n protected _onKeyDown(evt: KeyboardEvent) {\n if (!this.disabled && this.enableCounter && this.counterMode === 'word') {\n const currentWordCount = this.value?.match(/\\p{L}+/gu)?.length || 0;\n if (\n (this.maxCount &&\n currentWordCount >= this.maxCount &&\n evt.key === ' ') ||\n (this.maxCount &&\n currentWordCount >= this.maxCount &&\n evt.key === 'Enter')\n ) {\n evt.preventDefault();\n }\n }\n }\n\n /**\n * Handles `onPaste` event on the `<input>`.\n * Manually handles maxCount for counterMode = 'word' when\n * the user is pasting text\n *\n * @param event The clipboard event.\n */\n protected _onPaste(evt: ClipboardEvent) {\n if (\n this.counterMode === 'word' &&\n this.enableCounter &&\n typeof this.maxCount !== 'undefined'\n ) {\n const existingWords: string[] =\n this._textarea.value.match(/\\p{L}+/gu) || [];\n const pastedWords: string[] =\n evt.clipboardData?.getData('Text').match(/\\p{L}+/gu) || [];\n\n const totalWords = existingWords.length + pastedWords.length;\n\n if (totalWords > this.maxCount) {\n evt.preventDefault();\n\n const allowedWords = existingWords\n .concat(pastedWords)\n .slice(0, this.maxCount);\n\n this._textarea.value = allowedWords.join(' ');\n this._textarea.dispatchEvent(\n new InputEvent('input', {\n inputType: 'insertFromPaste',\n data: allowedWords.join(' '),\n bubbles: true,\n })\n );\n }\n }\n }\n /**\n * Handles `oninput` event on the `<input>`.\n *\n * @param event The event.\n * @param event.target The event target.\n */\n protected _handleInput({ target }: Event) {\n this.value = (target as HTMLTextAreaElement).value;\n }\n\n /**\n * The number of columns for the textarea to show by default\n */\n @property({ type: Number })\n cols;\n\n /**\n * Specify the method used for calculating the counter number\n */\n @property({\n type: String,\n reflect: true,\n hasChanged(newVal: string, oldVal: string) {\n if ((newVal === 'character' || newVal === 'word') && newVal !== oldVal) {\n return true;\n }\n return false;\n },\n attribute: 'counter-mode',\n })\n counterMode: 'character' | 'word' = 'character';\n\n /**\n * ID to link the `label` and `textarea`\n */\n @property()\n id = '';\n\n /**\n * Pattern to validate the textarea against for HTML validity checking\n */\n @property()\n pattern = '';\n\n /**\n * Boolean property to set the required status\n */\n @property({ type: Boolean, reflect: true })\n required = false;\n\n /**\n * The number of rows for the textarea to show by default\n */\n @property()\n rows = 4;\n\n /**\n * Get a reference to the underlying textarea so we can directly apply values.\n * This lets us fixe a bug where after a user would clear text, the value wouldn't update programmatically\n */\n @query('textarea')\n protected _textarea!: HTMLTextAreaElement;\n\n /**\n * The previous counterMode selected. This lets the counterMode state update\n * when the user toggles between both modes.\n */\n private _prevCounterMode: 'character' | 'word' = this.counterMode;\n\n /**\n * Observes the textarea wrapper’s size to re-measure helper/invalid/warn text width when\n * cols is updated\n */\n private _resizeObserver?: ResizeObserver;\n\n render() {\n const { enableCounter, maxCount } = this;\n\n const textCount = this.value?.length ?? 0;\n const wordCount = this.value?.match(/\\p{L}+/gu)?.length || 0;\n\n const invalidIcon = iconLoader(WarningFilled16, {\n class: `${prefix}--text-area__invalid-icon`,\n });\n\n const warnIcon = iconLoader(WarningAltFilled16, {\n class: `${prefix}--text-area__invalid-icon ${prefix}--text-area__invalid-icon--warning`,\n });\n\n const textareaClasses = classMap({\n [`${prefix}--text-area`]: true,\n [`${prefix}--text-area--warn`]: this.warn,\n [`${prefix}--text-area--invalid`]: this.invalid,\n [`${prefix}--text-area__wrapper--decorator`]: this._hasAILabel,\n });\n\n const textareaWrapperClasses = classMap({\n [`${prefix}--text-area__wrapper`]: true,\n [`${prefix}--text-area__wrapper--cols`]: this.cols,\n [`${prefix}--text-area__wrapper--warn`]: this.warn,\n [`${prefix}--text-area__wrapper--readonly`]: this.readonly,\n });\n\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--visually-hidden`]: this.hideLabel,\n [`${prefix}--label--disabled`]: this.disabled,\n });\n\n const counterClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--label--disabled`]: this.disabled,\n });\n\n const helperTextClasses = classMap({\n [`${prefix}--form__helper-text`]: true,\n [`${prefix}--form__helper-text--disabled`]: this.disabled,\n });\n\n const counter =\n enableCounter && maxCount\n ? html` <label class=\"${counterClasses}\">\n <slot name=\"label-text\"\n >${this.counterMode === 'word'\n ? wordCount\n : textCount}/${maxCount}</slot\n >\n </label>`\n : null;\n\n const icon = () => {\n if (this.invalid) {\n return invalidIcon;\n } else if (this.warn && !this.invalid) {\n return warnIcon;\n }\n return null;\n };\n\n return html`\n <div class=\"${prefix}--text-area__label-wrapper\">\n <label class=\"${labelClasses}\" for=\"input\">\n <slot name=\"label-text\"> ${this.label} </slot>\n </label>\n ${counter}\n </div>\n <div class=\"${textareaWrapperClasses}\" ?data-invalid=\"${this.invalid}\">\n ${icon()}\n <textarea\n autocomplete=\"${this.autocomplete}\"\n ?autofocus=\"${this.autofocus}\"\n class=\"${textareaClasses}\"\n cols=\"${ifDefined(this.cols)}\"\n ?data-invalid=\"${this.invalid}\"\n ?disabled=\"${this.disabled}\"\n id=\"input\"\n name=\"${ifNonEmpty(this.name)}\"\n pattern=\"${ifNonEmpty(this.pattern)}\"\n placeholder=\"${ifNonEmpty(this.placeholder)}\"\n ?readonly=\"${this.readonly}\"\n ?required=\"${this.required}\"\n rows=\"${ifDefined(this.rows)}\"\n .value=\"${this.value}\"\n maxlength=\"${this.counterMode === 'character'\n ? ifNonEmpty(this.maxCount)\n : ''}\"\n @keydown=\"${this._onKeyDown}\"\n @paste=\"${this._onPaste}\"\n @input=\"${this._handleInput}\"></textarea>\n <slot name=\"ai-label\" @slotchange=\"${this._handleSlotChange}\"></slot>\n <slot name=\"slug\" @slotchange=\"${this._handleSlotChange}\"></slot>\n </div>\n <div class=\"${helperTextClasses}\" ?hidden=\"${this.invalid || this.warn}\">\n <slot name=\"helper-text\"> ${this.helperText} </slot>\n </div>\n <div\n class=\"${prefix}--form-requirement\"\n ?hidden=\"${!this.invalid && !this.warn}\">\n <slot name=\"${this.invalid ? 'invalid-text' : 'warn-text'}\">\n ${this.invalid ? this.invalidText : this.warnText}\n </slot>\n </div>\n `;\n }\n updated(): void {\n super.updated?.();\n if (this.counterMode !== this._prevCounterMode) {\n const textarea = this._textarea;\n if (textarea) {\n if (this.counterMode === 'character') {\n textarea.setAttribute('maxlength', String(this.maxCount));\n } else {\n textarea.removeAttribute('maxlength');\n }\n }\n this._prevCounterMode = this.counterMode;\n }\n\n const wrapper = this.shadowRoot?.querySelector<HTMLElement>(\n `.${prefix}--text-area__wrapper`\n );\n if (!wrapper) return;\n\n this._resizeObserver = new ResizeObserver(() => {\n this._measureWrapper();\n });\n this._resizeObserver.observe(wrapper);\n }\n\n /**\n * Measures the width of the wrapper and applies that to the max-width of the\n * helper-text and invalid/warn-text\n */\n private _measureWrapper() {\n const wrapper = this.shadowRoot?.querySelector<HTMLElement>(\n `.${prefix}--text-area__wrapper`\n );\n\n const wrapperWidth = wrapper?.scrollWidth;\n\n const helper = this.shadowRoot?.querySelector<HTMLElement>(\n `.${prefix}--form__helper-text`\n );\n const requirement = this.shadowRoot?.querySelector<HTMLElement>(\n `.${prefix}--form-requirement`\n );\n [helper, requirement].forEach((el) => {\n if (el) {\n el.style.maxWidth = `${wrapperWidth}px`;\n el.style.overflowWrap = 'break-word';\n }\n });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback?.();\n this._resizeObserver?.disconnect();\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSTextarea;\n"],"names":["customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"textarea.js","sources":["../../../src/components/textarea/textarea.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2025\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { prefix } from '../../globals/settings';\nimport WarningFilled16 from '@carbon/icons/es/warning--filled/16.js';\nimport WarningAltFilled16 from '@carbon/icons/es/warning--alt--filled/16.js';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport CDSTextInput from '../text-input/text-input';\nimport styles from './textarea.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { iconLoader } from '../../globals/internal/icon-loader';\n\n/**\n * Text area.\n *\n * @element cds-textarea\n * @slot helper-text - The helper text.\n * @slot label-text - The label text.\n * @slot validity-message - The validity message. If present and non-empty, this input shows the UI of its invalid state.\n */\n@customElement(`${prefix}-textarea`)\nclass CDSTextarea extends CDSTextInput {\n /**\n * Manually handles maxCount for counterMode = 'word'\n * @param event The keyboard event.\n */\n protected _onKeyDown(evt: KeyboardEvent) {\n if (!this.disabled && this.enableCounter && this.counterMode === 'word') {\n const currentWordCount = this.value?.match(/\\p{L}+/gu)?.length || 0;\n if (\n (this.maxCount &&\n currentWordCount >= this.maxCount &&\n evt.key === ' ') ||\n (this.maxCount &&\n currentWordCount >= this.maxCount &&\n evt.key === 'Enter')\n ) {\n evt.preventDefault();\n }\n }\n }\n\n /**\n * Handles `onPaste` event on the `<input>`.\n * Manually handles maxCount for counterMode = 'word' when\n * the user is pasting text\n *\n * @param event The clipboard event.\n */\n protected _onPaste(evt: ClipboardEvent) {\n if (\n this.counterMode === 'word' &&\n this.enableCounter &&\n typeof this.maxCount !== 'undefined'\n ) {\n const existingWords: string[] =\n this._textarea.value.match(/\\p{L}+/gu) || [];\n const pastedWords: string[] =\n evt.clipboardData?.getData('Text').match(/\\p{L}+/gu) || [];\n\n const totalWords = existingWords.length + pastedWords.length;\n\n if (totalWords > this.maxCount) {\n evt.preventDefault();\n\n const allowedWords = existingWords\n .concat(pastedWords)\n .slice(0, this.maxCount);\n\n this._textarea.value = allowedWords.join(' ');\n this._textarea.dispatchEvent(\n new InputEvent('input', {\n inputType: 'insertFromPaste',\n data: allowedWords.join(' '),\n bubbles: true,\n })\n );\n }\n }\n }\n /**\n * Handles `oninput` event on the `<input>`.\n *\n * @param event The event.\n * @param event.target The event target.\n */\n protected _handleInput({ target }: Event) {\n this.value = (target as HTMLTextAreaElement).value;\n }\n\n /**\n * The number of columns for the textarea to show by default\n */\n @property({ type: Number })\n cols;\n\n /**\n * Specify whether the textarea is fluid or not\n */\n @property({ type: Boolean })\n isFluid = false;\n\n /**\n * Specify the method used for calculating the counter number\n */\n @property({\n type: String,\n reflect: true,\n hasChanged(newVal: string, oldVal: string) {\n if ((newVal === 'character' || newVal === 'word') && newVal !== oldVal) {\n return true;\n }\n return false;\n },\n attribute: 'counter-mode',\n })\n counterMode: 'character' | 'word' = 'character';\n\n /**\n * ID to link the `label` and `textarea`\n */\n @property()\n id = '';\n\n /**\n * Pattern to validate the textarea against for HTML validity checking\n */\n @property()\n pattern = '';\n\n /**\n * Boolean property to set the required status\n */\n @property({ type: Boolean, reflect: true })\n required = false;\n\n /**\n * The number of rows for the textarea to show by default\n */\n @property()\n rows = 4;\n\n /**\n * Get a reference to the underlying textarea so we can directly apply values.\n * This lets us fixe a bug where after a user would clear text, the value wouldn't update programmatically\n */\n @query('textarea')\n protected _textarea!: HTMLTextAreaElement;\n\n /**\n * The previous counterMode selected. This lets the counterMode state update\n * when the user toggles between both modes.\n */\n private _prevCounterMode: 'character' | 'word' = this.counterMode;\n\n /**\n * Observes the textarea wrapper’s size to re-measure helper/invalid/warn text width when\n * cols is updated\n */\n private _resizeObserver?: ResizeObserver;\n\n render() {\n const { enableCounter, maxCount } = this;\n\n const textCount = this.value?.length ?? 0;\n const wordCount = this.value?.match(/\\p{L}+/gu)?.length || 0;\n\n const invalidIcon = iconLoader(WarningFilled16, {\n class: `${prefix}--text-area__invalid-icon`,\n });\n\n const warnIcon = iconLoader(WarningAltFilled16, {\n class: `${prefix}--text-area__invalid-icon ${prefix}--text-area__invalid-icon--warning`,\n });\n\n const textareaClasses = classMap({\n [`${prefix}--text-area`]: true,\n [`${prefix}--text-area--warn`]: this.warn,\n [`${prefix}--text-area--invalid`]: this.invalid,\n [`${prefix}--text-area__wrapper--decorator`]: this._hasAILabel,\n });\n\n const textareaWrapperClasses = classMap({\n [`${prefix}--text-area__wrapper`]: true,\n [`${prefix}--text-area__wrapper--cols`]: this.cols,\n [`${prefix}--text-area__wrapper--warn`]: this.warn,\n [`${prefix}--text-area__wrapper--readonly`]: this.readonly,\n });\n\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--visually-hidden`]: this.hideLabel,\n [`${prefix}--label--disabled`]: this.disabled,\n });\n\n const counterClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--label--disabled`]: this.disabled,\n [`${prefix}--text-area__label-counter`]: true,\n });\n\n const helperTextClasses = classMap({\n [`${prefix}--form__helper-text`]: true,\n [`${prefix}--form__helper-text--disabled`]: this.disabled,\n });\n\n const counter =\n enableCounter && maxCount\n ? html` <label class=\"${counterClasses}\">\n <slot name=\"label-text\"\n >${this.counterMode === 'word'\n ? wordCount\n : textCount}/${maxCount}</slot\n >\n </label>`\n : null;\n\n const icon = () => {\n if (this.invalid) {\n return invalidIcon;\n } else if (this.warn && !this.invalid) {\n return warnIcon;\n }\n return null;\n };\n\n const helper = html`\n <div class=\"${helperTextClasses}\" id=\"helper-text\">\n <slot name=\"helper-text\">${this.helperText}</slot>\n </div>\n `;\n\n const normalizedProps = {\n invalid: this.invalid,\n warn: this.warn,\n 'slot-name': this.invalid ? 'invalid-text' : 'warn-text',\n 'slot-text': this.invalid ? this.invalidText : this.warnText,\n };\n\n const validationMessage = html`\n <div\n class=\"${prefix}--form-requirement\"\n ?hidden=\"${!normalizedProps.invalid && !normalizedProps.warn}\">\n <slot name=\"${normalizedProps['slot-name']}\">\n ${normalizedProps['slot-text']} ${this.isFluid ? icon() : null}\n </slot>\n </div>\n `;\n\n return html`\n <div class=\"${prefix}--text-area__label-wrapper\">\n <label class=\"${labelClasses}\" for=\"input\">\n <slot name=\"label-text\"> ${this.label} </slot>\n </label>\n ${counter}\n </div>\n <div class=\"${textareaWrapperClasses}\" ?data-invalid=\"${this.invalid}\">\n ${!this.isFluid ? icon() : null}\n <textarea\n autocomplete=\"${this.autocomplete}\"\n ?autofocus=\"${this.autofocus}\"\n class=\"${textareaClasses}\"\n cols=\"${ifDefined(this.cols)}\"\n ?data-invalid=\"${this.invalid}\"\n ?disabled=\"${this.disabled}\"\n id=\"input\"\n name=\"${ifNonEmpty(this.name)}\"\n pattern=\"${ifNonEmpty(this.pattern)}\"\n placeholder=\"${ifNonEmpty(this.placeholder)}\"\n ?readonly=\"${this.readonly}\"\n ?required=\"${this.required}\"\n rows=\"${ifDefined(this.rows)}\"\n .value=\"${this.value}\"\n maxlength=\"${this.counterMode === 'character'\n ? ifNonEmpty(this.maxCount)\n : ''}\"\n @keydown=\"${this._onKeyDown}\"\n @paste=\"${this._onPaste}\"\n @input=\"${this._handleInput}\"></textarea>\n <slot name=\"ai-label\" @slotchange=\"${this._handleSlotChange}\"></slot>\n <slot name=\"slug\" @slotchange=\"${this._handleSlotChange}\"></slot>\n ${this.isFluid\n ? html`\n <hr class=\"${prefix}--text-area__divider\" />\n ${validationMessage}\n `\n : null}\n </div>\n ${/* Non-fluid: validation and helper outside field wrapper */ ''}\n ${!this.isFluid ? html` ${helper} ${validationMessage} ` : null}\n `;\n }\n updated(): void {\n super.updated?.();\n if (this.counterMode !== this._prevCounterMode) {\n const textarea = this._textarea;\n if (textarea) {\n if (this.counterMode === 'character') {\n textarea.setAttribute('maxlength', String(this.maxCount));\n } else {\n textarea.removeAttribute('maxlength');\n }\n }\n this._prevCounterMode = this.counterMode;\n }\n\n const wrapper = this.shadowRoot?.querySelector<HTMLElement>(\n `.${prefix}--text-area__wrapper`\n );\n if (!wrapper) return;\n\n this._resizeObserver = new ResizeObserver(() => {\n this._measureWrapper();\n });\n this._resizeObserver.observe(wrapper);\n }\n\n /**\n * Measures the width of the wrapper and applies that to the max-width of the\n * helper-text and invalid/warn-text\n */\n private _measureWrapper() {\n const wrapper = this.shadowRoot?.querySelector<HTMLElement>(\n `.${prefix}--text-area__wrapper`\n );\n\n const wrapperWidth = wrapper?.scrollWidth;\n\n const helper = this.shadowRoot?.querySelector<HTMLElement>(\n `.${prefix}--form__helper-text`\n );\n const requirement = this.shadowRoot?.querySelector<HTMLElement>(\n `.${prefix}--form-requirement`\n );\n [helper, requirement].forEach((el) => {\n if (el) {\n el.style.maxWidth = `${wrapperWidth}px`;\n el.style.overflowWrap = 'break-word';\n }\n });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback?.();\n this._resizeObserver?.disconnect();\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSTextarea;\n"],"names":["customElement"],"mappings":"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"}
|
|
@@ -148,13 +148,18 @@ let CDSTimePicker = class CDSTimePicker extends ValidityMixin(FormMixin(LitEleme
|
|
|
148
148
|
}
|
|
149
149
|
render() {
|
|
150
150
|
const { className, disabled, hideLabel, invalid, invalidText, warning, warningText, labelText, placeholder, readOnly, maxLength, pattern, size, type, value, _handleInput: handleInput, _handleSlotChange: handleSlotChange, } = this;
|
|
151
|
+
const normalizedProps = {
|
|
152
|
+
disabled: !readOnly && disabled,
|
|
153
|
+
invalid: !readOnly && !disabled && invalid,
|
|
154
|
+
warn: !readOnly && !invalid && !disabled && warning,
|
|
155
|
+
};
|
|
151
156
|
const labelClasses = classMap({
|
|
152
157
|
[`${prefix}--label`]: true,
|
|
153
158
|
[`${prefix}--visually-hidden`]: hideLabel,
|
|
154
159
|
[`${prefix}--label--disabled`]: disabled,
|
|
155
160
|
});
|
|
156
|
-
const timePickerClasses = classMap(Object.assign({ [`${prefix}--time-picker`]: true, [`${prefix}--time-picker--invalid`]: invalid, [`${prefix}--time-picker--warning`]:
|
|
157
|
-
const inputClasses = classMap(Object.assign({ [`${prefix}--time-picker__input-field`]: true, [`${prefix}--text-input`]: true, [`${prefix}--time-picker__input-field-error`]: invalid ||
|
|
161
|
+
const timePickerClasses = classMap(Object.assign({ [`${prefix}--time-picker`]: true, [`${prefix}--time-picker--invalid`]: normalizedProps.invalid, [`${prefix}--time-picker--warning`]: normalizedProps.warn, [`${prefix}--time-picker--readonly`]: readOnly, [`${prefix}--time-picker--${size}`]: size }, (className && { [className]: true })));
|
|
162
|
+
const inputClasses = classMap(Object.assign({ [`${prefix}--time-picker__input-field`]: true, [`${prefix}--text-input`]: true, [`${prefix}--time-picker__input-field-error`]: normalizedProps.invalid || normalizedProps.warn }, (className && { [className]: true })));
|
|
158
163
|
const label = labelText
|
|
159
164
|
? html `<label class="${labelClasses}">${labelText}</label>`
|
|
160
165
|
: null;
|
|
@@ -165,8 +170,8 @@ let CDSTimePicker = class CDSTimePicker extends ValidityMixin(FormMixin(LitEleme
|
|
|
165
170
|
<div class="${prefix}--time-picker__input">
|
|
166
171
|
<input
|
|
167
172
|
class="${inputClasses}"
|
|
168
|
-
?data-invalid="${invalid}"
|
|
169
|
-
?disabled="${disabled}"
|
|
173
|
+
?data-invalid="${normalizedProps.invalid}"
|
|
174
|
+
?disabled="${normalizedProps.disabled}"
|
|
170
175
|
maxlength="${ifNonEmpty(maxLength)}"
|
|
171
176
|
name="${ifNonEmpty(this.name)}"
|
|
172
177
|
pattern="${ifNonEmpty(pattern)}"
|
|
@@ -175,10 +180,10 @@ let CDSTimePicker = class CDSTimePicker extends ValidityMixin(FormMixin(LitEleme
|
|
|
175
180
|
type="${ifNonEmpty(type)}"
|
|
176
181
|
.value="${value}"
|
|
177
182
|
@input="${handleInput}" />
|
|
178
|
-
${invalid ||
|
|
183
|
+
${normalizedProps.invalid || normalizedProps.warn
|
|
179
184
|
? html `
|
|
180
185
|
<div class="${prefix}--time-picker__error__icon">
|
|
181
|
-
${invalid
|
|
186
|
+
${normalizedProps.invalid
|
|
182
187
|
? iconLoader(WarningFilled16, {
|
|
183
188
|
class: `${prefix}--checkbox__invalid-icon`,
|
|
184
189
|
})
|
|
@@ -191,10 +196,10 @@ let CDSTimePicker = class CDSTimePicker extends ValidityMixin(FormMixin(LitEleme
|
|
|
191
196
|
</div>
|
|
192
197
|
<slot @slotchange="${handleSlotChange}"></slot>
|
|
193
198
|
</div>
|
|
194
|
-
${invalid ||
|
|
199
|
+
${normalizedProps.invalid || normalizedProps.warn
|
|
195
200
|
? html `
|
|
196
201
|
<div class="${prefix}--form-requirement">
|
|
197
|
-
${invalid ? invalidText : warningText}
|
|
202
|
+
${normalizedProps.invalid ? invalidText : warningText}
|
|
198
203
|
</div>
|
|
199
204
|
`
|
|
200
205
|
: null}
|