@easemate/web-kit 0.3.2 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +204 -34
  2. package/build/decorators.cjs +7 -7
  3. package/build/decorators.cjs.map +1 -1
  4. package/build/decorators.js +7 -7
  5. package/build/decorators.js.map +1 -1
  6. package/build/elements.cjs +1902 -747
  7. package/build/elements.cjs.map +1 -1
  8. package/build/elements.d.cts +51 -2
  9. package/build/elements.d.ts +51 -2
  10. package/build/elements.js +1899 -746
  11. package/build/elements.js.map +1 -1
  12. package/build/{index-NzGpn7ai.d.cts → index-BKwMPyPy.d.cts} +3 -0
  13. package/build/{index-NzGpn7ai.d.ts → index-BKwMPyPy.d.ts} +3 -0
  14. package/build/index.cjs +7338 -3477
  15. package/build/index.cjs.map +1 -1
  16. package/build/index.d.cts +4 -4
  17. package/build/index.d.ts +4 -4
  18. package/build/index.js +7569 -3710
  19. package/build/index.js.map +1 -1
  20. package/build/{init-CaP7khA2.d.ts → init-C4Q5EEAr.d.ts} +1 -1
  21. package/build/{init-DmqoRv6_.d.cts → init-yLajTNMT.d.cts} +1 -1
  22. package/build/jsx.cjs.map +1 -1
  23. package/build/jsx.d.cts +61 -7
  24. package/build/jsx.d.ts +61 -7
  25. package/build/jsx.js.map +1 -1
  26. package/build/react.cjs +4402 -1658
  27. package/build/react.cjs.map +1 -1
  28. package/build/react.d.cts +4 -4
  29. package/build/react.d.ts +4 -4
  30. package/build/react.js +4403 -1659
  31. package/build/react.js.map +1 -1
  32. package/build/register.cjs +10895 -7033
  33. package/build/register.cjs.map +1 -1
  34. package/build/register.js +10877 -7015
  35. package/build/register.js.map +1 -1
  36. package/build/{registry-YCv1Ctoe.d.cts → registry-GVSJPmus.d.cts} +1 -0
  37. package/build/{registry-YCv1Ctoe.d.ts → registry-GVSJPmus.d.ts} +1 -0
  38. package/build/theme.cjs +34 -3
  39. package/build/theme.cjs.map +1 -1
  40. package/build/theme.d.cts +2 -2
  41. package/build/theme.d.ts +2 -2
  42. package/build/theme.js +34 -3
  43. package/build/theme.js.map +1 -1
  44. package/build/utils.cjs +3 -3
  45. package/build/utils.cjs.map +1 -1
  46. package/build/utils.js +3 -3
  47. package/build/utils.js.map +1 -1
  48. package/package.json +2 -12
package/README.md CHANGED
@@ -41,6 +41,7 @@ A modern, framework-agnostic UI kit of web components for building animation con
41
41
  - [Usage Examples](#usage-examples)
42
42
  - [Basic Controls](#basic-controls)
43
43
  - [Panel Component](#panel-component)
44
+ - [Folder Component](#folder-component)
44
45
  - [State Component](#state-component)
45
46
  - [Combined Panel + State](#combined-panel--state)
46
47
  - [JavaScript Integration](#javascript-integration)
@@ -63,9 +64,12 @@ A modern, framework-agnostic UI kit of web components for building animation con
63
64
  - [Controller API](#controller-api)
64
65
  - [Package Exports](#package-exports)
65
66
  - [Panel API](#panel-api)
67
+ - [Folder API](#folder-api)
66
68
  - [State API](#state-api)
67
69
  - [Accessibility](#accessibility)
68
70
  - [SSR Support](#ssr-support)
71
+ - [Links](#links)
72
+ - [Authors](#authors)
69
73
  - [License](#license)
70
74
 
71
75
  ---
@@ -186,7 +190,11 @@ The library provides first-class React integration via `@easemate/web-kit/react`
186
190
 
187
191
  ### JSX Types
188
192
 
189
- Importing `@easemate/web-kit/react` automatically adds JSX types for all `ease-*` custom elements:
193
+ Importing `@easemate/web-kit/react` automatically adds JSX types for all `ease-*` custom elements, including:
194
+ - All control components (`ease-slider`, `ease-toggle`, `ease-input`, etc.)
195
+ - Layout components (`ease-panel`, `ease-state`, `ease-field`, etc.)
196
+ - Advanced components (`ease-curve`, `ease-code`, `ease-monitor-fps`, etc.)
197
+ - All icon components (`ease-icon-settings`, `ease-icon-bezier`, etc.)
190
198
 
191
199
  ```tsx
192
200
  import '@easemate/web-kit/react';
@@ -197,12 +205,26 @@ import '@easemate/web-kit/react';
197
205
  </ease-panel>
198
206
  ```
199
207
 
200
- You can also import just the JSX types separately:
208
+ You can also import just the JSX types separately (useful for type-only imports):
201
209
 
202
210
  ```tsx
203
211
  import '@easemate/web-kit/react/jsx';
204
212
  ```
205
213
 
214
+ The types include proper ref types for accessing component methods:
215
+
216
+ ```tsx
217
+ import type { StateElement, PanelElement } from '@easemate/web-kit/react';
218
+
219
+ const stateRef = useRef<StateElement>(null);
220
+ const panelRef = useRef<PanelElement>(null);
221
+
222
+ // Access typed methods
223
+ stateRef.current?.get('volume');
224
+ stateRef.current?.reset();
225
+ panelRef.current?.setActiveTab(1);
226
+ ```
227
+
206
228
  ### Basic Setup
207
229
 
208
230
  ```tsx
@@ -324,8 +346,7 @@ function AnimationControls() {
324
346
  );
325
347
 
326
348
  return (
327
- <ease-panel ref={panelRef}>
328
- <span slot="headline">Animation</span>
349
+ <ease-panel ref={panelRef} headline="Animation">
329
350
  <ease-state ref={stateRef}>
330
351
  <ease-field label="Duration">
331
352
  <ease-slider name="duration" value="1" min="0" max="5" step="0.1" />
@@ -444,6 +465,7 @@ const handleChange = createEventHandler<ControlChangeEvent>((e) => {
444
465
  | Component | Tag | Description |
445
466
  |-----------|-----|-------------|
446
467
  | Panel | `<ease-panel>` | Visual container with tabs, header, and footer |
468
+ | Folder | `<ease-folder>` | Collapsible container for grouping controls |
447
469
  | State | `<ease-state>` | State aggregator for controls (no visual styling) |
448
470
  | Field | `<ease-field>` | Label + control wrapper |
449
471
  | Button | `<ease-button>` | Action button |
@@ -462,13 +484,40 @@ const handleChange = createEventHandler<ControlChangeEvent>((e) => {
462
484
 
463
485
  ### Icons
464
486
 
465
- All icon components follow the pattern `<ease-icon-*>`:
466
-
467
- - `ease-icon-settings`, `ease-icon-dots`, `ease-icon-plus`, `ease-icon-minus`
468
- - `ease-icon-check`, `ease-icon-chevron`, `ease-icon-code`
469
- - `ease-icon-bezier`, `ease-icon-bezier-*` (bezier tools)
470
- - `ease-icon-anchor-add`, `ease-icon-anchor-remove`
471
- - And more...
487
+ All icon components follow the pattern `<ease-icon-*>`. All icons are typed in JSX when importing `@easemate/web-kit/react`.
488
+
489
+ **Interface Icons:**
490
+ | Tag | Description |
491
+ |-----|-------------|
492
+ | `ease-icon-settings` | Settings gear icon |
493
+ | `ease-icon-dots` | Three dots / more menu icon |
494
+ | `ease-icon-plus` | Plus / add icon |
495
+ | `ease-icon-minus` | Minus / remove icon |
496
+ | `ease-icon-check` | Checkmark icon |
497
+ | `ease-icon-code` | Code brackets icon |
498
+ | `ease-icon-picker` | Eyedropper picker icon |
499
+ | `ease-icon-mention` | @ mention icon |
500
+ | `ease-icon-arrow-up` | Up arrow icon |
501
+ | `ease-icon-arrows-vertical` | Vertical arrows icon |
502
+ | `ease-icon-circle-arrow-left` | Left arrow in circle |
503
+ | `ease-icon-circle-arrow-right` | Right arrow in circle |
504
+ | `ease-icon-anchor-add` | Add anchor point |
505
+ | `ease-icon-anchor-remove` | Remove anchor point |
506
+ | `ease-icon-bezier` | Bezier curve icon |
507
+ | `ease-icon-bezier-angle` | Bezier angle tool |
508
+ | `ease-icon-bezier-distribute` | Distribute bezier points |
509
+ | `ease-icon-bezier-length` | Bezier length tool |
510
+ | `ease-icon-bezier-mirror` | Mirror bezier handles |
511
+
512
+ **Animation Icons:**
513
+ | Tag | Description |
514
+ |-----|-------------|
515
+ | `ease-icon-chevron` | Animated chevron (expands/collapses) |
516
+ | `ease-icon-clear` | Animated clear/X icon |
517
+ | `ease-icon-folder` | Animated folder open/close icon |
518
+ | `ease-icon-grid` | Animated grid icon |
519
+ | `ease-icon-loading` | Animated loading spinner |
520
+ | `ease-icon-snap` | Animated snap indicator |
472
521
 
473
522
  ---
474
523
 
@@ -490,15 +539,14 @@ The `<ease-panel>` component provides the visual container with optional tabs, h
490
539
 
491
540
  ```html
492
541
  <!-- Simple panel with headline -->
493
- <ease-panel>
494
- <span slot="headline">Settings</span>
542
+ <ease-panel headline="Settings">
495
543
  <div>
496
544
  <!-- Your content here -->
497
545
  </div>
498
546
  </ease-panel>
499
547
 
500
548
  <!-- Panel with tabs -->
501
- <ease-panel active-tab="0">
549
+ <ease-panel headline="Animation" active-tab="0">
502
550
  <div slot="tab-general" data-tab-label="General">
503
551
  <!-- General settings -->
504
552
  </div>
@@ -508,8 +556,7 @@ The `<ease-panel>` component provides the visual container with optional tabs, h
508
556
  </ease-panel>
509
557
 
510
558
  <!-- Panel with header actions -->
511
- <ease-panel>
512
- <span slot="headline">Controls</span>
559
+ <ease-panel headline="Controls">
513
560
  <button slot="actions" title="Settings">
514
561
  <ease-icon-settings></ease-icon-settings>
515
562
  </button>
@@ -520,6 +567,40 @@ The `<ease-panel>` component provides the visual container with optional tabs, h
520
567
  <ease-button>Save</ease-button>
521
568
  </div>
522
569
  </ease-panel>
570
+
571
+ <!-- Panel with max-height (scrollable) -->
572
+ <ease-panel headline="Scrollable Panel" max-height="250px">
573
+ <!-- Content will scroll when it exceeds 250px -->
574
+ </ease-panel>
575
+ ```
576
+
577
+ ### Folder Component
578
+
579
+ The `<ease-folder>` component provides a collapsible container for grouping controls. Click the header to toggle open/closed.
580
+
581
+ ```html
582
+ <!-- Basic folder (closed by default) -->
583
+ <ease-folder headline="Transform">
584
+ <ease-field label="X">
585
+ <ease-number-input name="x" value="0"></ease-number-input>
586
+ </ease-field>
587
+ <ease-field label="Y">
588
+ <ease-number-input name="y" value="0"></ease-number-input>
589
+ </ease-field>
590
+ </ease-folder>
591
+
592
+ <!-- Open folder -->
593
+ <ease-folder open headline="Appearance">
594
+ <ease-field label="Color">
595
+ <ease-color-input name="color" value="#3b82f6"></ease-color-input>
596
+ </ease-field>
597
+ </ease-folder>
598
+
599
+ <!-- Folder with max-height (scrollable with fade masks) -->
600
+ <ease-folder headline="Animation" max-height="150px">
601
+ <!-- Many fields here will scroll with fade effect -->
602
+ </ease-folder>
603
+
523
604
  ```
524
605
 
525
606
  ### State Component
@@ -549,9 +630,7 @@ The `<ease-state>` component aggregates state from child controls. It can be use
549
630
  For a complete control panel experience, combine `<ease-panel>` with `<ease-state>`:
550
631
 
551
632
  ```html
552
- <ease-panel>
553
- <span slot="headline">Animation Controls</span>
554
-
633
+ <ease-panel headline="Animation Controls">
555
634
  <button slot="actions" title="Reset">
556
635
  <ease-icon-minus></ease-icon-minus>
557
636
  </button>
@@ -585,7 +664,7 @@ For a complete control panel experience, combine `<ease-panel>` with `<ease-stat
585
664
  When using tabs with state, place the `<ease-state>` inside each tab:
586
665
 
587
666
  ```html
588
- <ease-panel active-tab="0">
667
+ <ease-panel headline="Animation" active-tab="0">
589
668
  <button slot="actions" title="Reset">
590
669
  <ease-icon-minus></ease-icon-minus>
591
670
  </button>
@@ -1028,12 +1107,12 @@ setThemeName('light', { colorScheme: 'light' });
1028
1107
  | Category | Variables |
1029
1108
  |----------|-----------|
1030
1109
  | Typography | `--ease-font-family`, `--ease-font-mono`, `--ease-font-size`, `--ease-line-height` |
1031
- | Panel | `--ease-panel-max-width`, `--ease-panel-padding`, `--ease-panel-radius`, `--ease-panel-background`, `--ease-panel-border-color`, `--ease-panel-shadow` |
1032
- | Panel Title | `--ease-panel-title-font-size`, `--ease-panel-title-font-weight`, `--ease-panel-title-line-height`, `--ease-panel-title-color` |
1033
- | Panel Tabs | `--ease-panel-tab-font-size`, `--ease-panel-tab-font-weight`, `--ease-panel-tab-line-height`, `--ease-panel-tab-color`, `--ease-panel-tab-color-hover`, `--ease-panel-tab-color-active`, `--ease-panel-tab-background-active`, `--ease-panel-tab-radius` |
1110
+ | Panel | `--ease-panel-max-width`, `--ease-panel-padding`, `--ease-panel-radius`, `--ease-panel-background`, `--ease-panel-border-color`, `--ease-panel-shadow`, `--ease-panel-gap`, `--ease-panel-header-spacing`, `--ease-panel-fade-size` |
1111
+ | Panel Title | `--ease-panel-title-font-size`, `--ease-panel-title-font-weight`, `--ease-panel-title-color` |
1112
+ | Panel Tabs | `--ease-panel-tab-font-size`, `--ease-panel-tab-font-weight`, `--ease-panel-tab-color`, `--ease-panel-tab-color-hover`, `--ease-panel-tab-color-active`, `--ease-panel-tab-background-active`, `--ease-panel-tab-radius` |
1034
1113
  | Panel Actions | `--ease-panel-action-icon-size` |
1035
1114
  | Panel Footer | `--ease-panel-footer-padding` |
1036
- | Panel Transitions | `--ease-panel-transition-duration`, `--ease-panel-transition-easing` |
1115
+ | Folder | `--ease-folder-padding`, `--ease-folder-radius`, `--ease-folder-border-color`, `--ease-folder-background`, `--ease-folder-shadow`, `--ease-folder-gap`, `--ease-folder-title-font-size`, `--ease-folder-title-font-weight`, `--ease-folder-title-color`, `--ease-folder-icon-color`, `--ease-folder-chevron-color`, `--ease-folder-chevron-color-hover`, `--ease-folder-fade-size` |
1037
1116
  | Field | `--ease-field-label-width`, `--ease-field-column-gap`, `--ease-field-row-gap` |
1038
1117
  | Controls | Each control exposes `--ease-<component>-*` tokens |
1039
1118
 
@@ -1060,14 +1139,14 @@ interface WebKitController {
1060
1139
 
1061
1140
  | Export | Description |
1062
1141
  |--------|-------------|
1063
- | `@easemate/web-kit` | Main entry (initWebKit + theme + types) |
1064
- | `@easemate/web-kit/react` | React hooks, utilities, and JSX types |
1065
- | `@easemate/web-kit/react/jsx` | JSX type augmentation only |
1066
- | `@easemate/web-kit/register` | Side-effect registration (all components) |
1067
- | `@easemate/web-kit/elements` | UI components only |
1068
- | `@easemate/web-kit/decorators` | Component decorators |
1069
- | `@easemate/web-kit/theme` | Theming utilities |
1070
- | `@easemate/web-kit/utils` | Utility functions |
1142
+ | `@easemate/web-kit` | Main entry: `initWebKit()`, theme utilities, and all types |
1143
+ | `@easemate/web-kit/react` | React hooks (`useWebKit`, `useEaseState`), provider, event utilities, and JSX types |
1144
+ | `@easemate/web-kit/react/jsx` | JSX type augmentation only (for TypeScript) |
1145
+ | `@easemate/web-kit/register` | Side-effect import that registers all components (SSR-safe) |
1146
+ | `@easemate/web-kit/elements` | Individual element classes (`Button`, `Slider`, `Panel`, etc.) |
1147
+ | `@easemate/web-kit/decorators` | `@Component`, `@Prop`, `@Watch`, `@Listen`, `@Query` decorators |
1148
+ | `@easemate/web-kit/theme` | Theme API: `applyTheme`, `createTheme`, `mergeTheme`, `registerTheme` |
1149
+ | `@easemate/web-kit/utils` | Template helpers: `classMap`, `styleMap`, `when`, `repeat`, etc. |
1071
1150
 
1072
1151
  ### Panel API
1073
1152
 
@@ -1077,7 +1156,9 @@ The `<ease-panel>` component provides the visual container.
1077
1156
 
1078
1157
  | Property | Type | Default | Description |
1079
1158
  |----------|------|---------|-------------|
1159
+ | `headline` | `string \| null` | `null` | Panel title text displayed in the header |
1080
1160
  | `activeTab` | `number` | `0` | Zero-based index of the active tab |
1161
+ | `maxHeight` | `string \| null` | `null` | Maximum height for scrollable content (e.g., "250px") |
1081
1162
 
1082
1163
  #### Methods
1083
1164
 
@@ -1089,7 +1170,6 @@ The `<ease-panel>` component provides the visual container.
1089
1170
 
1090
1171
  | Slot | Description |
1091
1172
  |------|-------------|
1092
- | `headline` | Panel title text (hidden when tabs are present) |
1093
1173
  | `actions` | Header action buttons, links, or dropdowns |
1094
1174
  | (default) | Main content area (used when no tabs) |
1095
1175
  | `tab-{id}` | Tab panel content (use `data-tab-label` for display name) |
@@ -1106,7 +1186,8 @@ The `<ease-panel>` component provides the visual container.
1106
1186
  | `tab` | Individual tab button |
1107
1187
  | `actions` | Actions container |
1108
1188
  | `content` | Content wrapper (handles height animations) |
1109
- | `body` | Inner body container |
1189
+ | `body` | Inner body container (scrollable when max-height is set) |
1190
+ | `items` | Grid container for slotted content |
1110
1191
  | `tab-panel` | Individual tab panel |
1111
1192
  | `footer` | Footer container |
1112
1193
 
@@ -1124,6 +1205,59 @@ interface TabChangeEventDetail {
1124
1205
  }
1125
1206
  ```
1126
1207
 
1208
+ ### Folder API
1209
+
1210
+ The `<ease-folder>` component provides a collapsible container for grouping controls.
1211
+
1212
+ #### Properties
1213
+
1214
+ | Property | Type | Default | Description |
1215
+ |----------|------|---------|-------------|
1216
+ | `headline` | `string \| null` | `null` | Folder title text displayed in the header |
1217
+ | `open` | `boolean` | `false` | Whether the folder is expanded |
1218
+ | `maxHeight` | `string \| null` | `null` | Maximum height for scrollable content (e.g., "150px") |
1219
+
1220
+ #### Methods
1221
+
1222
+ | Method | Signature | Description |
1223
+ |--------|-----------|-------------|
1224
+ | `toggle` | `() => void` | Toggle the folder open/closed state |
1225
+
1226
+ #### Slots
1227
+
1228
+ | Slot | Description |
1229
+ |------|-------------|
1230
+ | (default) | Folder content (fields and controls) |
1231
+
1232
+ #### CSS Parts
1233
+
1234
+ | Part | Description |
1235
+ |------|-------------|
1236
+ | `section` | Outer container |
1237
+ | `header` | Clickable header row |
1238
+ | `icon` | Folder icon |
1239
+ | `headline` | Title element |
1240
+ | `chevron` | Chevron icon (toggle indicator) |
1241
+ | `content` | Content wrapper (handles height animations) |
1242
+ | `body` | Inner body container (scrollable when max-height is set) |
1243
+
1244
+ #### Events
1245
+
1246
+ | Event | Detail Type | Description |
1247
+ |-------|-------------|-------------|
1248
+ | `folder-toggle` | `FolderToggleEventDetail` | Fired when the folder is opened or closed |
1249
+
1250
+ ```typescript
1251
+ interface FolderToggleEventDetail {
1252
+ open: boolean; // Whether the folder is now open
1253
+ event: Event; // Original event
1254
+ }
1255
+ ```
1256
+
1257
+ #### Scrollable Content
1258
+
1259
+ When `max-height` is set, the folder content becomes scrollable with fade gradient masks at the top and bottom edges. The masks automatically appear/disappear based on scroll position using scroll-driven animations.
1260
+
1127
1261
  ### State API
1128
1262
 
1129
1263
  The `<ease-state>` component provides state management for controls.
@@ -1207,6 +1341,42 @@ const { ready, theme } = useWebKitContext();
1207
1341
 
1208
1342
  ---
1209
1343
 
1344
+ ## Links
1345
+
1346
+ - [Website](https://ease.dev)
1347
+ - [Demo](https://ease.zip)
1348
+ - [𝕏](https://x.com/@easemate)
1349
+ - [GitHub](https://github.com/easemate)
1350
+ - [npm](https://www.npmjs.com/package/@easemate/web-kit)
1351
+
1352
+ ## Authors
1353
+
1354
+ <p><strong>Aaron Iker</strong></p>
1355
+ <p valign="center">
1356
+ <a href="https://x.com/aaroniker">
1357
+ <img valign="top" src="https://img.shields.io/badge/@aaroniker-black?style=flat-square&logo=x" alt="X">
1358
+ </a>
1359
+ <span valign="center">&nbsp; • &nbsp;</span>
1360
+ <a href="https://github.com/aaroniker">
1361
+ <img valign="top" src="https://img.shields.io/badge/GitHub-aaroniker-black?style=flat-square&logo=github" alt="GitHub">
1362
+ </a>
1363
+ <span valign="center">&nbsp; • &nbsp;</span>
1364
+ <a href="https://www.linkedin.com/in/aaron-iker-15606897/">
1365
+ <img valign="top" src="https://img.shields.io/badge/LinkedIn-aaroniker-blue?style=flat-square&logo=linkedin" alt="LinkedIn">
1366
+ </a>
1367
+ </p>
1368
+
1369
+ <p><strong>Jakub Antalik</strong></p>
1370
+ <p valign="center">
1371
+ <a href="https://x.com/jakubantalik">
1372
+ <img valign="top" src="https://img.shields.io/badge/@jakubantalik-black?style=flat-square&logo=x" alt="X">
1373
+ </a>
1374
+ <span valign="center">&nbsp; • &nbsp;</span>
1375
+ <a href="https://www.linkedin.com/in/jakubantalik/">
1376
+ <img valign="top" src="https://img.shields.io/badge/LinkedIn-jakubantalik-blue?style=flat-square&logo=linkedin" alt="LinkedIn">
1377
+ </a>
1378
+ </p>
1379
+
1210
1380
  ## License
1211
1381
 
1212
1382
  MIT © [Aaron Iker](https://github.com/aaroniker)
@@ -29,7 +29,7 @@ __export(decorators_exports, {
29
29
  });
30
30
  module.exports = __toCommonJS(decorators_exports);
31
31
 
32
- // swc:/home/runner/work/web-kit/web-kit/packages/core/src/decorators/Component.ts
32
+ // swc:/Users/aaroniker/Documents/GitHub/ease/web-kit/packages/core/src/decorators/Component.ts
33
33
  var import_lit_html = require("lit-html");
34
34
  var styleCache = /* @__PURE__ */ new Map();
35
35
  var normalizeTemplate = (template) => {
@@ -163,7 +163,7 @@ var Component = (options) => (Base, _context) => {
163
163
  return Decorated;
164
164
  };
165
165
 
166
- // swc:/home/runner/work/web-kit/web-kit/packages/core/src/decorators/Listen.ts
166
+ // swc:/Users/aaroniker/Documents/GitHub/ease/web-kit/packages/core/src/decorators/Listen.ts
167
167
  var lifecycleHooks = {
168
168
  connectedCallback: /* @__PURE__ */ new WeakMap(),
169
169
  disconnectedCallback: /* @__PURE__ */ new WeakMap()
@@ -309,7 +309,7 @@ function Listen(eventName, selectorOrOptions) {
309
309
  };
310
310
  }
311
311
 
312
- // swc:/home/runner/work/web-kit/web-kit/packages/core/src/utils/dismiss-controller.ts
312
+ // swc:/Users/aaroniker/Documents/GitHub/ease/web-kit/packages/core/src/utils/dismiss-controller.ts
313
313
  var DismissController = class {
314
314
  #onDismiss;
315
315
  #context;
@@ -460,7 +460,7 @@ var disconnectOutsideClickHandles = (host) => {
460
460
  });
461
461
  };
462
462
 
463
- // swc:/home/runner/work/web-kit/web-kit/packages/core/src/decorators/OutsideClick.ts
463
+ // swc:/Users/aaroniker/Documents/GitHub/ease/web-kit/packages/core/src/decorators/OutsideClick.ts
464
464
  var lifecycleApplied = /* @__PURE__ */ new WeakSet();
465
465
  var wrapMethod = (host, name, hook, callHookFirst = false) => {
466
466
  const original = host[name];
@@ -518,7 +518,7 @@ function OutsideClick(options = {}) {
518
518
  };
519
519
  }
520
520
 
521
- // swc:/home/runner/work/web-kit/web-kit/packages/core/src/decorators/Prop.ts
521
+ // swc:/Users/aaroniker/Documents/GitHub/ease/web-kit/packages/core/src/decorators/Prop.ts
522
522
  var renderQueue = /* @__PURE__ */ new WeakMap();
523
523
  var cleanupRegistry2 = /* @__PURE__ */ new WeakMap();
524
524
  var observerRegistry = /* @__PURE__ */ new WeakMap();
@@ -783,7 +783,7 @@ function Prop(options = {}) {
783
783
  };
784
784
  }
785
785
 
786
- // swc:/home/runner/work/web-kit/web-kit/packages/core/src/decorators/Query.ts
786
+ // swc:/Users/aaroniker/Documents/GitHub/ease/web-kit/packages/core/src/decorators/Query.ts
787
787
  var defaultOptions = {
788
788
  all: false,
789
789
  closest: false,
@@ -859,7 +859,7 @@ function Query(selector, userOptions) {
859
859
  return createQueryDecorator(selector, merged);
860
860
  }
861
861
 
862
- // swc:/home/runner/work/web-kit/web-kit/packages/core/src/decorators/Watch.ts
862
+ // swc:/Users/aaroniker/Documents/GitHub/ease/web-kit/packages/core/src/decorators/Watch.ts
863
863
  var renderQueue2 = /* @__PURE__ */ new WeakMap();
864
864
  var scheduleRender2 = (instance) => {
865
865
  if (typeof instance.requestRender === "function") {