@ds-gn/ui 0.10.0 → 0.11.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.
Files changed (81) hide show
  1. package/README.md +4 -4
  2. package/custom-elements.json +5511 -2144
  3. package/dist/common/controllers/OverlayDismissController.d.ts +52 -0
  4. package/dist/common/controllers/OverlayPositionController.d.ts +168 -0
  5. package/dist/common/controllers/RovingFocusController.d.ts +99 -0
  6. package/dist/common/helpers/field-control.d.ts +35 -0
  7. package/dist/common/helpers/listbox-navigation.d.ts +50 -0
  8. package/dist/common/props/size/size.props.d.ts +11 -0
  9. package/dist/common/styles/overlay-panel.styles.d.ts +55 -0
  10. package/dist/components/Button/src/Button.d.ts +20 -0
  11. package/dist/components/Button/src/Button.js +28 -0
  12. package/dist/components/DropdownMenu/src/DropdownMenu.d.ts +150 -0
  13. package/dist/components/DropdownMenu/src/DropdownMenu.js +1550 -0
  14. package/dist/components/DropdownMenu/src/DropdownMenu.playground.d.ts +2 -0
  15. package/dist/components/DropdownMenu/src/DropdownMenu.props.d.ts +47 -0
  16. package/dist/components/DropdownMenu/src/DropdownMenu.props.js +54 -0
  17. package/dist/components/DropdownMenu/src/DropdownMenu.styles.d.ts +20 -0
  18. package/dist/components/Field/src/Field.d.ts +39 -0
  19. package/dist/components/Field/src/Field.js +203 -0
  20. package/dist/components/Field/src/Field.playground.d.ts +2 -0
  21. package/dist/components/Field/src/Field.styles.d.ts +6 -0
  22. package/dist/components/Icon/src/Icon.d.ts +5 -0
  23. package/dist/components/Icon/src/Icon.js +3 -0
  24. package/dist/components/Icon/src/icons/arrow-down.d.ts +1 -0
  25. package/dist/components/Icon/src/icons/arrow-down.js +6 -0
  26. package/dist/components/Icon/src/icons/arrow-up.d.ts +1 -0
  27. package/dist/components/Icon/src/icons/arrow-up.js +6 -0
  28. package/dist/components/Icon/src/icons/chevrons-up-down.d.ts +1 -0
  29. package/dist/components/Icon/src/icons/chevrons-up-down.js +6 -0
  30. package/dist/components/Icon/src/icons/cookie.d.ts +1 -0
  31. package/dist/components/Icon/src/icons/cookie.js +6 -0
  32. package/dist/components/Icon/src/icons/icon-names.d.ts +1 -1
  33. package/dist/components/Icon/src/icons/icon-names.js +4 -0
  34. package/dist/components/Icon/src/icons/index.d.ts +4 -0
  35. package/dist/components/Icon/src/icons/index.js +4 -0
  36. package/dist/components/Input/src/Input.d.ts +37 -0
  37. package/dist/components/Input/src/Input.js +300 -143
  38. package/dist/components/Input/src/Input.props.d.ts +2 -1
  39. package/dist/components/Input/src/Input.props.js +12 -6
  40. package/dist/components/Input/src/Input.styles.d.ts +12 -4
  41. package/dist/components/Modal/src/Modal.d.ts +1 -0
  42. package/dist/components/Modal/src/Modal.js +1 -0
  43. package/dist/components/Nav/src/Nav.js +2 -1
  44. package/dist/components/NavLink/src/NavLink.d.ts +14 -30
  45. package/dist/components/NavLink/src/NavLink.js +201 -65
  46. package/dist/components/Select/src/Select.d.ts +157 -0
  47. package/dist/components/Select/src/Select.js +1766 -0
  48. package/dist/components/Select/src/Select.playground.d.ts +2 -0
  49. package/dist/components/Select/src/Select.props.d.ts +19 -0
  50. package/dist/components/Select/src/Select.props.js +40 -0
  51. package/dist/components/Select/src/Select.styles.d.ts +30 -0
  52. package/dist/components/Table/src/Table.d.ts +93 -0
  53. package/dist/components/Table/src/Table.js +1105 -0
  54. package/dist/components/Table/src/Table.playground.d.ts +2 -0
  55. package/dist/components/Table/src/Table.props.d.ts +53 -0
  56. package/dist/components/Table/src/Table.props.js +18 -0
  57. package/dist/components/Table/src/Table.styles.d.ts +33 -0
  58. package/dist/components/Toaster/src/Toaster.d.ts +174 -0
  59. package/dist/components/Toaster/src/Toaster.js +1489 -0
  60. package/dist/components/Toaster/src/Toaster.playground.d.ts +2 -0
  61. package/dist/components/Toaster/src/Toaster.props.d.ts +14 -0
  62. package/dist/components/Toaster/src/Toaster.props.js +81 -0
  63. package/dist/components/Toaster/src/Toaster.styles.d.ts +52 -0
  64. package/dist/components/Toaster/src/toast.d.ts +115 -0
  65. package/dist/components/Toaster/src/toast.js +74 -0
  66. package/dist/playground/types.d.ts +27 -0
  67. package/dist/playground-manifest.d.ts +3 -2
  68. package/dist/playground-manifest.js +507 -7
  69. package/dist/react/DropdownMenu.d.ts +8 -0
  70. package/dist/react/DropdownMenu.js +13 -0
  71. package/dist/react/Field.d.ts +6 -0
  72. package/dist/react/Field.js +13 -0
  73. package/dist/react/Select.d.ts +8 -0
  74. package/dist/react/Select.js +13 -0
  75. package/dist/react/Table.d.ts +8 -0
  76. package/dist/react/Table.js +13 -0
  77. package/dist/react/Toaster.d.ts +8 -0
  78. package/dist/react/Toaster.js +13 -0
  79. package/dist/react/index.d.ts +6 -0
  80. package/dist/react/index.js +6 -0
  81. package/package.json +52 -2
@@ -128,17 +128,21 @@ export const playgroundManifest = [
128
128
  "label": "Icon",
129
129
  "options": [
130
130
  "",
131
+ "arrowDown",
131
132
  "arrowLeft",
132
133
  "arrowRight",
134
+ "arrowUp",
133
135
  "calendar",
134
136
  "check",
135
137
  "chevronDown",
136
138
  "chevronLeft",
137
139
  "chevronRight",
138
140
  "chevronUp",
141
+ "chevronsUpDown",
139
142
  "circleAlert",
140
143
  "circleCheck",
141
144
  "circleX",
145
+ "cookie",
142
146
  "copy",
143
147
  "download",
144
148
  "ellipsis",
@@ -275,6 +279,159 @@ export const playgroundManifest = [
275
279
  }
276
280
  ]
277
281
  },
282
+ {
283
+ "tag": "dsgn-dropdown-menu",
284
+ "module": "@ds-gn/ui/dropdown-menu",
285
+ "props": [
286
+ {
287
+ "name": "surface",
288
+ "attribute": "surface",
289
+ "control": "select",
290
+ "default": "dark",
291
+ "label": "Surface",
292
+ "options": [
293
+ "dark",
294
+ "light"
295
+ ],
296
+ "includeDefault": true
297
+ },
298
+ {
299
+ "name": "size",
300
+ "attribute": "size",
301
+ "control": "select",
302
+ "default": "md",
303
+ "label": "Size",
304
+ "options": [
305
+ "sm",
306
+ "md",
307
+ "lg"
308
+ ]
309
+ },
310
+ {
311
+ "name": "align",
312
+ "attribute": "align",
313
+ "control": "select",
314
+ "default": "start",
315
+ "label": "Align",
316
+ "options": [
317
+ "start",
318
+ "end"
319
+ ]
320
+ },
321
+ {
322
+ "name": "label",
323
+ "attribute": "label",
324
+ "control": "text",
325
+ "default": "",
326
+ "label": "Menu label"
327
+ }
328
+ ],
329
+ "slots": [],
330
+ "nested": [
331
+ {
332
+ "tag": "dsgn-button",
333
+ "slot": "trigger",
334
+ "label": "Trigger",
335
+ "props": {
336
+ "appearance": "outline",
337
+ "iconName": "chevronDown",
338
+ "iconPosition": "trailing"
339
+ },
340
+ "slots": {
341
+ "default": "Actions"
342
+ }
343
+ }
344
+ ],
345
+ "data": {
346
+ "items": [
347
+ {
348
+ "value": "view",
349
+ "label": "View profile",
350
+ "icon": "user"
351
+ },
352
+ {
353
+ "value": "copy-email",
354
+ "label": "Copy email",
355
+ "icon": "copy",
356
+ "shortcut": "⌘C"
357
+ },
358
+ {
359
+ "value": "change-role",
360
+ "label": "Change role…",
361
+ "icon": "settings"
362
+ },
363
+ {
364
+ "value": "resend-invite",
365
+ "label": "Resend invite",
366
+ "icon": "mail",
367
+ "disabled": true
368
+ },
369
+ {
370
+ "separator": true
371
+ },
372
+ {
373
+ "value": "remove",
374
+ "label": "Remove member",
375
+ "icon": "trash2",
376
+ "variant": "danger"
377
+ }
378
+ ]
379
+ }
380
+ },
381
+ {
382
+ "tag": "dsgn-field",
383
+ "module": "@ds-gn/ui/field",
384
+ "props": [
385
+ {
386
+ "name": "label",
387
+ "attribute": "label",
388
+ "control": "text",
389
+ "default": "Alert email",
390
+ "label": "Label"
391
+ },
392
+ {
393
+ "name": "hint",
394
+ "attribute": "hint",
395
+ "control": "text",
396
+ "default": "We warn this address 7 days before expiry.",
397
+ "label": "Hint"
398
+ },
399
+ {
400
+ "name": "error",
401
+ "attribute": "error",
402
+ "control": "text",
403
+ "default": "",
404
+ "label": "Error"
405
+ },
406
+ {
407
+ "name": "required",
408
+ "attribute": "required",
409
+ "control": "boolean",
410
+ "default": true,
411
+ "label": "Required"
412
+ },
413
+ {
414
+ "name": "size",
415
+ "attribute": "size",
416
+ "control": "select",
417
+ "default": "md",
418
+ "label": "Size",
419
+ "options": [
420
+ "sm",
421
+ "md",
422
+ "lg"
423
+ ]
424
+ }
425
+ ],
426
+ "slots": [],
427
+ "nested": [
428
+ {
429
+ "tag": "dsgn-input",
430
+ "slot": "",
431
+ "label": "Input"
432
+ }
433
+ ]
434
+ },
278
435
  {
279
436
  "tag": "dsgn-heading",
280
437
  "module": "@ds-gn/ui/heading",
@@ -429,6 +586,20 @@ export const playgroundManifest = [
429
586
  "default": "you@example.com",
430
587
  "label": "Placeholder"
431
588
  },
589
+ {
590
+ "name": "hint",
591
+ "attribute": "hint",
592
+ "control": "text",
593
+ "default": "We warn this address 7 days before expiry.",
594
+ "label": "Hint"
595
+ },
596
+ {
597
+ "name": "error",
598
+ "attribute": "error",
599
+ "control": "text",
600
+ "default": "",
601
+ "label": "Error"
602
+ },
432
603
  {
433
604
  "name": "value",
434
605
  "attribute": "value",
@@ -443,6 +614,13 @@ export const playgroundManifest = [
443
614
  "default": false,
444
615
  "label": "Disabled"
445
616
  },
617
+ {
618
+ "name": "readOnly",
619
+ "attribute": "readonly",
620
+ "control": "boolean",
621
+ "default": false,
622
+ "label": "Read-only"
623
+ },
446
624
  {
447
625
  "name": "required",
448
626
  "attribute": "required",
@@ -469,13 +647,6 @@ export const playgroundManifest = [
469
647
  ],
470
648
  "includeDefault": true
471
649
  },
472
- {
473
- "name": "open",
474
- "attribute": "open",
475
- "control": "boolean",
476
- "default": false,
477
- "label": "Open"
478
- },
479
650
  {
480
651
  "name": "placement",
481
652
  "attribute": "placement",
@@ -551,6 +722,335 @@ export const playgroundManifest = [
551
722
  "label": "Content"
552
723
  }
553
724
  ]
725
+ },
726
+ {
727
+ "tag": "dsgn-select",
728
+ "module": "@ds-gn/ui/select",
729
+ "props": [
730
+ {
731
+ "name": "surface",
732
+ "attribute": "surface",
733
+ "control": "select",
734
+ "default": "dark",
735
+ "label": "Surface",
736
+ "options": [
737
+ "dark",
738
+ "light"
739
+ ],
740
+ "includeDefault": true
741
+ },
742
+ {
743
+ "name": "size",
744
+ "attribute": "size",
745
+ "control": "select",
746
+ "default": "md",
747
+ "label": "Size",
748
+ "options": [
749
+ "sm",
750
+ "md",
751
+ "lg"
752
+ ]
753
+ },
754
+ {
755
+ "name": "label",
756
+ "attribute": "label",
757
+ "control": "text",
758
+ "default": "Framework adapter",
759
+ "label": "Label"
760
+ },
761
+ {
762
+ "name": "placeholder",
763
+ "attribute": "placeholder",
764
+ "control": "text",
765
+ "default": "Choose an adapter",
766
+ "label": "Placeholder"
767
+ },
768
+ {
769
+ "name": "hint",
770
+ "attribute": "hint",
771
+ "control": "text",
772
+ "default": "Used for generated wrappers.",
773
+ "label": "Hint"
774
+ },
775
+ {
776
+ "name": "error",
777
+ "attribute": "error",
778
+ "control": "text",
779
+ "default": "",
780
+ "label": "Error"
781
+ },
782
+ {
783
+ "name": "value",
784
+ "attribute": "value",
785
+ "control": "select",
786
+ "default": "",
787
+ "label": "Value",
788
+ "options": [
789
+ "",
790
+ "react",
791
+ "vue",
792
+ "svelte",
793
+ "lit",
794
+ "vanilla",
795
+ "angular"
796
+ ]
797
+ },
798
+ {
799
+ "name": "name",
800
+ "attribute": "name",
801
+ "control": "text",
802
+ "default": "adapter",
803
+ "label": "Name"
804
+ },
805
+ {
806
+ "name": "required",
807
+ "attribute": "required",
808
+ "control": "boolean",
809
+ "default": false,
810
+ "label": "Required"
811
+ },
812
+ {
813
+ "name": "disabled",
814
+ "attribute": "disabled",
815
+ "control": "boolean",
816
+ "default": false,
817
+ "label": "Disabled"
818
+ }
819
+ ],
820
+ "slots": [],
821
+ "data": {
822
+ "options": [
823
+ {
824
+ "value": "react",
825
+ "label": "React"
826
+ },
827
+ {
828
+ "value": "vue",
829
+ "label": "Vue"
830
+ },
831
+ {
832
+ "value": "svelte",
833
+ "label": "Svelte"
834
+ },
835
+ {
836
+ "value": "lit",
837
+ "label": "Lit"
838
+ },
839
+ {
840
+ "value": "vanilla",
841
+ "label": "Vanilla JS"
842
+ },
843
+ {
844
+ "value": "angular",
845
+ "label": "Angular",
846
+ "disabled": true,
847
+ "tag": "soon"
848
+ }
849
+ ]
850
+ }
851
+ },
852
+ {
853
+ "tag": "dsgn-table",
854
+ "module": "@ds-gn/ui/table",
855
+ "props": [
856
+ {
857
+ "name": "caption",
858
+ "attribute": "caption",
859
+ "control": "text",
860
+ "default": "Members",
861
+ "label": "Caption",
862
+ "includeDefault": true
863
+ },
864
+ {
865
+ "name": "captionMeta",
866
+ "attribute": "caption-meta",
867
+ "control": "text",
868
+ "default": "4 people",
869
+ "label": "Caption meta"
870
+ },
871
+ {
872
+ "name": "size",
873
+ "attribute": "size",
874
+ "control": "select",
875
+ "default": "md",
876
+ "label": "Size",
877
+ "options": [
878
+ "sm",
879
+ "md",
880
+ "lg"
881
+ ]
882
+ },
883
+ {
884
+ "name": "surface",
885
+ "attribute": "surface",
886
+ "control": "select",
887
+ "default": "dark",
888
+ "label": "Surface",
889
+ "options": [
890
+ "light",
891
+ "dark"
892
+ ]
893
+ }
894
+ ],
895
+ "slots": [],
896
+ "data": {
897
+ "columns": [
898
+ {
899
+ "key": "name",
900
+ "label": "Name",
901
+ "sortable": true
902
+ },
903
+ {
904
+ "key": "role",
905
+ "label": "Role",
906
+ "sortable": true
907
+ },
908
+ {
909
+ "key": "joined",
910
+ "label": "Joined",
911
+ "numeric": true,
912
+ "sortable": true
913
+ }
914
+ ],
915
+ "rows": [
916
+ {
917
+ "id": "alex",
918
+ "name": "Alex Karpov",
919
+ "role": "Owner",
920
+ "joined": "2026-01-14"
921
+ },
922
+ {
923
+ "id": "hana",
924
+ "name": "Hana Sato",
925
+ "role": "Member",
926
+ "joined": "2026-08-12"
927
+ },
928
+ {
929
+ "id": "lena",
930
+ "name": "Lena Fischer",
931
+ "role": "Member",
932
+ "joined": "2026-10-02"
933
+ },
934
+ {
935
+ "id": "priya",
936
+ "name": "Priya Natarajan",
937
+ "role": "Admin",
938
+ "joined": "2026-03-30"
939
+ }
940
+ ],
941
+ "sort": {
942
+ "column": "name",
943
+ "direction": "ascending"
944
+ }
945
+ }
946
+ },
947
+ {
948
+ "tag": "dsgn-toaster",
949
+ "module": "@ds-gn/ui/toaster",
950
+ "props": [
951
+ {
952
+ "name": "surface",
953
+ "attribute": "surface",
954
+ "control": "select",
955
+ "default": "dark",
956
+ "label": "Surface",
957
+ "options": [
958
+ "dark",
959
+ "light"
960
+ ],
961
+ "includeDefault": true
962
+ },
963
+ {
964
+ "name": "maxVisible",
965
+ "attribute": "max-visible",
966
+ "control": "select",
967
+ "default": "3",
968
+ "label": "Max visible",
969
+ "options": [
970
+ "1",
971
+ "2",
972
+ "3",
973
+ "4",
974
+ "5"
975
+ ]
976
+ },
977
+ {
978
+ "name": "label",
979
+ "attribute": "label",
980
+ "control": "text",
981
+ "default": "Notifications",
982
+ "label": "Region label",
983
+ "includeDefault": true
984
+ },
985
+ {
986
+ "name": "dismissLabel",
987
+ "attribute": "dismiss-label",
988
+ "control": "text",
989
+ "default": "Dismiss notification",
990
+ "label": "Dismiss label",
991
+ "includeDefault": true
992
+ },
993
+ {
994
+ "name": "queuedLabel",
995
+ "attribute": "queued-label",
996
+ "control": "text",
997
+ "default": "+{count} queued",
998
+ "label": "Queued label",
999
+ "includeDefault": true
1000
+ },
1001
+ {
1002
+ "name": "pausedLabel",
1003
+ "attribute": "paused-label",
1004
+ "control": "text",
1005
+ "default": "paused",
1006
+ "label": "Paused label",
1007
+ "includeDefault": true
1008
+ }
1009
+ ],
1010
+ "slots": [],
1011
+ "triggers": [
1012
+ {
1013
+ "label": "toast.info('Sync started')",
1014
+ "options": {
1015
+ "variant": "info",
1016
+ "title": "Sync started",
1017
+ "description": "Tokens are recompiling for every adapter."
1018
+ }
1019
+ },
1020
+ {
1021
+ "label": "toast.success('Changes saved')",
1022
+ "options": {
1023
+ "variant": "success",
1024
+ "title": "Changes saved",
1025
+ "description": "Token overrides were published."
1026
+ }
1027
+ },
1028
+ {
1029
+ "label": "toast.warning('Connection unstable')",
1030
+ "options": {
1031
+ "variant": "warning",
1032
+ "title": "Connection unstable",
1033
+ "description": "Edits are queued until you reconnect."
1034
+ }
1035
+ },
1036
+ {
1037
+ "label": "toast.error('Couldn’t publish', { actions: [{ label: 'Retry' }] })",
1038
+ "options": {
1039
+ "variant": "error",
1040
+ "title": "Couldn’t publish",
1041
+ "description": "The registry rejected the request.",
1042
+ "actions": [
1043
+ {
1044
+ "label": "Retry"
1045
+ }
1046
+ ]
1047
+ }
1048
+ },
1049
+ {
1050
+ "label": "toast.dismiss()",
1051
+ "dismiss": true
1052
+ }
1053
+ ]
554
1054
  }
555
1055
  ];
556
1056
  export default playgroundManifest;
@@ -0,0 +1,8 @@
1
+ import { DropdownMenu as DropdownMenuElement } from '@ds-gn/ui/dropdown-menu';
2
+ /**
3
+ * React wrapper for the `<dsgn-dropdown-menu>` element. Import-safe under Node SSR: emits an
4
+ * inert `<dsgn-dropdown-menu>` tag on the server and upgrades on the client.
5
+ */
6
+ export declare const DropdownMenu: import("@lit/react").ReactWebComponent<DropdownMenuElement, {
7
+ onDsgnSelect: string;
8
+ }>;
@@ -0,0 +1,13 @@
1
+ // frameworks/react/DropdownMenu.ts
2
+ import { DropdownMenu as DropdownMenuElement } from "@ds-gn/ui/dropdown-menu";
3
+ import { createComponent } from "@lit/react";
4
+ import * as React from "react";
5
+ var DropdownMenu = createComponent({
6
+ react: React,
7
+ tagName: "dsgn-dropdown-menu",
8
+ elementClass: DropdownMenuElement,
9
+ events: { onDsgnSelect: "dsgn-select" }
10
+ });
11
+ export {
12
+ DropdownMenu
13
+ };
@@ -0,0 +1,6 @@
1
+ import { Field as FieldElement } from '@ds-gn/ui/field';
2
+ /**
3
+ * React wrapper for the `<dsgn-field>` element. Import-safe under Node SSR: emits an
4
+ * inert `<dsgn-field>` tag on the server and upgrades on the client.
5
+ */
6
+ export declare const Field: import("@lit/react").ReactWebComponent<FieldElement, {}>;
@@ -0,0 +1,13 @@
1
+ // frameworks/react/Field.ts
2
+ import { Field as FieldElement } from "@ds-gn/ui/field";
3
+ import { createComponent } from "@lit/react";
4
+ import * as React from "react";
5
+ var Field = createComponent({
6
+ react: React,
7
+ tagName: "dsgn-field",
8
+ elementClass: FieldElement,
9
+ events: {}
10
+ });
11
+ export {
12
+ Field
13
+ };
@@ -0,0 +1,8 @@
1
+ import { Select as SelectElement } from '@ds-gn/ui/select';
2
+ /**
3
+ * React wrapper for the `<dsgn-select>` element. Import-safe under Node SSR: emits an
4
+ * inert `<dsgn-select>` tag on the server and upgrades on the client.
5
+ */
6
+ export declare const Select: import("@lit/react").ReactWebComponent<SelectElement, {
7
+ onDsgnChange: string;
8
+ }>;
@@ -0,0 +1,13 @@
1
+ // frameworks/react/Select.ts
2
+ import { Select as SelectElement } from "@ds-gn/ui/select";
3
+ import { createComponent } from "@lit/react";
4
+ import * as React from "react";
5
+ var Select = createComponent({
6
+ react: React,
7
+ tagName: "dsgn-select",
8
+ elementClass: SelectElement,
9
+ events: { onDsgnChange: "dsgn-change" }
10
+ });
11
+ export {
12
+ Select
13
+ };
@@ -0,0 +1,8 @@
1
+ import { Table as TableElement } from '@ds-gn/ui/table';
2
+ /**
3
+ * React wrapper for the `<dsgn-table>` element. Import-safe under Node SSR: emits an
4
+ * inert `<dsgn-table>` tag on the server and upgrades on the client.
5
+ */
6
+ export declare const Table: import("@lit/react").ReactWebComponent<TableElement, {
7
+ onDsgnSort: string;
8
+ }>;
@@ -0,0 +1,13 @@
1
+ // frameworks/react/Table.ts
2
+ import { Table as TableElement } from "@ds-gn/ui/table";
3
+ import { createComponent } from "@lit/react";
4
+ import * as React from "react";
5
+ var Table = createComponent({
6
+ react: React,
7
+ tagName: "dsgn-table",
8
+ elementClass: TableElement,
9
+ events: { onDsgnSort: "dsgn-sort" }
10
+ });
11
+ export {
12
+ Table
13
+ };
@@ -0,0 +1,8 @@
1
+ import { Toaster as ToasterElement } from '@ds-gn/ui/toaster';
2
+ /**
3
+ * React wrapper for the `<dsgn-toaster>` element. Import-safe under Node SSR: emits an
4
+ * inert `<dsgn-toaster>` tag on the server and upgrades on the client.
5
+ */
6
+ export declare const Toaster: import("@lit/react").ReactWebComponent<ToasterElement, {
7
+ onDsgnDismiss: string;
8
+ }>;
@@ -0,0 +1,13 @@
1
+ // frameworks/react/Toaster.ts
2
+ import { Toaster as ToasterElement } from "@ds-gn/ui/toaster";
3
+ import { createComponent } from "@lit/react";
4
+ import * as React from "react";
5
+ var Toaster = createComponent({
6
+ react: React,
7
+ tagName: "dsgn-toaster",
8
+ elementClass: ToasterElement,
9
+ events: { onDsgnDismiss: "dsgn-dismiss" }
10
+ });
11
+ export {
12
+ Toaster
13
+ };