@metamask/snaps-sdk 5.0.0 → 6.1.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 (59) hide show
  1. package/CHANGELOG.md +35 -1
  2. package/dist/index.js +226 -91
  3. package/dist/index.js.map +1 -1
  4. package/dist/index.mjs +261 -89
  5. package/dist/index.mjs.map +1 -1
  6. package/dist/jsx/index.js +237 -89
  7. package/dist/jsx/index.js.map +1 -1
  8. package/dist/jsx/index.mjs +243 -94
  9. package/dist/jsx/index.mjs.map +1 -1
  10. package/dist/jsx/jsx-dev-runtime.js +167 -51
  11. package/dist/jsx/jsx-dev-runtime.js.map +1 -1
  12. package/dist/jsx/jsx-dev-runtime.mjs +173 -56
  13. package/dist/jsx/jsx-dev-runtime.mjs.map +1 -1
  14. package/dist/tsconfig.build.tsbuildinfo +1 -1
  15. package/dist/types/internals/jsx.d.ts +2 -3
  16. package/dist/types/internals/structs.d.ts +12 -3
  17. package/dist/types/internals/svg.d.ts +1 -1
  18. package/dist/types/jsx/component.d.ts +6 -9
  19. package/dist/types/jsx/components/Box.d.ts +4 -4
  20. package/dist/types/jsx/components/Card.d.ts +36 -0
  21. package/dist/types/jsx/components/Container.d.ts +34 -0
  22. package/dist/types/jsx/components/Footer.d.ts +28 -0
  23. package/dist/types/jsx/components/Link.d.ts +2 -2
  24. package/dist/types/jsx/components/Row.d.ts +1 -1
  25. package/dist/types/jsx/components/Text.d.ts +7 -2
  26. package/dist/types/jsx/components/Tooltip.d.ts +38 -0
  27. package/dist/types/jsx/components/form/Checkbox.d.ts +35 -0
  28. package/dist/types/jsx/components/form/Dropdown.d.ts +4 -5
  29. package/dist/types/jsx/components/form/Field.d.ts +7 -1
  30. package/dist/types/jsx/components/form/FileInput.d.ts +47 -0
  31. package/dist/types/jsx/components/form/Form.d.ts +4 -7
  32. package/dist/types/jsx/components/form/Input.d.ts +1 -2
  33. package/dist/types/jsx/components/form/index.d.ts +5 -1
  34. package/dist/types/jsx/components/formatting/Bold.d.ts +2 -2
  35. package/dist/types/jsx/components/formatting/Italic.d.ts +2 -2
  36. package/dist/types/jsx/components/index.d.ts +9 -1
  37. package/dist/types/jsx/index.d.ts +1 -1
  38. package/dist/types/jsx/validation.d.ts +67 -40
  39. package/dist/types/types/handlers/user-input.d.ts +140 -25
  40. package/dist/types/types/interface.d.ts +32 -24
  41. package/dist/types/types/methods/dialog.d.ts +8 -2
  42. package/dist/types/types/methods/index.d.ts +1 -0
  43. package/dist/types/types/methods/methods.d.ts +2 -0
  44. package/dist/types/types/methods/resolve-interface.d.ts +15 -0
  45. package/dist/types/ui/builder.d.ts +1 -1
  46. package/dist/types/ui/components/address.d.ts +4 -4
  47. package/dist/types/ui/components/button.d.ts +7 -7
  48. package/dist/types/ui/components/copyable.d.ts +5 -5
  49. package/dist/types/ui/components/divider.d.ts +3 -3
  50. package/dist/types/ui/components/form.d.ts +7 -7
  51. package/dist/types/ui/components/heading.d.ts +4 -4
  52. package/dist/types/ui/components/image.d.ts +4 -4
  53. package/dist/types/ui/components/input.d.ts +9 -9
  54. package/dist/types/ui/components/panel.d.ts +1 -1
  55. package/dist/types/ui/components/row.d.ts +6 -6
  56. package/dist/types/ui/components/spinner.d.ts +3 -3
  57. package/dist/types/ui/components/text.d.ts +5 -5
  58. package/dist/types/ui/nodes.d.ts +6 -6
  59. package/package.json +6 -6
package/dist/index.mjs CHANGED
@@ -187,9 +187,11 @@ function getErrorData(error) {
187
187
  import {
188
188
  Struct,
189
189
  define,
190
+ is,
190
191
  literal as superstructLiteral,
191
192
  union as superstructUnion
192
- } from "superstruct";
193
+ } from "@metamask/superstruct";
194
+ import { hasProperty as hasProperty2, isPlainObject } from "@metamask/utils";
193
195
  function literal(value) {
194
196
  return define(
195
197
  JSON.stringify(value),
@@ -209,6 +211,41 @@ function union([
209
211
  function enumValue(constant) {
210
212
  return literal(constant);
211
213
  }
214
+ function typedUnion(structs) {
215
+ return new Struct({
216
+ type: "union",
217
+ schema: null,
218
+ *entries(value, context) {
219
+ if (!isPlainObject(value) || !hasProperty2(value, "type")) {
220
+ return;
221
+ }
222
+ const { type } = value;
223
+ const struct = structs.find(({ schema }) => is(type, schema.type));
224
+ if (!struct) {
225
+ return;
226
+ }
227
+ for (const entry of struct.entries(value, context)) {
228
+ yield entry;
229
+ }
230
+ },
231
+ validator(value, context) {
232
+ const types = structs.map(({ schema }) => schema.type.type);
233
+ if (!isPlainObject(value) || !hasProperty2(value, "type") || typeof value.type !== "string") {
234
+ return `Expected type to be one of: ${types.join(
235
+ ", "
236
+ )}, but received: undefined`;
237
+ }
238
+ const { type } = value;
239
+ const struct = structs.find(({ schema }) => is(type, schema.type));
240
+ if (struct) {
241
+ return struct.validator(value, context);
242
+ }
243
+ return `Expected type to be one of: ${types.join(
244
+ ", "
245
+ )}, but received: "${type}"`;
246
+ }
247
+ });
248
+ }
212
249
 
213
250
  // src/internals/jsx.ts
214
251
  function nullUnion(structs) {
@@ -216,7 +253,7 @@ function nullUnion(structs) {
216
253
  }
217
254
 
218
255
  // src/internals/svg.ts
219
- import { refine, string } from "superstruct";
256
+ import { refine, string } from "@metamask/superstruct";
220
257
  function svg() {
221
258
  return refine(string(), "SVG", (value) => {
222
259
  if (!value.includes("<svg")) {
@@ -266,14 +303,14 @@ var UserRejectedRequestError = createSnapError(
266
303
  import { assert, bytesToBase64 } from "@metamask/utils";
267
304
 
268
305
  // src/ui/components/address.ts
306
+ import { assign as assign2, literal as literal2, object as object2 } from "@metamask/superstruct";
269
307
  import { HexChecksumAddressStruct } from "@metamask/utils";
270
- import { assign as assign2, literal as literal2, object as object2 } from "superstruct";
271
308
 
272
309
  // src/ui/builder.ts
273
- import { assertStruct, isPlainObject } from "@metamask/utils";
310
+ import { assertStruct, isPlainObject as isPlainObject2 } from "@metamask/utils";
274
311
  function createBuilder(type, struct, keys = []) {
275
312
  return (...args) => {
276
- if (args.length === 1 && isPlainObject(args[0])) {
313
+ if (args.length === 1 && isPlainObject2(args[0])) {
277
314
  const node2 = { ...args[0], type };
278
315
  assertStruct(node2, struct, `Invalid ${type} component`);
279
316
  return node2;
@@ -296,7 +333,7 @@ function createBuilder(type, struct, keys = []) {
296
333
  }
297
334
 
298
335
  // src/ui/nodes.ts
299
- import { assign, object, string as string2, unknown } from "superstruct";
336
+ import { assign, object, string as string2, unknown } from "@metamask/superstruct";
300
337
  var NodeType = /* @__PURE__ */ ((NodeType2) => {
301
338
  NodeType2["Copyable"] = "copyable";
302
339
  NodeType2["Divider"] = "divider";
@@ -342,7 +379,7 @@ import {
342
379
  object as object3,
343
380
  optional,
344
381
  string as string3
345
- } from "superstruct";
382
+ } from "@metamask/superstruct";
346
383
  var CopyableStruct = assign3(
347
384
  LiteralStruct,
348
385
  object3({
@@ -357,7 +394,7 @@ var copyable = createBuilder("copyable" /* Copyable */, CopyableStruct, [
357
394
  ]);
358
395
 
359
396
  // src/ui/components/divider.ts
360
- import { assign as assign4, literal as literal4, object as object4 } from "superstruct";
397
+ import { assign as assign4, literal as literal4, object as object4 } from "@metamask/superstruct";
361
398
  var DividerStruct = assign4(
362
399
  NodeStruct,
363
400
  object4({
@@ -367,7 +404,7 @@ var DividerStruct = assign4(
367
404
  var divider = createBuilder("divider" /* Divider */, DividerStruct);
368
405
 
369
406
  // src/ui/components/heading.ts
370
- import { assign as assign5, literal as literal5, object as object5, string as string4 } from "superstruct";
407
+ import { assign as assign5, literal as literal5, object as object5, string as string4 } from "@metamask/superstruct";
371
408
  var HeadingStruct = assign5(
372
409
  LiteralStruct,
373
410
  object5({
@@ -380,7 +417,7 @@ var heading = createBuilder("heading" /* Heading */, HeadingStruct, [
380
417
  ]);
381
418
 
382
419
  // src/ui/components/image.ts
383
- import { assign as assign6, literal as literal6, object as object6 } from "superstruct";
420
+ import { assign as assign6, literal as literal6, object as object6 } from "@metamask/superstruct";
384
421
  var ImageStruct = assign6(
385
422
  NodeStruct,
386
423
  object6({
@@ -391,10 +428,17 @@ var ImageStruct = assign6(
391
428
  var image = createBuilder("image" /* Image */, ImageStruct, ["value"]);
392
429
 
393
430
  // src/ui/components/panel.ts
394
- import { array as array2, assign as assign13, lazy, literal as literal13, object as object13, union as union6 } from "superstruct";
431
+ import { array as array2, assign as assign13, lazy, literal as literal13, object as object13 } from "@metamask/superstruct";
395
432
 
396
433
  // src/ui/components/button.ts
397
- import { assign as assign7, literal as literal7, object as object7, optional as optional2, string as string5, union as union2 } from "superstruct";
434
+ import {
435
+ assign as assign7,
436
+ literal as literal7,
437
+ object as object7,
438
+ optional as optional2,
439
+ string as string5,
440
+ union as union2
441
+ } from "@metamask/superstruct";
398
442
  var ButtonVariant = /* @__PURE__ */ ((ButtonVariant2) => {
399
443
  ButtonVariant2["Primary"] = "primary";
400
444
  ButtonVariant2["Secondary"] = "secondary";
@@ -430,10 +474,24 @@ var button = createBuilder("button" /* Button */, ButtonStruct, [
430
474
  ]);
431
475
 
432
476
  // src/ui/components/form.ts
433
- import { array, assign as assign9, literal as literal9, object as object9, string as string7, union as union4 } from "superstruct";
477
+ import {
478
+ array,
479
+ assign as assign9,
480
+ literal as literal9,
481
+ object as object9,
482
+ string as string7,
483
+ union as union4
484
+ } from "@metamask/superstruct";
434
485
 
435
486
  // src/ui/components/input.ts
436
- import { assign as assign8, literal as literal8, object as object8, optional as optional3, string as string6, union as union3 } from "superstruct";
487
+ import {
488
+ assign as assign8,
489
+ literal as literal8,
490
+ object as object8,
491
+ optional as optional3,
492
+ string as string6,
493
+ union as union3
494
+ } from "@metamask/superstruct";
437
495
  var InputType = /* @__PURE__ */ ((InputType2) => {
438
496
  InputType2["Text"] = "text";
439
497
  InputType2["Number"] = "number";
@@ -482,7 +540,14 @@ var form = createBuilder("form" /* Form */, FormStruct, [
482
540
  ]);
483
541
 
484
542
  // src/ui/components/row.ts
485
- import { assign as assign11, literal as literal11, object as object11, string as string9, optional as optional5, union as union5 } from "superstruct";
543
+ import {
544
+ assign as assign11,
545
+ literal as literal11,
546
+ object as object11,
547
+ string as string9,
548
+ optional as optional5,
549
+ union as union5
550
+ } from "@metamask/superstruct";
486
551
 
487
552
  // src/ui/components/text.ts
488
553
  import {
@@ -492,7 +557,7 @@ import {
492
557
  object as object10,
493
558
  optional as optional4,
494
559
  string as string8
495
- } from "superstruct";
560
+ } from "@metamask/superstruct";
496
561
  var TextStruct = assign10(
497
562
  LiteralStruct,
498
563
  object10({
@@ -536,7 +601,7 @@ var row = createBuilder("row" /* Row */, RowStruct, [
536
601
  ]);
537
602
 
538
603
  // src/ui/components/spinner.ts
539
- import { assign as assign12, literal as literal12, object as object12 } from "superstruct";
604
+ import { assign as assign12, literal as literal12, object as object12 } from "@metamask/superstruct";
540
605
  var SpinnerStruct = assign12(
541
606
  NodeStruct,
542
607
  object12({
@@ -561,7 +626,7 @@ var PanelStruct = assign13(
561
626
  })
562
627
  );
563
628
  var panel = createBuilder("panel" /* Panel */, PanelStruct, ["children"]);
564
- var ComponentStruct = union6([
629
+ var ComponentStruct = typedUnion([
565
630
  CopyableStruct,
566
631
  DividerStruct,
567
632
  HeadingStruct,
@@ -577,10 +642,10 @@ var ComponentStruct = union6([
577
642
  ]);
578
643
 
579
644
  // src/ui/component.ts
645
+ import { is as is2 } from "@metamask/superstruct";
580
646
  import { assertStruct as assertStruct2 } from "@metamask/utils";
581
- import { is } from "superstruct";
582
647
  function isComponent(value) {
583
- return is(value, ComponentStruct);
648
+ return is2(value, ComponentStruct);
584
649
  }
585
650
  function assertIsComponent(value) {
586
651
  assertStruct2(value, ComponentStruct, "Invalid component");
@@ -636,6 +701,7 @@ var SeverityLevel = /* @__PURE__ */ ((SeverityLevel2) => {
636
701
 
637
702
  // src/types/handlers/user-input.ts
638
703
  import {
704
+ number,
639
705
  assign as assign14,
640
706
  literal as literal14,
641
707
  nullable,
@@ -643,12 +709,14 @@ import {
643
709
  optional as optional6,
644
710
  record,
645
711
  string as string10,
646
- union as union7
647
- } from "superstruct";
712
+ union as union6,
713
+ boolean as boolean3
714
+ } from "@metamask/superstruct";
648
715
  var UserInputEventType = /* @__PURE__ */ ((UserInputEventType2) => {
649
716
  UserInputEventType2["ButtonClickEvent"] = "ButtonClickEvent";
650
717
  UserInputEventType2["FormSubmitEvent"] = "FormSubmitEvent";
651
718
  UserInputEventType2["InputChangeEvent"] = "InputChangeEvent";
719
+ UserInputEventType2["FileUploadEvent"] = "FileUploadEvent";
652
720
  return UserInputEventType2;
653
721
  })(UserInputEventType || {});
654
722
  var GenericEventStruct = object14({
@@ -662,11 +730,17 @@ var ButtonClickEventStruct = assign14(
662
730
  name: optional6(string10())
663
731
  })
664
732
  );
733
+ var FileStruct = object14({
734
+ name: string10(),
735
+ size: number(),
736
+ contentType: string10(),
737
+ contents: string10()
738
+ });
665
739
  var FormSubmitEventStruct = assign14(
666
740
  GenericEventStruct,
667
741
  object14({
668
742
  type: literal14("FormSubmitEvent" /* FormSubmitEvent */),
669
- value: record(string10(), nullable(string10())),
743
+ value: record(string10(), nullable(union6([string10(), FileStruct, boolean3()]))),
670
744
  name: string10()
671
745
  })
672
746
  );
@@ -675,13 +749,22 @@ var InputChangeEventStruct = assign14(
675
749
  object14({
676
750
  type: literal14("InputChangeEvent" /* InputChangeEvent */),
677
751
  name: string10(),
678
- value: string10()
752
+ value: union6([string10(), boolean3()])
753
+ })
754
+ );
755
+ var FileUploadEventStruct = assign14(
756
+ GenericEventStruct,
757
+ object14({
758
+ type: literal14("FileUploadEvent" /* FileUploadEvent */),
759
+ name: string10(),
760
+ file: nullable(FileStruct)
679
761
  })
680
762
  );
681
- var UserInputEventStruct = union7([
763
+ var UserInputEventStruct = union6([
682
764
  ButtonClickEventStruct,
683
765
  FormSubmitEventStruct,
684
- InputChangeEventStruct
766
+ InputChangeEventStruct,
767
+ FileUploadEventStruct
685
768
  ]);
686
769
 
687
770
  // src/types/methods/dialog.ts
@@ -716,33 +799,39 @@ var NotificationType = /* @__PURE__ */ ((NotificationType2) => {
716
799
  })(NotificationType || {});
717
800
 
718
801
  // src/types/interface.ts
802
+ import {
803
+ boolean as boolean5,
804
+ nullable as nullable3,
805
+ record as record3,
806
+ string as string12,
807
+ union as union7
808
+ } from "@metamask/superstruct";
719
809
  import { JsonStruct as JsonStruct2 } from "@metamask/utils";
720
- import { nullable as nullable3, record as record3, string as string12, union as union8 } from "superstruct";
721
810
 
722
811
  // src/jsx/validation.ts
723
812
  import {
724
- hasProperty as hasProperty2,
725
- HexChecksumAddressStruct as HexChecksumAddressStruct2,
726
- isPlainObject as isPlainObject2,
727
- JsonStruct
728
- } from "@metamask/utils";
729
- import {
730
- is as is2,
731
- boolean as boolean3,
813
+ is as is3,
814
+ boolean as boolean4,
732
815
  optional as optional7,
733
816
  array as array3,
734
817
  lazy as lazy2,
735
818
  nullable as nullable2,
736
- number,
819
+ number as number2,
737
820
  object as object15,
738
821
  record as record2,
739
822
  string as string11,
740
823
  tuple
741
- } from "superstruct";
742
- var KeyStruct = nullUnion([string11(), number()]);
743
- var StringElementStruct = maybeArray(
824
+ } from "@metamask/superstruct";
825
+ import {
826
+ hasProperty as hasProperty3,
827
+ HexChecksumAddressStruct as HexChecksumAddressStruct2,
828
+ isPlainObject as isPlainObject3,
829
+ JsonStruct
830
+ } from "@metamask/utils";
831
+ var KeyStruct = nullUnion([string11(), number2()]);
832
+ var StringElementStruct = children([
744
833
  string11()
745
- );
834
+ ]);
746
835
  var ElementStruct = object15({
747
836
  type: string11(),
748
837
  props: record2(string11(), JsonStruct),
@@ -755,8 +844,8 @@ function nestable(struct) {
755
844
  ]);
756
845
  return nestableStruct;
757
846
  }
758
- function maybeArray(struct) {
759
- return nestable(struct);
847
+ function children(structs) {
848
+ return nestable(nullable2(nullUnion([...structs, boolean4()])));
760
849
  }
761
850
  function element(name, props = {}) {
762
851
  return object15({
@@ -770,7 +859,13 @@ var ButtonStruct2 = element("Button", {
770
859
  name: optional7(string11()),
771
860
  type: optional7(nullUnion([literal("button"), literal("submit")])),
772
861
  variant: optional7(nullUnion([literal("primary"), literal("destructive")])),
773
- disabled: optional7(boolean3())
862
+ disabled: optional7(boolean4())
863
+ });
864
+ var CheckboxStruct = element("Checkbox", {
865
+ name: string11(),
866
+ checked: optional7(boolean4()),
867
+ label: optional7(string11()),
868
+ variant: optional7(nullUnion([literal("default"), literal("toggle")]))
774
869
  });
775
870
  var InputStruct2 = element("Input", {
776
871
  name: string11(),
@@ -787,42 +882,57 @@ var OptionStruct = element("Option", {
787
882
  var DropdownStruct = element("Dropdown", {
788
883
  name: string11(),
789
884
  value: optional7(string11()),
790
- children: maybeArray(OptionStruct)
885
+ children: children([OptionStruct])
791
886
  });
887
+ var FileInputStruct = element(
888
+ "FileInput",
889
+ {
890
+ name: string11(),
891
+ accept: nullUnion([optional7(array3(string11()))]),
892
+ compact: optional7(boolean4())
893
+ }
894
+ );
895
+ var BUTTON_INPUT = [InputStruct2, ButtonStruct2];
896
+ var FIELD_CHILDREN_ARRAY = [
897
+ InputStruct2,
898
+ DropdownStruct,
899
+ FileInputStruct,
900
+ CheckboxStruct
901
+ ];
902
+ var FieldChildUnionStruct = nullUnion([
903
+ ...FIELD_CHILDREN_ARRAY,
904
+ ...BUTTON_INPUT
905
+ ]);
906
+ var FieldChildStruct = nullUnion([
907
+ tuple(BUTTON_INPUT),
908
+ ...FIELD_CHILDREN_ARRAY
909
+ ]);
792
910
  var FieldStruct = element("Field", {
793
911
  label: optional7(string11()),
794
912
  error: optional7(string11()),
795
- children: nullUnion([
796
- tuple([InputStruct2, ButtonStruct2]),
797
- InputStruct2,
798
- DropdownStruct
799
- ])
913
+ children: FieldChildStruct
800
914
  });
915
+ var FormChildStruct = children(
916
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
917
+ [FieldStruct, lazy2(() => BoxChildStruct)]
918
+ );
801
919
  var FormStruct2 = element("Form", {
802
- children: maybeArray(nullUnion([FieldStruct, ButtonStruct2])),
920
+ children: FormChildStruct,
803
921
  name: string11()
804
922
  });
805
923
  var BoldStruct = element("Bold", {
806
- children: maybeArray(
807
- nullable2(
808
- nullUnion([
809
- string11(),
810
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
811
- lazy2(() => ItalicStruct)
812
- ])
813
- )
814
- )
924
+ children: children([
925
+ string11(),
926
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
927
+ lazy2(() => ItalicStruct)
928
+ ])
815
929
  });
816
930
  var ItalicStruct = element("Italic", {
817
- children: maybeArray(
818
- nullable2(
819
- nullUnion([
820
- string11(),
821
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
822
- lazy2(() => BoldStruct)
823
- ])
824
- )
825
- )
931
+ children: children([
932
+ string11(),
933
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
934
+ lazy2(() => BoldStruct)
935
+ ])
826
936
  });
827
937
  var FormattingStruct = nullUnion([
828
938
  BoldStruct,
@@ -831,11 +941,12 @@ var FormattingStruct = nullUnion([
831
941
  var AddressStruct2 = element("Address", {
832
942
  address: HexChecksumAddressStruct2
833
943
  });
944
+ var BoxChildrenStruct = children(
945
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
946
+ [lazy2(() => BoxChildStruct)]
947
+ );
834
948
  var BoxStruct = element("Box", {
835
- children: maybeArray(
836
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
837
- nullable2(lazy2(() => BoxChildStruct))
838
- ),
949
+ children: BoxChildrenStruct,
839
950
  direction: optional7(nullUnion([literal("horizontal"), literal("vertical")])),
840
951
  alignment: optional7(
841
952
  nullUnion([
@@ -847,15 +958,39 @@ var BoxStruct = element("Box", {
847
958
  ])
848
959
  )
849
960
  });
961
+ var FooterChildStruct = nullUnion([
962
+ tuple([ButtonStruct2, ButtonStruct2]),
963
+ ButtonStruct2
964
+ ]);
965
+ var FooterStruct = element("Footer", {
966
+ children: FooterChildStruct
967
+ });
968
+ var ContainerChildStruct = nullUnion([
969
+ tuple([BoxStruct, FooterStruct]),
970
+ BoxStruct
971
+ ]);
972
+ var ContainerStruct = element(
973
+ "Container",
974
+ {
975
+ children: ContainerChildStruct
976
+ }
977
+ );
850
978
  var CopyableStruct2 = element("Copyable", {
851
979
  value: string11(),
852
- sensitive: optional7(boolean3())
980
+ sensitive: optional7(boolean4())
853
981
  });
854
982
  var DividerStruct2 = element("Divider");
855
983
  var ValueStruct = element("Value", {
856
984
  value: string11(),
857
985
  extra: string11()
858
986
  });
987
+ var CardStruct = element("Card", {
988
+ image: optional7(string11()),
989
+ title: string11(),
990
+ description: optional7(string11()),
991
+ value: string11(),
992
+ extra: optional7(string11())
993
+ });
859
994
  var HeadingStruct2 = element("Heading", {
860
995
  children: StringElementStruct
861
996
  });
@@ -865,13 +1000,33 @@ var ImageStruct2 = element("Image", {
865
1000
  });
866
1001
  var LinkStruct = element("Link", {
867
1002
  href: string11(),
868
- children: maybeArray(nullable2(nullUnion([FormattingStruct, string11()])))
1003
+ children: children([FormattingStruct, string11()])
869
1004
  });
870
1005
  var TextStruct2 = element("Text", {
871
- children: maybeArray(
872
- nullable2(nullUnion([string11(), BoldStruct, ItalicStruct, LinkStruct]))
1006
+ children: children([string11(), BoldStruct, ItalicStruct, LinkStruct]),
1007
+ alignment: optional7(
1008
+ nullUnion([literal("start"), literal("center"), literal("end")])
873
1009
  )
874
1010
  });
1011
+ var TooltipChildStruct = nullUnion([
1012
+ TextStruct2,
1013
+ BoldStruct,
1014
+ ItalicStruct,
1015
+ LinkStruct,
1016
+ ImageStruct2,
1017
+ boolean4()
1018
+ ]);
1019
+ var TooltipContentStruct = nullUnion([
1020
+ TextStruct2,
1021
+ BoldStruct,
1022
+ ItalicStruct,
1023
+ LinkStruct,
1024
+ string11()
1025
+ ]);
1026
+ var TooltipStruct = element("Tooltip", {
1027
+ children: nullable2(TooltipChildStruct),
1028
+ content: TooltipContentStruct
1029
+ });
875
1030
  var RowStruct2 = element("Row", {
876
1031
  label: string11(),
877
1032
  children: nullUnion([AddressStruct2, ImageStruct2, TextStruct2, ValueStruct]),
@@ -881,28 +1036,36 @@ var RowStruct2 = element("Row", {
881
1036
  tooltip: optional7(string11())
882
1037
  });
883
1038
  var SpinnerStruct2 = element("Spinner");
884
- var BoxChildStruct = nullUnion([
885
- ButtonStruct2,
886
- InputStruct2,
887
- FormStruct2,
888
- BoldStruct,
889
- ItalicStruct,
1039
+ var BoxChildStruct = typedUnion([
890
1040
  AddressStruct2,
1041
+ BoldStruct,
891
1042
  BoxStruct,
1043
+ ButtonStruct2,
892
1044
  CopyableStruct2,
893
1045
  DividerStruct2,
1046
+ DropdownStruct,
1047
+ FileInputStruct,
1048
+ FormStruct2,
894
1049
  HeadingStruct2,
1050
+ InputStruct2,
895
1051
  ImageStruct2,
1052
+ ItalicStruct,
896
1053
  LinkStruct,
897
1054
  RowStruct2,
898
1055
  SpinnerStruct2,
899
1056
  TextStruct2,
900
- DropdownStruct
1057
+ TooltipStruct,
1058
+ CheckboxStruct,
1059
+ CardStruct
1060
+ ]);
1061
+ var RootJSXElementStruct = nullUnion([
1062
+ BoxChildStruct,
1063
+ ContainerStruct
901
1064
  ]);
902
- var RootJSXElementStruct = BoxChildStruct;
903
- var JSXElementStruct = nullUnion([
1065
+ var JSXElementStruct = typedUnion([
904
1066
  ButtonStruct2,
905
1067
  InputStruct2,
1068
+ FileInputStruct,
906
1069
  FieldStruct,
907
1070
  FormStruct2,
908
1071
  BoldStruct,
@@ -919,16 +1082,22 @@ var JSXElementStruct = nullUnion([
919
1082
  TextStruct2,
920
1083
  DropdownStruct,
921
1084
  OptionStruct,
922
- ValueStruct
1085
+ ValueStruct,
1086
+ TooltipStruct,
1087
+ CheckboxStruct,
1088
+ FooterStruct,
1089
+ ContainerStruct,
1090
+ CardStruct
923
1091
  ]);
924
1092
 
925
1093
  // src/types/interface.ts
926
- var FormStateStruct = record3(string12(), nullable3(string12()));
1094
+ var StateStruct = union7([FileStruct, string12(), boolean5()]);
1095
+ var FormStateStruct = record3(string12(), nullable3(StateStruct));
927
1096
  var InterfaceStateStruct = record3(
928
1097
  string12(),
929
- union8([FormStateStruct, nullable3(string12())])
1098
+ union7([FormStateStruct, nullable3(StateStruct)])
930
1099
  );
931
- var ComponentOrElementStruct = union8([
1100
+ var ComponentOrElementStruct = union7([
932
1101
  ComponentStruct,
933
1102
  RootJSXElementStruct
934
1103
  ]);
@@ -947,6 +1116,8 @@ export {
947
1116
  DialogType,
948
1117
  DisconnectedError,
949
1118
  DividerStruct,
1119
+ FileStruct,
1120
+ FileUploadEventStruct,
950
1121
  FormComponentStruct,
951
1122
  FormStateStruct,
952
1123
  FormStruct,
@@ -980,6 +1151,7 @@ export {
980
1151
  SeverityLevel,
981
1152
  SnapError,
982
1153
  SpinnerStruct,
1154
+ StateStruct,
983
1155
  TextStruct,
984
1156
  TransactionRejected,
985
1157
  UnauthorizedError,