@m3e/web 2.2.1 → 2.3.0
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/README.md +2 -0
- package/dist/all.js +782 -5
- package/dist/all.js.map +1 -1
- package/dist/all.min.js +45 -45
- package/dist/all.min.js.map +1 -1
- package/dist/calendar.js +4 -2
- package/dist/calendar.js.map +1 -1
- package/dist/calendar.min.js +3 -3
- package/dist/calendar.min.js.map +1 -1
- package/dist/core.js +22 -1
- package/dist/core.js.map +1 -1
- package/dist/core.min.js +1 -1
- package/dist/core.min.js.map +1 -1
- package/dist/css-custom-data.json +733 -603
- package/dist/custom-elements.json +8398 -7000
- package/dist/datepicker.js +3 -1
- package/dist/datepicker.js.map +1 -1
- package/dist/datepicker.min.js +1 -1
- package/dist/datepicker.min.js.map +1 -1
- package/dist/html-custom-data.json +293 -205
- package/dist/skeleton.js +153 -0
- package/dist/skeleton.js.map +1 -0
- package/dist/skeleton.min.js +7 -0
- package/dist/skeleton.min.js.map +1 -0
- package/dist/split-pane.js +627 -0
- package/dist/split-pane.js.map +1 -0
- package/dist/split-pane.min.js +7 -0
- package/dist/split-pane.min.js.map +1 -0
- package/dist/src/all.d.ts +2 -0
- package/dist/src/all.d.ts.map +1 -1
- package/dist/src/calendar/CalendarElement.d.ts +2 -0
- package/dist/src/calendar/CalendarElement.d.ts.map +1 -1
- package/dist/src/calendar/CalendarViewElementBase.d.ts.map +1 -1
- package/dist/src/calendar/MonthViewElement.d.ts.map +1 -1
- package/dist/src/core/shared/utils/index.d.ts +1 -0
- package/dist/src/core/shared/utils/index.d.ts.map +1 -1
- package/dist/src/core/shared/utils/waitForUpgrade.d.ts +6 -0
- package/dist/src/core/shared/utils/waitForUpgrade.d.ts.map +1 -0
- package/dist/src/datepicker/DatepickerElement.d.ts +2 -0
- package/dist/src/datepicker/DatepickerElement.d.ts.map +1 -1
- package/dist/src/skeleton/SkeletonAnimation.d.ts +3 -0
- package/dist/src/skeleton/SkeletonAnimation.d.ts.map +1 -0
- package/dist/src/skeleton/SkeletonElement.d.ts +73 -0
- package/dist/src/skeleton/SkeletonElement.d.ts.map +1 -0
- package/dist/src/skeleton/SkeletonShape.d.ts +3 -0
- package/dist/src/skeleton/SkeletonShape.d.ts.map +1 -0
- package/dist/src/skeleton/index.d.ts +4 -0
- package/dist/src/skeleton/index.d.ts.map +1 -0
- package/dist/src/split-pane/SplitPaneElement.d.ts +163 -0
- package/dist/src/split-pane/SplitPaneElement.d.ts.map +1 -0
- package/dist/src/split-pane/SplitPaneOrientation.d.ts +3 -0
- package/dist/src/split-pane/SplitPaneOrientation.d.ts.map +1 -0
- package/dist/src/split-pane/index.d.ts +3 -0
- package/dist/src/split-pane/index.d.ts.map +1 -0
- 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":"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"}
|
|
@@ -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";
|
package/dist/src/all.d.ts.map
CHANGED
|
@@ -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"}
|
|
@@ -60,6 +60,7 @@ import "./YearViewElement";
|
|
|
60
60
|
* @cssprop --m3e-calendar-weekday-font-weight - Font weight of weekday labels in month view.
|
|
61
61
|
* @cssprop --m3e-calendar-weekday-line-height - Line height of weekday labels in month view.
|
|
62
62
|
* @cssprop --m3e-calendar-weekday-tracking - Letter spacing of weekday labels in month view.
|
|
63
|
+
* @cssprop --m3e-calendar-weekday-color - Text color for weekday labels in month view.
|
|
63
64
|
* @cssprop --m3e-calendar-date-font-size - Font size of date cells in month view.
|
|
64
65
|
* @cssprop --m3e-calendar-date-font-weight - Font weight of date cells in month view.
|
|
65
66
|
* @cssprop --m3e-calendar-date-line-height - Line height of date cells in month view.
|
|
@@ -68,6 +69,7 @@ import "./YearViewElement";
|
|
|
68
69
|
* @cssprop --m3e-calendar-item-font-weight - Font weight of items in year and multi‑year views.
|
|
69
70
|
* @cssprop --m3e-calendar-item-line-height - Line height of items in year and multi‑year views.
|
|
70
71
|
* @cssprop --m3e-calendar-item-tracking - Letter spacing of items in year and multi‑year views.
|
|
72
|
+
* @cssprop --m3e-calendar-item-color - Text color for date items.
|
|
71
73
|
* @cssprop --m3e-calendar-item-selected-color - Text color for selected date items.
|
|
72
74
|
* @cssprop --m3e-calendar-item-selected-container-color - Background color for selected date items.
|
|
73
75
|
* @cssprop --m3e-calendar-item-selected-ripple-color - Ripple color used when interacting with selected date items.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarElement.d.ts","sourceRoot":"","sources":["../../../src/calendar/CalendarElement.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAa,MAAM,KAAK,CAAC;AAQvF,OAAO,iBAAiB,CAAC;AACzB,OAAO,sBAAsB,CAAC;AAC9B,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAK9C,OAAO,oBAAoB,CAAC;AAC5B,OAAO,wBAAwB,CAAC;AAChC,OAAO,mBAAmB,CAAC;AAE3B
|
|
1
|
+
{"version":3,"file":"CalendarElement.d.ts","sourceRoot":"","sources":["../../../src/calendar/CalendarElement.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAa,MAAM,KAAK,CAAC;AAQvF,OAAO,iBAAiB,CAAC;AACzB,OAAO,sBAAsB,CAAC;AAC9B,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAK9C,OAAO,oBAAoB,CAAC;AAC5B,OAAO,wBAAwB,CAAC;AAChC,OAAO,mBAAmB,CAAC;AAE3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACH,qBACa,kBAAmB,SAAQ,UAAU;;IAChD,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CA8GpC;IAGF,eAAe,CAAU,OAAO,CAAC,MAAM,CAAc;IACrD,eAAe,CAAU,OAAO,CAAC,WAAW,CAAyB;IACrE,eAAe,CAAU,OAAO,CAAC,WAAW,CAAoB;IAChE,eAAe,CAAmB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAA0B;IACnF,eAAe,CAAiB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IAErE;;;OAGG;IACoC,SAAS,EAAE,YAAY,CAAW;IAEzE;;;OAGG;IACqC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAQ;IAEjE;;;OAGG;IAC4D,OAAO,EAAE,IAAI,GAAG,IAAI,CAAQ;IAE3F;;;OAGG;IAC4D,OAAO,EAAE,IAAI,GAAG,IAAI,CAAQ;IAE3F;;;OAGG;IAC4D,OAAO,EAAE,IAAI,GAAG,IAAI,CAAQ;IAE3F;;;OAGG;IAC+D,UAAU,EAAE,IAAI,GAAG,IAAI,CAAQ;IAEjG;;;OAGG;IAC6D,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAQ;IAE7F;;;OAGG;IAC6B,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,GAAG,IAAI,CAAQ;IAEvF;;;OAGG;IAC6B,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,GAAG,IAAI,CAAQ;IAEtF;;;OAGG;IAC8C,kBAAkB,SAAoB;IAEvF;;;OAGG;IAC6C,iBAAiB,SAAmB;IAEpF;;;OAGG;IACmD,sBAAsB,SAAuB;IAEnG;;;OAGG;IAC0C,cAAc,SAAgB;IAE3E;;;OAGG;IACyC,aAAa,SAAe;IAExE;;;OAGG;IAC+C,kBAAkB,SAAmB;IAEvF,mDAAmD;IACnD,IAAI,WAAW,IAAI,MAAM,CAkBxB;IAED,4DAA4D;IAC5D,IAAI,qBAAqB,IAAI,OAAO,CAYnC;IAED,wDAAwD;IACxD,IAAI,iBAAiB,IAAI,OAAO,CAY/B;IAED;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtC,4BAA4B;IAC5B,eAAe,IAAI,IAAI;IAIvB;;;OAGG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAqCzC;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAqCrC;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAMnC,kBAAkB;cACC,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAc5E,kBAAkB;cACC,OAAO,CAAC,kBAAkB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAa1E,kBAAkB;cACC,MAAM,IAAI,OAAO;CAwNrC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,kBAAkB,CAAC;KACpC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarViewElementBase.d.ts","sourceRoot":"","sources":["../../../src/calendar/CalendarViewElementBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAOtD;;;GAGG;AACH,8BAAsB,uBAAwB,SAAQ,UAAU;IAC9D,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"CalendarViewElementBase.d.ts","sourceRoot":"","sources":["../../../src/calendar/CalendarViewElementBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAOtD;;;GAGG;AACH,8BAAsB,uBAAwB,SAAQ,UAAU;IAC9D,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CA0GpC;IAEF,eAAe,CAA2B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAc;IAErF,oBAAoB;IACoB,KAAK,EAAE,IAAI,CAAc;IAEjE,yBAAyB;IACe,IAAI,EAAE,IAAI,GAAG,IAAI,CAAQ;IAEjE,uBAAuB;IAC2C,UAAU,EAAE,IAAI,CAAc;IAEhG,6CAA6C;IACkB,OAAO,EAAE,IAAI,GAAG,IAAI,CAAQ;IAE3F,6CAA6C;IACkB,OAAO,EAAE,IAAI,GAAG,IAAI,CAAQ;IAE3F;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAUtC,gBAAgB;IAChB,SAAS,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,GAAG,IAAI;CAWpD"}
|
|
@@ -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,
|
|
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;CAiQrC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;CACF"}
|
|
@@ -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"}
|
|
@@ -52,10 +52,12 @@ declare const M3eDatepickerElement_base: import("../core/shared/mixins/Construct
|
|
|
52
52
|
* @cssprop --m3e-datepicker-container-padding-inline - Inline‑axis padding of the date picker container.
|
|
53
53
|
* @cssprop --m3e-datepicker-container-color - Background color of the standard container surface.
|
|
54
54
|
* @cssprop --m3e-datepicker-container-elevation - Elevation shadow applied to the container surface.
|
|
55
|
+
* @cssprop --m3e-datepicker-modal-headline-color - Color used for the modal headline text.
|
|
55
56
|
* @cssprop --m3e-datepicker-modal-headline-font-size - Font size used for the modal headline text.
|
|
56
57
|
* @cssprop --m3e-datepicker-modal-headline-font-weight - Font weight used for the modal headline text.
|
|
57
58
|
* @cssprop --m3e-datepicker-modal-headline-line-height - Line height used for the modal headline text.
|
|
58
59
|
* @cssprop --m3e-datepicker-modal-headline-tracking - Letter spacing used for the modal headline text.
|
|
60
|
+
* @cssprop --m3e-datepicker-modal-supporting-text-color - Color used for supporting text in modal mode.
|
|
59
61
|
* @cssprop --m3e-datepicker-modal-supporting-text-font-size - Font size used for supporting text in modal mode.
|
|
60
62
|
* @cssprop --m3e-datepicker-modal-supporting-text-font-weight - Font weight used for supporting text in modal mode.
|
|
61
63
|
* @cssprop --m3e-datepicker-modal-supporting-text-line-height - Line height used for supporting text in modal mode.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatepickerElement.d.ts","sourceRoot":"","sources":["../../../src/datepicker/DatepickerElement.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAW,cAAc,EAAa,MAAM,KAAK,CAAC;AAsBhG,OAAO,EAAsB,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,oBAAoB,CAAC;AAC5B,OAAO,iBAAiB,CAAC;AACzB,OAAO,mBAAmB,CAAC;AAE3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;;AAExD
|
|
1
|
+
{"version":3,"file":"DatepickerElement.d.ts","sourceRoot":"","sources":["../../../src/datepicker/DatepickerElement.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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"}
|