@m3e/drawer-container 1.0.0-rc.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 (39) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +139 -0
  3. package/cem.config.mjs +16 -0
  4. package/demo/index.html +88 -0
  5. package/dist/css-custom-data.json +57 -0
  6. package/dist/custom-elements.json +569 -0
  7. package/dist/html-custom-data.json +49 -0
  8. package/dist/index.js +620 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/index.min.js +209 -0
  11. package/dist/index.min.js.map +1 -0
  12. package/dist/src/DrawerContainerElement.d.ts +105 -0
  13. package/dist/src/DrawerContainerElement.d.ts.map +1 -0
  14. package/dist/src/DrawerMode.d.ts +3 -0
  15. package/dist/src/DrawerMode.d.ts.map +1 -0
  16. package/dist/src/DrawerPosition.d.ts +3 -0
  17. package/dist/src/DrawerPosition.d.ts.map +1 -0
  18. package/dist/src/DrawerToggleElement.d.ts +48 -0
  19. package/dist/src/DrawerToggleElement.d.ts.map +1 -0
  20. package/dist/src/index.d.ts +5 -0
  21. package/dist/src/index.d.ts.map +1 -0
  22. package/dist/src/styles/DrawerContainerStyle.d.ts +7 -0
  23. package/dist/src/styles/DrawerContainerStyle.d.ts.map +1 -0
  24. package/dist/src/styles/DrawerContainerToken.d.ts +16 -0
  25. package/dist/src/styles/DrawerContainerToken.d.ts.map +1 -0
  26. package/dist/src/styles/index.d.ts +2 -0
  27. package/dist/src/styles/index.d.ts.map +1 -0
  28. package/eslint.config.mjs +13 -0
  29. package/package.json +49 -0
  30. package/rollup.config.js +32 -0
  31. package/src/DrawerContainerElement.ts +244 -0
  32. package/src/DrawerMode.ts +2 -0
  33. package/src/DrawerPosition.ts +2 -0
  34. package/src/DrawerToggleElement.ts +123 -0
  35. package/src/index.ts +4 -0
  36. package/src/styles/DrawerContainerStyle.ts +178 -0
  37. package/src/styles/DrawerContainerToken.ts +19 -0
  38. package/src/styles/index.ts +1 -0
  39. package/tsconfig.json +9 -0
@@ -0,0 +1,569 @@
1
+ {
2
+ "schemaVersion": "1.0.0",
3
+ "readme": "",
4
+ "modules": [
5
+ {
6
+ "kind": "javascript-module",
7
+ "path": "src/DrawerContainerElement.ts",
8
+ "declarations": [
9
+ {
10
+ "kind": "class",
11
+ "description": "",
12
+ "name": "M3eDrawerContainerElement",
13
+ "cssProperties": [
14
+ {
15
+ "description": "The background color of the drawer container.",
16
+ "name": "--m3e-drawer-container-color"
17
+ },
18
+ {
19
+ "description": "The elevation level of the drawer container.",
20
+ "name": "--m3e-drawer-container-elevation"
21
+ },
22
+ {
23
+ "description": "The width of the drawer container.",
24
+ "name": "--m3e-drawer-container-width"
25
+ },
26
+ {
27
+ "description": "The opacity of the scrim behind the drawer.",
28
+ "name": "--m3e-drawer-container-scrim-opacity"
29
+ },
30
+ {
31
+ "description": "The shape of the drawer’s start edge (typically left in LTR).",
32
+ "name": "--m3e-modal-drawer-start-shape"
33
+ },
34
+ {
35
+ "description": "The shape of the drawer’s end edge (typically right in LTR).",
36
+ "name": "--m3e-modal-drawer-end-shape"
37
+ },
38
+ {
39
+ "description": "The background color of the modal drawer container.",
40
+ "name": "--m3e-modal-drawer-container-color"
41
+ },
42
+ {
43
+ "description": "The elevation level of the modal drawer container.",
44
+ "name": "--m3e-modal-drawer-elevation"
45
+ },
46
+ {
47
+ "description": "The color of the divider between drawer sections.",
48
+ "name": "--m3e-drawer-divider-color"
49
+ },
50
+ {
51
+ "description": "The thickness of the divider line.",
52
+ "name": "--m3e-drawer-divider-thickness"
53
+ }
54
+ ],
55
+ "slots": [
56
+ {
57
+ "description": "Renders the main content.",
58
+ "name": ""
59
+ },
60
+ {
61
+ "description": "Renders the start drawer.",
62
+ "name": "start"
63
+ },
64
+ {
65
+ "description": "Renders the end drawer.",
66
+ "name": "end"
67
+ }
68
+ ],
69
+ "members": [
70
+ {
71
+ "kind": "field",
72
+ "name": "_startMode",
73
+ "type": {
74
+ "text": "Exclude<DrawerMode, \"auto\">"
75
+ },
76
+ "privacy": "private",
77
+ "default": "\"side\""
78
+ },
79
+ {
80
+ "kind": "field",
81
+ "name": "_endMode",
82
+ "type": {
83
+ "text": "Exclude<DrawerMode, \"auto\">"
84
+ },
85
+ "privacy": "private",
86
+ "default": "\"side\""
87
+ },
88
+ {
89
+ "kind": "field",
90
+ "name": "#breakpointUnobserve",
91
+ "privacy": "private",
92
+ "type": {
93
+ "text": "() => void | undefined"
94
+ }
95
+ },
96
+ {
97
+ "kind": "field",
98
+ "name": "#disableStartFocusTrap",
99
+ "privacy": "private",
100
+ "type": {
101
+ "text": "boolean"
102
+ },
103
+ "default": "false"
104
+ },
105
+ {
106
+ "kind": "field",
107
+ "name": "#disableEndFocusTrap",
108
+ "privacy": "private",
109
+ "type": {
110
+ "text": "boolean"
111
+ },
112
+ "default": "false"
113
+ },
114
+ {
115
+ "kind": "field",
116
+ "name": "#initialized",
117
+ "privacy": "private",
118
+ "type": {
119
+ "text": "boolean"
120
+ },
121
+ "default": "false"
122
+ },
123
+ {
124
+ "kind": "field",
125
+ "name": "start",
126
+ "type": {
127
+ "text": "boolean"
128
+ },
129
+ "default": "false",
130
+ "description": "Whether the start drawer is open.",
131
+ "attribute": "start",
132
+ "reflects": true
133
+ },
134
+ {
135
+ "kind": "field",
136
+ "name": "startMode",
137
+ "type": {
138
+ "text": "DrawerMode"
139
+ },
140
+ "default": "\"side\"",
141
+ "description": "The behavior mode of the start drawer.",
142
+ "attribute": "start-mode",
143
+ "reflects": true
144
+ },
145
+ {
146
+ "kind": "field",
147
+ "name": "startDivider",
148
+ "type": {
149
+ "text": "boolean"
150
+ },
151
+ "default": "false",
152
+ "description": "Whether to show a divider between the start drawer and content for `side` mode.",
153
+ "attribute": "start-divider",
154
+ "reflects": true
155
+ },
156
+ {
157
+ "kind": "field",
158
+ "name": "end",
159
+ "type": {
160
+ "text": "boolean"
161
+ },
162
+ "default": "false",
163
+ "description": "Whether the end drawer is open.",
164
+ "attribute": "end",
165
+ "reflects": true
166
+ },
167
+ {
168
+ "kind": "field",
169
+ "name": "endMode",
170
+ "type": {
171
+ "text": "DrawerMode"
172
+ },
173
+ "default": "\"side\"",
174
+ "description": "The behavior mode of the end drawer.",
175
+ "attribute": "end-mode",
176
+ "reflects": true
177
+ },
178
+ {
179
+ "kind": "field",
180
+ "name": "endDivider",
181
+ "type": {
182
+ "text": "boolean"
183
+ },
184
+ "default": "false",
185
+ "description": "Whether to show a divider between the end drawer and content for `side` mode.",
186
+ "attribute": "end-divider",
187
+ "reflects": true
188
+ },
189
+ {
190
+ "kind": "method",
191
+ "name": "#handleScrimClick",
192
+ "privacy": "private"
193
+ },
194
+ {
195
+ "kind": "method",
196
+ "name": "#handleStartSlotChange",
197
+ "privacy": "private",
198
+ "return": {
199
+ "type": {
200
+ "text": "void"
201
+ }
202
+ },
203
+ "parameters": [
204
+ {
205
+ "name": "e",
206
+ "type": {
207
+ "text": "Event"
208
+ }
209
+ }
210
+ ]
211
+ },
212
+ {
213
+ "kind": "method",
214
+ "name": "#handleEndSlotChange",
215
+ "privacy": "private",
216
+ "return": {
217
+ "type": {
218
+ "text": "void"
219
+ }
220
+ },
221
+ "parameters": [
222
+ {
223
+ "name": "e",
224
+ "type": {
225
+ "text": "Event"
226
+ }
227
+ }
228
+ ]
229
+ },
230
+ {
231
+ "kind": "method",
232
+ "name": "#clearMode",
233
+ "privacy": "private",
234
+ "return": {
235
+ "type": {
236
+ "text": "void"
237
+ }
238
+ }
239
+ },
240
+ {
241
+ "kind": "method",
242
+ "name": "#updateMode",
243
+ "privacy": "private",
244
+ "parameters": [
245
+ {
246
+ "name": "breakpoints",
247
+ "optional": true,
248
+ "type": {
249
+ "text": "Map<string, boolean>"
250
+ }
251
+ },
252
+ {
253
+ "name": "autoClose",
254
+ "default": "false"
255
+ }
256
+ ]
257
+ }
258
+ ],
259
+ "events": [
260
+ {
261
+ "name": "change",
262
+ "type": {
263
+ "text": "Event"
264
+ },
265
+ "description": "Emitted when the state of the start or end drawers change."
266
+ }
267
+ ],
268
+ "attributes": [
269
+ {
270
+ "description": "Whether the end drawer is open.",
271
+ "name": "end",
272
+ "type": {
273
+ "text": "boolean"
274
+ },
275
+ "default": "false",
276
+ "fieldName": "end"
277
+ },
278
+ {
279
+ "description": "The behavior mode of the end drawer.",
280
+ "name": "end-mode",
281
+ "type": {
282
+ "text": "DrawerMode"
283
+ },
284
+ "default": "\"side\"",
285
+ "fieldName": "endMode"
286
+ },
287
+ {
288
+ "description": "Whether to show a divider between the end drawer and content for `side` mode.",
289
+ "name": "end-divider",
290
+ "type": {
291
+ "text": "boolean"
292
+ },
293
+ "default": "false",
294
+ "fieldName": "endDivider"
295
+ },
296
+ {
297
+ "description": "Whether the start drawer is open.",
298
+ "name": "start",
299
+ "type": {
300
+ "text": "boolean"
301
+ },
302
+ "default": "false",
303
+ "fieldName": "start"
304
+ },
305
+ {
306
+ "description": "The behavior mode of the start drawer.",
307
+ "name": "start-mode",
308
+ "type": {
309
+ "text": "DrawerMode"
310
+ },
311
+ "default": "\"side\"",
312
+ "fieldName": "startMode"
313
+ },
314
+ {
315
+ "description": "Whether to show a divider between the start drawer and content for `side` mode.",
316
+ "name": "start-divider",
317
+ "type": {
318
+ "text": "boolean"
319
+ },
320
+ "default": "false",
321
+ "fieldName": "startDivider"
322
+ }
323
+ ],
324
+ "mixins": [
325
+ {
326
+ "name": "Role",
327
+ "package": "@m3e/core"
328
+ }
329
+ ],
330
+ "superclass": {
331
+ "name": "LitElement",
332
+ "package": "lit"
333
+ },
334
+ "tagName": "m3e-drawer-container",
335
+ "customElement": true,
336
+ "summary": "A container for one or two sliding drawers."
337
+ }
338
+ ],
339
+ "exports": [
340
+ {
341
+ "kind": "js",
342
+ "name": "M3eDrawerContainerElement",
343
+ "declaration": {
344
+ "name": "M3eDrawerContainerElement",
345
+ "module": "src/DrawerContainerElement.ts"
346
+ }
347
+ },
348
+ {
349
+ "kind": "custom-element-definition",
350
+ "name": "m3e-drawer-container",
351
+ "declaration": {
352
+ "name": "M3eDrawerContainerElement",
353
+ "module": "src/DrawerContainerElement.ts"
354
+ }
355
+ }
356
+ ]
357
+ },
358
+ {
359
+ "kind": "javascript-module",
360
+ "path": "src/DrawerMode.ts",
361
+ "declarations": [],
362
+ "exports": []
363
+ },
364
+ {
365
+ "kind": "javascript-module",
366
+ "path": "src/DrawerPosition.ts",
367
+ "declarations": [],
368
+ "exports": []
369
+ },
370
+ {
371
+ "kind": "javascript-module",
372
+ "path": "src/DrawerToggleElement.ts",
373
+ "declarations": [
374
+ {
375
+ "kind": "class",
376
+ "description": "An element, nested within a clickable element, used to toggle the opened state of a drawer.",
377
+ "name": "M3eDrawerToggleElement",
378
+ "members": [
379
+ {
380
+ "kind": "field",
381
+ "name": "#clickHandler",
382
+ "privacy": "private",
383
+ "readonly": true
384
+ },
385
+ {
386
+ "kind": "field",
387
+ "name": "#drawerContainerChangeHandler",
388
+ "privacy": "private",
389
+ "readonly": true
390
+ },
391
+ {
392
+ "kind": "method",
393
+ "name": "attach",
394
+ "return": {
395
+ "type": {
396
+ "text": "void"
397
+ }
398
+ },
399
+ "parameters": [
400
+ {
401
+ "name": "control",
402
+ "type": {
403
+ "text": "HTMLElement"
404
+ }
405
+ }
406
+ ]
407
+ },
408
+ {
409
+ "kind": "method",
410
+ "name": "detach",
411
+ "return": {
412
+ "type": {
413
+ "text": "void"
414
+ }
415
+ }
416
+ },
417
+ {
418
+ "kind": "method",
419
+ "name": "#handleClick",
420
+ "privacy": "private",
421
+ "return": {
422
+ "type": {
423
+ "text": "void"
424
+ }
425
+ },
426
+ "parameters": [
427
+ {
428
+ "name": "e",
429
+ "type": {
430
+ "text": "Event"
431
+ }
432
+ }
433
+ ]
434
+ },
435
+ {
436
+ "kind": "method",
437
+ "name": "#handleDrawerContainerChange",
438
+ "privacy": "private",
439
+ "return": {
440
+ "type": {
441
+ "text": "void"
442
+ }
443
+ }
444
+ },
445
+ {
446
+ "kind": "method",
447
+ "name": "#updateToggle",
448
+ "privacy": "private",
449
+ "parameters": [
450
+ {
451
+ "name": "container",
452
+ "type": {
453
+ "text": "M3eDrawerContainerElement"
454
+ }
455
+ },
456
+ {
457
+ "name": "control",
458
+ "type": {
459
+ "text": "HTMLElement"
460
+ }
461
+ }
462
+ ]
463
+ }
464
+ ],
465
+ "mixins": [
466
+ {
467
+ "name": "HtmlFor",
468
+ "package": "@m3e/core"
469
+ },
470
+ {
471
+ "name": "Role",
472
+ "package": "@m3e/core"
473
+ }
474
+ ],
475
+ "superclass": {
476
+ "name": "LitElement",
477
+ "package": "lit"
478
+ },
479
+ "tagName": "m3e-drawer-toggle",
480
+ "customElement": true
481
+ }
482
+ ],
483
+ "exports": [
484
+ {
485
+ "kind": "js",
486
+ "name": "M3eDrawerToggleElement",
487
+ "declaration": {
488
+ "name": "M3eDrawerToggleElement",
489
+ "module": "src/DrawerToggleElement.ts"
490
+ }
491
+ },
492
+ {
493
+ "kind": "custom-element-definition",
494
+ "name": "m3e-drawer-toggle",
495
+ "declaration": {
496
+ "name": "M3eDrawerToggleElement",
497
+ "module": "src/DrawerToggleElement.ts"
498
+ }
499
+ }
500
+ ]
501
+ },
502
+ {
503
+ "kind": "javascript-module",
504
+ "path": "src/index.ts",
505
+ "declarations": [],
506
+ "exports": [
507
+ {
508
+ "kind": "js",
509
+ "name": "*",
510
+ "declaration": {
511
+ "name": "*",
512
+ "package": "\"./DrawerContainerElement\""
513
+ }
514
+ },
515
+ {
516
+ "kind": "js",
517
+ "name": "*",
518
+ "declaration": {
519
+ "name": "*",
520
+ "package": "\"./DrawerMode\""
521
+ }
522
+ },
523
+ {
524
+ "kind": "js",
525
+ "name": "*",
526
+ "declaration": {
527
+ "name": "*",
528
+ "package": "\"./DrawerPosition\""
529
+ }
530
+ },
531
+ {
532
+ "kind": "js",
533
+ "name": "*",
534
+ "declaration": {
535
+ "name": "*",
536
+ "package": "\"./DrawerToggleElement\""
537
+ }
538
+ }
539
+ ]
540
+ },
541
+ {
542
+ "kind": "javascript-module",
543
+ "path": "src/styles/DrawerContainerStyle.ts",
544
+ "declarations": [],
545
+ "exports": []
546
+ },
547
+ {
548
+ "kind": "javascript-module",
549
+ "path": "src/styles/DrawerContainerToken.ts",
550
+ "declarations": [],
551
+ "exports": []
552
+ },
553
+ {
554
+ "kind": "javascript-module",
555
+ "path": "src/styles/index.ts",
556
+ "declarations": [],
557
+ "exports": [
558
+ {
559
+ "kind": "js",
560
+ "name": "*",
561
+ "declaration": {
562
+ "name": "*",
563
+ "package": "\"./DrawerContainerStyle\""
564
+ }
565
+ }
566
+ ]
567
+ }
568
+ ]
569
+ }
@@ -0,0 +1,49 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/microsoft/vscode-html-languageservice/main/docs/customData.schema.json",
3
+ "version": 1.1,
4
+ "tags": [
5
+ {
6
+ "name": "m3e-drawer-container",
7
+ "description": "A container for one or two sliding drawers.\n---\n\n\n### **Events:**\n - **change** - Emitted when the state of the start or end drawers change.\n\n### **Slots:**\n - _default_ - Renders the main content.\n- **start** - Renders the start drawer.\n- **end** - Renders the end drawer.\n\n### **CSS Properties:**\n - **--m3e-drawer-container-color** - The background color of the drawer container. _(default: undefined)_\n- **--m3e-drawer-container-elevation** - The elevation level of the drawer container. _(default: undefined)_\n- **--m3e-drawer-container-width** - The width of the drawer container. _(default: undefined)_\n- **--m3e-drawer-container-scrim-opacity** - The opacity of the scrim behind the drawer. _(default: undefined)_\n- **--m3e-modal-drawer-start-shape** - The shape of the drawer’s start edge (typically left in LTR). _(default: undefined)_\n- **--m3e-modal-drawer-end-shape** - The shape of the drawer’s end edge (typically right in LTR). _(default: undefined)_\n- **--m3e-modal-drawer-container-color** - The background color of the modal drawer container. _(default: undefined)_\n- **--m3e-modal-drawer-elevation** - The elevation level of the modal drawer container. _(default: undefined)_\n- **--m3e-drawer-divider-color** - The color of the divider between drawer sections. _(default: undefined)_\n- **--m3e-drawer-divider-thickness** - The thickness of the divider line. _(default: undefined)_",
8
+ "attributes": [
9
+ {
10
+ "name": "end",
11
+ "description": "Whether the end drawer is open.",
12
+ "values": []
13
+ },
14
+ {
15
+ "name": "end-mode",
16
+ "description": "The behavior mode of the end drawer.",
17
+ "values": [{ "name": "DrawerMode" }]
18
+ },
19
+ {
20
+ "name": "end-divider",
21
+ "description": "Whether to show a divider between the end drawer and content for `side` mode.",
22
+ "values": []
23
+ },
24
+ {
25
+ "name": "start",
26
+ "description": "Whether the start drawer is open.",
27
+ "values": []
28
+ },
29
+ {
30
+ "name": "start-mode",
31
+ "description": "The behavior mode of the start drawer.",
32
+ "values": [{ "name": "DrawerMode" }]
33
+ },
34
+ {
35
+ "name": "start-divider",
36
+ "description": "Whether to show a divider between the start drawer and content for `side` mode.",
37
+ "values": []
38
+ }
39
+ ],
40
+ "references": []
41
+ },
42
+ {
43
+ "name": "m3e-drawer-toggle",
44
+ "description": "An element, nested within a clickable element, used to toggle the opened state of a drawer.\n---\n",
45
+ "attributes": [],
46
+ "references": []
47
+ }
48
+ ]
49
+ }