@furystack/shades 7.2.6 → 8.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 (122) hide show
  1. package/esm/components/index.js +4 -0
  2. package/esm/components/index.js.map +1 -0
  3. package/{dist → esm}/components/lazy-load.js +2 -5
  4. package/esm/components/lazy-load.js.map +1 -0
  5. package/{dist → esm}/components/route-link.js +7 -10
  6. package/esm/components/route-link.js.map +1 -0
  7. package/{dist → esm}/components/router.js +13 -19
  8. package/esm/components/router.js.map +1 -0
  9. package/esm/index.js +8 -0
  10. package/esm/index.js.map +1 -0
  11. package/esm/initialize.js +5 -0
  12. package/esm/initialize.js.map +1 -0
  13. package/esm/jsx.js +2 -0
  14. package/esm/models/children-list.js +2 -0
  15. package/esm/models/index.js +6 -0
  16. package/esm/models/index.js.map +1 -0
  17. package/esm/models/partial-element.js +2 -0
  18. package/esm/models/render-options.js +2 -0
  19. package/esm/models/selection-state.js +2 -0
  20. package/esm/models/shade-component.js +9 -0
  21. package/esm/models/shade-component.js.map +1 -0
  22. package/esm/services/index.js +3 -0
  23. package/esm/services/index.js.map +1 -0
  24. package/{dist → esm}/services/location-service.js +14 -17
  25. package/esm/services/location-service.js.map +1 -0
  26. package/{dist → esm}/services/resource-manager.js +3 -7
  27. package/esm/services/resource-manager.js.map +1 -0
  28. package/{dist → esm}/services/screen-service.js +12 -15
  29. package/esm/services/screen-service.js.map +1 -0
  30. package/{dist → esm}/shade-component.js +20 -33
  31. package/esm/shade-component.js.map +1 -0
  32. package/{dist → esm}/shade.js +10 -15
  33. package/esm/shade.js.map +1 -0
  34. package/package.json +26 -9
  35. package/src/component-factory.spec.tsx +2 -1
  36. package/src/components/lazy-load.spec.tsx +9 -4
  37. package/src/components/route-link.spec.tsx +8 -3
  38. package/src/components/router.spec.tsx +11 -6
  39. package/src/components/router.tsx +2 -2
  40. package/src/models/render-options.ts +0 -4
  41. package/src/models/shade-component.ts +0 -1
  42. package/src/services/location-service.spec.ts +8 -3
  43. package/src/services/resource-manager.spec.ts +1 -0
  44. package/src/services/screen-service.spec.ts +7 -2
  45. package/src/shade-component.ts +0 -2
  46. package/src/shade-resources.integration.spec.tsx +8 -3
  47. package/src/shade.ts +0 -1
  48. package/src/shades.integration.spec.tsx +11 -6
  49. package/types/models/render-options.d.ts +0 -4
  50. package/types/models/render-options.d.ts.map +1 -1
  51. package/types/models/shade-component.d.ts +0 -1
  52. package/types/models/shade-component.d.ts.map +1 -1
  53. package/types/shade-component.d.ts +0 -2
  54. package/types/shade-component.d.ts.map +1 -1
  55. package/types/shade.d.ts +0 -1
  56. package/types/shade.d.ts.map +1 -1
  57. package/dist/component-factory.spec.js +0 -81
  58. package/dist/component-factory.spec.js.map +0 -1
  59. package/dist/components/index.js +0 -20
  60. package/dist/components/index.js.map +0 -1
  61. package/dist/components/lazy-load.js.map +0 -1
  62. package/dist/components/lazy-load.spec.js +0 -72
  63. package/dist/components/lazy-load.spec.js.map +0 -1
  64. package/dist/components/route-link.js.map +0 -1
  65. package/dist/components/route-link.spec.js +0 -28
  66. package/dist/components/route-link.spec.js.map +0 -1
  67. package/dist/components/router.js.map +0 -1
  68. package/dist/components/router.spec.js +0 -84
  69. package/dist/components/router.spec.js.map +0 -1
  70. package/dist/index.js +0 -24
  71. package/dist/index.js.map +0 -1
  72. package/dist/initialize.js +0 -9
  73. package/dist/initialize.js.map +0 -1
  74. package/dist/jsx.js +0 -3
  75. package/dist/models/children-list.js +0 -3
  76. package/dist/models/index.js +0 -22
  77. package/dist/models/index.js.map +0 -1
  78. package/dist/models/partial-element.js +0 -3
  79. package/dist/models/render-options.js +0 -3
  80. package/dist/models/selection-state.js +0 -3
  81. package/dist/models/shade-component.js +0 -14
  82. package/dist/models/shade-component.js.map +0 -1
  83. package/dist/services/index.js +0 -19
  84. package/dist/services/index.js.map +0 -1
  85. package/dist/services/location-service.js.map +0 -1
  86. package/dist/services/location-service.spec.js +0 -86
  87. package/dist/services/location-service.spec.js.map +0 -1
  88. package/dist/services/resource-manager.js.map +0 -1
  89. package/dist/services/resource-manager.spec.js +0 -32
  90. package/dist/services/resource-manager.spec.js.map +0 -1
  91. package/dist/services/screen-service.js.map +0 -1
  92. package/dist/services/screen-service.spec.js +0 -25
  93. package/dist/services/screen-service.spec.js.map +0 -1
  94. package/dist/shade-component.js.map +0 -1
  95. package/dist/shade-resources.integration.spec.js +0 -55
  96. package/dist/shade-resources.integration.spec.js.map +0 -1
  97. package/dist/shade.js.map +0 -1
  98. package/dist/shades.integration.spec.js +0 -251
  99. package/dist/shades.integration.spec.js.map +0 -1
  100. package/types/component-factory.spec.d.ts +0 -2
  101. package/types/component-factory.spec.d.ts.map +0 -1
  102. package/types/components/lazy-load.spec.d.ts +0 -2
  103. package/types/components/lazy-load.spec.d.ts.map +0 -1
  104. package/types/components/route-link.spec.d.ts +0 -2
  105. package/types/components/route-link.spec.d.ts.map +0 -1
  106. package/types/components/router.spec.d.ts +0 -2
  107. package/types/components/router.spec.d.ts.map +0 -1
  108. package/types/services/location-service.spec.d.ts +0 -2
  109. package/types/services/location-service.spec.d.ts.map +0 -1
  110. package/types/services/resource-manager.spec.d.ts +0 -2
  111. package/types/services/resource-manager.spec.d.ts.map +0 -1
  112. package/types/services/screen-service.spec.d.ts +0 -2
  113. package/types/services/screen-service.spec.d.ts.map +0 -1
  114. package/types/shade-resources.integration.spec.d.ts +0 -2
  115. package/types/shade-resources.integration.spec.d.ts.map +0 -1
  116. package/types/shades.integration.spec.d.ts +0 -2
  117. package/types/shades.integration.spec.d.ts.map +0 -1
  118. /package/{dist → esm}/jsx.js.map +0 -0
  119. /package/{dist → esm}/models/children-list.js.map +0 -0
  120. /package/{dist → esm}/models/partial-element.js.map +0 -0
  121. /package/{dist → esm}/models/render-options.js.map +0 -0
  122. /package/{dist → esm}/models/selection-state.js.map +0 -0
@@ -0,0 +1,4 @@
1
+ export * from './lazy-load';
2
+ export * from './router';
3
+ export * from './route-link';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA"}
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LazyLoad = void 0;
4
- const shade_1 = require("../shade");
5
- exports.LazyLoad = (0, shade_1.Shade)({
1
+ import { Shade } from '../shade';
2
+ export const LazyLoad = Shade({
6
3
  shadowDomName: 'lazy-load',
7
4
  constructed: async ({ props, useState, element }) => {
8
5
  const [_component, setComponent] = useState('component', undefined);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazy-load.js","sourceRoot":"","sources":["../../src/components/lazy-load.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAahC,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,CAAgB;IAC3C,aAAa,EAAE,WAAW;IAC1B,WAAW,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAClD,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,GAAG,QAAQ,CAA0B,WAAW,EAAE,SAAS,CAAC,CAAA;QAC5F,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAsB,OAAO,EAAE,SAAS,CAAC,CAAA;QACtF,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,CAAA;YACtC,OAAO,CAAC,WAAW,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;SAC5C;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,KAAK,CAAC,KAAK,EAAE;gBACf,OAAO,CAAC,WAAW,IAAI,aAAa,CAAC,KAAK,CAAC,CAAA;aAC5C;iBAAM;gBACL,MAAM,KAAK,CAAA;aACZ;SACF;IACH,CAAC;IACD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAsB,OAAO,EAAE,SAAS,CAAC,CAAA;QAC3E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAA0B,WAAW,EAAE,SAAS,CAAC,CAAA;QAE3F,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE;YACxB,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;gBACnC,IAAI;oBACF,QAAQ,CAAC,SAAS,CAAC,CAAA;oBACnB,YAAY,CAAC,SAAS,CAAC,CAAA;oBACvB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,CAAA;oBACtC,YAAY,CAAC,MAAM,CAAC,CAAA;iBACrB;gBAAC,OAAO,CAAC,EAAE;oBACV,QAAQ,CAAC,CAAC,CAAC,CAAA;iBACZ;YACH,CAAC,CAAC,CAAA;SACH;QACD,IAAI,SAAS,EAAE;YACb,OAAO,SAAS,CAAA;SACjB;QACD,OAAO,KAAK,CAAC,MAAM,CAAA;IACrB,CAAC;CACF,CAAC,CAAA"}
@@ -1,15 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RouteLink = void 0;
4
- const shade_1 = require("../shade");
5
- const services_1 = require("../services");
6
- const __1 = require("..");
7
- exports.RouteLink = (0, shade_1.Shade)({
1
+ import { Shade } from '../shade';
2
+ import { LocationService } from '../services';
3
+ import { attachProps, createComponent } from '..';
4
+ export const RouteLink = Shade({
8
5
  shadowDomName: 'route-link',
9
6
  elementBase: HTMLAnchorElement,
10
7
  elementBaseName: 'a',
11
8
  render: ({ children, props, injector, element }) => {
12
- (0, __1.attachProps)(element, {
9
+ attachProps(element, {
13
10
  ...props,
14
11
  style: {
15
12
  color: 'inherit',
@@ -19,10 +16,10 @@ exports.RouteLink = (0, shade_1.Shade)({
19
16
  onclick: (ev) => {
20
17
  ev.preventDefault();
21
18
  history.pushState('', props.title || '', props.href);
22
- injector.getInstance(services_1.LocationService).updateState();
19
+ injector.getInstance(LocationService).updateState();
23
20
  },
24
21
  });
25
- return (0, __1.createComponent)(__1.createComponent, null, children);
22
+ return createComponent(createComponent, null, children);
26
23
  },
27
24
  });
28
25
  //# sourceMappingURL=route-link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-link.js","sourceRoot":"","sources":["../../src/components/route-link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAEhC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AAIjD,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAiB;IAC7C,aAAa,EAAE,YAAY;IAC3B,WAAW,EAAE,iBAAiB;IAC9B,eAAe,EAAE,GAAG;IACpB,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QACjD,WAAW,CAAC,OAAO,EAAE;YACnB,GAAG,KAAK;YACR,KAAK,EAAE;gBACL,KAAK,EAAE,SAAS;gBAChB,cAAc,EAAE,SAAS;gBACzB,GAAG,KAAK,CAAC,KAAK;aACf;YACD,OAAO,EAAE,CAAC,EAAc,EAAE,EAAE;gBAC1B,EAAE,CAAC,cAAc,EAAE,CAAA;gBACnB,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;gBACpD,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAA;YACrD,CAAC;SACF,CAAC,CAAA;QACF,OAAO,uCAAG,QAAQ,CAAI,CAAA;IACxB,CAAC;CACF,CAAC,CAAA"}
@@ -1,22 +1,16 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Router = void 0;
7
- const shade_1 = require("../shade");
8
- const shade_component_1 = require("../shade-component");
9
- const services_1 = require("../services");
10
- const path_to_regexp_1 = require("path-to-regexp");
11
- const semaphore_async_await_1 = __importDefault(require("semaphore-async-await"));
12
- const utils_1 = require("@furystack/utils");
13
- exports.Router = (0, shade_1.Shade)({
1
+ import { Shade } from '../shade';
2
+ import { createComponent } from '../shade-component';
3
+ import { LocationService } from '../services';
4
+ import { match } from 'path-to-regexp';
5
+ import { Lock } from 'semaphore-async-await';
6
+ import { ObservableAlreadyDisposedError } from '@furystack/utils';
7
+ export const Router = Shade({
14
8
  shadowDomName: 'shade-router',
15
9
  render: (options) => {
16
10
  const { useState, useObservable, injector } = options;
17
- const [lock] = useState('lock', new semaphore_async_await_1.default(1));
11
+ const [lock] = useState('lock', new Lock());
18
12
  const [state, setState] = useState('routerState', {
19
- jsx: (0, shade_component_1.createComponent)("div", null),
13
+ jsx: createComponent("div", null),
20
14
  });
21
15
  const updateUrl = async (currentUrl) => {
22
16
  const [lastState] = useState('routerState', state);
@@ -24,7 +18,7 @@ exports.Router = (0, shade_1.Shade)({
24
18
  try {
25
19
  await lock.acquire();
26
20
  for (const route of options.props.routes) {
27
- const matchFn = (0, path_to_regexp_1.match)(route.url, route.routingOptions);
21
+ const matchFn = match(route.url, route.routingOptions);
28
22
  const matchResult = matchFn(currentUrl);
29
23
  if (matchResult) {
30
24
  if (route !== lastRoute || JSON.stringify(lastRouteParams) !== JSON.stringify(matchResult.params)) {
@@ -40,14 +34,14 @@ exports.Router = (0, shade_1.Shade)({
40
34
  await lastRoute.onLeave({ ...options, element: lastJsx });
41
35
  }
42
36
  setState({
43
- jsx: options.props.notFound || (0, shade_component_1.createComponent)("div", null),
37
+ jsx: options.props.notFound || createComponent("div", null),
44
38
  activeRoute: null,
45
39
  activeRouteParams: null,
46
40
  });
47
41
  }
48
42
  catch (e) {
49
43
  // path updates can be async, this can be ignored
50
- if (!(e instanceof utils_1.ObservableAlreadyDisposedError)) {
44
+ if (!(e instanceof ObservableAlreadyDisposedError)) {
51
45
  throw e;
52
46
  }
53
47
  }
@@ -55,7 +49,7 @@ exports.Router = (0, shade_1.Shade)({
55
49
  lock?.release();
56
50
  }
57
51
  };
58
- useObservable('locationPathChanged', injector.getInstance(services_1.LocationService).onLocationPathChanged, updateUrl, true);
52
+ useObservable('locationPathChanged', injector.getInstance(LocationService).onLocationPathChanged, updateUrl, true);
59
53
  return state.jsx;
60
54
  },
61
55
  });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/components/router.tsx"],"names":[],"mappings":"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"}
package/esm/index.js ADDED
@@ -0,0 +1,8 @@
1
+ export * from './services';
2
+ import './jsx';
3
+ export * from './shade-component';
4
+ export * from './shade';
5
+ export * from './models';
6
+ export * from './components';
7
+ export * from './initialize';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,OAAO,OAAO,CAAA;AACd,cAAc,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}
@@ -0,0 +1,5 @@
1
+ export const initializeShadeRoot = (options) => {
2
+ options.jsxElement.injector = options.injector;
3
+ options.rootElement.appendChild(options.jsxElement);
4
+ };
5
+ //# sourceMappingURL=initialize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../src/initialize.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAA0B,EAAE,EAAE;IAChE,OAAO,CAAC,UAAU,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;IAC9C,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;AACrD,CAAC,CAAA"}
package/esm/jsx.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=jsx.js.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=children-list.js.map
@@ -0,0 +1,6 @@
1
+ export * from './children-list';
2
+ export * from './partial-element';
3
+ export * from './render-options';
4
+ export * from './selection-state';
5
+ export * from './shade-component';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=partial-element.js.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=render-options.js.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=selection-state.js.map
@@ -0,0 +1,9 @@
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
5
+ */
6
+ export const isShadeComponent = (obj) => {
7
+ return typeof obj === 'function';
8
+ };
9
+ //# sourceMappingURL=shade-component.js.map
@@ -0,0 +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,CAAC,GAAQ,EAA8B,EAAE;IACvE,OAAO,OAAO,GAAG,KAAK,UAAU,CAAA;AAClC,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './location-service';
2
+ export * from './screen-service';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA"}
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -8,11 +7,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
7
  var __metadata = (this && this.__metadata) || function (k, v) {
9
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
9
  };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.LocationService = void 0;
13
- const utils_1 = require("@furystack/utils");
14
- const inject_1 = require("@furystack/inject");
15
- const rest_1 = require("@furystack/rest");
10
+ import { ObservableValue, Trace } from '@furystack/utils';
11
+ import { Injectable } from '@furystack/inject';
12
+ import { deserializeQueryString, serializeToQueryString } from '@furystack/rest';
16
13
  let LocationService = class LocationService {
17
14
  dispose() {
18
15
  window.removeEventListener('popstate', this.updateState);
@@ -38,10 +35,10 @@ let LocationService = class LocationService {
38
35
  useSearchParam(key, defaultValue) {
39
36
  const actualValue = this.onDeserializedLocationSearchChanged.getValue()[key] ?? defaultValue;
40
37
  if (!this.searchParamObservables.has(key)) {
41
- const newObservable = new utils_1.ObservableValue(actualValue);
38
+ const newObservable = new ObservableValue(actualValue);
42
39
  this.searchParamObservables.set(key, newObservable);
43
40
  newObservable.subscribe((value) => {
44
- const params = (0, rest_1.serializeToQueryString)({ ...(0, rest_1.deserializeQueryString)(location.search), [key]: value });
41
+ const params = serializeToQueryString({ ...deserializeQueryString(location.search), [key]: value });
45
42
  history.pushState({}, '', `${location.pathname}?${params}`);
46
43
  });
47
44
  this.onDeserializedLocationSearchChanged.subscribe((search) => {
@@ -55,29 +52,29 @@ let LocationService = class LocationService {
55
52
  /**
56
53
  * Observable value that will be updated when the location pathname (e.g. /page/1) changes
57
54
  */
58
- this.onLocationPathChanged = new utils_1.ObservableValue(new URL(location.href).pathname);
55
+ this.onLocationPathChanged = new ObservableValue(new URL(location.href).pathname);
59
56
  /**
60
57
  * Observable value that will be updated when the location hash (e.g. #hash) changes
61
58
  */
62
- this.onLocationHashChanged = new utils_1.ObservableValue(location.hash);
59
+ this.onLocationHashChanged = new ObservableValue(location.hash);
63
60
  /**
64
61
  * Observable value that will be updated when the location search (e.g. ?search=1) changes
65
62
  */
66
- this.onLocationSearchChanged = new utils_1.ObservableValue(location.search);
67
- this.onDeserializedLocationSearchChanged = new utils_1.ObservableValue((0, rest_1.deserializeQueryString)(this.onLocationSearchChanged.getValue()));
63
+ this.onLocationSearchChanged = new ObservableValue(location.search);
64
+ this.onDeserializedLocationSearchChanged = new ObservableValue(deserializeQueryString(this.onLocationSearchChanged.getValue()));
68
65
  this.locationDeserializerObserver = this.onLocationSearchChanged.subscribe((search) => {
69
- this.onDeserializedLocationSearchChanged.setValue((0, rest_1.deserializeQueryString)(search));
66
+ this.onDeserializedLocationSearchChanged.setValue(deserializeQueryString(search));
70
67
  });
71
68
  this.searchParamObservables = new Map();
72
69
  window.addEventListener('popstate', () => this.updateState());
73
70
  window.addEventListener('hashchange', () => this.updateState());
74
- this.pushStateTracer = utils_1.Trace.method({
71
+ this.pushStateTracer = Trace.method({
75
72
  object: history,
76
73
  method: history.pushState,
77
74
  isAsync: false,
78
75
  onFinished: () => this.updateState(),
79
76
  });
80
- this.replaceStateTracer = utils_1.Trace.method({
77
+ this.replaceStateTracer = Trace.method({
81
78
  object: history,
82
79
  method: history.replaceState,
83
80
  isAsync: false,
@@ -86,8 +83,8 @@ let LocationService = class LocationService {
86
83
  }
87
84
  };
88
85
  LocationService = __decorate([
89
- (0, inject_1.Injectable)({ lifetime: 'singleton' }),
86
+ Injectable({ lifetime: 'singleton' }),
90
87
  __metadata("design:paramtypes", [])
91
88
  ], LocationService);
92
- exports.LocationService = LocationService;
89
+ export { LocationService };
93
90
  //# sourceMappingURL=location-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"location-service.js","sourceRoot":"","sources":["../../src/services/location-service.tsx"],"names":[],"mappings":"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"}
@@ -1,11 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ResourceManager = void 0;
4
- const utils_1 = require("@furystack/utils");
1
+ import { ObservableValue } from '@furystack/utils';
5
2
  /**
6
3
  * Class for managing observables and disposables for components, based on key-value maps
7
4
  */
8
- class ResourceManager {
5
+ export class ResourceManager {
9
6
  constructor() {
10
7
  this.disposables = new Map();
11
8
  this.observers = new Map();
@@ -21,7 +18,7 @@ class ResourceManager {
21
18
  this.stateObservers = new Map();
22
19
  this.useState = (key, initialValue, callback) => {
23
20
  if (!this.stateObservers.has(key)) {
24
- const newObservable = new utils_1.ObservableValue(initialValue);
21
+ const newObservable = new ObservableValue(initialValue);
25
22
  this.stateObservers.set(key, newObservable);
26
23
  newObservable.subscribe(callback);
27
24
  }
@@ -44,5 +41,4 @@ class ResourceManager {
44
41
  this.stateObservers.clear();
45
42
  }
46
43
  }
47
- exports.ResourceManager = ResourceManager;
48
44
  //# sourceMappingURL=resource-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-manager.js","sourceRoot":"","sources":["../../src/services/resource-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAIlD;;GAEG;AACH,MAAM,OAAO,eAAe;IAA5B;QACmB,gBAAW,GAAG,IAAI,GAAG,EAAsB,CAAA;QAS5C,cAAS,GAAG,IAAI,GAAG,EAA8B,CAAA;QAE1D,kBAAa,GAAG,CACrB,GAAW,EACX,UAA8B,EAC9B,QAAgC,EAChC,OAAiB,EAC4B,EAAE;YAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAiC,CAAA;YAC3E,IAAI,WAAW,EAAE;gBACf,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAA;aACzG;YACD,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YACxD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;YACjC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;QACtE,CAAC,CAAA;QAEe,mBAAc,GAAG,IAAI,GAAG,EAAgC,CAAA;QAEjE,aAAQ,GAAG,CAChB,GAAW,EACX,YAAe,EACf,QAAgC,EACa,EAAE;YAC/C,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBACjC,MAAM,aAAa,GAAG,IAAI,eAAe,CAAI,YAAY,CAAC,CAAA;gBAC1D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;gBAC3C,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;aAClC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAuB,CAAA;YACrE,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;QACtE,CAAC,CAAA;IAWH,CAAC;IAjDQ,aAAa,CAAuB,GAAW,EAAE,OAAgB;QACtE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC9B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;SACrC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAM,CAAA;IACvC,CAAC;IAmCM,OAAO;QACZ,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;QACxB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;QAC1C,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;QAEtB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;QAC/C,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAA;IAC7B,CAAC;CACF"}
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -8,11 +7,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
7
  var __metadata = (this && this.__metadata) || function (k, v) {
9
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
9
  };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.ScreenService = exports.ScreenSizes = void 0;
13
- const inject_1 = require("@furystack/inject");
14
- const utils_1 = require("@furystack/utils");
15
- exports.ScreenSizes = ['xs', 'sm', 'md', 'lg', 'xl'];
10
+ import { Injectable } from '@furystack/inject';
11
+ import { ObservableValue } from '@furystack/utils';
12
+ export const ScreenSizes = ['xs', 'sm', 'md', 'lg', 'xl'];
16
13
  /**
17
14
  * Service for handling screen size changes
18
15
  */
@@ -25,7 +22,7 @@ let ScreenService = class ScreenService {
25
22
  }
26
23
  refreshValues() {
27
24
  this.orientation.setValue(this.getOrientation());
28
- exports.ScreenSizes.forEach((size) => {
25
+ ScreenSizes.forEach((size) => {
29
26
  this.screenSize.atLeast[size].setValue(this.screenSizeAtLeast(size));
30
27
  });
31
28
  }
@@ -46,17 +43,17 @@ let ScreenService = class ScreenService {
46
43
  */
47
44
  this.screenSize = {
48
45
  atLeast: {
49
- xs: new utils_1.ObservableValue(this.screenSizeAtLeast('xs')),
50
- sm: new utils_1.ObservableValue(this.screenSizeAtLeast('sm')),
51
- md: new utils_1.ObservableValue(this.screenSizeAtLeast('md')),
52
- lg: new utils_1.ObservableValue(this.screenSizeAtLeast('lg')),
53
- xl: new utils_1.ObservableValue(this.screenSizeAtLeast('xl')),
46
+ xs: new ObservableValue(this.screenSizeAtLeast('xs')),
47
+ sm: new ObservableValue(this.screenSizeAtLeast('sm')),
48
+ md: new ObservableValue(this.screenSizeAtLeast('md')),
49
+ lg: new ObservableValue(this.screenSizeAtLeast('lg')),
50
+ xl: new ObservableValue(this.screenSizeAtLeast('xl')),
54
51
  },
55
52
  };
56
53
  /**
57
54
  * Observable value for tracking the screen orientation
58
55
  */
59
- this.orientation = new utils_1.ObservableValue(this.getOrientation());
56
+ this.orientation = new ObservableValue(this.getOrientation());
60
57
  this.onResizeListener = () => {
61
58
  this.refreshValues();
62
59
  };
@@ -65,8 +62,8 @@ let ScreenService = class ScreenService {
65
62
  }
66
63
  };
67
64
  ScreenService = __decorate([
68
- (0, inject_1.Injectable)({ lifetime: 'singleton' }),
65
+ Injectable({ lifetime: 'singleton' }),
69
66
  __metadata("design:paramtypes", [])
70
67
  ], ScreenService);
71
- exports.ScreenService = ScreenService;
68
+ export { ScreenService };
72
69
  //# sourceMappingURL=screen-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screen-service.js","sourceRoot":"","sources":["../../src/services/screen-service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAA;AAMlE;;GAEG;AACH,IACa,aAAa,GAD1B,MACa,aAAa;IAcjB,OAAO;QACZ,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;IAC7D,CAAC;IAiBO,iBAAiB,CAAC,IAAgB;QACxC,OAAO,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAA;IAC5D,CAAC;IAWO,aAAa;QACnB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAA;QAChD,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAA;QACtE,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;QApDQ,mBAAc,GAAG,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;QAEjH;;WAEG;QACa,gBAAW,GAA+C;YACxE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YACrB,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YACrB,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE;YACpB,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE;YACpB,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;SACnB,CAAA;QAMD;;WAEG;QACa,eAAU,GAEtB;YACF,OAAO,EAAE;gBACP,EAAE,EAAE,IAAI,eAAe,CAAU,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC9D,EAAE,EAAE,IAAI,eAAe,CAAU,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC9D,EAAE,EAAE,IAAI,eAAe,CAAU,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC9D,EAAE,EAAE,IAAI,eAAe,CAAU,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC9D,EAAE,EAAE,IAAI,eAAe,CAAU,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;aAC/D;SACF,CAAA;QAMD;;WAEG;QACI,gBAAW,GAAG,IAAI,eAAe,CAA2B,IAAI,CAAC,cAAc,EAAE,CAAC,CAAA;QAEjF,qBAAgB,GAAG,GAAG,EAAE;YAC9B,IAAI,CAAC,aAAa,EAAE,CAAA;QACtB,CAAC,CAAA;QAUC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;QACxD,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC;CACF,CAAA;AAzDY,aAAa;IADzB,UAAU,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;;GACzB,aAAa,CAyDzB;SAzDY,aAAa"}
@@ -1,14 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createComponent = exports.createFragmentInner = exports.createComponentInner = exports.attachProps = exports.attachDataAttributes = exports.attachStyles = exports.hasStyle = exports.appendChild = void 0;
4
- const models_1 = require("./models");
1
+ import { isShadeComponent } from './models';
5
2
  /**
6
3
  * Appends a list of items to a HTML element
7
- *
8
4
  * @param el the root element
9
5
  * @param children array of items to append
10
6
  */
11
- const appendChild = (el, children) => {
7
+ export const appendChild = (el, children) => {
12
8
  for (const child of children) {
13
9
  if (typeof child === 'string' || typeof child === 'number') {
14
10
  el.appendChild(document.createTextNode(child));
@@ -18,22 +14,20 @@ const appendChild = (el, children) => {
18
14
  el.appendChild(child);
19
15
  }
20
16
  else if (child instanceof Array) {
21
- (0, exports.appendChild)(el, child);
17
+ appendChild(el, child);
22
18
  }
23
19
  }
24
20
  }
25
21
  };
26
- exports.appendChild = appendChild;
27
- const hasStyle = (props) => {
22
+ export const hasStyle = (props) => {
28
23
  return props?.style !== undefined;
29
24
  };
30
- exports.hasStyle = hasStyle;
31
25
  /**
32
26
  * @param el The Target HTML Element
33
27
  * @param props The Properties to fetch The Styles Object
34
28
  */
35
- const attachStyles = (el, props) => {
36
- if ((0, exports.hasStyle)(props))
29
+ export const attachStyles = (el, props) => {
30
+ if (hasStyle(props))
37
31
  for (const key in props.style) {
38
32
  if (Object.prototype.hasOwnProperty.call(props.style, key)) {
39
33
  ;
@@ -41,61 +35,54 @@ const attachStyles = (el, props) => {
41
35
  }
42
36
  }
43
37
  };
44
- exports.attachStyles = attachStyles;
45
- const attachDataAttributes = (el, props) => {
38
+ export const attachDataAttributes = (el, props) => {
46
39
  props &&
47
40
  Object.entries(props)
48
41
  .filter(([key]) => key.startsWith('data-'))
49
42
  .forEach(([key, value]) => el.setAttribute(key, value || ''));
50
43
  };
51
- exports.attachDataAttributes = attachDataAttributes;
52
44
  /**
53
45
  *
54
46
  * @param el The Target HTML Element
55
47
  * @param props The Props to attach
56
48
  */
57
- const attachProps = (el, props) => {
49
+ export const attachProps = (el, props) => {
58
50
  Object.assign(el, props);
59
51
  if (props && props.style) {
60
- (0, exports.attachStyles)(el, props);
52
+ attachStyles(el, props);
61
53
  }
62
- (0, exports.attachDataAttributes)(el, props);
54
+ attachDataAttributes(el, props);
63
55
  };
64
- exports.attachProps = attachProps;
65
56
  // eslint-disable-next-line jsdoc/require-param
66
57
  /**
67
58
  * Factory method that creates a component. This should be configured as a default JSX Factory in tsconfig.
68
- *
69
59
  * @returns the created JSX element
70
60
  */
71
- const createComponentInner = (...[elementType, props, ...children]) => {
61
+ export const createComponentInner = (...[elementType, props, ...children]) => {
72
62
  if (typeof elementType === 'string') {
73
63
  const el = document.createElement(elementType);
74
- (0, exports.attachProps)(el, props);
64
+ attachProps(el, props);
75
65
  if (children) {
76
- (0, exports.appendChild)(el, children);
66
+ appendChild(el, children);
77
67
  }
78
68
  return el;
79
69
  }
80
- else if ((0, models_1.isShadeComponent)(elementType)) {
70
+ else if (isShadeComponent(elementType)) {
81
71
  const el = elementType(props, children);
82
- (0, exports.attachStyles)(el, props);
72
+ attachStyles(el, props);
83
73
  return el;
84
74
  }
85
75
  return undefined;
86
76
  };
87
- exports.createComponentInner = createComponentInner;
88
- const createFragmentInner = (...[_props, ...children]) => {
77
+ export const createFragmentInner = (...[_props, ...children]) => {
89
78
  const fragment = document.createDocumentFragment();
90
- (0, exports.appendChild)(fragment, children);
79
+ appendChild(fragment, children);
91
80
  return fragment;
92
81
  };
93
- exports.createFragmentInner = createFragmentInner;
94
- const createComponent = (...args) => {
82
+ export const createComponent = (...args) => {
95
83
  if (args[0] === null) {
96
- return (0, exports.createFragmentInner)(...args);
84
+ return createFragmentInner(...args);
97
85
  }
98
- return (0, exports.createComponentInner)(...args);
86
+ return createComponentInner(...args);
99
87
  };
100
- exports.createComponent = createComponent;
101
88
  //# sourceMappingURL=shade-component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shade-component.js","sourceRoot":"","sources":["../src/shade-component.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Shade = void 0;
4
- const utils_1 = require("@furystack/utils");
5
- const inject_1 = require("@furystack/inject");
6
- const resource_manager_1 = require("./services/resource-manager");
7
- const services_1 = require("./services");
1
+ import { ObservableValue } from '@furystack/utils';
2
+ import { Injector } from '@furystack/inject';
3
+ import { ResourceManager } from './services/resource-manager';
4
+ import { LocationService } from './services';
8
5
  /**
9
6
  * Factory method for creating Shade components
10
- *
11
7
  * @param o for component creation
12
8
  * @returns the JSX element
13
9
  */
14
- const Shade = (o) => {
10
+ export const Shade = (o) => {
15
11
  // register shadow-dom element
16
12
  const customElementName = o.shadowDomName;
17
13
  const existing = customElements.get(customElementName);
@@ -21,7 +17,7 @@ const Shade = (o) => {
21
17
  constructor() {
22
18
  super(...arguments);
23
19
  this._renderCount = 0;
24
- this.resourceManager = new resource_manager_1.ResourceManager();
20
+ this.resourceManager = new ResourceManager();
25
21
  /**
26
22
  * @param options Options for rendering the component
27
23
  * @returns the JSX element
@@ -41,7 +37,7 @@ const Shade = (o) => {
41
37
  element: this,
42
38
  useObservable: (key, obesrvable, callback, getLast) => this.resourceManager.useObservable(key, obesrvable, callback || (() => this.updateComponent()), getLast),
43
39
  useState: (key, initialValue) => this.resourceManager.useState(key, initialValue, this.updateComponent.bind(this)),
44
- useSearchState: (key, initialValue) => this.resourceManager.useObservable(`useSearchState-${key}`, this.injector.getInstance(services_1.LocationService).useSearchParam(key, initialValue), () => this.updateComponent()),
40
+ useSearchState: (key, initialValue) => this.resourceManager.useObservable(`useSearchState-${key}`, this.injector.getInstance(LocationService).useSearchParam(key, initialValue), () => this.updateComponent()),
45
41
  useStoredState: (key, initialValue, storageArea = localStorage) => {
46
42
  const getFromStorage = () => {
47
43
  const value = storageArea?.getItem(key);
@@ -56,7 +52,7 @@ const Shade = (o) => {
56
52
  observable.setValue(value);
57
53
  }
58
54
  };
59
- const observable = this.resourceManager.useDisposable(`useStoredState-${key}`, () => new utils_1.ObservableValue(getFromStorage()));
55
+ const observable = this.resourceManager.useDisposable(`useStoredState-${key}`, () => new ObservableValue(getFromStorage()));
60
56
  const updateFromStorageEvent = (e) => {
61
57
  e.key === key &&
62
58
  e.storageArea === storageArea &&
@@ -152,7 +148,7 @@ const Shade = (o) => {
152
148
  return this._injector;
153
149
  }
154
150
  const fromProps = this.props?.injector;
155
- if (fromProps && fromProps instanceof inject_1.Injector) {
151
+ if (fromProps && fromProps instanceof Injector) {
156
152
  return fromProps;
157
153
  }
158
154
  const fromParent = this.getInjectorFromParent();
@@ -161,7 +157,7 @@ const Shade = (o) => {
161
157
  return fromParent;
162
158
  }
163
159
  // Injector not set explicitly and not found on parents!
164
- return new inject_1.Injector();
160
+ return new Injector();
165
161
  }
166
162
  set injector(i) {
167
163
  this._injector = i;
@@ -181,5 +177,4 @@ const Shade = (o) => {
181
177
  return el;
182
178
  };
183
179
  };
184
- exports.Shade = Shade;
185
180
  //# sourceMappingURL=shade.js.map