@odx/foundation 1.0.0-beta.67 → 1.0.0-beta.68

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.
@@ -1,6 +1,5 @@
1
1
  import { PopoverPlacementOptions, ValuesOf } from '../../lib/main.js';
2
2
  import { PropertyValues, TemplateResult } from 'lit';
3
- import { OdxPopover } from '../popover/popover.js';
4
3
  import { PopoverHost } from '../popover/popover-host.js';
5
4
  declare global {
6
5
  interface HTMLElementTagNameMap {
@@ -14,7 +13,6 @@ export declare const DropdownPlacement: {
14
13
  };
15
14
  export declare class OdxDropdown extends PopoverHost {
16
15
  #private;
17
- popoverElement: OdxPopover;
18
16
  matchReferenceWidth: boolean;
19
17
  placement: DropdownPlacement;
20
18
  get options(): PopoverPlacementOptions;
@@ -1,12 +1,15 @@
1
1
  import { CanBeDisabled, CustomElement, Placement, PopoverPlacementOptions } from '../../lib/main.js';
2
+ import { OdxPopover } from './popover.js';
2
3
  declare const PopoverHost_base: import('../../lib/main.js').Constructor<CanBeDisabled> & typeof CustomElement;
3
4
  export declare class PopoverHost extends PopoverHost_base {
4
5
  #private;
5
6
  static readonly styles: import('lit').CSSResult;
6
7
  private isOpen;
8
+ popoverElement: OdxPopover;
7
9
  referenceElement: HTMLElement | null;
8
10
  anchor: string;
9
11
  placement: Placement;
12
+ fpsLimit: number;
10
13
  get options(): PopoverPlacementOptions;
11
14
  constructor();
12
15
  connectedCallback(): void;
@@ -14,7 +17,7 @@ export declare class PopoverHost extends PopoverHost_base {
14
17
  mountPopover(referenceElement: HTMLElement | null): void;
15
18
  unmountPopover(_referenceElement: HTMLElement): void;
16
19
  isPopoverOpen(): boolean;
17
- showPopover(): void;
20
+ showPopover(): Promise<void>;
18
21
  hidePopover(): void;
19
22
  togglePopover(state?: boolean): boolean;
20
23
  canPopoverShow?(): boolean;
@@ -6,6 +6,7 @@ declare global {
6
6
  }
7
7
  }
8
8
  export declare class OdxPopover extends CustomElement {
9
+ arrowElement: HTMLElement;
9
10
  showArrow: boolean;
10
11
  protected render(): TemplateResult;
11
12
  }
@@ -23,7 +23,6 @@ export declare const TooltipPlacement: Pick<{
23
23
  }, "TOP" | "RIGHT" | "BOTTOM" | "LEFT">;
24
24
  export declare class OdxTooltip extends PopoverHost {
25
25
  #private;
26
- manual: boolean;
27
26
  show: boolean;
28
27
  timeout?: number;
29
28
  placement: TooltipPlacement;
@@ -201,7 +201,7 @@ const _OdxActionButton = class _OdxActionButton extends OdxButton {
201
201
  ${when(
202
202
  !this.replaceContent && this.statusMessage,
203
203
  (statusMessage) => html`
204
- <odx-tooltip anchor=${this.id} placement="top" .manual=${true} .show=${this.isStatusMessageShown} timeout=${this.statusMessageTimeout}>
204
+ <odx-tooltip anchor=${this.id} placement="top" .popover=${"manual"} .show=${this.isStatusMessageShown} timeout=${this.statusMessageTimeout}>
205
205
  <odx-text size="sm" strong>${statusMessage}</odx-text>
206
206
  </odx-tooltip>
207
207
  `
@@ -915,7 +915,7 @@ __decorateClass([
915
915
  ], _OdxCircularProgressBar.prototype, "size", 2);
916
916
  let OdxCircularProgressBar = _OdxCircularProgressBar;
917
917
 
918
- const styles$X = "@layer base{:host{--max-block-size: 100%;--max-inline-size: 100%;--_popover-color-background: var(--odx-color-background-level-2);--_popover-color-foreground: var(--odx-color-foreground-rest);--_popover-min-block-size: inherit;--_popover-max-block-size: 100%;--_popover-min-inline-size: inherit;--_popover-max-inline-size: 100%;--_popover-transition: var(--odx-popover-transition, var(--odx-motion-duration-default));--_popover-offset: var(--odx-size-50);--_popover-shadow: var(--odx-popover-shadow, var(--odx-shadow-level-1));--_popover-outer-padding: var(--odx-size-75);--_max-block-size: min(var(--_popover-max-block-size), var(--max-block-size));--_max-inline-size: min(var(--_popover-max-inline-size), var(--max-inline-size));top:var(--_popover-position-y);left:var(--_popover-position-x);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;opacity:0;margin:0;background-color:transparent;max-block-size:var(--_max-block-size);max-inline-size:var(--_max-inline-size)}:host(:popover-open){display:flex;transform:translate(0);opacity:1;@starting-style{transform:translate(var(--_popover-transition-offset-x),var(--_popover-transition-offset-y));opacity:0}}}@layer state{:host,:host([popover-placement^=\"top\"]){--_popover-transition-offset-x: 0;--_popover-transition-offset-y: calc(-1 * var(--_popover-offset));padding-block:var(--_popover-outer-padding) var(--_popover-offset);max-block-size:calc(var(--_max-block-size) - var(--_popover-outer-padding))}:host([popover-placement^=\"right\"]){--_popover-transition-offset-x: var(--_popover-offset);--_popover-transition-offset-y: 0;padding-inline:var(--_popover-offset) var(--_popover-outer-padding);max-inline-size:calc(var(--_max-inline-size) - var(--_popover-outer-padding))}:host([popover-placement^=\"bottom\"]){--_popover-transition-offset-x: 0;--_popover-transition-offset-y: var(--_popover-offset);padding-block:var(--_popover-offset) var(--_popover-outer-padding);max-block-size:calc(var(--_max-block-size) - var(--_popover-outer-padding))}:host([popover-placement^=\"left\"]){--_popover-transition-offset-x: calc(-1 * var(--_popover-offset));--_popover-transition-offset-y: 0;padding-inline:var(--_popover-outer-padding) var(--_popover-offset);max-inline-size:calc(var(--_max-inline-size) - var(--_popover-outer-padding))}}";
918
+ const styles$X = "@layer base{:host{--max-block-size: 100%;--max-inline-size: 100%;--_popover-color-background: var(--odx-color-background-level-2);--_popover-color-foreground: var(--odx-color-foreground-rest);--_popover-min-block-size: inherit;--_popover-max-block-size: 100%;--_popover-min-inline-size: inherit;--_popover-max-inline-size: 100%;--_popover-transition: var(--odx-popover-transition, var(--odx-motion-duration-default));--_popover-offset: var(--odx-size-50);--_popover-shadow: var(--odx-popover-shadow, var(--odx-shadow-level-1));--_popover-outer-padding: var(--odx-size-75);--_popover-arrow-size: var(--odx-size-50);--_popover-arrow-offset: calc(var(--_popover-offset) - var(--_popover-arrow-size) / 2);--_max-block-size: min(var(--_popover-max-block-size), var(--max-block-size));--_max-inline-size: min(var(--_popover-max-inline-size), var(--max-inline-size));top:var(--_popover-position-y);left:var(--_popover-position-x);transform:translate3d(var(--_popover-transition-offset-x),var(--_popover-transition-offset-y),0);transition:opacity var(--_popover-transition),transform var(--_popover-transition) allow-discrete,overlay var(--_popover-transition) allow-discrete,display var(--_popover-transition) allow-discrete;opacity:0;margin:0;background-color:transparent;max-block-size:var(--_max-block-size);max-inline-size:var(--_max-inline-size)}:host(:popover-open){display:flex;transform:translate(0);opacity:1;@starting-style{transform:translate(var(--_popover-transition-offset-x),var(--_popover-transition-offset-y));opacity:0}}odx-popover::part(arrow){transform:rotate(45deg)}}@layer state{:host([popover-placement^=\"top\"]){--_popover-transition-offset-x: 0;--_popover-transition-offset-y: calc(-1 * var(--_popover-offset));padding-block:var(--_popover-outer-padding) var(--_popover-offset);max-block-size:calc(var(--_max-block-size) - var(--_popover-outer-padding));odx-popover::part(arrow){bottom:var(--_popover-arrow-offset)}}:host([popover-placement^=\"right\"]){--_popover-transition-offset-x: var(--_popover-offset);--_popover-transition-offset-y: 0;padding-inline:var(--_popover-offset) var(--_popover-outer-padding);max-inline-size:calc(var(--_max-inline-size) - var(--_popover-outer-padding));odx-popover::part(arrow){left:var(--_popover-arrow-offset)}}:host([popover-placement^=\"bottom\"]){--_popover-transition-offset-x: 0;--_popover-transition-offset-y: var(--_popover-offset);--_popover-arrow-offset-y: calc(var(--_popover-offset) - 6px);padding-block:var(--_popover-offset) var(--_popover-outer-padding);max-block-size:calc(var(--_max-block-size) - var(--_popover-outer-padding));odx-popover::part(arrow){top:var(--_popover-arrow-offset)}}:host([popover-placement^=\"left\"]){--_popover-transition-offset-x: calc(-1 * var(--_popover-offset));--_popover-transition-offset-y: 0;--_popover-arrow-offset-x: calc(var(--_popover-offset) - var(--_arrow-size) / 2);--_popover-arrow-offset-y: 0;padding-inline:var(--_popover-offset) var(--_popover-outer-padding);max-inline-size:calc(var(--_max-inline-size) - var(--_popover-outer-padding));odx-popover::part(arrow){right:var(--_popover-offset)}}}";
919
919
 
920
920
  class PopoverHost extends CanBeDisabled(CustomElement) {
921
921
  constructor() {
@@ -924,6 +924,7 @@ class PopoverHost extends CanBeDisabled(CustomElement) {
924
924
  this.referenceElement = null;
925
925
  this.anchor = "";
926
926
  this.placement = Placement.BOTTOM;
927
+ this.fpsLimit = 60;
927
928
  this.#handleToggle = async ({ newState }) => {
928
929
  if (this.isOpen) {
929
930
  this.onBeforePopoverShow?.();
@@ -946,7 +947,7 @@ class PopoverHost extends CanBeDisabled(CustomElement) {
946
947
  #positionUpdater;
947
948
  #observer;
948
949
  get options() {
949
- return PopoverPlacementOptions({ placement: this.placement });
950
+ return PopoverPlacementOptions({ arrowElement: this.popoverElement.arrowElement, placement: this.placement });
950
951
  }
951
952
  connectedCallback() {
952
953
  super.connectedCallback();
@@ -971,8 +972,9 @@ class PopoverHost extends CanBeDisabled(CustomElement) {
971
972
  isPopoverOpen() {
972
973
  return this.isOpen;
973
974
  }
974
- showPopover() {
975
+ async showPopover() {
975
976
  if (!this.referenceElement || this.isOpen || this.disabled || this.canPopoverShow?.() === false) return;
977
+ await 0;
976
978
  computePopoverPlacement(this.referenceElement, this, this.options);
977
979
  super.showPopover();
978
980
  this.isOpen = true;
@@ -980,8 +982,7 @@ class PopoverHost extends CanBeDisabled(CustomElement) {
980
982
  this.#positionUpdater = autoUpdate(
981
983
  this.referenceElement,
982
984
  this,
983
- throttle(() => this.referenceElement && computePopoverPlacement(this.referenceElement, this, this.options), 1e3 / 30),
984
- { animationFrame: true }
985
+ throttle(() => this.referenceElement && computePopoverPlacement(this.referenceElement, this, this.options), 1e3 / this.fpsLimit)
985
986
  );
986
987
  }
987
988
  hidePopover() {
@@ -1022,6 +1023,9 @@ class PopoverHost extends CanBeDisabled(CustomElement) {
1022
1023
  __decorateClass([
1023
1024
  state()
1024
1025
  ], PopoverHost.prototype, "isOpen", 2);
1026
+ __decorateClass([
1027
+ query("odx-popover", true)
1028
+ ], PopoverHost.prototype, "popoverElement", 2);
1025
1029
  __decorateClass([
1026
1030
  state()
1027
1031
  ], PopoverHost.prototype, "referenceElement", 2);
@@ -1031,6 +1035,9 @@ __decorateClass([
1031
1035
  __decorateClass([
1032
1036
  property({ reflect: true, useDefault: true })
1033
1037
  ], PopoverHost.prototype, "placement", 2);
1038
+ __decorateClass([
1039
+ property({ attribute: false })
1040
+ ], PopoverHost.prototype, "fpsLimit", 2);
1034
1041
 
1035
1042
  const styles$W = ":host{--_popover-offset: var(--odx-size-37)}";
1036
1043
 
@@ -1108,9 +1115,6 @@ const _OdxDropdown = class _OdxDropdown extends PopoverHost {
1108
1115
  #handleClick;
1109
1116
  #handleKeyboardEvent;
1110
1117
  };
1111
- __decorateClass([
1112
- query("odx-popover", true)
1113
- ], _OdxDropdown.prototype, "popoverElement", 2);
1114
1118
  __decorateClass([
1115
1119
  property({ type: Boolean, reflect: true, useDefault: true, attribute: "match-reference-width" })
1116
1120
  ], _OdxDropdown.prototype, "matchReferenceWidth", 2);
@@ -1281,7 +1285,7 @@ const _OdxAutocomplete = class _OdxAutocomplete extends FormControl {
1281
1285
  render() {
1282
1286
  return html`
1283
1287
  <slot name="control" @slotchange=${this.#handleControlSlotChange}></slot>
1284
- <odx-dropdown part="dropdown" role="listbox" tabindex="-1" ?disabled=${this.disabled} match-reference-width popover="manual">
1288
+ <odx-dropdown part="dropdown" role="listbox" tabindex="-1" ?disabled=${this.disabled} match-reference-width .popover="${"manual"}">
1285
1289
  <odx-highlight minlength=${this.minQueryLength} selector="odx-option" subtle .root=${this}>
1286
1290
  <odx-stack gap="xs">
1287
1291
  <slot></slot>
@@ -2842,7 +2846,7 @@ __decorateClass([
2842
2846
  ], _OdxPagination.prototype, "totalItems", 2);
2843
2847
  let OdxPagination = _OdxPagination;
2844
2848
 
2845
- const styles$s = ":host{--_arrow-size: var(--odx-size-50);--_outer-padding: var(--odx-size-75);--_border-radius: var(--odx-popover-border-radius, var(--odx-border-radius-controls));display:flex;border-radius:var(--_border-radius);box-shadow:var(--_popover-shadow);background-color:var(--_popover-color-background)}[part~=base]{display:flex;position:relative;inset-block-start:0!important;inset-inline-start:0!important;flex-direction:column;z-index:2;border-radius:inherit;block-size:fit-content;min-block-size:var(--_popover-min-block-size);max-block-size:100%;min-inline-size:var(--_popover-min-inline-size);max-inline-size:100%;overflow:auto;scrollbar-width:thin;scroll-behavior:smooth;scroll-padding-block:calc(var(--odx-size-150) + var(--_outer-padding))}[part~=content]{display:flex;flex-direction:column;padding:var(--_outer-padding);color:var(--_popover-color-foreground)}[part~=arrow]{position:absolute;inset:0;transform:translate3d(var(--_popover-arrow-position-x),var(--_popover-arrow-position-y),0) rotate(45deg);z-index:3;border-radius:var(--odx-border-radius-sm);background-color:inherit;block-size:var(--_arrow-size);inline-size:var(--_arrow-size)}";
2849
+ const styles$s = ":host{display:flex;border-radius:var(--odx-border-radius-controls);box-shadow:var(--_popover-shadow);background-color:var(--_popover-color-background)}[part~=base]{display:flex;position:relative;inset-block-start:0!important;inset-inline-start:0!important;flex-direction:column;z-index:2;border-radius:inherit;block-size:fit-content;min-block-size:var(--_popover-min-block-size);max-block-size:100%;min-inline-size:var(--_popover-min-inline-size);max-inline-size:100%;overflow:auto;scrollbar-width:thin;scroll-behavior:smooth;scroll-padding-block:calc(var(--odx-size-150) + var(--_popover-outer-padding))}[part~=content]{display:flex;flex-direction:column;padding:var(--odx-size-75);color:var(--_popover-color-foreground)}[part~=arrow]{position:absolute;z-index:3;background-color:inherit;block-size:var(--_popover-arrow-size);inline-size:var(--_popover-arrow-size)}";
2846
2850
 
2847
2851
  const _OdxPopover = class _OdxPopover extends CustomElement {
2848
2852
  constructor() {
@@ -2863,6 +2867,9 @@ const _OdxPopover = class _OdxPopover extends CustomElement {
2863
2867
  `;
2864
2868
  }
2865
2869
  };
2870
+ __decorateClass([
2871
+ query('[part="arrow"]')
2872
+ ], _OdxPopover.prototype, "arrowElement", 2);
2866
2873
  __decorateClass([
2867
2874
  property({ type: Boolean, reflect: true, useDefault: true })
2868
2875
  ], _OdxPopover.prototype, "showArrow", 2);
@@ -4224,13 +4231,12 @@ __decorateClass([
4224
4231
  ], _OdxToggleContent.prototype, "hidden", 2);
4225
4232
  let OdxToggleContent = _OdxToggleContent;
4226
4233
 
4227
- const styles$1 = ":host{--_popover-color-background: var(--odx-color-background-level-3);--_popover-color-foreground: var(--odx-color-foreground-inverse-static)}:host(:not([interactive])){pointer-events:none}odx-popover{--_border-radius: var(--odx-border-radius-md);--_outer-padding: var(--odx-size-25);padding-inline:var(--odx-size-50)}";
4234
+ const styles$1 = ":host{--_popover-color-background: var(--odx-color-background-level-3);--_popover-color-foreground: var(--odx-color-foreground-inverse-static)}:host(:not([interactive])){pointer-events:none;user-select:none}odx-popover{border-radius:var(--odx-border-radius-md);&::part(content){padding-block:var(--odx-size-25);padding-inline:var(--odx-size-50)}}";
4228
4235
 
4229
4236
  const TooltipPlacement = pick(Placement, ["TOP", "RIGHT", "BOTTOM", "LEFT"]);
4230
4237
  const _OdxTooltip = class _OdxTooltip extends PopoverHost {
4231
4238
  constructor() {
4232
4239
  super(...arguments);
4233
- this.manual = false;
4234
4240
  this.show = false;
4235
4241
  this.placement = TooltipPlacement.TOP;
4236
4242
  this.interactive = false;
@@ -4266,10 +4272,10 @@ const _OdxTooltip = class _OdxTooltip extends PopoverHost {
4266
4272
  clearTimeout(this.#timeout);
4267
4273
  }
4268
4274
  mountPopover(referenceElement) {
4269
- super.mountPopover(referenceElement);
4270
4275
  if (!referenceElement) return;
4276
+ super.mountPopover(referenceElement);
4271
4277
  this.#updateAriaAttributes(referenceElement, this.id);
4272
- if (this.manual) return;
4278
+ if (this.popover === "manual") return;
4273
4279
  this.addEventListener("mouseleave", this.#handleMouseEvents);
4274
4280
  referenceElement.addEventListener("mouseenter", this.#handleMouseEvents);
4275
4281
  referenceElement.addEventListener("mouseleave", this.#handleReferenceMouseLeave);
@@ -4291,7 +4297,7 @@ const _OdxTooltip = class _OdxTooltip extends PopoverHost {
4291
4297
  }
4292
4298
  render() {
4293
4299
  return html`
4294
- <odx-popover>
4300
+ <odx-popover showArrow>
4295
4301
  <slot></slot>
4296
4302
  </odx-popover>
4297
4303
  `;
@@ -4301,7 +4307,7 @@ const _OdxTooltip = class _OdxTooltip extends PopoverHost {
4301
4307
  if (props.has("id") && this.referenceElement) {
4302
4308
  this.#updateAriaAttributes(this.referenceElement, this.id);
4303
4309
  }
4304
- if (props.has("show") && (this.show || this.manual)) {
4310
+ if (props.has("show") && this.popover === "manual") {
4305
4311
  this.togglePopover(this.show);
4306
4312
  }
4307
4313
  }
@@ -4317,10 +4323,7 @@ const _OdxTooltip = class _OdxTooltip extends PopoverHost {
4317
4323
  #handleKeyboardFocus;
4318
4324
  };
4319
4325
  __decorateClass([
4320
- property({ type: Boolean, attribute: false })
4321
- ], _OdxTooltip.prototype, "manual", 2);
4322
- __decorateClass([
4323
- property({ type: Boolean, attribute: false })
4326
+ property({ type: Boolean })
4324
4327
  ], _OdxTooltip.prototype, "show", 2);
4325
4328
  __decorateClass([
4326
4329
  property({ type: Number })
@@ -7,7 +7,6 @@ export interface PopoverPlacementOptions {
7
7
  matchReferenceWidth: boolean;
8
8
  minHeight?: number | null;
9
9
  offset: number;
10
- outerPadding: number;
11
10
  }
12
11
  export declare function PopoverPlacementOptions(options?: Partial<PopoverPlacementOptions>): PopoverPlacementOptions;
13
12
  export declare function computePopoverPlacement(referenceElement: ReferenceElement, floatingElement: HTMLElement, options: PopoverPlacementOptions): Promise<void>;
package/dist/main.js CHANGED
@@ -1109,14 +1109,13 @@ function PopoverPlacementOptions(options) {
1109
1109
  fallbackAxisSideDirection: "end",
1110
1110
  matchReferenceWidth: false,
1111
1111
  offset: 0,
1112
- outerPadding: 24,
1113
1112
  ...options
1114
1113
  };
1115
1114
  }
1116
1115
  async function computePopoverPlacement(referenceElement, floatingElement, options) {
1117
- const { arrowElement, placement, offset: offset$1, matchReferenceWidth, enableFallback, fallbackAxisSideDirection, minHeight, outerPadding } = options;
1116
+ const { arrowElement, placement, offset: offset$1, matchReferenceWidth, enableFallback, fallbackAxisSideDirection, minHeight } = options;
1118
1117
  const arrowSize = arrowElement?.offsetWidth ?? 0;
1119
- const arrowMiddleware = arrowElement ? arrow({ element: arrowElement, padding: arrowSize * 3 }) : void 0;
1118
+ const arrowMiddleware = arrowElement ? arrow({ element: arrowElement, padding: arrowSize * 2 }) : void 0;
1120
1119
  const flipMiddleWare = enableFallback ? flip({ fallbackAxisSideDirection }) : void 0;
1121
1120
  floatingElement.setAttribute("popover-placement", placement);
1122
1121
  const result = await computePosition(referenceElement, floatingElement, {
@@ -1139,20 +1138,14 @@ async function computePopoverPlacement(referenceElement, floatingElement, option
1139
1138
  hide()
1140
1139
  ]
1141
1140
  });
1142
- let arrowPositionX = null;
1143
- let arrowPositionY = null;
1144
1141
  if (arrowElement && result.middlewareData.arrow) {
1145
- const popoverSide = placement.split("-")[0];
1146
- const { arrow: arrow2 } = result.middlewareData;
1147
- const arrowOffsetX = popoverSide === "left" ? floatingElement.offsetWidth - outerPadding - 0.5 * arrowSize : outerPadding - 0.5 * arrowSize;
1148
- const arrowOffsetY = popoverSide === "top" ? floatingElement.offsetHeight - outerPadding - 0.5 * arrowSize : outerPadding - 0.5 * arrowSize;
1149
- arrowPositionX = arrow2.x ?? arrowOffsetX;
1150
- arrowPositionY = arrow2.y ?? arrowOffsetY;
1142
+ Object.assign(arrowElement.style, {
1143
+ left: toPx(result.middlewareData.arrow.x),
1144
+ top: toPx(result.middlewareData.arrow.y)
1145
+ });
1151
1146
  }
1152
1147
  floatingElement.style.setProperty("--_popover-position-x", toPx(result.x));
1153
1148
  floatingElement.style.setProperty("--_popover-position-y", toPx(result.y));
1154
- floatingElement.style.setProperty("--_popover-arrow-position-x", toPx(arrowPositionX));
1155
- floatingElement.style.setProperty("--_popover-arrow-position-y", toPx(arrowPositionY));
1156
1149
  }
1157
1150
  function positionUpdater(referenceElement, floatingElement, options) {
1158
1151
  return autoUpdate(
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": "1.0.0-beta.67",
4
+ "version": "1.0.0-beta.68",
5
5
  "author": "Drägerwerk AG & Co.KGaA",
6
6
  "license": "SEE LICENSE IN LICENSE",
7
7
  "homepage": "https://odx.draeger.com",