@odx/foundation 0.1.0-alpha.15 → 0.1.0-alpha.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/cdk/main.d.ts +1 -1
  2. package/dist/cdk/main.d.ts.map +1 -1
  3. package/dist/cdk/main.js +1 -1
  4. package/dist/cdk/popover/popover-host.mixin.css.js +1 -1
  5. package/dist/cdk/popover/popover.component.css.js +3 -0
  6. package/dist/cdk/popover/{popover.element.d.ts → popover.component.d.ts} +3 -3
  7. package/dist/cdk/popover/popover.component.d.ts.map +1 -0
  8. package/dist/cdk/popover/{popover.element.js → popover.component.js} +6 -6
  9. package/dist/components/avatar/avatar.component.css.js +1 -1
  10. package/dist/components/dropdown/dropdown.component.css.js +3 -0
  11. package/dist/{elements/dropdown/dropdown.element.d.ts → components/dropdown/dropdown.component.d.ts} +7 -7
  12. package/dist/components/dropdown/dropdown.component.d.ts.map +1 -0
  13. package/dist/{elements/dropdown/dropdown.element.js → components/dropdown/dropdown.component.js} +19 -19
  14. package/dist/{elements/dropdown/models/dropdown-placement.d.ts → components/dropdown/dropdown.models.d.ts} +1 -1
  15. package/dist/components/dropdown/dropdown.models.d.ts.map +1 -0
  16. package/dist/components/dropdown/index.d.ts +3 -0
  17. package/dist/components/dropdown/index.d.ts.map +1 -0
  18. package/dist/components/main.d.ts +2 -0
  19. package/dist/components/main.d.ts.map +1 -1
  20. package/dist/components/main.js +3 -3
  21. package/dist/components/option/option.component.css.js +1 -1
  22. package/dist/components/select/index.d.ts +2 -0
  23. package/dist/components/select/index.d.ts.map +1 -0
  24. package/dist/components/select/select.component.css.js +3 -0
  25. package/dist/components/select/select.component.d.ts +18 -0
  26. package/dist/components/select/select.component.d.ts.map +1 -0
  27. package/dist/{elements/select/select.element.js → components/select/select.component.js} +43 -31
  28. package/dist/elements/main.d.ts +0 -2
  29. package/dist/elements/main.d.ts.map +1 -1
  30. package/dist/elements/slider/slider.element.js +1 -1
  31. package/dist/src/lib/facade/option-control.d.ts +2 -3
  32. package/dist/src/lib/facade/option-control.d.ts.map +1 -1
  33. package/dist/src/lib/facade/option-control.js +6 -27
  34. package/dist/src/lib/facade/select-form-control.d.ts +4 -1
  35. package/dist/src/lib/facade/select-form-control.d.ts.map +1 -1
  36. package/dist/src/lib/facade/select-form-control.js +42 -2
  37. package/dist/src/lib/mixins/can-be-disabled.d.ts.map +1 -1
  38. package/dist/src/lib/mixins/can-be-disabled.js +13 -4
  39. package/package.json +1 -1
  40. package/dist/cdk/popover/popover.element.css.js +0 -3
  41. package/dist/cdk/popover/popover.element.d.ts.map +0 -1
  42. package/dist/elements/dropdown/dropdown.element.css.js +0 -3
  43. package/dist/elements/dropdown/dropdown.element.d.ts.map +0 -1
  44. package/dist/elements/dropdown/index.d.ts +0 -3
  45. package/dist/elements/dropdown/index.d.ts.map +0 -1
  46. package/dist/elements/dropdown/models/dropdown-placement.d.ts.map +0 -1
  47. package/dist/elements/dropdown/models/index.d.ts +0 -2
  48. package/dist/elements/dropdown/models/index.d.ts.map +0 -1
  49. package/dist/elements/select/index.d.ts +0 -2
  50. package/dist/elements/select/index.d.ts.map +0 -1
  51. package/dist/elements/select/select.element.css.js +0 -3
  52. package/dist/elements/select/select.element.d.ts +0 -17
  53. package/dist/elements/select/select.element.d.ts.map +0 -1
  54. /package/dist/{elements/dropdown/models/dropdown-placement.js → components/dropdown/dropdown.models.js} +0 -0
@@ -2,6 +2,6 @@ export * from './drag-drop/drag-events';
2
2
  export * from './drag-drop/drag.controller';
3
3
  export * from './drag-drop/is-draggable';
4
4
  export * from './popover/popover-host.mixin';
5
- export * from './popover/popover.element';
5
+ export * from './popover/popover.component';
6
6
  export * from './popover/popover.models';
7
7
  //# sourceMappingURL=main.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../cdk/main.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../cdk/main.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC"}
package/dist/cdk/main.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { DragController } from './drag-drop/drag.controller.js';
2
2
  export { IS_DRAG_ACTIVE_ATTRIBUTE, IsDraggable, isDraggableElement } from './drag-drop/is-draggable.js';
3
3
  export { PopoverHost } from './popover/popover-host.mixin.js';
4
- export { OdxPopoverElement } from './popover/popover.element.js';
4
+ export { OdxPopoverComponent } from './popover/popover.component.js';
5
5
  export { PopoverPlacement, PopoverPlacementOptions, PopoverSide } from './popover/popover.models.js';
@@ -1,3 +1,3 @@
1
- const styles = ":host{--_popover-transition: var(--odx-popover-transition, var(--odx-motion-duration));--_popover-offset: var(--odx-size-50);background-color:transparent;opacity:0;padding:var(--_popover-offset);position-try:flip-block,flip-inline,flip-inline flip-block;transform:translate(var(--_popover-transition-offset-x),var(--_popover-transition-offset-y));transition:opacity var(--_popover-transition),transform var(--_popover-transition) allow-discrete,overlay var(--_popover-transition) allow-discrete,display var(--_popover-transition) allow-discrete;max-block-size:var(--_popover-max-block-size, 100%);max-inline-size:var(--_popover-max-inline-size, 100%);margin:0;top:var(--_popover-position-y);left:var(--_popover-position-x)}:host(:popover-open){display:flex;opacity:1;transform:translate(0);@starting-style{opacity:0;transform:translate(var(--_popover-transition-offset-x),var(--_popover-transition-offset-y))}}:host,:host([placement^=\"top\"]){--_popover-transition-offset-x: 0;--_popover-transition-offset-y: calc(-1 * var(--_popover-offset))}:host([placement^=\"right\"]){--_popover-transition-offset-x: var(--_popover-offset);--_popover-transition-offset-y: 0}:host([placement^=\"bottom\"]){--_popover-transition-offset-x: 0;--_popover-transition-offset-y: var(--_popover-offset)}:host([placement^=\"left\"]){--_popover-transition-offset-x: calc(-1 * var(--_popover-offset));--_popover-transition-offset-y: 0}";
1
+ const styles = ":host{--_popover-transition: var(--odx-popover-transition, var(--odx-motion-duration-default));--_popover-offset: var(--odx-size-50);background-color:transparent;opacity:0;padding:var(--_popover-offset);position-try:flip-block,flip-inline,flip-inline flip-block;transform:translate(var(--_popover-transition-offset-x),var(--_popover-transition-offset-y));transition:opacity var(--_popover-transition),transform var(--_popover-transition) allow-discrete,overlay var(--_popover-transition) allow-discrete,display var(--_popover-transition) allow-discrete;max-block-size:var(--_popover-max-block-size, 100%);max-inline-size:var(--_popover-max-inline-size, 100%);margin:0;top:var(--_popover-position-y);left:var(--_popover-position-x)}:host(:popover-open){display:flex;opacity:1;transform:translate(0);@starting-style{opacity:0;transform:translate(var(--_popover-transition-offset-x),var(--_popover-transition-offset-y))}}:host,:host([placement^=\"top\"]){--_popover-transition-offset-x: 0;--_popover-transition-offset-y: calc(-1 * var(--_popover-offset))}:host([placement^=\"right\"]){--_popover-transition-offset-x: var(--_popover-offset);--_popover-transition-offset-y: 0}:host([placement^=\"bottom\"]){--_popover-transition-offset-x: 0;--_popover-transition-offset-y: var(--_popover-offset)}:host([placement^=\"left\"]){--_popover-transition-offset-x: calc(-1 * var(--_popover-offset));--_popover-transition-offset-y: 0}";
2
2
 
3
3
  export { styles as default };
@@ -0,0 +1,3 @@
1
+ const styles = ":host{--color-background: transparent;--color-foreground: inherit;--min-block-size: inherit;--max-block-size: 100%;--min-inline-size: inherit;--max-inline-size: inherit;--_arrow-size: var(--odx-size-50);--_outer-padding: var(--odx-size-75);--_shadow: var(--odx-popover-shadow, var(--odx-shadow-level-1));--_border-radius: var(--odx-popover-border-radius, var(--odx-border-radius-controls));display:flex;background-color:transparent}:host::part(arrow),:host::part(content){background-color:var(--color-background)}:host::part(content){display:flex;flex-direction:column;position:relative;inset-block-start:0!important;inset-inline-start:0!important;block-size:fit-content;min-block-size:var(--min-block-size);max-block-size:var(--max-block-size);min-inline-size:var(--min-inline-size);max-inline-size:var(--max-inline-size);box-shadow:var(--_shadow);color:var(--color-foreground);padding:var(--_outer-padding);border-radius:var(--_border-radius);z-index:2;overflow:auto}:host::part(arrow){border-radius:var(--odx-border-radius-sm);position:absolute;inline-size:var(--_arrow-size);block-size:var(--_arrow-size);z-index:3;inset:0;transform:translate3d(var(--_popover-arrow-position-x),var(--_popover-arrow-position-y),0) rotate(45deg)}";
2
+
3
+ export { styles as default };
@@ -2,11 +2,11 @@ import { CustomElement } from '@odx/foundation';
2
2
  import { TemplateResult } from 'lit';
3
3
  declare global {
4
4
  interface HTMLElementTagNameMap {
5
- 'odx-popover': OdxPopoverElement;
5
+ 'odx-popover': OdxPopoverComponent;
6
6
  }
7
7
  }
8
- export declare class OdxPopoverElement extends CustomElement {
8
+ export declare class OdxPopoverComponent extends CustomElement {
9
9
  showArrow: boolean;
10
10
  protected render(): TemplateResult;
11
11
  }
12
- //# sourceMappingURL=popover.element.d.ts.map
12
+ //# sourceMappingURL=popover.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover.component.d.ts","sourceRoot":"","sources":["../../../cdk/popover/popover.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAiB,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,KAAK,cAAc,EAAQ,MAAM,KAAK,CAAC;AAKhD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,mBAAmB,CAAC;KACpC;CACF;AAED,qBACa,mBAAoB,SAAQ,aAAa;IAEpD,SAAS,UAAS;cAEC,MAAM,IAAI,cAAc;CAQ5C"}
@@ -2,7 +2,7 @@ import { CustomElement, customElement } from '@odx/foundation';
2
2
  import { html } from 'lit';
3
3
  import { property } from 'lit/decorators.js';
4
4
  import { when } from 'lit/directives/when.js';
5
- import styles from './popover.element.css.js';
5
+ import styles from './popover.component.css.js';
6
6
 
7
7
  var __defProp = Object.defineProperty;
8
8
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -14,7 +14,7 @@ var __decorateClass = (decorators, target, key, kind) => {
14
14
  if (kind && result) __defProp(target, key, result);
15
15
  return result;
16
16
  };
17
- let OdxPopoverElement = class extends CustomElement {
17
+ let OdxPopoverComponent = class extends CustomElement {
18
18
  constructor() {
19
19
  super(...arguments);
20
20
  this.showArrow = false;
@@ -30,9 +30,9 @@ let OdxPopoverElement = class extends CustomElement {
30
30
  };
31
31
  __decorateClass([
32
32
  property({ type: Boolean, reflect: true })
33
- ], OdxPopoverElement.prototype, "showArrow", 2);
34
- OdxPopoverElement = __decorateClass([
33
+ ], OdxPopoverComponent.prototype, "showArrow", 2);
34
+ OdxPopoverComponent = __decorateClass([
35
35
  customElement("odx-popover", [styles])
36
- ], OdxPopoverElement);
36
+ ], OdxPopoverComponent);
37
37
 
38
- export { OdxPopoverElement };
38
+ export { OdxPopoverComponent };
@@ -1,3 +1,3 @@
1
- const styles = ":host{--_color-background: var(--odx-avatar-background, var(--odx-experience-color-secondary-rest));--_color-foreground: inherit;--_border-radius: 50%;display:flex;flex-direction:column;place-content:center;place-items:center;position:relative;user-select:none;vertical-align:middle;overflow:clip;block-size:var(--_size);inline-size:var(--_size);margin-block:var(--_spacing);font-size:var(--_font-size);border-radius:var(--_border-radius);background-color:var(--_color-background);color:var(--_color-foreground);transition:var(--odx-transition-base);transition-property:background-color,outline-color,box-shadow}:host-context(odx-avatar-group[variant=\"rectangle\"]),:host([variant=\"rectangle\"]){--_border-radius: var(--odx-border-radius-sm)}:host-context(odx-avatar-group[size=\"sm\"]),:host([size=\"sm\"]){--_size: var(--odx-size-150);--_spacing: 0;--_font-size: var(--odx-typography-font-size-1)}:host,:host-context(odx-avatar-group[size=\"md\"]),:host([size=\"md\"]){--_size: var(--odx-size-225);--_spacing: var(--odx-size-25);--_font-size: var(--odx-typography-font-size-3)}:host-context(odx-avatar-group[size=\"lg\"]),:host([size=\"lg\"]){--_size: var(--odx-avatar-lg-size, var(--odx-size-300));--_spacing: var(--odx-size-37);--_font-size: var(--odx-typography-font-size-5)}:host-context(odx-avatar-group[size=\"xl\"]),:host([size=\"xl\"]){--_size: var(--odx-avatar-lg-size, var(--odx-size-600));--_spacing: 0;--_font-size: var(--odx-typography-font-size-7)}:has(img){--odx-avatar-background: red}::slotted(img){object-fit:cover;position:absolute;inset:0;z-index:1;pointer-events:none}::slotted(odx-icon){font-size:inherit}";
1
+ const styles = ":host{--_color-background: var(--odx-avatar-background, var(--odx-experience-color-secondary-rest));--_color-foreground: inherit;--_border-radius: 50%;display:flex;flex-direction:column;place-content:center;place-items:center;position:relative;user-select:none;vertical-align:middle;overflow:clip;block-size:var(--_size);inline-size:var(--_size);margin-block:var(--_spacing);font-size:var(--_font-size);border-radius:var(--_border-radius);background-color:var(--_color-background);color:var(--_color-foreground);transition:var(--odx-transition-default);transition-property:background-color,outline-color,box-shadow}:host-context(odx-avatar-group[variant=\"rectangle\"]),:host([variant=\"rectangle\"]){--_border-radius: var(--odx-border-radius-sm)}:host-context(odx-avatar-group[size=\"sm\"]),:host([size=\"sm\"]){--_size: var(--odx-size-150);--_spacing: 0;--_font-size: var(--odx-typography-font-size-1)}:host,:host-context(odx-avatar-group[size=\"md\"]),:host([size=\"md\"]){--_size: var(--odx-size-225);--_spacing: var(--odx-size-25);--_font-size: var(--odx-typography-font-size-3)}:host-context(odx-avatar-group[size=\"lg\"]),:host([size=\"lg\"]){--_size: var(--odx-avatar-lg-size, var(--odx-size-300));--_spacing: var(--odx-size-37);--_font-size: var(--odx-typography-font-size-5)}:host-context(odx-avatar-group[size=\"xl\"]),:host([size=\"xl\"]){--_size: var(--odx-avatar-lg-size, var(--odx-size-600));--_spacing: 0;--_font-size: var(--odx-typography-font-size-7)}:has(img){--odx-avatar-background: red}::slotted(img){object-fit:cover;position:absolute;inset:0;z-index:1;pointer-events:none}::slotted(odx-icon){font-size:inherit}";
2
2
 
3
3
  export { styles as default };
@@ -0,0 +1,3 @@
1
+ const styles = ":host{--_popover-offset: var(--odx-size-37)}odx-popover{--color-background: var(--odx-color-background-main)}:host([matchReferenceWidth]:not([matchReferenceWidth=\"false\"])){odx-popover{--min-inline-size: var(--_reference-inline-size, 0)}}";
2
+
3
+ export { styles as default };
@@ -1,16 +1,16 @@
1
1
  import { CanBeDisabled, CustomElement } from '@odx/foundation';
2
- import { OdxPopoverElement, PopoverHost } from '@odx/foundation/cdk';
2
+ import { OdxPopoverComponent, PopoverHost } from '@odx/foundation/cdk';
3
3
  import { PropertyValues, TemplateResult } from 'lit';
4
- import { DropdownPlacement } from './models';
4
+ import { DropdownPlacement } from './dropdown.models';
5
5
  declare global {
6
6
  interface HTMLElementTagNameMap {
7
- 'odx-dropdown': OdxDropdownElement;
7
+ 'odx-dropdown': OdxDropdownComponent;
8
8
  }
9
9
  }
10
- declare const OdxDropdownElement_base: import('@odx/foundation').Constructor<PopoverHost> & import('@odx/foundation').Constructor<CanBeDisabled> & typeof CustomElement;
11
- export declare class OdxDropdownElement extends OdxDropdownElement_base {
10
+ declare const OdxDropdownComponent_base: import('@odx/foundation').Constructor<PopoverHost> & import('@odx/foundation').Constructor<CanBeDisabled> & typeof CustomElement;
11
+ export declare class OdxDropdownComponent extends OdxDropdownComponent_base {
12
12
  #private;
13
- protected popoverElement: OdxPopoverElement;
13
+ protected popoverElement: OdxPopoverComponent;
14
14
  matchReferenceWidth: boolean;
15
15
  placement: DropdownPlacement;
16
16
  connectedCallback(): void;
@@ -20,4 +20,4 @@ export declare class OdxDropdownElement extends OdxDropdownElement_base {
20
20
  protected willUpdate(changes: PropertyValues<this>): void;
21
21
  }
22
22
  export {};
23
- //# sourceMappingURL=dropdown.element.d.ts.map
23
+ //# sourceMappingURL=dropdown.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown.component.d.ts","sourceRoot":"","sources":["../../../components/dropdown/dropdown.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAqE,MAAM,iBAAiB,CAAC;AAClI,OAAO,EAAE,KAAK,mBAAmB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAQ,MAAM,KAAK,CAAC;AAGrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,oBAAoB,CAAC;KACtC;CACF;;AAED,qBACa,oBAAqB,SAAQ,yBAAyC;;IAEjF,SAAS,CAAC,cAAc,EAAG,mBAAmB,CAAC;IAG/C,mBAAmB,UAAS;IAGnB,SAAS,EAAE,iBAAiB,CAA4B;IAExD,iBAAiB,IAAI,IAAI;IAKzB,YAAY,CAAC,gBAAgB,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI;IAWzD,cAAc,CAAC,gBAAgB,EAAE,WAAW,GAAG,IAAI;cAQzC,MAAM,IAAI,cAAc;cAQxB,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;CAgDnE"}
@@ -2,8 +2,8 @@ import { CanBeDisabled, CustomElement, getUniqueId, SharedResizeObserver, toggle
2
2
  import { PopoverHost } from '@odx/foundation/cdk';
3
3
  import { html } from 'lit';
4
4
  import { query, property } from 'lit/decorators.js';
5
- import styles from './dropdown.element.css.js';
6
- import { DropdownPlacement } from './models/dropdown-placement.js';
5
+ import styles from './dropdown.component.css.js';
6
+ import { DropdownPlacement } from './dropdown.models.js';
7
7
 
8
8
  var __defProp = Object.defineProperty;
9
9
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -22,11 +22,11 @@ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot
22
22
  var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
23
23
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
24
24
  var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
25
- var _OdxDropdownElement_instances, observeReferenceElement_fn, unobserveReferenceElement_fn, updateAriaAttributes_fn, _handleMouseEvent, _handleKeyboardEvent;
26
- let OdxDropdownElement = class extends PopoverHost(CanBeDisabled(CustomElement)) {
25
+ var _OdxDropdownComponent_instances, observeReferenceElement_fn, unobserveReferenceElement_fn, updateAriaAttributes_fn, _handleMouseEvent, _handleKeyboardEvent;
26
+ let OdxDropdownComponent = class extends PopoverHost(CanBeDisabled(CustomElement)) {
27
27
  constructor() {
28
28
  super(...arguments);
29
- __privateAdd(this, _OdxDropdownElement_instances);
29
+ __privateAdd(this, _OdxDropdownComponent_instances);
30
30
  this.matchReferenceWidth = false;
31
31
  this.placement = DropdownPlacement.BOTTOM;
32
32
  __privateAdd(this, _handleMouseEvent, (event) => {
@@ -44,19 +44,19 @@ let OdxDropdownElement = class extends PopoverHost(CanBeDisabled(CustomElement))
44
44
  mountPopover(referenceElement) {
45
45
  super.mountPopover(referenceElement);
46
46
  if (this.disabled || !referenceElement) return;
47
- __privateMethod(this, _OdxDropdownElement_instances, updateAriaAttributes_fn).call(this, referenceElement, this.id);
47
+ __privateMethod(this, _OdxDropdownComponent_instances, updateAriaAttributes_fn).call(this, referenceElement, this.id);
48
48
  referenceElement.addEventListener("click", __privateGet(this, _handleMouseEvent));
49
49
  referenceElement.addEventListener("keydown", __privateGet(this, _handleKeyboardEvent));
50
50
  if (this.matchReferenceWidth) {
51
- __privateMethod(this, _OdxDropdownElement_instances, observeReferenceElement_fn).call(this);
51
+ __privateMethod(this, _OdxDropdownComponent_instances, observeReferenceElement_fn).call(this);
52
52
  }
53
53
  }
54
54
  unmountPopover(referenceElement) {
55
55
  super.unmountPopover(referenceElement);
56
- __privateMethod(this, _OdxDropdownElement_instances, updateAriaAttributes_fn).call(this, referenceElement, null);
56
+ __privateMethod(this, _OdxDropdownComponent_instances, updateAriaAttributes_fn).call(this, referenceElement, null);
57
57
  referenceElement.removeEventListener("click", __privateGet(this, _handleMouseEvent));
58
58
  referenceElement.removeEventListener("keydown", __privateGet(this, _handleKeyboardEvent));
59
- __privateMethod(this, _OdxDropdownElement_instances, unobserveReferenceElement_fn).call(this);
59
+ __privateMethod(this, _OdxDropdownComponent_instances, unobserveReferenceElement_fn).call(this);
60
60
  }
61
61
  render() {
62
62
  return html`
@@ -68,7 +68,7 @@ let OdxDropdownElement = class extends PopoverHost(CanBeDisabled(CustomElement))
68
68
  willUpdate(changes) {
69
69
  super.willUpdate?.(changes);
70
70
  if (changes.has("id")) {
71
- __privateMethod(this, _OdxDropdownElement_instances, updateAriaAttributes_fn).call(this, this.referenceElement, this.id);
71
+ __privateMethod(this, _OdxDropdownComponent_instances, updateAriaAttributes_fn).call(this, this.referenceElement, this.id);
72
72
  }
73
73
  if (changes.has("disabled")) {
74
74
  if (this.disabled) {
@@ -79,14 +79,14 @@ let OdxDropdownElement = class extends PopoverHost(CanBeDisabled(CustomElement))
79
79
  }
80
80
  if (changes.has("matchReferenceWidth")) {
81
81
  if (this.matchReferenceWidth) {
82
- __privateMethod(this, _OdxDropdownElement_instances, observeReferenceElement_fn).call(this);
82
+ __privateMethod(this, _OdxDropdownComponent_instances, observeReferenceElement_fn).call(this);
83
83
  } else {
84
- __privateMethod(this, _OdxDropdownElement_instances, unobserveReferenceElement_fn).call(this);
84
+ __privateMethod(this, _OdxDropdownComponent_instances, unobserveReferenceElement_fn).call(this);
85
85
  }
86
86
  }
87
87
  }
88
88
  };
89
- _OdxDropdownElement_instances = new WeakSet();
89
+ _OdxDropdownComponent_instances = new WeakSet();
90
90
  observeReferenceElement_fn = function() {
91
91
  if (!this.referenceElement) return;
92
92
  SharedResizeObserver.observe(this.referenceElement, () => {
@@ -107,15 +107,15 @@ _handleMouseEvent = new WeakMap();
107
107
  _handleKeyboardEvent = new WeakMap();
108
108
  __decorateClass([
109
109
  query("odx-popover", true)
110
- ], OdxDropdownElement.prototype, "popoverElement", 2);
110
+ ], OdxDropdownComponent.prototype, "popoverElement", 2);
111
111
  __decorateClass([
112
112
  property({ type: Boolean, reflect: true })
113
- ], OdxDropdownElement.prototype, "matchReferenceWidth", 2);
113
+ ], OdxDropdownComponent.prototype, "matchReferenceWidth", 2);
114
114
  __decorateClass([
115
115
  property({ type: String, reflect: true })
116
- ], OdxDropdownElement.prototype, "placement", 2);
117
- OdxDropdownElement = __decorateClass([
116
+ ], OdxDropdownComponent.prototype, "placement", 2);
117
+ OdxDropdownComponent = __decorateClass([
118
118
  customElement("odx-dropdown", [styles])
119
- ], OdxDropdownElement);
119
+ ], OdxDropdownComponent);
120
120
 
121
- export { OdxDropdownElement };
121
+ export { OdxDropdownComponent };
@@ -3,4 +3,4 @@ export declare const DropdownPlacement: {
3
3
  readonly TOP: "top";
4
4
  readonly BOTTOM: "bottom";
5
5
  };
6
- //# sourceMappingURL=dropdown-placement.d.ts.map
6
+ //# sourceMappingURL=dropdown.models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown.models.d.ts","sourceRoot":"","sources":["../../../components/dropdown/dropdown.models.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAC3F,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './dropdown.component';
2
+ export * from './dropdown.models';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../components/dropdown/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC"}
@@ -9,6 +9,7 @@ export * from './card';
9
9
  export * from './checkbox';
10
10
  export * from './checkbox-group';
11
11
  export * from './chip';
12
+ export * from './dropdown';
12
13
  export * from './format';
13
14
  export * from './header';
14
15
  export * from './headline';
@@ -28,6 +29,7 @@ export * from './radio-button';
28
29
  export * from './radio-group';
29
30
  export * from './rail-navigation';
30
31
  export * from './search-bar';
32
+ export * from './select';
31
33
  export * from './separator';
32
34
  export * from './spinbox';
33
35
  export * from './stack';
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../components/main.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAElC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../components/main.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAElC,cAAc,kBAAkB,CAAC"}
@@ -18,6 +18,8 @@ export { OdxCheckboxGroupComponent } from './checkbox-group/checkbox-group.compo
18
18
  export { CheckboxGroupVariant } from './checkbox-group/checkbox-group.models.js';
19
19
  export { OdxChipComponent } from './chip/chip.component.js';
20
20
  export { ChipVariant } from './chip/chip.models.js';
21
+ export { OdxDropdownComponent } from './dropdown/dropdown.component.js';
22
+ export { DropdownPlacement } from './dropdown/dropdown.models.js';
21
23
  export { OdxFormatBytesComponent } from './format/format-bytes.component.js';
22
24
  export { OdxFormatDateComponent } from './format/format-date.component.js';
23
25
  export { OdxFormatNumberComponent } from './format/format-number.component.js';
@@ -55,6 +57,7 @@ export { OdxRailNavigationComponent } from './rail-navigation/rail-navigation.co
55
57
  export { OdxSearchBarComponent } from './search-bar/search-bar.component.js';
56
58
  export { SearchEvent } from './search-bar/search-bar.events.js';
57
59
  export { SearchBarBehavior } from './search-bar/search-bar.models.js';
60
+ export { OdxSelectComponent } from './select/select.component.js';
58
61
  export { OdxSeparatorComponent } from './separator/separator.component.js';
59
62
  export { OdxSpinboxComponent } from './spinbox/spinbox.component.js';
60
63
  export { OdxStackComponent } from './stack/stack.component.js';
@@ -68,8 +71,6 @@ export { OdxToggleButtonComponent } from './toggle-button/toggle-button.componen
68
71
  export { OdxVisuallyHiddenComponent } from './visually-hidden/visually-hidden.component.js';
69
72
  export { OdxCircularProgressBarElement } from '../elements/circular-progress-bar/circular-progress-bar.element.js';
70
73
  export { CircularProgressBarSize } from '../elements/circular-progress-bar/models/circular-progress-bar-size.js';
71
- export { OdxDropdownElement } from '../elements/dropdown/dropdown.element.js';
72
- export { DropdownPlacement } from '../elements/dropdown/models/dropdown-placement.js';
73
74
  export { OdxFormFieldElement } from '../elements/form-field/form-field.element.js';
74
75
  export { OdxGrid } from '../elements/grid/grid.element.js';
75
76
  export { GridGap } from '../elements/grid/grid.models.js';
@@ -78,7 +79,6 @@ export { OdxMenuLabelElement } from '../elements/menu/elements/menu-label/menu-l
78
79
  export { OdxMenuElement } from '../elements/menu/menu.element.js';
79
80
  export { ProgressState } from '../elements/progress-bar/models/progress-state.js';
80
81
  export { OdxProgressBarElement } from '../elements/progress-bar/progress-bar.element.js';
81
- export { OdxSelectElement } from '../elements/select/select.element.js';
82
82
  export { OdxSkeletonElement } from '../elements/skeleton/skeleton.element.js';
83
83
  export { SliderLabelVisibility } from '../elements/slider/models/slider-label-visibility.js';
84
84
  export { SliderTrackVisibility } from '../elements/slider/models/slider-track-visibility.js';
@@ -1,3 +1,3 @@
1
- const styles = ":host{--_color-background: var(--odx-palette-transparent);--_color-foreground: inherit;display:inline-flex;place-items:center;padding:var(--odx-size-37) var(--odx-size-75);cursor:pointer;gap:var(--odx-size-75);border-radius:var(--odx-border-radius-controls);transition:var(--odx-transition-reduced);outline:var(--odx-outline-focus);outline-offset:var(--odx-outline-offset-focus);background-color:var(--_color-background);transition-property:background-color,color,outline-color;user-select:none;outline:var(--odx-focus-ring-outline);outline-offset:var(--odx-focus-ring-offset);color:var(--_color-foreground)}odx-checkbox{margin:0}:host(:hover){--_color-background: var(--odx-color-transparent-hover)}:host(:active){--_color-background: var(--odx-color-transparent-pressed)}:host([aria-selected=\"true\"]){--_color-background: var(--odx-color-selected)}:host([aria-selected=\"true\"]:hover){--_color-background: var(--odx-color-selected-hover)}:host([aria-disabled=\"true\"]){--_color-background: var(--odx-color-disabled-fill);--_color-foreground: var(--odx-color-disabled-foreground);cursor:not-allowed;pointer-events:none}:host([aria-selected=\"true\"][aria-disabled=\"true\"]){--_color-background: var(--odx-color-disabled-fill-selected);--_color-foreground: var(--odx-color-disabled-foreground-selected)}:host(:focus-visible){outline-color:var(--odx-focus-ring-color)}slot[name=_checkbox]::slotted(odx-checkbox){margin:0;pointer-events:none}";
1
+ const styles = ":host{--_color-background: var(--odx-palette-transparent);--_color-foreground: inherit;display:inline-flex;place-items:center;padding:var(--odx-size-37) var(--odx-size-75);cursor:pointer;gap:var(--odx-size-75);border-radius:var(--odx-border-radius-controls);transition:var(--odx-transition-reduced);outline:var(--odx-outline-focus);outline-offset:var(--odx-outline-offset-focus);background-color:var(--_color-background);transition-property:background-color,color,outline-color;user-select:none;outline:var(--odx-focus-ring-outline);outline-offset:var(--odx-focus-ring-offset);color:var(--_color-foreground)}odx-checkbox{margin:0}:host(:hover){--_color-background: var(--odx-color-transparent-hover)}:host([odx-active]),:host(:active){--_color-background: var(--odx-color-transparent-pressed)}:host([aria-selected=\"true\"]){--_color-background: var(--odx-color-selected)}:host([aria-selected=\"true\"]:hover){--_color-background: var(--odx-color-selected-hover)}:host([aria-disabled=\"true\"]){--_color-background: var(--odx-color-disabled-fill);--_color-foreground: var(--odx-color-disabled-foreground);cursor:not-allowed;pointer-events:none}:host([aria-selected=\"true\"][aria-disabled=\"true\"]){--_color-background: var(--odx-color-disabled-fill-selected);--_color-foreground: var(--odx-color-disabled-foreground-selected)}:host(:focus-visible){outline-color:var(--odx-focus-ring-color)}";
2
2
 
3
3
  export { styles as default };
@@ -0,0 +1,2 @@
1
+ export * from './select.component';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../components/select/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,3 @@
1
+ const styles = ":host{display:block;--_color-background: var(--odx-color-input-control-fill);--_color-foreground: var(--odx-color-foreground);--_color-stroke: var(--odx-color-input-control-stroke);border-radius:var(--odx-border-radius-controls);color:var(--_color-foreground)}.base{display:flex;cursor:pointer;text-align:left;padding:var(--odx-size-37) var(--odx-size-75);border:var(--odx-border-width-thin) solid var(--_color-stroke);border-radius:inherit;background-color:var(--_color-background);min-width:200px;min-block-size:var(--odx-size-225);transition:var(--odx-transition-reduced);transition-property:background-color,border-color,outline-color;gap:var(--odx-size-37);outline:var(--odx-focus-ring-outline);outline-offset:var(--odx-focus-ring-offset);user-select:none;max-inline-size:320px;overflow:hidden;&:focus-visible{outline-color:var(--odx-color-outline-focus)}}.indicator{font-size:var(--odx-size-150);margin-left:auto}.trigger odx-chip{--_border-radius: var(--odx-border-radius-sm)}:host(:hover){--_color-background: var(--odx-color-input-control-fill-hover);--_color-stroke: var(--odx-color-input-control-stroke-hover)}";
2
+
3
+ export { styles as default };
@@ -0,0 +1,18 @@
1
+ import { SelectFormControl } from '@odx/foundation';
2
+ import { PropertyValues, TemplateResult } from 'lit';
3
+ import { OdxDropdownComponent } from '../dropdown';
4
+ import { OdxOptionComponent } from '../option';
5
+ declare global {
6
+ interface HTMLElementTagNameMap {
7
+ 'odx-select': OdxSelectComponent;
8
+ }
9
+ }
10
+ export declare class OdxSelectComponent extends SelectFormControl {
11
+ #private;
12
+ protected options: OdxOptionComponent[];
13
+ protected dropdownElement: OdxDropdownComponent;
14
+ protected render(): TemplateResult;
15
+ protected renderSelectedOptions(): TemplateResult;
16
+ protected willUpdate(changes: PropertyValues<this>): void;
17
+ }
18
+ //# sourceMappingURL=select.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.component.d.ts","sourceRoot":"","sources":["../../../components/select/select.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACvF,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAQ,MAAM,KAAK,CAAC;AAIrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAG/C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,kBAAkB,CAAC;KAClC;CACF;AAED,qBACa,kBAAmB,SAAQ,iBAAiB;;IACvD,UACmB,OAAO,EAAG,kBAAkB,EAAE,CAAC;IAGlD,SAAS,CAAC,eAAe,EAAG,oBAAoB,CAAC;cAE9B,MAAM,IAAI,cAAc;IAkB3C,SAAS,CAAC,qBAAqB,IAAI,cAAc;cAa9B,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;CAsBnE"}
@@ -1,11 +1,11 @@
1
- import { SelectFormControl, getElementFromEvent, customElement } from '@odx/foundation';
2
- import { OdxOptionComponent } from '@odx/foundation/components';
1
+ import { SelectFormControl, customElement } from '@odx/foundation';
3
2
  import { html } from 'lit';
4
3
  import { queryAssignedElements, query } from 'lit/decorators.js';
5
4
  import { repeat } from 'lit/directives/repeat.js';
6
5
  import { when } from 'lit/directives/when.js';
7
- import styles from './select.element.css.js';
8
- import { OdxDropdownElement } from '../dropdown/dropdown.element.js';
6
+ import styles from './select.component.css.js';
7
+ import { OdxOptionComponent } from '../option/option.component.js';
8
+ import { OdxDropdownComponent } from '../dropdown/dropdown.component.js';
9
9
 
10
10
  var __defProp = Object.defineProperty;
11
11
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -23,37 +23,36 @@ var __decorateClass = (decorators, target, key, kind) => {
23
23
  var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
24
24
  var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
25
25
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
26
- var _removeChip, _handleOptionChange;
27
- let OdxSelectElement = class extends SelectFormControl {
26
+ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
27
+ var _OdxSelectComponent_instances, handleMultipleChange_fn, _handleDropdownToggle, _removeChip;
28
+ let OdxSelectComponent = class extends SelectFormControl {
28
29
  constructor() {
29
30
  super(...arguments);
30
- __privateAdd(this, _removeChip, async (option) => {
31
- option.selected = false;
32
- this.toggle(option);
31
+ __privateAdd(this, _OdxSelectComponent_instances);
32
+ __privateAdd(this, _handleDropdownToggle, (event) => {
33
+ if (event.newState === "open") {
34
+ this.options[0]?.setActive();
35
+ }
33
36
  });
34
- __privateAdd(this, _handleOptionChange, (event) => {
35
- const option = getElementFromEvent(event, (node) => !!this.options?.some((option2) => option2 === node));
36
- if (!option) return;
37
- event.stopPropagation();
38
- if (option.disabled) return;
39
- this.toggle(option);
40
- if (this.multiple) return;
41
- this.dropdownElement.hidePopover();
37
+ __privateAdd(this, _removeChip, async (option) => {
38
+ this.toggle(option, false, true);
42
39
  });
43
40
  }
44
41
  render() {
45
42
  return html`
46
- <div part="trigger" id="select-trigger" tabindex="0">
47
- ${when(
43
+ <div class="base" id="select-trigger" tabindex="0">
44
+ <odx-stack gap="xs" horizontal odxPreventTextOverflow>
45
+ ${when(
48
46
  Array.from(this.selectedOptions).length,
49
47
  () => this.renderSelectedOptions(),
50
48
  () => html`<slot name="placeholder">Select options</slot>`
51
49
  )}
52
- <odx-icon part="indicator" name="chevron-down" set="core"></odx-icon>
53
- </div>
54
- <odx-dropdown part="dropdown" anchor="select-trigger" ?disabled=${this.disabled} matchReferenceWidth @change=${__privateGet(this, _handleOptionChange)}>
55
- <slot></slot>
56
- </odx-dropdown>
50
+ </odx-stack>
51
+ <odx-icon class="indicator" name="core::chevron-down"></odx-icon>
52
+ </div>
53
+ <odx-dropdown part="dropdown" anchor="select-trigger" role="listbox" tabindex="-1" ?disabled=${this.disabled} matchReferenceWidth @toggle=${__privateGet(this, _handleDropdownToggle)}>
54
+ <slot @slotchange=${__privateMethod(this, _OdxSelectComponent_instances, handleMultipleChange_fn)}></slot>
55
+ </odx-dropdown>
57
56
  `;
58
57
  }
59
58
  renderSelectedOptions() {
@@ -64,19 +63,32 @@ let OdxSelectElement = class extends SelectFormControl {
64
63
  (option) => html`<odx-chip @remove=${() => __privateGet(this, _removeChip).call(this, option)} removable tabindex="-1">${option.getTextLabel()}</odx-chip>`
65
64
  )}`;
66
65
  }
66
+ this.dropdownElement.hidePopover();
67
67
  return html`${selectedOptions[0]?.getTextLabel()}`;
68
68
  }
69
+ willUpdate(changes) {
70
+ super.willUpdate?.(changes);
71
+ if (changes.has("multiple")) {
72
+ __privateMethod(this, _OdxSelectComponent_instances, handleMultipleChange_fn).call(this);
73
+ }
74
+ }
75
+ };
76
+ _OdxSelectComponent_instances = new WeakSet();
77
+ handleMultipleChange_fn = function() {
78
+ for (const option of this.options) {
79
+ option.type = this.multiple ? "checkbox" : null;
80
+ }
69
81
  };
82
+ _handleDropdownToggle = new WeakMap();
70
83
  _removeChip = new WeakMap();
71
- _handleOptionChange = new WeakMap();
72
84
  __decorateClass([
73
85
  queryAssignedElements({ selector: OdxOptionComponent.selector, flatten: true })
74
- ], OdxSelectElement.prototype, "options", 2);
86
+ ], OdxSelectComponent.prototype, "options", 2);
75
87
  __decorateClass([
76
- query(OdxDropdownElement.selector, true)
77
- ], OdxSelectElement.prototype, "dropdownElement", 2);
78
- OdxSelectElement = __decorateClass([
88
+ query(OdxDropdownComponent.selector, true)
89
+ ], OdxSelectComponent.prototype, "dropdownElement", 2);
90
+ OdxSelectComponent = __decorateClass([
79
91
  customElement("odx-select", [styles])
80
- ], OdxSelectElement);
92
+ ], OdxSelectComponent);
81
93
 
82
- export { OdxSelectElement };
94
+ export { OdxSelectComponent };
@@ -1,10 +1,8 @@
1
1
  export * from './circular-progress-bar';
2
- export * from './dropdown';
3
2
  export * from './form-field';
4
3
  export * from './grid';
5
4
  export * from './menu';
6
5
  export * from './progress-bar';
7
- export * from './select';
8
6
  export * from './skeleton';
9
7
  export * from './slider';
10
8
  export * from './table';
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../elements/main.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../elements/main.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { provide } from '@lit/context';
2
2
  import { CustomElement, getKeyboardEventInfo, customElement } from '@odx/foundation';
3
3
  import { DragController } from '@odx/foundation/cdk';
4
- import { minBy, maxBy } from 'es-toolkit/array';
4
+ import { minBy, maxBy } from 'es-toolkit';
5
5
  import { isServer, html } from 'lit';
6
6
  import { query, property } from 'lit/decorators.js';
7
7
  import { sliderContext } from './slider-context.js';
@@ -3,13 +3,12 @@ import { CanBeDisabled } from '../mixins';
3
3
  import { CustomElement } from '../models';
4
4
  declare const OptionControl_base: import('../mixins').Constructor<CanBeDisabled> & typeof CustomElement;
5
5
  export declare abstract class OptionControl extends OptionControl_base {
6
- #private;
7
6
  role: 'option' | 'gridcell' | 'row' | 'tab' | null;
8
7
  selected: boolean;
9
8
  value: string;
10
9
  getTextLabel(): string;
11
- constructor();
12
- toggle(state?: boolean, emitEvent?: boolean): void;
10
+ setActive(): void;
11
+ setInactive(): void;
13
12
  connectedCallback(): void;
14
13
  protected willUpdate(changes: PropertyValueMap<this>): void;
15
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"option-control.d.ts","sourceRoot":"","sources":["../../../../src/lib/facade/option-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAY,MAAM,KAAK,CAAC;AAGtD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;;AAG1C,8BAAsB,aAAc,SAAQ,kBAA4B;;IAC7D,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,CAAQ;IAGnE,QAAQ,UAAS;IAGjB,KAAK,SAAM;IAEX,YAAY,IAAI,MAAM;;IAatB,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,SAAS,UAAQ,GAAG,IAAI;IASvC,iBAAiB,IAAI,IAAI;cAKf,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI;CAkBrE"}
1
+ {"version":3,"file":"option-control.d.ts","sourceRoot":"","sources":["../../../../src/lib/facade/option-control.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAG5C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;;AAE1C,8BAAsB,aAAc,SAAQ,kBAA4B;IAC7D,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,CAAQ;IAGnE,QAAQ,UAAS;IAGjB,KAAK,SAAM;IAEX,YAAY,IAAI,MAAM;IAItB,SAAS,IAAI,IAAI;IAIjB,WAAW,IAAI,IAAI;IAIV,iBAAiB,IAAI,IAAI;cAKf,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI;CAMrE"}
@@ -1,8 +1,6 @@
1
- import { isServer } from 'lit';
2
1
  import { property } from 'lit/decorators.js';
3
2
  import { CanBeDisabled } from '../mixins/can-be-disabled.js';
4
3
  import { CustomElement } from '../models/custom-element.js';
5
- import { getKeyboardEventInfo } from '../utils/keyboard-events.js';
6
4
  import { toAriaBooleanAttribute } from '../directives/aria-boolean-attr.js';
7
5
 
8
6
  var __defProp = Object.defineProperty;
@@ -16,36 +14,19 @@ var __decorateClass = (decorators, target, key, kind) => {
16
14
  };
17
15
  class OptionControl extends CanBeDisabled(CustomElement) {
18
16
  constructor() {
19
- super();
17
+ super(...arguments);
20
18
  this.role = null;
21
19
  this.selected = false;
22
20
  this.value = "";
23
- this.#handleClick = () => {
24
- this.toggle(void 0, true);
25
- };
26
- this.#handleKeyboardEvent = (event) => {
27
- const { actions } = getKeyboardEventInfo(event);
28
- if (!actions.enter && !actions.space) return;
29
- event.preventDefault();
30
- if (event.type === "keydown") return;
31
- this.toggle(void 0, true);
32
- };
33
- if (!isServer) {
34
- this.addEventListener("click", this.#handleClick);
35
- this.addEventListener("keydown", this.#handleKeyboardEvent);
36
- this.addEventListener("keyup", this.#handleKeyboardEvent);
37
- }
38
21
  }
39
22
  getTextLabel() {
40
23
  return this.textContent?.trim() ?? "";
41
24
  }
42
- toggle(state, emitEvent = false) {
43
- const currentState = this.selected;
44
- const newState = state ?? !this.selected;
45
- if (this.disabled || newState === this.selected) return;
46
- this.selected = newState;
47
- if (!emitEvent || !this.emit("change")) return;
48
- this.selected = currentState;
25
+ setActive() {
26
+ this.setAttribute("odx-active", "true");
27
+ }
28
+ setInactive() {
29
+ this.removeAttribute("odx-active");
49
30
  }
50
31
  connectedCallback() {
51
32
  super.connectedCallback?.();
@@ -57,8 +38,6 @@ class OptionControl extends CanBeDisabled(CustomElement) {
57
38
  this.ariaSelected = toAriaBooleanAttribute(this.selected, false);
58
39
  }
59
40
  }
60
- #handleClick;
61
- #handleKeyboardEvent;
62
41
  }
63
42
  __decorateClass([
64
43
  property({ type: Boolean })
@@ -8,9 +8,12 @@ export declare abstract class SelectFormControl<Option extends OptionControl = O
8
8
  multiple: boolean;
9
9
  value: string[] | string;
10
10
  get selectedOptions(): MapIterator<Option>;
11
- toggle(option: Option): void;
11
+ constructor();
12
+ toggle(option: OptionControl, state?: boolean, emitEvent?: boolean): void;
13
+ protected updateValue(option: OptionControl): void;
12
14
  protected willUpdate(changes: PropertyValues<this>): void;
13
15
  protected updateSelection(): Promise<void>;
16
+ protected handleKeyboardEvent: (event: KeyboardEvent) => void;
14
17
  }
15
18
  export {};
16
19
  //# sourceMappingURL=select-form-control.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"select-form-control.d.ts","sourceRoot":"","sources":["../../../../src/lib/facade/select-form-control.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAG1C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;;AAEtD,8BAAsB,iBAAiB,CAAC,MAAM,SAAS,aAAa,GAAG,aAAa,CAAE,SAAQ,sBAE7F;;IAGC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAGrC,QAAQ,UAAS;IAGR,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAM;IAEvC,IAAI,eAAe,IAAI,WAAW,CAAC,MAAM,CAAC,CAEzC;IAED,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;cAST,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAYlD,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;CAcjD"}
1
+ {"version":3,"file":"select-form-control.d.ts","sourceRoot":"","sources":["../../../../src/lib/facade/select-form-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAY,MAAM,KAAK,CAAC;AAGpD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;;AAEjD,8BAAsB,iBAAiB,CAAC,MAAM,SAAS,aAAa,GAAG,aAAa,CAAE,SAAQ,sBAE7F;;IAGC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAGrC,QAAQ,UAAS;IAGR,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAM;IAEvC,IAAI,eAAe,IAAI,WAAW,CAAC,MAAM,CAAC,CAEzC;;IAWD,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,SAAS,UAAQ,GAAG,IAAI;IAWvE,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,aAAa;cASxB,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAkBlD,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBhD,SAAS,CAAC,mBAAmB,GAAI,OAAO,aAAa,UAOnD;CAOH"}
@@ -1,6 +1,10 @@
1
+ import { isServer } from 'lit';
1
2
  import { property } from 'lit/decorators.js';
3
+ import { OptionControl } from './option-control.js';
4
+ import { getElementFromEvent } from '../utils/dom.js';
2
5
  import { FormControl } from '../mixins/form-control.js';
3
6
  import { CustomElement } from '../models/custom-element.js';
7
+ import { getKeyboardEventInfo } from '../utils/keyboard-events.js';
4
8
 
5
9
  var __defProp = Object.defineProperty;
6
10
  var __decorateClass = (decorators, target, key, kind) => {
@@ -15,16 +19,44 @@ class SelectFormControl extends FormControl(
15
19
  CustomElement
16
20
  ) {
17
21
  constructor() {
18
- super(...arguments);
22
+ super();
19
23
  this.#selectedOptions = /* @__PURE__ */ new Map();
20
24
  this.multiple = false;
21
25
  this.value = "";
26
+ this.handleKeyboardEvent = (event) => {
27
+ const { actions } = getKeyboardEventInfo(event);
28
+ const option = getElementFromEvent(event, (node) => node instanceof OptionControl);
29
+ if (!option || !actions.enter && !actions.space) return;
30
+ event.preventDefault();
31
+ if (event.type === "keydown") return;
32
+ this.toggle(option, void 0, true);
33
+ };
34
+ this.#handleClick = (event) => {
35
+ const option = getElementFromEvent(event, (node) => node instanceof OptionControl);
36
+ if (!option) return;
37
+ this.toggle(option, void 0, true);
38
+ };
39
+ if (!isServer) {
40
+ this.addEventListener("click", this.#handleClick);
41
+ this.addEventListener("keydown", this.handleKeyboardEvent);
42
+ this.addEventListener("keyup", this.handleKeyboardEvent);
43
+ }
22
44
  }
23
45
  #selectedOptions;
24
46
  get selectedOptions() {
25
47
  return this.#selectedOptions.values();
26
48
  }
27
- toggle(option) {
49
+ toggle(option, state, emitEvent = false) {
50
+ const currentState = option.selected;
51
+ const newState = state ?? !option.selected;
52
+ if (this.disabled || newState === option.selected) return;
53
+ option.selected = newState;
54
+ this.updateValue(option);
55
+ if (!emitEvent || !this.emit("change")) return;
56
+ option.selected = currentState;
57
+ this.updateValue(option);
58
+ }
59
+ updateValue(option) {
28
60
  if (this.multiple) {
29
61
  const value = typeof this.value === "string" ? [this.value].filter(Boolean) : this.value;
30
62
  this.value = option.selected ? [...value, option.value] : value.filter((value2) => value2 !== option.value);
@@ -34,6 +66,12 @@ class SelectFormControl extends FormControl(
34
66
  }
35
67
  willUpdate(changes) {
36
68
  super.willUpdate?.(changes);
69
+ if (changes.has("multiple")) {
70
+ const [selectedOption] = Array.from(this.#selectedOptions.entries());
71
+ if (selectedOption) {
72
+ this.updateValue(selectedOption[1]);
73
+ }
74
+ }
37
75
  if (changes.has("value")) {
38
76
  this.updateSelection();
39
77
  }
@@ -49,6 +87,7 @@ class SelectFormControl extends FormControl(
49
87
  for (const option of this.options ?? []) {
50
88
  if (option.disabled) continue;
51
89
  option.selected = this.multiple ? this.value.includes(option.value) : this.value === option.value;
90
+ option.setInactive();
52
91
  if (option.selected) {
53
92
  this.#selectedOptions.set(option.value, option);
54
93
  } else {
@@ -57,6 +96,7 @@ class SelectFormControl extends FormControl(
57
96
  }
58
97
  this.requestUpdate();
59
98
  }
99
+ #handleClick;
60
100
  }
61
101
  __decorateClass([
62
102
  property({ type: Boolean, reflect: true })
@@ -1 +1 @@
1
- {"version":3,"file":"can-be-disabled.d.ts","sourceRoot":"","sources":["../../../../src/lib/mixins/can-be-disabled.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,KAAK,WAAW,EAAe,MAAM,gBAAgB,CAAC;AAE/D,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,aAAa,GAAgB,CAAC,SAAS,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,KAqBjD,WAAW,CAAC,aAAa,CAAC,GAAG,CACvE,CAAC"}
1
+ {"version":3,"file":"can-be-disabled.d.ts","sourceRoot":"","sources":["../../../../src/lib/mixins/can-be-disabled.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,KAAK,WAAW,EAAe,MAAM,gBAAgB,CAAC;AAE/D,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,aAAa,GAAgB,CAAC,SAAS,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,KA+BjD,WAAW,CAAC,aAAa,CAAC,GAAG,CACvE,CAAC"}
@@ -15,19 +15,28 @@ const CanBeDisabled = dedupeMixin((superClass) => {
15
15
  class CanBeDisabledElement extends superClass {
16
16
  constructor() {
17
17
  super(...arguments);
18
- this.#initialTabIndex = 0;
18
+ this.#initialTabIndex = null;
19
19
  this.disabled = false;
20
20
  }
21
21
  #initialTabIndex;
22
22
  connectedCallback() {
23
23
  super.connectedCallback?.();
24
- this.#initialTabIndex = Math.max(0, this.tabIndex || 0);
24
+ this.#initialTabIndex = this.hasAttribute("tabindex") ? this.tabIndex : null;
25
25
  }
26
26
  willUpdate(props) {
27
27
  super.willUpdate?.(props);
28
28
  if (props.has("disabled")) {
29
- this.tabIndex = this.disabled ? -1 : this.#initialTabIndex;
30
- this.ariaDisabled = toAriaBooleanAttribute(this.disabled);
29
+ this.#handleDisableChange();
30
+ }
31
+ }
32
+ #handleDisableChange() {
33
+ this.ariaDisabled = toAriaBooleanAttribute(this.disabled);
34
+ if (this.disabled) {
35
+ this.tabIndex = -1;
36
+ } else if (this.#initialTabIndex !== null) {
37
+ this.tabIndex = this.#initialTabIndex;
38
+ } else {
39
+ this.removeAttribute("tabindex");
31
40
  }
32
41
  }
33
42
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@odx/foundation",
3
3
  "description": "A library of Web Component building blocks for ODX",
4
- "version": "0.1.0-alpha.15",
4
+ "version": "0.1.0-alpha.17",
5
5
  "author": "Drägerwerk AG & Co.KGaA",
6
6
  "license": "SEE LICENSE IN LICENSE",
7
7
  "homepage": "https://odx.draeger.com",
@@ -1,3 +0,0 @@
1
- const styles = ":host{--color-fill: transparent;--color-text: inherit;--min-block-size: inherit;--max-block-size: 100%;--min-inline-size: inherit;--max-inline-size: inherit;--_arrow-size: var(--odx-size-50);--_outer-padding: var(--odx-size-75);--_shadow: var(--odx-popover-shadow, var(--odx-shadow-level-1));--_border-radius: var(--odx-popover-border-radius, var(--odx-border-radius-md));display:flex;background-color:transparent}:host::part(arrow),:host::part(content){background-color:var(--color-fill)}:host::part(content){display:flex;flex-direction:column;position:relative;inset-block-start:0!important;inset-inline-start:0!important;block-size:fit-content;min-block-size:var(--min-block-size);max-block-size:var(--max-block-size);min-inline-size:var(--min-inline-size);max-inline-size:var(--max-inline-size);box-shadow:var(--_shadow);color:var(--color-text);padding:var(--_outer-padding);border-radius:var(--_border-radius);z-index:2;overflow:auto}:host::part(arrow){border-radius:var(--odx-border-radius-sm);position:absolute;inline-size:var(--_arrow-size);block-size:var(--_arrow-size);z-index:3;inset:0;transform:translate3d(var(--_popover-arrow-position-x),var(--_popover-arrow-position-y),0) rotate(45deg)}";
2
-
3
- export { styles as default };
@@ -1 +0,0 @@
1
- {"version":3,"file":"popover.element.d.ts","sourceRoot":"","sources":["../../../cdk/popover/popover.element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAiB,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,KAAK,cAAc,EAAQ,MAAM,KAAK,CAAC;AAKhD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,iBAAiB,CAAC;KAClC;CACF;AAED,qBACa,iBAAkB,SAAQ,aAAa;IAElD,SAAS,UAAS;cAEC,MAAM,IAAI,cAAc;CAQ5C"}
@@ -1,3 +0,0 @@
1
- const styles = ":host{--_popover-offset: var(--odx-size-37)}odx-popover{--color-fill: var(--odx-color-surface)}:host([matchReferenceWidth]:not([matchReferenceWidth=\"false\"])){odx-popover{--min-inline-size: var(--_reference-inline-size, 0)}}";
2
-
3
- export { styles as default };
@@ -1 +0,0 @@
1
- {"version":3,"file":"dropdown.element.d.ts","sourceRoot":"","sources":["../../../elements/dropdown/dropdown.element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAqE,MAAM,iBAAiB,CAAC;AAClI,OAAO,EAAE,KAAK,iBAAiB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAQ,MAAM,KAAK,CAAC;AAGrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,kBAAkB,CAAC;KACpC;CACF;;AAED,qBACa,kBAAmB,SAAQ,uBAAyC;;IAE/E,SAAS,CAAC,cAAc,EAAG,iBAAiB,CAAC;IAG7C,mBAAmB,UAAS;IAGnB,SAAS,EAAE,iBAAiB,CAA4B;IAExD,iBAAiB,IAAI,IAAI;IAKzB,YAAY,CAAC,gBAAgB,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI;IAWzD,cAAc,CAAC,gBAAgB,EAAE,WAAW,GAAG,IAAI;cAQzC,MAAM,IAAI,cAAc;cAQxB,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;CAgDnE"}
@@ -1,3 +0,0 @@
1
- export * from './dropdown.element';
2
- export * from './models';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../elements/dropdown/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dropdown-placement.d.ts","sourceRoot":"","sources":["../../../../elements/dropdown/models/dropdown-placement.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAC3F,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './dropdown-placement';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../elements/dropdown/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './select.element';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../elements/select/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
@@ -1,3 +0,0 @@
1
- const styles = ":host{display:block}[part=trigger]{display:flex;cursor:pointer;text-align:left;padding:var(--odx-size-37) var(--odx-size-75);min-width:200px;outline:var(--odx-outline-input);outline-offset:var(--odx-outline-offset-input);outline-color:var(--odx-color-outline-control);border-radius:var(--odx-border-radius-sm);min-block-size:var(--odx-size-225);transition:var(--odx-transition-reduced);transition-property:background-color,outline-color;gap:var(--odx-size-37)}[part=trigger]:focus-visible{background-color:var(--odx-color-fill-focus);outline-color:var(--odx-color-outline-focus)}[part=indicator]{font-size:var(--odx-size-150);margin-left:auto}[part=trigger] odx-chip{--_border-radius: var(--odx-border-radius-sm)}";
2
-
3
- export { styles as default };
@@ -1,17 +0,0 @@
1
- import { SelectFormControl } from '@odx/foundation';
2
- import { OdxOptionComponent } from '@odx/foundation/components';
3
- import { TemplateResult } from 'lit';
4
- import { OdxDropdownElement } from '../dropdown';
5
- declare global {
6
- interface HTMLElementTagNameMap {
7
- 'odx-select': OdxSelectElement;
8
- }
9
- }
10
- export declare class OdxSelectElement extends SelectFormControl {
11
- #private;
12
- protected options: OdxOptionComponent[];
13
- protected dropdownElement: OdxDropdownElement;
14
- protected render(): TemplateResult;
15
- protected renderSelectedOptions(): TemplateResult;
16
- }
17
- //# sourceMappingURL=select.element.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"select.element.d.ts","sourceRoot":"","sources":["../../../elements/select/select.element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,iBAAiB,EAAsC,MAAM,iBAAiB,CAAC;AAC5G,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,KAAK,cAAc,EAAQ,MAAM,KAAK,CAAC;AAIhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,gBAAgB,CAAC;KAChC;CACF;AAED,qBACa,gBAAiB,SAAQ,iBAAiB;;IACrD,UACmB,OAAO,EAAG,kBAAkB,EAAE,CAAC;IAGlD,SAAS,CAAC,eAAe,EAAG,kBAAkB,CAAC;cAE5B,MAAM,IAAI,cAAc;IAgB3C,SAAS,CAAC,qBAAqB,IAAI,cAAc;CAyBlD"}