@mhmo91/schmancy 0.2.29 → 0.2.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/card.cjs +1 -1
  2. package/dist/card.js +1 -1
  3. package/dist/content-drawer.cjs +1 -1
  4. package/dist/content-drawer.js +1 -1
  5. package/dist/index.cjs +1 -1
  6. package/dist/index.js +3 -3
  7. package/dist/layout.cjs +1 -1
  8. package/dist/layout.js +1 -1
  9. package/dist/nav-drawer.cjs +1 -1
  10. package/dist/nav-drawer.js +1 -1
  11. package/dist/{scroll-DnAxN1uS.cjs → scroll-CCExKwoj.cjs} +20 -11
  12. package/dist/scroll-CCExKwoj.cjs.map +1 -0
  13. package/dist/{scroll-Bl-fR7Vv.js → scroll-CYzhWpN5.js} +58 -45
  14. package/dist/scroll-CYzhWpN5.js.map +1 -0
  15. package/dist/{select-CR2mQf_Q.js → select-BakBo7W1.js} +2 -2
  16. package/dist/select-BakBo7W1.js.map +1 -0
  17. package/dist/{select-Bzf5TEob.cjs → select-ljp7-IxH.cjs} +2 -2
  18. package/dist/select-ljp7-IxH.cjs.map +1 -0
  19. package/dist/select.cjs +1 -1
  20. package/dist/select.js +1 -1
  21. package/dist/teleport.cjs +1 -1
  22. package/dist/{teleport.component-D9ZD7q1s.cjs → teleport.component-BmlV_hrl.cjs} +2 -2
  23. package/dist/{teleport.component-D9ZD7q1s.cjs.map → teleport.component-BmlV_hrl.cjs.map} +1 -1
  24. package/dist/{teleport.component-BY0slCOl.js → teleport.component-D4-R4i-G.js} +3 -3
  25. package/dist/{teleport.component-BY0slCOl.js.map → teleport.component-D4-R4i-G.js.map} +1 -1
  26. package/dist/teleport.js +1 -1
  27. package/package.json +1 -1
  28. package/types/src/layout/scroll/scroll.d.ts +10 -0
  29. package/dist/scroll-Bl-fR7Vv.js.map +0 -1
  30. package/dist/scroll-DnAxN1uS.cjs.map +0 -1
  31. package/dist/select-Bzf5TEob.cjs.map +0 -1
  32. package/dist/select-CR2mQf_Q.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"teleport.component-BY0slCOl.js","sources":["../src/card/actions.ts","../src/card/card.ts","../src/card/content.ts","../src/card/media.ts","../src/content-drawer/$sheet.ts","../src/content-drawer/context.ts","../src/content-drawer/drawer.ts","../src/content-drawer/main.ts","../src/content-drawer/sheet.ts","../src/nav-drawer/$navbar.ts","../src/nav-drawer/context.ts","../src/nav-drawer/appbar.ts","../src/nav-drawer/content.ts","../src/nav-drawer/drawer.ts","../src/nav-drawer/navbar.ts","../src/teleport/teleport.service.ts","../src/teleport/watcher.ts","../src/teleport/teleport.component.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n/**\n * @element schmancy-card-action\n * @slot - The content of the action\n */\n@customElement('schmancy-card-action')\nexport default class SchmancyCardMedia extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html` <section class=\"pb-4 px-4\"><slot> </slot></section> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-action': SchmancyCardMedia\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-card')\nexport default class SchmancyCard extends TailwindElement() {\n\t@property() type: 'elevated' | 'filled' | 'outlined' = 'elevated'\n\t@property({ type: Number }) elevation: 0 | 1 | 2 | 3 | 4 | 5 = 0\n\tprotected render(): unknown {\n\t\tconst classes = {\n\t\t\t'rounded-md': true,\n\t\t\t'shadow-xs': this.elevation === 1,\n\t\t\t'shadow-sm': this.elevation === 2,\n\t\t\t'shadow-md': this.elevation === 3,\n\t\t\t'shadow-lg': this.elevation === 4,\n\t\t\t'shadow-5': this.elevation === 5,\n\t\t\t'hover:shadow-xs': ['outlined', 'filled'].includes(this.type),\n\t\t\t'bg-surface-low shadow-xs hover:shadow-sm': this.type === 'elevated',\n\t\t\t'bg-surface-highest': this.type === 'filled',\n\t\t\t'bg-surface-default border border-solid border-1 border-outlineVariant': this.type === 'outlined',\n\t\t}\n\t\treturn html`<div class=\"${this.classMap(classes)}\">\n\t\t\t<slot> </slot>\n\t\t</div>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card': SchmancyCard\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { color } from '..'\n\n/**\n * @element schmancy-card-content\n * @slot headline\n * @slot subhead\n * @slot default - The content of the card\n */\n@customElement('schmancy-card-content')\nexport default class SchmancyCardContent extends TailwindElement() {\n\tprotected render(): unknown {\n\t\tconst classes = {\n\t\t\t'px-[16px] py-[24px]': true,\n\t\t}\n\t\tconst onSurface = SchmancyTheme.sys.color.surface.on\n\t\tconst onSurfaceVariant = SchmancyTheme.sys.color.surface.onVariant\n\t\treturn html`<schmancy-grid gap=\"md\" class=\"${this.classMap(classes)}\">\n\t\t\t<schmancy-grid gap=\"xs\">\n\t\t\t\t<schmancy-typography\n\t\t\t\t\t${color({\n\t\t\t\t\t\tcolor: onSurface,\n\t\t\t\t\t})}\n\t\t\t\t\ttype=\"body\"\n\t\t\t\t\ttoken=\"lg\"\n\t\t\t\t\t><slot name=\"headline\"> </slot\n\t\t\t\t></schmancy-typography>\n\t\t\t\t<schmancy-typography\n\t\t\t\t\t${color({\n\t\t\t\t\t\tcolor: onSurfaceVariant,\n\t\t\t\t\t})}\n\t\t\t\t\ttype=\"body\"\n\t\t\t\t\t><slot name=\"subhead\"></slot>\n\t\t\t\t</schmancy-typography>\n\t\t\t</schmancy-grid>\n\t\t\t<schmancy-typography\n\t\t\t\ttype=\"body\"\n\t\t\t\t${color({\n\t\t\t\t\tcolor: onSurfaceVariant,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-typography>\n\t\t</schmancy-grid>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-content': SchmancyCardContent\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n/**\n * @element schmancy-card-media\n */\n@customElement('schmancy-card-media')\nexport default class SchmancyCardMedia extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t@property({ type: String, reflect: true })\n\tsrc: string = ''\n\n\t@property({ type: String })\n\tfit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down' = 'contain'\n\n\tprotected render(): unknown {\n\t\tconst styles = {\n\t\t\theight: '200px',\n\t\t}\n\t\tconst classes = {\n\t\t\t'object-center': true,\n\t\t\t'object-contain': this.fit === 'contain',\n\t\t\t'object-cover w-full': this.fit === 'cover',\n\t\t\t'object-fill': this.fit === 'fill',\n\t\t\t'object-none': this.fit === 'none',\n\t\t\t'object-scale-down': this.fit === 'scale-down',\n\t\t}\n\t\treturn html`<schmancy-grid align=\"stretch\" justify=\"stretch\" gap=\"md\">\n\t\t\t<img src=\"${this.src}\" style=${this.styleMap(styles)} class=\"${this.classMap(classes)}\" />\n\t\t</schmancy-grid>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-media': SchmancyCardMedia\n\t}\n}\n","import { SchmancyEvents } from '@schmancy/types/events'\nimport { Subject } from 'rxjs'\n\ntype DrawerAction = 'dismiss' | 'render'\ntype TRef = Element | Window\ntype TRenderRequest = HTMLElement\nexport type TRenderCustomEvent = CustomEvent<{\n\tcomponent: TRenderRequest\n\ttitle?: string\n}>\nclass Drawer {\n\tprivate $drawer = new Subject<{\n\t\tref: TRef\n\t\taction: DrawerAction\n\t\tcomponent?: TRenderRequest\n\t\ttitle?: string\n\t}>()\n\tconstructor() {\n\t\tthis.$drawer.pipe().subscribe(data => {\n\t\t\tif (data.action === 'dismiss') {\n\t\t\t\tdata.ref.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.ContentDrawerToggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'close',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t} else if (data.action === 'render') {\n\t\t\t\tdata.ref.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.ContentDrawerToggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'open',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\tdata.ref.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('schmancy-content-drawer-render', {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tcomponent: data.component,\n\t\t\t\t\t\t\ttitle: data.title,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t}\n\t\t})\n\t}\n\n\tdimiss(ref: TRef) {\n\t\tthis.$drawer.next({\n\t\t\taction: 'dismiss',\n\t\t\tref: ref,\n\t\t})\n\t}\n\n\trender(ref: TRef, component: TRenderRequest, title?: string) {\n\t\tref.dispatchEvent(new CustomEvent('custom-event'))\n\t\tthis.$drawer.next({\n\t\t\taction: 'render',\n\t\t\tref: ref,\n\t\t\tcomponent: component,\n\t\t\ttitle,\n\t\t})\n\t}\n}\n\nexport const schmancyContentDrawer = new Drawer()\n","import { createContext } from '@lit/context'\nexport type TSchmancyContentDrawerSheetMode = 'push' | 'overlay'\nexport const SchmancyContentDrawerSheetMode = createContext<TSchmancyContentDrawerSheetMode>('push')\n\nexport type TSchmancyContentDrawerSheetState = 'open' | 'close'\nexport const SchmancyContentDrawerSheetState = createContext<TSchmancyContentDrawerSheetState>('close')\n\nexport const SchmancyContentDrawerID = createContext<string>(Math.floor(Math.random() * Date.now()).toString())\nexport const SchmancyContentDrawerMaxHeight = createContext<string>('100%')\nexport const SchmancyContentDrawerMinWidth = createContext<{\n\tmain: number\n\tsheet: number\n}>({})\n","import { provide } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { css, html, nothing } from 'lit'\nimport { customElement, property, queryAssignedElements, state } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, merge, startWith, takeUntil, tap } from 'rxjs'\nimport { SchmancyEvents, TRenderCustomEvent, area, sheet } from '..'\nimport {\n\tSchmancyContentDrawerID,\n\tSchmancyContentDrawerMaxHeight,\n\tSchmancyContentDrawerMinWidth,\n\tSchmancyContentDrawerSheetMode,\n\tSchmancyContentDrawerSheetState,\n\tTSchmancyContentDrawerSheetMode,\n\tTSchmancyContentDrawerSheetState,\n} from './context'\n\n/**\n * @element schmancy-content-drawer\n * @slot appbar - The appbar slot\n * @slot - The content slot\n */\n@customElement('schmancy-content-drawer')\nexport class SchmancyContentDrawer extends $LitElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tinset: 0;\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t}\n`) {\n\t/**\n\t * The minimum width of the sheet\n\t * @attr\tminWidth\n\t * @type {number}\n\t * @memberof SchmancyContentDrawer\n\t */\n\n\t@provide({ context: SchmancyContentDrawerMinWidth })\n\tminWidth: typeof SchmancyContentDrawerMinWidth.__context__ = {\n\t\tmain: 360,\n\t\tsheet: 576,\n\t}\n\n\t/**\n\t * The state of the sheet\n\t * @attr open\n\t * @type {TSchmancyContentDrawerSheetState}\n\t */\n\t@provide({ context: SchmancyContentDrawerSheetState })\n\t@property()\n\topen: TSchmancyContentDrawerSheetState\n\n\t/**\n\t * The mode of the sheet\n\t * @type {TSchmancyContentDrawerSheetMode}\n\t * @memberof SchmancyContentDrawer\n\t * @protected\n\t */\n\t@provide({ context: SchmancyContentDrawerSheetMode })\n\t@state()\n\tmode: TSchmancyContentDrawerSheetMode\n\n\t@provide({ context: SchmancyContentDrawerID })\n\tschmancyContentDrawerID = Math.floor(Math.random() * Date.now()).toString()\n\n\t@provide({ context: SchmancyContentDrawerMaxHeight })\n\tmaxHeight = '100%'\n\n\t@queryAssignedElements({ flatten: true })\n\tassignedElements!: HTMLElement[]\n\tfirstUpdated(): void {\n\t\tmerge(fromEvent<CustomEvent>(window, 'resize'), fromEvent<CustomEvent>(window, SchmancyEvents.ContentDrawerResize))\n\t\t\t.pipe(\n\t\t\t\tstartWith(true),\n\t\t\t\ttap(() => console.log(this.minWidth)),\n\t\t\t\tmap(() => (this.clientWidth ? this.clientWidth : window.innerWidth)),\n\t\t\t\tmap(width => width >= this.minWidth.main + this.minWidth.sheet),\n\t\t\t\tdebounceTime(100),\n\t\t\t\ttap(() => {\n\t\t\t\t\tthis.maxHeight = `${window.innerHeight - this.getOffsetTop(this) - 32}px`\n\t\t\t\t\tthis.style.setProperty('max-height', this.maxHeight)\n\t\t\t\t}),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(lgScreen => {\n\t\t\t\tif (lgScreen) {\n\t\t\t\t\tthis.mode = 'push'\n\t\t\t\t\tthis.open = 'open'\n\t\t\t\t} else {\n\t\t\t\t\tthis.mode = 'overlay'\n\t\t\t\t\tthis.open = 'close'\n\t\t\t\t}\n\t\t\t})\n\n\t\t/*\n\t\t * Listen to the toggle event\n\t\t */\n\t\tfromEvent<CustomEvent>(window, SchmancyEvents.ContentDrawerToggle)\n\t\t\t.pipe(\n\t\t\t\ttap(event => {\n\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t}),\n\t\t\t\tmap(event => event.detail.state),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(state => {\n\t\t\t\tthis.open = state\n\t\t\t})\n\n\t\tfromEvent<TRenderCustomEvent>(window, 'schmancy-content-drawer-render')\n\t\t\t.pipe(\n\t\t\t\ttap(event => {\n\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t}),\n\t\t\t\tmap(event => event.detail),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(({ component, title }) => {\n\t\t\t\tif (this.mode === 'push') {\n\t\t\t\t\t// TODO: Fix the router to render if constructor has different arguments\n\t\t\t\t\tarea.push({\n\t\t\t\t\t\tarea: this.schmancyContentDrawerID,\n\t\t\t\t\t\tcomponent: 'empty',\n\t\t\t\t\t\thistoryStrategy: 'silent',\n\t\t\t\t\t})\n\t\t\t\t\tarea.push({\n\t\t\t\t\t\tarea: this.schmancyContentDrawerID,\n\t\t\t\t\t\tcomponent: component,\n\t\t\t\t\t\thistoryStrategy: 'silent',\n\t\t\t\t\t})\n\t\t\t\t} else if ((this.mode = 'overlay')) {\n\t\t\t\t\tsheet.open({ component: component, uid: this.schmancyContentDrawerID, title })\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tgetOffsetTop(element) {\n\t\tlet offsetTop = 0\n\t\twhile (element) {\n\t\t\toffsetTop += element.offsetTop\n\t\t\telement = element.offsetParent\n\t\t}\n\t\treturn offsetTop\n\t}\n\n\tprotected render() {\n\t\tif (!this.mode || !this.open) return nothing\n\t\treturn html`\n\t\t\t<schmancy-grid\n\t\t\t\tcols=${this.mode === 'overlay' ? '1fr' : 'auto 1fr'}\n\t\t\t\trows=\"1fr\"\n\t\t\t\tflow=\"col\"\n\t\t\t\tjustify=\"stretch\"\n\t\t\t\talign=\"stretch\"\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-grid>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-content-drawer': SchmancyContentDrawer\n\t}\n}\n","import { consume } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { PropertyValueMap, css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { SchmancyEvents } from '..'\nimport {\n\tSchmancyContentDrawerMaxHeight,\n\tSchmancyContentDrawerMinWidth,\n\tSchmancyContentDrawerSheetMode,\n\tTSchmancyContentDrawerSheetMode,\n} from './context'\nimport { when } from 'lit/directives/when.js'\n\n@customElement('schmancy-content-drawer-main')\nexport class SchmancyContentDrawerMain extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t}\n`) {\n\t@property({ type: Number })\n\tminWidth\n\n\t@consume({ context: SchmancyContentDrawerMinWidth, subscribe: true })\n\tdrawerMinWidth: typeof SchmancyContentDrawerMinWidth.__context__\n\n\t@consume({ context: SchmancyContentDrawerSheetMode, subscribe: true })\n\t@state()\n\tmode: TSchmancyContentDrawerSheetMode\n\n\t@consume({ context: SchmancyContentDrawerMaxHeight, subscribe: true })\n\t@state()\n\tmaxHeight\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tif (this.minWidth) this.drawerMinWidth.main = this.minWidth\n\t\telse this.minWidth = this.drawerMinWidth.main\n\t}\n\n\tprotected update(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void {\n\t\tsuper.update(changedProperties)\n\t\tif (changedProperties.has('minWidth') && this.minWidth) {\n\t\t\tthis.drawerMinWidth.main = this.minWidth\n\t\t\tthis.dispatchEvent(new CustomEvent(SchmancyEvents.ContentDrawerResize, { bubbles: true, composed: true }))\n\t\t}\n\t}\n\n\trender() {\n\t\tconst styles = {\n\t\t\tminWidth: `${this.minWidth}px`,\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\t\treturn html`\n\t\t\t<section class=\"relative inset-0 h-full\">\n\t\t\t\t<schmancy-grid\n\t\t\t\t\tclass=\"h-full relative overflow-scroll\"\n\t\t\t\t\tcols=\"${this.mode === 'push' ? 'auto 1fr' : '1fr'}\"\n\t\t\t\t\trows=\"1fr\"\n\t\t\t\t\tflow=\"col\"\n\t\t\t\t\talign=\"stretch\"\n\t\t\t\t\tjustify=\"stretch\"\n\t\t\t\t>\n\t\t\t\t\t<section style=${this.styleMap(styles)}>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</section>\n\t\t\t\t</schmancy-grid>\n\t\t\t\t${when(\n\t\t\t\t\tthis.mode === 'push',\n\t\t\t\t\t() => html` <schmancy-divider class=\"absolute right-0 top-0\" orientation=\"vertical\"></schmancy-divider>`,\n\t\t\t\t)}\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-content-drawer-main': SchmancyContentDrawerMain\n\t}\n}\n","import { consume } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { from, merge, Observable, of, takeUntil, tap } from 'rxjs'\nimport { SchmancyEvents, sheet } from '..'\nimport {\n\tSchmancyContentDrawerID,\n\tSchmancyContentDrawerMaxHeight,\n\tSchmancyContentDrawerMinWidth,\n\tSchmancyContentDrawerSheetMode,\n\tSchmancyContentDrawerSheetState,\n\tTSchmancyContentDrawerSheetMode,\n\tTSchmancyContentDrawerSheetState,\n} from './context'\n\n// --- 1) Removed the custom animate import\n// import { animate } from '@packages/anime-beta-master'\n\n@customElement('schmancy-content-drawer-sheet')\nexport class SchmancyContentDrawerSheet extends $LitElement(css`\n\t:host {\n\t\toverflow: scroll;\n\t}\n`) {\n\t@property({ type: Number })\n\tminWidth\n\n\t@consume({ context: SchmancyContentDrawerSheetMode, subscribe: true })\n\t@state()\n\tmode: TSchmancyContentDrawerSheetMode\n\n\t@consume({ context: SchmancyContentDrawerSheetState, subscribe: true })\n\t@state()\n\tstate: TSchmancyContentDrawerSheetState\n\n\t@consume({ context: SchmancyContentDrawerID })\n\tschmancyContentDrawerID\n\n\t@query('#sheet') sheet!: HTMLElement\n\t@queryAssignedElements({ flatten: true, slot: undefined }) defaultSlot!: HTMLElement[]\n\n\t@consume({ context: SchmancyContentDrawerMinWidth, subscribe: true })\n\tdrawerMinWidth: typeof SchmancyContentDrawerMinWidth.__context__\n\n\t@consume({ context: SchmancyContentDrawerMaxHeight, subscribe: true })\n\t@state()\n\tmaxHeight\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tif (this.minWidth) {\n\t\t\tthis.drawerMinWidth.sheet = this.minWidth\n\t\t} else {\n\t\t\tthis.minWidth = this.drawerMinWidth.sheet\n\t\t}\n\t}\n\n\tupdated(changedProperties: Map<string, any>) {\n\t\tsuper.updated(changedProperties)\n\t\tif (changedProperties.has('minWidth') && this.minWidth) {\n\t\t\t// If the 'minWidth' property changed\n\t\t\tthis.drawerMinWidth.sheet = this.minWidth\n\t\t\tthis.dispatchEvent(new CustomEvent(SchmancyEvents.ContentDrawerResize, { bubbles: true, composed: true }))\n\t\t} else if (changedProperties.has('state') || changedProperties.has('mode')) {\n\t\t\tif (this.mode === 'overlay') {\n\t\t\t\tif (this.state === 'close') {\n\t\t\t\t\tthis.closeAll()\n\t\t\t\t} else if (this.state === 'open') {\n\t\t\t\t\t// Overlay open logic if needed\n\t\t\t\t\t// this.open()\n\t\t\t\t}\n\t\t\t} else if (this.mode === 'push') {\n\t\t\t\tsheet.dismiss(this.schmancyContentDrawerID)\n\t\t\t\tif (this.state === 'close') {\n\t\t\t\t\tthis.closeAll()\n\t\t\t\t} else if (this.state === 'open') {\n\t\t\t\t\tthis.open()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Open the sheet by sliding it into view.\n\t */\n\topen() {\n\t\t// \"onBegin\" logic from the old `animate(...)`\n\t\tif (this.mode === 'overlay') {\n\t\t\tthis.sheet.style.position = 'fixed'\n\t\t} else {\n\t\t\tthis.sheet.style.position = 'relative'\n\t\t}\n\t\tthis.sheet.style.display = 'block'\n\n\t\t// --- 2) Use native Web Animations API ---\n\t\tthis.sheet.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 0, transform: 'translateX(100%)' },\n\t\t\t\t{ opacity: 1, transform: 'translateX(0%)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 500,\n\t\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\t},\n\t\t)\n\t\t// No return is needed if you don't rely on the result\n\t}\n\n\t/**\n\t * Close everything (modal sheet + the sheet itself).\n\t */\n\tcloseAll() {\n\t\t// Merge them into a single subscription,\n\t\t// so that everything closes in parallel.\n\t\tmerge(from(this.closeModalSheet()), from(this.closeSheet())).pipe(takeUntil(this.disconnecting)).subscribe()\n\t}\n\n\t/**\n\t * Dismiss the \"modal sheet.\"\n\t * This just returns an Observable that completes immediately.\n\t */\n\tcloseModalSheet() {\n\t\treturn of(true).pipe(tap(() => sheet.dismiss(this.schmancyContentDrawerID)))\n\t}\n\n\t/**\n\t * Slide the sheet out of view + hide it.\n\t * Return an Observable so we can merge it with other close operations.\n\t */\n\tcloseSheet() {\n\t\t// --- 2) Use native Web Animations API and wrap in an Observable ---\n\t\treturn new Observable<void>(observer => {\n\t\t\tconst animation = this.sheet.animate(\n\t\t\t\t[\n\t\t\t\t\t{ opacity: 1, transform: 'translateX(0%)' },\n\t\t\t\t\t{ opacity: 1, transform: 'translateX(100%)' },\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: 500,\n\t\t\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\t\t},\n\t\t\t)\n\n\t\t\tanimation.onfinish = () => {\n\t\t\t\t// \"onComplete\" logic\n\t\t\t\tthis.sheet.style.display = 'none'\n\t\t\t\tobserver.next()\n\t\t\t\tobserver.complete()\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected render() {\n\t\tconst sheetClasses = {\n\t\t\tblock: this.mode === 'push',\n\t\t\t'absolute z-50': this.mode === 'overlay',\n\t\t\t'opacity-1': this.mode === 'overlay' && this.state === 'open',\n\t\t}\n\n\t\tconst styles = {\n\t\t\tminWidth: `${this.minWidth}px`,\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\n\t\treturn html`\n\t\t\t<section id=\"sheet\" class=\"${this.classMap(sheetClasses)}\" style=${this.styleMap(styles)}>\n\t\t\t\t<schmancy-area name=\"${this.schmancyContentDrawerID}\">\n\t\t\t\t\t<slot name=\"placeholder\"></slot>\n\t\t\t\t</schmancy-area>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-content-drawer-sheet': SchmancyContentDrawerSheet\n\t}\n}\n","import { SchmancyEvents } from '@schmancy/types/events'\nimport { debounceTime, distinctUntilKeyChanged, Subject } from 'rxjs'\n\nclass Drawer {\n\tprivate $drawer = new Subject<{\n\t\tself: HTMLElement\n\t\tstate: boolean\n\t}>()\n\tconstructor() {\n\t\tthis.$drawer.pipe(distinctUntilKeyChanged('state'), debounceTime(100)).subscribe(data => {\n\t\t\tconsole.log('drawer', data)\n\t\t\tif (data.state) {\n\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'open',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'close',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t}\n\t\t})\n\t}\n\topen(self?: HTMLElement) {\n\t\tthis.$drawer.next({\n\t\t\tself,\n\t\t\tstate: true,\n\t\t})\n\t}\n\tclose(self?: HTMLElement) {\n\t\tthis.$drawer.next({\n\t\t\tself,\n\t\t\tstate: false,\n\t\t})\n\t}\n}\n\nexport const schmancyNavDrawer = new Drawer()\n","import { createContext } from '@lit/context'\nexport type TSchmancyDrawerNavbarMode = 'push' | 'overlay' | undefined\nexport const SchmancyDrawerNavbarMode = createContext<TSchmancyDrawerNavbarMode>('push')\n\nexport type TSchmancyDrawerNavbarState = 'open' | 'close' | undefined\nexport const SchmancyDrawerNavbarState = createContext<TSchmancyDrawerNavbarState>('close')\n","import { consume } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport {\n\tSchmancyDrawerNavbarMode,\n\tSchmancyDrawerNavbarState,\n\tTSchmancyDrawerNavbarMode,\n} from '@schmancy/nav-drawer/context'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\nimport { SchmancyEvents } from '..'\n\n/**\n * @element schmancy-nav-drawer-appbar\n * @slot toggler - The toggler slot\n * @slot - The default slot\n */\n@customElement('schmancy-nav-drawer-appbar')\nexport class SchmancyDrawerAppbar extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t@consume({ context: SchmancyDrawerNavbarMode, subscribe: true })\n\t@state()\n\tsidebarMode: TSchmancyDrawerNavbarMode\n\n\t@consume({ context: SchmancyDrawerNavbarState, subscribe: true })\n\t@state()\n\tsidebarOpen\n\n\t@property({ type: Boolean }) toggler = true\n\n\trender() {\n\t\tconst appbarClasses = {\n\t\t\t'block z-50': true,\n\t\t}\n\t\tconst sidebarToggler = {\n\t\t\t'block left-3 z-50': this.sidebarMode === 'overlay',\n\t\t\thidden: this.sidebarMode === 'push',\n\t\t}\n\t\treturn html`\n\t\t\t<schmancy-grid\n\t\t\t\tcols=${this.sidebarMode === 'overlay' && this.toggler ? 'auto 1fr' : '1fr'}\n\t\t\t\tflow=\"col\"\n\t\t\t\tclass=${this.classMap(appbarClasses)}\n\t\t\t\tgap=\"sm\"\n\t\t\t\talign=\"center\"\n\t\t\t>\n\t\t\t\t${when(\n\t\t\t\t\tthis.sidebarMode === 'overlay' && this.toggler,\n\t\t\t\t\t() =>\n\t\t\t\t\t\thtml`<slot name=\"toggler\">\n\t\t\t\t\t\t\t<div class=\"${this.classMap(sidebarToggler)}\">\n\t\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\t\t\t\t\t\t\t\tdetail: { state: this.sidebarOpen === 'open' ? 'close' : 'open' },\n\t\t\t\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t${when(\n\t\t\t\t\t\t\t\t\t\tthis.sidebarOpen === 'close',\n\t\t\t\t\t\t\t\t\t\t() => html`menu`,\n\t\t\t\t\t\t\t\t\t\t() => html`menu_open`,\n\t\t\t\t\t\t\t\t\t)}\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</slot>`,\n\t\t\t\t)}\n\n\t\t\t\t<slot> </slot>\n\t\t\t</schmancy-grid>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer-appbar': SchmancyDrawerAppbar\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n@customElement('schmancy-nav-drawer-content')\nexport class SchmancyNavigationDrawerContent extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tinset: 0;\n\t\toverflow-y: auto;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'scroll')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\tthis.parentElement.dispatchEvent(new CustomEvent('scroll', { detail: e, bubbles: true, composed: true }))\n\t\t\t})\n\t}\n\trender() {\n\t\treturn html` <slot></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer-content': SchmancyNavigationDrawerContent\n\t}\n}\n","import { provide } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { css, html, nothing } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, startWith, takeUntil, tap } from 'rxjs'\nimport { SchmancyEvents } from '..'\nimport { fullHeight } from './../directives/height'\nimport {\n\tSchmancyDrawerNavbarMode,\n\tSchmancyDrawerNavbarState,\n\tTSchmancyDrawerNavbarMode,\n\tTSchmancyDrawerNavbarState,\n} from './context'\n\n/**\n * @element schmancy-nav-drawer\n * @slot appbar - The appbar slot\n * @slot - The content slot\n */\n@customElement('schmancy-nav-drawer')\nexport class SchmancyNavigationDrawer extends $LitElement(css`\n\t:host {\n\t\tdisplay: flex;\n\t\tflex-grow: 1;\n\t\toverflow: hidden;\n\t}\n`) {\n\t// fullscreen property\n\t@property({ type: Boolean })\n\tfullscreen: boolean = false\n\n\t/**\n\t * The minimum width of the sidebar\n\t * @attr\tbreakpoint\n\t * @type {number}\n\t * @memberof SchmancyNavigationDrawer\n\t */\n\t@property({ type: Number, attribute: 'breakpoint' })\n\tbreakpoint: number = 768\n\n\t/**\n\t * The mode of the sidebar\n\t * @type {TSchmancyDrawerNavbarMode}\n\t * @memberof SchmancyNavigationDrawer\n\t * @protected\n\t */\n\t@provide({ context: SchmancyDrawerNavbarMode })\n\t@state()\n\tmode: TSchmancyDrawerNavbarMode\n\n\t@provide({ context: SchmancyDrawerNavbarState })\n\t@property()\n\topen: TSchmancyDrawerNavbarState\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent<CustomEvent>(window, 'resize')\n\t\t\t.pipe(\n\t\t\t\tmap(event => event.target as Window),\n\t\t\t\tstartWith(window),\n\t\t\t\tmap(window => window.innerWidth),\n\t\t\t\tmap(width => width >= this.breakpoint),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tdebounceTime(100),\n\t\t\t)\n\t\t\t.subscribe(lgScreen => {\n\t\t\t\tif (lgScreen) {\n\t\t\t\t\tthis.mode = 'push'\n\t\t\t\t\tthis.open = 'open'\n\t\t\t\t} else {\n\t\t\t\t\tthis.mode = 'overlay'\n\t\t\t\t\tthis.open = 'close'\n\t\t\t\t}\n\t\t\t})\n\n\t\t/*\n\t\t * Listen to the toggle event\n\t\t */\n\t\tfromEvent<CustomEvent>(window, SchmancyEvents.NavDrawer_toggle)\n\t\t\t.pipe(\n\t\t\t\ttap(event => {\n\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t}),\n\t\t\t\tmap(event => event.detail.state),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tdebounceTime(100),\n\t\t\t)\n\t\t\t.subscribe(state => {\n\t\t\t\t// if the mode is push, we don't need to close the overlay when the state is close\n\t\t\t\tif (this.mode === 'push' && state === 'close') return\n\t\t\t\tthis.open = state\n\t\t\t})\n\t}\n\n\tprotected render() {\n\t\tif (!this.mode || !this.open) return nothing\n\t\treturn html`\n\t\t\t<schmancy-grid\n\t\t\t\tcols=${this.fullscreen ? '1fr' : 'auto 1fr'}\n\t\t\t\trows=\"1fr\"\n\t\t\t\tflow=\"col\"\n\t\t\t\tjustify=\"stretch\"\n\t\t\t\talign=\"stretch\"\n\t\t\t\t${fullHeight()}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-grid>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer': SchmancyNavigationDrawer\n\t}\n}\n","import { consume } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { SchmancyEvents, SchmancyTheme, color } from '..'\nimport {\n\tSchmancyDrawerNavbarMode,\n\tSchmancyDrawerNavbarState,\n\tTSchmancyDrawerNavbarMode,\n\tTSchmancyDrawerNavbarState,\n} from './context'\n\n@customElement('schmancy-nav-drawer-navbar')\nexport class SchmancyNavigationDrawerSidebar extends $LitElement() {\n\t@consume({ context: SchmancyDrawerNavbarMode, subscribe: true })\n\t@state()\n\tmode: TSchmancyDrawerNavbarMode\n\n\t@consume({ context: SchmancyDrawerNavbarState, subscribe: true })\n\t@state()\n\tprivate state: TSchmancyDrawerNavbarState\n\n\t@query('#overlay') overlay!: HTMLElement\n\t@query('nav') nav!: HTMLElement\n\n\t@property({ type: String }) width = '320px'\n\n\tupdated(changedProperties: Map<string, any>) {\n\t\tif (changedProperties.has('state')) {\n\t\t\tconsole.log('state changed', this.state, this.mode)\n\t\t\tif (this.mode === 'overlay') {\n\t\t\t\tif (this.state === 'close') {\n\t\t\t\t\tthis.hideNavDrawer()\n\t\t\t\t\tthis.closeOverlay()\n\t\t\t\t} else if (this.state === 'open') {\n\t\t\t\t\tthis.openOverlay()\n\t\t\t\t\tthis.showNavDrawer()\n\t\t\t\t}\n\t\t\t} else if (this.mode === 'push') {\n\t\t\t\tthis.showNavDrawer()\n\t\t\t\tthis.closeOverlay()\n\t\t\t}\n\t\t}\n\t}\n\n\topenOverlay() {\n\t\t// Equivalent to onBegin\n\t\tthis.overlay.style.display = 'block'\n\n\t\t// Animate opacity from 0 to 0.4\n\t\tthis.overlay.animate([{ opacity: 0 }, { opacity: 0.4 }], {\n\t\t\tduration: 200,\n\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\tfill: 'forwards', // <-- This keeps the final keyframe (0.4) after finishing\n\t\t})\n\t\t// If you want an onfinish here, you can add it:\n\t\t// .onfinish = () => console.log('overlay opened!')\n\t}\n\n\tcloseOverlay() {\n\t\t// Animate opacity from 0.4 to 0\n\t\tconst animation = this.overlay.animate([{ opacity: 0.4 }, { opacity: 0 }], {\n\t\t\tduration: 150,\n\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\tfill: 'forwards',\n\t\t})\n\t\t// translateX(-100%) when the animation is finished\n\t\t// Equivalent to onComplete\n\t\tanimation.onfinish = () => {\n\t\t\tthis.overlay.style.display = 'none'\n\t\t}\n\t}\n\n\t// show nav drawer\n\tshowNavDrawer() {\n\t\t// check the transform, skip if already open\n\t\tif (this.nav.style.transform === 'translateX(0)') return\n\t\tconst animation = this.nav.animate([{ transform: 'translateX(-100%)' }, { transform: 'translateX(0)' }], {\n\t\t\tduration: 200,\n\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\tfill: 'forwards',\n\t\t})\n\t\tanimation.onfinish = () => {\n\t\t\tthis.state = 'open'\n\t\t}\n\t}\n\n\t// hide nav drawer\n\thideNavDrawer() {\n\t\t// skip if already closed\n\t\tif (this.nav.style.transform === 'translateX(-100%)') return\n\t\tconst animation = this.nav.animate([{ transform: 'translateX(0)' }, { transform: 'translateX(-100%)' }], {\n\t\t\tduration: 200,\n\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\tfill: 'forwards',\n\t\t})\n\t\tanimation.onfinish = () => {\n\t\t\tthis.state = 'close'\n\t\t}\n\t}\n\n\tprotected render() {\n\t\tconst sidebarClasses = {\n\t\t\t'p-[16px] max-w-[360px] w-fit h-full overflow-auto': true,\n\t\t\tblock: this.mode === 'push',\n\t\t\t'fixed inset-0 z-50': this.mode === 'overlay',\n\t\t}\n\t\tconst overlayClass = {\n\t\t\t'fixed inset-0 z-49 hidden': true,\n\t\t}\n\n\t\tconst styleMap = {\n\t\t\twidth: this.width,\n\t\t}\n\n\t\treturn html`\n\t\t\t<nav\n\t\t\t\tstyle=${this.styleMap(styleMap)}\n\t\t\t\tclass=\"${this.classMap({ ...sidebarClasses })}\"\n\t\t\t\t${color({\n\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.container,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</nav>\n\t\t\t<div\n\t\t\t\tid=\"overlay\"\n\t\t\t\t${color({\n\t\t\t\t\tbgColor: SchmancyTheme.sys.color.scrim,\n\t\t\t\t})}\n\t\t\t\t@click=${() => {\n\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\t\t\tdetail: { state: 'close' },\n\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t}}\n\t\t\t\tclass=\"${this.classMap({ ...overlayClass })}\"\n\t\t\t></div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer-navbar': SchmancyNavigationDrawerSidebar\n\t}\n}\n","import { bufferTime, concatMap, filter, fromEvent, map, of, Subject, take, tap, timeout, zip } from 'rxjs'\nimport { SchmancyTeleportation } from './teleport.component'\n\nexport type WhereAreYouRickyEvent = CustomEvent<{\n\tid: string\n\tcallerID: number\n}>\n\nexport const WhereAreYouRicky = 'whereAreYouRicky'\n\nexport type HereMortyEvent = CustomEvent<{\n\tcomponent: SchmancyTeleportation\n}>\n\nexport type FLIP_REQUEST = {\n\tfrom: {\n\t\trect: DOMRect\n\t\telement?: HTMLElement\n\t}\n\tto: {\n\t\trect: DOMRect\n\t\telement: HTMLElement\n\t}\n\tstagger?: number\n\thost: HTMLElement\n}\nexport const HereMorty = 'hereMorty'\n\nclass Teleportation {\n\tactiveTeleportations = new Map<string, DOMRect>()\n\tflipRequests = new Subject<FLIP_REQUEST>()\n\n\tconstructor() {\n\t\tthis.flipRequests\n\t\t\t.pipe(\n\t\t\t\tbufferTime(1),\n\t\t\t\tmap(requests =>\n\t\t\t\t\trequests.map(({ from, to, host }, i) => ({\n\t\t\t\t\t\tfrom,\n\t\t\t\t\t\tto,\n\t\t\t\t\t\thost,\n\t\t\t\t\t\ti,\n\t\t\t\t\t})),\n\t\t\t\t),\n\t\t\t\tconcatMap(requests => zip(requests.map(request => of(this.flip(request))))),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\tfind = (component: SchmancyTeleportation) => {\n\t\treturn zip([\n\t\t\tfromEvent<HereMortyEvent>(window, HereMorty).pipe(\n\t\t\t\tfilter(\n\t\t\t\t\te =>\n\t\t\t\t\t\t!!e.detail.component.uuid &&\n\t\t\t\t\t\t!!component.id &&\n\t\t\t\t\t\te.detail.component.id === component.id &&\n\t\t\t\t\t\te.detail.component.uuid !== component.uuid,\n\t\t\t\t),\n\t\t\t\tmap(e => e.detail.component),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\tof(component).pipe(\n\t\t\t\ttap(() => {\n\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent<WhereAreYouRickyEvent['detail']>(WhereAreYouRicky, {\n\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\tid: component.id,\n\t\t\t\t\t\t\t\tcallerID: component.uuid,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t}),\n\t\t\t),\n\t\t]).pipe(\n\t\t\tmap(([component]) => component),\n\t\t\ttimeout(0),\n\t\t)\n\t}\n\n\tflip = (request: {\n\t\tfrom: {\n\t\t\trect: DOMRect\n\t\t}\n\t\tto: {\n\t\t\telement: HTMLElement\n\t\t\trect: DOMRect\n\t\t}\n\t\thost: HTMLElement\n\t\ti: number\n\t}) => {\n\t\tconst { from, to } = request\n\n\t\t// Prepare the element for animation\n\t\tconst originalZIndex = to.element.style.zIndex\n\t\tto.element.style.transformOrigin = 'top left'\n\t\tto.element.style.setProperty('visibility', 'visible')\n\t\tto.element.style.zIndex = '1000'\n\n\t\t// \"onBegin\" logic goes here (since Web Animations doesn't have onBegin).\n\t\t// If you had more logic, place it here:\n\t\t// e.g., console.log('Starting FLIP animation...');\n\n\t\t// Calculate starting and ending transforms\n\t\tconst startX = from.rect.left - to.rect.left\n\t\tconst startY = from.rect.top - to.rect.top\n\t\tconst startScaleX = from.rect.width / to.rect.width\n\t\tconst startScaleY = from.rect.height / to.rect.height\n\n\t\t// Create keyframes\n\t\tconst keyframes: Keyframe[] = [\n\t\t\t{\n\t\t\t\ttransform: `translate(${startX}px, ${startY}px) scale(${startScaleX}, ${startScaleY})`,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttransform: 'translate(0, 0) scale(1, 1)',\n\t\t\t},\n\t\t]\n\n\t\t// Use native Web Animations API\n\t\tconst animation = to.element.animate(keyframes, {\n\t\t\tduration: 250,\n\t\t\tdelay: 10, // if desired\n\t\t\t// Approximate 'inOutQuad' via a cubic-bezier easing.\n\t\t\t// You can adjust these values to taste, or use a standard one:\n\t\t\teasing: 'cubic-bezier(0.455, 0.03, 0.515, 0.955)',\n\t\t\t// or simply 'ease-in-out'\n\t\t})\n\n\t\t// \"onComplete\" logic goes here\n\t\tanimation.onfinish = () => {\n\t\t\tto.element.style.zIndex = originalZIndex\n\t\t\tto.element.style.transformOrigin = ''\n\t\t\t// If you have additional cleanup, place it here\n\t\t\t// e.g., console.log('FLIP animation completed!');\n\t\t}\n\t}\n}\n\nexport const teleport = new Teleportation()\nexport default teleport\n","import { Observable, interval } from 'rxjs'\nimport { distinctUntilChanged, map, take } from 'rxjs/operators'\n\n// Function to monitor element's bounding client rect\nexport function watchElementRect(element: Element): Observable<DOMRectReadOnly> {\n\treturn interval(50).pipe(\n\t\t// startWith(true),\n\t\tmap(() => element.getBoundingClientRect()),\n\t\tdistinctUntilChanged(\n\t\t\t(prev, curr) =>\n\t\t\t\tprev.width === curr.width &&\n\t\t\t\tprev.height === curr.height &&\n\t\t\t\tprev.top === curr.top &&\n\t\t\t\tprev.right === curr.right &&\n\t\t\t\tprev.bottom === curr.bottom &&\n\t\t\t\tprev.left === curr.left,\n\t\t),\n\t\ttake(1),\n\t)\n}\n","import { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { filter, fromEvent, merge, of, takeUntil, tap, throwIfEmpty } from 'rxjs'\nimport { FINDING_MORTIES, FINDING_MORTIES_EVENT, HERE_RICKY, HERE_RICKY_EVENT } from '..'\nimport {\n\tHereMorty,\n\tHereMortyEvent,\n\tWhereAreYouRicky,\n\tWhereAreYouRickyEvent,\n\tdefault as teleport,\n\tdefault as teleportationService,\n} from './teleport.service'\nimport { watchElementRect } from './watcher'\nimport { $LitElement } from '@mixins/index'\n@customElement('schmancy-teleport')\nexport class SchmancyTeleportation extends $LitElement(css``) {\n\t/**\n\t * @attr {string} uuid - The component tag to teleport\n\t * @readonly\n\t */\n\t@property({ type: Number, reflect: true }) uuid = Math.floor(Math.random() * Date.now())\n\n\t/**\n\t * @attr {string} id - The component tag to teleport\n\t * @required\n\t */\n\t@property({ type: String }) id!: string\n\n\t@property({ type: Number }) delay = 0\n\n\tdebugging = import.meta.env.DEV ? true : false\n\n\tget _slottedChildren() {\n\t\tconst slot = this.shadowRoot.querySelector('slot')\n\t\treturn slot.assignedElements({ flatten: true })\n\t}\n\n\tconnectedCallback(): void {\n\t\tif (this.id === undefined) throw new Error('id is required')\n\t\tsuper.connectedCallback()\n\t\tmerge(\n\t\t\tfromEvent<FINDING_MORTIES_EVENT>(window, FINDING_MORTIES).pipe(\n\t\t\t\ttap({\n\t\t\t\t\tnext: () => {\n\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\tnew CustomEvent<HERE_RICKY_EVENT['detail']>(HERE_RICKY, {\n\t\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\t\tcomponent: this,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t\tfromEvent<WhereAreYouRickyEvent>(window, WhereAreYouRicky).pipe(\n\t\t\t\ttap({\n\t\t\t\t\tnext: e => {\n\t\t\t\t\t\tif (e.detail.id === this.id && this.uuid && e.detail.callerID !== this.uuid) {\n\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\tnew CustomEvent<HereMortyEvent['detail']>(HereMorty, {\n\t\t\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\t\t\tcomponent: this,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe()\n\t}\n\n\tasync firstUpdated() {\n\t\tof(teleportationService.activeTeleportations.get(this.id))\n\t\t\t.pipe(\n\t\t\t\tfilter(a => !!a),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tthrowIfEmpty(),\n\t\t\t)\n\t\t\t.subscribe({\n\t\t\t\tnext: domRect => {\n\t\t\t\t\tconsole.count('teleport')\n\t\t\t\t\tthis.style.setProperty('visibility', 'hidden')\n\t\t\t\t\t// teleport.flipRequests.next({ from: component, to: this, stagger: 0 })\n\t\t\t\t\twatchElementRect(this)\n\t\t\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t\t\t.subscribe({\n\t\t\t\t\t\t\tnext: e => {\n\t\t\t\t\t\t\t\t// console.log(e)\n\t\t\t\t\t\t\t\tteleportationService.activeTeleportations.set(this.id, e)\n\t\t\t\t\t\t\t\tteleport.flipRequests.next({\n\t\t\t\t\t\t\t\t\tfrom: {\n\t\t\t\t\t\t\t\t\t\trect: domRect,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tto: {\n\t\t\t\t\t\t\t\t\t\trect: e,\n\t\t\t\t\t\t\t\t\t\telement: this._slottedChildren[0] as HTMLElement,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\thost: this,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\terror: () => {\n\t\t\t\t\tthis.style.setProperty('visibility', 'visible')\n\t\t\t\t\twatchElementRect(this)\n\t\t\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t\t\t.subscribe({\n\t\t\t\t\t\t\tnext: e => {\n\t\t\t\t\t\t\t\tconsole.log(e)\n\t\t\t\t\t\t\t\tteleportationService.activeTeleportations.set(this.id, e)\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tcomplete: () => {},\n\t\t\t})\n\t}\n\n\trender() {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-teleport': SchmancyTeleportation\n\t}\n}\n"],"names":["SchmancyCardMedia","TailwindElement","css","html","customElement","SchmancyCard","super","arguments","this","type","elevation","classes","includes","classMap","__decorateClass","property","prototype","Number","SchmancyCardContent","render","onSurface","SchmancyTheme","sys","color","surface","on","onSurfaceVariant","onVariant","src","fit","styleMap","height","String","reflect","schmancyContentDrawer","constructor","$drawer","Subject","pipe","subscribe","data","action","ref","dispatchEvent","CustomEvent","SchmancyEvents","ContentDrawerToggle","detail","state","bubbles","composed","component","title","next","e","SchmancyContentDrawerSheetMode","createContext","SchmancyContentDrawerSheetState","SchmancyContentDrawerID","Math","floor","random","Date","now","toString","SchmancyContentDrawerMaxHeight","SchmancyContentDrawerMinWidth","SchmancyContentDrawer","$LitElement","minWidth","main","sheet","schmancyContentDrawerID","maxHeight","merge","fromEvent","window","ContentDrawerResize","startWith","tap","map","clientWidth","innerWidth","width","debounceTime","innerHeight","getOffsetTop","style","setProperty","distinctUntilChanged","takeUntil","disconnecting","lgScreen","mode","open","event","stopPropagation","area","push","historyStrategy","uid","element","offsetTop","offsetParent","nothing","provide","context","queryAssignedElements","flatten","SchmancyContentDrawerMain","connectedCallback","drawerMinWidth","changedProperties","update","has","styles","when","consume","SchmancyContentDrawerSheet","updated","closeAll","dismiss","position","display","animate","opacity","transform","duration","easing","from","closeModalSheet","closeSheet","of","Observable","observer","onfinish","complete","sheetClasses","block","query","slot","undefined","schmancyNavDrawer","distinctUntilKeyChanged","NavDrawer_toggle","self","SchmancyDrawerNavbarMode","SchmancyDrawerNavbarState","SchmancyDrawerAppbar","toggler","sidebarToggler","sidebarMode","hidden","sidebarOpen","Boolean","SchmancyNavigationDrawerContent","parentElement","SchmancyNavigationDrawer","fullscreen","breakpoint","target","fullHeight","attribute","SchmancyNavigationDrawerSidebar","hideNavDrawer","closeOverlay","openOverlay","showNavDrawer","overlay","fill","nav","sidebarClasses","bgColor","container","scrim","WhereAreYouRicky","HereMorty","teleport","activeTeleportations","Map","flipRequests","find","zip","filter","uuid","id","take","callerID","timeout","flip","request","to","originalZIndex","zIndex","transformOrigin","keyframes","rect","left","top","delay","bufferTime","requests","host","i","concatMap","watchElementRect","interval","getBoundingClientRect","prev","curr","right","bottom","SchmancyTeleportation","debugging","shadowRoot","querySelector","assignedElements","Error","FINDING_MORTIES","HERE_RICKY","teleportationService","get","a","throwIfEmpty","domRect","set","_slottedChildren","error"],"mappings":"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"}
1
+ {"version":3,"file":"teleport.component-D4-R4i-G.js","sources":["../src/card/actions.ts","../src/card/card.ts","../src/card/content.ts","../src/card/media.ts","../src/content-drawer/$sheet.ts","../src/content-drawer/context.ts","../src/content-drawer/drawer.ts","../src/content-drawer/main.ts","../src/content-drawer/sheet.ts","../src/nav-drawer/$navbar.ts","../src/nav-drawer/context.ts","../src/nav-drawer/appbar.ts","../src/nav-drawer/content.ts","../src/nav-drawer/drawer.ts","../src/nav-drawer/navbar.ts","../src/teleport/teleport.service.ts","../src/teleport/watcher.ts","../src/teleport/teleport.component.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n/**\n * @element schmancy-card-action\n * @slot - The content of the action\n */\n@customElement('schmancy-card-action')\nexport default class SchmancyCardMedia extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html` <section class=\"pb-4 px-4\"><slot> </slot></section> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-action': SchmancyCardMedia\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-card')\nexport default class SchmancyCard extends TailwindElement() {\n\t@property() type: 'elevated' | 'filled' | 'outlined' = 'elevated'\n\t@property({ type: Number }) elevation: 0 | 1 | 2 | 3 | 4 | 5 = 0\n\tprotected render(): unknown {\n\t\tconst classes = {\n\t\t\t'rounded-md': true,\n\t\t\t'shadow-xs': this.elevation === 1,\n\t\t\t'shadow-sm': this.elevation === 2,\n\t\t\t'shadow-md': this.elevation === 3,\n\t\t\t'shadow-lg': this.elevation === 4,\n\t\t\t'shadow-5': this.elevation === 5,\n\t\t\t'hover:shadow-xs': ['outlined', 'filled'].includes(this.type),\n\t\t\t'bg-surface-low shadow-xs hover:shadow-sm': this.type === 'elevated',\n\t\t\t'bg-surface-highest': this.type === 'filled',\n\t\t\t'bg-surface-default border border-solid border-1 border-outlineVariant': this.type === 'outlined',\n\t\t}\n\t\treturn html`<div class=\"${this.classMap(classes)}\">\n\t\t\t<slot> </slot>\n\t\t</div>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card': SchmancyCard\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { color } from '..'\n\n/**\n * @element schmancy-card-content\n * @slot headline\n * @slot subhead\n * @slot default - The content of the card\n */\n@customElement('schmancy-card-content')\nexport default class SchmancyCardContent extends TailwindElement() {\n\tprotected render(): unknown {\n\t\tconst classes = {\n\t\t\t'px-[16px] py-[24px]': true,\n\t\t}\n\t\tconst onSurface = SchmancyTheme.sys.color.surface.on\n\t\tconst onSurfaceVariant = SchmancyTheme.sys.color.surface.onVariant\n\t\treturn html`<schmancy-grid gap=\"md\" class=\"${this.classMap(classes)}\">\n\t\t\t<schmancy-grid gap=\"xs\">\n\t\t\t\t<schmancy-typography\n\t\t\t\t\t${color({\n\t\t\t\t\t\tcolor: onSurface,\n\t\t\t\t\t})}\n\t\t\t\t\ttype=\"body\"\n\t\t\t\t\ttoken=\"lg\"\n\t\t\t\t\t><slot name=\"headline\"> </slot\n\t\t\t\t></schmancy-typography>\n\t\t\t\t<schmancy-typography\n\t\t\t\t\t${color({\n\t\t\t\t\t\tcolor: onSurfaceVariant,\n\t\t\t\t\t})}\n\t\t\t\t\ttype=\"body\"\n\t\t\t\t\t><slot name=\"subhead\"></slot>\n\t\t\t\t</schmancy-typography>\n\t\t\t</schmancy-grid>\n\t\t\t<schmancy-typography\n\t\t\t\ttype=\"body\"\n\t\t\t\t${color({\n\t\t\t\t\tcolor: onSurfaceVariant,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-typography>\n\t\t</schmancy-grid>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-content': SchmancyCardContent\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n/**\n * @element schmancy-card-media\n */\n@customElement('schmancy-card-media')\nexport default class SchmancyCardMedia extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t@property({ type: String, reflect: true })\n\tsrc: string = ''\n\n\t@property({ type: String })\n\tfit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down' = 'contain'\n\n\tprotected render(): unknown {\n\t\tconst styles = {\n\t\t\theight: '200px',\n\t\t}\n\t\tconst classes = {\n\t\t\t'object-center': true,\n\t\t\t'object-contain': this.fit === 'contain',\n\t\t\t'object-cover w-full': this.fit === 'cover',\n\t\t\t'object-fill': this.fit === 'fill',\n\t\t\t'object-none': this.fit === 'none',\n\t\t\t'object-scale-down': this.fit === 'scale-down',\n\t\t}\n\t\treturn html`<schmancy-grid align=\"stretch\" justify=\"stretch\" gap=\"md\">\n\t\t\t<img src=\"${this.src}\" style=${this.styleMap(styles)} class=\"${this.classMap(classes)}\" />\n\t\t</schmancy-grid>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-media': SchmancyCardMedia\n\t}\n}\n","import { SchmancyEvents } from '@schmancy/types/events'\nimport { Subject } from 'rxjs'\n\ntype DrawerAction = 'dismiss' | 'render'\ntype TRef = Element | Window\ntype TRenderRequest = HTMLElement\nexport type TRenderCustomEvent = CustomEvent<{\n\tcomponent: TRenderRequest\n\ttitle?: string\n}>\nclass Drawer {\n\tprivate $drawer = new Subject<{\n\t\tref: TRef\n\t\taction: DrawerAction\n\t\tcomponent?: TRenderRequest\n\t\ttitle?: string\n\t}>()\n\tconstructor() {\n\t\tthis.$drawer.pipe().subscribe(data => {\n\t\t\tif (data.action === 'dismiss') {\n\t\t\t\tdata.ref.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.ContentDrawerToggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'close',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t} else if (data.action === 'render') {\n\t\t\t\tdata.ref.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.ContentDrawerToggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'open',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\tdata.ref.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('schmancy-content-drawer-render', {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tcomponent: data.component,\n\t\t\t\t\t\t\ttitle: data.title,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t}\n\t\t})\n\t}\n\n\tdimiss(ref: TRef) {\n\t\tthis.$drawer.next({\n\t\t\taction: 'dismiss',\n\t\t\tref: ref,\n\t\t})\n\t}\n\n\trender(ref: TRef, component: TRenderRequest, title?: string) {\n\t\tref.dispatchEvent(new CustomEvent('custom-event'))\n\t\tthis.$drawer.next({\n\t\t\taction: 'render',\n\t\t\tref: ref,\n\t\t\tcomponent: component,\n\t\t\ttitle,\n\t\t})\n\t}\n}\n\nexport const schmancyContentDrawer = new Drawer()\n","import { createContext } from '@lit/context'\nexport type TSchmancyContentDrawerSheetMode = 'push' | 'overlay'\nexport const SchmancyContentDrawerSheetMode = createContext<TSchmancyContentDrawerSheetMode>('push')\n\nexport type TSchmancyContentDrawerSheetState = 'open' | 'close'\nexport const SchmancyContentDrawerSheetState = createContext<TSchmancyContentDrawerSheetState>('close')\n\nexport const SchmancyContentDrawerID = createContext<string>(Math.floor(Math.random() * Date.now()).toString())\nexport const SchmancyContentDrawerMaxHeight = createContext<string>('100%')\nexport const SchmancyContentDrawerMinWidth = createContext<{\n\tmain: number\n\tsheet: number\n}>({})\n","import { provide } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { css, html, nothing } from 'lit'\nimport { customElement, property, queryAssignedElements, state } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, merge, startWith, takeUntil, tap } from 'rxjs'\nimport { SchmancyEvents, TRenderCustomEvent, area, sheet } from '..'\nimport {\n\tSchmancyContentDrawerID,\n\tSchmancyContentDrawerMaxHeight,\n\tSchmancyContentDrawerMinWidth,\n\tSchmancyContentDrawerSheetMode,\n\tSchmancyContentDrawerSheetState,\n\tTSchmancyContentDrawerSheetMode,\n\tTSchmancyContentDrawerSheetState,\n} from './context'\n\n/**\n * @element schmancy-content-drawer\n * @slot appbar - The appbar slot\n * @slot - The content slot\n */\n@customElement('schmancy-content-drawer')\nexport class SchmancyContentDrawer extends $LitElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tinset: 0;\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t}\n`) {\n\t/**\n\t * The minimum width of the sheet\n\t * @attr\tminWidth\n\t * @type {number}\n\t * @memberof SchmancyContentDrawer\n\t */\n\n\t@provide({ context: SchmancyContentDrawerMinWidth })\n\tminWidth: typeof SchmancyContentDrawerMinWidth.__context__ = {\n\t\tmain: 360,\n\t\tsheet: 576,\n\t}\n\n\t/**\n\t * The state of the sheet\n\t * @attr open\n\t * @type {TSchmancyContentDrawerSheetState}\n\t */\n\t@provide({ context: SchmancyContentDrawerSheetState })\n\t@property()\n\topen: TSchmancyContentDrawerSheetState\n\n\t/**\n\t * The mode of the sheet\n\t * @type {TSchmancyContentDrawerSheetMode}\n\t * @memberof SchmancyContentDrawer\n\t * @protected\n\t */\n\t@provide({ context: SchmancyContentDrawerSheetMode })\n\t@state()\n\tmode: TSchmancyContentDrawerSheetMode\n\n\t@provide({ context: SchmancyContentDrawerID })\n\tschmancyContentDrawerID = Math.floor(Math.random() * Date.now()).toString()\n\n\t@provide({ context: SchmancyContentDrawerMaxHeight })\n\tmaxHeight = '100%'\n\n\t@queryAssignedElements({ flatten: true })\n\tassignedElements!: HTMLElement[]\n\tfirstUpdated(): void {\n\t\tmerge(fromEvent<CustomEvent>(window, 'resize'), fromEvent<CustomEvent>(window, SchmancyEvents.ContentDrawerResize))\n\t\t\t.pipe(\n\t\t\t\tstartWith(true),\n\t\t\t\ttap(() => console.log(this.minWidth)),\n\t\t\t\tmap(() => (this.clientWidth ? this.clientWidth : window.innerWidth)),\n\t\t\t\tmap(width => width >= this.minWidth.main + this.minWidth.sheet),\n\t\t\t\tdebounceTime(100),\n\t\t\t\ttap(() => {\n\t\t\t\t\tthis.maxHeight = `${window.innerHeight - this.getOffsetTop(this) - 32}px`\n\t\t\t\t\tthis.style.setProperty('max-height', this.maxHeight)\n\t\t\t\t}),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(lgScreen => {\n\t\t\t\tif (lgScreen) {\n\t\t\t\t\tthis.mode = 'push'\n\t\t\t\t\tthis.open = 'open'\n\t\t\t\t} else {\n\t\t\t\t\tthis.mode = 'overlay'\n\t\t\t\t\tthis.open = 'close'\n\t\t\t\t}\n\t\t\t})\n\n\t\t/*\n\t\t * Listen to the toggle event\n\t\t */\n\t\tfromEvent<CustomEvent>(window, SchmancyEvents.ContentDrawerToggle)\n\t\t\t.pipe(\n\t\t\t\ttap(event => {\n\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t}),\n\t\t\t\tmap(event => event.detail.state),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(state => {\n\t\t\t\tthis.open = state\n\t\t\t})\n\n\t\tfromEvent<TRenderCustomEvent>(window, 'schmancy-content-drawer-render')\n\t\t\t.pipe(\n\t\t\t\ttap(event => {\n\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t}),\n\t\t\t\tmap(event => event.detail),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(({ component, title }) => {\n\t\t\t\tif (this.mode === 'push') {\n\t\t\t\t\t// TODO: Fix the router to render if constructor has different arguments\n\t\t\t\t\tarea.push({\n\t\t\t\t\t\tarea: this.schmancyContentDrawerID,\n\t\t\t\t\t\tcomponent: 'empty',\n\t\t\t\t\t\thistoryStrategy: 'silent',\n\t\t\t\t\t})\n\t\t\t\t\tarea.push({\n\t\t\t\t\t\tarea: this.schmancyContentDrawerID,\n\t\t\t\t\t\tcomponent: component,\n\t\t\t\t\t\thistoryStrategy: 'silent',\n\t\t\t\t\t})\n\t\t\t\t} else if ((this.mode = 'overlay')) {\n\t\t\t\t\tsheet.open({ component: component, uid: this.schmancyContentDrawerID, title })\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tgetOffsetTop(element) {\n\t\tlet offsetTop = 0\n\t\twhile (element) {\n\t\t\toffsetTop += element.offsetTop\n\t\t\telement = element.offsetParent\n\t\t}\n\t\treturn offsetTop\n\t}\n\n\tprotected render() {\n\t\tif (!this.mode || !this.open) return nothing\n\t\treturn html`\n\t\t\t<schmancy-grid\n\t\t\t\tcols=${this.mode === 'overlay' ? '1fr' : 'auto 1fr'}\n\t\t\t\trows=\"1fr\"\n\t\t\t\tflow=\"col\"\n\t\t\t\tjustify=\"stretch\"\n\t\t\t\talign=\"stretch\"\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-grid>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-content-drawer': SchmancyContentDrawer\n\t}\n}\n","import { consume } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { PropertyValueMap, css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { SchmancyEvents } from '..'\nimport {\n\tSchmancyContentDrawerMaxHeight,\n\tSchmancyContentDrawerMinWidth,\n\tSchmancyContentDrawerSheetMode,\n\tTSchmancyContentDrawerSheetMode,\n} from './context'\nimport { when } from 'lit/directives/when.js'\n\n@customElement('schmancy-content-drawer-main')\nexport class SchmancyContentDrawerMain extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t}\n`) {\n\t@property({ type: Number })\n\tminWidth\n\n\t@consume({ context: SchmancyContentDrawerMinWidth, subscribe: true })\n\tdrawerMinWidth: typeof SchmancyContentDrawerMinWidth.__context__\n\n\t@consume({ context: SchmancyContentDrawerSheetMode, subscribe: true })\n\t@state()\n\tmode: TSchmancyContentDrawerSheetMode\n\n\t@consume({ context: SchmancyContentDrawerMaxHeight, subscribe: true })\n\t@state()\n\tmaxHeight\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tif (this.minWidth) this.drawerMinWidth.main = this.minWidth\n\t\telse this.minWidth = this.drawerMinWidth.main\n\t}\n\n\tprotected update(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void {\n\t\tsuper.update(changedProperties)\n\t\tif (changedProperties.has('minWidth') && this.minWidth) {\n\t\t\tthis.drawerMinWidth.main = this.minWidth\n\t\t\tthis.dispatchEvent(new CustomEvent(SchmancyEvents.ContentDrawerResize, { bubbles: true, composed: true }))\n\t\t}\n\t}\n\n\trender() {\n\t\tconst styles = {\n\t\t\tminWidth: `${this.minWidth}px`,\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\t\treturn html`\n\t\t\t<section class=\"relative inset-0 h-full\">\n\t\t\t\t<schmancy-grid\n\t\t\t\t\tclass=\"h-full relative overflow-scroll\"\n\t\t\t\t\tcols=\"${this.mode === 'push' ? 'auto 1fr' : '1fr'}\"\n\t\t\t\t\trows=\"1fr\"\n\t\t\t\t\tflow=\"col\"\n\t\t\t\t\talign=\"stretch\"\n\t\t\t\t\tjustify=\"stretch\"\n\t\t\t\t>\n\t\t\t\t\t<section style=${this.styleMap(styles)}>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</section>\n\t\t\t\t</schmancy-grid>\n\t\t\t\t${when(\n\t\t\t\t\tthis.mode === 'push',\n\t\t\t\t\t() => html` <schmancy-divider class=\"absolute right-0 top-0\" orientation=\"vertical\"></schmancy-divider>`,\n\t\t\t\t)}\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-content-drawer-main': SchmancyContentDrawerMain\n\t}\n}\n","import { consume } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { from, merge, Observable, of, takeUntil, tap } from 'rxjs'\nimport { SchmancyEvents, sheet } from '..'\nimport {\n\tSchmancyContentDrawerID,\n\tSchmancyContentDrawerMaxHeight,\n\tSchmancyContentDrawerMinWidth,\n\tSchmancyContentDrawerSheetMode,\n\tSchmancyContentDrawerSheetState,\n\tTSchmancyContentDrawerSheetMode,\n\tTSchmancyContentDrawerSheetState,\n} from './context'\n\n// --- 1) Removed the custom animate import\n// import { animate } from '@packages/anime-beta-master'\n\n@customElement('schmancy-content-drawer-sheet')\nexport class SchmancyContentDrawerSheet extends $LitElement(css`\n\t:host {\n\t\toverflow: scroll;\n\t}\n`) {\n\t@property({ type: Number })\n\tminWidth\n\n\t@consume({ context: SchmancyContentDrawerSheetMode, subscribe: true })\n\t@state()\n\tmode: TSchmancyContentDrawerSheetMode\n\n\t@consume({ context: SchmancyContentDrawerSheetState, subscribe: true })\n\t@state()\n\tstate: TSchmancyContentDrawerSheetState\n\n\t@consume({ context: SchmancyContentDrawerID })\n\tschmancyContentDrawerID\n\n\t@query('#sheet') sheet!: HTMLElement\n\t@queryAssignedElements({ flatten: true, slot: undefined }) defaultSlot!: HTMLElement[]\n\n\t@consume({ context: SchmancyContentDrawerMinWidth, subscribe: true })\n\tdrawerMinWidth: typeof SchmancyContentDrawerMinWidth.__context__\n\n\t@consume({ context: SchmancyContentDrawerMaxHeight, subscribe: true })\n\t@state()\n\tmaxHeight\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tif (this.minWidth) {\n\t\t\tthis.drawerMinWidth.sheet = this.minWidth\n\t\t} else {\n\t\t\tthis.minWidth = this.drawerMinWidth.sheet\n\t\t}\n\t}\n\n\tupdated(changedProperties: Map<string, any>) {\n\t\tsuper.updated(changedProperties)\n\t\tif (changedProperties.has('minWidth') && this.minWidth) {\n\t\t\t// If the 'minWidth' property changed\n\t\t\tthis.drawerMinWidth.sheet = this.minWidth\n\t\t\tthis.dispatchEvent(new CustomEvent(SchmancyEvents.ContentDrawerResize, { bubbles: true, composed: true }))\n\t\t} else if (changedProperties.has('state') || changedProperties.has('mode')) {\n\t\t\tif (this.mode === 'overlay') {\n\t\t\t\tif (this.state === 'close') {\n\t\t\t\t\tthis.closeAll()\n\t\t\t\t} else if (this.state === 'open') {\n\t\t\t\t\t// Overlay open logic if needed\n\t\t\t\t\t// this.open()\n\t\t\t\t}\n\t\t\t} else if (this.mode === 'push') {\n\t\t\t\tsheet.dismiss(this.schmancyContentDrawerID)\n\t\t\t\tif (this.state === 'close') {\n\t\t\t\t\tthis.closeAll()\n\t\t\t\t} else if (this.state === 'open') {\n\t\t\t\t\tthis.open()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Open the sheet by sliding it into view.\n\t */\n\topen() {\n\t\t// \"onBegin\" logic from the old `animate(...)`\n\t\tif (this.mode === 'overlay') {\n\t\t\tthis.sheet.style.position = 'fixed'\n\t\t} else {\n\t\t\tthis.sheet.style.position = 'relative'\n\t\t}\n\t\tthis.sheet.style.display = 'block'\n\n\t\t// --- 2) Use native Web Animations API ---\n\t\tthis.sheet.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 0, transform: 'translateX(100%)' },\n\t\t\t\t{ opacity: 1, transform: 'translateX(0%)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 500,\n\t\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\t},\n\t\t)\n\t\t// No return is needed if you don't rely on the result\n\t}\n\n\t/**\n\t * Close everything (modal sheet + the sheet itself).\n\t */\n\tcloseAll() {\n\t\t// Merge them into a single subscription,\n\t\t// so that everything closes in parallel.\n\t\tmerge(from(this.closeModalSheet()), from(this.closeSheet())).pipe(takeUntil(this.disconnecting)).subscribe()\n\t}\n\n\t/**\n\t * Dismiss the \"modal sheet.\"\n\t * This just returns an Observable that completes immediately.\n\t */\n\tcloseModalSheet() {\n\t\treturn of(true).pipe(tap(() => sheet.dismiss(this.schmancyContentDrawerID)))\n\t}\n\n\t/**\n\t * Slide the sheet out of view + hide it.\n\t * Return an Observable so we can merge it with other close operations.\n\t */\n\tcloseSheet() {\n\t\t// --- 2) Use native Web Animations API and wrap in an Observable ---\n\t\treturn new Observable<void>(observer => {\n\t\t\tconst animation = this.sheet.animate(\n\t\t\t\t[\n\t\t\t\t\t{ opacity: 1, transform: 'translateX(0%)' },\n\t\t\t\t\t{ opacity: 1, transform: 'translateX(100%)' },\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: 500,\n\t\t\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\t\t},\n\t\t\t)\n\n\t\t\tanimation.onfinish = () => {\n\t\t\t\t// \"onComplete\" logic\n\t\t\t\tthis.sheet.style.display = 'none'\n\t\t\t\tobserver.next()\n\t\t\t\tobserver.complete()\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected render() {\n\t\tconst sheetClasses = {\n\t\t\tblock: this.mode === 'push',\n\t\t\t'absolute z-50': this.mode === 'overlay',\n\t\t\t'opacity-1': this.mode === 'overlay' && this.state === 'open',\n\t\t}\n\n\t\tconst styles = {\n\t\t\tminWidth: `${this.minWidth}px`,\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\n\t\treturn html`\n\t\t\t<section id=\"sheet\" class=\"${this.classMap(sheetClasses)}\" style=${this.styleMap(styles)}>\n\t\t\t\t<schmancy-area name=\"${this.schmancyContentDrawerID}\">\n\t\t\t\t\t<slot name=\"placeholder\"></slot>\n\t\t\t\t</schmancy-area>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-content-drawer-sheet': SchmancyContentDrawerSheet\n\t}\n}\n","import { SchmancyEvents } from '@schmancy/types/events'\nimport { debounceTime, distinctUntilKeyChanged, Subject } from 'rxjs'\n\nclass Drawer {\n\tprivate $drawer = new Subject<{\n\t\tself: HTMLElement\n\t\tstate: boolean\n\t}>()\n\tconstructor() {\n\t\tthis.$drawer.pipe(distinctUntilKeyChanged('state'), debounceTime(100)).subscribe(data => {\n\t\t\tconsole.log('drawer', data)\n\t\t\tif (data.state) {\n\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'open',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'close',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t}\n\t\t})\n\t}\n\topen(self?: HTMLElement) {\n\t\tthis.$drawer.next({\n\t\t\tself,\n\t\t\tstate: true,\n\t\t})\n\t}\n\tclose(self?: HTMLElement) {\n\t\tthis.$drawer.next({\n\t\t\tself,\n\t\t\tstate: false,\n\t\t})\n\t}\n}\n\nexport const schmancyNavDrawer = new Drawer()\n","import { createContext } from '@lit/context'\nexport type TSchmancyDrawerNavbarMode = 'push' | 'overlay' | undefined\nexport const SchmancyDrawerNavbarMode = createContext<TSchmancyDrawerNavbarMode>('push')\n\nexport type TSchmancyDrawerNavbarState = 'open' | 'close' | undefined\nexport const SchmancyDrawerNavbarState = createContext<TSchmancyDrawerNavbarState>('close')\n","import { consume } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport {\n\tSchmancyDrawerNavbarMode,\n\tSchmancyDrawerNavbarState,\n\tTSchmancyDrawerNavbarMode,\n} from '@schmancy/nav-drawer/context'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\nimport { SchmancyEvents } from '..'\n\n/**\n * @element schmancy-nav-drawer-appbar\n * @slot toggler - The toggler slot\n * @slot - The default slot\n */\n@customElement('schmancy-nav-drawer-appbar')\nexport class SchmancyDrawerAppbar extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t@consume({ context: SchmancyDrawerNavbarMode, subscribe: true })\n\t@state()\n\tsidebarMode: TSchmancyDrawerNavbarMode\n\n\t@consume({ context: SchmancyDrawerNavbarState, subscribe: true })\n\t@state()\n\tsidebarOpen\n\n\t@property({ type: Boolean }) toggler = true\n\n\trender() {\n\t\tconst appbarClasses = {\n\t\t\t'block z-50': true,\n\t\t}\n\t\tconst sidebarToggler = {\n\t\t\t'block left-3 z-50': this.sidebarMode === 'overlay',\n\t\t\thidden: this.sidebarMode === 'push',\n\t\t}\n\t\treturn html`\n\t\t\t<schmancy-grid\n\t\t\t\tcols=${this.sidebarMode === 'overlay' && this.toggler ? 'auto 1fr' : '1fr'}\n\t\t\t\tflow=\"col\"\n\t\t\t\tclass=${this.classMap(appbarClasses)}\n\t\t\t\tgap=\"sm\"\n\t\t\t\talign=\"center\"\n\t\t\t>\n\t\t\t\t${when(\n\t\t\t\t\tthis.sidebarMode === 'overlay' && this.toggler,\n\t\t\t\t\t() =>\n\t\t\t\t\t\thtml`<slot name=\"toggler\">\n\t\t\t\t\t\t\t<div class=\"${this.classMap(sidebarToggler)}\">\n\t\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\t\t\t\t\t\t\t\tdetail: { state: this.sidebarOpen === 'open' ? 'close' : 'open' },\n\t\t\t\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t${when(\n\t\t\t\t\t\t\t\t\t\tthis.sidebarOpen === 'close',\n\t\t\t\t\t\t\t\t\t\t() => html`menu`,\n\t\t\t\t\t\t\t\t\t\t() => html`menu_open`,\n\t\t\t\t\t\t\t\t\t)}\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</slot>`,\n\t\t\t\t)}\n\n\t\t\t\t<slot> </slot>\n\t\t\t</schmancy-grid>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer-appbar': SchmancyDrawerAppbar\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n@customElement('schmancy-nav-drawer-content')\nexport class SchmancyNavigationDrawerContent extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tinset: 0;\n\t\toverflow-y: auto;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'scroll')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\tthis.parentElement.dispatchEvent(new CustomEvent('scroll', { detail: e, bubbles: true, composed: true }))\n\t\t\t})\n\t}\n\trender() {\n\t\treturn html` <slot></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer-content': SchmancyNavigationDrawerContent\n\t}\n}\n","import { provide } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { css, html, nothing } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, startWith, takeUntil, tap } from 'rxjs'\nimport { SchmancyEvents } from '..'\nimport { fullHeight } from './../directives/height'\nimport {\n\tSchmancyDrawerNavbarMode,\n\tSchmancyDrawerNavbarState,\n\tTSchmancyDrawerNavbarMode,\n\tTSchmancyDrawerNavbarState,\n} from './context'\n\n/**\n * @element schmancy-nav-drawer\n * @slot appbar - The appbar slot\n * @slot - The content slot\n */\n@customElement('schmancy-nav-drawer')\nexport class SchmancyNavigationDrawer extends $LitElement(css`\n\t:host {\n\t\tdisplay: flex;\n\t\tflex-grow: 1;\n\t\toverflow: hidden;\n\t}\n`) {\n\t// fullscreen property\n\t@property({ type: Boolean })\n\tfullscreen: boolean = false\n\n\t/**\n\t * The minimum width of the sidebar\n\t * @attr\tbreakpoint\n\t * @type {number}\n\t * @memberof SchmancyNavigationDrawer\n\t */\n\t@property({ type: Number, attribute: 'breakpoint' })\n\tbreakpoint: number = 768\n\n\t/**\n\t * The mode of the sidebar\n\t * @type {TSchmancyDrawerNavbarMode}\n\t * @memberof SchmancyNavigationDrawer\n\t * @protected\n\t */\n\t@provide({ context: SchmancyDrawerNavbarMode })\n\t@state()\n\tmode: TSchmancyDrawerNavbarMode\n\n\t@provide({ context: SchmancyDrawerNavbarState })\n\t@property()\n\topen: TSchmancyDrawerNavbarState\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent<CustomEvent>(window, 'resize')\n\t\t\t.pipe(\n\t\t\t\tmap(event => event.target as Window),\n\t\t\t\tstartWith(window),\n\t\t\t\tmap(window => window.innerWidth),\n\t\t\t\tmap(width => width >= this.breakpoint),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tdebounceTime(100),\n\t\t\t)\n\t\t\t.subscribe(lgScreen => {\n\t\t\t\tif (lgScreen) {\n\t\t\t\t\tthis.mode = 'push'\n\t\t\t\t\tthis.open = 'open'\n\t\t\t\t} else {\n\t\t\t\t\tthis.mode = 'overlay'\n\t\t\t\t\tthis.open = 'close'\n\t\t\t\t}\n\t\t\t})\n\n\t\t/*\n\t\t * Listen to the toggle event\n\t\t */\n\t\tfromEvent<CustomEvent>(window, SchmancyEvents.NavDrawer_toggle)\n\t\t\t.pipe(\n\t\t\t\ttap(event => {\n\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t}),\n\t\t\t\tmap(event => event.detail.state),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tdebounceTime(100),\n\t\t\t)\n\t\t\t.subscribe(state => {\n\t\t\t\t// if the mode is push, we don't need to close the overlay when the state is close\n\t\t\t\tif (this.mode === 'push' && state === 'close') return\n\t\t\t\tthis.open = state\n\t\t\t})\n\t}\n\n\tprotected render() {\n\t\tif (!this.mode || !this.open) return nothing\n\t\treturn html`\n\t\t\t<schmancy-grid\n\t\t\t\tcols=${this.fullscreen ? '1fr' : 'auto 1fr'}\n\t\t\t\trows=\"1fr\"\n\t\t\t\tflow=\"col\"\n\t\t\t\tjustify=\"stretch\"\n\t\t\t\talign=\"stretch\"\n\t\t\t\t${fullHeight()}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-grid>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer': SchmancyNavigationDrawer\n\t}\n}\n","import { consume } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { SchmancyEvents, SchmancyTheme, color } from '..'\nimport {\n\tSchmancyDrawerNavbarMode,\n\tSchmancyDrawerNavbarState,\n\tTSchmancyDrawerNavbarMode,\n\tTSchmancyDrawerNavbarState,\n} from './context'\n\n@customElement('schmancy-nav-drawer-navbar')\nexport class SchmancyNavigationDrawerSidebar extends $LitElement() {\n\t@consume({ context: SchmancyDrawerNavbarMode, subscribe: true })\n\t@state()\n\tmode: TSchmancyDrawerNavbarMode\n\n\t@consume({ context: SchmancyDrawerNavbarState, subscribe: true })\n\t@state()\n\tprivate state: TSchmancyDrawerNavbarState\n\n\t@query('#overlay') overlay!: HTMLElement\n\t@query('nav') nav!: HTMLElement\n\n\t@property({ type: String }) width = '320px'\n\n\tupdated(changedProperties: Map<string, any>) {\n\t\tif (changedProperties.has('state')) {\n\t\t\tconsole.log('state changed', this.state, this.mode)\n\t\t\tif (this.mode === 'overlay') {\n\t\t\t\tif (this.state === 'close') {\n\t\t\t\t\tthis.hideNavDrawer()\n\t\t\t\t\tthis.closeOverlay()\n\t\t\t\t} else if (this.state === 'open') {\n\t\t\t\t\tthis.openOverlay()\n\t\t\t\t\tthis.showNavDrawer()\n\t\t\t\t}\n\t\t\t} else if (this.mode === 'push') {\n\t\t\t\tthis.showNavDrawer()\n\t\t\t\tthis.closeOverlay()\n\t\t\t}\n\t\t}\n\t}\n\n\topenOverlay() {\n\t\t// Equivalent to onBegin\n\t\tthis.overlay.style.display = 'block'\n\n\t\t// Animate opacity from 0 to 0.4\n\t\tthis.overlay.animate([{ opacity: 0 }, { opacity: 0.4 }], {\n\t\t\tduration: 200,\n\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\tfill: 'forwards', // <-- This keeps the final keyframe (0.4) after finishing\n\t\t})\n\t\t// If you want an onfinish here, you can add it:\n\t\t// .onfinish = () => console.log('overlay opened!')\n\t}\n\n\tcloseOverlay() {\n\t\t// Animate opacity from 0.4 to 0\n\t\tconst animation = this.overlay.animate([{ opacity: 0.4 }, { opacity: 0 }], {\n\t\t\tduration: 150,\n\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\tfill: 'forwards',\n\t\t})\n\t\t// translateX(-100%) when the animation is finished\n\t\t// Equivalent to onComplete\n\t\tanimation.onfinish = () => {\n\t\t\tthis.overlay.style.display = 'none'\n\t\t}\n\t}\n\n\t// show nav drawer\n\tshowNavDrawer() {\n\t\t// check the transform, skip if already open\n\t\tif (this.nav.style.transform === 'translateX(0)') return\n\t\tconst animation = this.nav.animate([{ transform: 'translateX(-100%)' }, { transform: 'translateX(0)' }], {\n\t\t\tduration: 200,\n\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\tfill: 'forwards',\n\t\t})\n\t\tanimation.onfinish = () => {\n\t\t\tthis.state = 'open'\n\t\t}\n\t}\n\n\t// hide nav drawer\n\thideNavDrawer() {\n\t\t// skip if already closed\n\t\tif (this.nav.style.transform === 'translateX(-100%)') return\n\t\tconst animation = this.nav.animate([{ transform: 'translateX(0)' }, { transform: 'translateX(-100%)' }], {\n\t\t\tduration: 200,\n\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\tfill: 'forwards',\n\t\t})\n\t\tanimation.onfinish = () => {\n\t\t\tthis.state = 'close'\n\t\t}\n\t}\n\n\tprotected render() {\n\t\tconst sidebarClasses = {\n\t\t\t'p-[16px] max-w-[360px] w-fit h-full overflow-auto': true,\n\t\t\tblock: this.mode === 'push',\n\t\t\t'fixed inset-0 z-50': this.mode === 'overlay',\n\t\t}\n\t\tconst overlayClass = {\n\t\t\t'fixed inset-0 z-49 hidden': true,\n\t\t}\n\n\t\tconst styleMap = {\n\t\t\twidth: this.width,\n\t\t}\n\n\t\treturn html`\n\t\t\t<nav\n\t\t\t\tstyle=${this.styleMap(styleMap)}\n\t\t\t\tclass=\"${this.classMap({ ...sidebarClasses })}\"\n\t\t\t\t${color({\n\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.container,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</nav>\n\t\t\t<div\n\t\t\t\tid=\"overlay\"\n\t\t\t\t${color({\n\t\t\t\t\tbgColor: SchmancyTheme.sys.color.scrim,\n\t\t\t\t})}\n\t\t\t\t@click=${() => {\n\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\t\t\tdetail: { state: 'close' },\n\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t}}\n\t\t\t\tclass=\"${this.classMap({ ...overlayClass })}\"\n\t\t\t></div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer-navbar': SchmancyNavigationDrawerSidebar\n\t}\n}\n","import { bufferTime, concatMap, filter, fromEvent, map, of, Subject, take, tap, timeout, zip } from 'rxjs'\nimport { SchmancyTeleportation } from './teleport.component'\n\nexport type WhereAreYouRickyEvent = CustomEvent<{\n\tid: string\n\tcallerID: number\n}>\n\nexport const WhereAreYouRicky = 'whereAreYouRicky'\n\nexport type HereMortyEvent = CustomEvent<{\n\tcomponent: SchmancyTeleportation\n}>\n\nexport type FLIP_REQUEST = {\n\tfrom: {\n\t\trect: DOMRect\n\t\telement?: HTMLElement\n\t}\n\tto: {\n\t\trect: DOMRect\n\t\telement: HTMLElement\n\t}\n\tstagger?: number\n\thost: HTMLElement\n}\nexport const HereMorty = 'hereMorty'\n\nclass Teleportation {\n\tactiveTeleportations = new Map<string, DOMRect>()\n\tflipRequests = new Subject<FLIP_REQUEST>()\n\n\tconstructor() {\n\t\tthis.flipRequests\n\t\t\t.pipe(\n\t\t\t\tbufferTime(1),\n\t\t\t\tmap(requests =>\n\t\t\t\t\trequests.map(({ from, to, host }, i) => ({\n\t\t\t\t\t\tfrom,\n\t\t\t\t\t\tto,\n\t\t\t\t\t\thost,\n\t\t\t\t\t\ti,\n\t\t\t\t\t})),\n\t\t\t\t),\n\t\t\t\tconcatMap(requests => zip(requests.map(request => of(this.flip(request))))),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\tfind = (component: SchmancyTeleportation) => {\n\t\treturn zip([\n\t\t\tfromEvent<HereMortyEvent>(window, HereMorty).pipe(\n\t\t\t\tfilter(\n\t\t\t\t\te =>\n\t\t\t\t\t\t!!e.detail.component.uuid &&\n\t\t\t\t\t\t!!component.id &&\n\t\t\t\t\t\te.detail.component.id === component.id &&\n\t\t\t\t\t\te.detail.component.uuid !== component.uuid,\n\t\t\t\t),\n\t\t\t\tmap(e => e.detail.component),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\tof(component).pipe(\n\t\t\t\ttap(() => {\n\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent<WhereAreYouRickyEvent['detail']>(WhereAreYouRicky, {\n\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\tid: component.id,\n\t\t\t\t\t\t\t\tcallerID: component.uuid,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t}),\n\t\t\t),\n\t\t]).pipe(\n\t\t\tmap(([component]) => component),\n\t\t\ttimeout(0),\n\t\t)\n\t}\n\n\tflip = (request: {\n\t\tfrom: {\n\t\t\trect: DOMRect\n\t\t}\n\t\tto: {\n\t\t\telement: HTMLElement\n\t\t\trect: DOMRect\n\t\t}\n\t\thost: HTMLElement\n\t\ti: number\n\t}) => {\n\t\tconst { from, to } = request\n\n\t\t// Prepare the element for animation\n\t\tconst originalZIndex = to.element.style.zIndex\n\t\tto.element.style.transformOrigin = 'top left'\n\t\tto.element.style.setProperty('visibility', 'visible')\n\t\tto.element.style.zIndex = '1000'\n\n\t\t// \"onBegin\" logic goes here (since Web Animations doesn't have onBegin).\n\t\t// If you had more logic, place it here:\n\t\t// e.g., console.log('Starting FLIP animation...');\n\n\t\t// Calculate starting and ending transforms\n\t\tconst startX = from.rect.left - to.rect.left\n\t\tconst startY = from.rect.top - to.rect.top\n\t\tconst startScaleX = from.rect.width / to.rect.width\n\t\tconst startScaleY = from.rect.height / to.rect.height\n\n\t\t// Create keyframes\n\t\tconst keyframes: Keyframe[] = [\n\t\t\t{\n\t\t\t\ttransform: `translate(${startX}px, ${startY}px) scale(${startScaleX}, ${startScaleY})`,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttransform: 'translate(0, 0) scale(1, 1)',\n\t\t\t},\n\t\t]\n\n\t\t// Use native Web Animations API\n\t\tconst animation = to.element.animate(keyframes, {\n\t\t\tduration: 250,\n\t\t\tdelay: 10, // if desired\n\t\t\t// Approximate 'inOutQuad' via a cubic-bezier easing.\n\t\t\t// You can adjust these values to taste, or use a standard one:\n\t\t\teasing: 'cubic-bezier(0.455, 0.03, 0.515, 0.955)',\n\t\t\t// or simply 'ease-in-out'\n\t\t})\n\n\t\t// \"onComplete\" logic goes here\n\t\tanimation.onfinish = () => {\n\t\t\tto.element.style.zIndex = originalZIndex\n\t\t\tto.element.style.transformOrigin = ''\n\t\t\t// If you have additional cleanup, place it here\n\t\t\t// e.g., console.log('FLIP animation completed!');\n\t\t}\n\t}\n}\n\nexport const teleport = new Teleportation()\nexport default teleport\n","import { Observable, interval } from 'rxjs'\nimport { distinctUntilChanged, map, take } from 'rxjs/operators'\n\n// Function to monitor element's bounding client rect\nexport function watchElementRect(element: Element): Observable<DOMRectReadOnly> {\n\treturn interval(50).pipe(\n\t\t// startWith(true),\n\t\tmap(() => element.getBoundingClientRect()),\n\t\tdistinctUntilChanged(\n\t\t\t(prev, curr) =>\n\t\t\t\tprev.width === curr.width &&\n\t\t\t\tprev.height === curr.height &&\n\t\t\t\tprev.top === curr.top &&\n\t\t\t\tprev.right === curr.right &&\n\t\t\t\tprev.bottom === curr.bottom &&\n\t\t\t\tprev.left === curr.left,\n\t\t),\n\t\ttake(1),\n\t)\n}\n","import { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { filter, fromEvent, merge, of, takeUntil, tap, throwIfEmpty } from 'rxjs'\nimport { FINDING_MORTIES, FINDING_MORTIES_EVENT, HERE_RICKY, HERE_RICKY_EVENT } from '..'\nimport {\n\tHereMorty,\n\tHereMortyEvent,\n\tWhereAreYouRicky,\n\tWhereAreYouRickyEvent,\n\tdefault as teleport,\n\tdefault as teleportationService,\n} from './teleport.service'\nimport { watchElementRect } from './watcher'\nimport { $LitElement } from '@mixins/index'\n@customElement('schmancy-teleport')\nexport class SchmancyTeleportation extends $LitElement(css``) {\n\t/**\n\t * @attr {string} uuid - The component tag to teleport\n\t * @readonly\n\t */\n\t@property({ type: Number, reflect: true }) uuid = Math.floor(Math.random() * Date.now())\n\n\t/**\n\t * @attr {string} id - The component tag to teleport\n\t * @required\n\t */\n\t@property({ type: String }) id!: string\n\n\t@property({ type: Number }) delay = 0\n\n\tdebugging = import.meta.env.DEV ? true : false\n\n\tget _slottedChildren() {\n\t\tconst slot = this.shadowRoot.querySelector('slot')\n\t\treturn slot.assignedElements({ flatten: true })\n\t}\n\n\tconnectedCallback(): void {\n\t\tif (this.id === undefined) throw new Error('id is required')\n\t\tsuper.connectedCallback()\n\t\tmerge(\n\t\t\tfromEvent<FINDING_MORTIES_EVENT>(window, FINDING_MORTIES).pipe(\n\t\t\t\ttap({\n\t\t\t\t\tnext: () => {\n\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\tnew CustomEvent<HERE_RICKY_EVENT['detail']>(HERE_RICKY, {\n\t\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\t\tcomponent: this,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t\tfromEvent<WhereAreYouRickyEvent>(window, WhereAreYouRicky).pipe(\n\t\t\t\ttap({\n\t\t\t\t\tnext: e => {\n\t\t\t\t\t\tif (e.detail.id === this.id && this.uuid && e.detail.callerID !== this.uuid) {\n\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\tnew CustomEvent<HereMortyEvent['detail']>(HereMorty, {\n\t\t\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\t\t\tcomponent: this,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe()\n\t}\n\n\tasync firstUpdated() {\n\t\tof(teleportationService.activeTeleportations.get(this.id))\n\t\t\t.pipe(\n\t\t\t\tfilter(a => !!a),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tthrowIfEmpty(),\n\t\t\t)\n\t\t\t.subscribe({\n\t\t\t\tnext: domRect => {\n\t\t\t\t\tconsole.count('teleport')\n\t\t\t\t\tthis.style.setProperty('visibility', 'hidden')\n\t\t\t\t\t// teleport.flipRequests.next({ from: component, to: this, stagger: 0 })\n\t\t\t\t\twatchElementRect(this)\n\t\t\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t\t\t.subscribe({\n\t\t\t\t\t\t\tnext: e => {\n\t\t\t\t\t\t\t\t// console.log(e)\n\t\t\t\t\t\t\t\tteleportationService.activeTeleportations.set(this.id, e)\n\t\t\t\t\t\t\t\tteleport.flipRequests.next({\n\t\t\t\t\t\t\t\t\tfrom: {\n\t\t\t\t\t\t\t\t\t\trect: domRect,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tto: {\n\t\t\t\t\t\t\t\t\t\trect: e,\n\t\t\t\t\t\t\t\t\t\telement: this._slottedChildren[0] as HTMLElement,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\thost: this,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\terror: () => {\n\t\t\t\t\tthis.style.setProperty('visibility', 'visible')\n\t\t\t\t\twatchElementRect(this)\n\t\t\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t\t\t.subscribe({\n\t\t\t\t\t\t\tnext: e => {\n\t\t\t\t\t\t\t\tconsole.log(e)\n\t\t\t\t\t\t\t\tteleportationService.activeTeleportations.set(this.id, e)\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tcomplete: () => {},\n\t\t\t})\n\t}\n\n\trender() {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-teleport': SchmancyTeleportation\n\t}\n}\n"],"names":["SchmancyCardMedia","TailwindElement","css","html","customElement","SchmancyCard","super","arguments","this","type","elevation","classes","includes","classMap","__decorateClass","property","prototype","Number","SchmancyCardContent","render","onSurface","SchmancyTheme","sys","color","surface","on","onSurfaceVariant","onVariant","src","fit","styleMap","height","String","reflect","schmancyContentDrawer","constructor","$drawer","Subject","pipe","subscribe","data","action","ref","dispatchEvent","CustomEvent","SchmancyEvents","ContentDrawerToggle","detail","state","bubbles","composed","component","title","next","e","SchmancyContentDrawerSheetMode","createContext","SchmancyContentDrawerSheetState","SchmancyContentDrawerID","Math","floor","random","Date","now","toString","SchmancyContentDrawerMaxHeight","SchmancyContentDrawerMinWidth","SchmancyContentDrawer","$LitElement","minWidth","main","sheet","schmancyContentDrawerID","maxHeight","merge","fromEvent","window","ContentDrawerResize","startWith","tap","map","clientWidth","innerWidth","width","debounceTime","innerHeight","getOffsetTop","style","setProperty","distinctUntilChanged","takeUntil","disconnecting","lgScreen","mode","open","event","stopPropagation","area","push","historyStrategy","uid","element","offsetTop","offsetParent","nothing","provide","context","queryAssignedElements","flatten","SchmancyContentDrawerMain","connectedCallback","drawerMinWidth","changedProperties","update","has","styles","when","consume","SchmancyContentDrawerSheet","updated","closeAll","dismiss","position","display","animate","opacity","transform","duration","easing","from","closeModalSheet","closeSheet","of","Observable","observer","onfinish","complete","sheetClasses","block","query","slot","undefined","schmancyNavDrawer","distinctUntilKeyChanged","NavDrawer_toggle","self","SchmancyDrawerNavbarMode","SchmancyDrawerNavbarState","SchmancyDrawerAppbar","toggler","sidebarToggler","sidebarMode","hidden","sidebarOpen","Boolean","SchmancyNavigationDrawerContent","parentElement","SchmancyNavigationDrawer","fullscreen","breakpoint","target","fullHeight","attribute","SchmancyNavigationDrawerSidebar","hideNavDrawer","closeOverlay","openOverlay","showNavDrawer","overlay","fill","nav","sidebarClasses","bgColor","container","scrim","WhereAreYouRicky","HereMorty","teleport","activeTeleportations","Map","flipRequests","find","zip","filter","uuid","id","take","callerID","timeout","flip","request","to","originalZIndex","zIndex","transformOrigin","keyframes","rect","left","top","delay","bufferTime","requests","host","i","concatMap","watchElementRect","interval","getBoundingClientRect","prev","curr","right","bottom","SchmancyTeleportation","debugging","shadowRoot","querySelector","assignedElements","Error","FINDING_MORTIES","HERE_RICKY","teleportationService","get","a","throwIfEmpty","domRect","set","_slottedChildren","error"],"mappings":"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"}
package/dist/teleport.js CHANGED
@@ -1,4 +1,4 @@
1
- import { H as r, o as t, W as a, t as s } from "./teleport.component-BY0slCOl.js";
1
+ import { H as r, o as t, W as a, t as s } from "./teleport.component-D4-R4i-G.js";
2
2
  export {
3
3
  r as HereMorty,
4
4
  t as SchmancyTeleportation,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mhmo91/schmancy",
3
- "version": "0.2.29",
3
+ "version": "0.2.31",
4
4
  "description": "UI library build with web components",
5
5
  "main": "./dist/index.js",
6
6
  "repository": {
@@ -1,5 +1,15 @@
1
1
  declare const SchmancyScroll_base: import("@mixins/index").Constructor<CustomElementConstructor> & import("@mixins/index").Constructor<import("@mixins/index").ITailwindElementMixin> & import("@mixins/index").Constructor<import("lit").LitElement> & import("@mixins/index").Constructor<import("@mixins/index").IBaseMixin>;
2
2
  export declare class SchmancyScroll extends SchmancyScroll_base {
3
+ /**
4
+ * Determines whether the scrollbar is hidden.
5
+ *
6
+ * When `hide` is true, the inner scrollable div receives the `scrollbar-hide` class,
7
+ * which hides scrollbars in supported browsers.
8
+ *
9
+ * @attr hide
10
+ * @example <schmancy-scroll hide></schmancy-scroll>
11
+ */
12
+ hide: boolean;
3
13
  render(): import("lit-html").TemplateResult<1>;
4
14
  }
5
15
  declare global {
@@ -1 +0,0 @@
1
- {"version":3,"file":"scroll-Bl-fR7Vv.js","sources":["../src/layout/layout/layout.ts","../src/layout/flex/flex.ts","../src/layout/grid/grid.ts","../src/layout/scroll/scroll.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { property } from 'lit/decorators.js'\n\nexport default class Layout extends TailwindElement() {\n\tstatic styles = [this.styles]\n\tlayout = true\n\t@property({ type: Boolean }) center: boolean | undefined = undefined\n\t@property({ type: String }) padding: string | undefined\n\t@property({ type: String }) margin: string | undefined\n\t@property({ type: String }) width: string | undefined\n\t@property({ type: String }) height: string | undefined\n\t@property({ type: String }) minWidth: string | undefined\n\t@property({ type: String }) minHeight: string | undefined\n\t@property({ type: String }) maxWidth: string | undefined\n\t@property({ type: String }) maxHeight: string | undefined\n\t@property({ type: String }) display:\n\t\t| 'block'\n\t\t| 'inline-block'\n\t\t| 'inline'\n\t\t| 'flex'\n\t\t| 'inline-flex'\n\t\t| 'grid'\n\t\t| 'inline-grid'\n\t\t| 'table'\n\t\t| 'inline-table'\n\t\t| 'flow-root'\n\t\t| 'none'\n\t\t| undefined = undefined\n\t@property({ type: String }) overflow: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) overflowX: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) overflowY: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) position: 'static' | 'relative' | 'absolute' | 'fixed' | 'sticky' | undefined = undefined\n\t@property({ type: String }) top: string | undefined\n\t@property({ type: String }) right: string | undefined\n\t@property({ type: String }) bottom: string | undefined\n\t@property({ type: String }) left: string | undefined\n\t@property({ type: String }) inset: string | undefined\n\t@property({ type: String }) zIndex: string | undefined\n\n\t@property({ type: String }) border: string | undefined\n\t@property({ type: String }) borderTop: string | undefined\n\t@property({ type: String }) borderRight: string | undefined\n\t@property({ type: String }) borderBottom: string | undefined\n\t@property({ type: String }) borderLeft: string | undefined\n\t@property({ type: String }) borderColor: string | undefined\n\t@property({ type: String }) borderRadius: string | undefined\n\t@property({ type: String }) borderWidth: string | undefined\n\n\t@property({ type: String }) boxShadow: string | undefined\n\t@property({ type: String }) opacity: string | undefined\n\t@property({ type: String }) background: string | undefined\n\t@property({ type: String }) backgroundImage: string | undefined\n\t@property({ type: String }) backgroundPosition: string | undefined\n\t@property({ type: String }) backgroundSize: string | undefined\n\t@property({ type: String }) backgroundRepeat: string | undefined\n\t@property({ type: String }) backgroundAttachment: string | undefined\n\t@property({ type: String }) backgroundColor: string | undefined\n\t@property({ type: String }) backgroundClip: string | undefined\n\t@property({ type: String }) backgroundOrigin: string | undefined\n\t@property({ type: String }) backgroundBlendMode: string | undefined\n\t@property({ type: String }) filter: string | undefined\n\t@property({ type: String }) backdropFilter: string | undefined\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.style.setProperty('padding', this.padding ?? '')\n\t\tthis.style.setProperty('margin', this.margin ?? '')\n\t\tthis.style.setProperty('width', this.width ?? '')\n\t\tthis.style.setProperty('height', this.height ?? '')\n\t\tthis.style.setProperty('min-width', this.minWidth ?? '')\n\t\tthis.style.setProperty('min-height', this.minHeight ?? '')\n\t\tthis.style.setProperty('max-width', this.maxWidth ?? '')\n\t\tthis.style.setProperty('max-height', this.maxHeight ?? '')\n\t\tthis.style.setProperty('display', this.display ?? '')\n\t\tthis.style.setProperty('overflow', this.overflow ?? '')\n\t\tthis.style.setProperty('overflow-x', this.overflowX ?? '')\n\t\tthis.style.setProperty('overflow-y', this.overflowY ?? '')\n\t\tthis.style.setProperty('position', this.position ?? '')\n\t\tthis.style.setProperty('top', this.top ?? '')\n\t\tthis.style.setProperty('right', this.right ?? '')\n\t\tthis.style.setProperty('bottom', this.bottom ?? '')\n\t\tthis.style.setProperty('left', this.left ?? '')\n\t\tthis.style.setProperty('inset', this.inset ?? '')\n\t\tthis.style.setProperty('z-index', this.zIndex ?? '')\n\t\tthis.style.setProperty('border', this.border ?? '')\n\t\tthis.style.setProperty('border-top', this.borderTop ?? '')\n\t\tthis.style.setProperty('border-right', this.borderRight ?? '')\n\t\tthis.style.setProperty('border-bottom', this.borderBottom ?? '')\n\t\tthis.style.setProperty('border-left', this.borderLeft ?? '')\n\t\tthis.style.setProperty('border-color', this.borderColor ?? '')\n\t\tthis.style.setProperty('border-radius', this.borderRadius ?? '')\n\t\tthis.style.setProperty('border-width', this.borderWidth ?? '')\n\t\tthis.style.setProperty('box-shadow', this.boxShadow ?? '')\n\t\tthis.style.setProperty('opacity', this.opacity ?? '')\n\t\tthis.style.setProperty('background', this.background ?? '')\n\t\tthis.style.setProperty('background-image', this.backgroundImage ?? '')\n\t\tthis.style.setProperty('background-position', this.backgroundPosition ?? '')\n\t\tthis.style.setProperty('background-size', this.backgroundSize ?? '')\n\t\tthis.style.setProperty('background-repeat', this.backgroundRepeat ?? '')\n\t\tthis.style.setProperty('background-attachment', this.backgroundAttachment ?? '')\n\t\tthis.style.setProperty('background-color', this.backgroundColor ?? '')\n\t\tthis.style.setProperty('background-clip', this.backgroundClip ?? '')\n\t\tthis.style.setProperty('background-origin', this.backgroundOrigin ?? '')\n\t\tthis.style.setProperty('background-blend-mode', this.backgroundBlendMode ?? '')\n\t\tthis.style.setProperty('filter', this.filter ?? '')\n\t\tthis.style.setProperty('backdrop-filter', this.backdropFilter ?? '')\n\t\tif (this.center) {\n\t\t\tthis.style.setProperty('margin-left', 'auto')\n\t\t\tthis.style.setProperty('margin-right', 'auto')\n\t\t}\n\t}\n}\n","import { html, unsafeCSS } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport Layout from '../layout/layout'\nimport style from './flex.scss?inline'\n@customElement('schmancy-flex')\nexport class SchmancyFlex extends Layout {\n\tstatic styles = [Layout.styles, unsafeCSS(style)]\n\tlayout = true\n\t@property({ type: String, reflect: true }) flow: 'row' | 'row-reverse' | 'col' | 'col-reverse' = 'col'\n\t@property({ type: String, reflect: true }) wrap: 'wrap' | 'nowrap' | 'wrap-reverse' = 'wrap'\n\t@property({ type: String, reflect: true }) align: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'start'\n\t@property({ type: String, reflect: true }) justify: 'start' | 'center' | 'end' | 'stretch' | 'between' = 'start'\n\t@property({ type: String, reflect: true }) gap: 'none' | 'sm' | 'md' | 'lg' = 'none'\n\n\trender() {\n\t\tconst classes = {\n\t\t\tflex: true,\n\t\t\t// Direction\n\t\t\t'flex-col': this.flow === 'row',\n\t\t\t'flex-col-reverse': this.flow === 'row-reverse',\n\t\t\t'flex-row': this.flow === 'col',\n\t\t\t'flex-row-reverse': this.flow === 'col-reverse',\n\t\t\t// Wrap\n\t\t\t'flex-wrap': this.wrap === 'wrap',\n\t\t\t'flex-wrap-reverse': this.wrap === 'wrap-reverse',\n\t\t\t'flex-nowrap': this.wrap === 'nowrap',\n\t\t\t// Align\n\t\t\t'items-start': this.align === 'start',\n\t\t\t'items-center': this.align === 'center',\n\t\t\t'items-end': this.align === 'end',\n\t\t\t'items-stretch': this.align === 'stretch',\n\t\t\t'justify-baseline': this.align === 'baseline',\n\n\t\t\t// Justify\n\t\t\t'justify-center': this.justify === 'center',\n\t\t\t'justify-end': this.justify === 'end',\n\t\t\t'justify-start': this.justify === 'start',\n\t\t\t'justify-stretch': this.justify === 'stretch',\n\t\t\t'justify-between': this.justify === 'between',\n\n\t\t\t// Gap\n\t\t\t'gap-0': this.gap === 'none',\n\t\t\t'gap-2': this.gap === 'sm',\n\t\t\t'gap-4': this.gap === 'md',\n\t\t\t'gap-8': this.gap === 'lg',\n\t\t}\n\n\t\tconst styles = {}\n\t\treturn html`\n\t\t\t<section class=${classMap(classes)} style=${styleMap(styles)}>\n\t\t\t\t<slot></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-flex': SchmancyFlex\n\t}\n}\n","import { html, unsafeCSS } from 'lit'\nimport { customElement, property, queryAssignedElements } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, startWith, takeUntil } from 'rxjs'\nimport Layout from '../layout/layout'\nimport style from './grid.scss?inline'\n\n@customElement('schmancy-grid')\nexport class SchmancyGrid extends Layout {\n\tstatic styles = [Layout.styles, unsafeCSS(style)]\n\tlayout = true\n\t@property({ type: String }) flow: 'row' | 'col' | 'dense' | 'row-dense' | 'col-dense' = 'row'\n\t@property({ type: String }) align: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'stretch'\n\t@property({ type: String }) justify: 'start' | 'center' | 'end' | 'stretch' = 'stretch'\n\t@property({ type: String }) content: 'start' | 'center' | 'end' | 'stretch' | 'around' | 'evenly' | 'between' =\n\t\t'stretch'\n\t@property({ type: String }) gap: 'none' | 'xs' | 'sm' | 'md' | 'lg' = 'none'\n\n\t@property({ type: String }) cols?: string\n\t@property({ type: String }) rows?: string\n\t@property({ type: Object }) rcols?: {\n\t\txs?: string | number\n\t\tsm?: string | number\n\t\tmd?: string | number\n\t\tlg?: string | number\n\t\txl?: string | number\n\t\t'2xl'?: string | number\n\t}\n\n\t@property({ type: Boolean }) wrap = false\n\n\t@queryAssignedElements() assignedElements!: HTMLElement[]\n\n\tfirstUpdated() {\n\t\tif (this.rcols)\n\t\t\tfromEvent<CustomEvent>(window, 'resize')\n\t\t\t\t.pipe(\n\t\t\t\t\tmap(event => event.target as Window),\n\t\t\t\t\tstartWith(1),\n\t\t\t\t\tmap(() => (this.clientWidth ? this.clientWidth : window.innerWidth)),\n\t\t\t\t\tdistinctUntilChanged(),\n\t\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\t\tdebounceTime(10),\n\t\t\t\t\tmap(w => {\n\t\t\t\t\t\tlet cols\n\t\t\t\t\t\tif (this.rcols?.['2xl'] && w >= 1536) cols = this.rcols?.['2xl']\n\t\t\t\t\t\telse if (this.rcols?.xl && w >= 1280) cols = this.rcols?.xl\n\t\t\t\t\t\telse if (this.rcols?.lg && w >= 1024) cols = this.rcols?.lg\n\t\t\t\t\t\telse if (this.rcols?.md && w >= 768) cols = this.rcols?.md\n\t\t\t\t\t\telse if (this.rcols?.sm && w >= 640) cols = this.rcols?.sm\n\t\t\t\t\t\telse if (this.rcols?.xs && w < 640) cols = this.rcols?.xs\n\t\t\t\t\t\treturn cols\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\t.subscribe(cols => {\n\t\t\t\t\tthis.cols = cols\n\t\t\t\t})\n\t}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'h-full': true,\n\t\t\t'grid flex-1': true,\n\t\t\t// flow classes: https://tailwindcss.com/docs/grid-auto-flow\n\t\t\t'grid-flow-row auto-rows-max': this.flow === 'row',\n\t\t\t'grid-flow-col auto-cols-max': this.flow === 'col',\n\t\t\t'grid-flow-row-dense': this.flow === 'row-dense',\n\t\t\t'grid-flow-col-dense': this.flow === 'col-dense',\n\t\t\t'grid-flow-dense': this.flow === 'dense',\n\n\t\t\t'justify-center': this.content === 'center',\n\t\t\t'justify-end': this.content === 'end',\n\t\t\t'justify-start': this.content === 'start',\n\t\t\t'justify-stretch': this.content === 'stretch',\n\t\t\t'justify-between': this.content === 'between',\n\t\t\t'justify-around': this.content === 'around',\n\t\t\t'justify-evenly': this.content === 'evenly',\n\n\t\t\t'justify-items-center': this.justify === 'center',\n\t\t\t'justify-items-end': this.justify === 'end',\n\t\t\t'justify-items-start': this.justify === 'start',\n\t\t\t'justify-items-stretch': this.justify === 'stretch',\n\t\t\t'items-center': this.align === 'center',\n\t\t\t'items-end': this.align === 'end',\n\t\t\t'items-start': this.align === 'start',\n\t\t\t'items-stretch': this.align === 'stretch',\n\t\t\t'items-baseline': this.align === 'baseline',\n\t\t\t'gap-0': this.gap === 'none',\n\t\t\t'gap-1': this.gap === 'xs',\n\t\t\t'gap-2': this.gap === 'sm',\n\t\t\t'gap-4': this.gap === 'md',\n\t\t\t'gap-8': this.gap === 'lg',\n\t\t\t'flex-nowrap': this.wrap,\n\t\t\t'flex-wrap': !this.wrap,\n\t\t}\n\t\tconst style = {\n\t\t\tgridTemplateRows: this.rows ? this.rows : undefined,\n\t\t\tgridTemplateColumns: this.cols ? this.cols : undefined,\n\t\t}\n\t\treturn html`\n\t\t\t<section class=\"${this.classMap(classes)}\" style=${this.styleMap(style)}>\n\t\t\t\t<slot> </slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-grid': SchmancyGrid\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-scroll')\nexport class SchmancyScroll extends TailwindElement(css`\n\t:host {\n\t\theight: 100%;\n\t\twidth: 100%;\n\t\toverflow: hidden;\n\t\tbox-shadow: border-box;\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tinset: 0px;\n\t}\n`) {\n\trender() {\n\t\treturn html` <div class=\"relative inset-0 h-full w-full overscroll-none\">\n\t\t\t<div class=\"h-full w-full inset-0 overflow-x-scroll overflow-y-scroll scroll-smooth overscroll-contain\">\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t</div>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-scroll': SchmancyScroll\n\t}\n}\n"],"names":["Layout","TailwindElement","constructor","super","arguments","this","layout","center","undefined","display","overflow","overflowX","overflowY","position","connectedCallback","style","setProperty","padding","margin","width","height","minWidth","minHeight","maxWidth","maxHeight","top","right","bottom","left","inset","zIndex","border","borderTop","borderRight","borderBottom","borderLeft","borderColor","borderRadius","borderWidth","boxShadow","opacity","background","backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat","backgroundAttachment","backgroundColor","backgroundClip","backgroundOrigin","backgroundBlendMode","filter","backdropFilter","__decorateClass","styles","_u","property","type","Boolean","prototype","String","SchmancyFlex","flow","wrap","align","justify","gap","render","classes","flex","html","classMap","styleMap","unsafeCSS","reflect","customElement","SchmancyGrid","content","rcols","fromEvent","window","pipe","map","event","target","startWith","clientWidth","innerWidth","distinctUntilChanged","takeUntil","disconnecting","debounceTime","w","cols","xl","lg","md","sm","xs","subscribe","gridTemplateRows","rows","gridTemplateColumns","Object","queryAssignedElements","SchmancyScroll","css"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"scroll-DnAxN1uS.cjs","sources":["../src/layout/layout/layout.ts","../src/layout/flex/flex.ts","../src/layout/grid/grid.ts","../src/layout/scroll/scroll.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { property } from 'lit/decorators.js'\n\nexport default class Layout extends TailwindElement() {\n\tstatic styles = [this.styles]\n\tlayout = true\n\t@property({ type: Boolean }) center: boolean | undefined = undefined\n\t@property({ type: String }) padding: string | undefined\n\t@property({ type: String }) margin: string | undefined\n\t@property({ type: String }) width: string | undefined\n\t@property({ type: String }) height: string | undefined\n\t@property({ type: String }) minWidth: string | undefined\n\t@property({ type: String }) minHeight: string | undefined\n\t@property({ type: String }) maxWidth: string | undefined\n\t@property({ type: String }) maxHeight: string | undefined\n\t@property({ type: String }) display:\n\t\t| 'block'\n\t\t| 'inline-block'\n\t\t| 'inline'\n\t\t| 'flex'\n\t\t| 'inline-flex'\n\t\t| 'grid'\n\t\t| 'inline-grid'\n\t\t| 'table'\n\t\t| 'inline-table'\n\t\t| 'flow-root'\n\t\t| 'none'\n\t\t| undefined = undefined\n\t@property({ type: String }) overflow: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) overflowX: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) overflowY: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) position: 'static' | 'relative' | 'absolute' | 'fixed' | 'sticky' | undefined = undefined\n\t@property({ type: String }) top: string | undefined\n\t@property({ type: String }) right: string | undefined\n\t@property({ type: String }) bottom: string | undefined\n\t@property({ type: String }) left: string | undefined\n\t@property({ type: String }) inset: string | undefined\n\t@property({ type: String }) zIndex: string | undefined\n\n\t@property({ type: String }) border: string | undefined\n\t@property({ type: String }) borderTop: string | undefined\n\t@property({ type: String }) borderRight: string | undefined\n\t@property({ type: String }) borderBottom: string | undefined\n\t@property({ type: String }) borderLeft: string | undefined\n\t@property({ type: String }) borderColor: string | undefined\n\t@property({ type: String }) borderRadius: string | undefined\n\t@property({ type: String }) borderWidth: string | undefined\n\n\t@property({ type: String }) boxShadow: string | undefined\n\t@property({ type: String }) opacity: string | undefined\n\t@property({ type: String }) background: string | undefined\n\t@property({ type: String }) backgroundImage: string | undefined\n\t@property({ type: String }) backgroundPosition: string | undefined\n\t@property({ type: String }) backgroundSize: string | undefined\n\t@property({ type: String }) backgroundRepeat: string | undefined\n\t@property({ type: String }) backgroundAttachment: string | undefined\n\t@property({ type: String }) backgroundColor: string | undefined\n\t@property({ type: String }) backgroundClip: string | undefined\n\t@property({ type: String }) backgroundOrigin: string | undefined\n\t@property({ type: String }) backgroundBlendMode: string | undefined\n\t@property({ type: String }) filter: string | undefined\n\t@property({ type: String }) backdropFilter: string | undefined\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.style.setProperty('padding', this.padding ?? '')\n\t\tthis.style.setProperty('margin', this.margin ?? '')\n\t\tthis.style.setProperty('width', this.width ?? '')\n\t\tthis.style.setProperty('height', this.height ?? '')\n\t\tthis.style.setProperty('min-width', this.minWidth ?? '')\n\t\tthis.style.setProperty('min-height', this.minHeight ?? '')\n\t\tthis.style.setProperty('max-width', this.maxWidth ?? '')\n\t\tthis.style.setProperty('max-height', this.maxHeight ?? '')\n\t\tthis.style.setProperty('display', this.display ?? '')\n\t\tthis.style.setProperty('overflow', this.overflow ?? '')\n\t\tthis.style.setProperty('overflow-x', this.overflowX ?? '')\n\t\tthis.style.setProperty('overflow-y', this.overflowY ?? '')\n\t\tthis.style.setProperty('position', this.position ?? '')\n\t\tthis.style.setProperty('top', this.top ?? '')\n\t\tthis.style.setProperty('right', this.right ?? '')\n\t\tthis.style.setProperty('bottom', this.bottom ?? '')\n\t\tthis.style.setProperty('left', this.left ?? '')\n\t\tthis.style.setProperty('inset', this.inset ?? '')\n\t\tthis.style.setProperty('z-index', this.zIndex ?? '')\n\t\tthis.style.setProperty('border', this.border ?? '')\n\t\tthis.style.setProperty('border-top', this.borderTop ?? '')\n\t\tthis.style.setProperty('border-right', this.borderRight ?? '')\n\t\tthis.style.setProperty('border-bottom', this.borderBottom ?? '')\n\t\tthis.style.setProperty('border-left', this.borderLeft ?? '')\n\t\tthis.style.setProperty('border-color', this.borderColor ?? '')\n\t\tthis.style.setProperty('border-radius', this.borderRadius ?? '')\n\t\tthis.style.setProperty('border-width', this.borderWidth ?? '')\n\t\tthis.style.setProperty('box-shadow', this.boxShadow ?? '')\n\t\tthis.style.setProperty('opacity', this.opacity ?? '')\n\t\tthis.style.setProperty('background', this.background ?? '')\n\t\tthis.style.setProperty('background-image', this.backgroundImage ?? '')\n\t\tthis.style.setProperty('background-position', this.backgroundPosition ?? '')\n\t\tthis.style.setProperty('background-size', this.backgroundSize ?? '')\n\t\tthis.style.setProperty('background-repeat', this.backgroundRepeat ?? '')\n\t\tthis.style.setProperty('background-attachment', this.backgroundAttachment ?? '')\n\t\tthis.style.setProperty('background-color', this.backgroundColor ?? '')\n\t\tthis.style.setProperty('background-clip', this.backgroundClip ?? '')\n\t\tthis.style.setProperty('background-origin', this.backgroundOrigin ?? '')\n\t\tthis.style.setProperty('background-blend-mode', this.backgroundBlendMode ?? '')\n\t\tthis.style.setProperty('filter', this.filter ?? '')\n\t\tthis.style.setProperty('backdrop-filter', this.backdropFilter ?? '')\n\t\tif (this.center) {\n\t\t\tthis.style.setProperty('margin-left', 'auto')\n\t\t\tthis.style.setProperty('margin-right', 'auto')\n\t\t}\n\t}\n}\n","import { html, unsafeCSS } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport Layout from '../layout/layout'\nimport style from './flex.scss?inline'\n@customElement('schmancy-flex')\nexport class SchmancyFlex extends Layout {\n\tstatic styles = [Layout.styles, unsafeCSS(style)]\n\tlayout = true\n\t@property({ type: String, reflect: true }) flow: 'row' | 'row-reverse' | 'col' | 'col-reverse' = 'col'\n\t@property({ type: String, reflect: true }) wrap: 'wrap' | 'nowrap' | 'wrap-reverse' = 'wrap'\n\t@property({ type: String, reflect: true }) align: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'start'\n\t@property({ type: String, reflect: true }) justify: 'start' | 'center' | 'end' | 'stretch' | 'between' = 'start'\n\t@property({ type: String, reflect: true }) gap: 'none' | 'sm' | 'md' | 'lg' = 'none'\n\n\trender() {\n\t\tconst classes = {\n\t\t\tflex: true,\n\t\t\t// Direction\n\t\t\t'flex-col': this.flow === 'row',\n\t\t\t'flex-col-reverse': this.flow === 'row-reverse',\n\t\t\t'flex-row': this.flow === 'col',\n\t\t\t'flex-row-reverse': this.flow === 'col-reverse',\n\t\t\t// Wrap\n\t\t\t'flex-wrap': this.wrap === 'wrap',\n\t\t\t'flex-wrap-reverse': this.wrap === 'wrap-reverse',\n\t\t\t'flex-nowrap': this.wrap === 'nowrap',\n\t\t\t// Align\n\t\t\t'items-start': this.align === 'start',\n\t\t\t'items-center': this.align === 'center',\n\t\t\t'items-end': this.align === 'end',\n\t\t\t'items-stretch': this.align === 'stretch',\n\t\t\t'justify-baseline': this.align === 'baseline',\n\n\t\t\t// Justify\n\t\t\t'justify-center': this.justify === 'center',\n\t\t\t'justify-end': this.justify === 'end',\n\t\t\t'justify-start': this.justify === 'start',\n\t\t\t'justify-stretch': this.justify === 'stretch',\n\t\t\t'justify-between': this.justify === 'between',\n\n\t\t\t// Gap\n\t\t\t'gap-0': this.gap === 'none',\n\t\t\t'gap-2': this.gap === 'sm',\n\t\t\t'gap-4': this.gap === 'md',\n\t\t\t'gap-8': this.gap === 'lg',\n\t\t}\n\n\t\tconst styles = {}\n\t\treturn html`\n\t\t\t<section class=${classMap(classes)} style=${styleMap(styles)}>\n\t\t\t\t<slot></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-flex': SchmancyFlex\n\t}\n}\n","import { html, unsafeCSS } from 'lit'\nimport { customElement, property, queryAssignedElements } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, startWith, takeUntil } from 'rxjs'\nimport Layout from '../layout/layout'\nimport style from './grid.scss?inline'\n\n@customElement('schmancy-grid')\nexport class SchmancyGrid extends Layout {\n\tstatic styles = [Layout.styles, unsafeCSS(style)]\n\tlayout = true\n\t@property({ type: String }) flow: 'row' | 'col' | 'dense' | 'row-dense' | 'col-dense' = 'row'\n\t@property({ type: String }) align: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'stretch'\n\t@property({ type: String }) justify: 'start' | 'center' | 'end' | 'stretch' = 'stretch'\n\t@property({ type: String }) content: 'start' | 'center' | 'end' | 'stretch' | 'around' | 'evenly' | 'between' =\n\t\t'stretch'\n\t@property({ type: String }) gap: 'none' | 'xs' | 'sm' | 'md' | 'lg' = 'none'\n\n\t@property({ type: String }) cols?: string\n\t@property({ type: String }) rows?: string\n\t@property({ type: Object }) rcols?: {\n\t\txs?: string | number\n\t\tsm?: string | number\n\t\tmd?: string | number\n\t\tlg?: string | number\n\t\txl?: string | number\n\t\t'2xl'?: string | number\n\t}\n\n\t@property({ type: Boolean }) wrap = false\n\n\t@queryAssignedElements() assignedElements!: HTMLElement[]\n\n\tfirstUpdated() {\n\t\tif (this.rcols)\n\t\t\tfromEvent<CustomEvent>(window, 'resize')\n\t\t\t\t.pipe(\n\t\t\t\t\tmap(event => event.target as Window),\n\t\t\t\t\tstartWith(1),\n\t\t\t\t\tmap(() => (this.clientWidth ? this.clientWidth : window.innerWidth)),\n\t\t\t\t\tdistinctUntilChanged(),\n\t\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\t\tdebounceTime(10),\n\t\t\t\t\tmap(w => {\n\t\t\t\t\t\tlet cols\n\t\t\t\t\t\tif (this.rcols?.['2xl'] && w >= 1536) cols = this.rcols?.['2xl']\n\t\t\t\t\t\telse if (this.rcols?.xl && w >= 1280) cols = this.rcols?.xl\n\t\t\t\t\t\telse if (this.rcols?.lg && w >= 1024) cols = this.rcols?.lg\n\t\t\t\t\t\telse if (this.rcols?.md && w >= 768) cols = this.rcols?.md\n\t\t\t\t\t\telse if (this.rcols?.sm && w >= 640) cols = this.rcols?.sm\n\t\t\t\t\t\telse if (this.rcols?.xs && w < 640) cols = this.rcols?.xs\n\t\t\t\t\t\treturn cols\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\t.subscribe(cols => {\n\t\t\t\t\tthis.cols = cols\n\t\t\t\t})\n\t}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'h-full': true,\n\t\t\t'grid flex-1': true,\n\t\t\t// flow classes: https://tailwindcss.com/docs/grid-auto-flow\n\t\t\t'grid-flow-row auto-rows-max': this.flow === 'row',\n\t\t\t'grid-flow-col auto-cols-max': this.flow === 'col',\n\t\t\t'grid-flow-row-dense': this.flow === 'row-dense',\n\t\t\t'grid-flow-col-dense': this.flow === 'col-dense',\n\t\t\t'grid-flow-dense': this.flow === 'dense',\n\n\t\t\t'justify-center': this.content === 'center',\n\t\t\t'justify-end': this.content === 'end',\n\t\t\t'justify-start': this.content === 'start',\n\t\t\t'justify-stretch': this.content === 'stretch',\n\t\t\t'justify-between': this.content === 'between',\n\t\t\t'justify-around': this.content === 'around',\n\t\t\t'justify-evenly': this.content === 'evenly',\n\n\t\t\t'justify-items-center': this.justify === 'center',\n\t\t\t'justify-items-end': this.justify === 'end',\n\t\t\t'justify-items-start': this.justify === 'start',\n\t\t\t'justify-items-stretch': this.justify === 'stretch',\n\t\t\t'items-center': this.align === 'center',\n\t\t\t'items-end': this.align === 'end',\n\t\t\t'items-start': this.align === 'start',\n\t\t\t'items-stretch': this.align === 'stretch',\n\t\t\t'items-baseline': this.align === 'baseline',\n\t\t\t'gap-0': this.gap === 'none',\n\t\t\t'gap-1': this.gap === 'xs',\n\t\t\t'gap-2': this.gap === 'sm',\n\t\t\t'gap-4': this.gap === 'md',\n\t\t\t'gap-8': this.gap === 'lg',\n\t\t\t'flex-nowrap': this.wrap,\n\t\t\t'flex-wrap': !this.wrap,\n\t\t}\n\t\tconst style = {\n\t\t\tgridTemplateRows: this.rows ? this.rows : undefined,\n\t\t\tgridTemplateColumns: this.cols ? this.cols : undefined,\n\t\t}\n\t\treturn html`\n\t\t\t<section class=\"${this.classMap(classes)}\" style=${this.styleMap(style)}>\n\t\t\t\t<slot> </slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-grid': SchmancyGrid\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-scroll')\nexport class SchmancyScroll extends TailwindElement(css`\n\t:host {\n\t\theight: 100%;\n\t\twidth: 100%;\n\t\toverflow: hidden;\n\t\tbox-shadow: border-box;\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tinset: 0px;\n\t}\n`) {\n\trender() {\n\t\treturn html` <div class=\"relative inset-0 h-full w-full overscroll-none\">\n\t\t\t<div class=\"h-full w-full inset-0 overflow-x-scroll overflow-y-scroll scroll-smooth overscroll-contain\">\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t</div>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-scroll': SchmancyScroll\n\t}\n}\n"],"names":["Layout","TailwindElement","super","arguments","this","layout","center","display","undefined","overflow","overflowX","overflowY","position","connectedCallback","style","setProperty","padding","margin","width","height","minWidth","minHeight","maxWidth","maxHeight","top","right","bottom","left","inset","zIndex","border","borderTop","borderRight","borderBottom","borderLeft","borderColor","borderRadius","borderWidth","boxShadow","opacity","background","backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat","backgroundAttachment","backgroundColor","backgroundClip","backgroundOrigin","backgroundBlendMode","filter","backdropFilter","__decorateClass","styles","_a","property","type","Boolean","prototype","String","SchmancyFlex","constructor","flow","wrap","align","justify","gap","classes","flex","html","classMap","styleMap","unsafeCSS","reflect","customElement","SchmancyGrid","content","rcols","fromEvent","window","pipe","map","event","target","startWith","clientWidth","innerWidth","distinctUntilChanged","takeUntil","disconnecting","debounceTime","w","cols","xl","lg","md","sm","xs","subscribe","gridTemplateRows","rows","gridTemplateColumns","Object","queryAssignedElements","SchmancyScroll","css","render"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"select-Bzf5TEob.cjs","sources":["../src/select/select.ts"],"sourcesContent":["import { computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { color } from '@schmancy/directives'\nimport SchmancyOption from '@schmancy/option/option'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { html } from 'lit'\nimport { customElement, eventOptions, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\nimport style from './select.scss?inline'\n\nexport type SchmancySelectChangeEvent = CustomEvent<{\n\tvalue: string | string[]\n}>\n\n@customElement('schmancy-select')\nexport default class SchmancySelect extends $LitElement(style) {\n\t@property({ type: Boolean }) required = false\n\t@property({ type: String }) placeholder = 'Select an option'\n\t@property({ type: String, reflect: true }) value = ''\n\t@property({ type: Boolean }) multi = false\n\t@property({ type: String }) label = ''\n\t@state() valueLabel = ''\n\t@query('ul') ul!: HTMLUListElement\n\t@query('#overlay') overlay!: HTMLElement\n\t@queryAssignedElements({ flatten: true }) options!: SchmancyOption[]\n\n\tfirstUpdated() {\n\t\tthis.updateDisplayLabel()\n\t}\n\n\tupdateDisplayLabel() {\n\t\tif (this.multi) {\n\t\t\tconst selectedOptions = this.options.filter(o => o.selected).map(o => o.label)\n\t\t\tthis.valueLabel = selectedOptions.length > 0 ? selectedOptions.join(', ') : this.placeholder\n\t\t} else {\n\t\t\tconst selectedOption = this.options.find(o => o.value === this.value)\n\t\t\tthis.valueLabel = selectedOption ? selectedOption.label : this.placeholder\n\t\t}\n\t}\n\n\t@eventOptions({ passive: true })\n\thandleOptionClick(value: string) {\n\t\tif (this.multi) {\n\t\t\tconst option = this.options.find(o => o.value === value)\n\t\t\tif (option) {\n\t\t\t\toption.selected = !option.selected\n\t\t\t}\n\t\t\tthis.updateDisplayLabel()\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('change', {\n\t\t\t\t\tdetail: { value: this.options.filter(o => o.selected).map(o => o.value) },\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} else {\n\t\t\tthis.value = value\n\t\t\tthis.updateDisplayLabel()\n\t\t\tthis.hideOptions()\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('change', {\n\t\t\t\t\tdetail: { value },\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}\n\t}\n\n\tasync showOptions() {\n\t\tthis.ul.removeAttribute('hidden')\n\t\tthis.overlay.removeAttribute('hidden')\n\t\tthis.overlay.style.display = 'block'\n\n\t\t// Position the dropdown using Floating UI\n\t\tconst { x, y } = await computePosition(this.renderRoot.querySelector('div') as HTMLElement, this.ul, {\n\t\t\tplacement: 'bottom-start',\n\t\t\tmiddleware: [\n\t\t\t\toffset(5), // Adds a small gap between the input and the dropdown\n\t\t\t\tflip(), // Automatically flips the dropdown if there's not enough space\n\t\t\t\tshift({ padding: 5 }), // Adjusts the dropdown to stay within the viewport\n\t\t\t],\n\t\t})\n\n\t\tObject.assign(this.ul.style, {\n\t\t\tleft: `${x}px`,\n\t\t\ttop: `${y}px`,\n\t\t\tposition: 'absolute',\n\t\t\tzIndex: '9999', // Ensure it's on top of other elements\n\t\t\tmaxHeight: '25vh', // Limit the height of the dropdown\n\t\t\toverflowY: 'auto', // Enable scrolling if the content is too tall\n\t\t})\n\t}\n\n\thideOptions() {\n\t\tthis.ul.setAttribute('hidden', 'true')\n\t\tthis.overlay.setAttribute('hidden', 'true')\n\t\tthis.overlay.style.display = 'none'\n\t}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'absolute z-30 mt-1 w-full overflow-auto rounded-md shadow-sm': true,\n\t\t}\n\t\treturn html`\n\t\t\t<div class=\"relative\">\n\t\t\t\t<schmancy-input\n\t\t\t\t\t.label=${this.label}\n\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t@click=${() => this.showOptions()}\n\t\t\t\t\t.value=${this.valueLabel}\n\t\t\t\t\treadonly\n\t\t\t\t\tclickable\n\t\t\t\t>\n\t\t\t\t\t${this.valueLabel}\n\t\t\t\t</schmancy-input>\n\n\t\t\t\t<div\n\t\t\t\t\tid=\"overlay\"\n\t\t\t\t\thidden\n\t\t\t\t\tclass=\"fixed inset-0\"\n\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\tthis.hideOptions()\n\t\t\t\t\t}}\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t></div>\n\t\t\t\t<ul\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\tclass=${this.classMap(classes)}\n\t\t\t\t\tid=\"options\"\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\thidden\n\t\t\t\t\t@click=${(e: Event) => this.handleOptionClick((e.target as SchmancyOption).value)}\n\t\t\t\t\t${color({ bgColor: SchmancyTheme.sys.color.surface.container })}\n\t\t\t\t>\n\t\t\t\t\t<slot @slotchange=${() => this.updateDisplayLabel()} tabindex=\"0\"></slot>\n\t\t\t\t\t${when(\n\t\t\t\t\t\tthis.multi,\n\t\t\t\t\t\t() => html`\n\t\t\t\t\t\t\t<li id=\"confirm\" class=\"py-2\" tabindex=\"-1\">\n\t\t\t\t\t\t\t\t<schmancy-grid justify=\"center\">\n\t\t\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\t\t\t\tthis.hideOptions()\n\t\t\t\t\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\t\t\t\t\tnew CustomEvent('change', {\n\t\t\t\t\t\t\t\t\t\t\t\t\tdetail: { value: this.options.filter(o => o.selected).map(o => o.value) },\n\t\t\t\t\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcomposed: true,\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)\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tvariant=\"filled\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tsave\n\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t</schmancy-grid>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t`,\n\t\t\t\t\t)}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-select': SchmancySelect\n\t}\n}\n"],"names":["SchmancySelect","$LitElement","super","arguments","this","required","placeholder","value","multi","label","valueLabel","updateDisplayLabel","selectedOptions","options","filter","o","selected","map","length","join","selectedOption","find","option","dispatchEvent","CustomEvent","detail","bubbles","composed","hideOptions","ul","removeAttribute","overlay","style","display","x","y","computePosition","renderRoot","querySelector","placement","middleware","offset","flip","shift","padding","Object","assign","left","top","position","zIndex","maxHeight","overflowY","setAttribute","html","showOptions","e","stopPropagation","preventDefault","classMap","handleOptionClick","target","color","bgColor","SchmancyTheme","sys","surface","container","when","__decorateClass","property","type","Boolean","prototype","String","reflect","state","query","queryAssignedElements","flatten","eventOptions","passive","customElement"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"select-CR2mQf_Q.js","sources":["../src/select/select.ts"],"sourcesContent":["import { computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { color } from '@schmancy/directives'\nimport SchmancyOption from '@schmancy/option/option'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { html } from 'lit'\nimport { customElement, eventOptions, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\nimport style from './select.scss?inline'\n\nexport type SchmancySelectChangeEvent = CustomEvent<{\n\tvalue: string | string[]\n}>\n\n@customElement('schmancy-select')\nexport default class SchmancySelect extends $LitElement(style) {\n\t@property({ type: Boolean }) required = false\n\t@property({ type: String }) placeholder = 'Select an option'\n\t@property({ type: String, reflect: true }) value = ''\n\t@property({ type: Boolean }) multi = false\n\t@property({ type: String }) label = ''\n\t@state() valueLabel = ''\n\t@query('ul') ul!: HTMLUListElement\n\t@query('#overlay') overlay!: HTMLElement\n\t@queryAssignedElements({ flatten: true }) options!: SchmancyOption[]\n\n\tfirstUpdated() {\n\t\tthis.updateDisplayLabel()\n\t}\n\n\tupdateDisplayLabel() {\n\t\tif (this.multi) {\n\t\t\tconst selectedOptions = this.options.filter(o => o.selected).map(o => o.label)\n\t\t\tthis.valueLabel = selectedOptions.length > 0 ? selectedOptions.join(', ') : this.placeholder\n\t\t} else {\n\t\t\tconst selectedOption = this.options.find(o => o.value === this.value)\n\t\t\tthis.valueLabel = selectedOption ? selectedOption.label : this.placeholder\n\t\t}\n\t}\n\n\t@eventOptions({ passive: true })\n\thandleOptionClick(value: string) {\n\t\tif (this.multi) {\n\t\t\tconst option = this.options.find(o => o.value === value)\n\t\t\tif (option) {\n\t\t\t\toption.selected = !option.selected\n\t\t\t}\n\t\t\tthis.updateDisplayLabel()\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('change', {\n\t\t\t\t\tdetail: { value: this.options.filter(o => o.selected).map(o => o.value) },\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} else {\n\t\t\tthis.value = value\n\t\t\tthis.updateDisplayLabel()\n\t\t\tthis.hideOptions()\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('change', {\n\t\t\t\t\tdetail: { value },\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}\n\t}\n\n\tasync showOptions() {\n\t\tthis.ul.removeAttribute('hidden')\n\t\tthis.overlay.removeAttribute('hidden')\n\t\tthis.overlay.style.display = 'block'\n\n\t\t// Position the dropdown using Floating UI\n\t\tconst { x, y } = await computePosition(this.renderRoot.querySelector('div') as HTMLElement, this.ul, {\n\t\t\tplacement: 'bottom-start',\n\t\t\tmiddleware: [\n\t\t\t\toffset(5), // Adds a small gap between the input and the dropdown\n\t\t\t\tflip(), // Automatically flips the dropdown if there's not enough space\n\t\t\t\tshift({ padding: 5 }), // Adjusts the dropdown to stay within the viewport\n\t\t\t],\n\t\t})\n\n\t\tObject.assign(this.ul.style, {\n\t\t\tleft: `${x}px`,\n\t\t\ttop: `${y}px`,\n\t\t\tposition: 'absolute',\n\t\t\tzIndex: '9999', // Ensure it's on top of other elements\n\t\t\tmaxHeight: '25vh', // Limit the height of the dropdown\n\t\t\toverflowY: 'auto', // Enable scrolling if the content is too tall\n\t\t})\n\t}\n\n\thideOptions() {\n\t\tthis.ul.setAttribute('hidden', 'true')\n\t\tthis.overlay.setAttribute('hidden', 'true')\n\t\tthis.overlay.style.display = 'none'\n\t}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'absolute z-30 mt-1 w-full overflow-auto rounded-md shadow-sm': true,\n\t\t}\n\t\treturn html`\n\t\t\t<div class=\"relative\">\n\t\t\t\t<schmancy-input\n\t\t\t\t\t.label=${this.label}\n\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t@click=${() => this.showOptions()}\n\t\t\t\t\t.value=${this.valueLabel}\n\t\t\t\t\treadonly\n\t\t\t\t\tclickable\n\t\t\t\t>\n\t\t\t\t\t${this.valueLabel}\n\t\t\t\t</schmancy-input>\n\n\t\t\t\t<div\n\t\t\t\t\tid=\"overlay\"\n\t\t\t\t\thidden\n\t\t\t\t\tclass=\"fixed inset-0\"\n\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\tthis.hideOptions()\n\t\t\t\t\t}}\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t></div>\n\t\t\t\t<ul\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\tclass=${this.classMap(classes)}\n\t\t\t\t\tid=\"options\"\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\thidden\n\t\t\t\t\t@click=${(e: Event) => this.handleOptionClick((e.target as SchmancyOption).value)}\n\t\t\t\t\t${color({ bgColor: SchmancyTheme.sys.color.surface.container })}\n\t\t\t\t>\n\t\t\t\t\t<slot @slotchange=${() => this.updateDisplayLabel()} tabindex=\"0\"></slot>\n\t\t\t\t\t${when(\n\t\t\t\t\t\tthis.multi,\n\t\t\t\t\t\t() => html`\n\t\t\t\t\t\t\t<li id=\"confirm\" class=\"py-2\" tabindex=\"-1\">\n\t\t\t\t\t\t\t\t<schmancy-grid justify=\"center\">\n\t\t\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\t\t\t\tthis.hideOptions()\n\t\t\t\t\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\t\t\t\t\tnew CustomEvent('change', {\n\t\t\t\t\t\t\t\t\t\t\t\t\tdetail: { value: this.options.filter(o => o.selected).map(o => o.value) },\n\t\t\t\t\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcomposed: true,\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)\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tvariant=\"filled\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tsave\n\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t</schmancy-grid>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t`,\n\t\t\t\t\t)}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-select': SchmancySelect\n\t}\n}\n"],"names":["SchmancySelect","$LitElement","constructor","super","arguments","this","required","placeholder","value","multi","label","valueLabel","updateDisplayLabel","selectedOptions","options","filter","o","selected","map","length","join","selectedOption","find","option","dispatchEvent","CustomEvent","detail","bubbles","composed","hideOptions","ul","removeAttribute","overlay","style","display","x","y","computePosition","renderRoot","querySelector","placement","middleware","offset","flip","shift","padding","Object","assign","left","top","position","zIndex","maxHeight","overflowY","setAttribute","render","html","showOptions","e","stopPropagation","preventDefault","classMap","handleOptionClick","target","color","bgColor","SchmancyTheme","sys","surface","container","when","__decorateClass","property","type","Boolean","prototype","String","reflect","state","query","queryAssignedElements","flatten","eventOptions","passive","customElement"],"mappings":"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"}