@furystack/shades-common-components 13.0.1 → 13.2.0

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 (150) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/esm/components/app-bar.d.ts.map +1 -1
  3. package/esm/components/app-bar.js +12 -3
  4. package/esm/components/app-bar.js.map +1 -1
  5. package/esm/components/avatar.d.ts.map +1 -1
  6. package/esm/components/avatar.js +3 -5
  7. package/esm/components/avatar.js.map +1 -1
  8. package/esm/components/cache-view.d.ts +19 -27
  9. package/esm/components/cache-view.d.ts.map +1 -1
  10. package/esm/components/cache-view.js +2 -20
  11. package/esm/components/cache-view.js.map +1 -1
  12. package/esm/components/cache-view.spec.js +44 -0
  13. package/esm/components/cache-view.spec.js.map +1 -1
  14. package/esm/components/command-palette/command-palette-input.d.ts +1 -2
  15. package/esm/components/command-palette/command-palette-input.d.ts.map +1 -1
  16. package/esm/components/command-palette/command-palette-input.js +14 -36
  17. package/esm/components/command-palette/command-palette-input.js.map +1 -1
  18. package/esm/components/command-palette/command-palette-input.spec.js +14 -116
  19. package/esm/components/command-palette/command-palette-input.spec.js.map +1 -1
  20. package/esm/components/command-palette/index.d.ts.map +1 -1
  21. package/esm/components/command-palette/index.js +3 -0
  22. package/esm/components/command-palette/index.js.map +1 -1
  23. package/esm/components/drawer/index.d.ts.map +1 -1
  24. package/esm/components/drawer/index.js +4 -0
  25. package/esm/components/drawer/index.js.map +1 -1
  26. package/esm/components/drawer/index.spec.js +47 -0
  27. package/esm/components/drawer/index.spec.js.map +1 -1
  28. package/esm/components/noty-list.d.ts.map +1 -1
  29. package/esm/components/noty-list.js +1 -3
  30. package/esm/components/noty-list.js.map +1 -1
  31. package/esm/services/css-variable-theme.d.ts +1 -1
  32. package/esm/services/css-variable-theme.d.ts.map +1 -1
  33. package/esm/services/css-variable-theme.js +5 -5
  34. package/esm/services/css-variable-theme.js.map +1 -1
  35. package/esm/services/css-variable-theme.spec.js +29 -1
  36. package/esm/services/css-variable-theme.spec.js.map +1 -1
  37. package/esm/services/layout-service.d.ts +8 -0
  38. package/esm/services/layout-service.d.ts.map +1 -1
  39. package/esm/services/layout-service.js +16 -0
  40. package/esm/services/layout-service.js.map +1 -1
  41. package/esm/services/layout-service.spec.js +55 -0
  42. package/esm/services/layout-service.spec.js.map +1 -1
  43. package/esm/services/theme-provider-service.d.ts +11 -10
  44. package/esm/services/theme-provider-service.d.ts.map +1 -1
  45. package/esm/services/theme-provider-service.js +3 -2
  46. package/esm/services/theme-provider-service.js.map +1 -1
  47. package/esm/services/theme-provider-service.spec.js +35 -1
  48. package/esm/services/theme-provider-service.spec.js.map +1 -1
  49. package/esm/themes/architect-theme.d.ts +1 -0
  50. package/esm/themes/architect-theme.d.ts.map +1 -1
  51. package/esm/themes/architect-theme.js +1 -0
  52. package/esm/themes/architect-theme.js.map +1 -1
  53. package/esm/themes/auditore-theme.d.ts +1 -0
  54. package/esm/themes/auditore-theme.d.ts.map +1 -1
  55. package/esm/themes/auditore-theme.js +1 -0
  56. package/esm/themes/auditore-theme.js.map +1 -1
  57. package/esm/themes/black-mesa-theme.d.ts +1 -0
  58. package/esm/themes/black-mesa-theme.d.ts.map +1 -1
  59. package/esm/themes/black-mesa-theme.js +1 -0
  60. package/esm/themes/black-mesa-theme.js.map +1 -1
  61. package/esm/themes/default-dark-theme.d.ts +1 -0
  62. package/esm/themes/default-dark-theme.d.ts.map +1 -1
  63. package/esm/themes/default-dark-theme.js +1 -0
  64. package/esm/themes/default-dark-theme.js.map +1 -1
  65. package/esm/themes/default-light-theme.d.ts +1 -0
  66. package/esm/themes/default-light-theme.d.ts.map +1 -1
  67. package/esm/themes/default-light-theme.js +1 -0
  68. package/esm/themes/default-light-theme.js.map +1 -1
  69. package/esm/themes/dragonborn-theme.d.ts +1 -0
  70. package/esm/themes/dragonborn-theme.d.ts.map +1 -1
  71. package/esm/themes/dragonborn-theme.js +1 -0
  72. package/esm/themes/dragonborn-theme.js.map +1 -1
  73. package/esm/themes/hawkins-theme.d.ts +1 -0
  74. package/esm/themes/hawkins-theme.d.ts.map +1 -1
  75. package/esm/themes/hawkins-theme.js +1 -0
  76. package/esm/themes/hawkins-theme.js.map +1 -1
  77. package/esm/themes/jedi-theme.d.ts +1 -0
  78. package/esm/themes/jedi-theme.d.ts.map +1 -1
  79. package/esm/themes/jedi-theme.js +1 -0
  80. package/esm/themes/jedi-theme.js.map +1 -1
  81. package/esm/themes/neon-runner-theme.d.ts +1 -0
  82. package/esm/themes/neon-runner-theme.d.ts.map +1 -1
  83. package/esm/themes/neon-runner-theme.js +1 -0
  84. package/esm/themes/neon-runner-theme.js.map +1 -1
  85. package/esm/themes/plumber-theme.d.ts +1 -0
  86. package/esm/themes/plumber-theme.d.ts.map +1 -1
  87. package/esm/themes/plumber-theme.js +1 -0
  88. package/esm/themes/plumber-theme.js.map +1 -1
  89. package/esm/themes/replicant-theme.d.ts +1 -0
  90. package/esm/themes/replicant-theme.d.ts.map +1 -1
  91. package/esm/themes/replicant-theme.js +1 -0
  92. package/esm/themes/replicant-theme.js.map +1 -1
  93. package/esm/themes/sandworm-theme.d.ts +1 -0
  94. package/esm/themes/sandworm-theme.d.ts.map +1 -1
  95. package/esm/themes/sandworm-theme.js +1 -0
  96. package/esm/themes/sandworm-theme.js.map +1 -1
  97. package/esm/themes/shadow-broker-theme.d.ts +1 -0
  98. package/esm/themes/shadow-broker-theme.d.ts.map +1 -1
  99. package/esm/themes/shadow-broker-theme.js +1 -0
  100. package/esm/themes/shadow-broker-theme.js.map +1 -1
  101. package/esm/themes/sith-theme.d.ts +1 -0
  102. package/esm/themes/sith-theme.d.ts.map +1 -1
  103. package/esm/themes/sith-theme.js +1 -0
  104. package/esm/themes/sith-theme.js.map +1 -1
  105. package/esm/themes/vault-dweller-theme.d.ts +1 -0
  106. package/esm/themes/vault-dweller-theme.d.ts.map +1 -1
  107. package/esm/themes/vault-dweller-theme.js +1 -0
  108. package/esm/themes/vault-dweller-theme.js.map +1 -1
  109. package/esm/themes/wild-hunt-theme.d.ts +1 -0
  110. package/esm/themes/wild-hunt-theme.d.ts.map +1 -1
  111. package/esm/themes/wild-hunt-theme.js +1 -0
  112. package/esm/themes/wild-hunt-theme.js.map +1 -1
  113. package/esm/themes/xenomorph-theme.d.ts +1 -0
  114. package/esm/themes/xenomorph-theme.d.ts.map +1 -1
  115. package/esm/themes/xenomorph-theme.js +1 -0
  116. package/esm/themes/xenomorph-theme.js.map +1 -1
  117. package/package.json +1 -1
  118. package/src/components/app-bar.tsx +12 -3
  119. package/src/components/avatar.tsx +20 -5
  120. package/src/components/cache-view.spec.tsx +63 -0
  121. package/src/components/cache-view.tsx +41 -9
  122. package/src/components/command-palette/command-palette-input.spec.tsx +14 -156
  123. package/src/components/command-palette/command-palette-input.tsx +13 -45
  124. package/src/components/command-palette/index.tsx +4 -0
  125. package/src/components/drawer/index.spec.tsx +64 -0
  126. package/src/components/drawer/index.tsx +5 -0
  127. package/src/components/noty-list.tsx +1 -3
  128. package/src/services/css-variable-theme.spec.ts +43 -1
  129. package/src/services/css-variable-theme.ts +5 -5
  130. package/src/services/layout-service.spec.ts +74 -0
  131. package/src/services/layout-service.ts +18 -0
  132. package/src/services/theme-provider-service.spec.ts +49 -1
  133. package/src/services/theme-provider-service.ts +12 -11
  134. package/src/themes/architect-theme.ts +1 -0
  135. package/src/themes/auditore-theme.ts +1 -0
  136. package/src/themes/black-mesa-theme.ts +1 -0
  137. package/src/themes/default-dark-theme.ts +1 -0
  138. package/src/themes/default-light-theme.ts +1 -0
  139. package/src/themes/dragonborn-theme.ts +1 -0
  140. package/src/themes/hawkins-theme.ts +1 -0
  141. package/src/themes/jedi-theme.ts +1 -0
  142. package/src/themes/neon-runner-theme.ts +1 -0
  143. package/src/themes/plumber-theme.ts +1 -0
  144. package/src/themes/replicant-theme.ts +1 -0
  145. package/src/themes/sandworm-theme.ts +1 -0
  146. package/src/themes/shadow-broker-theme.ts +1 -0
  147. package/src/themes/sith-theme.ts +1 -0
  148. package/src/themes/vault-dweller-theme.ts +1 -0
  149. package/src/themes/wild-hunt-theme.ts +1 -0
  150. package/src/themes/xenomorph-theme.ts +1 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,72 @@
1
1
  # Changelog
2
2
 
3
+ ## [13.2.0] - 2026-02-28
4
+
5
+ ### ✨ Features
6
+
7
+ - `useThemeCssVariables()` and `ThemeProviderService.setAssignedTheme()` now accept an optional `root` parameter to scope CSS variables to a specific element instead of `:root`
8
+
9
+ ### 💥 Theme Type Changes
10
+
11
+ Several previously optional fields on the `Theme` type are now **required**. Any code that creates a `Theme` object and omits these fields will need to provide explicit values:
12
+
13
+ | Type | Field | Default value to use |
14
+ | ----------------- | --------------- | --------------------- |
15
+ | `Background` | `paperImage` | `'none'` |
16
+ | `Shape` | `borderWidth` | `'0px'` |
17
+ | `ThemeTypography` | `letterSpacing` | _(full scale object)_ |
18
+ | `ThemeTypography` | `textShadow` | `'none'` |
19
+ | `Theme` | `zIndex` | _(full object)_ |
20
+ | `Theme` | `effects` | _(full object)_ |
21
+
22
+ > **Note:** Most consumer code uses `DeepPartial<Theme>` (e.g. `setAssignedTheme()`) and is **not affected**.
23
+ > Only code that implements the full `Theme` interface directly needs to be updated.
24
+
25
+ ### 🐛 Bug Fixes
26
+
27
+ - Fixed stale drawer state persisting in `LayoutService` after a `Drawer` component is unmounted, which could cause incorrect content margins when navigating between views
28
+ - Added `removeDrawer()` method to `LayoutService` to clean up drawer configuration and reset associated CSS variables
29
+ - Fixed `AppBar` `backdrop-filter` creating a CSS containing block that broke `position:fixed` descendants (e.g. `Dropdown` overlays); moved the effect to a `::before` pseudo-element
30
+
31
+ ### ♻️ Refactoring
32
+
33
+ - Simplified `CommandPaletteInput` by removing width animation; component is now always full-width with focus/clear on open/close
34
+ - Changed `Avatar` fallback icon to use percentage-based sizing with an inline SVG instead of the `Icon` component for better scaling at different sizes
35
+
36
+ ### 🧪 Tests
37
+
38
+ - Added tests for `removeDrawer()` covering left/right removal, isolation between drawers, no-op on missing drawer, and CSS variable reset
39
+ - Added test for `initDrawer()` overwriting an existing drawer configuration
40
+ - Added integration tests for `Drawer` component disposal cleanup
41
+
42
+ ## [13.1.0] - 2026-02-28
43
+
44
+ ### ✨ Features
45
+
46
+ ### `contentProps` support for `CacheView`
47
+
48
+ `CacheView` now accepts a `contentProps` prop to forward additional type-safe props to the content component beyond `data`. The `CacheViewProps` type gained a third generic parameter `TContentProps` that constrains the content component's full props shape. When the content component requires extra props (excluding `data` and HTML element attributes), `contentProps` becomes required; otherwise it can be omitted.
49
+
50
+ **Usage:**
51
+
52
+ ```tsx
53
+ const MyContent = Shade<{ data: CacheWithValue<User>; label: string }>({
54
+ shadowDomName: 'my-content',
55
+ render: ({ props }) => <div>{props.label}: {props.data.value.name}</div>,
56
+ })
57
+
58
+ <CacheView
59
+ cache={userCache}
60
+ args={[userId]}
61
+ content={MyContent}
62
+ contentProps={{ label: 'User' }}
63
+ />
64
+ ```
65
+
66
+ ### 🧪 Tests
67
+
68
+ - Added tests for `contentProps` forwarding to the content component
69
+
3
70
  ## [13.0.1] - 2026-02-26
4
71
 
5
72
  ### ⬆️ Dependencies
@@ -1 +1 @@
1
- {"version":3,"file":"app-bar.d.ts","sourceRoot":"","sources":["../../src/components/app-bar.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM;;;;sEAqCjB,CAAA"}
1
+ {"version":3,"file":"app-bar.d.ts","sourceRoot":"","sources":["../../src/components/app-bar.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM;;;;sEA8CjB,CAAA"}
@@ -4,9 +4,6 @@ export const AppBar = Shade({
4
4
  shadowDomName: 'shade-app-bar',
5
5
  css: {
6
6
  width: '100%',
7
- background: `color-mix(in srgb, ${cssVariableTheme.background.paper} 85%, transparent)`,
8
- backgroundImage: cssVariableTheme.background.paperImage,
9
- backdropFilter: `blur(${cssVariableTheme.effects.blurLg})`,
10
7
  display: 'flex',
11
8
  justifyContent: 'flex-start',
12
9
  alignItems: 'center',
@@ -17,6 +14,18 @@ export const AppBar = Shade({
17
14
  zIndex: '1',
18
15
  fontFamily: cssVariableTheme.typography.fontFamily,
19
16
  color: cssVariableTheme.text.primary,
17
+ // backdrop-filter on the host would create a containing block for position:fixed
18
+ // descendants (per CSS spec), breaking Dropdown overlays inside the AppBar.
19
+ // Using a pseudo-element avoids this while preserving the visual effect.
20
+ '&::before': {
21
+ content: '""',
22
+ position: 'absolute',
23
+ inset: '0',
24
+ zIndex: '-1',
25
+ background: `color-mix(in srgb, ${cssVariableTheme.background.paper} 85%, transparent)`,
26
+ backgroundImage: cssVariableTheme.background.paperImage,
27
+ backdropFilter: `blur(${cssVariableTheme.effects.blurLg})`,
28
+ },
20
29
  '&[data-visible]': {
21
30
  opacity: '1',
22
31
  },
@@ -1 +1 @@
1
- {"version":3,"file":"app-bar.js","sourceRoot":"","sources":["../../src/components/app-bar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AAEpE,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC;IAC1B,aAAa,EAAE,eAAe;IAC9B,GAAG,EAAE;QACH,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,sBAAsB,gBAAgB,CAAC,UAAU,CAAC,KAAK,oBAAoB;QACvF,eAAe,EAAE,gBAAgB,CAAC,UAAU,CAAC,UAAU;QACvD,cAAc,EAAE,QAAQ,gBAAgB,CAAC,OAAO,CAAC,MAAM,GAAG;QAC1D,OAAO,EAAE,MAAM;QACf,cAAc,EAAE,YAAY;QAC5B,UAAU,EAAE,QAAQ;QACpB,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE;QACtC,UAAU,EAAE,WAAW,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,IAAI,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,aAAa,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,IAAI,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE;QAC1N,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC,UAAU;QAClD,KAAK,EAAE,gBAAgB,CAAC,IAAI,CAAC,OAAO;QACpC,iBAAiB,EAAE;YACjB,OAAO,EAAE,GAAG;SACb;KACF;IACD,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9D,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;QAE5D,aAAa,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACpC,qBAAqB,CAAC,GAAG,EAAE;gBACzB,UAAU,CAAC,IAAI,CAAC,CAAA;YAClB,CAAC,CAAC,CAAA;YACF,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAA;QACvC,CAAC,CAAC,CAAA;QAEF,IAAI,SAAS,EAAE,CAAC;YACd,YAAY,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAA;QACtC,CAAC;QAED,OAAO,uCAAG,QAAQ,CAAI,CAAA;IACxB,CAAC;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"app-bar.js","sourceRoot":"","sources":["../../src/components/app-bar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AAEpE,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC;IAC1B,aAAa,EAAE,eAAe;IAC9B,GAAG,EAAE;QACH,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,MAAM;QACf,cAAc,EAAE,YAAY;QAC5B,UAAU,EAAE,QAAQ;QACpB,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE;QACtC,UAAU,EAAE,WAAW,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,IAAI,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,aAAa,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,IAAI,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE;QAC1N,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC,UAAU;QAClD,KAAK,EAAE,gBAAgB,CAAC,IAAI,CAAC,OAAO;QACpC,iFAAiF;QACjF,4EAA4E;QAC5E,yEAAyE;QACzE,WAAW,EAAE;YACX,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,sBAAsB,gBAAgB,CAAC,UAAU,CAAC,KAAK,oBAAoB;YACvF,eAAe,EAAE,gBAAgB,CAAC,UAAU,CAAC,UAAU;YACvD,cAAc,EAAE,QAAQ,gBAAgB,CAAC,OAAO,CAAC,MAAM,GAAG;SAC3D;QACD,iBAAiB,EAAE;YACjB,OAAO,EAAE,GAAG;SACb;KACF;IACD,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9D,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;QAE5D,aAAa,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACpC,qBAAqB,CAAC,GAAG,EAAE;gBACzB,UAAU,CAAC,IAAI,CAAC,CAAA;YAClB,CAAC,CAAC,CAAA;YACF,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAA;QACvC,CAAC,CAAC,CAAA;QAEF,IAAI,SAAS,EAAE,CAAC;YACd,YAAY,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAA;QACtC,CAAC;QAED,OAAO,uCAAG,QAAQ,CAAI,CAAA;IACxB,CAAC;CACF,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../src/components/avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAMvD,MAAM,MAAM,WAAW,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CAAE,GAAG,cAAc,CAAC,cAAc,CAAC,CAAA;AAExG,eAAO,MAAM,MAAM;eAFoB,MAAM;eAAa,GAAG,CAAC,OAAO;;;;;4GA6EnE,CAAA"}
1
+ {"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../src/components/avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAKvD,MAAM,MAAM,WAAW,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CAAE,GAAG,cAAc,CAAC,cAAc,CAAC,CAAA;AAExG,eAAO,MAAM,MAAM;eAFoB,MAAM;eAAa,GAAG,CAAC,OAAO;;;;;4GA6FnE,CAAA"}
@@ -1,6 +1,5 @@
1
1
  import { Shade, createComponent } from '@furystack/shades';
2
2
  import { cssVariableTheme } from '../services/css-variable-theme.js';
3
- import { Icon } from './icons/icon.js';
4
3
  import { user as userIcon } from './icons/icon-definitions.js';
5
4
  export const Avatar = Shade({
6
5
  shadowDomName: 'shade-avatar',
@@ -31,14 +30,13 @@ export const Avatar = Shade({
31
30
  display: 'flex',
32
31
  alignItems: 'center',
33
32
  justifyContent: 'center',
34
- width: '64px',
35
- height: '64px',
33
+ width: '100%',
34
+ height: '100%',
36
35
  borderRadius: cssVariableTheme.shape.borderRadius.full,
37
36
  background: `color-mix(in srgb, ${cssVariableTheme.palette.primary.main} 20%, transparent)`,
38
37
  backdropFilter: 'blur(10px)',
39
38
  textAlign: 'center',
40
39
  userSelect: 'none',
41
- fontSize: '48px',
42
40
  lineHeight: '1',
43
41
  },
44
42
  },
@@ -50,7 +48,7 @@ export const Avatar = Shade({
50
48
  });
51
49
  if (hasError) {
52
50
  return (createComponent("div", { className: "avatar-fallback-container" },
53
- createComponent("div", { className: "avatar-fallback-icon" }, props.fallback || createComponent(Icon, { icon: userIcon, size: 48 }))));
51
+ createComponent("div", { className: "avatar-fallback-icon" }, props.fallback || (createComponent("svg", { width: "100%", height: "100%", viewBox: userIcon.viewBox ?? '0 0 24 24', fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, userIcon.paths.map((p) => (createComponent("path", { d: p.d }))))))));
54
52
  }
55
53
  return (createComponent("img", { style: {
56
54
  width: '100%',
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../src/components/avatar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../src/components/avatar.tsx"],"names":[],"mappings":"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"}
@@ -1,19 +1,22 @@
1
1
  import type { Cache, CacheWithValue } from '@furystack/cache';
2
- import type { ShadeComponent } from '@furystack/shades';
2
+ import type { PartialElement, ShadeComponent } from '@furystack/shades';
3
3
  /**
4
4
  * Props for the CacheView component.
5
5
  * @typeParam TData - The type of data stored in the cache
6
6
  * @typeParam TArgs - The tuple type of arguments used to identify the cache entry
7
+ * @typeParam TContentProps - The full props type of the content component (must include `data`)
7
8
  */
8
- export type CacheViewProps<TData, TArgs extends any[]> = {
9
+ export type CacheViewProps<TData, TArgs extends any[], TContentProps extends {
10
+ data: CacheWithValue<TData>;
11
+ } = {
12
+ data: CacheWithValue<TData>;
13
+ }> = {
9
14
  /** The cache instance to observe and control */
10
15
  cache: Cache<TData, TArgs>;
11
16
  /** The arguments identifying which cache entry to display */
12
17
  args: TArgs;
13
- /** Shades component rendered when a value is available (loaded or obsolete). Receives CacheWithValue<TData>. */
14
- content: ShadeComponent<{
15
- data: CacheWithValue<TData>;
16
- }>;
18
+ /** Shades component rendered when a value is available (loaded or obsolete). */
19
+ content: ShadeComponent<TContentProps>;
17
20
  /** Optional custom loader element. Default: null (nothing shown when loading). */
18
21
  loader?: JSX.Element;
19
22
  /**
@@ -22,25 +25,14 @@ export type CacheViewProps<TData, TArgs extends any[]> = {
22
25
  * If not provided, a default Result + retry Button is shown.
23
26
  */
24
27
  error?: (error: unknown, retry: () => void) => JSX.Element;
25
- };
26
- /**
27
- * CacheView renders the state of a cache entry for the given cache + args.
28
- *
29
- * It subscribes to the cache observable and handles all states:
30
- * 1. **Error first** - If the cache entry has failed, shows the error UI with a retry button.
31
- * 2. **Value next** - If the entry has a value (loaded or obsolete), renders the content component.
32
- * When obsolete, it also triggers a reload automatically.
33
- * 3. **Loading last** - If there is no value and no error, shows the loader (or null by default).
34
- *
35
- * @example
36
- * ```tsx
37
- * const MyContent = Shade<{ data: CacheWithValue<User> }>({
38
- * shadowDomName: 'my-content',
39
- * render: ({ props }) => <div>{props.data.value.name}</div>,
40
- * })
41
- *
42
- * <CacheView cache={userCache} args={[userId]} content={MyContent} />
43
- * ```
44
- */
45
- export declare const CacheView: <TData, TArgs extends any[]>(props: CacheViewProps<TData, TArgs>) => JSX.Element;
28
+ } & (keyof Omit<TContentProps, 'data' | keyof PartialElement<HTMLElement>> extends never ? {
29
+ contentProps?: never;
30
+ } : {
31
+ contentProps: Omit<TContentProps, 'data' | keyof PartialElement<HTMLElement>>;
32
+ });
33
+ export declare const CacheView: <TData, TArgs extends any[], TContentProps extends {
34
+ data: CacheWithValue<TData>;
35
+ } = {
36
+ data: CacheWithValue<TData>;
37
+ }>(props: CacheViewProps<TData, TArgs, TContentProps>) => JSX.Element;
46
38
  //# sourceMappingURL=cache-view.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache-view.d.ts","sourceRoot":"","sources":["../../src/components/cache-view.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAOvD;;;;GAIG;AACH,MAAM,MAAM,cAAc,CAAC,KAAK,EAAE,KAAK,SAAS,GAAG,EAAE,IAAI;IACvD,gDAAgD;IAChD,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC1B,6DAA6D;IAC7D,IAAI,EAAE,KAAK,CAAA;IACX,gHAAgH;IAChH,OAAO,EAAE,cAAc,CAAC;QAAE,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,CAAA;KAAE,CAAC,CAAA;IACxD,kFAAkF;IAClF,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;IACpB;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,KAAK,GAAG,CAAC,OAAO,CAAA;CAC3D,CAAA;AAWD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,OA+C/F,CAAA"}
1
+ {"version":3,"file":"cache-view.d.ts","sourceRoot":"","sources":["../../src/components/cache-view.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAOvE;;;;;GAKG;AACH,MAAM,MAAM,cAAc,CACxB,KAAK,EACL,KAAK,SAAS,GAAG,EAAE,EACnB,aAAa,SAAS;IAAE,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,CAAA;CAAE,IACrF;IACF,gDAAgD;IAChD,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC1B,6DAA6D;IAC7D,IAAI,EAAE,KAAK,CAAA;IACX,gFAAgF;IAChF,OAAO,EAAE,cAAc,CAAC,aAAa,CAAC,CAAA;IACtC,kFAAkF;IAClF,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;IACpB;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,KAAK,GAAG,CAAC,OAAO,CAAA;CAC3D,GAAG,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC,SAAS,KAAK,GACpF;IAAE,YAAY,CAAC,EAAE,KAAK,CAAA;CAAE,GACxB;IAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC,CAAA;CAAE,CAAC,CAAA;AAgDtF,eAAO,MAAM,SAAS,EAgDL,CACf,KAAK,EACL,KAAK,SAAS,GAAG,EAAE,EACnB,aAAa,SAAS;IAAE,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,CAAA;CAAE,EAEvF,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,KAC/C,GAAG,CAAC,OAAO,CAAA"}
@@ -5,32 +5,13 @@ import { Button } from './button.js';
5
5
  import { Result } from './result.js';
6
6
  const getDefaultErrorUi = (error, retry) => (createComponent(Result, { status: "error", title: "Something went wrong", subtitle: String(error) },
7
7
  createComponent(Button, { variant: "outlined", onclick: retry }, "Retry")));
8
- /**
9
- * CacheView renders the state of a cache entry for the given cache + args.
10
- *
11
- * It subscribes to the cache observable and handles all states:
12
- * 1. **Error first** - If the cache entry has failed, shows the error UI with a retry button.
13
- * 2. **Value next** - If the entry has a value (loaded or obsolete), renders the content component.
14
- * When obsolete, it also triggers a reload automatically.
15
- * 3. **Loading last** - If there is no value and no error, shows the loader (or null by default).
16
- *
17
- * @example
18
- * ```tsx
19
- * const MyContent = Shade<{ data: CacheWithValue<User> }>({
20
- * shadowDomName: 'my-content',
21
- * render: ({ props }) => <div>{props.data.value.name}</div>,
22
- * })
23
- *
24
- * <CacheView cache={userCache} args={[userId]} content={MyContent} />
25
- * ```
26
- */
27
8
  export const CacheView = Shade({
28
9
  shadowDomName: 'shade-cache-view',
29
10
  css: {
30
11
  fontFamily: cssVariableTheme.typography.fontFamily,
31
12
  },
32
13
  render: ({ props, useObservable, useState }) => {
33
- const { cache, args, content, loader, error } = props;
14
+ const { cache, args, content, loader, error, contentProps } = props;
34
15
  const argsKey = JSON.stringify(args);
35
16
  const observable = cache.getObservable(...args);
36
17
  const [result] = useObservable(`cache-${argsKey}`, observable);
@@ -60,6 +41,7 @@ export const CacheView = Shade({
60
41
  }
61
42
  return createComponent(content, {
62
43
  data: result,
44
+ ...(contentProps ?? {}),
63
45
  });
64
46
  }
65
47
  // 3. Loading last
@@ -1 +1 @@
1
- {"version":3,"file":"cache-view.js","sourceRoot":"","sources":["../../src/components/cache-view.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAE5F,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAwBpC,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAE,KAAiB,EAAe,EAAE,CAC3E,CACE,gBAAC,MAAM,IAAC,MAAM,EAAC,OAAO,EAAC,KAAK,EAAC,sBAAsB,EAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC;IACzE,gBAAC,MAAM,IAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAE,KAAK,YAEhC,CACF,CACgB,CAAA;AAE7B;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,SAAS,GAAqF,KAAK,CAAC;IAC/G,aAAa,EAAE,kBAAkB;IACjC,GAAG,EAAE;QACH,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC,UAAU;KACnD;IACD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAsB,EAAE;QACjE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;QAErD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACpC,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,CAAA;QAE/C,MAAM,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,SAAS,OAAO,EAAE,EAAE,UAAU,CAAC,CAAA;QAE9D,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAgB,qBAAqB,EAAE,IAAI,CAAC,CAAA;QAE1G,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC/B,sCAAsC;YACxC,CAAC,CAAC,CAAA;QACJ,CAAC,CAAA;QAED,iBAAiB;QACjB,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,MAAM,aAAa,GAAG,KAAK,IAAI,iBAAiB,CAAA;YAChD,OAAO,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAC3C,CAAC;QAED,gBAAgB;QAChB,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClC,IAAI,mBAAmB,KAAK,OAAO,EAAE,CAAC;oBACpC,sBAAsB,CAAC,OAAO,CAAC,CAAA;oBAC/B,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;wBAC/B,sCAAsC;oBACxC,CAAC,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;gBACxC,sBAAsB,CAAC,IAAI,CAAC,CAAA;YAC9B,CAAC;YACD,OAAO,eAAe,CAAC,OAA4D,EAAE;gBACnF,IAAI,EAAE,MAAM;aACb,CAA2B,CAAA;QAC9B,CAAC;QAED,kBAAkB;QAClB,OAAO,MAAM,IAAI,IAAI,CAAA;IACvB,CAAC;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"cache-view.js","sourceRoot":"","sources":["../../src/components/cache-view.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAE5F,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AA+BpC,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAE,KAAiB,EAAe,EAAE,CAC3E,CACE,gBAAC,MAAM,IAAC,MAAM,EAAC,OAAO,EAAC,KAAK,EAAC,sBAAsB,EAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC;IACzE,gBAAC,MAAM,IAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAE,KAAK,YAEhC,CACF,CACgB,CAAA;AAuC7B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAyB;IACrD,aAAa,EAAE,kBAAkB;IACjC,GAAG,EAAE;QACH,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC,UAAU;KACnD;IACD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAsB,EAAE;QACjE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,KAAK,CAAA;QAEnE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACpC,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,CAAA;QAE/C,MAAM,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,SAAS,OAAO,EAAE,EAAE,UAAU,CAAC,CAAA;QAE9D,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAgB,qBAAqB,EAAE,IAAI,CAAC,CAAA;QAE1G,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC/B,sCAAsC;YACxC,CAAC,CAAC,CAAA;QACJ,CAAC,CAAA;QAED,iBAAiB;QACjB,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,MAAM,aAAa,GAAG,KAAK,IAAI,iBAAiB,CAAA;YAChD,OAAO,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAC3C,CAAC;QAED,gBAAgB;QAChB,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClC,IAAI,mBAAmB,KAAK,OAAO,EAAE,CAAC;oBACpC,sBAAsB,CAAC,OAAO,CAAC,CAAA;oBAC/B,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;wBAC/B,sCAAsC;oBACxC,CAAC,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;gBACxC,sBAAsB,CAAC,IAAI,CAAC,CAAA;YAC9B,CAAC;YACD,OAAO,eAAe,CAAC,OAAO,EAAE;gBAC9B,IAAI,EAAE,MAAM;gBACZ,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;aACxB,CAA2B,CAAA;QAC9B,CAAC;QAED,kBAAkB;QAClB,OAAO,MAAM,IAAI,IAAI,CAAA;IACvB,CAAC;CACF,CAMe,CAAA"}
@@ -6,6 +6,13 @@ const TestContent = Shade({
6
6
  shadowDomName: 'test-cache-content',
7
7
  render: ({ props }) => createComponent("span", { className: "content-value" }, props.data.value),
8
8
  });
9
+ const TestContentWithLabel = Shade({
10
+ shadowDomName: 'test-cache-content-with-label',
11
+ render: ({ props }) => (createComponent("span", { className: "content-value" },
12
+ props.label,
13
+ ": ",
14
+ props.data.value)),
15
+ });
9
16
  const renderCacheView = async (cache, args, options) => {
10
17
  const el = (createComponent("div", null,
11
18
  createComponent(CacheView, { cache: cache, args: args, content: TestContent, loader: options?.loader, error: options?.error })));
@@ -181,5 +188,42 @@ describe('CacheView', () => {
181
188
  cache[Symbol.dispose]();
182
189
  });
183
190
  });
191
+ describe('contentProps', () => {
192
+ it('should forward contentProps to the content component', async () => {
193
+ const cache = new Cache({ load: async (key) => `Hello ${key}` });
194
+ await cache.get('world');
195
+ const el = (createComponent("div", null,
196
+ createComponent(CacheView, { cache: cache, args: ['world'], content: TestContentWithLabel, contentProps: { label: 'Greeting' } })));
197
+ const cacheView = el.firstElementChild;
198
+ cacheView.updateComponent();
199
+ await flushUpdates();
200
+ const contentEl = cacheView.querySelector('test-cache-content-with-label');
201
+ expect(contentEl).not.toBeNull();
202
+ contentEl.updateComponent();
203
+ await flushUpdates();
204
+ const valueEl = contentEl.querySelector('.content-value');
205
+ expect(valueEl?.textContent).toBe('Greeting: Hello world');
206
+ cache[Symbol.dispose]();
207
+ });
208
+ it('should forward contentProps when cache entry is obsolete', async () => {
209
+ const loadFn = vi.fn(async (key) => `Hello ${key}`);
210
+ const cache = new Cache({ load: loadFn });
211
+ await cache.get('world');
212
+ cache.setObsolete('world');
213
+ const el = (createComponent("div", null,
214
+ createComponent(CacheView, { cache: cache, args: ['world'], content: TestContentWithLabel, contentProps: { label: 'Stale' } })));
215
+ const cacheView = el.firstElementChild;
216
+ cacheView.updateComponent();
217
+ await flushUpdates();
218
+ const contentEl = cacheView.querySelector('test-cache-content-with-label');
219
+ expect(contentEl).not.toBeNull();
220
+ contentEl.updateComponent();
221
+ await flushUpdates();
222
+ const valueEl = contentEl.querySelector('.content-value');
223
+ expect(valueEl?.textContent).toBe('Stale: Hello world');
224
+ expect(loadFn).toHaveBeenCalledTimes(2);
225
+ cache[Symbol.dispose]();
226
+ });
227
+ });
184
228
  });
185
229
  //# sourceMappingURL=cache-view.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache-view.spec.js","sourceRoot":"","sources":["../../src/components/cache-view.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAExC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAExE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,MAAM,WAAW,GAAG,KAAK,CAAmC;IAC1D,aAAa,EAAE,oBAAoB;IACnC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,0BAAM,SAAS,EAAC,eAAe,IAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAQ;CACjF,CAAC,CAAA;AAEF,MAAM,eAAe,GAAG,KAAK,EAC3B,KAA8B,EAC9B,IAAc,EACd,OAGC,EACD,EAAE;IACF,MAAM,EAAE,GAAG,CACT;QACE,gBAAC,SAAS,IAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,GAAI,CACzG,CACP,CAAA;IACD,MAAM,SAAS,GAAG,EAAE,CAAC,iBAAgC,CAAA;IACrD,SAAS,CAAC,eAAe,EAAE,CAAA;IAC3B,MAAM,YAAY,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAA;AACrC,CAAC,CAAA;AAED,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAA;QAC/B,MAAM,CAAC,OAAO,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,KAAK,GAAG,IAAI,KAAK,CAAmB,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA;QACvE,MAAM,EAAE,GAAG,CAAC,gBAAC,SAAS,IAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,WAAW,GAAI,CAA2B,CAAA;QACxG,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;QACxB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAC1D,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAA;IACzB,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,KAAK,GAAG,IAAI,KAAK,CAAmB;gBACxC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;aAClC,CAAC,CAAA;YACF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;YAC5D,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;YAChE,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;YAC1D,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAA;QACzB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAmB;gBACxC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;aAClC,CAAC,CAAA;YACF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE;gBAC3D,MAAM,EAAE,CAAC,0BAAM,SAAS,EAAC,eAAe,iBAAkB,CAA2B;aACtF,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAA;YACxD,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;YAC7B,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAC9C,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAA;QACzB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAmB,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,CAAA;YAClF,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACxB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;YAC7D,MAAM,SAAS,GAAG,SAAS,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAA;YAC/D,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;YAChC,MAAM,gBAAgB,GAAG,SAAwB,CAAA;YACjD,gBAAgB,CAAC,eAAe,EAAE,CAAA;YAClC,MAAM,YAAY,EAAE,CAAA;YACpB,MAAM,OAAO,GAAG,gBAAgB,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAA;YAChE,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YAChD,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAA;QACzB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAmB;gBACxC,IAAI,EAAE,KAAK,IAAI,EAAE;oBACf,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA;gBACjC,CAAC;aACF,CAAC,CAAA;YACF,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,WAAW;YACb,CAAC;YACD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;YAC5D,MAAM,QAAQ,GAAG,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;YACxD,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;YAC/B,MAAM,eAAe,GAAG,QAAuB,CAAA;YAC/C,eAAe,CAAC,eAAe,EAAE,CAAA;YACjC,MAAM,YAAY,EAAE,CAAA;YACpB,MAAM,OAAO,GAAG,eAAe,CAAC,aAAa,CAAC,eAAe,CAAgB,CAAA;YAC7E,OAAO,CAAC,eAAe,EAAE,CAAA;YACzB,MAAM,YAAY,EAAE,CAAA;YACpB,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;YACzD,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAA;QACzB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAmB;gBACxC,IAAI,EAAE,KAAK,IAAI,EAAE;oBACf,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;gBACnC,CAAC;aACF,CAAC,CAAA;YACF,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,WAAW;YACb,CAAC;YACD,MAAM,WAAW,GAAG,EAAE,CAAC,EAAE,CACvB,CAAC,GAAY,EAAE,MAAkB,EAAE,EAAE,CACnC,CAAC,0BAAM,SAAS,EAAC,cAAc,IAAE,MAAM,CAAC,GAAG,CAAC,CAAQ,CAA2B,CAClF,CAAA;YACD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAA;YACpF,MAAM,CAAC,WAAW,CAAC,CAAC,oBAAoB,EAAE,CAAA;YAC1C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;YAC1D,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC,eAAe,CAAC,CAAA;YAC9D,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;YACpC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAA;QACzB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,MAAM,KAAK,GAAG,IAAI,KAAK,CAAmB,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA;YACvE,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACvB,KAAK,CAAC,gBAAgB,CAAC;gBACrB,QAAQ,EAAE,CAAC,MAAM,CAAC;gBAClB,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE;aAC7F,CAAC,CAAA;YACF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;YAC5D,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;YAChE,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;YAC9D,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAA;QACzB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,CAAmC,KAAK,IAAI,EAAE;gBAChE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAA;YACzB,CAAC,CAAC,CAAA;YACF,MAAM,KAAK,GAAG,IAAI,KAAK,CAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;YAC3D,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,WAAW;YACb,CAAC;YACD,IAAI,aAAuC,CAAA;YAC3C,MAAM,WAAW,GAAG,CAAC,IAAa,EAAE,KAAiB,EAAE,EAAE;gBACvD,aAAa,GAAG,KAAK,CAAA;gBACrB,OAAO,CAAC,0BAAM,SAAS,EAAC,cAAc,YAAa,CAA2B,CAAA;YAChF,CAAC,CAAA;YACD,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAA;YAC9D,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAA;YAEnC,MAAM,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAA;YACzC,aAAc,EAAE,CAAA;YAChB,MAAM,YAAY,EAAE,CAAA;YAEpB,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;YAC9C,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAA;YACpC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACpC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACtC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAA;QACzB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,GAAW,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,CAAA;YAC3D,MAAM,KAAK,GAAG,IAAI,KAAK,CAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;YAC3D,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACvB,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;YAEzB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;YAC5D,MAAM,SAAS,GAAG,SAAS,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAA;YAC/D,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;YAEhC,MAAM,YAAY,EAAE,CAAA;YACpB,kEAAkE;YAClE,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;YACvC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAA;QACzB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC/C,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAmB,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA;YACvE,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACvB,MAAM,eAAe,GAAwB;gBAC3C,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC;gBAC1B,KAAK,EAAE,YAAY;gBACnB,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAA;YACD,KAAK,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAA;YACtE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;YAC5D,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;YAChE,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;YAC9D,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAA;QACzB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"cache-view.spec.js","sourceRoot":"","sources":["../../src/components/cache-view.spec.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,9 @@
1
- import type { RefObject } from '@furystack/shades';
2
1
  import type { CommandPaletteManager } from './command-palette-manager.js';
3
2
  export declare const CommandPaletteInput: (props: {
4
3
  manager: CommandPaletteManager;
5
4
  } & Omit<Partial<HTMLElement>, "style"> & {
6
5
  style?: Partial<CSSStyleDeclaration>;
7
6
  } & {
8
- ref?: RefObject<Element>;
7
+ ref?: import("@furystack/shades").RefObject<Element>;
9
8
  }, children?: import("@furystack/shades").ChildrenList) => JSX.Element;
10
9
  //# sourceMappingURL=command-palette-input.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command-palette-input.d.ts","sourceRoot":"","sources":["../../../src/components/command-palette/command-palette-input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAIlD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AA6BzE,eAAO,MAAM,mBAAmB;aAAoB,qBAAqB;;;;;sEAsCvE,CAAA"}
1
+ {"version":3,"file":"command-palette-input.d.ts","sourceRoot":"","sources":["../../../src/components/command-palette/command-palette-input.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAEzE,eAAO,MAAM,mBAAmB;aAAoB,qBAAqB;;;;;sEAmCvE,CAAA"}
@@ -1,38 +1,11 @@
1
1
  import { Shade, createComponent } from '@furystack/shades';
2
2
  import { cssVariableTheme } from '../../services/css-variable-theme.js';
3
- import { promisifyAnimation } from '../../utils/promisify-animation.js';
4
- const animateOpenState = async (wrapperRef, inputRef, isOpened) => {
5
- const wrapper = wrapperRef.current;
6
- const input = inputRef.current;
7
- if (wrapper && input) {
8
- if (isOpened) {
9
- input.value = '';
10
- await promisifyAnimation(wrapper, [{ width: '0%' }, { width: '100%' }], {
11
- duration: 300,
12
- fill: 'forwards',
13
- easing: 'cubic-bezier(0.595, 0.425, 0.415, 0.845)',
14
- });
15
- input.focus();
16
- }
17
- else {
18
- await promisifyAnimation(wrapper, [{ width: '100%' }, { width: '0%' }], {
19
- duration: 300,
20
- fill: 'forwards',
21
- easing: 'cubic-bezier(0.595, 0.425, 0.415, 0.845)',
22
- });
23
- input.value = '';
24
- }
25
- }
26
- };
27
3
  export const CommandPaletteInput = Shade({
28
4
  shadowDomName: 'shades-command-palette-input',
29
5
  css: {
30
- width: '0%',
6
+ width: '100%',
31
7
  fontFamily: cssVariableTheme.typography.fontFamily,
32
8
  overflow: 'hidden',
33
- '&[data-opened]': {
34
- width: '100%',
35
- },
36
9
  '& input': {
37
10
  color: cssVariableTheme.text.primary,
38
11
  outline: 'none',
@@ -46,16 +19,21 @@ export const CommandPaletteInput = Shade({
46
19
  letterSpacing: '0.01em',
47
20
  },
48
21
  },
49
- render: ({ props, useObservable, useRef, useHostProps }) => {
50
- const { manager } = props;
51
- const wrapperRef = useRef('wrapper');
22
+ render: ({ props, useObservable, useRef }) => {
52
23
  const inputRef = useRef('input');
53
- const [isCurrentlyOpened] = useObservable('isOpened', manager.isOpened, {
54
- onChange: (newValue) => void animateOpenState(wrapperRef, inputRef, newValue),
24
+ useObservable('isOpened', props.manager.isOpened, {
25
+ onChange: (isOpened) => {
26
+ if (inputRef.current) {
27
+ if (isOpened) {
28
+ inputRef.current.focus();
29
+ }
30
+ else {
31
+ inputRef.current.value = '';
32
+ }
33
+ }
34
+ },
55
35
  });
56
- useHostProps({ ...(isCurrentlyOpened ? { 'data-opened': '' } : {}) });
57
- return (createComponent("div", { ref: wrapperRef, style: { width: isCurrentlyOpened ? '100%' : '0%', overflow: 'hidden' } },
58
- createComponent("input", { ref: inputRef, autofocus: true, placeholder: "Type to search commands..." })));
36
+ return createComponent("input", { ref: inputRef, autofocus: true, placeholder: "Type to search commands..." });
59
37
  },
60
38
  });
61
39
  //# sourceMappingURL=command-palette-input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command-palette-input.js","sourceRoot":"","sources":["../../../src/components/command-palette/command-palette-input.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-palette-input.js","sourceRoot":"","sources":["../../../src/components/command-palette/command-palette-input.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAGvE,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAqC;IAC3E,aAAa,EAAE,8BAA8B;IAC7C,GAAG,EAAE;QACH,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC,UAAU;QAClD,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE;YACT,KAAK,EAAE,gBAAgB,CAAC,IAAI,CAAC,OAAO;YACpC,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,aAAa;YACzB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,aAAa;YACtB,KAAK,EAAE,kBAAkB;YACzB,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,KAAK;YACjB,aAAa,EAAE,QAAQ;SACxB;KACF;IACD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE;QAC3C,MAAM,QAAQ,GAAG,MAAM,CAAmB,OAAO,CAAC,CAAA;QAClD,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE;YAChD,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACrB,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACrB,IAAI,QAAQ,EAAE,CAAC;wBACb,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;oBAC1B,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAA;oBAC7B,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC,CAAA;QAEF,OAAO,2BAAO,GAAG,EAAE,QAAQ,EAAE,SAAS,QAAC,WAAW,EAAC,4BAA4B,GAAG,CAAA;IACpF,CAAC;CACF,CAAC,CAAA"}