@m3e/web 2.5.0 → 2.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/all.js +35 -19
- package/dist/all.js.map +1 -1
- package/dist/all.min.js +41 -41
- package/dist/all.min.js.map +1 -1
- package/dist/breadcrumb.js +1 -0
- package/dist/breadcrumb.js.map +1 -1
- package/dist/breadcrumb.min.js.map +1 -1
- package/dist/button.js +1 -1
- package/dist/button.js.map +1 -1
- package/dist/button.min.js +1 -1
- package/dist/button.min.js.map +1 -1
- package/dist/calendar.js +6 -2
- package/dist/calendar.js.map +1 -1
- package/dist/calendar.min.js +1 -1
- package/dist/calendar.min.js.map +1 -1
- package/dist/content-pane.js +2 -2
- package/dist/content-pane.js.map +1 -1
- package/dist/content-pane.min.js +1 -1
- package/dist/content-pane.min.js.map +1 -1
- package/dist/core.js +2 -0
- package/dist/core.js.map +1 -1
- package/dist/core.min.js.map +1 -1
- package/dist/css-custom-data.json +237 -237
- package/dist/custom-elements.json +2671 -2631
- package/dist/html-custom-data.json +175 -175
- package/dist/icon-button.js +1 -1
- package/dist/icon-button.js.map +1 -1
- package/dist/icon-button.min.js +1 -1
- package/dist/icon-button.min.js.map +1 -1
- package/dist/nav-bar.js +7 -4
- package/dist/nav-bar.js.map +1 -1
- package/dist/nav-bar.min.js +1 -1
- package/dist/nav-bar.min.js.map +1 -1
- package/dist/nav-menu.js +6 -5
- package/dist/nav-menu.js.map +1 -1
- package/dist/nav-menu.min.js +1 -1
- package/dist/nav-menu.min.js.map +1 -1
- package/dist/search.js +2 -2
- package/dist/search.js.map +1 -1
- package/dist/search.min.js +1 -1
- package/dist/search.min.js.map +1 -1
- package/dist/slider.js +2 -0
- package/dist/slider.js.map +1 -1
- package/dist/slider.min.js.map +1 -1
- package/dist/split-pane.js +3 -3
- package/dist/split-pane.js.map +1 -1
- package/dist/split-pane.min.js +1 -1
- package/dist/split-pane.min.js.map +1 -1
- package/dist/src/breadcrumb/BreadcrumbItemElement.d.ts +1 -0
- package/dist/src/breadcrumb/BreadcrumbItemElement.d.ts.map +1 -1
- package/dist/src/button/styles/ButtonStyle.d.ts.map +1 -1
- package/dist/src/calendar/MonthViewElement.d.ts.map +1 -1
- package/dist/src/content-pane/ContentPaneElement.d.ts.map +1 -1
- package/dist/src/core/shared/primitives/SlideElement.d.ts +2 -0
- package/dist/src/core/shared/primitives/SlideElement.d.ts.map +1 -1
- package/dist/src/icon-button/styles/IconButtonStyle.d.ts.map +1 -1
- package/dist/src/nav-bar/NavItemElement.d.ts.map +1 -1
- package/dist/src/nav-menu/NavMenuElement.d.ts.map +1 -1
- package/dist/src/nav-menu/NavMenuItemElement.d.ts.map +1 -1
- package/dist/src/slider/SliderElement.d.ts +2 -0
- package/dist/src/slider/SliderElement.d.ts.map +1 -1
- package/dist/src/split-pane/SplitPaneElement.d.ts.map +1 -1
- package/dist/src/theme/ThemeElement.d.ts +2 -0
- package/dist/src/theme/ThemeElement.d.ts.map +1 -1
- package/dist/src/tree/TreeElement.d.ts.map +1 -1
- package/dist/theme.js +2 -0
- package/dist/theme.js.map +1 -1
- package/dist/theme.min.js.map +1 -1
- package/dist/tree.js +5 -4
- package/dist/tree.js.map +1 -1
- package/dist/tree.min.js +1 -1
- package/dist/tree.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +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 overshoot-limit - A fractional value, between 0 and 100, indicating the maximum visual overshoot allowed when dragging past the minimum or maximum size.\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 */ #dragState?: { startPos: number; startValue: number; cachedSize: number; min: number; max: number };\r\n /** @private */ #valueChanged = false;\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 maximum visual overshoot allowed when dragging past the minimum or maximum size.\r\n * @default 4\r\n */\r\n @property({ attribute: \"overshoot-limit\", type: Number }) overshootLimit = 4;\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\r\n let min = this.min;\r\n if (min === 0 && this.detents.length > 0) {\r\n const detent = this.#getClosestDetent(0);\r\n if (detent > -1) {\r\n min = this.#computeDetent(this.detents[detent]) ?? this.min;\r\n }\r\n }\r\n\r\n let max = this.max;\r\n if (max === 100 && this.detents.length > 0) {\r\n const detent = this.#getClosestDetent(100);\r\n if (detent > -1) {\r\n max = this.#computeDetent(this.detents[detent]) ?? this.max;\r\n }\r\n }\r\n\r\n this.#dragState = {\r\n startPos: this.currentOrientation === \"vertical\" ? e.clientY : e.clientX,\r\n startValue: this.value,\r\n cachedSize: this.currentOrientation === \"vertical\" ? this.clientHeight : this.clientWidth,\r\n min,\r\n max,\r\n };\r\n }\r\n\r\n /** @private */\r\n #handlePointerMove(e: PointerEvent): void {\r\n if (!this._dragHandle.hasPointerCapture(e.pointerId) || !this.#dragState) return;\r\n\r\n const pos = this.currentOrientation === \"vertical\" ? e.clientY : e.clientX;\r\n\r\n let delta =\r\n this.#dragState.cachedSize > 0 ? ((pos - this.#dragState.startPos) / this.#dragState.cachedSize) * 100 : 0;\r\n if (M3eDirectionality.current === \"rtl\" && this.currentOrientation !== \"vertical\") {\r\n delta = -delta;\r\n }\r\n\r\n let value = this.#dragState.startValue + delta;\r\n if (value < this.#dragState.min) {\r\n const overshoot = this.#dragState.min - value;\r\n const compressed = (this.overshootLimit * overshoot) / (overshoot + this.overshootLimit);\r\n value = this.#dragState.min - compressed;\r\n } else if (value > this.#dragState.max) {\r\n const overshoot = value - this.#dragState.max;\r\n const compressed = (this.overshootLimit * overshoot) / (overshoot + this.overshootLimit);\r\n value = this.#dragState.max + compressed;\r\n }\r\n\r\n if (this.#changeValue(value, false, true)) {\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.#dragState = undefined;\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 } else if (this.value < this.min) {\r\n this.#snapToValue(this.min, false);\r\n } else if (this.value > this.max) {\r\n this.#snapToValue(this.max, false);\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, allowOvershoot = false): boolean {\r\n this.#clearSnapAnimation();\r\n\r\n if (!allowOvershoot) {\r\n value = Math.max(this.min, Math.min(this.max, value));\r\n }\r\n\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_dragState","_M3eSplitPaneElement_valueChanged","_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","overshootLimit","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","startPos","clientY","clientX","startValue","cachedSize","clientHeight","clientWidth","hasPointerCapture","pos","delta","overshoot","compressed","releasePointerCapture","dispatchEvent","Event","bubbles","composed","ltr","preventDefault","nextDetent","_M3eSplitPaneElement_getNextLowerDetent","_M3eSplitPaneElement_getNextHigherDetent","next","emitChange","allowOvershoot","_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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"}
|
|
1
|
+
{"version":3,"file":"split-pane.min.js","sources":["../../src/split-pane/SplitPaneElement.ts"],"sourcesContent":["import { css, CSSResultGroup, html, LitElement, nothing, 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 overshoot-limit - A fractional value, between 0 and 100, indicating the maximum visual overshoot allowed when dragging past the minimum or maximum size.\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)) .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(: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 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 */ #dragState?: { startPos: number; startValue: number; cachedSize: number; min: number; max: number };\r\n /** @private */ #valueChanged = false;\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 maximum visual overshoot allowed when dragging past the minimum or maximum size.\r\n * @default 4\r\n */\r\n @property({ attribute: \"overshoot-limit\", type: Number }) overshootLimit = 4;\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 tabindex=\"${ifDefined(this.disabled ? undefined : 0)}\"\r\n aria-label=\"${this.label}\"\r\n aria-controls=\"start\"\r\n aria-disabled=\"${ifDefined(this.disabled ? \"true\" : undefined)}\"\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 ${this.disabled\r\n ? nothing\r\n : html`<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\r\n let min = this.min;\r\n if (min === 0 && this.detents.length > 0) {\r\n const detent = this.#getClosestDetent(0);\r\n if (detent > -1) {\r\n min = this.#computeDetent(this.detents[detent]) ?? this.min;\r\n }\r\n }\r\n\r\n let max = this.max;\r\n if (max === 100 && this.detents.length > 0) {\r\n const detent = this.#getClosestDetent(100);\r\n if (detent > -1) {\r\n max = this.#computeDetent(this.detents[detent]) ?? this.max;\r\n }\r\n }\r\n\r\n this.#dragState = {\r\n startPos: this.currentOrientation === \"vertical\" ? e.clientY : e.clientX,\r\n startValue: this.value,\r\n cachedSize: this.currentOrientation === \"vertical\" ? this.clientHeight : this.clientWidth,\r\n min,\r\n max,\r\n };\r\n }\r\n\r\n /** @private */\r\n #handlePointerMove(e: PointerEvent): void {\r\n if (!this._dragHandle.hasPointerCapture(e.pointerId) || !this.#dragState) return;\r\n\r\n const pos = this.currentOrientation === \"vertical\" ? e.clientY : e.clientX;\r\n\r\n let delta =\r\n this.#dragState.cachedSize > 0 ? ((pos - this.#dragState.startPos) / this.#dragState.cachedSize) * 100 : 0;\r\n if (M3eDirectionality.current === \"rtl\" && this.currentOrientation !== \"vertical\") {\r\n delta = -delta;\r\n }\r\n\r\n let value = this.#dragState.startValue + delta;\r\n if (value < this.#dragState.min) {\r\n const overshoot = this.#dragState.min - value;\r\n const compressed = (this.overshootLimit * overshoot) / (overshoot + this.overshootLimit);\r\n value = this.#dragState.min - compressed;\r\n } else if (value > this.#dragState.max) {\r\n const overshoot = value - this.#dragState.max;\r\n const compressed = (this.overshootLimit * overshoot) / (overshoot + this.overshootLimit);\r\n value = this.#dragState.max + compressed;\r\n }\r\n\r\n if (this.#changeValue(value, false, true)) {\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.#dragState = undefined;\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 } else if (this.value < this.min) {\r\n this.#snapToValue(this.min, false);\r\n } else if (this.value > this.max) {\r\n this.#snapToValue(this.max, false);\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, allowOvershoot = false): boolean {\r\n this.#clearSnapAnimation();\r\n\r\n if (!allowOvershoot) {\r\n value = Math.max(this.min, Math.min(this.max, value));\r\n }\r\n\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_dragState","_M3eSplitPaneElement_valueChanged","_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","overshootLimit","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","nothing","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","startPos","clientY","clientX","startValue","cachedSize","clientHeight","clientWidth","hasPointerCapture","pos","delta","overshoot","compressed","releasePointerCapture","dispatchEvent","Event","bubbles","composed","ltr","preventDefault","nextDetent","_M3eSplitPaneElement_getNextLowerDetent","_M3eSplitPaneElement_getNextHigherDetent","next","emitChange","allowOvershoot","_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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"}
|
|
@@ -13,6 +13,7 @@ declare const M3eBreadcrumbItemElement_base: import("../core/shared/mixins/Const
|
|
|
13
13
|
* @tag m3e-breadcrumb-item
|
|
14
14
|
*
|
|
15
15
|
* @slot - Renders the content of the breadcrumb item.
|
|
16
|
+
* @slot icon - Renders an icon before the item's label.
|
|
16
17
|
*
|
|
17
18
|
* @attr item-label - The accessible label used by the internal breadcrumb button.
|
|
18
19
|
* @attr disabled - Whether the breadcrumb item is disabled.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BreadcrumbItemElement.d.ts","sourceRoot":"","sources":["../../../src/breadcrumb/BreadcrumbItemElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAW,cAAc,EAAE,MAAM,KAAK,CAAC;AAOrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,+BAA+B,CAAC;;AAEvC
|
|
1
|
+
{"version":3,"file":"BreadcrumbItemElement.d.ts","sourceRoot":"","sources":["../../../src/breadcrumb/BreadcrumbItemElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAW,cAAc,EAAE,MAAM,KAAK,CAAC;AAOrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,+BAA+B,CAAC;;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,qBACa,wBAAyB,SAAQ,6BAA+D;;IAC3G,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CA8BpC;IAEF,eAAe,CAAmB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAG5F;;;OAGG;IACoC,SAAS,SAAM;IAEtD;;;OAGG;IACyC,QAAQ,UAAS;IAE7D;;;OAGG;IAC0B,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAE7D,kBAAkB;IACT,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAI5C,kBAAkB;IACT,IAAI,IAAI,IAAI;IAIrB,kBAAkB;IACT,KAAK,IAAI,IAAI;IAItB,kBAAkB;cACC,OAAO,CAAC,kBAAkB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAO1E,kBAAkB;cACC,MAAM,IAAI,OAAO;IA8CpC,gBAAgB;IAChB,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC;CAcjC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,qBAAqB,EAAE,wBAAwB,CAAC;KACjD;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonStyle.d.ts","sourceRoot":"","sources":["../../../../src/button/styles/ButtonStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAa,MAAM,KAAK,CAAC;AAIrD;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"ButtonStyle.d.ts","sourceRoot":"","sources":["../../../../src/button/styles/ButtonStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAa,MAAM,KAAK,CAAC;AAIrD;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,cA+LzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MonthViewElement.d.ts","sourceRoot":"","sources":["../../../src/calendar/MonthViewElement.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAO,cAAc,EAAiB,MAAM,KAAK,CAAC;AAQzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAWpE;;;GAGG;AACH,qBACa,mBAAoB,SAAQ,uBAAuB;;IAC9D,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CAyHpC;IAEF,gBAAgB,CAAC,uBAAuB,UAAQ;IAEhD,6BAA6B;IACqC,UAAU,EAAE,IAAI,GAAG,IAAI,CAAQ;IAEjG,2BAA2B;IACqC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAQ;IAE7F,sEAAsE;IACtC,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,GAAG,IAAI,CAAQ;IAEvF,8DAA8D;IAC9B,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,GAAG,IAAI,CAAQ;IAEtF,kBAAkB;cACC,MAAM,IAAI,OAAO;
|
|
1
|
+
{"version":3,"file":"MonthViewElement.d.ts","sourceRoot":"","sources":["../../../src/calendar/MonthViewElement.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAO,cAAc,EAAiB,MAAM,KAAK,CAAC;AAQzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAWpE;;;GAGG;AACH,qBACa,mBAAoB,SAAQ,uBAAuB;;IAC9D,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CAyHpC;IAEF,gBAAgB,CAAC,uBAAuB,UAAQ;IAEhD,6BAA6B;IACqC,UAAU,EAAE,IAAI,GAAG,IAAI,CAAQ;IAEjG,2BAA2B;IACqC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAQ;IAE7F,sEAAsE;IACtC,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,GAAG,IAAI,CAAQ;IAEvF,8DAA8D;IAC9B,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,GAAG,IAAI,CAAQ;IAEtF,kBAAkB;cACC,MAAM,IAAI,OAAO;CAqQrC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentPaneElement.d.ts","sourceRoot":"","sources":["../../../src/content-pane/ContentPaneElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"ContentPaneElement.d.ts","sourceRoot":"","sources":["../../../src/content-pane/ContentPaneElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAa,MAAM,KAAK,CAAC;;AAIvF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBACa,qBAAsB,SAAQ,0BAA+B;;IACxE,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CAqCpC;IAEF,kBAAkB;IACT,mBAAmB,IAAI,IAAI;IAKpC,kBAAkB;cACC,YAAY,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;IAKzE,kBAAkB;cACC,MAAM,IAAI,OAAO;CAmBrC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,qBAAqB,CAAC;KAC3C;CACF"}
|
|
@@ -18,6 +18,8 @@ declare const M3eSlideElement_base: import("../mixins/Constructor").Constructor<
|
|
|
18
18
|
*
|
|
19
19
|
* @tag m3e-slide
|
|
20
20
|
*
|
|
21
|
+
* @slot - Renders the items through which to cycle.
|
|
22
|
+
*
|
|
21
23
|
* @attr selected-index - The zero-based index of the visible item.
|
|
22
24
|
*
|
|
23
25
|
* @cssprop --m3e-slide-animation-duration - The duration of transitions between slotted items.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlideElement.d.ts","sourceRoot":"","sources":["../../../../../src/core/shared/primitives/SlideElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAa,MAAM,KAAK,CAAC;;AAOvF
|
|
1
|
+
{"version":3,"file":"SlideElement.d.ts","sourceRoot":"","sources":["../../../../../src/core/shared/primitives/SlideElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAa,MAAM,KAAK,CAAC;;AAOvF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBACa,eAAgB,SAAQ,oBAA2B;;IAC9D,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CAqCpC;IAIF;;;OAGG;IACqE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE5G,kBAAkB;IACT,iBAAiB,IAAI,IAAI;IAKlC,kBAAkB;cACC,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAoBxE,kBAAkB;cACC,MAAM,IAAI,OAAO;CA2BrC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,eAAe,CAAC;KAC9B;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButtonStyle.d.ts","sourceRoot":"","sources":["../../../../src/icon-button/styles/IconButtonStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAa,MAAM,KAAK,CAAC;AAIrD;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"IconButtonStyle.d.ts","sourceRoot":"","sources":["../../../../src/icon-button/styles/IconButtonStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAa,MAAM,KAAK,CAAC;AAIrD;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,cA4K7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavItemElement.d.ts","sourceRoot":"","sources":["../../../src/nav-bar/NavItemElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAW,cAAc,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"NavItemElement.d.ts","sourceRoot":"","sources":["../../../src/nav-bar/NavItemElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAW,cAAc,EAAE,MAAM,KAAK,CAAC;AAwBrF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AACH,qBACa,iBAAkB,SAAQ,sBAEtC;;IACC,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CA6OpC;IAGF,eAAe,CAAuB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAsB;IACxF,eAAe,CAAwB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAuB;IAC3F,eAAe,CAAmB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAmB;IAE9E;;;OAGG;IAC0B,WAAW,EAAE,kBAAkB,CAAc;IAE1E,qDAAqD;IACrD,IAAI,MAAM,IAAI,gBAAgB,GAAG,IAAI,CAEpC;IAED,kBAAkB;IACT,iBAAiB,IAAI,IAAI;IAKlC,kBAAkB;IACT,oBAAoB,IAAI,IAAI;IAKrC,kBAAkB;cACC,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAcxE,kBAAkB;cACC,OAAO,CAAC,kBAAkB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQ1E,kBAAkB;cACC,YAAY,CAAC,kBAAkB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAK/E,kBAAkB;cACC,MAAM,IAAI,OAAO;CA4CrC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,iBAAiB,CAAC;KACnC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavMenuElement.d.ts","sourceRoot":"","sources":["../../../src/nav-menu/NavMenuElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"NavMenuElement.d.ts","sourceRoot":"","sources":["../../../src/nav-menu/NavMenuElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAa5D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwEG;AACH,qBACa,iBAAkB,SAAQ,sBAAwB;;IAU7D,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CAsBpC;IAEF,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAK;IAI5C,eAAe;IACf,QAAQ,CAAC,CAAC,gBAAgB,CAAC,0CAsBtB;;IAmBL,qCAAqC;IACrC,IAAI,QAAQ,IAAI,qBAAqB,GAAG,IAAI,CAE3C;IAED,iCAAiC;IACjC,IAAI,KAAK,IAAI,SAAS,qBAAqB,EAAE,CAE5C;IAED;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI;IAEnC;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,qBAAqB,EAAE,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI;IASnE;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI;IAErC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,qBAAqB,EAAE,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI;IAmBrE,kBAAkB;IACT,iBAAiB,IAAI,IAAI;IAUlC,kBAAkB;IACT,oBAAoB,IAAI,IAAI;IAQrC,kBAAkB;cACC,MAAM,IAAI,OAAO;CA+JrC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,iBAAiB,CAAC;KACnC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavMenuItemElement.d.ts","sourceRoot":"","sources":["../../../src/nav-menu/NavMenuItemElement.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAa,MAAM,KAAK,CAAC;AAIvF,OAAO,EAQL,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EAKrB,MAAM,eAAe,CAAC;;AAMvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+GG;AACH,qBACa,qBAAsB,SAAQ,0BAI1C;;IAgBC,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"NavMenuItemElement.d.ts","sourceRoot":"","sources":["../../../src/nav-menu/NavMenuItemElement.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,8 @@ declare const M3eSliderElement_base: import("../core/shared/mixins/Constructor")
|
|
|
29
29
|
*
|
|
30
30
|
* @tag m3e-slider
|
|
31
31
|
*
|
|
32
|
+
* @slot - Renders the thumbs of the slider.
|
|
33
|
+
*
|
|
32
34
|
* @attr disabled - Whether the element is disabled.
|
|
33
35
|
* @attr discrete - Whether to show tick marks.
|
|
34
36
|
* @attr labelled - Whether to show value labels when activated.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SliderElement.d.ts","sourceRoot":"","sources":["../../../src/slider/SliderElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAa,MAAM,KAAK,CAAC;AAkBvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;;AAE1C
|
|
1
|
+
{"version":3,"file":"SliderElement.d.ts","sourceRoot":"","sources":["../../../src/slider/SliderElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAa,MAAM,KAAK,CAAC;AAkBvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AACH,qBACa,gBAAiB,SAAQ,qBAA2B;;IAC/D,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CA+QpC;IAIF,eAAe;IACC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAc;IAErD,eAAe;IACN,OAAO,CAAC,MAAM,CAAmD;;IAa1E;;;OAGG;IAC0B,IAAI,EAAE,UAAU,CAAiB;IAE9D;;;OAGG;IACyC,QAAQ,UAAS;IAE7D;;;OAGG;IACyC,QAAQ,UAAS;IAE7D;;;OAGG;IACyB,GAAG,SAAK;IAEpC;;;OAGG;IACyB,GAAG,SAAO;IAEtC;;;OAGG;IACyB,IAAI,SAAK;IAErC;;;OAGG;IAC0B,QAAQ,UAAS;IAE9C,kDAAkD;IAClB,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC,GAAG,IAAI,CAAQ;IAE9F,wCAAwC;IACxC,IAAI,MAAM,IAAI,SAAS,qBAAqB,EAAE,CAE7C;IAED,4CAA4C;IAC5C,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,wCAAwC;IACxC,IAAI,KAAK,IAAI,qBAAqB,GAAG,IAAI,CAExC;IAED,kEAAkE;IAClE,IAAI,UAAU,IAAI,qBAAqB,GAAG,IAAI,CAE7C;IAED,kEAAkE;IAClE,IAAI,UAAU,IAAI,qBAAqB,GAAG,IAAI,CAE7C;IAED,kBAAkB;IACT,iBAAiB,IAAI,IAAI;IASlC,kBAAkB;IACT,oBAAoB,IAAI,IAAI;IAKrC,kBAAkB;cACC,OAAO,CAAC,kBAAkB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQ1E,kBAAkB;cACC,MAAM,IAAI,OAAO;CA8VrC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,gBAAgB,CAAC;KAChC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SplitPaneElement.d.ts","sourceRoot":"","sources":["../../../src/split-pane/SplitPaneElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,
|
|
1
|
+
{"version":3,"file":"SplitPaneElement.d.ts","sourceRoot":"","sources":["../../../src/split-pane/SplitPaneElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAW,cAAc,EAAa,MAAM,KAAK,CAAC;AAIhG,OAAO,EAQL,SAAS,EAQV,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,SAAS,EAAqB,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AACH,qBACa,mBAAoB,SAAQ,wBAA0E;;IAUjH,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CAiHpC;IAEF,eAAe,CAAU,YAAY,CAAC,EAAE,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;IAG9E,eAAe,CAAiB,OAAO,CAAC,KAAK,CAAe;IAC5D,eAAe,CAAwB,OAAO,CAAC,WAAW,CAAe;IA4BzE;;;OAGG;IACyB,KAAK,SAAM;IAEvC;;;OAGG;IACyB,GAAG,SAAK;IAEpC;;;OAGG;IACyB,GAAG,SAAO;IAEtC;;;OAGG;IACuD,cAAc,SAAK;IAE7E;;;OAGG;IACyB,IAAI,SAAK;IAErC;;;OAGG;IAC2E,OAAO,EAAE,MAAM,EAAE,CAAM;IAErG;;;OAGG;IACqD,WAAW,UAAS;IAE5E;;;OAGG;IACS,WAAW,EAAE,oBAAoB,CAAgB;IAE7D;;;OAGG;IACS,KAAK,EAAE,MAAM,CAAkB;IAE3C,uHAAuH;IAC3G,cAAc,CAAC,EAAE,CAC3B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,EAC/C,GAAG,EAAE,SAAS,KACX,MAAM,GAAG,SAAS,CA0BrB;IAEF,4CAA4C;IAC5C,IAAI,kBAAkB,IAAI,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAE9D;IAED,kBAAkB;IAClB,IAAa,CAAC,SAAS,CAAC,IAAI,MAAM,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,CAE1D;IAED;;;OAGG;IACH,QAAQ,IAAI,IAAI;IAIhB;;;OAGG;IACH,MAAM,IAAI,IAAI;IAId;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAUhC,kBAAkB;IACT,oBAAoB,IAAI,IAAI;IAOrC,kBAAkB;IACT,mBAAmB,IAAI,IAAI;IAUpC,kBAAkB;cACC,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAe5E,kBAAkB;cACC,OAAO,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;IAOpE,kBAAkB;cACC,YAAY,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;IAKzE,kBAAkB;cACC,MAAM,IAAI,OAAO;CA2drC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;CACF"}
|
|
@@ -29,6 +29,8 @@ import { MotionScheme } from "./MotionScheme";
|
|
|
29
29
|
* ```
|
|
30
30
|
* @tag m3e-theme
|
|
31
31
|
*
|
|
32
|
+
* @slot - Renders content styled by the theme.
|
|
33
|
+
*
|
|
32
34
|
* @attr color - The hex color from which to derive dynamic color palettes.
|
|
33
35
|
* @attr contrast - The contrast level of the theme.
|
|
34
36
|
* @attr density - The density scale (0, -1, -2).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeElement.d.ts","sourceRoot":"","sources":["../../../src/theme/ThemeElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAc5E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C
|
|
1
|
+
{"version":3,"file":"ThemeElement.d.ts","sourceRoot":"","sources":["../../../src/theme/ThemeElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAc5E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,qBACa,eAAgB,SAAQ,UAAU;;IAC7C,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CAQpC;IAUF;;;OAGG;IACS,KAAK,SAAa;IAE9B;;;OAGG;IACS,MAAM,EAAE,WAAW,CAAU;IAEzC;;;OAGG;IACS,QAAQ,EAAE,aAAa,CAAc;IAEjD;;;OAGG;IACqD,WAAW,UAAS;IAE5E;;;OAGG;IACyB,OAAO,SAAK;IAExC;;OAEG;IACS,MAAM,EAAE,YAAY,CAAc;IAE9C,uCAAuC;IACvC,IAAI,MAAM,IAAI,OAAO,CAiBpB;IAED,kBAAkB;IACT,iBAAiB,IAAI,IAAI;IAgBlC,kBAAkB;IACT,oBAAoB,IAAI,IAAI;IASrC,kBAAkB;cACC,OAAO,CAAC,kBAAkB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQ1E,kBAAkB;cACC,YAAY,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;IAKzE,kBAAkB;cACC,MAAM,IAAI,OAAO;CAyGrC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,eAAe,CAAC;KAC9B;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeElement.d.ts","sourceRoot":"","sources":["../../../src/tree/TreeElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAa,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"TreeElement.d.ts","sourceRoot":"","sources":["../../../src/tree/TreeElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAa,MAAM,KAAK,CAAC;AAcvF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0EG;AACH,qBACa,cAAe,SAAQ,mBAAwB;;IAU1D,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CAkBpC;IAEF,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAK;IAI5C,eAAe;IACf,QAAQ,CAAC,CAAC,gBAAgB,CAAC,uCAWtB;;IAmBL;;;OAGG;IACyC,KAAK,UAAS;IAE1D;;;OAGG;IACyC,OAAO,UAAS;IAE5D,sCAAsC;IACtC,IAAI,QAAQ,IAAI,SAAS,kBAAkB,EAAE,CAE5C;IAED,iCAAiC;IACjC,IAAI,KAAK,IAAI,SAAS,kBAAkB,EAAE,CAEzC;IAED;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI;IAEnC;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI;IAShE;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI;IAErC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI;IAmBlE;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,kBAAkB,EAAE,QAAQ,GAAE,OAAe,GAAG,IAAI;IAgBjE;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI;IAaxC,kBAAkB;IACT,iBAAiB,IAAI,IAAI;IAUlC,kBAAkB;IACT,oBAAoB,IAAI,IAAI;IAQrC,kBAAkB;cACC,UAAU,CAAC,kBAAkB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAa7E,kBAAkB;cACC,MAAM,IAAI,OAAO;CAsMrC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,cAAc,CAAC;KAC5B;CACF"}
|
package/dist/theme.js
CHANGED
|
@@ -3091,6 +3091,8 @@ var _M3eThemeElement_instances, _M3eThemeElement_styleSheet, _M3eThemeElement_fi
|
|
|
3091
3091
|
* ```
|
|
3092
3092
|
* @tag m3e-theme
|
|
3093
3093
|
*
|
|
3094
|
+
* @slot - Renders content styled by the theme.
|
|
3095
|
+
*
|
|
3094
3096
|
* @attr color - The hex color from which to derive dynamic color palettes.
|
|
3095
3097
|
* @attr contrast - The contrast level of the theme.
|
|
3096
3098
|
* @attr density - The density scale (0, -1, -2).
|