@metamask/snaps-sdk 6.6.0 → 6.8.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 (86) hide show
  1. package/CHANGELOG.md +37 -1
  2. package/dist/error-wrappers.d.cts +192 -192
  3. package/dist/error-wrappers.d.mts +192 -192
  4. package/dist/errors.cjs +25 -12
  5. package/dist/errors.cjs.map +1 -1
  6. package/dist/errors.mjs +25 -12
  7. package/dist/errors.mjs.map +1 -1
  8. package/dist/internals/error-wrappers.d.cts +12 -12
  9. package/dist/internals/error-wrappers.d.mts +12 -12
  10. package/dist/jsx/components/Heading.cjs +3 -0
  11. package/dist/jsx/components/Heading.cjs.map +1 -1
  12. package/dist/jsx/components/Heading.d.cts +5 -0
  13. package/dist/jsx/components/Heading.d.cts.map +1 -1
  14. package/dist/jsx/components/Heading.d.mts +5 -0
  15. package/dist/jsx/components/Heading.d.mts.map +1 -1
  16. package/dist/jsx/components/Heading.mjs +3 -0
  17. package/dist/jsx/components/Heading.mjs.map +1 -1
  18. package/dist/jsx/components/Link.cjs.map +1 -1
  19. package/dist/jsx/components/Link.d.cts +2 -1
  20. package/dist/jsx/components/Link.d.cts.map +1 -1
  21. package/dist/jsx/components/Link.d.mts +2 -1
  22. package/dist/jsx/components/Link.d.mts.map +1 -1
  23. package/dist/jsx/components/Link.mjs.map +1 -1
  24. package/dist/jsx/components/Row.cjs.map +1 -1
  25. package/dist/jsx/components/Row.d.cts +2 -1
  26. package/dist/jsx/components/Row.d.cts.map +1 -1
  27. package/dist/jsx/components/Row.d.mts +2 -1
  28. package/dist/jsx/components/Row.d.mts.map +1 -1
  29. package/dist/jsx/components/Row.mjs.map +1 -1
  30. package/dist/jsx/components/Text.cjs +2 -0
  31. package/dist/jsx/components/Text.cjs.map +1 -1
  32. package/dist/jsx/components/Text.d.cts +4 -0
  33. package/dist/jsx/components/Text.d.cts.map +1 -1
  34. package/dist/jsx/components/Text.d.mts +4 -0
  35. package/dist/jsx/components/Text.d.mts.map +1 -1
  36. package/dist/jsx/components/Text.mjs +2 -0
  37. package/dist/jsx/components/Text.mjs.map +1 -1
  38. package/dist/jsx/validation.cjs +15 -2
  39. package/dist/jsx/validation.cjs.map +1 -1
  40. package/dist/jsx/validation.d.cts +3 -0
  41. package/dist/jsx/validation.d.cts.map +1 -1
  42. package/dist/jsx/validation.d.mts +3 -0
  43. package/dist/jsx/validation.d.mts.map +1 -1
  44. package/dist/jsx/validation.mjs +15 -2
  45. package/dist/jsx/validation.mjs.map +1 -1
  46. package/dist/types/handlers/signature.cjs.map +1 -1
  47. package/dist/types/handlers/signature.d.cts +1 -14
  48. package/dist/types/handlers/signature.d.cts.map +1 -1
  49. package/dist/types/handlers/signature.d.mts +1 -14
  50. package/dist/types/handlers/signature.d.mts.map +1 -1
  51. package/dist/types/handlers/signature.mjs.map +1 -1
  52. package/dist/types/interface.d.cts +1 -0
  53. package/dist/types/interface.d.cts.map +1 -1
  54. package/dist/types/interface.d.mts +1 -0
  55. package/dist/types/interface.d.mts.map +1 -1
  56. package/dist/types/methods/get-currency-rate.cjs +3 -0
  57. package/dist/types/methods/get-currency-rate.cjs.map +1 -0
  58. package/dist/types/methods/get-currency-rate.d.cts +29 -0
  59. package/dist/types/methods/get-currency-rate.d.cts.map +1 -0
  60. package/dist/types/methods/get-currency-rate.d.mts +29 -0
  61. package/dist/types/methods/get-currency-rate.d.mts.map +1 -0
  62. package/dist/types/methods/get-currency-rate.mjs +2 -0
  63. package/dist/types/methods/get-currency-rate.mjs.map +1 -0
  64. package/dist/types/methods/index.cjs +2 -0
  65. package/dist/types/methods/index.cjs.map +1 -1
  66. package/dist/types/methods/index.d.cts +2 -0
  67. package/dist/types/methods/index.d.cts.map +1 -1
  68. package/dist/types/methods/index.d.mts +2 -0
  69. package/dist/types/methods/index.d.mts.map +1 -1
  70. package/dist/types/methods/index.mjs +2 -0
  71. package/dist/types/methods/index.mjs.map +1 -1
  72. package/dist/types/methods/provider-request.cjs +3 -0
  73. package/dist/types/methods/provider-request.cjs.map +1 -0
  74. package/dist/types/methods/provider-request.d.cts +25 -0
  75. package/dist/types/methods/provider-request.d.cts.map +1 -0
  76. package/dist/types/methods/provider-request.d.mts +25 -0
  77. package/dist/types/methods/provider-request.d.mts.map +1 -0
  78. package/dist/types/methods/provider-request.mjs +2 -0
  79. package/dist/types/methods/provider-request.mjs.map +1 -0
  80. package/dist/types/methods/update-interface.cjs.map +1 -1
  81. package/dist/types/methods/update-interface.d.cts +2 -1
  82. package/dist/types/methods/update-interface.d.cts.map +1 -1
  83. package/dist/types/methods/update-interface.d.mts +2 -1
  84. package/dist/types/methods/update-interface.d.mts.map +1 -1
  85. package/dist/types/methods/update-interface.mjs.map +1 -1
  86. package/package.json +1 -1
@@ -14,6 +14,8 @@ export type TextColors = 'default' | 'alternative' | 'muted' | 'error' | 'succes
14
14
  * The props of the {@link Text} component.
15
15
  *
16
16
  * @property children - The text to display.
17
+ * @property alignment - The alignment of the text.
18
+ * @property color - The color of the text.
17
19
  */
18
20
  export type TextProps = {
19
21
  children: TextChildren;
@@ -24,6 +26,8 @@ export type TextProps = {
24
26
  * A text component, which is used to display text.
25
27
  *
26
28
  * @param props - The props of the component.
29
+ * @param props.alignment - The alignment of the text.
30
+ * @param props.color - The color of the text.
27
31
  * @param props.children - The text to display.
28
32
  * @returns A text element.
29
33
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"Text.d.cts","sourceRoot":"","sources":["../../../src/jsx/components/Text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,yBAAqB;AAElD,OAAO,KAAK,EAAE,yBAAyB,EAAE,+BAAqB;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAe;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAe;AAE1C;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,aAAa,CACtC,MAAM,GAAG,yBAAyB,GAAG,WAAW,GAAG,WAAW,CAC/D,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,aAAa,GACb,OAAO,GACP,OAAO,GACP,SAAS,GACT,SAAS,CAAC;AAEd;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,YAAY,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IACnD,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAChC,CAAC;AAIF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,IAAI,yDAAoD,CAAC;AAEtE;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"Text.d.cts","sourceRoot":"","sources":["../../../src/jsx/components/Text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,yBAAqB;AAElD,OAAO,KAAK,EAAE,yBAAyB,EAAE,+BAAqB;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAe;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAe;AAE1C;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,aAAa,CACtC,MAAM,GAAG,yBAAyB,GAAG,WAAW,GAAG,WAAW,CAC/D,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,aAAa,GACb,OAAO,GACP,OAAO,GACP,SAAS,GACT,SAAS,CAAC;AAEd;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,YAAY,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IACnD,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAChC,CAAC;AAIF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,IAAI,yDAAoD,CAAC;AAEtE;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC"}
@@ -14,6 +14,8 @@ export type TextColors = 'default' | 'alternative' | 'muted' | 'error' | 'succes
14
14
  * The props of the {@link Text} component.
15
15
  *
16
16
  * @property children - The text to display.
17
+ * @property alignment - The alignment of the text.
18
+ * @property color - The color of the text.
17
19
  */
18
20
  export type TextProps = {
19
21
  children: TextChildren;
@@ -24,6 +26,8 @@ export type TextProps = {
24
26
  * A text component, which is used to display text.
25
27
  *
26
28
  * @param props - The props of the component.
29
+ * @param props.alignment - The alignment of the text.
30
+ * @param props.color - The color of the text.
27
31
  * @param props.children - The text to display.
28
32
  * @returns A text element.
29
33
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"Text.d.mts","sourceRoot":"","sources":["../../../src/jsx/components/Text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,yBAAqB;AAElD,OAAO,KAAK,EAAE,yBAAyB,EAAE,+BAAqB;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAe;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAe;AAE1C;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,aAAa,CACtC,MAAM,GAAG,yBAAyB,GAAG,WAAW,GAAG,WAAW,CAC/D,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,aAAa,GACb,OAAO,GACP,OAAO,GACP,SAAS,GACT,SAAS,CAAC;AAEd;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,YAAY,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IACnD,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAChC,CAAC;AAIF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,IAAI,yDAAoD,CAAC;AAEtE;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"Text.d.mts","sourceRoot":"","sources":["../../../src/jsx/components/Text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,yBAAqB;AAElD,OAAO,KAAK,EAAE,yBAAyB,EAAE,+BAAqB;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAe;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAe;AAE1C;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,aAAa,CACtC,MAAM,GAAG,yBAAyB,GAAG,WAAW,GAAG,WAAW,CAC/D,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,aAAa,GACb,OAAO,GACP,OAAO,GACP,SAAS,GACT,SAAS,CAAC;AAEd;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,YAAY,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IACnD,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAChC,CAAC;AAIF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,IAAI,yDAAoD,CAAC;AAEtE;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC"}
@@ -4,6 +4,8 @@ const TYPE = 'Text';
4
4
  * A text component, which is used to display text.
5
5
  *
6
6
  * @param props - The props of the component.
7
+ * @param props.alignment - The alignment of the text.
8
+ * @param props.color - The color of the text.
7
9
  * @param props.children - The text to display.
8
10
  * @returns A text element.
9
11
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"Text.mjs","sourceRoot":"","sources":["../../../src/jsx/components/Text.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,yBAAqB;AAkCnD,MAAM,IAAI,GAAG,MAAM,CAAC;AAEpB;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,mBAAmB,CAAyB,IAAI,CAAC,CAAC","sourcesContent":["import type { SnapsChildren } from '../component';\nimport { createSnapComponent } from '../component';\nimport type { StandardFormattingElement } from './formatting';\nimport type { IconElement } from './Icon';\nimport type { LinkElement } from './Link';\n\n/**\n * The children of the {@link Text} component.\n */\nexport type TextChildren = SnapsChildren<\n string | StandardFormattingElement | LinkElement | IconElement\n>;\n\n/**\n * The colors available to the Text {@link Text} component.\n */\nexport type TextColors =\n | 'default'\n | 'alternative'\n | 'muted'\n | 'error'\n | 'success'\n | 'warning';\n\n/**\n * The props of the {@link Text} component.\n *\n * @property children - The text to display.\n */\nexport type TextProps = {\n children: TextChildren;\n alignment?: 'start' | 'center' | 'end' | undefined;\n color?: TextColors | undefined;\n};\n\nconst TYPE = 'Text';\n\n/**\n * A text component, which is used to display text.\n *\n * @param props - The props of the component.\n * @param props.children - The text to display.\n * @returns A text element.\n * @example\n * <Text>\n * Hello <Bold>world</Bold>!\n * </Text>\n * @example\n * <Text alignment=\"end\">\n * Hello <Bold>world</Bold>!\n * </Text>\n */\nexport const Text = createSnapComponent<TextProps, typeof TYPE>(TYPE);\n\n/**\n * A text element.\n *\n * @see Text\n */\nexport type TextElement = ReturnType<typeof Text>;\n"]}
1
+ {"version":3,"file":"Text.mjs","sourceRoot":"","sources":["../../../src/jsx/components/Text.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,yBAAqB;AAoCnD,MAAM,IAAI,GAAG,MAAM,CAAC;AAEpB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,mBAAmB,CAAyB,IAAI,CAAC,CAAC","sourcesContent":["import type { SnapsChildren } from '../component';\nimport { createSnapComponent } from '../component';\nimport type { StandardFormattingElement } from './formatting';\nimport type { IconElement } from './Icon';\nimport type { LinkElement } from './Link';\n\n/**\n * The children of the {@link Text} component.\n */\nexport type TextChildren = SnapsChildren<\n string | StandardFormattingElement | LinkElement | IconElement\n>;\n\n/**\n * The colors available to the Text {@link Text} component.\n */\nexport type TextColors =\n | 'default'\n | 'alternative'\n | 'muted'\n | 'error'\n | 'success'\n | 'warning';\n\n/**\n * The props of the {@link Text} component.\n *\n * @property children - The text to display.\n * @property alignment - The alignment of the text.\n * @property color - The color of the text.\n */\nexport type TextProps = {\n children: TextChildren;\n alignment?: 'start' | 'center' | 'end' | undefined;\n color?: TextColors | undefined;\n};\n\nconst TYPE = 'Text';\n\n/**\n * A text component, which is used to display text.\n *\n * @param props - The props of the component.\n * @param props.alignment - The alignment of the text.\n * @param props.color - The color of the text.\n * @param props.children - The text to display.\n * @returns A text element.\n * @example\n * <Text>\n * Hello <Bold>world</Bold>!\n * </Text>\n * @example\n * <Text alignment=\"end\">\n * Hello <Bold>world</Bold>!\n * </Text>\n */\nexport const Text = createSnapComponent<TextProps, typeof TYPE>(TYPE);\n\n/**\n * A text element.\n *\n * @see Text\n */\nexport type TextElement = ReturnType<typeof Text>;\n"]}
@@ -402,13 +402,20 @@ exports.ValueStruct = element('Value', {
402
402
  */
403
403
  exports.HeadingStruct = element('Heading', {
404
404
  children: exports.StringElementStruct,
405
+ size: (0, superstruct_1.optional)((0, internals_1.nullUnion)([(0, internals_1.literal)('md'), (0, internals_1.literal)('lg')])),
405
406
  });
406
407
  /**
407
408
  * A struct for the {@link LinkElement} type.
408
409
  */
409
410
  exports.LinkStruct = element('Link', {
410
411
  href: (0, superstruct_1.string)(),
411
- children: children([exports.FormattingStruct, (0, superstruct_1.string)(), exports.IconStruct, exports.ImageStruct]),
412
+ children: children([
413
+ exports.FormattingStruct,
414
+ (0, superstruct_1.string)(),
415
+ exports.IconStruct,
416
+ exports.ImageStruct,
417
+ exports.AddressStruct,
418
+ ]),
412
419
  });
413
420
  /**
414
421
  * A struct for the {@link TextElement} type.
@@ -477,7 +484,13 @@ exports.TooltipStruct = element('Tooltip', {
477
484
  */
478
485
  exports.RowStruct = element('Row', {
479
486
  label: (0, superstruct_1.string)(),
480
- children: (0, internals_1.typedUnion)([exports.AddressStruct, exports.ImageStruct, exports.TextStruct, exports.ValueStruct]),
487
+ children: (0, internals_1.typedUnion)([
488
+ exports.AddressStruct,
489
+ exports.ImageStruct,
490
+ exports.TextStruct,
491
+ exports.ValueStruct,
492
+ exports.LinkStruct,
493
+ ]),
481
494
  variant: (0, superstruct_1.optional)((0, internals_1.nullUnion)([(0, internals_1.literal)('default'), (0, internals_1.literal)('warning'), (0, internals_1.literal)('critical')])),
482
495
  tooltip: (0, superstruct_1.optional)((0, superstruct_1.string)()),
483
496
  });
@@ -1 +1 @@
1
- {"version":3,"file":"validation.cjs","sourceRoot":"","sources":["../../src/jsx/validation.ts"],"names":[],"mappings":";;;AAOA,uDAa+B;AAC/B,2CAMyB;AAGzB,sDAMsB;AAYtB,uDAmCsB;AAEtB;;GAEG;AACU,QAAA,SAAS,GAAkB,IAAA,qBAAS,EAAC,CAAC,IAAA,oBAAM,GAAE,EAAE,IAAA,oBAAM,GAAE,CAAC,CAAC,CAAC;AAExE;;GAEG;AACU,QAAA,mBAAmB,GAA4B,QAAQ,CAAC;IACnE,IAAA,oBAAM,GAAE;CACT,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,aAAa,GAAiC,IAAA,oBAAM,EAAC;IAChE,IAAI,EAAE,IAAA,oBAAM,GAAE;IACd,KAAK,EAAE,IAAA,oBAAM,EAAC,IAAA,oBAAM,GAAE,EAAE,kBAAU,CAAC;IACnC,GAAG,EAAE,IAAA,sBAAQ,EAAC,iBAAS,CAAC;CACzB,CAAC,CAAC;AAEH;;;;;GAKG;AACH,SAAS,QAAQ,CACf,MAA4B;IAE5B,MAAM,cAAc,GAA2B,IAAA,0BAAc,EAAC,CAAC,KAAK,EAAE,EAAE;QACtE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,IAAA,mBAAK,EAAC,IAAA,kBAAI,EAAC,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,QAAQ,CACf,OAAoC;IAKpC,OAAO,QAAQ,CACb,IAAA,sBAAQ,EACN,IAAA,0BAAc,EAAC,CAAC,KAAK,EAAE,EAAE;QACvB,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,IAAA,qBAAO,GAAE,CAAC;QACnB,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,OAAO,IAAA,qBAAS,EAAC,OAAO,CAAC,CAAC;IAC5B,CAAC,CAAC,CACH,CAIF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,WAAW,CAClB,MAAY;IAEZ,OAAO,IAAA,sBAAQ,EACb,IAAA,0BAAc,EAAC,CAAC,KAAK,EAAE,EAAE;QACvB,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,IAAA,qBAAO,GAAE,CAAC;QACnB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CACsD,CAAC;AAC7D,CAAC;AAED;;;;;;GAMG;AACH,SAAS,OAAO,CACd,IAAU,EACV,QAAe,EAAW;IAE1B,OAAO,IAAA,oBAAM,EAAC;QACZ,IAAI,EAAE,IAAA,mBAAO,EAAC,IAAI,CAAkC;QACpD,KAAK,EAAE,IAAA,oBAAM,EAAC,KAAK,CAAC;QACpB,GAAG,EAAE,IAAA,sBAAQ,EAAC,iBAAS,CAAC;KACzB,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACU,QAAA,WAAW,GAA2B,OAAO,CAAC,OAAO,EAAE;IAClE,GAAG,EAAE,IAAA,eAAG,GAAE;IACV,GAAG,EAAE,IAAA,sBAAQ,EAAC,IAAA,oBAAM,GAAE,CAAC;CACxB,CAAC,CAAC;AAEH,MAAM,cAAc,GAAgC,IAAA,qBAAS,EAC3D,MAAM,CAAC,MAAM,CAAC,qBAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,mBAAO,EAAC,IAAI,CAAC,CAAQ,CAC5D,CAAC;AAEF;;GAEG;AACU,QAAA,UAAU,GAA0B,OAAO,CAAC,MAAM,EAAE;IAC/D,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,IAAA,sBAAQ,EACb,IAAA,qBAAS,EAAC,CAAC,IAAA,mBAAO,EAAC,SAAS,CAAC,EAAE,IAAA,mBAAO,EAAC,SAAS,CAAC,EAAE,IAAA,mBAAO,EAAC,OAAO,CAAC,CAAC,CAAC,CACtE;IACD,IAAI,EAAE,IAAA,sBAAQ,EAAC,IAAA,qBAAS,EAAC,CAAC,IAAA,mBAAO,EAAC,IAAI,CAAC,EAAE,IAAA,mBAAO,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC;CAC/D,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,YAAY,GAA4B,OAAO,CAAC,QAAQ,EAAE;IACrE,QAAQ,EAAE,QAAQ,CAAC,CAAC,2BAAmB,EAAE,mBAAW,EAAE,kBAAU,CAAC,CAAC;IAClE,IAAI,EAAE,IAAA,sBAAQ,EAAC,IAAA,oBAAM,GAAE,CAAC;IACxB,IAAI,EAAE,IAAA,sBAAQ,EAAC,IAAA,qBAAS,EAAC,CAAC,IAAA,mBAAO,EAAC,QAAQ,CAAC,EAAE,IAAA,mBAAO,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjE,OAAO,EAAE,IAAA,sBAAQ,EAAC,IAAA,qBAAS,EAAC,CAAC,IAAA,mBAAO,EAAC,SAAS,CAAC,EAAE,IAAA,mBAAO,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC1E,QAAQ,EAAE,IAAA,sBAAQ,EAAC,IAAA,qBAAO,GAAE,CAAC;IAC7B,IAAI,EAAE,IAAA,sBAAQ,EAAC,IAAA,oBAAM,GAAE,CAAC;CACzB,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,cAAc,GAA8B,OAAO,CAAC,UAAU,EAAE;IAC3E,IAAI,EAAE,IAAA,oBAAM,GAAE;IACd,OAAO,EAAE,IAAA,sBAAQ,EAAC,IAAA,qBAAO,GAAE,CAAC;IAC5B,KAAK,EAAE,IAAA,sBAAQ,EAAC,IAAA,oBAAM,GAAE,CAAC;IACzB,OAAO,EAAE,IAAA,sBAAQ,EAAC,IAAA,qBAAS,EAAC,CAAC,IAAA,mBAAO,EAAC,SAAS,CAAC,EAAE,IAAA,mBAAO,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CACtE,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,WAAW,GAA2B,OAAO,CAAC,OAAO,EAAE;IAClE,IAAI,EAAE,IAAA,oBAAM,GAAE;IACd,IAAI,EAAE,IAAA,sBAAQ,EACZ,IAAA,qBAAS,EAAC,CAAC,IAAA,mBAAO,EAAC,MAAM,CAAC,EAAE,IAAA,mBAAO,EAAC,UAAU,CAAC,EAAE,IAAA,mBAAO,EAAC,QAAQ,CAAC,CAAC,CAAC,CACrE;IACD,KAAK,EAAE,IAAA,sBAAQ,EAAC,IAAA,oBAAM,GAAE,CAAC;IACzB,WAAW,EAAE,IAAA,sBAAQ,EAAC,IAAA,oBAAM,GAAE,CAAC;CAChC,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,YAAY,GAA4B,OAAO,CAAC,QAAQ,EAAE;IACrE,KAAK,EAAE,IAAA,oBAAM,GAAE;IACf,QAAQ,EAAE,IAAA,oBAAM,GAAE;CACnB,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,cAAc,GAA8B,OAAO,CAAC,UAAU,EAAE;IAC3E,IAAI,EAAE,IAAA,oBAAM,GAAE;IACd,KAAK,EAAE,IAAA,sBAAQ,EAAC,IAAA,oBAAM,GAAE,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC,CAAC,oBAAY,CAAC,CAAC;CACnC,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,UAAU,GAA0B,OAAO,CAAC,MAAM,EAAE;IAC/D,KAAK,EAAE,IAAA,sBAAQ,EAAC,IAAA,oBAAM,GAAE,CAAC;IACzB,KAAK,EAAE,IAAA,oBAAM,GAAE;IACf,WAAW,EAAE,IAAA,sBAAQ,EAAC,IAAA,oBAAM,GAAE,CAAC;IAC/B,KAAK,EAAE,IAAA,oBAAM,GAAE;IACf,KAAK,EAAE,IAAA,sBAAQ,EAAC,IAAA,oBAAM,GAAE,CAAC;CAC1B,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,oBAAoB,GAAoC,OAAO,CAC1E,gBAAgB,EAChB;IACE,KAAK,EAAE,IAAA,oBAAM,GAAE;IACf,QAAQ,EAAE,kBAAU;CACrB,CACF,CAAC;AAEF;;GAEG;AACU,QAAA,cAAc,GAA8B,OAAO,CAAC,UAAU,EAAE;IAC3E,IAAI,EAAE,IAAA,oBAAM,GAAE;IACd,KAAK,EAAE,IAAA,oBAAM,GAAE;IACf,KAAK,EAAE,IAAA,sBAAQ,EAAC,IAAA,oBAAM,GAAE,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC,CAAC,4BAAoB,CAAC,CAAC;CAC3C,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,WAAW,GAA2B,OAAO,CAAC,OAAO,EAAE;IAClE,KAAK,EAAE,IAAA,oBAAM,GAAE;IACf,QAAQ,EAAE,IAAA,oBAAM,GAAE;CACnB,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,gBAAgB,GAAgC,OAAO,CAClE,YAAY,EACZ;IACE,IAAI,EAAE,IAAA,oBAAM,GAAE;IACd,KAAK,EAAE,IAAA,sBAAQ,EAAC,IAAA,oBAAM,GAAE,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC,CAAC,mBAAW,CAAC,CAAC;CAClC,CACF,CAAC;AAEF;;GAEG;AACU,QAAA,eAAe,GAA+B,OAAO,CAChE,WAAW,EACX;IACE,IAAI,EAAE,IAAA,oBAAM,GAAE;IACd,MAAM,EAAE,IAAA,qBAAS,EAAC,CAAC,IAAA,sBAAQ,EAAC,IAAA,mBAAK,EAAC,IAAA,oBAAM,GAAE,CAAC,CAAC,CAAC,CAAC;IAC9C,OAAO,EAAE,IAAA,sBAAQ,EAAC,IAAA,qBAAO,GAAE,CAAC;CAC7B,CACF,CAAC;AAEF;;GAEG;AACH,MAAM,cAAc,GAAG;IACrB,mEAAmE;IACnE,WAAW,CAAC,IAAA,kBAAI,EAAC,GAAG,EAAE,CAAC,sBAAc,CAAC,CAAC;IACvC,mBAAW;CACmC,CAAC;AAEjD;;GAEG;AACH,MAAM,eAAe,GAAG;IACtB,mBAAW;IACX,mEAAmE;IACnE,WAAW,CAAC,IAAA,kBAAI,EAAC,GAAG,EAAE,CAAC,sBAAc,CAAC,CAAC;CACO,CAAC;AAEjD;;GAEG;AACH,MAAM,cAAc,GAAG;IACrB,mEAAmE;IACnE,WAAW,CAAC,IAAA,kBAAI,EAAC,GAAG,EAAE,CAAC,sBAAc,CAAC,CAAC;IACvC,mBAAW;IACX,mEAAmE;IACnE,WAAW,CAAC,IAAA,kBAAI,EAAC,GAAG,EAAE,CAAC,sBAAc,CAAC,CAAC;CAC8B,CAAC;AAExE;;GAEG;AACH,MAAM,oBAAoB,GAAG;IAC3B,mBAAW;IACX,sBAAc;IACd,wBAAgB;IAChB,uBAAe;IACf,sBAAc;IACd,sBAAc;CAQf,CAAC;AAEF;;;GAGG;AACU,QAAA,qBAAqB,GAAG,IAAA,qBAAS,EAAC;IAC7C,GAAG,oBAAoB;IACvB,GAAG,cAAc;IACjB,GAAG,eAAe;IAClB,GAAG,cAAc;CAClB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,gBAAgB,GAAG,IAAA,qBAAS,EAAC;IACjC,IAAA,mBAAK,EAAC,cAAc,CAAC;IACrB,IAAA,mBAAK,EAAC,eAAe,CAAC;IACtB,IAAA,mBAAK,EAAC,cAAc,CAAC;IACrB,GAAG,oBAAoB;CACxB,CAWA,CAAC;AAEF;;GAEG;AACU,QAAA,WAAW,GAA2B,OAAO,CAAC,OAAO,EAAE;IAClE,KAAK,EAAE,IAAA,sBAAQ,EAAC,IAAA,oBAAM,GAAE,CAAC;IACzB,KAAK,EAAE,IAAA,sBAAQ,EAAC,IAAA,oBAAM,GAAE,CAAC;IACzB,QAAQ,EAAE,gBAAgB;CAC3B,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,eAAe,GAAG,QAAQ;AACrC,mEAAmE;AACnE,CAAC,mBAAW,EAAE,IAAA,kBAAI,EAAC,GAAG,EAAE,CAAC,sBAAc,CAAC,CAAC,CACoB,CAAC;AAEhE;;GAEG;AACU,QAAA,UAAU,GAA0B,OAAO,CAAC,MAAM,EAAE;IAC/D,QAAQ,EAAE,uBAAe;IACzB,IAAI,EAAE,IAAA,oBAAM,GAAE;CACf,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,UAAU,GAA0B,OAAO,CAAC,MAAM,EAAE;IAC/D,QAAQ,EAAE,QAAQ,CAAC;QACjB,IAAA,oBAAM,GAAE;QACR,mEAAmE;QACnE,IAAA,kBAAI,EAAC,GAAG,EAAE,CAAC,oBAAY,CAEtB;KACF,CAAC;CACH,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,YAAY,GAA4B,OAAO,CAAC,QAAQ,EAAE;IACrE,QAAQ,EAAE,QAAQ,CAAC;QACjB,IAAA,oBAAM,GAAE;QACR,mEAAmE;QACnE,IAAA,kBAAI,EAAC,GAAG,EAAE,CAAC,kBAAU,CAEpB;KACF,CAAC;CACH,CAAC,CAAC;AAEU,QAAA,gBAAgB,GAAwC,IAAA,sBAAU,EAC7E,CAAC,kBAAU,EAAE,oBAAY,CAAC,CAC3B,CAAC;AAEF;;GAEG;AACU,QAAA,aAAa,GAA6B,OAAO,CAAC,SAAS,EAAE;IACxE,OAAO,EAAE,IAAA,qBAAS,EAAC,CAAC,gCAAwB,EAAE,2BAAmB,CAAC,CAAC;CACpE,CAAC,CAAC;AAEU,QAAA,iBAAiB,GAAG,QAAQ;AACvC,mEAAmE;AACnE,CAAC,IAAA,kBAAI,EAAC,GAAG,EAAE,CAAC,sBAAc,CAAC,CAAC,CACiC,CAAC;AAEhE;;GAEG;AACU,QAAA,SAAS,GAAyB,OAAO,CAAC,KAAK,EAAE;IAC5D,QAAQ,EAAE,yBAAiB;IAC3B,SAAS,EAAE,IAAA,sBAAQ,EAAC,IAAA,qBAAS,EAAC,CAAC,IAAA,mBAAO,EAAC,YAAY,CAAC,EAAE,IAAA,mBAAO,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5E,SAAS,EAAE,IAAA,sBAAQ,EACjB,IAAA,qBAAS,EAAC;QACR,IAAA,mBAAO,EAAC,OAAO,CAAC;QAChB,IAAA,mBAAO,EAAC,QAAQ,CAAC;QACjB,IAAA,mBAAO,EAAC,KAAK,CAAC;QACd,IAAA,mBAAO,EAAC,eAAe,CAAC;QACxB,IAAA,mBAAO,EAAC,cAAc,CAAC;KACxB,CAAC,CACH;IACD,MAAM,EAAE,IAAA,sBAAQ,EAAC,IAAA,qBAAO,GAAE,CAAC;CAC5B,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,IAAA,oBAAM,EAAC,oBAAY,EAAE,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE;IACxE,IACE,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ;QACxC,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS;QACzC,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,EAC7B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,MAAM,kBAAkB,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAClD,CAAC,KAAK,EAAE,EAAE,CACR,OAAO,KAAK,KAAK,QAAQ;YACzB,OAAO,KAAK,KAAK,SAAS;YAC1B,KAAK,KAAK,IAAI,CACjB,CAAC;QAEF,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,uCAAuC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,aAAa,GAA6B,OAAO,CAAC,SAAS,EAAE;IACxE,QAAQ,EAAE,yBAAiB;IAC3B,SAAS,EAAE,IAAA,sBAAQ,EAAC,IAAA,qBAAS,EAAC,CAAC,IAAA,mBAAO,EAAC,YAAY,CAAC,EAAE,IAAA,mBAAO,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5E,SAAS,EAAE,IAAA,sBAAQ,EACjB,IAAA,qBAAS,EAAC;QACR,IAAA,mBAAO,EAAC,OAAO,CAAC;QAChB,IAAA,mBAAO,EAAC,QAAQ,CAAC;QACjB,IAAA,mBAAO,EAAC,KAAK,CAAC;QACd,IAAA,mBAAO,EAAC,eAAe,CAAC;QACxB,IAAA,mBAAO,EAAC,cAAc,CAAC;KACxB,CAAC,CACH;CACF,CAAC,CAAC;AAEU,QAAA,0BAA0B,GAAG,QAAQ;AAChD,mEAAmE;AACnE,CAAC,IAAA,kBAAI,EAAC,GAAG,EAAE,CAAC,oCAA4B,CAAC,CAAC,CACmB,CAAC;AAEhE;;GAEG;AACU,QAAA,kBAAkB,GAAyB,OAAO,CAAC,KAAK,EAAE;IACrE,QAAQ,EAAE,kCAA0B;IACpC,SAAS,EAAE,IAAA,sBAAQ,EAAC,IAAA,qBAAS,EAAC,CAAC,IAAA,mBAAO,EAAC,YAAY,CAAC,EAAE,IAAA,mBAAO,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5E,SAAS,EAAE,IAAA,sBAAQ,EACjB,IAAA,qBAAS,EAAC;QACR,IAAA,mBAAO,EAAC,OAAO,CAAC;QAChB,IAAA,mBAAO,EAAC,QAAQ,CAAC;QACjB,IAAA,mBAAO,EAAC,KAAK,CAAC;QACd,IAAA,mBAAO,EAAC,eAAe,CAAC;QACxB,IAAA,mBAAO,EAAC,cAAc,CAAC;KACxB,CAAC,CACH;CACF,CAAC,CAAC;AAEH;;;GAGG;AAEU,QAAA,iBAAiB,GAAG,IAAA,0BAAc,EAAC,CAAC,KAAK,EAAE,EAAE;IACxD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAA,mBAAK,EAAC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,kBAAkB,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,YAAY,GAA4B,OAAO,CAAC,QAAQ,EAAE;IACrE,QAAQ,EAAE,yBAAiB;CAC5B,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,cAAc,GAA8B,OAAO,CAAC,UAAU,EAAE;IAC3E,KAAK,EAAE,IAAA,oBAAM,GAAE;IACf,SAAS,EAAE,IAAA,sBAAQ,EAAC,IAAA,qBAAO,GAAE,CAAC;CAC/B,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,aAAa,GAA6B,OAAO,CAAC,SAAS,CAAC,CAAC;AAE1E;;GAEG;AACU,QAAA,WAAW,GAA2B,OAAO,CAAC,OAAO,EAAE;IAClE,KAAK,EAAE,IAAA,oBAAM,GAAE;IACf,KAAK,EAAE,IAAA,oBAAM,GAAE;CAChB,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,aAAa,GAA6B,OAAO,CAAC,SAAS,EAAE;IACxE,QAAQ,EAAE,2BAAmB;CAC9B,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,UAAU,GAA0B,OAAO,CAAC,MAAM,EAAE;IAC/D,IAAI,EAAE,IAAA,oBAAM,GAAE;IACd,QAAQ,EAAE,QAAQ,CAAC,CAAC,wBAAgB,EAAE,IAAA,oBAAM,GAAE,EAAE,kBAAU,EAAE,mBAAW,CAAC,CAAC;CAC1E,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,UAAU,GAA0B,OAAO,CAAC,MAAM,EAAE;IAC/D,QAAQ,EAAE,QAAQ,CAAC;QACjB,IAAA,0BAAc,EAAC,CAAC,KAAK,EAAE,EAAE;YACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,IAAA,oBAAM,GAAE,CAAC;YAClB,CAAC;YACD,OAAO,IAAA,sBAAU,EAAC,CAAC,kBAAU,EAAE,oBAAY,EAAE,kBAAU,EAAE,kBAAU,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC;KACH,CAAC;IACF,SAAS,EAAE,IAAA,sBAAQ,EACjB,IAAA,qBAAS,EAAC,CAAC,IAAA,mBAAO,EAAC,OAAO,CAAC,EAAE,IAAA,mBAAO,EAAC,QAAQ,CAAC,EAAE,IAAA,mBAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CACjE;IACD,KAAK,EAAE,IAAA,sBAAQ,EACb,IAAA,qBAAS,EAAC;QACR,IAAA,mBAAO,EAAC,SAAS,CAAC;QAClB,IAAA,mBAAO,EAAC,aAAa,CAAC;QACtB,IAAA,mBAAO,EAAC,OAAO,CAAC;QAChB,IAAA,mBAAO,EAAC,OAAO,CAAC;QAChB,IAAA,mBAAO,EAAC,SAAS,CAAC;QAClB,IAAA,mBAAO,EAAC,SAAS,CAAC;KACnB,CAAC,CACH;CACF,CAAC,CAAC;AAEH;;;GAGG;AACU,QAAA,kBAAkB,GAAG,IAAA,0BAAc,EAAC,CAAC,KAAK,EAAE,EAAE;IACzD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,IAAA,qBAAO,GAAE,CAAC;IACnB,CAAC;IACD,OAAO,IAAA,sBAAU,EAAC;QAChB,kBAAU;QACV,kBAAU;QACV,oBAAY;QACZ,kBAAU;QACV,mBAAW;QACX,kBAAU;KACX,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH;;;GAGG;AACU,QAAA,oBAAoB,GAAG,IAAA,0BAAc,EAAC,CAAC,KAAK,EAAE,EAAE;IAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAA,oBAAM,GAAE,CAAC;IAClB,CAAC;IACD,OAAO,IAAA,sBAAU,EAAC;QAChB,kBAAU;QACV,kBAAU;QACV,oBAAY;QACZ,kBAAU;QACV,kBAAU;KACX,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,aAAa,GAA6B,OAAO,CAAC,SAAS,EAAE;IACxE,QAAQ,EAAE,IAAA,sBAAQ,EAAC,0BAAkB,CAAC;IACtC,OAAO,EAAE,4BAAoB;CAC9B,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,SAAS,GAAyB,OAAO,CAAC,KAAK,EAAE;IAC5D,KAAK,EAAE,IAAA,oBAAM,GAAE;IACf,QAAQ,EAAE,IAAA,sBAAU,EAAC,CAAC,qBAAa,EAAE,mBAAW,EAAE,kBAAU,EAAE,mBAAW,CAAC,CAAC;IAC3E,OAAO,EAAE,IAAA,sBAAQ,EACf,IAAA,qBAAS,EAAC,CAAC,IAAA,mBAAO,EAAC,SAAS,CAAC,EAAE,IAAA,mBAAO,EAAC,SAAS,CAAC,EAAE,IAAA,mBAAO,EAAC,UAAU,CAAC,CAAC,CAAC,CACzE;IACD,OAAO,EAAE,IAAA,sBAAQ,EAAC,IAAA,oBAAM,GAAE,CAAC;CAC5B,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,aAAa,GAA6B,OAAO,CAAC,SAAS,CAAC,CAAC;AAE1E;;;;GAIG;AACU,QAAA,cAAc,GAAG,IAAA,sBAAU,EAAC;IACvC,qBAAa;IACb,kBAAU;IACV,iBAAS;IACT,oBAAY;IACZ,sBAAc;IACd,qBAAa;IACb,sBAAc;IACd,wBAAgB;IAChB,uBAAe;IACf,kBAAU;IACV,qBAAa;IACb,mBAAW;IACX,mBAAW;IACX,oBAAY;IACZ,kBAAU;IACV,iBAAS;IACT,qBAAa;IACb,kBAAU;IACV,qBAAa;IACb,sBAAc;IACd,kBAAU;IACV,kBAAU;IACV,sBAAc;IACd,qBAAa;CACd,CAAC,CAAC;AAEU,QAAA,4BAA4B,GAAG,IAAA,sBAAU,EAAC;IACrD,sBAAc;IACd,0BAAkB;IAClB,kBAAU;IACV,oBAAY;IACZ,qBAAa;IACb,qBAAa;IACb,iBAAS;IACT,kBAAU;IACV,qBAAa;IACb,kBAAU;IACV,mBAAW;IACX,kBAAU;CACX,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,eAAe,GAA+B,OAAO,CAChE,WAAW,EACX;IACE,QAAQ,EAAE,IAAA,0BAAc,EAAC,CAAC,KAAK,EAAE,EAAE;QACjC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,IAAA,mBAAK,EAAC,CAAC,sBAAc,EAAE,oBAAY,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,sBAAc,CAAC;IACxB,CAAC,CAGA;CACF,CACF,CAAC;AAEF;;;GAGG;AACU,QAAA,oBAAoB,GAAG,IAAA,sBAAU,EAAC;IAC7C,sBAAc;IACd,uBAAe;CAChB,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,gBAAgB,GAAyB,IAAA,sBAAU,EAAC;IAC/D,oBAAY;IACZ,mBAAW;IACX,uBAAe;IACf,mBAAW;IACX,kBAAU;IACV,kBAAU;IACV,oBAAY;IACZ,qBAAa;IACb,iBAAS;IACT,sBAAc;IACd,qBAAa;IACb,qBAAa;IACb,mBAAW;IACX,kBAAU;IACV,iBAAS;IACT,qBAAa;IACb,kBAAU;IACV,sBAAc;IACd,oBAAY;IACZ,wBAAgB;IAChB,mBAAW;IACX,mBAAW;IACX,qBAAa;IACb,sBAAc;IACd,oBAAY;IACZ,uBAAe;IACf,kBAAU;IACV,kBAAU;IACV,sBAAc;IACd,4BAAoB;IACpB,qBAAa;CACd,CAAC,CAAC;AAEH;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,KAAc;IACzC,OAAO,IAAA,gBAAE,EAAC,KAAK,EAAE,wBAAgB,CAAC,CAAC;AACrC,CAAC;AAFD,oCAEC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,kBAAkB,CAAC,KAAc;IAC/C,OAAO,CACL,IAAA,qBAAa,EAAC,KAAK,CAAC;QACpB,IAAA,mBAAW,EAAC,KAAK,EAAE,MAAM,CAAC;QAC1B,IAAA,mBAAW,EAAC,KAAK,EAAE,OAAO,CAAC;QAC3B,IAAA,mBAAW,EAAC,KAAK,EAAE,KAAK,CAAC,CAC1B,CAAC;AACJ,CAAC;AAPD,gDAOC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,KAAc;IAC7C,4EAA4E;IAC5E,0EAA0E;IAC1E,2DAA2D;IAC3D,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,wCAAwC,IAAI,CAAC,SAAS,CACpD,KAAK,CACN,qFAAqF,CACvF,CAAC;IACJ,CAAC;AACH,CAAC;AAXD,4CAWC","sourcesContent":["import type {\n AnyStruct,\n Infer,\n InferStructTuple,\n ObjectSchema,\n Struct,\n} from '@metamask/superstruct';\nimport {\n is,\n boolean,\n optional,\n array,\n lazy,\n nullable,\n number,\n object,\n record,\n string,\n tuple,\n refine,\n} from '@metamask/superstruct';\nimport {\n CaipAccountIdStruct,\n hasProperty,\n HexChecksumAddressStruct,\n isPlainObject,\n JsonStruct,\n} from '@metamask/utils';\n\nimport type { Describe } from '../internals';\nimport {\n literal,\n nullUnion,\n selectiveUnion,\n svg,\n typedUnion,\n} from '../internals';\nimport type { EmptyObject } from '../types';\nimport type {\n GenericSnapChildren,\n GenericSnapElement,\n JsonObject,\n Key,\n Nestable,\n SnapElement,\n SnapsChildren,\n StringElement,\n} from './component';\nimport {\n type AddressElement,\n type BoldElement,\n type BoxElement,\n type ButtonElement,\n type CheckboxElement,\n type CardElement,\n type CopyableElement,\n type DividerElement,\n type DropdownElement,\n type OptionElement,\n type RadioElement,\n type RadioGroupElement,\n type FieldElement,\n type FormElement,\n type HeadingElement,\n type ImageElement,\n type InputElement,\n type ItalicElement,\n type JSXElement,\n type LinkElement,\n type RowElement,\n type SpinnerElement,\n type StandardFormattingElement,\n type TextElement,\n type TooltipElement,\n type ValueElement,\n type FileInputElement,\n type ContainerElement,\n type FooterElement,\n type IconElement,\n type SectionElement,\n type SelectorElement,\n type SelectorOptionElement,\n IconName,\n} from './components';\n\n/**\n * A struct for the {@link Key} type.\n */\nexport const KeyStruct: Describe<Key> = nullUnion([string(), number()]);\n\n/**\n * A struct for the {@link StringElement} type.\n */\nexport const StringElementStruct: Describe<StringElement> = children([\n string(),\n]);\n\n/**\n * A struct for the {@link GenericSnapElement} type.\n */\nexport const ElementStruct: Describe<GenericSnapElement> = object({\n type: string(),\n props: record(string(), JsonStruct),\n key: nullable(KeyStruct),\n});\n\n/**\n * A helper function for creating a struct for a {@link Nestable} type.\n *\n * @param struct - The struct for the type to test.\n * @returns The struct for the nestable type.\n */\nfunction nestable<Type, Schema>(\n struct: Struct<Type, Schema>,\n): Struct<Nestable<Type>, any> {\n const nestableStruct: Struct<Nestable<Type>> = selectiveUnion((value) => {\n if (Array.isArray(value)) {\n return array(lazy(() => nestableStruct));\n }\n return struct;\n });\n\n return nestableStruct;\n}\n\n/**\n * A helper function for creating a struct which allows children of a specific\n * type, as well as `null` and `boolean`.\n *\n * @param structs - The structs to allow as children.\n * @returns The struct for the children.\n */\nfunction children<Head extends AnyStruct, Tail extends AnyStruct[]>(\n structs: [head: Head, ...tail: Tail],\n): Struct<\n Nestable<Infer<Head> | InferStructTuple<Tail>[number] | boolean | null>,\n null\n> {\n return nestable(\n nullable(\n selectiveUnion((value) => {\n if (typeof value === 'boolean') {\n return boolean();\n }\n if (structs.length === 1) {\n return structs[0];\n }\n return nullUnion(structs);\n }),\n ),\n ) as unknown as Struct<\n Nestable<Infer<Head> | InferStructTuple<Tail>[number] | boolean | null>,\n null\n >;\n}\n\n/**\n * A helper function for creating a struct which allows a single child of a specific\n * type, as well as `null` and `boolean`.\n *\n * @param struct - The struct to allow as a single child.\n * @returns The struct for the children.\n */\nfunction singleChild<Type extends AnyStruct>(\n struct: Type,\n): Struct<Infer<Type> | boolean | null, null> {\n return nullable(\n selectiveUnion((value) => {\n if (typeof value === 'boolean') {\n return boolean();\n }\n\n return struct;\n }),\n ) as unknown as Struct<Infer<Type> | boolean | null, null>;\n}\n\n/**\n * A helper function for creating a struct for a JSX element.\n *\n * @param name - The name of the element.\n * @param props - The props of the element.\n * @returns The struct for the element.\n */\nfunction element<Name extends string, Props extends ObjectSchema = EmptyObject>(\n name: Name,\n props: Props = {} as Props,\n) {\n return object({\n type: literal(name) as unknown as Struct<Name, Name>,\n props: object(props),\n key: nullable(KeyStruct),\n });\n}\n\n/**\n * A struct for the {@link ImageElement} type.\n */\nexport const ImageStruct: Describe<ImageElement> = element('Image', {\n src: svg(),\n alt: optional(string()),\n});\n\nconst IconNameStruct: Struct<`${IconName}`, null> = nullUnion(\n Object.values(IconName).map((name) => literal(name)) as any,\n);\n\n/**\n * A struct for the {@link IconElement} type.\n */\nexport const IconStruct: Describe<IconElement> = element('Icon', {\n name: IconNameStruct,\n color: optional(\n nullUnion([literal('default'), literal('primary'), literal('muted')]),\n ),\n size: optional(nullUnion([literal('md'), literal('inherit')])),\n});\n\n/**\n * A struct for the {@link ButtonElement} type.\n */\nexport const ButtonStruct: Describe<ButtonElement> = element('Button', {\n children: children([StringElementStruct, ImageStruct, IconStruct]),\n name: optional(string()),\n type: optional(nullUnion([literal('button'), literal('submit')])),\n variant: optional(nullUnion([literal('primary'), literal('destructive')])),\n disabled: optional(boolean()),\n form: optional(string()),\n});\n\n/**\n * A struct for the {@link CheckboxElement} type.\n */\nexport const CheckboxStruct: Describe<CheckboxElement> = element('Checkbox', {\n name: string(),\n checked: optional(boolean()),\n label: optional(string()),\n variant: optional(nullUnion([literal('default'), literal('toggle')])),\n});\n\n/**\n * A struct for the {@link InputElement} type.\n */\nexport const InputStruct: Describe<InputElement> = element('Input', {\n name: string(),\n type: optional(\n nullUnion([literal('text'), literal('password'), literal('number')]),\n ),\n value: optional(string()),\n placeholder: optional(string()),\n});\n\n/**\n * A struct for the {@link OptionElement} type.\n */\nexport const OptionStruct: Describe<OptionElement> = element('Option', {\n value: string(),\n children: string(),\n});\n\n/**\n * A struct for the {@link DropdownElement} type.\n */\nexport const DropdownStruct: Describe<DropdownElement> = element('Dropdown', {\n name: string(),\n value: optional(string()),\n children: children([OptionStruct]),\n});\n\n/**\n * A struct for the {@link CardElement} type.\n */\nexport const CardStruct: Describe<CardElement> = element('Card', {\n image: optional(string()),\n title: string(),\n description: optional(string()),\n value: string(),\n extra: optional(string()),\n});\n\n/**\n * A struct for the {@link SelectorOptionElement} type.\n */\nexport const SelectorOptionStruct: Describe<SelectorOptionElement> = element(\n 'SelectorOption',\n {\n value: string(),\n children: CardStruct,\n },\n);\n\n/**\n * A struct for the {@link SelectorElement} type.\n */\nexport const SelectorStruct: Describe<SelectorElement> = element('Selector', {\n name: string(),\n title: string(),\n value: optional(string()),\n children: children([SelectorOptionStruct]),\n});\n\n/**\n * A struct for the {@link RadioElement} type.\n */\nexport const RadioStruct: Describe<RadioElement> = element('Radio', {\n value: string(),\n children: string(),\n});\n\n/**\n * A struct for the {@link RadioGroupElement} type.\n */\nexport const RadioGroupStruct: Describe<RadioGroupElement> = element(\n 'RadioGroup',\n {\n name: string(),\n value: optional(string()),\n children: children([RadioStruct]),\n },\n);\n\n/**\n * A struct for the {@link FileInputElement} type.\n */\nexport const FileInputStruct: Describe<FileInputElement> = element(\n 'FileInput',\n {\n name: string(),\n accept: nullUnion([optional(array(string()))]),\n compact: optional(boolean()),\n },\n);\n\n/**\n * A subset of JSX elements that represent the tuple Box + Input of the Field children.\n */\nconst BOX_INPUT_LEFT = [\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n singleChild(lazy(() => BoxChildStruct)),\n InputStruct,\n] as [typeof BoxChildStruct, typeof InputStruct];\n\n/**\n * A subset of JSX elements that represent the tuple Input + Box of the Field children.\n */\nconst BOX_INPUT_RIGHT = [\n InputStruct,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n singleChild(lazy(() => BoxChildStruct)),\n] as [typeof InputStruct, typeof BoxChildStruct];\n\n/**\n * A subset of JSX elements that represent the tuple Box + Input + Box of the Field children.\n */\nconst BOX_INPUT_BOTH = [\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n singleChild(lazy(() => BoxChildStruct)),\n InputStruct,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n singleChild(lazy(() => BoxChildStruct)),\n] as [typeof BoxChildStruct, typeof InputStruct, typeof BoxChildStruct];\n\n/**\n * A subset of JSX elements that are allowed as single children of the Field component.\n */\nconst FIELD_CHILDREN_ARRAY = [\n InputStruct,\n DropdownStruct,\n RadioGroupStruct,\n FileInputStruct,\n CheckboxStruct,\n SelectorStruct,\n] as [\n typeof InputStruct,\n typeof DropdownStruct,\n typeof RadioGroupStruct,\n typeof FileInputStruct,\n typeof CheckboxStruct,\n typeof SelectorStruct,\n];\n\n/**\n * A union of the allowed children of the Field component.\n * This is mainly used in the simulator for validation purposes.\n */\nexport const FieldChildUnionStruct = nullUnion([\n ...FIELD_CHILDREN_ARRAY,\n ...BOX_INPUT_LEFT,\n ...BOX_INPUT_RIGHT,\n ...BOX_INPUT_BOTH,\n]);\n\n/**\n * A subset of JSX elements that are allowed as children of the Field component.\n */\nconst FieldChildStruct = nullUnion([\n tuple(BOX_INPUT_LEFT),\n tuple(BOX_INPUT_RIGHT),\n tuple(BOX_INPUT_BOTH),\n ...FIELD_CHILDREN_ARRAY,\n]) as unknown as Struct<\n | [InputElement, GenericSnapChildren]\n | [GenericSnapChildren, InputElement]\n | [GenericSnapChildren, InputElement, GenericSnapChildren]\n | DropdownElement\n | RadioGroupElement\n | FileInputElement\n | InputElement\n | CheckboxElement\n | SelectorElement,\n null\n>;\n\n/**\n * A struct for the {@link FieldElement} type.\n */\nexport const FieldStruct: Describe<FieldElement> = element('Field', {\n label: optional(string()),\n error: optional(string()),\n children: FieldChildStruct,\n});\n\n/**\n * A subset of JSX elements that are allowed as children of the Form component.\n */\nexport const FormChildStruct = children(\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n [FieldStruct, lazy(() => BoxChildStruct)],\n) as unknown as Struct<SnapsChildren<GenericSnapElement>, null>;\n\n/**\n * A struct for the {@link FormElement} type.\n */\nexport const FormStruct: Describe<FormElement> = element('Form', {\n children: FormChildStruct,\n name: string(),\n});\n\n/**\n * A struct for the {@link BoldElement} type.\n */\nexport const BoldStruct: Describe<BoldElement> = element('Bold', {\n children: children([\n string(),\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n lazy(() => ItalicStruct) as unknown as Struct<\n SnapElement<JsonObject, 'Italic'>\n >,\n ]),\n});\n\n/**\n * A struct for the {@link ItalicElement} type.\n */\nexport const ItalicStruct: Describe<ItalicElement> = element('Italic', {\n children: children([\n string(),\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n lazy(() => BoldStruct) as unknown as Struct<\n SnapElement<JsonObject, 'Bold'>\n >,\n ]),\n});\n\nexport const FormattingStruct: Describe<StandardFormattingElement> = typedUnion(\n [BoldStruct, ItalicStruct],\n);\n\n/**\n * A struct for the {@link AddressElement} type.\n */\nexport const AddressStruct: Describe<AddressElement> = element('Address', {\n address: nullUnion([HexChecksumAddressStruct, CaipAccountIdStruct]),\n});\n\nexport const BoxChildrenStruct = children(\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n [lazy(() => BoxChildStruct)],\n) as unknown as Struct<SnapsChildren<GenericSnapElement>, null>;\n\n/**\n * A struct for the {@link BoxElement} type.\n */\nexport const BoxStruct: Describe<BoxElement> = element('Box', {\n children: BoxChildrenStruct,\n direction: optional(nullUnion([literal('horizontal'), literal('vertical')])),\n alignment: optional(\n nullUnion([\n literal('start'),\n literal('center'),\n literal('end'),\n literal('space-between'),\n literal('space-around'),\n ]),\n ),\n center: optional(boolean()),\n});\n\nconst FooterButtonStruct = refine(ButtonStruct, 'FooterButton', (value) => {\n if (\n typeof value.props.children === 'string' ||\n typeof value.props.children === 'boolean' ||\n value.props.children === null\n ) {\n return true;\n }\n\n if (Array.isArray(value.props.children)) {\n const hasNonTextElements = value.props.children.some(\n (child) =>\n typeof child !== 'string' &&\n typeof child !== 'boolean' &&\n child !== null,\n );\n\n if (!hasNonTextElements) {\n return true;\n }\n }\n\n return 'Footer buttons may only contain text.';\n});\n\n/**\n * A struct for the {@link SectionElement} type.\n */\nexport const SectionStruct: Describe<SectionElement> = element('Section', {\n children: BoxChildrenStruct,\n direction: optional(nullUnion([literal('horizontal'), literal('vertical')])),\n alignment: optional(\n nullUnion([\n literal('start'),\n literal('center'),\n literal('end'),\n literal('space-between'),\n literal('space-around'),\n ]),\n ),\n});\n\nexport const NotificationChildrenStruct = children(\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n [lazy(() => NotificationComponentsStruct)],\n) as unknown as Struct<SnapsChildren<GenericSnapElement>, null>;\n\n/**\n * A struct for the {@link BoxElement} type but with a limited subset of children.\n */\nexport const NotificationStruct: Describe<BoxElement> = element('Box', {\n children: NotificationChildrenStruct,\n direction: optional(nullUnion([literal('horizontal'), literal('vertical')])),\n alignment: optional(\n nullUnion([\n literal('start'),\n literal('center'),\n literal('end'),\n literal('space-between'),\n literal('space-around'),\n ]),\n ),\n});\n\n/**\n * A subset of JSX elements that are allowed as children of the Footer component.\n * This set should include a single button or a tuple of two buttons.\n */\n\nexport const FooterChildStruct = selectiveUnion((value) => {\n if (Array.isArray(value)) {\n return tuple([FooterButtonStruct, FooterButtonStruct]);\n }\n return FooterButtonStruct;\n});\n\n/**\n * A struct for the {@link FooterElement} type.\n */\nexport const FooterStruct: Describe<FooterElement> = element('Footer', {\n children: FooterChildStruct,\n});\n\n/**\n * A struct for the {@link CopyableElement} type.\n */\nexport const CopyableStruct: Describe<CopyableElement> = element('Copyable', {\n value: string(),\n sensitive: optional(boolean()),\n});\n\n/**\n * A struct for the {@link DividerElement} type.\n */\nexport const DividerStruct: Describe<DividerElement> = element('Divider');\n\n/**\n * A struct for the {@link ValueElement} type.\n */\nexport const ValueStruct: Describe<ValueElement> = element('Value', {\n value: string(),\n extra: string(),\n});\n\n/**\n * A struct for the {@link HeadingElement} type.\n */\nexport const HeadingStruct: Describe<HeadingElement> = element('Heading', {\n children: StringElementStruct,\n});\n\n/**\n * A struct for the {@link LinkElement} type.\n */\nexport const LinkStruct: Describe<LinkElement> = element('Link', {\n href: string(),\n children: children([FormattingStruct, string(), IconStruct, ImageStruct]),\n});\n\n/**\n * A struct for the {@link TextElement} type.\n */\nexport const TextStruct: Describe<TextElement> = element('Text', {\n children: children([\n selectiveUnion((value) => {\n if (typeof value === 'string') {\n return string();\n }\n return typedUnion([BoldStruct, ItalicStruct, LinkStruct, IconStruct]);\n }),\n ]),\n alignment: optional(\n nullUnion([literal('start'), literal('center'), literal('end')]),\n ),\n color: optional(\n nullUnion([\n literal('default'),\n literal('alternative'),\n literal('muted'),\n literal('error'),\n literal('success'),\n literal('warning'),\n ]),\n ),\n});\n\n/**\n * A subset of JSX elements that are allowed as children of the Tooltip component.\n * This set should include all text components and the Image.\n */\nexport const TooltipChildStruct = selectiveUnion((value) => {\n if (typeof value === 'boolean') {\n return boolean();\n }\n return typedUnion([\n TextStruct,\n BoldStruct,\n ItalicStruct,\n LinkStruct,\n ImageStruct,\n IconStruct,\n ]);\n});\n\n/**\n * A subset of JSX elements that are allowed as content of the Tooltip component.\n * This set should include all text components.\n */\nexport const TooltipContentStruct = selectiveUnion((value) => {\n if (typeof value === 'string') {\n return string();\n }\n return typedUnion([\n TextStruct,\n BoldStruct,\n ItalicStruct,\n LinkStruct,\n IconStruct,\n ]);\n});\n\n/**\n * A struct for the {@link TooltipElement} type.\n */\nexport const TooltipStruct: Describe<TooltipElement> = element('Tooltip', {\n children: nullable(TooltipChildStruct),\n content: TooltipContentStruct,\n});\n\n/**\n * A struct for the {@link RowElement} type.\n */\nexport const RowStruct: Describe<RowElement> = element('Row', {\n label: string(),\n children: typedUnion([AddressStruct, ImageStruct, TextStruct, ValueStruct]),\n variant: optional(\n nullUnion([literal('default'), literal('warning'), literal('critical')]),\n ),\n tooltip: optional(string()),\n});\n\n/**\n * A struct for the {@link SpinnerElement} type.\n */\nexport const SpinnerStruct: Describe<SpinnerElement> = element('Spinner');\n\n/**\n * A subset of JSX elements that are allowed as children of the Box component.\n * This set includes all components, except components that need to be nested in\n * another component (e.g., Field must be contained in a Form).\n */\nexport const BoxChildStruct = typedUnion([\n AddressStruct,\n BoldStruct,\n BoxStruct,\n ButtonStruct,\n CopyableStruct,\n DividerStruct,\n DropdownStruct,\n RadioGroupStruct,\n FileInputStruct,\n FormStruct,\n HeadingStruct,\n InputStruct,\n ImageStruct,\n ItalicStruct,\n LinkStruct,\n RowStruct,\n SpinnerStruct,\n TextStruct,\n TooltipStruct,\n CheckboxStruct,\n CardStruct,\n IconStruct,\n SelectorStruct,\n SectionStruct,\n]);\n\nexport const NotificationComponentsStruct = typedUnion([\n CopyableStruct,\n NotificationStruct,\n BoldStruct,\n ItalicStruct,\n AddressStruct,\n DividerStruct,\n RowStruct,\n TextStruct,\n TooltipStruct,\n IconStruct,\n ImageStruct,\n LinkStruct,\n]);\n\n/**\n * A struct for the {@link ContainerElement} type.\n */\nexport const ContainerStruct: Describe<ContainerElement> = element(\n 'Container',\n {\n children: selectiveUnion((value) => {\n if (Array.isArray(value)) {\n return tuple([BoxChildStruct, FooterStruct]);\n }\n return BoxChildStruct;\n }) as unknown as Struct<\n [GenericSnapElement, FooterElement] | GenericSnapElement,\n null\n >,\n },\n);\n\n/**\n * For now, the allowed JSX elements at the root are the same as the allowed\n * children of the Box component.\n */\nexport const RootJSXElementStruct = typedUnion([\n BoxChildStruct,\n ContainerStruct,\n]);\n\n/**\n * A struct for the {@link JSXElement} type.\n */\nexport const JSXElementStruct: Describe<JSXElement> = typedUnion([\n ButtonStruct,\n InputStruct,\n FileInputStruct,\n FieldStruct,\n FormStruct,\n BoldStruct,\n ItalicStruct,\n AddressStruct,\n BoxStruct,\n CopyableStruct,\n DividerStruct,\n HeadingStruct,\n ImageStruct,\n LinkStruct,\n RowStruct,\n SpinnerStruct,\n TextStruct,\n DropdownStruct,\n OptionStruct,\n RadioGroupStruct,\n RadioStruct,\n ValueStruct,\n TooltipStruct,\n CheckboxStruct,\n FooterStruct,\n ContainerStruct,\n CardStruct,\n IconStruct,\n SelectorStruct,\n SelectorOptionStruct,\n SectionStruct,\n]);\n\n/**\n * Check if a value is a JSX element.\n *\n * @param value - The value to check.\n * @returns True if the value is a JSX element, false otherwise.\n */\nexport function isJSXElement(value: unknown): value is JSXElement {\n return is(value, JSXElementStruct);\n}\n\n/**\n * Check if a value is a JSX element, without validating all of its contents.\n * This is useful when you want to validate the structure of a value, but not\n * all the children.\n *\n * This should only be used when you are sure that the value is safe to use,\n * i.e., after using {@link isJSXElement}.\n *\n * @param value - The value to check.\n * @returns True if the value is a JSX element, false otherwise.\n */\nexport function isJSXElementUnsafe(value: unknown): value is JSXElement {\n return (\n isPlainObject(value) &&\n hasProperty(value, 'type') &&\n hasProperty(value, 'props') &&\n hasProperty(value, 'key')\n );\n}\n\n/**\n * Assert that a value is a JSX element.\n *\n * @param value - The value to check.\n * @throws If the value is not a JSX element.\n */\nexport function assertJSXElement(value: unknown): asserts value is JSXElement {\n // TODO: We should use the error parsing utils from `snaps-utils` to improve\n // the error messages. It currently includes colours and potentially other\n // formatting that we might not want to include in the SDK.\n if (!isJSXElement(value)) {\n throw new Error(\n `Expected a JSX element, but received ${JSON.stringify(\n value,\n )}. Please refer to the documentation for the supported JSX elements and their props.`,\n );\n }\n}\n"]}
1
+ {"version":3,"file":"validation.cjs","sourceRoot":"","sources":["../../src/jsx/validation.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n AnyStruct,\n Infer,\n InferStructTuple,\n ObjectSchema,\n Struct,\n} from '@metamask/superstruct';\nimport {\n is,\n boolean,\n optional,\n array,\n lazy,\n nullable,\n number,\n object,\n record,\n string,\n tuple,\n refine,\n} from '@metamask/superstruct';\nimport {\n CaipAccountIdStruct,\n hasProperty,\n HexChecksumAddressStruct,\n isPlainObject,\n JsonStruct,\n} from '@metamask/utils';\n\nimport type { Describe } from '../internals';\nimport {\n literal,\n nullUnion,\n selectiveUnion,\n svg,\n typedUnion,\n} from '../internals';\nimport type { EmptyObject } from '../types';\nimport type {\n GenericSnapChildren,\n GenericSnapElement,\n JsonObject,\n Key,\n Nestable,\n SnapElement,\n SnapsChildren,\n StringElement,\n} from './component';\nimport {\n type AddressElement,\n type BoldElement,\n type BoxElement,\n type ButtonElement,\n type CheckboxElement,\n type CardElement,\n type CopyableElement,\n type DividerElement,\n type DropdownElement,\n type OptionElement,\n type RadioElement,\n type RadioGroupElement,\n type FieldElement,\n type FormElement,\n type HeadingElement,\n type ImageElement,\n type InputElement,\n type ItalicElement,\n type JSXElement,\n type LinkElement,\n type RowElement,\n type SpinnerElement,\n type StandardFormattingElement,\n type TextElement,\n type TooltipElement,\n type ValueElement,\n type FileInputElement,\n type ContainerElement,\n type FooterElement,\n type IconElement,\n type SectionElement,\n type SelectorElement,\n type SelectorOptionElement,\n IconName,\n} from './components';\n\n/**\n * A struct for the {@link Key} type.\n */\nexport const KeyStruct: Describe<Key> = nullUnion([string(), number()]);\n\n/**\n * A struct for the {@link StringElement} type.\n */\nexport const StringElementStruct: Describe<StringElement> = children([\n string(),\n]);\n\n/**\n * A struct for the {@link GenericSnapElement} type.\n */\nexport const ElementStruct: Describe<GenericSnapElement> = object({\n type: string(),\n props: record(string(), JsonStruct),\n key: nullable(KeyStruct),\n});\n\n/**\n * A helper function for creating a struct for a {@link Nestable} type.\n *\n * @param struct - The struct for the type to test.\n * @returns The struct for the nestable type.\n */\nfunction nestable<Type, Schema>(\n struct: Struct<Type, Schema>,\n): Struct<Nestable<Type>, any> {\n const nestableStruct: Struct<Nestable<Type>> = selectiveUnion((value) => {\n if (Array.isArray(value)) {\n return array(lazy(() => nestableStruct));\n }\n return struct;\n });\n\n return nestableStruct;\n}\n\n/**\n * A helper function for creating a struct which allows children of a specific\n * type, as well as `null` and `boolean`.\n *\n * @param structs - The structs to allow as children.\n * @returns The struct for the children.\n */\nfunction children<Head extends AnyStruct, Tail extends AnyStruct[]>(\n structs: [head: Head, ...tail: Tail],\n): Struct<\n Nestable<Infer<Head> | InferStructTuple<Tail>[number] | boolean | null>,\n null\n> {\n return nestable(\n nullable(\n selectiveUnion((value) => {\n if (typeof value === 'boolean') {\n return boolean();\n }\n if (structs.length === 1) {\n return structs[0];\n }\n return nullUnion(structs);\n }),\n ),\n ) as unknown as Struct<\n Nestable<Infer<Head> | InferStructTuple<Tail>[number] | boolean | null>,\n null\n >;\n}\n\n/**\n * A helper function for creating a struct which allows a single child of a specific\n * type, as well as `null` and `boolean`.\n *\n * @param struct - The struct to allow as a single child.\n * @returns The struct for the children.\n */\nfunction singleChild<Type extends AnyStruct>(\n struct: Type,\n): Struct<Infer<Type> | boolean | null, null> {\n return nullable(\n selectiveUnion((value) => {\n if (typeof value === 'boolean') {\n return boolean();\n }\n\n return struct;\n }),\n ) as unknown as Struct<Infer<Type> | boolean | null, null>;\n}\n\n/**\n * A helper function for creating a struct for a JSX element.\n *\n * @param name - The name of the element.\n * @param props - The props of the element.\n * @returns The struct for the element.\n */\nfunction element<Name extends string, Props extends ObjectSchema = EmptyObject>(\n name: Name,\n props: Props = {} as Props,\n) {\n return object({\n type: literal(name) as unknown as Struct<Name, Name>,\n props: object(props),\n key: nullable(KeyStruct),\n });\n}\n\n/**\n * A struct for the {@link ImageElement} type.\n */\nexport const ImageStruct: Describe<ImageElement> = element('Image', {\n src: svg(),\n alt: optional(string()),\n});\n\nconst IconNameStruct: Struct<`${IconName}`, null> = nullUnion(\n Object.values(IconName).map((name) => literal(name)) as any,\n);\n\n/**\n * A struct for the {@link IconElement} type.\n */\nexport const IconStruct: Describe<IconElement> = element('Icon', {\n name: IconNameStruct,\n color: optional(\n nullUnion([literal('default'), literal('primary'), literal('muted')]),\n ),\n size: optional(nullUnion([literal('md'), literal('inherit')])),\n});\n\n/**\n * A struct for the {@link ButtonElement} type.\n */\nexport const ButtonStruct: Describe<ButtonElement> = element('Button', {\n children: children([StringElementStruct, ImageStruct, IconStruct]),\n name: optional(string()),\n type: optional(nullUnion([literal('button'), literal('submit')])),\n variant: optional(nullUnion([literal('primary'), literal('destructive')])),\n disabled: optional(boolean()),\n form: optional(string()),\n});\n\n/**\n * A struct for the {@link CheckboxElement} type.\n */\nexport const CheckboxStruct: Describe<CheckboxElement> = element('Checkbox', {\n name: string(),\n checked: optional(boolean()),\n label: optional(string()),\n variant: optional(nullUnion([literal('default'), literal('toggle')])),\n});\n\n/**\n * A struct for the {@link InputElement} type.\n */\nexport const InputStruct: Describe<InputElement> = element('Input', {\n name: string(),\n type: optional(\n nullUnion([literal('text'), literal('password'), literal('number')]),\n ),\n value: optional(string()),\n placeholder: optional(string()),\n});\n\n/**\n * A struct for the {@link OptionElement} type.\n */\nexport const OptionStruct: Describe<OptionElement> = element('Option', {\n value: string(),\n children: string(),\n});\n\n/**\n * A struct for the {@link DropdownElement} type.\n */\nexport const DropdownStruct: Describe<DropdownElement> = element('Dropdown', {\n name: string(),\n value: optional(string()),\n children: children([OptionStruct]),\n});\n\n/**\n * A struct for the {@link CardElement} type.\n */\nexport const CardStruct: Describe<CardElement> = element('Card', {\n image: optional(string()),\n title: string(),\n description: optional(string()),\n value: string(),\n extra: optional(string()),\n});\n\n/**\n * A struct for the {@link SelectorOptionElement} type.\n */\nexport const SelectorOptionStruct: Describe<SelectorOptionElement> = element(\n 'SelectorOption',\n {\n value: string(),\n children: CardStruct,\n },\n);\n\n/**\n * A struct for the {@link SelectorElement} type.\n */\nexport const SelectorStruct: Describe<SelectorElement> = element('Selector', {\n name: string(),\n title: string(),\n value: optional(string()),\n children: children([SelectorOptionStruct]),\n});\n\n/**\n * A struct for the {@link RadioElement} type.\n */\nexport const RadioStruct: Describe<RadioElement> = element('Radio', {\n value: string(),\n children: string(),\n});\n\n/**\n * A struct for the {@link RadioGroupElement} type.\n */\nexport const RadioGroupStruct: Describe<RadioGroupElement> = element(\n 'RadioGroup',\n {\n name: string(),\n value: optional(string()),\n children: children([RadioStruct]),\n },\n);\n\n/**\n * A struct for the {@link FileInputElement} type.\n */\nexport const FileInputStruct: Describe<FileInputElement> = element(\n 'FileInput',\n {\n name: string(),\n accept: nullUnion([optional(array(string()))]),\n compact: optional(boolean()),\n },\n);\n\n/**\n * A subset of JSX elements that represent the tuple Box + Input of the Field children.\n */\nconst BOX_INPUT_LEFT = [\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n singleChild(lazy(() => BoxChildStruct)),\n InputStruct,\n] as [typeof BoxChildStruct, typeof InputStruct];\n\n/**\n * A subset of JSX elements that represent the tuple Input + Box of the Field children.\n */\nconst BOX_INPUT_RIGHT = [\n InputStruct,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n singleChild(lazy(() => BoxChildStruct)),\n] as [typeof InputStruct, typeof BoxChildStruct];\n\n/**\n * A subset of JSX elements that represent the tuple Box + Input + Box of the Field children.\n */\nconst BOX_INPUT_BOTH = [\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n singleChild(lazy(() => BoxChildStruct)),\n InputStruct,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n singleChild(lazy(() => BoxChildStruct)),\n] as [typeof BoxChildStruct, typeof InputStruct, typeof BoxChildStruct];\n\n/**\n * A subset of JSX elements that are allowed as single children of the Field component.\n */\nconst FIELD_CHILDREN_ARRAY = [\n InputStruct,\n DropdownStruct,\n RadioGroupStruct,\n FileInputStruct,\n CheckboxStruct,\n SelectorStruct,\n] as [\n typeof InputStruct,\n typeof DropdownStruct,\n typeof RadioGroupStruct,\n typeof FileInputStruct,\n typeof CheckboxStruct,\n typeof SelectorStruct,\n];\n\n/**\n * A union of the allowed children of the Field component.\n * This is mainly used in the simulator for validation purposes.\n */\nexport const FieldChildUnionStruct = nullUnion([\n ...FIELD_CHILDREN_ARRAY,\n ...BOX_INPUT_LEFT,\n ...BOX_INPUT_RIGHT,\n ...BOX_INPUT_BOTH,\n]);\n\n/**\n * A subset of JSX elements that are allowed as children of the Field component.\n */\nconst FieldChildStruct = nullUnion([\n tuple(BOX_INPUT_LEFT),\n tuple(BOX_INPUT_RIGHT),\n tuple(BOX_INPUT_BOTH),\n ...FIELD_CHILDREN_ARRAY,\n]) as unknown as Struct<\n | [InputElement, GenericSnapChildren]\n | [GenericSnapChildren, InputElement]\n | [GenericSnapChildren, InputElement, GenericSnapChildren]\n | DropdownElement\n | RadioGroupElement\n | FileInputElement\n | InputElement\n | CheckboxElement\n | SelectorElement,\n null\n>;\n\n/**\n * A struct for the {@link FieldElement} type.\n */\nexport const FieldStruct: Describe<FieldElement> = element('Field', {\n label: optional(string()),\n error: optional(string()),\n children: FieldChildStruct,\n});\n\n/**\n * A subset of JSX elements that are allowed as children of the Form component.\n */\nexport const FormChildStruct = children(\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n [FieldStruct, lazy(() => BoxChildStruct)],\n) as unknown as Struct<SnapsChildren<GenericSnapElement>, null>;\n\n/**\n * A struct for the {@link FormElement} type.\n */\nexport const FormStruct: Describe<FormElement> = element('Form', {\n children: FormChildStruct,\n name: string(),\n});\n\n/**\n * A struct for the {@link BoldElement} type.\n */\nexport const BoldStruct: Describe<BoldElement> = element('Bold', {\n children: children([\n string(),\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n lazy(() => ItalicStruct) as unknown as Struct<\n SnapElement<JsonObject, 'Italic'>\n >,\n ]),\n});\n\n/**\n * A struct for the {@link ItalicElement} type.\n */\nexport const ItalicStruct: Describe<ItalicElement> = element('Italic', {\n children: children([\n string(),\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n lazy(() => BoldStruct) as unknown as Struct<\n SnapElement<JsonObject, 'Bold'>\n >,\n ]),\n});\n\nexport const FormattingStruct: Describe<StandardFormattingElement> = typedUnion(\n [BoldStruct, ItalicStruct],\n);\n\n/**\n * A struct for the {@link AddressElement} type.\n */\nexport const AddressStruct: Describe<AddressElement> = element('Address', {\n address: nullUnion([HexChecksumAddressStruct, CaipAccountIdStruct]),\n});\n\nexport const BoxChildrenStruct = children(\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n [lazy(() => BoxChildStruct)],\n) as unknown as Struct<SnapsChildren<GenericSnapElement>, null>;\n\n/**\n * A struct for the {@link BoxElement} type.\n */\nexport const BoxStruct: Describe<BoxElement> = element('Box', {\n children: BoxChildrenStruct,\n direction: optional(nullUnion([literal('horizontal'), literal('vertical')])),\n alignment: optional(\n nullUnion([\n literal('start'),\n literal('center'),\n literal('end'),\n literal('space-between'),\n literal('space-around'),\n ]),\n ),\n center: optional(boolean()),\n});\n\nconst FooterButtonStruct = refine(ButtonStruct, 'FooterButton', (value) => {\n if (\n typeof value.props.children === 'string' ||\n typeof value.props.children === 'boolean' ||\n value.props.children === null\n ) {\n return true;\n }\n\n if (Array.isArray(value.props.children)) {\n const hasNonTextElements = value.props.children.some(\n (child) =>\n typeof child !== 'string' &&\n typeof child !== 'boolean' &&\n child !== null,\n );\n\n if (!hasNonTextElements) {\n return true;\n }\n }\n\n return 'Footer buttons may only contain text.';\n});\n\n/**\n * A struct for the {@link SectionElement} type.\n */\nexport const SectionStruct: Describe<SectionElement> = element('Section', {\n children: BoxChildrenStruct,\n direction: optional(nullUnion([literal('horizontal'), literal('vertical')])),\n alignment: optional(\n nullUnion([\n literal('start'),\n literal('center'),\n literal('end'),\n literal('space-between'),\n literal('space-around'),\n ]),\n ),\n});\n\nexport const NotificationChildrenStruct = children(\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n [lazy(() => NotificationComponentsStruct)],\n) as unknown as Struct<SnapsChildren<GenericSnapElement>, null>;\n\n/**\n * A struct for the {@link BoxElement} type but with a limited subset of children.\n */\nexport const NotificationStruct: Describe<BoxElement> = element('Box', {\n children: NotificationChildrenStruct,\n direction: optional(nullUnion([literal('horizontal'), literal('vertical')])),\n alignment: optional(\n nullUnion([\n literal('start'),\n literal('center'),\n literal('end'),\n literal('space-between'),\n literal('space-around'),\n ]),\n ),\n});\n\n/**\n * A subset of JSX elements that are allowed as children of the Footer component.\n * This set should include a single button or a tuple of two buttons.\n */\n\nexport const FooterChildStruct = selectiveUnion((value) => {\n if (Array.isArray(value)) {\n return tuple([FooterButtonStruct, FooterButtonStruct]);\n }\n return FooterButtonStruct;\n});\n\n/**\n * A struct for the {@link FooterElement} type.\n */\nexport const FooterStruct: Describe<FooterElement> = element('Footer', {\n children: FooterChildStruct,\n});\n\n/**\n * A struct for the {@link CopyableElement} type.\n */\nexport const CopyableStruct: Describe<CopyableElement> = element('Copyable', {\n value: string(),\n sensitive: optional(boolean()),\n});\n\n/**\n * A struct for the {@link DividerElement} type.\n */\nexport const DividerStruct: Describe<DividerElement> = element('Divider');\n\n/**\n * A struct for the {@link ValueElement} type.\n */\nexport const ValueStruct: Describe<ValueElement> = element('Value', {\n value: string(),\n extra: string(),\n});\n\n/**\n * A struct for the {@link HeadingElement} type.\n */\nexport const HeadingStruct: Describe<HeadingElement> = element('Heading', {\n children: StringElementStruct,\n size: optional(nullUnion([literal('md'), literal('lg')])),\n});\n\n/**\n * A struct for the {@link LinkElement} type.\n */\nexport const LinkStruct: Describe<LinkElement> = element('Link', {\n href: string(),\n children: children([\n FormattingStruct,\n string(),\n IconStruct,\n ImageStruct,\n AddressStruct,\n ]),\n});\n\n/**\n * A struct for the {@link TextElement} type.\n */\nexport const TextStruct: Describe<TextElement> = element('Text', {\n children: children([\n selectiveUnion((value) => {\n if (typeof value === 'string') {\n return string();\n }\n return typedUnion([BoldStruct, ItalicStruct, LinkStruct, IconStruct]);\n }),\n ]),\n alignment: optional(\n nullUnion([literal('start'), literal('center'), literal('end')]),\n ),\n color: optional(\n nullUnion([\n literal('default'),\n literal('alternative'),\n literal('muted'),\n literal('error'),\n literal('success'),\n literal('warning'),\n ]),\n ),\n});\n\n/**\n * A subset of JSX elements that are allowed as children of the Tooltip component.\n * This set should include all text components and the Image.\n */\nexport const TooltipChildStruct = selectiveUnion((value) => {\n if (typeof value === 'boolean') {\n return boolean();\n }\n return typedUnion([\n TextStruct,\n BoldStruct,\n ItalicStruct,\n LinkStruct,\n ImageStruct,\n IconStruct,\n ]);\n});\n\n/**\n * A subset of JSX elements that are allowed as content of the Tooltip component.\n * This set should include all text components.\n */\nexport const TooltipContentStruct = selectiveUnion((value) => {\n if (typeof value === 'string') {\n return string();\n }\n return typedUnion([\n TextStruct,\n BoldStruct,\n ItalicStruct,\n LinkStruct,\n IconStruct,\n ]);\n});\n\n/**\n * A struct for the {@link TooltipElement} type.\n */\nexport const TooltipStruct: Describe<TooltipElement> = element('Tooltip', {\n children: nullable(TooltipChildStruct),\n content: TooltipContentStruct,\n});\n\n/**\n * A struct for the {@link RowElement} type.\n */\nexport const RowStruct: Describe<RowElement> = element('Row', {\n label: string(),\n children: typedUnion([\n AddressStruct,\n ImageStruct,\n TextStruct,\n ValueStruct,\n LinkStruct,\n ]),\n variant: optional(\n nullUnion([literal('default'), literal('warning'), literal('critical')]),\n ),\n tooltip: optional(string()),\n});\n\n/**\n * A struct for the {@link SpinnerElement} type.\n */\nexport const SpinnerStruct: Describe<SpinnerElement> = element('Spinner');\n\n/**\n * A subset of JSX elements that are allowed as children of the Box component.\n * This set includes all components, except components that need to be nested in\n * another component (e.g., Field must be contained in a Form).\n */\nexport const BoxChildStruct = typedUnion([\n AddressStruct,\n BoldStruct,\n BoxStruct,\n ButtonStruct,\n CopyableStruct,\n DividerStruct,\n DropdownStruct,\n RadioGroupStruct,\n FileInputStruct,\n FormStruct,\n HeadingStruct,\n InputStruct,\n ImageStruct,\n ItalicStruct,\n LinkStruct,\n RowStruct,\n SpinnerStruct,\n TextStruct,\n TooltipStruct,\n CheckboxStruct,\n CardStruct,\n IconStruct,\n SelectorStruct,\n SectionStruct,\n]);\n\nexport const NotificationComponentsStruct = typedUnion([\n CopyableStruct,\n NotificationStruct,\n BoldStruct,\n ItalicStruct,\n AddressStruct,\n DividerStruct,\n RowStruct,\n TextStruct,\n TooltipStruct,\n IconStruct,\n ImageStruct,\n LinkStruct,\n]);\n\n/**\n * A struct for the {@link ContainerElement} type.\n */\nexport const ContainerStruct: Describe<ContainerElement> = element(\n 'Container',\n {\n children: selectiveUnion((value) => {\n if (Array.isArray(value)) {\n return tuple([BoxChildStruct, FooterStruct]);\n }\n return BoxChildStruct;\n }) as unknown as Struct<\n [GenericSnapElement, FooterElement] | GenericSnapElement,\n null\n >,\n },\n);\n\n/**\n * For now, the allowed JSX elements at the root are the same as the allowed\n * children of the Box component.\n */\nexport const RootJSXElementStruct = typedUnion([\n BoxChildStruct,\n ContainerStruct,\n]);\n\n/**\n * A struct for the {@link JSXElement} type.\n */\nexport const JSXElementStruct: Describe<JSXElement> = typedUnion([\n ButtonStruct,\n InputStruct,\n FileInputStruct,\n FieldStruct,\n FormStruct,\n BoldStruct,\n ItalicStruct,\n AddressStruct,\n BoxStruct,\n CopyableStruct,\n DividerStruct,\n HeadingStruct,\n ImageStruct,\n LinkStruct,\n RowStruct,\n SpinnerStruct,\n TextStruct,\n DropdownStruct,\n OptionStruct,\n RadioGroupStruct,\n RadioStruct,\n ValueStruct,\n TooltipStruct,\n CheckboxStruct,\n FooterStruct,\n ContainerStruct,\n CardStruct,\n IconStruct,\n SelectorStruct,\n SelectorOptionStruct,\n SectionStruct,\n]);\n\n/**\n * Check if a value is a JSX element.\n *\n * @param value - The value to check.\n * @returns True if the value is a JSX element, false otherwise.\n */\nexport function isJSXElement(value: unknown): value is JSXElement {\n return is(value, JSXElementStruct);\n}\n\n/**\n * Check if a value is a JSX element, without validating all of its contents.\n * This is useful when you want to validate the structure of a value, but not\n * all the children.\n *\n * This should only be used when you are sure that the value is safe to use,\n * i.e., after using {@link isJSXElement}.\n *\n * @param value - The value to check.\n * @returns True if the value is a JSX element, false otherwise.\n */\nexport function isJSXElementUnsafe(value: unknown): value is JSXElement {\n return (\n isPlainObject(value) &&\n hasProperty(value, 'type') &&\n hasProperty(value, 'props') &&\n hasProperty(value, 'key')\n );\n}\n\n/**\n * Assert that a value is a JSX element.\n *\n * @param value - The value to check.\n * @throws If the value is not a JSX element.\n */\nexport function assertJSXElement(value: unknown): asserts value is JSXElement {\n // TODO: We should use the error parsing utils from `snaps-utils` to improve\n // the error messages. It currently includes colours and potentially other\n // formatting that we might not want to include in the SDK.\n if (!isJSXElement(value)) {\n throw new Error(\n `Expected a JSX element, but received ${JSON.stringify(\n value,\n )}. Please refer to the documentation for the supported JSX elements and their props.`,\n );\n }\n}\n"]}
@@ -82,6 +82,7 @@ export declare const FieldChildUnionStruct: Struct<SnapElement<import("./compone
82
82
  }, "Radio">>;
83
83
  }, "RadioGroup"> | SnapElement<import("./components/index.cjs").FileInputProps, "FileInput"> | SnapElement<import("./components/index.cjs").CardProps, "Card"> | SnapElement<import("./components/index.cjs").SelectorProps, "Selector"> | SnapElement<import("./components/index.cjs").BoldProps, "Bold"> | SnapElement<import("./components/index.cjs").ItalicProps, "Italic"> | SnapElement<import("./components/index.cjs").AddressProps, "Address"> | SnapElement<import("./components/index.cjs").BoxProps, "Box"> | SnapElement<import("./components/index.cjs").CopyableProps, "Copyable"> | SnapElement<Record<string, never>, "Divider"> | SnapElement<{
84
84
  children: StringElement;
85
+ size?: "md" | "lg" | undefined;
85
86
  }, "Heading"> | SnapElement<import("./components/index.cjs").LinkProps, "Link"> | SnapElement<import("./components/index.cjs").TextProps, "Text"> | SnapElement<import("./components/index.cjs").RowProps, "Row"> | SnapElement<import("./components/index.cjs").SectionProps, "Section"> | SnapElement<Record<string, never>, "Spinner"> | SnapElement<import("./components/index.cjs").TooltipProps, "Tooltip">, null>;
86
87
  /**
87
88
  * A struct for the {@link FieldElement} type.
@@ -197,6 +198,7 @@ export declare const BoxChildStruct: Struct<SnapElement<import("./components/ind
197
198
  }, "Radio">>;
198
199
  }, "RadioGroup"> | SnapElement<import("./components/index.cjs").FileInputProps, "FileInput"> | SnapElement<import("./components/index.cjs").CardProps, "Card"> | SnapElement<import("./components/index.cjs").SelectorProps, "Selector"> | SnapElement<import("./components/index.cjs").BoldProps, "Bold"> | SnapElement<import("./components/index.cjs").ItalicProps, "Italic"> | SnapElement<import("./components/index.cjs").AddressProps, "Address"> | SnapElement<import("./components/index.cjs").BoxProps, "Box"> | SnapElement<import("./components/index.cjs").CopyableProps, "Copyable"> | SnapElement<Record<string, never>, "Divider"> | SnapElement<{
199
200
  children: StringElement;
201
+ size?: "md" | "lg" | undefined;
200
202
  }, "Heading"> | SnapElement<import("./components/index.cjs").LinkProps, "Link"> | SnapElement<import("./components/index.cjs").TextProps, "Text"> | SnapElement<import("./components/index.cjs").RowProps, "Row"> | SnapElement<import("./components/index.cjs").SectionProps, "Section"> | SnapElement<Record<string, never>, "Spinner"> | SnapElement<import("./components/index.cjs").TooltipProps, "Tooltip">, null>;
201
203
  export declare const NotificationComponentsStruct: Struct<SnapElement<import("./components/index.cjs").IconProps, "Icon"> | SnapElement<{
202
204
  src: string;
@@ -222,6 +224,7 @@ export declare const RootJSXElementStruct: Struct<SnapElement<import("./componen
222
224
  }, "Radio">>;
223
225
  }, "RadioGroup"> | SnapElement<import("./components/index.cjs").FileInputProps, "FileInput"> | SnapElement<import("./components/index.cjs").CardProps, "Card"> | SnapElement<import("./components/index.cjs").SelectorProps, "Selector"> | SnapElement<import("./components/index.cjs").BoldProps, "Bold"> | SnapElement<import("./components/index.cjs").ItalicProps, "Italic"> | SnapElement<import("./components/index.cjs").AddressProps, "Address"> | SnapElement<import("./components/index.cjs").BoxProps, "Box"> | SnapElement<import("./components/index.cjs").ContainerProps, "Container"> | SnapElement<import("./components/index.cjs").CopyableProps, "Copyable"> | SnapElement<Record<string, never>, "Divider"> | SnapElement<{
224
226
  children: StringElement;
227
+ size?: "md" | "lg" | undefined;
225
228
  }, "Heading"> | SnapElement<import("./components/index.cjs").LinkProps, "Link"> | SnapElement<import("./components/index.cjs").TextProps, "Text"> | SnapElement<import("./components/index.cjs").RowProps, "Row"> | SnapElement<import("./components/index.cjs").SectionProps, "Section"> | SnapElement<Record<string, never>, "Spinner"> | SnapElement<import("./components/index.cjs").TooltipProps, "Tooltip">, null>;
226
229
  /**
227
230
  * A struct for the {@link JSXElement} type.
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.cts","sourceRoot":"","sources":["../../src/jsx/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.d.cts","sourceRoot":"","sources":["../../src/jsx/validation.ts"],"names":[],"mappings":"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"}
@@ -82,6 +82,7 @@ export declare const FieldChildUnionStruct: Struct<SnapElement<import("./compone
82
82
  }, "Radio">>;
83
83
  }, "RadioGroup"> | SnapElement<import("./components/index.mjs").FileInputProps, "FileInput"> | SnapElement<import("./components/index.mjs").CardProps, "Card"> | SnapElement<import("./components/index.mjs").SelectorProps, "Selector"> | SnapElement<import("./components/index.mjs").BoldProps, "Bold"> | SnapElement<import("./components/index.mjs").ItalicProps, "Italic"> | SnapElement<import("./components/index.mjs").AddressProps, "Address"> | SnapElement<import("./components/index.mjs").BoxProps, "Box"> | SnapElement<import("./components/index.mjs").CopyableProps, "Copyable"> | SnapElement<Record<string, never>, "Divider"> | SnapElement<{
84
84
  children: StringElement;
85
+ size?: "md" | "lg" | undefined;
85
86
  }, "Heading"> | SnapElement<import("./components/index.mjs").LinkProps, "Link"> | SnapElement<import("./components/index.mjs").TextProps, "Text"> | SnapElement<import("./components/index.mjs").RowProps, "Row"> | SnapElement<import("./components/index.mjs").SectionProps, "Section"> | SnapElement<Record<string, never>, "Spinner"> | SnapElement<import("./components/index.mjs").TooltipProps, "Tooltip">, null>;
86
87
  /**
87
88
  * A struct for the {@link FieldElement} type.
@@ -197,6 +198,7 @@ export declare const BoxChildStruct: Struct<SnapElement<import("./components/ind
197
198
  }, "Radio">>;
198
199
  }, "RadioGroup"> | SnapElement<import("./components/index.mjs").FileInputProps, "FileInput"> | SnapElement<import("./components/index.mjs").CardProps, "Card"> | SnapElement<import("./components/index.mjs").SelectorProps, "Selector"> | SnapElement<import("./components/index.mjs").BoldProps, "Bold"> | SnapElement<import("./components/index.mjs").ItalicProps, "Italic"> | SnapElement<import("./components/index.mjs").AddressProps, "Address"> | SnapElement<import("./components/index.mjs").BoxProps, "Box"> | SnapElement<import("./components/index.mjs").CopyableProps, "Copyable"> | SnapElement<Record<string, never>, "Divider"> | SnapElement<{
199
200
  children: StringElement;
201
+ size?: "md" | "lg" | undefined;
200
202
  }, "Heading"> | SnapElement<import("./components/index.mjs").LinkProps, "Link"> | SnapElement<import("./components/index.mjs").TextProps, "Text"> | SnapElement<import("./components/index.mjs").RowProps, "Row"> | SnapElement<import("./components/index.mjs").SectionProps, "Section"> | SnapElement<Record<string, never>, "Spinner"> | SnapElement<import("./components/index.mjs").TooltipProps, "Tooltip">, null>;
201
203
  export declare const NotificationComponentsStruct: Struct<SnapElement<import("./components/index.mjs").IconProps, "Icon"> | SnapElement<{
202
204
  src: string;
@@ -222,6 +224,7 @@ export declare const RootJSXElementStruct: Struct<SnapElement<import("./componen
222
224
  }, "Radio">>;
223
225
  }, "RadioGroup"> | SnapElement<import("./components/index.mjs").FileInputProps, "FileInput"> | SnapElement<import("./components/index.mjs").CardProps, "Card"> | SnapElement<import("./components/index.mjs").SelectorProps, "Selector"> | SnapElement<import("./components/index.mjs").BoldProps, "Bold"> | SnapElement<import("./components/index.mjs").ItalicProps, "Italic"> | SnapElement<import("./components/index.mjs").AddressProps, "Address"> | SnapElement<import("./components/index.mjs").BoxProps, "Box"> | SnapElement<import("./components/index.mjs").ContainerProps, "Container"> | SnapElement<import("./components/index.mjs").CopyableProps, "Copyable"> | SnapElement<Record<string, never>, "Divider"> | SnapElement<{
224
226
  children: StringElement;
227
+ size?: "md" | "lg" | undefined;
225
228
  }, "Heading"> | SnapElement<import("./components/index.mjs").LinkProps, "Link"> | SnapElement<import("./components/index.mjs").TextProps, "Text"> | SnapElement<import("./components/index.mjs").RowProps, "Row"> | SnapElement<import("./components/index.mjs").SectionProps, "Section"> | SnapElement<Record<string, never>, "Spinner"> | SnapElement<import("./components/index.mjs").TooltipProps, "Tooltip">, null>;
226
229
  /**
227
230
  * A struct for the {@link JSXElement} type.
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.mts","sourceRoot":"","sources":["../../src/jsx/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.d.mts","sourceRoot":"","sources":["../../src/jsx/validation.ts"],"names":[],"mappings":"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"}
@@ -399,13 +399,20 @@ export const ValueStruct = element('Value', {
399
399
  */
400
400
  export const HeadingStruct = element('Heading', {
401
401
  children: StringElementStruct,
402
+ size: optional(nullUnion([literal('md'), literal('lg')])),
402
403
  });
403
404
  /**
404
405
  * A struct for the {@link LinkElement} type.
405
406
  */
406
407
  export const LinkStruct = element('Link', {
407
408
  href: string(),
408
- children: children([FormattingStruct, string(), IconStruct, ImageStruct]),
409
+ children: children([
410
+ FormattingStruct,
411
+ string(),
412
+ IconStruct,
413
+ ImageStruct,
414
+ AddressStruct,
415
+ ]),
409
416
  });
410
417
  /**
411
418
  * A struct for the {@link TextElement} type.
@@ -474,7 +481,13 @@ export const TooltipStruct = element('Tooltip', {
474
481
  */
475
482
  export const RowStruct = element('Row', {
476
483
  label: string(),
477
- children: typedUnion([AddressStruct, ImageStruct, TextStruct, ValueStruct]),
484
+ children: typedUnion([
485
+ AddressStruct,
486
+ ImageStruct,
487
+ TextStruct,
488
+ ValueStruct,
489
+ LinkStruct,
490
+ ]),
478
491
  variant: optional(nullUnion([literal('default'), literal('warning'), literal('critical')])),
479
492
  tooltip: optional(string()),
480
493
  });