slack-blocks-to-jsx 0.0.8 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -502,7 +502,7 @@ var ButtonElement = (props) => {
502
502
  {
503
503
  id: action_id,
504
504
  "aria-label": accessibility_label,
505
- className: `px-2 pt-0 pb-[1px] text-small h-[28px] min-w-[56px] border rounded whitespace-nowrap font-semibold ${style === "primary" ? "border-green-primary.3 text-green-primary" : style === "danger" ? "border-red-primary.3 text-red-primary" : "border-black-primary.3 text-black-primary"}`,
505
+ className: `px-2 pt-0 pb-[1px] text-small h-[28px] min-w-[56px] border rounded whitespace-nowrap font-semibold slack_blocks_to_jsx__button ${style === "primary" ? "border-green-primary.3 text-green-primary" : style === "danger" ? "border-red-primary.3 text-red-primary" : "border-black-primary.3 text-black-primary"}`,
506
506
  onClick: () => {
507
507
  if (url) {
508
508
  window.open(url, "_blank");
@@ -642,7 +642,7 @@ var CheckboxesElement = (props) => {
642
642
  input_ref.current.focus();
643
643
  }
644
644
  }, [focus_on_load]);
645
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { id: action_id, className: "my-1 flex w-full", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("fieldset", { className: "flex flex-col gap-2", children: options.map((option, i) => {
645
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { id: action_id, className: "my-1 flex w-full slack_blocks_to_jsx__checkboxes", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("fieldset", { className: "flex flex-col gap-2", children: options.map((option, i) => {
646
646
  const { text, value, description } = option;
647
647
  return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
648
648
  "label",
@@ -676,107 +676,59 @@ var CheckboxesElement = (props) => {
676
676
  }) }) });
677
677
  };
678
678
 
679
- // src/components/elements/datepicker_element.tsx
680
- var import_react3 = require("react");
681
- var import_jsx_runtime7 = require("react/jsx-runtime");
682
- var DatePickerElement = (props) => {
683
- const {
684
- action_id,
685
- focus_on_load,
686
- initial_date = "1990-04-28",
687
- placeholder,
688
- type,
689
- confirm
690
- } = props.data;
691
- const [date, setDate] = (0, import_react3.useState)(initial_date);
692
- const [value, setValue] = (0, import_react3.useState)(() => {
693
- const [year, month, day] = initial_date.split("-");
694
- return `${month}/${day}/${year}`;
695
- });
696
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
697
- "label",
698
- {
699
- htmlFor: action_id,
700
- className: "py-1 px-2 h-7 min-h-[28px] relative flex items-center justify-between rounded text-small w-[220px] border border-black-primary.3s",
701
- tabIndex: 0,
702
- children: [
703
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
704
- "input",
705
- {
706
- type: "text",
707
- value,
708
- onChange: (e) => {
709
- setValue(e.target.value);
710
- },
711
- className: "w-full pr-7 focus:outline-none h-full group-focus:outline",
712
- tabIndex: -1,
713
- "aria-label": "Select an item"
714
- }
715
- ),
716
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
717
- "button",
718
- {
719
- className: "absolute right-1 top-1/2 flex justify-center items-center w-5 -translate-y-1/2 text-black-secondary z-10 h-full",
720
- id: "static_select_dropdown_button",
721
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
722
- "svg",
723
- {
724
- xmlns: "http://www.w3.org/2000/svg",
725
- fill: "none",
726
- viewBox: "0 0 24 24",
727
- strokeWidth: "3",
728
- stroke: "currentColor",
729
- className: "w-3 h-3",
730
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M19.5 8.25l-7.5 7.5-7.5-7.5" })
731
- }
732
- )
733
- }
734
- )
735
- ]
736
- }
737
- );
738
- };
739
-
740
679
  // src/components/blocks/actions.tsx
741
- var import_jsx_runtime8 = require("react/jsx-runtime");
680
+ var import_jsx_runtime7 = require("react/jsx-runtime");
742
681
  var Actions = (props) => {
743
682
  const { elements, block_id } = props.data;
744
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { id: block_id, className: "mb-2 text-primary flex w-full text-black-primary items-center", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "flex flex-wrap", children: elements.map((element, i) => {
745
- if (element.type === "button") {
746
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "mt-2 mr-2", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ButtonElement, { data: element }) }, i);
747
- }
748
- if (element.type === "static_select") {
749
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "mt-2 mr-2", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(StaticSelectElement, { data: element }) }, i);
683
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
684
+ "div",
685
+ {
686
+ id: block_id,
687
+ className: "mb-2 text-primary flex w-full text-black-primary items-center slack_blocks_to_jsx__actions",
688
+ children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "flex flex-wrap", children: elements.map((element, i) => {
689
+ if (element.type === "button") {
690
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "mt-2 mr-2", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(ButtonElement, { data: element }) }, i);
691
+ }
692
+ if (element.type === "static_select") {
693
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "mt-2 mr-2", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(StaticSelectElement, { data: element }) }, i);
694
+ }
695
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "mt-2 mr-2" }, i);
696
+ }) })
750
697
  }
751
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "mt-2 mr-2" }, i);
752
- }) }) });
698
+ );
753
699
  };
754
700
 
755
701
  // src/components/blocks/context.tsx
756
- var import_jsx_runtime9 = require("react/jsx-runtime");
702
+ var import_jsx_runtime8 = require("react/jsx-runtime");
757
703
  var Context = (props) => {
758
704
  const { elements, block_id } = props.data;
759
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
705
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
760
706
  "div",
761
707
  {
762
708
  id: block_id,
763
- className: "my-1 text-primary flex w-full text-black-primary flex-wrap items-center overflow-hidden",
709
+ className: "my-1 text-primary flex w-full text-black-primary flex-wrap items-center overflow-hidden slack_blocks_to_jsx__context",
764
710
  children: elements.slice(0, 10).map((element, i) => {
765
711
  if (element.type !== "image") {
766
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { className: "text-black-secondary text-small pr-3 flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(TextObject, { data: element }) }, i);
712
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "text-black-secondary text-small pr-3 flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(TextObject, { data: element }) }, i);
767
713
  }
768
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(ImageElement, { data: element }) }, i);
714
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ImageElement, { data: element }) }, i);
769
715
  })
770
716
  }
771
717
  );
772
718
  };
773
719
 
774
720
  // src/components/blocks/divider.tsx
775
- var import_jsx_runtime10 = require("react/jsx-runtime");
721
+ var import_jsx_runtime9 = require("react/jsx-runtime");
776
722
  var Divider = (props) => {
777
723
  const { data } = props;
778
724
  const { block_id } = data;
779
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { id: block_id, className: "border-b border-gray-primary border-solid w-full mt-1 mb-2" });
725
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
726
+ "div",
727
+ {
728
+ id: block_id,
729
+ className: "border-b border-gray-primary border-solid w-full mt-1 mb-2 slack_blocks_to_jsx__divider"
730
+ }
731
+ );
780
732
  };
781
733
 
782
734
  // src/components/blocks/file.tsx
@@ -792,18 +744,18 @@ var Header2 = (props) => {
792
744
  };
793
745
 
794
746
  // src/components/blocks/image.tsx
795
- var import_react4 = require("react");
796
- var import_jsx_runtime11 = require("react/jsx-runtime");
747
+ var import_react3 = require("react");
748
+ var import_jsx_runtime10 = require("react/jsx-runtime");
797
749
  var Image = (props) => {
798
750
  const { block_id, alt_text, image_url, image_bytes, image_height, image_width } = props.data;
799
- const [showImage, setShowImage] = (0, import_react4.useState)(true);
800
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { id: block_id, className: "my-2 flex flex-col gap-2", children: [
801
- /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "text-black-secondary text-small flex gap-1 items-center", children: [
802
- /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { children: [
751
+ const [showImage, setShowImage] = (0, import_react3.useState)(true);
752
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { id: block_id, className: "my-2 flex flex-col gap-2 slack_blocks_to_jsx__image", children: [
753
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "text-black-secondary text-small flex gap-1 items-center", children: [
754
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("span", { children: [
803
755
  alt_text,
804
756
  image_bytes && ` (${Math.round(image_bytes / 1e3)} kB)`
805
757
  ] }),
806
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("button", { className: "w-[15px] h-[15px]", onClick: () => setShowImage((prev) => !prev), children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
758
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("button", { className: "w-[15px] h-[15px]", onClick: () => setShowImage((prev) => !prev), children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
807
759
  "svg",
808
760
  {
809
761
  xmlns: "http://www.w3.org/2000/svg",
@@ -819,7 +771,7 @@ var Image = (props) => {
819
771
  style: {
820
772
  transform: showImage ? "rotate(0deg)" : "rotate(-90deg)"
821
773
  },
822
- children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
774
+ children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
823
775
  "path",
824
776
  {
825
777
  fill: "currentColor",
@@ -830,7 +782,7 @@ var Image = (props) => {
830
782
  }
831
783
  ) })
832
784
  ] }),
833
- showImage && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "rounded-md overflow-hidden relative max-w-max", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
785
+ showImage && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "rounded-md overflow-hidden relative max-w-max", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
834
786
  "img",
835
787
  {
836
788
  src: image_url,
@@ -857,24 +809,24 @@ var RichText = (props) => {
857
809
  };
858
810
 
859
811
  // src/components/blocks/section.tsx
860
- var import_jsx_runtime12 = require("react/jsx-runtime");
812
+ var import_jsx_runtime11 = require("react/jsx-runtime");
861
813
  var Section = (props) => {
862
814
  const { accessory, fields, text, block_id } = props.data;
863
815
  const element = accessory ? getElementComponent(accessory) : null;
864
816
  const is_stacked = accessory ? is_accessory_stacked(accessory) : false;
865
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
817
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
866
818
  "div",
867
819
  {
868
820
  id: block_id,
869
- className: `mt-2 mb-1 text-primary flex w-full text-black-primary ${is_stacked ? "flex-col" : ""}`,
821
+ className: `mt-2 mb-1 text-primary slack_blocks_to_jsx__section flex w-full text-black-primary ${is_stacked ? "flex-col" : ""}`,
870
822
  children: [
871
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "grow", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex flex-col gap-3", children: [
872
- text && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(TextObject, { data: text }),
873
- fields && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "grid grid-col-2 w-full", children: fields.map((field, i) => {
874
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(TextObject, { data: field }, i);
823
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "grow", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex flex-col gap-3", children: [
824
+ text && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(TextObject, { data: text }),
825
+ fields && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "grid grid-col-2 w-full", children: fields.map((field, i) => {
826
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(TextObject, { data: field }, i);
875
827
  }) })
876
828
  ] }) }),
877
- element && is_stacked ? element : /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "ml-2 mb-1 relative shrink-0", children: element })
829
+ element && is_stacked ? element : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "ml-2 mb-1 relative shrink-0", children: element })
878
830
  ]
879
831
  }
880
832
  );
@@ -887,37 +839,37 @@ var Video = (props) => {
887
839
  };
888
840
 
889
841
  // src/components/index.tsx
890
- var import_jsx_runtime13 = require("react/jsx-runtime");
842
+ var import_jsx_runtime12 = require("react/jsx-runtime");
891
843
  var getBlockComponent = (block) => {
892
844
  if (block.type === "divider")
893
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Divider, { data: block });
845
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Divider, { data: block });
894
846
  if (block.type === "section")
895
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Section, { data: block });
847
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Section, { data: block });
896
848
  if (block.type === "image")
897
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Image, { data: block });
849
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Image, { data: block });
898
850
  if (block.type === "context")
899
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Context, { data: block });
851
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Context, { data: block });
900
852
  if (block.type === "actions")
901
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Actions, { data: block });
853
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Actions, { data: block });
902
854
  if (block.type === "file")
903
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(File, { data: block });
855
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(File, { data: block });
904
856
  if (block.type === "header")
905
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Header2, { data: block });
857
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Header2, { data: block });
906
858
  if (block.type === "input")
907
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Input, { data: block });
859
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Input, { data: block });
908
860
  if (block.type === "video")
909
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Video, { data: block });
861
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Video, { data: block });
910
862
  if (block.type === "rich_text")
911
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(RichText, { data: block });
863
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(RichText, { data: block });
912
864
  return null;
913
865
  };
914
866
  var getElementComponent = (element) => {
915
867
  if (element.type === "button")
916
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(ButtonElement, { data: element });
868
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ButtonElement, { data: element });
917
869
  if (element.type === "checkboxes")
918
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(CheckboxesElement, { data: element });
870
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(CheckboxesElement, { data: element });
919
871
  if (element.type === "datepicker")
920
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerElement, { data: element });
872
+ return null;
921
873
  if (element.type === "datetimepicker")
922
874
  return null;
923
875
  if (element.type === "email_text_input")
@@ -960,14 +912,14 @@ var getElementComponent = (element) => {
960
912
  };
961
913
 
962
914
  // src/block_wrapper.tsx
963
- var import_jsx_runtime14 = require("react/jsx-runtime");
915
+ var import_jsx_runtime13 = require("react/jsx-runtime");
964
916
  var BlockWrapper = (props) => {
965
917
  const { children } = props;
966
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "text-base break-words font-normal", children });
918
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "text-base break-words font-normal", children });
967
919
  };
968
920
 
969
921
  // src/message.tsx
970
- var import_jsx_runtime15 = require("react/jsx-runtime");
922
+ var import_jsx_runtime14 = require("react/jsx-runtime");
971
923
  var Message = (props) => {
972
924
  const {
973
925
  blocks,
@@ -978,13 +930,14 @@ var Message = (props) => {
978
930
  style,
979
931
  showBlockKitDebug = false
980
932
  } = props;
981
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
933
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
982
934
  "section",
983
935
  {
984
- className: `flex gap-2 w-full max-w-[600px] slack-message relative ${className}`,
936
+ id: "slack_blocks_to_jsx",
937
+ className: `flex gap-2 w-full max-w-[600px] slack_blocks_to_jsx relative ${className}`,
985
938
  style,
986
939
  children: [
987
- showBlockKitDebug && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
940
+ showBlockKitDebug && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
988
941
  "a",
989
942
  {
990
943
  target: "_blank",
@@ -996,14 +949,14 @@ var Message = (props) => {
996
949
  children: "Open in Slack Block Kit Builder"
997
950
  }
998
951
  ),
999
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("img", { src: logo, className: "w-9 h-9", alt: name }) }),
1000
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-col w-full", children: [
1001
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Header, { name, time }),
1002
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { children: blocks.map((block, i) => {
952
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("img", { src: logo, className: "w-9 h-9", alt: name }) }),
953
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "flex flex-col w-full", children: [
954
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Header, { name, time }),
955
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { children: blocks.map((block, i) => {
1003
956
  const element = getBlockComponent(block);
1004
957
  if (!element)
1005
958
  return null;
1006
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(BlockWrapper, { children: element }, i);
959
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(BlockWrapper, { children: element }, i);
1007
960
  }) })
1008
961
  ] })
1009
962
  ]
package/dist/index.mjs CHANGED
@@ -466,7 +466,7 @@ var ButtonElement = (props) => {
466
466
  {
467
467
  id: action_id,
468
468
  "aria-label": accessibility_label,
469
- className: `px-2 pt-0 pb-[1px] text-small h-[28px] min-w-[56px] border rounded whitespace-nowrap font-semibold ${style === "primary" ? "border-green-primary.3 text-green-primary" : style === "danger" ? "border-red-primary.3 text-red-primary" : "border-black-primary.3 text-black-primary"}`,
469
+ className: `px-2 pt-0 pb-[1px] text-small h-[28px] min-w-[56px] border rounded whitespace-nowrap font-semibold slack_blocks_to_jsx__button ${style === "primary" ? "border-green-primary.3 text-green-primary" : style === "danger" ? "border-red-primary.3 text-red-primary" : "border-black-primary.3 text-black-primary"}`,
470
470
  onClick: () => {
471
471
  if (url) {
472
472
  window.open(url, "_blank");
@@ -606,7 +606,7 @@ var CheckboxesElement = (props) => {
606
606
  input_ref.current.focus();
607
607
  }
608
608
  }, [focus_on_load]);
609
- return /* @__PURE__ */ jsx6("div", { id: action_id, className: "my-1 flex w-full", children: /* @__PURE__ */ jsx6("fieldset", { className: "flex flex-col gap-2", children: options.map((option, i) => {
609
+ return /* @__PURE__ */ jsx6("div", { id: action_id, className: "my-1 flex w-full slack_blocks_to_jsx__checkboxes", children: /* @__PURE__ */ jsx6("fieldset", { className: "flex flex-col gap-2", children: options.map((option, i) => {
610
610
  const { text, value, description } = option;
611
611
  return /* @__PURE__ */ jsxs3(
612
612
  "label",
@@ -640,107 +640,59 @@ var CheckboxesElement = (props) => {
640
640
  }) }) });
641
641
  };
642
642
 
643
- // src/components/elements/datepicker_element.tsx
644
- import { useState as useState3 } from "react";
645
- import { jsx as jsx7, jsxs as jsxs4 } from "react/jsx-runtime";
646
- var DatePickerElement = (props) => {
647
- const {
648
- action_id,
649
- focus_on_load,
650
- initial_date = "1990-04-28",
651
- placeholder,
652
- type,
653
- confirm
654
- } = props.data;
655
- const [date, setDate] = useState3(initial_date);
656
- const [value, setValue] = useState3(() => {
657
- const [year, month, day] = initial_date.split("-");
658
- return `${month}/${day}/${year}`;
659
- });
660
- return /* @__PURE__ */ jsxs4(
661
- "label",
662
- {
663
- htmlFor: action_id,
664
- className: "py-1 px-2 h-7 min-h-[28px] relative flex items-center justify-between rounded text-small w-[220px] border border-black-primary.3s",
665
- tabIndex: 0,
666
- children: [
667
- /* @__PURE__ */ jsx7(
668
- "input",
669
- {
670
- type: "text",
671
- value,
672
- onChange: (e) => {
673
- setValue(e.target.value);
674
- },
675
- className: "w-full pr-7 focus:outline-none h-full group-focus:outline",
676
- tabIndex: -1,
677
- "aria-label": "Select an item"
678
- }
679
- ),
680
- /* @__PURE__ */ jsx7(
681
- "button",
682
- {
683
- className: "absolute right-1 top-1/2 flex justify-center items-center w-5 -translate-y-1/2 text-black-secondary z-10 h-full",
684
- id: "static_select_dropdown_button",
685
- children: /* @__PURE__ */ jsx7(
686
- "svg",
687
- {
688
- xmlns: "http://www.w3.org/2000/svg",
689
- fill: "none",
690
- viewBox: "0 0 24 24",
691
- strokeWidth: "3",
692
- stroke: "currentColor",
693
- className: "w-3 h-3",
694
- children: /* @__PURE__ */ jsx7("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M19.5 8.25l-7.5 7.5-7.5-7.5" })
695
- }
696
- )
697
- }
698
- )
699
- ]
700
- }
701
- );
702
- };
703
-
704
643
  // src/components/blocks/actions.tsx
705
- import { jsx as jsx8 } from "react/jsx-runtime";
644
+ import { jsx as jsx7 } from "react/jsx-runtime";
706
645
  var Actions = (props) => {
707
646
  const { elements, block_id } = props.data;
708
- return /* @__PURE__ */ jsx8("div", { id: block_id, className: "mb-2 text-primary flex w-full text-black-primary items-center", children: /* @__PURE__ */ jsx8("div", { className: "flex flex-wrap", children: elements.map((element, i) => {
709
- if (element.type === "button") {
710
- return /* @__PURE__ */ jsx8("div", { className: "mt-2 mr-2", children: /* @__PURE__ */ jsx8(ButtonElement, { data: element }) }, i);
711
- }
712
- if (element.type === "static_select") {
713
- return /* @__PURE__ */ jsx8("div", { className: "mt-2 mr-2", children: /* @__PURE__ */ jsx8(StaticSelectElement, { data: element }) }, i);
647
+ return /* @__PURE__ */ jsx7(
648
+ "div",
649
+ {
650
+ id: block_id,
651
+ className: "mb-2 text-primary flex w-full text-black-primary items-center slack_blocks_to_jsx__actions",
652
+ children: /* @__PURE__ */ jsx7("div", { className: "flex flex-wrap", children: elements.map((element, i) => {
653
+ if (element.type === "button") {
654
+ return /* @__PURE__ */ jsx7("div", { className: "mt-2 mr-2", children: /* @__PURE__ */ jsx7(ButtonElement, { data: element }) }, i);
655
+ }
656
+ if (element.type === "static_select") {
657
+ return /* @__PURE__ */ jsx7("div", { className: "mt-2 mr-2", children: /* @__PURE__ */ jsx7(StaticSelectElement, { data: element }) }, i);
658
+ }
659
+ return /* @__PURE__ */ jsx7("div", { className: "mt-2 mr-2" }, i);
660
+ }) })
714
661
  }
715
- return /* @__PURE__ */ jsx8("div", { className: "mt-2 mr-2" }, i);
716
- }) }) });
662
+ );
717
663
  };
718
664
 
719
665
  // src/components/blocks/context.tsx
720
- import { jsx as jsx9 } from "react/jsx-runtime";
666
+ import { jsx as jsx8 } from "react/jsx-runtime";
721
667
  var Context = (props) => {
722
668
  const { elements, block_id } = props.data;
723
- return /* @__PURE__ */ jsx9(
669
+ return /* @__PURE__ */ jsx8(
724
670
  "div",
725
671
  {
726
672
  id: block_id,
727
- className: "my-1 text-primary flex w-full text-black-primary flex-wrap items-center overflow-hidden",
673
+ className: "my-1 text-primary flex w-full text-black-primary flex-wrap items-center overflow-hidden slack_blocks_to_jsx__context",
728
674
  children: elements.slice(0, 10).map((element, i) => {
729
675
  if (element.type !== "image") {
730
- return /* @__PURE__ */ jsx9("span", { className: "text-black-secondary text-small pr-3 flex items-center", children: /* @__PURE__ */ jsx9(TextObject, { data: element }) }, i);
676
+ return /* @__PURE__ */ jsx8("span", { className: "text-black-secondary text-small pr-3 flex items-center", children: /* @__PURE__ */ jsx8(TextObject, { data: element }) }, i);
731
677
  }
732
- return /* @__PURE__ */ jsx9("span", { children: /* @__PURE__ */ jsx9(ImageElement, { data: element }) }, i);
678
+ return /* @__PURE__ */ jsx8("span", { children: /* @__PURE__ */ jsx8(ImageElement, { data: element }) }, i);
733
679
  })
734
680
  }
735
681
  );
736
682
  };
737
683
 
738
684
  // src/components/blocks/divider.tsx
739
- import { jsx as jsx10 } from "react/jsx-runtime";
685
+ import { jsx as jsx9 } from "react/jsx-runtime";
740
686
  var Divider = (props) => {
741
687
  const { data } = props;
742
688
  const { block_id } = data;
743
- return /* @__PURE__ */ jsx10("div", { id: block_id, className: "border-b border-gray-primary border-solid w-full mt-1 mb-2" });
689
+ return /* @__PURE__ */ jsx9(
690
+ "div",
691
+ {
692
+ id: block_id,
693
+ className: "border-b border-gray-primary border-solid w-full mt-1 mb-2 slack_blocks_to_jsx__divider"
694
+ }
695
+ );
744
696
  };
745
697
 
746
698
  // src/components/blocks/file.tsx
@@ -756,18 +708,18 @@ var Header2 = (props) => {
756
708
  };
757
709
 
758
710
  // src/components/blocks/image.tsx
759
- import { useState as useState4 } from "react";
760
- import { jsx as jsx11, jsxs as jsxs5 } from "react/jsx-runtime";
711
+ import { useState as useState3 } from "react";
712
+ import { jsx as jsx10, jsxs as jsxs4 } from "react/jsx-runtime";
761
713
  var Image = (props) => {
762
714
  const { block_id, alt_text, image_url, image_bytes, image_height, image_width } = props.data;
763
- const [showImage, setShowImage] = useState4(true);
764
- return /* @__PURE__ */ jsxs5("div", { id: block_id, className: "my-2 flex flex-col gap-2", children: [
765
- /* @__PURE__ */ jsxs5("div", { className: "text-black-secondary text-small flex gap-1 items-center", children: [
766
- /* @__PURE__ */ jsxs5("span", { children: [
715
+ const [showImage, setShowImage] = useState3(true);
716
+ return /* @__PURE__ */ jsxs4("div", { id: block_id, className: "my-2 flex flex-col gap-2 slack_blocks_to_jsx__image", children: [
717
+ /* @__PURE__ */ jsxs4("div", { className: "text-black-secondary text-small flex gap-1 items-center", children: [
718
+ /* @__PURE__ */ jsxs4("span", { children: [
767
719
  alt_text,
768
720
  image_bytes && ` (${Math.round(image_bytes / 1e3)} kB)`
769
721
  ] }),
770
- /* @__PURE__ */ jsx11("button", { className: "w-[15px] h-[15px]", onClick: () => setShowImage((prev) => !prev), children: /* @__PURE__ */ jsx11(
722
+ /* @__PURE__ */ jsx10("button", { className: "w-[15px] h-[15px]", onClick: () => setShowImage((prev) => !prev), children: /* @__PURE__ */ jsx10(
771
723
  "svg",
772
724
  {
773
725
  xmlns: "http://www.w3.org/2000/svg",
@@ -783,7 +735,7 @@ var Image = (props) => {
783
735
  style: {
784
736
  transform: showImage ? "rotate(0deg)" : "rotate(-90deg)"
785
737
  },
786
- children: /* @__PURE__ */ jsx11(
738
+ children: /* @__PURE__ */ jsx10(
787
739
  "path",
788
740
  {
789
741
  fill: "currentColor",
@@ -794,7 +746,7 @@ var Image = (props) => {
794
746
  }
795
747
  ) })
796
748
  ] }),
797
- showImage && /* @__PURE__ */ jsx11("div", { className: "rounded-md overflow-hidden relative max-w-max", children: /* @__PURE__ */ jsx11(
749
+ showImage && /* @__PURE__ */ jsx10("div", { className: "rounded-md overflow-hidden relative max-w-max", children: /* @__PURE__ */ jsx10(
798
750
  "img",
799
751
  {
800
752
  src: image_url,
@@ -821,24 +773,24 @@ var RichText = (props) => {
821
773
  };
822
774
 
823
775
  // src/components/blocks/section.tsx
824
- import { jsx as jsx12, jsxs as jsxs6 } from "react/jsx-runtime";
776
+ import { jsx as jsx11, jsxs as jsxs5 } from "react/jsx-runtime";
825
777
  var Section = (props) => {
826
778
  const { accessory, fields, text, block_id } = props.data;
827
779
  const element = accessory ? getElementComponent(accessory) : null;
828
780
  const is_stacked = accessory ? is_accessory_stacked(accessory) : false;
829
- return /* @__PURE__ */ jsxs6(
781
+ return /* @__PURE__ */ jsxs5(
830
782
  "div",
831
783
  {
832
784
  id: block_id,
833
- className: `mt-2 mb-1 text-primary flex w-full text-black-primary ${is_stacked ? "flex-col" : ""}`,
785
+ className: `mt-2 mb-1 text-primary slack_blocks_to_jsx__section flex w-full text-black-primary ${is_stacked ? "flex-col" : ""}`,
834
786
  children: [
835
- /* @__PURE__ */ jsx12("div", { className: "grow", children: /* @__PURE__ */ jsxs6("div", { className: "flex flex-col gap-3", children: [
836
- text && /* @__PURE__ */ jsx12(TextObject, { data: text }),
837
- fields && /* @__PURE__ */ jsx12("div", { className: "grid grid-col-2 w-full", children: fields.map((field, i) => {
838
- return /* @__PURE__ */ jsx12(TextObject, { data: field }, i);
787
+ /* @__PURE__ */ jsx11("div", { className: "grow", children: /* @__PURE__ */ jsxs5("div", { className: "flex flex-col gap-3", children: [
788
+ text && /* @__PURE__ */ jsx11(TextObject, { data: text }),
789
+ fields && /* @__PURE__ */ jsx11("div", { className: "grid grid-col-2 w-full", children: fields.map((field, i) => {
790
+ return /* @__PURE__ */ jsx11(TextObject, { data: field }, i);
839
791
  }) })
840
792
  ] }) }),
841
- element && is_stacked ? element : /* @__PURE__ */ jsx12("div", { className: "ml-2 mb-1 relative shrink-0", children: element })
793
+ element && is_stacked ? element : /* @__PURE__ */ jsx11("div", { className: "ml-2 mb-1 relative shrink-0", children: element })
842
794
  ]
843
795
  }
844
796
  );
@@ -851,37 +803,37 @@ var Video = (props) => {
851
803
  };
852
804
 
853
805
  // src/components/index.tsx
854
- import { jsx as jsx13 } from "react/jsx-runtime";
806
+ import { jsx as jsx12 } from "react/jsx-runtime";
855
807
  var getBlockComponent = (block) => {
856
808
  if (block.type === "divider")
857
- return /* @__PURE__ */ jsx13(Divider, { data: block });
809
+ return /* @__PURE__ */ jsx12(Divider, { data: block });
858
810
  if (block.type === "section")
859
- return /* @__PURE__ */ jsx13(Section, { data: block });
811
+ return /* @__PURE__ */ jsx12(Section, { data: block });
860
812
  if (block.type === "image")
861
- return /* @__PURE__ */ jsx13(Image, { data: block });
813
+ return /* @__PURE__ */ jsx12(Image, { data: block });
862
814
  if (block.type === "context")
863
- return /* @__PURE__ */ jsx13(Context, { data: block });
815
+ return /* @__PURE__ */ jsx12(Context, { data: block });
864
816
  if (block.type === "actions")
865
- return /* @__PURE__ */ jsx13(Actions, { data: block });
817
+ return /* @__PURE__ */ jsx12(Actions, { data: block });
866
818
  if (block.type === "file")
867
- return /* @__PURE__ */ jsx13(File, { data: block });
819
+ return /* @__PURE__ */ jsx12(File, { data: block });
868
820
  if (block.type === "header")
869
- return /* @__PURE__ */ jsx13(Header2, { data: block });
821
+ return /* @__PURE__ */ jsx12(Header2, { data: block });
870
822
  if (block.type === "input")
871
- return /* @__PURE__ */ jsx13(Input, { data: block });
823
+ return /* @__PURE__ */ jsx12(Input, { data: block });
872
824
  if (block.type === "video")
873
- return /* @__PURE__ */ jsx13(Video, { data: block });
825
+ return /* @__PURE__ */ jsx12(Video, { data: block });
874
826
  if (block.type === "rich_text")
875
- return /* @__PURE__ */ jsx13(RichText, { data: block });
827
+ return /* @__PURE__ */ jsx12(RichText, { data: block });
876
828
  return null;
877
829
  };
878
830
  var getElementComponent = (element) => {
879
831
  if (element.type === "button")
880
- return /* @__PURE__ */ jsx13(ButtonElement, { data: element });
832
+ return /* @__PURE__ */ jsx12(ButtonElement, { data: element });
881
833
  if (element.type === "checkboxes")
882
- return /* @__PURE__ */ jsx13(CheckboxesElement, { data: element });
834
+ return /* @__PURE__ */ jsx12(CheckboxesElement, { data: element });
883
835
  if (element.type === "datepicker")
884
- return /* @__PURE__ */ jsx13(DatePickerElement, { data: element });
836
+ return null;
885
837
  if (element.type === "datetimepicker")
886
838
  return null;
887
839
  if (element.type === "email_text_input")
@@ -924,14 +876,14 @@ var getElementComponent = (element) => {
924
876
  };
925
877
 
926
878
  // src/block_wrapper.tsx
927
- import { jsx as jsx14 } from "react/jsx-runtime";
879
+ import { jsx as jsx13 } from "react/jsx-runtime";
928
880
  var BlockWrapper = (props) => {
929
881
  const { children } = props;
930
- return /* @__PURE__ */ jsx14("div", { className: "text-base break-words font-normal", children });
882
+ return /* @__PURE__ */ jsx13("div", { className: "text-base break-words font-normal", children });
931
883
  };
932
884
 
933
885
  // src/message.tsx
934
- import { jsx as jsx15, jsxs as jsxs7 } from "react/jsx-runtime";
886
+ import { jsx as jsx14, jsxs as jsxs6 } from "react/jsx-runtime";
935
887
  var Message = (props) => {
936
888
  const {
937
889
  blocks,
@@ -942,13 +894,14 @@ var Message = (props) => {
942
894
  style,
943
895
  showBlockKitDebug = false
944
896
  } = props;
945
- return /* @__PURE__ */ jsxs7(
897
+ return /* @__PURE__ */ jsxs6(
946
898
  "section",
947
899
  {
948
- className: `flex gap-2 w-full max-w-[600px] slack-message relative ${className}`,
900
+ id: "slack_blocks_to_jsx",
901
+ className: `flex gap-2 w-full max-w-[600px] slack_blocks_to_jsx relative ${className}`,
949
902
  style,
950
903
  children: [
951
- showBlockKitDebug && /* @__PURE__ */ jsx15(
904
+ showBlockKitDebug && /* @__PURE__ */ jsx14(
952
905
  "a",
953
906
  {
954
907
  target: "_blank",
@@ -960,14 +913,14 @@ var Message = (props) => {
960
913
  children: "Open in Slack Block Kit Builder"
961
914
  }
962
915
  ),
963
- /* @__PURE__ */ jsx15("div", { className: "shrink-0", children: /* @__PURE__ */ jsx15("img", { src: logo, className: "w-9 h-9", alt: name }) }),
964
- /* @__PURE__ */ jsxs7("div", { className: "flex flex-col w-full", children: [
965
- /* @__PURE__ */ jsx15(Header, { name, time }),
966
- /* @__PURE__ */ jsx15("div", { children: blocks.map((block, i) => {
916
+ /* @__PURE__ */ jsx14("div", { className: "shrink-0", children: /* @__PURE__ */ jsx14("img", { src: logo, className: "w-9 h-9", alt: name }) }),
917
+ /* @__PURE__ */ jsxs6("div", { className: "flex flex-col w-full", children: [
918
+ /* @__PURE__ */ jsx14(Header, { name, time }),
919
+ /* @__PURE__ */ jsx14("div", { children: blocks.map((block, i) => {
967
920
  const element = getBlockComponent(block);
968
921
  if (!element)
969
922
  return null;
970
- return /* @__PURE__ */ jsx15(BlockWrapper, { children: element }, i);
923
+ return /* @__PURE__ */ jsx14(BlockWrapper, { children: element }, i);
971
924
  }) })
972
925
  ] })
973
926
  ]
package/dist/style.css CHANGED
@@ -1,2 +1,2 @@
1
1
  @import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700&display=swap");
2
- /*! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.-left-3{left:-.75rem}.right-0{right:0}.right-1{right:.25rem}.top-0{top:0}.top-1\/2{top:50%}.top-\[24px\]{top:24px}.z-10{z-index:10}.z-20{z-index:20}.z-\[-1\]{z-index:-1}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.block{display:block}.flex{display:flex}.grid{display:grid}.h-3{height:.75rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-9{height:2.25rem}.h-\[14px\]{height:14px}.h-\[15px\]{height:15px}.h-\[25\.25px\]{height:25.25px}.h-\[28px\]{height:28px}.h-full{height:100%}.max-h-\[240px\]{max-height:240px}.min-h-\[28px\]{min-height:28px}.w-3{width:.75rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-9{width:2.25rem}.w-\[15px\]{width:15px}.w-\[190px\]{width:190px}.w-\[220px\]{width:220px}.w-\[27px\]{width:27px}.w-\[322px\]{width:322px}.w-full{width:100%}.min-w-\[56px\]{min-width:56px}.max-w-\[322px\]{max-width:322px}.max-w-\[600px\]{max-width:600px}.max-w-max{max-width:-moz-max-content;max-width:max-content}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-\[5px\]{gap:5px}.overflow-auto{overflow:auto}.overflow-hidden,.truncate{overflow:hidden}.truncate{text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[6px\]{border-radius:6px}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-solid{border-style:solid}.border-black-primary{--tw-border-opacity:1;border-color:rgb(29 28 29/var(--tw-border-opacity))}.border-black-primary\.3{border-color:#1d1c1d4d}.border-gray-primary{--tw-border-opacity:1;border-color:rgb(221 221 221/var(--tw-border-opacity))}.border-green-primary{--tw-border-opacity:1;border-color:rgb(0 122 90/var(--tw-border-opacity))}.border-green-primary\.3{border-color:#007a5a4d}.border-red-primary{--tw-border-opacity:1;border-color:rgb(224 30 90/var(--tw-border-opacity))}.border-red-primary\.3{border-color:#e01e5a4d}.bg-black-primary\/\[0\.13\]{background-color:#1d1c1d21}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity))}.bg-white-secondary{--tw-bg-opacity:1;background-color:rgb(248 248 248/var(--tw-bg-opacity))}.px-2{padding-left:.5rem;padding-right:.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-\[3px\]{padding-left:3px;padding-right:3px}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-\[1px\]{padding-top:1px}.pb-\[1px\],.py-\[1px\]{padding-bottom:1px}.pr-3{padding-right:.75rem}.pr-7{padding-right:1.75rem}.pt-0{padding-top:0}.text-center{text-align:center}.text-\[10px\]{font-size:10px}.text-\[15px\],.text-base{font-size:15px}.text-base{line-height:1.46668}.text-small{font-size:13px;line-height:1.38461538}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-\[12\.5px\]{line-height:12.5px}.leading-\[17\.6px\]{line-height:17.6px}.text-black-primary{--tw-text-opacity:1;color:rgb(29 28 29/var(--tw-text-opacity))}.text-black-primary\.3{color:#1d1c1d4d}.text-black-primary\/\[0\.7\]{color:#1d1c1db3}.text-black-secondary{--tw-text-opacity:1;color:rgb(97 96 97/var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.text-blue-primary{--tw-text-opacity:1;color:rgb(18 100 163/var(--tw-text-opacity))}.text-green-primary{--tw-text-opacity:1;color:rgb(0 122 90/var(--tw-text-opacity))}.text-red-primary{--tw-text-opacity:1;color:rgb(224 30 90/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.shadow-custom_shadow-1{--tw-shadow-color:#1d1c1d21 0px 0px 0px 1px,#0000001f 0px 5px 10px 0px;--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid #0000;outline-offset:2px}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.slack-message{font-family:Open Sans,sans-serif!important;white-space:pre-wrap!important}.slack_code{margin-top:.25rem;margin-bottom:.25rem;display:block;width:100%;padding:.5rem}.slack_code,.slack_inline_code{white-space:pre-wrap;overflow-wrap:break-word;border-radius:3px;border-width:1px;border-color:#1d1c1d21;background-color:#1d1c1d0a;font-size:.75rem;line-height:1rem;line-height:1.5}.slack_inline_code{display:inline-block;padding:.125rem 3px 1px;--tw-text-opacity:1;color:rgb(224 30 90/var(--tw-text-opacity))}.slack_bold,.slack_bold code{font-weight:600}.slack_blockquote{display:block}.slack_inline_blockquote{display:inline-block}.hover\:bg-blue-primary:hover{--tw-bg-opacity:1;background-color:rgb(18 100 163/var(--tw-bg-opacity))}.hover\:text-white-primary:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.group:focus .group-focus\:outline{outline-style:solid}
2
+ /*! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }#slack_blocks_to_jsx :is(.pointer-events-none){pointer-events:none}#slack_blocks_to_jsx :is(.visible){visibility:visible}#slack_blocks_to_jsx :is(.absolute){position:absolute}#slack_blocks_to_jsx :is(.relative){position:relative}#slack_blocks_to_jsx :is(.-left-3){left:-.75rem}#slack_blocks_to_jsx :is(.right-0){right:0}#slack_blocks_to_jsx :is(.right-1){right:.25rem}#slack_blocks_to_jsx :is(.top-0){top:0}#slack_blocks_to_jsx :is(.top-1\/2){top:50%}#slack_blocks_to_jsx :is(.top-\[24px\]){top:24px}#slack_blocks_to_jsx :is(.z-10){z-index:10}#slack_blocks_to_jsx :is(.z-20){z-index:20}#slack_blocks_to_jsx :is(.my-1){margin-top:.25rem;margin-bottom:.25rem}#slack_blocks_to_jsx :is(.my-2){margin-top:.5rem;margin-bottom:.5rem}#slack_blocks_to_jsx :is(.mb-1){margin-bottom:.25rem}#slack_blocks_to_jsx :is(.mb-2){margin-bottom:.5rem}#slack_blocks_to_jsx :is(.ml-2){margin-left:.5rem}#slack_blocks_to_jsx :is(.mr-2){margin-right:.5rem}#slack_blocks_to_jsx :is(.mt-1){margin-top:.25rem}#slack_blocks_to_jsx :is(.mt-2){margin-top:.5rem}#slack_blocks_to_jsx :is(.block){display:block}#slack_blocks_to_jsx :is(.flex){display:flex}#slack_blocks_to_jsx :is(.grid){display:grid}#slack_blocks_to_jsx :is(.h-3){height:.75rem}#slack_blocks_to_jsx :is(.h-5){height:1.25rem}#slack_blocks_to_jsx :is(.h-7){height:1.75rem}#slack_blocks_to_jsx :is(.h-9){height:2.25rem}#slack_blocks_to_jsx :is(.h-\[14px\]){height:14px}#slack_blocks_to_jsx :is(.h-\[15px\]){height:15px}#slack_blocks_to_jsx :is(.h-\[25\.25px\]){height:25.25px}#slack_blocks_to_jsx :is(.h-\[28px\]){height:28px}#slack_blocks_to_jsx :is(.h-full){height:100%}#slack_blocks_to_jsx :is(.max-h-\[240px\]){max-height:240px}#slack_blocks_to_jsx :is(.min-h-\[28px\]){min-height:28px}#slack_blocks_to_jsx :is(.w-3){width:.75rem}#slack_blocks_to_jsx :is(.w-5){width:1.25rem}#slack_blocks_to_jsx :is(.w-6){width:1.5rem}#slack_blocks_to_jsx :is(.w-9){width:2.25rem}#slack_blocks_to_jsx :is(.w-\[15px\]){width:15px}#slack_blocks_to_jsx :is(.w-\[190px\]){width:190px}#slack_blocks_to_jsx :is(.w-\[27px\]){width:27px}#slack_blocks_to_jsx :is(.w-\[322px\]){width:322px}#slack_blocks_to_jsx :is(.w-full){width:100%}#slack_blocks_to_jsx :is(.min-w-\[56px\]){min-width:56px}#slack_blocks_to_jsx :is(.max-w-\[322px\]){max-width:322px}#slack_blocks_to_jsx :is(.max-w-\[600px\]){max-width:600px}#slack_blocks_to_jsx :is(.max-w-max){max-width:-moz-max-content;max-width:max-content}#slack_blocks_to_jsx :is(.shrink-0){flex-shrink:0}#slack_blocks_to_jsx :is(.grow){flex-grow:1}#slack_blocks_to_jsx :is(.-translate-y-1\/2){--tw-translate-y:-50%}#slack_blocks_to_jsx :is(.-translate-y-1\/2),#slack_blocks_to_jsx :is(.transform){transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#slack_blocks_to_jsx :is(.cursor-pointer){cursor:pointer}#slack_blocks_to_jsx :is(.select-none){-webkit-user-select:none;-moz-user-select:none;user-select:none}#slack_blocks_to_jsx :is(.flex-col){flex-direction:column}#slack_blocks_to_jsx :is(.flex-wrap){flex-wrap:wrap}#slack_blocks_to_jsx :is(.items-center){align-items:center}#slack_blocks_to_jsx :is(.items-baseline){align-items:baseline}#slack_blocks_to_jsx :is(.justify-center){justify-content:center}#slack_blocks_to_jsx :is(.justify-between){justify-content:space-between}#slack_blocks_to_jsx :is(.gap-1){gap:.25rem}#slack_blocks_to_jsx :is(.gap-2){gap:.5rem}#slack_blocks_to_jsx :is(.gap-3){gap:.75rem}#slack_blocks_to_jsx :is(.gap-\[5px\]){gap:5px}#slack_blocks_to_jsx :is(.overflow-auto){overflow:auto}#slack_blocks_to_jsx :is(.overflow-hidden){overflow:hidden}#slack_blocks_to_jsx :is(.truncate){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#slack_blocks_to_jsx :is(.whitespace-nowrap){white-space:nowrap}#slack_blocks_to_jsx :is(.break-words){overflow-wrap:break-word}#slack_blocks_to_jsx :is(.rounded){border-radius:.25rem}#slack_blocks_to_jsx :is(.rounded-\[2px\]){border-radius:2px}#slack_blocks_to_jsx :is(.rounded-\[6px\]){border-radius:6px}#slack_blocks_to_jsx :is(.rounded-md){border-radius:.375rem}#slack_blocks_to_jsx :is(.border){border-width:1px}#slack_blocks_to_jsx :is(.border-b){border-bottom-width:1px}#slack_blocks_to_jsx :is(.border-solid){border-style:solid}#slack_blocks_to_jsx :is(.border-black-primary){--tw-border-opacity:1;border-color:rgb(29 28 29/var(--tw-border-opacity))}#slack_blocks_to_jsx :is(.border-black-primary\.3){border-color:#1d1c1d4d}#slack_blocks_to_jsx :is(.border-gray-primary){--tw-border-opacity:1;border-color:rgb(221 221 221/var(--tw-border-opacity))}#slack_blocks_to_jsx :is(.border-green-primary){--tw-border-opacity:1;border-color:rgb(0 122 90/var(--tw-border-opacity))}#slack_blocks_to_jsx :is(.border-green-primary\.3){border-color:#007a5a4d}#slack_blocks_to_jsx :is(.border-red-primary){--tw-border-opacity:1;border-color:rgb(224 30 90/var(--tw-border-opacity))}#slack_blocks_to_jsx :is(.border-red-primary\.3){border-color:#e01e5a4d}#slack_blocks_to_jsx :is(.bg-black-primary\/\[0\.13\]){background-color:#1d1c1d21}#slack_blocks_to_jsx :is(.bg-white-secondary){--tw-bg-opacity:1;background-color:rgb(248 248 248/var(--tw-bg-opacity))}#slack_blocks_to_jsx :is(.px-2){padding-left:.5rem;padding-right:.5rem}#slack_blocks_to_jsx :is(.px-6){padding-left:1.5rem;padding-right:1.5rem}#slack_blocks_to_jsx :is(.px-\[3px\]){padding-left:3px;padding-right:3px}#slack_blocks_to_jsx :is(.py-1){padding-top:.25rem;padding-bottom:.25rem}#slack_blocks_to_jsx :is(.py-3){padding-top:.75rem;padding-bottom:.75rem}#slack_blocks_to_jsx :is(.py-\[1px\]){padding-top:1px;padding-bottom:1px}#slack_blocks_to_jsx :is(.pb-\[1px\]){padding-bottom:1px}#slack_blocks_to_jsx :is(.pr-3){padding-right:.75rem}#slack_blocks_to_jsx :is(.pr-7){padding-right:1.75rem}#slack_blocks_to_jsx :is(.pt-0){padding-top:0}#slack_blocks_to_jsx :is(.text-center){text-align:center}#slack_blocks_to_jsx :is(.text-\[10px\]){font-size:10px}#slack_blocks_to_jsx :is(.text-\[15px\]){font-size:15px}#slack_blocks_to_jsx :is(.text-base){font-size:15px;line-height:1.46668}#slack_blocks_to_jsx :is(.text-small){font-size:13px;line-height:1.38461538}#slack_blocks_to_jsx :is(.text-xs){font-size:.75rem;line-height:1rem}#slack_blocks_to_jsx :is(.font-black){font-weight:900}#slack_blocks_to_jsx :is(.font-normal){font-weight:400}#slack_blocks_to_jsx :is(.font-semibold){font-weight:600}#slack_blocks_to_jsx :is(.uppercase){text-transform:uppercase}#slack_blocks_to_jsx :is(.leading-\[12\.5px\]){line-height:12.5px}#slack_blocks_to_jsx :is(.leading-\[17\.6px\]){line-height:17.6px}#slack_blocks_to_jsx :is(.text-black-primary){--tw-text-opacity:1;color:rgb(29 28 29/var(--tw-text-opacity))}#slack_blocks_to_jsx :is(.text-black-primary\.3){color:#1d1c1d4d}#slack_blocks_to_jsx :is(.text-black-primary\/\[0\.7\]){color:#1d1c1db3}#slack_blocks_to_jsx :is(.text-black-secondary){--tw-text-opacity:1;color:rgb(97 96 97/var(--tw-text-opacity))}#slack_blocks_to_jsx :is(.text-blue-500){--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}#slack_blocks_to_jsx :is(.text-blue-primary){--tw-text-opacity:1;color:rgb(18 100 163/var(--tw-text-opacity))}#slack_blocks_to_jsx :is(.text-green-primary){--tw-text-opacity:1;color:rgb(0 122 90/var(--tw-text-opacity))}#slack_blocks_to_jsx :is(.text-red-primary){--tw-text-opacity:1;color:rgb(224 30 90/var(--tw-text-opacity))}#slack_blocks_to_jsx :is(.underline){text-decoration-line:underline}#slack_blocks_to_jsx :is(.shadow-custom_shadow-1){--tw-shadow-color:#1d1c1d21 0px 0px 0px 1px,#0000001f 0px 5px 10px 0px;--tw-shadow:var(--tw-shadow-colored)}#slack_blocks_to_jsx :is(.outline){outline-style:solid}#slack_blocks_to_jsx :is(.filter){filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.slack-message{font-family:Open Sans,sans-serif!important;white-space:pre-wrap!important}.slack_code{margin-top:.25rem;margin-bottom:.25rem;display:block;width:100%;padding:.5rem}.slack_code,.slack_inline_code{white-space:pre-wrap;overflow-wrap:break-word;border-radius:3px;border-width:1px;border-color:#1d1c1d21;background-color:#1d1c1d0a;font-size:.75rem;line-height:1rem;line-height:1.5}.slack_inline_code{display:inline-block;padding:.125rem 3px 1px;--tw-text-opacity:1;color:rgb(224 30 90/var(--tw-text-opacity))}.slack_bold,.slack_bold code{font-weight:600}.slack_blockquote{display:block}.slack_inline_blockquote{display:inline-block}#slack_blocks_to_jsx :is(.hover\:bg-blue-primary:hover){--tw-bg-opacity:1;background-color:rgb(18 100 163/var(--tw-bg-opacity))}#slack_blocks_to_jsx :is(.hover\:text-white-primary:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}#slack_blocks_to_jsx :is(.focus\:outline-none:focus){outline:2px solid #0000;outline-offset:2px}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  ],
12
12
  "repository": "https://github.com/themashcodee/slack-blocks-to-jsx.git",
13
13
  "license": "MIT",
14
- "version": "0.0.8",
14
+ "version": "0.1.0",
15
15
  "main": "dist/index.js",
16
16
  "module": "dist/index.mjs",
17
17
  "types": "dist/index.d.ts",
@@ -32,6 +32,7 @@
32
32
  "@changesets/cli": "^2.26.2",
33
33
  "@types/react": "17.0.0",
34
34
  "@types/react-dom": "17.0.0",
35
+ "tailwindcss": "^3.4.1",
35
36
  "tsup": "^7.2.0",
36
37
  "typescript": "^5.2.2"
37
38
  },