@m3e/web 2.2.2 → 2.3.1

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 (51) hide show
  1. package/README.md +2 -0
  2. package/dist/all.js +829 -17
  3. package/dist/all.js.map +1 -1
  4. package/dist/all.min.js +44 -44
  5. package/dist/all.min.js.map +1 -1
  6. package/dist/autocomplete.js +26 -6
  7. package/dist/autocomplete.js.map +1 -1
  8. package/dist/autocomplete.min.js +1 -1
  9. package/dist/autocomplete.min.js.map +1 -1
  10. package/dist/core.js +22 -1
  11. package/dist/core.js.map +1 -1
  12. package/dist/core.min.js +1 -1
  13. package/dist/core.min.js.map +1 -1
  14. package/dist/css-custom-data.json +411 -301
  15. package/dist/custom-elements.json +20862 -19416
  16. package/dist/html-custom-data.json +228 -140
  17. package/dist/select.js +28 -9
  18. package/dist/select.js.map +1 -1
  19. package/dist/select.min.js +1 -1
  20. package/dist/select.min.js.map +1 -1
  21. package/dist/skeleton.js +153 -0
  22. package/dist/skeleton.js.map +1 -0
  23. package/dist/skeleton.min.js +7 -0
  24. package/dist/skeleton.min.js.map +1 -0
  25. package/dist/split-pane.js +627 -0
  26. package/dist/split-pane.js.map +1 -0
  27. package/dist/split-pane.min.js +7 -0
  28. package/dist/split-pane.min.js.map +1 -0
  29. package/dist/src/all.d.ts +2 -0
  30. package/dist/src/all.d.ts.map +1 -1
  31. package/dist/src/autocomplete/AutocompleteElement.d.ts.map +1 -1
  32. package/dist/src/core/shared/utils/index.d.ts +1 -0
  33. package/dist/src/core/shared/utils/index.d.ts.map +1 -1
  34. package/dist/src/core/shared/utils/waitForUpgrade.d.ts +6 -0
  35. package/dist/src/core/shared/utils/waitForUpgrade.d.ts.map +1 -0
  36. package/dist/src/select/SelectElement.d.ts.map +1 -1
  37. package/dist/src/skeleton/SkeletonAnimation.d.ts +3 -0
  38. package/dist/src/skeleton/SkeletonAnimation.d.ts.map +1 -0
  39. package/dist/src/skeleton/SkeletonElement.d.ts +73 -0
  40. package/dist/src/skeleton/SkeletonElement.d.ts.map +1 -0
  41. package/dist/src/skeleton/SkeletonShape.d.ts +3 -0
  42. package/dist/src/skeleton/SkeletonShape.d.ts.map +1 -0
  43. package/dist/src/skeleton/index.d.ts +4 -0
  44. package/dist/src/skeleton/index.d.ts.map +1 -0
  45. package/dist/src/split-pane/SplitPaneElement.d.ts +163 -0
  46. package/dist/src/split-pane/SplitPaneElement.d.ts.map +1 -0
  47. package/dist/src/split-pane/SplitPaneOrientation.d.ts +3 -0
  48. package/dist/src/split-pane/SplitPaneOrientation.d.ts.map +1 -0
  49. package/dist/src/split-pane/index.d.ts +3 -0
  50. package/dist/src/split-pane/index.d.ts.map +1 -0
  51. package/package.json +11 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"split-pane.js","sources":["../../src/split-pane/SplitPaneElement.ts"],"sourcesContent":["import { css, CSSResultGroup, html, LitElement, PropertyValues, unsafeCSS } from \"lit\";\r\nimport { property, query, state } from \"lit/decorators.js\";\r\nimport { ifDefined } from \"lit/directives/if-defined.js\";\r\n\r\nimport {\r\n addCustomState,\r\n AttachInternals,\r\n customElement,\r\n deleteCustomState,\r\n DesignToken,\r\n Disabled,\r\n FormAssociated,\r\n formValue,\r\n MutationController,\r\n prefersReducedMotion,\r\n PressedController,\r\n ReconnectedCallback,\r\n registerStyleSheet,\r\n setCustomState,\r\n spaceSeparatedStringConverter,\r\n} from \"@m3e/web/core\";\r\n\r\nimport { Breakpoint, M3eBreakpointObserver } from \"@m3e/web/core/layout\";\r\nimport { Direction, M3eDirectionality } from \"@m3e/web/core/bidi\";\r\n\r\nimport { SplitPaneOrientation } from \"./SplitPaneOrientation\";\r\n\r\n/**\r\n * A dual-view layout that separates content with a movable drag handle.\r\n * @description\r\n * The `m3e-split-pane` component delivers a Material 3-inspired split view with a\r\n * movable drag handle, enabling responsive layout composition and pane resizing.\r\n * It supports keyboard interaction, adaptive orientation, and optional detent snapping\r\n * for consistent, accessible content distribution.\r\n *\r\n * @example\r\n * The following example illustrates the basic use of the `m3e-split-pane` with start and end content.\r\n * In this example, the start pane occupies 25% of the available width.\r\n * ```html\r\n * <m3e-split-pane value=\"25\">\r\n * <m3e-card slot=\"start\"></m3e-card>\r\n * <m3e-card slot=\"end\"></m3e-card>\r\n * </m3e-split-pane>\r\n * ```\r\n *\r\n * @example\r\n * The next example demonstrates minimum and maximum constraints, where the start pane\r\n * may shrink to 25% but cannot grow beyond 50% of the available space.\r\n * ```html\r\n * <m3e-split-pane value=\"25\" min=\"25\" max=\"50\">\r\n * <m3e-card slot=\"start\"></m3e-card>\r\n * <m3e-card slot=\"end\"></m3e-card>\r\n * </m3e-split-pane>\r\n * ```\r\n *\r\n * @example\r\n * The next example demonstrates percentage‑based detents, allowing the drag handle to snap at\r\n * 0%, 25%, 50%, 75%, and 100% of the available space.\r\n * ```html\r\n * <m3e-split-pane value=\"50\" detents=\"0 25 50 75 100\">\r\n * <m3e-card slot=\"start\"></m3e-card>\r\n * <m3e-card slot=\"end\"></m3e-card>\r\n * </m3e-split-pane>\r\n * ```\r\n *\r\n * @tag m3e-split-pane\r\n *\r\n * @slot start - Renders content at the logical start side of the pane.\r\n * @slot end - Renders content at the logical end side of the pane.\r\n *\r\n * @attr detents - Detents (discrete sizes) the start pane can snap to.\r\n * @attr label - The accessible label given to the moveable drag handle.\r\n * @attr max - A fractional value, between 0 and 100, indicating the maximum size of the start pane.\r\n * @attr min - A fractional value, between 0 and 100, indicating the minimum size of the start pane.\r\n * @attr orientation - The orientation of the split.\r\n * @attr step - A fractional value, between 0 and 100, indicating the increment by which to adjust the value when resized via keyboard.\r\n * @attr value - A fractional value, between 0 and 100, indicating the size of the start pane.\r\n * @attr wrap-detents - Whether cycling through detents will wrap.\r\n *\r\n * @fires input - Fired continuously while the user adjusts the drag handle.\r\n * @fires change - Fired when the user finishes adjusting the drag handle.\r\n *\r\n * @cssprop --m3e-split-pane-drag-handle-hover-color - Color used for the drag handle hover state.\r\n * @cssprop --m3e-split-pane-drag-handle-hover-opacity - Opacity used for the drag handle hover state.\r\n * @cssprop --m3e-split-pane-drag-handle-focus-color - Color used for the drag handle focus state.\r\n * @cssprop --m3e-split-pane-drag-handle-focus-opacity - Opacity used for the drag handle focus state.\r\n * @cssprop --m3e-split-pane-drag-handle-color - Background color of the drag handle when not pressed.\r\n * @cssprop --m3e-split-pane-drag-handle-shape - Corner shape of the drag handle when not pressed.\r\n * @cssprop --m3e-split-pane-drag-handle-pressed-color - Background color of the drag handle when pressed.\r\n * @cssprop --m3e-split-pane-drag-handle-pressed-shape - Corner shape of the drag handle when pressed.\r\n * @cssprop --m3e-split-pane-drag-handle-container-width - Width of the drag handle container.\r\n * @cssprop --m3e-split-pane-drag-handle-width - Thickness of the drag handle when not pressed.\r\n * @cssprop --m3e-split-pane-drag-handle-height - Length of the drag handle when not pressed.\r\n * @cssprop --m3e-split-pane-drag-handle-pressed-width - Thickness of the drag handle when pressed.\r\n * @cssprop --m3e-split-pane-drag-handle-pressed-height - Length of the drag handle when pressed.\r\n */\r\n@customElement(\"m3e-split-pane\")\r\nexport class M3eSplitPaneElement extends FormAssociated(Disabled(ReconnectedCallback(AttachInternals(LitElement)))) {\r\n static {\r\n registerStyleSheet(css`\r\n @property --_split-pane-value {\r\n syntax: \"<length-percentage>\";\r\n inherits: true;\r\n initial-value: 50%;\r\n }\r\n `);\r\n }\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = css`\r\n :host {\r\n display: block;\r\n }\r\n .base {\r\n display: flex;\r\n width: 100%;\r\n height: 100%;\r\n overflow: hidden;\r\n }\r\n :host(:not(:state(-vertical))) .base {\r\n flex-direction: row;\r\n }\r\n :host(:state(-vertical)) .base {\r\n flex-direction: column;\r\n }\r\n :host(:state(-with-start):state(-with-end)) .base:not(:has(.drag-handle[hidden])) .start {\r\n flex: 0 1 calc(var(--_split-pane-value) - calc(var(--m3e-split-pane-drag-handle-container-width, 1.5rem) / 2));\r\n }\r\n :host(:state(-with-start):state(-with-end)) .base:has(.drag-handle[hidden]) .start {\r\n flex: 0 1 var(--_split-pane-value);\r\n }\r\n :host(:not(:state(-with-end))) .start {\r\n flex: 1 1 auto;\r\n }\r\n :host(:state(-with-end)) .end {\r\n flex: 1 1 auto;\r\n }\r\n :host(:not(:state(-with-end))) .end {\r\n display: none;\r\n }\r\n :host(:not(:state(-animating))) .start[inert],\r\n :host(:not(:state(-animating))) .end[inert] {\r\n visibility: hidden;\r\n }\r\n .drag-handle {\r\n flex: none;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n outline: none;\r\n touch-action: none;\r\n user-select: none;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n\r\n --m3e-state-layer-hover-color: var(--m3e-split-pane-drag-handle-hover-color, ${DesignToken.color.onSurface});\r\n --m3e-state-layer-hover-opacity: var(--m3e-split-pane-drag-handle-hover-opacity, 8%);\r\n --m3e-state-layer-focus-color: var(--m3e-split-pane-drag-handle-focus-color, ${DesignToken.color.onSurface});\r\n --m3e-state-layer-focus-opacity: var(--m3e-split-pane-drag-handle-focus-opacity, 10%);\r\n }\r\n :host(:is(:not(:state(-with-start)), :not(:state(-with-end)))) .drag-handle,\r\n .drag-handle[hidden] {\r\n display: none;\r\n }\r\n :host(:not(:state(-pressed))) .drag-handle:not([aria-disabled]) {\r\n cursor: grab;\r\n }\r\n :host(:state(-pressed)) .drag-handle:not([aria-disabled]) {\r\n cursor: grabbing;\r\n }\r\n .handle {\r\n position: relative;\r\n transition: ${unsafeCSS(`background-color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard},\r\n width ${DesignToken.motion.spring.fastEffects}, height ${DesignToken.motion.spring.fastEffects}`)};\r\n }\r\n .touch {\r\n z-index: 1;\r\n position: absolute;\r\n height: 3rem;\r\n width: 3rem;\r\n margin: auto;\r\n touch-action: none;\r\n user-select: none;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n }\r\n :host(:not(:state(-pressed))) .handle {\r\n background-color: var(--m3e-split-pane-drag-handle-color, ${DesignToken.color.outline});\r\n border-radius: var(--m3e-split-pane-drag-handle-shape, ${DesignToken.shape.corner.full});\r\n }\r\n :host(:state(-pressed)) .handle {\r\n background-color: var(--m3e-split-pane-drag-handle-pressed-color, ${DesignToken.color.onSurface});\r\n border-radius: var(--m3e-split-pane-drag-handle-pressed-shape, ${DesignToken.shape.corner.medium});\r\n }\r\n :host(:not(:state(-vertical))) .drag-handle {\r\n flex-direction: column;\r\n width: var(--m3e-split-pane-drag-handle-container-width, 1.5rem);\r\n }\r\n :host(:not(:state(-vertical)):not(:state(-pressed))) .handle {\r\n width: var(--m3e-split-pane-drag-handle-width, 0.25rem);\r\n height: var(--m3e-split-pane-drag-handle-height, 3rem);\r\n }\r\n :host(:not(:state(-vertical)):state(-pressed)) .handle {\r\n width: var(--m3e-split-pane-drag-handle-pressed-width, 0.75rem);\r\n height: var(--m3e-split-pane-drag-handle-pressed-height, 3.25rem);\r\n }\r\n :host(:state(-vertical)) .drag-handle {\r\n height: var(--m3e-split-pane-drag-handle-container-width, 1.5rem);\r\n }\r\n :host(:state(-vertical):not(:state(-pressed))) .handle {\r\n width: var(--m3e-split-pane-drag-handle-height, 3rem);\r\n height: var(--m3e-split-pane-drag-handle-width, 0.25rem);\r\n }\r\n :host(:state(-vertical):state(-pressed)) .handle {\r\n width: var(--m3e-split-pane-drag-handle-pressed-height, 3.25rem);\r\n height: var(--m3e-split-pane-drag-handle-pressed-width, 0.75rem);\r\n }\r\n @media (prefers-reduced-motion) {\r\n .handle {\r\n transition: none;\r\n }\r\n }\r\n @media (forced-colors: active) {\r\n :host(:state(-pressed)) .handle,\r\n :host(:not(:state(-pressed))) .handle {\r\n background-color: ButtonText;\r\n }\r\n }\r\n `;\r\n\r\n /** @private */ @state() _orientation?: Exclude<SplitPaneOrientation, \"auto\">;\r\n /** @private */ #breakpointUnobserve?: () => void;\r\n\r\n /** @private */ @query(\".base\") private _base!: HTMLElement;\r\n /** @private */ @query(\".drag-handle\") private _dragHandle!: HTMLElement;\r\n\r\n /** @private */ #dragPos = 0;\r\n /** @private */ #valueChanged = false;\r\n /** @private */ #cachedSize = 0;\r\n /** @private */ #snapAnimation?: Animation;\r\n\r\n /** @private */\r\n readonly #pressedController = new PressedController(this, {\r\n target: null,\r\n isPressedKey: (key) => key === \" \",\r\n minPressedDuration: 150,\r\n callback: (pressed) => setCustomState(this, \"-pressed\", pressed && !this.disabled),\r\n });\r\n\r\n /** @private */\r\n readonly #startMutationController = new MutationController(this, {\r\n target: null,\r\n config: { attributeFilter: [\"hidden\"] },\r\n callback: () => this.#updatePaneVisibility(\"start\"),\r\n });\r\n\r\n /** @private */\r\n readonly #endMutationController = new MutationController(this, {\r\n target: null,\r\n config: { attributeFilter: [\"hidden\"] },\r\n callback: () => this.#updatePaneVisibility(\"end\"),\r\n });\r\n\r\n /**\r\n * A fractional value, between 0 and 100, indicating the size of the start pane.\r\n * @default 50\r\n */\r\n @property({ type: Number }) value = 50;\r\n\r\n /**\r\n * A fractional value, between 0 and 100, indicating the minimum size of the start pane.\r\n * @default 0\r\n */\r\n @property({ type: Number }) min = 0;\r\n\r\n /**\r\n * A fractional value, between 0 and 100, indicating the maximum size of the start pane.\r\n * @default 100\r\n */\r\n @property({ type: Number }) max = 100;\r\n\r\n /**\r\n * A fractional value, between 0 and 100, indicating the increment by which to adjust the value when resized via keyboard.\r\n * @default 1\r\n */\r\n @property({ type: Number }) step = 1;\r\n\r\n /**\r\n * Detents (discrete sizes) the start pane can snap to.\r\n * @default []\r\n */\r\n @property({ attribute: \"detents\", converter: spaceSeparatedStringConverter }) detents: string[] = [];\r\n\r\n /**\r\n * Whether cycling through detents will wrap.\r\n * @default false\r\n */\r\n @property({ attribute: \"wrap-detents\", type: Boolean }) wrapDetents = false;\r\n\r\n /**\r\n * The orientation of the split.\r\n * @default \"horizontal\"\r\n */\r\n @property() orientation: SplitPaneOrientation = \"horizontal\";\r\n\r\n /**\r\n * The accessible label given to the movable drag handle.\r\n * @default \"Resize panes\"\r\n */\r\n @property() label: string = \"Resize panes\";\r\n\r\n /** A function used to generates human readable text for the accessible value (`aria-valuetext`) of the drag handle. */\r\n @property() valueFormatter?: (\r\n value: number,\r\n orientation: Omit<SplitPaneOrientation, \"auto\">,\r\n dir: Direction,\r\n ) => string | undefined = (value, orientation, dir) => {\r\n value = Math.round(value);\r\n if (value >= 48 && value <= 52) {\r\n return \"Panes equally sized\";\r\n }\r\n\r\n switch (value) {\r\n case 0:\r\n return orientation === \"horizontal\"\r\n ? dir === \"ltr\"\r\n ? \"Left pane collapsed\"\r\n : \"Right pane collapsed\"\r\n : \"Top pane collapsed\";\r\n case 100:\r\n return orientation === \"horizontal\"\r\n ? dir === \"ltr\"\r\n ? \"Right pane collapsed\"\r\n : \"Left pane collapsed\"\r\n : \"Bottom pane collapsed\";\r\n default:\r\n return orientation === \"horizontal\"\r\n ? dir === \"ltr\"\r\n ? `Left pane ${value}%, right pane ${100 - value}%`\r\n : `Left pane ${100 - value}%, right pane ${value}%`\r\n : `Top pane ${value}%, bottom pane ${100 - value}%`;\r\n }\r\n };\r\n\r\n /** The current orientation of the split. */\r\n get currentOrientation(): Exclude<SplitPaneOrientation, \"auto\"> {\r\n return this._orientation ?? (this.orientation !== \"vertical\" ? \"horizontal\" : \"vertical\");\r\n }\r\n\r\n /** @inheritdoc */\r\n override get [formValue](): string | File | FormData | null {\r\n return this.value?.toString() ?? null;\r\n }\r\n\r\n /**\r\n * Moves the drag handle to the collapsed position. If detents exist, snaps to the collapsed detent.\r\n * If no detents exist, moves to the minimum allowed value.\r\n */\r\n collapse(): void {\r\n this.snapToValue(this.min);\r\n }\r\n\r\n /**\r\n * Moves the drag handle to the expanded position. If detents exist, snaps to the expanded detent.\r\n * If no detents exist, moves to the maximum allowed value.\r\n */\r\n expand(): void {\r\n this.snapToValue(this.max);\r\n }\r\n\r\n /**\r\n * Moves the drag handle to the specified position. If detents exist, snaps to the closest detent.\r\n * If no detents exist, moves to the specified value.\r\n * @param {number} value A fractional value, between 0 and 100, indicating the size of the start pane.\r\n */\r\n snapToValue(value: number): void {\r\n const detent = this.#getClosestDetent(value);\r\n value = detent > -1 ? this.#computeDetent(this.detents[detent])! : value;\r\n if (!this.#snapAnimation) {\r\n this.#snapToValue(value);\r\n } else {\r\n this.#changeValue(value);\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n override disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n\r\n this.#clearOrientation();\r\n this.#pressedController.unobserve(this._dragHandle);\r\n }\r\n\r\n /** @inheritdoc */\r\n override reconnectedCallback(): void {\r\n super.reconnectedCallback();\r\n\r\n this.#initialize();\r\n\r\n if (this.orientation === \"auto\") {\r\n this.#initBreakpointMonitoring();\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override willUpdate(changedProperties: PropertyValues<this>): void {\r\n super.willUpdate(changedProperties);\r\n\r\n if (changedProperties.has(\"orientation\")) {\r\n this.#breakpointUnobserve?.();\r\n\r\n if (this.orientation === \"auto\") {\r\n this.#initBreakpointMonitoring();\r\n } else {\r\n this._orientation = undefined;\r\n this.#updateOrientation();\r\n }\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override updated(_changedProperties: PropertyValues): void {\r\n super.updated(_changedProperties);\r\n if (_changedProperties.has(\"value\")) {\r\n this._base.style.setProperty(\"--_split-pane-value\", `${this.value}%`);\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override firstUpdated(_changedProperties: PropertyValues): void {\r\n super.firstUpdated(_changedProperties);\r\n this.#initialize();\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<div class=\"base\">\r\n <div class=\"start\" id=\"start\" ?inert=\"${this.value <= 0}\">\r\n <slot name=\"start\" @slotchange=\"${this.#handleStartSlotChange}\"></slot>\r\n </div>\r\n ${this.#renderDragHandle()}\r\n <div class=\"end\" ?inert=\"${this.value >= 100}\">\r\n <slot name=\"end\" @slotchange=\"${this.#handleEndSlotChange}\"></slot>\r\n </div>\r\n </div>`;\r\n }\r\n\r\n /** @private */\r\n #renderDragHandle(): unknown {\r\n return html`<div\r\n id=\"drag-handle\"\r\n class=\"drag-handle\"\r\n role=\"separator\"\r\n ?hidden=\"${this.disabled}\"\r\n tabindex=\"0\"\r\n aria-label=\"${this.label}\"\r\n aria-controls=\"start\"\r\n aria-orientation=\"${this.currentOrientation === \"horizontal\" ? \"vertical\" : \"horizontal\"}\"\r\n aria-valuemin=\"${this.min}\"\r\n aria-valuemax=\"${this.max}\"\r\n aria-valuenow=\"${this.value}\"\r\n aria-valuetext=\"${ifDefined(\r\n this.valueFormatter?.(this.value, this.currentOrientation, M3eDirectionality.current),\r\n )}\"\r\n @pointerdown=\"${this.#handlePointerDown}\"\r\n @pointerup=\"${this.#handlePointerUp}\"\r\n @pointermove=\"${this.#handlePointerMove}\"\r\n @keydown=\"${this.#handleKeyDown}\"\r\n @dblclick=\"${this.#cycleDetent}\"\r\n >\r\n <div class=\"handle\">\r\n <m3e-focus-ring for=\"drag-handle\"></m3e-focus-ring>\r\n <m3e-state-layer for=\"drag-handle\"></m3e-state-layer>\r\n </div>\r\n <div class=\"touch\"></div>\r\n </div>`;\r\n }\r\n\r\n /** @private */\r\n #handleStartSlotChange(e: Event): void {\r\n this.#handleSlotChange(e.target as HTMLSlotElement, this.#startMutationController, \"-with-start\");\r\n }\r\n\r\n /** @private */\r\n #handleEndSlotChange(e: Event): void {\r\n this.#handleSlotChange(e.target as HTMLSlotElement, this.#endMutationController, \"-with-end\");\r\n }\r\n\r\n /** @private */\r\n #handleSlotChange(slot: HTMLSlotElement, mutationController: MutationController, state: string): void {\r\n for (const target of mutationController.targets) {\r\n mutationController.unobserve(target);\r\n }\r\n\r\n const assignedElements = new Array<Element>();\r\n setCustomState(this, state, this.#hasVisibleElements(slot, assignedElements));\r\n\r\n for (const element of assignedElements) {\r\n if (element instanceof HTMLElement) {\r\n mutationController.observe(element);\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #updatePaneVisibility(pane: \"start\" | \"end\"): void {\r\n setCustomState(\r\n this,\r\n `-with-${pane}`,\r\n this.#hasVisibleElements(this.shadowRoot?.querySelector<HTMLSlotElement>(`slot[name='${pane}']`)),\r\n );\r\n }\r\n\r\n /** @private */\r\n #hasVisibleElements(slot?: HTMLSlotElement | null, assignedElements?: Element[]): boolean {\r\n assignedElements = assignedElements ?? [];\r\n assignedElements.push(...(slot?.assignedElements({ flatten: true }) ?? []));\r\n return assignedElements.length > 0 && !assignedElements.every((x) => x.hasAttribute(\"hidden\"));\r\n }\r\n\r\n /** @private */\r\n #initialize() {\r\n this.#pressedController.observe(this._dragHandle);\r\n }\r\n\r\n /** @private */\r\n #initBreakpointMonitoring(): void {\r\n this.#breakpointUnobserve = M3eBreakpointObserver.observe([Breakpoint.XSmall], (matches) => {\r\n this._orientation = matches.get(Breakpoint.XSmall) ? \"vertical\" : \"horizontal\";\r\n this.#updateOrientation();\r\n });\r\n }\r\n\r\n /** @private */\r\n #updateOrientation(): void {\r\n setCustomState(this, \"-vertical\", this.currentOrientation === \"vertical\");\r\n }\r\n\r\n /** @private */\r\n #clearOrientation(): void {\r\n deleteCustomState(this, \"-vertical\");\r\n this._orientation = undefined;\r\n this.#breakpointUnobserve?.();\r\n this.#breakpointUnobserve = undefined;\r\n }\r\n\r\n /** @private */\r\n #handlePointerDown(e: PointerEvent): void {\r\n if (e.pointerType === \"mouse\" && e.button > 1) return;\r\n if (this.disabled) return;\r\n\r\n this._dragHandle.setPointerCapture(e.pointerId);\r\n this.#valueChanged = false;\r\n this.#dragPos = this.currentOrientation === \"vertical\" ? e.clientY : e.clientX;\r\n this.#cachedSize = this.currentOrientation === \"vertical\" ? this.clientHeight : this.clientWidth;\r\n }\r\n\r\n /** @private */\r\n #handlePointerMove(e: PointerEvent): void {\r\n if (!this._dragHandle.hasPointerCapture(e.pointerId)) return;\r\n\r\n const pos = this.currentOrientation === \"vertical\" ? e.clientY : e.clientX;\r\n let delta = this.#cachedSize > 0 ? ((pos - this.#dragPos) / this.#cachedSize) * 100 : 0;\r\n if (M3eDirectionality.current === \"rtl\" && this.currentOrientation !== \"vertical\") {\r\n delta = -delta;\r\n }\r\n if (this.#changeValue(this.value + delta, false)) {\r\n this.#dragPos = pos;\r\n this.#valueChanged = true;\r\n }\r\n }\r\n\r\n /** @private */\r\n #handlePointerUp(e: PointerEvent): void {\r\n if (e.pointerType === \"mouse\" && e.button > 1) return;\r\n if (this._dragHandle.hasPointerCapture(e.pointerId)) {\r\n this._dragHandle.releasePointerCapture(e.pointerId);\r\n this.#dragPos = 0;\r\n this.#cachedSize = 0;\r\n\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent >= 0) {\r\n const value = this.#computeDetent(this.detents[detent]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value, false);\r\n }\r\n }\r\n\r\n if (this.#valueChanged) {\r\n this.dispatchEvent(new Event(\"change\", { bubbles: true, composed: true }));\r\n this.#valueChanged = false;\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleKeyDown(e: KeyboardEvent): void {\r\n const ltr = M3eDirectionality.current === \"ltr\" || this.currentOrientation === \"vertical\";\r\n switch (e.key) {\r\n case \"Up\":\r\n case \"ArrowUp\":\r\n case \"Left\":\r\n case \"ArrowLeft\": {\r\n e.preventDefault();\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent >= 0) {\r\n const nextDetent = ltr ? this.#getNextLowerDetent(detent) : this.#getNextHigherDetent(detent);\r\n if (nextDetent !== detent && !this.#snapAnimation) {\r\n const value = this.#computeDetent(this.detents[nextDetent]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value);\r\n }\r\n }\r\n } else if (this.step > 1) {\r\n if (!this.#snapAnimation) {\r\n this.#snapToValue(this.value + (ltr ? -this.step : this.step));\r\n }\r\n } else {\r\n this.#changeValue(this.value + (ltr ? -this.step : this.step));\r\n }\r\n break;\r\n }\r\n\r\n case \"Down\":\r\n case \"ArrowDown\":\r\n case \"Right\":\r\n case \"ArrowRight\": {\r\n e.preventDefault();\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent >= 0) {\r\n const nextDetent = ltr ? this.#getNextHigherDetent(detent) : this.#getNextLowerDetent(detent);\r\n if (nextDetent !== detent && !this.#snapAnimation) {\r\n const value = this.#computeDetent(this.detents[nextDetent]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value);\r\n }\r\n }\r\n } else if (this.step > 1) {\r\n if (!this.#snapAnimation) {\r\n this.#snapToValue(this.value + (ltr ? this.step : -this.step));\r\n }\r\n } else {\r\n this.#changeValue(this.value + (ltr ? this.step : -this.step));\r\n }\r\n\r\n break;\r\n }\r\n\r\n case \"Home\": {\r\n e.preventDefault();\r\n if (!this.#snapAnimation) {\r\n const next = this.#getClosestDetent(this.min);\r\n if (next > -1) {\r\n this.#snapToValue(this.#computeDetent(this.detents[next])!);\r\n } else {\r\n this.#snapToValue(this.min);\r\n }\r\n }\r\n\r\n break;\r\n }\r\n\r\n case \"End\": {\r\n e.preventDefault();\r\n if (!this.#snapAnimation) {\r\n const next = this.#getClosestDetent(this.max);\r\n if (next > -1) {\r\n this.#snapToValue(this.#computeDetent(this.detents[next])!);\r\n } else {\r\n this.#snapToValue(this.max);\r\n }\r\n }\r\n\r\n break;\r\n }\r\n\r\n case \"PageUp\": {\r\n e.preventDefault();\r\n if (!this.#snapAnimation) {\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent >= 0) {\r\n const nextDetent = this.#getNextLowerDetent(detent);\r\n if (nextDetent !== detent) {\r\n const value = this.#computeDetent(this.detents[nextDetent]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value);\r\n }\r\n }\r\n } else {\r\n this.#snapToValue(this.value - Math.max(10, this.step));\r\n }\r\n }\r\n\r\n break;\r\n }\r\n\r\n case \"PageDown\": {\r\n e.preventDefault();\r\n if (!this.#snapAnimation) {\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent >= 0) {\r\n const nextDetent = this.#getNextHigherDetent(detent);\r\n if (nextDetent !== detent) {\r\n const value = this.#computeDetent(this.detents[nextDetent]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value);\r\n }\r\n }\r\n } else {\r\n this.#snapToValue(this.value + Math.max(10, this.step));\r\n }\r\n }\r\n\r\n break;\r\n }\r\n\r\n case \"Enter\":\r\n if (!this.#snapAnimation) {\r\n this.#cycleDetent();\r\n }\r\n\r\n break;\r\n\r\n case \" \":\r\n e.preventDefault();\r\n if (!this.#snapAnimation) {\r\n this.#cycleDetent();\r\n }\r\n break;\r\n }\r\n }\r\n\r\n /** @private */\r\n #changeValue(value: number, emitChange = true): boolean {\r\n this.#clearSnapAnimation();\r\n\r\n value = Math.max(this.min, Math.min(this.max, value));\r\n if (value != this.value) {\r\n const prev = this.value;\r\n this.value = value;\r\n\r\n if (this.dispatchEvent(new Event(\"input\", { bubbles: true, composed: true, cancelable: true }))) {\r\n this._base.style.setProperty(\"--_split-pane-value\", `${this.value}%`);\r\n if (emitChange) {\r\n this.dispatchEvent(new Event(\"change\", { bubbles: true, composed: true }));\r\n }\r\n return true;\r\n } else {\r\n this.value = prev;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /** @private */\r\n #getClosestDetent(value: number): number {\r\n let closestDetent = -1;\r\n let closestDistance = Infinity;\r\n\r\n for (let i = 0; i < this.detents.length; i++) {\r\n const detent = this.#computeDetent(this.detents[i]);\r\n if (detent === undefined) continue;\r\n\r\n const distance = Math.abs(value - detent);\r\n if (distance < closestDistance) {\r\n closestDistance = distance;\r\n closestDetent = i;\r\n }\r\n }\r\n return closestDetent;\r\n }\r\n\r\n /** @private */\r\n #getNextHigherDetent(detentIndex: number): number {\r\n const currentValue = this.#computeDetent(this.detents[detentIndex]);\r\n if (currentValue === undefined) return detentIndex;\r\n\r\n let value = Infinity;\r\n let nextDetent = detentIndex;\r\n for (let i = 0; i < this.detents.length; i++) {\r\n if (i === detentIndex) continue;\r\n const detent = this.#computeDetent(this.detents[i]);\r\n if (detent === undefined) continue;\r\n if (detent > currentValue && detent < value) {\r\n value = detent;\r\n nextDetent = i;\r\n }\r\n }\r\n return nextDetent;\r\n }\r\n\r\n /** @private */\r\n #getNextLowerDetent(detentIndex: number): number {\r\n const currentValue = this.#computeDetent(this.detents[detentIndex]);\r\n if (currentValue === undefined) return detentIndex;\r\n\r\n let value = -Infinity;\r\n let nextDetent = detentIndex;\r\n for (let i = 0; i < this.detents.length; i++) {\r\n if (i === detentIndex) continue;\r\n const detent = this.#computeDetent(this.detents[i]);\r\n if (detent === undefined) continue;\r\n if (detent < currentValue && detent > value) {\r\n value = detent;\r\n nextDetent = i;\r\n }\r\n }\r\n return nextDetent;\r\n }\r\n\r\n /** @private */\r\n #computeDetent(detent: string): number | undefined {\r\n const value = detent.endsWith(\"px\") ? this.clientWidth / parseFloat(detent) : parseFloat(detent);\r\n return !isNaN(value) ? value : undefined;\r\n }\r\n\r\n /** @private */\r\n #clearSnapAnimation(): void {\r\n this.#snapAnimation?.cancel();\r\n this.#snapAnimation = undefined;\r\n }\r\n\r\n /** @private */\r\n #snapToValue(value: number, emitChange = true): void {\r\n this.#clearSnapAnimation();\r\n\r\n value = Math.max(this.min, Math.min(this.max, value));\r\n if (value === this.value) return;\r\n\r\n if (!prefersReducedMotion()) {\r\n addCustomState(this, \"-animating\");\r\n\r\n this.#snapAnimation = this._base.animate(\r\n [{ \"--_split-pane-value\": `${this.value}%` }, { \"--_split-pane-value\": `${value}%` }],\r\n {\r\n duration: 250,\r\n easing: \"cubic-bezier(0.2, 0.0, 0, 1.0)\",\r\n },\r\n );\r\n this.#snapAnimation.onfinish = () => {\r\n this.#changeValue(value, emitChange);\r\n this.#snapAnimation = undefined;\r\n deleteCustomState(this, \"-animating\");\r\n };\r\n } else {\r\n this.#changeValue(value, emitChange);\r\n }\r\n }\r\n\r\n /** @private */\r\n #cycleDetent(): void {\r\n if (this.detents.length === 0) return;\r\n\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent === -1) return;\r\n\r\n let next = this.#getNextHigherDetent(detent);\r\n if (next === detent && this.wrapDetents) {\r\n next = this.#getClosestDetent(0);\r\n if (next === -1) return;\r\n }\r\n\r\n const value = this.#computeDetent(this.detents[next]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value);\r\n }\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-split-pane\": M3eSplitPaneElement;\r\n }\r\n}\r\n"],"names":["M3eSplitPaneElement","FormAssociated","Disabled","ReconnectedCallback","AttachInternals","LitElement","constructor","_M3eSplitPaneElement_breakpointUnobserve","set","_M3eSplitPaneElement_dragPos","_M3eSplitPaneElement_valueChanged","_M3eSplitPaneElement_cachedSize","_M3eSplitPaneElement_snapAnimation","_M3eSplitPaneElement_pressedController","PressedController","target","isPressedKey","key","minPressedDuration","callback","pressed","setCustomState","disabled","_M3eSplitPaneElement_startMutationController","MutationController","config","attributeFilter","__classPrivateFieldGet","_M3eSplitPaneElement_instances","_M3eSplitPaneElement_updatePaneVisibility","call","_M3eSplitPaneElement_endMutationController","value","min","max","step","detents","wrapDetents","orientation","label","valueFormatter","dir","Math","round","currentOrientation","_orientation","WeakMap","WeakSet","formValue","toString","collapse","snapToValue","expand","detent","_M3eSplitPaneElement_getClosestDetent","_M3eSplitPaneElement_computeDetent","_M3eSplitPaneElement_snapToValue","_M3eSplitPaneElement_changeValue","disconnectedCallback","_M3eSplitPaneElement_clearOrientation","unobserve","_dragHandle","reconnectedCallback","_M3eSplitPaneElement_initialize","_M3eSplitPaneElement_initBreakpointMonitoring","willUpdate","changedProperties","has","undefined","_M3eSplitPaneElement_updateOrientation","updated","_changedProperties","_base","style","setProperty","firstUpdated","render","html","_M3eSplitPaneElement_handleStartSlotChange","_M3eSplitPaneElement_renderDragHandle","_M3eSplitPaneElement_handleEndSlotChange","ifDefined","M3eDirectionality","current","_M3eSplitPaneElement_handlePointerDown","_M3eSplitPaneElement_handlePointerUp","_M3eSplitPaneElement_handlePointerMove","_M3eSplitPaneElement_handleKeyDown","_M3eSplitPaneElement_cycleDetent","e","_M3eSplitPaneElement_handleSlotChange","slot","mutationController","state","targets","assignedElements","Array","_M3eSplitPaneElement_hasVisibleElements","element","HTMLElement","observe","pane","shadowRoot","querySelector","push","flatten","length","every","x","hasAttribute","__classPrivateFieldSet","M3eBreakpointObserver","Breakpoint","XSmall","matches","get","deleteCustomState","pointerType","button","setPointerCapture","pointerId","clientY","clientX","clientHeight","clientWidth","hasPointerCapture","pos","delta","releasePointerCapture","dispatchEvent","Event","bubbles","composed","ltr","preventDefault","nextDetent","_M3eSplitPaneElement_getNextLowerDetent","_M3eSplitPaneElement_getNextHigherDetent","next","emitChange","_M3eSplitPaneElement_clearSnapAnimation","prev","cancelable","closestDetent","closestDistance","Infinity","i","distance","abs","detentIndex","currentValue","endsWith","parseFloat","isNaN","cancel","prefersReducedMotion","addCustomState","animate","duration","easing","onfinish","registerStyleSheet","css","styles","DesignToken","color","onSurface","unsafeCSS","motion","short4","standard","spring","fastEffects","outline","shape","corner","full","medium","__decorate","prototype","query","property","type","Number","attribute","converter","spaceSeparatedStringConverter","Boolean","customElement"],"mappings":";;;;;;;;;;;;;;AA2BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoEG;AAEI,IAAMA,mBAAmB,GAAzB,MAAMA,mBAAoB,SAAQC,cAAc,CAACC,QAAQ,CAACC,mBAAmB,CAACC,eAAe,CAACC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;AAA5GC,EAAAA,WAAAA,GAAA;;;AAmIL;AAAgBC,IAAAA,wCAAA,CAAAC,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAKhB;AAAgBC,IAAAA,4BAAA,CAAAD,GAAA,CAAA,IAAA,EAAW,CAAC,CAAA;AAC5B;AAAgBE,IAAAA,iCAAA,CAAAF,GAAA,CAAA,IAAA,EAAgB,KAAK,CAAA;AACrC;AAAgBG,IAAAA,+BAAA,CAAAH,GAAA,CAAA,IAAA,EAAc,CAAC,CAAA;AAC/B;AAAgBI,IAAAA,kCAAA,CAAAJ,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAEhB;IACSK,sCAAA,CAAAL,GAAA,CAAA,IAAA,EAAqB,IAAIM,iBAAiB,CAAC,IAAI,EAAE;AACxDC,MAAAA,MAAM,EAAE,IAAI;AACZC,MAAAA,YAAY,EAAGC,GAAG,IAAKA,GAAG,KAAK,GAAG;AAClCC,MAAAA,kBAAkB,EAAE,GAAG;AACvBC,MAAAA,QAAQ,EAAGC,OAAO,IAAKC,cAAc,CAAC,IAAI,EAAE,UAAU,EAAED,OAAO,IAAI,CAAC,IAAI,CAACE,QAAQ;AAClF,KAAA,CAAC,CAAA;AAEF;IACSC,4CAAA,CAAAf,GAAA,CAAA,IAAA,EAA2B,IAAIgB,kBAAkB,CAAC,IAAI,EAAE;AAC/DT,MAAAA,MAAM,EAAE,IAAI;AACZU,MAAAA,MAAM,EAAE;QAAEC,eAAe,EAAE,CAAC,QAAQ;OAAG;AACvCP,MAAAA,QAAQ,EAAEA,MAAMQ,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAAC,yCAAA,CAAsB,CAAAC,IAAA,CAA1B,IAAI,EAAuB,OAAO;AACnD,KAAA,CAAC,CAAA;AAEF;IACSC,0CAAA,CAAAvB,GAAA,CAAA,IAAA,EAAyB,IAAIgB,kBAAkB,CAAC,IAAI,EAAE;AAC7DT,MAAAA,MAAM,EAAE,IAAI;AACZU,MAAAA,MAAM,EAAE;QAAEC,eAAe,EAAE,CAAC,QAAQ;OAAG;AACvCP,MAAAA,QAAQ,EAAEA,MAAMQ,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAAC,yCAAA,CAAsB,CAAAC,IAAA,CAA1B,IAAI,EAAuB,KAAK;AACjD,KAAA,CAAC,CAAA;AAEF;;;AAGG;IACyB,IAAA,CAAAE,KAAK,GAAG,EAAE;AAEtC;;;AAGG;IACyB,IAAA,CAAAC,GAAG,GAAG,CAAC;AAEnC;;;AAGG;IACyB,IAAA,CAAAC,GAAG,GAAG,GAAG;AAErC;;;AAGG;IACyB,IAAA,CAAAC,IAAI,GAAG,CAAC;AAEpC;;;AAGG;IAC2E,IAAA,CAAAC,OAAO,GAAa,EAAE;AAEpG;;;AAGG;IACqD,IAAA,CAAAC,WAAW,GAAG,KAAK;AAE3E;;;AAGG;IACS,IAAA,CAAAC,WAAW,GAAyB,YAAY;AAE5D;;;AAGG;IACS,IAAA,CAAAC,KAAK,GAAW,cAAc;AAE1C;IACY,IAAA,CAAAC,cAAc,GAIA,CAACR,KAAK,EAAEM,WAAW,EAAEG,GAAG,KAAI;AACpDT,MAAAA,KAAK,GAAGU,IAAI,CAACC,KAAK,CAACX,KAAK,CAAC;AACzB,MAAA,IAAIA,KAAK,IAAI,EAAE,IAAIA,KAAK,IAAI,EAAE,EAAE;AAC9B,QAAA,OAAO,qBAAqB;AAC9B,MAAA;AAEA,MAAA,QAAQA,KAAK;AACX,QAAA,KAAK,CAAC;AACJ,UAAA,OAAOM,WAAW,KAAK,YAAY,GAC/BG,GAAG,KAAK,KAAK,GACX,qBAAqB,GACrB,sBAAsB,GACxB,oBAAoB;AAC1B,QAAA,KAAK,GAAG;AACN,UAAA,OAAOH,WAAW,KAAK,YAAY,GAC/BG,GAAG,KAAK,KAAK,GACX,sBAAsB,GACtB,qBAAqB,GACvB,uBAAuB;AAC7B,QAAA;AACE,UAAA,OAAOH,WAAW,KAAK,YAAY,GAC/BG,GAAG,KAAK,KAAK,GACX,CAAA,UAAA,EAAaT,KAAK,CAAA,cAAA,EAAiB,GAAG,GAAGA,KAAK,CAAA,CAAA,CAAG,GACjD,CAAA,UAAA,EAAa,GAAG,GAAGA,KAAK,CAAA,cAAA,EAAiBA,KAAK,CAAA,CAAA,CAAG,GACnD,CAAA,SAAA,EAAYA,KAAK,CAAA,eAAA,EAAkB,GAAG,GAAGA,KAAK,CAAA,CAAA,CAAG;AACzD;IACF,CAAC;AA6gBH,EAAA;AA3gBE;EACA,IAAIY,kBAAkBA,GAAA;AACpB,IAAA,OAAO,IAAI,CAACC,YAAY,KAAK,IAAI,CAACP,WAAW,KAAK,UAAU,GAAG,YAAY,GAAG,UAAU,CAAC;AAC3F,EAAA;AAEA;AACA,EAAA,MAAa/B,wCAAA,GAAA,IAAAuC,OAAA,EAAA,EAAArC,4BAAA,GAAA,IAAAqC,OAAA,EAAA,EAAApC,iCAAA,GAAA,IAAAoC,OAAA,EAAA,EAAAnC,+BAAA,GAAA,IAAAmC,OAAA,EAAA,EAAAlC,kCAAA,GAAA,IAAAkC,OAAA,EAAA,EAAAjC,sCAAA,GAAA,IAAAiC,OAAA,EAAA,EAAAvB,4CAAA,GAAA,IAAAuB,OAAA,EAAA,EAAAf,0CAAA,GAAA,IAAAe,OAAA,EAAA,EAAAlB,8BAAA,GAAA,IAAAmB,OAAA,EAAA,EAACC,SAAS,EAAA,GAAC;IACtB,OAAO,IAAI,CAAChB,KAAK,EAAEiB,QAAQ,EAAE,IAAI,IAAI;AACvC,EAAA;AAEA;;;AAGG;AACHC,EAAAA,QAAQA,GAAA;AACN,IAAA,IAAI,CAACC,WAAW,CAAC,IAAI,CAAClB,GAAG,CAAC;AAC5B,EAAA;AAEA;;;AAGG;AACHmB,EAAAA,MAAMA,GAAA;AACJ,IAAA,IAAI,CAACD,WAAW,CAAC,IAAI,CAACjB,GAAG,CAAC;AAC5B,EAAA;AAEA;;;;AAIG;EACHiB,WAAWA,CAACnB,KAAa,EAAA;AACvB,IAAA,MAAMqB,MAAM,GAAG1B,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA0B,qCAAA,CAAkB,MAAtB,IAAI,EAAmBtB,KAAK,CAAC;AAC5CA,IAAAA,KAAK,GAAGqB,MAAM,GAAG,EAAE,GAAG1B,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA2B,kCAAA,CAAe,CAAAzB,IAAA,CAAnB,IAAI,EAAgB,IAAI,CAACM,OAAO,CAACiB,MAAM,CAAC,CAAE,GAAGrB,KAAK;IACxE,IAAI,CAACL,sBAAA,CAAA,IAAI,EAAAf,kCAAA,EAAA,GAAA,CAAe,EAAE;AACxBe,MAAAA,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA4B,gCAAA,CAAa,CAAA1B,IAAA,CAAjB,IAAI,EAAcE,KAAK,CAAC;AAC1B,IAAA,CAAC,MAAM;AACLL,MAAAA,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA6B,gCAAA,CAAa,CAAA3B,IAAA,CAAjB,IAAI,EAAcE,KAAK,CAAC;AAC1B,IAAA;AACF,EAAA;AAEA;AACS0B,EAAAA,oBAAoBA,GAAA;IAC3B,KAAK,CAACA,oBAAoB,EAAE;AAE5B/B,IAAAA,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA+B,qCAAA,CAAkB,CAAA7B,IAAA,CAAtB,IAAI,CAAoB;AACxBH,IAAAA,sBAAA,CAAA,IAAI,8CAAmB,CAACiC,SAAS,CAAC,IAAI,CAACC,WAAW,CAAC;AACrD,EAAA;AAEA;AACSC,EAAAA,mBAAmBA,GAAA;IAC1B,KAAK,CAACA,mBAAmB,EAAE;AAE3BnC,IAAAA,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAAmC,+BAAA,CAAY,CAAAjC,IAAA,CAAhB,IAAI,CAAc;AAElB,IAAA,IAAI,IAAI,CAACQ,WAAW,KAAK,MAAM,EAAE;AAC/BX,MAAAA,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAAoC,6CAAA,CAA0B,CAAAlC,IAAA,CAA9B,IAAI,CAA4B;AAClC,IAAA;AACF,EAAA;AAEA;EACmBmC,UAAUA,CAACC,iBAAuC,EAAA;AACnE,IAAA,KAAK,CAACD,UAAU,CAACC,iBAAiB,CAAC;AAEnC,IAAA,IAAIA,iBAAiB,CAACC,GAAG,CAAC,aAAa,CAAC,EAAE;MACxCxC,sBAAA,CAAA,IAAI,EAAApB,wCAAA,EAAA,GAAA,CAAqB,EAAEuB,IAAA,CAA3B,IAAI,CAAyB;AAE7B,MAAA,IAAI,IAAI,CAACQ,WAAW,KAAK,MAAM,EAAE;AAC/BX,QAAAA,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAAoC,6CAAA,CAA0B,CAAAlC,IAAA,CAA9B,IAAI,CAA4B;AAClC,MAAA,CAAC,MAAM;QACL,IAAI,CAACe,YAAY,GAAGuB,SAAS;AAC7BzC,QAAAA,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAAyC,sCAAA,CAAmB,CAAAvC,IAAA,CAAvB,IAAI,CAAqB;AAC3B,MAAA;AACF,IAAA;AACF,EAAA;AAEA;EACmBwC,OAAOA,CAACC,kBAAkC,EAAA;AAC3D,IAAA,KAAK,CAACD,OAAO,CAACC,kBAAkB,CAAC;AACjC,IAAA,IAAIA,kBAAkB,CAACJ,GAAG,CAAC,OAAO,CAAC,EAAE;AACnC,MAAA,IAAI,CAACK,KAAK,CAACC,KAAK,CAACC,WAAW,CAAC,qBAAqB,EAAE,CAAA,EAAG,IAAI,CAAC1C,KAAK,GAAG,CAAC;AACvE,IAAA;AACF,EAAA;AAEA;EACmB2C,YAAYA,CAACJ,kBAAkC,EAAA;AAChE,IAAA,KAAK,CAACI,YAAY,CAACJ,kBAAkB,CAAC;AACtC5C,IAAAA,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAAmC,+BAAA,CAAY,CAAAjC,IAAA,CAAhB,IAAI,CAAc;AACpB,EAAA;AAEA;AACmB8C,EAAAA,MAAMA,GAAA;IACvB,OAAOC,IAAI,2DAC+B,IAAI,CAAC7C,KAAK,IAAI,CAAC,CAAA,kCAAA,EACnBL,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAAkD,0CAAA,CAAuB,kBAE7DnD,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAAmD,qCAAA,CAAkB,CAAAjD,IAAA,CAAtB,IAAI,CAAoB,CAAA,yBAAA,EACC,IAAI,CAACE,KAAK,IAAI,GAAG,CAAA,gCAAA,EACVL,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAAoD,wCAAA,CAAqB,CAAA,qBAAA,CAEtD;AACT,EAAA;;;EAIE,OAAOH,IAAI,uEAIE,IAAI,CAACvD,QAAQ,CAAA,2BAAA,EAEV,IAAI,CAACiB,KAAK,CAAA,0CAAA,EAEJ,IAAI,CAACK,kBAAkB,KAAK,YAAY,GAAG,UAAU,GAAG,YAAY,CAAA,iBAAA,EACvE,IAAI,CAACX,GAAG,CAAA,iBAAA,EACR,IAAI,CAACC,GAAG,CAAA,iBAAA,EACR,IAAI,CAACF,KAAK,CAAA,kBAAA,EACTiD,SAAS,CACzB,IAAI,CAACzC,cAAc,GAAG,IAAI,CAACR,KAAK,EAAE,IAAI,CAACY,kBAAkB,EAAEsC,iBAAiB,CAACC,OAAO,CAAC,CACtF,CAAA,gBAAA,EACexD,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAAwD,sCAAA,CAAmB,CAAA,cAAA,EACzBzD,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAAyD,oCAAA,CAAiB,mBACnB1D,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA0D,sCAAA,CAAmB,CAAA,YAAA,EAC3B3D,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA2D,kCAAA,CAAe,CAAA,aAAA,EAClB5D,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA4D,gCAAA,CAAa,CAAA,mKAAA,CAOzB;AACT,CAAC;iGAGsBC,CAAQ,EAAA;AAC7B9D,EAAAA,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA8D,qCAAA,CAAkB,CAAA5D,IAAA,CAAtB,IAAI,EAAmB2D,CAAC,CAAC1E,MAAyB,EAAEY,uBAAA,IAAI,EAAAJ,4CAAA,EAAA,GAAA,CAAyB,EAAE,aAAa,CAAC;AACnG,CAAC;6FAGoBkE,CAAQ,EAAA;AAC3B9D,EAAAA,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA8D,qCAAA,CAAkB,CAAA5D,IAAA,CAAtB,IAAI,EAAmB2D,CAAC,CAAC1E,MAAyB,EAAEY,uBAAA,IAAI,EAAAI,0CAAA,EAAA,GAAA,CAAuB,EAAE,WAAW,CAAC;AAC/F,CAAC;uFAGiB4D,IAAqB,EAAEC,kBAAsC,EAAEC,KAAa,EAAA;AAC5F,EAAA,KAAK,MAAM9E,MAAM,IAAI6E,kBAAkB,CAACE,OAAO,EAAE;AAC/CF,IAAAA,kBAAkB,CAAChC,SAAS,CAAC7C,MAAM,CAAC;AACtC,EAAA;AAEA,EAAA,MAAMgF,gBAAgB,GAAG,IAAIC,KAAK,EAAW;EAC7C3E,cAAc,CAAC,IAAI,EAAEwE,KAAK,EAAElE,uBAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAAqE,uCAAA,CAAoB,CAAAnE,IAAA,CAAxB,IAAI,EAAqB6D,IAAI,EAAEI,gBAAgB,CAAC,CAAC;AAE7E,EAAA,KAAK,MAAMG,OAAO,IAAIH,gBAAgB,EAAE;IACtC,IAAIG,OAAO,YAAYC,WAAW,EAAE;AAClCP,MAAAA,kBAAkB,CAACQ,OAAO,CAACF,OAAO,CAAC;AACrC,IAAA;AACF,EAAA;AACF,CAAC;+FAGqBG,IAAqB,EAAA;AACzChF,EAAAA,cAAc,CACZ,IAAI,EACJ,CAAA,MAAA,EAASgF,IAAI,CAAA,CAAE,EACf1E,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAAqE,uCAAA,CAAoB,CAAAnE,IAAA,CAAxB,IAAI,EAAqB,IAAI,CAACwE,UAAU,EAAEC,aAAa,CAAkB,CAAA,WAAA,EAAcF,IAAI,CAAA,EAAA,CAAI,CAAC,CAAC,CAClG;AACH,CAAC;AAGmBJ,uCAAA,GAAA,SAAAA,uCAAAA,CAAAN,IAA6B,EAAEI,gBAA4B,EAAA;EAC7EA,gBAAgB,GAAGA,gBAAgB,IAAI,EAAE;AACzCA,EAAAA,gBAAgB,CAACS,IAAI,CAAC,IAAIb,IAAI,EAAEI,gBAAgB,CAAC;AAAEU,IAAAA,OAAO,EAAE;AAAI,GAAE,CAAC,IAAI,EAAE,CAAC,CAAC;AAC3E,EAAA,OAAOV,gBAAgB,CAACW,MAAM,GAAG,CAAC,IAAI,CAACX,gBAAgB,CAACY,KAAK,CAAEC,CAAC,IAAKA,CAAC,CAACC,YAAY,CAAC,QAAQ,CAAC,CAAC;AAChG,CAAC;;AAIClF,EAAAA,sBAAA,CAAA,IAAI,8CAAmB,CAACyE,OAAO,CAAC,IAAI,CAACvC,WAAW,CAAC;AACnD,CAAC;;AAICiD,EAAAA,sBAAA,CAAA,IAAI,EAAAvG,wCAAA,EAAwBwG,qBAAqB,CAACX,OAAO,CAAC,CAACY,UAAU,CAACC,MAAM,CAAC,EAAGC,OAAO,IAAI;AACzF,IAAA,IAAI,CAACrE,YAAY,GAAGqE,OAAO,CAACC,GAAG,CAACH,UAAU,CAACC,MAAM,CAAC,GAAG,UAAU,GAAG,YAAY;AAC9EtF,IAAAA,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAAyC,sCAAA,CAAmB,CAAAvC,IAAA,CAAvB,IAAI,CAAqB;EAC3B,CAAC,CAAC,MAAA;AACJ,CAAC;;EAICT,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAACuB,kBAAkB,KAAK,UAAU,CAAC;AAC3E,CAAC;;AAICwE,EAAAA,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC;EACpC,IAAI,CAACvE,YAAY,GAAGuB,SAAS;EAC7BzC,sBAAA,CAAA,IAAI,EAAApB,wCAAA,EAAA,GAAA,CAAqB,EAAEuB,IAAA,CAA3B,IAAI,CAAyB;EAC7BgF,sBAAA,CAAA,IAAI,EAAAvG,wCAAA,EAAwB6D,SAAS,EAAA,GAAA,CAAA;AACvC,CAAC;yFAGkBqB,CAAe,EAAA;EAChC,IAAIA,CAAC,CAAC4B,WAAW,KAAK,OAAO,IAAI5B,CAAC,CAAC6B,MAAM,GAAG,CAAC,EAAE;EAC/C,IAAI,IAAI,CAAChG,QAAQ,EAAE;EAEnB,IAAI,CAACuC,WAAW,CAAC0D,iBAAiB,CAAC9B,CAAC,CAAC+B,SAAS,CAAC;EAC/CV,sBAAA,CAAA,IAAI,EAAApG,iCAAA,EAAiB,KAAK,EAAA,GAAA,CAAA;EAC1BoG,sBAAA,CAAA,IAAI,gCAAY,IAAI,CAAClE,kBAAkB,KAAK,UAAU,GAAG6C,CAAC,CAACgC,OAAO,GAAGhC,CAAC,CAACiC,OAAO,MAAA;EAC9EZ,sBAAA,CAAA,IAAI,mCAAe,IAAI,CAAClE,kBAAkB,KAAK,UAAU,GAAG,IAAI,CAAC+E,YAAY,GAAG,IAAI,CAACC,WAAW,MAAA;AAClG,CAAC;yFAGkBnC,CAAe,EAAA;EAChC,IAAI,CAAC,IAAI,CAAC5B,WAAW,CAACgE,iBAAiB,CAACpC,CAAC,CAAC+B,SAAS,CAAC,EAAE;AAEtD,EAAA,MAAMM,GAAG,GAAG,IAAI,CAAClF,kBAAkB,KAAK,UAAU,GAAG6C,CAAC,CAACgC,OAAO,GAAGhC,CAAC,CAACiC,OAAO;AAC1E,EAAA,IAAIK,KAAK,GAAGpG,sBAAA,CAAA,IAAI,EAAAhB,+BAAA,EAAA,GAAA,CAAY,GAAG,CAAC,GAAI,CAACmH,GAAG,GAAGnG,sBAAA,CAAA,IAAI,EAAAlB,4BAAA,EAAA,GAAA,CAAS,IAAIkB,sBAAA,CAAA,IAAI,EAAAhB,+BAAA,EAAA,GAAA,CAAY,GAAI,GAAG,GAAG,CAAC;EACvF,IAAIuE,iBAAiB,CAACC,OAAO,KAAK,KAAK,IAAI,IAAI,CAACvC,kBAAkB,KAAK,UAAU,EAAE;IACjFmF,KAAK,GAAG,CAACA,KAAK;AAChB,EAAA;EACA,IAAIpG,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA6B,gCAAA,CAAa,CAAA3B,IAAA,CAAjB,IAAI,EAAc,IAAI,CAACE,KAAK,GAAG+F,KAAK,EAAE,KAAK,CAAC,EAAE;IAChDjB,sBAAA,CAAA,IAAI,EAAArG,4BAAA,EAAYqH,GAAG,EAAA,GAAA,CAAA;IACnBhB,sBAAA,CAAA,IAAI,EAAApG,iCAAA,EAAiB,IAAI,EAAA,GAAA,CAAA;AAC3B,EAAA;AACF,CAAC;qFAGgB+E,CAAe,EAAA;EAC9B,IAAIA,CAAC,CAAC4B,WAAW,KAAK,OAAO,IAAI5B,CAAC,CAAC6B,MAAM,GAAG,CAAC,EAAE;EAC/C,IAAI,IAAI,CAACzD,WAAW,CAACgE,iBAAiB,CAACpC,CAAC,CAAC+B,SAAS,CAAC,EAAE;IACnD,IAAI,CAAC3D,WAAW,CAACmE,qBAAqB,CAACvC,CAAC,CAAC+B,SAAS,CAAC;IACnDV,sBAAA,CAAA,IAAI,EAAArG,4BAAA,EAAY,CAAC,EAAA,GAAA,CAAA;IACjBqG,sBAAA,CAAA,IAAI,EAAAnG,+BAAA,EAAe,CAAC,EAAA,GAAA,CAAA;IAEpB,MAAM0C,MAAM,GAAG1B,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA0B,qCAAA,CAAkB,CAAAxB,IAAA,CAAtB,IAAI,EAAmB,IAAI,CAACE,KAAK,CAAC;IACjD,IAAIqB,MAAM,IAAI,CAAC,EAAE;MACf,MAAMrB,KAAK,GAAGL,sBAAA,CAAA,IAAI,0EAAe,CAAAG,IAAA,CAAnB,IAAI,EAAgB,IAAI,CAACM,OAAO,CAACiB,MAAM,CAAC,CAAC;MACvD,IAAIrB,KAAK,KAAKoC,SAAS,EAAE;AACvBzC,QAAAA,sBAAA,CAAA,IAAI,wEAAa,CAAAG,IAAA,CAAjB,IAAI,EAAcE,KAAK,EAAE,KAAK,CAAC;AACjC,MAAA;AACF,IAAA;IAEA,IAAIL,sBAAA,CAAA,IAAI,EAAAjB,iCAAA,EAAA,GAAA,CAAc,EAAE;AACtB,MAAA,IAAI,CAACuH,aAAa,CAAC,IAAIC,KAAK,CAAC,QAAQ,EAAE;AAAEC,QAAAA,OAAO,EAAE,IAAI;AAAEC,QAAAA,QAAQ,EAAE;AAAI,OAAE,CAAC,CAAC;MAC1EtB,sBAAA,CAAA,IAAI,EAAApG,iCAAA,EAAiB,KAAK,EAAA,GAAA,CAAA;AAC5B,IAAA;AACF,EAAA;AACF,CAAC;iFAGc+E,CAAgB,EAAA;AAC7B,EAAA,MAAM4C,GAAG,GAAGnD,iBAAiB,CAACC,OAAO,KAAK,KAAK,IAAI,IAAI,CAACvC,kBAAkB,KAAK,UAAU;EACzF,QAAQ6C,CAAC,CAACxE,GAAG;AACX,IAAA,KAAK,IAAI;AACT,IAAA,KAAK,SAAS;AACd,IAAA,KAAK,MAAM;AACX,IAAA,KAAK,WAAW;AAAE,MAAA;QAChBwE,CAAC,CAAC6C,cAAc,EAAE;QAClB,MAAMjF,MAAM,GAAG1B,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA0B,qCAAA,CAAkB,CAAAxB,IAAA,CAAtB,IAAI,EAAmB,IAAI,CAACE,KAAK,CAAC;QACjD,IAAIqB,MAAM,IAAI,CAAC,EAAE;AACf,UAAA,MAAMkF,UAAU,GAAGF,GAAG,GAAG1G,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA4G,uCAAA,CAAoB,CAAA1G,IAAA,CAAxB,IAAI,EAAqBuB,MAAM,CAAC,GAAG1B,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA6G,wCAAA,CAAqB,CAAA3G,IAAA,CAAzB,IAAI,EAAsBuB,MAAM,CAAC;AAC7F,UAAA,IAAIkF,UAAU,KAAKlF,MAAM,IAAI,CAAC1B,sBAAA,CAAA,IAAI,EAAAf,kCAAA,EAAA,GAAA,CAAe,EAAE;YACjD,MAAMoB,KAAK,GAAGL,sBAAA,CAAA,IAAI,0EAAe,CAAAG,IAAA,CAAnB,IAAI,EAAgB,IAAI,CAACM,OAAO,CAACmG,UAAU,CAAC,CAAC;YAC3D,IAAIvG,KAAK,KAAKoC,SAAS,EAAE;AACvBzC,cAAAA,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA4B,gCAAA,CAAa,CAAA1B,IAAA,CAAjB,IAAI,EAAcE,KAAK,CAAC;AAC1B,YAAA;AACF,UAAA;AACF,QAAA,CAAC,MAAM,IAAI,IAAI,CAACG,IAAI,GAAG,CAAC,EAAE;UACxB,IAAI,CAACR,sBAAA,CAAA,IAAI,EAAAf,kCAAA,EAAA,GAAA,CAAe,EAAE;AACxBe,YAAAA,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA4B,gCAAA,CAAa,CAAA1B,IAAA,CAAjB,IAAI,EAAc,IAAI,CAACE,KAAK,IAAIqG,GAAG,GAAG,CAAC,IAAI,CAAClG,IAAI,GAAG,IAAI,CAACA,IAAI,CAAC,CAAC;AAChE,UAAA;AACF,QAAA,CAAC,MAAM;AACLR,UAAAA,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA6B,gCAAA,CAAa,CAAA3B,IAAA,CAAjB,IAAI,EAAc,IAAI,CAACE,KAAK,IAAIqG,GAAG,GAAG,CAAC,IAAI,CAAClG,IAAI,GAAG,IAAI,CAACA,IAAI,CAAC,CAAC;AAChE,QAAA;AACA,QAAA;AACF,MAAA;AAEA,IAAA,KAAK,MAAM;AACX,IAAA,KAAK,WAAW;AAChB,IAAA,KAAK,OAAO;AACZ,IAAA,KAAK,YAAY;AAAE,MAAA;QACjBsD,CAAC,CAAC6C,cAAc,EAAE;QAClB,MAAMjF,MAAM,GAAG1B,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA0B,qCAAA,CAAkB,CAAAxB,IAAA,CAAtB,IAAI,EAAmB,IAAI,CAACE,KAAK,CAAC;QACjD,IAAIqB,MAAM,IAAI,CAAC,EAAE;AACf,UAAA,MAAMkF,UAAU,GAAGF,GAAG,GAAG1G,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA6G,wCAAA,CAAqB,CAAA3G,IAAA,CAAzB,IAAI,EAAsBuB,MAAM,CAAC,GAAG1B,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA4G,uCAAA,CAAoB,CAAA1G,IAAA,CAAxB,IAAI,EAAqBuB,MAAM,CAAC;AAC7F,UAAA,IAAIkF,UAAU,KAAKlF,MAAM,IAAI,CAAC1B,sBAAA,CAAA,IAAI,EAAAf,kCAAA,EAAA,GAAA,CAAe,EAAE;YACjD,MAAMoB,KAAK,GAAGL,sBAAA,CAAA,IAAI,0EAAe,CAAAG,IAAA,CAAnB,IAAI,EAAgB,IAAI,CAACM,OAAO,CAACmG,UAAU,CAAC,CAAC;YAC3D,IAAIvG,KAAK,KAAKoC,SAAS,EAAE;AACvBzC,cAAAA,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA4B,gCAAA,CAAa,CAAA1B,IAAA,CAAjB,IAAI,EAAcE,KAAK,CAAC;AAC1B,YAAA;AACF,UAAA;AACF,QAAA,CAAC,MAAM,IAAI,IAAI,CAACG,IAAI,GAAG,CAAC,EAAE;UACxB,IAAI,CAACR,sBAAA,CAAA,IAAI,EAAAf,kCAAA,EAAA,GAAA,CAAe,EAAE;AACxBe,YAAAA,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA4B,gCAAA,CAAa,CAAA1B,IAAA,CAAjB,IAAI,EAAc,IAAI,CAACE,KAAK,IAAIqG,GAAG,GAAG,IAAI,CAAClG,IAAI,GAAG,CAAC,IAAI,CAACA,IAAI,CAAC,CAAC;AAChE,UAAA;AACF,QAAA,CAAC,MAAM;AACLR,UAAAA,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA6B,gCAAA,CAAa,CAAA3B,IAAA,CAAjB,IAAI,EAAc,IAAI,CAACE,KAAK,IAAIqG,GAAG,GAAG,IAAI,CAAClG,IAAI,GAAG,CAAC,IAAI,CAACA,IAAI,CAAC,CAAC;AAChE,QAAA;AAEA,QAAA;AACF,MAAA;AAEA,IAAA,KAAK,MAAM;AAAE,MAAA;QACXsD,CAAC,CAAC6C,cAAc,EAAE;QAClB,IAAI,CAAC3G,sBAAA,CAAA,IAAI,EAAAf,kCAAA,EAAA,GAAA,CAAe,EAAE;UACxB,MAAM8H,IAAI,GAAG/G,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA0B,qCAAA,CAAkB,CAAAxB,IAAA,CAAtB,IAAI,EAAmB,IAAI,CAACG,GAAG,CAAC;AAC7C,UAAA,IAAIyG,IAAI,GAAG,EAAE,EAAE;AACb/G,YAAAA,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA4B,gCAAA,CAAa,CAAA1B,IAAA,CAAjB,IAAI,EAAcH,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA2B,kCAAA,CAAe,CAAAzB,IAAA,CAAnB,IAAI,EAAgB,IAAI,CAACM,OAAO,CAACsG,IAAI,CAAC,CAAE,CAAC;AAC7D,UAAA,CAAC,MAAM;AACL/G,YAAAA,sBAAA,CAAA,IAAI,wEAAa,CAAAG,IAAA,CAAjB,IAAI,EAAc,IAAI,CAACG,GAAG,CAAC;AAC7B,UAAA;AACF,QAAA;AAEA,QAAA;AACF,MAAA;AAEA,IAAA,KAAK,KAAK;AAAE,MAAA;QACVwD,CAAC,CAAC6C,cAAc,EAAE;QAClB,IAAI,CAAC3G,sBAAA,CAAA,IAAI,EAAAf,kCAAA,EAAA,GAAA,CAAe,EAAE;UACxB,MAAM8H,IAAI,GAAG/G,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA0B,qCAAA,CAAkB,CAAAxB,IAAA,CAAtB,IAAI,EAAmB,IAAI,CAACI,GAAG,CAAC;AAC7C,UAAA,IAAIwG,IAAI,GAAG,EAAE,EAAE;AACb/G,YAAAA,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA4B,gCAAA,CAAa,CAAA1B,IAAA,CAAjB,IAAI,EAAcH,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA2B,kCAAA,CAAe,CAAAzB,IAAA,CAAnB,IAAI,EAAgB,IAAI,CAACM,OAAO,CAACsG,IAAI,CAAC,CAAE,CAAC;AAC7D,UAAA,CAAC,MAAM;AACL/G,YAAAA,sBAAA,CAAA,IAAI,wEAAa,CAAAG,IAAA,CAAjB,IAAI,EAAc,IAAI,CAACI,GAAG,CAAC;AAC7B,UAAA;AACF,QAAA;AAEA,QAAA;AACF,MAAA;AAEA,IAAA,KAAK,QAAQ;AAAE,MAAA;QACbuD,CAAC,CAAC6C,cAAc,EAAE;QAClB,IAAI,CAAC3G,sBAAA,CAAA,IAAI,EAAAf,kCAAA,EAAA,GAAA,CAAe,EAAE;UACxB,MAAMyC,MAAM,GAAG1B,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA0B,qCAAA,CAAkB,CAAAxB,IAAA,CAAtB,IAAI,EAAmB,IAAI,CAACE,KAAK,CAAC;UACjD,IAAIqB,MAAM,IAAI,CAAC,EAAE;AACf,YAAA,MAAMkF,UAAU,GAAG5G,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA4G,uCAAA,CAAoB,MAAxB,IAAI,EAAqBnF,MAAM,CAAC;YACnD,IAAIkF,UAAU,KAAKlF,MAAM,EAAE;cACzB,MAAMrB,KAAK,GAAGL,sBAAA,CAAA,IAAI,0EAAe,CAAAG,IAAA,CAAnB,IAAI,EAAgB,IAAI,CAACM,OAAO,CAACmG,UAAU,CAAC,CAAC;cAC3D,IAAIvG,KAAK,KAAKoC,SAAS,EAAE;AACvBzC,gBAAAA,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA4B,gCAAA,CAAa,CAAA1B,IAAA,CAAjB,IAAI,EAAcE,KAAK,CAAC;AAC1B,cAAA;AACF,YAAA;AACF,UAAA,CAAC,MAAM;AACLL,YAAAA,sBAAA,CAAA,IAAI,wEAAa,CAAAG,IAAA,CAAjB,IAAI,EAAc,IAAI,CAACE,KAAK,GAAGU,IAAI,CAACR,GAAG,CAAC,EAAE,EAAE,IAAI,CAACC,IAAI,CAAC,CAAC;AACzD,UAAA;AACF,QAAA;AAEA,QAAA;AACF,MAAA;AAEA,IAAA,KAAK,UAAU;AAAE,MAAA;QACfsD,CAAC,CAAC6C,cAAc,EAAE;QAClB,IAAI,CAAC3G,sBAAA,CAAA,IAAI,EAAAf,kCAAA,EAAA,GAAA,CAAe,EAAE;UACxB,MAAMyC,MAAM,GAAG1B,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA0B,qCAAA,CAAkB,CAAAxB,IAAA,CAAtB,IAAI,EAAmB,IAAI,CAACE,KAAK,CAAC;UACjD,IAAIqB,MAAM,IAAI,CAAC,EAAE;AACf,YAAA,MAAMkF,UAAU,GAAG5G,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA6G,wCAAA,CAAqB,MAAzB,IAAI,EAAsBpF,MAAM,CAAC;YACpD,IAAIkF,UAAU,KAAKlF,MAAM,EAAE;cACzB,MAAMrB,KAAK,GAAGL,sBAAA,CAAA,IAAI,0EAAe,CAAAG,IAAA,CAAnB,IAAI,EAAgB,IAAI,CAACM,OAAO,CAACmG,UAAU,CAAC,CAAC;cAC3D,IAAIvG,KAAK,KAAKoC,SAAS,EAAE;AACvBzC,gBAAAA,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA4B,gCAAA,CAAa,CAAA1B,IAAA,CAAjB,IAAI,EAAcE,KAAK,CAAC;AAC1B,cAAA;AACF,YAAA;AACF,UAAA,CAAC,MAAM;AACLL,YAAAA,sBAAA,CAAA,IAAI,wEAAa,CAAAG,IAAA,CAAjB,IAAI,EAAc,IAAI,CAACE,KAAK,GAAGU,IAAI,CAACR,GAAG,CAAC,EAAE,EAAE,IAAI,CAACC,IAAI,CAAC,CAAC;AACzD,UAAA;AACF,QAAA;AAEA,QAAA;AACF,MAAA;AAEA,IAAA,KAAK,OAAO;MACV,IAAI,CAACR,sBAAA,CAAA,IAAI,EAAAf,kCAAA,EAAA,GAAA,CAAe,EAAE;AACxBe,QAAAA,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA4D,gCAAA,CAAa,CAAA1D,IAAA,CAAjB,IAAI,CAAe;AACrB,MAAA;AAEA,MAAA;AAEF,IAAA,KAAK,GAAG;MACN2D,CAAC,CAAC6C,cAAc,EAAE;MAClB,IAAI,CAAC3G,sBAAA,CAAA,IAAI,EAAAf,kCAAA,EAAA,GAAA,CAAe,EAAE;AACxBe,QAAAA,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA4D,gCAAA,CAAa,CAAA1D,IAAA,CAAjB,IAAI,CAAe;AACrB,MAAA;AACA,MAAA;AACJ;AACF,CAAC;6EAGYE,KAAa,EAAE2G,UAAU,GAAG,IAAI,EAAA;AAC3ChH,EAAAA,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAAgH,uCAAA,CAAoB,CAAA9G,IAAA,CAAxB,IAAI,CAAsB;AAE1BE,EAAAA,KAAK,GAAGU,IAAI,CAACR,GAAG,CAAC,IAAI,CAACD,GAAG,EAAES,IAAI,CAACT,GAAG,CAAC,IAAI,CAACC,GAAG,EAAEF,KAAK,CAAC,CAAC;AACrD,EAAA,IAAIA,KAAK,IAAI,IAAI,CAACA,KAAK,EAAE;AACvB,IAAA,MAAM6G,IAAI,GAAG,IAAI,CAAC7G,KAAK;IACvB,IAAI,CAACA,KAAK,GAAGA,KAAK;IAElB,IAAI,IAAI,CAACiG,aAAa,CAAC,IAAIC,KAAK,CAAC,OAAO,EAAE;AAAEC,MAAAA,OAAO,EAAE,IAAI;AAAEC,MAAAA,QAAQ,EAAE,IAAI;AAAEU,MAAAA,UAAU,EAAE;KAAM,CAAC,CAAC,EAAE;AAC/F,MAAA,IAAI,CAACtE,KAAK,CAACC,KAAK,CAACC,WAAW,CAAC,qBAAqB,EAAE,CAAA,EAAG,IAAI,CAAC1C,KAAK,GAAG,CAAC;AACrE,MAAA,IAAI2G,UAAU,EAAE;AACd,QAAA,IAAI,CAACV,aAAa,CAAC,IAAIC,KAAK,CAAC,QAAQ,EAAE;AAAEC,UAAAA,OAAO,EAAE,IAAI;AAAEC,UAAAA,QAAQ,EAAE;AAAI,SAAE,CAAC,CAAC;AAC5E,MAAA;AACA,MAAA,OAAO,IAAI;AACb,IAAA,CAAC,MAAM;MACL,IAAI,CAACpG,KAAK,GAAG6G,IAAI;AACnB,IAAA;AACF,EAAA;AACA,EAAA,OAAO,KAAK;AACd,CAAC;uFAGiB7G,KAAa,EAAA;EAC7B,IAAI+G,aAAa,GAAG,EAAE;EACtB,IAAIC,eAAe,GAAGC,QAAQ;AAE9B,EAAA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,IAAI,CAAC9G,OAAO,CAACsE,MAAM,EAAEwC,CAAC,EAAE,EAAE;IAC5C,MAAM7F,MAAM,GAAG1B,sBAAA,CAAA,IAAI,0EAAe,CAAAG,IAAA,CAAnB,IAAI,EAAgB,IAAI,CAACM,OAAO,CAAC8G,CAAC,CAAC,CAAC;IACnD,IAAI7F,MAAM,KAAKe,SAAS,EAAE;IAE1B,MAAM+E,QAAQ,GAAGzG,IAAI,CAAC0G,GAAG,CAACpH,KAAK,GAAGqB,MAAM,CAAC;IACzC,IAAI8F,QAAQ,GAAGH,eAAe,EAAE;AAC9BA,MAAAA,eAAe,GAAGG,QAAQ;AAC1BJ,MAAAA,aAAa,GAAGG,CAAC;AACnB,IAAA;AACF,EAAA;AACA,EAAA,OAAOH,aAAa;AACtB,CAAC;6FAGoBM,WAAmB,EAAA;EACtC,MAAMC,YAAY,GAAG3H,sBAAA,CAAA,IAAI,0EAAe,CAAAG,IAAA,CAAnB,IAAI,EAAgB,IAAI,CAACM,OAAO,CAACiH,WAAW,CAAC,CAAC;AACnE,EAAA,IAAIC,YAAY,KAAKlF,SAAS,EAAE,OAAOiF,WAAW;EAElD,IAAIrH,KAAK,GAAGiH,QAAQ;EACpB,IAAIV,UAAU,GAAGc,WAAW;AAC5B,EAAA,KAAK,IAAIH,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,IAAI,CAAC9G,OAAO,CAACsE,MAAM,EAAEwC,CAAC,EAAE,EAAE;IAC5C,IAAIA,CAAC,KAAKG,WAAW,EAAE;IACvB,MAAMhG,MAAM,GAAG1B,sBAAA,CAAA,IAAI,0EAAe,CAAAG,IAAA,CAAnB,IAAI,EAAgB,IAAI,CAACM,OAAO,CAAC8G,CAAC,CAAC,CAAC;IACnD,IAAI7F,MAAM,KAAKe,SAAS,EAAE;AAC1B,IAAA,IAAIf,MAAM,GAAGiG,YAAY,IAAIjG,MAAM,GAAGrB,KAAK,EAAE;AAC3CA,MAAAA,KAAK,GAAGqB,MAAM;AACdkF,MAAAA,UAAU,GAAGW,CAAC;AAChB,IAAA;AACF,EAAA;AACA,EAAA,OAAOX,UAAU;AACnB,CAAC;2FAGmBc,WAAmB,EAAA;EACrC,MAAMC,YAAY,GAAG3H,sBAAA,CAAA,IAAI,0EAAe,CAAAG,IAAA,CAAnB,IAAI,EAAgB,IAAI,CAACM,OAAO,CAACiH,WAAW,CAAC,CAAC;AACnE,EAAA,IAAIC,YAAY,KAAKlF,SAAS,EAAE,OAAOiF,WAAW;EAElD,IAAIrH,KAAK,GAAG,CAACiH,QAAQ;EACrB,IAAIV,UAAU,GAAGc,WAAW;AAC5B,EAAA,KAAK,IAAIH,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,IAAI,CAAC9G,OAAO,CAACsE,MAAM,EAAEwC,CAAC,EAAE,EAAE;IAC5C,IAAIA,CAAC,KAAKG,WAAW,EAAE;IACvB,MAAMhG,MAAM,GAAG1B,sBAAA,CAAA,IAAI,0EAAe,CAAAG,IAAA,CAAnB,IAAI,EAAgB,IAAI,CAACM,OAAO,CAAC8G,CAAC,CAAC,CAAC;IACnD,IAAI7F,MAAM,KAAKe,SAAS,EAAE;AAC1B,IAAA,IAAIf,MAAM,GAAGiG,YAAY,IAAIjG,MAAM,GAAGrB,KAAK,EAAE;AAC3CA,MAAAA,KAAK,GAAGqB,MAAM;AACdkF,MAAAA,UAAU,GAAGW,CAAC;AAChB,IAAA;AACF,EAAA;AACA,EAAA,OAAOX,UAAU;AACnB,CAAC;iFAGclF,MAAc,EAAA;EAC3B,MAAMrB,KAAK,GAAGqB,MAAM,CAACkG,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC3B,WAAW,GAAG4B,UAAU,CAACnG,MAAM,CAAC,GAAGmG,UAAU,CAACnG,MAAM,CAAC;EAChG,OAAO,CAACoG,KAAK,CAACzH,KAAK,CAAC,GAAGA,KAAK,GAAGoC,SAAS;AAC1C,CAAC;;EAICzC,sBAAA,CAAA,IAAI,EAAAf,kCAAA,EAAA,GAAA,CAAe,EAAE8I,MAAM,EAAE;EAC7B5C,sBAAA,CAAA,IAAI,EAAAlG,kCAAA,EAAkBwD,SAAS,EAAA,GAAA,CAAA;AACjC,CAAC;6EAGYpC,KAAa,EAAE2G,UAAU,GAAG,IAAI,EAAA;AAC3ChH,EAAAA,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAAgH,uCAAA,CAAoB,CAAA9G,IAAA,CAAxB,IAAI,CAAsB;AAE1BE,EAAAA,KAAK,GAAGU,IAAI,CAACR,GAAG,CAAC,IAAI,CAACD,GAAG,EAAES,IAAI,CAACT,GAAG,CAAC,IAAI,CAACC,GAAG,EAAEF,KAAK,CAAC,CAAC;AACrD,EAAA,IAAIA,KAAK,KAAK,IAAI,CAACA,KAAK,EAAE;AAE1B,EAAA,IAAI,CAAC2H,oBAAoB,EAAE,EAAE;AAC3BC,IAAAA,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC;IAElC9C,sBAAA,CAAA,IAAI,EAAAlG,kCAAA,EAAkB,IAAI,CAAC4D,KAAK,CAACqF,OAAO,CACtC,CAAC;AAAE,MAAA,qBAAqB,EAAE,CAAA,EAAG,IAAI,CAAC7H,KAAK,CAAA,CAAA;AAAG,KAAE,EAAE;MAAE,qBAAqB,EAAE,GAAGA,KAAK,CAAA,CAAA;AAAG,KAAE,CAAC,EACrF;AACE8H,MAAAA,QAAQ,EAAE,GAAG;AACbC,MAAAA,MAAM,EAAE;KACT,CACF,MAAA;IACDpI,sBAAA,CAAA,IAAI,EAAAf,kCAAA,EAAA,GAAA,CAAe,CAACoJ,QAAQ,GAAG,MAAK;AAClCrI,MAAAA,sBAAA,CAAA,IAAI,wEAAa,CAAAG,IAAA,CAAjB,IAAI,EAAcE,KAAK,EAAE2G,UAAU,CAAC;MACpC7B,sBAAA,CAAA,IAAI,EAAAlG,kCAAA,EAAkBwD,SAAS,EAAA,GAAA,CAAA;AAC/BgD,MAAAA,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC;IACvC,CAAC;AACH,EAAA,CAAC,MAAM;AACLzF,IAAAA,sBAAA,CAAA,IAAI,wEAAa,CAAAG,IAAA,CAAjB,IAAI,EAAcE,KAAK,EAAE2G,UAAU,CAAC;AACtC,EAAA;AACF,CAAC;;AAIC,EAAA,IAAI,IAAI,CAACvG,OAAO,CAACsE,MAAM,KAAK,CAAC,EAAE;EAE/B,MAAMrD,MAAM,GAAG1B,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA0B,qCAAA,CAAkB,CAAAxB,IAAA,CAAtB,IAAI,EAAmB,IAAI,CAACE,KAAK,CAAC;AACjD,EAAA,IAAIqB,MAAM,KAAK,EAAE,EAAE;AAEnB,EAAA,IAAIqF,IAAI,GAAG/G,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA6G,wCAAA,CAAqB,MAAzB,IAAI,EAAsBpF,MAAM,CAAC;AAC5C,EAAA,IAAIqF,IAAI,KAAKrF,MAAM,IAAI,IAAI,CAAChB,WAAW,EAAE;AACvCqG,IAAAA,IAAI,GAAG/G,uBAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA0B,qCAAA,CAAkB,MAAtB,IAAI,EAAmB,CAAC,CAAC;AAChC,IAAA,IAAIoF,IAAI,KAAK,EAAE,EAAE;AACnB,EAAA;EAEA,MAAM1G,KAAK,GAAGL,sBAAA,CAAA,IAAI,0EAAe,CAAAG,IAAA,CAAnB,IAAI,EAAgB,IAAI,CAACM,OAAO,CAACsG,IAAI,CAAC,CAAC;EACrD,IAAI1G,KAAK,KAAKoC,SAAS,EAAE;AACvBzC,IAAAA,sBAAA,CAAA,IAAI,EAAAC,8BAAA,EAAA,GAAA,EAAA4B,gCAAA,CAAa,CAAA1B,IAAA,CAAjB,IAAI,EAAcE,KAAK,CAAC;AAC1B,EAAA;AACF,CAAC;AA7vBD,CAAA,MAAA;EACEiI,kBAAkB,CAACC,GAAG,CAAA,wHAAA,CAMrB,CAAC;AACJ,CAAC,GAAA;AACD;AACgBlK,mBAAA,CAAAmK,MAAM,GAAmBD,GAAG,okCA6CuCE,WAAW,CAACC,KAAK,CAACC,SAAS,CAAA,sKAAA,EAE3BF,WAAW,CAACC,KAAK,CAACC,SAAS,CAAA,6ZAAA,EAe5FC,SAAS,CAAC,CAAA,iBAAA,EAAoBH,WAAW,CAACI,MAAM,CAACV,QAAQ,CAACW,MAAM,CAAA,CAAA,EAAIL,WAAW,CAACI,MAAM,CAACT,MAAM,CAACW,QAAQ,CAAA;AAC1G,cAAA,EAAAN,WAAW,CAACI,MAAM,CAACG,MAAM,CAACC,WAAW,YAAYR,WAAW,CAACI,MAAM,CAACG,MAAM,CAACC,WAAW,CAAA,CAAE,CAAC,CAAA,gRAAA,EAavCR,WAAW,CAACC,KAAK,CAACQ,OAAO,CAAA,0DAAA,EAC5BT,WAAW,CAACU,KAAK,CAACC,MAAM,CAACC,IAAI,4GAGlBZ,WAAW,CAACC,KAAK,CAACC,SAAS,qEAC9BF,WAAW,CAACU,KAAK,CAACC,MAAM,CAACE,MAAM,CAAA,+pCAAA,CAjF9E;AAuHGC,UAAA,CAAA,CAARrF,KAAK,EAAE,CAAsD,EAAA7F,mBAAA,CAAAmL,SAAA,EAAA,cAAA,EAAA,MAAA,CAAA;AAGtCD,UAAA,CAAA,CAAvBE,KAAK,CAAC,OAAO,CAAC,CAA6B,EAAApL,mBAAA,CAAAmL,SAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AACbD,UAAA,CAAA,CAA9BE,KAAK,CAAC,cAAc,CAAC,CAAmC,EAAApL,mBAAA,CAAAmL,SAAA,EAAA,aAAA,EAAA,MAAA,CAAA;AAiC7CD,UAAA,CAAA,CAA3BG,QAAQ,CAAC;AAAEC,EAAAA,IAAI,EAAEC;CAAQ,CAAC,CAAY,EAAAvL,mBAAA,CAAAmL,SAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AAMXD,UAAA,CAAA,CAA3BG,QAAQ,CAAC;AAAEC,EAAAA,IAAI,EAAEC;CAAQ,CAAC,CAAS,EAAAvL,mBAAA,CAAAmL,SAAA,EAAA,KAAA,EAAA,MAAA,CAAA;AAMRD,UAAA,CAAA,CAA3BG,QAAQ,CAAC;AAAEC,EAAAA,IAAI,EAAEC;CAAQ,CAAC,CAAW,EAAAvL,mBAAA,CAAAmL,SAAA,EAAA,KAAA,EAAA,MAAA,CAAA;AAMVD,UAAA,CAAA,CAA3BG,QAAQ,CAAC;AAAEC,EAAAA,IAAI,EAAEC;CAAQ,CAAC,CAAU,EAAAvL,mBAAA,CAAAmL,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAMyCD,UAAA,CAAA,CAA7EG,QAAQ,CAAC;AAAEG,EAAAA,SAAS,EAAE,SAAS;AAAEC,EAAAA,SAAS,EAAEC;AAA6B,CAAE,CAAC,CAAwB,EAAA1L,mBAAA,CAAAmL,SAAA,EAAA,SAAA,EAAA,MAAA,CAAA;AAM7CD,UAAA,CAAA,CAAvDG,QAAQ,CAAC;AAAEG,EAAAA,SAAS,EAAE,cAAc;AAAEF,EAAAA,IAAI,EAAEK;AAAO,CAAE,CAAC,CAAqB,EAAA3L,mBAAA,CAAAmL,SAAA,EAAA,aAAA,EAAA,MAAA,CAAA;AAMhED,UAAA,CAAA,CAAXG,QAAQ,EAAE,CAAkD,EAAArL,mBAAA,CAAAmL,SAAA,EAAA,aAAA,EAAA,MAAA,CAAA;AAMjDD,UAAA,CAAA,CAAXG,QAAQ,EAAE,CAAgC,EAAArL,mBAAA,CAAAmL,SAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AAG/BD,UAAA,CAAA,CAAXG,QAAQ,EAAE,CA8BT,EAAArL,mBAAA,CAAAmL,SAAA,EAAA,gBAAA,EAAA,MAAA,CAAA;AAlPSnL,mBAAmB,GAAAkL,UAAA,CAAA,CAD/BU,aAAa,CAAC,gBAAgB,CAAC,CACnB,EAAA5L,mBAAmB,CA+vB/B;;;;"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license MIT
3
+ * Copyright (c) 2025 matraic
4
+ * See LICENSE file in the project root for full license text.
5
+ */
6
+ import{__classPrivateFieldGet as t,__classPrivateFieldSet as e,__decorate as i}from"tslib";import{LitElement as s,html as a,css as n,unsafeCSS as h}from"lit";import{state as l,query as r,property as o}from"lit/decorators.js";import{ifDefined as c}from"lit/directives/if-defined.js";import{FormAssociated as d,Disabled as p,ReconnectedCallback as m,AttachInternals as u,PressedController as v,setCustomState as f,MutationController as g,formValue as b,deleteCustomState as w,prefersReducedMotion as y,addCustomState as $,registerStyleSheet as k,DesignToken as x,spaceSeparatedStringConverter as _,customElement as M}from"@m3e/web/core";import{M3eBreakpointObserver as D,Breakpoint as z}from"@m3e/web/core/layout";import{M3eDirectionality as E}from"@m3e/web/core/bidi";var W,P,H,O,T,C,S,F,L,U,A,N,R,I,X,j,B,V,q,Y,K,G,J,Q,Z,tt,et,it,st,at,nt;let ht=class extends(d(p(m(u(s))))){constructor(){super(...arguments),W.add(this),P.set(this,void 0),H.set(this,0),O.set(this,!1),T.set(this,0),C.set(this,void 0),S.set(this,new v(this,{target:null,isPressedKey:t=>" "===t,minPressedDuration:150,callback:t=>f(this,"-pressed",t&&!this.disabled)})),F.set(this,new g(this,{target:null,config:{attributeFilter:["hidden"]},callback:()=>t(this,W,"m",I).call(this,"start")})),L.set(this,new g(this,{target:null,config:{attributeFilter:["hidden"]},callback:()=>t(this,W,"m",I).call(this,"end")})),this.value=50,this.min=0,this.max=100,this.step=1,this.detents=[],this.wrapDetents=!1,this.orientation="horizontal",this.label="Resize panes",this.valueFormatter=(t,e,i)=>{if((t=Math.round(t))>=48&&t<=52)return"Panes equally sized";switch(t){case 0:return"horizontal"===e?"ltr"===i?"Left pane collapsed":"Right pane collapsed":"Top pane collapsed";case 100:return"horizontal"===e?"ltr"===i?"Right pane collapsed":"Left pane collapsed":"Bottom pane collapsed";default:return"horizontal"===e?"ltr"===i?`Left pane ${t}%, right pane ${100-t}%`:`Left pane ${100-t}%, right pane ${t}%`:`Top pane ${t}%, bottom pane ${100-t}%`}}}get currentOrientation(){return this._orientation??("vertical"!==this.orientation?"horizontal":"vertical")}get[(P=new WeakMap,H=new WeakMap,O=new WeakMap,T=new WeakMap,C=new WeakMap,S=new WeakMap,F=new WeakMap,L=new WeakMap,W=new WeakSet,b)](){return this.value?.toString()??null}collapse(){this.snapToValue(this.min)}expand(){this.snapToValue(this.max)}snapToValue(e){const i=t(this,W,"m",Z).call(this,e);e=i>-1?t(this,W,"m",it).call(this,this.detents[i]):e,t(this,C,"f")?t(this,W,"m",Q).call(this,e):t(this,W,"m",at).call(this,e)}disconnectedCallback(){super.disconnectedCallback(),t(this,W,"m",q).call(this),t(this,S,"f").unobserve(this._dragHandle)}reconnectedCallback(){super.reconnectedCallback(),t(this,W,"m",j).call(this),"auto"===this.orientation&&t(this,W,"m",B).call(this)}willUpdate(e){super.willUpdate(e),e.has("orientation")&&(t(this,P,"f")?.call(this),"auto"===this.orientation?t(this,W,"m",B).call(this):(this._orientation=void 0,t(this,W,"m",V).call(this)))}updated(t){super.updated(t),t.has("value")&&this._base.style.setProperty("--_split-pane-value",`${this.value}%`)}firstUpdated(e){super.firstUpdated(e),t(this,W,"m",j).call(this)}render(){return a`<div class="base"><div class="start" id="start" ?inert="${this.value<=0}"><slot name="start" @slotchange="${t(this,W,"m",A)}"></slot></div>${t(this,W,"m",U).call(this)}<div class="end" ?inert="${this.value>=100}"><slot name="end" @slotchange="${t(this,W,"m",N)}"></slot></div></div>`}};U=function(){return a`<div id="drag-handle" class="drag-handle" role="separator" ?hidden="${this.disabled}" tabindex="0" aria-label="${this.label}" aria-controls="start" aria-orientation="${"horizontal"===this.currentOrientation?"vertical":"horizontal"}" aria-valuemin="${this.min}" aria-valuemax="${this.max}" aria-valuenow="${this.value}" aria-valuetext="${c(this.valueFormatter?.(this.value,this.currentOrientation,E.current))}" @pointerdown="${t(this,W,"m",Y)}" @pointerup="${t(this,W,"m",G)}" @pointermove="${t(this,W,"m",K)}" @keydown="${t(this,W,"m",J)}" @dblclick="${t(this,W,"m",nt)}"><div class="handle"><m3e-focus-ring for="drag-handle"></m3e-focus-ring><m3e-state-layer for="drag-handle"></m3e-state-layer></div><div class="touch"></div></div>`},A=function(e){t(this,W,"m",R).call(this,e.target,t(this,F,"f"),"-with-start")},N=function(e){t(this,W,"m",R).call(this,e.target,t(this,L,"f"),"-with-end")},R=function(e,i,s){for(const t of i.targets)i.unobserve(t);const a=new Array;f(this,s,t(this,W,"m",X).call(this,e,a));for(const t of a)t instanceof HTMLElement&&i.observe(t)},I=function(e){f(this,`-with-${e}`,t(this,W,"m",X).call(this,this.shadowRoot?.querySelector(`slot[name='${e}']`)))},X=function(t,e){return(e=e??[]).push(...t?.assignedElements({flatten:!0})??[]),e.length>0&&!e.every(t=>t.hasAttribute("hidden"))},j=function(){t(this,S,"f").observe(this._dragHandle)},B=function(){e(this,P,D.observe([z.XSmall],e=>{this._orientation=e.get(z.XSmall)?"vertical":"horizontal",t(this,W,"m",V).call(this)}),"f")},V=function(){f(this,"-vertical","vertical"===this.currentOrientation)},q=function(){w(this,"-vertical"),this._orientation=void 0,t(this,P,"f")?.call(this),e(this,P,void 0,"f")},Y=function(t){"mouse"===t.pointerType&&t.button>1||this.disabled||(this._dragHandle.setPointerCapture(t.pointerId),e(this,O,!1,"f"),e(this,H,"vertical"===this.currentOrientation?t.clientY:t.clientX,"f"),e(this,T,"vertical"===this.currentOrientation?this.clientHeight:this.clientWidth,"f"))},K=function(i){if(!this._dragHandle.hasPointerCapture(i.pointerId))return;const s="vertical"===this.currentOrientation?i.clientY:i.clientX;let a=t(this,T,"f")>0?(s-t(this,H,"f"))/t(this,T,"f")*100:0;"rtl"===E.current&&"vertical"!==this.currentOrientation&&(a=-a),t(this,W,"m",Q).call(this,this.value+a,!1)&&(e(this,H,s,"f"),e(this,O,!0,"f"))},G=function(i){if(!("mouse"===i.pointerType&&i.button>1)&&this._dragHandle.hasPointerCapture(i.pointerId)){this._dragHandle.releasePointerCapture(i.pointerId),e(this,H,0,"f"),e(this,T,0,"f");const s=t(this,W,"m",Z).call(this,this.value);if(s>=0){const e=t(this,W,"m",it).call(this,this.detents[s]);void 0!==e&&t(this,W,"m",at).call(this,e,!1)}t(this,O,"f")&&(this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})),e(this,O,!1,"f"))}},J=function(e){const i="ltr"===E.current||"vertical"===this.currentOrientation;switch(e.key){case"Up":case"ArrowUp":case"Left":case"ArrowLeft":{e.preventDefault();const s=t(this,W,"m",Z).call(this,this.value);if(s>=0){const e=i?t(this,W,"m",et).call(this,s):t(this,W,"m",tt).call(this,s);if(e!==s&&!t(this,C,"f")){const i=t(this,W,"m",it).call(this,this.detents[e]);void 0!==i&&t(this,W,"m",at).call(this,i)}}else this.step>1?t(this,C,"f")||t(this,W,"m",at).call(this,this.value+(i?-this.step:this.step)):t(this,W,"m",Q).call(this,this.value+(i?-this.step:this.step));break}case"Down":case"ArrowDown":case"Right":case"ArrowRight":{e.preventDefault();const s=t(this,W,"m",Z).call(this,this.value);if(s>=0){const e=i?t(this,W,"m",tt).call(this,s):t(this,W,"m",et).call(this,s);if(e!==s&&!t(this,C,"f")){const i=t(this,W,"m",it).call(this,this.detents[e]);void 0!==i&&t(this,W,"m",at).call(this,i)}}else this.step>1?t(this,C,"f")||t(this,W,"m",at).call(this,this.value+(i?this.step:-this.step)):t(this,W,"m",Q).call(this,this.value+(i?this.step:-this.step));break}case"Home":if(e.preventDefault(),!t(this,C,"f")){const e=t(this,W,"m",Z).call(this,this.min);e>-1?t(this,W,"m",at).call(this,t(this,W,"m",it).call(this,this.detents[e])):t(this,W,"m",at).call(this,this.min)}break;case"End":if(e.preventDefault(),!t(this,C,"f")){const e=t(this,W,"m",Z).call(this,this.max);e>-1?t(this,W,"m",at).call(this,t(this,W,"m",it).call(this,this.detents[e])):t(this,W,"m",at).call(this,this.max)}break;case"PageUp":if(e.preventDefault(),!t(this,C,"f")){const e=t(this,W,"m",Z).call(this,this.value);if(e>=0){const i=t(this,W,"m",et).call(this,e);if(i!==e){const e=t(this,W,"m",it).call(this,this.detents[i]);void 0!==e&&t(this,W,"m",at).call(this,e)}}else t(this,W,"m",at).call(this,this.value-Math.max(10,this.step))}break;case"PageDown":if(e.preventDefault(),!t(this,C,"f")){const e=t(this,W,"m",Z).call(this,this.value);if(e>=0){const i=t(this,W,"m",tt).call(this,e);if(i!==e){const e=t(this,W,"m",it).call(this,this.detents[i]);void 0!==e&&t(this,W,"m",at).call(this,e)}}else t(this,W,"m",at).call(this,this.value+Math.max(10,this.step))}break;case"Enter":t(this,C,"f")||t(this,W,"m",nt).call(this);break;case" ":e.preventDefault(),t(this,C,"f")||t(this,W,"m",nt).call(this)}},Q=function(e,i=!0){if(t(this,W,"m",st).call(this),(e=Math.max(this.min,Math.min(this.max,e)))!=this.value){const t=this.value;if(this.value=e,this.dispatchEvent(new Event("input",{bubbles:!0,composed:!0,cancelable:!0})))return this._base.style.setProperty("--_split-pane-value",`${this.value}%`),i&&this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})),!0;this.value=t}return!1},Z=function(e){let i=-1,s=1/0;for(let a=0;a<this.detents.length;a++){const n=t(this,W,"m",it).call(this,this.detents[a]);if(void 0===n)continue;const h=Math.abs(e-n);h<s&&(s=h,i=a)}return i},tt=function(e){const i=t(this,W,"m",it).call(this,this.detents[e]);if(void 0===i)return e;let s=1/0,a=e;for(let n=0;n<this.detents.length;n++){if(n===e)continue;const h=t(this,W,"m",it).call(this,this.detents[n]);void 0!==h&&(h>i&&h<s&&(s=h,a=n))}return a},et=function(e){const i=t(this,W,"m",it).call(this,this.detents[e]);if(void 0===i)return e;let s=-1/0,a=e;for(let n=0;n<this.detents.length;n++){if(n===e)continue;const h=t(this,W,"m",it).call(this,this.detents[n]);void 0!==h&&(h<i&&h>s&&(s=h,a=n))}return a},it=function(t){const e=t.endsWith("px")?this.clientWidth/parseFloat(t):parseFloat(t);return isNaN(e)?void 0:e},st=function(){t(this,C,"f")?.cancel(),e(this,C,void 0,"f")},at=function(i,s=!0){t(this,W,"m",st).call(this),(i=Math.max(this.min,Math.min(this.max,i)))!==this.value&&(y()?t(this,W,"m",Q).call(this,i,s):($(this,"-animating"),e(this,C,this._base.animate([{"--_split-pane-value":`${this.value}%`},{"--_split-pane-value":`${i}%`}],{duration:250,easing:"cubic-bezier(0.2, 0.0, 0, 1.0)"}),"f"),t(this,C,"f").onfinish=()=>{t(this,W,"m",Q).call(this,i,s),e(this,C,void 0,"f"),w(this,"-animating")}))},nt=function(){if(0===this.detents.length)return;const e=t(this,W,"m",Z).call(this,this.value);if(-1===e)return;let i=t(this,W,"m",tt).call(this,e);if(i===e&&this.wrapDetents&&(i=t(this,W,"m",Z).call(this,0),-1===i))return;const s=t(this,W,"m",it).call(this,this.detents[i]);void 0!==s&&t(this,W,"m",at).call(this,s)},k(n`@property --_split-pane-value { syntax: "<length-percentage>"; inherits: true; initial-value: 50%; }</length-percentage>`),ht.styles=n`:host { display: block; } .base { display: flex; width: 100%; height: 100%; overflow: hidden; } :host(:not(:state(-vertical))) .base { flex-direction: row; } :host(:state(-vertical)) .base { flex-direction: column; } :host(:state(-with-start):state(-with-end)) .base:not(:has(.drag-handle[hidden])) .start { flex: 0 1 calc(var(--_split-pane-value) - calc(var(--m3e-split-pane-drag-handle-container-width, 1.5rem) / 2)); } :host(:state(-with-start):state(-with-end)) .base:has(.drag-handle[hidden]) .start { flex: 0 1 var(--_split-pane-value); } :host(:not(:state(-with-end))) .start { flex: 1 1 auto; } :host(:state(-with-end)) .end { flex: 1 1 auto; } :host(:not(:state(-with-end))) .end { display: none; } :host(:not(:state(-animating))) .start[inert], :host(:not(:state(-animating))) .end[inert] { visibility: hidden; } .drag-handle { flex: none; display: flex; align-items: center; justify-content: center; outline: none; touch-action: none; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); --m3e-state-layer-hover-color: var(--m3e-split-pane-drag-handle-hover-color, ${x.color.onSurface}); --m3e-state-layer-hover-opacity: var(--m3e-split-pane-drag-handle-hover-opacity, 8%); --m3e-state-layer-focus-color: var(--m3e-split-pane-drag-handle-focus-color, ${x.color.onSurface}); --m3e-state-layer-focus-opacity: var(--m3e-split-pane-drag-handle-focus-opacity, 10%); } :host(:is(:not(:state(-with-start)), :not(:state(-with-end)))) .drag-handle, .drag-handle[hidden] { display: none; } :host(:not(:state(-pressed))) .drag-handle:not([aria-disabled]) { cursor: grab; } :host(:state(-pressed)) .drag-handle:not([aria-disabled]) { cursor: grabbing; } .handle { position: relative; transition: ${h(`background-color ${x.motion.duration.short4} ${x.motion.easing.standard},\n width ${x.motion.spring.fastEffects}, height ${x.motion.spring.fastEffects}`)}; } .touch { z-index: 1; position: absolute; height: 3rem; width: 3rem; margin: auto; touch-action: none; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } :host(:not(:state(-pressed))) .handle { background-color: var(--m3e-split-pane-drag-handle-color, ${x.color.outline}); border-radius: var(--m3e-split-pane-drag-handle-shape, ${x.shape.corner.full}); } :host(:state(-pressed)) .handle { background-color: var(--m3e-split-pane-drag-handle-pressed-color, ${x.color.onSurface}); border-radius: var(--m3e-split-pane-drag-handle-pressed-shape, ${x.shape.corner.medium}); } :host(:not(:state(-vertical))) .drag-handle { flex-direction: column; width: var(--m3e-split-pane-drag-handle-container-width, 1.5rem); } :host(:not(:state(-vertical)):not(:state(-pressed))) .handle { width: var(--m3e-split-pane-drag-handle-width, 0.25rem); height: var(--m3e-split-pane-drag-handle-height, 3rem); } :host(:not(:state(-vertical)):state(-pressed)) .handle { width: var(--m3e-split-pane-drag-handle-pressed-width, 0.75rem); height: var(--m3e-split-pane-drag-handle-pressed-height, 3.25rem); } :host(:state(-vertical)) .drag-handle { height: var(--m3e-split-pane-drag-handle-container-width, 1.5rem); } :host(:state(-vertical):not(:state(-pressed))) .handle { width: var(--m3e-split-pane-drag-handle-height, 3rem); height: var(--m3e-split-pane-drag-handle-width, 0.25rem); } :host(:state(-vertical):state(-pressed)) .handle { width: var(--m3e-split-pane-drag-handle-pressed-height, 3.25rem); height: var(--m3e-split-pane-drag-handle-pressed-width, 0.75rem); } @media (prefers-reduced-motion) { .handle { transition: none; } } @media (forced-colors: active) { :host(:state(-pressed)) .handle, :host(:not(:state(-pressed))) .handle { background-color: ButtonText; } }`,i([l()],ht.prototype,"_orientation",void 0),i([r(".base")],ht.prototype,"_base",void 0),i([r(".drag-handle")],ht.prototype,"_dragHandle",void 0),i([o({type:Number})],ht.prototype,"value",void 0),i([o({type:Number})],ht.prototype,"min",void 0),i([o({type:Number})],ht.prototype,"max",void 0),i([o({type:Number})],ht.prototype,"step",void 0),i([o({attribute:"detents",converter:_})],ht.prototype,"detents",void 0),i([o({attribute:"wrap-detents",type:Boolean})],ht.prototype,"wrapDetents",void 0),i([o()],ht.prototype,"orientation",void 0),i([o()],ht.prototype,"label",void 0),i([o()],ht.prototype,"valueFormatter",void 0),ht=i([M("m3e-split-pane")],ht);export{ht as M3eSplitPaneElement};
7
+ //# sourceMappingURL=split-pane.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"split-pane.min.js","sources":["../../src/split-pane/SplitPaneElement.ts"],"sourcesContent":["import { css, CSSResultGroup, html, LitElement, PropertyValues, unsafeCSS } from \"lit\";\r\nimport { property, query, state } from \"lit/decorators.js\";\r\nimport { ifDefined } from \"lit/directives/if-defined.js\";\r\n\r\nimport {\r\n addCustomState,\r\n AttachInternals,\r\n customElement,\r\n deleteCustomState,\r\n DesignToken,\r\n Disabled,\r\n FormAssociated,\r\n formValue,\r\n MutationController,\r\n prefersReducedMotion,\r\n PressedController,\r\n ReconnectedCallback,\r\n registerStyleSheet,\r\n setCustomState,\r\n spaceSeparatedStringConverter,\r\n} from \"@m3e/web/core\";\r\n\r\nimport { Breakpoint, M3eBreakpointObserver } from \"@m3e/web/core/layout\";\r\nimport { Direction, M3eDirectionality } from \"@m3e/web/core/bidi\";\r\n\r\nimport { SplitPaneOrientation } from \"./SplitPaneOrientation\";\r\n\r\n/**\r\n * A dual-view layout that separates content with a movable drag handle.\r\n * @description\r\n * The `m3e-split-pane` component delivers a Material 3-inspired split view with a\r\n * movable drag handle, enabling responsive layout composition and pane resizing.\r\n * It supports keyboard interaction, adaptive orientation, and optional detent snapping\r\n * for consistent, accessible content distribution.\r\n *\r\n * @example\r\n * The following example illustrates the basic use of the `m3e-split-pane` with start and end content.\r\n * In this example, the start pane occupies 25% of the available width.\r\n * ```html\r\n * <m3e-split-pane value=\"25\">\r\n * <m3e-card slot=\"start\"></m3e-card>\r\n * <m3e-card slot=\"end\"></m3e-card>\r\n * </m3e-split-pane>\r\n * ```\r\n *\r\n * @example\r\n * The next example demonstrates minimum and maximum constraints, where the start pane\r\n * may shrink to 25% but cannot grow beyond 50% of the available space.\r\n * ```html\r\n * <m3e-split-pane value=\"25\" min=\"25\" max=\"50\">\r\n * <m3e-card slot=\"start\"></m3e-card>\r\n * <m3e-card slot=\"end\"></m3e-card>\r\n * </m3e-split-pane>\r\n * ```\r\n *\r\n * @example\r\n * The next example demonstrates percentage‑based detents, allowing the drag handle to snap at\r\n * 0%, 25%, 50%, 75%, and 100% of the available space.\r\n * ```html\r\n * <m3e-split-pane value=\"50\" detents=\"0 25 50 75 100\">\r\n * <m3e-card slot=\"start\"></m3e-card>\r\n * <m3e-card slot=\"end\"></m3e-card>\r\n * </m3e-split-pane>\r\n * ```\r\n *\r\n * @tag m3e-split-pane\r\n *\r\n * @slot start - Renders content at the logical start side of the pane.\r\n * @slot end - Renders content at the logical end side of the pane.\r\n *\r\n * @attr detents - Detents (discrete sizes) the start pane can snap to.\r\n * @attr label - The accessible label given to the moveable drag handle.\r\n * @attr max - A fractional value, between 0 and 100, indicating the maximum size of the start pane.\r\n * @attr min - A fractional value, between 0 and 100, indicating the minimum size of the start pane.\r\n * @attr orientation - The orientation of the split.\r\n * @attr step - A fractional value, between 0 and 100, indicating the increment by which to adjust the value when resized via keyboard.\r\n * @attr value - A fractional value, between 0 and 100, indicating the size of the start pane.\r\n * @attr wrap-detents - Whether cycling through detents will wrap.\r\n *\r\n * @fires input - Fired continuously while the user adjusts the drag handle.\r\n * @fires change - Fired when the user finishes adjusting the drag handle.\r\n *\r\n * @cssprop --m3e-split-pane-drag-handle-hover-color - Color used for the drag handle hover state.\r\n * @cssprop --m3e-split-pane-drag-handle-hover-opacity - Opacity used for the drag handle hover state.\r\n * @cssprop --m3e-split-pane-drag-handle-focus-color - Color used for the drag handle focus state.\r\n * @cssprop --m3e-split-pane-drag-handle-focus-opacity - Opacity used for the drag handle focus state.\r\n * @cssprop --m3e-split-pane-drag-handle-color - Background color of the drag handle when not pressed.\r\n * @cssprop --m3e-split-pane-drag-handle-shape - Corner shape of the drag handle when not pressed.\r\n * @cssprop --m3e-split-pane-drag-handle-pressed-color - Background color of the drag handle when pressed.\r\n * @cssprop --m3e-split-pane-drag-handle-pressed-shape - Corner shape of the drag handle when pressed.\r\n * @cssprop --m3e-split-pane-drag-handle-container-width - Width of the drag handle container.\r\n * @cssprop --m3e-split-pane-drag-handle-width - Thickness of the drag handle when not pressed.\r\n * @cssprop --m3e-split-pane-drag-handle-height - Length of the drag handle when not pressed.\r\n * @cssprop --m3e-split-pane-drag-handle-pressed-width - Thickness of the drag handle when pressed.\r\n * @cssprop --m3e-split-pane-drag-handle-pressed-height - Length of the drag handle when pressed.\r\n */\r\n@customElement(\"m3e-split-pane\")\r\nexport class M3eSplitPaneElement extends FormAssociated(Disabled(ReconnectedCallback(AttachInternals(LitElement)))) {\r\n static {\r\n registerStyleSheet(css`\r\n @property --_split-pane-value {\r\n syntax: \"<length-percentage>\";\r\n inherits: true;\r\n initial-value: 50%;\r\n }\r\n `);\r\n }\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = css`\r\n :host {\r\n display: block;\r\n }\r\n .base {\r\n display: flex;\r\n width: 100%;\r\n height: 100%;\r\n overflow: hidden;\r\n }\r\n :host(:not(:state(-vertical))) .base {\r\n flex-direction: row;\r\n }\r\n :host(:state(-vertical)) .base {\r\n flex-direction: column;\r\n }\r\n :host(:state(-with-start):state(-with-end)) .base:not(:has(.drag-handle[hidden])) .start {\r\n flex: 0 1 calc(var(--_split-pane-value) - calc(var(--m3e-split-pane-drag-handle-container-width, 1.5rem) / 2));\r\n }\r\n :host(:state(-with-start):state(-with-end)) .base:has(.drag-handle[hidden]) .start {\r\n flex: 0 1 var(--_split-pane-value);\r\n }\r\n :host(:not(:state(-with-end))) .start {\r\n flex: 1 1 auto;\r\n }\r\n :host(:state(-with-end)) .end {\r\n flex: 1 1 auto;\r\n }\r\n :host(:not(:state(-with-end))) .end {\r\n display: none;\r\n }\r\n :host(:not(:state(-animating))) .start[inert],\r\n :host(:not(:state(-animating))) .end[inert] {\r\n visibility: hidden;\r\n }\r\n .drag-handle {\r\n flex: none;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n outline: none;\r\n touch-action: none;\r\n user-select: none;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n\r\n --m3e-state-layer-hover-color: var(--m3e-split-pane-drag-handle-hover-color, ${DesignToken.color.onSurface});\r\n --m3e-state-layer-hover-opacity: var(--m3e-split-pane-drag-handle-hover-opacity, 8%);\r\n --m3e-state-layer-focus-color: var(--m3e-split-pane-drag-handle-focus-color, ${DesignToken.color.onSurface});\r\n --m3e-state-layer-focus-opacity: var(--m3e-split-pane-drag-handle-focus-opacity, 10%);\r\n }\r\n :host(:is(:not(:state(-with-start)), :not(:state(-with-end)))) .drag-handle,\r\n .drag-handle[hidden] {\r\n display: none;\r\n }\r\n :host(:not(:state(-pressed))) .drag-handle:not([aria-disabled]) {\r\n cursor: grab;\r\n }\r\n :host(:state(-pressed)) .drag-handle:not([aria-disabled]) {\r\n cursor: grabbing;\r\n }\r\n .handle {\r\n position: relative;\r\n transition: ${unsafeCSS(`background-color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard},\r\n width ${DesignToken.motion.spring.fastEffects}, height ${DesignToken.motion.spring.fastEffects}`)};\r\n }\r\n .touch {\r\n z-index: 1;\r\n position: absolute;\r\n height: 3rem;\r\n width: 3rem;\r\n margin: auto;\r\n touch-action: none;\r\n user-select: none;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n }\r\n :host(:not(:state(-pressed))) .handle {\r\n background-color: var(--m3e-split-pane-drag-handle-color, ${DesignToken.color.outline});\r\n border-radius: var(--m3e-split-pane-drag-handle-shape, ${DesignToken.shape.corner.full});\r\n }\r\n :host(:state(-pressed)) .handle {\r\n background-color: var(--m3e-split-pane-drag-handle-pressed-color, ${DesignToken.color.onSurface});\r\n border-radius: var(--m3e-split-pane-drag-handle-pressed-shape, ${DesignToken.shape.corner.medium});\r\n }\r\n :host(:not(:state(-vertical))) .drag-handle {\r\n flex-direction: column;\r\n width: var(--m3e-split-pane-drag-handle-container-width, 1.5rem);\r\n }\r\n :host(:not(:state(-vertical)):not(:state(-pressed))) .handle {\r\n width: var(--m3e-split-pane-drag-handle-width, 0.25rem);\r\n height: var(--m3e-split-pane-drag-handle-height, 3rem);\r\n }\r\n :host(:not(:state(-vertical)):state(-pressed)) .handle {\r\n width: var(--m3e-split-pane-drag-handle-pressed-width, 0.75rem);\r\n height: var(--m3e-split-pane-drag-handle-pressed-height, 3.25rem);\r\n }\r\n :host(:state(-vertical)) .drag-handle {\r\n height: var(--m3e-split-pane-drag-handle-container-width, 1.5rem);\r\n }\r\n :host(:state(-vertical):not(:state(-pressed))) .handle {\r\n width: var(--m3e-split-pane-drag-handle-height, 3rem);\r\n height: var(--m3e-split-pane-drag-handle-width, 0.25rem);\r\n }\r\n :host(:state(-vertical):state(-pressed)) .handle {\r\n width: var(--m3e-split-pane-drag-handle-pressed-height, 3.25rem);\r\n height: var(--m3e-split-pane-drag-handle-pressed-width, 0.75rem);\r\n }\r\n @media (prefers-reduced-motion) {\r\n .handle {\r\n transition: none;\r\n }\r\n }\r\n @media (forced-colors: active) {\r\n :host(:state(-pressed)) .handle,\r\n :host(:not(:state(-pressed))) .handle {\r\n background-color: ButtonText;\r\n }\r\n }\r\n `;\r\n\r\n /** @private */ @state() _orientation?: Exclude<SplitPaneOrientation, \"auto\">;\r\n /** @private */ #breakpointUnobserve?: () => void;\r\n\r\n /** @private */ @query(\".base\") private _base!: HTMLElement;\r\n /** @private */ @query(\".drag-handle\") private _dragHandle!: HTMLElement;\r\n\r\n /** @private */ #dragPos = 0;\r\n /** @private */ #valueChanged = false;\r\n /** @private */ #cachedSize = 0;\r\n /** @private */ #snapAnimation?: Animation;\r\n\r\n /** @private */\r\n readonly #pressedController = new PressedController(this, {\r\n target: null,\r\n isPressedKey: (key) => key === \" \",\r\n minPressedDuration: 150,\r\n callback: (pressed) => setCustomState(this, \"-pressed\", pressed && !this.disabled),\r\n });\r\n\r\n /** @private */\r\n readonly #startMutationController = new MutationController(this, {\r\n target: null,\r\n config: { attributeFilter: [\"hidden\"] },\r\n callback: () => this.#updatePaneVisibility(\"start\"),\r\n });\r\n\r\n /** @private */\r\n readonly #endMutationController = new MutationController(this, {\r\n target: null,\r\n config: { attributeFilter: [\"hidden\"] },\r\n callback: () => this.#updatePaneVisibility(\"end\"),\r\n });\r\n\r\n /**\r\n * A fractional value, between 0 and 100, indicating the size of the start pane.\r\n * @default 50\r\n */\r\n @property({ type: Number }) value = 50;\r\n\r\n /**\r\n * A fractional value, between 0 and 100, indicating the minimum size of the start pane.\r\n * @default 0\r\n */\r\n @property({ type: Number }) min = 0;\r\n\r\n /**\r\n * A fractional value, between 0 and 100, indicating the maximum size of the start pane.\r\n * @default 100\r\n */\r\n @property({ type: Number }) max = 100;\r\n\r\n /**\r\n * A fractional value, between 0 and 100, indicating the increment by which to adjust the value when resized via keyboard.\r\n * @default 1\r\n */\r\n @property({ type: Number }) step = 1;\r\n\r\n /**\r\n * Detents (discrete sizes) the start pane can snap to.\r\n * @default []\r\n */\r\n @property({ attribute: \"detents\", converter: spaceSeparatedStringConverter }) detents: string[] = [];\r\n\r\n /**\r\n * Whether cycling through detents will wrap.\r\n * @default false\r\n */\r\n @property({ attribute: \"wrap-detents\", type: Boolean }) wrapDetents = false;\r\n\r\n /**\r\n * The orientation of the split.\r\n * @default \"horizontal\"\r\n */\r\n @property() orientation: SplitPaneOrientation = \"horizontal\";\r\n\r\n /**\r\n * The accessible label given to the movable drag handle.\r\n * @default \"Resize panes\"\r\n */\r\n @property() label: string = \"Resize panes\";\r\n\r\n /** A function used to generates human readable text for the accessible value (`aria-valuetext`) of the drag handle. */\r\n @property() valueFormatter?: (\r\n value: number,\r\n orientation: Omit<SplitPaneOrientation, \"auto\">,\r\n dir: Direction,\r\n ) => string | undefined = (value, orientation, dir) => {\r\n value = Math.round(value);\r\n if (value >= 48 && value <= 52) {\r\n return \"Panes equally sized\";\r\n }\r\n\r\n switch (value) {\r\n case 0:\r\n return orientation === \"horizontal\"\r\n ? dir === \"ltr\"\r\n ? \"Left pane collapsed\"\r\n : \"Right pane collapsed\"\r\n : \"Top pane collapsed\";\r\n case 100:\r\n return orientation === \"horizontal\"\r\n ? dir === \"ltr\"\r\n ? \"Right pane collapsed\"\r\n : \"Left pane collapsed\"\r\n : \"Bottom pane collapsed\";\r\n default:\r\n return orientation === \"horizontal\"\r\n ? dir === \"ltr\"\r\n ? `Left pane ${value}%, right pane ${100 - value}%`\r\n : `Left pane ${100 - value}%, right pane ${value}%`\r\n : `Top pane ${value}%, bottom pane ${100 - value}%`;\r\n }\r\n };\r\n\r\n /** The current orientation of the split. */\r\n get currentOrientation(): Exclude<SplitPaneOrientation, \"auto\"> {\r\n return this._orientation ?? (this.orientation !== \"vertical\" ? \"horizontal\" : \"vertical\");\r\n }\r\n\r\n /** @inheritdoc */\r\n override get [formValue](): string | File | FormData | null {\r\n return this.value?.toString() ?? null;\r\n }\r\n\r\n /**\r\n * Moves the drag handle to the collapsed position. If detents exist, snaps to the collapsed detent.\r\n * If no detents exist, moves to the minimum allowed value.\r\n */\r\n collapse(): void {\r\n this.snapToValue(this.min);\r\n }\r\n\r\n /**\r\n * Moves the drag handle to the expanded position. If detents exist, snaps to the expanded detent.\r\n * If no detents exist, moves to the maximum allowed value.\r\n */\r\n expand(): void {\r\n this.snapToValue(this.max);\r\n }\r\n\r\n /**\r\n * Moves the drag handle to the specified position. If detents exist, snaps to the closest detent.\r\n * If no detents exist, moves to the specified value.\r\n * @param {number} value A fractional value, between 0 and 100, indicating the size of the start pane.\r\n */\r\n snapToValue(value: number): void {\r\n const detent = this.#getClosestDetent(value);\r\n value = detent > -1 ? this.#computeDetent(this.detents[detent])! : value;\r\n if (!this.#snapAnimation) {\r\n this.#snapToValue(value);\r\n } else {\r\n this.#changeValue(value);\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n override disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n\r\n this.#clearOrientation();\r\n this.#pressedController.unobserve(this._dragHandle);\r\n }\r\n\r\n /** @inheritdoc */\r\n override reconnectedCallback(): void {\r\n super.reconnectedCallback();\r\n\r\n this.#initialize();\r\n\r\n if (this.orientation === \"auto\") {\r\n this.#initBreakpointMonitoring();\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override willUpdate(changedProperties: PropertyValues<this>): void {\r\n super.willUpdate(changedProperties);\r\n\r\n if (changedProperties.has(\"orientation\")) {\r\n this.#breakpointUnobserve?.();\r\n\r\n if (this.orientation === \"auto\") {\r\n this.#initBreakpointMonitoring();\r\n } else {\r\n this._orientation = undefined;\r\n this.#updateOrientation();\r\n }\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override updated(_changedProperties: PropertyValues): void {\r\n super.updated(_changedProperties);\r\n if (_changedProperties.has(\"value\")) {\r\n this._base.style.setProperty(\"--_split-pane-value\", `${this.value}%`);\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override firstUpdated(_changedProperties: PropertyValues): void {\r\n super.firstUpdated(_changedProperties);\r\n this.#initialize();\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<div class=\"base\">\r\n <div class=\"start\" id=\"start\" ?inert=\"${this.value <= 0}\">\r\n <slot name=\"start\" @slotchange=\"${this.#handleStartSlotChange}\"></slot>\r\n </div>\r\n ${this.#renderDragHandle()}\r\n <div class=\"end\" ?inert=\"${this.value >= 100}\">\r\n <slot name=\"end\" @slotchange=\"${this.#handleEndSlotChange}\"></slot>\r\n </div>\r\n </div>`;\r\n }\r\n\r\n /** @private */\r\n #renderDragHandle(): unknown {\r\n return html`<div\r\n id=\"drag-handle\"\r\n class=\"drag-handle\"\r\n role=\"separator\"\r\n ?hidden=\"${this.disabled}\"\r\n tabindex=\"0\"\r\n aria-label=\"${this.label}\"\r\n aria-controls=\"start\"\r\n aria-orientation=\"${this.currentOrientation === \"horizontal\" ? \"vertical\" : \"horizontal\"}\"\r\n aria-valuemin=\"${this.min}\"\r\n aria-valuemax=\"${this.max}\"\r\n aria-valuenow=\"${this.value}\"\r\n aria-valuetext=\"${ifDefined(\r\n this.valueFormatter?.(this.value, this.currentOrientation, M3eDirectionality.current),\r\n )}\"\r\n @pointerdown=\"${this.#handlePointerDown}\"\r\n @pointerup=\"${this.#handlePointerUp}\"\r\n @pointermove=\"${this.#handlePointerMove}\"\r\n @keydown=\"${this.#handleKeyDown}\"\r\n @dblclick=\"${this.#cycleDetent}\"\r\n >\r\n <div class=\"handle\">\r\n <m3e-focus-ring for=\"drag-handle\"></m3e-focus-ring>\r\n <m3e-state-layer for=\"drag-handle\"></m3e-state-layer>\r\n </div>\r\n <div class=\"touch\"></div>\r\n </div>`;\r\n }\r\n\r\n /** @private */\r\n #handleStartSlotChange(e: Event): void {\r\n this.#handleSlotChange(e.target as HTMLSlotElement, this.#startMutationController, \"-with-start\");\r\n }\r\n\r\n /** @private */\r\n #handleEndSlotChange(e: Event): void {\r\n this.#handleSlotChange(e.target as HTMLSlotElement, this.#endMutationController, \"-with-end\");\r\n }\r\n\r\n /** @private */\r\n #handleSlotChange(slot: HTMLSlotElement, mutationController: MutationController, state: string): void {\r\n for (const target of mutationController.targets) {\r\n mutationController.unobserve(target);\r\n }\r\n\r\n const assignedElements = new Array<Element>();\r\n setCustomState(this, state, this.#hasVisibleElements(slot, assignedElements));\r\n\r\n for (const element of assignedElements) {\r\n if (element instanceof HTMLElement) {\r\n mutationController.observe(element);\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #updatePaneVisibility(pane: \"start\" | \"end\"): void {\r\n setCustomState(\r\n this,\r\n `-with-${pane}`,\r\n this.#hasVisibleElements(this.shadowRoot?.querySelector<HTMLSlotElement>(`slot[name='${pane}']`)),\r\n );\r\n }\r\n\r\n /** @private */\r\n #hasVisibleElements(slot?: HTMLSlotElement | null, assignedElements?: Element[]): boolean {\r\n assignedElements = assignedElements ?? [];\r\n assignedElements.push(...(slot?.assignedElements({ flatten: true }) ?? []));\r\n return assignedElements.length > 0 && !assignedElements.every((x) => x.hasAttribute(\"hidden\"));\r\n }\r\n\r\n /** @private */\r\n #initialize() {\r\n this.#pressedController.observe(this._dragHandle);\r\n }\r\n\r\n /** @private */\r\n #initBreakpointMonitoring(): void {\r\n this.#breakpointUnobserve = M3eBreakpointObserver.observe([Breakpoint.XSmall], (matches) => {\r\n this._orientation = matches.get(Breakpoint.XSmall) ? \"vertical\" : \"horizontal\";\r\n this.#updateOrientation();\r\n });\r\n }\r\n\r\n /** @private */\r\n #updateOrientation(): void {\r\n setCustomState(this, \"-vertical\", this.currentOrientation === \"vertical\");\r\n }\r\n\r\n /** @private */\r\n #clearOrientation(): void {\r\n deleteCustomState(this, \"-vertical\");\r\n this._orientation = undefined;\r\n this.#breakpointUnobserve?.();\r\n this.#breakpointUnobserve = undefined;\r\n }\r\n\r\n /** @private */\r\n #handlePointerDown(e: PointerEvent): void {\r\n if (e.pointerType === \"mouse\" && e.button > 1) return;\r\n if (this.disabled) return;\r\n\r\n this._dragHandle.setPointerCapture(e.pointerId);\r\n this.#valueChanged = false;\r\n this.#dragPos = this.currentOrientation === \"vertical\" ? e.clientY : e.clientX;\r\n this.#cachedSize = this.currentOrientation === \"vertical\" ? this.clientHeight : this.clientWidth;\r\n }\r\n\r\n /** @private */\r\n #handlePointerMove(e: PointerEvent): void {\r\n if (!this._dragHandle.hasPointerCapture(e.pointerId)) return;\r\n\r\n const pos = this.currentOrientation === \"vertical\" ? e.clientY : e.clientX;\r\n let delta = this.#cachedSize > 0 ? ((pos - this.#dragPos) / this.#cachedSize) * 100 : 0;\r\n if (M3eDirectionality.current === \"rtl\" && this.currentOrientation !== \"vertical\") {\r\n delta = -delta;\r\n }\r\n if (this.#changeValue(this.value + delta, false)) {\r\n this.#dragPos = pos;\r\n this.#valueChanged = true;\r\n }\r\n }\r\n\r\n /** @private */\r\n #handlePointerUp(e: PointerEvent): void {\r\n if (e.pointerType === \"mouse\" && e.button > 1) return;\r\n if (this._dragHandle.hasPointerCapture(e.pointerId)) {\r\n this._dragHandle.releasePointerCapture(e.pointerId);\r\n this.#dragPos = 0;\r\n this.#cachedSize = 0;\r\n\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent >= 0) {\r\n const value = this.#computeDetent(this.detents[detent]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value, false);\r\n }\r\n }\r\n\r\n if (this.#valueChanged) {\r\n this.dispatchEvent(new Event(\"change\", { bubbles: true, composed: true }));\r\n this.#valueChanged = false;\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleKeyDown(e: KeyboardEvent): void {\r\n const ltr = M3eDirectionality.current === \"ltr\" || this.currentOrientation === \"vertical\";\r\n switch (e.key) {\r\n case \"Up\":\r\n case \"ArrowUp\":\r\n case \"Left\":\r\n case \"ArrowLeft\": {\r\n e.preventDefault();\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent >= 0) {\r\n const nextDetent = ltr ? this.#getNextLowerDetent(detent) : this.#getNextHigherDetent(detent);\r\n if (nextDetent !== detent && !this.#snapAnimation) {\r\n const value = this.#computeDetent(this.detents[nextDetent]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value);\r\n }\r\n }\r\n } else if (this.step > 1) {\r\n if (!this.#snapAnimation) {\r\n this.#snapToValue(this.value + (ltr ? -this.step : this.step));\r\n }\r\n } else {\r\n this.#changeValue(this.value + (ltr ? -this.step : this.step));\r\n }\r\n break;\r\n }\r\n\r\n case \"Down\":\r\n case \"ArrowDown\":\r\n case \"Right\":\r\n case \"ArrowRight\": {\r\n e.preventDefault();\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent >= 0) {\r\n const nextDetent = ltr ? this.#getNextHigherDetent(detent) : this.#getNextLowerDetent(detent);\r\n if (nextDetent !== detent && !this.#snapAnimation) {\r\n const value = this.#computeDetent(this.detents[nextDetent]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value);\r\n }\r\n }\r\n } else if (this.step > 1) {\r\n if (!this.#snapAnimation) {\r\n this.#snapToValue(this.value + (ltr ? this.step : -this.step));\r\n }\r\n } else {\r\n this.#changeValue(this.value + (ltr ? this.step : -this.step));\r\n }\r\n\r\n break;\r\n }\r\n\r\n case \"Home\": {\r\n e.preventDefault();\r\n if (!this.#snapAnimation) {\r\n const next = this.#getClosestDetent(this.min);\r\n if (next > -1) {\r\n this.#snapToValue(this.#computeDetent(this.detents[next])!);\r\n } else {\r\n this.#snapToValue(this.min);\r\n }\r\n }\r\n\r\n break;\r\n }\r\n\r\n case \"End\": {\r\n e.preventDefault();\r\n if (!this.#snapAnimation) {\r\n const next = this.#getClosestDetent(this.max);\r\n if (next > -1) {\r\n this.#snapToValue(this.#computeDetent(this.detents[next])!);\r\n } else {\r\n this.#snapToValue(this.max);\r\n }\r\n }\r\n\r\n break;\r\n }\r\n\r\n case \"PageUp\": {\r\n e.preventDefault();\r\n if (!this.#snapAnimation) {\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent >= 0) {\r\n const nextDetent = this.#getNextLowerDetent(detent);\r\n if (nextDetent !== detent) {\r\n const value = this.#computeDetent(this.detents[nextDetent]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value);\r\n }\r\n }\r\n } else {\r\n this.#snapToValue(this.value - Math.max(10, this.step));\r\n }\r\n }\r\n\r\n break;\r\n }\r\n\r\n case \"PageDown\": {\r\n e.preventDefault();\r\n if (!this.#snapAnimation) {\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent >= 0) {\r\n const nextDetent = this.#getNextHigherDetent(detent);\r\n if (nextDetent !== detent) {\r\n const value = this.#computeDetent(this.detents[nextDetent]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value);\r\n }\r\n }\r\n } else {\r\n this.#snapToValue(this.value + Math.max(10, this.step));\r\n }\r\n }\r\n\r\n break;\r\n }\r\n\r\n case \"Enter\":\r\n if (!this.#snapAnimation) {\r\n this.#cycleDetent();\r\n }\r\n\r\n break;\r\n\r\n case \" \":\r\n e.preventDefault();\r\n if (!this.#snapAnimation) {\r\n this.#cycleDetent();\r\n }\r\n break;\r\n }\r\n }\r\n\r\n /** @private */\r\n #changeValue(value: number, emitChange = true): boolean {\r\n this.#clearSnapAnimation();\r\n\r\n value = Math.max(this.min, Math.min(this.max, value));\r\n if (value != this.value) {\r\n const prev = this.value;\r\n this.value = value;\r\n\r\n if (this.dispatchEvent(new Event(\"input\", { bubbles: true, composed: true, cancelable: true }))) {\r\n this._base.style.setProperty(\"--_split-pane-value\", `${this.value}%`);\r\n if (emitChange) {\r\n this.dispatchEvent(new Event(\"change\", { bubbles: true, composed: true }));\r\n }\r\n return true;\r\n } else {\r\n this.value = prev;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /** @private */\r\n #getClosestDetent(value: number): number {\r\n let closestDetent = -1;\r\n let closestDistance = Infinity;\r\n\r\n for (let i = 0; i < this.detents.length; i++) {\r\n const detent = this.#computeDetent(this.detents[i]);\r\n if (detent === undefined) continue;\r\n\r\n const distance = Math.abs(value - detent);\r\n if (distance < closestDistance) {\r\n closestDistance = distance;\r\n closestDetent = i;\r\n }\r\n }\r\n return closestDetent;\r\n }\r\n\r\n /** @private */\r\n #getNextHigherDetent(detentIndex: number): number {\r\n const currentValue = this.#computeDetent(this.detents[detentIndex]);\r\n if (currentValue === undefined) return detentIndex;\r\n\r\n let value = Infinity;\r\n let nextDetent = detentIndex;\r\n for (let i = 0; i < this.detents.length; i++) {\r\n if (i === detentIndex) continue;\r\n const detent = this.#computeDetent(this.detents[i]);\r\n if (detent === undefined) continue;\r\n if (detent > currentValue && detent < value) {\r\n value = detent;\r\n nextDetent = i;\r\n }\r\n }\r\n return nextDetent;\r\n }\r\n\r\n /** @private */\r\n #getNextLowerDetent(detentIndex: number): number {\r\n const currentValue = this.#computeDetent(this.detents[detentIndex]);\r\n if (currentValue === undefined) return detentIndex;\r\n\r\n let value = -Infinity;\r\n let nextDetent = detentIndex;\r\n for (let i = 0; i < this.detents.length; i++) {\r\n if (i === detentIndex) continue;\r\n const detent = this.#computeDetent(this.detents[i]);\r\n if (detent === undefined) continue;\r\n if (detent < currentValue && detent > value) {\r\n value = detent;\r\n nextDetent = i;\r\n }\r\n }\r\n return nextDetent;\r\n }\r\n\r\n /** @private */\r\n #computeDetent(detent: string): number | undefined {\r\n const value = detent.endsWith(\"px\") ? this.clientWidth / parseFloat(detent) : parseFloat(detent);\r\n return !isNaN(value) ? value : undefined;\r\n }\r\n\r\n /** @private */\r\n #clearSnapAnimation(): void {\r\n this.#snapAnimation?.cancel();\r\n this.#snapAnimation = undefined;\r\n }\r\n\r\n /** @private */\r\n #snapToValue(value: number, emitChange = true): void {\r\n this.#clearSnapAnimation();\r\n\r\n value = Math.max(this.min, Math.min(this.max, value));\r\n if (value === this.value) return;\r\n\r\n if (!prefersReducedMotion()) {\r\n addCustomState(this, \"-animating\");\r\n\r\n this.#snapAnimation = this._base.animate(\r\n [{ \"--_split-pane-value\": `${this.value}%` }, { \"--_split-pane-value\": `${value}%` }],\r\n {\r\n duration: 250,\r\n easing: \"cubic-bezier(0.2, 0.0, 0, 1.0)\",\r\n },\r\n );\r\n this.#snapAnimation.onfinish = () => {\r\n this.#changeValue(value, emitChange);\r\n this.#snapAnimation = undefined;\r\n deleteCustomState(this, \"-animating\");\r\n };\r\n } else {\r\n this.#changeValue(value, emitChange);\r\n }\r\n }\r\n\r\n /** @private */\r\n #cycleDetent(): void {\r\n if (this.detents.length === 0) return;\r\n\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent === -1) return;\r\n\r\n let next = this.#getNextHigherDetent(detent);\r\n if (next === detent && this.wrapDetents) {\r\n next = this.#getClosestDetent(0);\r\n if (next === -1) return;\r\n }\r\n\r\n const value = this.#computeDetent(this.detents[next]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value);\r\n }\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-split-pane\": M3eSplitPaneElement;\r\n }\r\n}\r\n"],"names":["M3eSplitPaneElement","FormAssociated","Disabled","ReconnectedCallback","AttachInternals","LitElement","constructor","_M3eSplitPaneElement_breakpointUnobserve","set","this","_M3eSplitPaneElement_dragPos","_M3eSplitPaneElement_valueChanged","_M3eSplitPaneElement_cachedSize","_M3eSplitPaneElement_snapAnimation","_M3eSplitPaneElement_pressedController","PressedController","target","isPressedKey","key","minPressedDuration","callback","pressed","setCustomState","disabled","_M3eSplitPaneElement_startMutationController","MutationController","config","attributeFilter","__classPrivateFieldGet","_M3eSplitPaneElement_instances","_M3eSplitPaneElement_updatePaneVisibility","call","_M3eSplitPaneElement_endMutationController","value","min","max","step","detents","wrapDetents","orientation","label","valueFormatter","dir","Math","round","currentOrientation","_orientation","WeakMap","WeakSet","formValue","toString","collapse","snapToValue","expand","detent","_M3eSplitPaneElement_getClosestDetent","_M3eSplitPaneElement_computeDetent","_M3eSplitPaneElement_changeValue","_M3eSplitPaneElement_snapToValue","disconnectedCallback","super","_M3eSplitPaneElement_clearOrientation","unobserve","_dragHandle","reconnectedCallback","_M3eSplitPaneElement_initialize","_M3eSplitPaneElement_initBreakpointMonitoring","willUpdate","changedProperties","has","undefined","_M3eSplitPaneElement_updateOrientation","updated","_changedProperties","_base","style","setProperty","firstUpdated","render","html","_M3eSplitPaneElement_handleStartSlotChange","_M3eSplitPaneElement_renderDragHandle","_M3eSplitPaneElement_handleEndSlotChange","ifDefined","M3eDirectionality","current","_M3eSplitPaneElement_handlePointerDown","_M3eSplitPaneElement_handlePointerUp","_M3eSplitPaneElement_handlePointerMove","_M3eSplitPaneElement_handleKeyDown","_M3eSplitPaneElement_cycleDetent","e","_M3eSplitPaneElement_handleSlotChange","slot","mutationController","state","targets","assignedElements","Array","_M3eSplitPaneElement_hasVisibleElements","element","HTMLElement","observe","pane","shadowRoot","querySelector","push","flatten","length","every","x","hasAttribute","__classPrivateFieldSet","M3eBreakpointObserver","Breakpoint","XSmall","matches","get","deleteCustomState","pointerType","button","setPointerCapture","pointerId","clientY","clientX","clientHeight","clientWidth","hasPointerCapture","pos","delta","releasePointerCapture","dispatchEvent","Event","bubbles","composed","ltr","preventDefault","nextDetent","_M3eSplitPaneElement_getNextLowerDetent","_M3eSplitPaneElement_getNextHigherDetent","next","emitChange","_M3eSplitPaneElement_clearSnapAnimation","prev","cancelable","closestDetent","closestDistance","Infinity","i","distance","abs","detentIndex","currentValue","endsWith","parseFloat","isNaN","cancel","prefersReducedMotion","addCustomState","animate","duration","easing","onfinish","registerStyleSheet","css","styles","DesignToken","color","onSurface","unsafeCSS","motion","short4","standard","spring","fastEffects","outline","shape","corner","full","medium","__decorate","prototype","query","property","type","Number","attribute","converter","spaceSeparatedStringConverter","Boolean","customElement"],"mappings":"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"}
package/dist/src/all.d.ts CHANGED
@@ -35,10 +35,12 @@ export * from "./search";
35
35
  export * from "./segmented-button";
36
36
  export * from "./select";
37
37
  export * from "./shape";
38
+ export * from "./skeleton";
38
39
  export * from "./slide-group";
39
40
  export * from "./slider";
40
41
  export * from "./snackbar";
41
42
  export * from "./split-button";
43
+ export * from "./split-pane";
42
44
  export * from "./stepper";
43
45
  export * from "./switch";
44
46
  export * from "./tabs";
@@ -1 +1 @@
1
- {"version":3,"file":"all.d.ts","sourceRoot":"","sources":["../../src/all.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"all.d.ts","sourceRoot":"","sources":["../../src/all.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AutocompleteElement.d.ts","sourceRoot":"","sources":["../../../src/autocomplete/AutocompleteElement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AutocompleteElement.d.ts","sourceRoot":"","sources":["../../../src/autocomplete/AutocompleteElement.ts"],"names":[],"mappings":"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"}
@@ -13,4 +13,5 @@ export * from "./resolveElementById";
13
13
  export * from "./resolveFragmentUrl";
14
14
  export * from "./scrollIntoViewIfNeeded";
15
15
  export * from "./VelocityTracker";
16
+ export * from "./waitForUpgrade";
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/shared/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/shared/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Determines whether an element is a custom element and waits for it to be upgraded.
3
+ * @param {Element} el The element for which to wait for upgrade.
4
+ */
5
+ export declare function waitForUpgrade(el: Element): Promise<void>;
6
+ //# sourceMappingURL=waitForUpgrade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waitForUpgrade.d.ts","sourceRoot":"","sources":["../../../../../src/core/shared/utils/waitForUpgrade.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAsB,cAAc,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB/D"}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectElement.d.ts","sourceRoot":"","sources":["../../../src/select/SelectElement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectElement.d.ts","sourceRoot":"","sources":["../../../src/select/SelectElement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Specifies the possible animation effects that can be applied to a skeleton. */
2
+ export type SkeletonAnimation = "pulse" | "wave" | "none";
3
+ //# sourceMappingURL=SkeletonAnimation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkeletonAnimation.d.ts","sourceRoot":"","sources":["../../../src/skeleton/SkeletonAnimation.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC"}
@@ -0,0 +1,73 @@
1
+ import { CSSResultGroup, LitElement } from "lit";
2
+ import { SkeletonShape } from "./SkeletonShape";
3
+ import { SkeletonAnimation } from "./SkeletonAnimation";
4
+ declare const M3eSkeletonElement_base: import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").ReconnectedCallbackMixin> & typeof LitElement;
5
+ /**
6
+ * A visual placeholder that mimics the layout of content while it's still loading.
7
+ * @description
8
+ * The `m3e-skeleton` component provides a loading placeholder surface with flexible shape variants and
9
+ * motion-based animations that communicate loading state while preserving layout stability. It mimics
10
+ * the layout of content while it's still loading, ensuring a smooth user experience during data fetching
11
+ * or rendering delays. The component supports different animation effects (`pulse`, `wave`, `none`) and
12
+ * shape variants (`circular`, `rounded`, `square`, `auto`) to adapt to various content types. When the
13
+ * content is loaded, the skeleton fades out with a smooth transition.
14
+ *
15
+ * @example
16
+ * The following example illustrates a skeleton shaped and sized by the slotted `m3e-card`.
17
+ * ```html
18
+ * <m3e-skeleton>
19
+ * <m3e-card></m3e-card>
20
+ * </m3e-skeleton>
21
+ * ```
22
+ *
23
+ * @tag m3e-skeleton
24
+ *
25
+ * @attr animation - The animation effect of the skeleton.
26
+ * @attr shape - The shape of the skeleton.
27
+ * @attr loaded - Whether the content of the skeleton has been loaded.
28
+ *
29
+ * @slot - Renders the content to be mimicked by the skeleton.
30
+ *
31
+ * @cssprop --m3e-skeleton-color - Base fill color for the skeleton surface.
32
+ * @cssprop --m3e-skeleton-tint-color - Tint fill color for the skeleton surface.
33
+ * @cssprop --m3e-skeleton-tint-opacity - Tint Opacity applied when the skeleton animation is not pulsating.
34
+ * @cssprop --m3e-skeleton-accent-color - Accent color used in wave animation.
35
+ * @cssprop --m3e-skeleton-accent-opacity - Opacity of the accent effect in animations.
36
+ * @cssprop --m3e-skeleton-rounded-shape - Corner radius for the rounded skeleton shape.
37
+ * @cssprop --m3e-skeleton-circular-shape - Corner radius for the circular skeleton shape.
38
+ * @cssprop --m3e-skeleton-square-shape - Corner radius for the square skeleton shape.
39
+ * @cssprop --m3e-skeleton-shape - Corner radius for the skeleton shape.
40
+ */
41
+ export declare class M3eSkeletonElement extends M3eSkeletonElement_base {
42
+ #private;
43
+ /** The styles of the element. */
44
+ static styles: CSSResultGroup;
45
+ /**
46
+ * The shape of the skeleton.
47
+ * @default "auto"
48
+ */
49
+ shape: SkeletonShape;
50
+ /**
51
+ * The animation effect of the skeleton.
52
+ * @default "wave"
53
+ */
54
+ animation: SkeletonAnimation;
55
+ /**
56
+ * Whether the content of the skeleton has been loaded.
57
+ * @default false
58
+ */
59
+ loaded: boolean;
60
+ /** @inheritdoc */
61
+ disconnectedCallback(): void;
62
+ /** @inheritdoc */
63
+ reconnectedCallback(): void;
64
+ /** @inheritdoc */
65
+ protected render(): unknown;
66
+ }
67
+ declare global {
68
+ interface HTMLElementTagNameMap {
69
+ "m3e-skeleton": M3eSkeletonElement;
70
+ }
71
+ }
72
+ export {};
73
+ //# sourceMappingURL=SkeletonElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkeletonElement.d.ts","sourceRoot":"","sources":["../../../src/skeleton/SkeletonElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAa,MAAM,KAAK,CAAC;AAMvE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,qBACa,kBAAmB,SAAQ,uBAA+B;;IACrE,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CAwGpC;IAIF;;;OAGG;IAC0B,KAAK,EAAE,aAAa,CAAU;IAE3D;;;OAGG;IAC0B,SAAS,EAAE,iBAAiB,CAAU;IAEnE;;;OAGG;IACyC,MAAM,UAAS;IAE3D,kBAAkB;IACT,oBAAoB,IAAI,IAAI;IAKrC,kBAAkB;IACT,mBAAmB,IAAI,IAAI;IAKpC,kBAAkB;cACC,MAAM,IAAI,OAAO;CAoErC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,kBAAkB,CAAC;KACpC;CACF"}
@@ -0,0 +1,3 @@
1
+ /** Specifies the possible shapes of a skeleton. */
2
+ export type SkeletonShape = "circular" | "rounded" | "square" | "auto";
3
+ //# sourceMappingURL=SkeletonShape.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkeletonShape.d.ts","sourceRoot":"","sources":["../../../src/skeleton/SkeletonShape.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./SkeletonAnimation";
2
+ export * from "./SkeletonElement";
3
+ export * from "./SkeletonShape";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/skeleton/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}