@mhmo91/schmancy 0.2.154 → 0.2.155

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.
@@ -1,258 +0,0 @@
1
- import { unsafeCSS as $, html as m, css as B } from "lit";
2
- import { property as t, customElement as v, queryAssignedElements as M, query as z } from "lit/decorators.js";
3
- import { classMap as R } from "lit/directives/class-map.js";
4
- import { styleMap as L } from "lit/directives/style-map.js";
5
- import { fromEvent as P, map as S, startWith as D, distinctUntilChanged as U, takeUntil as k, debounceTime as H, filter as A } from "rxjs";
6
- import { T as I } from "./tailwind.mixin-DfCRWaRI.js";
7
- var F = Object.defineProperty, i = (e, o, l, n) => {
8
- for (var p, r = void 0, a = e.length - 1; a >= 0; a--) (p = e[a]) && (r = p(o, l, r) || r);
9
- return r && F(o, l, r), r;
10
- };
11
- const w = class w extends I() {
12
- constructor() {
13
- super(...arguments), this.layout = !0, this.center = void 0, this.display = void 0, this.overflow = void 0, this.overflowX = void 0, this.overflowY = void 0, this.position = void 0;
14
- }
15
- connectedCallback() {
16
- super.connectedCallback(), this.style.setProperty("padding", this.padding ?? ""), this.style.setProperty("margin", this.margin ?? ""), this.style.setProperty("width", this.width ?? ""), this.style.setProperty("height", this.height ?? ""), this.style.setProperty("min-width", this.minWidth ?? ""), this.style.setProperty("min-height", this.minHeight ?? ""), this.style.setProperty("max-width", this.maxWidth ?? ""), this.style.setProperty("max-height", this.maxHeight ?? ""), this.style.setProperty("display", this.display ?? ""), this.style.setProperty("overflow", this.overflow ?? ""), this.style.setProperty("overflow-x", this.overflowX ?? ""), this.style.setProperty("overflow-y", this.overflowY ?? ""), this.style.setProperty("position", this.position ?? ""), this.style.setProperty("top", this.top ?? ""), this.style.setProperty("right", this.right ?? ""), this.style.setProperty("bottom", this.bottom ?? ""), this.style.setProperty("left", this.left ?? ""), this.style.setProperty("inset", this.inset ?? ""), this.style.setProperty("z-index", this.zIndex ?? ""), this.style.setProperty("border", this.border ?? ""), this.style.setProperty("border-top", this.borderTop ?? ""), this.style.setProperty("border-right", this.borderRight ?? ""), this.style.setProperty("border-bottom", this.borderBottom ?? ""), this.style.setProperty("border-left", this.borderLeft ?? ""), this.style.setProperty("border-color", this.borderColor ?? ""), this.style.setProperty("border-radius", this.borderRadius ?? ""), this.style.setProperty("border-width", this.borderWidth ?? ""), this.style.setProperty("box-shadow", this.boxShadow ?? ""), this.style.setProperty("opacity", this.opacity ?? ""), this.style.setProperty("background", this.background ?? ""), this.style.setProperty("background-image", this.backgroundImage ?? ""), this.style.setProperty("background-position", this.backgroundPosition ?? ""), this.style.setProperty("background-size", this.backgroundSize ?? ""), this.style.setProperty("background-repeat", this.backgroundRepeat ?? ""), this.style.setProperty("background-attachment", this.backgroundAttachment ?? ""), this.style.setProperty("background-color", this.backgroundColor ?? ""), this.style.setProperty("background-clip", this.backgroundClip ?? ""), this.style.setProperty("background-origin", this.backgroundOrigin ?? ""), this.style.setProperty("background-blend-mode", this.backgroundBlendMode ?? ""), this.style.setProperty("filter", this.filter ?? ""), this.style.setProperty("backdrop-filter", this.backdropFilter ?? ""), this.center && (this.style.setProperty("margin-left", "auto"), this.style.setProperty("margin-right", "auto"));
17
- }
18
- };
19
- w.styles = [w.styles];
20
- let s = w;
21
- i([t({ type: Boolean })], s.prototype, "center"), i([t({ type: String })], s.prototype, "padding"), i([t({ type: String })], s.prototype, "margin"), i([t({ type: String })], s.prototype, "width"), i([t({ type: String })], s.prototype, "height"), i([t({ type: String })], s.prototype, "minWidth"), i([t({ type: String })], s.prototype, "minHeight"), i([t({ type: String })], s.prototype, "maxWidth"), i([t({ type: String })], s.prototype, "maxHeight"), i([t({ type: String })], s.prototype, "display"), i([t({ type: String })], s.prototype, "overflow"), i([t({ type: String })], s.prototype, "overflowX"), i([t({ type: String })], s.prototype, "overflowY"), i([t({ type: String })], s.prototype, "position"), i([t({ type: String })], s.prototype, "top"), i([t({ type: String })], s.prototype, "right"), i([t({ type: String })], s.prototype, "bottom"), i([t({ type: String })], s.prototype, "left"), i([t({ type: String })], s.prototype, "inset"), i([t({ type: String })], s.prototype, "zIndex"), i([t({ type: String })], s.prototype, "border"), i([t({ type: String })], s.prototype, "borderTop"), i([t({ type: String })], s.prototype, "borderRight"), i([t({ type: String })], s.prototype, "borderBottom"), i([t({ type: String })], s.prototype, "borderLeft"), i([t({ type: String })], s.prototype, "borderColor"), i([t({ type: String })], s.prototype, "borderRadius"), i([t({ type: String })], s.prototype, "borderWidth"), i([t({ type: String })], s.prototype, "boxShadow"), i([t({ type: String })], s.prototype, "opacity"), i([t({ type: String })], s.prototype, "background"), i([t({ type: String })], s.prototype, "backgroundImage"), i([t({ type: String })], s.prototype, "backgroundPosition"), i([t({ type: String })], s.prototype, "backgroundSize"), i([t({ type: String })], s.prototype, "backgroundRepeat"), i([t({ type: String })], s.prototype, "backgroundAttachment"), i([t({ type: String })], s.prototype, "backgroundColor"), i([t({ type: String })], s.prototype, "backgroundClip"), i([t({ type: String })], s.prototype, "backgroundOrigin"), i([t({ type: String })], s.prototype, "backgroundBlendMode"), i([t({ type: String })], s.prototype, "filter"), i([t({ type: String })], s.prototype, "backdropFilter");
22
- var N = Object.defineProperty, X = Object.getOwnPropertyDescriptor, b = (e, o, l, n) => {
23
- for (var p, r = n > 1 ? void 0 : n ? X(o, l) : o, a = e.length - 1; a >= 0; a--) (p = e[a]) && (r = (n ? p(o, l, r) : p(r)) || r);
24
- return n && r && N(o, l, r), r;
25
- };
26
- let g = class extends s {
27
- constructor() {
28
- super(...arguments), this.layout = !0, this.flow = "col", this.wrap = "wrap", this.align = "start", this.justify = "start", this.gap = "none";
29
- }
30
- render() {
31
- const e = { flex: !0, "flex-col": this.flow === "row", "flex-col-reverse": this.flow === "row-reverse", "flex-row": this.flow === "col", "flex-row-reverse": this.flow === "col-reverse", "flex-wrap": this.wrap === "wrap", "flex-wrap-reverse": this.wrap === "wrap-reverse", "flex-nowrap": this.wrap === "nowrap", "items-start": this.align === "start", "items-center": this.align === "center", "items-end": this.align === "end", "items-stretch": this.align === "stretch", "justify-baseline": this.align === "baseline", "justify-center": this.justify === "center", "justify-end": this.justify === "end", "justify-start": this.justify === "start", "justify-stretch": this.justify === "stretch", "justify-between": this.justify === "between", "gap-0": this.gap === "none", "gap-2": this.gap === "sm", "gap-4": this.gap === "md", "gap-8": this.gap === "lg" };
32
- return m`
33
- <section class=${R(e)} style=${L({})}>
34
- <slot></slot>
35
- </section>
36
- `;
37
- }
38
- };
39
- g.styles = [s.styles, $(":host{display:block;background-color:inherit}")], b([t({ type: String, reflect: !0 })], g.prototype, "flow", 2), b([t({ type: String, reflect: !0 })], g.prototype, "wrap", 2), b([t({ type: String, reflect: !0 })], g.prototype, "align", 2), b([t({ type: String, reflect: !0 })], g.prototype, "justify", 2), b([t({ type: String, reflect: !0 })], g.prototype, "gap", 2), g = b([v("schmancy-flex")], g);
40
- var Y = Object.defineProperty, q = Object.getOwnPropertyDescriptor, c = (e, o, l, n) => {
41
- for (var p, r = n > 1 ? void 0 : n ? q(o, l) : o, a = e.length - 1; a >= 0; a--) (p = e[a]) && (r = (n ? p(o, l, r) : p(r)) || r);
42
- return n && r && Y(o, l, r), r;
43
- };
44
- let h = class extends s {
45
- constructor() {
46
- super(...arguments), this.layout = !0, this.flow = "row", this.align = "stretch", this.justify = "stretch", this.content = "stretch", this.gap = "none", this.wrap = !1;
47
- }
48
- firstUpdated() {
49
- this.rcols && P(window, "resize").pipe(S((e) => e.target), D(1), S(() => this.clientWidth ? this.clientWidth : window.innerWidth), U(), k(this.disconnecting), H(10), S((e) => {
50
- var l, n, p, r, a, x, j, O, W, E, T, C;
51
- let o;
52
- return (l = this.rcols) != null && l["2xl"] && e >= 1536 ? o = (n = this.rcols) == null ? void 0 : n["2xl"] : (p = this.rcols) != null && p.xl && e >= 1280 ? o = (r = this.rcols) == null ? void 0 : r.xl : (a = this.rcols) != null && a.lg && e >= 1024 ? o = (x = this.rcols) == null ? void 0 : x.lg : (j = this.rcols) != null && j.md && e >= 768 ? o = (O = this.rcols) == null ? void 0 : O.md : (W = this.rcols) != null && W.sm && e >= 640 ? o = (E = this.rcols) == null ? void 0 : E.sm : (T = this.rcols) != null && T.xs && e < 640 && (o = (C = this.rcols) == null ? void 0 : C.xs), o;
53
- })).subscribe((e) => {
54
- this.cols = e;
55
- });
56
- }
57
- render() {
58
- const e = { "h-full": !0, "grid flex-1": !0, "grid-flow-row auto-rows-max": this.flow === "row", "grid-flow-col auto-cols-max": this.flow === "col", "grid-flow-row-dense": this.flow === "row-dense", "grid-flow-col-dense": this.flow === "col-dense", "grid-flow-dense": this.flow === "dense", "justify-center": this.content === "center", "justify-end": this.content === "end", "justify-start": this.content === "start", "justify-stretch": this.content === "stretch", "justify-between": this.content === "between", "justify-around": this.content === "around", "justify-evenly": this.content === "evenly", "justify-items-center": this.justify === "center", "justify-items-end": this.justify === "end", "justify-items-start": this.justify === "start", "justify-items-stretch": this.justify === "stretch", "items-center": this.align === "center", "items-end": this.align === "end", "items-start": this.align === "start", "items-stretch": this.align === "stretch", "items-baseline": this.align === "baseline", "gap-0": this.gap === "none", "gap-1": this.gap === "xs", "gap-2": this.gap === "sm", "gap-4": this.gap === "md", "gap-8": this.gap === "lg", "flex-nowrap": this.wrap, "flex-wrap": !this.wrap }, o = { gridTemplateRows: this.rows ? this.rows : void 0, gridTemplateColumns: this.cols ? this.cols : void 0 };
59
- return m`
60
- <section class="${this.classMap(e)}" style=${this.styleMap(o)}>
61
- <slot> </slot>
62
- </section>
63
- `;
64
- }
65
- };
66
- h.styles = [s.styles, $(":host{height:max-content;width:-webkit-fill-available;display:block}")], c([t({ type: String })], h.prototype, "flow", 2), c([t({ type: String })], h.prototype, "align", 2), c([t({ type: String })], h.prototype, "justify", 2), c([t({ type: String })], h.prototype, "content", 2), c([t({ type: String })], h.prototype, "gap", 2), c([t({ type: String })], h.prototype, "cols", 2), c([t({ type: String })], h.prototype, "rows", 2), c([t({ type: Object })], h.prototype, "rcols", 2), c([t({ type: Boolean })], h.prototype, "wrap", 2), c([M()], h.prototype, "assignedElements", 2), h = c([v("schmancy-grid")], h);
67
- var G = Object.defineProperty, J = Object.getOwnPropertyDescriptor, f = (e, o, l, n) => {
68
- for (var p, r = n > 1 ? void 0 : n ? J(o, l) : o, a = e.length - 1; a >= 0; a--) (p = e[a]) && (r = (n ? p(o, l, r) : p(r)) || r);
69
- return n && r && G(o, l, r), r;
70
- };
71
- let d = class extends I(B`
72
- :host {
73
- height: 100%;
74
- width: 100%;
75
- overflow: hidden;
76
- box-sizing: border-box; /* Ensures proper sizing */
77
- display: block;
78
- position: relative;
79
- inset: 0px;
80
- }
81
- .scrollbar-hide {
82
- -ms-overflow-style: none; /* IE and Edge */
83
- scrollbar-width: none; /* Firefox */
84
- }
85
- .scrollbar-hide::-webkit-scrollbar {
86
- display: none; /* Chrome, Safari, and Opera */
87
- }
88
- .content-wrapper {
89
- /* Ensures the padding is preserved during scroll */
90
- box-sizing: border-box;
91
- width: 100%;
92
- display: inline-block; /* Important for proper horizontal scrolling */
93
- min-width: 100%;
94
- white-space: nowrap; /* Ensures content doesn't wrap */
95
- }
96
- `) {
97
- constructor() {
98
- super(...arguments), this.hide = !1, this.scrollPaddingStart = 0, this.scrollPaddingEnd = 0, this.debounce = 10;
99
- }
100
- scrollTo(e, o) {
101
- if (this.scroller) if (typeof e == "number") {
102
- const l = Math.max(0, e);
103
- this.scroller.scrollTo({ left: l, behavior: o ? "smooth" : "auto" });
104
- } else if (e) if (e.left !== void 0) {
105
- const l = { ...e };
106
- l.left = Math.max(0, e.left), this.scroller.scrollTo(l);
107
- } else e.top, this.scroller.scrollTo(e);
108
- else this.scroller.scrollTo({ left: 0, behavior: "auto" });
109
- }
110
- updated(e) {
111
- super.updated(e), (e.has("scrollPaddingStart") || e.has("scrollPaddingEnd")) && this.updatePaddingStyles();
112
- }
113
- updatePaddingStyles() {
114
- this.scroller && (this.scroller.style.scrollPaddingInlineStart = `${this.scrollPaddingStart}px`, this.scroller.style.scrollPaddingInlineEnd = `${this.scrollPaddingEnd}px`, this.contentWrapper && (this.contentWrapper.style.paddingLeft = `${this.scrollPaddingStart}px`));
115
- }
116
- firstUpdated() {
117
- this.updatePaddingStyles(), P(this.scroller, "scroll", { passive: !0 }).pipe(H(this.debounce), k(this.disconnecting)).subscribe((e) => {
118
- const o = this.scroller.scrollTop, l = this.scroller.scrollLeft, n = this.scroller.scrollHeight, p = this.scroller.scrollWidth, r = this.scroller.clientHeight, a = this.scroller.clientWidth;
119
- this.dispatchEvent(new CustomEvent("scroll", { detail: { scrollTop: o, scrollLeft: l, scrollHeight: n, scrollWidth: p, clientHeight: r, clientWidth: a, e }, bubbles: !0, composed: !0 }));
120
- }), P(window, "@schmancy:scrollTo").pipe(A((e) => this.name !== void 0 && e.detail.name === this.name), k(this.disconnecting)).subscribe((e) => {
121
- if (e.detail.action === "scrollTo") {
122
- const o = { behavior: "smooth" };
123
- typeof e.detail.top == "number" && (o.top = e.detail.top), typeof e.detail.left == "number" && (o.left = e.detail.left), this.scrollTo(o);
124
- }
125
- });
126
- }
127
- render() {
128
- const e = { "h-full w-full inset-0 overflow-x-auto overflow-y-auto scroll-smooth overscroll-contain": !0, "scrollbar-hide": this.hide };
129
- return m`
130
- <div class="relative inset-0 h-full w-full overscroll-none">
131
- <div id="scroller" part="scroller" class=${this.classMap(e)}>
132
- <div id="content-wrapper" part="content" class="content-wrapper">
133
- <slot></slot>
134
- </div>
135
- </div>
136
- </div>
137
- `;
138
- }
139
- };
140
- f([t({ type: Boolean, reflect: !0 })], d.prototype, "hide", 2), f([t({ type: String, reflect: !0 })], d.prototype, "name", 2), f([t({ type: Number, attribute: "scroll-padding-start", reflect: !0 })], d.prototype, "scrollPaddingStart", 2), f([t({ type: Number, attribute: "scroll-padding-end", reflect: !0 })], d.prototype, "scrollPaddingEnd", 2), f([z("#scroller")], d.prototype, "scroller", 2), f([z("#content-wrapper")], d.prototype, "contentWrapper", 2), f([t({ type: Number })], d.prototype, "debounce", 2), d = f([v("schmancy-scroll")], d);
141
- var K = Object.defineProperty, Q = Object.getOwnPropertyDescriptor, u = (e, o, l, n) => {
142
- for (var p, r = n > 1 ? void 0 : n ? Q(o, l) : o, a = e.length - 1; a >= 0; a--) (p = e[a]) && (r = (n ? p(o, l, r) : p(r)) || r);
143
- return n && r && K(o, l, r), r;
144
- };
145
- let y = class extends s {
146
- constructor() {
147
- super(...arguments), this.inline = !1, this.flow = "row", this.wrap = "wrap", this.align = "stretch", this.justify = "start", this.gap = "none";
148
- }
149
- render() {
150
- const e = this.inline ? "inline-flex" : "flex";
151
- let o = "";
152
- switch (this.flow) {
153
- case "row":
154
- case "row-dense":
155
- default:
156
- o = "flex-row";
157
- break;
158
- case "row-reverse":
159
- o = "flex-row-reverse";
160
- break;
161
- case "col":
162
- case "col-dense":
163
- o = "flex-col";
164
- break;
165
- case "col-reverse":
166
- o = "flex-col-reverse";
167
- }
168
- let l = "";
169
- switch (this.flow === "row-dense" || this.flow === "col-dense" ? "wrap" : this.wrap) {
170
- case "wrap":
171
- default:
172
- l = "flex-wrap";
173
- break;
174
- case "nowrap":
175
- l = "flex-nowrap";
176
- break;
177
- case "wrap-reverse":
178
- l = "flex-wrap-reverse";
179
- }
180
- let n = "";
181
- switch (this.align) {
182
- case "start":
183
- n = "items-start";
184
- break;
185
- case "center":
186
- n = "items-center";
187
- break;
188
- case "end":
189
- n = "items-end";
190
- break;
191
- case "stretch":
192
- default:
193
- n = "items-stretch";
194
- break;
195
- case "baseline":
196
- n = "items-baseline";
197
- }
198
- let p = "";
199
- switch (this.justify) {
200
- case "start":
201
- default:
202
- p = "justify-start";
203
- break;
204
- case "center":
205
- p = "justify-center";
206
- break;
207
- case "end":
208
- p = "justify-end";
209
- break;
210
- case "between":
211
- p = "justify-between";
212
- break;
213
- case "around":
214
- p = "justify-around";
215
- break;
216
- case "evenly":
217
- p = "justify-evenly";
218
- }
219
- let r = "";
220
- if (this.content) switch (this.content) {
221
- case "start":
222
- r = "content-start";
223
- break;
224
- case "center":
225
- r = "content-center";
226
- break;
227
- case "end":
228
- r = "content-end";
229
- break;
230
- case "between":
231
- r = "content-between";
232
- break;
233
- case "around":
234
- r = "content-around";
235
- break;
236
- case "evenly":
237
- r = "content-evenly";
238
- }
239
- const a = [e, o, l, n, p, r, this.gap === "none" ? "gap-0" : `gap-${this.gap}`].filter(Boolean).join(" ");
240
- return m`
241
- <section class=${a}>
242
- <slot></slot>
243
- </section>
244
- `;
245
- }
246
- };
247
- y.styles = [s.styles, B`
248
- :host {
249
- display: block;
250
- }
251
- `], u([t({ type: Boolean, reflect: !0 })], y.prototype, "inline", 2), u([t({ type: String, reflect: !0 })], y.prototype, "flow", 2), u([t({ type: String, reflect: !0 })], y.prototype, "wrap", 2), u([t({ type: String, reflect: !0 })], y.prototype, "align", 2), u([t({ type: String, reflect: !0 })], y.prototype, "justify", 2), u([t({ type: String, reflect: !0 })], y.prototype, "content", 2), u([t({ type: String, reflect: !0 })], y.prototype, "gap", 2), y = u([v("sch-flex")], y);
252
- export {
253
- g as S,
254
- h as a,
255
- d as b,
256
- y as c
257
- };
258
- //# sourceMappingURL=flex-CMCtC3Pa.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flex-CMCtC3Pa.js","sources":["../src/layout/layout.ts","../src/layout/flex/flex.ts","../src/layout/grid/grid.ts","../src/layout/scroll/scroll.ts","../src/layout/v2/flex.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'\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'\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, property, query } from 'lit/decorators.js'\nimport { debounceTime, filter, fromEvent, takeUntil } from 'rxjs'\n\n/**\n * Custom scroll event interface for the SchmancyScroll component.\n * Contains detailed information about the scroll state.\n */\nexport interface SchmancyScrollEvent\n\textends CustomEvent<{\n\t\t/** Current scroll position from the top */\n\t\tscrollTop: number\n\t\t/** Current scroll position from the left */\n\t\tscrollLeft: number\n\t\t/** Total scrollable height of the content */\n\t\tscrollHeight: number\n\t\t/** Total scrollable width of the content */\n\t\tscrollWidth: number\n\t\t/** Visible height of the container */\n\t\tclientHeight: number\n\t\t/** Visible width of the container */\n\t\tclientWidth: number\n\t\t/** Original scroll event */\n\t\te: Event\n\t}> {}\n\n/**\n * Command event interface for controlling SchmancyScroll components\n */\nexport interface SchmancyScrollCommandEvent\n\textends CustomEvent<{\n\t\t/** Target component name */\n\t\tname: string\n\t\t/** Command action to perform */\n\t\taction: 'scrollTo'\n\t\t/** Vertical scroll position for scrollTo action (optional) */\n\t\ttop?: number\n\t\t/** Horizontal scroll position for scrollTo action (optional) */\n\t\tleft?: number\n\t}> {}\n\n// Augment the HTMLElementEventMap to include our custom events\ndeclare global {\n\tinterface HTMLElementEventMap {\n\t\tscroll: SchmancyScrollEvent\n\t\t'schmancy-scroll-command': SchmancyScrollCommandEvent\n\t}\n}\n\n/**\n * A custom scrollable container with enhanced features.\n *\n * @fires {SchmancyScrollEvent} scroll - Fired when scrolling occurs (with a configurable debounce)\n * @slot - Default slot for content to be scrolled\n * @csspart scroller - The inner scrollable div element\n * @csspart content - The content wrapper with padding\n *\n * @example\n * ```html\n * <!-- For horizontal scrolling with padding -->\n * <schmancy-scroll hide name=\"main-content\" scroll-padding-start=\"24\" scroll-padding-end=\"24\">\n * <div style=\"width: 1200px\">Horizontally scrollable content goes here</div>\n * </schmancy-scroll>\n * ```\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-sizing: border-box; /* Ensures proper sizing */\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tinset: 0px;\n\t}\n\t.scrollbar-hide {\n\t\t-ms-overflow-style: none; /* IE and Edge */\n\t\tscrollbar-width: none; /* Firefox */\n\t}\n\t.scrollbar-hide::-webkit-scrollbar {\n\t\tdisplay: none; /* Chrome, Safari, and Opera */\n\t}\n\t.content-wrapper {\n\t\t/* Ensures the padding is preserved during scroll */\n\t\tbox-sizing: border-box;\n\t\twidth: 100%;\n\t\tdisplay: inline-block; /* Important for proper horizontal scrolling */\n\t\tmin-width: 100%;\n\t\twhite-space: nowrap; /* Ensures content doesn't wrap */\n\t}\n`) {\n\t/**\n\t * Determines whether the scrollbar is hidden.\n\t *\n\t * When `hide` is true, the inner scrollable div receives the `scrollbar-hide` class,\n\t * which hides scrollbars in supported browsers.\n\t *\n\t * @attr hide\n\t * @example <schmancy-scroll hide></schmancy-scroll>\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic hide = false\n\n\t/**\n\t * Optional name identifier for the component.\n\t * Used for targeting this specific component with global events.\n\t *\n\t * @attr name\n\t * @example <schmancy-scroll name=\"main-content\"></schmancy-scroll>\n\t */\n\t@property({ type: String, reflect: true })\n\tpublic name?: string\n\n\t/**\n\t * Amount of padding at the start (top) of the scrollable area in pixels.\n\t * Creates space between the top of the viewport and the content.\n\t *\n\t * @attr scroll-padding-start\n\t * @example <schmancy-scroll scroll-padding-start=\"24\"></schmancy-scroll>\n\t */\n\t@property({ type: Number, attribute: 'scroll-padding-start', reflect: true })\n\tpublic scrollPaddingStart = 0\n\n\t/**\n\t * Amount of padding at the end (bottom) of the scrollable area in pixels.\n\t * Creates space between the bottom of the viewport and the content.\n\t *\n\t * @attr scroll-padding-end\n\t * @example <schmancy-scroll scroll-padding-end=\"24\"></schmancy-scroll>\n\t */\n\t@property({ type: Number, attribute: 'scroll-padding-end', reflect: true })\n\tpublic scrollPaddingEnd = 0\n\n\t/**\n\t * Reference to the inner scrollable div element\n\t * @public\n\t */\n\t@query('#scroller')\n\tscroller!: HTMLElement\n\n\t/**\n\t * Reference to the content wrapper div element\n\t * @public\n\t */\n\t@query('#content-wrapper')\n\tcontentWrapper!: HTMLElement\n\n\t/**\n\t * Debounce time in milliseconds for the scroll event.\n\t * Higher values reduce the frequency of scroll events being dispatched.\n\t *\n\t * @attr debounce\n\t * @example <schmancy-scroll debounce=\"50\"></schmancy-scroll>\n\t */\n\t@property({ type: Number })\n\tpublic debounce = 10\n\n\t/**\n\t * Scrolls the container to the specified position, accounting for scroll padding\n\t * @param options - ScrollToOptions, a number for the horizontal position (legacy API support),\n\t * or undefined to scroll to beginning\n\t * @param top - Optional top value when first parameter is a number (legacy API support)\n\t */\n\tpublic override scrollTo(options?: ScrollToOptions | number, top?: number): void {\n\t\tif (!this.scroller) return\n\n\t\tif (typeof options === 'number') {\n\t\t\t// For backward compatibility - when a number is passed, we treat it as a left position\n\t\t\t// This maintains compatibility with the original API\n\t\t\tconst adjustedLeft = Math.max(0, options)\n\t\t\tthis.scroller.scrollTo({\n\t\t\t\tleft: adjustedLeft,\n\t\t\t\tbehavior: top ? 'smooth' : 'auto',\n\t\t\t})\n\t\t} else if (options) {\n\t\t\t// If options.left is provided, handle horizontal scrolling\n\t\t\tif (options.left !== undefined) {\n\t\t\t\tconst adjustedOptions = { ...options }\n\t\t\t\tadjustedOptions.left = Math.max(0, options.left)\n\t\t\t\tthis.scroller.scrollTo(adjustedOptions)\n\t\t\t}\n\t\t\t// If only top is provided, maintain original behavior for backward compatibility\n\t\t\telse if (options.top !== undefined) {\n\t\t\t\tthis.scroller.scrollTo(options)\n\t\t\t} else {\n\t\t\t\tthis.scroller.scrollTo(options)\n\t\t\t}\n\t\t} else {\n\t\t\t// Default scroll to beginning (left side)\n\t\t\tthis.scroller.scrollTo({ left: 0, behavior: 'auto' })\n\t\t}\n\t}\n\n\t/**\n\t * Called when component properties change\n\t * Updates the padding styles when padding properties change\n\t * @protected\n\t */\n\tprotected updated(changedProperties: Map<string, unknown>): void {\n\t\tsuper.updated(changedProperties)\n\n\t\tif (changedProperties.has('scrollPaddingStart') || changedProperties.has('scrollPaddingEnd')) {\n\t\t\tthis.updatePaddingStyles()\n\t\t}\n\t}\n\n\t/**\n\t * Updates the content wrapper's padding and applies scroll-padding CSS properties\n\t * to the scroller element\n\t * @private\n\t */\n\tprivate updatePaddingStyles(): void {\n\t\tif (!this.scroller) return\n\n\t\t// Apply CSS scroll-padding properties directly to the scroller\n\t\t// This is the standard way to handle scroll padding in CSS\n\t\tthis.scroller.style.scrollPaddingInlineStart = `${this.scrollPaddingStart}px`\n\t\tthis.scroller.style.scrollPaddingInlineEnd = `${this.scrollPaddingEnd}px`\n\n\t\t// Also set padding on content for visual consistency\n\t\tif (this.contentWrapper) {\n\t\t\tthis.contentWrapper.style.paddingLeft = `${this.scrollPaddingStart}px`\n\t\t}\n\t}\n\n\t/**\n\t * Called after the component's first update\n\t * Sets up the scroll event listener with debouncing and applies initial styles\n\t * @protected\n\t */\n\tprotected firstUpdated(): void {\n\t\t// Apply initial padding styles\n\t\tthis.updatePaddingStyles()\n\n\t\t// Set up scroll event listening with debounce\n\t\tfromEvent(this.scroller, 'scroll', {\n\t\t\tpassive: true,\n\t\t})\n\t\t\t.pipe(\n\t\t\t\tdebounceTime(this.debounce),\n\t\t\t\ttakeUntil(this.disconnecting), // Unsubscribe when the element is destroyed\n\t\t\t)\n\t\t\t.subscribe(e => {\n\t\t\t\tconst scrollTop = this.scroller.scrollTop\n\t\t\t\tconst scrollLeft = this.scroller.scrollLeft\n\t\t\t\tconst scrollHeight = this.scroller.scrollHeight\n\t\t\t\tconst scrollWidth = this.scroller.scrollWidth\n\t\t\t\tconst clientHeight = this.scroller.clientHeight\n\t\t\t\tconst clientWidth = this.scroller.clientWidth\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('scroll', {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tscrollTop,\n\t\t\t\t\t\t\tscrollLeft,\n\t\t\t\t\t\t\tscrollHeight,\n\t\t\t\t\t\t\tscrollWidth,\n\t\t\t\t\t\t\tclientHeight,\n\t\t\t\t\t\t\tclientWidth,\n\t\t\t\t\t\t\te,\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}) as SchmancyScrollEvent,\n\t\t\t\t)\n\t\t\t})\n\n\t\t// Set up global command event listener\n\t\tfromEvent<SchmancyScrollCommandEvent>(window, '@schmancy:scrollTo')\n\t\t\t.pipe(\n\t\t\t\t// Only process events targeting this component by name\n\t\t\t\tfilter(e => this.name !== undefined && e.detail.name === this.name),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(e => {\n\t\t\t\tif (e.detail.action === 'scrollTo') {\n\t\t\t\t\tconst options: ScrollToOptions = {\n\t\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\t}\n\n\t\t\t\t\t// Add top or left position if provided\n\t\t\t\t\tif (typeof e.detail.top === 'number') {\n\t\t\t\t\t\toptions.top = e.detail.top\n\t\t\t\t\t}\n\n\t\t\t\t\tif (typeof e.detail.left === 'number') {\n\t\t\t\t\t\toptions.left = e.detail.left\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.scrollTo(options)\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\t/**\n\t * Renders the component template\n\t * @returns {TemplateResult} The template to render\n\t * @protected\n\t */\n\tprotected render() {\n\t\t// The classes are dynamically assigned based on the `hide` property.\n\t\tconst classes = {\n\t\t\t'h-full w-full inset-0 overflow-x-auto overflow-y-auto scroll-smooth overscroll-contain': true,\n\t\t\t'scrollbar-hide': this.hide,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=\"relative inset-0 h-full w-full overscroll-none\">\n\t\t\t\t<div id=\"scroller\" part=\"scroller\" class=${this.classMap(classes)}>\n\t\t\t\t\t<div id=\"content-wrapper\" part=\"content\" class=\"content-wrapper\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-scroll': SchmancyScroll\n\t}\n}\n","import { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport Layout from '../layout'\n\n/**\n * SchmancyFlex exposes a flex container with all the Tailwind CSS 4 options:\n *\n * - **Display**: By default uses `flex` but can be set to inline using the `inline` property.\n * - **Flow**: Accepts 'row', 'row-reverse', 'col', 'col-reverse' as well as grid‐like dense variants:\n * - Dense variants (`row-dense`, `col-dense`) force wrapping.\n * - **Wrap**: 'wrap', 'nowrap', or 'wrap-reverse'\n * - **Align Items**: 'start', 'center', 'end', 'stretch', or 'baseline'\n * - **Justify Content**: 'start', 'center', 'end', 'between', 'around', or 'evenly'\n * - **Align Content** (for multi-line flex containers): 'start', 'center', 'end', 'between', 'around', or 'evenly'\n * - **Gap**: Supports Tailwind’s spacing scale (e.g. 'none', '0', '1', '2', …, '64')\n */\n@customElement('sch-flex')\nexport class SchmancyFlexV2 extends Layout {\n\tstatic styles = [\n\t\tLayout.styles,\n\t\tcss`\n\t\t\t:host {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t`,\n\t]\n\t// If true, the container will use inline-flex instead of flex.\n\t@property({ type: Boolean, reflect: true })\n\tinline = false\n\n\t/**\n\t * Flow property that determines the flex direction.\n\t * Allowed values:\n\t * - Standard: 'row', 'row-reverse', 'col', 'col-reverse'\n\t * - Dense variants: 'row-dense', 'col-dense' (dense implies wrapping)\n\t */\n\t@property({ type: String, reflect: true })\n\tflow: 'row' | 'row-reverse' | 'col' | 'col-reverse' | 'row-dense' | 'col-dense' = 'row'\n\n\t/**\n\t * Flex-wrap options:\n\t * - 'wrap', 'nowrap', or 'wrap-reverse'\n\t */\n\t@property({ type: String, reflect: true })\n\twrap: 'wrap' | 'nowrap' | 'wrap-reverse' = 'wrap'\n\n\t/**\n\t * Align-items (vertical alignment of flex items):\n\t * - 'start', 'center', 'end', 'stretch', or 'baseline'\n\t */\n\t@property({ type: String, reflect: true })\n\talign: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'stretch'\n\n\t/**\n\t * Justify-content (horizontal distribution):\n\t * - 'start', 'center', 'end', 'between', 'around', or 'evenly'\n\t */\n\t@property({ type: String, reflect: true })\n\tjustify: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly' = 'start'\n\n\t/**\n\t * Align-content (spacing between rows when wrapping):\n\t * - 'start', 'center', 'end', 'between', 'around', or 'evenly'\n\t */\n\t@property({ type: String, reflect: true })\n\tcontent?: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly'\n\n\t/**\n\t * Gap between flex items.\n\t * Options (based on Tailwind CSS 4 spacing scale):\n\t * - 'none', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '12', '16', '20', '24', '32', '40', '48', '56', or '64'\n\t */\n\t@property({ type: String, reflect: true })\n\tgap:\n\t\t| 'none'\n\t\t| '0'\n\t\t| '1'\n\t\t| '2'\n\t\t| '3'\n\t\t| '4'\n\t\t| '5'\n\t\t| '6'\n\t\t| '7'\n\t\t| '8'\n\t\t| '9'\n\t\t| '10'\n\t\t| '12'\n\t\t| '16'\n\t\t| '20'\n\t\t| '24'\n\t\t| '32'\n\t\t| '40'\n\t\t| '48'\n\t\t| '56'\n\t\t| '64' = 'none'\n\n\trender() {\n\t\t// Determine whether to use inline-flex or flex.\n\t\tconst baseDisplay = this.inline ? 'inline-flex' : 'flex'\n\n\t\t// Map the flow property to a flex-direction class.\n\t\t// (Dense variants use the same class as their standard counterparts.)\n\t\tlet directionClass = ''\n\t\tswitch (this.flow) {\n\t\t\tcase 'row':\n\t\t\tcase 'row-dense':\n\t\t\t\tdirectionClass = 'flex-row'\n\t\t\t\tbreak\n\t\t\tcase 'row-reverse':\n\t\t\t\tdirectionClass = 'flex-row-reverse'\n\t\t\t\tbreak\n\t\t\tcase 'col':\n\t\t\tcase 'col-dense':\n\t\t\t\tdirectionClass = 'flex-col'\n\t\t\t\tbreak\n\t\t\tcase 'col-reverse':\n\t\t\t\tdirectionClass = 'flex-col-reverse'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tdirectionClass = 'flex-row'\n\t\t}\n\n\t\t// Dense variants force wrapping regardless of the wrap property.\n\t\tconst isDense = this.flow === 'row-dense' || this.flow === 'col-dense'\n\t\tconst effectiveWrap = isDense ? 'wrap' : this.wrap\n\n\t\tlet wrapClass = ''\n\t\tswitch (effectiveWrap) {\n\t\t\tcase 'wrap':\n\t\t\t\twrapClass = 'flex-wrap'\n\t\t\t\tbreak\n\t\t\tcase 'nowrap':\n\t\t\t\twrapClass = 'flex-nowrap'\n\t\t\t\tbreak\n\t\t\tcase 'wrap-reverse':\n\t\t\t\twrapClass = 'flex-wrap-reverse'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\twrapClass = 'flex-wrap'\n\t\t}\n\n\t\t// Map align-items.\n\t\tlet alignClass = ''\n\t\tswitch (this.align) {\n\t\t\tcase 'start':\n\t\t\t\talignClass = 'items-start'\n\t\t\t\tbreak\n\t\t\tcase 'center':\n\t\t\t\talignClass = 'items-center'\n\t\t\t\tbreak\n\t\t\tcase 'end':\n\t\t\t\talignClass = 'items-end'\n\t\t\t\tbreak\n\t\t\tcase 'stretch':\n\t\t\t\talignClass = 'items-stretch'\n\t\t\t\tbreak\n\t\t\tcase 'baseline':\n\t\t\t\talignClass = 'items-baseline'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\talignClass = 'items-stretch'\n\t\t}\n\n\t\t// Map justify-content.\n\t\tlet justifyClass = ''\n\t\tswitch (this.justify) {\n\t\t\tcase 'start':\n\t\t\t\tjustifyClass = 'justify-start'\n\t\t\t\tbreak\n\t\t\tcase 'center':\n\t\t\t\tjustifyClass = 'justify-center'\n\t\t\t\tbreak\n\t\t\tcase 'end':\n\t\t\t\tjustifyClass = 'justify-end'\n\t\t\t\tbreak\n\t\t\tcase 'between':\n\t\t\t\tjustifyClass = 'justify-between'\n\t\t\t\tbreak\n\t\t\tcase 'around':\n\t\t\t\tjustifyClass = 'justify-around'\n\t\t\t\tbreak\n\t\t\tcase 'evenly':\n\t\t\t\tjustifyClass = 'justify-evenly'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tjustifyClass = 'justify-start'\n\t\t}\n\n\t\t// Map align-content (if provided).\n\t\tlet contentClass = ''\n\t\tif (this.content) {\n\t\t\tswitch (this.content) {\n\t\t\t\tcase 'start':\n\t\t\t\t\tcontentClass = 'content-start'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'center':\n\t\t\t\t\tcontentClass = 'content-center'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'end':\n\t\t\t\t\tcontentClass = 'content-end'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'between':\n\t\t\t\t\tcontentClass = 'content-between'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'around':\n\t\t\t\t\tcontentClass = 'content-around'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'evenly':\n\t\t\t\t\tcontentClass = 'content-evenly'\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\t// Map gap value.\n\t\tconst gapClass = this.gap === 'none' ? 'gap-0' : `gap-${this.gap}`\n\n\t\t// Build the complete list of classes.\n\t\tconst classes = [baseDisplay, directionClass, wrapClass, alignClass, justifyClass, contentClass, gapClass]\n\t\t\t.filter(Boolean)\n\t\t\t.join(' ')\n\n\t\treturn html`\n\t\t\t<section class=${classes}>\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'sch-flex': SchmancyFlexV2\n\t}\n}\n"],"names":["Layout","TailwindElement","constructor","super","arguments","this","layout","center","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","styles","_m","__decorateClass","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","hide","scrollPaddingStart","scrollPaddingEnd","debounce","options","scroller","adjustedLeft","Math","max","scrollTo","behavior","adjustedOptions","changedProperties","updated","has","updatePaddingStyles","scrollPaddingInlineStart","scrollPaddingInlineEnd","contentWrapper","paddingLeft","firstUpdated","passive","e","scrollTop","scrollLeft","scrollHeight","scrollWidth","clientHeight","dispatchEvent","CustomEvent","detail","bubbles","composed","name","action","Number","attribute","query","SchmancyFlexV2","inline","baseDisplay","directionClass","wrapClass","alignClass","justifyClass","contentClass","join"],"mappings":"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"}
@@ -1,51 +0,0 @@
1
- "use strict";const g=require("lit"),t=require("lit/decorators.js"),j=require("lit/directives/class-map.js"),E=require("lit/directives/style-map.js"),y=require("rxjs"),k=require("./tailwind.mixin-DY9Znj3e.cjs");var F=Object.defineProperty,i=(e,o,p,l)=>{for(var n,r=void 0,c=e.length-1;c>=0;c--)(n=e[c])&&(r=n(o,p,r)||r);return r&&F(o,p,r),r};const u=class u extends k.TailwindElement(){constructor(){super(...arguments),this.layout=!0,this.center=void 0,this.display=void 0,this.overflow=void 0,this.overflowX=void 0,this.overflowY=void 0,this.position=void 0}connectedCallback(){super.connectedCallback(),this.style.setProperty("padding",this.padding??""),this.style.setProperty("margin",this.margin??""),this.style.setProperty("width",this.width??""),this.style.setProperty("height",this.height??""),this.style.setProperty("min-width",this.minWidth??""),this.style.setProperty("min-height",this.minHeight??""),this.style.setProperty("max-width",this.maxWidth??""),this.style.setProperty("max-height",this.maxHeight??""),this.style.setProperty("display",this.display??""),this.style.setProperty("overflow",this.overflow??""),this.style.setProperty("overflow-x",this.overflowX??""),this.style.setProperty("overflow-y",this.overflowY??""),this.style.setProperty("position",this.position??""),this.style.setProperty("top",this.top??""),this.style.setProperty("right",this.right??""),this.style.setProperty("bottom",this.bottom??""),this.style.setProperty("left",this.left??""),this.style.setProperty("inset",this.inset??""),this.style.setProperty("z-index",this.zIndex??""),this.style.setProperty("border",this.border??""),this.style.setProperty("border-top",this.borderTop??""),this.style.setProperty("border-right",this.borderRight??""),this.style.setProperty("border-bottom",this.borderBottom??""),this.style.setProperty("border-left",this.borderLeft??""),this.style.setProperty("border-color",this.borderColor??""),this.style.setProperty("border-radius",this.borderRadius??""),this.style.setProperty("border-width",this.borderWidth??""),this.style.setProperty("box-shadow",this.boxShadow??""),this.style.setProperty("opacity",this.opacity??""),this.style.setProperty("background",this.background??""),this.style.setProperty("background-image",this.backgroundImage??""),this.style.setProperty("background-position",this.backgroundPosition??""),this.style.setProperty("background-size",this.backgroundSize??""),this.style.setProperty("background-repeat",this.backgroundRepeat??""),this.style.setProperty("background-attachment",this.backgroundAttachment??""),this.style.setProperty("background-color",this.backgroundColor??""),this.style.setProperty("background-clip",this.backgroundClip??""),this.style.setProperty("background-origin",this.backgroundOrigin??""),this.style.setProperty("background-blend-mode",this.backgroundBlendMode??""),this.style.setProperty("filter",this.filter??""),this.style.setProperty("backdrop-filter",this.backdropFilter??""),this.center&&(this.style.setProperty("margin-left","auto"),this.style.setProperty("margin-right","auto"))}};u.styles=[u.styles];let s=u;i([t.property({type:Boolean})],s.prototype,"center"),i([t.property({type:String})],s.prototype,"padding"),i([t.property({type:String})],s.prototype,"margin"),i([t.property({type:String})],s.prototype,"width"),i([t.property({type:String})],s.prototype,"height"),i([t.property({type:String})],s.prototype,"minWidth"),i([t.property({type:String})],s.prototype,"minHeight"),i([t.property({type:String})],s.prototype,"maxWidth"),i([t.property({type:String})],s.prototype,"maxHeight"),i([t.property({type:String})],s.prototype,"display"),i([t.property({type:String})],s.prototype,"overflow"),i([t.property({type:String})],s.prototype,"overflowX"),i([t.property({type:String})],s.prototype,"overflowY"),i([t.property({type:String})],s.prototype,"position"),i([t.property({type:String})],s.prototype,"top"),i([t.property({type:String})],s.prototype,"right"),i([t.property({type:String})],s.prototype,"bottom"),i([t.property({type:String})],s.prototype,"left"),i([t.property({type:String})],s.prototype,"inset"),i([t.property({type:String})],s.prototype,"zIndex"),i([t.property({type:String})],s.prototype,"border"),i([t.property({type:String})],s.prototype,"borderTop"),i([t.property({type:String})],s.prototype,"borderRight"),i([t.property({type:String})],s.prototype,"borderBottom"),i([t.property({type:String})],s.prototype,"borderLeft"),i([t.property({type:String})],s.prototype,"borderColor"),i([t.property({type:String})],s.prototype,"borderRadius"),i([t.property({type:String})],s.prototype,"borderWidth"),i([t.property({type:String})],s.prototype,"boxShadow"),i([t.property({type:String})],s.prototype,"opacity"),i([t.property({type:String})],s.prototype,"background"),i([t.property({type:String})],s.prototype,"backgroundImage"),i([t.property({type:String})],s.prototype,"backgroundPosition"),i([t.property({type:String})],s.prototype,"backgroundSize"),i([t.property({type:String})],s.prototype,"backgroundRepeat"),i([t.property({type:String})],s.prototype,"backgroundAttachment"),i([t.property({type:String})],s.prototype,"backgroundColor"),i([t.property({type:String})],s.prototype,"backgroundClip"),i([t.property({type:String})],s.prototype,"backgroundOrigin"),i([t.property({type:String})],s.prototype,"backgroundBlendMode"),i([t.property({type:String})],s.prototype,"filter"),i([t.property({type:String})],s.prototype,"backdropFilter");var T=Object.defineProperty,O=Object.getOwnPropertyDescriptor,f=(e,o,p,l)=>{for(var n,r=l>1?void 0:l?O(o,p):o,c=e.length-1;c>=0;c--)(n=e[c])&&(r=(l?n(o,p,r):n(r))||r);return l&&r&&T(o,p,r),r};exports.SchmancyFlex=class extends s{constructor(){super(...arguments),this.layout=!0,this.flow="col",this.wrap="wrap",this.align="start",this.justify="start",this.gap="none"}render(){const e={flex:!0,"flex-col":this.flow==="row","flex-col-reverse":this.flow==="row-reverse","flex-row":this.flow==="col","flex-row-reverse":this.flow==="col-reverse","flex-wrap":this.wrap==="wrap","flex-wrap-reverse":this.wrap==="wrap-reverse","flex-nowrap":this.wrap==="nowrap","items-start":this.align==="start","items-center":this.align==="center","items-end":this.align==="end","items-stretch":this.align==="stretch","justify-baseline":this.align==="baseline","justify-center":this.justify==="center","justify-end":this.justify==="end","justify-start":this.justify==="start","justify-stretch":this.justify==="stretch","justify-between":this.justify==="between","gap-0":this.gap==="none","gap-2":this.gap==="sm","gap-4":this.gap==="md","gap-8":this.gap==="lg"};return g.html`
2
- <section class=${j.classMap(e)} style=${E.styleMap({})}>
3
- <slot></slot>
4
- </section>
5
- `}},exports.SchmancyFlex.styles=[s.styles,g.unsafeCSS(":host{display:block;background-color:inherit}")],f([t.property({type:String,reflect:!0})],exports.SchmancyFlex.prototype,"flow",2),f([t.property({type:String,reflect:!0})],exports.SchmancyFlex.prototype,"wrap",2),f([t.property({type:String,reflect:!0})],exports.SchmancyFlex.prototype,"align",2),f([t.property({type:String,reflect:!0})],exports.SchmancyFlex.prototype,"justify",2),f([t.property({type:String,reflect:!0})],exports.SchmancyFlex.prototype,"gap",2),exports.SchmancyFlex=f([t.customElement("schmancy-flex")],exports.SchmancyFlex);var W=Object.defineProperty,C=Object.getOwnPropertyDescriptor,a=(e,o,p,l)=>{for(var n,r=l>1?void 0:l?C(o,p):o,c=e.length-1;c>=0;c--)(n=e[c])&&(r=(l?n(o,p,r):n(r))||r);return l&&r&&W(o,p,r),r};exports.SchmancyGrid=class extends s{constructor(){super(...arguments),this.layout=!0,this.flow="row",this.align="stretch",this.justify="stretch",this.content="stretch",this.gap="none",this.wrap=!1}firstUpdated(){this.rcols&&y.fromEvent(window,"resize").pipe(y.map(e=>e.target),y.startWith(1),y.map(()=>this.clientWidth?this.clientWidth:window.innerWidth),y.distinctUntilChanged(),y.takeUntil(this.disconnecting),y.debounceTime(10),y.map(e=>{var p,l,n,r,c,m,b,w,S,x,v,P;let o;return(p=this.rcols)!=null&&p["2xl"]&&e>=1536?o=(l=this.rcols)==null?void 0:l["2xl"]:(n=this.rcols)!=null&&n.xl&&e>=1280?o=(r=this.rcols)==null?void 0:r.xl:(c=this.rcols)!=null&&c.lg&&e>=1024?o=(m=this.rcols)==null?void 0:m.lg:(b=this.rcols)!=null&&b.md&&e>=768?o=(w=this.rcols)==null?void 0:w.md:(S=this.rcols)!=null&&S.sm&&e>=640?o=(x=this.rcols)==null?void 0:x.sm:(v=this.rcols)!=null&&v.xs&&e<640&&(o=(P=this.rcols)==null?void 0:P.xs),o})).subscribe(e=>{this.cols=e})}render(){const e={"h-full":!0,"grid flex-1":!0,"grid-flow-row auto-rows-max":this.flow==="row","grid-flow-col auto-cols-max":this.flow==="col","grid-flow-row-dense":this.flow==="row-dense","grid-flow-col-dense":this.flow==="col-dense","grid-flow-dense":this.flow==="dense","justify-center":this.content==="center","justify-end":this.content==="end","justify-start":this.content==="start","justify-stretch":this.content==="stretch","justify-between":this.content==="between","justify-around":this.content==="around","justify-evenly":this.content==="evenly","justify-items-center":this.justify==="center","justify-items-end":this.justify==="end","justify-items-start":this.justify==="start","justify-items-stretch":this.justify==="stretch","items-center":this.align==="center","items-end":this.align==="end","items-start":this.align==="start","items-stretch":this.align==="stretch","items-baseline":this.align==="baseline","gap-0":this.gap==="none","gap-1":this.gap==="xs","gap-2":this.gap==="sm","gap-4":this.gap==="md","gap-8":this.gap==="lg","flex-nowrap":this.wrap,"flex-wrap":!this.wrap},o={gridTemplateRows:this.rows?this.rows:void 0,gridTemplateColumns:this.cols?this.cols:void 0};return g.html`
6
- <section class="${this.classMap(e)}" style=${this.styleMap(o)}>
7
- <slot> </slot>
8
- </section>
9
- `}},exports.SchmancyGrid.styles=[s.styles,g.unsafeCSS(":host{height:max-content;width:-webkit-fill-available;display:block}")],a([t.property({type:String})],exports.SchmancyGrid.prototype,"flow",2),a([t.property({type:String})],exports.SchmancyGrid.prototype,"align",2),a([t.property({type:String})],exports.SchmancyGrid.prototype,"justify",2),a([t.property({type:String})],exports.SchmancyGrid.prototype,"content",2),a([t.property({type:String})],exports.SchmancyGrid.prototype,"gap",2),a([t.property({type:String})],exports.SchmancyGrid.prototype,"cols",2),a([t.property({type:String})],exports.SchmancyGrid.prototype,"rows",2),a([t.property({type:Object})],exports.SchmancyGrid.prototype,"rcols",2),a([t.property({type:Boolean})],exports.SchmancyGrid.prototype,"wrap",2),a([t.queryAssignedElements()],exports.SchmancyGrid.prototype,"assignedElements",2),exports.SchmancyGrid=a([t.customElement("schmancy-grid")],exports.SchmancyGrid);var G=Object.defineProperty,z=Object.getOwnPropertyDescriptor,h=(e,o,p,l)=>{for(var n,r=l>1?void 0:l?z(o,p):o,c=e.length-1;c>=0;c--)(n=e[c])&&(r=(l?n(o,p,r):n(r))||r);return l&&r&&G(o,p,r),r};exports.SchmancyScroll=class extends k.TailwindElement(g.css`
10
- :host {
11
- height: 100%;
12
- width: 100%;
13
- overflow: hidden;
14
- box-sizing: border-box; /* Ensures proper sizing */
15
- display: block;
16
- position: relative;
17
- inset: 0px;
18
- }
19
- .scrollbar-hide {
20
- -ms-overflow-style: none; /* IE and Edge */
21
- scrollbar-width: none; /* Firefox */
22
- }
23
- .scrollbar-hide::-webkit-scrollbar {
24
- display: none; /* Chrome, Safari, and Opera */
25
- }
26
- .content-wrapper {
27
- /* Ensures the padding is preserved during scroll */
28
- box-sizing: border-box;
29
- width: 100%;
30
- display: inline-block; /* Important for proper horizontal scrolling */
31
- min-width: 100%;
32
- white-space: nowrap; /* Ensures content doesn't wrap */
33
- }
34
- `){constructor(){super(...arguments),this.hide=!1,this.scrollPaddingStart=0,this.scrollPaddingEnd=0,this.debounce=10}scrollTo(e,o){if(this.scroller)if(typeof e=="number"){const p=Math.max(0,e);this.scroller.scrollTo({left:p,behavior:o?"smooth":"auto"})}else if(e)if(e.left!==void 0){const p={...e};p.left=Math.max(0,e.left),this.scroller.scrollTo(p)}else e.top,this.scroller.scrollTo(e);else this.scroller.scrollTo({left:0,behavior:"auto"})}updated(e){super.updated(e),(e.has("scrollPaddingStart")||e.has("scrollPaddingEnd"))&&this.updatePaddingStyles()}updatePaddingStyles(){this.scroller&&(this.scroller.style.scrollPaddingInlineStart=`${this.scrollPaddingStart}px`,this.scroller.style.scrollPaddingInlineEnd=`${this.scrollPaddingEnd}px`,this.contentWrapper&&(this.contentWrapper.style.paddingLeft=`${this.scrollPaddingStart}px`))}firstUpdated(){this.updatePaddingStyles(),y.fromEvent(this.scroller,"scroll",{passive:!0}).pipe(y.debounceTime(this.debounce),y.takeUntil(this.disconnecting)).subscribe(e=>{const o=this.scroller.scrollTop,p=this.scroller.scrollLeft,l=this.scroller.scrollHeight,n=this.scroller.scrollWidth,r=this.scroller.clientHeight,c=this.scroller.clientWidth;this.dispatchEvent(new CustomEvent("scroll",{detail:{scrollTop:o,scrollLeft:p,scrollHeight:l,scrollWidth:n,clientHeight:r,clientWidth:c,e},bubbles:!0,composed:!0}))}),y.fromEvent(window,"@schmancy:scrollTo").pipe(y.filter(e=>this.name!==void 0&&e.detail.name===this.name),y.takeUntil(this.disconnecting)).subscribe(e=>{if(e.detail.action==="scrollTo"){const o={behavior:"smooth"};typeof e.detail.top=="number"&&(o.top=e.detail.top),typeof e.detail.left=="number"&&(o.left=e.detail.left),this.scrollTo(o)}})}render(){const e={"h-full w-full inset-0 overflow-x-auto overflow-y-auto scroll-smooth overscroll-contain":!0,"scrollbar-hide":this.hide};return g.html`
35
- <div class="relative inset-0 h-full w-full overscroll-none">
36
- <div id="scroller" part="scroller" class=${this.classMap(e)}>
37
- <div id="content-wrapper" part="content" class="content-wrapper">
38
- <slot></slot>
39
- </div>
40
- </div>
41
- </div>
42
- `}},h([t.property({type:Boolean,reflect:!0})],exports.SchmancyScroll.prototype,"hide",2),h([t.property({type:String,reflect:!0})],exports.SchmancyScroll.prototype,"name",2),h([t.property({type:Number,attribute:"scroll-padding-start",reflect:!0})],exports.SchmancyScroll.prototype,"scrollPaddingStart",2),h([t.property({type:Number,attribute:"scroll-padding-end",reflect:!0})],exports.SchmancyScroll.prototype,"scrollPaddingEnd",2),h([t.query("#scroller")],exports.SchmancyScroll.prototype,"scroller",2),h([t.query("#content-wrapper")],exports.SchmancyScroll.prototype,"contentWrapper",2),h([t.property({type:Number})],exports.SchmancyScroll.prototype,"debounce",2),exports.SchmancyScroll=h([t.customElement("schmancy-scroll")],exports.SchmancyScroll);var V=Object.defineProperty,$=Object.getOwnPropertyDescriptor,d=(e,o,p,l)=>{for(var n,r=l>1?void 0:l?$(o,p):o,c=e.length-1;c>=0;c--)(n=e[c])&&(r=(l?n(o,p,r):n(r))||r);return l&&r&&V(o,p,r),r};exports.SchmancyFlexV2=class extends s{constructor(){super(...arguments),this.inline=!1,this.flow="row",this.wrap="wrap",this.align="stretch",this.justify="start",this.gap="none"}render(){const e=this.inline?"inline-flex":"flex";let o="";switch(this.flow){case"row":case"row-dense":default:o="flex-row";break;case"row-reverse":o="flex-row-reverse";break;case"col":case"col-dense":o="flex-col";break;case"col-reverse":o="flex-col-reverse"}let p="";switch(this.flow==="row-dense"||this.flow==="col-dense"?"wrap":this.wrap){case"wrap":default:p="flex-wrap";break;case"nowrap":p="flex-nowrap";break;case"wrap-reverse":p="flex-wrap-reverse"}let l="";switch(this.align){case"start":l="items-start";break;case"center":l="items-center";break;case"end":l="items-end";break;case"stretch":default:l="items-stretch";break;case"baseline":l="items-baseline"}let n="";switch(this.justify){case"start":default:n="justify-start";break;case"center":n="justify-center";break;case"end":n="justify-end";break;case"between":n="justify-between";break;case"around":n="justify-around";break;case"evenly":n="justify-evenly"}let r="";if(this.content)switch(this.content){case"start":r="content-start";break;case"center":r="content-center";break;case"end":r="content-end";break;case"between":r="content-between";break;case"around":r="content-around";break;case"evenly":r="content-evenly"}const c=[e,o,p,l,n,r,this.gap==="none"?"gap-0":`gap-${this.gap}`].filter(Boolean).join(" ");return g.html`
43
- <section class=${c}>
44
- <slot></slot>
45
- </section>
46
- `}},exports.SchmancyFlexV2.styles=[s.styles,g.css`
47
- :host {
48
- display: block;
49
- }
50
- `],d([t.property({type:Boolean,reflect:!0})],exports.SchmancyFlexV2.prototype,"inline",2),d([t.property({type:String,reflect:!0})],exports.SchmancyFlexV2.prototype,"flow",2),d([t.property({type:String,reflect:!0})],exports.SchmancyFlexV2.prototype,"wrap",2),d([t.property({type:String,reflect:!0})],exports.SchmancyFlexV2.prototype,"align",2),d([t.property({type:String,reflect:!0})],exports.SchmancyFlexV2.prototype,"justify",2),d([t.property({type:String,reflect:!0})],exports.SchmancyFlexV2.prototype,"content",2),d([t.property({type:String,reflect:!0})],exports.SchmancyFlexV2.prototype,"gap",2),exports.SchmancyFlexV2=d([t.customElement("sch-flex")],exports.SchmancyFlexV2);
51
- //# sourceMappingURL=flex-uaAek8Ji.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flex-uaAek8Ji.cjs","sources":["../src/layout/layout.ts","../src/layout/flex/flex.ts","../src/layout/grid/grid.ts","../src/layout/scroll/scroll.ts","../src/layout/v2/flex.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'\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'\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, property, query } from 'lit/decorators.js'\nimport { debounceTime, filter, fromEvent, takeUntil } from 'rxjs'\n\n/**\n * Custom scroll event interface for the SchmancyScroll component.\n * Contains detailed information about the scroll state.\n */\nexport interface SchmancyScrollEvent\n\textends CustomEvent<{\n\t\t/** Current scroll position from the top */\n\t\tscrollTop: number\n\t\t/** Current scroll position from the left */\n\t\tscrollLeft: number\n\t\t/** Total scrollable height of the content */\n\t\tscrollHeight: number\n\t\t/** Total scrollable width of the content */\n\t\tscrollWidth: number\n\t\t/** Visible height of the container */\n\t\tclientHeight: number\n\t\t/** Visible width of the container */\n\t\tclientWidth: number\n\t\t/** Original scroll event */\n\t\te: Event\n\t}> {}\n\n/**\n * Command event interface for controlling SchmancyScroll components\n */\nexport interface SchmancyScrollCommandEvent\n\textends CustomEvent<{\n\t\t/** Target component name */\n\t\tname: string\n\t\t/** Command action to perform */\n\t\taction: 'scrollTo'\n\t\t/** Vertical scroll position for scrollTo action (optional) */\n\t\ttop?: number\n\t\t/** Horizontal scroll position for scrollTo action (optional) */\n\t\tleft?: number\n\t}> {}\n\n// Augment the HTMLElementEventMap to include our custom events\ndeclare global {\n\tinterface HTMLElementEventMap {\n\t\tscroll: SchmancyScrollEvent\n\t\t'schmancy-scroll-command': SchmancyScrollCommandEvent\n\t}\n}\n\n/**\n * A custom scrollable container with enhanced features.\n *\n * @fires {SchmancyScrollEvent} scroll - Fired when scrolling occurs (with a configurable debounce)\n * @slot - Default slot for content to be scrolled\n * @csspart scroller - The inner scrollable div element\n * @csspart content - The content wrapper with padding\n *\n * @example\n * ```html\n * <!-- For horizontal scrolling with padding -->\n * <schmancy-scroll hide name=\"main-content\" scroll-padding-start=\"24\" scroll-padding-end=\"24\">\n * <div style=\"width: 1200px\">Horizontally scrollable content goes here</div>\n * </schmancy-scroll>\n * ```\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-sizing: border-box; /* Ensures proper sizing */\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tinset: 0px;\n\t}\n\t.scrollbar-hide {\n\t\t-ms-overflow-style: none; /* IE and Edge */\n\t\tscrollbar-width: none; /* Firefox */\n\t}\n\t.scrollbar-hide::-webkit-scrollbar {\n\t\tdisplay: none; /* Chrome, Safari, and Opera */\n\t}\n\t.content-wrapper {\n\t\t/* Ensures the padding is preserved during scroll */\n\t\tbox-sizing: border-box;\n\t\twidth: 100%;\n\t\tdisplay: inline-block; /* Important for proper horizontal scrolling */\n\t\tmin-width: 100%;\n\t\twhite-space: nowrap; /* Ensures content doesn't wrap */\n\t}\n`) {\n\t/**\n\t * Determines whether the scrollbar is hidden.\n\t *\n\t * When `hide` is true, the inner scrollable div receives the `scrollbar-hide` class,\n\t * which hides scrollbars in supported browsers.\n\t *\n\t * @attr hide\n\t * @example <schmancy-scroll hide></schmancy-scroll>\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic hide = false\n\n\t/**\n\t * Optional name identifier for the component.\n\t * Used for targeting this specific component with global events.\n\t *\n\t * @attr name\n\t * @example <schmancy-scroll name=\"main-content\"></schmancy-scroll>\n\t */\n\t@property({ type: String, reflect: true })\n\tpublic name?: string\n\n\t/**\n\t * Amount of padding at the start (top) of the scrollable area in pixels.\n\t * Creates space between the top of the viewport and the content.\n\t *\n\t * @attr scroll-padding-start\n\t * @example <schmancy-scroll scroll-padding-start=\"24\"></schmancy-scroll>\n\t */\n\t@property({ type: Number, attribute: 'scroll-padding-start', reflect: true })\n\tpublic scrollPaddingStart = 0\n\n\t/**\n\t * Amount of padding at the end (bottom) of the scrollable area in pixels.\n\t * Creates space between the bottom of the viewport and the content.\n\t *\n\t * @attr scroll-padding-end\n\t * @example <schmancy-scroll scroll-padding-end=\"24\"></schmancy-scroll>\n\t */\n\t@property({ type: Number, attribute: 'scroll-padding-end', reflect: true })\n\tpublic scrollPaddingEnd = 0\n\n\t/**\n\t * Reference to the inner scrollable div element\n\t * @public\n\t */\n\t@query('#scroller')\n\tscroller!: HTMLElement\n\n\t/**\n\t * Reference to the content wrapper div element\n\t * @public\n\t */\n\t@query('#content-wrapper')\n\tcontentWrapper!: HTMLElement\n\n\t/**\n\t * Debounce time in milliseconds for the scroll event.\n\t * Higher values reduce the frequency of scroll events being dispatched.\n\t *\n\t * @attr debounce\n\t * @example <schmancy-scroll debounce=\"50\"></schmancy-scroll>\n\t */\n\t@property({ type: Number })\n\tpublic debounce = 10\n\n\t/**\n\t * Scrolls the container to the specified position, accounting for scroll padding\n\t * @param options - ScrollToOptions, a number for the horizontal position (legacy API support),\n\t * or undefined to scroll to beginning\n\t * @param top - Optional top value when first parameter is a number (legacy API support)\n\t */\n\tpublic override scrollTo(options?: ScrollToOptions | number, top?: number): void {\n\t\tif (!this.scroller) return\n\n\t\tif (typeof options === 'number') {\n\t\t\t// For backward compatibility - when a number is passed, we treat it as a left position\n\t\t\t// This maintains compatibility with the original API\n\t\t\tconst adjustedLeft = Math.max(0, options)\n\t\t\tthis.scroller.scrollTo({\n\t\t\t\tleft: adjustedLeft,\n\t\t\t\tbehavior: top ? 'smooth' : 'auto',\n\t\t\t})\n\t\t} else if (options) {\n\t\t\t// If options.left is provided, handle horizontal scrolling\n\t\t\tif (options.left !== undefined) {\n\t\t\t\tconst adjustedOptions = { ...options }\n\t\t\t\tadjustedOptions.left = Math.max(0, options.left)\n\t\t\t\tthis.scroller.scrollTo(adjustedOptions)\n\t\t\t}\n\t\t\t// If only top is provided, maintain original behavior for backward compatibility\n\t\t\telse if (options.top !== undefined) {\n\t\t\t\tthis.scroller.scrollTo(options)\n\t\t\t} else {\n\t\t\t\tthis.scroller.scrollTo(options)\n\t\t\t}\n\t\t} else {\n\t\t\t// Default scroll to beginning (left side)\n\t\t\tthis.scroller.scrollTo({ left: 0, behavior: 'auto' })\n\t\t}\n\t}\n\n\t/**\n\t * Called when component properties change\n\t * Updates the padding styles when padding properties change\n\t * @protected\n\t */\n\tprotected updated(changedProperties: Map<string, unknown>): void {\n\t\tsuper.updated(changedProperties)\n\n\t\tif (changedProperties.has('scrollPaddingStart') || changedProperties.has('scrollPaddingEnd')) {\n\t\t\tthis.updatePaddingStyles()\n\t\t}\n\t}\n\n\t/**\n\t * Updates the content wrapper's padding and applies scroll-padding CSS properties\n\t * to the scroller element\n\t * @private\n\t */\n\tprivate updatePaddingStyles(): void {\n\t\tif (!this.scroller) return\n\n\t\t// Apply CSS scroll-padding properties directly to the scroller\n\t\t// This is the standard way to handle scroll padding in CSS\n\t\tthis.scroller.style.scrollPaddingInlineStart = `${this.scrollPaddingStart}px`\n\t\tthis.scroller.style.scrollPaddingInlineEnd = `${this.scrollPaddingEnd}px`\n\n\t\t// Also set padding on content for visual consistency\n\t\tif (this.contentWrapper) {\n\t\t\tthis.contentWrapper.style.paddingLeft = `${this.scrollPaddingStart}px`\n\t\t}\n\t}\n\n\t/**\n\t * Called after the component's first update\n\t * Sets up the scroll event listener with debouncing and applies initial styles\n\t * @protected\n\t */\n\tprotected firstUpdated(): void {\n\t\t// Apply initial padding styles\n\t\tthis.updatePaddingStyles()\n\n\t\t// Set up scroll event listening with debounce\n\t\tfromEvent(this.scroller, 'scroll', {\n\t\t\tpassive: true,\n\t\t})\n\t\t\t.pipe(\n\t\t\t\tdebounceTime(this.debounce),\n\t\t\t\ttakeUntil(this.disconnecting), // Unsubscribe when the element is destroyed\n\t\t\t)\n\t\t\t.subscribe(e => {\n\t\t\t\tconst scrollTop = this.scroller.scrollTop\n\t\t\t\tconst scrollLeft = this.scroller.scrollLeft\n\t\t\t\tconst scrollHeight = this.scroller.scrollHeight\n\t\t\t\tconst scrollWidth = this.scroller.scrollWidth\n\t\t\t\tconst clientHeight = this.scroller.clientHeight\n\t\t\t\tconst clientWidth = this.scroller.clientWidth\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('scroll', {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tscrollTop,\n\t\t\t\t\t\t\tscrollLeft,\n\t\t\t\t\t\t\tscrollHeight,\n\t\t\t\t\t\t\tscrollWidth,\n\t\t\t\t\t\t\tclientHeight,\n\t\t\t\t\t\t\tclientWidth,\n\t\t\t\t\t\t\te,\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}) as SchmancyScrollEvent,\n\t\t\t\t)\n\t\t\t})\n\n\t\t// Set up global command event listener\n\t\tfromEvent<SchmancyScrollCommandEvent>(window, '@schmancy:scrollTo')\n\t\t\t.pipe(\n\t\t\t\t// Only process events targeting this component by name\n\t\t\t\tfilter(e => this.name !== undefined && e.detail.name === this.name),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(e => {\n\t\t\t\tif (e.detail.action === 'scrollTo') {\n\t\t\t\t\tconst options: ScrollToOptions = {\n\t\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\t}\n\n\t\t\t\t\t// Add top or left position if provided\n\t\t\t\t\tif (typeof e.detail.top === 'number') {\n\t\t\t\t\t\toptions.top = e.detail.top\n\t\t\t\t\t}\n\n\t\t\t\t\tif (typeof e.detail.left === 'number') {\n\t\t\t\t\t\toptions.left = e.detail.left\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.scrollTo(options)\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\t/**\n\t * Renders the component template\n\t * @returns {TemplateResult} The template to render\n\t * @protected\n\t */\n\tprotected render() {\n\t\t// The classes are dynamically assigned based on the `hide` property.\n\t\tconst classes = {\n\t\t\t'h-full w-full inset-0 overflow-x-auto overflow-y-auto scroll-smooth overscroll-contain': true,\n\t\t\t'scrollbar-hide': this.hide,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=\"relative inset-0 h-full w-full overscroll-none\">\n\t\t\t\t<div id=\"scroller\" part=\"scroller\" class=${this.classMap(classes)}>\n\t\t\t\t\t<div id=\"content-wrapper\" part=\"content\" class=\"content-wrapper\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-scroll': SchmancyScroll\n\t}\n}\n","import { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport Layout from '../layout'\n\n/**\n * SchmancyFlex exposes a flex container with all the Tailwind CSS 4 options:\n *\n * - **Display**: By default uses `flex` but can be set to inline using the `inline` property.\n * - **Flow**: Accepts 'row', 'row-reverse', 'col', 'col-reverse' as well as grid‐like dense variants:\n * - Dense variants (`row-dense`, `col-dense`) force wrapping.\n * - **Wrap**: 'wrap', 'nowrap', or 'wrap-reverse'\n * - **Align Items**: 'start', 'center', 'end', 'stretch', or 'baseline'\n * - **Justify Content**: 'start', 'center', 'end', 'between', 'around', or 'evenly'\n * - **Align Content** (for multi-line flex containers): 'start', 'center', 'end', 'between', 'around', or 'evenly'\n * - **Gap**: Supports Tailwind’s spacing scale (e.g. 'none', '0', '1', '2', …, '64')\n */\n@customElement('sch-flex')\nexport class SchmancyFlexV2 extends Layout {\n\tstatic styles = [\n\t\tLayout.styles,\n\t\tcss`\n\t\t\t:host {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t`,\n\t]\n\t// If true, the container will use inline-flex instead of flex.\n\t@property({ type: Boolean, reflect: true })\n\tinline = false\n\n\t/**\n\t * Flow property that determines the flex direction.\n\t * Allowed values:\n\t * - Standard: 'row', 'row-reverse', 'col', 'col-reverse'\n\t * - Dense variants: 'row-dense', 'col-dense' (dense implies wrapping)\n\t */\n\t@property({ type: String, reflect: true })\n\tflow: 'row' | 'row-reverse' | 'col' | 'col-reverse' | 'row-dense' | 'col-dense' = 'row'\n\n\t/**\n\t * Flex-wrap options:\n\t * - 'wrap', 'nowrap', or 'wrap-reverse'\n\t */\n\t@property({ type: String, reflect: true })\n\twrap: 'wrap' | 'nowrap' | 'wrap-reverse' = 'wrap'\n\n\t/**\n\t * Align-items (vertical alignment of flex items):\n\t * - 'start', 'center', 'end', 'stretch', or 'baseline'\n\t */\n\t@property({ type: String, reflect: true })\n\talign: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'stretch'\n\n\t/**\n\t * Justify-content (horizontal distribution):\n\t * - 'start', 'center', 'end', 'between', 'around', or 'evenly'\n\t */\n\t@property({ type: String, reflect: true })\n\tjustify: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly' = 'start'\n\n\t/**\n\t * Align-content (spacing between rows when wrapping):\n\t * - 'start', 'center', 'end', 'between', 'around', or 'evenly'\n\t */\n\t@property({ type: String, reflect: true })\n\tcontent?: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly'\n\n\t/**\n\t * Gap between flex items.\n\t * Options (based on Tailwind CSS 4 spacing scale):\n\t * - 'none', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '12', '16', '20', '24', '32', '40', '48', '56', or '64'\n\t */\n\t@property({ type: String, reflect: true })\n\tgap:\n\t\t| 'none'\n\t\t| '0'\n\t\t| '1'\n\t\t| '2'\n\t\t| '3'\n\t\t| '4'\n\t\t| '5'\n\t\t| '6'\n\t\t| '7'\n\t\t| '8'\n\t\t| '9'\n\t\t| '10'\n\t\t| '12'\n\t\t| '16'\n\t\t| '20'\n\t\t| '24'\n\t\t| '32'\n\t\t| '40'\n\t\t| '48'\n\t\t| '56'\n\t\t| '64' = 'none'\n\n\trender() {\n\t\t// Determine whether to use inline-flex or flex.\n\t\tconst baseDisplay = this.inline ? 'inline-flex' : 'flex'\n\n\t\t// Map the flow property to a flex-direction class.\n\t\t// (Dense variants use the same class as their standard counterparts.)\n\t\tlet directionClass = ''\n\t\tswitch (this.flow) {\n\t\t\tcase 'row':\n\t\t\tcase 'row-dense':\n\t\t\t\tdirectionClass = 'flex-row'\n\t\t\t\tbreak\n\t\t\tcase 'row-reverse':\n\t\t\t\tdirectionClass = 'flex-row-reverse'\n\t\t\t\tbreak\n\t\t\tcase 'col':\n\t\t\tcase 'col-dense':\n\t\t\t\tdirectionClass = 'flex-col'\n\t\t\t\tbreak\n\t\t\tcase 'col-reverse':\n\t\t\t\tdirectionClass = 'flex-col-reverse'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tdirectionClass = 'flex-row'\n\t\t}\n\n\t\t// Dense variants force wrapping regardless of the wrap property.\n\t\tconst isDense = this.flow === 'row-dense' || this.flow === 'col-dense'\n\t\tconst effectiveWrap = isDense ? 'wrap' : this.wrap\n\n\t\tlet wrapClass = ''\n\t\tswitch (effectiveWrap) {\n\t\t\tcase 'wrap':\n\t\t\t\twrapClass = 'flex-wrap'\n\t\t\t\tbreak\n\t\t\tcase 'nowrap':\n\t\t\t\twrapClass = 'flex-nowrap'\n\t\t\t\tbreak\n\t\t\tcase 'wrap-reverse':\n\t\t\t\twrapClass = 'flex-wrap-reverse'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\twrapClass = 'flex-wrap'\n\t\t}\n\n\t\t// Map align-items.\n\t\tlet alignClass = ''\n\t\tswitch (this.align) {\n\t\t\tcase 'start':\n\t\t\t\talignClass = 'items-start'\n\t\t\t\tbreak\n\t\t\tcase 'center':\n\t\t\t\talignClass = 'items-center'\n\t\t\t\tbreak\n\t\t\tcase 'end':\n\t\t\t\talignClass = 'items-end'\n\t\t\t\tbreak\n\t\t\tcase 'stretch':\n\t\t\t\talignClass = 'items-stretch'\n\t\t\t\tbreak\n\t\t\tcase 'baseline':\n\t\t\t\talignClass = 'items-baseline'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\talignClass = 'items-stretch'\n\t\t}\n\n\t\t// Map justify-content.\n\t\tlet justifyClass = ''\n\t\tswitch (this.justify) {\n\t\t\tcase 'start':\n\t\t\t\tjustifyClass = 'justify-start'\n\t\t\t\tbreak\n\t\t\tcase 'center':\n\t\t\t\tjustifyClass = 'justify-center'\n\t\t\t\tbreak\n\t\t\tcase 'end':\n\t\t\t\tjustifyClass = 'justify-end'\n\t\t\t\tbreak\n\t\t\tcase 'between':\n\t\t\t\tjustifyClass = 'justify-between'\n\t\t\t\tbreak\n\t\t\tcase 'around':\n\t\t\t\tjustifyClass = 'justify-around'\n\t\t\t\tbreak\n\t\t\tcase 'evenly':\n\t\t\t\tjustifyClass = 'justify-evenly'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tjustifyClass = 'justify-start'\n\t\t}\n\n\t\t// Map align-content (if provided).\n\t\tlet contentClass = ''\n\t\tif (this.content) {\n\t\t\tswitch (this.content) {\n\t\t\t\tcase 'start':\n\t\t\t\t\tcontentClass = 'content-start'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'center':\n\t\t\t\t\tcontentClass = 'content-center'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'end':\n\t\t\t\t\tcontentClass = 'content-end'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'between':\n\t\t\t\t\tcontentClass = 'content-between'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'around':\n\t\t\t\t\tcontentClass = 'content-around'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'evenly':\n\t\t\t\t\tcontentClass = 'content-evenly'\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\t// Map gap value.\n\t\tconst gapClass = this.gap === 'none' ? 'gap-0' : `gap-${this.gap}`\n\n\t\t// Build the complete list of classes.\n\t\tconst classes = [baseDisplay, directionClass, wrapClass, alignClass, justifyClass, contentClass, gapClass]\n\t\t\t.filter(Boolean)\n\t\t\t.join(' ')\n\n\t\treturn html`\n\t\t\t<section class=${classes}>\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'sch-flex': SchmancyFlexV2\n\t}\n}\n"],"names":["Layout","TailwindElement","super","arguments","this","layout","center","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","_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","hide","scrollPaddingStart","scrollPaddingEnd","debounce","options","scroller","adjustedLeft","Math","max","scrollTo","behavior","adjustedOptions","changedProperties","updated","has","updatePaddingStyles","scrollPaddingInlineStart","scrollPaddingInlineEnd","contentWrapper","paddingLeft","firstUpdated","passive","e","scrollTop","scrollLeft","scrollHeight","scrollWidth","clientHeight","dispatchEvent","CustomEvent","detail","bubbles","composed","name","action","Number","attribute","query","SchmancyFlexV2","inline","baseDisplay","directionClass","wrapClass","alignClass","justifyClass","contentClass","join"],"mappings":"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"}