@joydle/ui 0.1.2 → 0.1.4

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.
@@ -1,14 +1,17 @@
1
- export type ScaleMode = 'letterbox' | 'fill' | 'stretch';
1
+ export type ScaleMode = 'letterbox' | 'fill' | 'stretch' | 'none';
2
2
  /**
3
3
  * Keeps the renderer canvas sized correctly within its container.
4
4
  *
5
- * Supports three modes:
5
+ * Supports four modes:
6
6
  * - **letterbox** — uniform scale, centred, with bars on the short axis.
7
7
  * - **fill** — uniform scale, cropped so no bars appear.
8
8
  * - **stretch** — non-uniform, stretches to fill container exactly.
9
+ * - **none** — no scaling or positioning; the bridge/renderer manages its own
10
+ * canvas size. Use this for Three.js games that handle camera aspect ratio
11
+ * and renderer sizing themselves.
9
12
  *
10
13
  * The manager listens to `window.resize` and `orientationchange` and
11
- * automatically recalculates.
14
+ * automatically recalculates (except in `none` mode).
12
15
  */
13
16
  export declare class ScaleManager {
14
17
  private canvas;
@@ -1 +1 @@
1
- {"version":3,"file":"ScaleManager.d.ts","sourceRoot":"","sources":["../../src/core/ScaleManager.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;AAEzD;;;;;;;;;;GAUG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,IAAI,CAAY;IAExB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,OAAO,CAAK;IAEpB,OAAO,CAAC,QAAQ,CAAa;gBAG3B,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,SAAuB;IAiB/B,8DAA8D;IAC9D,MAAM,IAAI,IAAI;IAiDd;;;OAGG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;IAexE,+CAA+C;IAC/C,QAAQ,IAAI,MAAM;IAIlB,8BAA8B;IAC9B,OAAO,IAAI,IAAI;CAIhB"}
1
+ {"version":3,"file":"ScaleManager.d.ts","sourceRoot":"","sources":["../../src/core/ScaleManager.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;AAElE;;;;;;;;;;;;;GAaG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,IAAI,CAAY;IAExB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,OAAO,CAAK;IAEpB,OAAO,CAAC,QAAQ,CAAa;gBAG3B,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,SAAuB;IAiB/B,8DAA8D;IAC9D,MAAM,IAAI,IAAI;IAoDd;;;OAGG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;IAexE,+CAA+C;IAC/C,QAAQ,IAAI,MAAM;IAIlB,8BAA8B;IAC9B,OAAO,IAAI,IAAI;CAIhB"}
@@ -4,13 +4,16 @@
4
4
  /**
5
5
  * Keeps the renderer canvas sized correctly within its container.
6
6
  *
7
- * Supports three modes:
7
+ * Supports four modes:
8
8
  * - **letterbox** — uniform scale, centred, with bars on the short axis.
9
9
  * - **fill** — uniform scale, cropped so no bars appear.
10
10
  * - **stretch** — non-uniform, stretches to fill container exactly.
11
+ * - **none** — no scaling or positioning; the bridge/renderer manages its own
12
+ * canvas size. Use this for Three.js games that handle camera aspect ratio
13
+ * and renderer sizing themselves.
11
14
  *
12
15
  * The manager listens to `window.resize` and `orientationchange` and
13
- * automatically recalculates.
16
+ * automatically recalculates (except in `none` mode).
14
17
  */
15
18
  export class ScaleManager {
16
19
  canvas;
@@ -35,6 +38,9 @@ export class ScaleManager {
35
38
  // -- Public ---------------------------------------------------------------
36
39
  /** Recalculate scale and update the canvas CSS dimensions. */
37
40
  resize() {
41
+ // 'none' mode — the bridge/renderer owns canvas sizing entirely.
42
+ if (this.mode === 'none')
43
+ return;
38
44
  const parent = this.canvas.parentElement;
39
45
  if (!parent)
40
46
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"ScaleManager.js","sourceRoot":"","sources":["../../src/core/ScaleManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScaleManager.js","sourceRoot":"","sources":["../../src/core/ScaleManager.ts"],"names":[],"mappings":"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"}
package/dist/hud/HUD.d.ts CHANGED
@@ -2,18 +2,26 @@ import type { ComponentChildren, FunctionComponent } from 'preact';
2
2
  interface SlotProps {
3
3
  children?: ComponentChildren;
4
4
  }
5
- declare const Left: FunctionComponent<SlotProps>;
6
- declare const Center: FunctionComponent<SlotProps>;
7
- declare const Right: FunctionComponent<SlotProps>;
8
- declare const Bottom: FunctionComponent<SlotProps>;
5
+ declare const TopLeft: FunctionComponent<SlotProps>;
6
+ declare const TopCenter: FunctionComponent<SlotProps>;
7
+ declare const TopRight: FunctionComponent<SlotProps>;
8
+ declare const BottomLeft: FunctionComponent<SlotProps>;
9
+ declare const BottomCenter: FunctionComponent<SlotProps>;
10
+ declare const BottomRight: FunctionComponent<SlotProps>;
9
11
  export interface HUDProps {
10
12
  children?: ComponentChildren;
11
13
  }
12
14
  interface HUDComponent extends FunctionComponent<HUDProps> {
13
- Left: typeof Left;
14
- Center: typeof Center;
15
- Right: typeof Right;
16
- Bottom: typeof Bottom;
15
+ TopLeft: typeof TopLeft;
16
+ TopCenter: typeof TopCenter;
17
+ TopRight: typeof TopRight;
18
+ BottomLeft: typeof BottomLeft;
19
+ BottomCenter: typeof BottomCenter;
20
+ BottomRight: typeof BottomRight;
21
+ Left: typeof TopLeft;
22
+ Center: typeof TopCenter;
23
+ Right: typeof TopRight;
24
+ Bottom: typeof BottomCenter;
17
25
  }
18
26
  export declare const HUD: HUDComponent;
19
27
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"HUD.d.ts","sourceRoot":"","sources":["../../src/hud/HUD.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAInE,UAAU,SAAS;IACjB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AA2DD,QAAA,MAAM,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAItC,CAAC;AAEF,QAAA,MAAM,MAAM,EAAE,iBAAiB,CAAC,SAAS,CAIxC,CAAC;AAEF,QAAA,MAAM,KAAK,EAAE,iBAAiB,CAAC,SAAS,CAIvC,CAAC;AAEF,QAAA,MAAM,MAAM,EAAE,iBAAiB,CAAC,SAAS,CAIxC,CAAC;AAIF,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAID,UAAU,YAAa,SAAQ,iBAAiB,CAAC,QAAQ,CAAC;IACxD,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,MAAM,EAAE,OAAO,MAAM,CAAC;CACvB;AA4BD,eAAO,MAAM,GAAG,EAAE,YAKhB,CAAC"}
1
+ {"version":3,"file":"HUD.d.ts","sourceRoot":"","sources":["../../src/hud/HUD.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAInE,UAAU,SAAS;IACjB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAmFD,QAAA,MAAM,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAEzC,CAAC;AAEF,QAAA,MAAM,SAAS,EAAE,iBAAiB,CAAC,SAAS,CAE3C,CAAC;AAEF,QAAA,MAAM,QAAQ,EAAE,iBAAiB,CAAC,SAAS,CAE1C,CAAC;AAEF,QAAA,MAAM,UAAU,EAAE,iBAAiB,CAAC,SAAS,CAE5C,CAAC;AAEF,QAAA,MAAM,YAAY,EAAE,iBAAiB,CAAC,SAAS,CAE9C,CAAC;AAEF,QAAA,MAAM,WAAW,EAAE,iBAAiB,CAAC,SAAS,CAE7C,CAAC;AAIF,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAID,UAAU,YAAa,SAAQ,iBAAiB,CAAC,QAAQ,CAAC;IAExD,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,WAAW,EAAE,OAAO,WAAW,CAAC;IAEhC,IAAI,EAAE,OAAO,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,SAAS,CAAC;IACzB,KAAK,EAAE,OAAO,QAAQ,CAAC;IACvB,MAAM,EAAE,OAAO,YAAY,CAAC;CAC7B;AAoCD,eAAO,MAAM,GAAG,EAAE,YAahB,CAAC"}
package/dist/hud/HUD.js CHANGED
@@ -15,7 +15,8 @@ const HUD_STYLE = {
15
15
  boxSizing: 'border-box',
16
16
  fontFamily: 'var(--joydle-font, sans-serif)',
17
17
  };
18
- const LEFT_STYLE = {
18
+ // -- Row 1 (top) --
19
+ const TOP_LEFT_STYLE = {
19
20
  gridColumn: '1',
20
21
  gridRow: '1',
21
22
  display: 'flex',
@@ -23,7 +24,7 @@ const LEFT_STYLE = {
23
24
  alignItems: 'flex-start',
24
25
  gap: 8,
25
26
  };
26
- const CENTER_STYLE = {
27
+ const TOP_CENTER_STYLE = {
27
28
  gridColumn: '2',
28
29
  gridRow: '1',
29
30
  display: 'flex',
@@ -31,7 +32,7 @@ const CENTER_STYLE = {
31
32
  alignItems: 'center',
32
33
  gap: 8,
33
34
  };
34
- const RIGHT_STYLE = {
35
+ const TOP_RIGHT_STYLE = {
35
36
  gridColumn: '3',
36
37
  gridRow: '1',
37
38
  display: 'flex',
@@ -39,8 +40,18 @@ const RIGHT_STYLE = {
39
40
  alignItems: 'flex-end',
40
41
  gap: 8,
41
42
  };
42
- const BOTTOM_STYLE = {
43
- gridColumn: '1 / -1',
43
+ // -- Row 3 (bottom) --
44
+ const BOTTOM_LEFT_STYLE = {
45
+ gridColumn: '1',
46
+ gridRow: '3',
47
+ display: 'flex',
48
+ flexDirection: 'column',
49
+ alignItems: 'flex-start',
50
+ justifyContent: 'flex-end',
51
+ gap: 8,
52
+ };
53
+ const BOTTOM_CENTER_STYLE = {
54
+ gridColumn: '2',
44
55
  gridRow: '3',
45
56
  display: 'flex',
46
57
  flexDirection: 'row',
@@ -48,36 +59,63 @@ const BOTTOM_STYLE = {
48
59
  justifyContent: 'center',
49
60
  gap: 16,
50
61
  };
62
+ const BOTTOM_RIGHT_STYLE = {
63
+ gridColumn: '3',
64
+ gridRow: '3',
65
+ display: 'flex',
66
+ flexDirection: 'column',
67
+ alignItems: 'flex-end',
68
+ justifyContent: 'flex-end',
69
+ gap: 8,
70
+ };
51
71
  // ---- Sub-components -------------------------------------------------------
52
- const Left = ({ children }) => (_jsx("div", { class: "joydle-hud-left", style: LEFT_STYLE, children: children }));
53
- const Center = ({ children }) => (_jsx("div", { class: "joydle-hud-center", style: CENTER_STYLE, children: children }));
54
- const Right = ({ children }) => (_jsx("div", { class: "joydle-hud-right", style: RIGHT_STYLE, children: children }));
55
- const Bottom = ({ children }) => (_jsx("div", { class: "joydle-hud-bottom", style: BOTTOM_STYLE, children: children }));
72
+ const TopLeft = ({ children }) => (_jsx("div", { class: "joydle-hud-top-left", style: TOP_LEFT_STYLE, children: children }));
73
+ const TopCenter = ({ children }) => (_jsx("div", { class: "joydle-hud-top-center", style: TOP_CENTER_STYLE, children: children }));
74
+ const TopRight = ({ children }) => (_jsx("div", { class: "joydle-hud-top-right", style: TOP_RIGHT_STYLE, children: children }));
75
+ const BottomLeft = ({ children }) => (_jsx("div", { class: "joydle-hud-bottom-left", style: BOTTOM_LEFT_STYLE, children: children }));
76
+ const BottomCenter = ({ children }) => (_jsx("div", { class: "joydle-hud-bottom-center", style: BOTTOM_CENTER_STYLE, children: children }));
77
+ const BottomRight = ({ children }) => (_jsx("div", { class: "joydle-hud-bottom-right", style: BOTTOM_RIGHT_STYLE, children: children }));
56
78
  /**
57
- * HUD layout container with Left, Center, Right slot sub-components.
58
- *
59
- * Renders as an absolute-positioned overlay (z-index: 10) with pointer-events
60
- * disabled. Individual HUD widgets opt in to pointer-events as needed.
79
+ * HUD layout 3×3 grid overlay with 6 named edge slots.
61
80
  *
62
81
  * ```tsx
63
82
  * <HUD>
64
- * <HUD.Left>
83
+ * <HUD.TopLeft>
65
84
  * <Lives current={3} max={5} />
66
- * </HUD.Left>
67
- * <HUD.Center>
85
+ * </HUD.TopLeft>
86
+ * <HUD.TopCenter>
68
87
  * <Score value={12500} />
69
- * </HUD.Center>
70
- * <HUD.Right>
88
+ * </HUD.TopCenter>
89
+ * <HUD.TopRight>
71
90
  * <Timer seconds={90} />
72
- * </HUD.Right>
91
+ * </HUD.TopRight>
92
+ * <HUD.BottomLeft>
93
+ * <MiniMap ... />
94
+ * </HUD.BottomLeft>
95
+ * <HUD.BottomCenter>
96
+ * <BottomHint>WASD to move</BottomHint>
97
+ * </HUD.BottomCenter>
98
+ * <HUD.BottomRight>
99
+ * <ResourceDisplay current={12} max={30} label="Ammo" />
100
+ * </HUD.BottomRight>
73
101
  * </HUD>
74
102
  * ```
103
+ *
104
+ * Legacy aliases `Left`, `Center`, `Right`, `Bottom` still work.
75
105
  */
76
106
  const HUDBase = ({ children }) => (_jsx("div", { class: "joydle-hud", style: HUD_STYLE, children: children }));
77
107
  export const HUD = Object.assign(HUDBase, {
78
- Left,
79
- Center,
80
- Right,
81
- Bottom,
108
+ // Canonical
109
+ TopLeft,
110
+ TopCenter,
111
+ TopRight,
112
+ BottomLeft,
113
+ BottomCenter,
114
+ BottomRight,
115
+ // Legacy aliases
116
+ Left: TopLeft,
117
+ Center: TopCenter,
118
+ Right: TopRight,
119
+ Bottom: BottomCenter,
82
120
  });
83
121
  //# sourceMappingURL=HUD.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HUD.js","sourceRoot":"","sources":["../../src/hud/HUD.tsx"],"names":[],"mappings":";AAYA,8EAA8E;AAE9E,MAAM,SAAS,GAAoC;IACjD,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,EAAE;IACV,aAAa,EAAE,MAAM;IACrB,OAAO,EAAE,MAAM;IACf,mBAAmB,EAAE,cAAc;IACnC,gBAAgB,EAAE,eAAe;IACjC,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,YAAY;IACvB,UAAU,EAAE,gCAAgC;CAC7C,CAAC;AAEF,MAAM,UAAU,GAAoC;IAClD,UAAU,EAAE,GAAG;IACf,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,UAAU,EAAE,YAAY;IACxB,GAAG,EAAE,CAAC;CACP,CAAC;AAEF,MAAM,YAAY,GAAoC;IACpD,UAAU,EAAE,GAAG;IACf,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,UAAU,EAAE,QAAQ;IACpB,GAAG,EAAE,CAAC;CACP,CAAC;AAEF,MAAM,WAAW,GAAoC;IACnD,UAAU,EAAE,GAAG;IACf,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,UAAU,EAAE,UAAU;IACtB,GAAG,EAAE,CAAC;CACP,CAAC;AAEF,MAAM,YAAY,GAAoC;IACpD,UAAU,EAAE,QAAQ;IACpB,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,KAAK;IACpB,UAAU,EAAE,UAAU;IACtB,cAAc,EAAE,QAAQ;IACxB,GAAG,EAAE,EAAE;CACR,CAAC;AAEF,8EAA8E;AAE9E,MAAM,IAAI,GAAiC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC3D,cAAK,KAAK,EAAC,iBAAiB,EAAC,KAAK,EAAE,UAAU,YAC3C,QAAQ,GACL,CACP,CAAC;AAEF,MAAM,MAAM,GAAiC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC7D,cAAK,KAAK,EAAC,mBAAmB,EAAC,KAAK,EAAE,YAAY,YAC/C,QAAQ,GACL,CACP,CAAC;AAEF,MAAM,KAAK,GAAiC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC5D,cAAK,KAAK,EAAC,kBAAkB,EAAC,KAAK,EAAE,WAAW,YAC7C,QAAQ,GACL,CACP,CAAC;AAEF,MAAM,MAAM,GAAiC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC7D,cAAK,KAAK,EAAC,mBAAmB,EAAC,KAAK,EAAE,YAAY,YAC/C,QAAQ,GACL,CACP,CAAC;AAiBF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,GAAgC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC7D,cAAK,KAAK,EAAC,YAAY,EAAC,KAAK,EAAE,SAAS,YACrC,QAAQ,GACL,CACP,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAiB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;IACtD,IAAI;IACJ,MAAM;IACN,KAAK;IACL,MAAM;CACP,CAAC,CAAC"}
1
+ {"version":3,"file":"HUD.js","sourceRoot":"","sources":["../../src/hud/HUD.tsx"],"names":[],"mappings":";AAwBA,8EAA8E;AAE9E,MAAM,SAAS,GAAoC;IACjD,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,EAAE;IACV,aAAa,EAAE,MAAM;IACrB,OAAO,EAAE,MAAM;IACf,mBAAmB,EAAE,cAAc;IACnC,gBAAgB,EAAE,eAAe;IACjC,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,YAAY;IACvB,UAAU,EAAE,gCAAgC;CAC7C,CAAC;AAEF,oBAAoB;AAEpB,MAAM,cAAc,GAAoC;IACtD,UAAU,EAAE,GAAG;IACf,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,UAAU,EAAE,YAAY;IACxB,GAAG,EAAE,CAAC;CACP,CAAC;AAEF,MAAM,gBAAgB,GAAoC;IACxD,UAAU,EAAE,GAAG;IACf,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,UAAU,EAAE,QAAQ;IACpB,GAAG,EAAE,CAAC;CACP,CAAC;AAEF,MAAM,eAAe,GAAoC;IACvD,UAAU,EAAE,GAAG;IACf,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,UAAU,EAAE,UAAU;IACtB,GAAG,EAAE,CAAC;CACP,CAAC;AAEF,uBAAuB;AAEvB,MAAM,iBAAiB,GAAoC;IACzD,UAAU,EAAE,GAAG;IACf,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,UAAU,EAAE,YAAY;IACxB,cAAc,EAAE,UAAU;IAC1B,GAAG,EAAE,CAAC;CACP,CAAC;AAEF,MAAM,mBAAmB,GAAoC;IAC3D,UAAU,EAAE,GAAG;IACf,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,KAAK;IACpB,UAAU,EAAE,UAAU;IACtB,cAAc,EAAE,QAAQ;IACxB,GAAG,EAAE,EAAE;CACR,CAAC;AAEF,MAAM,kBAAkB,GAAoC;IAC1D,UAAU,EAAE,GAAG;IACf,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,UAAU,EAAE,UAAU;IACtB,cAAc,EAAE,UAAU;IAC1B,GAAG,EAAE,CAAC;CACP,CAAC;AAEF,8EAA8E;AAE9E,MAAM,OAAO,GAAiC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC9D,cAAK,KAAK,EAAC,qBAAqB,EAAC,KAAK,EAAE,cAAc,YAAG,QAAQ,GAAO,CACzE,CAAC;AAEF,MAAM,SAAS,GAAiC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAChE,cAAK,KAAK,EAAC,uBAAuB,EAAC,KAAK,EAAE,gBAAgB,YAAG,QAAQ,GAAO,CAC7E,CAAC;AAEF,MAAM,QAAQ,GAAiC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC/D,cAAK,KAAK,EAAC,sBAAsB,EAAC,KAAK,EAAE,eAAe,YAAG,QAAQ,GAAO,CAC3E,CAAC;AAEF,MAAM,UAAU,GAAiC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CACjE,cAAK,KAAK,EAAC,wBAAwB,EAAC,KAAK,EAAE,iBAAiB,YAAG,QAAQ,GAAO,CAC/E,CAAC;AAEF,MAAM,YAAY,GAAiC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CACnE,cAAK,KAAK,EAAC,0BAA0B,EAAC,KAAK,EAAE,mBAAmB,YAAG,QAAQ,GAAO,CACnF,CAAC;AAEF,MAAM,WAAW,GAAiC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAClE,cAAK,KAAK,EAAC,yBAAyB,EAAC,KAAK,EAAE,kBAAkB,YAAG,QAAQ,GAAO,CACjF,CAAC;AAyBF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,OAAO,GAAgC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC7D,cAAK,KAAK,EAAC,YAAY,EAAC,KAAK,EAAE,SAAS,YACrC,QAAQ,GACL,CACP,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAiB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;IACtD,YAAY;IACZ,OAAO;IACP,SAAS;IACT,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,WAAW;IACX,iBAAiB;IACjB,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,YAAY;CACrB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@joydle/ui",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",