@m3e/web 2.5.4 → 2.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/dist/all.js +382 -313
  2. package/dist/all.js.map +1 -1
  3. package/dist/all.min.js +56 -56
  4. package/dist/all.min.js.map +1 -1
  5. package/dist/autocomplete.js +12 -12
  6. package/dist/autocomplete.js.map +1 -1
  7. package/dist/autocomplete.min.js +1 -1
  8. package/dist/autocomplete.min.js.map +1 -1
  9. package/dist/bottom-sheet.js +10 -13
  10. package/dist/bottom-sheet.js.map +1 -1
  11. package/dist/bottom-sheet.min.js +1 -1
  12. package/dist/bottom-sheet.min.js.map +1 -1
  13. package/dist/breadcrumb.js +4 -4
  14. package/dist/breadcrumb.js.map +1 -1
  15. package/dist/breadcrumb.min.js +1 -1
  16. package/dist/breadcrumb.min.js.map +1 -1
  17. package/dist/button-group.js +5 -5
  18. package/dist/button-group.js.map +1 -1
  19. package/dist/button-group.min.js +1 -1
  20. package/dist/button-group.min.js.map +1 -1
  21. package/dist/button.js +15 -15
  22. package/dist/button.js.map +1 -1
  23. package/dist/button.min.js +1 -1
  24. package/dist/button.min.js.map +1 -1
  25. package/dist/checkbox.js +1 -1
  26. package/dist/checkbox.js.map +1 -1
  27. package/dist/checkbox.min.js +1 -1
  28. package/dist/checkbox.min.js.map +1 -1
  29. package/dist/chips.js +9 -9
  30. package/dist/chips.js.map +1 -1
  31. package/dist/chips.min.js +1 -1
  32. package/dist/chips.min.js.map +1 -1
  33. package/dist/core-a11y.js +5 -3
  34. package/dist/core-a11y.js.map +1 -1
  35. package/dist/core-a11y.min.js +4 -4
  36. package/dist/core-a11y.min.js.map +1 -1
  37. package/dist/core-anchoring.js +4 -4
  38. package/dist/core-anchoring.js.map +1 -1
  39. package/dist/core-anchoring.min.js +1 -1
  40. package/dist/core-anchoring.min.js.map +1 -1
  41. package/dist/core.js +77 -40
  42. package/dist/core.js.map +1 -1
  43. package/dist/core.min.js +1 -1
  44. package/dist/core.min.js.map +1 -1
  45. package/dist/css-custom-data.json +355 -340
  46. package/dist/custom-elements.json +3644 -3481
  47. package/dist/datepicker.js +12 -12
  48. package/dist/datepicker.js.map +1 -1
  49. package/dist/datepicker.min.js +1 -1
  50. package/dist/datepicker.min.js.map +1 -1
  51. package/dist/dialog.js +2 -2
  52. package/dist/dialog.js.map +1 -1
  53. package/dist/dialog.min.js +1 -1
  54. package/dist/dialog.min.js.map +1 -1
  55. package/dist/drawer-container.js +14 -14
  56. package/dist/drawer-container.js.map +1 -1
  57. package/dist/drawer-container.min.js +1 -1
  58. package/dist/drawer-container.min.js.map +1 -1
  59. package/dist/expansion-panel.js +2 -2
  60. package/dist/expansion-panel.js.map +1 -1
  61. package/dist/expansion-panel.min.js +1 -1
  62. package/dist/expansion-panel.min.js.map +1 -1
  63. package/dist/fab-menu.js +4 -4
  64. package/dist/fab-menu.js.map +1 -1
  65. package/dist/fab-menu.min.js +1 -1
  66. package/dist/fab-menu.min.js.map +1 -1
  67. package/dist/fab.js +2 -2
  68. package/dist/fab.js.map +1 -1
  69. package/dist/fab.min.js +1 -1
  70. package/dist/fab.min.js.map +1 -1
  71. package/dist/form-field.js +19 -19
  72. package/dist/form-field.js.map +1 -1
  73. package/dist/form-field.min.js +2 -2
  74. package/dist/form-field.min.js.map +1 -1
  75. package/dist/html-custom-data.json +128 -118
  76. package/dist/icon-button.js +15 -15
  77. package/dist/icon-button.js.map +1 -1
  78. package/dist/icon-button.min.js +1 -1
  79. package/dist/icon-button.min.js.map +1 -1
  80. package/dist/list.js +16 -16
  81. package/dist/list.js.map +1 -1
  82. package/dist/list.min.js +1 -1
  83. package/dist/list.min.js.map +1 -1
  84. package/dist/menu.js +20 -20
  85. package/dist/menu.js.map +1 -1
  86. package/dist/menu.min.js +1 -1
  87. package/dist/menu.min.js.map +1 -1
  88. package/dist/nav-bar.js +40 -10
  89. package/dist/nav-bar.js.map +1 -1
  90. package/dist/nav-bar.min.js +1 -1
  91. package/dist/nav-bar.min.js.map +1 -1
  92. package/dist/nav-menu.js +8 -8
  93. package/dist/nav-menu.js.map +1 -1
  94. package/dist/nav-menu.min.js +1 -1
  95. package/dist/nav-menu.min.js.map +1 -1
  96. package/dist/nav-rail.js +15 -11
  97. package/dist/nav-rail.js.map +1 -1
  98. package/dist/nav-rail.min.js +1 -1
  99. package/dist/nav-rail.min.js.map +1 -1
  100. package/dist/option.js +13 -13
  101. package/dist/option.js.map +1 -1
  102. package/dist/option.min.js +1 -1
  103. package/dist/option.min.js.map +1 -1
  104. package/dist/radio-group.js +2 -2
  105. package/dist/radio-group.js.map +1 -1
  106. package/dist/radio-group.min.js +1 -1
  107. package/dist/radio-group.min.js.map +1 -1
  108. package/dist/search.js +12 -12
  109. package/dist/search.js.map +1 -1
  110. package/dist/search.min.js +1 -1
  111. package/dist/search.min.js.map +1 -1
  112. package/dist/segmented-button.js +7 -7
  113. package/dist/segmented-button.js.map +1 -1
  114. package/dist/segmented-button.min.js +1 -1
  115. package/dist/segmented-button.min.js.map +1 -1
  116. package/dist/select.js +6 -6
  117. package/dist/select.js.map +1 -1
  118. package/dist/select.min.js +1 -1
  119. package/dist/select.min.js.map +1 -1
  120. package/dist/slider.js +5 -5
  121. package/dist/slider.js.map +1 -1
  122. package/dist/slider.min.js +1 -1
  123. package/dist/slider.min.js.map +1 -1
  124. package/dist/split-pane.js +10 -10
  125. package/dist/split-pane.js.map +1 -1
  126. package/dist/split-pane.min.js +1 -1
  127. package/dist/split-pane.min.js.map +1 -1
  128. package/dist/src/bottom-sheet/BottomSheetElement.d.ts +1 -1
  129. package/dist/src/bottom-sheet/BottomSheetElement.d.ts.map +1 -1
  130. package/dist/src/button/styles/ButtonSizeStyle.d.ts.map +1 -1
  131. package/dist/src/button/styles/ButtonStyle.d.ts.map +1 -1
  132. package/dist/src/button/styles/ButtonVariantStyle.d.ts.map +1 -1
  133. package/dist/src/button-group/ButtonGroupElement.d.ts.map +1 -1
  134. package/dist/src/checkbox/CheckboxElement.d.ts.map +1 -1
  135. package/dist/src/core/a11y/InteractivityChecker.d.ts +2 -1
  136. package/dist/src/core/a11y/InteractivityChecker.d.ts.map +1 -1
  137. package/dist/src/core/anchoring/FloatingPanelElement.d.ts +1 -1
  138. package/dist/src/core/shared/mixins/SuppressInitialAnimation.d.ts +9 -2
  139. package/dist/src/core/shared/mixins/SuppressInitialAnimation.d.ts.map +1 -1
  140. package/dist/src/core/shared/primitives/CollapsibleElement.d.ts +13 -0
  141. package/dist/src/core/shared/primitives/CollapsibleElement.d.ts.map +1 -1
  142. package/dist/src/core/shared/primitives/CollapsibleOrientation.d.ts +3 -0
  143. package/dist/src/core/shared/primitives/CollapsibleOrientation.d.ts.map +1 -0
  144. package/dist/src/core/shared/primitives/index.d.ts +1 -0
  145. package/dist/src/core/shared/primitives/index.d.ts.map +1 -1
  146. package/dist/src/datepicker/DatepickerElement.d.ts +1 -1
  147. package/dist/src/drawer-container/styles/DrawerContainerStyle.d.ts.map +1 -1
  148. package/dist/src/fab/FabElement.d.ts.map +1 -1
  149. package/dist/src/fab/styles/FabStyle.d.ts.map +1 -1
  150. package/dist/src/fab-menu/FabMenuElement.d.ts +1 -1
  151. package/dist/src/form-field/FormFieldElement.d.ts.map +1 -1
  152. package/dist/src/icon-button/styles/IconButtonSizeStyle.d.ts.map +1 -1
  153. package/dist/src/icon-button/styles/IconButtonStyle.d.ts.map +1 -1
  154. package/dist/src/icon-button/styles/IconButtonVariantStyle.d.ts.map +1 -1
  155. package/dist/src/menu/MenuElement.d.ts +1 -1
  156. package/dist/src/nav-bar/NavItemElement.d.ts +7 -1
  157. package/dist/src/nav-bar/NavItemElement.d.ts.map +1 -1
  158. package/dist/src/nav-rail/NavRailElement.d.ts +10 -5
  159. package/dist/src/nav-rail/NavRailElement.d.ts.map +1 -1
  160. package/dist/src/search/styles/SearchBarStyle.d.ts.map +1 -1
  161. package/dist/src/split-pane/SplitPaneElement.d.ts.map +1 -1
  162. package/dist/src/stepper/StepperElement.d.ts.map +1 -1
  163. package/dist/src/toolbar/ToolbarElement.d.ts.map +1 -1
  164. package/dist/stepper.js +6 -6
  165. package/dist/stepper.js.map +1 -1
  166. package/dist/stepper.min.js +1 -1
  167. package/dist/stepper.min.js.map +1 -1
  168. package/dist/tabs.js +5 -5
  169. package/dist/tabs.js.map +1 -1
  170. package/dist/tabs.min.js +1 -1
  171. package/dist/tabs.min.js.map +1 -1
  172. package/dist/toc.js +7 -7
  173. package/dist/toc.js.map +1 -1
  174. package/dist/toc.min.js +1 -1
  175. package/dist/toc.min.js.map +1 -1
  176. package/dist/toolbar.js +2 -1
  177. package/dist/toolbar.js.map +1 -1
  178. package/dist/toolbar.min.js +1 -1
  179. package/dist/toolbar.min.js.map +1 -1
  180. package/dist/tooltip.js +3 -3
  181. package/dist/tooltip.js.map +1 -1
  182. package/dist/tooltip.min.js +1 -1
  183. package/dist/tooltip.min.js.map +1 -1
  184. package/dist/tree.js +7 -7
  185. package/dist/tree.js.map +1 -1
  186. package/dist/tree.min.js +1 -1
  187. package/dist/tree.min.js.map +1 -1
  188. 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(:state(-vertical))) .base {\r\n flex-direction: row;\r\n }\r\n :host(:state(-vertical)) .base {\r\n flex-direction: column;\r\n }\r\n :host(:state(-with-start):state(-with-end)) .start {\r\n flex: 0 1 calc(var(--_split-pane-value) - calc(var(--m3e-split-pane-drag-handle-container-width, 1.5rem) / 2));\r\n }\r\n :host(:not(:state(-with-end))) .start {\r\n flex: 1 1 auto;\r\n }\r\n :host(:state(-with-end)) .end {\r\n flex: 1 1 auto;\r\n }\r\n :host(:not(:state(-with-end))) .end {\r\n display: none;\r\n }\r\n :host(:not(:state(-animating))) .start[inert],\r\n :host(:not(:state(-animating))) .end[inert] {\r\n visibility: hidden;\r\n }\r\n .drag-handle {\r\n flex: none;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n outline: none;\r\n touch-action: none;\r\n user-select: none;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n\r\n --m3e-state-layer-hover-color: var(--m3e-split-pane-drag-handle-hover-color, ${DesignToken.color.onSurface});\r\n --m3e-state-layer-hover-opacity: var(--m3e-split-pane-drag-handle-hover-opacity, 8%);\r\n --m3e-state-layer-focus-color: var(--m3e-split-pane-drag-handle-focus-color, ${DesignToken.color.onSurface});\r\n --m3e-state-layer-focus-opacity: var(--m3e-split-pane-drag-handle-focus-opacity, 10%);\r\n }\r\n :host(:is(:not(:state(-with-start)), :not(:state(-with-end)))) .drag-handle {\r\n display: none;\r\n }\r\n :host(:not(:state(-pressed))) .drag-handle:not([aria-disabled]) {\r\n cursor: grab;\r\n }\r\n :host(:state(-pressed)) .drag-handle:not([aria-disabled]) {\r\n cursor: grabbing;\r\n }\r\n .handle {\r\n position: relative;\r\n transition: ${unsafeCSS(`background-color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard},\r\n width ${DesignToken.motion.spring.fastEffects}, height ${DesignToken.motion.spring.fastEffects}`)};\r\n }\r\n .touch {\r\n z-index: 1;\r\n position: absolute;\r\n height: 3rem;\r\n width: 3rem;\r\n margin: auto;\r\n touch-action: none;\r\n user-select: none;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n }\r\n :host(:not(:state(-pressed))) .handle {\r\n background-color: var(--m3e-split-pane-drag-handle-color, ${DesignToken.color.outline});\r\n border-radius: var(--m3e-split-pane-drag-handle-shape, ${DesignToken.shape.corner.full});\r\n }\r\n :host(:state(-pressed)) .handle {\r\n background-color: var(--m3e-split-pane-drag-handle-pressed-color, ${DesignToken.color.onSurface});\r\n border-radius: var(--m3e-split-pane-drag-handle-pressed-shape, ${DesignToken.shape.corner.medium});\r\n }\r\n :host(:not(:state(-vertical))) .drag-handle {\r\n flex-direction: column;\r\n width: var(--m3e-split-pane-drag-handle-container-width, 1.5rem);\r\n }\r\n :host(:not(:state(-vertical)):not(:state(-pressed))) .handle {\r\n width: var(--m3e-split-pane-drag-handle-width, 0.25rem);\r\n height: var(--m3e-split-pane-drag-handle-height, 3rem);\r\n }\r\n :host(:not(:state(-vertical)):state(-pressed)) .handle {\r\n width: var(--m3e-split-pane-drag-handle-pressed-width, 0.75rem);\r\n height: var(--m3e-split-pane-drag-handle-pressed-height, 3.25rem);\r\n }\r\n :host(:state(-vertical)) .drag-handle {\r\n height: var(--m3e-split-pane-drag-handle-container-width, 1.5rem);\r\n }\r\n :host(:state(-vertical):not(:state(-pressed))) .handle {\r\n width: var(--m3e-split-pane-drag-handle-height, 3rem);\r\n height: var(--m3e-split-pane-drag-handle-width, 0.25rem);\r\n }\r\n :host(:state(-vertical):state(-pressed)) .handle {\r\n width: var(--m3e-split-pane-drag-handle-pressed-height, 3.25rem);\r\n height: var(--m3e-split-pane-drag-handle-pressed-width, 0.75rem);\r\n }\r\n @media (prefers-reduced-motion) {\r\n .handle {\r\n transition: none;\r\n }\r\n }\r\n @media (forced-colors: active) {\r\n :host(:state(-pressed)) .handle,\r\n :host(:not(:state(-pressed))) .handle {\r\n background-color: ButtonText;\r\n }\r\n }\r\n `;\r\n\r\n /** @private */ @state() _orientation?: Exclude<SplitPaneOrientation, \"auto\">;\r\n /** @private */ #breakpointUnobserve?: () => void;\r\n\r\n /** @private */ @query(\".base\") private _base!: HTMLElement;\r\n /** @private */ @query(\".drag-handle\") private _dragHandle!: HTMLElement;\r\n\r\n /** @private */ #dragState?: { startPos: number; startValue: number; cachedSize: number; min: number; max: number };\r\n /** @private */ #valueChanged = false;\r\n /** @private */ #snapAnimation?: Animation;\r\n\r\n /** @private */\r\n readonly #pressedController = new PressedController(this, {\r\n target: null,\r\n isPressedKey: (key) => key === \" \",\r\n minPressedDuration: 150,\r\n callback: (pressed) => setCustomState(this, \"-pressed\", pressed && !this.disabled),\r\n });\r\n\r\n /** @private */\r\n readonly #startMutationController = new MutationController(this, {\r\n target: null,\r\n config: { attributeFilter: [\"hidden\"] },\r\n callback: () => this.#updatePaneVisibility(\"start\"),\r\n });\r\n\r\n /** @private */\r\n readonly #endMutationController = new MutationController(this, {\r\n target: null,\r\n config: { attributeFilter: [\"hidden\"] },\r\n callback: () => this.#updatePaneVisibility(\"end\"),\r\n });\r\n\r\n /**\r\n * A fractional value, between 0 and 100, indicating the size of the start pane.\r\n * @default 50\r\n */\r\n @property({ type: Number }) value = 50;\r\n\r\n /**\r\n * A fractional value, between 0 and 100, indicating the minimum size of the start pane.\r\n * @default 0\r\n */\r\n @property({ type: Number }) min = 0;\r\n\r\n /**\r\n * A fractional value, between 0 and 100, indicating the maximum size of the start pane.\r\n * @default 100\r\n */\r\n @property({ type: Number }) max = 100;\r\n\r\n /**\r\n * A fractional value, between 0 and 100, indicating the maximum visual overshoot allowed when dragging past the minimum or maximum size.\r\n * @default 4\r\n */\r\n @property({ attribute: \"overshoot-limit\", type: Number }) overshootLimit = 4;\r\n\r\n /**\r\n * A fractional value, between 0 and 100, indicating the increment by which to adjust the value when resized via keyboard.\r\n * @default 1\r\n */\r\n @property({ type: Number }) step = 1;\r\n\r\n /**\r\n * Detents (discrete sizes) the start pane can snap to.\r\n * @default []\r\n */\r\n @property({ attribute: \"detents\", converter: spaceSeparatedStringConverter }) detents: string[] = [];\r\n\r\n /**\r\n * Whether cycling through detents will wrap.\r\n * @default false\r\n */\r\n @property({ attribute: \"wrap-detents\", type: Boolean }) wrapDetents = false;\r\n\r\n /**\r\n * The orientation of the split.\r\n * @default \"horizontal\"\r\n */\r\n @property() orientation: SplitPaneOrientation = \"horizontal\";\r\n\r\n /**\r\n * The accessible label given to the movable drag handle.\r\n * @default \"Resize panes\"\r\n */\r\n @property() label: string = \"Resize panes\";\r\n\r\n /** A function used to generates human readable text for the accessible value (`aria-valuetext`) of the drag handle. */\r\n @property() valueFormatter?: (\r\n value: number,\r\n orientation: Omit<SplitPaneOrientation, \"auto\">,\r\n dir: Direction,\r\n ) => string | undefined = (value, orientation, dir) => {\r\n value = Math.round(value);\r\n if (value >= 48 && value <= 52) {\r\n return \"Panes equally sized\";\r\n }\r\n\r\n switch (value) {\r\n case 0:\r\n return orientation === \"horizontal\"\r\n ? dir === \"ltr\"\r\n ? \"Left pane collapsed\"\r\n : \"Right pane collapsed\"\r\n : \"Top pane collapsed\";\r\n case 100:\r\n return orientation === \"horizontal\"\r\n ? dir === \"ltr\"\r\n ? \"Right pane collapsed\"\r\n : \"Left pane collapsed\"\r\n : \"Bottom pane collapsed\";\r\n default:\r\n return orientation === \"horizontal\"\r\n ? dir === \"ltr\"\r\n ? `Left pane ${value}%, right pane ${100 - value}%`\r\n : `Left pane ${100 - value}%, right pane ${value}%`\r\n : `Top pane ${value}%, bottom pane ${100 - value}%`;\r\n }\r\n };\r\n\r\n /** The current orientation of the split. */\r\n get currentOrientation(): Exclude<SplitPaneOrientation, \"auto\"> {\r\n return this._orientation ?? (this.orientation !== \"vertical\" ? \"horizontal\" : \"vertical\");\r\n }\r\n\r\n /** @inheritdoc */\r\n override get [formValue](): string | File | FormData | null {\r\n return this.value?.toString() ?? null;\r\n }\r\n\r\n /**\r\n * Moves the drag handle to the collapsed position. If detents exist, snaps to the collapsed detent.\r\n * If no detents exist, moves to the minimum allowed value.\r\n */\r\n collapse(): void {\r\n this.snapToValue(this.min);\r\n }\r\n\r\n /**\r\n * Moves the drag handle to the expanded position. If detents exist, snaps to the expanded detent.\r\n * If no detents exist, moves to the maximum allowed value.\r\n */\r\n expand(): void {\r\n this.snapToValue(this.max);\r\n }\r\n\r\n /**\r\n * Moves the drag handle to the specified position. If detents exist, snaps to the closest detent.\r\n * If no detents exist, moves to the specified value.\r\n * @param {number} value A fractional value, between 0 and 100, indicating the size of the start pane.\r\n */\r\n snapToValue(value: number): void {\r\n const detent = this.#getClosestDetent(value);\r\n value = detent > -1 ? this.#computeDetent(this.detents[detent])! : value;\r\n if (!this.#snapAnimation) {\r\n this.#snapToValue(value);\r\n } else {\r\n this.#changeValue(value);\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n override disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n\r\n this.#clearOrientation();\r\n this.#pressedController.unobserve(this._dragHandle);\r\n }\r\n\r\n /** @inheritdoc */\r\n override reconnectedCallback(): void {\r\n super.reconnectedCallback();\r\n\r\n this.#initialize();\r\n\r\n if (this.orientation === \"auto\") {\r\n this.#initBreakpointMonitoring();\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override willUpdate(changedProperties: PropertyValues<this>): void {\r\n super.willUpdate(changedProperties);\r\n\r\n if (changedProperties.has(\"orientation\")) {\r\n this.#breakpointUnobserve?.();\r\n\r\n if (this.orientation === \"auto\") {\r\n this.#initBreakpointMonitoring();\r\n } else {\r\n this._orientation = undefined;\r\n this.#updateOrientation();\r\n }\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override updated(_changedProperties: PropertyValues): void {\r\n super.updated(_changedProperties);\r\n if (_changedProperties.has(\"value\")) {\r\n this._base.style.setProperty(\"--_split-pane-value\", `${this.value}%`);\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override firstUpdated(_changedProperties: PropertyValues): void {\r\n super.firstUpdated(_changedProperties);\r\n this.#initialize();\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<div class=\"base\">\r\n <div class=\"start\" id=\"start\" ?inert=\"${this.value <= 0}\">\r\n <slot name=\"start\" @slotchange=\"${this.#handleStartSlotChange}\"></slot>\r\n </div>\r\n ${this.#renderDragHandle()}\r\n <div class=\"end\" ?inert=\"${this.value >= 100}\">\r\n <slot name=\"end\" @slotchange=\"${this.#handleEndSlotChange}\"></slot>\r\n </div>\r\n </div>`;\r\n }\r\n\r\n /** @private */\r\n #renderDragHandle(): unknown {\r\n return html`<div\r\n id=\"drag-handle\"\r\n class=\"drag-handle\"\r\n role=\"separator\"\r\n tabindex=\"${ifDefined(this.disabled ? undefined : 0)}\"\r\n aria-label=\"${this.label}\"\r\n aria-controls=\"start\"\r\n aria-disabled=\"${ifDefined(this.disabled ? \"true\" : undefined)}\"\r\n aria-orientation=\"${this.currentOrientation === \"horizontal\" ? \"vertical\" : \"horizontal\"}\"\r\n aria-valuemin=\"${this.min}\"\r\n aria-valuemax=\"${this.max}\"\r\n aria-valuenow=\"${this.value}\"\r\n aria-valuetext=\"${ifDefined(\r\n this.valueFormatter?.(this.value, this.currentOrientation, M3eDirectionality.current),\r\n )}\"\r\n @pointerdown=\"${this.#handlePointerDown}\"\r\n @pointerup=\"${this.#handlePointerUp}\"\r\n @pointermove=\"${this.#handlePointerMove}\"\r\n @keydown=\"${this.#handleKeyDown}\"\r\n @dblclick=\"${this.#cycleDetent}\"\r\n >\r\n ${this.disabled\r\n ? nothing\r\n : html`<div class=\"handle\">\r\n <m3e-focus-ring for=\"drag-handle\"></m3e-focus-ring>\r\n <m3e-state-layer for=\"drag-handle\"></m3e-state-layer>\r\n </div>\r\n <div class=\"touch\"></div>`}\r\n </div>`;\r\n }\r\n\r\n /** @private */\r\n #handleStartSlotChange(e: Event): void {\r\n this.#handleSlotChange(e.target as HTMLSlotElement, this.#startMutationController, \"-with-start\");\r\n }\r\n\r\n /** @private */\r\n #handleEndSlotChange(e: Event): void {\r\n this.#handleSlotChange(e.target as HTMLSlotElement, this.#endMutationController, \"-with-end\");\r\n }\r\n\r\n /** @private */\r\n #handleSlotChange(slot: HTMLSlotElement, mutationController: MutationController, state: string): void {\r\n for (const target of mutationController.targets) {\r\n mutationController.unobserve(target);\r\n }\r\n\r\n const assignedElements = new Array<Element>();\r\n setCustomState(this, state, this.#hasVisibleElements(slot, assignedElements));\r\n\r\n for (const element of assignedElements) {\r\n if (element instanceof HTMLElement) {\r\n mutationController.observe(element);\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #updatePaneVisibility(pane: \"start\" | \"end\"): void {\r\n setCustomState(\r\n this,\r\n `-with-${pane}`,\r\n this.#hasVisibleElements(this.shadowRoot?.querySelector<HTMLSlotElement>(`slot[name='${pane}']`)),\r\n );\r\n }\r\n\r\n /** @private */\r\n #hasVisibleElements(slot?: HTMLSlotElement | null, assignedElements?: Element[]): boolean {\r\n assignedElements = assignedElements ?? [];\r\n assignedElements.push(...(slot?.assignedElements({ flatten: true }) ?? []));\r\n return assignedElements.length > 0 && !assignedElements.every((x) => x.hasAttribute(\"hidden\"));\r\n }\r\n\r\n /** @private */\r\n #initialize() {\r\n this.#pressedController.observe(this._dragHandle);\r\n }\r\n\r\n /** @private */\r\n #initBreakpointMonitoring(): void {\r\n this.#breakpointUnobserve = M3eBreakpointObserver.observe([Breakpoint.XSmall], (matches) => {\r\n this._orientation = matches.get(Breakpoint.XSmall) ? \"vertical\" : \"horizontal\";\r\n this.#updateOrientation();\r\n });\r\n }\r\n\r\n /** @private */\r\n #updateOrientation(): void {\r\n setCustomState(this, \"-vertical\", this.currentOrientation === \"vertical\");\r\n }\r\n\r\n /** @private */\r\n #clearOrientation(): void {\r\n deleteCustomState(this, \"-vertical\");\r\n this._orientation = undefined;\r\n this.#breakpointUnobserve?.();\r\n this.#breakpointUnobserve = undefined;\r\n }\r\n\r\n /** @private */\r\n #handlePointerDown(e: PointerEvent): void {\r\n if (e.pointerType === \"mouse\" && e.button > 1) return;\r\n if (this.disabled) return;\r\n\r\n this._dragHandle.setPointerCapture(e.pointerId);\r\n this.#valueChanged = false;\r\n\r\n let min = this.min;\r\n if (min === 0 && this.detents.length > 0) {\r\n const detent = this.#getClosestDetent(0);\r\n if (detent > -1) {\r\n min = this.#computeDetent(this.detents[detent]) ?? this.min;\r\n }\r\n }\r\n\r\n let max = this.max;\r\n if (max === 100 && this.detents.length > 0) {\r\n const detent = this.#getClosestDetent(100);\r\n if (detent > -1) {\r\n max = this.#computeDetent(this.detents[detent]) ?? this.max;\r\n }\r\n }\r\n\r\n this.#dragState = {\r\n startPos: this.currentOrientation === \"vertical\" ? e.clientY : e.clientX,\r\n startValue: this.value,\r\n cachedSize: this.currentOrientation === \"vertical\" ? this.clientHeight : this.clientWidth,\r\n min,\r\n max,\r\n };\r\n }\r\n\r\n /** @private */\r\n #handlePointerMove(e: PointerEvent): void {\r\n if (!this._dragHandle.hasPointerCapture(e.pointerId) || !this.#dragState) return;\r\n\r\n const pos = this.currentOrientation === \"vertical\" ? e.clientY : e.clientX;\r\n\r\n let delta =\r\n this.#dragState.cachedSize > 0 ? ((pos - this.#dragState.startPos) / this.#dragState.cachedSize) * 100 : 0;\r\n if (M3eDirectionality.current === \"rtl\" && this.currentOrientation !== \"vertical\") {\r\n delta = -delta;\r\n }\r\n\r\n let value = this.#dragState.startValue + delta;\r\n if (value < this.#dragState.min) {\r\n const overshoot = this.#dragState.min - value;\r\n const compressed = (this.overshootLimit * overshoot) / (overshoot + this.overshootLimit);\r\n value = this.#dragState.min - compressed;\r\n } else if (value > this.#dragState.max) {\r\n const overshoot = value - this.#dragState.max;\r\n const compressed = (this.overshootLimit * overshoot) / (overshoot + this.overshootLimit);\r\n value = this.#dragState.max + compressed;\r\n }\r\n\r\n if (this.#changeValue(value, false, true)) {\r\n this.#valueChanged = true;\r\n }\r\n }\r\n\r\n /** @private */\r\n #handlePointerUp(e: PointerEvent): void {\r\n if (e.pointerType === \"mouse\" && e.button > 1) return;\r\n if (this._dragHandle.hasPointerCapture(e.pointerId)) {\r\n this._dragHandle.releasePointerCapture(e.pointerId);\r\n this.#dragState = undefined;\r\n\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent >= 0) {\r\n const value = this.#computeDetent(this.detents[detent]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value, false);\r\n }\r\n } else if (this.value < this.min) {\r\n this.#snapToValue(this.min, false);\r\n } else if (this.value > this.max) {\r\n this.#snapToValue(this.max, false);\r\n }\r\n\r\n if (this.#valueChanged) {\r\n this.dispatchEvent(new Event(\"change\", { bubbles: true, composed: true }));\r\n this.#valueChanged = false;\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleKeyDown(e: KeyboardEvent): void {\r\n const ltr = M3eDirectionality.current === \"ltr\" || this.currentOrientation === \"vertical\";\r\n switch (e.key) {\r\n case \"Up\":\r\n case \"ArrowUp\":\r\n case \"Left\":\r\n case \"ArrowLeft\": {\r\n e.preventDefault();\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent >= 0) {\r\n const nextDetent = ltr ? this.#getNextLowerDetent(detent) : this.#getNextHigherDetent(detent);\r\n if (nextDetent !== detent && !this.#snapAnimation) {\r\n const value = this.#computeDetent(this.detents[nextDetent]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value);\r\n }\r\n }\r\n } else if (this.step > 1) {\r\n if (!this.#snapAnimation) {\r\n this.#snapToValue(this.value + (ltr ? -this.step : this.step));\r\n }\r\n } else {\r\n this.#changeValue(this.value + (ltr ? -this.step : this.step));\r\n }\r\n break;\r\n }\r\n\r\n case \"Down\":\r\n case \"ArrowDown\":\r\n case \"Right\":\r\n case \"ArrowRight\": {\r\n e.preventDefault();\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent >= 0) {\r\n const nextDetent = ltr ? this.#getNextHigherDetent(detent) : this.#getNextLowerDetent(detent);\r\n if (nextDetent !== detent && !this.#snapAnimation) {\r\n const value = this.#computeDetent(this.detents[nextDetent]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value);\r\n }\r\n }\r\n } else if (this.step > 1) {\r\n if (!this.#snapAnimation) {\r\n this.#snapToValue(this.value + (ltr ? this.step : -this.step));\r\n }\r\n } else {\r\n this.#changeValue(this.value + (ltr ? this.step : -this.step));\r\n }\r\n\r\n break;\r\n }\r\n\r\n case \"Home\": {\r\n e.preventDefault();\r\n if (!this.#snapAnimation) {\r\n const next = this.#getClosestDetent(this.min);\r\n if (next > -1) {\r\n this.#snapToValue(this.#computeDetent(this.detents[next])!);\r\n } else {\r\n this.#snapToValue(this.min);\r\n }\r\n }\r\n\r\n break;\r\n }\r\n\r\n case \"End\": {\r\n e.preventDefault();\r\n if (!this.#snapAnimation) {\r\n const next = this.#getClosestDetent(this.max);\r\n if (next > -1) {\r\n this.#snapToValue(this.#computeDetent(this.detents[next])!);\r\n } else {\r\n this.#snapToValue(this.max);\r\n }\r\n }\r\n\r\n break;\r\n }\r\n\r\n case \"PageUp\": {\r\n e.preventDefault();\r\n if (!this.#snapAnimation) {\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent >= 0) {\r\n const nextDetent = this.#getNextLowerDetent(detent);\r\n if (nextDetent !== detent) {\r\n const value = this.#computeDetent(this.detents[nextDetent]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value);\r\n }\r\n }\r\n } else {\r\n this.#snapToValue(this.value - Math.max(10, this.step));\r\n }\r\n }\r\n\r\n break;\r\n }\r\n\r\n case \"PageDown\": {\r\n e.preventDefault();\r\n if (!this.#snapAnimation) {\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent >= 0) {\r\n const nextDetent = this.#getNextHigherDetent(detent);\r\n if (nextDetent !== detent) {\r\n const value = this.#computeDetent(this.detents[nextDetent]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value);\r\n }\r\n }\r\n } else {\r\n this.#snapToValue(this.value + Math.max(10, this.step));\r\n }\r\n }\r\n\r\n break;\r\n }\r\n\r\n case \"Enter\":\r\n if (!this.#snapAnimation) {\r\n this.#cycleDetent();\r\n }\r\n\r\n break;\r\n\r\n case \" \":\r\n e.preventDefault();\r\n if (!this.#snapAnimation) {\r\n this.#cycleDetent();\r\n }\r\n break;\r\n }\r\n }\r\n\r\n /** @private */\r\n #changeValue(value: number, emitChange = true, allowOvershoot = false): boolean {\r\n this.#clearSnapAnimation();\r\n\r\n if (!allowOvershoot) {\r\n value = Math.max(this.min, Math.min(this.max, value));\r\n }\r\n\r\n if (value != this.value) {\r\n const prev = this.value;\r\n this.value = value;\r\n\r\n if (this.dispatchEvent(new Event(\"input\", { bubbles: true, composed: true, cancelable: true }))) {\r\n this._base.style.setProperty(\"--_split-pane-value\", `${this.value}%`);\r\n if (emitChange) {\r\n this.dispatchEvent(new Event(\"change\", { bubbles: true, composed: true }));\r\n }\r\n return true;\r\n } else {\r\n this.value = prev;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /** @private */\r\n #getClosestDetent(value: number): number {\r\n let closestDetent = -1;\r\n let closestDistance = Infinity;\r\n\r\n for (let i = 0; i < this.detents.length; i++) {\r\n const detent = this.#computeDetent(this.detents[i]);\r\n if (detent === undefined) continue;\r\n\r\n const distance = Math.abs(value - detent);\r\n if (distance < closestDistance) {\r\n closestDistance = distance;\r\n closestDetent = i;\r\n }\r\n }\r\n return closestDetent;\r\n }\r\n\r\n /** @private */\r\n #getNextHigherDetent(detentIndex: number): number {\r\n const currentValue = this.#computeDetent(this.detents[detentIndex]);\r\n if (currentValue === undefined) return detentIndex;\r\n\r\n let value = Infinity;\r\n let nextDetent = detentIndex;\r\n for (let i = 0; i < this.detents.length; i++) {\r\n if (i === detentIndex) continue;\r\n const detent = this.#computeDetent(this.detents[i]);\r\n if (detent === undefined) continue;\r\n if (detent > currentValue && detent < value) {\r\n value = detent;\r\n nextDetent = i;\r\n }\r\n }\r\n return nextDetent;\r\n }\r\n\r\n /** @private */\r\n #getNextLowerDetent(detentIndex: number): number {\r\n const currentValue = this.#computeDetent(this.detents[detentIndex]);\r\n if (currentValue === undefined) return detentIndex;\r\n\r\n let value = -Infinity;\r\n let nextDetent = detentIndex;\r\n for (let i = 0; i < this.detents.length; i++) {\r\n if (i === detentIndex) continue;\r\n const detent = this.#computeDetent(this.detents[i]);\r\n if (detent === undefined) continue;\r\n if (detent < currentValue && detent > value) {\r\n value = detent;\r\n nextDetent = i;\r\n }\r\n }\r\n return nextDetent;\r\n }\r\n\r\n /** @private */\r\n #computeDetent(detent: string): number | undefined {\r\n const value = detent.endsWith(\"px\") ? this.clientWidth / parseFloat(detent) : parseFloat(detent);\r\n return !isNaN(value) ? value : undefined;\r\n }\r\n\r\n /** @private */\r\n #clearSnapAnimation(): void {\r\n this.#snapAnimation?.cancel();\r\n this.#snapAnimation = undefined;\r\n }\r\n\r\n /** @private */\r\n #snapToValue(value: number, emitChange = true): void {\r\n this.#clearSnapAnimation();\r\n\r\n value = Math.max(this.min, Math.min(this.max, value));\r\n if (value === this.value) return;\r\n\r\n if (!prefersReducedMotion()) {\r\n addCustomState(this, \"-animating\");\r\n\r\n this.#snapAnimation = this._base.animate(\r\n [{ \"--_split-pane-value\": `${this.value}%` }, { \"--_split-pane-value\": `${value}%` }],\r\n {\r\n duration: 250,\r\n easing: \"cubic-bezier(0.2, 0.0, 0, 1.0)\",\r\n },\r\n );\r\n this.#snapAnimation.onfinish = () => {\r\n this.#changeValue(value, emitChange);\r\n this.#snapAnimation = undefined;\r\n deleteCustomState(this, \"-animating\");\r\n };\r\n } else {\r\n this.#changeValue(value, emitChange);\r\n }\r\n }\r\n\r\n /** @private */\r\n #cycleDetent(): void {\r\n if (this.detents.length === 0) return;\r\n\r\n const detent = this.#getClosestDetent(this.value);\r\n if (detent === -1) return;\r\n\r\n let next = this.#getNextHigherDetent(detent);\r\n if (next === detent && this.wrapDetents) {\r\n next = this.#getClosestDetent(0);\r\n if (next === -1) return;\r\n }\r\n\r\n const value = this.#computeDetent(this.detents[next]);\r\n if (value !== undefined) {\r\n this.#snapToValue(value);\r\n }\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-split-pane\": M3eSplitPaneElement;\r\n }\r\n}\r\n"],"names":["M3eSplitPaneElement","FormAssociated","Disabled","ReconnectedCallback","AttachInternals","LitElement","constructor","_M3eSplitPaneElement_breakpointUnobserve","set","this","_M3eSplitPaneElement_dragState","_M3eSplitPaneElement_valueChanged","_M3eSplitPaneElement_snapAnimation","_M3eSplitPaneElement_pressedController","PressedController","target","isPressedKey","key","minPressedDuration","callback","pressed","setCustomState","disabled","_M3eSplitPaneElement_startMutationController","MutationController","config","attributeFilter","__classPrivateFieldGet","_M3eSplitPaneElement_instances","_M3eSplitPaneElement_updatePaneVisibility","call","_M3eSplitPaneElement_endMutationController","value","min","max","overshootLimit","step","detents","wrapDetents","orientation","label","valueFormatter","dir","Math","round","currentOrientation","_orientation","WeakMap","WeakSet","formValue","toString","collapse","snapToValue","expand","detent","_M3eSplitPaneElement_getClosestDetent","_M3eSplitPaneElement_computeDetent","_M3eSplitPaneElement_changeValue","_M3eSplitPaneElement_snapToValue","disconnectedCallback","super","_M3eSplitPaneElement_clearOrientation","unobserve","_dragHandle","reconnectedCallback","_M3eSplitPaneElement_initialize","_M3eSplitPaneElement_initBreakpointMonitoring","willUpdate","changedProperties","has","undefined","_M3eSplitPaneElement_updateOrientation","updated","_changedProperties","_base","style","setProperty","firstUpdated","render","html","_M3eSplitPaneElement_handleStartSlotChange","_M3eSplitPaneElement_renderDragHandle","_M3eSplitPaneElement_handleEndSlotChange","ifDefined","M3eDirectionality","current","_M3eSplitPaneElement_handlePointerDown","_M3eSplitPaneElement_handlePointerUp","_M3eSplitPaneElement_handlePointerMove","_M3eSplitPaneElement_handleKeyDown","_M3eSplitPaneElement_cycleDetent","nothing","e","_M3eSplitPaneElement_handleSlotChange","slot","mutationController","state","targets","assignedElements","Array","_M3eSplitPaneElement_hasVisibleElements","element","HTMLElement","observe","pane","shadowRoot","querySelector","push","flatten","length","every","x","hasAttribute","__classPrivateFieldSet","M3eBreakpointObserver","Breakpoint","XSmall","matches","get","deleteCustomState","pointerType","button","setPointerCapture","pointerId","startPos","clientY","clientX","startValue","cachedSize","clientHeight","clientWidth","hasPointerCapture","pos","delta","overshoot","compressed","releasePointerCapture","dispatchEvent","Event","bubbles","composed","ltr","preventDefault","nextDetent","_M3eSplitPaneElement_getNextLowerDetent","_M3eSplitPaneElement_getNextHigherDetent","next","emitChange","allowOvershoot","_M3eSplitPaneElement_clearSnapAnimation","prev","cancelable","closestDetent","closestDistance","Infinity","i","distance","abs","detentIndex","currentValue","endsWith","parseFloat","isNaN","cancel","prefersReducedMotion","addCustomState","animate","duration","easing","onfinish","registerStyleSheet","css","styles","DesignToken","color","onSurface","unsafeCSS","motion","short4","standard","spring","fastEffects","outline","shape","corner","full","medium","__decorate","prototype","query","property","type","Number","attribute","converter","spaceSeparatedStringConverter","Boolean","customElement"],"mappings":"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"}
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,6 +1,6 @@
1
1
  import { CSSResultGroup, LitElement, PropertyValues } from "lit";
2
2
  import "@m3e/web/core/a11y";
3
- declare const M3eBottomSheetElement_base: import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").ReconnectedCallbackMixin> & import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").AttachInternalsMixin> & typeof LitElement;
3
+ declare const M3eBottomSheetElement_base: import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").ReconnectedCallbackMixin> & import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").SuppressInitialAnimationMixin> & import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").AttachInternalsMixin> & typeof LitElement;
4
4
  /**
5
5
  * A sheet used to show secondary content anchored to the bottom of the screen.
6
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetElement.d.ts","sourceRoot":"","sources":["../../../src/bottom-sheet/BottomSheetElement.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAW,cAAc,EAAa,MAAM,KAAK,CAAC;AAwBhG,OAAO,oBAAoB,CAAC;;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiGG;AACH,qBACa,qBAAsB,SAAQ,0BAA0E;;IAenH,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CA4MpC;IAEF,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAwB;IA+BnE;;;OAGG;IACyC,KAAK,UAAS;IAE1D;;;OAGG;IACyC,IAAI,UAAS;IAEzD;;;;OAIG;IAC0B,MAAM,UAAS;IAE5C;;;OAGG;IACsC,WAAW,SAAiB;IAErE;;;OAGG;IAC2E,OAAO,EAAE,MAAM,EAAE,CAAM;IAErG;;;OAGG;IACyB,MAAM,SAAK;IAEvC;;;OAGG;IACyC,QAAQ,UAAS;IAE7D;;;OAGG;IACqD,YAAY,SAAO;IAE3E;;;OAGG;IACuD,cAAc,SAAK;IAE7E;;;OAGG;IACH,IAAI,CAAC,MAAM,GAAE,MAAoB,GAAG,IAAI;IASxC,uBAAuB;IACvB,IAAI,IAAI,IAAI;IAIZ;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAQ7B,0CAA0C;IAC1C,KAAK,IAAI,IAAI;IAeb,kBAAkB;cACC,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAUxE,kBAAkB;IACT,mBAAmB,IAAI,IAAI;IAKpC,kBAAkB;IACT,YAAY,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;IAK/D,kBAAkB;cACC,OAAO,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;IAmFpE,kBAAkB;cACC,MAAM,IAAI,OAAO;CAsbrC;AAED,UAAU,6BAA8B,SAAQ,mBAAmB;IACjE,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,KAAK,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,KAAK,CAAC;IACd,MAAM,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,CAAC,CAAC,SAAS,MAAM,6BAA6B,EAC5D,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,6BAA6B,CAAC,CAAC,CAAC,KAAK,IAAI,EACrF,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC1C,IAAI,CAAC;IAER,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,EAC5C,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC1C,IAAI,CAAC;IAER,mBAAmB,CAAC,CAAC,SAAS,MAAM,6BAA6B,EAC/D,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,6BAA6B,CAAC,CAAC,CAAC,KAAK,IAAI,EACrF,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACvC,IAAI,CAAC;IAER,mBAAmB,CACjB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,EAC5C,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACvC,IAAI,CAAC;CACT;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,qBAAqB,CAAC;KAC3C;CACF"}
1
+ {"version":3,"file":"BottomSheetElement.d.ts","sourceRoot":"","sources":["../../../src/bottom-sheet/BottomSheetElement.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAW,cAAc,EAAa,MAAM,KAAK,CAAC;AAuBhG,OAAO,oBAAoB,CAAC;;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiGG;AACH,qBACa,qBAAsB,SAAQ,0BAA0E;;IAenH,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CA4MpC;IAEF,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAwB;IA+BnE;;;OAGG;IACyC,KAAK,UAAS;IAE1D;;;OAGG;IACyC,IAAI,UAAS;IAEzD;;;;OAIG;IAC0B,MAAM,UAAS;IAE5C;;;OAGG;IACsC,WAAW,SAAiB;IAErE;;;OAGG;IAC2E,OAAO,EAAE,MAAM,EAAE,CAAM;IAErG;;;OAGG;IACyB,MAAM,SAAK;IAEvC;;;OAGG;IACyC,QAAQ,UAAS;IAE7D;;;OAGG;IACqD,YAAY,SAAO;IAE3E;;;OAGG;IACuD,cAAc,SAAK;IAE7E;;;OAGG;IACH,IAAI,CAAC,MAAM,GAAE,MAAoB,GAAG,IAAI;IASxC,uBAAuB;IACvB,IAAI,IAAI,IAAI;IAIZ;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAQ7B,0CAA0C;IAC1C,KAAK,IAAI,IAAI;IAeb,kBAAkB;cACC,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAUxE,kBAAkB;IACT,mBAAmB,IAAI,IAAI;IAKpC,kBAAkB;IACT,YAAY,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;IAK/D,kBAAkB;cACC,OAAO,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;IAmFpE,kBAAkB;cACC,MAAM,IAAI,OAAO;CAibrC;AAED,UAAU,6BAA8B,SAAQ,mBAAmB;IACjE,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,KAAK,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,KAAK,CAAC;IACd,MAAM,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,CAAC,CAAC,SAAS,MAAM,6BAA6B,EAC5D,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,6BAA6B,CAAC,CAAC,CAAC,KAAK,IAAI,EACrF,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC1C,IAAI,CAAC;IAER,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,EAC5C,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC1C,IAAI,CAAC;IAER,mBAAmB,CAAC,CAAC,SAAS,MAAM,6BAA6B,EAC/D,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,6BAA6B,CAAC,CAAC,CAAC,KAAK,IAAI,EACrF,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACvC,IAAI,CAAC;IAER,mBAAmB,CACjB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,EAC5C,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACvC,IAAI,CAAC;CACT;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,qBAAqB,CAAC;KAC3C;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonSizeStyle.d.ts","sourceRoot":"","sources":["../../../../src/button/styles/ButtonSizeStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,cAAc,EAAa,MAAM,KAAK,CAAC;AAoGhE;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,cAM7B,CAAC"}
1
+ {"version":3,"file":"ButtonSizeStyle.d.ts","sourceRoot":"","sources":["../../../../src/button/styles/ButtonSizeStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,cAAc,EAAa,MAAM,KAAK,CAAC;AAmHhE;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,cAM7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonStyle.d.ts","sourceRoot":"","sources":["../../../../src/button/styles/ButtonStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAa,MAAM,KAAK,CAAC;AAIrD;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,cA+LzB,CAAC"}
1
+ {"version":3,"file":"ButtonStyle.d.ts","sourceRoot":"","sources":["../../../../src/button/styles/ButtonStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAa,MAAM,KAAK,CAAC;AAIrD;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,cAmNzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonVariantStyle.d.ts","sourceRoot":"","sources":["../../../../src/button/styles/ButtonVariantStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,cAAc,EAAa,MAAM,KAAK,CAAC;AAsKhE;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,cAWhC,CAAC"}
1
+ {"version":3,"file":"ButtonVariantStyle.d.ts","sourceRoot":"","sources":["../../../../src/button/styles/ButtonVariantStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,cAAc,EAAa,MAAM,KAAK,CAAC;AAmLhE;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,cAWhC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonGroupElement.d.ts","sourceRoot":"","sources":["../../../src/button-group/ButtonGroupElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAa5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,qBACa,qBAAsB,SAAQ,0BAAyB;;IAClE,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CAuMpC;IAmBc,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAc;IAErD;;;OAGG;IAC0B,OAAO,EAAE,kBAAkB,CAAc;IAEtE;;;OAGG;IAC0B,IAAI,EAAE,eAAe,CAAW;IAE7D;;;OAGG;IAC0B,KAAK,UAAS;IAE3C,0CAA0C;IAE1C,QAAQ,CAAC,OAAO,EAAG,aAAa,CAAC,gBAAgB,GAAG,oBAAoB,CAAC,CAAC;IAE1E,kBAAkB;IACT,iBAAiB,IAAI,IAAI;IAQlC,kBAAkB;IACT,oBAAoB,IAAI,IAAI;IAMrC,kBAAkB;cACC,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAWxE,kBAAkB;cACC,MAAM,IAAI,OAAO;CAwDrC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,qBAAqB,CAAC;KAC3C;CACF"}
1
+ {"version":3,"file":"ButtonGroupElement.d.ts","sourceRoot":"","sources":["../../../src/button-group/ButtonGroupElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAa5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,qBACa,qBAAsB,SAAQ,0BAAyB;;IAClE,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CA6MpC;IAmBc,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAc;IAErD;;;OAGG;IAC0B,OAAO,EAAE,kBAAkB,CAAc;IAEtE;;;OAGG;IAC0B,IAAI,EAAE,eAAe,CAAW;IAE7D;;;OAGG;IAC0B,KAAK,UAAS;IAE3C,0CAA0C;IAE1C,QAAQ,CAAC,OAAO,EAAG,aAAa,CAAC,gBAAgB,GAAG,oBAAoB,CAAC,CAAC;IAE1E,kBAAkB;IACT,iBAAiB,IAAI,IAAI;IAQlC,kBAAkB;IACT,oBAAoB,IAAI,IAAI;IAMrC,kBAAkB;cACC,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAWxE,kBAAkB;cACC,MAAM,IAAI,OAAO;CAwDrC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,qBAAqB,CAAC;KAC3C;CACF"}
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AACH,qBACa,kBAAmB,SAAQ,uBAcvC;;IACC,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CAsJpC;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"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;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"}
@@ -6,9 +6,10 @@ export declare class M3eInteractivityChecker {
6
6
  * @param {Element} element The element to test.
7
7
  * @param {readonly Element[]} [parents = undefined] The known parent elements to test. The default value is `undefined`.
8
8
  * @param {boolean} [allowVisiblyHidden=false] Whether to allow visibly hidden elements as focusable.
9
+ * @param {boolean} [allowDisabled=false] Whether to allow disabled elements as focusable.
9
10
  * @returns {boolean} Whether `element` can receive focus.
10
11
  */
11
- static isFocusable(element: Element, parents?: readonly Element[], allowVisiblyHidden?: boolean): boolean;
12
+ static isFocusable(element: Element, parents?: readonly Element[], allowVisiblyHidden?: boolean, allowDisabled?: boolean): boolean;
12
13
  /**
13
14
  * Finds interactive elements that descend from the specified element.
14
15
  * @param {HTMLElement} element The `HTMLElement` to search.
@@ -1 +1 @@
1
- {"version":3,"file":"InteractivityChecker.d.ts","sourceRoot":"","sources":["../../../../src/core/a11y/InteractivityChecker.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,qBAAa,uBAAuB;;IAClC;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,EAAE,kBAAkB,GAAE,OAAe,GAAG,OAAO;IA8ChH;;;;;OAKG;IACH,MAAM,CAAC,uBAAuB,CAAC,OAAO,EAAE,WAAW,EAAE,kBAAkB,GAAE,OAAe,GAAG,WAAW,EAAE;CAazG;AAGD,KAAK,4BAA4B,GAAG,OAAO,uBAAuB,CAAC;AAEnE,OAAO,CAAC,MAAM,CAAC;IACb,6FAA6F;IAC7F,IAAI,uBAAuB,EAAE,4BAA4B,CAAC;CAC3D"}
1
+ {"version":3,"file":"InteractivityChecker.d.ts","sourceRoot":"","sources":["../../../../src/core/a11y/InteractivityChecker.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,qBAAa,uBAAuB;;IAClC;;;;;;;OAOG;IACH,MAAM,CAAC,WAAW,CAChB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,EAC5B,kBAAkB,GAAE,OAAe,EACnC,aAAa,GAAE,OAAe,GAC7B,OAAO;IA2CV;;;;;OAKG;IACH,MAAM,CAAC,uBAAuB,CAAC,OAAO,EAAE,WAAW,EAAE,kBAAkB,GAAE,OAAe,GAAG,WAAW,EAAE;CAazG;AAGD,KAAK,4BAA4B,GAAG,OAAO,uBAAuB,CAAC;AAEnE,OAAO,CAAC,MAAM,CAAC;IACb,6FAA6F;IAC7F,IAAI,uBAAuB,EAAE,4BAA4B,CAAC;CAC3D"}
@@ -1,6 +1,6 @@
1
1
  import { CSSResultGroup, LitElement } from "lit";
2
2
  import { FloatingPanelScrollStrategy } from "./FloatingPanelScrollStrategy";
3
- declare const M3eFloatingPanelElement_base: import("../shared/mixins/Constructor").Constructor<import("@m3e/web/core").AttachInternalsMixin> & typeof LitElement;
3
+ declare const M3eFloatingPanelElement_base: import("../shared/mixins/Constructor").Constructor<import("@m3e/web/core").SuppressInitialAnimationMixin> & import("../shared/mixins/Constructor").Constructor<import("@m3e/web/core").AttachInternalsMixin> & typeof LitElement;
4
4
  /**
5
5
  * A lightweight, generic floating surface used to present content above the page.
6
6
  *
@@ -1,11 +1,18 @@
1
1
  import { LitElement } from "lit";
2
2
  import { Constructor } from "./Constructor";
3
3
  import { AttachInternalsMixin } from "./AttachInternals";
4
+ /** A symbol used to define the function called to resume animation. */
5
+ export declare const resumeAnimation: unique symbol;
6
+ /** Defines functionality for an element whose animation can be suppressed. */
7
+ export interface SuppressInitialAnimationMixin {
8
+ /** Invoked to resume animation. */
9
+ [resumeAnimation](): void;
10
+ }
4
11
  /**
5
12
  * Mixin to augment an element with behavior that suppresses initial animations.
6
13
  * @template T The type of the base class.
7
14
  * @param {T} base The base class.
8
- * @returns {T} A constructor that implements initial animation suppression.
15
+ * @returns {Constructor<SuppressInitialAnimationMixin> & T} A constructor that implements initial animation suppression.
9
16
  */
10
- export declare function SuppressInitialAnimation<T extends Constructor<LitElement & AttachInternalsMixin>>(base: T): T;
17
+ export declare function SuppressInitialAnimation<T extends Constructor<LitElement & AttachInternalsMixin>>(base: T): Constructor<SuppressInitialAnimationMixin> & T;
11
18
  //# sourceMappingURL=SuppressInitialAnimation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SuppressInitialAnimation.d.ts","sourceRoot":"","sources":["../../../../../src/core/shared/mixins/SuppressInitialAnimation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAkB,oBAAoB,EAAqB,MAAM,mBAAmB,CAAC;AAE5F;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,WAAW,CAAC,UAAU,GAAG,oBAAoB,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAU7G"}
1
+ {"version":3,"file":"SuppressInitialAnimation.d.ts","sourceRoot":"","sources":["../../../../../src/core/shared/mixins/SuppressInitialAnimation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAkB,oBAAoB,EAAqB,MAAM,mBAAmB,CAAC;AAE5F,uEAAuE;AACvE,eAAO,MAAM,eAAe,eAA4B,CAAC;AAEzD,8EAA8E;AAC9E,MAAM,WAAW,6BAA6B;IAC5C,mCAAmC;IACnC,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,WAAW,CAAC,UAAU,GAAG,oBAAoB,CAAC,EAC/F,IAAI,EAAE,CAAC,GACN,WAAW,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAchD"}
@@ -1,4 +1,5 @@
1
1
  import { CSSResultGroup, LitElement, PropertyValues } from "lit";
2
+ import { CollapsibleOrientation } from "./CollapsibleOrientation";
2
3
  declare const M3eCollapsibleElement_base: import("../mixins/Constructor").Constructor<import("..").AttachInternalsMixin> & typeof LitElement;
3
4
  /**
4
5
  * A container used to expand and collapse content.
@@ -15,6 +16,8 @@ declare const M3eCollapsibleElement_base: import("../mixins/Constructor").Constr
15
16
  * @slot - Renders the collapsible content.
16
17
  *
17
18
  * @attr open - Whether content is visible.
19
+ * @attr orientation - Orientation of collapsible content.
20
+ * @attr no-animate - Whether to disable animation.
18
21
  *
19
22
  * @fires opening - Emitted when the collapsible begins to open.
20
23
  * @fires opened - Emitted when the collapsible has opened.
@@ -32,6 +35,16 @@ export declare class M3eCollapsibleElement extends M3eCollapsibleElement_base {
32
35
  * @default false
33
36
  */
34
37
  open: boolean;
38
+ /**
39
+ * Orientation of collapsible content.
40
+ * @default "vertical"
41
+ */
42
+ orientation: CollapsibleOrientation;
43
+ /**
44
+ * Whether to disable animation.
45
+ * @default false
46
+ */
47
+ noAnimate: boolean;
35
48
  /** @inheritdoc */
36
49
  protected update(changedProperties: PropertyValues): void;
37
50
  /** @inheritdoc */
@@ -1 +1 @@
1
- {"version":3,"file":"CollapsibleElement.d.ts","sourceRoot":"","sources":["../../../../../src/core/shared/primitives/CollapsibleElement.ts"],"names":[],"mappings":"AAEA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAa,MAAM,KAAK,CAAC;;AAQvF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBACa,qBAAsB,SAAQ,0BAA2B;;IACpE,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CAwCpC;IAKF;;;OAGG;IACyC,IAAI,UAAS;IAEzD,kBAAkB;cACC,MAAM,CAAC,iBAAiB,EAAE,cAAc,GAAG,IAAI;IAkFlE,kBAAkB;cACC,MAAM,IAAI,OAAO;CAuBrC;AAED,UAAU,6BAA8B,SAAQ,mBAAmB;IACjE,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,KAAK,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,CAAC,CAAC,SAAS,MAAM,6BAA6B,EAC5D,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,6BAA6B,CAAC,CAAC,CAAC,KAAK,IAAI,EACrF,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC1C,IAAI,CAAC;IAER,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,EAC5C,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC1C,IAAI,CAAC;IAER,mBAAmB,CAAC,CAAC,SAAS,MAAM,6BAA6B,EAC/D,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,6BAA6B,CAAC,CAAC,CAAC,KAAK,IAAI,EACrF,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACvC,IAAI,CAAC;IAER,mBAAmB,CACjB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,EAC5C,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACvC,IAAI,CAAC;CACT;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,qBAAqB,CAAC;KAC1C;CACF"}
1
+ {"version":3,"file":"CollapsibleElement.d.ts","sourceRoot":"","sources":["../../../../../src/core/shared/primitives/CollapsibleElement.ts"],"names":[],"mappings":"AAEA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAa,MAAM,KAAK,CAAC;AAOvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;;AAElE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBACa,qBAAsB,SAAQ,0BAA2B;;IACpE,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CA+DpC;IAKF;;;OAGG;IACyC,IAAI,UAAS;IAEzD;;;OAGG;IAC0B,WAAW,EAAE,sBAAsB,CAAc;IAE9E;;;OAGG;IACkE,SAAS,UAAS;IAEvF,kBAAkB;cACC,MAAM,CAAC,iBAAiB,EAAE,cAAc,GAAG,IAAI;IAsFlE,kBAAkB;cACC,MAAM,IAAI,OAAO;CA2BrC;AAED,UAAU,6BAA8B,SAAQ,mBAAmB;IACjE,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,KAAK,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,CAAC,CAAC,SAAS,MAAM,6BAA6B,EAC5D,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,6BAA6B,CAAC,CAAC,CAAC,KAAK,IAAI,EACrF,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC1C,IAAI,CAAC;IAER,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,EAC5C,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC1C,IAAI,CAAC;IAER,mBAAmB,CAAC,CAAC,SAAS,MAAM,6BAA6B,EAC/D,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,6BAA6B,CAAC,CAAC,CAAC,KAAK,IAAI,EACrF,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACvC,IAAI,CAAC;IAER,mBAAmB,CACjB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,EAC5C,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACvC,IAAI,CAAC;CACT;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,qBAAqB,CAAC;KAC1C;CACF"}
@@ -0,0 +1,3 @@
1
+ /** Specifies the possible layout orientations of collapsible content. */
2
+ export type CollapsibleOrientation = "vertical" | "horizontal";
3
+ //# sourceMappingURL=CollapsibleOrientation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CollapsibleOrientation.d.ts","sourceRoot":"","sources":["../../../../../src/core/shared/primitives/CollapsibleOrientation.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,MAAM,MAAM,sBAAsB,GAAG,UAAU,GAAG,YAAY,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export * from "./ActionElementBase";
2
2
  export * from "./CollapsibleElement";
3
+ export * from "./CollapsibleOrientation";
3
4
  export * from "./ElevationElement";
4
5
  export * from "./ElevationLevel";
5
6
  export * from "./FocusRingElement";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/shared/primitives/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/shared/primitives/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC"}
@@ -4,7 +4,7 @@ import "@m3e/web/core/a11y";
4
4
  import "@m3e/web/button";
5
5
  import "@m3e/web/calendar";
6
6
  import { DatepickerVariant } from "./DatepickerVariant";
7
- declare const M3eDatepickerElement_base: import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").ReconnectedCallbackMixin> & import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").AttachInternalsMixin> & import("../core/shared/mixins/Constructor").Constructor & typeof LitElement;
7
+ declare const M3eDatepickerElement_base: import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").SuppressInitialAnimationMixin> & import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").ReconnectedCallbackMixin> & import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").AttachInternalsMixin> & import("../core/shared/mixins/Constructor").Constructor & typeof LitElement;
8
8
  /**
9
9
  * Presents a date picker on a temporary surface.
10
10
  *
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContainerStyle.d.ts","sourceRoot":"","sources":["../../../../src/drawer-container/styles/DrawerContainerStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAa,MAAM,KAAK,CAAC;AAMrD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,cA+MlC,CAAC"}
1
+ {"version":3,"file":"DrawerContainerStyle.d.ts","sourceRoot":"","sources":["../../../../src/drawer-container/styles/DrawerContainerStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAa,MAAM,KAAK,CAAC;AAMrD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,cAmOlC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FabElement.d.ts","sourceRoot":"","sources":["../../../src/fab/FabElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAqBvE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;;AAI1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0VG;AACH,qBACa,aAAc,SAAQ,kBAIlC;;IACC,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CAA6C;IAEnF,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;;IAgB9E;;;OAGG;IAC0B,OAAO,EAAE,UAAU,CAAuB;IAEvE;;;OAGG;IACyC,OAAO,UAAS;IAE5D;;;OAGG;IAC0B,IAAI,EAAE,OAAO,CAAY;IAEtD;;;OAGG;IACyC,QAAQ,UAAS;IAE7D,kBAAkB;IACT,oBAAoB,IAAI,IAAI;IAOrC,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;IAY1E,kBAAkB;IACT,MAAM,IAAI,OAAO;CAgC3B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,aAAa,CAAC;KAC1B;CACF"}
1
+ {"version":3,"file":"FabElement.d.ts","sourceRoot":"","sources":["../../../src/fab/FabElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAqBvE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;;AAI1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0VG;AACH,qBACa,aAAc,SAAQ,kBAIlC;;IACC,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CAA6C;IAEnF,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;;IAgB9E;;;OAGG;IAC0B,OAAO,EAAE,UAAU,CAAuB;IAEvE;;;OAGG;IACyC,OAAO,UAAS;IAE5D;;;OAGG;IAC0B,IAAI,EAAE,OAAO,CAAY;IAEtD;;;OAGG;IACyC,QAAQ,UAAS;IAE7D,kBAAkB;IACT,oBAAoB,IAAI,IAAI;IAOrC,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;IAY1E,kBAAkB;IACT,MAAM,IAAI,OAAO;CAkC3B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,aAAa,CAAC;KAC1B;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"FabStyle.d.ts","sourceRoot":"","sources":["../../../../src/fab/styles/FabStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAa,MAAM,KAAK,CAAC;AAIrD;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,cAmJtB,CAAC"}
1
+ {"version":3,"file":"FabStyle.d.ts","sourceRoot":"","sources":["../../../../src/fab/styles/FabStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAa,MAAM,KAAK,CAAC;AAIrD;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,cA6ItB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { CSSResultGroup, LitElement } from "lit";
2
2
  import { FabMenuVariant } from "./FabMenuVariant";
3
- declare const M3eFabMenuElement_base: import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").AttachInternalsMixin> & import("../core/shared/mixins/Constructor").Constructor & typeof LitElement;
3
+ declare const M3eFabMenuElement_base: import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").SuppressInitialAnimationMixin> & import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").AttachInternalsMixin> & import("../core/shared/mixins/Constructor").Constructor & typeof LitElement;
4
4
  /**
5
5
  * A menu, opened from a floating action button (FAB), used to display multiple related actions.
6
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"FormFieldElement.d.ts","sourceRoot":"","sources":["../../../src/form-field/FormFieldElement.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAW,cAAc,EAAa,MAAM,KAAK,CAAC;AAwBhG,OAAO,EAAwB,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,qBACa,mBAAoB,SAAQ,wBAAgD;;IAyBvF,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CAwZpC;IAoCF,eAAe,CAAiB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrE,eAAe,CAAmB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACzE,eAAe,CAAkB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACvE,eAAe,CAAiB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IAuBrE,eAAe,CAAU,OAAO,CAAC,YAAY,CAAM;IACnD,eAAe,CAAU,OAAO,CAAC,SAAS,CAAS;IACnD,eAAe,CAAU,OAAO,CAAC,QAAQ,CAAS;IAClD,eAAe,CAAU,OAAO,CAAC,kBAAkB,CAAM;;IAiBzD,gEAAgE;IAChE,IAAI,UAAU,gBAEb;IAED,oDAAoD;IACpD,IAAI,OAAO,4BAEV;IAED;;;OAGG;IAC0B,OAAO,EAAE,gBAAgB,CAAc;IAEpE;;;OAGG;IAC4E,kBAAkB,UAAS;IAE1G;;;OAGG;IACuD,aAAa,EAAE,iBAAiB,CAAU;IAEpG;;;OAGG;IACoD,UAAU,EAAE,cAAc,CAAU;IAE3F;;;OAGG;IACH,wBAAwB,CAAC,aAAa,GAAE,OAAe,GAAG,IAAI;IAqB9D,kBAAkB;IACT,iBAAiB,IAAI,IAAI;IAMlC,kBAAkB;IACT,oBAAoB,IAAI,IAAI;IAKrC,kBAAkB;IACT,mBAAmB,IAAI,IAAI;IAKpC,kBAAkB;cACC,YAAY,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;IAKzE,kBAAkB;cACC,MAAM,CAAC,iBAAiB,EAAE,cAAc,GAAG,IAAI;IAgBlE,kBAAkB;cACC,MAAM,IAAI,OAAO;CAyNrC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;CACF"}
1
+ {"version":3,"file":"FormFieldElement.d.ts","sourceRoot":"","sources":["../../../src/form-field/FormFieldElement.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAW,cAAc,EAAa,MAAM,KAAK,CAAC;AAwBhG,OAAO,EAAwB,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,qBACa,mBAAoB,SAAQ,wBAAgD;;IAiCvF,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CAocpC;IAoCF,eAAe,CAAiB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrE,eAAe,CAAmB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACzE,eAAe,CAAkB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACvE,eAAe,CAAiB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IAuBrE,eAAe,CAAU,OAAO,CAAC,YAAY,CAAM;IACnD,eAAe,CAAU,OAAO,CAAC,SAAS,CAAS;IACnD,eAAe,CAAU,OAAO,CAAC,QAAQ,CAAS;IAClD,eAAe,CAAU,OAAO,CAAC,kBAAkB,CAAM;;IAiBzD,gEAAgE;IAChE,IAAI,UAAU,gBAEb;IAED,oDAAoD;IACpD,IAAI,OAAO,4BAEV;IAED;;;OAGG;IAC0B,OAAO,EAAE,gBAAgB,CAAc;IAEpE;;;OAGG;IAC4E,kBAAkB,UAAS;IAE1G;;;OAGG;IACuD,aAAa,EAAE,iBAAiB,CAAU;IAEpG;;;OAGG;IACoD,UAAU,EAAE,cAAc,CAAU;IAE3F;;;OAGG;IACH,wBAAwB,CAAC,aAAa,GAAE,OAAe,GAAG,IAAI;IAqB9D,kBAAkB;IACT,iBAAiB,IAAI,IAAI;IAMlC,kBAAkB;IACT,oBAAoB,IAAI,IAAI;IAKrC,kBAAkB;IACT,mBAAmB,IAAI,IAAI;IAKpC,kBAAkB;cACC,YAAY,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;IAKzE,kBAAkB;cACC,MAAM,CAAC,iBAAiB,EAAE,cAAc,GAAG,IAAI;IAgBlE,kBAAkB;cACC,MAAM,IAAI,OAAO;CAyNrC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"IconButtonSizeStyle.d.ts","sourceRoot":"","sources":["../../../../src/icon-button/styles/IconButtonSizeStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,cAAc,EAAa,MAAM,KAAK,CAAC;AAsFhE;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,cAMjC,CAAC"}
1
+ {"version":3,"file":"IconButtonSizeStyle.d.ts","sourceRoot":"","sources":["../../../../src/icon-button/styles/IconButtonSizeStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,cAAc,EAAa,MAAM,KAAK,CAAC;AAyGhE;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,cAMjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"IconButtonStyle.d.ts","sourceRoot":"","sources":["../../../../src/icon-button/styles/IconButtonStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAa,MAAM,KAAK,CAAC;AAIrD;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,cA4K7B,CAAC"}
1
+ {"version":3,"file":"IconButtonStyle.d.ts","sourceRoot":"","sources":["../../../../src/icon-button/styles/IconButtonStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAa,MAAM,KAAK,CAAC;AAIrD;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,cA0L7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"IconButtonVariantStyle.d.ts","sourceRoot":"","sources":["../../../../src/icon-button/styles/IconButtonVariantStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,cAAc,EAAa,MAAM,KAAK,CAAC;AAiHhE;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,cAWpC,CAAC"}
1
+ {"version":3,"file":"IconButtonVariantStyle.d.ts","sourceRoot":"","sources":["../../../../src/icon-button/styles/IconButtonVariantStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,cAAc,EAAa,MAAM,KAAK,CAAC;AAyHhE;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,cAWpC,CAAC"}
@@ -2,7 +2,7 @@ import { CSSResultGroup, LitElement } from "lit";
2
2
  import { MenuPositionX, MenuPositionY } from "./MenuPosition";
3
3
  import { MenuItemElementBase } from "./MenuItemElementBase";
4
4
  import { MenuVariant } from "./MenuVariant";
5
- declare const M3eMenuElement_base: import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").AttachInternalsMixin> & import("../core/shared/mixins/Constructor").Constructor & typeof LitElement;
5
+ declare const M3eMenuElement_base: import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").SuppressInitialAnimationMixin> & import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").AttachInternalsMixin> & import("../core/shared/mixins/Constructor").Constructor & typeof LitElement;
6
6
  /**
7
7
  * Presents a list of choices on a temporary surface.
8
8
  *
@@ -1,7 +1,8 @@
1
1
  import { CSSResultGroup, LitElement, PropertyValues } from "lit";
2
+ import { resumeAnimation } from "@m3e/web/core";
2
3
  import type { M3eNavBarElement } from "./NavBarElement";
3
4
  import { NavItemOrientation } from "./NavItemOrientation";
4
- declare const M3eNavItemElement_base: import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").LinkButtonMixin> & import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").SelectedMixin> & import("../core/shared/mixins/Constructor").Constructor & import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").DisabledInteractiveMixin> & import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").DisabledMixin> & import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").AttachInternalsMixin> & typeof LitElement;
5
+ declare const M3eNavItemElement_base: import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").ReconnectedCallbackMixin> & import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").SuppressInitialAnimationMixin> & import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").LinkButtonMixin> & import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").SelectedMixin> & import("../core/shared/mixins/Constructor").Constructor & import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").DisabledInteractiveMixin> & import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").DisabledMixin> & import("../core/shared/mixins/Constructor").Constructor<import("@m3e/web/core").AttachInternalsMixin> & typeof LitElement;
5
6
  /**
6
7
  * An item, placed in a navigation bar or rail, used to navigate to destinations in an application.
7
8
  *
@@ -76,6 +77,7 @@ export declare class M3eNavItemElement extends M3eNavItemElement_base {
76
77
  /** @private */ private readonly _focusRing?;
77
78
  /** @private */ private readonly _stateLayer?;
78
79
  /** @private */ private readonly _ripple?;
80
+ /** @private */ private readonly _inner?;
79
81
  /**
80
82
  * The layout orientation of the item.
81
83
  * @default "vertical"
@@ -83,11 +85,15 @@ export declare class M3eNavItemElement extends M3eNavItemElement_base {
83
85
  orientation: NavItemOrientation;
84
86
  /** The navigation bar to which this item belongs. */
85
87
  get navBar(): M3eNavBarElement | null;
88
+ /** @internal */
89
+ [resumeAnimation](): void;
86
90
  /** @inheritdoc */
87
91
  connectedCallback(): void;
88
92
  /** @inheritdoc */
89
93
  disconnectedCallback(): void;
90
94
  /** @inheritdoc */
95
+ reconnectedCallback(): void;
96
+ /** @inheritdoc */
91
97
  protected update(changedProperties: PropertyValues<this>): void;
92
98
  /** @inheritdoc */
93
99
  protected updated(_changedProperties: PropertyValues<this>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"NavItemElement.d.ts","sourceRoot":"","sources":["../../../src/nav-bar/NavItemElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAW,cAAc,EAAE,MAAM,KAAK,CAAC;AAwBrF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AACH,qBACa,iBAAkB,SAAQ,sBAEtC;;IACC,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CA8OpC;IAGF,eAAe,CAAuB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAsB;IACxF,eAAe,CAAwB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAuB;IAC3F,eAAe,CAAmB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAmB;IAE9E;;;OAGG;IAC0B,WAAW,EAAE,kBAAkB,CAAc;IAE1E,qDAAqD;IACrD,IAAI,MAAM,IAAI,gBAAgB,GAAG,IAAI,CAEpC;IAED,kBAAkB;IACT,iBAAiB,IAAI,IAAI;IAKlC,kBAAkB;IACT,oBAAoB,IAAI,IAAI;IAKrC,kBAAkB;cACC,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAcxE,kBAAkB;cACC,OAAO,CAAC,kBAAkB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQ1E,kBAAkB;cACC,YAAY,CAAC,kBAAkB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAK/E,kBAAkB;cACC,MAAM,IAAI,OAAO;CA4CrC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,iBAAiB,CAAC;KACnC;CACF"}
1
+ {"version":3,"file":"NavItemElement.d.ts","sourceRoot":"","sources":["../../../src/nav-bar/NavItemElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAW,cAAc,EAAa,MAAM,KAAK,CAAC;AAGhG,OAAO,EAgBL,eAAe,EAKhB,MAAM,eAAe,CAAC;AAIvB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AACH,qBACa,iBAAkB,SAAQ,sBAQtC;;IACC,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CAwVpC;IAIF,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;IAC9E,eAAe,CAAkB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAc;IAOvE;;;OAGG;IAC0B,WAAW,EAAE,kBAAkB,CAAc;IAE1E,qDAAqD;IACrD,IAAI,MAAM,IAAI,gBAAgB,GAAG,IAAI,CAEpC;IAED,gBAAgB;IACP,CAAC,eAAe,CAAC,IAAI,IAAI;IAMlC,kBAAkB;IACT,iBAAiB,IAAI,IAAI;IAMlC,kBAAkB;IACT,oBAAoB,IAAI,IAAI;IAMrC,kBAAkB;IACT,mBAAmB,IAAI,IAAI;IAKpC,kBAAkB;cACC,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAcxE,kBAAkB;cACC,OAAO,CAAC,kBAAkB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQ1E,kBAAkB;cACC,YAAY,CAAC,kBAAkB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAM/E,kBAAkB;cACC,MAAM,IAAI,OAAO;CAiErC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,iBAAiB,CAAC;KACnC;CACF"}