@panneau/lists 5.0.0-alpha.15 → 5.0.0-alpha.17

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/dist/ListView.d.ts +7 -1
  2. package/dist/ListView.d.ts.map +1 -1
  3. package/dist/ListView.js +302 -297
  4. package/dist/ListView.js.map +1 -1
  5. package/dist/actions/ActionButton.d.ts +7 -1
  6. package/dist/actions/ActionButton.d.ts.map +1 -1
  7. package/dist/actions/ActionButton.js +74 -72
  8. package/dist/actions/ActionButton.js.map +1 -1
  9. package/dist/actions/Actions.css +12 -0
  10. package/dist/actions/Actions.module.js +6 -2
  11. package/dist/actions/Actions.module.js.map +1 -1
  12. package/dist/actions/RowActions.d.ts +21 -4
  13. package/dist/actions/RowActions.d.ts.map +1 -1
  14. package/dist/actions/RowActions.js +149 -84
  15. package/dist/actions/RowActions.js.map +1 -1
  16. package/dist/actions/fit.d.ts +25 -0
  17. package/dist/actions/fit.d.ts.map +1 -0
  18. package/dist/actions/fit.js +197 -0
  19. package/dist/actions/fit.js.map +1 -0
  20. package/dist/actions/icons.d.ts +5 -0
  21. package/dist/actions/icons.d.ts.map +1 -1
  22. package/dist/actions/icons.js +15 -1
  23. package/dist/actions/icons.js.map +1 -1
  24. package/dist/displays/Displays.css +19 -1
  25. package/dist/displays/Displays.module.js +8 -2
  26. package/dist/displays/Displays.module.js.map +1 -1
  27. package/dist/displays/displays.d.ts +31 -8
  28. package/dist/displays/displays.d.ts.map +1 -1
  29. package/dist/displays/displays.js +615 -164
  30. package/dist/displays/displays.js.map +1 -1
  31. package/dist/index.d.ts +1 -1
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +2 -2
  34. package/dist/layouts/CalendarLayout.d.ts +4 -4
  35. package/dist/layouts/CalendarLayout.d.ts.map +1 -1
  36. package/dist/layouts/CalendarLayout.js +25 -20
  37. package/dist/layouts/CalendarLayout.js.map +1 -1
  38. package/dist/layouts/CardsLayout.d.ts.map +1 -1
  39. package/dist/layouts/CardsLayout.js +90 -93
  40. package/dist/layouts/CardsLayout.js.map +1 -1
  41. package/dist/layouts/GalleryLayout.css +7 -0
  42. package/dist/layouts/GalleryLayout.d.ts.map +1 -1
  43. package/dist/layouts/GalleryLayout.js +76 -53
  44. package/dist/layouts/GalleryLayout.js.map +1 -1
  45. package/dist/layouts/GalleryLayout.module.js.map +1 -1
  46. package/dist/layouts/TableLayout.d.ts.map +1 -1
  47. package/dist/layouts/TableLayout.js +120 -93
  48. package/dist/layouts/TableLayout.js.map +1 -1
  49. package/dist/layouts/calendarDays.d.ts +14 -0
  50. package/dist/layouts/calendarDays.d.ts.map +1 -0
  51. package/dist/layouts/calendarDays.js +44 -0
  52. package/dist/layouts/calendarDays.js.map +1 -0
  53. package/dist/query.d.ts +3 -2
  54. package/dist/query.d.ts.map +1 -1
  55. package/dist/query.js +15 -4
  56. package/dist/query.js.map +1 -1
  57. package/dist/types.d.ts +9 -1
  58. package/dist/types.d.ts.map +1 -1
  59. package/package.json +7 -7
@@ -47,6 +47,12 @@
47
47
  font-size: var(--panneau-font-size-sm);
48
48
  }
49
49
 
50
+ .panneau-displays-palette-color {
51
+ display: inline-flex;
52
+ align-items: center;
53
+ gap: var(--panneau-space-2);
54
+ }
55
+
50
56
  .panneau-displays-swatch {
51
57
  flex: none;
52
58
  width: 1rem;
@@ -82,7 +88,14 @@
82
88
  gap: var(--panneau-space-1);
83
89
  }
84
90
 
85
- /* A value after a flag: a country, a phone number. */
91
+ /* Several countries. */
92
+ .panneau-displays-countries {
93
+ display: inline-flex;
94
+ flex-wrap: wrap;
95
+ gap: var(--panneau-space-1) var(--panneau-space-3);
96
+ }
97
+
98
+ /* A value after a flag: a country, a region, a phone number. */
86
99
  .panneau-displays-flagged {
87
100
  display: inline-flex;
88
101
  align-items: baseline;
@@ -93,3 +106,8 @@
93
106
  .panneau-displays-flag {
94
107
  flex: 0 0 auto;
95
108
  }
109
+
110
+ /* The flag of a region is an image: centered on the text, where an emoji sits on its baseline. */
111
+ .panneau-displays-region-flag {
112
+ align-self: center;
113
+ }
@@ -7,13 +7,16 @@ var boolean = "panneau-displays-boolean";
7
7
  var number = "panneau-displays-number";
8
8
  var link = "panneau-displays-link";
9
9
  var color = "panneau-displays-color";
10
+ var paletteColor = "panneau-displays-palette-color";
10
11
  var swatch = "panneau-displays-swatch";
11
12
  var media = "panneau-displays-media";
12
13
  var thumbnail = "panneau-displays-thumbnail";
13
14
  var code = "panneau-displays-code";
14
15
  var tags = "panneau-displays-tags";
16
+ var countries = "panneau-displays-countries";
15
17
  var flagged = "panneau-displays-flagged";
16
18
  var flag = "panneau-displays-flag";
19
+ var regionFlag = "panneau-displays-region-flag";
17
20
  var Displays_module_default = {
18
21
  empty,
19
22
  text,
@@ -24,15 +27,18 @@ var Displays_module_default = {
24
27
  number,
25
28
  link,
26
29
  color,
30
+ paletteColor,
27
31
  swatch,
28
32
  media,
29
33
  thumbnail,
30
34
  code,
31
35
  tags,
36
+ countries,
32
37
  flagged,
33
- flag
38
+ flag,
39
+ regionFlag
34
40
  };
35
41
  //#endregion
36
- export { badges, boolean, code, color, Displays_module_default as default, empty, flag, flagged, link, media, number, swatch, tags, text, thumbnail };
42
+ export { badges, boolean, code, color, countries, Displays_module_default as default, empty, flag, flagged, link, media, number, paletteColor, regionFlag, swatch, tags, text, thumbnail };
37
43
 
38
44
  //# sourceMappingURL=Displays.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Displays.module.js","names":[],"sources":["../../src/displays/Displays.module.css"],"sourcesContent":[".empty {\n color: var(--panneau-color-text-muted);\n}\n\n.text {\n display: -webkit-box;\n overflow: hidden;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow-wrap: anywhere;\n}\n\n.badges {\n display: inline-flex;\n flex-wrap: wrap;\n gap: var(--panneau-space-1);\n}\n\n.boolean {\n display: inline-flex;\n align-items: center;\n}\n\n.true {\n color: var(--panneau-color-success);\n}\n\n.false {\n color: var(--panneau-color-text-muted);\n}\n\n.number {\n font-variant-numeric: var(--panneau-font-numeric);\n}\n\n.link {\n color: var(--panneau-color-link);\n overflow-wrap: anywhere;\n}\n\n.color {\n display: inline-flex;\n align-items: center;\n gap: var(--panneau-space-2);\n font-family: var(--panneau-font-family-mono);\n font-size: var(--panneau-font-size-sm);\n}\n\n.swatch {\n flex: none;\n width: 1rem;\n height: 1rem;\n border: var(--panneau-border-width) solid var(--panneau-color-border-control);\n border-radius: var(--panneau-radius-sm);\n}\n\n.media {\n display: inline-flex;\n align-items: center;\n gap: var(--panneau-space-2);\n}\n\n.thumbnail {\n flex: none;\n width: 2.5rem;\n height: 2.5rem;\n object-fit: cover;\n background-color: var(--panneau-color-surface-sunken);\n border-radius: var(--panneau-radius-sm);\n}\n\n.code {\n font-family: var(--panneau-font-family-mono);\n font-size: var(--panneau-font-size-sm);\n white-space: nowrap;\n}\n\n.tags {\n display: inline-flex;\n flex-wrap: wrap;\n gap: var(--panneau-space-1);\n}\n\n/* A value after a flag: a country, a phone number. */\n.flagged {\n display: inline-flex;\n align-items: baseline;\n gap: var(--panneau-space-2);\n min-width: 0;\n}\n\n.flag {\n flex: 0 0 auto;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Displays.module.js","names":[],"sources":["../../src/displays/Displays.module.css"],"sourcesContent":[".empty {\n color: var(--panneau-color-text-muted);\n}\n\n.text {\n display: -webkit-box;\n overflow: hidden;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow-wrap: anywhere;\n}\n\n.badges {\n display: inline-flex;\n flex-wrap: wrap;\n gap: var(--panneau-space-1);\n}\n\n.boolean {\n display: inline-flex;\n align-items: center;\n}\n\n.true {\n color: var(--panneau-color-success);\n}\n\n.false {\n color: var(--panneau-color-text-muted);\n}\n\n.number {\n font-variant-numeric: var(--panneau-font-numeric);\n}\n\n.link {\n color: var(--panneau-color-link);\n overflow-wrap: anywhere;\n}\n\n.color {\n display: inline-flex;\n align-items: center;\n gap: var(--panneau-space-2);\n font-family: var(--panneau-font-family-mono);\n font-size: var(--panneau-font-size-sm);\n}\n\n.paletteColor {\n display: inline-flex;\n align-items: center;\n gap: var(--panneau-space-2);\n}\n\n.swatch {\n flex: none;\n width: 1rem;\n height: 1rem;\n border: var(--panneau-border-width) solid var(--panneau-color-border-control);\n border-radius: var(--panneau-radius-sm);\n}\n\n.media {\n display: inline-flex;\n align-items: center;\n gap: var(--panneau-space-2);\n}\n\n.thumbnail {\n flex: none;\n width: 2.5rem;\n height: 2.5rem;\n object-fit: cover;\n background-color: var(--panneau-color-surface-sunken);\n border-radius: var(--panneau-radius-sm);\n}\n\n.code {\n font-family: var(--panneau-font-family-mono);\n font-size: var(--panneau-font-size-sm);\n white-space: nowrap;\n}\n\n.tags {\n display: inline-flex;\n flex-wrap: wrap;\n gap: var(--panneau-space-1);\n}\n\n/* Several countries. */\n.countries {\n display: inline-flex;\n flex-wrap: wrap;\n gap: var(--panneau-space-1) var(--panneau-space-3);\n}\n\n/* A value after a flag: a country, a region, a phone number. */\n.flagged {\n display: inline-flex;\n align-items: baseline;\n gap: var(--panneau-space-2);\n min-width: 0;\n}\n\n.flag {\n flex: 0 0 auto;\n}\n\n/* The flag of a region is an image: centered on the text, where an emoji sits on its baseline. */\n.regionFlag {\n align-self: center;\n}\n"],"mappings":""}
@@ -16,6 +16,14 @@ export declare function BooleanDisplay({ value }: DisplayProps): import("react")
16
16
  export declare function DateDisplay({ value }: DisplayProps): import("react").JSX.Element;
17
17
  /** A date and a time, in the format and the time zone of the user. */
18
18
  export declare function DateTimeDisplay({ value }: DisplayProps): import("react").JSX.Element;
19
+ /**
20
+ * A range of dates (decision 0053), in the format of the locale: `Nov 4 – 6, 2026`. Date-times show
21
+ * in the zone of the value or the field, with its short name when it isn't the user's. A range open
22
+ * at one end shows `From Nov 4, 2026` or `Until Dec 1, 2026`.
23
+ */
24
+ export declare function DateRangeDisplay({ value, field }: DisplayProps): import("react").JSX.Element;
25
+ /** An amount of money (decision 0053), in the currency format of the locale: `1 250,00 $`. */
26
+ export declare function MoneyDisplay({ value }: DisplayProps): import("react").JSX.Element;
19
27
  /** A time of day (`14:30`), in the format of the locale. */
20
28
  export declare function TimeDisplay({ value }: DisplayProps): import("react").JSX.Element;
21
29
  /** The labels of the selected options, as badges. */
@@ -28,17 +36,22 @@ export declare function UrlDisplay({ value }: DisplayProps): import("react").JSX
28
36
  export declare function EmailDisplay({ value }: DisplayProps): import("react").JSX.Element;
29
37
  /**
30
38
  * A link that calls the phone number: the flag of its country and the number in its international
31
- * format (`+1 514 555 0199`). A value that isn't E.164 shows as it is.
39
+ * format (`+1 514 555 0199`), with its extension (`, ext. 123`) when its field allows one
40
+ * (`settings.extension`) or the column has no field. A value that isn't E.164 shows as it is.
32
41
  */
33
- export declare function TelDisplay({ value }: DisplayProps): import("react").JSX.Element;
34
- /** A country: its flag and its name in the user's locale. */
42
+ export declare function TelDisplay({ value, field }: DisplayProps): import("react").JSX.Element;
43
+ /** A country, or several (`multiple`): their flags and their names in the user's locale. */
35
44
  export declare function CountryDisplay({ value }: DisplayProps): import("react").JSX.Element;
36
45
  /**
37
- * A region: its name in the user's locale, from its country in the item (the field's `from`) or
38
- * the field's settings. A region that Panneau doesn't know shows as it is.
46
+ * A region: its flag, when it has one, and its name in the user's locale, from its country in the
47
+ * item (the field's `from`) or the field's settings. A region that Panneau doesn't know shows as it
48
+ * is.
39
49
  */
40
50
  export declare function RegionDisplay({ value, field, item }: DisplayProps): import("react").JSX.Element;
41
- /** A duration in seconds, with its units: `1 h 5 min`, to the precision of its field. */
51
+ /**
52
+ * A duration with its units, `1 h 5 min` or `2 d 4 h`: in the unit of its field (seconds by
53
+ * default), from its largest unit to its precision.
54
+ */
42
55
  export declare function DurationDisplay({ value, field }: DisplayProps): import("react").JSX.Element;
43
56
  /** JSON on one line, shortened. */
44
57
  export declare function JsonDisplay({ value }: DisplayProps): import("react").JSX.Element;
@@ -48,8 +61,18 @@ export declare function TagsDisplay({ value, field }: DisplayProps): import("rea
48
61
  export declare function EmbedDisplay({ value }: DisplayProps): import("react").JSX.Element;
49
62
  /** A place: its address, or its coordinates. */
50
63
  export declare function LocationDisplay({ value }: DisplayProps): import("react").JSX.Element;
51
- /** A swatch, with the color's code. */
52
- export declare function ColorDisplay({ value }: DisplayProps): import("react").JSX.Element;
64
+ /** An address on one line, in the order of its country, after the flag of its country. */
65
+ export declare function AddressDisplay({ value }: DisplayProps): import("react").JSX.Element;
66
+ /**
67
+ * A link: the icon of its type, and its label in the user's locale, or its page or its URL. It
68
+ * opens its URL when it has one, in a new tab when the link does.
69
+ */
70
+ export declare function LinkDisplay({ value }: DisplayProps): import("react").JSX.Element;
71
+ /**
72
+ * A swatch, with the color's code. A color of the field's palette (`settings.palette`) shows its
73
+ * swatch and its label.
74
+ */
75
+ export declare function ColorDisplay({ value, field }: DisplayProps): import("react").JSX.Element;
53
76
  /** A thumbnail and the name of a media item (or of the first one). */
54
77
  export declare function MediaDisplay({ value }: DisplayProps): import("react").JSX.Element;
55
78
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"displays.d.ts","sourceRoot":"","sources":["../../src/displays/displays.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAI3D,kGAAkG;AAClG,wBAAgB,UAAU,gCAMzB;AAWD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,YAAY,+BAczD;AAED,0BAA0B;AAC1B,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAStD;AAED,6CAA6C;AAC7C,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAQpD;AAED,4CAA4C;AAC5C,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAcrD;AAkBD,2CAA2C;AAC3C,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAOlD;AAED,sEAAsE;AACtE,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAWtD;AAED,4DAA4D;AAC5D,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAQlD;AAED,qDAAqD;AACrD,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,YAAY,+BAkB3D;AAED,mCAAmC;AACnC,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAUtD;AAED,iCAAiC;AACjC,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BASjD;AAED,mCAAmC;AACnC,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BASnD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAsBjD;AAED,6DAA6D;AAC7D,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAgBrD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,YAAY,+BASjE;AAED,yFAAyF;AACzF,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,YAAY,+BAM7D;AAED,mCAAmC;AACnC,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAUlD;AAED,yDAAyD;AACzD,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,YAAY,+BAezD;AAED,gEAAgE;AAChE,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAuBnD;AAED,gDAAgD;AAChD,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAkBtD;AAED,uCAAuC;AACvC,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAUnD;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAenD;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAyBlE,CAAC"}
1
+ {"version":3,"file":"displays.d.ts","sourceRoot":"","sources":["../../src/displays/displays.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAI3D,kGAAkG;AAClG,wBAAgB,UAAU,gCAMzB;AAWD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,YAAY,+BAkBzD;AAED,0BAA0B;AAC1B,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAetD;AAED,6CAA6C;AAC7C,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAQpD;AAED,4CAA4C;AAC5C,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAcrD;AAkBD,2CAA2C;AAC3C,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAOlD;AAED,sEAAsE;AACtE,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAWtD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,YAAY,+BAqB9D;AAED,8FAA8F;AAC9F,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAOnD;AAED,4DAA4D;AAC5D,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAQlD;AAED,qDAAqD;AACrD,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,YAAY,+BAkB3D;AAED,mCAAmC;AACnC,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAUtD;AAED,iCAAiC;AACjC,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BASjD;AAED,mCAAmC;AACnC,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BASnD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,YAAY,+BAmCxD;AAwBD,4FAA4F;AAC5F,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAiBrD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,YAAY,+BAsBjE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,YAAY,+BAa7D;AAED,mCAAmC;AACnC,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAUlD;AAED,yDAAyD;AACzD,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,YAAY,+BAezD;AAED,gEAAgE;AAChE,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAuBnD;AAED,gDAAgD;AAChD,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAsBtD;AAED,0FAA0F;AAC1F,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAsBrD;AAID;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAiClD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,YAAY,+BA0B1D;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,+BAmBnD;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CA6BlE,CAAC"}