@mhmo91/schmancy 0.5.40 → 0.5.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{avatar-D0nR5KNb.js → avatar-C70RL5gA.js} +2 -2
- package/dist/{avatar-D0nR5KNb.js.map → avatar-C70RL5gA.js.map} +1 -1
- package/dist/{avatar-CVByJyFL.cjs → avatar-TAxgKH6w.cjs} +2 -2
- package/dist/{avatar-CVByJyFL.cjs.map → avatar-TAxgKH6w.cjs.map} +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-DmSQscU1.js → boat-BzsxPidL.js} +14 -9
- package/dist/boat-BzsxPidL.js.map +1 -0
- package/dist/{boat-DsMcTEaH.cjs → boat-DpHPXHCG.cjs} +10 -5
- package/dist/boat-DpHPXHCG.cjs.map +1 -0
- package/dist/boat.cjs +1 -1
- package/dist/boat.js +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +2 -2
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/navigation-bar.cjs +1 -1
- package/dist/navigation-bar.js +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/package.json +1 -1
- package/dist/boat-DmSQscU1.js.map +0 -1
- package/dist/boat-DsMcTEaH.cjs.map +0 -1
package/dist/badge.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./avatar-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./avatar-TAxgKH6w.cjs");Object.defineProperty(exports,"ScBadgeV2",{enumerable:!0,get:()=>e.ScBadgeV2}),Object.defineProperty(exports,"SchmancyBadgeV2",{enumerable:!0,get:()=>e.SchmancyBadgeV2});
|
|
2
2
|
//# sourceMappingURL=badge.cjs.map
|
package/dist/badge.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { fromEvent as l, race as
|
|
1
|
+
import { fromEvent as l, race as k, merge as A } from "rxjs";
|
|
2
2
|
import { takeUntil as x, filter as R, tap as b, take as P, map as f, switchMap as Y, finalize as D } from "rxjs/operators";
|
|
3
3
|
import "lit/directives/class-map.js";
|
|
4
4
|
import "lit/directives/style-map.js";
|
|
@@ -107,7 +107,7 @@ let c = class extends M(X`
|
|
|
107
107
|
this.animateToState("hidden");
|
|
108
108
|
}
|
|
109
109
|
closeAndAddToNav() {
|
|
110
|
-
|
|
110
|
+
k(this.discover("schmancy-navigation-rail"), this.discover("schmancy-navigation-bar"), this.discover("schmancy-nav-drawer"), this.discover("app-navigation-rail"), this.discover("app-navigation-bar"), this.discover("app-nav-drawer")).pipe(P(1), b((t) => {
|
|
111
111
|
if (t && typeof t.addBoatItem == "function") {
|
|
112
112
|
const e = this.icon || (this.querySelector('[slot="header"]')?.querySelector("schmancy-icon")?.textContent?.trim() || "widgets"), n = this.label || (() => {
|
|
113
113
|
let o = this.querySelector('[slot="header"]')?.textContent?.trim() || "Boat";
|
|
@@ -144,8 +144,8 @@ let c = class extends M(X`
|
|
|
144
144
|
})).pipe(Y(({ startX: i, startY: s, offsetX: o, offsetY: a, initialRect: m, type: h }) => {
|
|
145
145
|
const p = h === "mouse" ? l(window, "mousemove").pipe(f((r) => ({ clientX: r.clientX, clientY: r.clientY }))) : l(window, "touchmove").pipe(f((r) => ({ clientX: r.touches[0].clientX, clientY: r.touches[0].clientY }))), v = l(window, h === "mouse" ? "mouseup" : "touchend");
|
|
146
146
|
return p.pipe(f(({ clientX: r, clientY: S }) => {
|
|
147
|
-
const
|
|
148
|
-
return Math.sqrt(
|
|
147
|
+
const z = r - i, C = S - s;
|
|
148
|
+
return Math.sqrt(z * z + C * C) > 5 && !n && (n = !0, this.isDragging = !0), n ? this.calculateDragPosition(r, S, o, a, m) : null;
|
|
149
149
|
}), R((r) => r !== null), b((r) => {
|
|
150
150
|
r && (this.position = r, this.updateContainerPosition());
|
|
151
151
|
}), x(v));
|
|
@@ -200,7 +200,8 @@ let c = class extends M(X`
|
|
|
200
200
|
<!-- Header content - use properties if provided, else fallback to slot -->
|
|
201
201
|
<div class="flex-1 min-w-fit items-center flex justify-start">
|
|
202
202
|
${this.icon || this.label ? u`
|
|
203
|
-
<div
|
|
203
|
+
<div
|
|
204
|
+
class="flex gap-2 items-center">
|
|
204
205
|
${this.icon ? u`<schmancy-icon>${this.icon}</schmancy-icon>` : ""}
|
|
205
206
|
${this.label ? u`<schmancy-typography type="title" token="md">${this.label}</schmancy-typography>` : ""}
|
|
206
207
|
${this.badge !== void 0 && this.badge !== null && this.badge !== "" ? u`<schmancy-badge>${this.badge}</schmancy-badge>` : ""}
|
|
@@ -213,30 +214,34 @@ let c = class extends M(X`
|
|
|
213
214
|
${e ? u`
|
|
214
215
|
<!-- Expand button (when minimized) -->
|
|
215
216
|
<schmancy-icon-button
|
|
217
|
+
size="sm"
|
|
216
218
|
variant="text"
|
|
217
219
|
@click=${(s) => {
|
|
218
220
|
s.stopPropagation(), this.state = "expanded";
|
|
219
221
|
}}
|
|
220
222
|
title="Expand"
|
|
223
|
+
${w(this.iconRef)}
|
|
221
224
|
>
|
|
222
|
-
|
|
225
|
+
fullscreen
|
|
223
226
|
</schmancy-icon-button>
|
|
224
227
|
` : u`
|
|
225
228
|
<!-- Minimize button (when expanded) -->
|
|
226
229
|
<schmancy-icon-button
|
|
230
|
+
size="sm"
|
|
227
231
|
variant="filled tonal"
|
|
228
232
|
@click=${(s) => {
|
|
229
233
|
s.stopPropagation(), this.state = "minimized";
|
|
230
234
|
}}
|
|
231
235
|
title="Minimize"
|
|
236
|
+
${w(this.iconRef)}
|
|
232
237
|
>
|
|
233
|
-
|
|
238
|
+
close_fullscreen
|
|
234
239
|
</schmancy-icon-button>
|
|
235
240
|
`}
|
|
236
241
|
|
|
237
242
|
<!-- Close button -->
|
|
238
243
|
<schmancy-icon-button
|
|
239
|
-
|
|
244
|
+
size="sm"
|
|
240
245
|
@click=${(s) => {
|
|
241
246
|
s.stopPropagation(), this.closeAndAddToNav();
|
|
242
247
|
}}
|
|
@@ -261,4 +266,4 @@ d([y({ type: String, reflect: !0 })], c.prototype, "state", 1), d([y({ type: Str
|
|
|
261
266
|
export {
|
|
262
267
|
c as S
|
|
263
268
|
};
|
|
264
|
-
//# sourceMappingURL=boat-
|
|
269
|
+
//# sourceMappingURL=boat-BzsxPidL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boat-BzsxPidL.js","sources":["../src/boat/boat.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { createRef, ref, Ref } from 'lit/directives/ref.js'\nimport { fromEvent, merge, race } from 'rxjs'\nimport { filter, finalize, map, switchMap, take, takeUntil, tap } from 'rxjs/operators'\n\ntype BoatState = 'hidden' | 'minimized' | 'expanded'\n\ninterface Position {\n\tx: number\n\ty: number\n}\n\ninterface SavedPosition {\n\tx: number\n\ty: number\n\tanchor: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left'\n}\n\n@customElement('schmancy-boat')\nexport default class SchmancyBoat extends $LitElement(css`\n\t:host {\n\t\tdisplay: contents;\n\t}\n`) {\n\t@property({ type: String, reflect: true })\n\tget state(): BoatState {\n\t\treturn this.currentState\n\t}\n\tset state(value: BoatState) {\n\t\tif (this.isAnimating || value === this.currentState) return\n\t\tthis.animateToState(value)\n\t}\n\n\t@property({ type: String }) id: string = 'default'\n\n\t@property({ type: Boolean, reflect: true })\n\tget lowered(): boolean {\n\t\treturn this.isLowered\n\t}\n\tset lowered(value: boolean) {\n\t\tthis.isLowered = value\n\t\tthis.requestUpdate()\n\t}\n\n\t// New properties for simplified API\n\t@property({ type: String }) icon?: string\n\t@property({ type: String }) label?: string\n\t@property() badge?: string | number\n\n\t// Element references\n\tprivate containerRef: Ref<HTMLDivElement> = createRef()\n\tprivate contentRef: Ref<HTMLElement> = createRef()\n\tprivate iconRef: Ref<HTMLElement> = createRef()\n\tprivate headerRef: Ref<HTMLElement> = createRef()\n\n\t// Current animation reference\n\tprivate currentAnimation?: Animation\n\n\t// Animation configuration\n\tprivate readonly ANIMATION_CONFIG = {\n\t\tdurations: {\n\t\t\texpand: 350,\n\t\t\tminimize: 250,\n\t\t\thide: 200,\n\t\t\tcontent: 300,\n\t\t},\n\t\teasing: {\n\t\t\temphasized: 'cubic-bezier(0.2, 0.0, 0, 1.0)',\n\t\t\tdecelerate: 'cubic-bezier(0.05, 0.7, 0.1, 1.0)',\n\t\t\taccelerate: 'cubic-bezier(0.3, 0.0, 0.8, 0.15)',\n\t\t\tstandard: 'cubic-bezier(0.4, 0.0, 0.2, 1)',\n\t\t},\n\t\tshadows: {\n\t\t\tfab: '0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12)',\n\t\t\tfabLowered:\n\t\t\t\t'0px 1px 3px 0px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 2px 1px -1px rgba(0, 0, 0, 0.12)',\n\t\t\texpanded: '0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)',\n\t\t},\n\t}\n\n\t// Reactive state for template\n\t@state() private currentState: BoatState = 'minimized'\n\t@state() private isContentVisible: boolean = false\n\t@state() private isAnimating: boolean = false\n\t@state() private isLowered: boolean = false\n\t@state() private isDragging: boolean = false\n\t@state() private position: Position = { x: 16, y: 16 }\n\t@state() private anchor: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left' = 'bottom-right'\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\tif (typeof window !== 'undefined') {\n\t\t\tfromEvent(window, 'resize')\n\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t.subscribe(() => {\n\t\t\t\t\tif (this.currentState === 'expanded') {\n\t\t\t\t\t\tthis.updateExpandedWidth()\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t// Keyboard shortcut - Escape key\n\t\t\tfromEvent<KeyboardEvent>(window, 'keydown')\n\t\t\t\t.pipe(\n\t\t\t\t\tfilter(e => e.key === 'Escape' && this.currentState !== 'hidden'),\n\t\t\t\t\ttap(e => e.preventDefault()),\n\t\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\t)\n\t\t\t\t.subscribe(() => {\n\t\t\t\t\tif (this.currentState === 'expanded') {\n\t\t\t\t\t\tthis.toggleState() // Minimize on Esc if expanded\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.close() // Hide on Esc if minimized\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t}\n\t}\n\n\tprivate initializePosition() {\n\t\tif (typeof window === 'undefined') return\n\n\t\tconst saved = localStorage.getItem(`schmancy-boat-${this.id}`)\n\n\t\tif (saved) {\n\t\t\ttry {\n\t\t\t\tconst parsed: SavedPosition = JSON.parse(saved)\n\t\t\t\tthis.position = { x: parsed.x, y: parsed.y }\n\t\t\t\tthis.anchor = parsed.anchor\n\t\t\t\tconsole.log('📍 Loaded position:', this.id, parsed)\n\t\t\t} catch (e) {\n\t\t\t\t// Use default position on parse error\n\t\t\t}\n\t\t}\n\t\t// If no saved position, use default from @state initialization\n\t}\n\n\tprivate async animateToState(targetState: BoatState) {\n\t\tif (this.isAnimating || targetState === this.currentState) return\n\n\t\tconst previousState = this.currentState\n\t\tthis.isAnimating = true\n\n\t\ttry {\n\t\t\tawait this.performTransition(previousState, targetState)\n\t\t\tthis.currentState = targetState\n\t\t\tthis.isContentVisible = targetState === 'expanded'\n\n\t\t\t// Dispatch event\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('toggle', {\n\t\t\t\t\tdetail: targetState,\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t}),\n\t\t\t)\n\t\t} catch (err) {\n\t\t\tconsole.warn('Animation error:', err)\n\t\t\tthis.currentState = targetState\n\t\t\tthis.isContentVisible = targetState === 'expanded'\n\t\t} finally {\n\t\t\tthis.isAnimating = false\n\t\t}\n\t}\n\n\t// Simplified animation transition\n\tprivate async performTransition(fromState: BoatState, toState: BoatState): Promise<void> {\n\t\tthis.currentAnimation?.cancel()\n\n\t\tconst container = this.containerRef.value\n\t\tif (!container) return\n\n\t\t// Update content visibility before expand\n\t\tif (toState === 'expanded') {\n\t\t\tthis.isContentVisible = true\n\t\t}\n\n\t\t// Create animations\n\t\tconst animations = this.createAnimations(fromState, toState)\n\n\t\t// Wait for main animation to complete\n\t\tif (animations.container) {\n\t\t\tthis.currentAnimation = animations.container\n\t\t\tawait animations.container.finished\n\n\t\t\t// Hide content after minimize\n\t\t\tif (toState !== 'expanded') {\n\t\t\t\tthis.isContentVisible = false\n\t\t\t}\n\t\t}\n\t}\n\n\t// Create animations for state transition\n\tprivate createAnimations(fromState: BoatState, toState: BoatState) {\n\t\tconst container = this.containerRef.value\n\t\tconst content = this.contentRef.value\n\t\tconst icon = this.iconRef.value\n\t\tconst animations: { container?: Animation; content?: Animation; icon?: Animation } = {}\n\n\t\tif (!container) return animations\n\n\t\tconst config = this.ANIMATION_CONFIG\n\t\tconst fromStyles = this.getStyleForState(fromState)\n\t\tconst toStyles = this.getStyleForState(toState)\n\n\t\t// Container animation\n\t\tif (toState === 'expanded') {\n\t\t\t// Expand animation without transform\n\t\t\tanimations.container = container.animate([fromStyles, toStyles], {\n\t\t\t\tduration: config.durations.expand,\n\t\t\t\teasing: config.easing.decelerate,\n\t\t\t\tfill: 'forwards',\n\t\t\t})\n\t\t} else {\n\t\t\tanimations.container = container.animate([fromStyles, toStyles], {\n\t\t\t\tduration: toState === 'hidden' ? config.durations.hide : config.durations.minimize,\n\t\t\t\teasing: config.easing.accelerate,\n\t\t\t\tfill: 'forwards',\n\t\t\t})\n\t\t}\n\n\t\t// Content animation (only for expand/minimize transitions)\n\t\tif (content && fromState === 'expanded' && toState === 'minimized') {\n\t\t\t// Fade out content before minimizing\n\t\t\tcontent.animate(\n\t\t\t\t[\n\t\t\t\t\t{ opacity: 1, transform: 'translateY(0)' },\n\t\t\t\t\t{ opacity: 0, transform: 'translateY(-8px)' },\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: 150,\n\t\t\t\t\teasing: config.easing.standard,\n\t\t\t\t\tfill: 'forwards',\n\t\t\t\t},\n\t\t\t)\n\t\t} else if (content && toState === 'expanded') {\n\t\t\t// Fade in content when expanding\n\t\t\tcontent.animate(\n\t\t\t\t[\n\t\t\t\t\t{ opacity: 0, transform: 'translateY(8px)' },\n\t\t\t\t\t{ opacity: 1, transform: 'translateY(0)' },\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: config.durations.content,\n\t\t\t\t\teasing: config.easing.standard,\n\t\t\t\t\tfill: 'forwards',\n\t\t\t\t},\n\t\t\t)\n\t\t}\n\n\t\t// Icon rotation animation\n\t\tif (icon) {\n\t\t\tconst isExpanding = toState === 'expanded'\n\t\t\tconst isCollapsing = fromState === 'expanded' && toState === 'minimized'\n\n\t\t\tif (isExpanding || isCollapsing) {\n\t\t\t\ticon.animate(\n\t\t\t\t\t[\n\t\t\t\t\t\t{ transform: isExpanding ? 'rotate(0deg)' : 'rotate(180deg)' },\n\t\t\t\t\t\t{ transform: isExpanding ? 'rotate(180deg)' : 'rotate(0deg)' },\n\t\t\t\t\t],\n\t\t\t\t\t{\n\t\t\t\t\t\tduration: 250,\n\t\t\t\t\t\teasing: config.easing.emphasized,\n\t\t\t\t\t\tfill: 'forwards',\n\t\t\t\t\t},\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\n\t\treturn animations\n\t}\n\n\t// Get styles for a specific state\n\tprivate getStyleForState(state: BoatState): Keyframe {\n\t\tconst { shadows } = this.ANIMATION_CONFIG\n\t\tconst baseStyles = {\n\t\t\tmaxWidth: '300px',\n\t\t\tmaxHeight: 'auto',\n\t\t\tborderRadius: '16px',\n\t\t}\n\n\t\tconst stateStyles: Record<BoatState, Keyframe> = {\n\t\t\thidden: {\n\t\t\t\t...baseStyles,\n\t\t\t\topacity: '0',\n\t\t\t\tpointerEvents: 'none',\n\t\t\t\tboxShadow: 'none',\n\t\t\t\tbackdropFilter: 'none',\n\t\t\t},\n\t\t\tminimized: {\n\t\t\t\t...baseStyles,\n\t\t\t\topacity: '1',\n\t\t\t\tpointerEvents: 'auto',\n\t\t\t\tboxShadow: this.isLowered ? shadows.fabLowered : shadows.fab,\n\t\t\t\tbackdropFilter: 'none',\n\t\t\t},\n\t\t\texpanded: {\n\t\t\t\topacity: '1',\n\t\t\t\tpointerEvents: 'auto',\n\t\t\t\twidth: this.getResponsiveWidth(),\n\t\t\t\tmaxWidth: '100%',\n\t\t\t\tmaxHeight: '80vh',\n\t\t\t\tboxShadow: shadows.expanded,\n\t\t\t\tborderRadius: '8px 8px 0 0',\n\t\t\t\tbackdropFilter: 'blur(12px)',\n\t\t\t},\n\t\t}\n\n\t\treturn stateStyles[state] as Keyframe\n\t}\n\n\t// Calculate responsive width based on viewport\n\tprivate getResponsiveWidth(): string {\n\t\tif (typeof window === 'undefined') return '40vw'\n\n\t\tconst vw = window.innerWidth\n\t\tif (vw < 768) return 'calc(100vw - 32px)'\n\t\tif (vw < 1024) return '70vw'\n\t\tif (vw < 1280) return '60vw'\n\t\treturn '40vw'\n\t}\n\n\t// Update expanded width on window resize\n\tprivate updateExpandedWidth() {\n\t\tconst container = this.containerRef.value\n\t\tif (container && this.currentState === 'expanded') {\n\t\t\tcontainer.style.width = this.getResponsiveWidth()\n\t\t}\n\t}\n\n\tfirstUpdated() {\n\t\tthis.initializePosition()\n\t\tthis.applyInitialStyles()\n\t\tthis.updateContainerPosition()\n\t\tthis.setupDragPipeline()\n\n\t\t// Check for deprecated header slot usage\n\t\tconst hasHeaderSlot = this.querySelector('[slot=\"header\"]')\n\t\tif (hasHeaderSlot && !this.icon && !this.label) {\n\t\t\tconsole.warn(\n\t\t\t\t'[schmancy-boat] Using slot=\"header\" is deprecated. ' +\n\t\t\t\t\t'Please use the icon, label, and badge properties instead. ' +\n\t\t\t\t\t'Example: <schmancy-boat icon=\"info\" label=\"Title\" badge=\"5\">',\n\t\t\t)\n\t\t}\n\t}\n\n\t// Apply initial styles to elements\n\tprivate applyInitialStyles() {\n\t\tconst container = this.containerRef.value\n\t\tconst content = this.contentRef.value\n\t\tconst icon = this.iconRef.value\n\n\t\tif (container) {\n\t\t\tconst initialStyle = this.getStyleForState(this.currentState)\n\t\t\tObject.assign(container.style, initialStyle)\n\n\t\t\t// Safari compatibility for backdrop filter\n\t\t\tif ('webkitBackdropFilter' in container.style) {\n\t\t\t\t;(container.style as any).webkitBackdropFilter = initialStyle.backdropFilter\n\t\t\t}\n\t\t}\n\n\t\t// Set initial content opacity\n\t\tif (content) {\n\t\t\tcontent.style.opacity = this.isContentVisible ? '1' : '0'\n\t\t}\n\n\t\t// Set initial icon rotation\n\t\tif (icon && this.currentState === 'expanded') {\n\t\t\ticon.style.transform = 'rotate(180deg)'\n\t\t}\n\t}\n\n\t// Public method to toggle between minimized and expanded\n\ttoggleState() {\n\t\tconst newState = this.currentState === 'minimized' ? 'expanded' : 'minimized'\n\t\tthis.animateToState(newState)\n\t}\n\n\t// Public method to close (hide) the boat\n\tclose() {\n\t\tthis.animateToState('hidden')\n\t}\n\n\tprivate closeAndAddToNav() {\n\t\trace(\n\t\t\tthis.discover<any>('schmancy-navigation-rail'),\n\t\t\tthis.discover<any>('schmancy-navigation-bar'),\n\t\t\tthis.discover<any>('schmancy-nav-drawer'),\n\t\t\tthis.discover<any>('app-navigation-rail'),\n\t\t\tthis.discover<any>('app-navigation-bar'),\n\t\t\tthis.discover<any>('app-nav-drawer'),\n\t\t)\n\t\t\t.pipe(\n\t\t\t\ttake(1),\n\t\t\t\ttap(navComponent => {\n\t\t\t\t\tif (navComponent && typeof navComponent.addBoatItem === 'function') {\n\t\t\t\t\t\t// Use properties first, fall back to slot parsing\n\t\t\t\t\t\tconst icon =\n\t\t\t\t\t\t\tthis.icon ||\n\t\t\t\t\t\t\t(() => {\n\t\t\t\t\t\t\t\tconst headerSlot = this.querySelector('[slot=\"header\"]')\n\t\t\t\t\t\t\t\tconst iconElement = headerSlot?.querySelector('schmancy-icon')\n\t\t\t\t\t\t\t\treturn iconElement?.textContent?.trim() || 'widgets'\n\t\t\t\t\t\t\t})()\n\n\t\t\t\t\t\tconst label =\n\t\t\t\t\t\t\tthis.label ||\n\t\t\t\t\t\t\t(() => {\n\t\t\t\t\t\t\t\tconst headerSlot = this.querySelector('[slot=\"header\"]')\n\t\t\t\t\t\t\t\tlet title = headerSlot?.textContent?.trim() || 'Boat'\n\t\t\t\t\t\t\t\tif (icon && title.includes(icon)) {\n\t\t\t\t\t\t\t\t\ttitle = title.replace(icon, '').trim()\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn title || this.id\n\t\t\t\t\t\t\t})()\n\n\t\t\t\t\t\t// Add the boat to navigation\n\t\t\t\t\t\tconst navItem = navComponent.addBoatItem({\n\t\t\t\t\t\t\tid: `boat-${this.id}`,\n\t\t\t\t\t\t\ttitle: label,\n\t\t\t\t\t\t\ticon: icon,\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tif (navItem) {\n\t\t\t\t\t\t\t// Simple fade out then hide\n\t\t\t\t\t\t\tconst container = this.containerRef.value\n\t\t\t\t\t\t\tif (container) {\n\t\t\t\t\t\t\t\tcontainer\n\t\t\t\t\t\t\t\t\t.animate([{ opacity: 1 }, { opacity: 0 }], { duration: 150, easing: 'ease-out', fill: 'forwards' })\n\t\t\t\t\t\t\t\t\t.finished.then(() => {\n\t\t\t\t\t\t\t\t\t\tthis.currentState = 'hidden'\n\t\t\t\t\t\t\t\t\t\tthis.isContentVisible = false\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.currentState = 'hidden'\n\t\t\t\t\t\t\t\tthis.isContentVisible = false\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Set up click listener to reopen - using RxJS pattern\n\t\t\t\t\t\t\tfromEvent(navItem, 'click')\n\t\t\t\t\t\t\t\t.pipe(\n\t\t\t\t\t\t\t\t\ttap(() => (this.state = 'expanded')),\n\t\t\t\t\t\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.subscribe()\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// No nav component found, just hide\n\t\t\t\t\t\tthis.close()\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\tprivate calculateDragPosition(\n\t\tclientX: number,\n\t\tclientY: number,\n\t\toffsetX: number,\n\t\toffsetY: number,\n\t\tinitialRect: DOMRect,\n\t): Position {\n\t\tconst targetLeft = clientX - offsetX\n\t\tconst targetTop = clientY - offsetY\n\t\tconst vw = window.innerWidth\n\t\tconst vh = window.innerHeight\n\t\tconst clampedLeft = Math.max(0, Math.min(targetLeft, vw - initialRect.width))\n\t\tconst clampedTop = Math.max(0, Math.min(targetTop, vh - initialRect.height))\n\n\t\tconst newX = this.anchor.includes('right') ? vw - (clampedLeft + initialRect.width) : clampedLeft\n\n\t\tconst newY = this.anchor.includes('bottom') ? vh - (clampedTop + initialRect.height) : clampedTop\n\n\t\treturn { x: Math.max(0, newX), y: Math.max(0, newY) }\n\t}\n\n\tprivate savePosition() {\n\t\tif (typeof window === 'undefined') return\n\n\t\tconst toSave: SavedPosition = {\n\t\t\tx: this.position.x,\n\t\t\ty: this.position.y,\n\t\t\tanchor: this.anchor,\n\t\t}\n\t\tconst key = `schmancy-boat-${this.id}`\n\t\tlocalStorage.setItem(key, JSON.stringify(toSave))\n\t\tconsole.log('💾 Saved position:', key, toSave)\n\t}\n\n\tprivate setupDragPipeline() {\n\t\tif (typeof window === 'undefined') return\n\n\t\tconst header = this.headerRef.value\n\t\tconst container = this.containerRef.value\n\t\tif (!header || !container) return\n\n\t\tlet hasDragged = false\n\t\tconst DRAG_THRESHOLD = 5\n\n\t\t// Merge mouse and touch start events\n\t\tmerge(\n\t\t\tfromEvent<MouseEvent>(header, 'mousedown').pipe(\n\t\t\t\tfilter(e => e.button === 0),\n\t\t\t\ttap(e => {\n\t\t\t\t\te.preventDefault()\n\t\t\t\t\te.stopPropagation()\n\t\t\t\t}),\n\t\t\t\tmap(e => ({\n\t\t\t\t\tclientX: e.clientX,\n\t\t\t\t\tclientY: e.clientY,\n\t\t\t\t\ttype: 'mouse' as const,\n\t\t\t\t})),\n\t\t\t),\n\t\t\tfromEvent<TouchEvent>(header, 'touchstart').pipe(\n\t\t\t\tmap(e => ({\n\t\t\t\t\tclientX: e.touches[0].clientX,\n\t\t\t\t\tclientY: e.touches[0].clientY,\n\t\t\t\t\ttype: 'touch' as const,\n\t\t\t\t})),\n\t\t\t),\n\t\t)\n\t\t\t.pipe(\n\t\t\t\tmap(({ clientX, clientY, type }) => {\n\t\t\t\t\tconst rect = container.getBoundingClientRect()\n\t\t\t\t\thasDragged = false\n\t\t\t\t\treturn {\n\t\t\t\t\t\tstartX: clientX,\n\t\t\t\t\t\tstartY: clientY,\n\t\t\t\t\t\toffsetX: clientX - rect.left,\n\t\t\t\t\t\toffsetY: clientY - rect.top,\n\t\t\t\t\t\tinitialRect: rect,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.pipe(\n\t\t\t\tswitchMap(({ startX, startY, offsetX, offsetY, initialRect, type }) => {\n\t\t\t\t\tconst move$ =\n\t\t\t\t\t\ttype === 'mouse'\n\t\t\t\t\t\t\t? fromEvent<MouseEvent>(window, 'mousemove').pipe(map(e => ({ clientX: e.clientX, clientY: e.clientY })))\n\t\t\t\t\t\t\t: fromEvent<TouchEvent>(window, 'touchmove').pipe(\n\t\t\t\t\t\t\t\t\tmap(e => ({ clientX: e.touches[0].clientX, clientY: e.touches[0].clientY })),\n\t\t\t\t\t\t\t\t)\n\n\t\t\t\t\tconst end$ = type === 'mouse' ? fromEvent(window, 'mouseup') : fromEvent(window, 'touchend')\n\n\t\t\t\t\treturn move$.pipe(\n\t\t\t\t\t\tmap(({ clientX, clientY }) => {\n\t\t\t\t\t\t\tconst deltaX = clientX - startX\n\t\t\t\t\t\t\tconst deltaY = clientY - startY\n\t\t\t\t\t\t\tconst distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY)\n\n\t\t\t\t\t\t\tif (distance > DRAG_THRESHOLD && !hasDragged) {\n\t\t\t\t\t\t\t\thasDragged = true\n\t\t\t\t\t\t\t\tthis.isDragging = true\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!hasDragged) return null\n\n\t\t\t\t\t\t\treturn this.calculateDragPosition(clientX, clientY, offsetX, offsetY, initialRect)\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tfilter(position => position !== null),\n\t\t\t\t\t\ttap(position => {\n\t\t\t\t\t\t\tif (position) {\n\t\t\t\t\t\t\t\tthis.position = position\n\t\t\t\t\t\t\t\tthis.updateContainerPosition()\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t\ttakeUntil(end$),\n\t\t\t\t\t)\n\t\t\t\t}),\n\t\t\t\tfinalize(() => {\n\t\t\t\t\tif (hasDragged) {\n\t\t\t\t\t\tthis.updateAnchor()\n\t\t\t\t\t\tthis.savePosition()\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.toggleState()\n\t\t\t\t\t}\n\t\t\t\t\tthis.isDragging = false\n\t\t\t\t\thasDragged = false\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t// Update container position based on anchor and position values\n\tprivate updateContainerPosition() {\n\t\tconst container = this.containerRef.value\n\t\tif (!container) return\n\n\t\t// Reset all position styles\n\t\tcontainer.style.removeProperty('left')\n\t\tcontainer.style.removeProperty('right')\n\t\tcontainer.style.removeProperty('top')\n\t\tcontainer.style.removeProperty('bottom')\n\n\t\t// Apply new position based on anchor\n\t\tif (this.anchor.includes('right')) {\n\t\t\tcontainer.style.right = `${this.position.x}px`\n\t\t} else {\n\t\t\tcontainer.style.left = `${this.position.x}px`\n\t\t}\n\n\t\tif (this.anchor.includes('bottom')) {\n\t\t\tcontainer.style.bottom = `${this.position.y}px`\n\t\t} else {\n\t\t\tcontainer.style.top = `${this.position.y}px`\n\t\t}\n\t}\n\n\t// Update anchor based on current position\n\tprivate updateAnchor() {\n\t\tif (typeof window === 'undefined') return\n\n\t\tconst container = this.containerRef.value\n\t\tif (!container) return\n\n\t\tconst rect = container.getBoundingClientRect()\n\t\tconst vw = window.innerWidth\n\t\tconst vh = window.innerHeight\n\n\t\tconst isRight = rect.left > vw / 2\n\t\tconst isBottom = rect.top > vh / 2\n\n\t\tconst newAnchor = `${isBottom ? 'bottom' : 'top'}-${isRight ? 'right' : 'left'}` as typeof this.anchor\n\n\t\tif (newAnchor !== this.anchor) {\n\t\t\t// Calculate new position values for the new anchor\n\t\t\tif (isRight) {\n\t\t\t\tthis.position.x = vw - rect.right\n\t\t\t} else {\n\t\t\t\tthis.position.x = rect.left\n\t\t\t}\n\n\t\t\tif (isBottom) {\n\t\t\t\tthis.position.y = vh - rect.bottom\n\t\t\t} else {\n\t\t\t\tthis.position.y = rect.top\n\t\t\t}\n\n\t\t\tthis.anchor = newAnchor\n\t\t}\n\t}\n\n\t// Cleanup on component disconnect\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.currentAnimation?.cancel()\n\t}\n\n\tprotected render(): unknown {\n\t\tconst surfaceElevation = this.currentState === 'minimized' ? (this.isLowered ? '1' : '3') : '4'\n\t\tconst isMinimized = this.currentState === 'minimized'\n\n\t\t// Set transform origin based on anchor for proper expansion\n\t\tconst transformOrigin = this.anchor.includes('bottom')\n\t\t\t? this.anchor.includes('right')\n\t\t\t\t? 'bottom right'\n\t\t\t\t: 'bottom left'\n\t\t\t: this.anchor.includes('right')\n\t\t\t\t? 'top right'\n\t\t\t\t: 'top left'\n\n\t\tconst containerClasses = {\n\t\t\t'z-50': true,\n\t\t\tfixed: true,\n\t\t\t'overflow-y-auto': true,\n\t\t\tflex: true,\n\t\t\t'flex-col': true,\n\t\t\t'select-none': true,\n\t\t\t'will-change-transform': true,\n\t\t\t'[contain:layout_style]': true,\n\t\t\t'[transform:translate3d(0,0,0)]': true,\n\t\t\t'[backface-visibility:hidden]': true,\n\t\t\t'transition-shadow': true,\n\t\t\t'opacity-95': this.isDragging,\n\t\t\t'shadow-[0_24px_48px_-8px_rgba(0,0,0,0.2),0_12px_24px_-4px_rgba(0,0,0,0.12)]': this.isDragging,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=${this.classMap(containerClasses)}\n\t\t\t\tstyle=\"transform-origin: ${transformOrigin}\"\n\t\t\t\t${ref(this.containerRef)}\n\t\t\t>\n\t\t\t\t<!-- Header section -->\n\t\t\t\t<section class=\"sticky top-0\">\n\t\t\t\t\t<schmancy-surface\n\t\t\t\t\t\televation=\"${surfaceElevation}\"\n\t\t\t\t\t\trounded=\"${isMinimized ? 'none' : 'top'}\"\n\t\t\t\t\t\ttype=\"containerLowest\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass=\"group sticky top-0 px-3 py-2 flex items-center justify-between gap-3 ${this.isDragging\n\t\t\t\t\t\t\t\t? 'cursor-grabbing'\n\t\t\t\t\t\t\t\t: 'cursor-move'}\"\n\t\t\t\t\t\t\t${ref(this.headerRef)}\n\t\t\t\t\t\t\ttitle=\"Drag to move, double-click to toggle\"\n\t\t\t\t\t\t\t@dblclick=${(e: Event) => {\n\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\tthis.toggleState()\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<!-- Drag handle indicator -->\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass=\"flex items-center text-surface-onVariant opacity-40 transition-opacity duration-200 group-hover:opacity-100\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<schmancy-icon style=\"font-size: 20px\">drag_indicator</schmancy-icon>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<!-- Header content - use properties if provided, else fallback to slot -->\n\t\t\t\t\t\t\t<div class=\"flex-1 min-w-fit items-center flex justify-start\">\n\t\t\t\t\t\t\t\t${this.icon || this.label\n\t\t\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t\t\t<div \n\t\t\t\t\t\t\t\t\t\t\tclass=\"flex gap-2 items-center\">\n\t\t\t\t\t\t\t\t\t\t\t\t${this.icon ? html`<schmancy-icon>${this.icon}</schmancy-icon>` : ''}\n\t\t\t\t\t\t\t\t\t\t\t\t${this.label\n\t\t\t\t\t\t\t\t\t\t\t\t\t? html`<schmancy-typography type=\"title\" token=\"md\">${this.label}</schmancy-typography>`\n\t\t\t\t\t\t\t\t\t\t\t\t\t: ''}\n\t\t\t\t\t\t\t\t\t\t\t\t${this.badge !== undefined && this.badge !== null && this.badge !== ''\n\t\t\t\t\t\t\t\t\t\t\t\t\t? html`<schmancy-badge>${this.badge}</schmancy-badge>`\n\t\t\t\t\t\t\t\t\t\t\t\t\t: ''}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t\t\t: html`<slot name=\"header\"></slot>`}\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<!-- Control buttons -->\n\t\t\t\t\t\t\t<div class=\"flex items-center gap-1 flex-shrink-0\">\n\t\t\t\t\t\t\t\t${isMinimized\n\t\t\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t\t\t<!-- Expand button (when minimized) -->\n\t\t\t\t\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state = 'expanded'\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"Expand\"\n\t\t\t\t\t\t\t\t\t\t\t\t${ref(this.iconRef)}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\tfullscreen\n\t\t\t\t\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t\t\t: html`\n\t\t\t\t\t\t\t\t\t\t\t<!-- Minimize button (when expanded) -->\n\t\t\t\t\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"filled tonal\"\n\t\t\t\t\t\t\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state = 'minimized'\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"Minimize\"\n\t\t\t\t\t\t\t\t\t\t\t\t${ref(this.iconRef)}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\tclose_fullscreen\n\t\t\t\t\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t\t\t\t`}\n\n\t\t\t\t\t\t\t\t<!-- Close button -->\n\t\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\tthis.closeAndAddToNav()\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\ttitle=\"Close and add to navigation\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tremove\n\t\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</schmancy-surface>\n\t\t\t\t</section>\n\n\t\t\t\t<!-- Content section -->\n\t\t\t\t<schmancy-surface .hidden=${!this.isContentVisible} type=\"containerLow\" class=\"flex-1\" ${ref(this.contentRef)}>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</schmancy-surface>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-boat': SchmancyBoat\n\t}\n}\n"],"names":["SchmancyBoat","$LitElement","css","super","arguments","this","id","containerRef","createRef","contentRef","iconRef","headerRef","ANIMATION_CONFIG","durations","expand","minimize","hide","content","easing","emphasized","decelerate","accelerate","standard","shadows","fab","fabLowered","expanded","currentState","isContentVisible","isAnimating","isLowered","isDragging","position","x","y","anchor","state","value","animateToState","lowered","requestUpdate","connectedCallback","window","fromEvent","pipe","takeUntil","disconnecting","subscribe","updateExpandedWidth","filter","e","key","tap","preventDefault","toggleState","close","initializePosition","saved","localStorage","getItem","parsed","JSON","parse","targetState","previousState","performTransition","dispatchEvent","CustomEvent","detail","bubbles","composed","fromState","toState","currentAnimation","cancel","animations","createAnimations","container","finished","icon","config","fromStyles","getStyleForState","toStyles","animate","duration","fill","opacity","transform","isExpanding","baseStyles","maxWidth","maxHeight","borderRadius","hidden","pointerEvents","boxShadow","backdropFilter","minimized","width","getResponsiveWidth","vw","innerWidth","style","applyInitialStyles","updateContainerPosition","setupDragPipeline","querySelector","label","initialStyle","Object","assign","webkitBackdropFilter","newState","race","discover","take","navComponent","addBoatItem","textContent","trim","title","includes","replace","navItem","then","clientX","clientY","offsetX","offsetY","initialRect","targetLeft","targetTop","vh","innerHeight","clampedLeft","Math","max","min","clampedTop","height","newX","newY","toSave","setItem","stringify","header","hasDragged","merge","button","stopPropagation","map","type","touches","rect","getBoundingClientRect","startX","startY","left","top","switchMap","move$","end$","deltaX","deltaY","sqrt","calculateDragPosition","finalize","updateAnchor","savePosition","removeProperty","right","bottom","isRight","isBottom","newAnchor","disconnectedCallback","render","surfaceElevation","isMinimized","transformOrigin","containerClasses","fixed","flex","html","classMap","ref","badge","closeAndAddToNav","__decorateClass","property","String","reflect","prototype","Boolean","customElement"],"mappings":";;;;;;;;;;;;;AAqBA,IAAqBA,IAArB,cAA0CC,EAAYC;AAAAA;AAAAA;AAAAA;AAAAA,CAAtD,EAAA;AAAA,EAAA;AAAAC,UAAAA,GAAAC,SAAAA,GAc6BC,KAAAC,KAAa,WAiBzCD,KAAQE,eAAoCC,EAAAA,GAC5CH,KAAQI,aAA+BD,EAAAA,GACvCH,KAAQK,UAA4BF,EAAAA,GACpCH,KAAQM,YAA8BH,EAAAA,GAMtCH,KAAiBO,mBAAmB,EACnCC,WAAW,EACVC,QAAQ,KACRC,UAAU,KACVC,MAAM,KACNC,SAAS,OAEVC,QAAQ,EACPC,YAAY,kCACZC,YAAY,qCACZC,YAAY,qCACZC,UAAU,iCAAA,GAEXC,SAAS,EACRC,KAAK,mHACLC,YACC,iHACDC,UAAU,4EAAA,EAAA,GAKHrB,KAAQsB,eAA0B,aAClCtB,KAAQuB,mBAAAA,IACRvB,KAAQwB,cAAAA,IACRxB,KAAQyB,YAAAA,IACRzB,KAAQ0B,iBACR1B,KAAQ2B,WAAqB,EAAEC,GAAG,IAAIC,GAAG,GAAA,GACzC7B,KAAQ8B,SAAoE;AAAA,EAAA;AAAA,EA9DrF,YAAIC;AACH,WAAO/B,KAAKsB;AAAAA,EAAA;AAAA,EAEb,IAAA,MAAUU;AACLhC,SAAKwB,eAAeQ,MAAUhC,KAAKsB,gBACvCtB,KAAKiC,eAAeD,CAAAA;AAAAA,EAAK;AAAA,EAM1B,cAAIE;AACH,WAAOlC,KAAKyB;AAAAA,EAAA;AAAA,EAEb,YAAYO,GAAAA;AACXhC,SAAKyB,YAAYO,GACjBhC,KAAKmC,cAAAA;AAAAA,EAAc;AAAA,EAgDpB;AACCrC,UAAMsC,kBAAAA,GAEgB,OAAXC,SAAW,QACrBC,EAAUD,QAAQ,QAAA,EAChBE,KAAKC,EAAUxC,KAAKyC,gBACpBC,UAAU,MAAA;AACgB,MAAtB1C,KAAKsB,iBAAiB,cACzBtB,KAAK2C,oBAAAA;AAAAA,IAAAA,CAAAA,GAKRL,EAAyBD,QAAQ,WAC/BE,KACAK,EAAOC,OAAKA,EAAEC,QAAQ,YAAY9C,KAAKsB,iBAAiB,QAAjBA,GACvCyB,EAAIF,OAAKA,EAAEG,eAAAA,CAAAA,GACXR,EAAUxC,KAAKyC,gBAEfC,UAAU,MAAA;AACgB,MAAtB1C,KAAKsB,iBAAiB,aACzBtB,KAAKiD,YAAAA,IAELjD,KAAKkD,MAAAA;AAAAA,IAAAA,CAAAA;AAAAA,EAGT;AAAA,EAGO,qBAAAC;AACP,QAAsB,OAAXd,SAAW,IAAa;AAEnC,UAAMe,IAAQC,aAAaC,QAAQ,iBAAiBtD,KAAKC,EAAAA,EAAAA;AAEzD,QAAImD,EACH;AACC,YAAMG,IAAwBC,KAAKC,MAAML;AACzCpD,WAAK2B,WAAW,EAAEC,GAAG2B,EAAO3B,GAAGC,GAAG0B,EAAO1B,EAAAA,GACzC7B,KAAK8B,SAASyB,EAAOzB;AAAAA,IAC6B,QAC1Ce;AAAAA,IAAG;AAAA,EAGb;AAAA,EAID,MAAA,eAA6Ba,GAAAA;AAC5B,QAAI1D,KAAKwB,eAAekC,MAAgB1D,KAAKsB,aAAc;AAE3D,UAAMqC,IAAgB3D,KAAKsB;AAC3BtB,SAAKwB,cAAAA;AAEL;YACOxB,KAAK4D,kBAAkBD,GAAeD,CAAAA,GAC5C1D,KAAKsB,eAAeoC,GACpB1D,KAAKuB,mBAAmBmC,MAAgB,YAGxC1D,KAAK6D,cACJ,IAAIC,YAAY,UAAU,EACzBC,QAAQL,GACRM,SAAAA,IACAC,UAAAA,GAAU,CAAA,CAAA;AAAA,IAEZ;AAGAjE,WAAKsB,eAAeoC,GACpB1D,KAAKuB,mBAAmBmC,MAAgB;AAAA,IAAA,UACzC;AACC1D,WAAKwB;IAAc;AAAA,EACpB;AAAA,EAID,MAAA,kBAAgC0C,GAAsBC,GAAAA;AAIrD,QAHAnE,KAAKoE,kBAAkBC,UAGvB,CADkBrE,KAAKE,aAAa8B,MACpB;AAGA,IAAZmC,MAAY,eACfnE,KAAKuB,mBAAAA;AAIN,UAAM+C,IAAatE,KAAKuE,iBAAiBL,GAAWC;AAGhDG,IAAAA,EAAWE,cACdxE,KAAKoE,mBAAmBE,EAAWE,WAAAA,MAC7BF,EAAWE,UAAUC,UAGvBN,MAAY,eACfnE,KAAKuB,mBAAAA;AAAAA,EAEP;AAAA,EAIO,iBAAiB2C,GAAsBC,GAAAA;AAC9C,UAAMK,IAAYxE,KAAKE,aAAa8B,OAC9BpB,IAAUZ,KAAKI,WAAW4B,OAC1B0C,IAAO1E,KAAKK,QAAQ2B,OACpBsC,IAA+E,CAAA;AAErF,QAAA,CAAKE,EAAW,QAAOF;AAEvB,UAAMK,IAAS3E,KAAKO,kBACdqE,IAAa5E,KAAK6E,iBAAiBX,IACnCY,IAAW9E,KAAK6E,iBAAiBV,CAAAA;AAgDvC,QA3CCG,EAAWE,YAFRL,MAAY,aAEQK,EAAUO,QAAQ,CAACH,GAAYE,CAAAA,GAAW,EAChEE,UAAUL,EAAOnE,UAAUC,QAC3BI,QAAQ8D,EAAO9D,OAAOE,YACtBkE,MAAM,WAAA,CAAA,IAGgBT,EAAUO,QAAQ,CAACH,GAAYE,CAAAA,GAAW,EAChEE,UAAUb,MAAY,WAAWQ,EAAOnE,UAAUG,OAAOgE,EAAOnE,UAAUE,UAC1EG,QAAQ8D,EAAO9D,OAAOG,YACtBiE,MAAM,WAAA,CAAA,GAKJrE,KAAWsD,MAAc,cAAcC,MAAY,cAEtDvD,EAAQmE,QACP,CACC,EAAEG,SAAS,GAAGC,WAAW,gBAAA,GACzB,EAAED,SAAS,GAAGC,WAAW,mBAAA,CAAA,GAE1B,EACCH,UAAU,KACVnE,QAAQ8D,EAAO9D,OAAOI,UACtBgE,MAAM,gBAGErE,KAAWuD,MAAY,cAEjCvD,EAAQmE,QACP,CACC,EAAEG,SAAS,GAAGC,WAAW,kBAAA,GACzB,EAAED,SAAS,GAAGC,WAAW,oBAE1B,EACCH,UAAUL,EAAOnE,UAAUI,SAC3BC,QAAQ8D,EAAO9D,OAAOI,UACtBgE,MAAM,WAAA,CAAA,GAMLP,GAAM;AACT,YAAMU,IAAcjB,MAAY;AAAZA,OAGhBiB,KAFiBlB,MAAc,cAAcC,MAAY,gBAG5DO,EAAKK,QACJ,CACC,EAAEI,WAAWC,IAAc,iBAAiB,iBAAA,GAC5C,EAAED,WAAWC,IAAc,mBAAmB,eAAA,CAAA,GAE/C,EACCJ,UAAU,KACVnE,QAAQ8D,EAAO9D,OAAOC,YACtBmE,MAAM,WAAA,CAAA;AAAA,IAGT;AAGD,WAAOX;AAAAA,EAAA;AAAA,EAIA,iBAAiBvC,GAAAA;AACxB,YAAMb,SAAEA,EAAAA,IAAYlB,KAAKO,kBACnB8E,IAAa,EAClBC,UAAU,SACVC,WAAW,QACXC,cAAc,OAAA;AA8Bf,WA3BiD,EAChDC,QAAQ,KACJJ,GACHH,SAAS,KACTQ,eAAe,QACfC,WAAW,QACXC,gBAAgB,OAAA,GAEjBC,WAAW,EAAA,GACPR,GACHH,SAAS,KACTQ,eAAe,QACfC,WAAW3F,KAAKyB,YAAYP,EAAQE,aAAaF,EAAQC,KACzDyE,gBAAgB,OAAA,GAEjBvE,UAAU,EACT6D,SAAS,KACTQ,eAAe,QACfI,OAAO9F,KAAK+F,sBACZT,UAAU,QACVC,WAAW,QACXI,WAAWzE,EAAQG,UACnBmE,cAAc,eACdI,gBAAgB,aAAA,EAAA,EAIC7D,CAAAA;AAAAA,EAAK;AAAA,EAIjB,qBAAAgE;AACP,QAAsB,OAAX1D,SAAW,IAAa,QAAO;AAE1C,UAAM2D,IAAK3D,OAAO4D;AAClB,WAAID,IAAK,MAAY,uBACjBA,IAAK,OAAa,SAClBA,IAAK,OAAa,SACf;AAAA,EAAA;AAAA,EAIA,sBAAArD;AACP,UAAM6B,IAAYxE,KAAKE,aAAa8B;AAChCwC,SAAaxE,KAAKsB,iBAAiB,eACtCkD,EAAU0B,MAAMJ,QAAQ9F,KAAK+F,mBAAAA;AAAAA,EAC9B;AAAA,EAGD;AACC/F,SAAKmD,mBAAAA,GACLnD,KAAKmG,mBAAAA,GACLnG,KAAKoG,wBAAAA,GACLpG,KAAKqG,qBAGiBrG,KAAKsG,cAAc,uBACnBtG,KAAK0E,QAAS1E,KAAKuG;AAAAA,EAMzC;AAAA,EAIO,qBAAAJ;AACP,UAAM3B,IAAYxE,KAAKE,aAAa8B,OAC9BpB,IAAUZ,KAAKI,WAAW4B,OAC1B0C,IAAO1E,KAAKK,QAAQ2B;AAE1B,QAAIwC,GAAW;AACd,YAAMgC,IAAexG,KAAK6E,iBAAiB7E,KAAKsB,YAAAA;AAChDmF,aAAOC,OAAOlC,EAAU0B,OAAOM,CAAAA,GAG3B,0BAA0BhC,EAAU0B,UACrC1B,EAAU0B,MAAcS,uBAAuBH,EAAaZ;AAAAA,IAC/D;AAIGhF,IAAAA,MACHA,EAAQsF,MAAMhB,UAAUlF,KAAKuB,mBAAmB,MAAM,MAInDmD,KAAQ1E,KAAKsB,iBAAiB,eACjCoD,EAAKwB,MAAMf,YAAY;AAAA,EACxB;AAAA,EAID,cAAAlC;AACC,UAAM2D,IAAW5G,KAAKsB,iBAAiB,cAAc,aAAa;AAClEtB,SAAKiC,eAAe2E,CAAAA;AAAAA,EAAQ;AAAA,EAI7B,QAAA1D;AACClD,SAAKiC,eAAe;EAAQ;AAAA,EAGrB;AACP4E,IAAAA,EACC7G,KAAK8G,SAAc,0BAAA,GACnB9G,KAAK8G,SAAc,yBAAA,GACnB9G,KAAK8G,SAAc,qBAAA,GACnB9G,KAAK8G,SAAc,wBACnB9G,KAAK8G,SAAc,oBAAA,GACnB9G,KAAK8G,SAAc,gBAAA,CAAA,EAElBvE,KACAwE,EAAK,CAAA,GACLhE,EAAIiE,CAAAA,MAAAA;AACH,UAAIA,KAAoD,OAA7BA,EAAaC,eAAgB,YAAY;AAEnE,cAAMvC,IACL1E,KAAK0E,SAEe1E,KAAKsG,cAAc,iBAAA,GACNA,cAAc,kBAC1BY,aAAaC,KAAAA,KAAU,YAGvCZ,IACLvG,KAAKuG,UAAA,MAAA;AAGJ,cAAIa,IADepH,KAAKsG,cAAc,iBAAA,GACdY,aAAaC,UAAU;AAI/C,iBAHYC,EAAMC,SAAS3C,OAC1B0C,IAAQA,EAAME,QAAQ5C,GAAM,IAAIyC,KAAAA,IAE1BC,KAASpH,KAAKC;AAAAA,QACtB,GARK,GAWAsH,IAAUP,EAAaC,YAAY,EACxChH,IAAI,QAAQD,KAAKC,EAAAA,IACjBmH,OAAOb,GACP7B,MAAAA,EAAAA,CAAAA;AAGD,YAAI6C,GAAS;AAEZ,gBAAM/C,IAAYxE,KAAKE,aAAa8B;AAChCwC,UAAAA,IACHA,EACEO,QAAQ,CAAC,EAAEG,SAAS,KAAK,EAAEA,SAAS,EAAA,CAAA,GAAM,EAAEF,UAAU,KAAKnE,QAAQ,YAAYoE,MAAM,cACrFR,SAAS+C,KAAK,MAAA;AACdxH,iBAAKsB,eAAe,UACpBtB,KAAKuB;UAAmB,CAAA,KAG1BvB,KAAKsB,eAAe,UACpBtB,KAAKuB,mBAAAA,KAINe,EAAUiF,GAAS,OAAA,EACjBhF,KACAQ,EAAI,MAAO/C,KAAK+B,QAAQ,UAAA,GACxBS,EAAUxC,KAAKyC,aAAAA,CAAAA,EAEfC,UAAAA;AAAAA,QAAU;AAAA,MACb,MAGA1C,MAAKkD;QAIPR,UAAAA;AAAAA,EAAU;AAAA,EAGL,sBACP+E,GACAC,GACAC,GACAC,GACAC,GAAAA;AAEA,UAAMC,IAAaL,IAAUE,GACvBI,IAAYL,IAAUE,GACtB5B,IAAK3D,OAAO4D,YACZ+B,IAAK3F,OAAO4F,aACZC,IAAcC,KAAKC,IAAI,GAAGD,KAAKE,IAAIP,GAAY9B,IAAK6B,EAAY/B,KAAAA,CAAAA,GAChEwC,IAAaH,KAAKC,IAAI,GAAGD,KAAKE,IAAIN,GAAWC,IAAKH,EAAYU,MAAAA,CAAAA,GAE9DC,IAAOxI,KAAK8B,OAAOuF,SAAS,OAAA,IAAWrB,KAAMkC,IAAcL,EAAY/B,SAASoC,GAEhFO,IAAOzI,KAAK8B,OAAOuF,SAAS,QAAA,IAAYW,KAAMM,IAAaT,EAAYU,UAAUD;AAEvF,WAAO,EAAE1G,GAAGuG,KAAKC,IAAI,GAAGI,CAAAA,GAAO3G,GAAGsG,KAAKC,IAAI,GAAGK,CAAAA,EAAAA;AAAAA,EAAM;AAAA,EAG7C;AACP,QAAsB,OAAXpG,SAAW,IAAa;AAEnC,UAAMqG,IAAwB,EAC7B9G,GAAG5B,KAAK2B,SAASC,GACjBC,GAAG7B,KAAK2B,SAASE,GACjBC,QAAQ9B,KAAK8B,OAAAA,GAERgB,IAAM,iBAAiB9C,KAAKC,EAAAA;AAClCoD,iBAAasF,QAAQ7F,GAAKU,KAAKoF,UAAUF,CAAAA,CAAAA;AAAAA,EACI;AAAA,EAGtC,oBAAArC;AACP,QAAsB,OAAXhE,SAAW,IAAa;AAEnC,UAAMwG,IAAS7I,KAAKM,UAAU0B,OACxBwC,IAAYxE,KAAKE,aAAa8B;AACpC,SAAK6G,KAAAA,CAAWrE,EAAW;AAE3B,QAAIsE,IAAAA;AAIJC,IAAAA,EACCzG,EAAsBuG,GAAQ,WAAA,EAAatG,KAC1CK,EAAOC,CAAAA,MAAKA,EAAEmG,WAAW,CAAXA,GACdjG,EAAIF,CAAAA;AACHA,MAAAA,EAAEG,eAAAA,GACFH,EAAEoG,gBAAAA;AAAAA,IAAAA,CAAAA,GAEHC,EAAIrG,CAAAA,OAAA,EACH4E,SAAS5E,EAAE4E,SACXC,SAAS7E,EAAE6E,SACXyB,MAAM,QAAA,EAAA,CAAA,GAGR7G,EAAsBuG,GAAQ,YAAA,EAActG,KAC3C2G,EAAIrG,CAAAA,OAAA,EACH4E,SAAS5E,EAAEuG,QAAQ,CAAA,EAAG3B,SACtBC,SAAS7E,EAAEuG,QAAQ,CAAA,EAAG1B,SACtByB,MAAM,QAAA,EAAA,CAAA,CAAA,EAIP5G,KACA2G,EAAI,GAAGzB,SAAAA,GAASC,SAAAA,GAASyB,MAAAA,EAAAA,MAAAA;AACxB,YAAME,IAAO7E,EAAU8E,sBAAAA;AAEvB,aADAR,IAAAA,IACO,EACNS,QAAQ9B,GACR+B,QAAQ9B,GACRC,SAASF,IAAU4B,EAAKI,MACxB7B,SAASF,IAAU2B,EAAKK,KACxB7B,aAAawB,GACbF;QAIF5G,KACAoH,EAAU,CAAA,EAAGJ,QAAAA,GAAQC,WAAQ7B,SAAAA,GAASC,SAAAA,GAASC,aAAAA,GAAasB,MAAAA,EAAAA,MAAAA;AAC3D,YAAMS,IACLT,MAAS,UACN7G,EAAsBD,QAAQ,WAAA,EAAaE,KAAK2G,EAAIrG,CAAAA,OAAA,EAAQ4E,SAAS5E,EAAE4E,SAASC,SAAS7E,EAAE6E,eAC3FpF,EAAsBD,QAAQ,WAAA,EAAaE,KAC3C2G,EAAIrG,CAAAA,OAAA,EAAQ4E,SAAS5E,EAAEuG,QAAQ,CAAA,EAAG3B,SAASC,SAAS7E,EAAEuG,QAAQ,CAAA,EAAG1B,QAAAA,EAAAA,CAAAA,GAG/DmC,IAA0BvH,EAAUD,QAA7B8G,MAAS,UAA4B,YAA+B,UAAA;AAEjF,aAAOS,EAAMrH,KACZ2G,EAAI,CAAA,EAAGzB,SAAAA,GAASC;AACf,cAAMoC,IAASrC,IAAU8B,GACnBQ,IAASrC,IAAU8B;AAQzB,eAPiBrB,KAAK6B,KAAKF,IAASA,IAASC,IAASA,CAAAA,IArDpC,KAAA,CAuDgBjB,MACjCA,IAAAA,IACA9I,KAAK0B,aAAAA,KAGDoH,IAEE9I,KAAKiK,sBAAsBxC,GAASC,GAASC,GAASC,GAASC,KAF9C;AAAA,MAAA,CAAA,GAIzBjF,EAAOjB,CAAAA,MAAYA,MAAa,IAAbA,GACnBoB,EAAIpB,CAAAA,MAAAA;AACCA,QAAAA,MACH3B,KAAK2B,WAAWA,GAChB3B,KAAKoG;UAGP5D,EAAUqH,CAAAA,CAAAA;AAAAA,IAAAA,CAAAA,GAGZK,EAAS,MAAA;AACJpB,MAAAA,KACH9I,KAAKmK,aAAAA,GACLnK,KAAKoK,aAAAA,KAELpK,KAAKiD,eAENjD,KAAK0B,aAAAA,IACLoH,IAAAA;AAAAA,QAEDtG,EAAUxC,KAAKyC,aAAAA,CAAAA,EAEfC,UAAAA;AAAAA,EAAU;AAAA,EAIL,0BAAA0D;AACP,UAAM5B,IAAYxE,KAAKE,aAAa8B;AAC/BwC,UAGLA,EAAU0B,MAAMmE,eAAe,MAAA,GAC/B7F,EAAU0B,MAAMmE,eAAe,UAC/B7F,EAAU0B,MAAMmE,eAAe,KAAA,GAC/B7F,EAAU0B,MAAMmE,eAAe,QAAA,GAG3BrK,KAAK8B,OAAOuF,SAAS,OAAA,IACxB7C,EAAU0B,MAAMoE,QAAQ,GAAGtK,KAAK2B,SAASC,CAAAA,OAEzC4C,EAAU0B,MAAMuD,OAAO,GAAGzJ,KAAK2B,SAASC,OAGrC5B,KAAK8B,OAAOuF,SAAS,QAAA,IACxB7C,EAAU0B,MAAMqE,SAAS,GAAGvK,KAAK2B,SAASE,QAE1C2C,EAAU0B,MAAMwD,MAAM,GAAG1J,KAAK2B,SAASE,CAAAA;AAAAA,EACxC;AAAA,EAIO;AACP,QAAsB,OAAXQ,SAAW,IAAa;AAEnC,UAAMmC,IAAYxE,KAAKE,aAAa8B;AACpC,QAAA,CAAKwC,EAAW;AAEhB,UAAM6E,IAAO7E,EAAU8E,yBACjBtD,IAAK3D,OAAO4D,YACZ+B,IAAK3F,OAAO4F,aAEZuC,IAAUnB,EAAKI,OAAOzD,IAAK,GAC3ByE,IAAWpB,EAAKK,MAAM1B,IAAK,GAE3B0C,IAAY,GAAGD,IAAW,WAAW,SAASD,IAAU,UAAU,MAAA;AAEpEE,UAAc1K,KAAK8B,WAGrB9B,KAAK2B,SAASC,IADX4I,IACexE,IAAKqD,EAAKiB,QAEVjB,EAAKI,MAIvBzJ,KAAK2B,SAASE,IADX4I,IACezC,IAAKqB,EAAKkB,SAEVlB,EAAKK,KAGxB1J,KAAK8B,SAAS4I;AAAAA,EACf;AAAA,EAID,uBAAAC;AACC7K,UAAM6K,qBAAAA,GACN3K,KAAKoE,kBAAkBC,OAAAA;AAAAA,EAAO;AAAA,EAGrB,SAAAuG;AACT,UAAMC,IAAmB7K,KAAKsB,iBAAiB,cAAetB,KAAKyB,YAAY,MAAM,MAAO,KACtFqJ,IAAc9K,KAAKsB,iBAAiB,aAGpCyJ,IAAkB/K,KAAK8B,OAAOuF,SAAS,QAAA,IAC1CrH,KAAK8B,OAAOuF,SAAS,OAAA,IACpB,iBACA,gBACDrH,KAAK8B,OAAOuF,SAAS,OAAA,IACpB,cACA,YAEE2D,IAAmB,EACxB,QAAA,IACAC,OAAAA,IACA,uBACAC,MAAAA,IACA,YAAA,IACA,eAAA,IACA,6BACA,0BAAA,IACA,kCAAA,IACA,gCAAA,IACA,qBAAA,IACA,cAAclL,KAAK0B,YACnB,+EAA+E1B,KAAK0B,WAAAA;AAGrF,WAAOyJ;AAAAA;AAAAA,YAEGnL,KAAKoL,SAASJ,CAAAA,CAAAA;AAAAA,+BACKD,CAAAA;AAAAA,MACzBM,EAAIrL,KAAKE,YAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,mBAKI2K,CAAAA;AAAAA,iBACFC,IAAc,SAAS,KAAA;AAAA;AAAA;AAAA;AAAA,qFAI6C9K,KAAK0B,aAChF,oBACA,aAAA;AAAA,SACD2J,EAAIrL,KAAKM,SAAAA,CAAAA;AAAAA;AAAAA,mBAEEuC,CAAAA,MAAAA;AACZA,MAAAA,EAAEG,eAAAA,GACFH,EAAEoG,gBAAAA,GACFjJ,KAAKiD,YAAAA;AAAAA,IAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UAYHjD,KAAK0E,QAAQ1E,KAAKuG,QACjB4E;AAAAA;AAAAA;AAAAA,cAGGnL,KAAK0E,OAAOyG,mBAAsBnL,KAAK0E,IAAAA,qBAAyB,EAAA;AAAA,cAChE1E,KAAKuG,QACJ4E,iDAAoDnL,KAAKuG,KAAAA,2BACzD,EAAA;AAAA,cACDvG,KAAKsL,oBAAuBtL,KAAKsL,UAAU,QAAQtL,KAAKsL,UAAU,KACjEH,oBAAuBnL,KAAKsL,KAAAA,sBAC5B,EAAA;AAAA;AAAA,cAGJH,8BAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAKDL,IACCK;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,qBAKWtI,CAAAA,MAAAA;AACTA,MAAAA,EAAEoG,gBAAAA,GACFjJ,KAAK+B,QAAQ;AAAA,IAAA,CAAA;AAAA;AAAA,cAGZsJ,EAAIrL,KAAKK,OAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA,cAKZ8K;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,qBAKWtI,CAAAA,MAAAA;AACTA,MAAAA,EAAEoG,gBAAAA,GACFjJ,KAAK+B,QAAQ;AAAA,IAAA,CAAA;AAAA;AAAA,cAGZsJ,EAAIrL,KAAKK,OAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;;;;;kBASJwC,CAAAA,MAAAA;AACTA,MAAAA,EAAEoG,mBACFjJ,KAAKuL,iBAAAA;AAAAA,IAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,iCAYkBvL,KAAKuB,gBAAAA,uCAAuD8J,EAAIrL,KAAKI,UAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAAW;AAAA;AAtvB5GoL,EAAA,CADHC,EAAS,EAAEtC,MAAMuC,QAAQC,SAAAA,GAAS,CAAA,CAAA,GALfhM,EAMhBiM,WAAA,SAAA,CAAA,GAQwBJ,EAAA,CAA3BC,EAAS,EAAEtC,MAAMuC,OAAAA,CAAAA,CAAAA,GAdE/L,EAcQiM,WAAA,MAAA,CAAA,GAGxBJ,EAAA,CADHC,EAAS,EAAEtC,MAAM0C,SAASF,SAAAA,GAAS,CAAA,CAAA,GAhBhBhM,EAiBhBiM,WAAA,WAAA,CAAA,GASwBJ,EAAA,CAA3BC,EAAS,EAAEtC,MAAMuC,OAAAA,CAAAA,CAAAA,GA1BE/L,EA0BQiM,WAAA,QAAA,CAAA,GACAJ,EAAA,CAA3BC,EAAS,EAAEtC,MAAMuC,OAAAA,CAAAA,CAAAA,GA3BE/L,EA2BQiM,WAAA,SAAA,CAAA,GAChBJ,EAAA,CAAXC,EAAAA,CAAAA,GA5BmB9L,EA4BRiM,WAAA,SAAA,CAAA,GAkCKJ,EAAA,CAAhBzJ,EAAAA,CAAAA,GA9DmBpC,EA8DHiM,WAAA,gBAAA,CAAA,GACAJ,EAAA,CAAhBzJ,EAAAA,CAAAA,GA/DmBpC,EA+DHiM,WAAA,oBAAA,CAAA,GACAJ,EAAA,CAAhBzJ,EAAAA,CAAAA,GAhEmBpC,EAgEHiM,WAAA,eAAA,CAAA,GACAJ,EAAA,CAAhBzJ,EAAAA,CAAAA,GAjEmBpC,EAiEHiM,WAAA,aAAA,CAAA,GACAJ,EAAA,CAAhBzJ,EAAAA,CAAAA,GAlEmBpC,EAkEHiM,WAAA,cAAA,CAAA,GACAJ,EAAA,CAAhBzJ,EAAAA,CAAAA,GAnEmBpC,EAmEHiM,WAAA,YAAA,IACAJ,EAAA,CAAhBzJ,EAAAA,CAAAA,GApEmBpC,EAoEHiM,WAAA,UAAA,CAAA,GApEGjM,IAArB6L,EAAA,CADCM,EAAc,eAAA,CAAA,GACMnM,CAAAA;"}
|
|
@@ -31,7 +31,8 @@
|
|
|
31
31
|
<!-- Header content - use properties if provided, else fallback to slot -->
|
|
32
32
|
<div class="flex-1 min-w-fit items-center flex justify-start">
|
|
33
33
|
${this.icon||this.label?l.html`
|
|
34
|
-
<div
|
|
34
|
+
<div
|
|
35
|
+
class="flex gap-2 items-center">
|
|
35
36
|
${this.icon?l.html`<schmancy-icon>${this.icon}</schmancy-icon>`:""}
|
|
36
37
|
${this.label?l.html`<schmancy-typography type="title" token="md">${this.label}</schmancy-typography>`:""}
|
|
37
38
|
${this.badge!==void 0&&this.badge!==null&&this.badge!==""?l.html`<schmancy-badge>${this.badge}</schmancy-badge>`:""}
|
|
@@ -44,26 +45,30 @@
|
|
|
44
45
|
${e?l.html`
|
|
45
46
|
<!-- Expand button (when minimized) -->
|
|
46
47
|
<schmancy-icon-button
|
|
48
|
+
size="sm"
|
|
47
49
|
variant="text"
|
|
48
50
|
@click=${a=>{a.stopPropagation(),this.state="expanded"}}
|
|
49
51
|
title="Expand"
|
|
52
|
+
${u.ref(this.iconRef)}
|
|
50
53
|
>
|
|
51
|
-
|
|
54
|
+
fullscreen
|
|
52
55
|
</schmancy-icon-button>
|
|
53
56
|
`:l.html`
|
|
54
57
|
<!-- Minimize button (when expanded) -->
|
|
55
58
|
<schmancy-icon-button
|
|
59
|
+
size="sm"
|
|
56
60
|
variant="filled tonal"
|
|
57
61
|
@click=${a=>{a.stopPropagation(),this.state="minimized"}}
|
|
58
62
|
title="Minimize"
|
|
63
|
+
${u.ref(this.iconRef)}
|
|
59
64
|
>
|
|
60
|
-
|
|
65
|
+
close_fullscreen
|
|
61
66
|
</schmancy-icon-button>
|
|
62
67
|
`}
|
|
63
68
|
|
|
64
69
|
<!-- Close button -->
|
|
65
70
|
<schmancy-icon-button
|
|
66
|
-
|
|
71
|
+
size="sm"
|
|
67
72
|
@click=${a=>{a.stopPropagation(),this.closeAndAddToNav()}}
|
|
68
73
|
title="Close and add to navigation"
|
|
69
74
|
>
|
|
@@ -80,4 +85,4 @@
|
|
|
80
85
|
</schmancy-surface>
|
|
81
86
|
</div>
|
|
82
87
|
`}},d([h.property({type:String,reflect:!0})],exports.SchmancyBoat.prototype,"state",1),d([h.property({type:String})],exports.SchmancyBoat.prototype,"id",2),d([h.property({type:Boolean,reflect:!0})],exports.SchmancyBoat.prototype,"lowered",1),d([h.property({type:String})],exports.SchmancyBoat.prototype,"icon",2),d([h.property({type:String})],exports.SchmancyBoat.prototype,"label",2),d([h.property()],exports.SchmancyBoat.prototype,"badge",2),d([h.state()],exports.SchmancyBoat.prototype,"currentState",2),d([h.state()],exports.SchmancyBoat.prototype,"isContentVisible",2),d([h.state()],exports.SchmancyBoat.prototype,"isAnimating",2),d([h.state()],exports.SchmancyBoat.prototype,"isLowered",2),d([h.state()],exports.SchmancyBoat.prototype,"isDragging",2),d([h.state()],exports.SchmancyBoat.prototype,"position",2),d([h.state()],exports.SchmancyBoat.prototype,"anchor",2),exports.SchmancyBoat=d([h.customElement("schmancy-boat")],exports.SchmancyBoat);
|
|
83
|
-
//# sourceMappingURL=boat-
|
|
88
|
+
//# sourceMappingURL=boat-DpHPXHCG.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boat-DpHPXHCG.cjs","sources":["../src/boat/boat.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { createRef, ref, Ref } from 'lit/directives/ref.js'\nimport { fromEvent, merge, race } from 'rxjs'\nimport { filter, finalize, map, switchMap, take, takeUntil, tap } from 'rxjs/operators'\n\ntype BoatState = 'hidden' | 'minimized' | 'expanded'\n\ninterface Position {\n\tx: number\n\ty: number\n}\n\ninterface SavedPosition {\n\tx: number\n\ty: number\n\tanchor: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left'\n}\n\n@customElement('schmancy-boat')\nexport default class SchmancyBoat extends $LitElement(css`\n\t:host {\n\t\tdisplay: contents;\n\t}\n`) {\n\t@property({ type: String, reflect: true })\n\tget state(): BoatState {\n\t\treturn this.currentState\n\t}\n\tset state(value: BoatState) {\n\t\tif (this.isAnimating || value === this.currentState) return\n\t\tthis.animateToState(value)\n\t}\n\n\t@property({ type: String }) id: string = 'default'\n\n\t@property({ type: Boolean, reflect: true })\n\tget lowered(): boolean {\n\t\treturn this.isLowered\n\t}\n\tset lowered(value: boolean) {\n\t\tthis.isLowered = value\n\t\tthis.requestUpdate()\n\t}\n\n\t// New properties for simplified API\n\t@property({ type: String }) icon?: string\n\t@property({ type: String }) label?: string\n\t@property() badge?: string | number\n\n\t// Element references\n\tprivate containerRef: Ref<HTMLDivElement> = createRef()\n\tprivate contentRef: Ref<HTMLElement> = createRef()\n\tprivate iconRef: Ref<HTMLElement> = createRef()\n\tprivate headerRef: Ref<HTMLElement> = createRef()\n\n\t// Current animation reference\n\tprivate currentAnimation?: Animation\n\n\t// Animation configuration\n\tprivate readonly ANIMATION_CONFIG = {\n\t\tdurations: {\n\t\t\texpand: 350,\n\t\t\tminimize: 250,\n\t\t\thide: 200,\n\t\t\tcontent: 300,\n\t\t},\n\t\teasing: {\n\t\t\temphasized: 'cubic-bezier(0.2, 0.0, 0, 1.0)',\n\t\t\tdecelerate: 'cubic-bezier(0.05, 0.7, 0.1, 1.0)',\n\t\t\taccelerate: 'cubic-bezier(0.3, 0.0, 0.8, 0.15)',\n\t\t\tstandard: 'cubic-bezier(0.4, 0.0, 0.2, 1)',\n\t\t},\n\t\tshadows: {\n\t\t\tfab: '0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12)',\n\t\t\tfabLowered:\n\t\t\t\t'0px 1px 3px 0px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 2px 1px -1px rgba(0, 0, 0, 0.12)',\n\t\t\texpanded: '0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)',\n\t\t},\n\t}\n\n\t// Reactive state for template\n\t@state() private currentState: BoatState = 'minimized'\n\t@state() private isContentVisible: boolean = false\n\t@state() private isAnimating: boolean = false\n\t@state() private isLowered: boolean = false\n\t@state() private isDragging: boolean = false\n\t@state() private position: Position = { x: 16, y: 16 }\n\t@state() private anchor: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left' = 'bottom-right'\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\tif (typeof window !== 'undefined') {\n\t\t\tfromEvent(window, 'resize')\n\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t.subscribe(() => {\n\t\t\t\t\tif (this.currentState === 'expanded') {\n\t\t\t\t\t\tthis.updateExpandedWidth()\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t// Keyboard shortcut - Escape key\n\t\t\tfromEvent<KeyboardEvent>(window, 'keydown')\n\t\t\t\t.pipe(\n\t\t\t\t\tfilter(e => e.key === 'Escape' && this.currentState !== 'hidden'),\n\t\t\t\t\ttap(e => e.preventDefault()),\n\t\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\t)\n\t\t\t\t.subscribe(() => {\n\t\t\t\t\tif (this.currentState === 'expanded') {\n\t\t\t\t\t\tthis.toggleState() // Minimize on Esc if expanded\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.close() // Hide on Esc if minimized\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t}\n\t}\n\n\tprivate initializePosition() {\n\t\tif (typeof window === 'undefined') return\n\n\t\tconst saved = localStorage.getItem(`schmancy-boat-${this.id}`)\n\n\t\tif (saved) {\n\t\t\ttry {\n\t\t\t\tconst parsed: SavedPosition = JSON.parse(saved)\n\t\t\t\tthis.position = { x: parsed.x, y: parsed.y }\n\t\t\t\tthis.anchor = parsed.anchor\n\t\t\t\tconsole.log('📍 Loaded position:', this.id, parsed)\n\t\t\t} catch (e) {\n\t\t\t\t// Use default position on parse error\n\t\t\t}\n\t\t}\n\t\t// If no saved position, use default from @state initialization\n\t}\n\n\tprivate async animateToState(targetState: BoatState) {\n\t\tif (this.isAnimating || targetState === this.currentState) return\n\n\t\tconst previousState = this.currentState\n\t\tthis.isAnimating = true\n\n\t\ttry {\n\t\t\tawait this.performTransition(previousState, targetState)\n\t\t\tthis.currentState = targetState\n\t\t\tthis.isContentVisible = targetState === 'expanded'\n\n\t\t\t// Dispatch event\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('toggle', {\n\t\t\t\t\tdetail: targetState,\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t}),\n\t\t\t)\n\t\t} catch (err) {\n\t\t\tconsole.warn('Animation error:', err)\n\t\t\tthis.currentState = targetState\n\t\t\tthis.isContentVisible = targetState === 'expanded'\n\t\t} finally {\n\t\t\tthis.isAnimating = false\n\t\t}\n\t}\n\n\t// Simplified animation transition\n\tprivate async performTransition(fromState: BoatState, toState: BoatState): Promise<void> {\n\t\tthis.currentAnimation?.cancel()\n\n\t\tconst container = this.containerRef.value\n\t\tif (!container) return\n\n\t\t// Update content visibility before expand\n\t\tif (toState === 'expanded') {\n\t\t\tthis.isContentVisible = true\n\t\t}\n\n\t\t// Create animations\n\t\tconst animations = this.createAnimations(fromState, toState)\n\n\t\t// Wait for main animation to complete\n\t\tif (animations.container) {\n\t\t\tthis.currentAnimation = animations.container\n\t\t\tawait animations.container.finished\n\n\t\t\t// Hide content after minimize\n\t\t\tif (toState !== 'expanded') {\n\t\t\t\tthis.isContentVisible = false\n\t\t\t}\n\t\t}\n\t}\n\n\t// Create animations for state transition\n\tprivate createAnimations(fromState: BoatState, toState: BoatState) {\n\t\tconst container = this.containerRef.value\n\t\tconst content = this.contentRef.value\n\t\tconst icon = this.iconRef.value\n\t\tconst animations: { container?: Animation; content?: Animation; icon?: Animation } = {}\n\n\t\tif (!container) return animations\n\n\t\tconst config = this.ANIMATION_CONFIG\n\t\tconst fromStyles = this.getStyleForState(fromState)\n\t\tconst toStyles = this.getStyleForState(toState)\n\n\t\t// Container animation\n\t\tif (toState === 'expanded') {\n\t\t\t// Expand animation without transform\n\t\t\tanimations.container = container.animate([fromStyles, toStyles], {\n\t\t\t\tduration: config.durations.expand,\n\t\t\t\teasing: config.easing.decelerate,\n\t\t\t\tfill: 'forwards',\n\t\t\t})\n\t\t} else {\n\t\t\tanimations.container = container.animate([fromStyles, toStyles], {\n\t\t\t\tduration: toState === 'hidden' ? config.durations.hide : config.durations.minimize,\n\t\t\t\teasing: config.easing.accelerate,\n\t\t\t\tfill: 'forwards',\n\t\t\t})\n\t\t}\n\n\t\t// Content animation (only for expand/minimize transitions)\n\t\tif (content && fromState === 'expanded' && toState === 'minimized') {\n\t\t\t// Fade out content before minimizing\n\t\t\tcontent.animate(\n\t\t\t\t[\n\t\t\t\t\t{ opacity: 1, transform: 'translateY(0)' },\n\t\t\t\t\t{ opacity: 0, transform: 'translateY(-8px)' },\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: 150,\n\t\t\t\t\teasing: config.easing.standard,\n\t\t\t\t\tfill: 'forwards',\n\t\t\t\t},\n\t\t\t)\n\t\t} else if (content && toState === 'expanded') {\n\t\t\t// Fade in content when expanding\n\t\t\tcontent.animate(\n\t\t\t\t[\n\t\t\t\t\t{ opacity: 0, transform: 'translateY(8px)' },\n\t\t\t\t\t{ opacity: 1, transform: 'translateY(0)' },\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: config.durations.content,\n\t\t\t\t\teasing: config.easing.standard,\n\t\t\t\t\tfill: 'forwards',\n\t\t\t\t},\n\t\t\t)\n\t\t}\n\n\t\t// Icon rotation animation\n\t\tif (icon) {\n\t\t\tconst isExpanding = toState === 'expanded'\n\t\t\tconst isCollapsing = fromState === 'expanded' && toState === 'minimized'\n\n\t\t\tif (isExpanding || isCollapsing) {\n\t\t\t\ticon.animate(\n\t\t\t\t\t[\n\t\t\t\t\t\t{ transform: isExpanding ? 'rotate(0deg)' : 'rotate(180deg)' },\n\t\t\t\t\t\t{ transform: isExpanding ? 'rotate(180deg)' : 'rotate(0deg)' },\n\t\t\t\t\t],\n\t\t\t\t\t{\n\t\t\t\t\t\tduration: 250,\n\t\t\t\t\t\teasing: config.easing.emphasized,\n\t\t\t\t\t\tfill: 'forwards',\n\t\t\t\t\t},\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\n\t\treturn animations\n\t}\n\n\t// Get styles for a specific state\n\tprivate getStyleForState(state: BoatState): Keyframe {\n\t\tconst { shadows } = this.ANIMATION_CONFIG\n\t\tconst baseStyles = {\n\t\t\tmaxWidth: '300px',\n\t\t\tmaxHeight: 'auto',\n\t\t\tborderRadius: '16px',\n\t\t}\n\n\t\tconst stateStyles: Record<BoatState, Keyframe> = {\n\t\t\thidden: {\n\t\t\t\t...baseStyles,\n\t\t\t\topacity: '0',\n\t\t\t\tpointerEvents: 'none',\n\t\t\t\tboxShadow: 'none',\n\t\t\t\tbackdropFilter: 'none',\n\t\t\t},\n\t\t\tminimized: {\n\t\t\t\t...baseStyles,\n\t\t\t\topacity: '1',\n\t\t\t\tpointerEvents: 'auto',\n\t\t\t\tboxShadow: this.isLowered ? shadows.fabLowered : shadows.fab,\n\t\t\t\tbackdropFilter: 'none',\n\t\t\t},\n\t\t\texpanded: {\n\t\t\t\topacity: '1',\n\t\t\t\tpointerEvents: 'auto',\n\t\t\t\twidth: this.getResponsiveWidth(),\n\t\t\t\tmaxWidth: '100%',\n\t\t\t\tmaxHeight: '80vh',\n\t\t\t\tboxShadow: shadows.expanded,\n\t\t\t\tborderRadius: '8px 8px 0 0',\n\t\t\t\tbackdropFilter: 'blur(12px)',\n\t\t\t},\n\t\t}\n\n\t\treturn stateStyles[state] as Keyframe\n\t}\n\n\t// Calculate responsive width based on viewport\n\tprivate getResponsiveWidth(): string {\n\t\tif (typeof window === 'undefined') return '40vw'\n\n\t\tconst vw = window.innerWidth\n\t\tif (vw < 768) return 'calc(100vw - 32px)'\n\t\tif (vw < 1024) return '70vw'\n\t\tif (vw < 1280) return '60vw'\n\t\treturn '40vw'\n\t}\n\n\t// Update expanded width on window resize\n\tprivate updateExpandedWidth() {\n\t\tconst container = this.containerRef.value\n\t\tif (container && this.currentState === 'expanded') {\n\t\t\tcontainer.style.width = this.getResponsiveWidth()\n\t\t}\n\t}\n\n\tfirstUpdated() {\n\t\tthis.initializePosition()\n\t\tthis.applyInitialStyles()\n\t\tthis.updateContainerPosition()\n\t\tthis.setupDragPipeline()\n\n\t\t// Check for deprecated header slot usage\n\t\tconst hasHeaderSlot = this.querySelector('[slot=\"header\"]')\n\t\tif (hasHeaderSlot && !this.icon && !this.label) {\n\t\t\tconsole.warn(\n\t\t\t\t'[schmancy-boat] Using slot=\"header\" is deprecated. ' +\n\t\t\t\t\t'Please use the icon, label, and badge properties instead. ' +\n\t\t\t\t\t'Example: <schmancy-boat icon=\"info\" label=\"Title\" badge=\"5\">',\n\t\t\t)\n\t\t}\n\t}\n\n\t// Apply initial styles to elements\n\tprivate applyInitialStyles() {\n\t\tconst container = this.containerRef.value\n\t\tconst content = this.contentRef.value\n\t\tconst icon = this.iconRef.value\n\n\t\tif (container) {\n\t\t\tconst initialStyle = this.getStyleForState(this.currentState)\n\t\t\tObject.assign(container.style, initialStyle)\n\n\t\t\t// Safari compatibility for backdrop filter\n\t\t\tif ('webkitBackdropFilter' in container.style) {\n\t\t\t\t;(container.style as any).webkitBackdropFilter = initialStyle.backdropFilter\n\t\t\t}\n\t\t}\n\n\t\t// Set initial content opacity\n\t\tif (content) {\n\t\t\tcontent.style.opacity = this.isContentVisible ? '1' : '0'\n\t\t}\n\n\t\t// Set initial icon rotation\n\t\tif (icon && this.currentState === 'expanded') {\n\t\t\ticon.style.transform = 'rotate(180deg)'\n\t\t}\n\t}\n\n\t// Public method to toggle between minimized and expanded\n\ttoggleState() {\n\t\tconst newState = this.currentState === 'minimized' ? 'expanded' : 'minimized'\n\t\tthis.animateToState(newState)\n\t}\n\n\t// Public method to close (hide) the boat\n\tclose() {\n\t\tthis.animateToState('hidden')\n\t}\n\n\tprivate closeAndAddToNav() {\n\t\trace(\n\t\t\tthis.discover<any>('schmancy-navigation-rail'),\n\t\t\tthis.discover<any>('schmancy-navigation-bar'),\n\t\t\tthis.discover<any>('schmancy-nav-drawer'),\n\t\t\tthis.discover<any>('app-navigation-rail'),\n\t\t\tthis.discover<any>('app-navigation-bar'),\n\t\t\tthis.discover<any>('app-nav-drawer'),\n\t\t)\n\t\t\t.pipe(\n\t\t\t\ttake(1),\n\t\t\t\ttap(navComponent => {\n\t\t\t\t\tif (navComponent && typeof navComponent.addBoatItem === 'function') {\n\t\t\t\t\t\t// Use properties first, fall back to slot parsing\n\t\t\t\t\t\tconst icon =\n\t\t\t\t\t\t\tthis.icon ||\n\t\t\t\t\t\t\t(() => {\n\t\t\t\t\t\t\t\tconst headerSlot = this.querySelector('[slot=\"header\"]')\n\t\t\t\t\t\t\t\tconst iconElement = headerSlot?.querySelector('schmancy-icon')\n\t\t\t\t\t\t\t\treturn iconElement?.textContent?.trim() || 'widgets'\n\t\t\t\t\t\t\t})()\n\n\t\t\t\t\t\tconst label =\n\t\t\t\t\t\t\tthis.label ||\n\t\t\t\t\t\t\t(() => {\n\t\t\t\t\t\t\t\tconst headerSlot = this.querySelector('[slot=\"header\"]')\n\t\t\t\t\t\t\t\tlet title = headerSlot?.textContent?.trim() || 'Boat'\n\t\t\t\t\t\t\t\tif (icon && title.includes(icon)) {\n\t\t\t\t\t\t\t\t\ttitle = title.replace(icon, '').trim()\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn title || this.id\n\t\t\t\t\t\t\t})()\n\n\t\t\t\t\t\t// Add the boat to navigation\n\t\t\t\t\t\tconst navItem = navComponent.addBoatItem({\n\t\t\t\t\t\t\tid: `boat-${this.id}`,\n\t\t\t\t\t\t\ttitle: label,\n\t\t\t\t\t\t\ticon: icon,\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tif (navItem) {\n\t\t\t\t\t\t\t// Simple fade out then hide\n\t\t\t\t\t\t\tconst container = this.containerRef.value\n\t\t\t\t\t\t\tif (container) {\n\t\t\t\t\t\t\t\tcontainer\n\t\t\t\t\t\t\t\t\t.animate([{ opacity: 1 }, { opacity: 0 }], { duration: 150, easing: 'ease-out', fill: 'forwards' })\n\t\t\t\t\t\t\t\t\t.finished.then(() => {\n\t\t\t\t\t\t\t\t\t\tthis.currentState = 'hidden'\n\t\t\t\t\t\t\t\t\t\tthis.isContentVisible = false\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.currentState = 'hidden'\n\t\t\t\t\t\t\t\tthis.isContentVisible = false\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Set up click listener to reopen - using RxJS pattern\n\t\t\t\t\t\t\tfromEvent(navItem, 'click')\n\t\t\t\t\t\t\t\t.pipe(\n\t\t\t\t\t\t\t\t\ttap(() => (this.state = 'expanded')),\n\t\t\t\t\t\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.subscribe()\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// No nav component found, just hide\n\t\t\t\t\t\tthis.close()\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\tprivate calculateDragPosition(\n\t\tclientX: number,\n\t\tclientY: number,\n\t\toffsetX: number,\n\t\toffsetY: number,\n\t\tinitialRect: DOMRect,\n\t): Position {\n\t\tconst targetLeft = clientX - offsetX\n\t\tconst targetTop = clientY - offsetY\n\t\tconst vw = window.innerWidth\n\t\tconst vh = window.innerHeight\n\t\tconst clampedLeft = Math.max(0, Math.min(targetLeft, vw - initialRect.width))\n\t\tconst clampedTop = Math.max(0, Math.min(targetTop, vh - initialRect.height))\n\n\t\tconst newX = this.anchor.includes('right') ? vw - (clampedLeft + initialRect.width) : clampedLeft\n\n\t\tconst newY = this.anchor.includes('bottom') ? vh - (clampedTop + initialRect.height) : clampedTop\n\n\t\treturn { x: Math.max(0, newX), y: Math.max(0, newY) }\n\t}\n\n\tprivate savePosition() {\n\t\tif (typeof window === 'undefined') return\n\n\t\tconst toSave: SavedPosition = {\n\t\t\tx: this.position.x,\n\t\t\ty: this.position.y,\n\t\t\tanchor: this.anchor,\n\t\t}\n\t\tconst key = `schmancy-boat-${this.id}`\n\t\tlocalStorage.setItem(key, JSON.stringify(toSave))\n\t\tconsole.log('💾 Saved position:', key, toSave)\n\t}\n\n\tprivate setupDragPipeline() {\n\t\tif (typeof window === 'undefined') return\n\n\t\tconst header = this.headerRef.value\n\t\tconst container = this.containerRef.value\n\t\tif (!header || !container) return\n\n\t\tlet hasDragged = false\n\t\tconst DRAG_THRESHOLD = 5\n\n\t\t// Merge mouse and touch start events\n\t\tmerge(\n\t\t\tfromEvent<MouseEvent>(header, 'mousedown').pipe(\n\t\t\t\tfilter(e => e.button === 0),\n\t\t\t\ttap(e => {\n\t\t\t\t\te.preventDefault()\n\t\t\t\t\te.stopPropagation()\n\t\t\t\t}),\n\t\t\t\tmap(e => ({\n\t\t\t\t\tclientX: e.clientX,\n\t\t\t\t\tclientY: e.clientY,\n\t\t\t\t\ttype: 'mouse' as const,\n\t\t\t\t})),\n\t\t\t),\n\t\t\tfromEvent<TouchEvent>(header, 'touchstart').pipe(\n\t\t\t\tmap(e => ({\n\t\t\t\t\tclientX: e.touches[0].clientX,\n\t\t\t\t\tclientY: e.touches[0].clientY,\n\t\t\t\t\ttype: 'touch' as const,\n\t\t\t\t})),\n\t\t\t),\n\t\t)\n\t\t\t.pipe(\n\t\t\t\tmap(({ clientX, clientY, type }) => {\n\t\t\t\t\tconst rect = container.getBoundingClientRect()\n\t\t\t\t\thasDragged = false\n\t\t\t\t\treturn {\n\t\t\t\t\t\tstartX: clientX,\n\t\t\t\t\t\tstartY: clientY,\n\t\t\t\t\t\toffsetX: clientX - rect.left,\n\t\t\t\t\t\toffsetY: clientY - rect.top,\n\t\t\t\t\t\tinitialRect: rect,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.pipe(\n\t\t\t\tswitchMap(({ startX, startY, offsetX, offsetY, initialRect, type }) => {\n\t\t\t\t\tconst move$ =\n\t\t\t\t\t\ttype === 'mouse'\n\t\t\t\t\t\t\t? fromEvent<MouseEvent>(window, 'mousemove').pipe(map(e => ({ clientX: e.clientX, clientY: e.clientY })))\n\t\t\t\t\t\t\t: fromEvent<TouchEvent>(window, 'touchmove').pipe(\n\t\t\t\t\t\t\t\t\tmap(e => ({ clientX: e.touches[0].clientX, clientY: e.touches[0].clientY })),\n\t\t\t\t\t\t\t\t)\n\n\t\t\t\t\tconst end$ = type === 'mouse' ? fromEvent(window, 'mouseup') : fromEvent(window, 'touchend')\n\n\t\t\t\t\treturn move$.pipe(\n\t\t\t\t\t\tmap(({ clientX, clientY }) => {\n\t\t\t\t\t\t\tconst deltaX = clientX - startX\n\t\t\t\t\t\t\tconst deltaY = clientY - startY\n\t\t\t\t\t\t\tconst distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY)\n\n\t\t\t\t\t\t\tif (distance > DRAG_THRESHOLD && !hasDragged) {\n\t\t\t\t\t\t\t\thasDragged = true\n\t\t\t\t\t\t\t\tthis.isDragging = true\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!hasDragged) return null\n\n\t\t\t\t\t\t\treturn this.calculateDragPosition(clientX, clientY, offsetX, offsetY, initialRect)\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tfilter(position => position !== null),\n\t\t\t\t\t\ttap(position => {\n\t\t\t\t\t\t\tif (position) {\n\t\t\t\t\t\t\t\tthis.position = position\n\t\t\t\t\t\t\t\tthis.updateContainerPosition()\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t\ttakeUntil(end$),\n\t\t\t\t\t)\n\t\t\t\t}),\n\t\t\t\tfinalize(() => {\n\t\t\t\t\tif (hasDragged) {\n\t\t\t\t\t\tthis.updateAnchor()\n\t\t\t\t\t\tthis.savePosition()\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.toggleState()\n\t\t\t\t\t}\n\t\t\t\t\tthis.isDragging = false\n\t\t\t\t\thasDragged = false\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t// Update container position based on anchor and position values\n\tprivate updateContainerPosition() {\n\t\tconst container = this.containerRef.value\n\t\tif (!container) return\n\n\t\t// Reset all position styles\n\t\tcontainer.style.removeProperty('left')\n\t\tcontainer.style.removeProperty('right')\n\t\tcontainer.style.removeProperty('top')\n\t\tcontainer.style.removeProperty('bottom')\n\n\t\t// Apply new position based on anchor\n\t\tif (this.anchor.includes('right')) {\n\t\t\tcontainer.style.right = `${this.position.x}px`\n\t\t} else {\n\t\t\tcontainer.style.left = `${this.position.x}px`\n\t\t}\n\n\t\tif (this.anchor.includes('bottom')) {\n\t\t\tcontainer.style.bottom = `${this.position.y}px`\n\t\t} else {\n\t\t\tcontainer.style.top = `${this.position.y}px`\n\t\t}\n\t}\n\n\t// Update anchor based on current position\n\tprivate updateAnchor() {\n\t\tif (typeof window === 'undefined') return\n\n\t\tconst container = this.containerRef.value\n\t\tif (!container) return\n\n\t\tconst rect = container.getBoundingClientRect()\n\t\tconst vw = window.innerWidth\n\t\tconst vh = window.innerHeight\n\n\t\tconst isRight = rect.left > vw / 2\n\t\tconst isBottom = rect.top > vh / 2\n\n\t\tconst newAnchor = `${isBottom ? 'bottom' : 'top'}-${isRight ? 'right' : 'left'}` as typeof this.anchor\n\n\t\tif (newAnchor !== this.anchor) {\n\t\t\t// Calculate new position values for the new anchor\n\t\t\tif (isRight) {\n\t\t\t\tthis.position.x = vw - rect.right\n\t\t\t} else {\n\t\t\t\tthis.position.x = rect.left\n\t\t\t}\n\n\t\t\tif (isBottom) {\n\t\t\t\tthis.position.y = vh - rect.bottom\n\t\t\t} else {\n\t\t\t\tthis.position.y = rect.top\n\t\t\t}\n\n\t\t\tthis.anchor = newAnchor\n\t\t}\n\t}\n\n\t// Cleanup on component disconnect\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.currentAnimation?.cancel()\n\t}\n\n\tprotected render(): unknown {\n\t\tconst surfaceElevation = this.currentState === 'minimized' ? (this.isLowered ? '1' : '3') : '4'\n\t\tconst isMinimized = this.currentState === 'minimized'\n\n\t\t// Set transform origin based on anchor for proper expansion\n\t\tconst transformOrigin = this.anchor.includes('bottom')\n\t\t\t? this.anchor.includes('right')\n\t\t\t\t? 'bottom right'\n\t\t\t\t: 'bottom left'\n\t\t\t: this.anchor.includes('right')\n\t\t\t\t? 'top right'\n\t\t\t\t: 'top left'\n\n\t\tconst containerClasses = {\n\t\t\t'z-50': true,\n\t\t\tfixed: true,\n\t\t\t'overflow-y-auto': true,\n\t\t\tflex: true,\n\t\t\t'flex-col': true,\n\t\t\t'select-none': true,\n\t\t\t'will-change-transform': true,\n\t\t\t'[contain:layout_style]': true,\n\t\t\t'[transform:translate3d(0,0,0)]': true,\n\t\t\t'[backface-visibility:hidden]': true,\n\t\t\t'transition-shadow': true,\n\t\t\t'opacity-95': this.isDragging,\n\t\t\t'shadow-[0_24px_48px_-8px_rgba(0,0,0,0.2),0_12px_24px_-4px_rgba(0,0,0,0.12)]': this.isDragging,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=${this.classMap(containerClasses)}\n\t\t\t\tstyle=\"transform-origin: ${transformOrigin}\"\n\t\t\t\t${ref(this.containerRef)}\n\t\t\t>\n\t\t\t\t<!-- Header section -->\n\t\t\t\t<section class=\"sticky top-0\">\n\t\t\t\t\t<schmancy-surface\n\t\t\t\t\t\televation=\"${surfaceElevation}\"\n\t\t\t\t\t\trounded=\"${isMinimized ? 'none' : 'top'}\"\n\t\t\t\t\t\ttype=\"containerLowest\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass=\"group sticky top-0 px-3 py-2 flex items-center justify-between gap-3 ${this.isDragging\n\t\t\t\t\t\t\t\t? 'cursor-grabbing'\n\t\t\t\t\t\t\t\t: 'cursor-move'}\"\n\t\t\t\t\t\t\t${ref(this.headerRef)}\n\t\t\t\t\t\t\ttitle=\"Drag to move, double-click to toggle\"\n\t\t\t\t\t\t\t@dblclick=${(e: Event) => {\n\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\tthis.toggleState()\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<!-- Drag handle indicator -->\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass=\"flex items-center text-surface-onVariant opacity-40 transition-opacity duration-200 group-hover:opacity-100\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<schmancy-icon style=\"font-size: 20px\">drag_indicator</schmancy-icon>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<!-- Header content - use properties if provided, else fallback to slot -->\n\t\t\t\t\t\t\t<div class=\"flex-1 min-w-fit items-center flex justify-start\">\n\t\t\t\t\t\t\t\t${this.icon || this.label\n\t\t\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t\t\t<div \n\t\t\t\t\t\t\t\t\t\t\tclass=\"flex gap-2 items-center\">\n\t\t\t\t\t\t\t\t\t\t\t\t${this.icon ? html`<schmancy-icon>${this.icon}</schmancy-icon>` : ''}\n\t\t\t\t\t\t\t\t\t\t\t\t${this.label\n\t\t\t\t\t\t\t\t\t\t\t\t\t? html`<schmancy-typography type=\"title\" token=\"md\">${this.label}</schmancy-typography>`\n\t\t\t\t\t\t\t\t\t\t\t\t\t: ''}\n\t\t\t\t\t\t\t\t\t\t\t\t${this.badge !== undefined && this.badge !== null && this.badge !== ''\n\t\t\t\t\t\t\t\t\t\t\t\t\t? html`<schmancy-badge>${this.badge}</schmancy-badge>`\n\t\t\t\t\t\t\t\t\t\t\t\t\t: ''}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t\t\t: html`<slot name=\"header\"></slot>`}\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<!-- Control buttons -->\n\t\t\t\t\t\t\t<div class=\"flex items-center gap-1 flex-shrink-0\">\n\t\t\t\t\t\t\t\t${isMinimized\n\t\t\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t\t\t<!-- Expand button (when minimized) -->\n\t\t\t\t\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state = 'expanded'\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"Expand\"\n\t\t\t\t\t\t\t\t\t\t\t\t${ref(this.iconRef)}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\tfullscreen\n\t\t\t\t\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t\t\t: html`\n\t\t\t\t\t\t\t\t\t\t\t<!-- Minimize button (when expanded) -->\n\t\t\t\t\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"filled tonal\"\n\t\t\t\t\t\t\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state = 'minimized'\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"Minimize\"\n\t\t\t\t\t\t\t\t\t\t\t\t${ref(this.iconRef)}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\tclose_fullscreen\n\t\t\t\t\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t\t\t\t`}\n\n\t\t\t\t\t\t\t\t<!-- Close button -->\n\t\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\tthis.closeAndAddToNav()\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\ttitle=\"Close and add to navigation\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tremove\n\t\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</schmancy-surface>\n\t\t\t\t</section>\n\n\t\t\t\t<!-- Content section -->\n\t\t\t\t<schmancy-surface .hidden=${!this.isContentVisible} type=\"containerLow\" class=\"flex-1\" ${ref(this.contentRef)}>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</schmancy-surface>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-boat': SchmancyBoat\n\t}\n}\n"],"names":["SchmancyBoat","$LitElement","css","super","arguments","this","id","containerRef","createRef","contentRef","iconRef","headerRef","ANIMATION_CONFIG","durations","expand","minimize","hide","content","easing","emphasized","decelerate","accelerate","standard","shadows","fab","fabLowered","expanded","currentState","isContentVisible","isAnimating","isLowered","isDragging","position","x","y","anchor","state","value","animateToState","lowered","requestUpdate","connectedCallback","window","fromEvent","pipe","takeUntil","disconnecting","subscribe","updateExpandedWidth","filter","e","key","tap","preventDefault","toggleState","close","initializePosition","saved","localStorage","getItem","parsed","JSON","parse","targetState","previousState","performTransition","dispatchEvent","CustomEvent","detail","bubbles","composed","err","fromState","toState","currentAnimation","cancel","animations","createAnimations","container","finished","icon","config","fromStyles","getStyleForState","toStyles","animate","duration","fill","opacity","transform","isExpanding","baseStyles","maxWidth","maxHeight","borderRadius","hidden","pointerEvents","boxShadow","backdropFilter","minimized","width","getResponsiveWidth","vw","innerWidth","style","firstUpdated","applyInitialStyles","updateContainerPosition","setupDragPipeline","querySelector","label","initialStyle","Object","assign","webkitBackdropFilter","newState","closeAndAddToNav","race","discover","take","navComponent","addBoatItem","textContent","trim","title","includes","replace","navItem","then","clientX","clientY","offsetX","offsetY","initialRect","targetLeft","targetTop","vh","innerHeight","clampedLeft","Math","max","min","clampedTop","height","newX","newY","savePosition","toSave","setItem","stringify","header","hasDragged","merge","button","stopPropagation","map","type","touches","rect","getBoundingClientRect","startX","startY","left","top","switchMap","move$","end$","deltaX","deltaY","sqrt","calculateDragPosition","finalize","updateAnchor","removeProperty","right","bottom","isRight","isBottom","newAnchor","disconnectedCallback","render","surfaceElevation","isMinimized","transformOrigin","containerClasses","fixed","flex","html","classMap","ref","badge","__decorateClass","property","String","reflect","prototype","Boolean","customElement"],"mappings":"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"}
|
package/dist/boat.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./boat-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./boat-DpHPXHCG.cjs");Object.defineProperty(exports,"SchmancyBoat",{enumerable:!0,get:()=>e.SchmancyBoat});
|
|
2
2
|
//# sourceMappingURL=boat.cjs.map
|
package/dist/boat.js
CHANGED
package/dist/content-drawer.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./avatar-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./avatar-TAxgKH6w.cjs");Object.defineProperty(exports,"SchmancyContentDrawer",{enumerable:!0,get:()=>e.SchmancyContentDrawer}),exports.SchmancyContentDrawerID=e.SchmancyContentDrawerID,Object.defineProperty(exports,"SchmancyContentDrawerMain",{enumerable:!0,get:()=>e.SchmancyContentDrawerMain}),exports.SchmancyContentDrawerMaxHeight=e.SchmancyContentDrawerMaxHeight,exports.SchmancyContentDrawerMinWidth=e.SchmancyContentDrawerMinWidth,Object.defineProperty(exports,"SchmancyContentDrawerSheet",{enumerable:!0,get:()=>e.SchmancyContentDrawerSheet}),exports.SchmancyContentDrawerSheetMode=e.SchmancyContentDrawerSheetMode,exports.SchmancyContentDrawerSheetState=e.SchmancyContentDrawerSheetState,exports.schmancyContentDrawer=e.schmancyContentDrawer;
|
|
2
2
|
//# sourceMappingURL=content-drawer.cjs.map
|
package/dist/content-drawer.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { g as n, d as t, h as r, e as c, f as h, i as o, b as S, c as s, s as m } from "./avatar-
|
|
1
|
+
import { g as n, d as t, h as r, e as c, f as h, i as o, b as S, c as s, s as m } from "./avatar-C70RL5gA.js";
|
|
2
2
|
export {
|
|
3
3
|
n as SchmancyContentDrawer,
|
|
4
4
|
t as SchmancyContentDrawerID,
|
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),require("./animated-text-DXIDBlvH.cjs");const n=require("./area.component-CuaH39_t.cjs"),t=require("./utils-C38P63L6.cjs");require("./autocomplete-bixBLHrn.cjs");const r=require("./avatar-CVByJyFL.cjs"),N=require("./boat-DsMcTEaH.cjs");require("./spinner-CcH_nIFs.cjs");const g=require("./icon-button-BcPw-g5w.cjs");require("./media-CvDQHokK.cjs");const A=require("./checkbox-i2C0wggY.cjs"),i=require("./suggestion-chip-HKN89tGp.cjs"),x=require("./input-chip-DCFE2das.cjs"),h=require("./code-preview-BwGY-eTR.cjs"),E=require("./payment-card-form-EiPNKSMh.cjs"),d=require("./date-range-CafP0b3r.cjs"),B=require("./date-range-inline-Ckp4BGWf.cjs"),s=require("./delay-D-0KDfbr.cjs"),F=require("./details-BMxdZzyB.cjs"),u=require("./dialog-content-CeCvuhEq.cjs"),f=require("./dialog-service-Bdaxn2t0.cjs"),b=require("./ripple-DqQrvaTe.cjs"),H=require("lit/directives/guard.js"),C=require("./discovery.service-BpGCuXPd.cjs");require("./divider-PC1JIGto.cjs");const P=require("./dropdown-content-YtQD_Ck-.cjs"),O=require("./timezone-DqF1M2SX.cjs");require("./form-ziHjSN7z.cjs"),require("./icon-xz9CZ_mu.cjs");const j=require("./input-BmfUDPMe.cjs"),m=require("./flex-CymZJKG2.cjs"),p=require("./list-DjsP1jdt.cjs"),o=require("./email-recipients-DcAklWpr.cjs"),L=require("./map-CeF1uvkL.cjs");require("./menu-w7kvbTtD.cjs");const D=require("./navigation-rail-B9TwnugR.cjs"),y=require("./notification-service-D82nyl-G.cjs"),q=require("./notify-Dye22W7R.cjs");require("./option-CxCwCg-Q.cjs"),require("./progress-B0RlHca-.cjs");const T=require("./radio-button-Ca8dstJu.cjs"),V=require("./rxjs-utils.cjs");require("rxjs"),require("./index-CCi1otmh.cjs");const Y=require("./select-HU7uyxZf.cjs");require("./sheet-Dl9rh6eh.cjs");const S=require("./sheet.service-BxvWBGsJ.cjs"),w=require("./slider-DJYIoiKc.cjs"),l=require("./schmancy-steps-container-D-FJPDYf.cjs"),a=require("./context-create-CA907mdD.cjs"),e=require("./selector-hook-BWMY8npH.cjs"),I=require("./surface-bwIB0iXd.cjs"),R=require("./table-TN1ejwp9.cjs");require("./tabs-compatibility-8J1-XOVC.cjs"),require("./textarea-C7UG4uqi.cjs");const z=require("./theme.interface-BMeNadVb.cjs"),c=require("./theme.controls-g1RRbUfh.cjs"),M=require("./theme.events-Car6U_SQ.cjs");require("./theme-button-D2mrc8sK.cjs");const v=require("./tooltip-CBSejhMv.cjs"),k=require("./tree-D-qdyKrr.cjs"),G=require("./types.cjs"),W=require("./typewriter-eHMm0feA.cjs"),$=require("./typography-C-BgyYZO.cjs"),K=require("./intersection-CVvaDv96.cjs"),_=require("./number-B7aCRYnH.cjs"),Q=require("./search-DWW8IoOp.cjs");exports.FINDING_MORTIES=n.FINDING_MORTIES,exports.HERE_RICKY=n.HERE_RICKY,exports.HISTORY_STRATEGY=n.HISTORY_STRATEGY,Object.defineProperty(exports,"SchmancyArea",{enumerable:!0,get:()=>n.SchmancyArea}),Object.defineProperty(exports,"SchmancyRoute",{enumerable:!0,get:()=>n.SchmancyRoute}),exports.area=n.area,exports.routerHistory=n.routerHistory,exports.buildQueryString=t.buildQueryString,exports.compareActiveRoutes=t.compareActiveRoutes,exports.compareCustomElementConstructors=t.compareCustomElementConstructors,exports.compareRouteActions=t.compareRouteActions,exports.createRouteCacheKey=t.createRouteCacheKey,exports.debounce=t.debounce,exports.decodeData=t.decodeData,exports.decodeRouteState=t.decodeRouteState,exports.deepMerge=t.deepMerge,exports.encodeData=t.encodeData,exports.encodeRouteState=t.encodeRouteState,exports.extractQueryParams=t.extractQueryParams,exports.getTagName=t.getTagName,exports.isObject=t.isObject,exports.lazy=t.lazy,exports.normalizeTagName=t.normalizeTagName,exports.sanitizeRouteState=t.sanitizeRouteState,exports.$drawer=r.$drawer,exports.HereMorty=r.HereMorty,Object.defineProperty(exports,"ScBadgeV2",{enumerable:!0,get:()=>r.ScBadgeV2}),Object.defineProperty(exports,"SchmancyAvatar",{enumerable:!0,get:()=>r.SchmancyAvatar}),Object.defineProperty(exports,"SchmancyBadgeV2",{enumerable:!0,get:()=>r.SchmancyBadgeV2}),Object.defineProperty(exports,"SchmancyContentDrawer",{enumerable:!0,get:()=>r.SchmancyContentDrawer}),exports.SchmancyContentDrawerID=r.SchmancyContentDrawerID,Object.defineProperty(exports,"SchmancyContentDrawerMain",{enumerable:!0,get:()=>r.SchmancyContentDrawerMain}),exports.SchmancyContentDrawerMaxHeight=r.SchmancyContentDrawerMaxHeight,exports.SchmancyContentDrawerMinWidth=r.SchmancyContentDrawerMinWidth,Object.defineProperty(exports,"SchmancyContentDrawerSheet",{enumerable:!0,get:()=>r.SchmancyContentDrawerSheet}),exports.SchmancyContentDrawerSheetMode=r.SchmancyContentDrawerSheetMode,exports.SchmancyContentDrawerSheetState=r.SchmancyContentDrawerSheetState,Object.defineProperty(exports,"SchmancyDrawerAppbar",{enumerable:!0,get:()=>r.SchmancyDrawerAppbar}),exports.SchmancyDrawerNavbarMode=r.SchmancyDrawerNavbarMode,exports.SchmancyDrawerNavbarState=r.SchmancyDrawerNavbarState,Object.defineProperty(exports,"SchmancyNavigationBar",{enumerable:!0,get:()=>r.SchmancyNavigationBar}),Object.defineProperty(exports,"SchmancyNavigationBarItem",{enumerable:!0,get:()=>r.SchmancyNavigationBarItem}),Object.defineProperty(exports,"SchmancyNavigationDrawer",{enumerable:!0,get:()=>r.SchmancyNavigationDrawer}),Object.defineProperty(exports,"SchmancyNavigationDrawerContent",{enumerable:!0,get:()=>r.SchmancyNavigationDrawerContent}),Object.defineProperty(exports,"SchmancyNavigationDrawerSidebar",{enumerable:!0,get:()=>r.SchmancyNavigationDrawerSidebar}),Object.defineProperty(exports,"SchmancyTeleportation",{enumerable:!0,get:()=>r.SchmancyTeleportation}),exports.WhereAreYouRicky=r.WhereAreYouRicky,exports.schmancyContentDrawer=r.schmancyContentDrawer,exports.schmancyNavDrawer=r.schmancyNavDrawer,exports.teleport=r.teleport,Object.defineProperty(exports,"SchmancyBoat",{enumerable:!0,get:()=>N.SchmancyBoat}),Object.defineProperty(exports,"SchmancyButton",{enumerable:!0,get:()=>g.SchmancyButton}),Object.defineProperty(exports,"SchmnacyIconButton",{enumerable:!0,get:()=>g.SchmnacyIconButton}),Object.defineProperty(exports,"SchmancyCheckbox",{enumerable:!0,get:()=>A.SchmancyCheckboxElement}),Object.defineProperty(exports,"SchmancyAssistChip",{enumerable:!0,get:()=>i.SchmancyAssistChip}),exports.SchmancyChip=i.SchmancyFilterChip,exports.SchmancyFilterChip=i.SchmancyFilterChip,Object.defineProperty(exports,"SchmancySuggestionChip",{enumerable:!0,get:()=>i.SchmancySuggestionChip}),Object.defineProperty(exports,"SchmancyInputChip",{enumerable:!0,get:()=>x.SchmancyInputChip}),Object.defineProperty(exports,"SchmancyCode",{enumerable:!0,get:()=>h.SchmancyCode}),Object.defineProperty(exports,"SchmancyCodeHighlight",{enumerable:!0,get:()=>h.SchmancyCode}),Object.defineProperty(exports,"SchmancyCodePreview",{enumerable:!0,get:()=>h.SchmancyCodePreview}),Object.defineProperty(exports,"SchmancyPaymentCardForm",{enumerable:!0,get:()=>E.SchmancyPaymentCardForm}),Object.defineProperty(exports,"SchmancyDateRange",{enumerable:!0,get:()=>d.SchmancyDateRange}),exports.validateInitialDateRange=d.validateInitialDateRange,Object.defineProperty(exports,"SchmancyDateRangeInline",{enumerable:!0,get:()=>B.SchmancyDateRangeInline}),Object.defineProperty(exports,"SchmancyDelay",{enumerable:!0,get:()=>s.SchmancyDelay}),exports.delayContext=s.delayContext,Object.defineProperty(exports,"SchmancyDetails",{enumerable:!0,get:()=>F.SchmancyDetails}),Object.defineProperty(exports,"ConfirmDialog",{enumerable:!0,get:()=>u.ConfirmDialog}),Object.defineProperty(exports,"SchmancyDialog",{enumerable:!0,get:()=>u.SchmancyDialog}),Object.defineProperty(exports,"SchmancyDialogContent",{enumerable:!0,get:()=>u.SchmancyDialogContent}),exports.$dialog=f.$dialog,exports.DialogService=f.DialogService,exports.color=b.color,exports.fullHeight=b.fullHeight,exports.ripple=b.ripple,Object.defineProperty(exports,"guard",{enumerable:!0,get:()=>H.guard}),exports.discoverAnyComponent=C.discoverAnyComponent,exports.discoverComponent=C.discoverComponent,Object.defineProperty(exports,"SchmancyDropdown",{enumerable:!0,get:()=>P.SchmancyDropdown}),Object.defineProperty(exports,"SchmancyDropdownContent",{enumerable:!0,get:()=>P.SchmancyDropdownContent}),Object.defineProperty(exports,"SchmancyCountriesSelect",{enumerable:!0,get:()=>O.SchmancyCountriesSelect}),Object.defineProperty(exports,"SchmancyTimezonesSelect",{enumerable:!0,get:()=>O.SchmancyTimezonesSelect}),Object.defineProperty(exports,"SchmancyInput",{enumerable:!0,get:()=>j.SchmancyInput}),Object.defineProperty(exports,"SchmancyInputCompat",{enumerable:!0,get:()=>j.SchmancyInputCompat}),Object.defineProperty(exports,"SchmancyFlex",{enumerable:!0,get:()=>m.SchmancyFlex}),Object.defineProperty(exports,"SchmancyFlexV2",{enumerable:!0,get:()=>m.SchmancyFlexV2}),Object.defineProperty(exports,"SchmancyGrid",{enumerable:!0,get:()=>m.SchmancyGrid}),Object.defineProperty(exports,"SchmancyScroll",{enumerable:!0,get:()=>m.SchmancyScroll}),Object.defineProperty(exports,"List",{enumerable:!0,get:()=>p.List}),Object.defineProperty(exports,"SchmancyListItem",{enumerable:!0,get:()=>p.SchmancyListItem}),exports.SchmancyListTypeContext=p.SchmancyListTypeContext,Object.defineProperty(exports,"SchmancyEmailEditor",{enumerable:!0,get:()=>o.SchmancyEmailEditor}),Object.defineProperty(exports,"SchmancyEmailLayoutSelector",{enumerable:!0,get:()=>o.SchmancyEmailLayoutSelector}),Object.defineProperty(exports,"SchmancyEmailRecipients",{enumerable:!0,get:()=>o.SchmancyEmailRecipients}),Object.defineProperty(exports,"SchmancyEmailViewer",{enumerable:!0,get:()=>o.SchmancyEmailViewer}),Object.defineProperty(exports,"SchmancyMailbox",{enumerable:!0,get:()=>o.SchmancyMailbox}),Object.defineProperty(exports,"SchmancyMap",{enumerable:!0,get:()=>L.SchmancyMap}),Object.defineProperty(exports,"SchmancyNavigationRail",{enumerable:!0,get:()=>D.SchmancyNavigationRail}),Object.defineProperty(exports,"SchmancyNavigationRailItem",{enumerable:!0,get:()=>D.SchmancyNavigationRailItem}),exports.$notify=y.$notify,exports.NotificationAudioService=y.NotificationAudioService,Object.defineProperty(exports,"SchmancyNotification",{enumerable:!0,get:()=>y.SchmancyNotification}),Object.defineProperty(exports,"SchmancyNotificationContainer",{enumerable:!0,get:()=>y.SchmancyNotificationContainer}),exports.notify=q.notify,exports.notifyProgress=q.notifyProgress,Object.defineProperty(exports,"RadioButton",{enumerable:!0,get:()=>T.RadioButton}),Object.defineProperty(exports,"RadioGroup",{enumerable:!0,get:()=>T.RadioGroup}),exports.mutationObserver=V.mutationObserver,Object.defineProperty(exports,"SchmancySelect",{enumerable:!0,get:()=>Y.SchmancySelect}),exports.SchmancySheetPosition=S.SchmancySheetPosition,exports.SheetHereMorty=S.SheetHereMorty,exports.SheetWhereAreYouRicky=S.SheetWhereAreYouRicky,exports.sheet=S.sheet,Object.defineProperty(exports,"SchmancySlide",{enumerable:!0,get:()=>w.SchmancySlide}),Object.defineProperty(exports,"SchmancySlider",{enumerable:!0,get:()=>w.SchmancySlider}),Object.defineProperty(exports,"SchmancyStep",{enumerable:!0,get:()=>l.SchmancyStep}),Object.defineProperty(exports,"SchmancyStepsContainer",{enumerable:!0,get:()=>l.SchmancyStepsContainer}),exports.StepsController=l.StepsController,exports.stepsContext=l.stepsContext,exports.BaseStore=a.BaseStore,exports.IndexedDBStorageManager=a.IndexedDBStorageManager,exports.LocalStorageManager=a.LocalStorageManager,exports.MemoryStorageManager=a.MemoryStorageManager,exports.SchmancyArrayStore=a.SchmancyArrayStore,exports.SchmancyStoreObject=a.SchmancyStoreObject,exports.SessionStorageManager=a.SessionStorageManager,exports.StoreError=a.StoreError,exports.createArrayContext=a.createArrayContext,exports.createContext=a.createContext,exports.createStorageManager=a.createStorageManager,exports.createTestArrayContext=a.createTestArrayContext,exports.compareValues=e.compareValues,exports.createCollectionSelector=e.createCollectionSelector,exports.createCompoundSelector=e.createCompoundSelector,exports.createCountSelector=e.createCountSelector,exports.createEntriesSelector=e.createEntriesSelector,exports.createFilterSelector=e.createFilterSelector,exports.createFindSelector=e.createFindSelector,exports.createItemSelector=e.createItemSelector,exports.createItemsSelector=e.createItemsSelector,exports.createKeysSelector=e.createKeysSelector,exports.createMapSelector=e.createMapSelector,exports.createOptimizedSelector=e.createOptimizedSelector,exports.createSelector=e.createSelector,exports.createSortSelector=e.createSortSelector,exports.filterArray=e.filterArray,exports.filterArrayItems=e.filterArrayItems,exports.filterMap=e.filterMap,exports.filterMapItems=e.filterMapItems,exports.getFieldValue=e.getFieldValue,exports.isArray=e.isArray,exports.isDate=e.isDate,exports.isIterable=e.isIterable,exports.isMap=e.isMap,exports.isNil=e.isNil,exports.isNumber=e.isNumber,exports.isPlainObject=e.isPlainObject,exports.isSet=e.isSet,exports.isString=e.isString,exports.select=e.select,exports.selectItem=e.selectItem,Object.defineProperty(exports,"SchmancySurface",{enumerable:!0,get:()=>I.SchmancySurface}),exports.SchmancySurfaceTypeContext=I.SchmancySurfaceTypeContext,Object.defineProperty(exports,"SchmancyDataTable",{enumerable:!0,get:()=>R.SchmancyDataTable}),Object.defineProperty(exports,"SchmancyTableRow",{enumerable:!0,get:()=>R.SchmancyTableRow}),exports.SchmancyTheme=z.SchmancyTheme,Object.defineProperty(exports,"SchmancyThemeComponent",{enumerable:!0,get:()=>c.SchmancyThemeComponent}),Object.defineProperty(exports,"ThemeControls",{enumerable:!0,get:()=>c.ThemeControls}),exports.createDarkTonalPaletteFromBaseColor=c.createDarkTonalPaletteFromBaseColor,exports.createLightTonalPaletteFromBaseColor=c.createLightTonalPaletteFromBaseColor,exports.formateTheme=c.formateTheme,exports.schmancyTheme=c.schmancyTheme,exports.tailwindStyles=c.tailwindStyles,exports.theme=c.theme,exports.themeContext=c.themeContext,exports.ThemeHereIAm=M.ThemeHereIAm,exports.ThemeWhereAreYou=M.ThemeWhereAreYou,Object.defineProperty(exports,"SchmancyTooltip",{enumerable:!0,get:()=>v.SchmancyTooltip}),exports.tooltip=v.tooltip,Object.defineProperty(exports,"SchmancyTree",{enumerable:!0,get:()=>k.SchmancyTree}),exports.SchmancyEvents=G.SchmancyEvents,Object.defineProperty(exports,"TypewriterElement",{enumerable:!0,get:()=>W.TypewriterElement}),Object.defineProperty(exports,"SchmancyTypography",{enumerable:!0,get:()=>$.SchmancyTypography}),exports.intersection$=K.intersection$,exports.Numbers=_.Numbers,exports.similarity=Q.similarity;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),require("./animated-text-DXIDBlvH.cjs");const n=require("./area.component-CuaH39_t.cjs"),t=require("./utils-C38P63L6.cjs");require("./autocomplete-bixBLHrn.cjs");const r=require("./avatar-TAxgKH6w.cjs"),N=require("./boat-DpHPXHCG.cjs");require("./spinner-CcH_nIFs.cjs");const g=require("./icon-button-BcPw-g5w.cjs");require("./media-CvDQHokK.cjs");const A=require("./checkbox-i2C0wggY.cjs"),i=require("./suggestion-chip-HKN89tGp.cjs"),x=require("./input-chip-DCFE2das.cjs"),h=require("./code-preview-BwGY-eTR.cjs"),E=require("./payment-card-form-EiPNKSMh.cjs"),d=require("./date-range-CafP0b3r.cjs"),B=require("./date-range-inline-Ckp4BGWf.cjs"),s=require("./delay-D-0KDfbr.cjs"),F=require("./details-BMxdZzyB.cjs"),u=require("./dialog-content-CeCvuhEq.cjs"),f=require("./dialog-service-Bdaxn2t0.cjs"),b=require("./ripple-DqQrvaTe.cjs"),H=require("lit/directives/guard.js"),C=require("./discovery.service-BpGCuXPd.cjs");require("./divider-PC1JIGto.cjs");const P=require("./dropdown-content-YtQD_Ck-.cjs"),O=require("./timezone-DqF1M2SX.cjs");require("./form-ziHjSN7z.cjs"),require("./icon-xz9CZ_mu.cjs");const j=require("./input-BmfUDPMe.cjs"),m=require("./flex-CymZJKG2.cjs"),p=require("./list-DjsP1jdt.cjs"),o=require("./email-recipients-DcAklWpr.cjs"),L=require("./map-CeF1uvkL.cjs");require("./menu-w7kvbTtD.cjs");const D=require("./navigation-rail-B9TwnugR.cjs"),y=require("./notification-service-D82nyl-G.cjs"),q=require("./notify-Dye22W7R.cjs");require("./option-CxCwCg-Q.cjs"),require("./progress-B0RlHca-.cjs");const T=require("./radio-button-Ca8dstJu.cjs"),V=require("./rxjs-utils.cjs");require("rxjs"),require("./index-CCi1otmh.cjs");const Y=require("./select-HU7uyxZf.cjs");require("./sheet-Dl9rh6eh.cjs");const S=require("./sheet.service-BxvWBGsJ.cjs"),w=require("./slider-DJYIoiKc.cjs"),l=require("./schmancy-steps-container-D-FJPDYf.cjs"),a=require("./context-create-CA907mdD.cjs"),e=require("./selector-hook-BWMY8npH.cjs"),I=require("./surface-bwIB0iXd.cjs"),R=require("./table-TN1ejwp9.cjs");require("./tabs-compatibility-8J1-XOVC.cjs"),require("./textarea-C7UG4uqi.cjs");const z=require("./theme.interface-BMeNadVb.cjs"),c=require("./theme.controls-g1RRbUfh.cjs"),M=require("./theme.events-Car6U_SQ.cjs");require("./theme-button-D2mrc8sK.cjs");const v=require("./tooltip-CBSejhMv.cjs"),k=require("./tree-D-qdyKrr.cjs"),G=require("./types.cjs"),W=require("./typewriter-eHMm0feA.cjs"),$=require("./typography-C-BgyYZO.cjs"),K=require("./intersection-CVvaDv96.cjs"),_=require("./number-B7aCRYnH.cjs"),Q=require("./search-DWW8IoOp.cjs");exports.FINDING_MORTIES=n.FINDING_MORTIES,exports.HERE_RICKY=n.HERE_RICKY,exports.HISTORY_STRATEGY=n.HISTORY_STRATEGY,Object.defineProperty(exports,"SchmancyArea",{enumerable:!0,get:()=>n.SchmancyArea}),Object.defineProperty(exports,"SchmancyRoute",{enumerable:!0,get:()=>n.SchmancyRoute}),exports.area=n.area,exports.routerHistory=n.routerHistory,exports.buildQueryString=t.buildQueryString,exports.compareActiveRoutes=t.compareActiveRoutes,exports.compareCustomElementConstructors=t.compareCustomElementConstructors,exports.compareRouteActions=t.compareRouteActions,exports.createRouteCacheKey=t.createRouteCacheKey,exports.debounce=t.debounce,exports.decodeData=t.decodeData,exports.decodeRouteState=t.decodeRouteState,exports.deepMerge=t.deepMerge,exports.encodeData=t.encodeData,exports.encodeRouteState=t.encodeRouteState,exports.extractQueryParams=t.extractQueryParams,exports.getTagName=t.getTagName,exports.isObject=t.isObject,exports.lazy=t.lazy,exports.normalizeTagName=t.normalizeTagName,exports.sanitizeRouteState=t.sanitizeRouteState,exports.$drawer=r.$drawer,exports.HereMorty=r.HereMorty,Object.defineProperty(exports,"ScBadgeV2",{enumerable:!0,get:()=>r.ScBadgeV2}),Object.defineProperty(exports,"SchmancyAvatar",{enumerable:!0,get:()=>r.SchmancyAvatar}),Object.defineProperty(exports,"SchmancyBadgeV2",{enumerable:!0,get:()=>r.SchmancyBadgeV2}),Object.defineProperty(exports,"SchmancyContentDrawer",{enumerable:!0,get:()=>r.SchmancyContentDrawer}),exports.SchmancyContentDrawerID=r.SchmancyContentDrawerID,Object.defineProperty(exports,"SchmancyContentDrawerMain",{enumerable:!0,get:()=>r.SchmancyContentDrawerMain}),exports.SchmancyContentDrawerMaxHeight=r.SchmancyContentDrawerMaxHeight,exports.SchmancyContentDrawerMinWidth=r.SchmancyContentDrawerMinWidth,Object.defineProperty(exports,"SchmancyContentDrawerSheet",{enumerable:!0,get:()=>r.SchmancyContentDrawerSheet}),exports.SchmancyContentDrawerSheetMode=r.SchmancyContentDrawerSheetMode,exports.SchmancyContentDrawerSheetState=r.SchmancyContentDrawerSheetState,Object.defineProperty(exports,"SchmancyDrawerAppbar",{enumerable:!0,get:()=>r.SchmancyDrawerAppbar}),exports.SchmancyDrawerNavbarMode=r.SchmancyDrawerNavbarMode,exports.SchmancyDrawerNavbarState=r.SchmancyDrawerNavbarState,Object.defineProperty(exports,"SchmancyNavigationBar",{enumerable:!0,get:()=>r.SchmancyNavigationBar}),Object.defineProperty(exports,"SchmancyNavigationBarItem",{enumerable:!0,get:()=>r.SchmancyNavigationBarItem}),Object.defineProperty(exports,"SchmancyNavigationDrawer",{enumerable:!0,get:()=>r.SchmancyNavigationDrawer}),Object.defineProperty(exports,"SchmancyNavigationDrawerContent",{enumerable:!0,get:()=>r.SchmancyNavigationDrawerContent}),Object.defineProperty(exports,"SchmancyNavigationDrawerSidebar",{enumerable:!0,get:()=>r.SchmancyNavigationDrawerSidebar}),Object.defineProperty(exports,"SchmancyTeleportation",{enumerable:!0,get:()=>r.SchmancyTeleportation}),exports.WhereAreYouRicky=r.WhereAreYouRicky,exports.schmancyContentDrawer=r.schmancyContentDrawer,exports.schmancyNavDrawer=r.schmancyNavDrawer,exports.teleport=r.teleport,Object.defineProperty(exports,"SchmancyBoat",{enumerable:!0,get:()=>N.SchmancyBoat}),Object.defineProperty(exports,"SchmancyButton",{enumerable:!0,get:()=>g.SchmancyButton}),Object.defineProperty(exports,"SchmnacyIconButton",{enumerable:!0,get:()=>g.SchmnacyIconButton}),Object.defineProperty(exports,"SchmancyCheckbox",{enumerable:!0,get:()=>A.SchmancyCheckboxElement}),Object.defineProperty(exports,"SchmancyAssistChip",{enumerable:!0,get:()=>i.SchmancyAssistChip}),exports.SchmancyChip=i.SchmancyFilterChip,exports.SchmancyFilterChip=i.SchmancyFilterChip,Object.defineProperty(exports,"SchmancySuggestionChip",{enumerable:!0,get:()=>i.SchmancySuggestionChip}),Object.defineProperty(exports,"SchmancyInputChip",{enumerable:!0,get:()=>x.SchmancyInputChip}),Object.defineProperty(exports,"SchmancyCode",{enumerable:!0,get:()=>h.SchmancyCode}),Object.defineProperty(exports,"SchmancyCodeHighlight",{enumerable:!0,get:()=>h.SchmancyCode}),Object.defineProperty(exports,"SchmancyCodePreview",{enumerable:!0,get:()=>h.SchmancyCodePreview}),Object.defineProperty(exports,"SchmancyPaymentCardForm",{enumerable:!0,get:()=>E.SchmancyPaymentCardForm}),Object.defineProperty(exports,"SchmancyDateRange",{enumerable:!0,get:()=>d.SchmancyDateRange}),exports.validateInitialDateRange=d.validateInitialDateRange,Object.defineProperty(exports,"SchmancyDateRangeInline",{enumerable:!0,get:()=>B.SchmancyDateRangeInline}),Object.defineProperty(exports,"SchmancyDelay",{enumerable:!0,get:()=>s.SchmancyDelay}),exports.delayContext=s.delayContext,Object.defineProperty(exports,"SchmancyDetails",{enumerable:!0,get:()=>F.SchmancyDetails}),Object.defineProperty(exports,"ConfirmDialog",{enumerable:!0,get:()=>u.ConfirmDialog}),Object.defineProperty(exports,"SchmancyDialog",{enumerable:!0,get:()=>u.SchmancyDialog}),Object.defineProperty(exports,"SchmancyDialogContent",{enumerable:!0,get:()=>u.SchmancyDialogContent}),exports.$dialog=f.$dialog,exports.DialogService=f.DialogService,exports.color=b.color,exports.fullHeight=b.fullHeight,exports.ripple=b.ripple,Object.defineProperty(exports,"guard",{enumerable:!0,get:()=>H.guard}),exports.discoverAnyComponent=C.discoverAnyComponent,exports.discoverComponent=C.discoverComponent,Object.defineProperty(exports,"SchmancyDropdown",{enumerable:!0,get:()=>P.SchmancyDropdown}),Object.defineProperty(exports,"SchmancyDropdownContent",{enumerable:!0,get:()=>P.SchmancyDropdownContent}),Object.defineProperty(exports,"SchmancyCountriesSelect",{enumerable:!0,get:()=>O.SchmancyCountriesSelect}),Object.defineProperty(exports,"SchmancyTimezonesSelect",{enumerable:!0,get:()=>O.SchmancyTimezonesSelect}),Object.defineProperty(exports,"SchmancyInput",{enumerable:!0,get:()=>j.SchmancyInput}),Object.defineProperty(exports,"SchmancyInputCompat",{enumerable:!0,get:()=>j.SchmancyInputCompat}),Object.defineProperty(exports,"SchmancyFlex",{enumerable:!0,get:()=>m.SchmancyFlex}),Object.defineProperty(exports,"SchmancyFlexV2",{enumerable:!0,get:()=>m.SchmancyFlexV2}),Object.defineProperty(exports,"SchmancyGrid",{enumerable:!0,get:()=>m.SchmancyGrid}),Object.defineProperty(exports,"SchmancyScroll",{enumerable:!0,get:()=>m.SchmancyScroll}),Object.defineProperty(exports,"List",{enumerable:!0,get:()=>p.List}),Object.defineProperty(exports,"SchmancyListItem",{enumerable:!0,get:()=>p.SchmancyListItem}),exports.SchmancyListTypeContext=p.SchmancyListTypeContext,Object.defineProperty(exports,"SchmancyEmailEditor",{enumerable:!0,get:()=>o.SchmancyEmailEditor}),Object.defineProperty(exports,"SchmancyEmailLayoutSelector",{enumerable:!0,get:()=>o.SchmancyEmailLayoutSelector}),Object.defineProperty(exports,"SchmancyEmailRecipients",{enumerable:!0,get:()=>o.SchmancyEmailRecipients}),Object.defineProperty(exports,"SchmancyEmailViewer",{enumerable:!0,get:()=>o.SchmancyEmailViewer}),Object.defineProperty(exports,"SchmancyMailbox",{enumerable:!0,get:()=>o.SchmancyMailbox}),Object.defineProperty(exports,"SchmancyMap",{enumerable:!0,get:()=>L.SchmancyMap}),Object.defineProperty(exports,"SchmancyNavigationRail",{enumerable:!0,get:()=>D.SchmancyNavigationRail}),Object.defineProperty(exports,"SchmancyNavigationRailItem",{enumerable:!0,get:()=>D.SchmancyNavigationRailItem}),exports.$notify=y.$notify,exports.NotificationAudioService=y.NotificationAudioService,Object.defineProperty(exports,"SchmancyNotification",{enumerable:!0,get:()=>y.SchmancyNotification}),Object.defineProperty(exports,"SchmancyNotificationContainer",{enumerable:!0,get:()=>y.SchmancyNotificationContainer}),exports.notify=q.notify,exports.notifyProgress=q.notifyProgress,Object.defineProperty(exports,"RadioButton",{enumerable:!0,get:()=>T.RadioButton}),Object.defineProperty(exports,"RadioGroup",{enumerable:!0,get:()=>T.RadioGroup}),exports.mutationObserver=V.mutationObserver,Object.defineProperty(exports,"SchmancySelect",{enumerable:!0,get:()=>Y.SchmancySelect}),exports.SchmancySheetPosition=S.SchmancySheetPosition,exports.SheetHereMorty=S.SheetHereMorty,exports.SheetWhereAreYouRicky=S.SheetWhereAreYouRicky,exports.sheet=S.sheet,Object.defineProperty(exports,"SchmancySlide",{enumerable:!0,get:()=>w.SchmancySlide}),Object.defineProperty(exports,"SchmancySlider",{enumerable:!0,get:()=>w.SchmancySlider}),Object.defineProperty(exports,"SchmancyStep",{enumerable:!0,get:()=>l.SchmancyStep}),Object.defineProperty(exports,"SchmancyStepsContainer",{enumerable:!0,get:()=>l.SchmancyStepsContainer}),exports.StepsController=l.StepsController,exports.stepsContext=l.stepsContext,exports.BaseStore=a.BaseStore,exports.IndexedDBStorageManager=a.IndexedDBStorageManager,exports.LocalStorageManager=a.LocalStorageManager,exports.MemoryStorageManager=a.MemoryStorageManager,exports.SchmancyArrayStore=a.SchmancyArrayStore,exports.SchmancyStoreObject=a.SchmancyStoreObject,exports.SessionStorageManager=a.SessionStorageManager,exports.StoreError=a.StoreError,exports.createArrayContext=a.createArrayContext,exports.createContext=a.createContext,exports.createStorageManager=a.createStorageManager,exports.createTestArrayContext=a.createTestArrayContext,exports.compareValues=e.compareValues,exports.createCollectionSelector=e.createCollectionSelector,exports.createCompoundSelector=e.createCompoundSelector,exports.createCountSelector=e.createCountSelector,exports.createEntriesSelector=e.createEntriesSelector,exports.createFilterSelector=e.createFilterSelector,exports.createFindSelector=e.createFindSelector,exports.createItemSelector=e.createItemSelector,exports.createItemsSelector=e.createItemsSelector,exports.createKeysSelector=e.createKeysSelector,exports.createMapSelector=e.createMapSelector,exports.createOptimizedSelector=e.createOptimizedSelector,exports.createSelector=e.createSelector,exports.createSortSelector=e.createSortSelector,exports.filterArray=e.filterArray,exports.filterArrayItems=e.filterArrayItems,exports.filterMap=e.filterMap,exports.filterMapItems=e.filterMapItems,exports.getFieldValue=e.getFieldValue,exports.isArray=e.isArray,exports.isDate=e.isDate,exports.isIterable=e.isIterable,exports.isMap=e.isMap,exports.isNil=e.isNil,exports.isNumber=e.isNumber,exports.isPlainObject=e.isPlainObject,exports.isSet=e.isSet,exports.isString=e.isString,exports.select=e.select,exports.selectItem=e.selectItem,Object.defineProperty(exports,"SchmancySurface",{enumerable:!0,get:()=>I.SchmancySurface}),exports.SchmancySurfaceTypeContext=I.SchmancySurfaceTypeContext,Object.defineProperty(exports,"SchmancyDataTable",{enumerable:!0,get:()=>R.SchmancyDataTable}),Object.defineProperty(exports,"SchmancyTableRow",{enumerable:!0,get:()=>R.SchmancyTableRow}),exports.SchmancyTheme=z.SchmancyTheme,Object.defineProperty(exports,"SchmancyThemeComponent",{enumerable:!0,get:()=>c.SchmancyThemeComponent}),Object.defineProperty(exports,"ThemeControls",{enumerable:!0,get:()=>c.ThemeControls}),exports.createDarkTonalPaletteFromBaseColor=c.createDarkTonalPaletteFromBaseColor,exports.createLightTonalPaletteFromBaseColor=c.createLightTonalPaletteFromBaseColor,exports.formateTheme=c.formateTheme,exports.schmancyTheme=c.schmancyTheme,exports.tailwindStyles=c.tailwindStyles,exports.theme=c.theme,exports.themeContext=c.themeContext,exports.ThemeHereIAm=M.ThemeHereIAm,exports.ThemeWhereAreYou=M.ThemeWhereAreYou,Object.defineProperty(exports,"SchmancyTooltip",{enumerable:!0,get:()=>v.SchmancyTooltip}),exports.tooltip=v.tooltip,Object.defineProperty(exports,"SchmancyTree",{enumerable:!0,get:()=>k.SchmancyTree}),exports.SchmancyEvents=G.SchmancyEvents,Object.defineProperty(exports,"TypewriterElement",{enumerable:!0,get:()=>W.TypewriterElement}),Object.defineProperty(exports,"SchmancyTypography",{enumerable:!0,get:()=>$.SchmancyTypography}),exports.intersection$=K.intersection$,exports.Numbers=_.Numbers,exports.similarity=Q.similarity;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.js
CHANGED
|
@@ -2,8 +2,8 @@ import "./animated-text-Csa12CPb.js";
|
|
|
2
2
|
import { F as d, H as g, c as u, S as D, b as T, a as b, r as w } from "./area.component-CLVv59z9.js";
|
|
3
3
|
import { p as R, k as v, c as M, j as N, m as A, b as B, d as E, h as F, a as H, e as L, f as P, o as k, g as O, i as $, l as j, n as z, s as V } from "./utils-CYOVFxSx.js";
|
|
4
4
|
import "./autocomplete-DwXFcjbJ.js";
|
|
5
|
-
import { $ as W, H as G, a as K, v as _, S as q, g as Q, d as J, h as U, e as X, f as Z, i as aa, b as ea, c as ta, k as ra, m as oa, n as sa, r as ca, q as ma, o as na, l as Sa, p as ia, t as ha, W as ya, s as pa, j as la, u as fa } from "./avatar-
|
|
6
|
-
import { S as Ca } from "./boat-
|
|
5
|
+
import { $ as W, H as G, a as K, v as _, S as q, g as Q, d as J, h as U, e as X, f as Z, i as aa, b as ea, c as ta, k as ra, m as oa, n as sa, r as ca, q as ma, o as na, l as Sa, p as ia, t as ha, W as ya, s as pa, j as la, u as fa } from "./avatar-C70RL5gA.js";
|
|
6
|
+
import { S as Ca } from "./boat-BzsxPidL.js";
|
|
7
7
|
import "./spinner-Cz4_OpDu.js";
|
|
8
8
|
import { S as ga, a as ua } from "./icon-button-JyplFXpv.js";
|
|
9
9
|
import "./media-BjeuyEOk.js";
|
package/dist/nav-drawer.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./avatar-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./avatar-TAxgKH6w.cjs");exports.$drawer=e.$drawer,Object.defineProperty(exports,"SchmancyDrawerAppbar",{enumerable:!0,get:()=>e.SchmancyDrawerAppbar}),exports.SchmancyDrawerNavbarMode=e.SchmancyDrawerNavbarMode,exports.SchmancyDrawerNavbarState=e.SchmancyDrawerNavbarState,Object.defineProperty(exports,"SchmancyNavigationDrawer",{enumerable:!0,get:()=>e.SchmancyNavigationDrawer}),Object.defineProperty(exports,"SchmancyNavigationDrawerContent",{enumerable:!0,get:()=>e.SchmancyNavigationDrawerContent}),Object.defineProperty(exports,"SchmancyNavigationDrawerSidebar",{enumerable:!0,get:()=>e.SchmancyNavigationDrawerSidebar}),exports.schmancyNavDrawer=e.schmancyNavDrawer;
|
|
2
2
|
//# sourceMappingURL=nav-drawer.cjs.map
|
package/dist/nav-drawer.js
CHANGED
package/dist/navigation-bar.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./avatar-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./avatar-TAxgKH6w.cjs");Object.defineProperty(exports,"SchmancyNavigationBar",{enumerable:!0,get:()=>e.SchmancyNavigationBar}),Object.defineProperty(exports,"SchmancyNavigationBarItem",{enumerable:!0,get:()=>e.SchmancyNavigationBarItem});
|
|
2
2
|
//# sourceMappingURL=navigation-bar.cjs.map
|
package/dist/navigation-bar.js
CHANGED
package/dist/teleport.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./avatar-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./avatar-TAxgKH6w.cjs");exports.HereMorty=e.HereMorty,Object.defineProperty(exports,"SchmancyTeleportation",{enumerable:!0,get:()=>e.SchmancyTeleportation}),exports.WhereAreYouRicky=e.WhereAreYouRicky,exports.teleport=e.teleport;
|
|
2
2
|
//# sourceMappingURL=teleport.cjs.map
|
package/dist/teleport.js
CHANGED