@furystack/shades 11.0.35 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +337 -0
- package/README.md +99 -13
- package/esm/compile-route.spec.d.ts +2 -0
- package/esm/compile-route.spec.d.ts.map +1 -0
- package/esm/compile-route.spec.js +34 -0
- package/esm/compile-route.spec.js.map +1 -0
- package/esm/component-factory.spec.js +13 -5
- package/esm/component-factory.spec.js.map +1 -1
- package/esm/components/index.d.ts +4 -1
- package/esm/components/index.d.ts.map +1 -1
- package/esm/components/index.js +4 -1
- package/esm/components/index.js.map +1 -1
- package/esm/components/lazy-load.d.ts +2 -4
- package/esm/components/lazy-load.d.ts.map +1 -1
- package/esm/components/lazy-load.js +40 -24
- package/esm/components/lazy-load.js.map +1 -1
- package/esm/components/lazy-load.spec.js +57 -50
- package/esm/components/lazy-load.spec.js.map +1 -1
- package/esm/components/link-to-route.d.ts +2 -0
- package/esm/components/link-to-route.d.ts.map +1 -1
- package/esm/components/link-to-route.js +3 -2
- package/esm/components/link-to-route.js.map +1 -1
- package/esm/components/link-to-route.spec.js +13 -9
- package/esm/components/link-to-route.spec.js.map +1 -1
- package/esm/components/nested-route-link.d.ts +62 -0
- package/esm/components/nested-route-link.d.ts.map +1 -0
- package/esm/components/nested-route-link.js +66 -0
- package/esm/components/nested-route-link.js.map +1 -0
- package/esm/components/nested-route-link.spec.d.ts +2 -0
- package/esm/components/nested-route-link.spec.d.ts.map +1 -0
- package/esm/components/nested-route-link.spec.js +179 -0
- package/esm/components/nested-route-link.spec.js.map +1 -0
- package/esm/components/nested-route-types.d.ts +37 -0
- package/esm/components/nested-route-types.d.ts.map +1 -0
- package/esm/components/nested-route-types.js +2 -0
- package/esm/components/nested-route-types.js.map +1 -0
- package/esm/components/nested-router.d.ts +103 -0
- package/esm/components/nested-router.d.ts.map +1 -0
- package/esm/components/nested-router.js +178 -0
- package/esm/components/nested-router.js.map +1 -0
- package/esm/components/nested-router.spec.d.ts +2 -0
- package/esm/components/nested-router.spec.d.ts.map +1 -0
- package/esm/components/nested-router.spec.js +659 -0
- package/esm/components/nested-router.spec.js.map +1 -0
- package/esm/components/route-link.d.ts +4 -0
- package/esm/components/route-link.d.ts.map +1 -1
- package/esm/components/route-link.js +9 -10
- package/esm/components/route-link.js.map +1 -1
- package/esm/components/route-link.spec.js +16 -12
- package/esm/components/route-link.spec.js.map +1 -1
- package/esm/components/router.d.ts +20 -2
- package/esm/components/router.d.ts.map +1 -1
- package/esm/components/router.js +3 -0
- package/esm/components/router.js.map +1 -1
- package/esm/components/router.spec.js +75 -74
- package/esm/components/router.spec.js.map +1 -1
- package/esm/css-generator.d.ts +50 -0
- package/esm/css-generator.d.ts.map +1 -0
- package/esm/css-generator.js +107 -0
- package/esm/css-generator.js.map +1 -0
- package/esm/css-generator.spec.d.ts +2 -0
- package/esm/css-generator.spec.d.ts.map +1 -0
- package/esm/css-generator.spec.js +162 -0
- package/esm/css-generator.spec.js.map +1 -0
- package/esm/index.d.ts +2 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +2 -0
- package/esm/index.js.map +1 -1
- package/esm/initialize.d.ts +11 -0
- package/esm/initialize.d.ts.map +1 -1
- package/esm/initialize.js +5 -0
- package/esm/initialize.js.map +1 -1
- package/esm/jsx.d.ts +83 -2
- package/esm/jsx.d.ts.map +1 -1
- package/esm/models/children-list.d.ts +5 -1
- package/esm/models/children-list.d.ts.map +1 -1
- package/esm/models/css-object.d.ts +33 -0
- package/esm/models/css-object.d.ts.map +1 -0
- package/esm/models/css-object.js +2 -0
- package/esm/models/css-object.js.map +1 -0
- package/esm/models/index.d.ts +1 -0
- package/esm/models/index.d.ts.map +1 -1
- package/esm/models/index.js +1 -0
- package/esm/models/index.js.map +1 -1
- package/esm/models/partial-element.d.ts +12 -2
- package/esm/models/partial-element.d.ts.map +1 -1
- package/esm/models/render-options.d.ts +89 -3
- package/esm/models/render-options.d.ts.map +1 -1
- package/esm/models/selection-state.d.ts +4 -0
- package/esm/models/selection-state.d.ts.map +1 -1
- package/esm/services/location-service.d.ts +11 -0
- package/esm/services/location-service.d.ts.map +1 -1
- package/esm/services/location-service.js +11 -0
- package/esm/services/location-service.js.map +1 -1
- package/esm/services/resource-manager.d.ts +24 -0
- package/esm/services/resource-manager.d.ts.map +1 -1
- package/esm/services/resource-manager.js +30 -0
- package/esm/services/resource-manager.js.map +1 -1
- package/esm/services/resource-manager.spec.js +93 -0
- package/esm/services/resource-manager.spec.js.map +1 -1
- package/esm/services/screen-service.d.ts +81 -4
- package/esm/services/screen-service.d.ts.map +1 -1
- package/esm/services/screen-service.js +75 -4
- package/esm/services/screen-service.js.map +1 -1
- package/esm/services/screen-service.spec.js +91 -7
- package/esm/services/screen-service.spec.js.map +1 -1
- package/esm/shade-component.d.ts +17 -4
- package/esm/shade-component.d.ts.map +1 -1
- package/esm/shade-component.js +67 -5
- package/esm/shade-component.js.map +1 -1
- package/esm/shade-host-props-ref.integration.spec.d.ts +2 -0
- package/esm/shade-host-props-ref.integration.spec.d.ts.map +1 -0
- package/esm/shade-host-props-ref.integration.spec.js +381 -0
- package/esm/shade-host-props-ref.integration.spec.js.map +1 -0
- package/esm/shade-resources.integration.spec.js +208 -39
- package/esm/shade-resources.integration.spec.js.map +1 -1
- package/esm/shade.d.ts +34 -15
- package/esm/shade.d.ts.map +1 -1
- package/esm/shade.js +180 -33
- package/esm/shade.js.map +1 -1
- package/esm/shade.spec.d.ts +2 -0
- package/esm/shade.spec.d.ts.map +1 -0
- package/esm/shade.spec.js +198 -0
- package/esm/shade.spec.js.map +1 -0
- package/esm/shades.integration.spec.js +135 -72
- package/esm/shades.integration.spec.js.map +1 -1
- package/esm/style-manager.d.ts +65 -0
- package/esm/style-manager.d.ts.map +1 -0
- package/esm/style-manager.js +95 -0
- package/esm/style-manager.js.map +1 -0
- package/esm/style-manager.spec.d.ts +2 -0
- package/esm/style-manager.spec.d.ts.map +1 -0
- package/esm/style-manager.spec.js +179 -0
- package/esm/style-manager.spec.js.map +1 -0
- package/esm/styled-element.spec.d.ts +2 -0
- package/esm/styled-element.spec.d.ts.map +1 -0
- package/esm/styled-element.spec.js +86 -0
- package/esm/styled-element.spec.js.map +1 -0
- package/esm/styled-shade.spec.d.ts +2 -0
- package/esm/styled-shade.spec.d.ts.map +1 -0
- package/esm/styled-shade.spec.js +66 -0
- package/esm/styled-shade.spec.js.map +1 -0
- package/esm/svg-types.d.ts +389 -0
- package/esm/svg-types.d.ts.map +1 -0
- package/esm/svg-types.js +9 -0
- package/esm/svg-types.js.map +1 -0
- package/esm/svg.d.ts +15 -0
- package/esm/svg.d.ts.map +1 -0
- package/esm/svg.js +76 -0
- package/esm/svg.js.map +1 -0
- package/esm/svg.spec.d.ts +2 -0
- package/esm/svg.spec.d.ts.map +1 -0
- package/esm/svg.spec.js +80 -0
- package/esm/svg.spec.js.map +1 -0
- package/esm/vnode.d.ts +103 -0
- package/esm/vnode.d.ts.map +1 -0
- package/esm/vnode.integration.spec.d.ts +2 -0
- package/esm/vnode.integration.spec.d.ts.map +1 -0
- package/esm/vnode.integration.spec.js +494 -0
- package/esm/vnode.integration.spec.js.map +1 -0
- package/esm/vnode.js +453 -0
- package/esm/vnode.js.map +1 -0
- package/esm/vnode.spec.d.ts +2 -0
- package/esm/vnode.spec.d.ts.map +1 -0
- package/esm/vnode.spec.js +473 -0
- package/esm/vnode.spec.js.map +1 -0
- package/package.json +3 -3
- package/src/compile-route.spec.ts +39 -0
- package/src/component-factory.spec.tsx +18 -5
- package/src/components/index.ts +4 -1
- package/src/components/lazy-load.spec.tsx +82 -75
- package/src/components/lazy-load.tsx +49 -27
- package/src/components/link-to-route.spec.tsx +25 -21
- package/src/components/link-to-route.tsx +4 -2
- package/src/components/nested-route-link.spec.tsx +303 -0
- package/src/components/nested-route-link.tsx +100 -0
- package/src/components/nested-route-types.ts +42 -0
- package/src/components/nested-router.spec.tsx +817 -0
- package/src/components/nested-router.tsx +256 -0
- package/src/components/route-link.spec.tsx +22 -18
- package/src/components/route-link.tsx +10 -10
- package/src/components/router.spec.tsx +109 -108
- package/src/components/router.tsx +15 -2
- package/src/css-generator.spec.ts +183 -0
- package/src/css-generator.ts +117 -0
- package/src/index.ts +2 -0
- package/src/initialize.ts +12 -0
- package/src/jsx.ts +129 -2
- package/src/models/children-list.ts +7 -1
- package/src/models/css-object.ts +34 -0
- package/src/models/index.ts +1 -0
- package/src/models/partial-element.ts +13 -2
- package/src/models/render-options.ts +90 -3
- package/src/models/selection-state.ts +4 -0
- package/src/services/location-service.tsx +11 -0
- package/src/services/resource-manager.spec.ts +116 -0
- package/src/services/resource-manager.ts +30 -0
- package/src/services/screen-service.spec.ts +109 -7
- package/src/services/screen-service.ts +81 -4
- package/src/shade-component.ts +72 -6
- package/src/shade-host-props-ref.integration.spec.tsx +460 -0
- package/src/shade-resources.integration.spec.tsx +276 -52
- package/src/shade.spec.tsx +239 -0
- package/src/shade.ts +211 -56
- package/src/shades.integration.spec.tsx +154 -80
- package/src/style-manager.spec.ts +229 -0
- package/src/style-manager.ts +104 -0
- package/src/styled-element.spec.tsx +117 -0
- package/src/styled-shade.spec.ts +86 -0
- package/src/svg-types.ts +437 -0
- package/src/svg.spec.ts +89 -0
- package/src/svg.ts +78 -0
- package/src/vnode.integration.spec.tsx +657 -0
- package/src/vnode.spec.ts +579 -0
- package/src/vnode.ts +508 -0
|
@@ -1,24 +1,108 @@
|
|
|
1
1
|
import { Injector } from '@furystack/inject';
|
|
2
2
|
import { usingAsync } from '@furystack/utils';
|
|
3
|
-
import { afterEach, beforeEach, describe, expect, it } from 'vitest';
|
|
4
|
-
import { ScreenService } from './screen-service.js';
|
|
3
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
|
4
|
+
import { ScreenService, ScreenSizes } from './screen-service.js';
|
|
5
5
|
describe('ScreenService', () => {
|
|
6
6
|
beforeEach(() => {
|
|
7
7
|
document.body.innerHTML = '<div id="root"></div>';
|
|
8
8
|
});
|
|
9
9
|
afterEach(() => {
|
|
10
10
|
document.body.innerHTML = '';
|
|
11
|
+
vi.restoreAllMocks();
|
|
11
12
|
});
|
|
12
|
-
it('
|
|
13
|
+
it('Should be constructed', async () => {
|
|
13
14
|
await usingAsync(new Injector(), async (i) => {
|
|
14
15
|
const s = i.getInstance(ScreenService);
|
|
15
16
|
expect(s).toBeInstanceOf(ScreenService);
|
|
16
17
|
});
|
|
17
18
|
});
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
describe('breakpoints', () => {
|
|
20
|
+
it('Should have correct breakpoint definitions', async () => {
|
|
21
|
+
await usingAsync(new Injector(), async (i) => {
|
|
22
|
+
const s = i.getInstance(ScreenService);
|
|
23
|
+
expect(s.breakpoints.xs.minSize).toBe(0);
|
|
24
|
+
expect(s.breakpoints.sm.minSize).toBe(600);
|
|
25
|
+
expect(s.breakpoints.md.minSize).toBe(960);
|
|
26
|
+
expect(s.breakpoints.lg.minSize).toBe(1280);
|
|
27
|
+
expect(s.breakpoints.xl.minSize).toBe(1920);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
describe('screenSize.atLeast', () => {
|
|
32
|
+
it('Should have observable for each screen size', async () => {
|
|
33
|
+
await usingAsync(new Injector(), async (i) => {
|
|
34
|
+
const s = i.getInstance(ScreenService);
|
|
35
|
+
for (const size of ScreenSizes) {
|
|
36
|
+
expect(s.screenSize.atLeast[size]).toBeDefined();
|
|
37
|
+
expect(typeof s.screenSize.atLeast[size].getValue()).toBe('boolean');
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
it('Should return true for xs on any screen size', async () => {
|
|
42
|
+
await usingAsync(new Injector(), async (i) => {
|
|
43
|
+
const s = i.getInstance(ScreenService);
|
|
44
|
+
// xs has minSize 0, so it should always be true
|
|
45
|
+
expect(s.screenSize.atLeast.xs.getValue()).toBe(true);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
it('Should update screenSize observables on window resize', async () => {
|
|
49
|
+
await usingAsync(new Injector(), async (i) => {
|
|
50
|
+
const s = i.getInstance(ScreenService);
|
|
51
|
+
// Mock window.innerWidth to simulate a large screen
|
|
52
|
+
vi.spyOn(window, 'innerWidth', 'get').mockReturnValue(1920);
|
|
53
|
+
// Trigger resize event
|
|
54
|
+
window.dispatchEvent(new Event('resize'));
|
|
55
|
+
// All breakpoints should be true for 1920px width
|
|
56
|
+
expect(s.screenSize.atLeast.xs.getValue()).toBe(true);
|
|
57
|
+
expect(s.screenSize.atLeast.sm.getValue()).toBe(true);
|
|
58
|
+
expect(s.screenSize.atLeast.md.getValue()).toBe(true);
|
|
59
|
+
expect(s.screenSize.atLeast.lg.getValue()).toBe(true);
|
|
60
|
+
expect(s.screenSize.atLeast.xl.getValue()).toBe(true);
|
|
61
|
+
// Mock a small screen
|
|
62
|
+
vi.spyOn(window, 'innerWidth', 'get').mockReturnValue(500);
|
|
63
|
+
window.dispatchEvent(new Event('resize'));
|
|
64
|
+
// Only xs should be true for 500px width
|
|
65
|
+
expect(s.screenSize.atLeast.xs.getValue()).toBe(true);
|
|
66
|
+
expect(s.screenSize.atLeast.sm.getValue()).toBe(false);
|
|
67
|
+
expect(s.screenSize.atLeast.md.getValue()).toBe(false);
|
|
68
|
+
expect(s.screenSize.atLeast.lg.getValue()).toBe(false);
|
|
69
|
+
expect(s.screenSize.atLeast.xl.getValue()).toBe(false);
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
describe('orientation', () => {
|
|
74
|
+
it('Should have an orientation observable', async () => {
|
|
75
|
+
await usingAsync(new Injector(), async (i) => {
|
|
76
|
+
const s = i.getInstance(ScreenService);
|
|
77
|
+
const orientation = s.orientation.getValue();
|
|
78
|
+
expect(['landscape', 'portrait']).toContain(orientation);
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
it('Should update orientation on resize', async () => {
|
|
82
|
+
// Mock matchMedia before creating the service
|
|
83
|
+
const matchMediaMock = vi.fn();
|
|
84
|
+
window.matchMedia = matchMediaMock;
|
|
85
|
+
await usingAsync(new Injector(), async (i) => {
|
|
86
|
+
// Set initial orientation to landscape
|
|
87
|
+
matchMediaMock.mockReturnValue({ matches: true });
|
|
88
|
+
const s = i.getInstance(ScreenService);
|
|
89
|
+
// Verify initial landscape
|
|
90
|
+
window.dispatchEvent(new Event('resize'));
|
|
91
|
+
expect(s.orientation.getValue()).toBe('landscape');
|
|
92
|
+
// Change to portrait
|
|
93
|
+
matchMediaMock.mockReturnValue({ matches: false });
|
|
94
|
+
window.dispatchEvent(new Event('resize'));
|
|
95
|
+
expect(s.orientation.getValue()).toBe('portrait');
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
describe('disposal', () => {
|
|
100
|
+
it('Should remove resize event listener on dispose', async () => {
|
|
101
|
+
const removeEventListenerSpy = vi.spyOn(window, 'removeEventListener');
|
|
102
|
+
await usingAsync(new Injector(), async (i) => {
|
|
103
|
+
i.getInstance(ScreenService);
|
|
104
|
+
});
|
|
105
|
+
expect(removeEventListenerSpy).toHaveBeenCalledWith('resize', expect.any(Function));
|
|
22
106
|
});
|
|
23
107
|
});
|
|
24
108
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen-service.spec.js","sourceRoot":"","sources":["../../src/services/screen-service.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"screen-service.spec.js","sourceRoot":"","sources":["../../src/services/screen-service.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEhE,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,UAAU,CAAC,GAAG,EAAE;QACd,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,uBAAuB,CAAA;IACnD,CAAC,CAAC,CAAA;IACF,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QAC5B,EAAE,CAAC,eAAe,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,UAAU,CAAC,IAAI,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;YACtC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,UAAU,CAAC,IAAI,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;gBAEtC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACxC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBAC1C,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBAC1C,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC3C,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC7C,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,UAAU,CAAC,IAAI,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;gBAEtC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;oBAC/B,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;oBAChD,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBACtE,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,UAAU,CAAC,IAAI,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;gBACtC,gDAAgD;gBAChD,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACvD,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,UAAU,CAAC,IAAI,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;gBAEtC,oDAAoD;gBACpD,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;gBAE3D,uBAAuB;gBACvB,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;gBAEzC,kDAAkD;gBAClD,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACrD,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACrD,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACrD,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACrD,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAErD,sBAAsB;gBACtB,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;gBAC1D,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;gBAEzC,yCAAyC;gBACzC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACrD,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACtD,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACtD,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACtD,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACxD,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,UAAU,CAAC,IAAI,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;gBACtC,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAA;gBAC5C,MAAM,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;YAC1D,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,8CAA8C;YAC9C,MAAM,cAAc,GAAG,EAAE,CAAC,EAAE,EAAE,CAAA;YAC9B,MAAM,CAAC,UAAU,GAAG,cAAc,CAAA;YAElC,MAAM,UAAU,CAAC,IAAI,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC3C,uCAAuC;gBACvC,cAAc,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,EAAoB,CAAC,CAAA;gBACnE,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;gBAEtC,2BAA2B;gBAC3B,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;gBACzC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gBAElD,qBAAqB;gBACrB,cAAc,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,KAAK,EAAoB,CAAC,CAAA;gBACpE,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;gBACzC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACnD,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,sBAAsB,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;YAEtE,MAAM,UAAU,CAAC,IAAI,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC3C,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;YAC9B,CAAC,CAAC,CAAA;YAEF,MAAM,CAAC,sBAAsB,CAAC,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;QACrF,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/esm/shade-component.d.ts
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import type { ChildrenList, ShadeComponent } from './models/index.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* When true, the JSX factory produces VNode descriptors instead of real DOM elements.
|
|
4
|
+
* Set to true by `_performUpdate` before calling `render()`, then back to false after.
|
|
5
|
+
*/
|
|
6
|
+
export declare const setRenderMode: (mode: boolean) => void;
|
|
7
|
+
/**
|
|
8
|
+
* Appends a list of items to an element
|
|
4
9
|
* @param el the root element
|
|
5
10
|
* @param children array of items to append
|
|
6
11
|
*/
|
|
7
|
-
export declare const appendChild: (el:
|
|
12
|
+
export declare const appendChild: (el: Element | DocumentFragment, children: ChildrenList) => void;
|
|
8
13
|
export declare const hasStyle: (props: unknown) => props is {
|
|
9
14
|
style: Partial<CSSStyleDeclaration>;
|
|
10
15
|
};
|
|
@@ -20,6 +25,14 @@ export declare const attachDataAttributes: <TProps extends object>(el: HTMLEleme
|
|
|
20
25
|
* @param props The Props to attach
|
|
21
26
|
*/
|
|
22
27
|
export declare const attachProps: <TProps extends object>(el: HTMLElement, props: TProps) => void;
|
|
28
|
+
/**
|
|
29
|
+
* Attaches properties to an SVG element via setAttribute.
|
|
30
|
+
* SVG attributes are XML-based and must be set via setAttribute,
|
|
31
|
+
* not via property assignment like HTML elements.
|
|
32
|
+
* @param el The target SVG element
|
|
33
|
+
* @param props The props to attach
|
|
34
|
+
*/
|
|
35
|
+
export declare const attachSvgProps: <TProps extends object>(el: Element, props: TProps) => void;
|
|
23
36
|
type CreateComponentArgs<TProps> = [
|
|
24
37
|
elementType: string | ShadeComponent<TProps>,
|
|
25
38
|
props: TProps,
|
|
@@ -29,9 +42,9 @@ type CreateComponentArgs<TProps> = [
|
|
|
29
42
|
* Factory method that creates a component. This should be configured as a default JSX Factory in tsconfig.
|
|
30
43
|
* @returns the created JSX element
|
|
31
44
|
*/
|
|
32
|
-
export declare const createComponentInner: <TProps extends object>(...[elementType, props, ...children]: CreateComponentArgs<TProps>) => HTMLElement | undefined;
|
|
45
|
+
export declare const createComponentInner: <TProps extends object>(...[elementType, props, ...children]: CreateComponentArgs<TProps>) => HTMLElement | SVGElement | undefined;
|
|
33
46
|
type CreateFragmentArgs = [props: null, ...children: ChildrenList];
|
|
34
47
|
export declare const createFragmentInner: (...[_props, ...children]: CreateFragmentArgs) => DocumentFragment;
|
|
35
|
-
export declare const createComponent: <TProps extends object>(...args: CreateComponentArgs<TProps> | CreateFragmentArgs) => HTMLElement | DocumentFragment | undefined;
|
|
48
|
+
export declare const createComponent: <TProps extends object>(...args: CreateComponentArgs<TProps> | CreateFragmentArgs) => HTMLElement | SVGElement | DocumentFragment | undefined;
|
|
36
49
|
export {};
|
|
37
50
|
//# sourceMappingURL=shade-component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shade-component.d.ts","sourceRoot":"","sources":["../src/shade-component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"shade-component.d.ts","sourceRoot":"","sources":["../src/shade-component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAWrE;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,OAAO,KAAG,IAE7C,CAAA;AAMD;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,IAAI,OAAO,GAAG,gBAAgB,EAAE,UAAU,YAAY,SAYjF,CAAA;AAED,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI;IAAE,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;CAIvF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,IAAI,WAAW,EAAE,OAAO,OAAO,SAS3D,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,MAAM,SAAS,MAAM,EAAE,IAAI,WAAW,EAAE,OAAO,MAAM,SAMzF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,SAAS,MAAM,EAAE,IAAI,WAAW,EAAE,OAAO,MAAM,SAahF,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,SAAS,MAAM,EAAE,IAAI,OAAO,EAAE,OAAO,MAAM,SAiB/E,CAAA;AAED,KAAK,mBAAmB,CAAC,MAAM,IAAI;IACjC,WAAW,EAAE,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,MAAM;IACb,GAAG,QAAQ,EAAE,YAAY;CAC1B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,MAAM,SAAS,MAAM,EACxD,GAAG,mCAAmC,mBAAmB,CAAC,MAAM,CAAC,yCAsBlE,CAAA;AAED,KAAK,kBAAkB,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,YAAY,CAAC,CAAA;AAElE,eAAO,MAAM,mBAAmB,GAAI,GAAG,uBAAuB,kBAAkB,qBAI/E,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,MAAM,SAAS,MAAM,EAAE,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,GAAG,kBAAkB,4DAoB/G,CAAA"}
|
package/esm/shade-component.js
CHANGED
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
import { isShadeComponent } from './models/shade-component.js';
|
|
2
|
+
import { SVG_NS, isSvgTag } from './svg.js';
|
|
3
|
+
import { createVNode } from './vnode.js';
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
// Render-mode toggle
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
let renderMode = false;
|
|
2
8
|
/**
|
|
3
|
-
*
|
|
9
|
+
* When true, the JSX factory produces VNode descriptors instead of real DOM elements.
|
|
10
|
+
* Set to true by `_performUpdate` before calling `render()`, then back to false after.
|
|
11
|
+
*/
|
|
12
|
+
export const setRenderMode = (mode) => {
|
|
13
|
+
renderMode = mode;
|
|
14
|
+
};
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
// Real-DOM helpers (used outside render mode)
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
/**
|
|
19
|
+
* Appends a list of items to an element
|
|
4
20
|
* @param el the root element
|
|
5
21
|
* @param children array of items to append
|
|
6
22
|
*/
|
|
@@ -10,7 +26,7 @@ export const appendChild = (el, children) => {
|
|
|
10
26
|
el.appendChild(document.createTextNode(child));
|
|
11
27
|
}
|
|
12
28
|
else {
|
|
13
|
-
if (child instanceof
|
|
29
|
+
if (child instanceof Element || child instanceof DocumentFragment) {
|
|
14
30
|
el.appendChild(child);
|
|
15
31
|
}
|
|
16
32
|
else if (child instanceof Array) {
|
|
@@ -39,7 +55,7 @@ export const attachStyles = (el, props) => {
|
|
|
39
55
|
export const attachDataAttributes = (el, props) => {
|
|
40
56
|
if (props) {
|
|
41
57
|
Object.entries(props)
|
|
42
|
-
.filter(([key]) => key.startsWith('data-'))
|
|
58
|
+
.filter(([key]) => key.startsWith('data-') || key.startsWith('aria-'))
|
|
43
59
|
.forEach(([key, value]) => el.setAttribute(key, value || ''));
|
|
44
60
|
}
|
|
45
61
|
};
|
|
@@ -62,14 +78,50 @@ export const attachProps = (el, props) => {
|
|
|
62
78
|
}
|
|
63
79
|
attachDataAttributes(el, props);
|
|
64
80
|
};
|
|
81
|
+
/**
|
|
82
|
+
* Attaches properties to an SVG element via setAttribute.
|
|
83
|
+
* SVG attributes are XML-based and must be set via setAttribute,
|
|
84
|
+
* not via property assignment like HTML elements.
|
|
85
|
+
* @param el The target SVG element
|
|
86
|
+
* @param props The props to attach
|
|
87
|
+
*/
|
|
88
|
+
export const attachSvgProps = (el, props) => {
|
|
89
|
+
if (!props) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
for (const [key, value] of Object.entries(props)) {
|
|
93
|
+
if (key === 'style' && typeof value === 'object' && value !== null) {
|
|
94
|
+
for (const [sk, sv] of Object.entries(value)) {
|
|
95
|
+
;
|
|
96
|
+
el.style[sk] = sv;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
else if (key === 'className') {
|
|
100
|
+
el.setAttribute('class', String(value));
|
|
101
|
+
}
|
|
102
|
+
else if (key.startsWith('on') && typeof value === 'function') {
|
|
103
|
+
;
|
|
104
|
+
el[key] = value;
|
|
105
|
+
}
|
|
106
|
+
else if (value !== null && value !== undefined && value !== false) {
|
|
107
|
+
el.setAttribute(key, String(value));
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
};
|
|
65
111
|
/**
|
|
66
112
|
* Factory method that creates a component. This should be configured as a default JSX Factory in tsconfig.
|
|
67
113
|
* @returns the created JSX element
|
|
68
114
|
*/
|
|
69
115
|
export const createComponentInner = (...[elementType, props, ...children]) => {
|
|
70
116
|
if (typeof elementType === 'string') {
|
|
71
|
-
const
|
|
72
|
-
|
|
117
|
+
const isSvg = isSvgTag(elementType);
|
|
118
|
+
const el = isSvg ? document.createElementNS(SVG_NS, elementType) : document.createElement(elementType);
|
|
119
|
+
if (isSvg) {
|
|
120
|
+
attachSvgProps(el, props);
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
attachProps(el, props);
|
|
124
|
+
}
|
|
73
125
|
if (children) {
|
|
74
126
|
appendChild(el, children);
|
|
75
127
|
}
|
|
@@ -88,6 +140,16 @@ export const createFragmentInner = (...[_props, ...children]) => {
|
|
|
88
140
|
return fragment;
|
|
89
141
|
};
|
|
90
142
|
export const createComponent = (...args) => {
|
|
143
|
+
// In render mode, produce VNode descriptors instead of real DOM elements
|
|
144
|
+
if (renderMode) {
|
|
145
|
+
const [type, props, ...children] = args;
|
|
146
|
+
// When jsxFragmentFactory === jsxFactory (both "createComponent"), the compiler
|
|
147
|
+
// passes createComponent itself as the first arg for fragments: createComponent(createComponent, null, ...)
|
|
148
|
+
if (type === null || type === createComponent) {
|
|
149
|
+
return createVNode(null, null, ...children);
|
|
150
|
+
}
|
|
151
|
+
return createVNode(type, props, ...children);
|
|
152
|
+
}
|
|
91
153
|
if (args[0] === null) {
|
|
92
154
|
return createFragmentInner(...args);
|
|
93
155
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shade-component.js","sourceRoot":"","sources":["../src/shade-component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"shade-component.js","sourceRoot":"","sources":["../src/shade-component.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shade-host-props-ref.integration.spec.d.ts","sourceRoot":"","sources":["../src/shade-host-props-ref.integration.spec.tsx"],"names":[],"mappings":""}
|