@m3e/web 2.5.5 → 2.5.7
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 +1 -1
- package/dist/all.js +511 -248
- package/dist/all.js.map +1 -1
- package/dist/all.min.js +31 -31
- package/dist/all.min.js.map +1 -1
- package/dist/autocomplete.js +3 -3
- package/dist/autocomplete.js.map +1 -1
- package/dist/autocomplete.min.js.map +1 -1
- package/dist/bottom-sheet.js +5 -5
- package/dist/bottom-sheet.js.map +1 -1
- package/dist/bottom-sheet.min.js.map +1 -1
- package/dist/breadcrumb.js +1 -1
- package/dist/breadcrumb.js.map +1 -1
- package/dist/breadcrumb.min.js.map +1 -1
- package/dist/button.js +7 -8
- package/dist/button.js.map +1 -1
- package/dist/button.min.js +1 -1
- package/dist/button.min.js.map +1 -1
- package/dist/calendar.js +1 -1
- package/dist/calendar.js.map +1 -1
- package/dist/calendar.min.js.map +1 -1
- package/dist/card.js +1 -1
- package/dist/card.js.map +1 -1
- package/dist/card.min.js.map +1 -1
- package/dist/checkbox.js +10 -9
- package/dist/checkbox.js.map +1 -1
- package/dist/checkbox.min.js +1 -1
- package/dist/checkbox.min.js.map +1 -1
- package/dist/chips.js +17 -16
- package/dist/chips.js.map +1 -1
- package/dist/chips.min.js +1 -1
- package/dist/chips.min.js.map +1 -1
- package/dist/core.js +5 -5
- package/dist/core.js.map +1 -1
- package/dist/core.min.js.map +1 -1
- package/dist/css-custom-data.json +314 -314
- package/dist/custom-elements.json +5222 -4838
- package/dist/datepicker.js +26 -2
- package/dist/datepicker.js.map +1 -1
- package/dist/datepicker.min.js +1 -1
- package/dist/datepicker.min.js.map +1 -1
- package/dist/dialog.js +5 -5
- package/dist/dialog.js.map +1 -1
- package/dist/dialog.min.js.map +1 -1
- package/dist/drawer-container.js +1 -1
- package/dist/drawer-container.js.map +1 -1
- package/dist/drawer-container.min.js.map +1 -1
- package/dist/expansion-panel.js +5 -5
- package/dist/expansion-panel.js.map +1 -1
- package/dist/expansion-panel.min.js.map +1 -1
- package/dist/fab-menu.js +1 -1
- package/dist/fab-menu.js.map +1 -1
- package/dist/fab-menu.min.js.map +1 -1
- package/dist/fab.js +1 -1
- package/dist/fab.js.map +1 -1
- package/dist/fab.min.js.map +1 -1
- package/dist/html-custom-data.json +296 -291
- package/dist/icon-button.js +7 -8
- package/dist/icon-button.js.map +1 -1
- package/dist/icon-button.min.js +1 -1
- package/dist/icon-button.min.js.map +1 -1
- package/dist/list.js +17 -16
- package/dist/list.js.map +1 -1
- package/dist/list.min.js +1 -1
- package/dist/list.min.js.map +1 -1
- package/dist/menu.js +3 -3
- package/dist/menu.js.map +1 -1
- package/dist/menu.min.js.map +1 -1
- package/dist/nav-bar.js +12 -9
- package/dist/nav-bar.js.map +1 -1
- package/dist/nav-bar.min.js +1 -1
- package/dist/nav-bar.min.js.map +1 -1
- package/dist/nav-menu.js +5 -5
- package/dist/nav-menu.js.map +1 -1
- package/dist/nav-menu.min.js.map +1 -1
- package/dist/nav-rail.js +3 -1
- package/dist/nav-rail.js.map +1 -1
- package/dist/nav-rail.min.js.map +1 -1
- package/dist/paginator.js +1 -1
- package/dist/paginator.js.map +1 -1
- package/dist/paginator.min.js.map +1 -1
- package/dist/radio-group.js +12 -9
- package/dist/radio-group.js.map +1 -1
- package/dist/radio-group.min.js +1 -1
- package/dist/radio-group.min.js.map +1 -1
- package/dist/segmented-button.js +12 -11
- package/dist/segmented-button.js.map +1 -1
- package/dist/segmented-button.min.js +1 -1
- package/dist/segmented-button.min.js.map +1 -1
- package/dist/select.js +9 -9
- package/dist/select.js.map +1 -1
- package/dist/select.min.js +1 -1
- package/dist/select.min.js.map +1 -1
- package/dist/slide-group.js +6 -1
- package/dist/slide-group.js.map +1 -1
- package/dist/slide-group.min.js +1 -1
- package/dist/slide-group.min.js.map +1 -1
- package/dist/slider.js +46 -25
- package/dist/slider.js.map +1 -1
- package/dist/slider.min.js +1 -1
- package/dist/slider.min.js.map +1 -1
- package/dist/split-pane.js +17 -19
- package/dist/split-pane.js.map +1 -1
- package/dist/split-pane.min.js +1 -1
- package/dist/split-pane.min.js.map +1 -1
- package/dist/src/autocomplete/AutocompleteElement.d.ts +3 -3
- package/dist/src/autocomplete/AutocompleteQueryEventDetail.d.ts +1 -1
- package/dist/src/autocomplete/QueryEventDetail.d.ts +1 -1
- package/dist/src/bottom-sheet/BottomSheetElement.d.ts +5 -5
- package/dist/src/breadcrumb/BreadcrumbItemElement.d.ts +1 -1
- package/dist/src/button/ButtonElement.d.ts +2 -1
- package/dist/src/button/ButtonElement.d.ts.map +1 -1
- package/dist/src/calendar/CalendarElement.d.ts +1 -1
- package/dist/src/card/CardElement.d.ts +1 -1
- package/dist/src/checkbox/CheckboxElement.d.ts +5 -4
- package/dist/src/checkbox/CheckboxElement.d.ts.map +1 -1
- package/dist/src/chips/AssistChipElement.d.ts +1 -1
- package/dist/src/chips/FilterChipElement.d.ts +4 -3
- package/dist/src/chips/FilterChipElement.d.ts.map +1 -1
- package/dist/src/chips/FilterChipSetElement.d.ts +3 -2
- package/dist/src/chips/FilterChipSetElement.d.ts.map +1 -1
- package/dist/src/chips/InputChipElement.d.ts +2 -2
- package/dist/src/chips/InputChipSetElement.d.ts +1 -1
- package/dist/src/chips/SuggestionChipElement.d.ts +1 -1
- package/dist/src/core/shared/primitives/CollapsibleElement.d.ts +4 -4
- package/dist/src/core/shared/primitives/TextHighlightElement.d.ts +1 -1
- package/dist/src/datepicker/DatepickerElement.d.ts +6 -0
- package/dist/src/datepicker/DatepickerElement.d.ts.map +1 -1
- package/dist/src/dialog/DialogElement.d.ts +5 -5
- package/dist/src/drawer-container/DrawerContainerElement.d.ts +1 -1
- package/dist/src/expansion-panel/ExpansionHeaderElement.d.ts +1 -1
- package/dist/src/expansion-panel/ExpansionPanelElement.d.ts +4 -4
- package/dist/src/fab/FabElement.d.ts +1 -1
- package/dist/src/fab-menu/FabMenuItemElement.d.ts +1 -1
- package/dist/src/icon-button/IconButtonElement.d.ts +2 -1
- package/dist/src/icon-button/IconButtonElement.d.ts.map +1 -1
- package/dist/src/list/ExpandableListItemElement.d.ts +4 -4
- package/dist/src/list/ListActionElement.d.ts +1 -1
- package/dist/src/list/ListOptionElement.d.ts +4 -3
- package/dist/src/list/ListOptionElement.d.ts.map +1 -1
- package/dist/src/list/SelectionListElement.d.ts +3 -2
- package/dist/src/list/SelectionListElement.d.ts.map +1 -1
- package/dist/src/menu/MenuItemCheckboxElement.d.ts +1 -1
- package/dist/src/menu/MenuItemElement.d.ts +1 -1
- package/dist/src/menu/MenuItemRadioElement.d.ts +1 -1
- package/dist/src/nav-bar/NavBarElement.d.ts +3 -1
- package/dist/src/nav-bar/NavBarElement.d.ts.map +1 -1
- package/dist/src/nav-bar/NavItemElement.d.ts +4 -3
- package/dist/src/nav-bar/NavItemElement.d.ts.map +1 -1
- package/dist/src/nav-menu/NavMenuItemElement.d.ts +5 -5
- package/dist/src/nav-rail/NavRailElement.d.ts +3 -1
- package/dist/src/nav-rail/NavRailElement.d.ts.map +1 -1
- package/dist/src/paginator/PageEventDetail.d.ts +1 -1
- package/dist/src/paginator/PaginatorElement.d.ts +1 -1
- package/dist/src/paginator/PaginatorPageEventDetail.d.ts +1 -1
- package/dist/src/paginator/PaginatorPageEventDetail.d.ts.map +1 -1
- package/dist/src/radio-group/RadioElement.d.ts +4 -3
- package/dist/src/radio-group/RadioElement.d.ts.map +1 -1
- package/dist/src/radio-group/RadioGroupElement.d.ts +3 -1
- package/dist/src/radio-group/RadioGroupElement.d.ts.map +1 -1
- package/dist/src/search/SearchViewQueryEventDetail.d.ts +1 -1
- package/dist/src/segmented-button/ButtonSegmentElement.d.ts +4 -3
- package/dist/src/segmented-button/ButtonSegmentElement.d.ts.map +1 -1
- package/dist/src/segmented-button/SegmentedButtonElement.d.ts +3 -2
- package/dist/src/segmented-button/SegmentedButtonElement.d.ts.map +1 -1
- package/dist/src/select/SelectElement.d.ts +3 -2
- package/dist/src/select/SelectElement.d.ts.map +1 -1
- package/dist/src/slide-group/SlideGroupElement.d.ts.map +1 -1
- package/dist/src/slider/SliderElement.d.ts +4 -0
- package/dist/src/slider/SliderElement.d.ts.map +1 -1
- package/dist/src/slider/SliderThumbElement.d.ts +4 -3
- package/dist/src/slider/SliderThumbElement.d.ts.map +1 -1
- package/dist/src/split-pane/SplitPaneElement.d.ts +3 -2
- package/dist/src/split-pane/SplitPaneElement.d.ts.map +1 -1
- package/dist/src/stepper/StepElement.d.ts +4 -3
- package/dist/src/stepper/StepElement.d.ts.map +1 -1
- package/dist/src/stepper/StepperElement.d.ts +5 -1
- package/dist/src/stepper/StepperElement.d.ts.map +1 -1
- package/dist/src/switch/SwitchElement.d.ts +4 -3
- package/dist/src/switch/SwitchElement.d.ts.map +1 -1
- package/dist/src/tabs/TabElement.d.ts +4 -3
- package/dist/src/tabs/TabElement.d.ts.map +1 -1
- package/dist/src/tabs/TabsElement.d.ts +5 -2
- package/dist/src/tabs/TabsElement.d.ts.map +1 -1
- package/dist/src/theme/ThemeElement.d.ts.map +1 -1
- package/dist/src/toc/TocItemElement.d.ts +1 -1
- package/dist/src/tree/TreeElement.d.ts +1 -1
- package/dist/src/tree/TreeItemElement.d.ts +5 -5
- package/dist/stepper.js +26 -17
- package/dist/stepper.js.map +1 -1
- package/dist/stepper.min.js +1 -1
- package/dist/stepper.min.js.map +1 -1
- package/dist/switch.js +9 -8
- package/dist/switch.js.map +1 -1
- package/dist/switch.min.js +1 -1
- package/dist/switch.min.js.map +1 -1
- package/dist/tabs.js +198 -24
- package/dist/tabs.js.map +1 -1
- package/dist/tabs.min.js +1 -1
- package/dist/tabs.min.js.map +1 -1
- package/dist/theme.js +34 -13
- package/dist/theme.js.map +1 -1
- package/dist/theme.min.js +23 -23
- package/dist/theme.min.js.map +1 -1
- package/dist/toc.js +1 -1
- package/dist/toc.js.map +1 -1
- package/dist/toc.min.js.map +1 -1
- package/dist/tree.js +6 -6
- package/dist/tree.js.map +1 -1
- package/dist/tree.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"split-pane.min.js","sources":["../../src/split-pane/SplitPaneElement.ts"],"sourcesContent":["import { css, CSSResultGroup, html, LitElement, nothing, PropertyValues, unsafeCSS } from \"lit\";\r\nimport { property, query, state } from \"lit/decorators.js\";\r\nimport { ifDefined } from \"lit/directives/if-defined.js\";\r\n\r\nimport {\r\n addCustomState,\r\n AttachInternals,\r\n customElement,\r\n deleteCustomState,\r\n DesignToken,\r\n Disabled,\r\n FormAssociated,\r\n formValue,\r\n MutationController,\r\n prefersReducedMotion,\r\n PressedController,\r\n ReconnectedCallback,\r\n registerStyleSheet,\r\n setCustomState,\r\n spaceSeparatedStringConverter,\r\n} from \"@m3e/web/core\";\r\n\r\nimport { Breakpoint, M3eBreakpointObserver } from \"@m3e/web/core/layout\";\r\nimport { Direction, M3eDirectionality } from \"@m3e/web/core/bidi\";\r\n\r\nimport { SplitPaneOrientation } from \"./SplitPaneOrientation\";\r\n\r\n/**\r\n * A dual-view layout that separates content with a movable drag handle.\r\n * @description\r\n * The `m3e-split-pane` component delivers a Material 3-inspired split view with a\r\n * movable drag handle, enabling responsive layout composition and pane resizing.\r\n * It supports keyboard interaction, adaptive orientation, and optional detent snapping\r\n * for consistent, accessible content distribution.\r\n *\r\n * @example\r\n * The following example illustrates the basic use of the `m3e-split-pane` with start and end content.\r\n * In this example, the start pane occupies 25% of the available width.\r\n * ```html\r\n * <m3e-split-pane value=\"25\">\r\n * <m3e-card slot=\"start\"></m3e-card>\r\n * <m3e-card slot=\"end\"></m3e-card>\r\n * </m3e-split-pane>\r\n * ```\r\n *\r\n * @example\r\n * The next example demonstrates minimum and maximum constraints, where the start pane\r\n * may shrink to 25% but cannot grow beyond 50% of the available space.\r\n * ```html\r\n * <m3e-split-pane value=\"25\" min=\"25\" max=\"50\">\r\n * <m3e-card slot=\"start\"></m3e-card>\r\n * <m3e-card slot=\"end\"></m3e-card>\r\n * </m3e-split-pane>\r\n * ```\r\n *\r\n * @example\r\n * The next example demonstrates percentage‑based detents, allowing the drag handle to snap at\r\n * 0%, 25%, 50%, 75%, and 100% of the available space.\r\n * ```html\r\n * <m3e-split-pane value=\"50\" detents=\"0 25 50 75 100\">\r\n * <m3e-card slot=\"start\"></m3e-card>\r\n * <m3e-card slot=\"end\"></m3e-card>\r\n * </m3e-split-pane>\r\n * ```\r\n *\r\n * @tag m3e-split-pane\r\n *\r\n * @slot start - Renders content at the logical start side of the pane.\r\n * @slot end - Renders content at the logical end side of the pane.\r\n *\r\n * @attr detents - Detents (discrete sizes) the start pane can snap to.\r\n * @attr label - The accessible label given to the moveable drag handle.\r\n * @attr max - A fractional value, between 0 and 100, indicating the maximum size of the start pane.\r\n * @attr min - A fractional value, between 0 and 100, indicating the minimum size of the start pane.\r\n * @attr orientation - The orientation of the split.\r\n * @attr overshoot-limit - A fractional value, between 0 and 100, indicating the maximum visual overshoot allowed when dragging past the minimum or maximum size.\r\n * @attr step - A fractional value, between 0 and 100, indicating the increment by which to adjust the value when resized via keyboard.\r\n * @attr value - A fractional value, between 0 and 100, indicating the size of the start pane.\r\n * @attr wrap-detents - Whether cycling through detents will wrap.\r\n *\r\n * @fires input - Fired continuously while the user adjusts the drag handle.\r\n * @fires change - Fired when the user finishes adjusting the drag handle.\r\n *\r\n * @cssprop --m3e-split-pane-drag-handle-hover-color - Color used for the drag handle hover state.\r\n * @cssprop --m3e-split-pane-drag-handle-hover-opacity - Opacity used for the drag handle hover state.\r\n * @cssprop --m3e-split-pane-drag-handle-focus-color - Color used for the drag handle focus state.\r\n * @cssprop --m3e-split-pane-drag-handle-focus-opacity - Opacity used for the drag handle focus state.\r\n * @cssprop --m3e-split-pane-drag-handle-color - Background color of the drag handle when not pressed.\r\n * @cssprop --m3e-split-pane-drag-handle-shape - Corner shape of the drag handle when not pressed.\r\n * @cssprop --m3e-split-pane-drag-handle-pressed-color - Background color of the drag handle when pressed.\r\n * @cssprop --m3e-split-pane-drag-handle-pressed-shape - Corner shape of the drag handle when pressed.\r\n * @cssprop --m3e-split-pane-drag-handle-container-width - Width of the drag handle container.\r\n * @cssprop --m3e-split-pane-drag-handle-width - Thickness of the drag handle when not pressed.\r\n * @cssprop --m3e-split-pane-drag-handle-height - Length of the drag handle when not pressed.\r\n * @cssprop --m3e-split-pane-drag-handle-pressed-width - Thickness of the drag handle when pressed.\r\n * @cssprop --m3e-split-pane-drag-handle-pressed-height - Length of the drag handle when pressed.\r\n */\r\n@customElement(\"m3e-split-pane\")\r\nexport class M3eSplitPaneElement extends FormAssociated(Disabled(ReconnectedCallback(AttachInternals(LitElement)))) {\r\n static {\r\n registerStyleSheet(css`\r\n @property --_split-pane-value {\r\n syntax: \"<length-percentage>\";\r\n inherits: true;\r\n initial-value: 50%;\r\n }\r\n `);\r\n }\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = css`\r\n :host {\r\n display: block;\r\n }\r\n .base {\r\n display: flex;\r\n width: 100%;\r\n height: 100%;\r\n overflow: hidden;\r\n }\r\n :host(:not(:is(:state(--vertical), :--vertical))) .base {\r\n flex-direction: row;\r\n }\r\n :host(:is(:state(--vertical), :--vertical)) .base {\r\n flex-direction: column;\r\n }\r\n :host(:is(:state(--with-start), :--with-start):is(:state(--with-end), :--with-end)) .start {\r\n flex: 0 1 calc(var(--_split-pane-value) - calc(var(--m3e-split-pane-drag-handle-container-width, 1.5rem) / 2));\r\n }\r\n :host(:not(:is(:state(--with-end), :--with-end))) .start {\r\n flex: 1 1 auto;\r\n }\r\n :host(:is(:state(--with-end), :--with-end)) .end {\r\n flex: 1 1 auto;\r\n }\r\n :host(:not(:is(:state(--with-end), :--with-end))) .end {\r\n display: none;\r\n }\r\n :host(:not(:is(:state(--animating), :--animating))) .start[inert],\r\n :host(:not(:is(:state(--animating), :--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(:is(:state(--with-start), :--with-start)), :not(:is(:state(--with-end), :--with-end))))\r\n .drag-handle {\r\n display: none;\r\n }\r\n :host(:not(:is(:state(--pressed), :--pressed))) .drag-handle:not([aria-disabled]) {\r\n cursor: grab;\r\n }\r\n :host(:is(:state(--pressed), :--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(:is(:state(--pressed), :--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(:is(:state(--pressed), :--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(:is(:state(--vertical), :--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(:is(:state(--vertical), :--vertical)):not(:is(:state(--pressed), :--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(:is(:state(--vertical), :--vertical)):is(:state(--pressed), :--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(:is(:state(--vertical), :--vertical)) .drag-handle {\r\n height: var(--m3e-split-pane-drag-handle-container-width, 1.5rem);\r\n }\r\n :host(:is(:state(--vertical), :--vertical):not(:is(:state(--pressed), :--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(:is(:state(--vertical), :--vertical):is(:state(--pressed), :--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(:is(:state(--pressed), :--pressed)) .handle,\r\n :host(:not(:is(:state(--pressed), :--pressed))) .handle {\r\n background-color: ButtonText;\r\n }\r\n }\r\n `;\r\n\r\n /** @private */ @state() _orientation?: Exclude<SplitPaneOrientation, \"auto\">;\r\n /** @private */ #breakpointUnobserve?: () => void;\r\n\r\n /** @private */ @query(\".base\") private _base!: HTMLElement;\r\n /** @private */ @query(\".drag-handle\") private _dragHandle!: HTMLElement;\r\n\r\n /** @private */ #dragState?: { startPos: number; startValue: number; cachedSize: number; min: number; max: number };\r\n /** @private */ #valueChanged = false;\r\n /** @private */ #snapAnimation?: Animation;\r\n\r\n /** @private */\r\n readonly #pressedController = new PressedController(this, {\r\n target: null,\r\n isPressedKey: (key) => key === \" \",\r\n minPressedDuration: 150,\r\n callback: (pressed) => setCustomState(this, \"--pressed\", pressed && !this.disabled),\r\n });\r\n\r\n /** @private */\r\n readonly #startMutationController = new MutationController(this, {\r\n target: null,\r\n config: { attributeFilter: [\"hidden\"] },\r\n callback: () => this.#updatePaneVisibility(\"start\"),\r\n });\r\n\r\n /** @private */\r\n readonly #endMutationController = new MutationController(this, {\r\n target: null,\r\n config: { attributeFilter: [\"hidden\"] },\r\n callback: () => this.#updatePaneVisibility(\"end\"),\r\n });\r\n\r\n /**\r\n * A fractional value, between 0 and 100, indicating the size of the start pane.\r\n * @default 50\r\n */\r\n @property({ type: Number }) value = 50;\r\n\r\n /**\r\n * A fractional value, between 0 and 100, indicating the minimum size of the start pane.\r\n * @default 0\r\n */\r\n @property({ type: Number }) min = 0;\r\n\r\n /**\r\n * A fractional value, between 0 and 100, indicating the maximum size of the start pane.\r\n * @default 100\r\n */\r\n @property({ type: Number }) max = 100;\r\n\r\n /**\r\n * A fractional value, between 0 and 100, indicating the maximum visual overshoot allowed when dragging past the minimum or maximum size.\r\n * @default 4\r\n */\r\n @property({ attribute: \"overshoot-limit\", type: Number }) overshootLimit = 4;\r\n\r\n /**\r\n * A fractional value, between 0 and 100, indicating the increment by which to adjust the value when resized via keyboard.\r\n * @default 1\r\n */\r\n @property({ type: Number }) step = 1;\r\n\r\n /**\r\n * Detents (discrete sizes) the start pane can snap to.\r\n * @default []\r\n */\r\n @property({ attribute: \"detents\", converter: spaceSeparatedStringConverter }) detents: string[] = [];\r\n\r\n /**\r\n * Whether cycling through detents will wrap.\r\n * @default false\r\n */\r\n @property({ attribute: \"wrap-detents\", type: Boolean }) wrapDetents = false;\r\n\r\n /**\r\n * The orientation of the split.\r\n * @default \"horizontal\"\r\n */\r\n @property() orientation: SplitPaneOrientation = \"horizontal\";\r\n\r\n /**\r\n * The accessible label given to the movable drag handle.\r\n * @default \"Resize panes\"\r\n */\r\n @property() label: string = \"Resize panes\";\r\n\r\n /** A function used to generates human readable text for the accessible value (`aria-valuetext`) of the drag handle. */\r\n @property() valueFormatter?: (\r\n value: number,\r\n orientation: Omit<SplitPaneOrientation, \"auto\">,\r\n dir: Direction,\r\n ) => string | undefined = (value, orientation, dir) => {\r\n value = Math.round(value);\r\n if (value >= 48 && value <= 52) {\r\n return \"Panes equally sized\";\r\n }\r\n\r\n switch (value) {\r\n case 0:\r\n return orientation === \"horizontal\"\r\n ? dir === \"ltr\"\r\n ? \"Left pane collapsed\"\r\n : \"Right pane collapsed\"\r\n : \"Top pane collapsed\";\r\n case 100:\r\n return orientation === \"horizontal\"\r\n ? dir === \"ltr\"\r\n ? \"Right pane collapsed\"\r\n : \"Left pane collapsed\"\r\n : \"Bottom pane collapsed\";\r\n default:\r\n return orientation === \"horizontal\"\r\n ? dir === \"ltr\"\r\n ? `Left pane ${value}%, right pane ${100 - value}%`\r\n : `Left pane ${100 - value}%, right pane ${value}%`\r\n : `Top pane ${value}%, bottom pane ${100 - value}%`;\r\n }\r\n };\r\n\r\n /** The current orientation of the split. */\r\n get currentOrientation(): Exclude<SplitPaneOrientation, \"auto\"> {\r\n return this._orientation ?? (this.orientation !== \"vertical\" ? \"horizontal\" : \"vertical\");\r\n }\r\n\r\n /** @inheritdoc */\r\n override get [formValue](): string | File | FormData | null {\r\n return this.value?.toString() ?? null;\r\n }\r\n\r\n /**\r\n * Moves the drag handle to the collapsed position. If detents exist, snaps to the collapsed detent.\r\n * If no detents exist, moves to the minimum allowed value.\r\n */\r\n collapse(): void {\r\n this.snapToValue(this.min);\r\n }\r\n\r\n /**\r\n * Moves the drag handle to the expanded position. If detents exist, snaps to the expanded detent.\r\n * If no detents exist, moves to the maximum allowed value.\r\n */\r\n expand(): void {\r\n this.snapToValue(this.max);\r\n }\r\n\r\n /**\r\n * Moves the drag handle to the specified position. If detents exist, snaps to the closest detent.\r\n * If no detents exist, moves to the specified value.\r\n * @param {number} value A fractional value, between 0 and 100, indicating the size of the start pane.\r\n */\r\n snapToValue(value: number): void {\r\n const detent = this.#getClosestDetent(value);\r\n value = detent > -1 ? this.#computeDetent(this.detents[detent])! : value;\r\n if (!this.#snapAnimation) {\r\n this.#snapToValue(value);\r\n } else {\r\n this.#changeValue(value);\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n override disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n\r\n this.#clearOrientation();\r\n this.#pressedController.unobserve(this._dragHandle);\r\n }\r\n\r\n /** @inheritdoc */\r\n override reconnectedCallback(): void {\r\n super.reconnectedCallback();\r\n\r\n this.#initialize();\r\n\r\n if (this.orientation === \"auto\") {\r\n this.#initBreakpointMonitoring();\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override willUpdate(changedProperties: PropertyValues<this>): void {\r\n super.willUpdate(changedProperties);\r\n\r\n if (changedProperties.has(\"orientation\")) {\r\n this.#breakpointUnobserve?.();\r\n\r\n if (this.orientation === \"auto\") {\r\n this.#initBreakpointMonitoring();\r\n } else {\r\n this._orientation = undefined;\r\n this.#updateOrientation();\r\n }\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override updated(_changedProperties: PropertyValues): void {\r\n super.updated(_changedProperties);\r\n if (_changedProperties.has(\"value\")) {\r\n this._base.style.setProperty(\"--_split-pane-value\", `${this.value}%`);\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override firstUpdated(_changedProperties: PropertyValues): void {\r\n super.firstUpdated(_changedProperties);\r\n this.#initialize();\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<div class=\"base\">\r\n <div class=\"start\" id=\"start\" ?inert=\"${this.value <= 0}\">\r\n <slot name=\"start\" @slotchange=\"${this.#handleStartSlotChange}\"></slot>\r\n </div>\r\n ${this.#renderDragHandle()}\r\n <div class=\"end\" ?inert=\"${this.value >= 100}\">\r\n <slot name=\"end\" @slotchange=\"${this.#handleEndSlotChange}\"></slot>\r\n </div>\r\n </div>`;\r\n }\r\n\r\n /** @private */\r\n #renderDragHandle(): unknown {\r\n return html`<div\r\n id=\"drag-handle\"\r\n class=\"drag-handle\"\r\n role=\"separator\"\r\n tabindex=\"${ifDefined(this.disabled ? undefined : 0)}\"\r\n aria-label=\"${this.label}\"\r\n aria-controls=\"start\"\r\n aria-disabled=\"${ifDefined(this.disabled ? \"true\" : undefined)}\"\r\n aria-orientation=\"${this.currentOrientation === \"horizontal\" ? \"vertical\" : \"horizontal\"}\"\r\n aria-valuemin=\"${this.min}\"\r\n aria-valuemax=\"${this.max}\"\r\n aria-valuenow=\"${this.value}\"\r\n aria-valuetext=\"${ifDefined(\r\n this.valueFormatter?.(this.value, this.currentOrientation, M3eDirectionality.current),\r\n )}\"\r\n @pointerdown=\"${this.#handlePointerDown}\"\r\n @pointerup=\"${this.#handlePointerUp}\"\r\n @pointermove=\"${this.#handlePointerMove}\"\r\n @keydown=\"${this.#handleKeyDown}\"\r\n @dblclick=\"${this.#cycleDetent}\"\r\n >\r\n ${this.disabled\r\n ? nothing\r\n : html`<div class=\"handle\">\r\n <m3e-focus-ring for=\"drag-handle\"></m3e-focus-ring>\r\n <m3e-state-layer for=\"drag-handle\"></m3e-state-layer>\r\n </div>\r\n <div class=\"touch\"></div>`}\r\n </div>`;\r\n }\r\n\r\n /** @private */\r\n #handleStartSlotChange(e: Event): void {\r\n this.#handleSlotChange(e.target as HTMLSlotElement, this.#startMutationController, \"--with-start\");\r\n }\r\n\r\n /** @private */\r\n #handleEndSlotChange(e: Event): void {\r\n this.#handleSlotChange(e.target as HTMLSlotElement, this.#endMutationController, \"--with-end\");\r\n }\r\n\r\n /** @private */\r\n #handleSlotChange(slot: HTMLSlotElement, mutationController: MutationController, state: string): void {\r\n for (const target of mutationController.targets) {\r\n mutationController.unobserve(target);\r\n }\r\n\r\n const assignedElements = new Array<Element>();\r\n setCustomState(this, state, this.#hasVisibleElements(slot, assignedElements));\r\n\r\n for (const element of assignedElements) {\r\n if (element instanceof HTMLElement) {\r\n mutationController.observe(element);\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #updatePaneVisibility(pane: \"start\" | \"end\"): void {\r\n setCustomState(\r\n this,\r\n `--with-${pane}`,\r\n this.#hasVisibleElements(this.shadowRoot?.querySelector<HTMLSlotElement>(`slot[name='${pane}']`)),\r\n );\r\n }\r\n\r\n /** @private */\r\n #hasVisibleElements(slot?: HTMLSlotElement | null, assignedElements?: Element[]): boolean {\r\n assignedElements = assignedElements ?? [];\r\n assignedElements.push(...(slot?.assignedElements({ flatten: true }) ?? []));\r\n return assignedElements.length > 0 && !assignedElements.every((x) => x.hasAttribute(\"hidden\"));\r\n }\r\n\r\n /** @private */\r\n #initialize() {\r\n this.#pressedController.observe(this._dragHandle);\r\n }\r\n\r\n /** @private */\r\n #initBreakpointMonitoring(): void {\r\n this.#breakpointUnobserve = M3eBreakpointObserver.observe([Breakpoint.XSmall], (matches) => {\r\n this._orientation = matches.get(Breakpoint.XSmall) ? \"vertical\" : \"horizontal\";\r\n this.#updateOrientation();\r\n });\r\n }\r\n\r\n /** @private */\r\n #updateOrientation(): void {\r\n setCustomState(this, \"--vertical\", this.currentOrientation === \"vertical\");\r\n }\r\n\r\n /** @private */\r\n #clearOrientation(): void {\r\n deleteCustomState(this, \"--vertical\");\r\n this._orientation = undefined;\r\n this.#breakpointUnobserve?.();\r\n this.#breakpointUnobserve = undefined;\r\n }\r\n\r\n /** @private */\r\n #handlePointerDown(e: PointerEvent): void {\r\n if (e.pointerType === \"mouse\" && e.button > 1) return;\r\n if (this.disabled) return;\r\n\r\n this._dragHandle.setPointerCapture(e.pointerId);\r\n this.#valueChanged = false;\r\n\r\n let min = this.min;\r\n if (min === 0 && this.detents.length > 0) {\r\n const detent = this.#getClosestDetent(0);\r\n if (detent > -1) {\r\n min = this.#computeDetent(this.detents[detent]) ?? this.min;\r\n }\r\n }\r\n\r\n let max = this.max;\r\n if (max === 100 && this.detents.length > 0) {\r\n const detent = this.#getClosestDetent(100);\r\n if (detent > -1) {\r\n max = this.#computeDetent(this.detents[detent]) ?? this.max;\r\n }\r\n }\r\n\r\n this.#dragState = {\r\n startPos: this.currentOrientation === \"vertical\" ? e.clientY : e.clientX,\r\n startValue: this.value,\r\n cachedSize: this.currentOrientation === \"vertical\" ? this.clientHeight : this.clientWidth,\r\n min,\r\n max,\r\n };\r\n }\r\n\r\n /** @private */\r\n #handlePointerMove(e: PointerEvent): void {\r\n if (!this._dragHandle.hasPointerCapture(e.pointerId) || !this.#dragState) return;\r\n\r\n const pos = this.currentOrientation === \"vertical\" ? e.clientY : e.clientX;\r\n\r\n let delta =\r\n this.#dragState.cachedSize > 0 ? ((pos - this.#dragState.startPos) / this.#dragState.cachedSize) * 100 : 0;\r\n if (M3eDirectionality.current === \"rtl\" && this.currentOrientation !== \"vertical\") {\r\n delta = -delta;\r\n }\r\n\r\n let value = this.#dragState.startValue + delta;\r\n if (value < this.#dragState.min) {\r\n const overshoot = this.#dragState.min - value;\r\n const compressed = (this.overshootLimit * overshoot) / (overshoot + this.overshootLimit);\r\n value = this.#dragState.min - compressed;\r\n } else if (value > this.#dragState.max) {\r\n const overshoot = value - this.#dragState.max;\r\n const compressed = (this.overshootLimit * overshoot) / (overshoot + this.overshootLimit);\r\n value = this.#dragState.max + compressed;\r\n }\r\n\r\n if (this.#changeValue(value, false, true)) {\r\n this.#valueChanged = true;\r\n }\r\n }\r\n\r\n /** @private */\r\n #handlePointerUp(e: PointerEvent): void {\r\n if (e.pointerType === \"mouse\" && e.button > 1) return;\r\n if (this._dragHandle.hasPointerCapture(e.pointerId)) {\r\n this._dragHandle.releasePointerCapture(e.pointerId);\r\n this.#dragState = undefined;\r\n\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent >= 0) {\r\n const value = this.#computeDetent(this.detents[detent]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value, false);\r\n }\r\n } else if (this.value < this.min) {\r\n this.#snapToValue(this.min, false);\r\n } else if (this.value > this.max) {\r\n this.#snapToValue(this.max, false);\r\n }\r\n\r\n if (this.#valueChanged) {\r\n this.dispatchEvent(new Event(\"change\", { bubbles: true, composed: true }));\r\n this.#valueChanged = false;\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleKeyDown(e: KeyboardEvent): void {\r\n const ltr = M3eDirectionality.current === \"ltr\" || this.currentOrientation === \"vertical\";\r\n switch (e.key) {\r\n case \"Up\":\r\n case \"ArrowUp\":\r\n case \"Left\":\r\n case \"ArrowLeft\": {\r\n e.preventDefault();\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent >= 0) {\r\n const nextDetent = ltr ? this.#getNextLowerDetent(detent) : this.#getNextHigherDetent(detent);\r\n if (nextDetent !== detent && !this.#snapAnimation) {\r\n const value = this.#computeDetent(this.detents[nextDetent]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value);\r\n }\r\n }\r\n } else if (this.step > 1) {\r\n if (!this.#snapAnimation) {\r\n this.#snapToValue(this.value + (ltr ? -this.step : this.step));\r\n }\r\n } else {\r\n this.#changeValue(this.value + (ltr ? -this.step : this.step));\r\n }\r\n break;\r\n }\r\n\r\n case \"Down\":\r\n case \"ArrowDown\":\r\n case \"Right\":\r\n case \"ArrowRight\": {\r\n e.preventDefault();\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent >= 0) {\r\n const nextDetent = ltr ? this.#getNextHigherDetent(detent) : this.#getNextLowerDetent(detent);\r\n if (nextDetent !== detent && !this.#snapAnimation) {\r\n const value = this.#computeDetent(this.detents[nextDetent]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value);\r\n }\r\n }\r\n } else if (this.step > 1) {\r\n if (!this.#snapAnimation) {\r\n this.#snapToValue(this.value + (ltr ? this.step : -this.step));\r\n }\r\n } else {\r\n this.#changeValue(this.value + (ltr ? this.step : -this.step));\r\n }\r\n\r\n break;\r\n }\r\n\r\n case \"Home\": {\r\n e.preventDefault();\r\n if (!this.#snapAnimation) {\r\n const next = this.#getClosestDetent(this.min);\r\n if (next > -1) {\r\n this.#snapToValue(this.#computeDetent(this.detents[next])!);\r\n } else {\r\n this.#snapToValue(this.min);\r\n }\r\n }\r\n\r\n break;\r\n }\r\n\r\n case \"End\": {\r\n e.preventDefault();\r\n if (!this.#snapAnimation) {\r\n const next = this.#getClosestDetent(this.max);\r\n if (next > -1) {\r\n this.#snapToValue(this.#computeDetent(this.detents[next])!);\r\n } else {\r\n this.#snapToValue(this.max);\r\n }\r\n }\r\n\r\n break;\r\n }\r\n\r\n case \"PageUp\": {\r\n e.preventDefault();\r\n if (!this.#snapAnimation) {\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent >= 0) {\r\n const nextDetent = this.#getNextLowerDetent(detent);\r\n if (nextDetent !== detent) {\r\n const value = this.#computeDetent(this.detents[nextDetent]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value);\r\n }\r\n }\r\n } else {\r\n this.#snapToValue(this.value - Math.max(10, this.step));\r\n }\r\n }\r\n\r\n break;\r\n }\r\n\r\n case \"PageDown\": {\r\n e.preventDefault();\r\n if (!this.#snapAnimation) {\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent >= 0) {\r\n const nextDetent = this.#getNextHigherDetent(detent);\r\n if (nextDetent !== detent) {\r\n const value = this.#computeDetent(this.detents[nextDetent]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value);\r\n }\r\n }\r\n } else {\r\n this.#snapToValue(this.value + Math.max(10, this.step));\r\n }\r\n }\r\n\r\n break;\r\n }\r\n\r\n case \"Enter\":\r\n if (!this.#snapAnimation) {\r\n this.#cycleDetent();\r\n }\r\n\r\n break;\r\n\r\n case \" \":\r\n e.preventDefault();\r\n if (!this.#snapAnimation) {\r\n this.#cycleDetent();\r\n }\r\n break;\r\n }\r\n }\r\n\r\n /** @private */\r\n #changeValue(value: number, emitChange = true, allowOvershoot = false): boolean {\r\n this.#clearSnapAnimation();\r\n\r\n if (!allowOvershoot) {\r\n value = Math.max(this.min, Math.min(this.max, value));\r\n }\r\n\r\n if (value != this.value) {\r\n const prev = this.value;\r\n this.value = value;\r\n\r\n if (this.dispatchEvent(new Event(\"input\", { bubbles: true, composed: true, cancelable: true }))) {\r\n this._base.style.setProperty(\"--_split-pane-value\", `${this.value}%`);\r\n if (emitChange) {\r\n this.dispatchEvent(new Event(\"change\", { bubbles: true, composed: true }));\r\n }\r\n return true;\r\n } else {\r\n this.value = prev;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /** @private */\r\n #getClosestDetent(value: number): number {\r\n let closestDetent = -1;\r\n let closestDistance = Infinity;\r\n\r\n for (let i = 0; i < this.detents.length; i++) {\r\n const detent = this.#computeDetent(this.detents[i]);\r\n if (detent === undefined) continue;\r\n\r\n const distance = Math.abs(value - detent);\r\n if (distance < closestDistance) {\r\n closestDistance = distance;\r\n closestDetent = i;\r\n }\r\n }\r\n return closestDetent;\r\n }\r\n\r\n /** @private */\r\n #getNextHigherDetent(detentIndex: number): number {\r\n const currentValue = this.#computeDetent(this.detents[detentIndex]);\r\n if (currentValue === undefined) return detentIndex;\r\n\r\n let value = Infinity;\r\n let nextDetent = detentIndex;\r\n for (let i = 0; i < this.detents.length; i++) {\r\n if (i === detentIndex) continue;\r\n const detent = this.#computeDetent(this.detents[i]);\r\n if (detent === undefined) continue;\r\n if (detent > currentValue && detent < value) {\r\n value = detent;\r\n nextDetent = i;\r\n }\r\n }\r\n return nextDetent;\r\n }\r\n\r\n /** @private */\r\n #getNextLowerDetent(detentIndex: number): number {\r\n const currentValue = this.#computeDetent(this.detents[detentIndex]);\r\n if (currentValue === undefined) return detentIndex;\r\n\r\n let value = -Infinity;\r\n let nextDetent = detentIndex;\r\n for (let i = 0; i < this.detents.length; i++) {\r\n if (i === detentIndex) continue;\r\n const detent = this.#computeDetent(this.detents[i]);\r\n if (detent === undefined) continue;\r\n if (detent < currentValue && detent > value) {\r\n value = detent;\r\n nextDetent = i;\r\n }\r\n }\r\n return nextDetent;\r\n }\r\n\r\n /** @private */\r\n #computeDetent(detent: string): number | undefined {\r\n const value = detent.endsWith(\"px\") ? this.clientWidth / parseFloat(detent) : parseFloat(detent);\r\n return !isNaN(value) ? value : undefined;\r\n }\r\n\r\n /** @private */\r\n #clearSnapAnimation(): void {\r\n this.#snapAnimation?.cancel();\r\n this.#snapAnimation = undefined;\r\n }\r\n\r\n /** @private */\r\n #snapToValue(value: number, emitChange = true): void {\r\n this.#clearSnapAnimation();\r\n\r\n value = Math.max(this.min, Math.min(this.max, value));\r\n if (value === this.value) return;\r\n\r\n if (!prefersReducedMotion()) {\r\n addCustomState(this, \"--animating\");\r\n\r\n this.#snapAnimation = this._base.animate(\r\n [{ \"--_split-pane-value\": `${this.value}%` }, { \"--_split-pane-value\": `${value}%` }],\r\n {\r\n duration: 250,\r\n easing: \"cubic-bezier(0.2, 0.0, 0, 1.0)\",\r\n },\r\n );\r\n this.#snapAnimation.onfinish = () => {\r\n this.#changeValue(value, emitChange);\r\n this.#snapAnimation = undefined;\r\n deleteCustomState(this, \"--animating\");\r\n };\r\n } else {\r\n this.#changeValue(value, emitChange);\r\n }\r\n }\r\n\r\n /** @private */\r\n #cycleDetent(): void {\r\n if (this.detents.length === 0) return;\r\n\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent === -1) return;\r\n\r\n let next = this.#getNextHigherDetent(detent);\r\n if (next === detent && this.wrapDetents) {\r\n next = this.#getClosestDetent(0);\r\n if (next === -1) return;\r\n }\r\n\r\n const value = this.#computeDetent(this.detents[next]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value);\r\n }\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-split-pane\": M3eSplitPaneElement;\r\n }\r\n}\r\n"],"names":["M3eSplitPaneElement","FormAssociated","Disabled","ReconnectedCallback","AttachInternals","LitElement","constructor","_M3eSplitPaneElement_breakpointUnobserve","set","this","_M3eSplitPaneElement_dragState","_M3eSplitPaneElement_valueChanged","_M3eSplitPaneElement_snapAnimation","_M3eSplitPaneElement_pressedController","PressedController","target","isPressedKey","key","minPressedDuration","callback","pressed","setCustomState","disabled","_M3eSplitPaneElement_startMutationController","MutationController","config","attributeFilter","__classPrivateFieldGet","_M3eSplitPaneElement_instances","_M3eSplitPaneElement_updatePaneVisibility","call","_M3eSplitPaneElement_endMutationController","value","min","max","overshootLimit","step","detents","wrapDetents","orientation","label","valueFormatter","dir","Math","round","currentOrientation","_orientation","WeakMap","WeakSet","formValue","toString","collapse","snapToValue","expand","detent","_M3eSplitPaneElement_getClosestDetent","_M3eSplitPaneElement_computeDetent","_M3eSplitPaneElement_changeValue","_M3eSplitPaneElement_snapToValue","disconnectedCallback","super","_M3eSplitPaneElement_clearOrientation","unobserve","_dragHandle","reconnectedCallback","_M3eSplitPaneElement_initialize","_M3eSplitPaneElement_initBreakpointMonitoring","willUpdate","changedProperties","has","undefined","_M3eSplitPaneElement_updateOrientation","updated","_changedProperties","_base","style","setProperty","firstUpdated","render","html","_M3eSplitPaneElement_handleStartSlotChange","_M3eSplitPaneElement_renderDragHandle","_M3eSplitPaneElement_handleEndSlotChange","ifDefined","M3eDirectionality","current","_M3eSplitPaneElement_handlePointerDown","_M3eSplitPaneElement_handlePointerUp","_M3eSplitPaneElement_handlePointerMove","_M3eSplitPaneElement_handleKeyDown","_M3eSplitPaneElement_cycleDetent","nothing","e","_M3eSplitPaneElement_handleSlotChange","slot","mutationController","state","targets","assignedElements","Array","_M3eSplitPaneElement_hasVisibleElements","element","HTMLElement","observe","pane","shadowRoot","querySelector","push","flatten","length","every","x","hasAttribute","__classPrivateFieldSet","M3eBreakpointObserver","Breakpoint","XSmall","matches","get","deleteCustomState","pointerType","button","setPointerCapture","pointerId","startPos","clientY","clientX","startValue","cachedSize","clientHeight","clientWidth","hasPointerCapture","pos","delta","overshoot","compressed","releasePointerCapture","dispatchEvent","Event","bubbles","composed","ltr","preventDefault","nextDetent","_M3eSplitPaneElement_getNextLowerDetent","_M3eSplitPaneElement_getNextHigherDetent","next","emitChange","allowOvershoot","_M3eSplitPaneElement_clearSnapAnimation","prev","cancelable","closestDetent","closestDistance","Infinity","i","distance","abs","detentIndex","currentValue","endsWith","parseFloat","isNaN","cancel","prefersReducedMotion","addCustomState","animate","duration","easing","onfinish","registerStyleSheet","css","styles","DesignToken","color","onSurface","unsafeCSS","motion","short4","standard","spring","fastEffects","outline","shape","corner","full","medium","__decorate","prototype","query","property","type","Number","attribute","converter","spaceSeparatedStringConverter","Boolean","customElement"],"mappings":";;;;;k1BAkGO,IAAMA,GAAN,cAAkCC,EAAeC,EAASC,EAAoBC,EAAgBC,OAA9FC,WAAAA,mCAgIWC,EAAAC,IAAAC,aAKAC,EAAAF,IAAAC,aACAE,EAAAH,IAAAC,MAAgB,GAChBG,EAAAJ,IAAAC,aAGPI,EAAAL,IAAAC,KAAqB,IAAIK,EAAkBL,KAAM,CACxDM,OAAQ,KACRC,aAAeC,GAAgB,MAARA,EACvBC,mBAAoB,IACpBC,SAAWC,GAAYC,EAAeZ,KAAM,YAAaW,IAAYX,KAAKa,aAInEC,EAAAf,IAAAC,KAA2B,IAAIe,EAAmBf,KAAM,CAC/DM,OAAQ,KACRU,OAAQ,CAAEC,gBAAiB,CAAC,WAC5BP,SAAUA,IAAMQ,EAAAlB,KAAImB,EAAA,IAAAC,GAAsBC,KAA1BrB,KAA2B,YAIpCsB,EAAAvB,IAAAC,KAAyB,IAAIe,EAAmBf,KAAM,CAC7DM,OAAQ,KACRU,OAAQ,CAAEC,gBAAiB,CAAC,WAC5BP,SAAUA,IAAMQ,EAAAlB,KAAImB,EAAA,IAAAC,GAAsBC,KAA1BrB,KAA2B,UAOjBA,KAAAuB,MAAQ,GAMRvB,KAAAwB,IAAM,EAMNxB,KAAAyB,IAAM,IAMwBzB,KAAA0B,eAAiB,EAM/C1B,KAAA2B,KAAO,EAM2C3B,KAAA4B,QAAoB,GAM1C5B,KAAA6B,aAAc,EAM1D7B,KAAA8B,YAAoC,aAMpC9B,KAAA+B,MAAgB,eAGhB/B,KAAAgC,eAIc,CAACT,EAAOO,EAAaG,KAE7C,IADAV,EAAQW,KAAKC,MAAMZ,KACN,IAAMA,GAAS,GAC1B,MAAO,sBAGT,OAAQA,GACN,KAAK,EACH,MAAuB,eAAhBO,EACK,QAARG,EACE,sBACA,uBACF,qBACN,KAAK,IACH,MAAuB,eAAhBH,EACK,QAARG,EACE,uBACA,sBACF,wBACN,QACE,MAAuB,eAAhBH,EACK,QAARG,EACE,aAAaV,kBAAsB,IAAMA,KACzC,aAAa,IAAMA,kBAAsBA,KAC3C,YAAYA,mBAAuB,IAAMA,MA0jBrD,CArjBE,sBAAIa,GACF,OAAOpC,KAAKqC,eAAsC,aAArBrC,KAAK8B,YAA6B,aAAe,WAChF,CAGA,KAAahC,EAAA,IAAAwC,QAAArC,EAAA,IAAAqC,QAAApC,EAAA,IAAAoC,QAAAnC,EAAA,IAAAmC,QAAAlC,EAAA,IAAAkC,QAAAxB,EAAA,IAAAwB,QAAAhB,EAAA,IAAAgB,QAAAnB,EAAA,IAAAoB,QAACC,MACZ,OAAOxC,KAAKuB,OAAOkB,YAAc,IACnC,CAMAC,QAAAA,GACE1C,KAAK2C,YAAY3C,KAAKwB,IACxB,CAMAoB,MAAAA,GACE5C,KAAK2C,YAAY3C,KAAKyB,IACxB,CAOAkB,WAAAA,CAAYpB,GACV,MAAMsB,EAAS3B,EAAAlB,KAAImB,EAAA,IAAA2B,QAAJ9C,KAAuBuB,GACtCA,EAAQsB,GAAS,EAAK3B,EAAAlB,KAAImB,EAAA,IAAA4B,IAAe1B,KAAnBrB,KAAoBA,KAAK4B,QAAQiB,IAAYtB,EAC9DL,EAAAlB,KAAIG,EAAA,KAGPe,EAAAlB,KAAImB,EAAA,IAAA6B,GAAa3B,KAAjBrB,KAAkBuB,GAFlBL,EAAAlB,KAAImB,EAAA,IAAA8B,IAAa5B,KAAjBrB,KAAkBuB,EAItB,CAGS2B,oBAAAA,GACPC,MAAMD,uBAENhC,EAAAlB,KAAImB,EAAA,IAAAiC,GAAkB/B,KAAtBrB,MACAkB,EAAAlB,YAAwBqD,UAAUrD,KAAKsD,YACzC,CAGSC,mBAAAA,GACPJ,MAAMI,sBAENrC,EAAAlB,KAAImB,EAAA,IAAAqC,GAAYnC,KAAhBrB,MAEyB,SAArBA,KAAK8B,aACPZ,EAAAlB,KAAImB,EAAA,IAAAsC,GAA0BpC,KAA9BrB,KAEJ,CAGmB0D,UAAAA,CAAWC,GAC5BR,MAAMO,WAAWC,GAEbA,EAAkBC,IAAI,iBACxB1C,EAAAlB,KAAIF,EAAA,MAAuBuB,KAA3BrB,MAEyB,SAArBA,KAAK8B,YACPZ,EAAAlB,KAAImB,EAAA,IAAAsC,GAA0BpC,KAA9BrB,OAEAA,KAAKqC,kBAAewB,EACpB3C,EAAAlB,KAAImB,EAAA,IAAA2C,GAAmBzC,KAAvBrB,OAGN,CAGmB+D,OAAAA,CAAQC,GACzBb,MAAMY,QAAQC,GACVA,EAAmBJ,IAAI,UACzB5D,KAAKiE,MAAMC,MAAMC,YAAY,sBAAuB,GAAGnE,KAAKuB,SAEhE,CAGmB6C,YAAAA,CAAaJ,GAC9Bb,MAAMiB,aAAaJ,GACnB9C,EAAAlB,KAAImB,EAAA,IAAAqC,GAAYnC,KAAhBrB,KACF,CAGmBqE,MAAAA,GACjB,OAAOC,CAAI,2DAC+BtE,KAAKuB,OAAS,sCAClBL,EAAAlB,KAAImB,EAAA,IAAAoD,oBAEtCrD,EAAAlB,KAAImB,EAAA,IAAAqD,GAAkBnD,KAAtBrB,iCACyBA,KAAKuB,OAAS,sCACPL,EAAAlB,KAAImB,EAAA,IAAAsD,yBAG1C,gBAIE,OAAOH,CAAI,wEAIGI,EAAU1E,KAAKa,cAAWgD,EAAY,mBACpC7D,KAAK+B,+CAEF2C,EAAU1E,KAAKa,SAAW,YAASgD,yBACJ,eAA5B7D,KAAKoC,mBAAsC,WAAa,gCAC3DpC,KAAKwB,uBACLxB,KAAKyB,uBACLzB,KAAKuB,0BACJmD,EAChB1E,KAAKgC,iBAAiBhC,KAAKuB,MAAOvB,KAAKoC,mBAAoBuC,EAAkBC,4BAE/D1D,EAAAlB,KAAImB,EAAA,IAAA0D,mBACN3D,EAAAlB,KAAImB,EAAA,IAAA2D,qBACF5D,EAAAlB,KAAImB,EAAA,IAAA4D,iBACR7D,EAAAlB,KAAImB,EAAA,IAAA6D,kBACH9D,EAAAlB,KAAImB,EAAA,IAAA8D,QAEfjF,KAAKa,SACHqE,EACAZ,CAAI,qKAMZ,aAGuBa,GACrBjE,EAAAlB,KAAImB,EAAA,IAAAiE,GAAkB/D,KAAtBrB,KAAuBmF,EAAE7E,OAA2BY,EAAAlB,KAAIc,EAAA,KAA2B,eACrF,aAGqBqE,GACnBjE,EAAAlB,KAAImB,EAAA,IAAAiE,GAAkB/D,KAAtBrB,KAAuBmF,EAAE7E,OAA2BY,EAAAlB,KAAIsB,EAAA,KAAyB,aACnF,aAGkB+D,EAAuBC,EAAwCC,GAC/E,IAAK,MAAMjF,KAAUgF,EAAmBE,QACtCF,EAAmBjC,UAAU/C,GAG/B,MAAMmF,EAAmB,IAAIC,MAC7B9E,EAAeZ,KAAMuF,EAAOrE,EAAAlB,KAAImB,EAAA,IAAAwE,GAAoBtE,KAAxBrB,KAAyBqF,EAAMI,IAE3D,IAAK,MAAMG,KAAWH,EAChBG,aAAmBC,aACrBP,EAAmBQ,QAAQF,EAGjC,aAGsBG,GACpBnF,EACEZ,KACA,UAAU+F,IACV7E,EAAAlB,KAAImB,EAAA,IAAAwE,GAAoBtE,KAAxBrB,KAAyBA,KAAKgG,YAAYC,cAA+B,cAAcF,QAE3F,EAGoBJ,EAAA,SAAAN,EAA+BI,GAGjD,OAFAA,EAAmBA,GAAoB,IACtBS,QAASb,GAAMI,iBAAiB,CAAEU,SAAS,KAAW,IAChEV,EAAiBW,OAAS,IAAMX,EAAiBY,MAAOC,GAAMA,EAAEC,aAAa,UACtF,eAIErF,EAAAlB,YAAwB8F,QAAQ9F,KAAKsD,YACvC,eAIEkD,EAAAxG,KAAIF,EAAwB2G,EAAsBX,QAAQ,CAACY,EAAWC,QAAUC,IAC9E5G,KAAKqC,aAAeuE,EAAQC,IAAIH,EAAWC,QAAU,WAAa,aAClEzF,EAAAlB,KAAImB,EAAA,IAAA2C,GAAmBzC,KAAvBrB,YAEJ,eAIEY,EAAeZ,KAAM,aAA0C,aAA5BA,KAAKoC,mBAC1C,eAIE0E,EAAkB9G,KAAM,cACxBA,KAAKqC,kBAAewB,EACpB3C,EAAAlB,KAAIF,EAAA,MAAuBuB,KAA3BrB,MACAwG,EAAAxG,KAAIF,OAAwB+D,EAAS,IACvC,aAGmBsB,GACjB,GAAsB,UAAlBA,EAAE4B,aAA2B5B,EAAE6B,OAAS,EAAG,OAC/C,GAAIhH,KAAKa,SAAU,OAEnBb,KAAKsD,YAAY2D,kBAAkB9B,EAAE+B,WACrCV,EAAAxG,KAAIE,GAAiB,EAAK,KAE1B,IAAIsB,EAAMxB,KAAKwB,IACf,GAAY,IAARA,GAAaxB,KAAK4B,QAAQwE,OAAS,EAAG,CACxC,MAAMvD,EAAS3B,EAAAlB,KAAImB,EAAA,IAAA2B,QAAJ9C,KAAuB,GAClC6C,GAAS,IACXrB,EAAMN,EAAAlB,eAAmBqB,KAAnBrB,KAAoBA,KAAK4B,QAAQiB,KAAY7C,KAAKwB,IAE5D,CAEA,IAAIC,EAAMzB,KAAKyB,IACf,GAAY,MAARA,GAAezB,KAAK4B,QAAQwE,OAAS,EAAG,CAC1C,MAAMvD,EAAS3B,EAAAlB,KAAImB,EAAA,IAAA2B,QAAJ9C,KAAuB,KAClC6C,GAAS,IACXpB,EAAMP,EAAAlB,eAAmBqB,KAAnBrB,KAAoBA,KAAK4B,QAAQiB,KAAY7C,KAAKyB,IAE5D,CAEA+E,EAAAxG,KAAIC,EAAc,CAChBkH,SAAsC,aAA5BnH,KAAKoC,mBAAoC+C,EAAEiC,QAAUjC,EAAEkC,QACjEC,WAAYtH,KAAKuB,MACjBgG,WAAwC,aAA5BvH,KAAKoC,mBAAoCpC,KAAKwH,aAAexH,KAAKyH,YAC9EjG,MACAC,OACD,IACH,aAGmB0D,GACjB,IAAKnF,KAAKsD,YAAYoE,kBAAkBvC,EAAE+B,aAAehG,EAAAlB,KAAIC,EAAA,KAAa,OAE1E,MAAM0H,EAAkC,aAA5B3H,KAAKoC,mBAAoC+C,EAAEiC,QAAUjC,EAAEkC,QAEnE,IAAIO,EACF1G,EAAAlB,YAAgBuH,WAAa,GAAMI,EAAMzG,EAAAlB,KAAIC,EAAA,KAAYkH,UAAYjG,EAAAlB,KAAIC,EAAA,KAAYsH,WAAc,IAAM,EACzE,QAA9B5C,EAAkBC,SAAiD,aAA5B5E,KAAKoC,qBAC9CwF,GAASA,GAGX,IAAIrG,EAAQL,EAAAlB,YAAgBsH,WAAaM,EACzC,GAAIrG,EAAQL,EAAAlB,YAAgBwB,IAAK,CAC/B,MAAMqG,EAAY3G,EAAAlB,YAAgBwB,IAAMD,EAClCuG,EAAc9H,KAAK0B,eAAiBmG,GAAcA,EAAY7H,KAAK0B,gBACzEH,EAAQL,EAAAlB,KAAIC,EAAA,KAAYuB,IAAMsG,CAChC,MAAO,GAAIvG,EAAQL,EAAAlB,YAAgByB,IAAK,CACtC,MAAMoG,EAAYtG,EAAQL,EAAAlB,KAAIC,EAAA,KAAYwB,IACpCqG,EAAc9H,KAAK0B,eAAiBmG,GAAcA,EAAY7H,KAAK0B,gBACzEH,EAAQL,EAAAlB,KAAIC,EAAA,KAAYwB,IAAMqG,CAChC,CAEI5G,EAAAlB,KAAImB,EAAA,IAAA6B,GAAa3B,KAAjBrB,KAAkBuB,GAAO,GAAO,IAClCiF,EAAAxG,KAAIE,GAAiB,EAAI,IAE7B,aAGiBiF,GACf,KAAsB,UAAlBA,EAAE4B,aAA2B5B,EAAE6B,OAAS,IACxChH,KAAKsD,YAAYoE,kBAAkBvC,EAAE+B,WAAY,CACnDlH,KAAKsD,YAAYyE,sBAAsB5C,EAAE+B,WACzCV,EAAAxG,KAAIC,OAAc4D,EAAS,KAE3B,MAAMhB,EAAS3B,EAAAlB,KAAImB,EAAA,IAAA2B,GAAkBzB,KAAtBrB,KAAuBA,KAAKuB,OAC3C,GAAIsB,GAAU,EAAG,CACf,MAAMtB,EAAQL,EAAAlB,eAAmBqB,KAAnBrB,KAAoBA,KAAK4B,QAAQiB,SACjCgB,IAAVtC,GACFL,EAAAlB,eAAiBqB,KAAjBrB,KAAkBuB,GAAO,EAE7B,MAAWvB,KAAKuB,MAAQvB,KAAKwB,IAC3BN,EAAAlB,KAAImB,EAAA,IAAA8B,IAAa5B,KAAjBrB,KAAkBA,KAAKwB,KAAK,GACnBxB,KAAKuB,MAAQvB,KAAKyB,KAC3BP,EAAAlB,KAAImB,EAAA,IAAA8B,IAAa5B,KAAjBrB,KAAkBA,KAAKyB,KAAK,GAG1BP,EAAAlB,KAAIE,EAAA,OACNF,KAAKgI,cAAc,IAAIC,MAAM,SAAU,CAAEC,SAAS,EAAMC,UAAU,KAClE3B,EAAAxG,KAAIE,GAAiB,EAAK,KAE9B,CACF,aAGeiF,GACb,MAAMiD,EAAoC,QAA9BzD,EAAkBC,SAAiD,aAA5B5E,KAAKoC,mBACxD,OAAQ+C,EAAE3E,KACR,IAAK,KACL,IAAK,UACL,IAAK,OACL,IAAK,YAAa,CAChB2E,EAAEkD,iBACF,MAAMxF,EAAS3B,EAAAlB,KAAImB,EAAA,IAAA2B,GAAkBzB,KAAtBrB,KAAuBA,KAAKuB,OAC3C,GAAIsB,GAAU,EAAG,CACf,MAAMyF,EAAaF,EAAMlH,EAAAlB,KAAImB,EAAA,IAAAoH,IAAoBlH,KAAxBrB,KAAyB6C,GAAU3B,EAAAlB,KAAImB,EAAA,IAAAqH,IAAqBnH,KAAzBrB,KAA0B6C,GACtF,GAAIyF,IAAezF,IAAW3B,EAAAlB,KAAIG,EAAA,KAAiB,CACjD,MAAMoB,EAAQL,EAAAlB,eAAmBqB,KAAnBrB,KAAoBA,KAAK4B,QAAQ0G,SACjCzE,IAAVtC,GACFL,EAAAlB,KAAImB,EAAA,IAAA8B,IAAa5B,KAAjBrB,KAAkBuB,EAEtB,CACF,MAAWvB,KAAK2B,KAAO,EAChBT,EAAAlB,KAAIG,EAAA,MACPe,EAAAlB,KAAImB,EAAA,IAAA8B,IAAa5B,KAAjBrB,KAAkBA,KAAKuB,OAAS6G,GAAOpI,KAAK2B,KAAO3B,KAAK2B,OAG1DT,EAAAlB,KAAImB,EAAA,IAAA6B,GAAa3B,KAAjBrB,KAAkBA,KAAKuB,OAAS6G,GAAOpI,KAAK2B,KAAO3B,KAAK2B,OAE1D,KACF,CAEA,IAAK,OACL,IAAK,YACL,IAAK,QACL,IAAK,aAAc,CACjBwD,EAAEkD,iBACF,MAAMxF,EAAS3B,EAAAlB,KAAImB,EAAA,IAAA2B,GAAkBzB,KAAtBrB,KAAuBA,KAAKuB,OAC3C,GAAIsB,GAAU,EAAG,CACf,MAAMyF,EAAaF,EAAMlH,EAAAlB,KAAImB,EAAA,IAAAqH,IAAqBnH,KAAzBrB,KAA0B6C,GAAU3B,EAAAlB,KAAImB,EAAA,IAAAoH,IAAoBlH,KAAxBrB,KAAyB6C,GACtF,GAAIyF,IAAezF,IAAW3B,EAAAlB,KAAIG,EAAA,KAAiB,CACjD,MAAMoB,EAAQL,EAAAlB,eAAmBqB,KAAnBrB,KAAoBA,KAAK4B,QAAQ0G,SACjCzE,IAAVtC,GACFL,EAAAlB,KAAImB,EAAA,IAAA8B,IAAa5B,KAAjBrB,KAAkBuB,EAEtB,CACF,MAAWvB,KAAK2B,KAAO,EAChBT,EAAAlB,KAAIG,EAAA,MACPe,EAAAlB,KAAImB,EAAA,IAAA8B,IAAa5B,KAAjBrB,KAAkBA,KAAKuB,OAAS6G,EAAMpI,KAAK2B,MAAQ3B,KAAK2B,OAG1DT,EAAAlB,KAAImB,EAAA,IAAA6B,GAAa3B,KAAjBrB,KAAkBA,KAAKuB,OAAS6G,EAAMpI,KAAK2B,MAAQ3B,KAAK2B,OAG1D,KACF,CAEA,IAAK,OAEH,GADAwD,EAAEkD,kBACGnH,EAAAlB,KAAIG,EAAA,KAAiB,CACxB,MAAMsI,EAAOvH,EAAAlB,KAAImB,EAAA,IAAA2B,GAAkBzB,KAAtBrB,KAAuBA,KAAKwB,KACrCiH,GAAO,EACTvH,EAAAlB,KAAImB,EAAA,IAAA8B,IAAa5B,KAAjBrB,KAAkBkB,EAAAlB,KAAImB,EAAA,IAAA4B,IAAe1B,KAAnBrB,KAAoBA,KAAK4B,QAAQ6G,KAEnDvH,EAAAlB,eAAiBqB,KAAjBrB,KAAkBA,KAAKwB,IAE3B,CAEA,MAGF,IAAK,MAEH,GADA2D,EAAEkD,kBACGnH,EAAAlB,KAAIG,EAAA,KAAiB,CACxB,MAAMsI,EAAOvH,EAAAlB,KAAImB,EAAA,IAAA2B,GAAkBzB,KAAtBrB,KAAuBA,KAAKyB,KACrCgH,GAAO,EACTvH,EAAAlB,KAAImB,EAAA,IAAA8B,IAAa5B,KAAjBrB,KAAkBkB,EAAAlB,KAAImB,EAAA,IAAA4B,IAAe1B,KAAnBrB,KAAoBA,KAAK4B,QAAQ6G,KAEnDvH,EAAAlB,eAAiBqB,KAAjBrB,KAAkBA,KAAKyB,IAE3B,CAEA,MAGF,IAAK,SAEH,GADA0D,EAAEkD,kBACGnH,EAAAlB,KAAIG,EAAA,KAAiB,CACxB,MAAM0C,EAAS3B,EAAAlB,KAAImB,EAAA,IAAA2B,GAAkBzB,KAAtBrB,KAAuBA,KAAKuB,OAC3C,GAAIsB,GAAU,EAAG,CACf,MAAMyF,EAAapH,EAAAlB,KAAImB,EAAA,IAAAoH,SAAJvI,KAAyB6C,GAC5C,GAAIyF,IAAezF,EAAQ,CACzB,MAAMtB,EAAQL,EAAAlB,eAAmBqB,KAAnBrB,KAAoBA,KAAK4B,QAAQ0G,SACjCzE,IAAVtC,GACFL,EAAAlB,KAAImB,EAAA,IAAA8B,IAAa5B,KAAjBrB,KAAkBuB,EAEtB,CACF,MACEL,EAAAlB,eAAiBqB,KAAjBrB,KAAkBA,KAAKuB,MAAQW,KAAKT,IAAI,GAAIzB,KAAK2B,MAErD,CAEA,MAGF,IAAK,WAEH,GADAwD,EAAEkD,kBACGnH,EAAAlB,KAAIG,EAAA,KAAiB,CACxB,MAAM0C,EAAS3B,EAAAlB,KAAImB,EAAA,IAAA2B,GAAkBzB,KAAtBrB,KAAuBA,KAAKuB,OAC3C,GAAIsB,GAAU,EAAG,CACf,MAAMyF,EAAapH,EAAAlB,KAAImB,EAAA,IAAAqH,SAAJxI,KAA0B6C,GAC7C,GAAIyF,IAAezF,EAAQ,CACzB,MAAMtB,EAAQL,EAAAlB,eAAmBqB,KAAnBrB,KAAoBA,KAAK4B,QAAQ0G,SACjCzE,IAAVtC,GACFL,EAAAlB,KAAImB,EAAA,IAAA8B,IAAa5B,KAAjBrB,KAAkBuB,EAEtB,CACF,MACEL,EAAAlB,eAAiBqB,KAAjBrB,KAAkBA,KAAKuB,MAAQW,KAAKT,IAAI,GAAIzB,KAAK2B,MAErD,CAEA,MAGF,IAAK,QACET,EAAAlB,KAAIG,EAAA,MACPe,EAAAlB,KAAImB,EAAA,IAAA8D,IAAa5D,KAAjBrB,MAGF,MAEF,IAAK,IACHmF,EAAEkD,iBACGnH,EAAAlB,KAAIG,EAAA,MACPe,EAAAlB,KAAImB,EAAA,IAAA8D,IAAa5D,KAAjBrB,MAIR,EAGagD,EAAA,SAAAzB,EAAemH,GAAa,EAAMC,GAAiB,GAO9D,GANAzH,EAAAlB,KAAImB,EAAA,IAAAyH,IAAoBvH,KAAxBrB,MAEK2I,IACHpH,EAAQW,KAAKT,IAAIzB,KAAKwB,IAAKU,KAAKV,IAAIxB,KAAKyB,IAAKF,KAG5CA,GAASvB,KAAKuB,MAAO,CACvB,MAAMsH,EAAO7I,KAAKuB,MAGlB,GAFAvB,KAAKuB,MAAQA,EAETvB,KAAKgI,cAAc,IAAIC,MAAM,QAAS,CAAEC,SAAS,EAAMC,UAAU,EAAMW,YAAY,KAKrF,OAJA9I,KAAKiE,MAAMC,MAAMC,YAAY,sBAAuB,GAAGnE,KAAKuB,UACxDmH,GACF1I,KAAKgI,cAAc,IAAIC,MAAM,SAAU,CAAEC,SAAS,EAAMC,UAAU,MAE7D,EAEPnI,KAAKuB,MAAQsH,CAEjB,CACA,OAAO,CACT,aAGkBtH,GAChB,IAAIwH,GAAgB,EAChBC,EAAkBC,IAEtB,IAAK,IAAIC,EAAI,EAAGA,EAAIlJ,KAAK4B,QAAQwE,OAAQ8C,IAAK,CAC5C,MAAMrG,EAAS3B,EAAAlB,eAAmBqB,KAAnBrB,KAAoBA,KAAK4B,QAAQsH,IAChD,QAAerF,IAAXhB,EAAsB,SAE1B,MAAMsG,EAAWjH,KAAKkH,IAAI7H,EAAQsB,GAC9BsG,EAAWH,IACbA,EAAkBG,EAClBJ,EAAgBG,EAEpB,CACA,OAAOH,CACT,cAGqBM,GACnB,MAAMC,EAAepI,EAAAlB,eAAmBqB,KAAnBrB,KAAoBA,KAAK4B,QAAQyH,IACtD,QAAqBxF,IAAjByF,EAA4B,OAAOD,EAEvC,IAAI9H,EAAQ0H,IACRX,EAAae,EACjB,IAAK,IAAIH,EAAI,EAAGA,EAAIlJ,KAAK4B,QAAQwE,OAAQ8C,IAAK,CAC5C,GAAIA,IAAMG,EAAa,SACvB,MAAMxG,EAAS3B,EAAAlB,eAAmBqB,KAAnBrB,KAAoBA,KAAK4B,QAAQsH,SACjCrF,IAAXhB,IACAA,EAASyG,GAAgBzG,EAAStB,IACpCA,EAAQsB,EACRyF,EAAaY,GAEjB,CACA,OAAOZ,CACT,cAGoBe,GAClB,MAAMC,EAAepI,EAAAlB,eAAmBqB,KAAnBrB,KAAoBA,KAAK4B,QAAQyH,IACtD,QAAqBxF,IAAjByF,EAA4B,OAAOD,EAEvC,IAAI9H,GAAS0H,IACTX,EAAae,EACjB,IAAK,IAAIH,EAAI,EAAGA,EAAIlJ,KAAK4B,QAAQwE,OAAQ8C,IAAK,CAC5C,GAAIA,IAAMG,EAAa,SACvB,MAAMxG,EAAS3B,EAAAlB,eAAmBqB,KAAnBrB,KAAoBA,KAAK4B,QAAQsH,SACjCrF,IAAXhB,IACAA,EAASyG,GAAgBzG,EAAStB,IACpCA,EAAQsB,EACRyF,EAAaY,GAEjB,CACA,OAAOZ,CACT,cAGezF,GACb,MAAMtB,EAAQsB,EAAO0G,SAAS,MAAQvJ,KAAKyH,YAAc+B,WAAW3G,GAAU2G,WAAW3G,GACzF,OAAQ4G,MAAMlI,QAAiBsC,EAARtC,CACzB,gBAIEL,EAAAlB,KAAIG,EAAA,MAAiBuJ,SACrBlD,EAAAxG,KAAIG,OAAkB0D,EAAS,IACjC,cAGatC,EAAemH,GAAa,GACvCxH,EAAAlB,KAAImB,EAAA,IAAAyH,IAAoBvH,KAAxBrB,OAEAuB,EAAQW,KAAKT,IAAIzB,KAAKwB,IAAKU,KAAKV,IAAIxB,KAAKyB,IAAKF,OAChCvB,KAAKuB,QAEdoI,IAgBHzI,EAAAlB,cAAiBqB,KAAjBrB,KAAkBuB,EAAOmH,IAfzBkB,EAAe5J,KAAM,eAErBwG,EAAAxG,KAAIG,EAAkBH,KAAKiE,MAAM4F,QAC/B,CAAC,CAAE,sBAAuB,GAAG7J,KAAKuB,UAAY,CAAE,sBAAuB,GAAGA,OAC1E,CACEuI,SAAU,IACVC,OAAQ,wCAGZ7I,EAAAlB,KAAIG,EAAA,KAAgB6J,SAAW,KAC7B9I,EAAAlB,cAAiBqB,KAAjBrB,KAAkBuB,EAAOmH,GACzBlC,EAAAxG,KAAIG,OAAkB0D,EAAS,KAC/BiD,EAAkB9G,KAAM,iBAK9B,gBAIE,GAA4B,IAAxBA,KAAK4B,QAAQwE,OAAc,OAE/B,MAAMvD,EAAS3B,EAAAlB,KAAImB,EAAA,IAAA2B,GAAkBzB,KAAtBrB,KAAuBA,KAAKuB,OAC3C,IAAe,IAAXsB,EAAe,OAEnB,IAAI4F,EAAOvH,EAAAlB,KAAImB,EAAA,IAAAqH,SAAJxI,KAA0B6C,GACrC,GAAI4F,IAAS5F,GAAU7C,KAAK6B,cAC1B4G,EAAOvH,EAAAlB,KAAImB,EAAA,IAAA2B,QAAJ9C,KAAuB,IACjB,IAATyI,GAAa,OAGnB,MAAMlH,EAAQL,EAAAlB,eAAmBqB,KAAnBrB,KAAoBA,KAAK4B,QAAQ6G,SACjC5E,IAAVtC,GACFL,EAAAlB,KAAImB,EAAA,IAAA8B,IAAa5B,KAAjBrB,KAAkBuB,EAEtB,EAzyBE0I,EAAmBC,CAAG,4HASR3K,GAAA4K,OAAyBD,CAAG,klCA0CuCE,EAAYC,MAAMC,kLAElBF,EAAYC,MAAMC,+dAenFC,EAAU,oBAAoBH,EAAYI,OAAOV,SAASW,UAAUL,EAAYI,OAAOT,OAAOW,4BAClGN,EAAYI,OAAOG,OAAOC,uBAAuBR,EAAYI,OAAOG,OAAOC,mTAazBR,EAAYC,MAAMQ,oEACrBT,EAAYU,MAAMC,OAAOC,kIAGdZ,EAAYC,MAAMC,8EACrBF,EAAYU,MAAMC,OAAOE,s4CAsCrEC,EAAA,CAAR3F,KAA6DhG,GAAA4L,UAAA,uBAGtCD,EAAA,CAAvBE,EAAM,UAAqC7L,GAAA4L,UAAA,gBACbD,EAAA,CAA9BE,EAAM,iBAAkD7L,GAAA4L,UAAA,sBAgC7CD,EAAA,CAA3BG,EAAS,CAAEC,KAAMC,UAAqBhM,GAAA4L,UAAA,aAAA,GAMXD,EAAA,CAA3BG,EAAS,CAAEC,KAAMC,UAAkBhM,GAAA4L,UAAA,WAAA,GAMRD,EAAA,CAA3BG,EAAS,CAAEC,KAAMC,UAAoBhM,GAAA4L,UAAA,WAAA,GAMoBD,EAAA,CAAzDG,EAAS,CAAEG,UAAW,kBAAmBF,KAAMC,UAA6BhM,GAAA4L,UAAA,sBAAA,GAMjDD,EAAA,CAA3BG,EAAS,CAAEC,KAAMC,UAAmBhM,GAAA4L,UAAA,YAAA,GAMyCD,EAAA,CAA7EG,EAAS,CAAEG,UAAW,UAAWC,UAAWC,KAAwDnM,GAAA4L,UAAA,eAAA,GAM7CD,EAAA,CAAvDG,EAAS,CAAEG,UAAW,eAAgBF,KAAMK,WAA+BpM,GAAA4L,UAAA,mBAAA,GAMhED,EAAA,CAAXG,KAA4D9L,GAAA4L,UAAA,sBAMjDD,EAAA,CAAXG,KAA0C9L,GAAA4L,UAAA,gBAG/BD,EAAA,CAAXG,KA8BC9L,GAAA4L,UAAA,yBApPS5L,GAAmB2L,EAAA,CAD/BU,EAAc,mBACFrM"}
|
|
1
|
+
{"version":3,"file":"split-pane.min.js","sources":["../../src/split-pane/SplitPaneElement.ts"],"sourcesContent":["import { css, CSSResultGroup, html, LitElement, nothing, PropertyValues, unsafeCSS } from \"lit\";\r\nimport { property, query, state } from \"lit/decorators.js\";\r\nimport { ifDefined } from \"lit/directives/if-defined.js\";\r\n\r\nimport {\r\n addCustomState,\r\n AttachInternals,\r\n customElement,\r\n deleteCustomState,\r\n DesignToken,\r\n Disabled,\r\n FormAssociated,\r\n formValue,\r\n MutationController,\r\n prefersReducedMotion,\r\n PressedController,\r\n ReconnectedCallback,\r\n registerStyleSheet,\r\n setCustomState,\r\n spaceSeparatedStringConverter,\r\n} from \"@m3e/web/core\";\r\n\r\nimport { Breakpoint, M3eBreakpointObserver } from \"@m3e/web/core/layout\";\r\nimport { Direction, M3eDirectionality } from \"@m3e/web/core/bidi\";\r\n\r\nimport { SplitPaneOrientation } from \"./SplitPaneOrientation\";\r\n\r\n/**\r\n * A dual-view layout that separates content with a movable drag handle.\r\n * @description\r\n * The `m3e-split-pane` component delivers a Material 3-inspired split view with a\r\n * movable drag handle, enabling responsive layout composition and pane resizing.\r\n * It supports keyboard interaction, adaptive orientation, and optional detent snapping\r\n * for consistent, accessible content distribution.\r\n *\r\n * @example\r\n * The following example illustrates the basic use of the `m3e-split-pane` with start and end content.\r\n * In this example, the start pane occupies 25% of the available width.\r\n * ```html\r\n * <m3e-split-pane value=\"25\">\r\n * <m3e-card slot=\"start\"></m3e-card>\r\n * <m3e-card slot=\"end\"></m3e-card>\r\n * </m3e-split-pane>\r\n * ```\r\n *\r\n * @example\r\n * The next example demonstrates minimum and maximum constraints, where the start pane\r\n * may shrink to 25% but cannot grow beyond 50% of the available space.\r\n * ```html\r\n * <m3e-split-pane value=\"25\" min=\"25\" max=\"50\">\r\n * <m3e-card slot=\"start\"></m3e-card>\r\n * <m3e-card slot=\"end\"></m3e-card>\r\n * </m3e-split-pane>\r\n * ```\r\n *\r\n * @example\r\n * The next example demonstrates percentage‑based detents, allowing the drag handle to snap at\r\n * 0%, 25%, 50%, 75%, and 100% of the available space.\r\n * ```html\r\n * <m3e-split-pane value=\"50\" detents=\"0 25 50 75 100\">\r\n * <m3e-card slot=\"start\"></m3e-card>\r\n * <m3e-card slot=\"end\"></m3e-card>\r\n * </m3e-split-pane>\r\n * ```\r\n *\r\n * @tag m3e-split-pane\r\n *\r\n * @slot start - Renders content at the logical start side of the pane.\r\n * @slot end - Renders content at the logical end side of the pane.\r\n *\r\n * @attr detents - Detents (discrete sizes) the start pane can snap to.\r\n * @attr label - The accessible label given to the moveable drag handle.\r\n * @attr max - A fractional value, between 0 and 100, indicating the maximum size of the start pane.\r\n * @attr min - A fractional value, between 0 and 100, indicating the minimum size of the start pane.\r\n * @attr orientation - The orientation of the split.\r\n * @attr overshoot-limit - A fractional value, between 0 and 100, indicating the maximum visual overshoot allowed when dragging past the minimum or maximum size.\r\n * @attr step - A fractional value, between 0 and 100, indicating the increment by which to adjust the value when resized via keyboard.\r\n * @attr value - A fractional value, between 0 and 100, indicating the size of the start pane.\r\n * @attr wrap-detents - Whether cycling through detents will wrap.\r\n *\r\n * @fires beforeinput - Dispatched continuously before the user adjusts the drag handle.\r\n * @fires input - Dispatched continuously while the user adjusts the drag handle.\r\n * @fires change - Dispatched 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(:is(:state(--vertical), :--vertical))) .base {\r\n flex-direction: row;\r\n }\r\n :host(:is(:state(--vertical), :--vertical)) .base {\r\n flex-direction: column;\r\n }\r\n :host(:is(:state(--with-start), :--with-start):is(:state(--with-end), :--with-end)) .start {\r\n flex: 0 1 calc(var(--_split-pane-value) - calc(var(--m3e-split-pane-drag-handle-container-width, 1.5rem) / 2));\r\n }\r\n :host(:not(:is(:state(--with-end), :--with-end))) .start {\r\n flex: 1 1 auto;\r\n }\r\n :host(:is(:state(--with-end), :--with-end)) .end {\r\n flex: 1 1 auto;\r\n }\r\n :host(:not(:is(:state(--with-end), :--with-end))) .end {\r\n display: none;\r\n }\r\n :host(:not(:is(:state(--animating), :--animating))) .start[inert],\r\n :host(:not(:is(:state(--animating), :--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(:is(:state(--with-start), :--with-start)), :not(:is(:state(--with-end), :--with-end))))\r\n .drag-handle {\r\n display: none;\r\n }\r\n :host(:not(:is(:state(--pressed), :--pressed))) .drag-handle:not([aria-disabled]) {\r\n cursor: grab;\r\n }\r\n :host(:is(:state(--pressed), :--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(:is(:state(--pressed), :--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(:is(:state(--pressed), :--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(:is(:state(--vertical), :--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(:is(:state(--vertical), :--vertical)):not(:is(:state(--pressed), :--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(:is(:state(--vertical), :--vertical)):is(:state(--pressed), :--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(:is(:state(--vertical), :--vertical)) .drag-handle {\r\n height: var(--m3e-split-pane-drag-handle-container-width, 1.5rem);\r\n }\r\n :host(:is(:state(--vertical), :--vertical):not(:is(:state(--pressed), :--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(:is(:state(--vertical), :--vertical):is(:state(--pressed), :--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(:is(:state(--pressed), :--pressed)) .handle,\r\n :host(:not(:is(:state(--pressed), :--pressed))) .handle {\r\n background-color: ButtonText;\r\n }\r\n }\r\n `;\r\n\r\n /** @private */ @state() _orientation?: Exclude<SplitPaneOrientation, \"auto\">;\r\n /** @private */ #breakpointUnobserve?: () => void;\r\n\r\n /** @private */ @query(\".base\") private _base!: HTMLElement;\r\n /** @private */ @query(\".drag-handle\") private _dragHandle!: HTMLElement;\r\n\r\n /** @private */ #dragState?: { startPos: number; startValue: number; cachedSize: number; min: number; max: number };\r\n /** @private */ #valueChanged = false;\r\n /** @private */ #snapAnimation?: Animation;\r\n\r\n /** @private */\r\n readonly #pressedController = new PressedController(this, {\r\n target: null,\r\n isPressedKey: (key) => key === \" \",\r\n minPressedDuration: 150,\r\n callback: (pressed) => setCustomState(this, \"--pressed\", pressed && !this.disabled),\r\n });\r\n\r\n /** @private */\r\n readonly #startMutationController = new MutationController(this, {\r\n target: null,\r\n config: { attributeFilter: [\"hidden\"] },\r\n callback: () => this.#updatePaneVisibility(\"start\"),\r\n });\r\n\r\n /** @private */\r\n readonly #endMutationController = new MutationController(this, {\r\n target: null,\r\n config: { attributeFilter: [\"hidden\"] },\r\n callback: () => this.#updatePaneVisibility(\"end\"),\r\n });\r\n\r\n /**\r\n * A fractional value, between 0 and 100, indicating the size of the start pane.\r\n * @default 50\r\n */\r\n @property({ type: Number }) value = 50;\r\n\r\n /**\r\n * A fractional value, between 0 and 100, indicating the minimum size of the start pane.\r\n * @default 0\r\n */\r\n @property({ type: Number }) min = 0;\r\n\r\n /**\r\n * A fractional value, between 0 and 100, indicating the maximum size of the start pane.\r\n * @default 100\r\n */\r\n @property({ type: Number }) max = 100;\r\n\r\n /**\r\n * A fractional value, between 0 and 100, indicating the maximum visual overshoot allowed when dragging past the minimum or maximum size.\r\n * @default 4\r\n */\r\n @property({ attribute: \"overshoot-limit\", type: Number }) overshootLimit = 4;\r\n\r\n /**\r\n * A fractional value, between 0 and 100, indicating the increment by which to adjust the value when resized via keyboard.\r\n * @default 1\r\n */\r\n @property({ type: Number }) step = 1;\r\n\r\n /**\r\n * Detents (discrete sizes) the start pane can snap to.\r\n * @default []\r\n */\r\n @property({ attribute: \"detents\", converter: spaceSeparatedStringConverter }) detents: string[] = [];\r\n\r\n /**\r\n * Whether cycling through detents will wrap.\r\n * @default false\r\n */\r\n @property({ attribute: \"wrap-detents\", type: Boolean }) wrapDetents = false;\r\n\r\n /**\r\n * The orientation of the split.\r\n * @default \"horizontal\"\r\n */\r\n @property() orientation: SplitPaneOrientation = \"horizontal\";\r\n\r\n /**\r\n * The accessible label given to the movable drag handle.\r\n * @default \"Resize panes\"\r\n */\r\n @property() label: string = \"Resize panes\";\r\n\r\n /** A function used to generates human readable text for the accessible value (`aria-valuetext`) of the drag handle. */\r\n @property() valueFormatter?: (\r\n value: number,\r\n orientation: Omit<SplitPaneOrientation, \"auto\">,\r\n dir: Direction,\r\n ) => string | undefined = (value, orientation, dir) => {\r\n value = Math.round(value);\r\n if (value >= 48 && value <= 52) {\r\n return \"Panes equally sized\";\r\n }\r\n\r\n switch (value) {\r\n case 0:\r\n return orientation === \"horizontal\"\r\n ? dir === \"ltr\"\r\n ? \"Left pane collapsed\"\r\n : \"Right pane collapsed\"\r\n : \"Top pane collapsed\";\r\n case 100:\r\n return orientation === \"horizontal\"\r\n ? dir === \"ltr\"\r\n ? \"Right pane collapsed\"\r\n : \"Left pane collapsed\"\r\n : \"Bottom pane collapsed\";\r\n default:\r\n return orientation === \"horizontal\"\r\n ? dir === \"ltr\"\r\n ? `Left pane ${value}%, right pane ${100 - value}%`\r\n : `Left pane ${100 - value}%, right pane ${value}%`\r\n : `Top pane ${value}%, bottom pane ${100 - value}%`;\r\n }\r\n };\r\n\r\n /** The current orientation of the split. */\r\n get currentOrientation(): Exclude<SplitPaneOrientation, \"auto\"> {\r\n return this._orientation ?? (this.orientation !== \"vertical\" ? \"horizontal\" : \"vertical\");\r\n }\r\n\r\n /** @inheritdoc */\r\n override get [formValue](): string | File | FormData | null {\r\n return this.value?.toString() ?? null;\r\n }\r\n\r\n /**\r\n * Moves the drag handle to the collapsed position. If detents exist, snaps to the collapsed detent.\r\n * If no detents exist, moves to the minimum allowed value.\r\n */\r\n collapse(): void {\r\n this.snapToValue(this.min);\r\n }\r\n\r\n /**\r\n * Moves the drag handle to the expanded position. If detents exist, snaps to the expanded detent.\r\n * If no detents exist, moves to the maximum allowed value.\r\n */\r\n expand(): void {\r\n this.snapToValue(this.max);\r\n }\r\n\r\n /**\r\n * Moves the drag handle to the specified position. If detents exist, snaps to the closest detent.\r\n * If no detents exist, moves to the specified value.\r\n * @param {number} value A fractional value, between 0 and 100, indicating the size of the start pane.\r\n */\r\n snapToValue(value: number): void {\r\n const detent = this.#getClosestDetent(value);\r\n value = detent > -1 ? this.#computeDetent(this.detents[detent])! : value;\r\n if (!this.#snapAnimation) {\r\n this.#snapToValue(value);\r\n } else {\r\n this.#changeValue(value);\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n override disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n\r\n this.#clearOrientation();\r\n this.#pressedController.unobserve(this._dragHandle);\r\n }\r\n\r\n /** @inheritdoc */\r\n override reconnectedCallback(): void {\r\n super.reconnectedCallback();\r\n\r\n this.#initialize();\r\n\r\n if (this.orientation === \"auto\") {\r\n this.#initBreakpointMonitoring();\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override willUpdate(changedProperties: PropertyValues<this>): void {\r\n super.willUpdate(changedProperties);\r\n\r\n if (changedProperties.has(\"orientation\")) {\r\n this.#breakpointUnobserve?.();\r\n\r\n if (this.orientation === \"auto\") {\r\n this.#initBreakpointMonitoring();\r\n } else {\r\n this._orientation = undefined;\r\n this.#updateOrientation();\r\n }\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override updated(_changedProperties: PropertyValues): void {\r\n super.updated(_changedProperties);\r\n if (_changedProperties.has(\"value\")) {\r\n this._base.style.setProperty(\"--_split-pane-value\", `${this.value}%`);\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override firstUpdated(_changedProperties: PropertyValues): void {\r\n super.firstUpdated(_changedProperties);\r\n this.#initialize();\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<div class=\"base\">\r\n <div class=\"start\" id=\"start\" ?inert=\"${this.value <= 0}\">\r\n <slot name=\"start\" @slotchange=\"${this.#handleStartSlotChange}\"></slot>\r\n </div>\r\n ${this.#renderDragHandle()}\r\n <div class=\"end\" ?inert=\"${this.value >= 100}\">\r\n <slot name=\"end\" @slotchange=\"${this.#handleEndSlotChange}\"></slot>\r\n </div>\r\n </div>`;\r\n }\r\n\r\n /** @private */\r\n #renderDragHandle(): unknown {\r\n return html`<div\r\n id=\"drag-handle\"\r\n class=\"drag-handle\"\r\n role=\"separator\"\r\n tabindex=\"${ifDefined(this.disabled ? undefined : 0)}\"\r\n aria-label=\"${this.label}\"\r\n aria-controls=\"start\"\r\n aria-disabled=\"${ifDefined(this.disabled ? \"true\" : undefined)}\"\r\n aria-orientation=\"${this.currentOrientation === \"horizontal\" ? \"vertical\" : \"horizontal\"}\"\r\n aria-valuemin=\"${this.min}\"\r\n aria-valuemax=\"${this.max}\"\r\n aria-valuenow=\"${this.value}\"\r\n aria-valuetext=\"${ifDefined(\r\n this.valueFormatter?.(this.value, this.currentOrientation, M3eDirectionality.current),\r\n )}\"\r\n @pointerdown=\"${this.#handlePointerDown}\"\r\n @pointerup=\"${this.#handlePointerUp}\"\r\n @pointermove=\"${this.#handlePointerMove}\"\r\n @keydown=\"${this.#handleKeyDown}\"\r\n @dblclick=\"${this.#cycleDetent}\"\r\n >\r\n ${this.disabled\r\n ? nothing\r\n : html`<div class=\"handle\">\r\n <m3e-focus-ring for=\"drag-handle\"></m3e-focus-ring>\r\n <m3e-state-layer for=\"drag-handle\"></m3e-state-layer>\r\n </div>\r\n <div class=\"touch\"></div>`}\r\n </div>`;\r\n }\r\n\r\n /** @private */\r\n #handleStartSlotChange(e: Event): void {\r\n this.#handleSlotChange(e.target as HTMLSlotElement, this.#startMutationController, \"--with-start\");\r\n }\r\n\r\n /** @private */\r\n #handleEndSlotChange(e: Event): void {\r\n this.#handleSlotChange(e.target as HTMLSlotElement, this.#endMutationController, \"--with-end\");\r\n }\r\n\r\n /** @private */\r\n #handleSlotChange(slot: HTMLSlotElement, mutationController: MutationController, state: string): void {\r\n for (const target of mutationController.targets) {\r\n mutationController.unobserve(target);\r\n }\r\n\r\n const assignedElements = new Array<Element>();\r\n setCustomState(this, state, this.#hasVisibleElements(slot, assignedElements));\r\n\r\n for (const element of assignedElements) {\r\n if (element instanceof HTMLElement) {\r\n mutationController.observe(element);\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #updatePaneVisibility(pane: \"start\" | \"end\"): void {\r\n setCustomState(\r\n this,\r\n `--with-${pane}`,\r\n this.#hasVisibleElements(this.shadowRoot?.querySelector<HTMLSlotElement>(`slot[name='${pane}']`)),\r\n );\r\n }\r\n\r\n /** @private */\r\n #hasVisibleElements(slot?: HTMLSlotElement | null, assignedElements?: Element[]): boolean {\r\n assignedElements = assignedElements ?? [];\r\n assignedElements.push(...(slot?.assignedElements({ flatten: true }) ?? []));\r\n return assignedElements.length > 0 && !assignedElements.every((x) => x.hasAttribute(\"hidden\"));\r\n }\r\n\r\n /** @private */\r\n #initialize() {\r\n this.#pressedController.observe(this._dragHandle);\r\n }\r\n\r\n /** @private */\r\n #initBreakpointMonitoring(): void {\r\n this.#breakpointUnobserve = M3eBreakpointObserver.observe([Breakpoint.XSmall], (matches) => {\r\n this._orientation = matches.get(Breakpoint.XSmall) ? \"vertical\" : \"horizontal\";\r\n this.#updateOrientation();\r\n });\r\n }\r\n\r\n /** @private */\r\n #updateOrientation(): void {\r\n setCustomState(this, \"--vertical\", this.currentOrientation === \"vertical\");\r\n }\r\n\r\n /** @private */\r\n #clearOrientation(): void {\r\n deleteCustomState(this, \"--vertical\");\r\n this._orientation = undefined;\r\n this.#breakpointUnobserve?.();\r\n this.#breakpointUnobserve = undefined;\r\n }\r\n\r\n /** @private */\r\n #handlePointerDown(e: PointerEvent): void {\r\n if (e.pointerType === \"mouse\" && e.button > 1) return;\r\n if (this.disabled) return;\r\n\r\n this._dragHandle.setPointerCapture(e.pointerId);\r\n this.#valueChanged = false;\r\n\r\n let min = this.min;\r\n if (min === 0 && this.detents.length > 0) {\r\n const detent = this.#getClosestDetent(0);\r\n if (detent > -1) {\r\n min = this.#computeDetent(this.detents[detent]) ?? this.min;\r\n }\r\n }\r\n\r\n let max = this.max;\r\n if (max === 100 && this.detents.length > 0) {\r\n const detent = this.#getClosestDetent(100);\r\n if (detent > -1) {\r\n max = this.#computeDetent(this.detents[detent]) ?? this.max;\r\n }\r\n }\r\n\r\n this.#dragState = {\r\n startPos: this.currentOrientation === \"vertical\" ? e.clientY : e.clientX,\r\n startValue: this.value,\r\n cachedSize: this.currentOrientation === \"vertical\" ? this.clientHeight : this.clientWidth,\r\n min,\r\n max,\r\n };\r\n }\r\n\r\n /** @private */\r\n #handlePointerMove(e: PointerEvent): void {\r\n if (!this._dragHandle.hasPointerCapture(e.pointerId) || !this.#dragState) return;\r\n\r\n const pos = this.currentOrientation === \"vertical\" ? e.clientY : e.clientX;\r\n\r\n let delta =\r\n this.#dragState.cachedSize > 0 ? ((pos - this.#dragState.startPos) / this.#dragState.cachedSize) * 100 : 0;\r\n if (M3eDirectionality.current === \"rtl\" && this.currentOrientation !== \"vertical\") {\r\n delta = -delta;\r\n }\r\n\r\n let value = this.#dragState.startValue + delta;\r\n if (value < this.#dragState.min) {\r\n const overshoot = this.#dragState.min - value;\r\n const compressed = (this.overshootLimit * overshoot) / (overshoot + this.overshootLimit);\r\n value = this.#dragState.min - compressed;\r\n } else if (value > this.#dragState.max) {\r\n const overshoot = value - this.#dragState.max;\r\n const compressed = (this.overshootLimit * overshoot) / (overshoot + this.overshootLimit);\r\n value = this.#dragState.max + compressed;\r\n }\r\n\r\n if (this.#changeValue(value, false, true)) {\r\n this.#valueChanged = true;\r\n }\r\n }\r\n\r\n /** @private */\r\n #handlePointerUp(e: PointerEvent): void {\r\n if (e.pointerType === \"mouse\" && e.button > 1) return;\r\n if (this._dragHandle.hasPointerCapture(e.pointerId)) {\r\n this._dragHandle.releasePointerCapture(e.pointerId);\r\n this.#dragState = undefined;\r\n\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent >= 0) {\r\n const value = this.#computeDetent(this.detents[detent]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value, false);\r\n }\r\n } else if (this.value < this.min) {\r\n this.#snapToValue(this.min, false);\r\n } else if (this.value > this.max) {\r\n this.#snapToValue(this.max, false);\r\n }\r\n\r\n if (this.#valueChanged) {\r\n this.dispatchEvent(new Event(\"change\", { bubbles: true }));\r\n this.#valueChanged = false;\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleKeyDown(e: KeyboardEvent): void {\r\n const ltr = M3eDirectionality.current === \"ltr\" || this.currentOrientation === \"vertical\";\r\n switch (e.key) {\r\n case \"Up\":\r\n case \"ArrowUp\":\r\n case \"Left\":\r\n case \"ArrowLeft\": {\r\n e.preventDefault();\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent >= 0) {\r\n const nextDetent = ltr ? this.#getNextLowerDetent(detent) : this.#getNextHigherDetent(detent);\r\n if (nextDetent !== detent && !this.#snapAnimation) {\r\n const value = this.#computeDetent(this.detents[nextDetent]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value);\r\n }\r\n }\r\n } else if (this.step > 1) {\r\n if (!this.#snapAnimation) {\r\n this.#snapToValue(this.value + (ltr ? -this.step : this.step));\r\n }\r\n } else {\r\n this.#changeValue(this.value + (ltr ? -this.step : this.step));\r\n }\r\n break;\r\n }\r\n\r\n case \"Down\":\r\n case \"ArrowDown\":\r\n case \"Right\":\r\n case \"ArrowRight\": {\r\n e.preventDefault();\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent >= 0) {\r\n const nextDetent = ltr ? this.#getNextHigherDetent(detent) : this.#getNextLowerDetent(detent);\r\n if (nextDetent !== detent && !this.#snapAnimation) {\r\n const value = this.#computeDetent(this.detents[nextDetent]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value);\r\n }\r\n }\r\n } else if (this.step > 1) {\r\n if (!this.#snapAnimation) {\r\n this.#snapToValue(this.value + (ltr ? this.step : -this.step));\r\n }\r\n } else {\r\n this.#changeValue(this.value + (ltr ? this.step : -this.step));\r\n }\r\n\r\n break;\r\n }\r\n\r\n case \"Home\": {\r\n e.preventDefault();\r\n if (!this.#snapAnimation) {\r\n const next = this.#getClosestDetent(this.min);\r\n if (next > -1) {\r\n this.#snapToValue(this.#computeDetent(this.detents[next])!);\r\n } else {\r\n this.#snapToValue(this.min);\r\n }\r\n }\r\n\r\n break;\r\n }\r\n\r\n case \"End\": {\r\n e.preventDefault();\r\n if (!this.#snapAnimation) {\r\n const next = this.#getClosestDetent(this.max);\r\n if (next > -1) {\r\n this.#snapToValue(this.#computeDetent(this.detents[next])!);\r\n } else {\r\n this.#snapToValue(this.max);\r\n }\r\n }\r\n\r\n break;\r\n }\r\n\r\n case \"PageUp\": {\r\n e.preventDefault();\r\n if (!this.#snapAnimation) {\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent >= 0) {\r\n const nextDetent = this.#getNextLowerDetent(detent);\r\n if (nextDetent !== detent) {\r\n const value = this.#computeDetent(this.detents[nextDetent]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value);\r\n }\r\n }\r\n } else {\r\n this.#snapToValue(this.value - Math.max(10, this.step));\r\n }\r\n }\r\n\r\n break;\r\n }\r\n\r\n case \"PageDown\": {\r\n e.preventDefault();\r\n if (!this.#snapAnimation) {\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent >= 0) {\r\n const nextDetent = this.#getNextHigherDetent(detent);\r\n if (nextDetent !== detent) {\r\n const value = this.#computeDetent(this.detents[nextDetent]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value);\r\n }\r\n }\r\n } else {\r\n this.#snapToValue(this.value + Math.max(10, this.step));\r\n }\r\n }\r\n\r\n break;\r\n }\r\n\r\n case \"Enter\":\r\n if (!this.#snapAnimation) {\r\n this.#cycleDetent();\r\n }\r\n\r\n break;\r\n\r\n case \" \":\r\n e.preventDefault();\r\n if (!this.#snapAnimation) {\r\n this.#cycleDetent();\r\n }\r\n break;\r\n }\r\n }\r\n\r\n /** @private */\r\n #changeValue(value: number, emitChange = true, allowOvershoot = false): boolean {\r\n this.#clearSnapAnimation();\r\n\r\n if (this.dispatchEvent(new Event(\"beforeinput\", { bubbles: true, cancelable: true }))) {\r\n if (!allowOvershoot) {\r\n value = Math.max(this.min, Math.min(this.max, value));\r\n }\r\n\r\n if (value != this.value) {\r\n this.value = value;\r\n this._base.style.setProperty(\"--_split-pane-value\", `${this.value}%`);\r\n\r\n this.dispatchEvent(new Event(\"input\", { bubbles: true }));\r\n if (emitChange) {\r\n this.dispatchEvent(new Event(\"change\", { bubbles: true }));\r\n }\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /** @private */\r\n #getClosestDetent(value: number): number {\r\n let closestDetent = -1;\r\n let closestDistance = Infinity;\r\n\r\n for (let i = 0; i < this.detents.length; i++) {\r\n const detent = this.#computeDetent(this.detents[i]);\r\n if (detent === undefined) continue;\r\n\r\n const distance = Math.abs(value - detent);\r\n if (distance < closestDistance) {\r\n closestDistance = distance;\r\n closestDetent = i;\r\n }\r\n }\r\n return closestDetent;\r\n }\r\n\r\n /** @private */\r\n #getNextHigherDetent(detentIndex: number): number {\r\n const currentValue = this.#computeDetent(this.detents[detentIndex]);\r\n if (currentValue === undefined) return detentIndex;\r\n\r\n let value = Infinity;\r\n let nextDetent = detentIndex;\r\n for (let i = 0; i < this.detents.length; i++) {\r\n if (i === detentIndex) continue;\r\n const detent = this.#computeDetent(this.detents[i]);\r\n if (detent === undefined) continue;\r\n if (detent > currentValue && detent < value) {\r\n value = detent;\r\n nextDetent = i;\r\n }\r\n }\r\n return nextDetent;\r\n }\r\n\r\n /** @private */\r\n #getNextLowerDetent(detentIndex: number): number {\r\n const currentValue = this.#computeDetent(this.detents[detentIndex]);\r\n if (currentValue === undefined) return detentIndex;\r\n\r\n let value = -Infinity;\r\n let nextDetent = detentIndex;\r\n for (let i = 0; i < this.detents.length; i++) {\r\n if (i === detentIndex) continue;\r\n const detent = this.#computeDetent(this.detents[i]);\r\n if (detent === undefined) continue;\r\n if (detent < currentValue && detent > value) {\r\n value = detent;\r\n nextDetent = i;\r\n }\r\n }\r\n return nextDetent;\r\n }\r\n\r\n /** @private */\r\n #computeDetent(detent: string): number | undefined {\r\n const value = detent.endsWith(\"px\") ? this.clientWidth / parseFloat(detent) : parseFloat(detent);\r\n return !isNaN(value) ? value : undefined;\r\n }\r\n\r\n /** @private */\r\n #clearSnapAnimation(): void {\r\n this.#snapAnimation?.cancel();\r\n this.#snapAnimation = undefined;\r\n }\r\n\r\n /** @private */\r\n #snapToValue(value: number, emitChange = true): void {\r\n this.#clearSnapAnimation();\r\n\r\n value = Math.max(this.min, Math.min(this.max, value));\r\n if (value === this.value) return;\r\n\r\n if (!prefersReducedMotion()) {\r\n addCustomState(this, \"--animating\");\r\n\r\n this.#snapAnimation = this._base.animate(\r\n [{ \"--_split-pane-value\": `${this.value}%` }, { \"--_split-pane-value\": `${value}%` }],\r\n {\r\n duration: 250,\r\n easing: \"cubic-bezier(0.2, 0.0, 0, 1.0)\",\r\n },\r\n );\r\n this.#snapAnimation.onfinish = () => {\r\n this.#changeValue(value, emitChange);\r\n this.#snapAnimation = undefined;\r\n deleteCustomState(this, \"--animating\");\r\n };\r\n } else {\r\n this.#changeValue(value, emitChange);\r\n }\r\n }\r\n\r\n /** @private */\r\n #cycleDetent(): void {\r\n if (this.detents.length === 0) return;\r\n\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent === -1) return;\r\n\r\n let next = this.#getNextHigherDetent(detent);\r\n if (next === detent && this.wrapDetents) {\r\n next = this.#getClosestDetent(0);\r\n if (next === -1) return;\r\n }\r\n\r\n const value = this.#computeDetent(this.detents[next]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value);\r\n }\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-split-pane\": M3eSplitPaneElement;\r\n }\r\n}\r\n"],"names":["M3eSplitPaneElement","FormAssociated","Disabled","ReconnectedCallback","AttachInternals","LitElement","constructor","_M3eSplitPaneElement_breakpointUnobserve","set","this","_M3eSplitPaneElement_dragState","_M3eSplitPaneElement_valueChanged","_M3eSplitPaneElement_snapAnimation","_M3eSplitPaneElement_pressedController","PressedController","target","isPressedKey","key","minPressedDuration","callback","pressed","setCustomState","disabled","_M3eSplitPaneElement_startMutationController","MutationController","config","attributeFilter","__classPrivateFieldGet","_M3eSplitPaneElement_instances","_M3eSplitPaneElement_updatePaneVisibility","call","_M3eSplitPaneElement_endMutationController","value","min","max","overshootLimit","step","detents","wrapDetents","orientation","label","valueFormatter","dir","Math","round","currentOrientation","_orientation","WeakMap","WeakSet","formValue","toString","collapse","snapToValue","expand","detent","_M3eSplitPaneElement_getClosestDetent","_M3eSplitPaneElement_computeDetent","_M3eSplitPaneElement_changeValue","_M3eSplitPaneElement_snapToValue","disconnectedCallback","super","_M3eSplitPaneElement_clearOrientation","unobserve","_dragHandle","reconnectedCallback","_M3eSplitPaneElement_initialize","_M3eSplitPaneElement_initBreakpointMonitoring","willUpdate","changedProperties","has","undefined","_M3eSplitPaneElement_updateOrientation","updated","_changedProperties","_base","style","setProperty","firstUpdated","render","html","_M3eSplitPaneElement_handleStartSlotChange","_M3eSplitPaneElement_renderDragHandle","_M3eSplitPaneElement_handleEndSlotChange","ifDefined","M3eDirectionality","current","_M3eSplitPaneElement_handlePointerDown","_M3eSplitPaneElement_handlePointerUp","_M3eSplitPaneElement_handlePointerMove","_M3eSplitPaneElement_handleKeyDown","_M3eSplitPaneElement_cycleDetent","nothing","e","_M3eSplitPaneElement_handleSlotChange","slot","mutationController","state","targets","assignedElements","Array","_M3eSplitPaneElement_hasVisibleElements","element","HTMLElement","observe","pane","shadowRoot","querySelector","push","flatten","length","every","x","hasAttribute","__classPrivateFieldSet","M3eBreakpointObserver","Breakpoint","XSmall","matches","get","deleteCustomState","pointerType","button","setPointerCapture","pointerId","startPos","clientY","clientX","startValue","cachedSize","clientHeight","clientWidth","hasPointerCapture","pos","delta","overshoot","compressed","releasePointerCapture","dispatchEvent","Event","bubbles","ltr","preventDefault","nextDetent","_M3eSplitPaneElement_getNextLowerDetent","_M3eSplitPaneElement_getNextHigherDetent","next","emitChange","allowOvershoot","_M3eSplitPaneElement_clearSnapAnimation","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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"}
|
|
@@ -46,9 +46,9 @@ declare const M3eAutocompleteElement_base: import("../core/shared/mixins/Constru
|
|
|
46
46
|
* @slot loading - Renders content when loading options.
|
|
47
47
|
* @slot no-data - Renders content when there are no options to show.
|
|
48
48
|
*
|
|
49
|
-
* @fires toggle -
|
|
50
|
-
* @fires query -
|
|
51
|
-
* @fires change -
|
|
49
|
+
* @fires toggle - Dispatched when the options menu opens or closes.
|
|
50
|
+
* @fires query - Dispatched when the input is focused or when the user modifies its value.
|
|
51
|
+
* @fires change - Dispatched when the committed value changes due to selecting an option or clearing the input.
|
|
52
52
|
*/
|
|
53
53
|
export declare class M3eAutocompleteElement extends M3eAutocompleteElement_base {
|
|
54
54
|
#private;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AutocompleteQueryEventDetail } from "./AutocompleteQueryEventDetail";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Dispatched when the autocomplete needs option data for the current term.
|
|
4
4
|
* @deprecated Use `AutocompleteQueryEventDetail`.
|
|
5
5
|
*/
|
|
6
6
|
export type QueryEventDetail = AutocompleteQueryEventDetail;
|
|
@@ -60,11 +60,11 @@ declare const M3eBottomSheetElement_base: import("../core/shared/mixins/Construc
|
|
|
60
60
|
* @attr open - Whether the bottom sheet is open.
|
|
61
61
|
* @attr overshoot-limit - A fractional value, between 0 and 100, indicating the maximum visual overshoot allowed when dragging past the minimum or maximum size.
|
|
62
62
|
*
|
|
63
|
-
* @fires opening -
|
|
64
|
-
* @fires opened -
|
|
65
|
-
* @fires cancel -
|
|
66
|
-
* @fires closing -
|
|
67
|
-
* @fires closed -
|
|
63
|
+
* @fires opening - Dispatched when the sheet begins to open.
|
|
64
|
+
* @fires opened - Dispatched when the sheet has opened.
|
|
65
|
+
* @fires cancel - Dispatched when the sheet is cancelled.
|
|
66
|
+
* @fires closing - Dispatched when the sheet begins to close.
|
|
67
|
+
* @fires closed - Dispatched when the sheet has closed.
|
|
68
68
|
*
|
|
69
69
|
* @cssprop --m3e-bottom-sheet-width - The width of the sheet.
|
|
70
70
|
* @cssprop --m3e-bottom-sheet-max-width - The maximum width of the sheet.
|
|
@@ -23,7 +23,7 @@ declare const M3eBreadcrumbItemElement_base: import("../core/shared/mixins/Const
|
|
|
23
23
|
* @attr download - A value indicating whether the internal link target will be downloaded, optionally specifying a file name.
|
|
24
24
|
* @attr rel - The relationship between the internal link target and the document.
|
|
25
25
|
*
|
|
26
|
-
* @fires click -
|
|
26
|
+
* @fires click - Dispatched when the element is clicked.
|
|
27
27
|
*
|
|
28
28
|
* @cssprop --m3e-breadcrumb-item-shape - Shape of the internal breadcrumb item button.
|
|
29
29
|
* @cssprop --m3e-breadcrumb-item-container-height - Height of the internal breadcrumb item button container.
|
|
@@ -51,9 +51,10 @@ declare const M3eButtonElement_base: import("../core/shared/mixins/Constructor")
|
|
|
51
51
|
* @attr value - The value associated with the element's name when it's submitted with form data.
|
|
52
52
|
* @attr variant - The appearance variant of the button.
|
|
53
53
|
*
|
|
54
|
+
* @fires beforeinput - Dispatched before a toggle button's selected state changes.
|
|
54
55
|
* @fires input - Dispatched when a toggle button's selected state changes.
|
|
55
56
|
* @fires change - Dispatched when a toggle button's selected state changes.
|
|
56
|
-
* @fires click -
|
|
57
|
+
* @fires click - Dispatched when the element is clicked.
|
|
57
58
|
*
|
|
58
59
|
* @cssprop --m3e-button-container-height - Height of the button container, for all size variants.
|
|
59
60
|
* @cssprop --m3e-button-outline-thickness - Thickness of the button outline, for all size variants.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonElement.d.ts","sourceRoot":"","sources":["../../../src/button/ButtonElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAQ,UAAU,EAAW,cAAc,EAAE,MAAM,KAAK,CAAC;AAGhF,OAAO,EAuBL,oBAAoB,EAErB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;;AAIhD
|
|
1
|
+
{"version":3,"file":"ButtonElement.d.ts","sourceRoot":"","sources":["../../../src/button/ButtonElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAQ,UAAU,EAAW,cAAc,EAAE,MAAM,KAAK,CAAC;AAGhF,OAAO,EAuBL,oBAAoB,EAErB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;;AAIhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqbG;AACH,qBACa,gBAAiB,SAAQ,qBAIrC;;IACC,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CAAsD;IAE5F,eAAe,CAAiB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAc;IACrE,eAAe,CAAsB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAsB;IACvF,eAAe,CAAuB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAsB;IACxF,eAAe,CAAwB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAuB;IAC3F,eAAe,CAAmB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAmB;;IA2C9E;;;OAGG;IAC0B,OAAO,EAAE,aAAa,CAAU;IAE7D;;;OAGG;IAC0B,KAAK,EAAE,WAAW,CAAa;IAE5D;;;OAGG;IAC0B,IAAI,EAAE,UAAU,CAAW;IAExD;;;OAGG;IACyC,MAAM,UAAS;IAE3D;;;OAGG;IACyC,QAAQ,UAAS;IAE7D,yDAAyD;IACzD,IAAI,OAAO,YAEV;IAED,kBAAkB;IACT,MAAM,IAAI,OAAO;IA0B1B,kBAAkB;IACT,iBAAiB,IAAI,IAAI;IAKlC,kBAAkB;IACT,oBAAoB,IAAI,IAAI;IAYrC,kBAAkB;cACC,YAAY,CAAC,kBAAkB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAK/E,kBAAkB;cACC,OAAO,CAAC,kBAAkB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IA0C1E,eAAe;IAEf,OAAO,CAAC,aAAa;CA6CtB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,gBAAgB,CAAC;KAChC;CACF"}
|
|
@@ -49,7 +49,7 @@ import "./YearViewElement";
|
|
|
49
49
|
* @attr previous-multi-year-label - The accessible label given to the button used to move to the previous 24 years.
|
|
50
50
|
* @attr next-multi-year-label - The accessible label given to the button used to move to the next 24 years.
|
|
51
51
|
*
|
|
52
|
-
* @fires change -
|
|
52
|
+
* @fires change - Dispatched when the selected date changes.
|
|
53
53
|
*
|
|
54
54
|
* @cssprop --m3e-calendar-container-color - Background color of the container surface.
|
|
55
55
|
* @cssprop --m3e-calendar-container-elevation - Elevation shadow applied to the container surface.
|
|
@@ -46,7 +46,7 @@ declare const M3eCardElement_base: import("../core/shared/mixins/Constructor").C
|
|
|
46
46
|
* @attr orientation - The orientation of the card.
|
|
47
47
|
* @attr variant - The appearance variant of the card.
|
|
48
48
|
*
|
|
49
|
-
* @fires click -
|
|
49
|
+
* @fires click - Dispatched when the element is clicked.
|
|
50
50
|
*
|
|
51
51
|
* @cssprop --m3e-card-padding - Internal spacing for all slotted regions
|
|
52
52
|
* @cssprop --m3e-card-shape - Corner radius of the card container.
|
|
@@ -35,10 +35,11 @@ declare const M3eCheckboxElement_base: import("../core/shared/mixins/Constructor
|
|
|
35
35
|
* @attr required - Whether the element is required.
|
|
36
36
|
* @attr value - A string representing the value of the checkbox.
|
|
37
37
|
*
|
|
38
|
-
* @fires
|
|
39
|
-
* @fires
|
|
40
|
-
* @fires
|
|
41
|
-
* @fires
|
|
38
|
+
* @fires beforeinput - Dispatched before the checked state changes.
|
|
39
|
+
* @fires input - Dispatched when the checked state changes.
|
|
40
|
+
* @fires invalid - Dispatched when a form is submitted and the element fails constraint validation.
|
|
41
|
+
* @fires change - Dispatched when the checked state changes.
|
|
42
|
+
* @fires click - Dispatched when the element is clicked.
|
|
42
43
|
*
|
|
43
44
|
* @cssprop --m3e-checkbox-icon-size - Size of the checkbox icon inside the container.
|
|
44
45
|
* @cssprop --m3e-checkbox-container-size - Base size of the checkbox container.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxElement.d.ts","sourceRoot":"","sources":["../../../src/checkbox/CheckboxElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAW,cAAc,EAAE,MAAM,KAAK,CAAC;AAGrF,OAAO,EAQL,SAAS,EAcV,MAAM,eAAe,CAAC;;AAEvB
|
|
1
|
+
{"version":3,"file":"CheckboxElement.d.ts","sourceRoot":"","sources":["../../../src/checkbox/CheckboxElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAW,cAAc,EAAE,MAAM,KAAK,CAAC;AAGrF,OAAO,EAQL,SAAS,EAcV,MAAM,eAAe,CAAC;;AAEvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,qBACa,kBAAmB,SAAQ,uBAcvC;;IACC,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CAmNpC;IAEF,eAAe,CAAuB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAsB;IACxF,eAAe,CAAwB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAuB;IAC3F,eAAe,CAAmB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAmB;IA4B9E;;;OAGG;IACS,KAAK,SAAQ;IAEzB,2BAA2B;IAC3B,IAAa,CAAC,SAAS,CAAC,IAAI,MAAM,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,CAE1D;IAED,kBAAkB;IACT,iBAAiB,IAAI,IAAI;IAUlC,kBAAkB;IACT,oBAAoB,IAAI,IAAI;IAUrC,kBAAkB;cACC,YAAY,CAAC,kBAAkB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAK/E,kBAAkB;cACC,MAAM,IAAI,OAAO;CA4CrC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,kBAAkB,CAAC;KACpC;CACF"}
|
|
@@ -39,7 +39,7 @@ declare const M3eAssistChipElement_base: import("../core/shared/mixins/Construct
|
|
|
39
39
|
* @attr value - A string representing the value of the chip.
|
|
40
40
|
* @attr variant - The appearance variant of the chip.
|
|
41
41
|
*
|
|
42
|
-
* @fires click -
|
|
42
|
+
* @fires click - Dispatched when the element is clicked.
|
|
43
43
|
*
|
|
44
44
|
* @cssprop --m3e-chip-container-shape - Border radius of the chip container.
|
|
45
45
|
* @cssprop --m3e-chip-container-height - Base height of the chip container before density adjustment.
|
|
@@ -35,9 +35,10 @@ declare const M3eFilterChipElement_base: import("../core/shared/mixins/Construct
|
|
|
35
35
|
* @attr value - A string representing the value of the chip.
|
|
36
36
|
* @attr variant - The appearance variant of the chip.
|
|
37
37
|
*
|
|
38
|
-
* @fires
|
|
39
|
-
* @fires
|
|
40
|
-
* @fires
|
|
38
|
+
* @fires beforeinput - Dispatched before the selected state changes.
|
|
39
|
+
* @fires input - Dispatched when the selected state changes.
|
|
40
|
+
* @fires change - Dispatched when the selected state changes.
|
|
41
|
+
* @fires click - Dispatched when the element is clicked.
|
|
41
42
|
*
|
|
42
43
|
* @cssprop --m3e-chip-container-shape - Border radius of the chip container.
|
|
43
44
|
* @cssprop --m3e-chip-container-height - Base height of the chip container before density adjustment.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterChipElement.d.ts","sourceRoot":"","sources":["../../../src/chips/FilterChipElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,cAAc,EAAE,MAAM,KAAK,CAAC;AAehE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;;AAE/C
|
|
1
|
+
{"version":3,"file":"FilterChipElement.d.ts","sourceRoot":"","sources":["../../../src/chips/FilterChipElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,cAAc,EAAE,MAAM,KAAK,CAAC;AAehE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkFG;AACH,qBACa,oBAAqB,SAAQ,yBAEzC;;IACC,kHAAkH;IAClH,MAAM,CAAC,QAAQ,CAAC,cAAc,QAAQ;IAEtC,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CA0GpC;IAIF,kBAAkB;IACT,iBAAiB,IAAI,IAAI;IAKlC,kBAAkB;IACT,oBAAoB,IAAI,IAAI;IAKrC,kBAAkB;cACC,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQxE,2BAA2B;cACR,WAAW,IAAI,OAAO;CAqB1C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,oBAAoB,CAAC;KACzC;CACF"}
|
|
@@ -36,8 +36,9 @@ declare const M3eFilterChipSetElement_base: import("../core/shared/mixins/Constr
|
|
|
36
36
|
* @attr name - The name that identifies the element when submitting the associated form.
|
|
37
37
|
* @attr vertical - Whether the element is oriented vertically.
|
|
38
38
|
*
|
|
39
|
-
* @fires
|
|
40
|
-
* @fires
|
|
39
|
+
* @fires beforeinput - Dispatched before the selected state of a chip changes.
|
|
40
|
+
* @fires input - Dispatched when the selected state of a chip changes.
|
|
41
|
+
* @fires change - Dispatched when the selected state of a chip changes.
|
|
41
42
|
*
|
|
42
43
|
* @cssprop --m3e-chip-set-spacing - The spacing (gap) between chips in the set.
|
|
43
44
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterChipSetElement.d.ts","sourceRoot":"","sources":["../../../src/chips/FilterChipSetElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,cAAc,EAAE,MAAM,KAAK,CAAC;AAG3C,OAAO,EAML,SAAS,EAKV,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;;AAE3D
|
|
1
|
+
{"version":3,"file":"FilterChipSetElement.d.ts","sourceRoot":"","sources":["../../../src/chips/FilterChipSetElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,cAAc,EAAE,MAAM,KAAK,CAAC;AAG3C,OAAO,EAML,SAAS,EAKV,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,qBACa,uBAAwB,SAAQ,4BAE5C;;IAGC,gBAAgB;IAChB,QAAQ,CAAC,CAAC,gBAAgB,CAAC,yCAGsB;IAEjD;;;OAGG;IAC0B,KAAK,UAAS;IAE3C;;;OAGG;IACiE,sBAAsB,UAAS;IAEnG,4BAA4B;IAC5B,IAAI,KAAK,IAAI,SAAS,oBAAoB,EAAE,CAE3C;IAED,uCAAuC;IACvC,IAAI,QAAQ,IAAI,SAAS,oBAAoB,EAAE,CAE9C;IAED,kDAAkD;IAClD,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,CAU7C;IAED,4BAA4B;IAC5B,IAAa,CAAC,SAAS,CAAC,6BAUvB;IAED,kBAAkB;IACT,iBAAiB,IAAI,IAAI;IAOlC,kBAAkB;IACT,oBAAoB,IAAI,IAAI;IAKrC,kBAAkB;cACC,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IA4BxE,kBAAkB;cACC,MAAM,IAAI,OAAO;CAgCrC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,qBAAqB,EAAE,uBAAuB,CAAC;KAChD;CACF"}
|
|
@@ -37,8 +37,8 @@ declare const M3eInputChipElement_base: import("../core/shared/mixins/Constructo
|
|
|
37
37
|
* @attr value - A string representing the value of the chip.
|
|
38
38
|
* @attr variant - The appearance variant of the chip.
|
|
39
39
|
*
|
|
40
|
-
* @fires remove -
|
|
41
|
-
* @fires click -
|
|
40
|
+
* @fires remove - Dispatched when the remove button is clicked or DELETE or BACKSPACE key is pressed.
|
|
41
|
+
* @fires click - Dispatched when the element is clicked.
|
|
42
42
|
*
|
|
43
43
|
* @cssprop --m3e-chip-container-shape - Border radius of the chip container.
|
|
44
44
|
* @cssprop --m3e-chip-container-height - Base height of the chip container before density adjustment.
|
|
@@ -37,7 +37,7 @@ declare const M3eInputChipSetElement_base: import("../core/shared/mixins/Constru
|
|
|
37
37
|
* @attr required - Whether a value is required for the element.
|
|
38
38
|
* @attr vertical - Whether the element is oriented vertically.
|
|
39
39
|
*
|
|
40
|
-
* @fires change -
|
|
40
|
+
* @fires change - Dispatched when a chip is added to, or removed from, the set.
|
|
41
41
|
*
|
|
42
42
|
* @cssprop --m3e-chip-set-spacing - The spacing (gap) between chips in the set.
|
|
43
43
|
*/
|
|
@@ -40,7 +40,7 @@ declare const M3eSuggestionChipElement_base: import("../core/shared/mixins/Const
|
|
|
40
40
|
* @attr value - A string representing the value of the chip.
|
|
41
41
|
* @attr variant - The appearance variant of the chip.
|
|
42
42
|
*
|
|
43
|
-
* @fires click -
|
|
43
|
+
* @fires click - Dispatched when the element is clicked.
|
|
44
44
|
*
|
|
45
45
|
* @cssprop --m3e-chip-container-shape - Border radius of the chip container.
|
|
46
46
|
* @cssprop --m3e-chip-container-height - Base height of the chip container before density adjustment.
|
|
@@ -19,10 +19,10 @@ declare const M3eCollapsibleElement_base: import("../mixins/Constructor").Constr
|
|
|
19
19
|
* @attr orientation - Orientation of collapsible content.
|
|
20
20
|
* @attr no-animate - Whether to disable animation.
|
|
21
21
|
*
|
|
22
|
-
* @fires opening -
|
|
23
|
-
* @fires opened -
|
|
24
|
-
* @fires closing -
|
|
25
|
-
* @fires closed -
|
|
22
|
+
* @fires opening - Dispatched when the collapsible begins to open.
|
|
23
|
+
* @fires opened - Dispatched when the collapsible has opened.
|
|
24
|
+
* @fires closing - Dispatched when the collapsible begins to close.
|
|
25
|
+
* @fires closed - Dispatched when the collapsible has closed.
|
|
26
26
|
*
|
|
27
27
|
* @cssprop --m3e-collapsible-animation-duration - The duration of the expand / collapse animation.
|
|
28
28
|
*/
|
|
@@ -26,7 +26,7 @@ import { TextHighlightMode } from "./TextHighlightMode";
|
|
|
26
26
|
* @attr mode - The mode in which to highlight text.
|
|
27
27
|
* @attr term - The term to highlight.
|
|
28
28
|
*
|
|
29
|
-
* @fires highlight -
|
|
29
|
+
* @fires highlight - Dispatched when content is highlighted.
|
|
30
30
|
*
|
|
31
31
|
* @cssprop --m3e-text-highlight-container-color - Background color applied to highlighted text ranges.
|
|
32
32
|
* @cssprop --m3e-text-highlight-color - Foreground color of highlighted text content.
|
|
@@ -29,6 +29,7 @@ declare const M3eDatepickerElement_base: import("../core/shared/mixins/Construct
|
|
|
29
29
|
* @attr date - The selected date.
|
|
30
30
|
* @attr max-date - The maximum date that can be selected.
|
|
31
31
|
* @attr min-date - The minimum date that can be selected.
|
|
32
|
+
* @attr range - Whether a range of dates can be selected.
|
|
32
33
|
* @attr range-end - End of a date range.
|
|
33
34
|
* @attr range-start - Start of a date range.
|
|
34
35
|
* @attr start-at - A date specifying the period (month or year) to start the calendar in.
|
|
@@ -111,6 +112,11 @@ export declare class M3eDatepickerElement extends M3eDatepickerElement_base {
|
|
|
111
112
|
* @default null
|
|
112
113
|
*/
|
|
113
114
|
maxDate: Date | null;
|
|
115
|
+
/**
|
|
116
|
+
* Whether a range of dates can be selected.
|
|
117
|
+
* @default false
|
|
118
|
+
*/
|
|
119
|
+
range: boolean;
|
|
114
120
|
/**
|
|
115
121
|
* Start of a date range.
|
|
116
122
|
* @default null
|
|
@@ -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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"}
|
|
@@ -38,11 +38,11 @@ declare const M3eDialogElement_base: import("../core/shared/mixins/Constructor")
|
|
|
38
38
|
* @attr no-focus-trap - Whether to disable focus trapping, which keeps keyboard `Tab` navigation within the dialog.
|
|
39
39
|
* @attr open - Whether the dialog is open.
|
|
40
40
|
*
|
|
41
|
-
* @fires opening -
|
|
42
|
-
* @fires opened -
|
|
43
|
-
* @fires cancel -
|
|
44
|
-
* @fires closing -
|
|
45
|
-
* @fires closed -
|
|
41
|
+
* @fires opening - Dispatched when the dialog begins to open.
|
|
42
|
+
* @fires opened - Dispatched when the dialog has opened.
|
|
43
|
+
* @fires cancel - Dispatched when the dialog is cancelled.
|
|
44
|
+
* @fires closing - Dispatched when the dialog begins to close.
|
|
45
|
+
* @fires closed - Dispatched when the dialog has closed.
|
|
46
46
|
*
|
|
47
47
|
* @cssprop --m3e-dialog-shape - Border radius of the dialog container.
|
|
48
48
|
* @cssprop --m3e-dialog-min-width - Minimum width of the dialog.
|
|
@@ -40,7 +40,7 @@ declare const M3eDrawerContainerElement_base: import("../core/shared/mixins/Cons
|
|
|
40
40
|
* @attr start-mode - The behavior mode of the start drawer.
|
|
41
41
|
* @attr start-divider - Whether to show a divider between the start drawer and content for `side` mode.
|
|
42
42
|
*
|
|
43
|
-
* @fires change -
|
|
43
|
+
* @fires change - Dispatched when the state of the start or end drawers change.
|
|
44
44
|
*
|
|
45
45
|
* @cssprop --m3e-drawer-container-color - The background color of the drawer container.
|
|
46
46
|
* @cssprop --m3e-drawer-container-elevation - The elevation level of the drawer container.
|
|
@@ -14,7 +14,7 @@ declare const M3eExpansionHeaderElement_base: import("../core/shared/mixins/Cons
|
|
|
14
14
|
* @attr toggle-direction - The direction of the expansion toggle.
|
|
15
15
|
* @attr toggle-position - The position of the expansion toggle.
|
|
16
16
|
*
|
|
17
|
-
* @fires click -
|
|
17
|
+
* @fires click - Dispatched when the element is clicked.
|
|
18
18
|
*
|
|
19
19
|
* @cssprop --m3e-expansion-header-collapsed-height - Height of the header when the panel is collapsed.
|
|
20
20
|
* @cssprop --m3e-expansion-header-expanded-height - Height of the header when the panel is expanded.
|