@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
@@ -1,72 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const util_1 = require("util");
4
- global.TextEncoder = util_1.TextEncoder;
5
- global.TextDecoder = util_1.TextDecoder;
6
- const inject_1 = require("@furystack/inject");
7
- const utils_1 = require("@furystack/utils");
8
- const lazy_load_1 = require("./lazy-load");
9
- const __1 = require("..");
10
- describe('Lazy Load', () => {
11
- beforeEach(() => (document.body.innerHTML = '<div id="root"></div>'));
12
- afterEach(() => (document.body.innerHTML = ''));
13
- it('Shuld display the loader and completed state', async () => {
14
- const injector = new inject_1.Injector();
15
- const rootElement = document.getElementById('root');
16
- (0, __1.initializeShadeRoot)({
17
- injector,
18
- rootElement,
19
- jsxElement: ((0, __1.createComponent)(lazy_load_1.LazyLoad, { loader: (0, __1.createComponent)("div", null, "Loading..."), component: async () => {
20
- await (0, utils_1.sleepAsync)(100);
21
- return (0, __1.createComponent)("div", null, "Loaded");
22
- } })),
23
- });
24
- expect(document.body.innerHTML).toBe('<div id="root"><lazy-load><div>Loading...</div></lazy-load></div>');
25
- await (0, utils_1.sleepAsync)(150);
26
- expect(document.body.innerHTML).toBe('<div id="root"><lazy-load><div>Loaded</div></lazy-load></div>');
27
- });
28
- it('Shuld display the failed state with a retryer', async () => {
29
- const injector = new inject_1.Injector();
30
- const rootElement = document.getElementById('root');
31
- const load = jest.fn(async () => {
32
- throw Error(':(');
33
- });
34
- (0, __1.initializeShadeRoot)({
35
- injector,
36
- rootElement,
37
- jsxElement: ((0, __1.createComponent)(lazy_load_1.LazyLoad, { loader: (0, __1.createComponent)("div", null, "Loading..."), component: load, error: (e, retry) => ((0, __1.createComponent)("button", { id: "retry", onclick: retry }, e.message)) })),
38
- });
39
- expect(document.body.innerHTML).toBe('<div id="root"><lazy-load><div>Loading...</div></lazy-load></div>');
40
- await (0, utils_1.sleepAsync)(1);
41
- expect(load).toBeCalledTimes(1);
42
- expect(document.body.innerHTML).toBe('<div id="root"><lazy-load><button id="retry">:(</button></lazy-load></div>');
43
- document.getElementById('retry')?.click();
44
- expect(load).toBeCalledTimes(2);
45
- });
46
- it('Shuld display the failed state with a retryer', async () => {
47
- const injector = new inject_1.Injector();
48
- const rootElement = document.getElementById('root');
49
- let counter = 0;
50
- const load = jest.fn(async () => {
51
- if (!counter) {
52
- counter += 1;
53
- throw Error(':(');
54
- }
55
- return (0, __1.createComponent)("div", null, "success");
56
- });
57
- (0, __1.initializeShadeRoot)({
58
- injector,
59
- rootElement,
60
- jsxElement: ((0, __1.createComponent)(lazy_load_1.LazyLoad, { loader: (0, __1.createComponent)("div", null, "Loading..."), component: load, error: (e, retry) => ((0, __1.createComponent)("button", { id: "retry", onclick: retry }, e.message)) })),
61
- });
62
- expect(document.body.innerHTML).toBe('<div id="root"><lazy-load><div>Loading...</div></lazy-load></div>');
63
- await (0, utils_1.sleepAsync)(1);
64
- expect(load).toBeCalledTimes(1);
65
- expect(document.body.innerHTML).toBe('<div id="root"><lazy-load><button id="retry">:(</button></lazy-load></div>');
66
- document.getElementById('retry')?.click();
67
- expect(load).toBeCalledTimes(2);
68
- await (0, utils_1.sleepAsync)(1);
69
- expect(document.body.innerHTML).toBe('<div id="root"><lazy-load><div>success</div></lazy-load></div>');
70
- });
71
- });
72
- //# sourceMappingURL=lazy-load.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lazy-load.spec.js","sourceRoot":"","sources":["../../src/components/lazy-load.spec.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"route-link.js","sourceRoot":"","sources":["../../src/components/route-link.tsx"],"names":[],"mappings":";;;AAAA,oCAAgC;AAEhC,0CAA6C;AAC7C,0BAAiD;AAIpC,QAAA,SAAS,GAAG,IAAA,aAAK,EAAiB;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,IAAA,eAAW,EAAC,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,0BAAe,CAAC,CAAC,WAAW,EAAE,CAAA;YACrD,CAAC;SACF,CAAC,CAAA;QACF,OAAO,oDAAG,QAAQ,CAAI,CAAA;IACxB,CAAC;CACF,CAAC,CAAA"}
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const util_1 = require("util");
4
- global.TextEncoder = util_1.TextEncoder;
5
- global.TextDecoder = util_1.TextDecoder;
6
- const inject_1 = require("@furystack/inject");
7
- const route_link_1 = require("./route-link");
8
- const __1 = require("..");
9
- describe('RouteLink', () => {
10
- beforeEach(() => (document.body.innerHTML = '<div id="root"></div>'));
11
- afterEach(() => (document.body.innerHTML = ''));
12
- it('Shuld display the loader and completed state', async () => {
13
- const injector = new inject_1.Injector();
14
- const rootElement = document.getElementById('root');
15
- const onRouteChange = jest.fn();
16
- injector.getInstance(__1.LocationService).onLocationPathChanged.subscribe(onRouteChange);
17
- (0, __1.initializeShadeRoot)({
18
- injector,
19
- rootElement,
20
- jsxElement: ((0, __1.createComponent)(route_link_1.RouteLink, { id: "route", href: "/subroute" }, "Link")),
21
- });
22
- expect(document.body.innerHTML).toBe('<div id="root"><a is="route-link" id="route" href="/subroute" style="text-decoration: inherit;">Link</a></div>');
23
- expect(onRouteChange).not.toBeCalled();
24
- document.getElementById('route')?.click();
25
- expect(onRouteChange).toBeCalledTimes(1);
26
- });
27
- });
28
- //# sourceMappingURL=route-link.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"route-link.spec.js","sourceRoot":"","sources":["../../src/components/route-link.spec.tsx"],"names":[],"mappings":";;AAAA,+BAA+C;AAE/C,MAAM,CAAC,WAAW,GAAG,kBAAW,CAAA;AAChC,MAAM,CAAC,WAAW,GAAG,kBAAkB,CAAA;AAEvC,8CAA4C;AAC5C,6CAAwC;AACxC,0BAA0E;AAE1E,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,uBAAuB,CAAC,CAAC,CAAA;IACrE,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,CAAA;IAE/C,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,QAAQ,GAAG,IAAI,iBAAQ,EAAE,CAAA;QAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;QAErE,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;QAE/B,QAAQ,CAAC,WAAW,CAAC,mBAAe,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;QAEpF,IAAA,uBAAmB,EAAC;YAClB,QAAQ;YACR,WAAW;YACX,UAAU,EAAE,CACV,yBAAC,sBAAS,IAAC,EAAE,EAAC,OAAO,EAAC,IAAI,EAAC,WAAW,WAE1B,CACb;SACF,CAAC,CAAA;QACF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAClC,gHAAgH,CACjH,CAAA;QACD,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAA;QACtC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAA;QACzC,MAAM,CAAC,aAAa,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/components/router.tsx"],"names":[],"mappings":";;;;;;AAAA,oCAAgC;AAChC,wDAAoD;AACpD,0CAA6C;AAE7C,mDAAsC;AAEtC,kFAA6C;AAC7C,4CAAiE;AAqBpD,QAAA,MAAM,GAAG,IAAA,aAAK,EAAc;IACvC,aAAa,EAAE,cAAc;IAC7B,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;QAClB,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;QACrD,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,+BAAS,CAAC,CAAC,CAAC,CAAC,CAAA;QACjD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAc,aAAa,EAAE;YAC7D,GAAG,EAAE,mDAAO;SACb,CAAC,CAAA;QAEF,MAAM,SAAS,GAAG,KAAK,EAAE,UAAkB,EAAE,EAAE;YAC7C,MAAM,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAc,aAAa,EAAE,KAAK,CAAC,CAAA;YAC/D,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,SAAS,CAAA;YAC9F,IAAI;gBACF,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;gBACpB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE;oBACxC,MAAM,OAAO,GAAG,IAAA,sBAAK,EAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,cAAc,CAAC,CAAA;oBACtD,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;oBACvC,IAAI,WAAW,EAAE;wBACf,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;4BACjG,MAAM,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,CAAA;4BAClE,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAA;4BAClE,QAAQ,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAA;4BACpF,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;yBACvD;wBACD,OAAM;qBACP;iBACF;gBACD,IAAI,SAAS,EAAE,OAAO,EAAE;oBACtB,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;iBAC1D;gBACD,QAAQ,CAAC;oBACP,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,mDAAO;oBACtC,WAAW,EAAE,IAAI;oBACjB,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAA;aACH;YAAC,OAAO,CAAC,EAAE;gBACV,iDAAiD;gBACjD,IAAI,CAAC,CAAC,CAAC,YAAY,sCAA8B,CAAC,EAAE;oBAClD,MAAM,CAAC,CAAA;iBACR;aACF;oBAAS;gBACR,IAAI,EAAE,OAAO,EAAE,CAAA;aAChB;QACH,CAAC,CAAA;QAED,aAAa,CAAC,qBAAqB,EAAE,QAAQ,CAAC,WAAW,CAAC,0BAAe,CAAC,CAAC,qBAAqB,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;QAClH,OAAO,KAAK,CAAC,GAAG,CAAA;IAClB,CAAC;CACF,CAAC,CAAA"}
@@ -1,84 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const util_1 = require("util");
4
- global.TextEncoder = util_1.TextEncoder;
5
- global.TextDecoder = util_1.TextDecoder;
6
- const inject_1 = require("@furystack/inject");
7
- const router_1 = require("./router");
8
- const __1 = require("..");
9
- const _1 = require(".");
10
- const utils_1 = require("@furystack/utils");
11
- describe('Router', () => {
12
- beforeEach(() => (document.body.innerHTML = '<div id="root"></div>'));
13
- afterEach(() => (document.body.innerHTML = ''));
14
- it('Shuld display the loader and completed state', async () => {
15
- history.pushState(null, '', '/');
16
- const onVisit = jest.fn();
17
- const onLeave = jest.fn();
18
- const onLastLeave = jest.fn();
19
- const injector = new inject_1.Injector();
20
- const rootElement = document.getElementById('root');
21
- const onRouteChange = jest.fn();
22
- injector.getInstance(__1.LocationService).onLocationPathChanged.subscribe(onRouteChange);
23
- (0, __1.initializeShadeRoot)({
24
- injector,
25
- rootElement,
26
- jsxElement: ((0, __1.createComponent)("div", null,
27
- (0, __1.createComponent)(_1.RouteLink, { id: "home", href: "/" }, "home"),
28
- (0, __1.createComponent)(_1.RouteLink, { id: "a", href: "/route-a" }, "a"),
29
- (0, __1.createComponent)(_1.RouteLink, { id: "b", href: "/route-b" }, "b"),
30
- (0, __1.createComponent)(_1.RouteLink, { id: "b-with-id", href: "/route-b/123" }, "b-with-id"),
31
- (0, __1.createComponent)(_1.RouteLink, { id: "c", href: "/route-c" }, "c"),
32
- (0, __1.createComponent)(_1.RouteLink, { id: "x", href: "/route-x" }, "x"),
33
- (0, __1.createComponent)(router_1.Router, { routes: [
34
- { url: '/route-a', component: () => (0, __1.createComponent)("div", { id: "content" }, "route-a"), onVisit, onLeave },
35
- { url: '/route-b/:id?', component: ({ match }) => (0, __1.createComponent)("div", { id: "content" },
36
- "route-b",
37
- match.params.id) },
38
- {
39
- url: '/route-c',
40
- component: () => (0, __1.createComponent)("div", { id: "content" }, "route-c"),
41
- onLeave: onLastLeave,
42
- },
43
- { url: '/', component: () => (0, __1.createComponent)("div", { id: "content" }, "home") },
44
- ], notFound: (0, __1.createComponent)("div", { id: "content" }, "not found") }))),
45
- });
46
- const getContent = () => document.getElementById('content')?.innerHTML;
47
- const getLocation = () => location.pathname;
48
- const clickOn = (name) => document.getElementById(name)?.click();
49
- await (0, utils_1.sleepAsync)(100);
50
- expect(getLocation()).toBe('/');
51
- expect(getContent()).toBe('home');
52
- expect(onVisit).not.toBeCalled();
53
- clickOn('a');
54
- await (0, utils_1.sleepAsync)(100);
55
- expect(getContent()).toBe('route-a');
56
- expect(getLocation()).toBe('/route-a');
57
- expect(onRouteChange).toBeCalledTimes(1);
58
- expect(onVisit).toBeCalledTimes(1);
59
- clickOn('a');
60
- await (0, utils_1.sleepAsync)(100);
61
- expect(onVisit).toBeCalledTimes(1);
62
- expect(onLeave).not.toBeCalled();
63
- clickOn('b');
64
- await (0, utils_1.sleepAsync)(100);
65
- expect(onLeave).toBeCalledTimes(1);
66
- expect(getContent()).toBe('route-b');
67
- expect(getLocation()).toBe('/route-b');
68
- clickOn('b-with-id');
69
- await (0, utils_1.sleepAsync)(100);
70
- expect(getContent()).toBe('route-b123');
71
- expect(getLocation()).toBe('/route-b/123');
72
- clickOn('c');
73
- await (0, utils_1.sleepAsync)(100);
74
- expect(getContent()).toBe('route-c');
75
- expect(getLocation()).toBe('/route-c');
76
- expect(onLastLeave).not.toBeCalled();
77
- clickOn('x');
78
- await (0, utils_1.sleepAsync)(100);
79
- expect(getContent()).toBe('not found');
80
- expect(getLocation()).toBe('/route-x');
81
- expect(onLastLeave).toBeCalledTimes(1);
82
- });
83
- });
84
- //# sourceMappingURL=router.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.spec.js","sourceRoot":"","sources":["../../src/components/router.spec.tsx"],"names":[],"mappings":"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"}
package/dist/index.js DELETED
@@ -1,24 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./services"), exports);
18
- require("./jsx");
19
- __exportStar(require("./shade-component"), exports);
20
- __exportStar(require("./shade"), exports);
21
- __exportStar(require("./models"), exports);
22
- __exportStar(require("./components"), exports);
23
- __exportStar(require("./initialize"), exports);
24
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,iBAAc;AACd,oDAAiC;AACjC,0CAAuB;AACvB,2CAAwB;AACxB,+CAA4B;AAC5B,+CAA4B"}
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.initializeShadeRoot = void 0;
4
- const initializeShadeRoot = (options) => {
5
- options.jsxElement.injector = options.injector;
6
- options.rootElement.appendChild(options.jsxElement);
7
- };
8
- exports.initializeShadeRoot = initializeShadeRoot;
9
- //# sourceMappingURL=initialize.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../src/initialize.ts"],"names":[],"mappings":";;;AAOO,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;AAHY,QAAA,mBAAmB,uBAG/B"}
package/dist/jsx.js DELETED
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=jsx.js.map
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=children-list.js.map
@@ -1,22 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./children-list"), exports);
18
- __exportStar(require("./partial-element"), exports);
19
- __exportStar(require("./render-options"), exports);
20
- __exportStar(require("./selection-state"), exports);
21
- __exportStar(require("./shade-component"), exports);
22
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA+B;AAC/B,oDAAiC;AACjC,mDAAgC;AAChC,oDAAiC;AACjC,oDAAiC"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=partial-element.js.map
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=render-options.js.map
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=selection-state.js.map
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isShadeComponent = void 0;
4
- /**
5
- * Type guard that checks if an object is a stateless component
6
- *
7
- * @param obj The object to check
8
- * @returns a value that indicates if the object is a Shade component
9
- */
10
- const isShadeComponent = (obj) => {
11
- return typeof obj === 'function';
12
- };
13
- exports.isShadeComponent = isShadeComponent;
14
- //# sourceMappingURL=shade-component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shade-component.js","sourceRoot":"","sources":["../../src/models/shade-component.ts"],"names":[],"mappings":";;;AAOA;;;;;GAKG;AACI,MAAM,gBAAgB,GAAG,CAAC,GAAQ,EAA8B,EAAE;IACvE,OAAO,OAAO,GAAG,KAAK,UAAU,CAAA;AAClC,CAAC,CAAA;AAFY,QAAA,gBAAgB,oBAE5B"}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./location-service"), exports);
18
- __exportStar(require("./screen-service"), exports);
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAkC;AAClC,mDAAgC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"location-service.js","sourceRoot":"","sources":["../../src/services/location-service.tsx"],"names":[],"mappings":"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"}
@@ -1,86 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const util_1 = require("util");
4
- global.TextEncoder = util_1.TextEncoder;
5
- global.TextDecoder = util_1.TextDecoder;
6
- const inject_1 = require("@furystack/inject");
7
- const utils_1 = require("@furystack/utils");
8
- const _1 = require("./");
9
- describe('LocationService', () => {
10
- beforeEach(() => (document.body.innerHTML = '<div id="root"></div>'));
11
- afterEach(() => (document.body.innerHTML = ''));
12
- it('Shuld be constructed', () => {
13
- (0, utils_1.using)(new inject_1.Injector(), (i) => {
14
- const s = i.getInstance(_1.LocationService);
15
- expect(s).toBeInstanceOf(_1.LocationService);
16
- });
17
- });
18
- it('Shuld update state on events', () => {
19
- (0, utils_1.using)(new inject_1.Injector(), (i) => {
20
- const onLocaionChanged = jest.fn();
21
- const s = i.getInstance(_1.LocationService);
22
- s.onLocationPathChanged.subscribe(onLocaionChanged);
23
- expect(onLocaionChanged).toBeCalledTimes(0);
24
- history.pushState(null, '', '/loc1');
25
- expect(onLocaionChanged).toBeCalledTimes(1);
26
- history.replaceState(null, '', '/loc2');
27
- expect(onLocaionChanged).toBeCalledTimes(2);
28
- // TODO: Figure out testing hashchange and popstate subscriptions
29
- // window.dispatchEvent(new HashChangeEvent('hashchange', { newURL: '/loc3' }))
30
- // expect(onLocaionChanged).toBeCalledTimes(3)
31
- // window.dispatchEvent(new PopStateEvent('popstate', {}))
32
- // expect(onLocaionChanged).toBeCalledTimes(4)
33
- });
34
- });
35
- describe('useSearchParam', () => {
36
- it('Should create observables lazily', () => {
37
- (0, utils_1.using)(new inject_1.Injector(), (i) => {
38
- const service = i.getInstance(_1.LocationService);
39
- const observables = service.searchParamObservables;
40
- const testSearchParam = service.useSearchParam('test', null);
41
- expect(observables.size).toBe(1);
42
- const testSearchParam2 = service.useSearchParam('test', null);
43
- expect(observables.size).toBe(1);
44
- expect(testSearchParam).toBe(testSearchParam2);
45
- const testSearchParam3 = service.useSearchParam('test2', undefined);
46
- expect(observables.size).toBe(2);
47
- expect(testSearchParam3).not.toBe(testSearchParam2);
48
- });
49
- });
50
- it('Should return the default value, if not present in the query string', () => {
51
- (0, utils_1.using)(new inject_1.Injector(), (i) => {
52
- const service = i.getInstance(_1.LocationService);
53
- const testSearchParam = service.useSearchParam('test', { value: 'foo' });
54
- expect(testSearchParam.getValue()).toEqual({ value: 'foo' });
55
- });
56
- });
57
- it('Should return the value from the query string', () => {
58
- (0, utils_1.using)(new inject_1.Injector(), (i) => {
59
- const service = i.getInstance(_1.LocationService);
60
- history.pushState(null, '', '/loc1?test=1');
61
- const testSearchParam = service.useSearchParam('test', 123);
62
- expect(testSearchParam.getValue()).toBe(1);
63
- });
64
- });
65
- it('should update the observable value on push / replace states', () => {
66
- (0, utils_1.using)(new inject_1.Injector(), (i) => {
67
- const service = i.getInstance(_1.LocationService);
68
- history.pushState(null, '', '/loc1?test=1');
69
- const testSearchParam = service.useSearchParam('test', 234);
70
- expect(testSearchParam.getValue()).toBe(1);
71
- history.replaceState(null, '', '/loc1?test=2');
72
- expect(testSearchParam.getValue()).toBe(2);
73
- });
74
- });
75
- it('Should update the URL based on search value change', () => {
76
- (0, utils_1.using)(new inject_1.Injector(), (i) => {
77
- const service = i.getInstance(_1.LocationService);
78
- history.pushState(null, '', '/loc1?test=2');
79
- const testSearchParam = service.useSearchParam('test', '');
80
- testSearchParam.setValue('2');
81
- expect(location.search).toBe('?test=2');
82
- });
83
- });
84
- });
85
- });
86
- //# sourceMappingURL=location-service.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"location-service.spec.js","sourceRoot":"","sources":["../../src/services/location-service.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"resource-manager.js","sourceRoot":"","sources":["../../src/services/resource-manager.ts"],"names":[],"mappings":";;;AAAA,4CAAkD;AAIlD;;GAEG;AACH,MAAa,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,uBAAe,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;AApDD,0CAoDC"}
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const utils_1 = require("@furystack/utils");
4
- const resource_manager_1 = require("./resource-manager");
5
- describe('ResourceManager', () => {
6
- it('Should return an observable from cache', () => {
7
- (0, utils_1.using)(new resource_manager_1.ResourceManager(), (rm) => {
8
- const o = new utils_1.ObservableValue(1);
9
- const [value1] = rm.useObservable('test', o, () => {
10
- /** ignore */
11
- });
12
- const [value2] = rm.useObservable('test', o, () => {
13
- /** ignore */
14
- });
15
- expect(value1).toBe(value2);
16
- expect(o.getObservers().length).toBe(1);
17
- });
18
- });
19
- it('Should return a disposable from cache', () => {
20
- (0, utils_1.using)(new resource_manager_1.ResourceManager(), (rm) => {
21
- const d = {
22
- dispose: () => {
23
- /** ignore */
24
- },
25
- };
26
- const d1 = rm.useDisposable('test', () => d);
27
- const d2 = rm.useDisposable('test', () => d);
28
- expect(d1).toBe(d2);
29
- });
30
- });
31
- });
32
- //# sourceMappingURL=resource-manager.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resource-manager.spec.js","sourceRoot":"","sources":["../../src/services/resource-manager.spec.ts"],"names":[],"mappings":";;AAAA,4CAAyD;AACzD,yDAAoD;AACpD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,IAAA,aAAK,EAAC,IAAI,kCAAe,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;YAClC,MAAM,CAAC,GAAG,IAAI,uBAAe,CAAC,CAAC,CAAC,CAAA;YAChC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE;gBAChD,aAAa;YACf,CAAC,CAAC,CAAA;YACF,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE;gBAChD,aAAa;YACf,CAAC,CAAC,CAAA;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAE3B,MAAM,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,IAAA,aAAK,EAAC,IAAI,kCAAe,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;YAClC,MAAM,CAAC,GAAG;gBACR,OAAO,EAAE,GAAG,EAAE;oBACZ,aAAa;gBACf,CAAC;aACF,CAAA;YACD,MAAM,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5C,MAAM,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;YAE5C,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"screen-service.js","sourceRoot":"","sources":["../../src/services/screen-service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAA8C;AAE9C,4CAAkD;AAErC,QAAA,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,mBAAW,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,uBAAe,CAAU,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC9D,EAAE,EAAE,IAAI,uBAAe,CAAU,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC9D,EAAE,EAAE,IAAI,uBAAe,CAAU,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC9D,EAAE,EAAE,IAAI,uBAAe,CAAU,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC9D,EAAE,EAAE,IAAI,uBAAe,CAAU,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;aAC/D;SACF,CAAA;QAMD;;WAEG;QACI,gBAAW,GAAG,IAAI,uBAAe,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,IAAA,mBAAU,EAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;;GACzB,aAAa,CAyDzB;AAzDY,sCAAa"}
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const util_1 = require("util");
4
- global.TextEncoder = util_1.TextEncoder;
5
- global.TextDecoder = util_1.TextDecoder;
6
- const inject_1 = require("@furystack/inject");
7
- const utils_1 = require("@furystack/utils");
8
- const screen_service_1 = require("./screen-service");
9
- describe('ScreenService', () => {
10
- beforeEach(() => (document.body.innerHTML = '<div id="root"></div>'));
11
- afterEach(() => (document.body.innerHTML = ''));
12
- it('Shuld be constructed', async () => {
13
- await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
14
- const s = i.getInstance(screen_service_1.ScreenService);
15
- expect(s).toBeInstanceOf(screen_service_1.ScreenService);
16
- });
17
- });
18
- it('Shuld update state on events', async () => {
19
- await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
20
- i.getInstance(screen_service_1.ScreenService);
21
- /** TODO */
22
- });
23
- });
24
- });
25
- //# sourceMappingURL=screen-service.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"screen-service.spec.js","sourceRoot":"","sources":["../../src/services/screen-service.spec.ts"],"names":[],"mappings":";;AAAA,+BAA+C;AAE/C,MAAM,CAAC,WAAW,GAAG,kBAAW,CAAA;AAChC,MAAM,CAAC,WAAW,GAAG,kBAAkB,CAAA;AAEvC,8CAA4C;AAC5C,4CAA6C;AAC7C,qDAAgD;AAEhD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,uBAAuB,CAAC,CAAC,CAAA;IACrE,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,CAAA;IAE/C,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,IAAA,kBAAU,EAAC,IAAI,iBAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,8BAAa,CAAC,CAAA;YACtC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,8BAAa,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,IAAA,kBAAU,EAAC,IAAI,iBAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAC3C,CAAC,CAAC,WAAW,CAAC,8BAAa,CAAC,CAAA;YAC5B,WAAW;QACb,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"shade-component.js","sourceRoot":"","sources":["../src/shade-component.ts"],"names":[],"mappings":"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"}
@@ -1,55 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const inject_1 = require("@furystack/inject");
4
- const util_1 = require("util");
5
- global.TextEncoder = util_1.TextEncoder;
6
- global.TextDecoder = util_1.TextDecoder;
7
- const initialize_1 = require("./initialize");
8
- const shade_1 = require("./shade");
9
- const shade_component_1 = require("./shade-component");
10
- const utils_1 = require("@furystack/utils");
11
- describe('Shade Resources integration tests', () => {
12
- beforeEach(() => (document.body.innerHTML = '<div id="root"></div>'));
13
- afterEach(() => (document.body.innerHTML = ''));
14
- it('Should update the component based on a custom observable value change', () => {
15
- const injector = new inject_1.Injector();
16
- const rootElement = document.getElementById('root');
17
- const renderCounter = jest.fn();
18
- const obs1 = new utils_1.ObservableValue(0);
19
- const obs2 = new utils_1.ObservableValue('a');
20
- const ExampleComponent = (0, shade_1.Shade)({
21
- render: ({ useObservable }) => {
22
- const [value1] = useObservable('obs1', obs1);
23
- const [value2] = useObservable('obs2', obs2);
24
- renderCounter();
25
- return ((0, shade_component_1.createComponent)("div", null,
26
- (0, shade_component_1.createComponent)("div", { id: "val1" }, value1),
27
- (0, shade_component_1.createComponent)("div", { id: "val2" }, value2)));
28
- },
29
- shadowDomName: 'shades-example-resource',
30
- });
31
- expect(obs1.getObservers().length).toBe(0);
32
- expect(obs2.getObservers().length).toBe(0);
33
- (0, initialize_1.initializeShadeRoot)({
34
- injector,
35
- rootElement,
36
- jsxElement: (0, shade_component_1.createComponent)(ExampleComponent, null),
37
- });
38
- expect(document.body.innerHTML).toBe('<div id="root"><shades-example-resource><div><div id="val1">0</div><div id="val2">a</div></div></shades-example-resource></div>');
39
- expect(obs1.getObservers().length).toBe(1);
40
- expect(obs2.getObservers().length).toBe(1);
41
- expect(renderCounter).toBeCalledTimes(1);
42
- obs1.setValue(1);
43
- expect(document.body.innerHTML).toBe('<div id="root"><shades-example-resource><div><div id="val1">1</div><div id="val2">a</div></div></shades-example-resource></div>');
44
- expect(renderCounter).toBeCalledTimes(2);
45
- obs2.setValue('b');
46
- expect(document.body.innerHTML).toBe('<div id="root"><shades-example-resource><div><div id="val1">1</div><div id="val2">b</div></div></shades-example-resource></div>');
47
- const element = document.querySelector('shades-example-resource');
48
- expect(element.getRenderCount()).toBe(3);
49
- document.body.innerHTML = '';
50
- expect(obs1.getObservers().length).toBe(0);
51
- expect(obs2.getObservers().length).toBe(0);
52
- expect(renderCounter).toBeCalledTimes(3);
53
- });
54
- });
55
- //# sourceMappingURL=shade-resources.integration.spec.js.map