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 +74 -121
- package/dist/index.mjs +74 -121
- package/dist/style.css +1 -1
- package/package.json +2 -1
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
|
|
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,
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
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
|
-
|
|
752
|
-
}) }) });
|
|
698
|
+
);
|
|
753
699
|
};
|
|
754
700
|
|
|
755
701
|
// src/components/blocks/context.tsx
|
|
756
|
-
var
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
796
|
-
var
|
|
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,
|
|
800
|
-
return /* @__PURE__ */ (0,
|
|
801
|
-
/* @__PURE__ */ (0,
|
|
802
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
872
|
-
text && /* @__PURE__ */ (0,
|
|
873
|
-
fields && /* @__PURE__ */ (0,
|
|
874
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
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
|
|
842
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
891
843
|
var getBlockComponent = (block) => {
|
|
892
844
|
if (block.type === "divider")
|
|
893
|
-
return /* @__PURE__ */ (0,
|
|
845
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Divider, { data: block });
|
|
894
846
|
if (block.type === "section")
|
|
895
|
-
return /* @__PURE__ */ (0,
|
|
847
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Section, { data: block });
|
|
896
848
|
if (block.type === "image")
|
|
897
|
-
return /* @__PURE__ */ (0,
|
|
849
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Image, { data: block });
|
|
898
850
|
if (block.type === "context")
|
|
899
|
-
return /* @__PURE__ */ (0,
|
|
851
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Context, { data: block });
|
|
900
852
|
if (block.type === "actions")
|
|
901
|
-
return /* @__PURE__ */ (0,
|
|
853
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Actions, { data: block });
|
|
902
854
|
if (block.type === "file")
|
|
903
|
-
return /* @__PURE__ */ (0,
|
|
855
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(File, { data: block });
|
|
904
856
|
if (block.type === "header")
|
|
905
|
-
return /* @__PURE__ */ (0,
|
|
857
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Header2, { data: block });
|
|
906
858
|
if (block.type === "input")
|
|
907
|
-
return /* @__PURE__ */ (0,
|
|
859
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Input, { data: block });
|
|
908
860
|
if (block.type === "video")
|
|
909
|
-
return /* @__PURE__ */ (0,
|
|
861
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Video, { data: block });
|
|
910
862
|
if (block.type === "rich_text")
|
|
911
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
868
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ButtonElement, { data: element });
|
|
917
869
|
if (element.type === "checkboxes")
|
|
918
|
-
return /* @__PURE__ */ (0,
|
|
870
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(CheckboxesElement, { data: element });
|
|
919
871
|
if (element.type === "datepicker")
|
|
920
|
-
return
|
|
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
|
|
915
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
964
916
|
var BlockWrapper = (props) => {
|
|
965
917
|
const { children } = props;
|
|
966
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
933
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
|
|
982
934
|
"section",
|
|
983
935
|
{
|
|
984
|
-
|
|
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,
|
|
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,
|
|
1000
|
-
/* @__PURE__ */ (0,
|
|
1001
|
-
/* @__PURE__ */ (0,
|
|
1002
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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
|
|
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__ */
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
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
|
-
|
|
716
|
-
}) }) });
|
|
662
|
+
);
|
|
717
663
|
};
|
|
718
664
|
|
|
719
665
|
// src/components/blocks/context.tsx
|
|
720
|
-
import { jsx as
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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
|
|
760
|
-
import { jsx as
|
|
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] =
|
|
764
|
-
return /* @__PURE__ */
|
|
765
|
-
/* @__PURE__ */
|
|
766
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
836
|
-
text && /* @__PURE__ */
|
|
837
|
-
fields && /* @__PURE__ */
|
|
838
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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
|
|
806
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
855
807
|
var getBlockComponent = (block) => {
|
|
856
808
|
if (block.type === "divider")
|
|
857
|
-
return /* @__PURE__ */
|
|
809
|
+
return /* @__PURE__ */ jsx12(Divider, { data: block });
|
|
858
810
|
if (block.type === "section")
|
|
859
|
-
return /* @__PURE__ */
|
|
811
|
+
return /* @__PURE__ */ jsx12(Section, { data: block });
|
|
860
812
|
if (block.type === "image")
|
|
861
|
-
return /* @__PURE__ */
|
|
813
|
+
return /* @__PURE__ */ jsx12(Image, { data: block });
|
|
862
814
|
if (block.type === "context")
|
|
863
|
-
return /* @__PURE__ */
|
|
815
|
+
return /* @__PURE__ */ jsx12(Context, { data: block });
|
|
864
816
|
if (block.type === "actions")
|
|
865
|
-
return /* @__PURE__ */
|
|
817
|
+
return /* @__PURE__ */ jsx12(Actions, { data: block });
|
|
866
818
|
if (block.type === "file")
|
|
867
|
-
return /* @__PURE__ */
|
|
819
|
+
return /* @__PURE__ */ jsx12(File, { data: block });
|
|
868
820
|
if (block.type === "header")
|
|
869
|
-
return /* @__PURE__ */
|
|
821
|
+
return /* @__PURE__ */ jsx12(Header2, { data: block });
|
|
870
822
|
if (block.type === "input")
|
|
871
|
-
return /* @__PURE__ */
|
|
823
|
+
return /* @__PURE__ */ jsx12(Input, { data: block });
|
|
872
824
|
if (block.type === "video")
|
|
873
|
-
return /* @__PURE__ */
|
|
825
|
+
return /* @__PURE__ */ jsx12(Video, { data: block });
|
|
874
826
|
if (block.type === "rich_text")
|
|
875
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
832
|
+
return /* @__PURE__ */ jsx12(ButtonElement, { data: element });
|
|
881
833
|
if (element.type === "checkboxes")
|
|
882
|
-
return /* @__PURE__ */
|
|
834
|
+
return /* @__PURE__ */ jsx12(CheckboxesElement, { data: element });
|
|
883
835
|
if (element.type === "datepicker")
|
|
884
|
-
return
|
|
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
|
|
879
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
928
880
|
var BlockWrapper = (props) => {
|
|
929
881
|
const { children } = props;
|
|
930
|
-
return /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
897
|
+
return /* @__PURE__ */ jsxs6(
|
|
946
898
|
"section",
|
|
947
899
|
{
|
|
948
|
-
|
|
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__ */
|
|
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__ */
|
|
964
|
-
/* @__PURE__ */
|
|
965
|
-
/* @__PURE__ */
|
|
966
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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
|
|
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
|
},
|