@tightknitai/block-kitchen 0.10.6 → 0.10.8

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.
@@ -92,6 +92,13 @@ interface PaletteVariant {
92
92
  * variants at all can't offer one, so it stays in advanced mode.
93
93
  */
94
94
  basic?: boolean;
95
+ /**
96
+ * Label to use in simple mode, where the flat list drops the section
97
+ * headings that give the ordinary `label` its context — "No title" says
98
+ * nothing once "Image" is gone from above it. Ignored outside simple
99
+ * mode, and unnecessary for a variant whose label already stands alone.
100
+ */
101
+ basicLabel?: string;
95
102
  }
96
103
  /**
97
104
  * One section in the palette. Sections group related variants under a
@@ -925,9 +932,9 @@ type PreviewSurface = 'message' | 'modal' | 'app_home';
925
932
  * - `'advanced'` (default) — the full sectioned palette with its search
926
933
  * input, exactly as it has always rendered.
927
934
  * - `'simple'` — opens on a flat list of the variants whose
928
- * `PaletteVariant.basic` flag is set (in the built-in palette, just
929
- * **Rich Text Section**) with no search, behind an "Advanced" link that
930
- * swaps in the full palette. Nothing is removed — it's a smaller first
935
+ * `PaletteVariant.basic` flag is set (in the built-in palette: header,
936
+ * divider, rich text section and image) with no search, behind an
937
+ * "Advanced" link that swaps in the full palette. Nothing is removed — it's a smaller first
931
938
  * screen for people writing an ordinary message, not a reduced feature
932
939
  * set.
933
940
  *
@@ -1084,9 +1091,9 @@ interface BlockKitchenBaseProps {
1084
1091
  /**
1085
1092
  * How much of the palette the user meets first. Defaults to
1086
1093
  * `'advanced'` — the full sectioned palette, unchanged. Pass
1087
- * `'simple'` to open on a one-block starter list (**Rich Text
1088
- * Section**) with an "Advanced" link that swaps in the full palette;
1089
- * see {@link PaletteMode}.
1094
+ * `'simple'` to open on a short starter list (header, divider, rich
1095
+ * text section and image) with an "Advanced" link that swaps in the
1096
+ * full palette; see {@link PaletteMode}.
1090
1097
  *
1091
1098
  * Which variants the simple list holds is a property of the palette,
1092
1099
  * not of this flag: a custom `palette` opts its own variants in by
@@ -92,6 +92,13 @@ interface PaletteVariant {
92
92
  * variants at all can't offer one, so it stays in advanced mode.
93
93
  */
94
94
  basic?: boolean;
95
+ /**
96
+ * Label to use in simple mode, where the flat list drops the section
97
+ * headings that give the ordinary `label` its context — "No title" says
98
+ * nothing once "Image" is gone from above it. Ignored outside simple
99
+ * mode, and unnecessary for a variant whose label already stands alone.
100
+ */
101
+ basicLabel?: string;
95
102
  }
96
103
  /**
97
104
  * One section in the palette. Sections group related variants under a
@@ -925,9 +932,9 @@ type PreviewSurface = 'message' | 'modal' | 'app_home';
925
932
  * - `'advanced'` (default) — the full sectioned palette with its search
926
933
  * input, exactly as it has always rendered.
927
934
  * - `'simple'` — opens on a flat list of the variants whose
928
- * `PaletteVariant.basic` flag is set (in the built-in palette, just
929
- * **Rich Text Section**) with no search, behind an "Advanced" link that
930
- * swaps in the full palette. Nothing is removed — it's a smaller first
935
+ * `PaletteVariant.basic` flag is set (in the built-in palette: header,
936
+ * divider, rich text section and image) with no search, behind an
937
+ * "Advanced" link that swaps in the full palette. Nothing is removed — it's a smaller first
931
938
  * screen for people writing an ordinary message, not a reduced feature
932
939
  * set.
933
940
  *
@@ -1084,9 +1091,9 @@ interface BlockKitchenBaseProps {
1084
1091
  /**
1085
1092
  * How much of the palette the user meets first. Defaults to
1086
1093
  * `'advanced'` — the full sectioned palette, unchanged. Pass
1087
- * `'simple'` to open on a one-block starter list (**Rich Text
1088
- * Section**) with an "Advanced" link that swaps in the full palette;
1089
- * see {@link PaletteMode}.
1094
+ * `'simple'` to open on a short starter list (header, divider, rich
1095
+ * text section and image) with an "Advanced" link that swaps in the
1096
+ * full palette; see {@link PaletteMode}.
1090
1097
  *
1091
1098
  * Which variants the simple list holds is a property of the palette,
1092
1099
  * not of this flag: a custom `palette` opts its own variants in by
package/dist/palette.cjs CHANGED
@@ -627,6 +627,7 @@ var defaultPalette = [
627
627
  {
628
628
  id: "structure_header",
629
629
  label: "Header",
630
+ basic: true,
630
631
  factory: () => ({
631
632
  type: "header",
632
633
  text: { type: "plain_text", text: "Heading text", emoji: true }
@@ -635,6 +636,7 @@ var defaultPalette = [
635
636
  {
636
637
  id: "structure_divider",
637
638
  label: "Divider",
639
+ basic: true,
638
640
  factory: () => ({ type: "divider" })
639
641
  },
640
642
  {
@@ -742,8 +744,9 @@ var defaultPalette = [
742
744
  {
743
745
  id: "rich_text_section",
744
746
  label: "Rich Text Section",
745
- // The one variant simple mode offers, where it's listed without its
746
- // section heading — hence the self-describing label.
747
+ // The block a message is mostly made of, and so one of the handful
748
+ // simple mode offers — listed there without its section heading,
749
+ // hence the self-describing label.
747
750
  basic: true,
748
751
  factory: () => ({
749
752
  type: "rich_text",
@@ -780,6 +783,11 @@ var defaultPalette = [
780
783
  {
781
784
  id: "image_no_title",
782
785
  label: "No title",
786
+ // The plain image is the one an ordinary message reaches for, so it
787
+ // carries simple mode's image slot — under its own name there, with
788
+ // no "Image" heading overhead to lend "No title" its meaning.
789
+ basic: true,
790
+ basicLabel: "Image",
783
791
  factory: () => ({
784
792
  type: "image",
785
793
  image_url: "https://placehold.co/600x300?text=Image",
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/lib/default-blocks.ts"],"names":["Sparkles","FileText","AlignLeft","MousePointerClick","TextCursorInput","LayoutTemplate","Bell","Pilcrow","ImageIcon","VideoIcon","GalleryHorizontal","TableIcon","ChartColumnBig","Container"],"mappings":";;;;;AAmEO,IAAM,cAAA,GAA4C;AAAA,EACvD;AAAA,IACE,IAAA,EAAM,QAAA;AAAA,IACN,IAAA,EAAMA,oBAAA;AAAA,IACN,QAAA,EAAU;AAAA,MACR;AAAA,QACE,EAAA,EAAI,wBAAA;AAAA,QACJ,KAAA,EAAO,mBAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,iBAAA;AAAA,UACN,QAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAM,kBAAA;AAAA,cACN,SAAA,EAAW,UAAA;AAAA,cACX,eAAA,EAAiB;AAAA,gBACf,IAAA,EAAM,EAAE,IAAA,EAAM,YAAA,EAAc,MAAM,eAAA,EAAgB;AAAA,gBAClD,KAAA,EAAO;AAAA,eACT;AAAA,cACA,eAAA,EAAiB;AAAA,gBACf,IAAA,EAAM,EAAE,IAAA,EAAM,YAAA,EAAc,MAAM,cAAA,EAAe;AAAA,gBACjD,KAAA,EAAO;AAAA;AACT,aACF;AAAA,YACA;AAAA,cACE,IAAA,EAAM,aAAA;AAAA,cACN,SAAA,EAAW,QAAA;AAAA,cACX,IAAA,EAAM,OAAA;AAAA,cACN,IAAA,EAAM,EAAE,IAAA,EAAM,YAAA,EAAc,MAAM,QAAA;AAAS;AAC7C;AACF,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,sBAAA;AAAA,QACJ,KAAA,EAAO,eAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,iBAAA;AAAA,UACN,QAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAM,kBAAA;AAAA,cACN,SAAA,EAAW,UAAA;AAAA,cACX,eAAA,EAAiB;AAAA,gBACf,IAAA,EAAM,EAAE,IAAA,EAAM,YAAA,EAAc,MAAM,WAAA,EAAK;AAAA,gBACvC,KAAA,EAAO;AAAA,eACT;AAAA,cACA,eAAA,EAAiB;AAAA,gBACf,IAAA,EAAM,EAAE,IAAA,EAAM,YAAA,EAAc,MAAM,WAAA,EAAK;AAAA,gBACvC,KAAA,EAAO;AAAA;AACT;AACF;AACF,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,aAAA;AAAA,QACJ,KAAA,EAAO,MAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,MAAA;AAAA,UACN,KAAA,EAAO,yBAAA;AAAA,UACP,KAAA,EAAO;AAAA,YACL;AAAA,cACE,IAAA,EAAM,WAAA;AAAA,cACN,OAAA,EAAS,QAAA;AAAA,cACT,KAAA,EAAO,qBAAA;AAAA,cACP,MAAA,EAAQ;AAAA,aACV;AAAA,YACA;AAAA,cACE,IAAA,EAAM,WAAA;AAAA,cACN,OAAA,EAAS,QAAA;AAAA,cACT,KAAA,EAAO,6BAAA;AAAA,cACP,MAAA,EAAQ;AAAA,aACV;AAAA,YACA;AAAA,cACE,IAAA,EAAM,WAAA;AAAA,cACN,OAAA,EAAS,QAAA;AAAA,cACT,KAAA,EAAO,yBAAA;AAAA,cACP,MAAA,EAAQ;AAAA;AACV;AACF,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,kBAAA;AAAA,QACJ,KAAA,EAAO,WAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,WAAA;AAAA,UACN,OAAA,EAAS,QAAA;AAAA,UACT,KAAA,EAAO,oCAAA;AAAA,UACP,MAAA,EAAQ;AAAA,SACV;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,+BAAA;AAAA,QACJ,KAAA,EAAO,wBAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,WAAA;AAAA,UACN,OAAA,EAAS,QAAA;AAAA,UACT,KAAA,EAAO,sBAAA;AAAA,UACP,MAAA,EAAQ,UAAA;AAAA,UACR,OAAA,EAAS;AAAA,YACP;AAAA,cACE,IAAA,EAAM,KAAA;AAAA,cACN,GAAA,EAAK,6BAAA;AAAA,cACL,IAAA,EAAM;AAAA,aACR;AAAA,YACA;AAAA,cACE,IAAA,EAAM,KAAA;AAAA,cACN,GAAA,EAAK,+BAAA;AAAA,cACL,IAAA,EAAM;AAAA;AACR;AACF,SACF;AAAA;AACF;AACF,GACF;AAAA,EACA;AAAA,IACE,IAAA,EAAM,UAAA;AAAA,IACN,IAAA,EAAMC,oBAAA;AAAA,IACN,QAAA,EAAU;AAAA,MACR;AAAA,QACE,EAAA,EAAI,gBAAA;AAAA,QACJ,KAAA,EAAO,OAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,UAAA;AAAA,UACN,IAAA,EAAM;AAAA,SACR;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,eAAA;AAAA,QACJ,KAAA,EAAO,MAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,UAAA;AAAA,UACN,IAAA,EAAM;AAAA,SACR;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,eAAA;AAAA,QACJ,KAAA,EAAO,YAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,UAAA;AAAA;AAAA,UAEN,IAAA,EAAM;AAAA,SACR;AAAA;AACF;AACF,GACF;AAAA,EACA;AAAA,IACE,IAAA,EAAM,SAAA;AAAA,IACN,IAAA,EAAMC,qBAAA;AAAA,IACN,QAAA,EAAU;AAAA,MACR;AAAA,QACE,EAAA,EAAI,oBAAA;AAAA,QACJ,KAAA,EAAO,YAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,SAAA;AAAA,UACN,IAAA,EAAM;AAAA,YACJ,IAAA,EAAM,YAAA;AAAA,YACN,IAAA,EAAM,8BAAA;AAAA,YACN,KAAA,EAAO;AAAA;AACT,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,gBAAA;AAAA,QACJ,KAAA,EAAO,QAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,SAAA;AAAA,UACN,IAAA,EAAM;AAAA,YACJ,IAAA,EAAM,QAAA;AAAA,YACN,IAAA,EAAM;AAAA;AACR,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,qBAAA;AAAA,QACJ,KAAA,EAAO,uBAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,SAAA;AAAA,UACN,IAAA,EAAM;AAAA,YACJ,IAAA,EAAM,QAAA;AAAA,YACN,IAAA,EAAM;AAAA,WACR;AAAA,UACA,SAAA,EAAW;AAAA,YACT,IAAA,EAAM,QAAA;AAAA,YACN,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,YAC1D,SAAA,EAAW;AAAA;AACb,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,oBAAA;AAAA,QACJ,KAAA,EAAO,sBAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,SAAA;AAAA,UACN,IAAA,EAAM;AAAA,YACJ,IAAA,EAAM,QAAA;AAAA,YACN,IAAA,EAAM;AAAA,WACR;AAAA,UACA,SAAA,EAAW;AAAA,YACT,IAAA,EAAM,OAAA;AAAA,YACN,SAAA,EAAW,qCAAA;AAAA,YACX,QAAA,EAAU;AAAA;AACZ,SACF;AAAA;AACF;AACF,GACF;AAAA,EACA;AAAA,IACE,IAAA,EAAM,SAAA;AAAA,IACN,IAAA,EAAMC,6BAAA;AAAA,IACN,QAAA,EAAU;AAAA,MACR;AAAA,QACE,EAAA,EAAI,qBAAA;AAAA,QACJ,KAAA,EAAO,aAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,SAAA;AAAA,UACN,QAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAM,eAAA;AAAA,cACN,SAAA,EAAW,eAAA;AAAA,cACX,aAAa,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,QAAA,EAAU,OAAO,IAAA,EAAK;AAAA,cAC/D,OAAA,EAAS;AAAA,gBACP;AAAA,kBACE,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,kBAC1D,KAAA,EAAO;AAAA,iBACT;AAAA,gBACA;AAAA,kBACE,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,kBAC1D,KAAA,EAAO;AAAA;AACT;AACF,aACF;AAAA,YACA;AAAA,cACE,IAAA,EAAM,cAAA;AAAA,cACN,SAAA,EAAW,cAAA;AAAA,cACX,aAAa,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,MAAA,EAAQ,OAAO,IAAA;AAAK,aAC/D;AAAA,YACA;AAAA,cACE,IAAA,EAAM,iBAAA;AAAA,cACN,SAAA,EAAW,iBAAA;AAAA,cACX,aAAa,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,SAAA,EAAW,OAAO,IAAA;AAAK,aAClE;AAAA,YACA;AAAA,cACE,IAAA,EAAM,sBAAA;AAAA,cACN,SAAA,EAAW,sBAAA;AAAA,cACX,WAAA,EAAa;AAAA,gBACX,IAAA,EAAM,YAAA;AAAA,gBACN,IAAA,EAAM,cAAA;AAAA,gBACN,KAAA,EAAO;AAAA;AACT,aACF;AAAA,YACA;AAAA,cACE,IAAA,EAAM,iBAAA;AAAA,cACN,SAAA,EAAW,iBAAA;AAAA,cACX,aAAa,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,cACjE,gBAAA,EAAkB;AAAA;AACpB;AACF,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,+BAAA;AAAA,QACJ,KAAA,EAAO,uBAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,SAAA;AAAA,UACN,QAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAM,sBAAA;AAAA,cACN,SAAA,EAAW,+BAAA;AAAA,cACX,WAAA,EAAa;AAAA,gBACX,IAAA,EAAM,YAAA;AAAA,gBACN,IAAA,EAAM,uBAAA;AAAA,gBACN,KAAA,EAAO;AAAA,eACT;AAAA,cACA,MAAA,EAAQ;AAAA,gBACN,OAAA,EAAS,CAAC,QAAQ,CAAA;AAAA,gBAClB,iBAAA,EAAmB,IAAA;AAAA,gBACnB,gCAAA,EAAkC;AAAA;AACpC;AACF;AACF,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,gCAAA;AAAA,QACJ,KAAA,EAAO,6BAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,SAAA;AAAA,UACN,QAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAM,eAAA;AAAA,cACN,SAAA,EAAW,uBAAA;AAAA,cACX,aAAa,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,cACjE,cAAA,EAAgB;AAAA,gBACd,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,gBAC1D,KAAA,EAAO;AAAA,eACT;AAAA,cACA,OAAA,EAAS;AAAA,gBACP;AAAA,kBACE,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,kBAC1D,KAAA,EAAO;AAAA,iBACT;AAAA,gBACA;AAAA,kBACE,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,kBAC1D,KAAA,EAAO;AAAA,iBACT;AAAA,gBACA;AAAA,kBACE,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,kBAC1D,KAAA,EAAO;AAAA;AACT;AACF,aACF;AAAA,YACA;AAAA,cACE,IAAA,EAAM,cAAA;AAAA,cACN,SAAA,EAAW,sBAAA;AAAA,cACX,aAAa,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,aAAA,EAAe,OAAO,IAAA,EAAK;AAAA,cACpE,YAAA,EAAc;AAAA,aAChB;AAAA,YACA;AAAA,cACE,IAAA,EAAM,iBAAA;AAAA,cACN,SAAA,EAAW,yBAAA;AAAA,cACX,WAAA,EAAa;AAAA,gBACX,IAAA,EAAM,YAAA;AAAA,gBACN,IAAA,EAAM,gBAAA;AAAA,gBACN,KAAA,EAAO;AAAA,eACT;AAAA,cACA,eAAA,EAAiB;AAAA;AACnB;AACF,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,gBAAA;AAAA,QACJ,KAAA,EAAO,QAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,SAAA;AAAA,UACN,QAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAM,QAAA;AAAA,cACN,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,cAC1D,SAAA,EAAW;AAAA;AACb;AACF,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,qBAAA;AAAA,QACJ,KAAA,EAAO,aAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,SAAA;AAAA,UACN,QAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAM,YAAA;AAAA,cACN,SAAA,EAAW,YAAA;AAAA,cACX,WAAA,EAAa;AAAA,gBACX,IAAA,EAAM,YAAA;AAAA,gBACN,IAAA,EAAM,eAAA;AAAA,gBACN,KAAA,EAAO;AAAA;AACT,aACF;AAAA,YACA;AAAA,cACE,IAAA,EAAM,YAAA;AAAA,cACN,SAAA,EAAW,YAAA;AAAA,cACX,WAAA,EAAa;AAAA,gBACX,IAAA,EAAM,YAAA;AAAA,gBACN,IAAA,EAAM,eAAA;AAAA,gBACN,KAAA,EAAO;AAAA;AACT,aACF;AAAA,YACA;AAAA,cACE,IAAA,EAAM,gBAAA;AAAA,cACN,SAAA,EAAW;AAAA;AACb;AACF,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,oBAAA;AAAA,QACJ,KAAA,EAAO,YAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,SAAA;AAAA,UACN,QAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAM,YAAA;AAAA,cACN,SAAA,EAAW,YAAA;AAAA,cACX,OAAA,EAAS;AAAA,gBACP;AAAA,kBACE,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,kBAC1D,KAAA,EAAO;AAAA,iBACT;AAAA,gBACA;AAAA,kBACE,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,kBAC1D,KAAA,EAAO;AAAA,iBACT;AAAA,gBACA;AAAA,kBACE,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,kBAC1D,KAAA,EAAO;AAAA;AACT;AACF;AACF;AACF,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,uBAAA;AAAA,QACJ,KAAA,EAAO,eAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,SAAA;AAAA,UACN,QAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAM,eAAA;AAAA,cACN,SAAA,EAAW,eAAA;AAAA,cACX,OAAA,EAAS;AAAA,gBACP;AAAA,kBACE,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,kBAC1D,KAAA,EAAO;AAAA,iBACT;AAAA,gBACA;AAAA,kBACE,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,kBAC1D,KAAA,EAAO;AAAA,iBACT;AAAA,gBACA;AAAA,kBACE,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,kBAC1D,KAAA,EAAO;AAAA;AACT;AACF;AACF;AACF,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,oBAAA;AAAA,QACJ,KAAA,EAAO,YAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,SAAA;AAAA,UACN,QAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAM,YAAA;AAAA,cACN,SAAA,EAAW,iBAAA;AAAA,cACX,WAAA,EAAa;AAAA,gBACX,IAAA,EAAM,YAAA;AAAA,gBACN,IAAA,EAAM,eAAA;AAAA,gBACN,KAAA,EAAO;AAAA;AACT;AACF;AACF,SACF;AAAA;AACF;AACF,GACF;AAAA,EACA;AAAA,IACE,IAAA,EAAM,OAAA;AAAA,IACN,IAAA,EAAMC,2BAAA;AAAA,IACN,QAAA,EAAU;AAAA,MACR;AAAA,QACE,EAAA,EAAI,kBAAA;AAAA,QACJ,KAAA,EAAO,YAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,OAAA;AAAA,UACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,OAAA,EAAS,OAAO,IAAA,EAAK;AAAA,UACxD,OAAA,EAAS;AAAA,YACP,IAAA,EAAM,kBAAA;AAAA,YACN,SAAA,EAAW,kBAAA;AAAA,YACX,WAAA,EAAa;AAAA,cACX,IAAA,EAAM,YAAA;AAAA,cACN,IAAA,EAAM,iBAAA;AAAA,cACN,KAAA,EAAO;AAAA;AACT;AACF,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,sBAAA;AAAA,QACJ,KAAA,EAAO,gBAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,OAAA;AAAA,UACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,aAAA,EAAe,OAAO,IAAA,EAAK;AAAA,UAC9D,OAAA,EAAS;AAAA,YACP,IAAA,EAAM,kBAAA;AAAA,YACN,SAAA,EAAW,4BAAA;AAAA,YACX,SAAA,EAAW,IAAA;AAAA,YACX,WAAA,EAAa;AAAA,cACX,IAAA,EAAM,YAAA;AAAA,cACN,IAAA,EAAM,4BAAA;AAAA,cACN,KAAA,EAAO;AAAA;AACT;AACF,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,aAAA;AAAA,QACJ,KAAA,EAAO,OAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,OAAA;AAAA,UACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,eAAA,EAAiB,OAAO,IAAA,EAAK;AAAA,UAChE,OAAA,EAAS;AAAA,YACP,IAAA,EAAM,kBAAA;AAAA,YACN,SAAA,EAAW,kBAAA;AAAA,YACX,WAAA,EAAa;AAAA,cACX,IAAA,EAAM,YAAA;AAAA,cACN,IAAA,EAAM,kBAAA;AAAA,cACN,KAAA,EAAO;AAAA;AACT;AACF,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,WAAA;AAAA,QACJ,KAAA,EAAO,KAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,OAAA;AAAA,UACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,SAAA,EAAW,OAAO,IAAA,EAAK;AAAA,UAC1D,OAAA,EAAS;AAAA,YACP,IAAA,EAAM,gBAAA;AAAA,YACN,SAAA,EAAW,gBAAA;AAAA,YACX,WAAA,EAAa;AAAA,cACX,IAAA,EAAM,YAAA;AAAA,cACN,IAAA,EAAM,qBAAA;AAAA,cACN,KAAA,EAAO;AAAA;AACT;AACF,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,cAAA;AAAA,QACJ,KAAA,EAAO,QAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,OAAA;AAAA,UACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,UAC3D,OAAA,EAAS;AAAA,YACP,IAAA,EAAM,cAAA;AAAA,YACN,SAAA,EAAW,cAAA;AAAA,YACX,kBAAA,EAAoB,KAAA;AAAA,YACpB,aAAa,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,GAAA,EAAK,OAAO,IAAA;AAAK;AAC5D,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,YAAA;AAAA,QACJ,KAAA,EAAO,MAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,OAAA;AAAA,UACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,aAAA,EAAe,OAAO,IAAA,EAAK;AAAA,UAC9D,OAAA,EAAS;AAAA,YACP,IAAA,EAAM,YAAA;AAAA,YACN,SAAA,EAAW,YAAA;AAAA,YACX,WAAA,EAAa;AAAA,cACX,IAAA,EAAM,YAAA;AAAA,cACN,IAAA,EAAM,eAAA;AAAA,cACN,KAAA,EAAO;AAAA;AACT;AACF,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,cAAA;AAAA,QACJ,KAAA,EAAO,QAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,OAAA;AAAA,UACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,gBAAA,EAAkB,OAAO,IAAA,EAAK;AAAA,UACjE,OAAA,EAAS;AAAA,YACP,IAAA,EAAM,eAAA;AAAA,YACN,SAAA,EAAW,eAAA;AAAA,YACX,WAAA,EAAa;AAAA,cACX,IAAA,EAAM,YAAA;AAAA,cACN,IAAA,EAAM,YAAA;AAAA,cACN,KAAA,EAAO;AAAA,aACT;AAAA,YACA,OAAA,EAAS;AAAA,cACP;AAAA,gBACE,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,gBAC1D,KAAA,EAAO;AAAA,eACT;AAAA,cACA;AAAA,gBACE,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,gBAC1D,KAAA,EAAO;AAAA,eACT;AAAA,cACA;AAAA,gBACE,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,gBAC1D,KAAA,EAAO;AAAA;AACT;AACF;AACF,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,iBAAA;AAAA,QACJ,KAAA,EAAO,WAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,OAAA;AAAA,UACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,aAAA,EAAe,OAAO,IAAA,EAAK;AAAA,UAC9D,OAAA,EAAS;AAAA,YACP,IAAA,EAAM,iBAAA;AAAA,YACN,SAAA,EAAW,iBAAA;AAAA,YACX,WAAA,EAAa;AAAA,cACX,IAAA,EAAM,YAAA;AAAA,cACN,IAAA,EAAM,gBAAA;AAAA,cACN,KAAA,EAAO;AAAA;AACT;AACF,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,YAAA;AAAA,QACJ,KAAA,EAAO,aAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,OAAA;AAAA,UACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,eAAA,EAAiB,OAAO,IAAA,EAAK;AAAA,UAChE,OAAA,EAAS;AAAA,YACP,IAAA,EAAM,YAAA;AAAA,YACN,SAAA,EAAW,YAAA;AAAA,YACX,SAAA,EAAW;AAAA;AACb,SACF;AAAA;AACF;AACF,GACF;AAAA,EACA;AAAA,IACE,IAAA,EAAM,WAAA;AAAA,IACN,IAAA,EAAMC,0BAAA;AAAA,IACN,QAAA,EAAU;AAAA,MACR;AAAA,QACE,EAAA,EAAI,kBAAA;AAAA,QACJ,KAAA,EAAO,QAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,QAAA;AAAA,UACN,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,cAAA,EAAgB,OAAO,IAAA;AAAK,SAChE;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,mBAAA;AAAA,QACJ,KAAA,EAAO,SAAA;AAAA,QACP,OAAA,EAAS,OAAO,EAAE,IAAA,EAAM,SAAA,EAAU;AAAA,OACpC;AAAA,MACA;AAAA,QACE,EAAA,EAAI,yBAAA;AAAA,QACJ,KAAA,EAAO,sBAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,SAAA;AAAA,UACN,QAAA,EAAU,CAAC,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,oBAAA,EAAsB,KAAA,EAAO,IAAA,EAAM;AAAA,SAC5E;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,0BAAA;AAAA,QACJ,KAAA,EAAO,kBAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,SAAA;AAAA,UACN,UAAU,CAAC,EAAE,MAAM,QAAA,EAAU,IAAA,EAAM,wBAAwB;AAAA,SAC7D;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,+BAAA;AAAA,QACJ,KAAA,EAAO,yBAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,SAAA;AAAA,UACN,QAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAM,OAAA;AAAA,cACN,SAAA,EAAW,mCAAA;AAAA,cACX,QAAA,EAAU;AAAA,aACZ;AAAA,YACA,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,6BAAA;AAA8B;AACxD,SACF;AAAA;AACF;AACF,GACF;AAAA,EACA;AAAA,IACE,IAAA,EAAM,OAAA;AAAA,IACN,IAAA,EAAMC,gBAAA;AAAA,IACN,QAAA,EAAU;AAAA,MACR;AAAA,QACE,EAAA,EAAI,eAAA;AAAA,QACJ,KAAA,EAAO,SAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,OAAA;AAAA,UACN,IAAA,EAAM;AAAA,YACJ,IAAA,EAAM,QAAA;AAAA,YACN,IAAA,EAAM;AAAA;AACR,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,YAAA;AAAA,QACJ,KAAA,EAAO,MAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,OAAA;AAAA,UACN,KAAA,EAAO,MAAA;AAAA,UACP,IAAA,EAAM;AAAA,YACJ,IAAA,EAAM,QAAA;AAAA,YACN,IAAA,EAAM;AAAA;AACR,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,eAAA;AAAA,QACJ,KAAA,EAAO,SAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,OAAA;AAAA,UACN,KAAA,EAAO,SAAA;AAAA,UACP,IAAA,EAAM;AAAA,YACJ,IAAA,EAAM,QAAA;AAAA,YACN,IAAA,EAAM;AAAA;AACR,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,aAAA;AAAA,QACJ,KAAA,EAAO,OAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,OAAA;AAAA,UACN,KAAA,EAAO,OAAA;AAAA,UACP,IAAA,EAAM;AAAA,YACJ,IAAA,EAAM,QAAA;AAAA,YACN,IAAA,EAAM;AAAA;AACR,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,eAAA;AAAA,QACJ,KAAA,EAAO,SAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,OAAA;AAAA,UACN,KAAA,EAAO,SAAA;AAAA,UACP,IAAA,EAAM;AAAA,YACJ,IAAA,EAAM,QAAA;AAAA,YACN,IAAA,EAAM;AAAA;AACR,SACF;AAAA;AACF;AACF,GACF;AAAA,EACA;AAAA,IACE,IAAA,EAAM,WAAA;AAAA,IACN,IAAA,EAAMC,mBAAA;AAAA,IACN,QAAA,EAAU;AAAA,MACR;AAAA,QACE,EAAA,EAAI,mBAAA;AAAA,QACJ,KAAA,EAAO,mBAAA;AAAA;AAAA;AAAA,QAGP,KAAA,EAAO,IAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,WAAA;AAAA,UACN,QAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAM,mBAAA;AAAA,cACN,QAAA,EAAU;AAAA,gBACR,EAAE,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,cAAA,EAAe;AAAA,gBACrC,EAAE,MAAM,MAAA,EAAQ,IAAA,EAAM,WAAW,KAAA,EAAO,EAAE,IAAA,EAAM,IAAA,EAAK,EAAE;AAAA,gBACvD,EAAE,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,eAAA,EAAgB;AAAA,gBACtC,EAAE,MAAM,MAAA,EAAQ,IAAA,EAAM,UAAU,KAAA,EAAO,EAAE,MAAA,EAAQ,IAAA,EAAK,EAAE;AAAA,gBACxD,EAAE,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,QAAA;AAAS;AACjC;AACF;AACF,SACF;AAAA;AACF;AACF,GACF;AAAA,EACA;AAAA,IACE,IAAA,EAAM,OAAA;AAAA,IACN,IAAA,EAAMC,iBAAA;AAAA,IACN,QAAA,EAAU;AAAA,MACR;AAAA,QACE,EAAA,EAAI,kBAAA;AAAA,QACJ,KAAA,EAAO,YAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,OAAA;AAAA,UACN,SAAA,EAAW,yCAAA;AAAA,UACX,QAAA,EAAU,mBAAA;AAAA,UACV,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,aAAA,EAAe,OAAO,IAAA;AAAK,SAChE;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,gBAAA;AAAA,QACJ,KAAA,EAAO,UAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,OAAA;AAAA,UACN,SAAA,EAAW,yCAAA;AAAA,UACX,QAAA,EAAU;AAAA,SACZ;AAAA;AACF;AACF,GACF;AAAA,EACA;AAAA,IACE,IAAA,EAAM,OAAA;AAAA,IACN,IAAA,EAAMC,iBAAA;AAAA,IACN,QAAA,EAAU;AAAA,MACR;AAAA,QACE,EAAA,EAAI,aAAA;AAAA,QACJ,KAAA,EAAO,OAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,OAAA;AAAA,UACN,QAAA,EAAU,oBAAA;AAAA,UACV,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,cAAA,EAAgB,OAAO,IAAA,EAAK;AAAA,UAC/D,aAAA,EAAe,yCAAA;AAAA,UACf,SAAA,EAAW;AAAA,SACb;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,qBAAA;AAAA,QACJ,KAAA,EAAO,eAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,OAAA;AAAA,UACN,QAAA,EAAU,oBAAA;AAAA,UACV,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,cAAA,EAAgB,OAAO,IAAA,EAAK;AAAA,UAC/D,SAAA,EAAW,6CAAA;AAAA,UACX,aAAA,EAAe,yCAAA;AAAA,UACf,SAAA,EAAW,2CAAA;AAAA,UACX,WAAA,EAAa,MAAA;AAAA,UACb,WAAA,EAAa;AAAA,YACX,IAAA,EAAM,YAAA;AAAA,YACN,IAAA,EAAM,yCAAA;AAAA,YACN,KAAA,EAAO;AAAA,WACT;AAAA,UACA,aAAA,EAAe,SAAA;AAAA,UACf,iBAAA,EAAmB;AAAA,SACrB;AAAA;AACF;AACF,GACF;AAAA,EACA;AAAA,IACE,IAAA,EAAM,mBAAA;AAAA,IACN,IAAA,EAAMC,6BAAA;AAAA,IACN,QAAA,EAAU;AAAA,MACR;AAAA,QACE,EAAA,EAAI,YAAA;AAAA,QACJ,KAAA,EAAO,MAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,MAAA;AAAA,UACN,IAAA,EAAM;AAAA,YACJ,IAAA,EAAM,OAAA;AAAA,YACN,SAAA,EAAW,sCAAA;AAAA,YACX,QAAA,EAAU;AAAA,WACZ;AAAA,UACA,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,YAAA,EAAa;AAAA,UAC5C,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,eAAA,EAAgB;AAAA,UAClD,IAAA,EAAM;AAAA,YACJ,IAAA,EAAM,QAAA;AAAA,YACN,IAAA,EAAM;AAAA;AACR,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,gBAAA;AAAA,QACJ,KAAA,EAAO,sBAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,MAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,IAAA,EAAM,OAAA;AAAA,YACN,SAAA,EAAW,wCAAA;AAAA,YACX,QAAA,EAAU;AAAA,WACZ;AAAA,UACA,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,YAAA,EAAa;AAAA,UAC5C,IAAA,EAAM;AAAA,YACJ,IAAA,EAAM,QAAA;AAAA,YACN,IAAA,EAAM;AAAA;AACR,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,mBAAA;AAAA,QACJ,KAAA,EAAO,mBAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,MAAA;AAAA,UACN,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,YAAA,EAAa;AAAA,UAC5C,IAAA,EAAM;AAAA,YACJ,IAAA,EAAM,QAAA;AAAA,YACN,IAAA,EAAM;AAAA,WACR;AAAA,UACA,OAAA,EAAS;AAAA,YACP;AAAA,cACE,IAAA,EAAM,QAAA;AAAA,cACN,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,MAAA,EAAQ,OAAO,IAAA,EAAK;AAAA,cACtD,SAAA,EAAW;AAAA;AACb;AACF,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,gBAAA;AAAA,QACJ,KAAA,EAAO,UAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,UAAA;AAAA,UACN,QAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAM,MAAA;AAAA,cACN,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,QAAA,EAAS;AAAA,cACxC,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,6BAAA;AAA8B,aAC9D;AAAA,YACA;AAAA,cACE,IAAA,EAAM,MAAA;AAAA,cACN,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,QAAA,EAAS;AAAA,cACxC,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,8BAAA;AAA+B,aAC/D;AAAA,YACA;AAAA,cACE,IAAA,EAAM,MAAA;AAAA,cACN,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,QAAA,EAAS;AAAA,cACxC,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,6BAAA;AAA8B;AAC9D;AACF,SACF;AAAA;AACF;AACF,GACF;AAAA,EACA;AAAA,IACE,IAAA,EAAM,OAAA;AAAA,IACN,IAAA,EAAMC,iBAAA;AAAA,IACN,QAAA,EAAU;AAAA,MACR;AAAA,QACE,EAAA,EAAI,cAAA;AAAA,QACJ,KAAA,EAAO,cAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,OAAA;AAAA,UACN,IAAA,EAAM;AAAA,YACJ;AAAA,cACE,EAAE,IAAA,EAAM,UAAA,EAAY,IAAA,EAAM,UAAA,EAAW;AAAA,cACrC,EAAE,IAAA,EAAM,UAAA,EAAY,IAAA,EAAM,UAAA,EAAW;AAAA,cACrC,EAAE,IAAA,EAAM,UAAA,EAAY,IAAA,EAAM,UAAA;AAAW,aACvC;AAAA,YACA;AAAA,cACE,EAAE,IAAA,EAAM,UAAA,EAAY,IAAA,EAAM,UAAA,EAAW;AAAA,cACrC,EAAE,IAAA,EAAM,UAAA,EAAY,IAAA,EAAM,UAAA,EAAW;AAAA,cACrC,EAAE,IAAA,EAAM,UAAA,EAAY,IAAA,EAAM,UAAA;AAAW,aACvC;AAAA,YACA;AAAA,cACE,EAAE,IAAA,EAAM,UAAA,EAAY,IAAA,EAAM,UAAA,EAAW;AAAA,cACrC,EAAE,IAAA,EAAM,UAAA,EAAY,IAAA,EAAM,UAAA,EAAW;AAAA,cACrC,EAAE,IAAA,EAAM,UAAA,EAAY,IAAA,EAAM,UAAA;AAAW;AACvC;AACF,SACF;AAAA;AACF;AACF,GACF;AAAA,EACA;AAAA,IACE,IAAA,EAAM,oBAAA;AAAA,IACN,IAAA,EAAMC,0BAAA;AAAA,IACN,QAAA,EAAU;AAAA,MACR;AAAA,QACE,EAAA,EAAI,cAAA;AAAA,QACJ,KAAA,EAAO,YAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,oBAAA;AAAA,UACN,KAAA,EAAO,iCAAA;AAAA,UACP,KAAA,EAAO;AAAA,YACL,IAAA,EAAM,MAAA;AAAA,YACN,MAAA,EAAQ;AAAA,cACN;AAAA,gBACE,IAAA,EAAM,SAAA;AAAA,gBACN,IAAA,EAAM;AAAA,kBACJ,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,GAAA,EAAI;AAAA,kBAC3B,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,GAAA,EAAI;AAAA,kBAC3B,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,GAAA,EAAI;AAAA,kBAC3B,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,IAAA,EAAK;AAAA,kBAC5B,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,IAAA;AAAK;AAC9B,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,QAAA;AAAA,gBACN,IAAA,EAAM;AAAA,kBACJ,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,GAAA,EAAI;AAAA,kBAC3B,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,GAAA,EAAI;AAAA,kBAC3B,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,GAAA,EAAI;AAAA,kBAC3B,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,GAAA,EAAI;AAAA,kBAC3B,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,GAAA;AAAI;AAC7B;AACF,aACF;AAAA,YACA,WAAA,EAAa;AAAA,cACX,YAAY,CAAC,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,OAAO,KAAK,CAAA;AAAA,cAC9C,OAAA,EAAS,KAAA;AAAA,cACT,OAAA,EAAS;AAAA;AACX;AACF,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,aAAA;AAAA,QACJ,KAAA,EAAO,WAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,oBAAA;AAAA,UACN,KAAA,EAAO,2BAAA;AAAA,UACP,KAAA,EAAO;AAAA,YACL,IAAA,EAAM,KAAA;AAAA,YACN,MAAA,EAAQ;AAAA,cACN;AAAA,gBACE,IAAA,EAAM,SAAA;AAAA,gBACN,IAAA,EAAM;AAAA,kBACJ,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,IAAA,EAAK;AAAA,kBAC5B,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,IAAA,EAAK;AAAA,kBAC5B,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,IAAA,EAAK;AAAA,kBAC5B,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,IAAA,EAAK;AAAA,kBAC5B,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,IAAA;AAAK;AAC9B,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,QAAA;AAAA,gBACN,IAAA,EAAM;AAAA,kBACJ,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,GAAA,EAAI;AAAA,kBAC3B,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,GAAA,EAAI;AAAA,kBAC3B,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,GAAA,EAAI;AAAA,kBAC3B,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,GAAA,EAAI;AAAA,kBAC3B,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,GAAA;AAAI;AAC7B;AACF,aACF;AAAA,YACA,WAAA,EAAa;AAAA,cACX,YAAY,CAAC,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,OAAO,KAAK,CAAA;AAAA,cAC9C,OAAA,EAAS,KAAA;AAAA,cACT,OAAA,EAAS;AAAA;AACX;AACF,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,cAAA;AAAA,QACJ,KAAA,EAAO,YAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,oBAAA;AAAA,UACN,KAAA,EAAO,8BAAA;AAAA,UACP,KAAA,EAAO;AAAA,YACL,IAAA,EAAM,MAAA;AAAA,YACN,MAAA,EAAQ;AAAA,cACN;AAAA,gBACE,IAAA,EAAM,SAAA;AAAA,gBACN,IAAA,EAAM;AAAA,kBACJ,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,IAAA,EAAK;AAAA,kBAC5B,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,GAAA,EAAK;AAAA,kBAC5B,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,IAAA,EAAK;AAAA,kBAC5B,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,IAAA,EAAK;AAAA,kBAC5B,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,IAAA;AAAK;AAC9B,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,QAAA;AAAA,gBACN,IAAA,EAAM;AAAA,kBACJ,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,IAAA,EAAK;AAAA,kBAC5B,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,IAAA,EAAK;AAAA,kBAC5B,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,IAAA,EAAK;AAAA,kBAC5B,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,IAAA,EAAK;AAAA,kBAC5B,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,IAAA;AAAK;AAC9B;AACF,aACF;AAAA,YACA,WAAA,EAAa;AAAA,cACX,YAAY,CAAC,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,OAAO,KAAK,CAAA;AAAA,cAC9C,OAAA,EAAS,KAAA;AAAA,cACT,OAAA,EAAS;AAAA;AACX;AACF,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,EAAA,EAAI,aAAA;AAAA,QACJ,KAAA,EAAO,WAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,oBAAA;AAAA,UACN,KAAA,EAAO,2BAAA;AAAA,UACP,KAAA,EAAO;AAAA,YACL,IAAA,EAAM,KAAA;AAAA,YACN,QAAA,EAAU;AAAA,cACR,EAAE,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,IAAA,EAAK;AAAA,cAC7B,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,IAAA,EAAK;AAAA,cAC5B,EAAE,KAAA,EAAO,WAAA,EAAa,KAAA,EAAO,IAAA,EAAK;AAAA,cAClC,EAAE,KAAA,EAAO,YAAA,EAAc,KAAA,EAAO,GAAA;AAAI;AACpC;AACF,SACF;AAAA;AACF;AACF,GACF;AAAA,EACA;AAAA,IACE,IAAA,EAAM,WAAA;AAAA,IACN,IAAA,EAAMC,qBAAA;AAAA,IACN,QAAA,EAAU;AAAA,MACR;AAAA,QACE,EAAA,EAAI,uBAAA;AAAA,QACJ,KAAA,EAAO,uBAAA;AAAA,QACP,SAAS,OAAO;AAAA,UACd,IAAA,EAAM,WAAA;AAAA,UACN,KAAA,EAAO,EAAE,IAAA,EAAM,YAAA,EAAc,MAAM,iCAAA,EAAkC;AAAA,UACrE,QAAA,EAAU,EAAE,IAAA,EAAM,YAAA,EAAc,MAAM,kCAAA,EAAmC;AAAA,UACzE,cAAA,EAAgB,IAAA;AAAA,UAChB,YAAA,EAAc;AAAA,YACZ;AAAA,cACE,IAAA,EAAM,SAAA;AAAA,cACN,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,wCAAA;AAAoC,aACpE;AAAA,YACA,EAAE,MAAM,SAAA,EAAU;AAAA,YAClB;AAAA,cACE,IAAA,EAAM,SAAA;AAAA,cACN,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,+CAAA;AAA2C,aAC3E;AAAA,YACA;AAAA,cACE,IAAA,EAAM,SAAA;AAAA,cACN,QAAA,EAAU;AAAA,gBACR;AAAA,kBACE,IAAA,EAAM,QAAA;AAAA,kBACN,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,aAAA,EAAe,OAAO,IAAA,EAAK;AAAA,kBAC7D,KAAA,EAAO,SAAA;AAAA,kBACP,SAAA,EAAW;AAAA,iBACb;AAAA,gBACA;AAAA,kBACE,IAAA,EAAM,QAAA;AAAA,kBACN,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,QAAA,EAAU,OAAO,IAAA,EAAK;AAAA,kBACxD,SAAA,EAAW;AAAA;AACb;AACF;AACF;AACF,SACF;AAAA;AACF;AACF;AAEJ;AAwBO,IAAM,mBAAA,GAAiD;AAAA,EAC5D;AAAA,IACE,EAAA,EAAI,kBAAA;AAAA,IACJ,KAAA,EAAO,YAAA;AAAA,IACP,SAAS,OAAO;AAAA,MACd,IAAA,EAAM,OAAA;AAAA,MACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,OAAA,EAAS,OAAO,IAAA,EAAK;AAAA,MACxD,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,kBAAA;AAAA,QACN,SAAA,EAAW,kBAAA;AAAA,QACX,WAAA,EAAa;AAAA,UACX,IAAA,EAAM,YAAA;AAAA,UACN,IAAA,EAAM,iBAAA;AAAA,UACN,KAAA,EAAO;AAAA;AACT;AACF,KACF;AAAA,GACF;AAAA,EACA;AAAA,IACE,EAAA,EAAI,sBAAA;AAAA,IACJ,KAAA,EAAO,gBAAA;AAAA,IACP,SAAS,OAAO;AAAA,MACd,IAAA,EAAM,OAAA;AAAA,MACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,aAAA,EAAe,OAAO,IAAA,EAAK;AAAA,MAC9D,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,kBAAA;AAAA,QACN,SAAA,EAAW,4BAAA;AAAA,QACX,SAAA,EAAW,IAAA;AAAA,QACX,WAAA,EAAa;AAAA,UACX,IAAA,EAAM,YAAA;AAAA,UACN,IAAA,EAAM,4BAAA;AAAA,UACN,KAAA,EAAO;AAAA;AACT;AACF,KACF;AAAA,GACF;AAAA,EACA;AAAA,IACE,EAAA,EAAI,aAAA;AAAA,IACJ,KAAA,EAAO,OAAA;AAAA,IACP,SAAS,OAAO;AAAA,MACd,IAAA,EAAM,OAAA;AAAA,MACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,eAAA,EAAiB,OAAO,IAAA,EAAK;AAAA,MAChE,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,kBAAA;AAAA,QACN,SAAA,EAAW,kBAAA;AAAA,QACX,WAAA,EAAa;AAAA,UACX,IAAA,EAAM,YAAA;AAAA,UACN,IAAA,EAAM,kBAAA;AAAA,UACN,KAAA,EAAO;AAAA;AACT;AACF,KACF;AAAA,GACF;AAAA,EACA;AAAA,IACE,EAAA,EAAI,WAAA;AAAA,IACJ,KAAA,EAAO,KAAA;AAAA,IACP,SAAS,OAAO;AAAA,MACd,IAAA,EAAM,OAAA;AAAA,MACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,SAAA,EAAW,OAAO,IAAA,EAAK;AAAA,MAC1D,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,gBAAA;AAAA,QACN,SAAA,EAAW,gBAAA;AAAA,QACX,WAAA,EAAa;AAAA,UACX,IAAA,EAAM,YAAA;AAAA,UACN,IAAA,EAAM,qBAAA;AAAA,UACN,KAAA,EAAO;AAAA;AACT;AACF,KACF;AAAA,GACF;AAAA,EACA;AAAA,IACE,EAAA,EAAI,cAAA;AAAA,IACJ,KAAA,EAAO,QAAA;AAAA,IACP,SAAS,OAAO;AAAA,MACd,IAAA,EAAM,OAAA;AAAA,MACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,MAC3D,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,cAAA;AAAA,QACN,SAAA,EAAW,cAAA;AAAA,QACX,kBAAA,EAAoB,KAAA;AAAA,QACpB,aAAa,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,GAAA,EAAK,OAAO,IAAA;AAAK;AAC5D,KACF;AAAA,GACF;AAAA,EACA;AAAA,IACE,EAAA,EAAI,YAAA;AAAA,IACJ,KAAA,EAAO,MAAA;AAAA,IACP,SAAS,OAAO;AAAA,MACd,IAAA,EAAM,OAAA;AAAA,MACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,aAAA,EAAe,OAAO,IAAA,EAAK;AAAA,MAC9D,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,YAAA;AAAA,QACN,SAAA,EAAW,YAAA;AAAA,QACX,WAAA,EAAa;AAAA,UACX,IAAA,EAAM,YAAA;AAAA,UACN,IAAA,EAAM,eAAA;AAAA,UACN,KAAA,EAAO;AAAA;AACT;AACF,KACF;AAAA,GACF;AAAA,EACA;AAAA,IACE,EAAA,EAAI,YAAA;AAAA,IACJ,KAAA,EAAO,MAAA;AAAA,IACP,SAAS,OAAO;AAAA,MACd,IAAA,EAAM,OAAA;AAAA,MACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,aAAA,EAAe,OAAO,IAAA,EAAK;AAAA,MAC9D,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,YAAA;AAAA,QACN,SAAA,EAAW,YAAA;AAAA,QACX,WAAA,EAAa;AAAA,UACX,IAAA,EAAM,YAAA;AAAA,UACN,IAAA,EAAM,eAAA;AAAA,UACN,KAAA,EAAO;AAAA;AACT;AACF,KACF;AAAA,GACF;AAAA,EACA;AAAA,IACE,EAAA,EAAI,gBAAA;AAAA,IACJ,KAAA,EAAO,eAAA;AAAA,IACP,SAAS,OAAO;AAAA,MACd,IAAA,EAAM,OAAA;AAAA,MACN,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,YAAA;AAAA,QACN,IAAA,EAAM,sBAAA;AAAA,QACN,KAAA,EAAO;AAAA,OACT;AAAA,MACA,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,gBAAA;AAAA,QACN,SAAA,EAAW;AAAA;AACb,KACF;AAAA,GACF;AAAA,EACA;AAAA,IACE,EAAA,EAAI,qBAAA;AAAA,IACJ,KAAA,EAAO,QAAA;AAAA,IACP,SAAS,OAAO;AAAA,MACd,IAAA,EAAM,OAAA;AAAA,MACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,gBAAA,EAAkB,OAAO,IAAA,EAAK;AAAA,MACjE,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,eAAA;AAAA,QACN,SAAA,EAAW,eAAA;AAAA,QACX,WAAA,EAAa;AAAA,UACX,IAAA,EAAM,YAAA;AAAA,UACN,IAAA,EAAM,YAAA;AAAA,UACN,KAAA,EAAO;AAAA,SACT;AAAA,QACA,OAAA,EAAS;AAAA,UACP;AAAA,YACE,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,YAC1D,KAAA,EAAO;AAAA,WACT;AAAA,UACA;AAAA,YACE,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,YAC1D,KAAA,EAAO;AAAA,WACT;AAAA,UACA;AAAA,YACE,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,YAC1D,KAAA,EAAO;AAAA;AACT;AACF;AACF,KACF;AAAA,GACF;AAAA,EACA;AAAA,IACE,EAAA,EAAI,2BAAA;AAAA,IACJ,KAAA,EAAO,cAAA;AAAA,IACP,SAAS,OAAO;AAAA,MACd,IAAA,EAAM,OAAA;AAAA,MACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,cAAA,EAAgB,OAAO,IAAA,EAAK;AAAA,MAC/D,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,qBAAA;AAAA,QACN,SAAA,EAAW,qBAAA;AAAA,QACX,WAAA,EAAa;AAAA,UACX,IAAA,EAAM,YAAA;AAAA,UACN,IAAA,EAAM,oBAAA;AAAA,UACN,KAAA,EAAO;AAAA,SACT;AAAA,QACA,OAAA,EAAS;AAAA,UACP;AAAA,YACE,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,YAC1D,KAAA,EAAO;AAAA,WACT;AAAA,UACA;AAAA,YACE,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,YAC1D,KAAA,EAAO;AAAA,WACT;AAAA,UACA;AAAA,YACE,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,YAC1D,KAAA,EAAO;AAAA;AACT;AACF;AACF,KACF;AAAA,GACF;AAAA,EACA;AAAA,IACE,EAAA,EAAI,oBAAA;AAAA,IACJ,KAAA,EAAO,cAAA;AAAA,IACP,SAAS,OAAO;AAAA,MACd,IAAA,EAAM,OAAA;AAAA,MACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,aAAA,EAAe,OAAO,IAAA,EAAK;AAAA,MAC9D,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,cAAA;AAAA,QACN,SAAA,EAAW,cAAA;AAAA,QACX,WAAA,EAAa;AAAA,UACX,IAAA,EAAM,YAAA;AAAA,UACN,IAAA,EAAM,eAAA;AAAA,UACN,KAAA,EAAO;AAAA;AACT;AACF,KACF;AAAA,GACF;AAAA,EACA;AAAA,IACE,EAAA,EAAI,0BAAA;AAAA,IACJ,KAAA,EAAO,oBAAA;AAAA,IACP,SAAS,OAAO;AAAA,MACd,IAAA,EAAM,OAAA;AAAA,MACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,YAAA,EAAc,OAAO,IAAA,EAAK;AAAA,MAC7D,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,oBAAA;AAAA,QACN,SAAA,EAAW,oBAAA;AAAA,QACX,WAAA,EAAa;AAAA,UACX,IAAA,EAAM,YAAA;AAAA,UACN,IAAA,EAAM,cAAA;AAAA,UACN,KAAA,EAAO;AAAA;AACT;AACF,KACF;AAAA,GACF;AAAA,EACA;AAAA,IACE,EAAA,EAAI,uBAAA;AAAA,IACJ,KAAA,EAAO,iBAAA;AAAA,IACP,SAAS,OAAO;AAAA,MACd,IAAA,EAAM,OAAA;AAAA,MACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,gBAAA,EAAkB,OAAO,IAAA,EAAK;AAAA,MACjE,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,iBAAA;AAAA,QACN,SAAA,EAAW,iBAAA;AAAA,QACX,WAAA,EAAa;AAAA,UACX,IAAA,EAAM,YAAA;AAAA,UACN,IAAA,EAAM,kBAAA;AAAA,UACN,KAAA,EAAO;AAAA;AACT;AACF,KACF;AAAA,GACF;AAAA,EACA;AAAA,IACE,EAAA,EAAI,6BAAA;AAAA,IACJ,KAAA,EAAO,uBAAA;AAAA,IACP,SAAS,OAAO;AAAA,MACd,IAAA,EAAM,OAAA;AAAA,MACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,eAAA,EAAiB,OAAO,IAAA,EAAK;AAAA,MAChE,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,uBAAA;AAAA,QACN,SAAA,EAAW,uBAAA;AAAA,QACX,WAAA,EAAa;AAAA,UACX,IAAA,EAAM,YAAA;AAAA,UACN,IAAA,EAAM,iBAAA;AAAA,UACN,KAAA,EAAO;AAAA;AACT;AACF,KACF;AAAA,GACF;AAAA,EACA;AAAA,IACE,EAAA,EAAI,4BAAA;AAAA,IACJ,KAAA,EAAO,sBAAA;AAAA,IACP,SAAS,OAAO;AAAA,MACd,IAAA,EAAM,OAAA;AAAA,MACN,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,YAAA;AAAA,QACN,IAAA,EAAM,qBAAA;AAAA,QACN,KAAA,EAAO;AAAA,OACT;AAAA,MACA,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,sBAAA;AAAA,QACN,SAAA,EAAW,sBAAA;AAAA,QACX,WAAA,EAAa;AAAA,UACX,IAAA,EAAM,YAAA;AAAA,UACN,IAAA,EAAM,uBAAA;AAAA,UACN,KAAA,EAAO;AAAA;AACT;AACF,KACF;AAAA,GACF;AAAA,EACA;AAAA,IACE,EAAA,EAAI,kCAAA;AAAA,IACJ,KAAA,EAAO,4BAAA;AAAA,IACP,SAAS,OAAO;AAAA,MACd,IAAA,EAAM,OAAA;AAAA,MACN,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,YAAA;AAAA,QACN,IAAA,EAAM,oBAAA;AAAA,QACN,KAAA,EAAO;AAAA,OACT;AAAA,MACA,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,4BAAA;AAAA,QACN,SAAA,EAAW,4BAAA;AAAA,QACX,WAAA,EAAa;AAAA,UACX,IAAA,EAAM,YAAA;AAAA,UACN,IAAA,EAAM,sBAAA;AAAA,UACN,KAAA,EAAO;AAAA;AACT;AACF,KACF;AAAA,GACF;AAAA,EACA;AAAA,IACE,EAAA,EAAI,uBAAA;AAAA,IACJ,KAAA,EAAO,iBAAA;AAAA,IACP,SAAS,OAAO;AAAA,MACd,IAAA,EAAM,OAAA;AAAA,MACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,gBAAA,EAAkB,OAAO,IAAA,EAAK;AAAA,MACjE,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,iBAAA;AAAA,QACN,SAAA,EAAW,iBAAA;AAAA,QACX,WAAA,EAAa;AAAA,UACX,IAAA,EAAM,YAAA;AAAA,UACN,IAAA,EAAM,YAAA;AAAA,UACN,KAAA,EAAO;AAAA,SACT;AAAA,QACA,gBAAA,EAAkB;AAAA;AACpB,KACF;AAAA,GACF;AAAA,EACA;AAAA,IACE,EAAA,EAAI,6BAAA;AAAA,IACJ,KAAA,EAAO,uBAAA;AAAA,IACP,SAAS,OAAO;AAAA,MACd,IAAA,EAAM,OAAA;AAAA,MACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,cAAA,EAAgB,OAAO,IAAA,EAAK;AAAA,MAC/D,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,uBAAA;AAAA,QACN,SAAA,EAAW,uBAAA;AAAA,QACX,WAAA,EAAa;AAAA,UACX,IAAA,EAAM,YAAA;AAAA,UACN,IAAA,EAAM,oBAAA;AAAA,UACN,KAAA,EAAO;AAAA,SACT;AAAA,QACA,gBAAA,EAAkB;AAAA;AACpB,KACF;AAAA,GACF;AAAA,EACA;AAAA,IACE,EAAA,EAAI,qBAAA;AAAA,IACJ,KAAA,EAAO,eAAA;AAAA,IACP,SAAS,OAAO;AAAA,MACd,IAAA,EAAM,OAAA;AAAA,MACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,MAC3D,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,eAAA;AAAA,QACN,SAAA,EAAW,eAAA;AAAA,QACX,OAAA,EAAS;AAAA,UACP;AAAA,YACE,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,YAC1D,KAAA,EAAO;AAAA,WACT;AAAA,UACA;AAAA,YACE,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,YAC1D,KAAA,EAAO;AAAA,WACT;AAAA,UACA;AAAA,YACE,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,YAC1D,KAAA,EAAO;AAAA;AACT;AACF;AACF,KACF;AAAA,GACF;AAAA,EACA;AAAA,IACE,EAAA,EAAI,kBAAA;AAAA,IACJ,KAAA,EAAO,YAAA;AAAA,IACP,SAAS,OAAO;AAAA,MACd,IAAA,EAAM,OAAA;AAAA,MACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,MAC3D,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,YAAA;AAAA,QACN,SAAA,EAAW,YAAA;AAAA,QACX,OAAA,EAAS;AAAA,UACP;AAAA,YACE,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,YAC1D,KAAA,EAAO;AAAA,WACT;AAAA,UACA;AAAA,YACE,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,YAC1D,KAAA,EAAO;AAAA,WACT;AAAA,UACA;AAAA,YACE,MAAM,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,UAAA,EAAY,OAAO,IAAA,EAAK;AAAA,YAC1D,KAAA,EAAO;AAAA;AACT;AACF;AACF,KACF;AAAA,GACF;AAAA,EACA;AAAA,IACE,EAAA,EAAI,iBAAA;AAAA,IACJ,KAAA,EAAO,iBAAA;AAAA,IACP,SAAS,OAAO;AAAA,MACd,IAAA,EAAM,OAAA;AAAA,MACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,aAAA,EAAe,OAAO,IAAA,EAAK;AAAA,MAC9D,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,iBAAA;AAAA,QACN,SAAA,EAAW,iBAAA;AAAA,QACX,WAAA,EAAa;AAAA,UACX,IAAA,EAAM,YAAA;AAAA,UACN,IAAA,EAAM,gBAAA;AAAA,UACN,KAAA,EAAO;AAAA;AACT;AACF,KACF;AAAA,GACF;AAAA,EACA;AAAA,IACE,EAAA,EAAI,YAAA;AAAA,IACJ,KAAA,EAAO,aAAA;AAAA,IACP,SAAS,OAAO;AAAA,MACd,IAAA,EAAM,OAAA;AAAA,MACN,OAAO,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,eAAA,EAAiB,OAAO,IAAA,EAAK;AAAA,MAChE,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,YAAA;AAAA,QACN,SAAA,EAAW,YAAA;AAAA,QACX,SAAA,EAAW;AAAA;AACb,KACF;AAAA;AAEJ;AAUO,IAAM,iBAAA,GAAoC;AAAA,EAC/C,EAAA,EAAI,eAAA;AAAA,EACJ,KAAA,EAAO,SAAA;AAAA,EACP,SAAS,OAAO;AAAA,IACd,IAAA,EAAM,OAAA;AAAA,IACN,KAAA,EAAO,SAAA;AAAA,IACP,IAAA,EAAM;AAAA,MACJ,IAAA,EAAM,QAAA;AAAA,MACN,IAAA,EAAM;AAAA;AACR,GACF;AACF;AASO,SAAS,iBAAiB,QAAA,EAA0E;AACzG,EAAA,OAAO,IAAI,GAAA,CAAI,QAAA,CAAS,OAAA,CAAQ,CAAC,YAAY,OAAA,CAAQ,QAAA,CAAS,GAAA,CAAI,CAAC,MAAM,CAAC,CAAA,CAAE,IAAI,CAAC,CAAU,CAAC,CAAC,CAAA;AAC/F","file":"palette.cjs","sourcesContent":["import {\n AlignLeft,\n Bell,\n ChartColumnBig,\n Container,\n FileText,\n GalleryHorizontal,\n Image as ImageIcon,\n LayoutTemplate,\n MousePointerClick,\n Pilcrow,\n Sparkles,\n Table as TableIcon,\n TextCursorInput,\n Video as VideoIcon\n} from 'lucide-react';\nimport type { ComponentType, SVGProps } from 'react';\nimport type { SupportedBlock, SupportedBlockType } from '../types';\n\n/**\n * One pre-built block example shown as a draggable item in the palette.\n * Modeled on Slack's real Block Kit Builder (\"All selects\", \"Datepickers\",\n * \"Filtered conversation\", etc).\n */\nexport interface PaletteVariant {\n /** Stable id used as the DnD draggable id (`palette:${id}`). */\n id: string;\n /** Visible label shown next to the `+` icon. */\n label: string;\n /** Builds a fresh block payload when this variant is dropped. */\n factory: () => SupportedBlock;\n /**\n * Whether this variant belongs to the palette's simple mode — the short,\n * flat starter list shown before the user opens \"Advanced\" (see\n * `paletteMode` on `BlockKitchen`). Defaults to `false`: a variant is\n * advanced-only unless it opts in.\n *\n * Only consulted when simple mode is enabled. A palette with no `basic`\n * variants at all can't offer one, so it stays in advanced mode.\n */\n basic?: boolean;\n}\n\n/**\n * One section in the palette. Sections group related variants under a\n * single heading + icon, matching Slack's Block Kit Builder sidebar\n * (Agents, Markdown, Section, Actions, Input, Structure, Rich Text,\n * Image, Card and Carousel, Table).\n *\n * Variant ids must be unique across the entire palette — the drag-drop\n * variant lookup keys by id, so a duplicate would shadow the earlier one.\n */\nexport interface PaletteSection {\n /** Visible heading for the section. */\n name: string;\n /** Lucide icon component rendered next to the section heading. */\n icon: ComponentType<SVGProps<SVGSVGElement>>;\n variants: PaletteVariant[];\n}\n\n/**\n * The built-in palette. Mirrors Slack's real Block Kit Builder: related\n * variants (e.g. every select type) are combined into single showcase\n * `actions` blocks (\"All selects\", \"Datepickers\") rather than each\n * variant being its own row. The full set of single-element `input`\n * variants is still available via {@link legacyInputVariants}.\n */\nexport const defaultPalette: readonly PaletteSection[] = [\n {\n name: 'Agents',\n icon: Sparkles,\n variants: [\n {\n id: 'agents_feedback_remove',\n label: 'Feedback + remove',\n factory: () => ({\n type: 'context_actions',\n elements: [\n {\n type: 'feedback_buttons',\n action_id: 'feedback',\n positive_button: {\n text: { type: 'plain_text', text: 'Good Response' },\n value: 'positive'\n },\n negative_button: {\n text: { type: 'plain_text', text: 'Bad Response' },\n value: 'negative'\n }\n },\n {\n type: 'icon_button',\n action_id: 'remove',\n icon: 'trash',\n text: { type: 'plain_text', text: 'Remove' }\n }\n ]\n })\n },\n {\n id: 'agents_feedback_only',\n label: 'Feedback only',\n factory: () => ({\n type: 'context_actions',\n elements: [\n {\n type: 'feedback_buttons',\n action_id: 'feedback',\n positive_button: {\n text: { type: 'plain_text', text: '👍' },\n value: 'positive'\n },\n negative_button: {\n text: { type: 'plain_text', text: '👎' },\n value: 'negative'\n }\n }\n ]\n })\n },\n {\n id: 'agents_plan',\n label: 'Plan',\n factory: () => ({\n type: 'plan',\n title: 'Investigating the issue',\n tasks: [\n {\n type: 'task_card',\n task_id: 'task_1',\n title: 'Read the bug report',\n status: 'complete'\n },\n {\n type: 'task_card',\n task_id: 'task_2',\n title: 'Reproduce the error locally',\n status: 'in_progress'\n },\n {\n type: 'task_card',\n task_id: 'task_3',\n title: 'Identify the root cause',\n status: 'pending'\n }\n ]\n })\n },\n {\n id: 'agents_task_card',\n label: 'Task card',\n factory: () => ({\n type: 'task_card',\n task_id: 'task_1',\n title: 'Summarize the latest release notes',\n status: 'in_progress'\n })\n },\n {\n id: 'agents_task_card_with_sources',\n label: 'Task card with sources',\n factory: () => ({\n type: 'task_card',\n task_id: 'task_2',\n title: 'Cite supporting docs',\n status: 'complete',\n sources: [\n {\n type: 'url',\n url: 'https://example.com/runbook',\n text: 'Runbook'\n },\n {\n type: 'url',\n url: 'https://example.com/changelog',\n text: 'Changelog'\n }\n ]\n })\n }\n ]\n },\n {\n name: 'Markdown',\n icon: FileText,\n variants: [\n {\n id: 'markdown_basic',\n label: 'Basic',\n factory: () => ({\n type: 'markdown',\n text: 'A **markdown** block. Supports _italic_, ~~strike~~, `code`, [links](https://slack.com), lists, tables, and task lists.'\n })\n },\n {\n id: 'markdown_list',\n label: 'List',\n factory: () => ({\n type: 'markdown',\n text: '**Roadmap**\\n\\n- Item one\\n- Item two\\n- Item three'\n })\n },\n {\n id: 'markdown_code',\n label: 'Code block',\n factory: () => ({\n type: 'markdown',\n // biome-ignore lint/suspicious/noTemplateCurlyInString: literal markdown source for a code-block sample\n text: '```ts\\nconst greet = (name: string) => `Hello, ${name}!`;\\n```'\n })\n }\n ]\n },\n {\n name: 'Section',\n icon: AlignLeft,\n variants: [\n {\n id: 'section_plain_text',\n label: 'Plain text',\n factory: () => ({\n type: 'section',\n text: {\n type: 'plain_text',\n text: 'A simple plain-text section.',\n emoji: true\n }\n })\n },\n {\n id: 'section_mrkdwn',\n label: 'Mrkdwn',\n factory: () => ({\n type: 'section',\n text: {\n type: 'mrkdwn',\n text: 'A *markdown* section. Supports _italic_, ~strike~, `code`, and <https://slack.com|links>.'\n }\n })\n },\n {\n id: 'section_with_button',\n label: 'With button accessory',\n factory: () => ({\n type: 'section',\n text: {\n type: 'mrkdwn',\n text: 'A section with a button accessory on the right.'\n },\n accessory: {\n type: 'button',\n text: { type: 'plain_text', text: 'Click me', emoji: true },\n action_id: 'section_button'\n }\n })\n },\n {\n id: 'section_with_image',\n label: 'With image accessory',\n factory: () => ({\n type: 'section',\n text: {\n type: 'mrkdwn',\n text: 'A section with an image accessory on the right.'\n },\n accessory: {\n type: 'image',\n image_url: 'https://placehold.co/80x80?text=Img',\n alt_text: 'Placeholder accessory image'\n }\n })\n }\n ]\n },\n {\n name: 'Actions',\n icon: MousePointerClick,\n variants: [\n {\n id: 'actions_all_selects',\n label: 'All selects',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'static_select',\n action_id: 'static_select',\n placeholder: { type: 'plain_text', text: 'Static', emoji: true },\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n }\n ]\n },\n {\n type: 'users_select',\n action_id: 'users_select',\n placeholder: { type: 'plain_text', text: 'User', emoji: true }\n },\n {\n type: 'channels_select',\n action_id: 'channels_select',\n placeholder: { type: 'plain_text', text: 'Channel', emoji: true }\n },\n {\n type: 'conversations_select',\n action_id: 'conversations_select',\n placeholder: {\n type: 'plain_text',\n text: 'Conversation',\n emoji: true\n }\n },\n {\n type: 'external_select',\n action_id: 'external_select',\n placeholder: { type: 'plain_text', text: 'External', emoji: true },\n min_query_length: 0\n }\n ]\n })\n },\n {\n id: 'actions_filtered_conversation',\n label: 'Filtered conversation',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'conversations_select',\n action_id: 'filtered_conversations_select',\n placeholder: {\n type: 'plain_text',\n text: 'Pick a public channel',\n emoji: true\n },\n filter: {\n include: ['public'],\n exclude_bot_users: true,\n exclude_external_shared_channels: true\n }\n }\n ]\n })\n },\n {\n id: 'actions_selects_initial_values',\n label: 'Selects with initial values',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'static_select',\n action_id: 'static_select_initial',\n placeholder: { type: 'plain_text', text: 'Pick one', emoji: true },\n initial_option: {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n },\n {\n type: 'users_select',\n action_id: 'users_select_initial',\n placeholder: { type: 'plain_text', text: 'Pick a user', emoji: true },\n initial_user: 'U0LAN0Z89'\n },\n {\n type: 'channels_select',\n action_id: 'channels_select_initial',\n placeholder: {\n type: 'plain_text',\n text: 'Pick a channel',\n emoji: true\n },\n initial_channel: 'C012AB3CD'\n }\n ]\n })\n },\n {\n id: 'actions_button',\n label: 'Button',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'button',\n text: { type: 'plain_text', text: 'Click me', emoji: true },\n action_id: 'button_1'\n }\n ]\n })\n },\n {\n id: 'actions_datepickers',\n label: 'Datepickers',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'datepicker',\n action_id: 'datepicker',\n placeholder: {\n type: 'plain_text',\n text: 'Select a date',\n emoji: true\n }\n },\n {\n type: 'timepicker',\n action_id: 'timepicker',\n placeholder: {\n type: 'plain_text',\n text: 'Select a time',\n emoji: true\n }\n },\n {\n type: 'datetimepicker',\n action_id: 'datetimepicker'\n }\n ]\n })\n },\n {\n id: 'actions_checkboxes',\n label: 'Checkboxes',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'checkboxes',\n action_id: 'checkboxes',\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n ]\n })\n },\n {\n id: 'actions_radio_buttons',\n label: 'Radio buttons',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'radio_buttons',\n action_id: 'radio_buttons',\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n ]\n })\n },\n {\n id: 'actions_timepicker',\n label: 'Timepicker',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'timepicker',\n action_id: 'timepicker_only',\n placeholder: {\n type: 'plain_text',\n text: 'Select a time',\n emoji: true\n }\n }\n ]\n })\n }\n ]\n },\n {\n name: 'Input',\n icon: TextCursorInput,\n variants: [\n {\n id: 'input_plain_text',\n label: 'Plain text',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Label', emoji: true },\n element: {\n type: 'plain_text_input',\n action_id: 'plain_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'Enter some text',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_multiline_text',\n label: 'Multiline text',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Description', emoji: true },\n element: {\n type: 'plain_text_input',\n action_id: 'plain_text_input_multiline',\n multiline: true,\n placeholder: {\n type: 'plain_text',\n text: 'Enter a longer description',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_email',\n label: 'Email',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Email address', emoji: true },\n element: {\n type: 'email_text_input',\n action_id: 'email_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'name@example.com',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_url',\n label: 'URL',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Website', emoji: true },\n element: {\n type: 'url_text_input',\n action_id: 'url_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'https://example.com',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_number',\n label: 'Number',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Quantity', emoji: true },\n element: {\n type: 'number_input',\n action_id: 'number_input',\n is_decimal_allowed: false,\n placeholder: { type: 'plain_text', text: '0', emoji: true }\n }\n })\n },\n {\n id: 'input_date',\n label: 'Date',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick a date', emoji: true },\n element: {\n type: 'datepicker',\n action_id: 'datepicker',\n placeholder: {\n type: 'plain_text',\n text: 'Select a date',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_select',\n label: 'Select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick an option', emoji: true },\n element: {\n type: 'static_select',\n action_id: 'static_select',\n placeholder: {\n type: 'plain_text',\n text: 'Choose one',\n emoji: true\n },\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n })\n },\n {\n id: 'input_rich_text',\n label: 'Rich text',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Description', emoji: true },\n element: {\n type: 'rich_text_input',\n action_id: 'rich_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'Type something',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_file',\n label: 'File upload',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Upload a file', emoji: true },\n element: {\n type: 'file_input',\n action_id: 'file_input',\n max_files: 1\n }\n })\n }\n ]\n },\n {\n name: 'Structure',\n icon: LayoutTemplate,\n variants: [\n {\n id: 'structure_header',\n label: 'Header',\n factory: () => ({\n type: 'header',\n text: { type: 'plain_text', text: 'Heading text', emoji: true }\n })\n },\n {\n id: 'structure_divider',\n label: 'Divider',\n factory: () => ({ type: 'divider' })\n },\n {\n id: 'structure_context_plain',\n label: 'Context (plain text)',\n factory: () => ({\n type: 'context',\n elements: [{ type: 'plain_text', text: 'Posted by your app', emoji: true }]\n })\n },\n {\n id: 'structure_context_mrkdwn',\n label: 'Context (mrkdwn)',\n factory: () => ({\n type: 'context',\n elements: [{ type: 'mrkdwn', text: 'Posted by *your app*' }]\n })\n },\n {\n id: 'structure_context_text_images',\n label: 'Context (text + images)',\n factory: () => ({\n type: 'context',\n elements: [\n {\n type: 'image',\n image_url: 'https://placehold.co/40x40?text=A',\n alt_text: 'Avatar'\n },\n { type: 'mrkdwn', text: '*Alex* posted in <#general>' }\n ]\n })\n }\n ]\n },\n {\n name: 'Alert',\n icon: Bell,\n variants: [\n {\n id: 'alert_default',\n label: 'Default',\n factory: () => ({\n type: 'alert',\n text: {\n type: 'mrkdwn',\n text: 'A neutral alert message.'\n }\n })\n },\n {\n id: 'alert_info',\n label: 'Info',\n factory: () => ({\n type: 'alert',\n level: 'info',\n text: {\n type: 'mrkdwn',\n text: 'FYI: the build finished in 42 seconds.'\n }\n })\n },\n {\n id: 'alert_warning',\n label: 'Warning',\n factory: () => ({\n type: 'alert',\n level: 'warning',\n text: {\n type: 'mrkdwn',\n text: 'Heads up: this action cannot be undone.'\n }\n })\n },\n {\n id: 'alert_error',\n label: 'Error',\n factory: () => ({\n type: 'alert',\n level: 'error',\n text: {\n type: 'mrkdwn',\n text: 'Something went wrong. Please try again.'\n }\n })\n },\n {\n id: 'alert_success',\n label: 'Success',\n factory: () => ({\n type: 'alert',\n level: 'success',\n text: {\n type: 'mrkdwn',\n text: 'Your changes have been saved.'\n }\n })\n }\n ]\n },\n {\n name: 'Rich Text',\n icon: Pilcrow,\n variants: [\n {\n id: 'rich_text_section',\n label: 'Rich Text Section',\n // The one variant simple mode offers, where it's listed without its\n // section heading — hence the self-describing label.\n basic: true,\n factory: () => ({\n type: 'rich_text',\n elements: [\n {\n type: 'rich_text_section',\n elements: [\n { type: 'text', text: 'A rich text ' },\n { type: 'text', text: 'section', style: { bold: true } },\n { type: 'text', text: ' with inline ' },\n { type: 'text', text: 'styled', style: { italic: true } },\n { type: 'text', text: ' text.' }\n ]\n }\n ]\n })\n }\n ]\n },\n {\n name: 'Image',\n icon: ImageIcon,\n variants: [\n {\n id: 'image_with_title',\n label: 'With title',\n factory: () => ({\n type: 'image',\n image_url: 'https://placehold.co/600x300?text=Image',\n alt_text: 'Placeholder image',\n title: { type: 'plain_text', text: 'Image title', emoji: true }\n })\n },\n {\n id: 'image_no_title',\n label: 'No title',\n factory: () => ({\n type: 'image',\n image_url: 'https://placehold.co/600x300?text=Image',\n alt_text: 'Placeholder image'\n })\n }\n ]\n },\n {\n name: 'Video',\n icon: VideoIcon,\n variants: [\n {\n id: 'video_basic',\n label: 'Basic',\n factory: () => ({\n type: 'video',\n alt_text: 'A short demo video',\n title: { type: 'plain_text', text: 'Product demo', emoji: true },\n thumbnail_url: 'https://placehold.co/600x340?text=Video',\n video_url: 'https://www.youtube.com/embed/dQw4w9WgXcQ'\n })\n },\n {\n id: 'video_with_metadata',\n label: 'With metadata',\n factory: () => ({\n type: 'video',\n alt_text: 'A short demo video',\n title: { type: 'plain_text', text: 'Product demo', emoji: true },\n title_url: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ',\n thumbnail_url: 'https://placehold.co/600x340?text=Video',\n video_url: 'https://www.youtube.com/embed/dQw4w9WgXcQ',\n author_name: 'Acme',\n description: {\n type: 'plain_text',\n text: 'A short walkthrough of the new release.',\n emoji: true\n },\n provider_name: 'YouTube',\n provider_icon_url: 'https://placehold.co/16x16?text=YT'\n })\n }\n ]\n },\n {\n name: 'Card and Carousel',\n icon: GalleryHorizontal,\n variants: [\n {\n id: 'card_basic',\n label: 'Card',\n factory: () => ({\n type: 'card',\n icon: {\n type: 'image',\n image_url: 'https://placehold.co/36x36?text=Icon',\n alt_text: 'Card icon'\n },\n title: { type: 'mrkdwn', text: 'Card title' },\n subtitle: { type: 'mrkdwn', text: 'Card subtitle' },\n body: {\n type: 'mrkdwn',\n text: 'A short description of what this card is about.'\n }\n })\n },\n {\n id: 'card_with_hero',\n label: 'Card with hero image',\n factory: () => ({\n type: 'card',\n hero_image: {\n type: 'image',\n image_url: 'https://placehold.co/400x200?text=Hero',\n alt_text: 'Card hero image'\n },\n title: { type: 'mrkdwn', text: 'Card title' },\n body: {\n type: 'mrkdwn',\n text: 'A short description of what this card is about.'\n }\n })\n },\n {\n id: 'card_with_actions',\n label: 'Card with actions',\n factory: () => ({\n type: 'card',\n title: { type: 'mrkdwn', text: 'Card title' },\n body: {\n type: 'mrkdwn',\n text: 'A short description of what this card is about.'\n },\n actions: [\n {\n type: 'button',\n text: { type: 'plain_text', text: 'Open', emoji: true },\n action_id: 'card_action_1'\n }\n ]\n })\n },\n {\n id: 'carousel_basic',\n label: 'Carousel',\n factory: () => ({\n type: 'carousel',\n elements: [\n {\n type: 'card',\n title: { type: 'mrkdwn', text: 'Card 1' },\n body: { type: 'mrkdwn', text: 'First card in the carousel.' }\n },\n {\n type: 'card',\n title: { type: 'mrkdwn', text: 'Card 2' },\n body: { type: 'mrkdwn', text: 'Second card in the carousel.' }\n },\n {\n type: 'card',\n title: { type: 'mrkdwn', text: 'Card 3' },\n body: { type: 'mrkdwn', text: 'Third card in the carousel.' }\n }\n ]\n })\n }\n ]\n },\n {\n name: 'Table',\n icon: TableIcon,\n variants: [\n {\n id: 'table_simple',\n label: 'Simple table',\n factory: () => ({\n type: 'table',\n rows: [\n [\n { type: 'raw_text', text: 'Header 1' },\n { type: 'raw_text', text: 'Header 2' },\n { type: 'raw_text', text: 'Header 3' }\n ],\n [\n { type: 'raw_text', text: 'Row 1, A' },\n { type: 'raw_text', text: 'Row 1, B' },\n { type: 'raw_text', text: 'Row 1, C' }\n ],\n [\n { type: 'raw_text', text: 'Row 2, A' },\n { type: 'raw_text', text: 'Row 2, B' },\n { type: 'raw_text', text: 'Row 2, C' }\n ]\n ]\n })\n }\n ]\n },\n {\n name: 'Data Visualization',\n icon: ChartColumnBig,\n variants: [\n {\n id: 'dataviz_line',\n label: 'Line chart',\n factory: () => ({\n type: 'data_visualization',\n title: 'Weekly active users by platform',\n chart: {\n type: 'line',\n series: [\n {\n name: 'Desktop',\n data: [\n { label: 'Mon', value: 800 },\n { label: 'Tue', value: 920 },\n { label: 'Wed', value: 880 },\n { label: 'Thu', value: 1010 },\n { label: 'Fri', value: 1120 }\n ]\n },\n {\n name: 'Mobile',\n data: [\n { label: 'Mon', value: 400 },\n { label: 'Tue', value: 530 },\n { label: 'Wed', value: 500 },\n { label: 'Thu', value: 590 },\n { label: 'Fri', value: 600 }\n ]\n }\n ],\n axis_config: {\n categories: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'],\n x_label: 'Day',\n y_label: 'Users'\n }\n }\n })\n },\n {\n id: 'dataviz_bar',\n label: 'Bar chart',\n factory: () => ({\n type: 'data_visualization',\n title: 'Messages sent by platform',\n chart: {\n type: 'bar',\n series: [\n {\n name: 'Desktop',\n data: [\n { label: 'Mon', value: 1500 },\n { label: 'Tue', value: 1400 },\n { label: 'Wed', value: 1700 },\n { label: 'Thu', value: 1600 },\n { label: 'Fri', value: 1280 }\n ]\n },\n {\n name: 'Mobile',\n data: [\n { label: 'Mon', value: 800 },\n { label: 'Tue', value: 750 },\n { label: 'Wed', value: 920 },\n { label: 'Thu', value: 880 },\n { label: 'Fri', value: 700 }\n ]\n }\n ],\n axis_config: {\n categories: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'],\n x_label: 'Day',\n y_label: 'Messages'\n }\n }\n })\n },\n {\n id: 'dataviz_area',\n label: 'Area chart',\n factory: () => ({\n type: 'data_visualization',\n title: 'Concurrent users by platform',\n chart: {\n type: 'area',\n series: [\n {\n name: 'Desktop',\n data: [\n { label: 'Mon', value: 2800 },\n { label: 'Tue', value: 3000 },\n { label: 'Wed', value: 3400 },\n { label: 'Thu', value: 3200 },\n { label: 'Fri', value: 3500 }\n ]\n },\n {\n name: 'Mobile',\n data: [\n { label: 'Mon', value: 1400 },\n { label: 'Tue', value: 1500 },\n { label: 'Wed', value: 1700 },\n { label: 'Thu', value: 1600 },\n { label: 'Fri', value: 1800 }\n ]\n }\n ],\n axis_config: {\n categories: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'],\n x_label: 'Day',\n y_label: 'Users'\n }\n }\n })\n },\n {\n id: 'dataviz_pie',\n label: 'Pie chart',\n factory: () => ({\n type: 'data_visualization',\n title: 'Plan distribution by tier',\n chart: {\n type: 'pie',\n segments: [\n { label: 'Free', value: 4200 },\n { label: 'Pro', value: 2300 },\n { label: 'Business+', value: 1100 },\n { label: 'Enterprise', value: 480 }\n ]\n }\n })\n }\n ]\n },\n {\n name: 'Container',\n icon: Container,\n variants: [\n {\n id: 'container_collapsible',\n label: 'Collapsible container',\n factory: () => ({\n type: 'container',\n title: { type: 'plain_text', text: 'Bulk update: 2 records selected' },\n subtitle: { type: 'plain_text', text: 'Review changes before confirming' },\n is_collapsible: true,\n child_blocks: [\n {\n type: 'section',\n text: { type: 'mrkdwn', text: '*DCW-1024*\\nStatus: Open → Closed' }\n },\n { type: 'divider' },\n {\n type: 'section',\n text: { type: 'mrkdwn', text: '*DCW-1025*\\nStatus: In Progress → Closed' }\n },\n {\n type: 'actions',\n elements: [\n {\n type: 'button',\n text: { type: 'plain_text', text: 'Confirm All', emoji: true },\n style: 'primary',\n action_id: 'bulk_confirm'\n },\n {\n type: 'button',\n text: { type: 'plain_text', text: 'Cancel', emoji: true },\n action_id: 'bulk_cancel'\n }\n ]\n }\n ]\n })\n }\n ]\n }\n] as const;\n\n/**\n * The single-element `input`-block variants that used to ship in\n * `defaultPalette` before it was consolidated to mirror Slack's Block\n * Kit Builder. Kept reachable so consumers who referenced these ids via\n * the `palette` prop can spread them back into a custom palette.\n *\n * @example\n * ```tsx\n * import { defaultPalette, legacyInputVariants } from '@tightknitai/block-kitchen';\n * import { TextCursorInput } from 'lucide-react';\n *\n * const palette = [\n * ...defaultPalette,\n * { name: 'All inputs', icon: TextCursorInput, variants: [...legacyInputVariants] }\n * ];\n * ```\n *\n * Note: some ids here (`input_plain_text`, `input_date`, etc.) collide\n * with curated ids in the new `defaultPalette`. `buildVariantById`\n * keeps the last entry for a given id, so spread `legacyInputVariants`\n * after `defaultPalette` to use the legacy factory.\n */\nexport const legacyInputVariants: readonly PaletteVariant[] = [\n {\n id: 'input_plain_text',\n label: 'plain text',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Label', emoji: true },\n element: {\n type: 'plain_text_input',\n action_id: 'plain_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'Enter some text',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_multiline_text',\n label: 'multiline text',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Description', emoji: true },\n element: {\n type: 'plain_text_input',\n action_id: 'plain_text_input_multiline',\n multiline: true,\n placeholder: {\n type: 'plain_text',\n text: 'Enter a longer description',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_email',\n label: 'email',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Email address', emoji: true },\n element: {\n type: 'email_text_input',\n action_id: 'email_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'name@example.com',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_url',\n label: 'url',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Website', emoji: true },\n element: {\n type: 'url_text_input',\n action_id: 'url_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'https://example.com',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_number',\n label: 'number',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Quantity', emoji: true },\n element: {\n type: 'number_input',\n action_id: 'number_input',\n is_decimal_allowed: false,\n placeholder: { type: 'plain_text', text: '0', emoji: true }\n }\n })\n },\n {\n id: 'input_date',\n label: 'date',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick a date', emoji: true },\n element: {\n type: 'datepicker',\n action_id: 'datepicker',\n placeholder: {\n type: 'plain_text',\n text: 'Select a date',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_time',\n label: 'time',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick a time', emoji: true },\n element: {\n type: 'timepicker',\n action_id: 'timepicker',\n placeholder: {\n type: 'plain_text',\n text: 'Select a time',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_datetime',\n label: 'date and time',\n factory: () => ({\n type: 'input',\n label: {\n type: 'plain_text',\n text: 'Pick a date and time',\n emoji: true\n },\n element: {\n type: 'datetimepicker',\n action_id: 'datetimepicker'\n }\n })\n },\n {\n id: 'input_static_select',\n label: 'select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick an option', emoji: true },\n element: {\n type: 'static_select',\n action_id: 'static_select',\n placeholder: {\n type: 'plain_text',\n text: 'Choose one',\n emoji: true\n },\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n })\n },\n {\n id: 'input_multi_static_select',\n label: 'multi-select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick options', emoji: true },\n element: {\n type: 'multi_static_select',\n action_id: 'multi_static_select',\n placeholder: {\n type: 'plain_text',\n text: 'Choose one or more',\n emoji: true\n },\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n })\n },\n {\n id: 'input_users_select',\n label: 'users select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick a user', emoji: true },\n element: {\n type: 'users_select',\n action_id: 'users_select',\n placeholder: {\n type: 'plain_text',\n text: 'Select a user',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_multi_users_select',\n label: 'multi users select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick users', emoji: true },\n element: {\n type: 'multi_users_select',\n action_id: 'multi_users_select',\n placeholder: {\n type: 'plain_text',\n text: 'Select users',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_channels_select',\n label: 'channels select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick a channel', emoji: true },\n element: {\n type: 'channels_select',\n action_id: 'channels_select',\n placeholder: {\n type: 'plain_text',\n text: 'Select a channel',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_multi_channels_select',\n label: 'multi channels select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick channels', emoji: true },\n element: {\n type: 'multi_channels_select',\n action_id: 'multi_channels_select',\n placeholder: {\n type: 'plain_text',\n text: 'Select channels',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_conversations_select',\n label: 'conversations select',\n factory: () => ({\n type: 'input',\n label: {\n type: 'plain_text',\n text: 'Pick a conversation',\n emoji: true\n },\n element: {\n type: 'conversations_select',\n action_id: 'conversations_select',\n placeholder: {\n type: 'plain_text',\n text: 'Select a conversation',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_multi_conversations_select',\n label: 'multi conversations select',\n factory: () => ({\n type: 'input',\n label: {\n type: 'plain_text',\n text: 'Pick conversations',\n emoji: true\n },\n element: {\n type: 'multi_conversations_select',\n action_id: 'multi_conversations_select',\n placeholder: {\n type: 'plain_text',\n text: 'Select conversations',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_external_select',\n label: 'external select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick an option', emoji: true },\n element: {\n type: 'external_select',\n action_id: 'external_select',\n placeholder: {\n type: 'plain_text',\n text: 'Choose one',\n emoji: true\n },\n min_query_length: 0\n }\n })\n },\n {\n id: 'input_multi_external_select',\n label: 'multi external select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick options', emoji: true },\n element: {\n type: 'multi_external_select',\n action_id: 'multi_external_select',\n placeholder: {\n type: 'plain_text',\n text: 'Choose one or more',\n emoji: true\n },\n min_query_length: 0\n }\n })\n },\n {\n id: 'input_radio_buttons',\n label: 'radio buttons',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick one', emoji: true },\n element: {\n type: 'radio_buttons',\n action_id: 'radio_buttons',\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n })\n },\n {\n id: 'input_checkboxes',\n label: 'checkboxes',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick any', emoji: true },\n element: {\n type: 'checkboxes',\n action_id: 'checkboxes',\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n })\n },\n {\n id: 'input_rich_text',\n label: 'rich text input',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Description', emoji: true },\n element: {\n type: 'rich_text_input',\n action_id: 'rich_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'Type something',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_file',\n label: 'file upload',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Upload a file', emoji: true },\n element: {\n type: 'file_input',\n action_id: 'file_input',\n max_files: 1\n }\n })\n }\n] as const;\n\n/**\n * Standalone `alert` block variant. The full set of severity-level alert\n * variants ships in `defaultPalette` under the \"Alert\" section; this\n * export is retained for backward compatibility with consumers who\n * previously spread it onto a custom palette. Shares the `alert_warning`\n * id with its counterpart in `defaultPalette` — spread after\n * `defaultPalette` (or omit it entirely) to avoid duplicate-id lookups.\n */\nexport const extraAlertVariant: PaletteVariant = {\n id: 'alert_warning',\n label: 'Warning',\n factory: () => ({\n type: 'alert',\n level: 'warning',\n text: {\n type: 'mrkdwn',\n text: 'Heads up: this action cannot be undone.'\n }\n })\n};\n\n/**\n * Builds a lookup table mapping a variant id to its definition for a\n * resolved palette. Used by the DnD drop handler to resolve a\n * `palette:${id}` drag back to a factory.\n * @param sections - the palette in use (defaults or a consumer-provided one)\n * @returns a map keyed by variant id\n */\nexport function buildVariantById(sections: readonly PaletteSection[]): ReadonlyMap<string, PaletteVariant> {\n return new Map(sections.flatMap((section) => section.variants.map((v) => [v.id, v] as const)));\n}\n\n/**\n * Human-readable label for a supported block type. Used in the per-block\n * popover editor heading.\n * @param type - the block type\n * @returns a short label (e.g. \"Section\")\n */\nexport function labelForBlockType(type: SupportedBlockType): string {\n switch (type) {\n case 'section':\n return 'Section';\n case 'header':\n return 'Header';\n case 'divider':\n return 'Divider';\n case 'context':\n return 'Context';\n case 'actions':\n return 'Buttons';\n case 'image':\n return 'Image';\n case 'markdown':\n return 'Markdown';\n case 'table':\n return 'Table';\n case 'rich_text':\n return 'Rich Text';\n case 'alert':\n return 'Alert';\n case 'card':\n return 'Card';\n case 'carousel':\n return 'Carousel';\n case 'context_actions':\n return 'Context Actions';\n case 'input':\n return 'Input';\n case 'video':\n return 'Video';\n case 'plan':\n return 'Plan';\n case 'task_card':\n return 'Task Card';\n case 'data_visualization':\n return 'Data Visualization';\n case 'container':\n return 'Container';\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/lib/default-blocks.ts"],"names":["Sparkles","FileText","AlignLeft","MousePointerClick","TextCursorInput","LayoutTemplate","Bell","Pilcrow","ImageIcon","VideoIcon","GalleryHorizontal","TableIcon","ChartColumnBig","Container"],"mappings":"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","file":"palette.cjs","sourcesContent":["import {\n AlignLeft,\n Bell,\n ChartColumnBig,\n Container,\n FileText,\n GalleryHorizontal,\n Image as ImageIcon,\n LayoutTemplate,\n MousePointerClick,\n Pilcrow,\n Sparkles,\n Table as TableIcon,\n TextCursorInput,\n Video as VideoIcon\n} from 'lucide-react';\nimport type { ComponentType, SVGProps } from 'react';\nimport type { SupportedBlock, SupportedBlockType } from '../types';\n\n/**\n * One pre-built block example shown as a draggable item in the palette.\n * Modeled on Slack's real Block Kit Builder (\"All selects\", \"Datepickers\",\n * \"Filtered conversation\", etc).\n */\nexport interface PaletteVariant {\n /** Stable id used as the DnD draggable id (`palette:${id}`). */\n id: string;\n /** Visible label shown next to the `+` icon. */\n label: string;\n /** Builds a fresh block payload when this variant is dropped. */\n factory: () => SupportedBlock;\n /**\n * Whether this variant belongs to the palette's simple mode — the short,\n * flat starter list shown before the user opens \"Advanced\" (see\n * `paletteMode` on `BlockKitchen`). Defaults to `false`: a variant is\n * advanced-only unless it opts in.\n *\n * Only consulted when simple mode is enabled. A palette with no `basic`\n * variants at all can't offer one, so it stays in advanced mode.\n */\n basic?: boolean;\n /**\n * Label to use in simple mode, where the flat list drops the section\n * headings that give the ordinary `label` its context — \"No title\" says\n * nothing once \"Image\" is gone from above it. Ignored outside simple\n * mode, and unnecessary for a variant whose label already stands alone.\n */\n basicLabel?: string;\n}\n\n/**\n * One section in the palette. Sections group related variants under a\n * single heading + icon, matching Slack's Block Kit Builder sidebar\n * (Agents, Markdown, Section, Actions, Input, Structure, Rich Text,\n * Image, Card and Carousel, Table).\n *\n * Variant ids must be unique across the entire palette — the drag-drop\n * variant lookup keys by id, so a duplicate would shadow the earlier one.\n */\nexport interface PaletteSection {\n /** Visible heading for the section. */\n name: string;\n /** Lucide icon component rendered next to the section heading. */\n icon: ComponentType<SVGProps<SVGSVGElement>>;\n variants: PaletteVariant[];\n}\n\n/**\n * The built-in palette. Mirrors Slack's real Block Kit Builder: related\n * variants (e.g. every select type) are combined into single showcase\n * `actions` blocks (\"All selects\", \"Datepickers\") rather than each\n * variant being its own row. The full set of single-element `input`\n * variants is still available via {@link legacyInputVariants}.\n */\nexport const defaultPalette: readonly PaletteSection[] = [\n {\n name: 'Agents',\n icon: Sparkles,\n variants: [\n {\n id: 'agents_feedback_remove',\n label: 'Feedback + remove',\n factory: () => ({\n type: 'context_actions',\n elements: [\n {\n type: 'feedback_buttons',\n action_id: 'feedback',\n positive_button: {\n text: { type: 'plain_text', text: 'Good Response' },\n value: 'positive'\n },\n negative_button: {\n text: { type: 'plain_text', text: 'Bad Response' },\n value: 'negative'\n }\n },\n {\n type: 'icon_button',\n action_id: 'remove',\n icon: 'trash',\n text: { type: 'plain_text', text: 'Remove' }\n }\n ]\n })\n },\n {\n id: 'agents_feedback_only',\n label: 'Feedback only',\n factory: () => ({\n type: 'context_actions',\n elements: [\n {\n type: 'feedback_buttons',\n action_id: 'feedback',\n positive_button: {\n text: { type: 'plain_text', text: '👍' },\n value: 'positive'\n },\n negative_button: {\n text: { type: 'plain_text', text: '👎' },\n value: 'negative'\n }\n }\n ]\n })\n },\n {\n id: 'agents_plan',\n label: 'Plan',\n factory: () => ({\n type: 'plan',\n title: 'Investigating the issue',\n tasks: [\n {\n type: 'task_card',\n task_id: 'task_1',\n title: 'Read the bug report',\n status: 'complete'\n },\n {\n type: 'task_card',\n task_id: 'task_2',\n title: 'Reproduce the error locally',\n status: 'in_progress'\n },\n {\n type: 'task_card',\n task_id: 'task_3',\n title: 'Identify the root cause',\n status: 'pending'\n }\n ]\n })\n },\n {\n id: 'agents_task_card',\n label: 'Task card',\n factory: () => ({\n type: 'task_card',\n task_id: 'task_1',\n title: 'Summarize the latest release notes',\n status: 'in_progress'\n })\n },\n {\n id: 'agents_task_card_with_sources',\n label: 'Task card with sources',\n factory: () => ({\n type: 'task_card',\n task_id: 'task_2',\n title: 'Cite supporting docs',\n status: 'complete',\n sources: [\n {\n type: 'url',\n url: 'https://example.com/runbook',\n text: 'Runbook'\n },\n {\n type: 'url',\n url: 'https://example.com/changelog',\n text: 'Changelog'\n }\n ]\n })\n }\n ]\n },\n {\n name: 'Markdown',\n icon: FileText,\n variants: [\n {\n id: 'markdown_basic',\n label: 'Basic',\n factory: () => ({\n type: 'markdown',\n text: 'A **markdown** block. Supports _italic_, ~~strike~~, `code`, [links](https://slack.com), lists, tables, and task lists.'\n })\n },\n {\n id: 'markdown_list',\n label: 'List',\n factory: () => ({\n type: 'markdown',\n text: '**Roadmap**\\n\\n- Item one\\n- Item two\\n- Item three'\n })\n },\n {\n id: 'markdown_code',\n label: 'Code block',\n factory: () => ({\n type: 'markdown',\n // biome-ignore lint/suspicious/noTemplateCurlyInString: literal markdown source for a code-block sample\n text: '```ts\\nconst greet = (name: string) => `Hello, ${name}!`;\\n```'\n })\n }\n ]\n },\n {\n name: 'Section',\n icon: AlignLeft,\n variants: [\n {\n id: 'section_plain_text',\n label: 'Plain text',\n factory: () => ({\n type: 'section',\n text: {\n type: 'plain_text',\n text: 'A simple plain-text section.',\n emoji: true\n }\n })\n },\n {\n id: 'section_mrkdwn',\n label: 'Mrkdwn',\n factory: () => ({\n type: 'section',\n text: {\n type: 'mrkdwn',\n text: 'A *markdown* section. Supports _italic_, ~strike~, `code`, and <https://slack.com|links>.'\n }\n })\n },\n {\n id: 'section_with_button',\n label: 'With button accessory',\n factory: () => ({\n type: 'section',\n text: {\n type: 'mrkdwn',\n text: 'A section with a button accessory on the right.'\n },\n accessory: {\n type: 'button',\n text: { type: 'plain_text', text: 'Click me', emoji: true },\n action_id: 'section_button'\n }\n })\n },\n {\n id: 'section_with_image',\n label: 'With image accessory',\n factory: () => ({\n type: 'section',\n text: {\n type: 'mrkdwn',\n text: 'A section with an image accessory on the right.'\n },\n accessory: {\n type: 'image',\n image_url: 'https://placehold.co/80x80?text=Img',\n alt_text: 'Placeholder accessory image'\n }\n })\n }\n ]\n },\n {\n name: 'Actions',\n icon: MousePointerClick,\n variants: [\n {\n id: 'actions_all_selects',\n label: 'All selects',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'static_select',\n action_id: 'static_select',\n placeholder: { type: 'plain_text', text: 'Static', emoji: true },\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n }\n ]\n },\n {\n type: 'users_select',\n action_id: 'users_select',\n placeholder: { type: 'plain_text', text: 'User', emoji: true }\n },\n {\n type: 'channels_select',\n action_id: 'channels_select',\n placeholder: { type: 'plain_text', text: 'Channel', emoji: true }\n },\n {\n type: 'conversations_select',\n action_id: 'conversations_select',\n placeholder: {\n type: 'plain_text',\n text: 'Conversation',\n emoji: true\n }\n },\n {\n type: 'external_select',\n action_id: 'external_select',\n placeholder: { type: 'plain_text', text: 'External', emoji: true },\n min_query_length: 0\n }\n ]\n })\n },\n {\n id: 'actions_filtered_conversation',\n label: 'Filtered conversation',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'conversations_select',\n action_id: 'filtered_conversations_select',\n placeholder: {\n type: 'plain_text',\n text: 'Pick a public channel',\n emoji: true\n },\n filter: {\n include: ['public'],\n exclude_bot_users: true,\n exclude_external_shared_channels: true\n }\n }\n ]\n })\n },\n {\n id: 'actions_selects_initial_values',\n label: 'Selects with initial values',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'static_select',\n action_id: 'static_select_initial',\n placeholder: { type: 'plain_text', text: 'Pick one', emoji: true },\n initial_option: {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n },\n {\n type: 'users_select',\n action_id: 'users_select_initial',\n placeholder: { type: 'plain_text', text: 'Pick a user', emoji: true },\n initial_user: 'U0LAN0Z89'\n },\n {\n type: 'channels_select',\n action_id: 'channels_select_initial',\n placeholder: {\n type: 'plain_text',\n text: 'Pick a channel',\n emoji: true\n },\n initial_channel: 'C012AB3CD'\n }\n ]\n })\n },\n {\n id: 'actions_button',\n label: 'Button',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'button',\n text: { type: 'plain_text', text: 'Click me', emoji: true },\n action_id: 'button_1'\n }\n ]\n })\n },\n {\n id: 'actions_datepickers',\n label: 'Datepickers',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'datepicker',\n action_id: 'datepicker',\n placeholder: {\n type: 'plain_text',\n text: 'Select a date',\n emoji: true\n }\n },\n {\n type: 'timepicker',\n action_id: 'timepicker',\n placeholder: {\n type: 'plain_text',\n text: 'Select a time',\n emoji: true\n }\n },\n {\n type: 'datetimepicker',\n action_id: 'datetimepicker'\n }\n ]\n })\n },\n {\n id: 'actions_checkboxes',\n label: 'Checkboxes',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'checkboxes',\n action_id: 'checkboxes',\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n ]\n })\n },\n {\n id: 'actions_radio_buttons',\n label: 'Radio buttons',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'radio_buttons',\n action_id: 'radio_buttons',\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n ]\n })\n },\n {\n id: 'actions_timepicker',\n label: 'Timepicker',\n factory: () => ({\n type: 'actions',\n elements: [\n {\n type: 'timepicker',\n action_id: 'timepicker_only',\n placeholder: {\n type: 'plain_text',\n text: 'Select a time',\n emoji: true\n }\n }\n ]\n })\n }\n ]\n },\n {\n name: 'Input',\n icon: TextCursorInput,\n variants: [\n {\n id: 'input_plain_text',\n label: 'Plain text',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Label', emoji: true },\n element: {\n type: 'plain_text_input',\n action_id: 'plain_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'Enter some text',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_multiline_text',\n label: 'Multiline text',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Description', emoji: true },\n element: {\n type: 'plain_text_input',\n action_id: 'plain_text_input_multiline',\n multiline: true,\n placeholder: {\n type: 'plain_text',\n text: 'Enter a longer description',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_email',\n label: 'Email',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Email address', emoji: true },\n element: {\n type: 'email_text_input',\n action_id: 'email_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'name@example.com',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_url',\n label: 'URL',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Website', emoji: true },\n element: {\n type: 'url_text_input',\n action_id: 'url_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'https://example.com',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_number',\n label: 'Number',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Quantity', emoji: true },\n element: {\n type: 'number_input',\n action_id: 'number_input',\n is_decimal_allowed: false,\n placeholder: { type: 'plain_text', text: '0', emoji: true }\n }\n })\n },\n {\n id: 'input_date',\n label: 'Date',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick a date', emoji: true },\n element: {\n type: 'datepicker',\n action_id: 'datepicker',\n placeholder: {\n type: 'plain_text',\n text: 'Select a date',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_select',\n label: 'Select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick an option', emoji: true },\n element: {\n type: 'static_select',\n action_id: 'static_select',\n placeholder: {\n type: 'plain_text',\n text: 'Choose one',\n emoji: true\n },\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n })\n },\n {\n id: 'input_rich_text',\n label: 'Rich text',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Description', emoji: true },\n element: {\n type: 'rich_text_input',\n action_id: 'rich_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'Type something',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_file',\n label: 'File upload',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Upload a file', emoji: true },\n element: {\n type: 'file_input',\n action_id: 'file_input',\n max_files: 1\n }\n })\n }\n ]\n },\n {\n name: 'Structure',\n icon: LayoutTemplate,\n variants: [\n {\n id: 'structure_header',\n label: 'Header',\n basic: true,\n factory: () => ({\n type: 'header',\n text: { type: 'plain_text', text: 'Heading text', emoji: true }\n })\n },\n {\n id: 'structure_divider',\n label: 'Divider',\n basic: true,\n factory: () => ({ type: 'divider' })\n },\n {\n id: 'structure_context_plain',\n label: 'Context (plain text)',\n factory: () => ({\n type: 'context',\n elements: [{ type: 'plain_text', text: 'Posted by your app', emoji: true }]\n })\n },\n {\n id: 'structure_context_mrkdwn',\n label: 'Context (mrkdwn)',\n factory: () => ({\n type: 'context',\n elements: [{ type: 'mrkdwn', text: 'Posted by *your app*' }]\n })\n },\n {\n id: 'structure_context_text_images',\n label: 'Context (text + images)',\n factory: () => ({\n type: 'context',\n elements: [\n {\n type: 'image',\n image_url: 'https://placehold.co/40x40?text=A',\n alt_text: 'Avatar'\n },\n { type: 'mrkdwn', text: '*Alex* posted in <#general>' }\n ]\n })\n }\n ]\n },\n {\n name: 'Alert',\n icon: Bell,\n variants: [\n {\n id: 'alert_default',\n label: 'Default',\n factory: () => ({\n type: 'alert',\n text: {\n type: 'mrkdwn',\n text: 'A neutral alert message.'\n }\n })\n },\n {\n id: 'alert_info',\n label: 'Info',\n factory: () => ({\n type: 'alert',\n level: 'info',\n text: {\n type: 'mrkdwn',\n text: 'FYI: the build finished in 42 seconds.'\n }\n })\n },\n {\n id: 'alert_warning',\n label: 'Warning',\n factory: () => ({\n type: 'alert',\n level: 'warning',\n text: {\n type: 'mrkdwn',\n text: 'Heads up: this action cannot be undone.'\n }\n })\n },\n {\n id: 'alert_error',\n label: 'Error',\n factory: () => ({\n type: 'alert',\n level: 'error',\n text: {\n type: 'mrkdwn',\n text: 'Something went wrong. Please try again.'\n }\n })\n },\n {\n id: 'alert_success',\n label: 'Success',\n factory: () => ({\n type: 'alert',\n level: 'success',\n text: {\n type: 'mrkdwn',\n text: 'Your changes have been saved.'\n }\n })\n }\n ]\n },\n {\n name: 'Rich Text',\n icon: Pilcrow,\n variants: [\n {\n id: 'rich_text_section',\n label: 'Rich Text Section',\n // The block a message is mostly made of, and so one of the handful\n // simple mode offers — listed there without its section heading,\n // hence the self-describing label.\n basic: true,\n factory: () => ({\n type: 'rich_text',\n elements: [\n {\n type: 'rich_text_section',\n elements: [\n { type: 'text', text: 'A rich text ' },\n { type: 'text', text: 'section', style: { bold: true } },\n { type: 'text', text: ' with inline ' },\n { type: 'text', text: 'styled', style: { italic: true } },\n { type: 'text', text: ' text.' }\n ]\n }\n ]\n })\n }\n ]\n },\n {\n name: 'Image',\n icon: ImageIcon,\n variants: [\n {\n id: 'image_with_title',\n label: 'With title',\n factory: () => ({\n type: 'image',\n image_url: 'https://placehold.co/600x300?text=Image',\n alt_text: 'Placeholder image',\n title: { type: 'plain_text', text: 'Image title', emoji: true }\n })\n },\n {\n id: 'image_no_title',\n label: 'No title',\n // The plain image is the one an ordinary message reaches for, so it\n // carries simple mode's image slot — under its own name there, with\n // no \"Image\" heading overhead to lend \"No title\" its meaning.\n basic: true,\n basicLabel: 'Image',\n factory: () => ({\n type: 'image',\n image_url: 'https://placehold.co/600x300?text=Image',\n alt_text: 'Placeholder image'\n })\n }\n ]\n },\n {\n name: 'Video',\n icon: VideoIcon,\n variants: [\n {\n id: 'video_basic',\n label: 'Basic',\n factory: () => ({\n type: 'video',\n alt_text: 'A short demo video',\n title: { type: 'plain_text', text: 'Product demo', emoji: true },\n thumbnail_url: 'https://placehold.co/600x340?text=Video',\n video_url: 'https://www.youtube.com/embed/dQw4w9WgXcQ'\n })\n },\n {\n id: 'video_with_metadata',\n label: 'With metadata',\n factory: () => ({\n type: 'video',\n alt_text: 'A short demo video',\n title: { type: 'plain_text', text: 'Product demo', emoji: true },\n title_url: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ',\n thumbnail_url: 'https://placehold.co/600x340?text=Video',\n video_url: 'https://www.youtube.com/embed/dQw4w9WgXcQ',\n author_name: 'Acme',\n description: {\n type: 'plain_text',\n text: 'A short walkthrough of the new release.',\n emoji: true\n },\n provider_name: 'YouTube',\n provider_icon_url: 'https://placehold.co/16x16?text=YT'\n })\n }\n ]\n },\n {\n name: 'Card and Carousel',\n icon: GalleryHorizontal,\n variants: [\n {\n id: 'card_basic',\n label: 'Card',\n factory: () => ({\n type: 'card',\n icon: {\n type: 'image',\n image_url: 'https://placehold.co/36x36?text=Icon',\n alt_text: 'Card icon'\n },\n title: { type: 'mrkdwn', text: 'Card title' },\n subtitle: { type: 'mrkdwn', text: 'Card subtitle' },\n body: {\n type: 'mrkdwn',\n text: 'A short description of what this card is about.'\n }\n })\n },\n {\n id: 'card_with_hero',\n label: 'Card with hero image',\n factory: () => ({\n type: 'card',\n hero_image: {\n type: 'image',\n image_url: 'https://placehold.co/400x200?text=Hero',\n alt_text: 'Card hero image'\n },\n title: { type: 'mrkdwn', text: 'Card title' },\n body: {\n type: 'mrkdwn',\n text: 'A short description of what this card is about.'\n }\n })\n },\n {\n id: 'card_with_actions',\n label: 'Card with actions',\n factory: () => ({\n type: 'card',\n title: { type: 'mrkdwn', text: 'Card title' },\n body: {\n type: 'mrkdwn',\n text: 'A short description of what this card is about.'\n },\n actions: [\n {\n type: 'button',\n text: { type: 'plain_text', text: 'Open', emoji: true },\n action_id: 'card_action_1'\n }\n ]\n })\n },\n {\n id: 'carousel_basic',\n label: 'Carousel',\n factory: () => ({\n type: 'carousel',\n elements: [\n {\n type: 'card',\n title: { type: 'mrkdwn', text: 'Card 1' },\n body: { type: 'mrkdwn', text: 'First card in the carousel.' }\n },\n {\n type: 'card',\n title: { type: 'mrkdwn', text: 'Card 2' },\n body: { type: 'mrkdwn', text: 'Second card in the carousel.' }\n },\n {\n type: 'card',\n title: { type: 'mrkdwn', text: 'Card 3' },\n body: { type: 'mrkdwn', text: 'Third card in the carousel.' }\n }\n ]\n })\n }\n ]\n },\n {\n name: 'Table',\n icon: TableIcon,\n variants: [\n {\n id: 'table_simple',\n label: 'Simple table',\n factory: () => ({\n type: 'table',\n rows: [\n [\n { type: 'raw_text', text: 'Header 1' },\n { type: 'raw_text', text: 'Header 2' },\n { type: 'raw_text', text: 'Header 3' }\n ],\n [\n { type: 'raw_text', text: 'Row 1, A' },\n { type: 'raw_text', text: 'Row 1, B' },\n { type: 'raw_text', text: 'Row 1, C' }\n ],\n [\n { type: 'raw_text', text: 'Row 2, A' },\n { type: 'raw_text', text: 'Row 2, B' },\n { type: 'raw_text', text: 'Row 2, C' }\n ]\n ]\n })\n }\n ]\n },\n {\n name: 'Data Visualization',\n icon: ChartColumnBig,\n variants: [\n {\n id: 'dataviz_line',\n label: 'Line chart',\n factory: () => ({\n type: 'data_visualization',\n title: 'Weekly active users by platform',\n chart: {\n type: 'line',\n series: [\n {\n name: 'Desktop',\n data: [\n { label: 'Mon', value: 800 },\n { label: 'Tue', value: 920 },\n { label: 'Wed', value: 880 },\n { label: 'Thu', value: 1010 },\n { label: 'Fri', value: 1120 }\n ]\n },\n {\n name: 'Mobile',\n data: [\n { label: 'Mon', value: 400 },\n { label: 'Tue', value: 530 },\n { label: 'Wed', value: 500 },\n { label: 'Thu', value: 590 },\n { label: 'Fri', value: 600 }\n ]\n }\n ],\n axis_config: {\n categories: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'],\n x_label: 'Day',\n y_label: 'Users'\n }\n }\n })\n },\n {\n id: 'dataviz_bar',\n label: 'Bar chart',\n factory: () => ({\n type: 'data_visualization',\n title: 'Messages sent by platform',\n chart: {\n type: 'bar',\n series: [\n {\n name: 'Desktop',\n data: [\n { label: 'Mon', value: 1500 },\n { label: 'Tue', value: 1400 },\n { label: 'Wed', value: 1700 },\n { label: 'Thu', value: 1600 },\n { label: 'Fri', value: 1280 }\n ]\n },\n {\n name: 'Mobile',\n data: [\n { label: 'Mon', value: 800 },\n { label: 'Tue', value: 750 },\n { label: 'Wed', value: 920 },\n { label: 'Thu', value: 880 },\n { label: 'Fri', value: 700 }\n ]\n }\n ],\n axis_config: {\n categories: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'],\n x_label: 'Day',\n y_label: 'Messages'\n }\n }\n })\n },\n {\n id: 'dataviz_area',\n label: 'Area chart',\n factory: () => ({\n type: 'data_visualization',\n title: 'Concurrent users by platform',\n chart: {\n type: 'area',\n series: [\n {\n name: 'Desktop',\n data: [\n { label: 'Mon', value: 2800 },\n { label: 'Tue', value: 3000 },\n { label: 'Wed', value: 3400 },\n { label: 'Thu', value: 3200 },\n { label: 'Fri', value: 3500 }\n ]\n },\n {\n name: 'Mobile',\n data: [\n { label: 'Mon', value: 1400 },\n { label: 'Tue', value: 1500 },\n { label: 'Wed', value: 1700 },\n { label: 'Thu', value: 1600 },\n { label: 'Fri', value: 1800 }\n ]\n }\n ],\n axis_config: {\n categories: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'],\n x_label: 'Day',\n y_label: 'Users'\n }\n }\n })\n },\n {\n id: 'dataviz_pie',\n label: 'Pie chart',\n factory: () => ({\n type: 'data_visualization',\n title: 'Plan distribution by tier',\n chart: {\n type: 'pie',\n segments: [\n { label: 'Free', value: 4200 },\n { label: 'Pro', value: 2300 },\n { label: 'Business+', value: 1100 },\n { label: 'Enterprise', value: 480 }\n ]\n }\n })\n }\n ]\n },\n {\n name: 'Container',\n icon: Container,\n variants: [\n {\n id: 'container_collapsible',\n label: 'Collapsible container',\n factory: () => ({\n type: 'container',\n title: { type: 'plain_text', text: 'Bulk update: 2 records selected' },\n subtitle: { type: 'plain_text', text: 'Review changes before confirming' },\n is_collapsible: true,\n child_blocks: [\n {\n type: 'section',\n text: { type: 'mrkdwn', text: '*DCW-1024*\\nStatus: Open → Closed' }\n },\n { type: 'divider' },\n {\n type: 'section',\n text: { type: 'mrkdwn', text: '*DCW-1025*\\nStatus: In Progress → Closed' }\n },\n {\n type: 'actions',\n elements: [\n {\n type: 'button',\n text: { type: 'plain_text', text: 'Confirm All', emoji: true },\n style: 'primary',\n action_id: 'bulk_confirm'\n },\n {\n type: 'button',\n text: { type: 'plain_text', text: 'Cancel', emoji: true },\n action_id: 'bulk_cancel'\n }\n ]\n }\n ]\n })\n }\n ]\n }\n] as const;\n\n/**\n * The single-element `input`-block variants that used to ship in\n * `defaultPalette` before it was consolidated to mirror Slack's Block\n * Kit Builder. Kept reachable so consumers who referenced these ids via\n * the `palette` prop can spread them back into a custom palette.\n *\n * @example\n * ```tsx\n * import { defaultPalette, legacyInputVariants } from '@tightknitai/block-kitchen';\n * import { TextCursorInput } from 'lucide-react';\n *\n * const palette = [\n * ...defaultPalette,\n * { name: 'All inputs', icon: TextCursorInput, variants: [...legacyInputVariants] }\n * ];\n * ```\n *\n * Note: some ids here (`input_plain_text`, `input_date`, etc.) collide\n * with curated ids in the new `defaultPalette`. `buildVariantById`\n * keeps the last entry for a given id, so spread `legacyInputVariants`\n * after `defaultPalette` to use the legacy factory.\n */\nexport const legacyInputVariants: readonly PaletteVariant[] = [\n {\n id: 'input_plain_text',\n label: 'plain text',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Label', emoji: true },\n element: {\n type: 'plain_text_input',\n action_id: 'plain_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'Enter some text',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_multiline_text',\n label: 'multiline text',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Description', emoji: true },\n element: {\n type: 'plain_text_input',\n action_id: 'plain_text_input_multiline',\n multiline: true,\n placeholder: {\n type: 'plain_text',\n text: 'Enter a longer description',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_email',\n label: 'email',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Email address', emoji: true },\n element: {\n type: 'email_text_input',\n action_id: 'email_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'name@example.com',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_url',\n label: 'url',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Website', emoji: true },\n element: {\n type: 'url_text_input',\n action_id: 'url_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'https://example.com',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_number',\n label: 'number',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Quantity', emoji: true },\n element: {\n type: 'number_input',\n action_id: 'number_input',\n is_decimal_allowed: false,\n placeholder: { type: 'plain_text', text: '0', emoji: true }\n }\n })\n },\n {\n id: 'input_date',\n label: 'date',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick a date', emoji: true },\n element: {\n type: 'datepicker',\n action_id: 'datepicker',\n placeholder: {\n type: 'plain_text',\n text: 'Select a date',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_time',\n label: 'time',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick a time', emoji: true },\n element: {\n type: 'timepicker',\n action_id: 'timepicker',\n placeholder: {\n type: 'plain_text',\n text: 'Select a time',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_datetime',\n label: 'date and time',\n factory: () => ({\n type: 'input',\n label: {\n type: 'plain_text',\n text: 'Pick a date and time',\n emoji: true\n },\n element: {\n type: 'datetimepicker',\n action_id: 'datetimepicker'\n }\n })\n },\n {\n id: 'input_static_select',\n label: 'select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick an option', emoji: true },\n element: {\n type: 'static_select',\n action_id: 'static_select',\n placeholder: {\n type: 'plain_text',\n text: 'Choose one',\n emoji: true\n },\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n })\n },\n {\n id: 'input_multi_static_select',\n label: 'multi-select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick options', emoji: true },\n element: {\n type: 'multi_static_select',\n action_id: 'multi_static_select',\n placeholder: {\n type: 'plain_text',\n text: 'Choose one or more',\n emoji: true\n },\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n })\n },\n {\n id: 'input_users_select',\n label: 'users select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick a user', emoji: true },\n element: {\n type: 'users_select',\n action_id: 'users_select',\n placeholder: {\n type: 'plain_text',\n text: 'Select a user',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_multi_users_select',\n label: 'multi users select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick users', emoji: true },\n element: {\n type: 'multi_users_select',\n action_id: 'multi_users_select',\n placeholder: {\n type: 'plain_text',\n text: 'Select users',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_channels_select',\n label: 'channels select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick a channel', emoji: true },\n element: {\n type: 'channels_select',\n action_id: 'channels_select',\n placeholder: {\n type: 'plain_text',\n text: 'Select a channel',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_multi_channels_select',\n label: 'multi channels select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick channels', emoji: true },\n element: {\n type: 'multi_channels_select',\n action_id: 'multi_channels_select',\n placeholder: {\n type: 'plain_text',\n text: 'Select channels',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_conversations_select',\n label: 'conversations select',\n factory: () => ({\n type: 'input',\n label: {\n type: 'plain_text',\n text: 'Pick a conversation',\n emoji: true\n },\n element: {\n type: 'conversations_select',\n action_id: 'conversations_select',\n placeholder: {\n type: 'plain_text',\n text: 'Select a conversation',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_multi_conversations_select',\n label: 'multi conversations select',\n factory: () => ({\n type: 'input',\n label: {\n type: 'plain_text',\n text: 'Pick conversations',\n emoji: true\n },\n element: {\n type: 'multi_conversations_select',\n action_id: 'multi_conversations_select',\n placeholder: {\n type: 'plain_text',\n text: 'Select conversations',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_external_select',\n label: 'external select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick an option', emoji: true },\n element: {\n type: 'external_select',\n action_id: 'external_select',\n placeholder: {\n type: 'plain_text',\n text: 'Choose one',\n emoji: true\n },\n min_query_length: 0\n }\n })\n },\n {\n id: 'input_multi_external_select',\n label: 'multi external select',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick options', emoji: true },\n element: {\n type: 'multi_external_select',\n action_id: 'multi_external_select',\n placeholder: {\n type: 'plain_text',\n text: 'Choose one or more',\n emoji: true\n },\n min_query_length: 0\n }\n })\n },\n {\n id: 'input_radio_buttons',\n label: 'radio buttons',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick one', emoji: true },\n element: {\n type: 'radio_buttons',\n action_id: 'radio_buttons',\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n })\n },\n {\n id: 'input_checkboxes',\n label: 'checkboxes',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Pick any', emoji: true },\n element: {\n type: 'checkboxes',\n action_id: 'checkboxes',\n options: [\n {\n text: { type: 'plain_text', text: 'Option 1', emoji: true },\n value: 'option_1'\n },\n {\n text: { type: 'plain_text', text: 'Option 2', emoji: true },\n value: 'option_2'\n },\n {\n text: { type: 'plain_text', text: 'Option 3', emoji: true },\n value: 'option_3'\n }\n ]\n }\n })\n },\n {\n id: 'input_rich_text',\n label: 'rich text input',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Description', emoji: true },\n element: {\n type: 'rich_text_input',\n action_id: 'rich_text_input',\n placeholder: {\n type: 'plain_text',\n text: 'Type something',\n emoji: true\n }\n }\n })\n },\n {\n id: 'input_file',\n label: 'file upload',\n factory: () => ({\n type: 'input',\n label: { type: 'plain_text', text: 'Upload a file', emoji: true },\n element: {\n type: 'file_input',\n action_id: 'file_input',\n max_files: 1\n }\n })\n }\n] as const;\n\n/**\n * Standalone `alert` block variant. The full set of severity-level alert\n * variants ships in `defaultPalette` under the \"Alert\" section; this\n * export is retained for backward compatibility with consumers who\n * previously spread it onto a custom palette. Shares the `alert_warning`\n * id with its counterpart in `defaultPalette` — spread after\n * `defaultPalette` (or omit it entirely) to avoid duplicate-id lookups.\n */\nexport const extraAlertVariant: PaletteVariant = {\n id: 'alert_warning',\n label: 'Warning',\n factory: () => ({\n type: 'alert',\n level: 'warning',\n text: {\n type: 'mrkdwn',\n text: 'Heads up: this action cannot be undone.'\n }\n })\n};\n\n/**\n * Builds a lookup table mapping a variant id to its definition for a\n * resolved palette. Used by the DnD drop handler to resolve a\n * `palette:${id}` drag back to a factory.\n * @param sections - the palette in use (defaults or a consumer-provided one)\n * @returns a map keyed by variant id\n */\nexport function buildVariantById(sections: readonly PaletteSection[]): ReadonlyMap<string, PaletteVariant> {\n return new Map(sections.flatMap((section) => section.variants.map((v) => [v.id, v] as const)));\n}\n\n/**\n * Human-readable label for a supported block type. Used in the per-block\n * popover editor heading.\n * @param type - the block type\n * @returns a short label (e.g. \"Section\")\n */\nexport function labelForBlockType(type: SupportedBlockType): string {\n switch (type) {\n case 'section':\n return 'Section';\n case 'header':\n return 'Header';\n case 'divider':\n return 'Divider';\n case 'context':\n return 'Context';\n case 'actions':\n return 'Buttons';\n case 'image':\n return 'Image';\n case 'markdown':\n return 'Markdown';\n case 'table':\n return 'Table';\n case 'rich_text':\n return 'Rich Text';\n case 'alert':\n return 'Alert';\n case 'card':\n return 'Card';\n case 'carousel':\n return 'Carousel';\n case 'context_actions':\n return 'Context Actions';\n case 'input':\n return 'Input';\n case 'video':\n return 'Video';\n case 'plan':\n return 'Plan';\n case 'task_card':\n return 'Task Card';\n case 'data_visualization':\n return 'Data Visualization';\n case 'container':\n return 'Container';\n }\n}\n"]}
@@ -1,3 +1,3 @@
1
- export { Q as PaletteMode, R as PaletteSection, U as PaletteVariant, S as SupportedBlock, a1 as SupportedBlockType, ag as buildVariantById, ad as defaultPalette, ae as extraAlertVariant, af as legacyInputVariants } from './palette-QbOx7kAa.cjs';
1
+ export { Q as PaletteMode, R as PaletteSection, U as PaletteVariant, S as SupportedBlock, a1 as SupportedBlockType, ag as buildVariantById, ad as defaultPalette, ae as extraAlertVariant, af as legacyInputVariants } from './palette-CvSGn2z6.cjs';
2
2
  import 'react';
3
3
  import 'slack-web-api-client';
package/dist/palette.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export { Q as PaletteMode, R as PaletteSection, U as PaletteVariant, S as SupportedBlock, a1 as SupportedBlockType, ag as buildVariantById, ad as defaultPalette, ae as extraAlertVariant, af as legacyInputVariants } from './palette-QbOx7kAa.js';
1
+ export { Q as PaletteMode, R as PaletteSection, U as PaletteVariant, S as SupportedBlock, a1 as SupportedBlockType, ag as buildVariantById, ad as defaultPalette, ae as extraAlertVariant, af as legacyInputVariants } from './palette-CvSGn2z6.js';
2
2
  import 'react';
3
3
  import 'slack-web-api-client';
package/dist/palette.js CHANGED
@@ -625,6 +625,7 @@ var defaultPalette = [
625
625
  {
626
626
  id: "structure_header",
627
627
  label: "Header",
628
+ basic: true,
628
629
  factory: () => ({
629
630
  type: "header",
630
631
  text: { type: "plain_text", text: "Heading text", emoji: true }
@@ -633,6 +634,7 @@ var defaultPalette = [
633
634
  {
634
635
  id: "structure_divider",
635
636
  label: "Divider",
637
+ basic: true,
636
638
  factory: () => ({ type: "divider" })
637
639
  },
638
640
  {
@@ -740,8 +742,9 @@ var defaultPalette = [
740
742
  {
741
743
  id: "rich_text_section",
742
744
  label: "Rich Text Section",
743
- // The one variant simple mode offers, where it's listed without its
744
- // section heading — hence the self-describing label.
745
+ // The block a message is mostly made of, and so one of the handful
746
+ // simple mode offers — listed there without its section heading,
747
+ // hence the self-describing label.
745
748
  basic: true,
746
749
  factory: () => ({
747
750
  type: "rich_text",
@@ -778,6 +781,11 @@ var defaultPalette = [
778
781
  {
779
782
  id: "image_no_title",
780
783
  label: "No title",
784
+ // The plain image is the one an ordinary message reaches for, so it
785
+ // carries simple mode's image slot — under its own name there, with
786
+ // no "Image" heading overhead to lend "No title" its meaning.
787
+ basic: true,
788
+ basicLabel: "Image",
781
789
  factory: () => ({
782
790
  type: "image",
783
791
  image_url: "https://placehold.co/600x300?text=Image",