@universal-material/web 3.0.137 → 3.0.139
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/app-bar/top-app-bar.d.ts +3 -3
- package/app-bar/top-app-bar.d.ts.map +1 -1
- package/app-bar/top-app-bar.js +2 -7
- package/app-bar/top-app-bar.js.map +1 -1
- package/button/button-base.d.ts.map +1 -1
- package/button/button-base.js +3 -8
- package/button/button-base.js.map +1 -1
- package/button/button-set.d.ts.map +1 -1
- package/button/button-set.js +2 -7
- package/button/button-set.js.map +1 -1
- package/button/button.d.ts.map +1 -1
- package/button/button.js +2 -7
- package/button/button.js.map +1 -1
- package/button/button.styles.js +1 -1
- package/button/button.styles.js.map +1 -1
- package/button/fab.d.ts.map +1 -1
- package/button/fab.js +2 -7
- package/button/fab.js.map +1 -1
- package/button/icon-button.d.ts.map +1 -1
- package/button/icon-button.js +2 -7
- package/button/icon-button.js.map +1 -1
- package/button/icon-button.styles.js +1 -1
- package/button/icon-button.styles.js.map +1 -1
- package/button-field/button-field.d.ts.map +1 -1
- package/button-field/button-field.js +1 -6
- package/button-field/button-field.js.map +1 -1
- package/calendar/calendar-adapter.d.ts +6 -0
- package/calendar/calendar-adapter.d.ts.map +1 -0
- package/calendar/calendar-adapter.js +2 -0
- package/calendar/calendar-adapter.js.map +1 -0
- package/calendar/calendar-base.d.ts +30 -0
- package/calendar/calendar-base.d.ts.map +1 -0
- package/calendar/calendar-base.js +188 -0
- package/calendar/calendar-base.js.map +1 -0
- package/calendar/calendar-base.styles.d.ts +2 -0
- package/calendar/calendar-base.styles.d.ts.map +1 -0
- package/calendar/calendar-base.styles.js +81 -0
- package/calendar/calendar-base.styles.js.map +1 -0
- package/calendar/calendar.d.ts +11 -0
- package/calendar/calendar.d.ts.map +1 -0
- package/calendar/calendar.js +43 -0
- package/calendar/calendar.js.map +1 -0
- package/calendar/calendar.styles.d.ts +2 -0
- package/calendar/calendar.styles.d.ts.map +1 -0
- package/calendar/calendar.styles.js +5 -0
- package/calendar/calendar.styles.js.map +1 -0
- package/calendar/default-calendar-adapter.d.ts +10 -0
- package/calendar/default-calendar-adapter.d.ts.map +1 -0
- package/calendar/default-calendar-adapter.js +32 -0
- package/calendar/default-calendar-adapter.js.map +1 -0
- package/calendar/range-calendar.d.ts +16 -0
- package/calendar/range-calendar.d.ts.map +1 -0
- package/calendar/range-calendar.js +113 -0
- package/calendar/range-calendar.js.map +1 -0
- package/calendar/range-calendar.styles.d.ts +2 -0
- package/calendar/range-calendar.styles.d.ts.map +1 -0
- package/calendar/range-calendar.styles.js +41 -0
- package/calendar/range-calendar.styles.js.map +1 -0
- package/card/card-content.d.ts.map +1 -1
- package/card/card-content.js +1 -6
- package/card/card-content.js.map +1 -1
- package/card/card-media.d.ts.map +1 -1
- package/card/card-media.js +1 -6
- package/card/card-media.js.map +1 -1
- package/card/card.js +1 -6
- package/card/card.js.map +1 -1
- package/checkbox/checkbox-list-item.js +1 -6
- package/checkbox/checkbox-list-item.js.map +1 -1
- package/checkbox/checkbox.d.ts.map +1 -1
- package/checkbox/checkbox.js +2 -8
- package/checkbox/checkbox.js.map +1 -1
- package/chip/chip-set.d.ts.map +1 -1
- package/chip/chip-set.js +2 -7
- package/chip/chip-set.js.map +1 -1
- package/chip/chip.d.ts.map +1 -1
- package/chip/chip.js +2 -7
- package/chip/chip.js.map +1 -1
- package/chip-field/chip-field.d.ts.map +1 -1
- package/chip-field/chip-field.js +2 -7
- package/chip-field/chip-field.js.map +1 -1
- package/config.d.ts.map +1 -1
- package/config.js +8 -8
- package/config.js.map +1 -1
- package/custom-elements.json +5564 -4177
- package/datepicker/datepicker.d.ts +1 -0
- package/datepicker/datepicker.d.ts.map +1 -0
- package/datepicker/datepicker.js +2 -0
- package/datepicker/datepicker.js.map +1 -0
- package/datepicker/datepicker.styles.d.ts +2 -0
- package/datepicker/datepicker.styles.d.ts.map +1 -0
- package/datepicker/datepicker.styles.js +5 -0
- package/datepicker/datepicker.styles.js.map +1 -0
- package/dialog/confirm-dialog-builder.js.map +1 -1
- package/dialog/dialog-builder.js.map +1 -1
- package/dialog/dialog.d.ts.map +1 -1
- package/dialog/dialog.js +2 -7
- package/dialog/dialog.js.map +1 -1
- package/dialog/message-dialog-builder.js.map +1 -1
- package/elevation/elevation.js +2 -7
- package/elevation/elevation.js.map +1 -1
- package/field/field-base.d.ts +2 -2
- package/field/field-base.d.ts.map +1 -1
- package/field/field-base.js +1 -6
- package/field/field-base.js.map +1 -1
- package/field/field-base.styles.js +3 -3
- package/field/field-base.styles.js.map +1 -1
- package/field/field-defaults.d.ts.map +1 -1
- package/field/field-defaults.js.map +1 -1
- package/field/field.d.ts +1 -1
- package/field/field.d.ts.map +1 -1
- package/field/field.js +1 -6
- package/field/field.js.map +1 -1
- package/index.d.ts +3 -0
- package/index.d.ts.map +1 -1
- package/index.js +3 -0
- package/index.js.map +1 -1
- package/list/list-item.js +1 -6
- package/list/list-item.js.map +1 -1
- package/list/list.js +1 -6
- package/list/list.js.map +1 -1
- package/menu/menu-item.d.ts.map +1 -1
- package/menu/menu-item.js +2 -7
- package/menu/menu-item.js.map +1 -1
- package/menu/menu.d.ts.map +1 -1
- package/menu/menu.js +8 -13
- package/menu/menu.js.map +1 -1
- package/navigation/drawer-item.d.ts.map +1 -1
- package/navigation/drawer-item.js +3 -8
- package/navigation/drawer-item.js.map +1 -1
- package/navigation/drawer.js +2 -7
- package/navigation/drawer.js.map +1 -1
- package/navigation/side-navigation.d.ts.map +1 -1
- package/navigation/side-navigation.js +2 -8
- package/navigation/side-navigation.js.map +1 -1
- package/package.json +40 -31
- package/progress/circular-progress.d.ts.map +1 -1
- package/progress/circular-progress.js +1 -6
- package/progress/circular-progress.js.map +1 -1
- package/progress/progress-bar.d.ts.map +1 -1
- package/progress/progress-bar.js +1 -6
- package/progress/progress-bar.js.map +1 -1
- package/radio/radio-list-item.js +1 -6
- package/radio/radio-list-item.js.map +1 -1
- package/radio/radio.d.ts.map +1 -1
- package/radio/radio.js +2 -7
- package/radio/radio.js.map +1 -1
- package/ripple/ripple.d.ts.map +1 -1
- package/ripple/ripple.js +7 -12
- package/ripple/ripple.js.map +1 -1
- package/ripple/ripple.styles.js +1 -1
- package/ripple/ripple.styles.js.map +1 -1
- package/scss/_css-vars.scss +7 -10
- package/scss/_functions.scss +2 -2
- package/scss/_global.scss +5 -1
- package/scss/_reboot.scss +4 -4
- package/scss/_utilities.scss +1 -0
- package/scss/mixins/_colors.scss +0 -1
- package/scss/mixins/_text-bg.scss +8 -8
- package/scss/table/_table.scss +3 -3
- package/scss/utilities/_scheme.scss +9 -0
- package/select/extended-option.d.ts.map +1 -1
- package/select/extended-option.js.map +1 -1
- package/select/option.d.ts.map +1 -1
- package/select/option.js +2 -9
- package/select/option.js.map +1 -1
- package/select/option.styles.js +1 -1
- package/select/option.styles.js.map +1 -1
- package/select/select-navigation-controller.js +1 -1
- package/select/select-navigation-controller.js.map +1 -1
- package/select/select.d.ts.map +1 -1
- package/select/select.js +2 -8
- package/select/select.js.map +1 -1
- package/shared/button-wrapper.d.ts.map +1 -1
- package/shared/button-wrapper.js +3 -7
- package/shared/button-wrapper.js.map +1 -1
- package/shared/button-wrapper.styles.js +2 -2
- package/shared/button-wrapper.styles.js.map +1 -1
- package/shared/char-count-text-field/native-text-field-wrapper.d.ts.map +1 -1
- package/shared/char-count-text-field/native-text-field-wrapper.js +1 -6
- package/shared/char-count-text-field/native-text-field-wrapper.js.map +1 -1
- package/shared/compare-text.d.ts +1 -1
- package/shared/compare-text.d.ts.map +1 -1
- package/shared/compare-text.js +3 -3
- package/shared/compare-text.js.map +1 -1
- package/shared/events/redispatch-event.d.ts +1 -1
- package/shared/events/redispatch-event.d.ts.map +1 -1
- package/shared/events/redispatch-event.js +2 -2
- package/shared/events/redispatch-event.js.map +1 -1
- package/shared/extract-template-html.d.ts +1 -1
- package/shared/extract-template-html.d.ts.map +1 -1
- package/shared/extract-template-html.js +2 -2
- package/shared/extract-template-html.js.map +1 -1
- package/shared/menu-field/menu-field-navigation-controller.d.ts.map +1 -1
- package/shared/menu-field/menu-field-navigation-controller.js +4 -2
- package/shared/menu-field/menu-field-navigation-controller.js.map +1 -1
- package/shared/mixin-attribute-properties.d.ts.map +1 -1
- package/shared/mixin-attribute-properties.js +4 -4
- package/shared/mixin-attribute-properties.js.map +1 -1
- package/shared/mixin.d.ts.map +1 -1
- package/shared/mixin.js.map +1 -1
- package/shared/normalize-text.d.ts +1 -1
- package/shared/normalize-text.d.ts.map +1 -1
- package/shared/normalize-text.js +2 -2
- package/shared/normalize-text.js.map +1 -1
- package/shared/selection-control/selection-control-list-item.d.ts.map +1 -1
- package/shared/selection-control/selection-control-list-item.js +1 -6
- package/shared/selection-control/selection-control-list-item.js.map +1 -1
- package/shared/selection-control/selection-control.d.ts +2 -2
- package/shared/selection-control/selection-control.d.ts.map +1 -1
- package/shared/selection-control/selection-control.js +9 -14
- package/shared/selection-control/selection-control.js.map +1 -1
- package/shared/sets/set-base.d.ts.map +1 -1
- package/shared/sets/set-base.js +1 -6
- package/shared/sets/set-base.js.map +1 -1
- package/shared/text-field-base/text-field-base.d.ts.map +1 -1
- package/shared/text-field-base/text-field-base.js +2 -7
- package/shared/text-field-base/text-field-base.js.map +1 -1
- package/snackbar/snackbar.d.ts +1 -1
- package/snackbar/snackbar.d.ts.map +1 -1
- package/snackbar/snackbar.js +2 -7
- package/snackbar/snackbar.js.map +1 -1
- package/switch/switch-list-item.js +1 -6
- package/switch/switch-list-item.js.map +1 -1
- package/switch/switch.d.ts.map +1 -1
- package/switch/switch.js +2 -7
- package/switch/switch.js.map +1 -1
- package/switch/switch.styles.js +1 -1
- package/switch/switch.styles.js.map +1 -1
- package/tab-bar/tab-bar.d.ts +4 -4
- package/tab-bar/tab-bar.d.ts.map +1 -1
- package/tab-bar/tab-bar.js +8 -12
- package/tab-bar/tab-bar.js.map +1 -1
- package/tab-bar/tab.d.ts.map +1 -1
- package/tab-bar/tab.js +2 -7
- package/tab-bar/tab.js.map +1 -1
- package/text-area/text-area.d.ts.map +1 -1
- package/text-area/text-area.js +2 -7
- package/text-area/text-area.js.map +1 -1
- package/text-field/text-field.d.ts +1 -0
- package/text-field/text-field.d.ts.map +1 -1
- package/text-field/text-field.js +7 -7
- package/text-field/text-field.js.map +1 -1
- package/text-field/text-field.styles.js +2 -2
- package/text-field/text-field.styles.js.map +1 -1
- package/theme/css-var-builder.d.ts +1 -0
- package/theme/css-var-builder.d.ts.map +1 -1
- package/theme/css-var-builder.js +4 -2
- package/theme/css-var-builder.js.map +1 -1
- package/theme/neutral-colors.d.ts.map +1 -1
- package/theme/neutral-colors.js +1 -1
- package/theme/neutral-colors.js.map +1 -1
- package/theme/theme-builder.d.ts +1 -1
- package/theme/theme-builder.d.ts.map +1 -1
- package/theme/theme-builder.js +20 -33
- package/theme/theme-builder.js.map +1 -1
- package/typeahead/highlight.d.ts.map +1 -1
- package/typeahead/highlight.js +6 -15
- package/typeahead/highlight.js.map +1 -1
- package/typeahead/typeahead.d.ts.map +1 -1
- package/typeahead/typeahead.js +4 -8
- package/typeahead/typeahead.js.map +1 -1
- package/css/universal-material.css +0 -4700
- package/css/universal-material.min.css +0 -2
- package/theme/rgb-color.d.ts +0 -9
- package/theme/rgb-color.d.ts.map +0 -1
- package/theme/rgb-color.js +0 -13
- package/theme/rgb-color.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-list-item.js","sourceRoot":"","sources":["../../src/radio/radio-list-item.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"radio-list-item.js","sourceRoot":"","sources":["../../src/radio/radio-list-item.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,6BAA6B,EAAE,MAAM,4DAA4D,CAAC;AAC3G,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG9B,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,6BAA6B,CAAC,OAAO,CAAC;CAE1E,CAAA;AAFY,eAAe;IAD3B,aAAa,CAAC,mBAAmB,CAAC;GACtB,eAAe,CAE3B","sourcesContent":["import { customElement } from 'lit/decorators.js';\n\nimport { mixinSelectionControlListItem } from '../shared/selection-control/selection-control-list-item.js';\nimport { UmRadio } from './radio.js';\n\n@customElement('u-radio-list-item')\nexport class UmRadioListItem extends mixinSelectionControlListItem(UmRadio) {\n\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-radio-list-item': UmRadioListItem;\n }\n}\n"]}
|
package/radio/radio.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio.d.ts","sourceRoot":"","sources":["../../src/radio/radio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"radio.d.ts","sourceRoot":"","sources":["../../src/radio/radio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAQ,kBAAkB,EAAE,MAAM,KAAK,CAAC;AAG/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AAGtF,qBACa,OAAQ,SAAQ,kBAAkB;;IAC7C,OAAgB,MAAM,iCAAuC;IAEc,cAAc,UAAS;IAElG,UAAmB,SAAS,EAAE,OAAO,GAAG,UAAU,CAAW;cAE1C,eAAe,IAAI,kBAAkB;IAMxD,IAAa,OAAO,IAIQ,OAAO,CAFlC;IAED,IAAa,OAAO,CAAC,KAAK,EAAE,OAAO,EAYlC;;IAcQ,YAAY,CAAC,iBAAiB,EAAE,cAAc;IAM9C,iBAAiB;IAKjB,oBAAoB;IAkE7B,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,eAAe;CAaxB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,OAAO,CAAC;KACpB;CACF"}
|
package/radio/radio.js
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
1
|
+
import { __decorate } from "tslib";
|
|
7
2
|
import { html } from 'lit';
|
|
8
3
|
import { customElement, property } from 'lit/decorators.js';
|
|
9
|
-
import { styles } from './radio.styles.js';
|
|
10
4
|
import { UmSelectionControl } from '../shared/selection-control/selection-control.js';
|
|
5
|
+
import { styles } from './radio.styles.js';
|
|
11
6
|
let UmRadio = class UmRadio extends UmSelectionControl {
|
|
12
7
|
static { this.styles = [UmSelectionControl.styles, styles]; }
|
|
13
8
|
renderIndicator() {
|
package/radio/radio.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio.js","sourceRoot":"","sources":["../../src/radio/radio.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"radio.js","sourceRoot":"","sources":["../../src/radio/radio.ts"],"names":[],"mappings":"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","sourcesContent":["import { PropertyValues } from '@lit/reactive-element';\n\nimport { html, HTMLTemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport { UmSelectionControl } from '../shared/selection-control/selection-control.js';\nimport { styles } from './radio.styles.js';\n\n@customElement('u-radio')\nexport class UmRadio extends UmSelectionControl {\n static override styles = [UmSelectionControl.styles, styles];\n\n @property({ type: Boolean, attribute: 'hide-state-layer', reflect: true }) hideStateLayer = false;\n\n protected override inputType: 'radio' | 'checkbox' = 'radio';\n\n protected override renderIndicator(): HTMLTemplateResult {\n return html`\n <div class=\"indicator\"></div>\n `;\n }\n\n override get checked() {\n return super.checked;\n }\n\n override set checked(value: boolean) {\n super.checked = value;\n\n if (!value) {\n return;\n }\n\n this.uncheckSiblings();\n\n if (this.input) {\n this.input.tabIndex = 0;\n }\n }\n\n get #siblings(): UmRadio[] {\n if (!this.name) {\n return [this];\n }\n\n return Array.from((this.getRootNode() as Element).querySelectorAll<UmRadio>(`${this.tagName}[name=\"${this.name}\"]`));\n }\n\n constructor() {\n super();\n }\n\n override firstUpdated(changedProperties: PropertyValues) {\n super.firstUpdated(changedProperties);\n\n this.ensureOnlyOneChecked();\n }\n\n override connectedCallback() {\n super.connectedCallback();\n this.addEventListener('keydown', this.#handleKeyDown);\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('keydown', this.#handleKeyDown);\n }\n\n #handleKeyDown(event: KeyboardEvent) {\n const isDown = event.key === 'ArrowDown';\n const isUp = event.key === 'ArrowUp';\n const isLeft = event.key === 'ArrowLeft';\n const isRight = event.key === 'ArrowRight';\n\n if (!isLeft && !isRight && !isDown && !isUp) {\n return;\n }\n\n // Don't try to select another sibling if there aren't any.\n const siblings = this.#siblings;\n\n if (!siblings.length) {\n return;\n }\n\n event.preventDefault();\n\n const isRtl = getComputedStyle(this).direction === 'rtl';\n const forwards = isRtl ? isLeft || isDown : isRight || isDown;\n const factor = forwards ? 1 : -1;\n\n const thisIndex = siblings.indexOf(this);\n let nextIndex = thisIndex + factor;\n\n while (nextIndex !== thisIndex) {\n if (nextIndex >= siblings.length) {\n // Return to start if moving past the last item.\n nextIndex = 0;\n } else if (nextIndex < 0) {\n // Go to end if moving before the first item.\n nextIndex = siblings.length - 1;\n }\n\n const nextSibling = siblings[nextIndex];\n\n if (nextSibling.disabled) {\n nextIndex += factor;\n continue;\n }\n\n const clickCanceled = !nextSibling.dispatchEvent(\n new Event('click', {\n bubbles: true,\n cancelable: true,\n }),\n );\n\n nextSibling.input.focus();\n\n if (clickCanceled) {\n break;\n }\n\n nextSibling.checked = true;\n nextSibling.dispatchEvent(new Event('change', { bubbles: true }));\n break;\n }\n }\n\n private ensureOnlyOneChecked() {\n if (!this.name) {\n return;\n }\n\n const radios = Array.from(document.querySelectorAll<UmRadio>(`${this.tagName}[name=\"${this.name}\"]`));\n const lastChecked = radios.reverse().find(r => r.checked);\n\n if (!lastChecked) {\n return;\n }\n\n lastChecked.checked = true;\n }\n\n private uncheckSiblings() {\n for (const radio of this.#siblings) {\n if (radio === this) {\n continue;\n }\n\n if (radio.input) {\n radio.input.tabIndex = -1;\n }\n\n radio.checked = false;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-radio': UmRadio;\n }\n}\n"]}
|
package/ripple/ripple.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ripple.d.ts","sourceRoot":"","sources":["../../src/ripple/ripple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAK3D,qBACa,QAAS,SAAQ,UAAU;IAEtC,OAAgB,MAAM,0BAAU;IAEhC,OAAO,CAAC,UAAU,CAAS;IAE3B;;OAEG;
|
|
1
|
+
{"version":3,"file":"ripple.d.ts","sourceRoot":"","sources":["../../src/ripple/ripple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAK3D,qBACa,QAAS,SAAQ,UAAU;IAEtC,OAAgB,MAAM,0BAAU;IAEhC,OAAO,CAAC,UAAU,CAAS;IAE3B;;OAEG;IACyC,QAAQ,UAAS;IAEjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAe;;IAMlE,MAAM,IAAI,kBAAkB;IAI5B,iBAAiB;IAOjB,oBAAoB;IAM7B,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,eAAe;IAIvB,YAAY,CAAC,OAAO,GAAE,MAAM,GAAG,IAAW,EAAE,OAAO,GAAE,MAAM,GAAG,IAAW,EAAE,gBAAgB,GAAE,MAAM,GAAG,IAAW,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI;IA+CvI,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,MAAM,CAAC,8BAA8B;CAQ9C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,QAAQ,CAAC;KACtB;CACF"}
|
package/ripple/ripple.js
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
1
|
var UmRipple_1;
|
|
2
|
+
import { __decorate } from "tslib";
|
|
8
3
|
import { html, LitElement } from 'lit';
|
|
9
4
|
import { customElement, property, query } from 'lit/decorators.js';
|
|
10
5
|
import { styles } from './ripple.styles.js';
|
|
@@ -25,7 +20,7 @@ let UmRipple = class UmRipple extends LitElement {
|
|
|
25
20
|
connectedCallback() {
|
|
26
21
|
super.connectedCallback();
|
|
27
22
|
this.attachEvents();
|
|
28
|
-
this.ariaHidden =
|
|
23
|
+
this.ariaHidden = 'true';
|
|
29
24
|
}
|
|
30
25
|
disconnectedCallback() {
|
|
31
26
|
super.disconnectedCallback();
|
|
@@ -51,7 +46,7 @@ let UmRipple = class UmRipple extends LitElement {
|
|
|
51
46
|
}
|
|
52
47
|
this.isTouching = true;
|
|
53
48
|
const dismiss = this.createRipple(e.touches[0].clientX, e.touches[0].clientY, 'touchend');
|
|
54
|
-
this.addEventListener(
|
|
49
|
+
this.addEventListener('touchmove', dismiss);
|
|
55
50
|
}
|
|
56
51
|
canCreateRipple() {
|
|
57
52
|
return !this.disabled;
|
|
@@ -98,14 +93,14 @@ let UmRipple = class UmRipple extends LitElement {
|
|
|
98
93
|
this.removeEventListener('mouseleave', dismiss);
|
|
99
94
|
window.removeEventListener(releaseEventName, dismiss);
|
|
100
95
|
};
|
|
101
|
-
this.addEventListener(
|
|
102
|
-
this.addEventListener(
|
|
96
|
+
this.addEventListener('dragover', dismiss);
|
|
97
|
+
this.addEventListener('mouseleave', dismiss);
|
|
103
98
|
window.addEventListener(releaseEventName, dismiss);
|
|
104
99
|
return dismiss;
|
|
105
100
|
}
|
|
106
101
|
static _setElementSquareSizeAndCenter(element, size) {
|
|
107
|
-
element.style.top =
|
|
108
|
-
element.style.left =
|
|
102
|
+
element.style.top = '50%';
|
|
103
|
+
element.style.left = '50%';
|
|
109
104
|
element.style.width = `${size}px`;
|
|
110
105
|
element.style.height = `${size}px`;
|
|
111
106
|
element.style.marginLeft = `${-size / 2}px`;
|
package/ripple/ripple.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ripple.js","sourceRoot":"","sources":["../../src/ripple/ripple.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ripple.js","sourceRoot":"","sources":["../../src/ripple/ripple.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, HTMLTemplateResult, LitElement } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\n\nimport { styles } from './ripple.styles.js';\n\n@customElement('u-ripple')\nexport class UmRipple extends LitElement {\n\n static override styles = styles;\n\n private isTouching = false;\n\n /**\n * Disables the ripple.\n */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n @query('.ripple-container') private readonly rippleContainer!: HTMLElement;\n\n constructor() {\n super();\n }\n\n override render(): HTMLTemplateResult {\n return html`<div class=\"ripple-container\"></div><slot></slot>`;\n }\n\n override connectedCallback() {\n super.connectedCallback();\n\n this.attachEvents();\n this.ariaHidden = 'true';\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n\n this.dettachEvents();\n }\n\n private attachEvents(): void {\n\n this.addEventListener('mousedown', this.handleMouseDown);\n this.addEventListener('touchstart', this.handleTouchStart);\n }\n\n private dettachEvents(): void {\n\n this.removeEventListener('mousedown', this.handleMouseDown);\n this.removeEventListener('touchstart', this.handleTouchStart);\n }\n\n private handleMouseDown(e: MouseEvent): void {\n\n if (this.isTouching || !this.canCreateRipple()) {\n return;\n }\n\n this.createRipple(e.clientX, e.clientY, 'mouseup');\n }\n\n private handleTouchStart(e: TouchEvent): void {\n\n if (!this.canCreateRipple()) {\n return;\n }\n\n this.isTouching = true;\n\n const dismiss = this.createRipple(e.touches[0].clientX, e.touches[0].clientY, 'touchend')!;\n\n this.addEventListener('touchmove', dismiss);\n }\n\n private canCreateRipple(): boolean {\n return !this.disabled;\n }\n\n createRipple(targetX: number | null = null, targetY: number | null = null, releaseEventName: string | null = null): (() => void) | null {\n const preClientRect = this.rippleContainer.getBoundingClientRect();\n targetX ??= preClientRect.x + this.rippleContainer.clientWidth / 2;\n targetY ??= preClientRect.y + this.rippleContainer.clientHeight / 2;\n\n const ripple = document.createElement('DIV');\n ripple.classList.add('ripple');\n this.rippleContainer.appendChild(ripple);\n\n requestAnimationFrame(() => {\n const clientRect = this.getBoundingClientRect();\n const largestDimensionSize = Math.max(this.clientWidth, this.clientHeight);\n const rippleSize = largestDimensionSize * 2;\n\n UmRipple._setElementSquareSizeAndCenter(ripple, rippleSize);\n ripple.style.setProperty('--_ripple-transition-duration', `${1080 * Math.pow(rippleSize, 0.3)}ms`);\n\n const x = (targetX - clientRect.left) + ((rippleSize - this.rippleContainer.clientWidth) / 2);\n const y = (targetY - clientRect.top) + ((rippleSize - this.rippleContainer.clientHeight) / 2);\n\n ripple.style.transformOrigin = `${x}px ${y}px`;\n ripple.classList.add(releaseEventName ? 'show' : 'show-forced');\n });\n\n const interval = setInterval(() => {\n\n if (!ripple.classList.contains('dismiss') && !ripple.classList.contains('show-forced')) {\n return;\n }\n\n const animations = ripple.getAnimations();\n\n if (animations.length) {\n return;\n }\n\n clearInterval(interval);\n ripple.remove();\n }, 1000);\n\n if (!releaseEventName) {\n return null;\n }\n\n return this.createDismissEvent(ripple, releaseEventName);\n }\n\n private createDismissEvent(ripple: HTMLElement, releaseEventName: string): () => void {\n const dismiss = () => {\n ripple.classList.add('dismiss');\n\n this.isTouching = false;\n\n this.removeEventListener('dragover', dismiss);\n this.removeEventListener('mouseleave', dismiss);\n window.removeEventListener(releaseEventName, dismiss);\n };\n\n this.addEventListener('dragover', dismiss);\n this.addEventListener('mouseleave', dismiss);\n window.addEventListener(releaseEventName, dismiss);\n\n return dismiss;\n }\n\n private static _setElementSquareSizeAndCenter(element: HTMLElement, size: number) {\n element.style.top = '50%';\n element.style.left = '50%';\n element.style.width = `${size}px`;\n element.style.height = `${size}px`;\n element.style.marginLeft = `${-size / 2}px`;\n element.style.marginTop = `${-size / 2}px`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-ripple': UmRipple;\n }\n}\n"]}
|
package/ripple/ripple.styles.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ripple.styles.js","sourceRoot":"","sources":["../../src/ripple/ripple.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuEzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host,\n .ripple-container::before {\n --_ripple-hover-color: var(--u-ripple-hover-color, var(--u-ripple-color, var(--u-state-layer-color, currentColor)));\n --_ripple-pressed-color: var(--u-ripple-pressed-color, var(--u-ripple-color, var(--u-state-layer-color, currentColor)));\n --_ripple-hover-opacity: var(--u-ripple-pressed-opacity, var(--u-state-hover-opacity, 0.08));\n --_ripple-pressed-opacity: var(--u-ripple-pressed-opacity, .2);\n display: block;\n inset: 0;\n isolation: isolate;\n }\n\n .ripple-container {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: hidden;\n border-radius: inherit;\n }\n\n .ripple-container::before {\n content: \"\";\n background: var(--_ripple-hover-color);\n opacity: 0;\n transition: opacity 200ms;\n }\n\n @media (hover: hover) {\n :host(:not([disabled]):hover) .ripple-container::before {\n content: \"\";\n background: var(--_ripple-hover-color);\n opacity: var(--_ripple-hover-opacity);\n }\n }\n :host,\n .ripple-container::before,\n .ripple {\n position: absolute;\n border-radius: inherit;\n }\n\n .ripple {\n top: 50%;\n left: 50%;\n background: var(--_ripple-pressed-color);\n border-radius: 50%;\n box-shadow: 0 0 64px 64px var(--_ripple-pressed-color);\n opacity: var(--_ripple-pressed-opacity);\n transform: scale3d(0, 0, 1);\n pointer-events: none;\n will-change: transform;\n }\n .ripple.show {\n transition: transform calc(var(--_ripple-transition-duration) / var(--u-ripple-speed, 1)) cubic-bezier(0.19, 1, 0.22, 1), opacity calc(750ms / var(--u-ripple-speed, 1));\n transform: scale3d(1, 1, 1);\n }\n .ripple.show-forced {\n transition: transform calc(var(--_ripple-transition-duration) / var(--u-ripple-speed, 1)) cubic-bezier(0.19, 1, 0.22, 1), opacity calc(200ms / var(--u-ripple-speed, 1)) 300ms;\n transform: scale3d(2, 2, 1);\n opacity: 0;\n }\n .ripple.dismiss {\n opacity: 0;\n transform: scale3d(2, 2, 1);\n }\n\n ::slotted(*) {\n position: absolute !important;\n inset: 0;\n border-radius: inherit;\n }\n`;\n"]}
|
|
1
|
+
{"version":3,"file":"ripple.styles.js","sourceRoot":"","sources":["../../src/ripple/ripple.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuEzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host,\n .ripple-container::before {\n --_ripple-hover-color: var(--u-ripple-hover-color, var(--u-ripple-color, var(--u-state-layer-color, currentColor)));\n --_ripple-pressed-color: var(--u-ripple-pressed-color, var(--u-ripple-color, var(--u-state-layer-color, currentColor)));\n --_ripple-hover-opacity: var(--u-ripple-pressed-opacity, var(--u-state-hover-opacity, 0.08));\n --_ripple-pressed-opacity: var(--u-ripple-pressed-opacity, .2);\n display: block;\n inset: 0;\n isolation: isolate;\n }\n\n .ripple-container {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: hidden;\n border-radius: var(--u-ripple-border-radius, inherit);\n }\n\n .ripple-container::before {\n content: \"\";\n background: var(--_ripple-hover-color);\n opacity: 0;\n transition: opacity 200ms;\n }\n\n @media (hover: hover) {\n :host(:not([disabled]):hover) .ripple-container::before {\n content: \"\";\n background: var(--_ripple-hover-color);\n opacity: var(--_ripple-hover-opacity);\n }\n }\n :host,\n .ripple-container::before,\n .ripple {\n position: absolute;\n border-radius: inherit;\n }\n\n .ripple {\n top: 50%;\n left: 50%;\n background: var(--_ripple-pressed-color);\n border-radius: 50%;\n box-shadow: 0 0 64px 64px var(--_ripple-pressed-color);\n opacity: var(--_ripple-pressed-opacity);\n transform: scale3d(0, 0, 1);\n pointer-events: none;\n will-change: transform;\n }\n .ripple.show {\n transition: transform calc(var(--_ripple-transition-duration) / var(--u-ripple-speed, 1)) cubic-bezier(0.19, 1, 0.22, 1), opacity calc(750ms / var(--u-ripple-speed, 1));\n transform: scale3d(1, 1, 1);\n }\n .ripple.show-forced {\n transition: transform calc(var(--_ripple-transition-duration) / var(--u-ripple-speed, 1)) cubic-bezier(0.19, 1, 0.22, 1), opacity calc(200ms / var(--u-ripple-speed, 1)) 300ms;\n transform: scale3d(2, 2, 1);\n opacity: 0;\n }\n .ripple.dismiss {\n opacity: 0;\n transform: scale3d(2, 2, 1);\n }\n\n ::slotted(*) {\n position: absolute !important;\n inset: 0;\n border-radius: inherit;\n }\n`;\n"]}
|
package/scss/_css-vars.scss
CHANGED
|
@@ -6,24 +6,21 @@
|
|
|
6
6
|
|
|
7
7
|
:root {
|
|
8
8
|
--u-state-layer-color: currentColor;
|
|
9
|
-
--u-state-layer-hover-opacity:
|
|
10
|
-
--u-state-layer-focus-opacity:
|
|
11
|
-
--u-state-layer-pressed-opacity:
|
|
12
|
-
--u-state-layer-dragged-opacity:
|
|
9
|
+
--u-state-layer-hover-opacity: 8%;
|
|
10
|
+
--u-state-layer-focus-opacity: 12%;
|
|
11
|
+
--u-state-layer-pressed-opacity: 12%;
|
|
12
|
+
--u-state-layer-dragged-opacity: 16%;
|
|
13
13
|
|
|
14
|
-
--u-high-emphasis-opacity:
|
|
15
|
-
--u-low-emphasis-opacity:
|
|
16
|
-
--u-lower-emphasis-opacity:
|
|
14
|
+
--u-high-emphasis-opacity: 100%;
|
|
15
|
+
--u-low-emphasis-opacity: 75%;
|
|
16
|
+
--u-lower-emphasis-opacity: 50%;
|
|
17
17
|
|
|
18
18
|
--u-color-body: #{functions.get-color-var(surface)};
|
|
19
19
|
--u-color-on-body: #{functions.get-color-var(on-surface)};
|
|
20
|
-
--u-color-body-rgb: #{functions.get-color-rgb-var(surface)};
|
|
21
|
-
--u-color-on-body-rgb: #{functions.get-color-rgb-var(on-surface)};
|
|
22
20
|
|
|
23
21
|
--u-font-family: #{variables.$font-family};
|
|
24
22
|
--u-font-monospace: #{variables.$font-mono};
|
|
25
23
|
--u-current-text-color: var(--u-color-on-body);
|
|
26
|
-
--u-current-text-color-rgb: var(--u-color-on-body-rgb);
|
|
27
24
|
--u-text-opacity: var(--u-high-emphasis-opacity);
|
|
28
25
|
--u-layout-margin: var(--u-layout-margin-default);
|
|
29
26
|
--u-layout-gutter: var(--u-layout-gutter-default);
|
package/scss/_functions.scss
CHANGED
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
@return var(--u-color-#{$name}, map.get(variables.$colors, $name));
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
@function get-color-
|
|
12
|
-
@return
|
|
11
|
+
@function get-color-transparency-mix($color, $opacity) {
|
|
12
|
+
@return color-mix(in srgb, $color $opacity, transparent)
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
@function get-shape-corner-var($name) {
|
package/scss/_global.scss
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
@import "mixins/text-bg";
|
|
3
3
|
|
|
4
4
|
@mixin global-styles() {
|
|
5
|
+
:root {
|
|
6
|
+
color-scheme: light dark;
|
|
7
|
+
}
|
|
8
|
+
|
|
5
9
|
body {
|
|
6
10
|
@include _current-color-vars(--u-color-on-body);
|
|
7
11
|
|
|
@@ -10,7 +14,7 @@
|
|
|
10
14
|
}
|
|
11
15
|
|
|
12
16
|
a {
|
|
13
|
-
color:
|
|
17
|
+
color: #{functions.get-color-transparency-mix(var(--u-color-primary), var(--u-high-emphasis-opacity))};
|
|
14
18
|
border-radius: #{functions.get-spacing-var(extra-small)};
|
|
15
19
|
text-decoration: none;
|
|
16
20
|
|
package/scss/_reboot.scss
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@use "functions";
|
|
1
2
|
@use "mixins";
|
|
2
3
|
|
|
3
4
|
@mixin reboot() {
|
|
@@ -48,7 +49,7 @@
|
|
|
48
49
|
body {
|
|
49
50
|
--u-current-bg-color: var(--u-color-body);
|
|
50
51
|
background-color: var(--u-current-bg-color);
|
|
51
|
-
color:
|
|
52
|
+
color: #{functions.get-color-transparency-mix(var(--u-current-text-color), var(--u-text-opacity))};
|
|
52
53
|
margin: 0; // 1
|
|
53
54
|
@include mixins.typo-prop(body-l, font-size);
|
|
54
55
|
@include mixins.typo-prop(body-l, font-weight);
|
|
@@ -218,8 +219,7 @@
|
|
|
218
219
|
|
|
219
220
|
a {
|
|
220
221
|
--u-current-text-color: var(--u-color-primary);
|
|
221
|
-
--u-current-text-color
|
|
222
|
-
color: rgba(var(--u-current-text-color-rgb), var(--u-text-opacity));
|
|
222
|
+
color: #{functions.get-color-transparency-mix(var(--u-current-text-color), var(--u-text-opacity))};
|
|
223
223
|
text-decoration: none;
|
|
224
224
|
|
|
225
225
|
@media (hover: hover) {
|
|
@@ -293,7 +293,7 @@
|
|
|
293
293
|
caption {
|
|
294
294
|
padding-top: 0.5rem;
|
|
295
295
|
padding-bottom: 0.5rem;
|
|
296
|
-
color:
|
|
296
|
+
color: #{functions.get-color-transparency-mix(var(--u-current-text-color), var(--u-low-emphasis-opacity))};
|
|
297
297
|
text-align: left;
|
|
298
298
|
}
|
|
299
299
|
|
package/scss/_utilities.scss
CHANGED
package/scss/mixins/_colors.scss
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
@use "sass:string";
|
|
2
2
|
|
|
3
|
+
@use "../functions";
|
|
4
|
+
|
|
3
5
|
@mixin _current-color-vars-important($current-color-var-name) {
|
|
4
6
|
--u-current-text-color: var(#{$current-color-var-name}) !important;
|
|
5
|
-
--u-current-text-color-rgb: var(#{$current-color-var-name}-rgb) !important;
|
|
6
7
|
|
|
7
|
-
--u-color-high-emphasis:
|
|
8
|
-
--u-color-low-emphasis:
|
|
9
|
-
--u-color-lower-emphasis:
|
|
8
|
+
--u-color-high-emphasis: #{functions.get-color-transparency-mix(var(--u-current-text-color), var(--u-high-emphasis-opacity))} !important;
|
|
9
|
+
--u-color-low-emphasis: #{functions.get-color-transparency-mix(var(--u-current-text-color), var(--u-low-emphasis-opacity))} !important;
|
|
10
|
+
--u-color-lower-emphasis: #{functions.get-color-transparency-mix(var(--u-current-text-color), var(--u-lower-emphasis-opacity))} !important;
|
|
10
11
|
color: var(--u-color-high-emphasis) !important;
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
@mixin _current-color-vars($current-color-var-name) {
|
|
14
15
|
--u-current-text-color: var(#{$current-color-var-name});
|
|
15
|
-
--u-current-text-color-rgb: var(#{$current-color-var-name}-rgb);
|
|
16
16
|
|
|
17
|
-
--u-color-high-emphasis:
|
|
18
|
-
--u-color-low-emphasis:
|
|
19
|
-
--u-color-lower-emphasis:
|
|
17
|
+
--u-color-high-emphasis: #{functions.get-color-transparency-mix(var(--u-current-text-color), var(--u-high-emphasis-opacity))};
|
|
18
|
+
--u-color-low-emphasis: #{functions.get-color-transparency-mix(var(--u-current-text-color), var(--u-low-emphasis-opacity))};
|
|
19
|
+
--u-color-lower-emphasis: #{functions.get-color-transparency-mix(var(--u-current-text-color), var(--u-lower-emphasis-opacity))};
|
|
20
20
|
color: var(--u-color-high-emphasis);
|
|
21
21
|
}
|
|
22
22
|
|
package/scss/table/_table.scss
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
> tr {
|
|
18
18
|
@at-root .u-table:has(> thead) > tbody > tr,
|
|
19
19
|
&:not(:first-child) {
|
|
20
|
-
border-top: 1px solid
|
|
20
|
+
border-top: 1px solid #{functions.get-color-transparency-mix(var(--u-current-text-color), var(--u-table-divider-opacity, 20%))};
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
> td {
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
padding: var(--u-th-padding, var(--u-table-cell-padding));
|
|
33
33
|
font-size: var(--u-th-font-size, .8125rem);
|
|
34
34
|
font-weight: var(--u-th-font-weight, var(--u-table-cell-font-weight));
|
|
35
|
-
color:
|
|
35
|
+
color: #{functions.get-color-transparency-mix(var(--u-current-text-color), var(--u-text-opacity))};
|
|
36
36
|
text-align: start;
|
|
37
37
|
}
|
|
38
38
|
}
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
> tbody > tr,
|
|
43
43
|
> tr {
|
|
44
44
|
&:hover {
|
|
45
|
-
background-color:
|
|
45
|
+
background-color: #{functions.get-color-transparency-mix(var(--u-current-text-color), var(--u-table-hover-opacity))};
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extended-option.d.ts","sourceRoot":"","sources":["../../src/select/extended-option.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG;
|
|
1
|
+
{"version":3,"file":"extended-option.d.ts","sourceRoot":"","sources":["../../src/select/extended-option.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extended-option.js","sourceRoot":"","sources":["../../src/select/extended-option.ts"],"names":[],"mappings":"","sourcesContent":["import { UmOption } from './option.js';\n\nexport type ExtendedOption = HTMLOptionElement & {_parent: UmOption};\n"]}
|
|
1
|
+
{"version":3,"file":"extended-option.js","sourceRoot":"","sources":["../../src/select/extended-option.ts"],"names":[],"mappings":"","sourcesContent":["import { UmOption } from './option.js';\n\nexport type ExtendedOption = HTMLOptionElement & { _parent: UmOption };\n"]}
|
package/select/option.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"option.d.ts","sourceRoot":"","sources":["../../src/select/option.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"option.d.ts","sourceRoot":"","sources":["../../src/select/option.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAE,MAAM,KAAK,CAAC;AAG1C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,aAAa,CAAC;AAErB,qBACa,QAAS,SAAQ,UAAU;;IACtC,OAAgB,MAAM,+DAA+B;IAErD,aAAa,EAAE,cAAc,CAWxB;IAEL,IACI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAEtB;IAED,IACI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAmB7B;cAEkB,yBAAyB,IAAI,cAAc;IAS9D,OAAO,KAAK,kBAAkB,GAE7B;IAGD,OAAO,KAAK,kBAAkB,QAO7B;IAED,OAAO,EAAG,QAAQ,GAAG,IAAI,CAAC;IAEjB,iBAAiB;IAQjB,oBAAoB;IAsC7B,iBAAiB;CAyBlB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,QAAQ,CAAC;KACtB;CACF"}
|
package/select/option.js
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
1
|
+
import { __decorate } from "tslib";
|
|
7
2
|
import { svg } from 'lit';
|
|
8
3
|
import { customElement, property, state } from 'lit/decorators.js';
|
|
9
|
-
import { styles } from './option.styles.js';
|
|
10
4
|
import { UmMenuItem } from '../menu/menu-item.js';
|
|
5
|
+
import { styles } from './option.styles.js';
|
|
11
6
|
import { UmSelect } from './select.js';
|
|
12
7
|
import './select.js';
|
|
13
8
|
let UmOption = class UmOption extends UmMenuItem {
|
|
@@ -83,7 +78,6 @@ let UmOption = class UmOption extends UmMenuItem {
|
|
|
83
78
|
if (!this._select) {
|
|
84
79
|
return;
|
|
85
80
|
}
|
|
86
|
-
// eslint-disable-next-line no-self-assign
|
|
87
81
|
this._select.value = this._select.value;
|
|
88
82
|
this._select = null;
|
|
89
83
|
}
|
|
@@ -107,7 +101,6 @@ let UmOption = class UmOption extends UmMenuItem {
|
|
|
107
101
|
}
|
|
108
102
|
this._select.selectedOptions[0]?.classList.remove('selected');
|
|
109
103
|
this.selected = true;
|
|
110
|
-
// eslint-disable-next-line no-self-assign
|
|
111
104
|
this._select.value = this._select.value;
|
|
112
105
|
this._select.dispatchEvent(new InputEvent('input', { bubbles: true, composed: true }));
|
|
113
106
|
this._select.dispatchEvent(new Event('change', { bubbles: true }));
|
package/select/option.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"option.js","sourceRoot":"","sources":["../../src/select/option.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"option.js","sourceRoot":"","sources":["../../src/select/option.ts"],"names":[],"mappings":"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","sourcesContent":["import { svg, TemplateResult } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\n\nimport { UmMenuItem } from '../menu/menu-item.js';\nimport { ExtendedOption } from './extended-option.js';\nimport { styles } from './option.styles.js';\nimport { UmSelect } from './select.js';\n\nimport './select.js';\n\n@customElement('u-option')\nexport class UmOption extends UmMenuItem {\n static override styles = [UmMenuItem.styles, styles];\n\n _nativeOption: ExtendedOption = (() => {\n const option = document.createElement('option') as ExtendedOption;\n option._parent = this;\n\n if (this.hasAttribute('selected')) {\n option.setAttribute('selected', '');\n }\n\n option.textContent = this.textContent;\n\n return option;\n })();\n\n @property({ reflect: true })\n get value(): string {\n return this._nativeOption.value;\n }\n\n set value(value: string) {\n this._nativeOption.value = value;\n }\n\n @state()\n get selected(): boolean {\n return this._nativeOption.selected;\n }\n\n set selected(selected: boolean) {\n if (this.selected === selected) {\n return;\n }\n\n this._nativeOption.selected = selected;\n\n if (selected) {\n this.classList.add('selected');\n } else {\n this.classList.remove('selected');\n }\n\n if (!this._select) {\n return;\n }\n\n // this._select._button.setAttribute('aria-labelledby', this._listItem.id);\n this._select.empty = !this._nativeOption.textContent?.trim();\n }\n\n protected override renderDefaultTrailingIcon(): TemplateResult {\n return svg`\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"1em\" viewBox=\"0 -960 960 960\" width=\"1em\" fill=\"currentColor\">\n <path d=\"M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z\"/>\n </svg>`;\n }\n\n @property({ type: Boolean, attribute: 'selected' })\n // @ts-ignore\n private get _selectedAttribute(): boolean {\n return this._nativeOption.hasAttribute('selected');\n }\n\n // @ts-ignore\n private set _selectedAttribute(selected: boolean) {\n if (selected) {\n this._nativeOption.setAttribute('selected', '');\n return;\n }\n\n this._nativeOption.removeAttribute('selected');\n }\n\n _select!: UmSelect | null;\n\n override connectedCallback() {\n super.connectedCallback();\n this.addEventListener('click', this.#handleClick);\n this.setAttribute('tabindex', '-1');\n\n this.#attach();\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('click', this.#handleClick);\n\n if (this._select === this.parentElement) {\n return;\n }\n\n this._nativeOption.remove();\n\n if (!this._select) {\n return;\n }\n\n this._select.value = this._select.value;\n this._select = null;\n }\n\n async #attach(): Promise<void> {\n if (this._select === this.parentElement) {\n return;\n }\n\n this._select = this.parentElement instanceof UmSelect ? this.parentElement : null;\n\n await this.#setNativeOption();\n }\n\n #handleClick(e: Event) {\n if (!this._select) {\n return;\n }\n\n e.stopPropagation();\n\n this.setSelectedByUser();\n }\n\n setSelectedByUser() {\n if (!this._select) {\n return;\n }\n\n this._select.selectedOptions[0]?.classList.remove('selected');\n this.selected = true;\n\n this._select.value = this._select.value;\n this._select.dispatchEvent(new InputEvent('input', { bubbles: true, composed: true }));\n this._select.dispatchEvent(new Event('change', { bubbles: true }));\n\n this._select._menu?.close();\n }\n\n #updateContent() {\n this._nativeOption.textContent = this.textContent;\n }\n\n async #setNativeOption(): Promise<void> {\n await this.updateComplete;\n this.#updateContent();\n\n this._select?._updateOptions();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-option': UmOption;\n }\n}\n"]}
|
package/select/option.styles.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
2
|
export const styles = css `
|
|
3
3
|
:host(.selected) {
|
|
4
|
-
background-color: var(--u-select-option-selected-bg-color,
|
|
4
|
+
background-color: var(--u-select-option-selected-bg-color, color-mix(in srgb, var(--u-color-primary, rgb(103, 80, 164)) 12%, transparent));
|
|
5
5
|
}
|
|
6
6
|
:host(.selected) .icon,
|
|
7
7
|
:host(.selected) .content {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"option.styles.js","sourceRoot":"","sources":["../../src/select/option.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;CAYzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host(.selected) {\n background-color: var(--u-select-option-selected-bg-color,
|
|
1
|
+
{"version":3,"file":"option.styles.js","sourceRoot":"","sources":["../../src/select/option.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;CAYzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host(.selected) {\n background-color: var(--u-select-option-selected-bg-color, color-mix(in srgb, var(--u-color-primary, rgb(103, 80, 164)) 12%, transparent));\n }\n :host(.selected) .icon,\n :host(.selected) .content {\n color: var(--u-select-option-selected-text-color, var(--u-color-primary, rgb(103, 80, 164)));\n }\n\n :host(:not(.selected):not([has-trailing-icon])) .trailing {\n display: none;\n }\n`;\n"]}
|
|
@@ -55,7 +55,7 @@ export class SelectNavigationController extends MenuFieldNavigationController {
|
|
|
55
55
|
}
|
|
56
56
|
const lastFocusedMenu = this.focusedMenu;
|
|
57
57
|
this.#typeaheadStatus.buffer += event.key;
|
|
58
|
-
this.#typeaheadStatus.timeoutId = setTimeout(() =>
|
|
58
|
+
this.#typeaheadStatus.timeoutId = setTimeout(() => this.#typeaheadStatus = getCleanTypeaheadStatus(), 1000);
|
|
59
59
|
const term = this.#typeaheadStatus.buffer.replaceAll(event.key, '') === '' ? event.key : this.#typeaheadStatus.buffer;
|
|
60
60
|
this.findNextElementByTerm(term, lastFocusedMenu);
|
|
61
61
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-navigation-controller.js","sourceRoot":"","sources":["../../src/select/select-navigation-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,0DAA0D,CAAC;AAIzG,MAAM,uBAAuB,GAAG,GAAG,EAAE,CAAC,CAAC;IACrC,MAAM,EAAE,KAAK;IACb,SAAS,EAAE,KAAK;IAChB,MAAM,EAAE,EAAE;IACV,SAAS,EAAE,CAAC;CACb,CAAC,CAAC;AAEH,MAAM,OAAO,0BAA2B,SAAQ,6BAAiD;IAC/F,gBAAgB,GAAG,uBAAuB,EAAE,CAAC;IAE1B,aAAa,CAAC,KAAoB;QACnD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAE3C,OAAO,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,KAAK,WAAW,CAAC;QACzC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC;QAErC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAEvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IAEQ,MAAM,CAAC,OAAoB;QAClC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACnF,CAAC;IAEQ,MAAM;QACb,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACtF,CAAC;
|
|
1
|
+
{"version":3,"file":"select-navigation-controller.js","sourceRoot":"","sources":["../../src/select/select-navigation-controller.ts"],"names":[],"mappings":"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","sourcesContent":["import { normalizedStartsWith } from '../shared/compare-text.js';\nimport { MenuFieldNavigationController } from '../shared/menu-field/menu-field-navigation-controller.js';\nimport { UmOption } from './option.js';\nimport { UmSelect } from './select.js';\n\nconst getCleanTypeaheadStatus = () => ({\n typing: false,\n repeating: false,\n buffer: '',\n timeoutId: 0,\n});\n\nexport class SelectNavigationController extends MenuFieldNavigationController<UmSelect, UmOption> {\n #typeaheadStatus = getCleanTypeaheadStatus();\n\n protected override handleKeyDown(event: KeyboardEvent): boolean {\n if (this.host._menu.open) {\n const handled = super.handleKeyDown(event);\n\n return handled || this.handleType(event);\n }\n\n const isDown = event.key === 'ArrowDown';\n const isUp = event.key === 'ArrowUp';\n\n if (!isDown && !isUp) {\n return this.handleType(event);\n }\n\n event.preventDefault();\n this.host._menu.show();\n\n if (!this.host.selectedOptions.length) {\n return true;\n }\n\n const option = this.host.selectedOptions[0];\n this.navigateTo(event, option, this.host._menuItems.indexOf(option));\n return true;\n }\n\n override attach(element: HTMLElement) {\n super.attach(element);\n this.host._menu.addEventListener('menu-item-mouseenter', this.#handleMouseFocus);\n }\n\n override detach() {\n super.detach();\n this.host._menu.removeEventListener('menu-item-mouseenter', this.#handleMouseFocus);\n }\n\n readonly #handleMouseFocus = (e: Event) => {\n this.blurMenu();\n const option = e.target as UmOption;\n this.focusMenu(option, this.host._menuItems.indexOf(option), false, false);\n };\n\n protected override afterFocus(_: UmOption, index: number) {\n this.host._button.setAttribute('aria-activedescendant', `item-${index + 1}`);\n }\n\n protected override afterBlur() {\n this.host._button.removeAttribute('aria-activedescendant');\n }\n\n private handleType(event: KeyboardEvent) {\n if (event.key.length > 1) {\n return false;\n }\n\n if (this.#typeaheadStatus.timeoutId) {\n clearTimeout(this.#typeaheadStatus.timeoutId);\n }\n\n const lastFocusedMenu = this.focusedMenu;\n\n this.#typeaheadStatus.buffer += event.key;\n\n this.#typeaheadStatus.timeoutId = setTimeout(() => this.#typeaheadStatus = getCleanTypeaheadStatus(), 1000);\n\n const term =\n this.#typeaheadStatus.buffer.replaceAll(event.key, '') === '' ? event.key : this.#typeaheadStatus.buffer;\n this.findNextElementByTerm(term, lastFocusedMenu);\n\n return true;\n }\n\n private findNextElementByTerm(term: string, lastFocusedMenu: UmOption | null): void {\n const options = this.host._options;\n const lastFocusedMenuIndex = lastFocusedMenu ? options.indexOf(lastFocusedMenu) : -1;\n\n let nextMenu =\n lastFocusedMenuIndex > -1 ? this.host._options[lastFocusedMenuIndex + 1] as UmOption | undefined : null;\n\n if (!nextMenu || !normalizedStartsWith(nextMenu.textContent, term)) {\n nextMenu = options.find(o => normalizedStartsWith(o.textContent, term));\n }\n\n if (!nextMenu) {\n return;\n }\n\n const nextMenuIndex = options.indexOf(nextMenu);\n\n if (this.host._menu.open) {\n this.blurMenu();\n this.focusMenu(nextMenu, nextMenuIndex);\n return;\n }\n\n nextMenu.setSelectedByUser();\n }\n}\n"]}
|
package/select/select.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/select/select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/select/select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAa,cAAc,EAAE,MAAM,KAAK,CAAC;AAIhD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIvC,OAAO,aAAa,CAAC;AAErB,qBACa,QAAS,SAAQ,eAAgB,YAAW,WAAW;;IAClE,OAAgB,MAAM,iCAAoC;IAE1D,aAAa,EAAE,cAAc,CAMxB;IAeL;;OAEG;IACH,IACI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAQtB;IAEsB,KAAK,EAAG,MAAM,CAAC;IACd,OAAO,EAAG,iBAAiB,CAAC;IAC7B,MAAM,EAAG,WAAW,CAAC;IAE5C;;OAEG;IACH,IACI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,EAE9B;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,QAAQ,EAAE,CAEhC;IAED,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAIzB;;IAaD,cAAc;cAsGK,aAAa,IAAI,cAAc;cAW/B,kBAAkB,IAAI,cAAc;cAQpC,yBAAyB,IAAI,cAAc;cAO3C,OAAO,CAAC,iBAAiB,EAAE,cAAc;IAMnD,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAUhF,iBAAiB;IAOjB,oBAAoB;IAyE7B,IAAI,UAAU,IAAI,QAAQ,EAAE,CAE3B;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,QAAQ,CAAC;KACtB;CACF"}
|
package/select/select.js
CHANGED
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
1
|
+
import { __decorate } from "tslib";
|
|
7
2
|
import { html, svg } from 'lit';
|
|
8
3
|
import { customElement, query, state } from 'lit/decorators.js';
|
|
9
4
|
import { html as staticHtml } from 'lit/static-html.js';
|
|
10
|
-
import { styles } from './select.styles.js';
|
|
11
5
|
import { UmTextFieldBase } from '../shared/text-field-base/text-field-base.js';
|
|
12
6
|
import { UmOption } from './option.js';
|
|
13
7
|
import { SelectNavigationController } from './select-navigation-controller.js';
|
|
8
|
+
import { styles } from './select.styles.js';
|
|
14
9
|
import './option.js';
|
|
15
10
|
let UmSelect = class UmSelect extends UmTextFieldBase {
|
|
16
11
|
static { this.styles = [UmTextFieldBase.styles, styles]; }
|
|
@@ -107,7 +102,6 @@ let UmSelect = class UmSelect extends UmTextFieldBase {
|
|
|
107
102
|
if (!selectedOption) {
|
|
108
103
|
return;
|
|
109
104
|
}
|
|
110
|
-
// eslint-disable-next-line no-self-assign
|
|
111
105
|
selectedOption.selected = selectedOption.selected;
|
|
112
106
|
this.empty = !selectedOption.textContent?.trim();
|
|
113
107
|
// this._button.setAttribute('aria-labelledby', selectedOption._listItem.id);
|