@mhmo91/schmancy 0.2.98 → 0.2.100

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheet-CMTmiZXv.cjs","sources":["../src/sheet/header.ts","../src/sheet/sheet.service.ts","../src/sheet/sheet.ts","../src/sheet/hook.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-sheet-header')\nexport default class SchmancySheetHeader extends TailwindElement() {\n\t@property() title: string\n\trender() {\n\t\tconst classes = {\n\t\t\tabsolute: this.title.length === 0,\n\t\t\trelative: this.title.length > 0,\n\t\t}\n\t\treturn html`\n\t\t\t<schmancy-grid class=\"${this.classMap(classes)}\" align=\"center\" justify=\"stretch\" cols=\"auto 1fr auto\">\n\t\t\t\t<slot name=\"back\">\n\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\tnew CustomEvent('dismiss', {\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\t\t<span class=\"text-[24px]\">&#8592; </span>\n\t\t\t\t\t</schmancy-button>\n\t\t\t\t</slot>\n\t\t\t\t<schmancy-typography transform=\"capitalize\" type=\"headline\" token=\"lg\"> ${this.title} </schmancy-typography>\n\t\t\t\t<slot name=\"actions\">\n\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\tnew CustomEvent('dismiss', {\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\t\tclose\n\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t</slot>\n\t\t\t</schmancy-grid>\n\t\t`\n\t}\n}\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-sheet-header': SchmancySheetHeader\n\t}\n}\n","import {\n\tdefaultIfEmpty,\n\tdelay,\n\tfilter,\n\tforkJoin,\n\tfromEvent,\n\tmap,\n\tmergeMap,\n\tof,\n\tSubject,\n\tswitchMap,\n\ttake,\n\ttakeUntil,\n\ttap,\n\ttimer,\n} from 'rxjs'\nimport SchmancySheet from './sheet'\n\nexport enum SchmancySheetPosition {\n\tSide = 'side',\n\tBottom = 'bottom',\n\t/**\n\t * @deprecated use bottom instead\n\t */\n\tBottomCenter = 'bottom-center',\n\t/**\n\t * @deprecated use side instead\n\t */\n\tTopRight = 'top-right',\n\t/**\n\t * @deprecated use side instead\n\t */\n\tBottomRight = 'bottom-right',\n}\n\ntype BottomSheeetTarget = {\n\tcomponent: HTMLElement\n\tuid?: string\n\tposition?: SchmancySheetPosition\n\tpersist?: boolean\n\tclose?: () => void\n\tallowOverlyDismiss?: boolean\n\ttitle?: string\n\theader?: 'hidden' | 'visible'\n}\n\n// Events for communication between bottom-sheet component and bottom-sheet.service\nexport type SheetWhereAreYouRickyEvent = CustomEvent<{\n\tuid: string\n}>\nexport const SheetWhereAreYouRicky = 'are-you-there-sheet'\n\nexport type SheetHereMortyEvent = CustomEvent<{\n\tsheet: SchmancySheet\n}>\nexport const SheetHereMorty = 'yes-here'\n\n// Function to determine the position based on screen size\nconst getPosition = (): SchmancySheetPosition => {\n\treturn window.innerWidth >= 768 ? SchmancySheetPosition.Side : SchmancySheetPosition.Bottom // Adjust 768 as needed for your breakpoint\n}\n\nclass BottomSheetService {\n\tbottomSheet = new Subject<BottomSheeetTarget>()\n\t$dismiss = new Subject<string>()\n\tconstructor() {\n\t\tthis.bottomSheet\n\t\t\t.pipe(\n\t\t\t\tswitchMap(target =>\n\t\t\t\t\tforkJoin([\n\t\t\t\t\t\tfromEvent<SheetHereMortyEvent>(window, SheetHereMorty).pipe(\n\t\t\t\t\t\t\ttakeUntil(timer(0)),\n\t\t\t\t\t\t\tmap(e => e.detail.sheet),\n\t\t\t\t\t\t\tdefaultIfEmpty(undefined),\n\t\t\t\t\t\t),\n\t\t\t\t\t\tof(target).pipe(\n\t\t\t\t\t\t\ttap(() => {\n\t\t\t\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\t\t\t\tnew CustomEvent(SheetWhereAreYouRicky, {\n\t\t\t\t\t\t\t\t\t\tdetail: { uid: target.uid ?? target.component.tagName },\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}),\n\t\t\t\t\t\t),\n\t\t\t\t\t]),\n\t\t\t\t),\n\t\t\t\tmap(([sheet, target]) => {\n\t\t\t\t\tconsole.log(sheet, target)\n\t\t\t\t\tif (!sheet) {\n\t\t\t\t\t\t// if sheet is not found, create it\n\t\t\t\t\t\tsheet = document.createElement('schmancy-sheet')\n\t\t\t\t\t\tdocument.body.appendChild(sheet)\n\t\t\t\t\t}\n\t\t\t\t\tsheet.setAttribute('uid', target.uid ?? target.component.tagName)\n\n\t\t\t\t\t// **Use the dynamic position function here**\n\t\t\t\t\tconst position = target.position || getPosition() // Use target.position if it's set, otherwise determine based on screen size\n\t\t\t\t\tsheet.setAttribute('position', position)\n\n\t\t\t\t\tsheet.setAttribute('allowOverlyDismiss', target.allowOverlyDismiss === false ? 'false' : 'true')\n\t\t\t\t\ttarget.title && sheet.setAttribute('title', target.title)\n\t\t\t\t\ttarget.persist && sheet.setAttribute('persist', target.persist ?? false)\n\t\t\t\t\ttarget.header && sheet.setAttribute('header', target.header)\n\t\t\t\t\tdocument.body.style.overflow = 'hidden' // lock the scroll of the host\n\t\t\t\t\treturn { target, sheet }\n\t\t\t\t}),\n\t\t\t\tdelay(20),\n\t\t\t\tfilter(({ target, sheet }) => {\n\t\t\t\t\t// if the sheet has already the component, just show it\n\t\t\t\t\tif (\n\t\t\t\t\t\ttarget.persist &&\n\t\t\t\t\t\tsheet?.shadowRoot\n\t\t\t\t\t\t\t?.querySelector('slot')\n\t\t\t\t\t\t\t?.assignedElements()\n\t\t\t\t\t\t\t.find(e => e.tagName === target.component.tagName)\n\t\t\t\t\t) {\n\t\t\t\t\t\tsheet?.setAttribute('open', 'true')\n\t\t\t\t\t\treturn false\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn true // if the sheet does not have the component, continue to the next step\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\ttap(({ target, sheet }) => {\n\t\t\t\t\tsheet?.appendChild(target.component)\n\t\t\t\t}),\n\t\t\t\tdelay(1),\n\t\t\t\ttap(({ sheet }) => {\n\t\t\t\t\tsheet?.setAttribute('open', 'true')\n\t\t\t\t}),\n\t\t\t\ttap(({ sheet }) => {\n\t\t\t\t\tfromEvent<CustomEvent>(sheet, 'close')\n\t\t\t\t\t\t.pipe(take(1))\n\t\t\t\t\t\t.pipe(delay(300))\n\t\t\t\t\t\t.subscribe(e => {\n\t\t\t\t\t\t\tconst target = e.target as SchmancySheet\n\t\t\t\t\t\t\tconsole.log(target)\n\n\t\t\t\t\t\t\tif (!target?.persist) target?.remove()\n\t\t\t\t\t\t\tdocument.body.style.overflow = 'auto' // unlock the scroll of the host\n\t\t\t\t\t\t})\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\n\t\tthis.$dismiss\n\t\t\t.pipe(\n\t\t\t\tmergeMap(uid =>\n\t\t\t\t\tforkJoin([\n\t\t\t\t\t\tfromEvent<SheetHereMortyEvent>(window, SheetHereMorty).pipe(\n\t\t\t\t\t\t\ttakeUntil(timer(100)), // Some people say why 10? I say why not?\n\t\t\t\t\t\t\tmap(e => e.detail.sheet),\n\t\t\t\t\t\t\tdefaultIfEmpty(undefined),\n\t\t\t\t\t\t),\n\t\t\t\t\t\tof(uid).pipe(\n\t\t\t\t\t\t\ttap(() => {\n\t\t\t\t\t\t\t\twindow.dispatchEvent(new CustomEvent(SheetWhereAreYouRicky, { detail: { uid } }))\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\ttap(([sheet]) => {\n\t\t\t\t\tsheet?.closeSheet()\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\tdismiss(uid: string) {\n\t\tthis.$dismiss.next(uid)\n\t}\n\n\topen(target: BottomSheeetTarget) {\n\t\tthis.bottomSheet.next(target)\n\t}\n}\nexport const sheet = new BottomSheetService()\n","import { $LitElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property, query, queryAssignedElements } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when'\nimport { fromEvent, merge, takeUntil, tap } from 'rxjs'\nimport { on } from './hook'\nimport style from './sheet.scss?inline'\nimport {\n\tSchmancySheetPosition,\n\tSheetHereMorty,\n\tSheetWhereAreYouRicky,\n\tSheetWhereAreYouRickyEvent,\n\tsheet,\n} from './sheet.service'\n\n@customElement('schmancy-sheet')\nexport default class SchmancySheet extends $LitElement(style) {\n\t@property({ type: String, reflect: true }) uid!: string\n\t@property({ type: Boolean, reflect: true }) open = false\n\t@property({ type: String, reflect: true }) header: 'hidden' | 'visible' = 'visible'\n\t@property({ type: String, reflect: true }) position: SchmancySheetPosition = SchmancySheetPosition.Side\n\t@property({ type: Boolean, reflect: true }) persist = false\n\t@property({ type: Boolean, reflect: true }) allowOverlayDismiss = true\n\t@property({ type: String, reflect: true }) title = ''\n\n\t@query('.sheet') private sheet!: HTMLElement\n\t@queryAssignedElements({ flatten: true }) private assignedElements!: HTMLElement[]\n\n\t@property() focusAttribute = 'autofocus'\n\tprivate lastFocusedElement: HTMLElement | null = null\n\n\t@on('open')\n\tonOpenChange(_oldValue: boolean, newValue: boolean) {\n\t\tif (newValue) {\n\t\t\tthis.lastFocusedElement = document.activeElement as HTMLElement\n\t\t\tthis.addFocusTrap()\n\t\t\tthis.focus()\n\t\t} else {\n\t\t\tthis.removeFocusTrap()\n\t\t\tthis.lastFocusedElement?.focus()\n\t\t\tthis.lastFocusedElement = null\n\t\t}\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis.setupEventListeners()\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.disconnecting.next(true)\n\t}\n\n\tprivate setupEventListeners() {\n\t\t// Handle browser back button\n\t\tconst popState$ = fromEvent<PopStateEvent>(window, 'popstate').pipe(\n\t\t\ttap(e => {\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.closeSheet()\n\t\t\t}),\n\t\t)\n\n\t\t// Handle ESC key\n\t\tconst keyUp$ = fromEvent<KeyboardEvent>(window, 'keyup').pipe(\n\t\t\ttap(event => {\n\t\t\t\tif (event.key === 'Escape' && !this.sheetContainsFocus()) {\n\t\t\t\t\tsheet.dismiss(this.uid)\n\t\t\t\t}\n\t\t\t}),\n\t\t)\n\n\t\t// Handle inter-component communication\n\t\tconst rickyComm$ = fromEvent<SheetWhereAreYouRickyEvent>(window, SheetWhereAreYouRicky).pipe(\n\t\t\ttap(e => {\n\t\t\t\tif (e.detail.uid === this.uid) this.announcePresence()\n\t\t\t}),\n\t\t)\n\n\t\tmerge(popState$, keyUp$, rickyComm$).pipe(takeUntil(this.disconnecting)).subscribe()\n\t}\n\n\tprivate sheetContainsFocus(): boolean {\n\t\treturn this.sheet?.contains(document.activeElement) ?? false\n\t}\n\n\tprivate announcePresence() {\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent(SheetHereMorty, {\n\t\t\t\tdetail: { sheet: this },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate addFocusTrap() {\n\t\tdocument.addEventListener('focusin', this.handleFocusIn)\n\t}\n\n\tprivate removeFocusTrap() {\n\t\tdocument.removeEventListener('focusin', this.handleFocusIn)\n\t}\n\n\tprivate handleFocusIn = (e: Event) => {\n\t\tif (!this.sheet?.contains(e.target as Node)) {\n\t\t\tthis.focus()\n\t\t}\n\t}\n\n\tsetIsSheetShown(isShown: boolean) {\n\t\tthis.sheet?.setAttribute('aria-hidden', String(!isShown))\n\t\tthis.sheet?.setAttribute('aria-modal', String(isShown))\n\t}\n\n\tcloseSheet() {\n\t\tthis.open = false\n\t\tthis.dispatchEvent(new CustomEvent('close'))\n\t}\n\n\tprivate getFocusElement(): HTMLElement | null {\n\t\tconst selector = `[${this.focusAttribute}]`\n\t\treturn (this.assignedElements.find(el => el.matches(selector) || el.querySelector(selector)) as HTMLElement) ?? null\n\t}\n\n\toverride focus() {\n\t\tthis.getFocusElement()?.focus()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"sheet\" role=\"dialog\" aria-labelledby=\"sheet-title\" aria-hidden=${!this.open} aria-modal=${this.open}>\n\t\t\t\t<div\n\t\t\t\t\tclass=\"overlay\"\n\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\tif (this.allowOverlayDismiss) sheet.dismiss(this.uid)\n\t\t\t\t\t}}\n\t\t\t\t></div>\n\t\t\t\t<schmancy-grid\n\t\t\t\t\trows=${this.header === 'hidden' ? '1fr' : 'auto 1fr'}\n\t\t\t\t\tclass=\"content w-full\"\n\t\t\t\t\tdata-position=${this.position}\n\t\t\t\t>\n\t\t\t\t\t${when(\n\t\t\t\t\t\tthis.header !== 'hidden',\n\t\t\t\t\t\t() =>\n\t\t\t\t\t\t\thtml`<schmancy-sheet-header\n\t\t\t\t\t\t\t\tclass=\"sticky top-0 z-50 w-full\"\n\t\t\t\t\t\t\t\t@dismiss=${(e: CustomEvent) => {\n\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\tsheet.dismiss(this.uid)\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tid=\"sheet-title\"\n\t\t\t\t\t\t\t\ttitle=${this.title}\n\t\t\t\t\t\t\t></schmancy-sheet-header>`,\n\t\t\t\t\t)}\n\n\t\t\t\t\t<schmancy-surface rounded=\"left\" fill=\"all\" id=\"body\" class=\"overflow-auto\" type=\"surface\">\n\t\t\t\t\t\t<schmancy-scroll> <slot></slot></schmancy-scroll>\n\t\t\t\t\t</schmancy-surface>\n\t\t\t\t</schmancy-grid>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-sheet': SchmancySheet\n\t}\n}\n","// @watch decorator\n//\n// Runs when an observed property changes, e.g. @property or @state, but before the component updates.\n//\n// To wait for an update to complete after a change occurs, use `await this.updateComplete` in the handler. To start\n// watching after the initial update/render, use `{ waitUntilFirstUpdate: true }` or `this.hasUpdated` in the handler.\n//\n// Usage:\n//\n// @watch('propName')\n// handlePropChange(oldValue, newValue) {\n// ...\n// }\n//\ninterface WatchOptions {\n\twaitUntilFirstUpdate?: boolean\n}\n\nexport function on(propName: string, options?: WatchOptions) {\n\treturn (protoOrDescriptor: any, name: string): any => {\n\t\tconst { willUpdate } = protoOrDescriptor\n\n\t\toptions = Object.assign({ waitUntilFirstUpdate: false }, options) as WatchOptions\n\n\t\tprotoOrDescriptor.willUpdate = function (changedProps: Map<string, any>) {\n\t\t\twillUpdate.call(this, changedProps)\n\n\t\t\tif (changedProps.has(propName)) {\n\t\t\t\tconst oldValue = changedProps.get(propName)\n\t\t\t\tconst newValue = this[propName]\n\n\t\t\t\tif (oldValue !== newValue) {\n\t\t\t\t\tif (!options?.waitUntilFirstUpdate || this.hasUpdated) {\n\t\t\t\t\t\tthis[name].call(this, oldValue, newValue)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":["SchmancySheetHeader","TailwindElement","render","classes","absolute","this","title","length","relative","html","classMap","dispatchEvent","CustomEvent","bubbles","composed","__decorateClass","property","prototype","customElement","SchmancySheetPosition","SheetWhereAreYouRicky","SheetHereMorty","sheet","constructor","bottomSheet","Subject","$dismiss","pipe","switchMap","forkJoin","fromEvent","window","takeUntil","timer","map","e","detail","defaultIfEmpty","of","target","tap","uid","component","tagName","document","createElement","body","appendChild","setAttribute","position","innerWidth","allowOverlyDismiss","persist","header","style","overflow","delay","filter","shadowRoot","querySelector","assignedElements","find","take","subscribe","remove","mergeMap","closeSheet","next","SchmancySheet","$LitElement","super","arguments","open","Side","allowOverlayDismiss","focusAttribute","lastFocusedElement","handleFocusIn","contains","focus","_oldValue","newValue","activeElement","addFocusTrap","removeFocusTrap","connectedCallback","setupEventListeners","disconnectedCallback","disconnecting","popState$","preventDefault","keyUp$","event","key","sheetContainsFocus","dismiss","rickyComm$","announcePresence","merge","addEventListener","removeEventListener","isShown","String","selector","el","matches","getFocusElement","stopPropagation","when","propName","options","type","reflect","Boolean","query","queryAssignedElements","flatten","protoOrDescriptor","name","willUpdate","Object","assign","waitUntilFirstUpdate","changedProps","call","has","oldValue","get","hasUpdated"],"mappings":"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"}
@@ -1,18 +1,19 @@
1
- import { Subject as E, switchMap as D, forkJoin as x, fromEvent as d, of as S, takeUntil as f, timer as C, map as m, defaultIfEmpty as F, tap as h, delay as y, filter as U, take as j, mergeMap as P, merge as B } from "rxjs";
1
+ import { Subject as x, switchMap as D, forkJoin as S, fromEvent as d, of as C, takeUntil as f, timer as F, map as m, defaultIfEmpty as $, tap as h, delay as y, filter as U, take as j, mergeMap as P, merge as B } from "rxjs";
2
2
  import "lit/directives/class-map.js";
3
3
  import "lit/directives/style-map.js";
4
4
  import { T } from "./tailwind.mixin-D4STgS5j.js";
5
- import { html as $ } from "lit";
6
- import { property as c, customElement as O, query as z, queryAssignedElements as I } from "lit/decorators.js";
7
- import { $ as q } from "./litElement.mixin-pfcnUcRO.js";
8
- var L = Object.defineProperty, N = Object.getOwnPropertyDescriptor, k = (t, e, s, i) => {
9
- for (var a, o = i > 1 ? void 0 : i ? N(e, s) : e, l = t.length - 1; l >= 0; l--) (a = t[l]) && (o = (i ? a(e, s, o) : a(o)) || o);
10
- return i && o && L(e, s, o), o;
5
+ import { html as g } from "lit";
6
+ import { property as c, customElement as A, query as z, queryAssignedElements as q } from "lit/decorators.js";
7
+ import { $ as I } from "./litElement.mixin-pfcnUcRO.js";
8
+ import { when as L } from "lit/directives/when";
9
+ var N = Object.defineProperty, M = Object.getOwnPropertyDescriptor, k = (t, e, s, i) => {
10
+ for (var a, o = i > 1 ? void 0 : i ? M(e, s) : e, l = t.length - 1; l >= 0; l--) (a = t[l]) && (o = (i ? a(e, s, o) : a(o)) || o);
11
+ return i && o && N(e, s, o), o;
11
12
  };
12
13
  let b = class extends T() {
13
14
  render() {
14
15
  const t = { absolute: this.title.length === 0, relative: this.title.length > 0 };
15
- return $`
16
+ return g`
16
17
  <schmancy-grid class="${this.classMap(t)}" align="center" justify="stretch" cols="auto 1fr auto">
17
18
  <slot name="back">
18
19
  <schmancy-button
@@ -37,12 +38,12 @@ let b = class extends T() {
37
38
  `;
38
39
  }
39
40
  };
40
- k([c()], b.prototype, "title", 2), b = k([O("schmancy-sheet-header")], b);
41
- var A = ((t) => (t.Side = "side", t.Bottom = "bottom", t.BottomCenter = "bottom-center", t.TopRight = "top-right", t.BottomRight = "bottom-right", t))(A || {});
42
- const g = "are-you-there-sheet", w = "yes-here", v = new class {
41
+ k([c()], b.prototype, "title", 2), b = k([A("schmancy-sheet-header")], b);
42
+ var O = ((t) => (t.Side = "side", t.Bottom = "bottom", t.BottomCenter = "bottom-center", t.TopRight = "top-right", t.BottomRight = "bottom-right", t))(O || {});
43
+ const w = "are-you-there-sheet", E = "yes-here", v = new class {
43
44
  constructor() {
44
- this.bottomSheet = new E(), this.$dismiss = new E(), this.bottomSheet.pipe(D((t) => x([d(window, w).pipe(f(C(0)), m((e) => e.detail.sheet), F(void 0)), S(t).pipe(h(() => {
45
- window.dispatchEvent(new CustomEvent(g, { detail: { uid: t.uid ?? t.component.tagName } }));
45
+ this.bottomSheet = new x(), this.$dismiss = new x(), this.bottomSheet.pipe(D((t) => S([d(window, E).pipe(f(F(0)), m((e) => e.detail.sheet), $(void 0)), C(t).pipe(h(() => {
46
+ window.dispatchEvent(new CustomEvent(w, { detail: { uid: t.uid ?? t.component.tagName } }));
46
47
  }))])), m(([t, e]) => {
47
48
  t || (t = document.createElement("schmancy-sheet"), document.body.appendChild(t)), t.setAttribute("uid", e.uid ?? e.component.tagName);
48
49
  const s = e.position || (window.innerWidth >= 768 ? "side" : "bottom");
@@ -59,8 +60,8 @@ const g = "are-you-there-sheet", w = "yes-here", v = new class {
59
60
  const s = e.target;
60
61
  s != null && s.persist || (s == null || s.remove()), document.body.style.overflow = "auto";
61
62
  });
62
- })).subscribe(), this.$dismiss.pipe(P((t) => x([d(window, w).pipe(f(C(100)), m((e) => e.detail.sheet), F(void 0)), S(t).pipe(h(() => {
63
- window.dispatchEvent(new CustomEvent(g, { detail: { uid: t } }));
63
+ })).subscribe(), this.$dismiss.pipe(P((t) => S([d(window, E).pipe(f(F(100)), m((e) => e.detail.sheet), $(void 0)), C(t).pipe(h(() => {
64
+ window.dispatchEvent(new CustomEvent(w, { detail: { uid: t } }));
64
65
  }))])), h(([t]) => {
65
66
  t == null || t.closeSheet();
66
67
  })).subscribe();
@@ -72,13 +73,13 @@ const g = "are-you-there-sheet", w = "yes-here", v = new class {
72
73
  this.bottomSheet.next(t);
73
74
  }
74
75
  }();
75
- var M = Object.defineProperty, R = Object.getOwnPropertyDescriptor, r = (t, e, s, i) => {
76
- for (var a, o = i > 1 ? void 0 : i ? R(e, s) : e, l = t.length - 1; l >= 0; l--) (a = t[l]) && (o = (i ? a(e, s, o) : a(o)) || o);
77
- return i && o && M(e, s, o), o;
76
+ var R = Object.defineProperty, J = Object.getOwnPropertyDescriptor, r = (t, e, s, i) => {
77
+ for (var a, o = i > 1 ? void 0 : i ? J(e, s) : e, l = t.length - 1; l >= 0; l--) (a = t[l]) && (o = (i ? a(e, s, o) : a(o)) || o);
78
+ return i && o && R(e, s, o), o;
78
79
  };
79
- let n = class extends q(":host{--overlay-color: var(--schmancy-sys-color-surface-dim);--transition-duration: .2s;--sheet-radius: 0;--max-height: 100vh}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;visibility:visible;transition:visibility var(--transition-duration) ease-in-out}.sheet[aria-hidden=true]{visibility:hidden;pointer-events:none}.sheet[aria-hidden=true] .content{transform:translateY(100%)}.sheet[aria-hidden=true] .content[data-position=side]{transform:translate(100%)}.sheet[aria-hidden=true] .overlay{opacity:0}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--overlay-color);opacity:.8;transition:opacity var(--transition-duration) ease-in-out}.content{z-index:1;transition:transform var(--transition-duration) ease-in-out;overflow:hidden}.content[data-position=side]{height:100vh;height:100%;min-width:320px;max-width:90vw;width:fit-content;margin-left:auto}.content[data-position=side] #body{max-height:100vh}.content[data-position=bottom]{width:100%;margin-top:auto;border-radius:16px 16px 0 0;max-height:100vh}.content[data-position=bottom] #body{max-height:90vh}") {
80
+ let n = class extends I(":host{--overlay-color: var(--schmancy-sys-color-surface-dim);--transition-duration: .2s;--sheet-radius: 0;--max-height: 100vh}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;visibility:visible;transition:visibility var(--transition-duration) ease-in-out}.sheet[aria-hidden=true]{visibility:hidden;pointer-events:none}.sheet[aria-hidden=true] .content{transform:translateY(100%)}.sheet[aria-hidden=true] .content[data-position=side]{transform:translate(100%)}.sheet[aria-hidden=true] .overlay{opacity:0}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--overlay-color);opacity:.8;transition:opacity var(--transition-duration) ease-in-out}.content{z-index:1;transition:transform var(--transition-duration) ease-in-out;overflow:hidden}.content[data-position=side]{height:100vh;height:100%;min-width:320px;max-width:90vw;width:fit-content;margin-left:auto}.content[data-position=side] #body{max-height:100vh}.content[data-position=bottom]{width:100%;margin-top:auto;border-radius:16px 16px 0 0;max-height:100vh}.content[data-position=bottom] #body{max-height:90vh}") {
80
81
  constructor() {
81
- super(...arguments), this.open = !1, this.header = "visible", this.position = A.Side, this.persist = !1, this.allowOverlayDismiss = !0, this.title = "", this.focusAttribute = "autofocus", this.lastFocusedElement = null, this.handleFocusIn = (t) => {
82
+ super(...arguments), this.open = !1, this.header = "visible", this.position = O.Side, this.persist = !1, this.allowOverlayDismiss = !0, this.title = "", this.focusAttribute = "autofocus", this.lastFocusedElement = null, this.handleFocusIn = (t) => {
82
83
  var e;
83
84
  (e = this.sheet) != null && e.contains(t.target) || this.focus();
84
85
  };
@@ -98,7 +99,7 @@ let n = class extends q(":host{--overlay-color: var(--schmancy-sys-color-surface
98
99
  i.preventDefault(), this.closeSheet();
99
100
  })), e = d(window, "keyup").pipe(h((i) => {
100
101
  i.key !== "Escape" || this.sheetContainsFocus() || v.dismiss(this.uid);
101
- })), s = d(window, g).pipe(h((i) => {
102
+ })), s = d(window, w).pipe(h((i) => {
102
103
  i.detail.uid === this.uid && this.announcePresence();
103
104
  }));
104
105
  B(t, e, s).pipe(f(this.disconnecting)).subscribe();
@@ -108,7 +109,7 @@ let n = class extends q(":host{--overlay-color: var(--schmancy-sys-color-surface
108
109
  return ((t = this.sheet) == null ? void 0 : t.contains(document.activeElement)) ?? !1;
109
110
  }
110
111
  announcePresence() {
111
- this.dispatchEvent(new CustomEvent(w, { detail: { sheet: this }, bubbles: !0, composed: !0 }));
112
+ this.dispatchEvent(new CustomEvent(E, { detail: { sheet: this }, bubbles: !0, composed: !0 }));
112
113
  }
113
114
  addFocusTrap() {
114
115
  document.addEventListener("focusin", this.handleFocusIn);
@@ -132,7 +133,7 @@ let n = class extends q(":host{--overlay-color: var(--schmancy-sys-color-surface
132
133
  (t = this.getFocusElement()) == null || t.focus();
133
134
  }
134
135
  render() {
135
- return $`
136
+ return g`
136
137
  <div class="sheet" role="dialog" aria-labelledby="sheet-title" aria-hidden=${!this.open} aria-modal=${this.open}>
137
138
  <div
138
139
  class="overlay"
@@ -140,16 +141,20 @@ let n = class extends q(":host{--overlay-color: var(--schmancy-sys-color-surface
140
141
  t.stopPropagation(), this.allowOverlayDismiss && v.dismiss(this.uid);
141
142
  }}
142
143
  ></div>
143
- <schmancy-grid rows="auto 1fr" class="content w-full" data-position=${this.position}>
144
- <schmancy-sheet-header
145
- class="sticky top-0 z-50 w-full"
146
- @dismiss=${(t) => {
144
+ <schmancy-grid
145
+ rows=${this.header === "hidden" ? "1fr" : "auto 1fr"}
146
+ class="content w-full"
147
+ data-position=${this.position}
148
+ >
149
+ ${L(this.header !== "hidden", () => g`<schmancy-sheet-header
150
+ class="sticky top-0 z-50 w-full"
151
+ @dismiss=${(t) => {
147
152
  t.stopPropagation(), v.dismiss(this.uid);
148
153
  }}
149
- id="sheet-title"
150
- .hidden=${this.header === "hidden"}
151
- title=${this.title}
152
- ></schmancy-sheet-header>
154
+ id="sheet-title"
155
+ title=${this.title}
156
+ ></schmancy-sheet-header>`)}
157
+
153
158
  <schmancy-surface rounded="left" fill="all" id="body" class="overflow-auto" type="surface">
154
159
  <schmancy-scroll> <slot></slot></schmancy-scroll>
155
160
  </schmancy-surface>
@@ -159,7 +164,7 @@ let n = class extends q(":host{--overlay-color: var(--schmancy-sys-color-surface
159
164
  }
160
165
  };
161
166
  var u, p;
162
- r([c({ type: String, reflect: !0 })], n.prototype, "uid", 2), r([c({ type: Boolean, reflect: !0 })], n.prototype, "open", 2), r([c({ type: String, reflect: !0 })], n.prototype, "header", 2), r([c({ type: String, reflect: !0 })], n.prototype, "position", 2), r([c({ type: Boolean, reflect: !0 })], n.prototype, "persist", 2), r([c({ type: Boolean, reflect: !0 })], n.prototype, "allowOverlayDismiss", 2), r([c({ type: String, reflect: !0 })], n.prototype, "title", 2), r([z(".sheet")], n.prototype, "sheet", 2), r([I({ flatten: !0 })], n.prototype, "assignedElements", 2), r([c()], n.prototype, "focusAttribute", 2), r([(u = "open", (t, e) => {
167
+ r([c({ type: String, reflect: !0 })], n.prototype, "uid", 2), r([c({ type: Boolean, reflect: !0 })], n.prototype, "open", 2), r([c({ type: String, reflect: !0 })], n.prototype, "header", 2), r([c({ type: String, reflect: !0 })], n.prototype, "position", 2), r([c({ type: Boolean, reflect: !0 })], n.prototype, "persist", 2), r([c({ type: Boolean, reflect: !0 })], n.prototype, "allowOverlayDismiss", 2), r([c({ type: String, reflect: !0 })], n.prototype, "title", 2), r([z(".sheet")], n.prototype, "sheet", 2), r([q({ flatten: !0 })], n.prototype, "assignedElements", 2), r([c()], n.prototype, "focusAttribute", 2), r([(u = "open", (t, e) => {
163
168
  const { willUpdate: s } = t;
164
169
  p = Object.assign({ waitUntilFirstUpdate: !1 }, p), t.willUpdate = function(i) {
165
170
  if (s.call(this, i), i.has(u)) {
@@ -167,11 +172,11 @@ r([c({ type: String, reflect: !0 })], n.prototype, "uid", 2), r([c({ type: Boole
167
172
  a !== o && (p != null && p.waitUntilFirstUpdate && !this.hasUpdated || this[e].call(this, a, o));
168
173
  }
169
174
  };
170
- })], n.prototype, "onOpenChange", 1), n = r([O("schmancy-sheet")], n);
175
+ })], n.prototype, "onOpenChange", 1), n = r([A("schmancy-sheet")], n);
171
176
  export {
172
- A as S,
173
- g as a,
174
- w as b,
177
+ O as S,
178
+ w as a,
179
+ E as b,
175
180
  v as s
176
181
  };
177
- //# sourceMappingURL=sheet-X4wSUqXf.js.map
182
+ //# sourceMappingURL=sheet-DrKmM05e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheet-DrKmM05e.js","sources":["../src/sheet/header.ts","../src/sheet/sheet.service.ts","../src/sheet/sheet.ts","../src/sheet/hook.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-sheet-header')\nexport default class SchmancySheetHeader extends TailwindElement() {\n\t@property() title: string\n\trender() {\n\t\tconst classes = {\n\t\t\tabsolute: this.title.length === 0,\n\t\t\trelative: this.title.length > 0,\n\t\t}\n\t\treturn html`\n\t\t\t<schmancy-grid class=\"${this.classMap(classes)}\" align=\"center\" justify=\"stretch\" cols=\"auto 1fr auto\">\n\t\t\t\t<slot name=\"back\">\n\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\tnew CustomEvent('dismiss', {\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\t\t<span class=\"text-[24px]\">&#8592; </span>\n\t\t\t\t\t</schmancy-button>\n\t\t\t\t</slot>\n\t\t\t\t<schmancy-typography transform=\"capitalize\" type=\"headline\" token=\"lg\"> ${this.title} </schmancy-typography>\n\t\t\t\t<slot name=\"actions\">\n\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\tnew CustomEvent('dismiss', {\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\t\tclose\n\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t</slot>\n\t\t\t</schmancy-grid>\n\t\t`\n\t}\n}\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-sheet-header': SchmancySheetHeader\n\t}\n}\n","import {\n\tdefaultIfEmpty,\n\tdelay,\n\tfilter,\n\tforkJoin,\n\tfromEvent,\n\tmap,\n\tmergeMap,\n\tof,\n\tSubject,\n\tswitchMap,\n\ttake,\n\ttakeUntil,\n\ttap,\n\ttimer,\n} from 'rxjs'\nimport SchmancySheet from './sheet'\n\nexport enum SchmancySheetPosition {\n\tSide = 'side',\n\tBottom = 'bottom',\n\t/**\n\t * @deprecated use bottom instead\n\t */\n\tBottomCenter = 'bottom-center',\n\t/**\n\t * @deprecated use side instead\n\t */\n\tTopRight = 'top-right',\n\t/**\n\t * @deprecated use side instead\n\t */\n\tBottomRight = 'bottom-right',\n}\n\ntype BottomSheeetTarget = {\n\tcomponent: HTMLElement\n\tuid?: string\n\tposition?: SchmancySheetPosition\n\tpersist?: boolean\n\tclose?: () => void\n\tallowOverlyDismiss?: boolean\n\ttitle?: string\n\theader?: 'hidden' | 'visible'\n}\n\n// Events for communication between bottom-sheet component and bottom-sheet.service\nexport type SheetWhereAreYouRickyEvent = CustomEvent<{\n\tuid: string\n}>\nexport const SheetWhereAreYouRicky = 'are-you-there-sheet'\n\nexport type SheetHereMortyEvent = CustomEvent<{\n\tsheet: SchmancySheet\n}>\nexport const SheetHereMorty = 'yes-here'\n\n// Function to determine the position based on screen size\nconst getPosition = (): SchmancySheetPosition => {\n\treturn window.innerWidth >= 768 ? SchmancySheetPosition.Side : SchmancySheetPosition.Bottom // Adjust 768 as needed for your breakpoint\n}\n\nclass BottomSheetService {\n\tbottomSheet = new Subject<BottomSheeetTarget>()\n\t$dismiss = new Subject<string>()\n\tconstructor() {\n\t\tthis.bottomSheet\n\t\t\t.pipe(\n\t\t\t\tswitchMap(target =>\n\t\t\t\t\tforkJoin([\n\t\t\t\t\t\tfromEvent<SheetHereMortyEvent>(window, SheetHereMorty).pipe(\n\t\t\t\t\t\t\ttakeUntil(timer(0)),\n\t\t\t\t\t\t\tmap(e => e.detail.sheet),\n\t\t\t\t\t\t\tdefaultIfEmpty(undefined),\n\t\t\t\t\t\t),\n\t\t\t\t\t\tof(target).pipe(\n\t\t\t\t\t\t\ttap(() => {\n\t\t\t\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\t\t\t\tnew CustomEvent(SheetWhereAreYouRicky, {\n\t\t\t\t\t\t\t\t\t\tdetail: { uid: target.uid ?? target.component.tagName },\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}),\n\t\t\t\t\t\t),\n\t\t\t\t\t]),\n\t\t\t\t),\n\t\t\t\tmap(([sheet, target]) => {\n\t\t\t\t\tconsole.log(sheet, target)\n\t\t\t\t\tif (!sheet) {\n\t\t\t\t\t\t// if sheet is not found, create it\n\t\t\t\t\t\tsheet = document.createElement('schmancy-sheet')\n\t\t\t\t\t\tdocument.body.appendChild(sheet)\n\t\t\t\t\t}\n\t\t\t\t\tsheet.setAttribute('uid', target.uid ?? target.component.tagName)\n\n\t\t\t\t\t// **Use the dynamic position function here**\n\t\t\t\t\tconst position = target.position || getPosition() // Use target.position if it's set, otherwise determine based on screen size\n\t\t\t\t\tsheet.setAttribute('position', position)\n\n\t\t\t\t\tsheet.setAttribute('allowOverlyDismiss', target.allowOverlyDismiss === false ? 'false' : 'true')\n\t\t\t\t\ttarget.title && sheet.setAttribute('title', target.title)\n\t\t\t\t\ttarget.persist && sheet.setAttribute('persist', target.persist ?? false)\n\t\t\t\t\ttarget.header && sheet.setAttribute('header', target.header)\n\t\t\t\t\tdocument.body.style.overflow = 'hidden' // lock the scroll of the host\n\t\t\t\t\treturn { target, sheet }\n\t\t\t\t}),\n\t\t\t\tdelay(20),\n\t\t\t\tfilter(({ target, sheet }) => {\n\t\t\t\t\t// if the sheet has already the component, just show it\n\t\t\t\t\tif (\n\t\t\t\t\t\ttarget.persist &&\n\t\t\t\t\t\tsheet?.shadowRoot\n\t\t\t\t\t\t\t?.querySelector('slot')\n\t\t\t\t\t\t\t?.assignedElements()\n\t\t\t\t\t\t\t.find(e => e.tagName === target.component.tagName)\n\t\t\t\t\t) {\n\t\t\t\t\t\tsheet?.setAttribute('open', 'true')\n\t\t\t\t\t\treturn false\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn true // if the sheet does not have the component, continue to the next step\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\ttap(({ target, sheet }) => {\n\t\t\t\t\tsheet?.appendChild(target.component)\n\t\t\t\t}),\n\t\t\t\tdelay(1),\n\t\t\t\ttap(({ sheet }) => {\n\t\t\t\t\tsheet?.setAttribute('open', 'true')\n\t\t\t\t}),\n\t\t\t\ttap(({ sheet }) => {\n\t\t\t\t\tfromEvent<CustomEvent>(sheet, 'close')\n\t\t\t\t\t\t.pipe(take(1))\n\t\t\t\t\t\t.pipe(delay(300))\n\t\t\t\t\t\t.subscribe(e => {\n\t\t\t\t\t\t\tconst target = e.target as SchmancySheet\n\t\t\t\t\t\t\tconsole.log(target)\n\n\t\t\t\t\t\t\tif (!target?.persist) target?.remove()\n\t\t\t\t\t\t\tdocument.body.style.overflow = 'auto' // unlock the scroll of the host\n\t\t\t\t\t\t})\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\n\t\tthis.$dismiss\n\t\t\t.pipe(\n\t\t\t\tmergeMap(uid =>\n\t\t\t\t\tforkJoin([\n\t\t\t\t\t\tfromEvent<SheetHereMortyEvent>(window, SheetHereMorty).pipe(\n\t\t\t\t\t\t\ttakeUntil(timer(100)), // Some people say why 10? I say why not?\n\t\t\t\t\t\t\tmap(e => e.detail.sheet),\n\t\t\t\t\t\t\tdefaultIfEmpty(undefined),\n\t\t\t\t\t\t),\n\t\t\t\t\t\tof(uid).pipe(\n\t\t\t\t\t\t\ttap(() => {\n\t\t\t\t\t\t\t\twindow.dispatchEvent(new CustomEvent(SheetWhereAreYouRicky, { detail: { uid } }))\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\ttap(([sheet]) => {\n\t\t\t\t\tsheet?.closeSheet()\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\tdismiss(uid: string) {\n\t\tthis.$dismiss.next(uid)\n\t}\n\n\topen(target: BottomSheeetTarget) {\n\t\tthis.bottomSheet.next(target)\n\t}\n}\nexport const sheet = new BottomSheetService()\n","import { $LitElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property, query, queryAssignedElements } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when'\nimport { fromEvent, merge, takeUntil, tap } from 'rxjs'\nimport { on } from './hook'\nimport style from './sheet.scss?inline'\nimport {\n\tSchmancySheetPosition,\n\tSheetHereMorty,\n\tSheetWhereAreYouRicky,\n\tSheetWhereAreYouRickyEvent,\n\tsheet,\n} from './sheet.service'\n\n@customElement('schmancy-sheet')\nexport default class SchmancySheet extends $LitElement(style) {\n\t@property({ type: String, reflect: true }) uid!: string\n\t@property({ type: Boolean, reflect: true }) open = false\n\t@property({ type: String, reflect: true }) header: 'hidden' | 'visible' = 'visible'\n\t@property({ type: String, reflect: true }) position: SchmancySheetPosition = SchmancySheetPosition.Side\n\t@property({ type: Boolean, reflect: true }) persist = false\n\t@property({ type: Boolean, reflect: true }) allowOverlayDismiss = true\n\t@property({ type: String, reflect: true }) title = ''\n\n\t@query('.sheet') private sheet!: HTMLElement\n\t@queryAssignedElements({ flatten: true }) private assignedElements!: HTMLElement[]\n\n\t@property() focusAttribute = 'autofocus'\n\tprivate lastFocusedElement: HTMLElement | null = null\n\n\t@on('open')\n\tonOpenChange(_oldValue: boolean, newValue: boolean) {\n\t\tif (newValue) {\n\t\t\tthis.lastFocusedElement = document.activeElement as HTMLElement\n\t\t\tthis.addFocusTrap()\n\t\t\tthis.focus()\n\t\t} else {\n\t\t\tthis.removeFocusTrap()\n\t\t\tthis.lastFocusedElement?.focus()\n\t\t\tthis.lastFocusedElement = null\n\t\t}\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis.setupEventListeners()\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.disconnecting.next(true)\n\t}\n\n\tprivate setupEventListeners() {\n\t\t// Handle browser back button\n\t\tconst popState$ = fromEvent<PopStateEvent>(window, 'popstate').pipe(\n\t\t\ttap(e => {\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.closeSheet()\n\t\t\t}),\n\t\t)\n\n\t\t// Handle ESC key\n\t\tconst keyUp$ = fromEvent<KeyboardEvent>(window, 'keyup').pipe(\n\t\t\ttap(event => {\n\t\t\t\tif (event.key === 'Escape' && !this.sheetContainsFocus()) {\n\t\t\t\t\tsheet.dismiss(this.uid)\n\t\t\t\t}\n\t\t\t}),\n\t\t)\n\n\t\t// Handle inter-component communication\n\t\tconst rickyComm$ = fromEvent<SheetWhereAreYouRickyEvent>(window, SheetWhereAreYouRicky).pipe(\n\t\t\ttap(e => {\n\t\t\t\tif (e.detail.uid === this.uid) this.announcePresence()\n\t\t\t}),\n\t\t)\n\n\t\tmerge(popState$, keyUp$, rickyComm$).pipe(takeUntil(this.disconnecting)).subscribe()\n\t}\n\n\tprivate sheetContainsFocus(): boolean {\n\t\treturn this.sheet?.contains(document.activeElement) ?? false\n\t}\n\n\tprivate announcePresence() {\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent(SheetHereMorty, {\n\t\t\t\tdetail: { sheet: this },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate addFocusTrap() {\n\t\tdocument.addEventListener('focusin', this.handleFocusIn)\n\t}\n\n\tprivate removeFocusTrap() {\n\t\tdocument.removeEventListener('focusin', this.handleFocusIn)\n\t}\n\n\tprivate handleFocusIn = (e: Event) => {\n\t\tif (!this.sheet?.contains(e.target as Node)) {\n\t\t\tthis.focus()\n\t\t}\n\t}\n\n\tsetIsSheetShown(isShown: boolean) {\n\t\tthis.sheet?.setAttribute('aria-hidden', String(!isShown))\n\t\tthis.sheet?.setAttribute('aria-modal', String(isShown))\n\t}\n\n\tcloseSheet() {\n\t\tthis.open = false\n\t\tthis.dispatchEvent(new CustomEvent('close'))\n\t}\n\n\tprivate getFocusElement(): HTMLElement | null {\n\t\tconst selector = `[${this.focusAttribute}]`\n\t\treturn (this.assignedElements.find(el => el.matches(selector) || el.querySelector(selector)) as HTMLElement) ?? null\n\t}\n\n\toverride focus() {\n\t\tthis.getFocusElement()?.focus()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"sheet\" role=\"dialog\" aria-labelledby=\"sheet-title\" aria-hidden=${!this.open} aria-modal=${this.open}>\n\t\t\t\t<div\n\t\t\t\t\tclass=\"overlay\"\n\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\tif (this.allowOverlayDismiss) sheet.dismiss(this.uid)\n\t\t\t\t\t}}\n\t\t\t\t></div>\n\t\t\t\t<schmancy-grid\n\t\t\t\t\trows=${this.header === 'hidden' ? '1fr' : 'auto 1fr'}\n\t\t\t\t\tclass=\"content w-full\"\n\t\t\t\t\tdata-position=${this.position}\n\t\t\t\t>\n\t\t\t\t\t${when(\n\t\t\t\t\t\tthis.header !== 'hidden',\n\t\t\t\t\t\t() =>\n\t\t\t\t\t\t\thtml`<schmancy-sheet-header\n\t\t\t\t\t\t\t\tclass=\"sticky top-0 z-50 w-full\"\n\t\t\t\t\t\t\t\t@dismiss=${(e: CustomEvent) => {\n\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\tsheet.dismiss(this.uid)\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tid=\"sheet-title\"\n\t\t\t\t\t\t\t\ttitle=${this.title}\n\t\t\t\t\t\t\t></schmancy-sheet-header>`,\n\t\t\t\t\t)}\n\n\t\t\t\t\t<schmancy-surface rounded=\"left\" fill=\"all\" id=\"body\" class=\"overflow-auto\" type=\"surface\">\n\t\t\t\t\t\t<schmancy-scroll> <slot></slot></schmancy-scroll>\n\t\t\t\t\t</schmancy-surface>\n\t\t\t\t</schmancy-grid>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-sheet': SchmancySheet\n\t}\n}\n","// @watch decorator\n//\n// Runs when an observed property changes, e.g. @property or @state, but before the component updates.\n//\n// To wait for an update to complete after a change occurs, use `await this.updateComplete` in the handler. To start\n// watching after the initial update/render, use `{ waitUntilFirstUpdate: true }` or `this.hasUpdated` in the handler.\n//\n// Usage:\n//\n// @watch('propName')\n// handlePropChange(oldValue, newValue) {\n// ...\n// }\n//\ninterface WatchOptions {\n\twaitUntilFirstUpdate?: boolean\n}\n\nexport function on(propName: string, options?: WatchOptions) {\n\treturn (protoOrDescriptor: any, name: string): any => {\n\t\tconst { willUpdate } = protoOrDescriptor\n\n\t\toptions = Object.assign({ waitUntilFirstUpdate: false }, options) as WatchOptions\n\n\t\tprotoOrDescriptor.willUpdate = function (changedProps: Map<string, any>) {\n\t\t\twillUpdate.call(this, changedProps)\n\n\t\t\tif (changedProps.has(propName)) {\n\t\t\t\tconst oldValue = changedProps.get(propName)\n\t\t\t\tconst newValue = this[propName]\n\n\t\t\t\tif (oldValue !== newValue) {\n\t\t\t\t\tif (!options?.waitUntilFirstUpdate || this.hasUpdated) {\n\t\t\t\t\t\tthis[name].call(this, oldValue, newValue)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":["SchmancySheetHeader","TailwindElement","render","classes","absolute","this","title","length","relative","html","classMap","dispatchEvent","CustomEvent","bubbles","composed","__decorateClass","property","prototype","customElement","SchmancySheetPosition","SheetWhereAreYouRicky","SheetHereMorty","sheet","bottomSheet","Subject","$dismiss","pipe","switchMap","forkJoin","fromEvent","window","takeUntil","timer","map","e","detail","defaultIfEmpty","of","target","tap","uid","component","tagName","document","createElement","body","appendChild","setAttribute","position","innerWidth","allowOverlyDismiss","persist","header","style","overflow","delay","filter","shadowRoot","querySelector","assignedElements","find","take","subscribe","remove","mergeMap","closeSheet","next","SchmancySheet","$LitElement","super","arguments","open","Side","allowOverlayDismiss","focusAttribute","lastFocusedElement","handleFocusIn","contains","focus","_oldValue","newValue","activeElement","addFocusTrap","removeFocusTrap","connectedCallback","setupEventListeners","disconnectedCallback","disconnecting","popState$","preventDefault","keyUp$","event","key","sheetContainsFocus","dismiss","rickyComm$","announcePresence","merge","addEventListener","removeEventListener","isShown","String","getFocusElement","selector","el","matches","stopPropagation","when","propName","options","type","reflect","Boolean","query","queryAssignedElements","flatten","protoOrDescriptor","name","willUpdate","Object","assign","waitUntilFirstUpdate","changedProps","call","has","oldValue","get","hasUpdated"],"mappings":";;;;;;;;;;;;AAKA,IAAqBA,IAArB,cAAiDC,EAAAA,EAAAA;AAAAA,EAEhD,SAAAC;AACC,UAAMC,IAAU,EACfC,UAAUC,KAAKC,MAAMC,WAAW,GAChCC,UAAUH,KAAKC,MAAMC,SAAS,EAExB;AAAA,WAAAE;AAAAA,2BACkBJ,KAAKK,SAASP,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA,eAG1B,MACHE;AAAAA,WAAAM,cACJ,IAAIC,YAAY,WAAW,EAC1BC,SAAAA,IACAC,UAAAA,GAEF,CAAA,CAAA;AAAA,IAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8EAMuET,KAAKC,KAAAA;AAAAA;AAAAA;AAAAA,eAGpE,MACHD;AAAAA,WAAAM,cACJ,IAAIC,YAAY,WAAW,EAC1BC,SAAAA,IACAC,UAAAA,GAEF,CAAA,CAAA;AAAA,IAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACA;AAAA;AAhCMC,EAAA,CAAXC,EADmBhB,CAAAA,GAAAA,EACRiB,WAAA,SAAA,CAAA,GADQjB,IAArBe,EAAA,CADCG,EAAc,uBACMlB,CAAAA,GAAAA,CAAAA;ACaT,IAAAmB,KAAAA,QACXA,EAAO,OAAA,QACPA,EAAS,SAAA,UAITA,EAAe,eAAA,iBAIfA,EAAW,WAAA,aAIXA,EAAc,cAAA,gBAdHA,IAAAA,KAAA,CAAA,CAAA;AAgCL,MAAMC,IAAwB,uBAKxBC,IAAiB,YAwHjBC,IAAQ,IAjHrB,MAAA;AAAA,EAGC,cAFAjB;AAAAA,SAAAkB,cAAc,IAAIC,KAClBnB,KAAAoB,WAAW,IAAID,KAEdnB,KAAKkB,YACHG,KACAC,SACCC,EAAS,CACRC,EAA+BC,QAAQT,GAAgBK,KACtDK,EAAUC,EAAM,CAAA,CAAA,GAChBC,EAAIC,CAAAA,MAAKA,EAAEC,OAAOb,KAAAA,GAClBc,EAAe,MAAA,CAAA,GAEhBC,EAAGC,CAAAA,EAAQZ,KACVa,EAAI,MAAA;AACIT,aAAAnB,cACN,IAAIC,YAAYQ,GAAuB,EACtCe,QAAQ,EAAEK,KAAKF,EAAOE,OAAOF,EAAOG,UAAUC,QAAAA,EAAAA,CAAAA,CAAAA;AAAAA,IAEhD,CAKJT,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,EAAI,EAAEX,GAAOgB,CAAAA,MAAAA;AAEPhB,YAEJA,IAAQqB,SAASC,cAAc,gBAAA,GACtBD,SAAAE,KAAKC,YAAYxB,CAE3BA,IAAAA,EAAMyB,aAAa,OAAOT,EAAOE,OAAOF,EAAOG,UAAUC;AAGnD,YAAAM,IAAWV,EAAOU,aArCrBlB,OAAOmB,cAAc,MAAM,SAA6B;AA6CpD,aAPP3B,EAAMyB,aAAa,YAAYC,CAAAA,GAE/B1B,EAAMyB,aAAa,sBAAsBT,EAAOY,uBAAuB,KAAQ,UAAU,MACzFZ,GAAAA,EAAOhC,SAASgB,EAAMyB,aAAa,SAAST,EAAOhC,QACnDgC,EAAOa,WAAW7B,EAAMyB,aAAa,WAAWT,EAAOa,WAAW,EAAA,GAClEb,EAAOc,UAAU9B,EAAMyB,aAAa,UAAUT,EAAOc,MAC5CT,GAAAA,SAAAE,KAAKQ,MAAMC,WAAW,UACxB,EAAEhB,QAAQhB,GAAAA,OAAAA,EAAM;AAAA,IAAA,CAAA,GAExBiC,EAAM,EAAA,GACNC,EAAO,CAAGlB,EAAAA,QAAAA,GAAQhB,OAAAA,EAAAA,MAAAA;;AAAAA,cAGhBgB,EAAOa,WACP7B,GAAAA,KAAAA,IAAAA,uBAAOmC,eAAPnC,gBAAAA,EACGoC,cAAc,YADjBpC,QAAAA,EAEGqC,mBACDC,YAAU1B,EAAEQ,YAAYJ,EAAOG,UAAUC,cAE3CpB,eAAOyB,aAAa,QAAQ,SACrB;AAAA,KAAA,GAKTR,EAAI,CAAGD,EAAAA,QAAAA,GAAQhB,OAAAA,EAAAA,MAAAA;AACdA,qBAAOwB,YAAYR,EAAOG;AAAAA,IAAS,CAAA,GAEpCc,EAAM,CAAA,GACNhB,EAAI,CAAA,EAAGjB,OAAAA,EACNA,MAAAA;AAAAA,qBAAOyB,aAAa,QAAQ;AAAA,IAAM,CAEnCR,GAAAA,EAAI,CAAGjB,EAAAA,OAAAA;AACNO,MAAAA,EAAuBP,GAAO,OAC5BI,EAAAA,KAAKmC,EAAK,CAAA,CAAA,EACVnC,KAAK6B,EAAM,MACXO,UAAe5B,CAAAA,MAAAA;AACf,cAAMI,IAASJ,EAAEI;AAGZA,QAAAA,KAAAA,QAAAA,EAAQa,YAASb,KAAAA,QAAAA,EAAQyB,WACrBpB,SAAAE,KAAKQ,MAAMC,WAAW;AAAA,MAAA,CAAA;AAAA,IAC/B,CAGHQ,CAAAA,EAAAA,UAAAA,GAEFzD,KAAKoB,SACHC,KACAsC,SACCpC,EAAS,CACRC,EAA+BC,QAAQT,CAAAA,EAAgBK,KACtDK,EAAUC,EAAM,GAChBC,CAAAA,GAAAA,EAAIC,CAAAA,MAAKA,EAAEC,OAAOb,KAAAA,GAClBc,QAEDC,CAAAA,GAAAA,EAAGG,CAAKd,EAAAA,KACPa,EAAI,MACIT;AAAAA,aAAAnB,cAAc,IAAIC,YAAYQ,GAAuB,EAAEe,QAAQ,EAAEK,KAAQ,EAAA,EAAA,CAAA,CAAA;AAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAKpFD,EAAI,CAAA,CAAEjB;AACLA,qBAAO2C;AAAAA,IAAW,CAGnBH,CAAAA,EAAAA,UAAAA;AAAAA,EAAU;AAAA,EAGb,QAAQtB,GACFnC;AAAAA,SAAAoB,SAASyC,KAAK1B,CAAAA;AAAAA,EAAG;AAAA,EAGvB,KAAKF,GAAAA;AACCjC,SAAAkB,YAAY2C,KAAK5B,CAAM;AAAA,EAAA;AAAA;;;;;AC5J9B,IAAqB6B,IAArB,cAA2CC,6lCAA3C,EAAA;AAAA,EAAA;AAAAC,UAAAC,GAAAA,SAAAA,GAEoDjE,KAAAkE,OAAAA,IACuBlE,KAAA+C,SAAA,WAC/B/C,KAAA2C,WAAkC7B,EAAsBqD,MAC7CnE,KAAA8C,cACY9C,KAAAoE,sBAAA,IACfpE,KAAAC,QAAA,IAKtBD,KAAAqE,iBAAA,aAC7BrE,KAAQsE,qBAAyC,MA2EzCtE,KAAAuE,gBAAiB1C,OAAAA;;AACnB7B,OAAAA,IAAAA,KAAKiB,UAALjB,QAAAA,EAAYwE,SAAS3C,EAAEI,WAC3BjC,KAAKyE,MAAAA;AAAAA,IAAM;AAAA,EAEb;AAAA,EA5EA,aAAaC,GAAoBC;;AAC5BA,SACH3E,KAAKsE,qBAAqBhC,SAASsC,eACnC5E,KAAK6E,aACL7E,GAAAA,KAAKyE,YAELzE,KAAK8E,gBAAAA,IACL9E,IAAAA,KAAKsE,uBAALtE,QAAAA,EAAyByE,SACzBzE,KAAKsE,qBAAqB;AAAA,EAC3B;AAAA,EAGD,oBACCN;AAAAA,UAAMe,kBACN/E,GAAAA,KAAKgF,oBAAoB;AAAA,EAAA;AAAA,EAG1B,uBAAAC;AACCjB,UAAMiB,qBACDjF,GAAAA,KAAAkF,cAAcrB,KAAAA;EAAS;AAAA,EAGrB,sBAEP;AAAA,UAAMsB,IAAY3D,EAAyBC,QAAQ,UAAYJ,EAAAA,KAC9Da,EAASL,CAAAA,MAAAA;AACRA,MAAAA,EAAEuD,eAAAA,GACFpF,KAAK4D,WAAW;AAAA,IAAA,CAAA,CAAA,GAKZyB,IAAS7D,EAAyBC,QAAQ,OAASJ,EAAAA,KACxDa,EAAaoD,CAAAA,MAAAA;AACM,MAAdA,EAAMC,QAAQ,YAAavF,KAAKwF,mBAAAA,KAC7BvE,EAAAwE,QAAQzF,KAAKmC,GAAAA;AAAAA,IAAG,KAMnBuD,IAAalE,EAAsCC,QAAQV,CAAAA,EAAuBM,KACvFa,EAASL,CAAAA,MAAAA;AACJA,MAAAA,EAAEC,OAAOK,QAAQnC,KAAKmC,YAAUwD,iBAAAA;AAAAA,IAAiB,CAIjDC,CAAAA;AAAAA,IAAAA,EAAAT,GAAWE,GAAQK,GAAYrE,KAAKK,EAAU1B,KAAKkF,aAAAA,CAAAA,EAAgBzB;EAAU;AAAA,EAG5E,qBACP;;AAAA,aAAOzD,IAAAA,KAAKiB,UAALjB,gBAAAA,EAAYwE,SAASlC,SAASsC,mBAAAA;AAAAA,EAAkB;AAAA,EAGhD,mBAAAe;AACF3F,SAAAM,cACJ,IAAIC,YAAYS,GAAgB,EAC/Bc,QAAQ,EAAEb,OAAOjB,KAAAA,GACjBQ,aACAC,UAAAA,GAEF,CAAA,CAAA;AAAA,EAAA;AAAA,EAGO,eAAAoE;AACEvC,aAAAuD,iBAAiB,WAAW7F,KAAKuE,aAAAA;AAAAA,EAAa;AAAA,EAGhD;AACEjC,aAAAwD,oBAAoB,WAAW9F,KAAKuE;EAAa;AAAA,EAS3D,gBAAgBwB,GAAAA;;AACf/F,KAAAA,IAAAA,KAAKiB,UAALjB,QAAAA,EAAY0C,aAAa,eAAesD,QAAQD,CAChD/F,KAAAA,IAAAA,KAAKiB,UAALjB,QAAAA,EAAY0C,aAAa,cAAcsD,OAAOD,CAAAA;AAAAA,EAAQ;AAAA,EAGvD;AACC/F,SAAKkE,OAAAA,IACLlE,KAAKM,cAAc,IAAIC,YAAY,OAAA,CAAA;AAAA,EAAQ;AAAA,EAGpC,kBAAA0F;AACD,UAAAC,IAAW,IAAIlG,KAAKqE,cAAAA;AAC1B,WAAQrE,KAAKsD,iBAAiBC,KAAK4C,OAAMA,EAAGC,QAAQF,CAAaC,KAAAA,EAAG9C,cAAc6C,CAAAA,CAAAA,KAA8B;AAAA,EAAA;AAAA,EAGxG,QACHlG;;AAAAA,KAAAA,IAAAA,KAAAiG,sBAAAjG,QAAAA,EAAmByE;AAAAA,EAAM;AAAA,EAG/B,SAAA5E;AACQ,WAAAO;AAAAA,gFACwEJ,CAAAA,KAAKkE,mBAAmBlE,KAAKkE,IAAAA;AAAAA;AAAAA;AAAAA,cAG/FrC,OAAAA;AACTA,QAAEwE,gBACErG,GAAAA,KAAKoE,uBAA2BnD,EAAAwE,QAAQzF,KAAKmC,GAAG;AAAA,IAAA,CAAA;AAAA;AAAA;AAAA,YAI9CnC,KAAK+C,WAAW,WAAW,QAAQ,UAAA;AAAA;AAAA,qBAE1B/C,KAAK2C,QAAAA;AAAAA;AAAAA,OAEnB2D,EACDtG,KAAK+C,WAAW,UAChB,MACC3C;AAAAA;AAAAA,mBAEayB,OAAAA;AACXA,QAAEwE,gBAAAA,GACIpF,EAAAwE,QAAQzF,KAAKmC,GAAG;AAAA,IAAA,CAAA;AAAA;AAAA,gBAGfnC,KAAKC,KAAAA;AAAAA;;;;;;;;EAEf;AAAA;AC1IU,IAAGsG,GAAkBC;ADDO9F,EAAA,CAA1CC,EAAS,EAAE8F,MAAMT,QAAQU,SAAS,GAAA,CAAA,CAAA,GADf5C,EACuBlD,WAAA,OAAA,IACCF,EAAA,CAA3CC,EAAS,EAAE8F,MAAME,SAASD,SAAAA,QAFP5C,EAEwBlD,WAAA,QAAA,CACDF,GAAAA,EAAA,CAA1CC,EAAS,EAAE8F,MAAMT,QAAQU,SAAAA,QAHN5C,EAGuBlD,WAAA,UAAA,CACAF,GAAAA,EAAA,CAA1CC,EAAS,EAAE8F,MAAMT,QAAQU,YAJN5C,CAAAA,CAAAA,GAAAA,EAIuBlD,WAAA,YAAA,CAAA,GACCF,EAAA,CAA3CC,EAAS,EAAE8F,MAAME,SAASD,YALP5C,CAAAA,CAAAA,GAAAA,EAKwBlD,WAAA,WAAA,CAAA,GACAF,EAAA,CAA3CC,EAAS,EAAE8F,MAAME,SAASD,SAAS,GAAA,CAAA,CAAA,GANhB5C,EAMwBlD,WAAA,uBAAA,IACDF,EAAA,CAA1CC,EAAS,EAAE8F,MAAMT,QAAQU,SAAS,GAAA,CAAA,CAAA,GAPf5C,EAOuBlD,WAAA,SAAA,IAElBF,EAAA,CAAxBkG,EAAM,QAAA,CAAA,GATa9C,EASKlD,WAAA,SAAA,IACyBF,EAAA,CAAjDmG,EAAsB,EAAEC,SAAAA,GAVLhD,CAAAA,CAAAA,GAAAA,EAU8BlD,WAAA,oBAAA,CAAA,GAEtCF,EAAA,CAAXC,EAAAA,CAAAA,GAZmBmD,EAYRlD,WAAA,kBAAA,CAIZF,GAAAA,EAAA,ECdkB6F,IDad,QCZG,CAACQ,GAAwBC,MAAAA;AACzB,UAAAC,YAAEA,EAAAA,IAAeF;AAEvBP,EAAAA,IAAUU,OAAOC,OAAO,EAAEC,sBAAAA,MAA+BZ,CAEvCO,GAAAA,EAAAE,aAAa,SAAUI,GAAAA;AAGpC,QAFOJ,EAAAK,KAAKtH,MAAMqH,CAAAA,GAElBA,EAAaE,IAAIhB,CAAAA,GAAW;AACzB,YAAAiB,IAAWH,EAAaI,IAAIlB,CAAAA,GAC5B5B,IAAW3E,KAAKuG,CAAAA;AAElBiB,MAAAA,MAAa7C,MACX6B,KAAAA,QAAAA,EAASY,yBAAwBpH,KAAK0H,cAC1C1H,KAAKgH,CAAAA,EAAMM,KAAKtH,MAAMwH,GAAU7C;IAElC;AAAA,EAEF;AAAA,KDrBmBb,EAgBpBlD,WAAA,gBAAA,CAhBoBkD,GAAAA,IAArBpD,EAAA,CADCG,EAAc,oBACMiD;"}
package/dist/sheet.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./sheet-DuEDOgLy.cjs");exports.SchmancySheetPosition=e.SchmancySheetPosition,exports.SheetHereMorty=e.SheetHereMorty,exports.SheetWhereAreYouRicky=e.SheetWhereAreYouRicky,exports.sheet=e.sheet;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./sheet-CMTmiZXv.cjs");exports.SchmancySheetPosition=e.SchmancySheetPosition,exports.SheetHereMorty=e.SheetHereMorty,exports.SheetWhereAreYouRicky=e.SheetWhereAreYouRicky,exports.sheet=e.sheet;
2
2
  //# sourceMappingURL=sheet.cjs.map
package/dist/sheet.js CHANGED
@@ -1,4 +1,4 @@
1
- import { S as t, b as a, a as h, s as o } from "./sheet-X4wSUqXf.js";
1
+ import { S as t, b as a, a as h, s as o } from "./sheet-DrKmM05e.js";
2
2
  export {
3
3
  t as SchmancySheetPosition,
4
4
  a as SheetHereMorty,
package/dist/teleport.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./teleport.component-C8nex6EJ.cjs");exports.HereMorty=e.HereMorty,Object.defineProperty(exports,"SchmancyTeleportation",{enumerable:!0,get:()=>e.SchmancyTeleportation}),exports.WhereAreYouRicky=e.WhereAreYouRicky,exports.teleport=e.teleport;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./teleport.component-CGUs59ol.cjs");exports.HereMorty=e.HereMorty,Object.defineProperty(exports,"SchmancyTeleportation",{enumerable:!0,get:()=>e.SchmancyTeleportation}),exports.WhereAreYouRicky=e.WhereAreYouRicky,exports.teleport=e.teleport;
2
2
  //# sourceMappingURL=teleport.cjs.map
@@ -23,7 +23,7 @@ import { c as z, f as Wt } from "./ripple-BumgqsDT.js";
23
23
  import "./divider-QNGduBj3.js";
24
24
  import "./form-G748qOFO.js";
25
25
  import "./icon-VpDcG-1m.js";
26
- import "./input-DZ2KhA3T.js";
26
+ import "./input-Bl7sD2lt.js";
27
27
  import "./flex-BD4c3vZt.js";
28
28
  import "./list-CXPHvvQw.js";
29
29
  import "./menu-Cpld82tG.js";
@@ -33,7 +33,7 @@ import "./option-CXpO0NeB.js";
33
33
  import "./radio-group-BzITeo1Z.js";
34
34
  import "./index-CuY8m6ta.js";
35
35
  import "./select-B6Us7Kk8.js";
36
- import { s as G } from "./sheet-X4wSUqXf.js";
36
+ import { s as G } from "./sheet-DrKmM05e.js";
37
37
  import "./slider-BYmWjukU.js";
38
38
  import "./surface-CN6Y9D0w.js";
39
39
  import "./table-BGHYGmrv.js";
@@ -527,4 +527,4 @@ export {
527
527
  Ve as s,
528
528
  H as t
529
529
  };
530
- //# sourceMappingURL=teleport.component-Bulmd5T1.js.map
530
+ //# sourceMappingURL=teleport.component-B2hJQblG.js.map