@htmlbricks/hb-layout-desktop 0.71.24 → 0.71.26

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/manifest.json CHANGED
@@ -19,6 +19,19 @@
19
19
  ],
20
20
  "type": "object"
21
21
  },
22
+ "languageChange": {
23
+ "additionalProperties": false,
24
+ "description": "Host updates `i18nlang` on `hb-layout` (or equivalent) and reloads copy.",
25
+ "properties": {
26
+ "code": {
27
+ "type": "string"
28
+ }
29
+ },
30
+ "required": [
31
+ "code"
32
+ ],
33
+ "type": "object"
34
+ },
22
35
  "layoutStatus": {
23
36
  "additionalProperties": false,
24
37
  "properties": {
@@ -91,6 +104,19 @@
91
104
  "page"
92
105
  ],
93
106
  "type": "object"
107
+ },
108
+ "themeChange": {
109
+ "additionalProperties": false,
110
+ "description": "Host applies Bulma/document hooks (`data-theme` / `theme-*` on `html`/`body`) or ignores.",
111
+ "properties": {
112
+ "mode": {
113
+ "$ref": "#/definitions/ThemePreference"
114
+ }
115
+ },
116
+ "required": [
117
+ "mode"
118
+ ],
119
+ "type": "object"
94
120
  }
95
121
  },
96
122
  "required": [
@@ -99,9 +125,19 @@
99
125
  "navbarDropDownClick",
100
126
  "footerClick",
101
127
  "layoutStatus",
102
- "navbarSlotClick"
128
+ "navbarSlotClick",
129
+ "themeChange",
130
+ "languageChange"
103
131
  ],
104
132
  "type": "object"
133
+ },
134
+ "ThemePreference": {
135
+ "enum": [
136
+ "light",
137
+ "dark",
138
+ "auto"
139
+ ],
140
+ "type": "string"
105
141
  }
106
142
  }
107
143
  },
@@ -157,6 +193,19 @@
157
193
  "i18nlang": {
158
194
  "type": "string"
159
195
  },
196
+ "i18nlanguages": {
197
+ "anyOf": [
198
+ {
199
+ "items": {
200
+ "$ref": "#/definitions/I18nLanguageOption"
201
+ },
202
+ "type": "array"
203
+ },
204
+ {
205
+ "type": "string"
206
+ }
207
+ ]
208
+ },
160
209
  "id": {
161
210
  "type": "string"
162
211
  },
@@ -234,6 +283,22 @@
234
283
  },
235
284
  "type": "object"
236
285
  },
286
+ "I18nLanguageOption": {
287
+ "additionalProperties": false,
288
+ "properties": {
289
+ "code": {
290
+ "type": "string"
291
+ },
292
+ "label": {
293
+ "type": "string"
294
+ }
295
+ },
296
+ "required": [
297
+ "code",
298
+ "label"
299
+ ],
300
+ "type": "object"
301
+ },
237
302
  "IAddressContact": {
238
303
  "additionalProperties": false,
239
304
  "properties": {
@@ -1280,7 +1345,7 @@
1280
1345
  }
1281
1346
  }
1282
1347
  ],
1283
- "iifeIntegrity": "sha384-oDAku8rZMlplSb6g/eA4hi5iHWCh4Oos3Jf+ezXB9Ypm8Mv5zEWlWP0N1Hfa7x4S",
1348
+ "iifeIntegrity": "sha384-X0cbak5PGLudJnQc8o9qRKXmENm35rFn/u/6Ro3VrD4XgvHxXT5QxsDSb9K0IN4H",
1284
1349
  "dependencies": [
1285
1350
  {
1286
1351
  "name": "hb-footer",
@@ -1354,5 +1419,5 @@
1354
1419
  },
1355
1420
  "iifePath": "main.iife.js",
1356
1421
  "repoName": "@htmlbricks/hb-layout-desktop",
1357
- "version": "0.71.24"
1422
+ "version": "0.71.26"
1358
1423
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@htmlbricks/hb-layout-desktop",
3
- "version": "0.71.24",
3
+ "version": "0.71.26",
4
4
  "contributors": [],
5
5
  "description": "Desktop layout with top navbar, optional left sidebar (sidebar-desktop) when navigation links are present, main page area, optional cookie-law banner, and footer. The host is fixed to the viewport height (100dvh) so tall slotted content cannot grow the shell or stretch the sidebar; the sidebar rail never exceeds that band. Without `single_screen`, the page column scrolls and includes the cookie banner and footer after the slot; the slot region flexes so slot plus footer (and optional cookie) fill at least the scroll viewport, keeping the footer at the bottom when page content is short. With `single_screen`, cookie and footer sit fixed at the bottom of the main column (always visible) and only the page slot area scrolls; with footer.type auto the footer uses the compact (small) variant. The main row uses CSS Grid (sidebar track + page).",
6
6
  "licenses": [
@@ -50,6 +50,19 @@
50
50
  "i18nlang": {
51
51
  "type": "string"
52
52
  },
53
+ "i18nlanguages": {
54
+ "anyOf": [
55
+ {
56
+ "items": {
57
+ "$ref": "#/definitions/I18nLanguageOption"
58
+ },
59
+ "type": "array"
60
+ },
61
+ {
62
+ "type": "string"
63
+ }
64
+ ]
65
+ },
53
66
  "id": {
54
67
  "type": "string"
55
68
  },
@@ -127,6 +140,22 @@
127
140
  },
128
141
  "type": "object"
129
142
  },
143
+ "I18nLanguageOption": {
144
+ "additionalProperties": false,
145
+ "properties": {
146
+ "code": {
147
+ "type": "string"
148
+ },
149
+ "label": {
150
+ "type": "string"
151
+ }
152
+ },
153
+ "required": [
154
+ "code",
155
+ "label"
156
+ ],
157
+ "type": "object"
158
+ },
130
159
  "IAddressContact": {
131
160
  "additionalProperties": false,
132
161
  "properties": {
@@ -7,9 +7,13 @@ import type {
7
7
  } from "../../footer/types/webcomponent.type";
8
8
  import type { IUserMenu } from "../../navbar/types/webcomponent.type";
9
9
  import type { INavLink } from "../../sidenav-link/types/webcomponent.type";
10
+ import type { Events as SidebarDesktopEvents } from "../../sidebar-desktop/types/webcomponent.type";
11
+
12
+ export type I18nLanguageOption = { code: string; label: string };
10
13
 
11
14
  export type Component = {
12
15
  i18nlang?: string;
16
+ i18nlanguages?: I18nLanguageOption[] | string;
13
17
  id?: string;
14
18
  style?: string;
15
19
  socials?: ISocials;
@@ -40,4 +44,6 @@ export type Events = {
40
44
  footerClick: { elClick: string };
41
45
  layoutStatus: { width: number; size: "large" | "small" };
42
46
  navbarSlotClick: { side: "left" | "right" | "center" };
47
+ themeChange: SidebarDesktopEvents["themeChange"];
48
+ languageChange: SidebarDesktopEvents["languageChange"];
43
49
  };
@@ -17,6 +17,19 @@
17
17
  ],
18
18
  "type": "object"
19
19
  },
20
+ "languageChange": {
21
+ "additionalProperties": false,
22
+ "description": "Host updates `i18nlang` on `hb-layout` (or equivalent) and reloads copy.",
23
+ "properties": {
24
+ "code": {
25
+ "type": "string"
26
+ }
27
+ },
28
+ "required": [
29
+ "code"
30
+ ],
31
+ "type": "object"
32
+ },
20
33
  "layoutStatus": {
21
34
  "additionalProperties": false,
22
35
  "properties": {
@@ -89,6 +102,19 @@
89
102
  "page"
90
103
  ],
91
104
  "type": "object"
105
+ },
106
+ "themeChange": {
107
+ "additionalProperties": false,
108
+ "description": "Host applies Bulma/document hooks (`data-theme` / `theme-*` on `html`/`body`) or ignores.",
109
+ "properties": {
110
+ "mode": {
111
+ "$ref": "#/definitions/ThemePreference"
112
+ }
113
+ },
114
+ "required": [
115
+ "mode"
116
+ ],
117
+ "type": "object"
92
118
  }
93
119
  },
94
120
  "required": [
@@ -97,9 +123,19 @@
97
123
  "navbarDropDownClick",
98
124
  "footerClick",
99
125
  "layoutStatus",
100
- "navbarSlotClick"
126
+ "navbarSlotClick",
127
+ "themeChange",
128
+ "languageChange"
101
129
  ],
102
130
  "type": "object"
131
+ },
132
+ "ThemePreference": {
133
+ "enum": [
134
+ "light",
135
+ "dark",
136
+ "auto"
137
+ ],
138
+ "type": "string"
103
139
  }
104
140
  }
105
141
  }