@furystack/shades 14.0.0 → 15.0.1

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 (125) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/esm/compile-route.d.ts +5 -0
  3. package/esm/compile-route.d.ts.map +1 -1
  4. package/esm/compile-route.js +5 -0
  5. package/esm/compile-route.js.map +1 -1
  6. package/esm/component-factory.spec.d.ts.map +1 -1
  7. package/esm/component-factory.spec.js +2 -2
  8. package/esm/component-factory.spec.js.map +1 -1
  9. package/esm/components/nested-hooks.js +2 -2
  10. package/esm/components/nested-hooks.js.map +1 -1
  11. package/esm/components/nested-hooks.spec.js +14 -14
  12. package/esm/components/nested-hooks.spec.js.map +1 -1
  13. package/esm/components/nested-navigate.js +1 -1
  14. package/esm/components/nested-navigate.js.map +1 -1
  15. package/esm/components/nested-navigate.spec.js +16 -16
  16. package/esm/components/nested-navigate.spec.js.map +1 -1
  17. package/esm/components/nested-replace.js +1 -1
  18. package/esm/components/nested-replace.js.map +1 -1
  19. package/esm/components/nested-replace.spec.js +6 -6
  20. package/esm/components/nested-replace.spec.js.map +1 -1
  21. package/esm/components/nested-route-link.js +1 -1
  22. package/esm/components/nested-route-link.js.map +1 -1
  23. package/esm/components/nested-route-link.spec.js +8 -8
  24. package/esm/components/nested-route-link.spec.js.map +1 -1
  25. package/esm/components/nested-router.js +3 -3
  26. package/esm/components/nested-router.js.map +1 -1
  27. package/esm/components/nested-router.spec.js +24 -24
  28. package/esm/components/nested-router.spec.js.map +1 -1
  29. package/esm/css-generator.d.ts +9 -26
  30. package/esm/css-generator.d.ts.map +1 -1
  31. package/esm/css-generator.js +9 -26
  32. package/esm/css-generator.js.map +1 -1
  33. package/esm/css-generator.spec.js.map +1 -1
  34. package/esm/models/css-object.d.ts +3 -5
  35. package/esm/models/css-object.d.ts.map +1 -1
  36. package/esm/models/render-options.d.ts +16 -20
  37. package/esm/models/render-options.d.ts.map +1 -1
  38. package/esm/models/shade-component.d.ts +6 -4
  39. package/esm/models/shade-component.d.ts.map +1 -1
  40. package/esm/models/shade-component.js +3 -3
  41. package/esm/models/shade-component.js.map +1 -1
  42. package/esm/services/location-service.d.ts +39 -42
  43. package/esm/services/location-service.d.ts.map +1 -1
  44. package/esm/services/location-service.js +115 -134
  45. package/esm/services/location-service.js.map +1 -1
  46. package/esm/services/location-service.spec.js +32 -30
  47. package/esm/services/location-service.spec.js.map +1 -1
  48. package/esm/services/route-match-service.d.ts +3 -2
  49. package/esm/services/route-match-service.d.ts.map +1 -1
  50. package/esm/services/route-match-service.js +13 -22
  51. package/esm/services/route-match-service.js.map +1 -1
  52. package/esm/services/route-match-service.spec.js +40 -51
  53. package/esm/services/route-match-service.spec.js.map +1 -1
  54. package/esm/services/route-meta-utils.js.map +1 -1
  55. package/esm/services/route-meta-utils.spec.js +3 -3
  56. package/esm/services/route-meta-utils.spec.js.map +1 -1
  57. package/esm/services/screen-service.d.ts +13 -72
  58. package/esm/services/screen-service.d.ts.map +1 -1
  59. package/esm/services/screen-service.js +45 -137
  60. package/esm/services/screen-service.js.map +1 -1
  61. package/esm/services/screen-service.spec.js +19 -18
  62. package/esm/services/screen-service.spec.js.map +1 -1
  63. package/esm/services/spatial-navigation-service.d.ts +17 -39
  64. package/esm/services/spatial-navigation-service.d.ts.map +1 -1
  65. package/esm/services/spatial-navigation-service.js +280 -313
  66. package/esm/services/spatial-navigation-service.js.map +1 -1
  67. package/esm/services/spatial-navigation-service.spec.js +163 -158
  68. package/esm/services/spatial-navigation-service.spec.js.map +1 -1
  69. package/esm/shade-component.d.ts +14 -17
  70. package/esm/shade-component.d.ts.map +1 -1
  71. package/esm/shade-component.js +14 -17
  72. package/esm/shade-component.js.map +1 -1
  73. package/esm/shade.d.ts +18 -15
  74. package/esm/shade.d.ts.map +1 -1
  75. package/esm/shade.js +22 -32
  76. package/esm/shade.js.map +1 -1
  77. package/esm/style-manager.d.ts +8 -22
  78. package/esm/style-manager.d.ts.map +1 -1
  79. package/esm/style-manager.js +8 -22
  80. package/esm/style-manager.js.map +1 -1
  81. package/esm/styled-shade.d.ts +4 -7
  82. package/esm/styled-shade.d.ts.map +1 -1
  83. package/esm/styled-shade.js +4 -4
  84. package/esm/styled-shade.js.map +1 -1
  85. package/esm/view-transition.d.ts +10 -22
  86. package/esm/view-transition.d.ts.map +1 -1
  87. package/esm/view-transition.js +10 -22
  88. package/esm/view-transition.js.map +1 -1
  89. package/esm/vnode.js.map +1 -1
  90. package/esm/vnode.spec.js.map +1 -1
  91. package/package.json +9 -8
  92. package/src/compile-route.ts +5 -0
  93. package/src/component-factory.spec.tsx +3 -2
  94. package/src/components/nested-hooks.spec.ts +14 -14
  95. package/src/components/nested-hooks.ts +2 -2
  96. package/src/components/nested-navigate.spec.ts +17 -16
  97. package/src/components/nested-navigate.ts +1 -1
  98. package/src/components/nested-replace.spec.ts +7 -6
  99. package/src/components/nested-replace.ts +1 -1
  100. package/src/components/nested-route-link.spec.tsx +8 -8
  101. package/src/components/nested-route-link.tsx +1 -1
  102. package/src/components/nested-router.spec.tsx +24 -24
  103. package/src/components/nested-router.tsx +5 -5
  104. package/src/css-generator.spec.ts +1 -1
  105. package/src/css-generator.ts +9 -26
  106. package/src/models/css-object.ts +3 -5
  107. package/src/models/render-options.ts +17 -20
  108. package/src/models/shade-component.ts +6 -4
  109. package/src/services/location-service.spec.ts +35 -31
  110. package/src/services/location-service.tsx +156 -122
  111. package/src/services/route-match-service.spec.ts +41 -32
  112. package/src/services/route-match-service.ts +17 -8
  113. package/src/services/route-meta-utils.spec.ts +3 -3
  114. package/src/services/route-meta-utils.ts +1 -1
  115. package/src/services/screen-service.spec.ts +21 -20
  116. package/src/services/screen-service.ts +65 -110
  117. package/src/services/spatial-navigation-service.spec.ts +165 -160
  118. package/src/services/spatial-navigation-service.ts +299 -287
  119. package/src/shade-component.ts +14 -17
  120. package/src/shade.ts +31 -41
  121. package/src/style-manager.ts +9 -22
  122. package/src/styled-shade.ts +5 -8
  123. package/src/view-transition.ts +10 -22
  124. package/src/vnode.spec.ts +3 -3
  125. package/src/vnode.ts +2 -2
@@ -1,37 +1,21 @@
1
1
  import type { CSSObject, CSSProperties } from './models/css-object.js';
2
2
  /**
3
- * Converts a camelCase string to kebab-case
4
- * @param str - The camelCase string to convert
5
- * @returns The kebab-case string
6
3
  * @example
7
4
  * camelToKebab('backgroundColor') // 'background-color'
8
- * camelToKebab('fontSize') // 'font-size'
9
5
  */
10
6
  export declare const camelToKebab: (str: string) => string;
11
- /**
12
- * Checks if a key is a selector key (starts with '&')
13
- * @param key - The key to check
14
- * @returns True if the key is a selector key
15
- */
16
7
  export declare const isSelectorKey: (key: string) => boolean;
17
8
  /**
18
- * Converts CSS properties to a CSS declaration string
19
- * @param properties - The CSS properties object
20
- * @returns A CSS declaration string (e.g., "color: red; padding: 10px;")
9
+ * Serializes the non-selector entries of a {@link CSSProperties} object as
10
+ * a CSS declaration body. Selector keys (`&...`) are skipped.
21
11
  */
22
12
  export declare const propertiesToCSSString: (properties: CSSProperties) => string;
23
- /**
24
- * Generates a CSS rule string from a selector and properties
25
- * @param selector - The CSS selector
26
- * @param properties - The CSS properties object
27
- * @returns A complete CSS rule string (e.g., "selector { color: red; }")
28
- */
13
+ /** Builds `selector { decls; }` from the non-selector entries. Empty when no decls. */
29
14
  export declare const generateCSSRule: (selector: string, properties: CSSProperties) => string;
30
15
  /**
31
- * Generates complete CSS from a CSSObject for a given component selector
32
- * @param selector - The base selector (typically the customElementName)
33
- * @param cssObject - The CSSObject containing styles and nested selectors
34
- * @returns A complete CSS string with all rules
16
+ * Renders a {@link CSSObject} as CSS rules. Base properties become a single
17
+ * rule against `selector`; each `&...` selector key produces an additional
18
+ * rule with `&` substituted for `selector`.
35
19
  *
36
20
  * @example
37
21
  * ```typescript
@@ -40,10 +24,9 @@ export declare const generateCSSRule: (selector: string, properties: CSSProperti
40
24
  * '&:hover': { color: 'blue' },
41
25
  * '& .inner': { fontWeight: 'bold' }
42
26
  * })
43
- * // Returns:
44
- * // "my-component { color: red; }
45
- * // my-component:hover { color: blue; }
46
- * // my-component .inner { font-weight: bold; }"
27
+ * // my-component { color: red; }
28
+ * // my-component:hover { color: blue; }
29
+ * // my-component .inner { font-weight: bold; }
47
30
  * ```
48
31
  */
49
32
  export declare const generateCSS: (selector: string, cssObject: CSSObject) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"css-generator.d.ts","sourceRoot":"","sources":["../src/css-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAEtE;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,MAE1C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,OAE3C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,YAAY,aAAa,KAAG,MAajE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,YAAY,aAAa,KAAG,MAM7E,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,WAAW,GAAI,UAAU,MAAM,EAAE,WAAW,SAAS,KAAG,MAwCpE,CAAA"}
1
+ {"version":3,"file":"css-generator.d.ts","sourceRoot":"","sources":["../src/css-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAEtE;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,MAE1C,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,OAE3C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,YAAY,aAAa,KAAG,MAajE,CAAA;AAED,uFAAuF;AACvF,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,YAAY,aAAa,KAAG,MAM7E,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW,GAAI,UAAU,MAAM,EAAE,WAAW,SAAS,KAAG,MAwCpE,CAAA"}
@@ -1,26 +1,16 @@
1
1
  /**
2
- * Converts a camelCase string to kebab-case
3
- * @param str - The camelCase string to convert
4
- * @returns The kebab-case string
5
2
  * @example
6
3
  * camelToKebab('backgroundColor') // 'background-color'
7
- * camelToKebab('fontSize') // 'font-size'
8
4
  */
9
5
  export const camelToKebab = (str) => {
10
6
  return str.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);
11
7
  };
12
- /**
13
- * Checks if a key is a selector key (starts with '&')
14
- * @param key - The key to check
15
- * @returns True if the key is a selector key
16
- */
17
8
  export const isSelectorKey = (key) => {
18
9
  return key.startsWith('&');
19
10
  };
20
11
  /**
21
- * Converts CSS properties to a CSS declaration string
22
- * @param properties - The CSS properties object
23
- * @returns A CSS declaration string (e.g., "color: red; padding: 10px;")
12
+ * Serializes the non-selector entries of a {@link CSSProperties} object as
13
+ * a CSS declaration body. Selector keys (`&...`) are skipped.
24
14
  */
25
15
  export const propertiesToCSSString = (properties) => {
26
16
  const declarations = [];
@@ -34,12 +24,7 @@ export const propertiesToCSSString = (properties) => {
34
24
  }
35
25
  return declarations.join('; ');
36
26
  };
37
- /**
38
- * Generates a CSS rule string from a selector and properties
39
- * @param selector - The CSS selector
40
- * @param properties - The CSS properties object
41
- * @returns A complete CSS rule string (e.g., "selector { color: red; }")
42
- */
27
+ /** Builds `selector { decls; }` from the non-selector entries. Empty when no decls. */
43
28
  export const generateCSSRule = (selector, properties) => {
44
29
  const cssString = propertiesToCSSString(properties);
45
30
  if (!cssString) {
@@ -48,10 +33,9 @@ export const generateCSSRule = (selector, properties) => {
48
33
  return `${selector} { ${cssString}; }`;
49
34
  };
50
35
  /**
51
- * Generates complete CSS from a CSSObject for a given component selector
52
- * @param selector - The base selector (typically the customElementName)
53
- * @param cssObject - The CSSObject containing styles and nested selectors
54
- * @returns A complete CSS string with all rules
36
+ * Renders a {@link CSSObject} as CSS rules. Base properties become a single
37
+ * rule against `selector`; each `&...` selector key produces an additional
38
+ * rule with `&` substituted for `selector`.
55
39
  *
56
40
  * @example
57
41
  * ```typescript
@@ -60,10 +44,9 @@ export const generateCSSRule = (selector, properties) => {
60
44
  * '&:hover': { color: 'blue' },
61
45
  * '& .inner': { fontWeight: 'bold' }
62
46
  * })
63
- * // Returns:
64
- * // "my-component { color: red; }
65
- * // my-component:hover { color: blue; }
66
- * // my-component .inner { font-weight: bold; }"
47
+ * // my-component { color: red; }
48
+ * // my-component:hover { color: blue; }
49
+ * // my-component .inner { font-weight: bold; }
67
50
  * ```
68
51
  */
69
52
  export const generateCSS = (selector, cssObject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"css-generator.js","sourceRoot":"","sources":["../src/css-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"css-generator.js","sourceRoot":"","sources":["../src/css-generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"css-generator.spec.js","sourceRoot":"","sources":["../src/css-generator.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"css-generator.spec.js","sourceRoot":"","sources":["../src/css-generator.spec.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,8 @@
1
- /**
2
- * Base CSS properties - subset of CSSStyleDeclaration
3
- */
4
1
  export type CSSProperties = Partial<CSSStyleDeclaration>;
5
2
  /**
6
- * Selector key pattern for pseudo-classes and nested selectors
7
- * Examples: '&:hover', '&:active', '& .className', '& > div'
3
+ * Selector keys for pseudo-classes and nested selectors. The leading `&`
4
+ * is replaced with the host selector at registration time
5
+ * (e.g. `&:hover` → `my-element:hover`).
8
6
  */
9
7
  export type SelectorKey = `&${string}`;
10
8
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"css-object.d.ts","sourceRoot":"","sources":["../../src/models/css-object.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;AAExD;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,MAAM,EAAE,CAAA;AAEtC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG;KACrC,CAAC,IAAI,WAAW,CAAC,CAAC,EAAE,aAAa;CACnC,CAAA"}
1
+ {"version":3,"file":"css-object.d.ts","sourceRoot":"","sources":["../../src/models/css-object.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;AAExD;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,MAAM,EAAE,CAAA;AAEtC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG;KACrC,CAAC,IAAI,WAAW,CAAC,CAAC,EAAE,aAAa;CACnC,CAAA"}
@@ -77,13 +77,11 @@ export type RenderOptions<TProps, TElementBase extends HTMLElement = HTMLElement
77
77
  */
78
78
  useRef: <T extends Element = HTMLElement>(key: string) => RefObject<T>;
79
79
  /**
80
- * Creates and disposes a resource after the component has been detached from the DOM.
81
- * When `deps` is provided, the resource is re-created (and the old one disposed) whenever
82
- * the serialized deps value changes.
83
- * @param key The key for caching the disposable resource
84
- * @param factory A factory method for creating the disposable resource
85
- * @param deps Optional dependency array — when deps change, the old resource is disposed and a new one is created
86
- * @returns The Disposable instance
80
+ * Creates a disposable resource the first time it is requested per `key`,
81
+ * caches it across renders, and disposes it on `disconnectedCallback`.
82
+ * When `deps` is provided, the cached resource is disposed + re-created
83
+ * whenever the serialized deps change (use for `key`-stable resources
84
+ * that depend on dynamic inputs).
87
85
  */
88
86
  useDisposable: <T extends Disposable | AsyncDisposable>(key: string, factory: () => T, deps?: readonly unknown[]) => T;
89
87
  /**
@@ -115,25 +113,23 @@ export type RenderOptions<TProps, TElementBase extends HTMLElement = HTMLElement
115
113
  onChange?: (newValue: T) => void;
116
114
  }) => [value: T, setValue: (newValue: T) => void];
117
115
  /**
118
- * Creates a state object that will trigger a component re-render on change
119
- * @param key The Key for caching the observable value
120
- * @param initialValue The initial value for the observable
121
- * @returns tuple with the current value and a setter function
116
+ * Local component state. Returns `[value, setValue]`; calling the setter
117
+ * with a new value triggers a re-render. Preferred over manually wiring
118
+ * an `ObservableValue` + `useObservable` (`furystack/prefer-use-state`
119
+ * enforces this).
122
120
  */
123
121
  useState: <T>(key: string, initialValue: T) => [value: T, setValue: (newValue: T) => void];
124
122
  /**
125
- * Creates a state object that will use a value from the search string of the current location. Triggers a component re-render on change
126
- * @param key The Key for caching the observable value
127
- * @param initialValue The initial value - if the value is not found in the search string
128
- * @returns a tuple with the current value and a setter function
123
+ * State backed by a URL search-string parameter via {@link LocationService}.
124
+ * Bidirectional: setting the value pushes a history entry; navigating
125
+ * (back/forward, manual edit) updates the value. `initialValue` applies
126
+ * when the key is absent from the current URL.
129
127
  */
130
128
  useSearchState: <T>(key: string, initialValue: T) => [value: T, setValue: (newValue: T) => void];
131
129
  /**
132
- * Creates a state object that will use a value from the storage area. Triggers a component re-render on change
133
- * @param key The key in the storage area
134
- * @param initialValue The initial value that will be used if the key is not found in the storage area
135
- * @param storageArea The storage area to use
136
- * @returns a tuple with the current value and a setter function
130
+ * State backed by `localStorage` (or a custom `Storage`). Synchronizes
131
+ * across tabs via the `storage` event and a `BroadcastChannel`.
132
+ * `initialValue` applies when the key is absent from `storageArea`.
137
133
  */
138
134
  useStoredState: <T>(key: string, initialValue: T, storageArea?: Storage) => [value: T, setValue: (newValue: T) => void];
139
135
  };
@@ -1 +1 @@
1
- {"version":3,"file":"render-options.d.ts","sourceRoot":"","sources":["../../src/models/render-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D;;;;;GAKG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,OAAO,GAAG,WAAW,IAAI;IACvD,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAA;CAC3B,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,aAAa,CAAC,MAAM,EAAE,YAAY,SAAS,WAAW,GAAG,WAAW,IAAI;IAClF,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC,CAAA;IACrD,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,QAAQ,CAAA;IAClB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,KAAK,IAAI,CAAA;IAE/F;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,EAAE,CAAC,CAAC,SAAS,OAAO,GAAG,WAAW,EAAE,GAAG,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAA;IAEtE;;;;;;;;OAQG;IACH,aAAa,EAAE,CAAC,CAAC,SAAS,UAAU,GAAG,eAAe,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,KAAK,CAAC,CAAA;IAEtH;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,aAAa,EAAE,CAAC,CAAC,EACf,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG;QAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAA;KAAE,KACrE,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,CAAA;IAEhD;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,CAAA;IAE1F;;;;;OAKG;IACH,cAAc,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,CAAA;IAEhG;;;;;;OAMG;IACH,cAAc,EAAE,CAAC,CAAC,EAChB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,CAAC,EACf,WAAW,CAAC,EAAE,OAAO,KAClB,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,CAAA;CACjD,CAAA"}
1
+ {"version":3,"file":"render-options.d.ts","sourceRoot":"","sources":["../../src/models/render-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAE7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D;;;;;GAKG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,OAAO,GAAG,WAAW,IAAI;IACvD,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAA;CAC3B,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,aAAa,CAAC,MAAM,EAAE,YAAY,SAAS,WAAW,GAAG,WAAW,IAAI;IAClF,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC,CAAA;IACrD,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,QAAQ,CAAA;IAClB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,KAAK,IAAI,CAAA;IAE/F;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,EAAE,CAAC,CAAC,SAAS,OAAO,GAAG,WAAW,EAAE,GAAG,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAA;IAEtE;;;;;;OAMG;IACH,aAAa,EAAE,CAAC,CAAC,SAAS,UAAU,GAAG,eAAe,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,KAAK,CAAC,CAAA;IAEtH;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,aAAa,EAAE,CAAC,CAAC,EACf,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG;QAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAA;KAAE,KACrE,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,CAAA;IAEhD;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,CAAA;IAE1F;;;;;OAKG;IACH,cAAc,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,CAAA;IAEhG;;;;OAIG;IACH,cAAc,EAAE,CAAC,CAAC,EAChB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,CAAC,EACf,WAAW,CAAC,EAAE,OAAO,KAClB,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,CAAA;CACjD,CAAA"}
@@ -1,12 +1,14 @@
1
1
  import type { ChildrenList } from './children-list.js';
2
2
  /**
3
- * Type definition for a Shade component
3
+ * Callable that produces a JSX element from props (and optional children).
4
+ * Both `Shade(...)` factories and plain functional components conform to
5
+ * this shape.
4
6
  */
5
7
  export type ShadeComponent<TProps = object> = (arg: TProps, children?: ChildrenList) => JSX.Element;
6
8
  /**
7
- * Type guard that checks if an object is a stateless component
8
- * @param obj The object to check
9
- * @returns a value that indicates if the object is a Shade component
9
+ * Discriminates {@link ShadeComponent} from intrinsic-element tag names.
10
+ * Intentionally permissive — any function is treated as a component since
11
+ * VNodes carry no other discriminator.
10
12
  */
11
13
  export declare const isShadeComponent: <T = any>(obj: any) => obj is ShadeComponent<T>;
12
14
  //# sourceMappingURL=shade-component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shade-component.d.ts","sourceRoot":"","sources":["../../src/models/shade-component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,YAAY,KAAK,GAAG,CAAC,OAAO,CAAA;AAEnG;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,GAAG,GAAG,EAAE,KAAK,GAAG,KAAG,GAAG,IAAI,cAAc,CAAC,CAAC,CAE3E,CAAA"}
1
+ {"version":3,"file":"shade-component.d.ts","sourceRoot":"","sources":["../../src/models/shade-component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD;;;;GAIG;AACH,MAAM,MAAM,cAAc,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,YAAY,KAAK,GAAG,CAAC,OAAO,CAAA;AAEnG;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,GAAG,GAAG,EAAE,KAAK,GAAG,KAAG,GAAG,IAAI,cAAc,CAAC,CAAC,CAE3E,CAAA"}
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Type guard that checks if an object is a stateless component
3
- * @param obj The object to check
4
- * @returns a value that indicates if the object is a Shade component
2
+ * Discriminates {@link ShadeComponent} from intrinsic-element tag names.
3
+ * Intentionally permissive — any function is treated as a component since
4
+ * VNodes carry no other discriminator.
5
5
  */
6
6
  export const isShadeComponent = (obj) => {
7
7
  return typeof obj === 'function';
@@ -1 +1 @@
1
- {"version":3,"file":"shade-component.js","sourceRoot":"","sources":["../../src/models/shade-component.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAU,GAAQ,EAA4B,EAAE;IAC9E,OAAO,OAAO,GAAG,KAAK,UAAU,CAAA;AAClC,CAAC,CAAA"}
1
+ {"version":3,"file":"shade-component.js","sourceRoot":"","sources":["../../src/models/shade-component.ts"],"names":[],"mappings":"AASA;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAU,GAAQ,EAA4B,EAAE;IAC9E,OAAO,OAAO,GAAG,KAAK,UAAU,CAAA;AAClC,CAAC,CAAA"}
@@ -1,67 +1,64 @@
1
- import { type Injector } from '@furystack/inject';
1
+ import type { Injector, Token } from '@furystack/inject';
2
2
  import { deserializeQueryString as defaultDeserializeQueryString, serializeToQueryString as defaultSerializeToQueryString } from '@furystack/rest';
3
3
  import { ObservableValue } from '@furystack/utils';
4
+ /**
5
+ * Overridable settings for {@link LocationService}. Bind a replacement factory
6
+ * via {@link useCustomSearchStateSerializer} to swap the URL query-string
7
+ * (de)serializers used by the service.
8
+ */
9
+ export interface LocationServiceSettings {
10
+ serialize: typeof defaultSerializeToQueryString;
11
+ deserialize: typeof defaultDeserializeQueryString;
12
+ }
13
+ export declare const LocationServiceSettings: Token<LocationServiceSettings, 'singleton'>;
4
14
  /**
5
15
  * Singleton service that tracks browser location changes (pathname, search, hash)
6
16
  * and exposes them as observable values for reactive routing and URL-driven state.
7
17
  */
8
- export declare class LocationService implements Disposable {
9
- private readonly serializeToQueryString;
10
- readonly deserializeQueryString: (fullQueryString: string) => Record<string, unknown>;
11
- constructor(serializeToQueryString?: <T extends object>(queryObject: T) => string, deserializeQueryString?: (fullQueryString: string) => Record<string, unknown>);
12
- private originalPushState;
13
- private originalReplaceState;
14
- [Symbol.dispose](): void;
15
- /**
16
- * Observable value that will be updated when the location pathname (e.g. /page/1) changes
17
- */
18
- onLocationPathChanged: ObservableValue<string>;
19
- /**
20
- * Observable value that will be updated when the location hash (e.g. #hash) changes
21
- */
22
- onLocationHashChanged: ObservableValue<string>;
23
- /**
24
- * Observable value that will be updated when the location search (e.g. ?search=1) changes
25
- */
26
- onLocationSearchChanged: ObservableValue<string>;
27
- onDeserializedLocationSearchChanged: ObservableValue<Record<string, unknown>>;
28
- locationDeserializerObserver: import("@furystack/utils").ValueObserver<string>;
18
+ export interface LocationService {
19
+ readonly deserializeQueryString: typeof defaultDeserializeQueryString;
20
+ readonly onLocationPathChanged: ObservableValue<string>;
21
+ readonly onLocationHashChanged: ObservableValue<string>;
22
+ readonly onLocationSearchChanged: ObservableValue<string>;
23
+ readonly onDeserializedLocationSearchChanged: ObservableValue<Record<string, unknown>>;
24
+ readonly searchParamObservables: Map<string, ObservableValue<any>>;
29
25
  /**
30
26
  * Synchronizes the observable state with the current browser location.
31
27
  * Called internally after navigation events and history state changes.
32
28
  */
33
- updateState: () => void;
29
+ updateState(): void;
34
30
  /**
35
31
  * Navigate to a path. Use this instead of raw history.pushState for SPA routing.
36
- * The LocationService interceptor ensures routing state is updated correctly.
37
32
  */
38
33
  navigate(path: string): void;
39
34
  /**
40
- * Replace the current history entry with a new path. Use this instead of
41
- * raw history.replaceState for SPA redirects (e.g. the intermediate URL
42
- * should not appear in the browser's back/forward stack).
35
+ * Replace the current history entry with a new path. Use this instead of raw
36
+ * history.replaceState for SPA redirects where the intermediate URL should
37
+ * not appear in the browser's back/forward stack.
43
38
  */
44
39
  replace(path: string): void;
45
40
  /**
46
- * Internal cache of per-key search parameter observables created by {@link useSearchParam}.
47
- */
48
- readonly searchParamObservables: Map<string, ObservableValue<any>>;
49
- /**
50
- * Gets or creates an observable for a search parameter
51
- * @param key The search param key (e.g. ?search=1 -> search)
52
- * @param defaultValue The default value if not provided
53
- * @returns An observable with the current value (or default value) of the search param
41
+ * Gets or creates an observable for a search parameter.
54
42
  */
55
43
  useSearchParam<T>(key: string, defaultValue: T): ObservableValue<T>;
56
- private popStateListener;
57
- private hashChangeListener;
58
44
  }
45
+ export declare const LocationService: Token<LocationService, 'singleton'>;
59
46
  /**
60
- * Configures custom serialization for URL search state.
61
- * Must be called **before** `LocationService` is first instantiated by the injector.
62
- * @param injector The root injector
63
- * @param serialize Function to serialize state to a query string
64
- * @param deserialize Function to deserialize a query string to state
47
+ * Configures custom (de)serialization for URL search state by binding
48
+ * {@link LocationServiceSettings} on the given injector.
49
+ *
50
+ * Must be called **before** any consumer resolves {@link LocationService}:
51
+ * the service patches `history.pushState` / `history.replaceState` and
52
+ * subscribes to `popstate` / `hashchange` on construction, and those
53
+ * listeners are only torn down when the owning injector is disposed.
54
+ * Rebinding after the first resolution would leak the previous instance,
55
+ * so this helper throws loudly if that happens.
56
+ *
57
+ * @param injector The root injector.
58
+ * @param serialize Function to serialize state to a query string.
59
+ * @param deserialize Function to deserialize a query string to state.
60
+ * @throws If {@link LocationService} has already been resolved on
61
+ * `injector` (or any reachable ancestor).
65
62
  */
66
63
  export declare const useCustomSearchStateSerializer: (injector: Injector, serialize: typeof defaultSerializeToQueryString, deserialize: typeof defaultDeserializeQueryString) => void;
67
64
  //# sourceMappingURL=location-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"location-service.d.ts","sourceRoot":"","sources":["../../src/services/location-service.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EACL,sBAAsB,IAAI,6BAA6B,EACvD,sBAAsB,IAAI,6BAA6B,EACxD,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD;;;GAGG;AACH,qBACa,eAAgB,YAAW,UAAU;IAE9C,OAAO,CAAC,QAAQ,CAAC,sBAAsB;aAEvB,sBAAsB;gBAFrB,sBAAsB,+CAAgC,EAEvD,sBAAsB,uDAAgC;IAoBxE,OAAO,CAAC,iBAAiB,CAAiC;IAC1D,OAAO,CAAC,oBAAoB,CAAoC;IAEzD,CAAC,MAAM,CAAC,OAAO,CAAC;IAavB;;OAEG;IACI,qBAAqB,0BAAuD;IAEnF;;OAEG;IACI,qBAAqB,0BAAsD;IAElF;;OAEG;IACI,uBAAuB,0BAA+C;IAEtE,mCAAmC,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAE7E,4BAA4B,mDAEjC;IAEF;;;OAGG;IACI,WAAW,aAIL;IAEb;;;OAGG;IACI,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMnC;;;;OAIG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMlC;;OAEG;IACH,SAAgB,sBAAsB,oCAA0C;IAEhF;;;;;OAKG;IACI,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAgCrD,OAAO,CAAC,gBAAgB,CAEvB;IAED,OAAO,CAAC,kBAAkB,CAEb;CACd;AAED;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,GACzC,UAAU,QAAQ,EAClB,WAAW,OAAO,6BAA6B,EAC/C,aAAa,OAAO,6BAA6B,SAQlD,CAAA"}
1
+ {"version":3,"file":"location-service.d.ts","sourceRoot":"","sources":["../../src/services/location-service.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAExD,OAAO,EACL,sBAAsB,IAAI,6BAA6B,EACvD,sBAAsB,IAAI,6BAA6B,EACxD,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,OAAO,6BAA6B,CAAA;IAC/C,WAAW,EAAE,OAAO,6BAA6B,CAAA;CAClD;AAED,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,uBAAuB,EAAE,WAAW,CAO9E,CAAA;AAEF;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,sBAAsB,EAAE,OAAO,6BAA6B,CAAA;IACrE,QAAQ,CAAC,qBAAqB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA;IACvD,QAAQ,CAAC,qBAAqB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA;IACvD,QAAQ,CAAC,uBAAuB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA;IACzD,QAAQ,CAAC,mCAAmC,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IACtF,QAAQ,CAAC,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAA;IAClE;;;OAGG;IACH,WAAW,IAAI,IAAI,CAAA;IACnB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B;;OAEG;IACH,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAA;CACpE;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,WAAW,CAoH9D,CAAA;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,8BAA8B,GACzC,UAAU,QAAQ,EAClB,WAAW,OAAO,6BAA6B,EAC/C,aAAa,OAAO,6BAA6B,KAChD,IASF,CAAA"}