shru-design-system 0.5.3 → 0.5.4

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.d.mts CHANGED
@@ -683,13 +683,14 @@ declare function SearchInput({ placeholder, value: valueProp, onChange, onSearch
683
683
  interface ConfirmModalProps {
684
684
  open?: boolean;
685
685
  onOpenChange?: (open: boolean) => void;
686
- triggerLabel?: string;
686
+ triggerLabel?: string | React$1.ReactNode;
687
687
  triggerProps?: React$1.ComponentProps<typeof Button>;
688
688
  stopPropagation?: boolean;
689
689
  icon?: React$1.ReactNode;
690
690
  text?: string;
691
691
  title: string;
692
692
  description?: string;
693
+ message?: string;
693
694
  onConfirm: () => void | Promise<void>;
694
695
  confirmLabel?: string;
695
696
  cancelLabel?: string;
@@ -698,7 +699,7 @@ interface ConfirmModalProps {
698
699
  error?: string;
699
700
  showModal?: boolean;
700
701
  }
701
- declare function ConfirmModal({ open: openProp, onOpenChange, triggerLabel, triggerProps, stopPropagation, icon, text, title, description, onConfirm, confirmLabel, cancelLabel, variant, loading, error, showModal, ...props }: ConfirmModalProps): react_jsx_runtime.JSX.Element;
702
+ declare function ConfirmModal({ open: openProp, onOpenChange, triggerLabel, triggerProps, stopPropagation, icon, text, title, description, message, onConfirm, confirmLabel, cancelLabel, variant, loading, error, showModal, ...props }: ConfirmModalProps): react_jsx_runtime.JSX.Element;
702
703
 
703
704
  interface CopyButtonProps extends React$1.ComponentProps<typeof Button> {
704
705
  text?: string;
@@ -751,11 +752,12 @@ interface FormFieldConfig {
751
752
  interface FormModalProps {
752
753
  open?: boolean;
753
754
  onOpenChange?: (open: boolean) => void;
754
- triggerLabel?: string;
755
+ triggerLabel?: string | React$1.ReactNode;
755
756
  triggerProps?: React$1.ComponentProps<typeof Button>;
756
757
  icon?: React$1.ReactNode;
757
758
  title: string;
758
759
  description?: string;
760
+ message?: string;
759
761
  variant?: "create" | "edit";
760
762
  itemType?: string;
761
763
  onSubmit: (data: Record<string, any>) => void | Promise<void>;
@@ -770,10 +772,10 @@ interface FormModalProps {
770
772
  beforeFields?: React$1.ReactNode;
771
773
  afterFields?: React$1.ReactNode;
772
774
  }
773
- declare function FormModal({ open: openProp, onOpenChange, triggerLabel, triggerProps, icon, title, description, variant, itemType, onSubmit, submitLabel, submittingLabel, cancelLabel, loading: loadingProp, isSubmitDisabled, onCreated, fields, children, beforeFields, afterFields, ...props }: FormModalProps): react_jsx_runtime.JSX.Element;
775
+ declare function FormModal({ open: openProp, onOpenChange, triggerLabel, triggerProps, icon, title, description, message, variant, itemType, onSubmit, submitLabel, submittingLabel, cancelLabel, loading: loadingProp, isSubmitDisabled, onCreated, fields, children, beforeFields, afterFields, ...props }: FormModalProps): react_jsx_runtime.JSX.Element;
774
776
 
775
777
  interface TriggerModalProps extends Omit<React$1.ComponentProps<typeof Modal>, "children"> {
776
- triggerLabel?: string;
778
+ triggerLabel?: string | React$1.ReactNode;
777
779
  trigger?: React$1.ReactNode;
778
780
  triggerProps?: React$1.ComponentProps<typeof Button>;
779
781
  stopPropagation?: boolean;
@@ -784,8 +786,9 @@ interface TriggerModalProps extends Omit<React$1.ComponentProps<typeof Modal>, "
784
786
  footer?: React$1.ReactNode;
785
787
  showCloseButton?: boolean;
786
788
  className?: string;
789
+ message?: string;
787
790
  }
788
- declare function TriggerModal({ open, onOpenChange, triggerLabel, trigger, triggerProps, stopPropagation, icon, title, description, children, footer, showCloseButton, className, ...props }: TriggerModalProps): react_jsx_runtime.JSX.Element;
791
+ declare function TriggerModal({ open, onOpenChange, triggerLabel, trigger, triggerProps, stopPropagation, icon, title, description, children, footer, showCloseButton, className, message, ...props }: TriggerModalProps): react_jsx_runtime.JSX.Element;
789
792
 
790
793
  interface HistoryControlButtonsProps {
791
794
  canUndo?: boolean;
package/dist/index.d.ts CHANGED
@@ -683,13 +683,14 @@ declare function SearchInput({ placeholder, value: valueProp, onChange, onSearch
683
683
  interface ConfirmModalProps {
684
684
  open?: boolean;
685
685
  onOpenChange?: (open: boolean) => void;
686
- triggerLabel?: string;
686
+ triggerLabel?: string | React$1.ReactNode;
687
687
  triggerProps?: React$1.ComponentProps<typeof Button>;
688
688
  stopPropagation?: boolean;
689
689
  icon?: React$1.ReactNode;
690
690
  text?: string;
691
691
  title: string;
692
692
  description?: string;
693
+ message?: string;
693
694
  onConfirm: () => void | Promise<void>;
694
695
  confirmLabel?: string;
695
696
  cancelLabel?: string;
@@ -698,7 +699,7 @@ interface ConfirmModalProps {
698
699
  error?: string;
699
700
  showModal?: boolean;
700
701
  }
701
- declare function ConfirmModal({ open: openProp, onOpenChange, triggerLabel, triggerProps, stopPropagation, icon, text, title, description, onConfirm, confirmLabel, cancelLabel, variant, loading, error, showModal, ...props }: ConfirmModalProps): react_jsx_runtime.JSX.Element;
702
+ declare function ConfirmModal({ open: openProp, onOpenChange, triggerLabel, triggerProps, stopPropagation, icon, text, title, description, message, onConfirm, confirmLabel, cancelLabel, variant, loading, error, showModal, ...props }: ConfirmModalProps): react_jsx_runtime.JSX.Element;
702
703
 
703
704
  interface CopyButtonProps extends React$1.ComponentProps<typeof Button> {
704
705
  text?: string;
@@ -751,11 +752,12 @@ interface FormFieldConfig {
751
752
  interface FormModalProps {
752
753
  open?: boolean;
753
754
  onOpenChange?: (open: boolean) => void;
754
- triggerLabel?: string;
755
+ triggerLabel?: string | React$1.ReactNode;
755
756
  triggerProps?: React$1.ComponentProps<typeof Button>;
756
757
  icon?: React$1.ReactNode;
757
758
  title: string;
758
759
  description?: string;
760
+ message?: string;
759
761
  variant?: "create" | "edit";
760
762
  itemType?: string;
761
763
  onSubmit: (data: Record<string, any>) => void | Promise<void>;
@@ -770,10 +772,10 @@ interface FormModalProps {
770
772
  beforeFields?: React$1.ReactNode;
771
773
  afterFields?: React$1.ReactNode;
772
774
  }
773
- declare function FormModal({ open: openProp, onOpenChange, triggerLabel, triggerProps, icon, title, description, variant, itemType, onSubmit, submitLabel, submittingLabel, cancelLabel, loading: loadingProp, isSubmitDisabled, onCreated, fields, children, beforeFields, afterFields, ...props }: FormModalProps): react_jsx_runtime.JSX.Element;
775
+ declare function FormModal({ open: openProp, onOpenChange, triggerLabel, triggerProps, icon, title, description, message, variant, itemType, onSubmit, submitLabel, submittingLabel, cancelLabel, loading: loadingProp, isSubmitDisabled, onCreated, fields, children, beforeFields, afterFields, ...props }: FormModalProps): react_jsx_runtime.JSX.Element;
774
776
 
775
777
  interface TriggerModalProps extends Omit<React$1.ComponentProps<typeof Modal>, "children"> {
776
- triggerLabel?: string;
778
+ triggerLabel?: string | React$1.ReactNode;
777
779
  trigger?: React$1.ReactNode;
778
780
  triggerProps?: React$1.ComponentProps<typeof Button>;
779
781
  stopPropagation?: boolean;
@@ -784,8 +786,9 @@ interface TriggerModalProps extends Omit<React$1.ComponentProps<typeof Modal>, "
784
786
  footer?: React$1.ReactNode;
785
787
  showCloseButton?: boolean;
786
788
  className?: string;
789
+ message?: string;
787
790
  }
788
- declare function TriggerModal({ open, onOpenChange, triggerLabel, trigger, triggerProps, stopPropagation, icon, title, description, children, footer, showCloseButton, className, ...props }: TriggerModalProps): react_jsx_runtime.JSX.Element;
791
+ declare function TriggerModal({ open, onOpenChange, triggerLabel, trigger, triggerProps, stopPropagation, icon, title, description, children, footer, showCloseButton, className, message, ...props }: TriggerModalProps): react_jsx_runtime.JSX.Element;
789
792
 
790
793
  interface HistoryControlButtonsProps {
791
794
  canUndo?: boolean;
package/dist/index.js CHANGED
@@ -1097,10 +1097,10 @@ function CardAction({ className, ...props }) {
1097
1097
  }
1098
1098
  function CardContent({ className, size, ...props }) {
1099
1099
  const sizePadding = {
1100
- xs: "py-2.5 px-3",
1101
- sm: "py-3 px-4",
1102
- md: "py-4 px-6",
1103
- lg: "py-5 px-8"
1100
+ xs: "py-1.5 px-2",
1101
+ sm: "py-2 px-3",
1102
+ md: "py-3 px-4",
1103
+ lg: "py-4 px-6"
1104
1104
  };
1105
1105
  const effectiveSize = size || "md";
1106
1106
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -1127,10 +1127,10 @@ function CardFooter({
1127
1127
  ...props
1128
1128
  }) {
1129
1129
  const sizePadding = {
1130
- xs: "gap-0.5",
1131
- sm: "gap-1",
1132
- md: "gap-2",
1133
- lg: "gap-3"
1130
+ xs: "gap-0.5 py-1.5 px-2",
1131
+ sm: "gap-1 py-2 px-3",
1132
+ md: "gap-2 py-3 px-4",
1133
+ lg: "gap-3 py-4 px-6"
1134
1134
  };
1135
1135
  const effectiveSize = size || "md";
1136
1136
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -4396,7 +4396,7 @@ function InlineEdit({
4396
4396
  setIsEditing(false);
4397
4397
  };
4398
4398
  if (isEditing) {
4399
- return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "inline-edit", className: cn("inline-flex items-center", className), children: /* @__PURE__ */ jsxRuntime.jsx(
4399
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "inline-edit", className: cn("inline-flex items-center m-1", className), children: /* @__PURE__ */ jsxRuntime.jsx(
4400
4400
  TextInput,
4401
4401
  {
4402
4402
  value,
@@ -4416,7 +4416,7 @@ function InlineEdit({
4416
4416
  {
4417
4417
  "data-slot": "inline-edit-display",
4418
4418
  className: cn(
4419
- "inline-flex items-center h-9 cursor-pointer hover:underline px-3 py-2",
4419
+ "inline-flex items-center h-9 cursor-pointer hover:underline py-2 m-1",
4420
4420
  "border border-transparent rounded-md",
4421
4421
  className
4422
4422
  ),
@@ -4772,14 +4772,15 @@ function TriggerModal({
4772
4772
  footer,
4773
4773
  showCloseButton = true,
4774
4774
  className,
4775
+ message,
4775
4776
  ...props
4776
4777
  }) {
4777
4778
  return /* @__PURE__ */ jsxRuntime.jsxs(Modal, { open, onOpenChange, ...props, children: [
4778
- (triggerLabel || trigger) && /* @__PURE__ */ jsxRuntime.jsx(ModalTrigger, { asChild: true, children: trigger || /* @__PURE__ */ jsxRuntime.jsxs(Button, { ...triggerProps, stopPropagation, children: [
4779
+ (triggerLabel || trigger || icon) && /* @__PURE__ */ jsxRuntime.jsx(ModalTrigger, { asChild: true, children: trigger || /* @__PURE__ */ jsxRuntime.jsxs(Button, { ...triggerProps, stopPropagation, children: [
4779
4780
  icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "mr-2", children: icon }),
4780
- triggerLabel
4781
+ triggerLabel && /* @__PURE__ */ jsxRuntime.jsx("span", { children: triggerLabel })
4781
4782
  ] }) }),
4782
- /* @__PURE__ */ jsxRuntime.jsx(
4783
+ /* @__PURE__ */ jsxRuntime.jsxs(
4783
4784
  ModalContent,
4784
4785
  {
4785
4786
  "data-slot": "trigger-modal",
@@ -4791,7 +4792,10 @@ function TriggerModal({
4791
4792
  description && /* @__PURE__ */ jsxRuntime.jsx(ModalDescription, { children: description })
4792
4793
  ] }),
4793
4794
  footer: footer ? /* @__PURE__ */ jsxRuntime.jsx(ModalFooter, { children: footer }) : void 0,
4794
- children
4795
+ children: [
4796
+ message && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground mb-4", children: message }),
4797
+ children
4798
+ ]
4795
4799
  }
4796
4800
  )
4797
4801
  ] });
@@ -4806,6 +4810,7 @@ function ConfirmModal({
4806
4810
  text,
4807
4811
  title,
4808
4812
  description,
4813
+ message,
4809
4814
  onConfirm,
4810
4815
  confirmLabel,
4811
4816
  cancelLabel = "Cancel",
@@ -4889,7 +4894,8 @@ function ConfirmModal({
4889
4894
  icon,
4890
4895
  stopPropagation,
4891
4896
  title,
4892
- description: description || text,
4897
+ description,
4898
+ message: message || text,
4893
4899
  footer,
4894
4900
  showCloseButton: false,
4895
4901
  className: "data-slot-confirm-modal",
@@ -4938,6 +4944,7 @@ function FormModal({
4938
4944
  icon,
4939
4945
  title,
4940
4946
  description,
4947
+ message,
4941
4948
  variant,
4942
4949
  itemType,
4943
4950
  onSubmit,
@@ -5269,6 +5276,7 @@ function FormModal({
5269
5276
  stopPropagation: true,
5270
5277
  title,
5271
5278
  description,
5279
+ message,
5272
5280
  showCloseButton: false,
5273
5281
  footer,
5274
5282
  className: "data-slot-form-modal",
@@ -5888,15 +5896,15 @@ function CollapsiblePanel({
5888
5896
  const getTriggerPosition = () => {
5889
5897
  if (direction === "horizontal") {
5890
5898
  if (position === "left") {
5891
- return isOpen ? "absolute -left-3 top-1/2 -translate-y-1/2" : "absolute -left-6 top-1/2 -translate-y-1/2";
5899
+ return isOpen ? "absolute -right-3 top-1/2 -translate-y-1/2" : "absolute -right-6 top-1/2 -translate-y-1/2";
5892
5900
  } else {
5893
- return isOpen ? "absolute -right-3 top-1/2 -translate-y-1/2" : "absolute -left-6 top-1/2 -translate-y-1/2";
5901
+ return isOpen ? "absolute -left-3 top-1/2 -translate-y-1/2" : "absolute -left-6 top-1/2 -translate-y-1/2";
5894
5902
  }
5895
5903
  } else {
5896
5904
  if (position === "top") {
5897
- return isOpen ? "absolute -top-3 left-1/2 -translate-x-1/2" : "absolute -top-6 left-1/2 -translate-x-1/2";
5905
+ return isOpen ? "absolute -bottom-3 left-1/2 -translate-x-1/2" : "absolute -bottom-6 left-1/2 -translate-x-1/2";
5898
5906
  } else {
5899
- return isOpen ? "absolute -bottom-3 left-1/2 -translate-x-1/2" : "absolute -top-6 left-1/2 -translate-x-1/2";
5907
+ return isOpen ? "absolute -top-3 left-1/2 -translate-x-1/2" : "absolute -top-6 left-1/2 -translate-x-1/2";
5900
5908
  }
5901
5909
  }
5902
5910
  };
package/dist/index.mjs CHANGED
@@ -1046,10 +1046,10 @@ function CardAction({ className, ...props }) {
1046
1046
  }
1047
1047
  function CardContent({ className, size, ...props }) {
1048
1048
  const sizePadding = {
1049
- xs: "py-2.5 px-3",
1050
- sm: "py-3 px-4",
1051
- md: "py-4 px-6",
1052
- lg: "py-5 px-8"
1049
+ xs: "py-1.5 px-2",
1050
+ sm: "py-2 px-3",
1051
+ md: "py-3 px-4",
1052
+ lg: "py-4 px-6"
1053
1053
  };
1054
1054
  const effectiveSize = size || "md";
1055
1055
  return /* @__PURE__ */ jsx(
@@ -1076,10 +1076,10 @@ function CardFooter({
1076
1076
  ...props
1077
1077
  }) {
1078
1078
  const sizePadding = {
1079
- xs: "gap-0.5",
1080
- sm: "gap-1",
1081
- md: "gap-2",
1082
- lg: "gap-3"
1079
+ xs: "gap-0.5 py-1.5 px-2",
1080
+ sm: "gap-1 py-2 px-3",
1081
+ md: "gap-2 py-3 px-4",
1082
+ lg: "gap-3 py-4 px-6"
1083
1083
  };
1084
1084
  const effectiveSize = size || "md";
1085
1085
  return /* @__PURE__ */ jsx(
@@ -4345,7 +4345,7 @@ function InlineEdit({
4345
4345
  setIsEditing(false);
4346
4346
  };
4347
4347
  if (isEditing) {
4348
- return /* @__PURE__ */ jsx("div", { "data-slot": "inline-edit", className: cn("inline-flex items-center", className), children: /* @__PURE__ */ jsx(
4348
+ return /* @__PURE__ */ jsx("div", { "data-slot": "inline-edit", className: cn("inline-flex items-center m-1", className), children: /* @__PURE__ */ jsx(
4349
4349
  TextInput,
4350
4350
  {
4351
4351
  value,
@@ -4365,7 +4365,7 @@ function InlineEdit({
4365
4365
  {
4366
4366
  "data-slot": "inline-edit-display",
4367
4367
  className: cn(
4368
- "inline-flex items-center h-9 cursor-pointer hover:underline px-3 py-2",
4368
+ "inline-flex items-center h-9 cursor-pointer hover:underline py-2 m-1",
4369
4369
  "border border-transparent rounded-md",
4370
4370
  className
4371
4371
  ),
@@ -4721,14 +4721,15 @@ function TriggerModal({
4721
4721
  footer,
4722
4722
  showCloseButton = true,
4723
4723
  className,
4724
+ message,
4724
4725
  ...props
4725
4726
  }) {
4726
4727
  return /* @__PURE__ */ jsxs(Modal, { open, onOpenChange, ...props, children: [
4727
- (triggerLabel || trigger) && /* @__PURE__ */ jsx(ModalTrigger, { asChild: true, children: trigger || /* @__PURE__ */ jsxs(Button, { ...triggerProps, stopPropagation, children: [
4728
+ (triggerLabel || trigger || icon) && /* @__PURE__ */ jsx(ModalTrigger, { asChild: true, children: trigger || /* @__PURE__ */ jsxs(Button, { ...triggerProps, stopPropagation, children: [
4728
4729
  icon && /* @__PURE__ */ jsx("span", { className: "mr-2", children: icon }),
4729
- triggerLabel
4730
+ triggerLabel && /* @__PURE__ */ jsx("span", { children: triggerLabel })
4730
4731
  ] }) }),
4731
- /* @__PURE__ */ jsx(
4732
+ /* @__PURE__ */ jsxs(
4732
4733
  ModalContent,
4733
4734
  {
4734
4735
  "data-slot": "trigger-modal",
@@ -4740,7 +4741,10 @@ function TriggerModal({
4740
4741
  description && /* @__PURE__ */ jsx(ModalDescription, { children: description })
4741
4742
  ] }),
4742
4743
  footer: footer ? /* @__PURE__ */ jsx(ModalFooter, { children: footer }) : void 0,
4743
- children
4744
+ children: [
4745
+ message && /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground mb-4", children: message }),
4746
+ children
4747
+ ]
4744
4748
  }
4745
4749
  )
4746
4750
  ] });
@@ -4755,6 +4759,7 @@ function ConfirmModal({
4755
4759
  text,
4756
4760
  title,
4757
4761
  description,
4762
+ message,
4758
4763
  onConfirm,
4759
4764
  confirmLabel,
4760
4765
  cancelLabel = "Cancel",
@@ -4838,7 +4843,8 @@ function ConfirmModal({
4838
4843
  icon,
4839
4844
  stopPropagation,
4840
4845
  title,
4841
- description: description || text,
4846
+ description,
4847
+ message: message || text,
4842
4848
  footer,
4843
4849
  showCloseButton: false,
4844
4850
  className: "data-slot-confirm-modal",
@@ -4887,6 +4893,7 @@ function FormModal({
4887
4893
  icon,
4888
4894
  title,
4889
4895
  description,
4896
+ message,
4890
4897
  variant,
4891
4898
  itemType,
4892
4899
  onSubmit,
@@ -5218,6 +5225,7 @@ function FormModal({
5218
5225
  stopPropagation: true,
5219
5226
  title,
5220
5227
  description,
5228
+ message,
5221
5229
  showCloseButton: false,
5222
5230
  footer,
5223
5231
  className: "data-slot-form-modal",
@@ -5837,15 +5845,15 @@ function CollapsiblePanel({
5837
5845
  const getTriggerPosition = () => {
5838
5846
  if (direction === "horizontal") {
5839
5847
  if (position === "left") {
5840
- return isOpen ? "absolute -left-3 top-1/2 -translate-y-1/2" : "absolute -left-6 top-1/2 -translate-y-1/2";
5848
+ return isOpen ? "absolute -right-3 top-1/2 -translate-y-1/2" : "absolute -right-6 top-1/2 -translate-y-1/2";
5841
5849
  } else {
5842
- return isOpen ? "absolute -right-3 top-1/2 -translate-y-1/2" : "absolute -left-6 top-1/2 -translate-y-1/2";
5850
+ return isOpen ? "absolute -left-3 top-1/2 -translate-y-1/2" : "absolute -left-6 top-1/2 -translate-y-1/2";
5843
5851
  }
5844
5852
  } else {
5845
5853
  if (position === "top") {
5846
- return isOpen ? "absolute -top-3 left-1/2 -translate-x-1/2" : "absolute -top-6 left-1/2 -translate-x-1/2";
5854
+ return isOpen ? "absolute -bottom-3 left-1/2 -translate-x-1/2" : "absolute -bottom-6 left-1/2 -translate-x-1/2";
5847
5855
  } else {
5848
- return isOpen ? "absolute -bottom-3 left-1/2 -translate-x-1/2" : "absolute -top-6 left-1/2 -translate-x-1/2";
5856
+ return isOpen ? "absolute -top-3 left-1/2 -translate-x-1/2" : "absolute -top-6 left-1/2 -translate-x-1/2";
5849
5857
  }
5850
5858
  }
5851
5859
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shru-design-system",
3
- "version": "0.5.3",
3
+ "version": "0.5.4",
4
4
  "description": "A React component library with atoms and molecules built on Radix UI and Tailwind CSS",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",