@vritti/quantum-ui 0.2.8 → 0.2.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/README.md +7 -7
  2. package/dist/Alert.js +115 -0
  3. package/dist/Alert.js.map +1 -0
  4. package/dist/Avatar.js +6 -6
  5. package/dist/Badge.js +2 -28
  6. package/dist/Badge.js.map +1 -1
  7. package/dist/Badge2.js +30 -0
  8. package/dist/Badge2.js.map +1 -0
  9. package/dist/Button.js +1 -1
  10. package/dist/Button2.js +35 -16
  11. package/dist/Button2.js.map +1 -1
  12. package/dist/Card.js +1 -1
  13. package/dist/Chart.js +2 -2
  14. package/dist/Checkbox.js +2 -289
  15. package/dist/Checkbox.js.map +1 -1
  16. package/dist/Checkbox2.js +292 -0
  17. package/dist/Checkbox2.js.map +1 -0
  18. package/dist/Combination.js +6 -18
  19. package/dist/Combination.js.map +1 -1
  20. package/dist/DatePicker.js +4 -335
  21. package/dist/DatePicker.js.map +1 -1
  22. package/dist/DropdownMenu.js +8 -7
  23. package/dist/DropdownMenu.js.map +1 -1
  24. package/dist/Form.js +52 -27
  25. package/dist/Form.js.map +1 -1
  26. package/dist/Label.js +2 -2
  27. package/dist/OTPField.js +1 -1
  28. package/dist/PasswordField.js +1 -1
  29. package/dist/PhoneField.js +6 -6
  30. package/dist/PhoneField.js.map +1 -1
  31. package/dist/Progress.js +3 -3
  32. package/dist/Skeleton.js +1 -1
  33. package/dist/Sonner.js +7 -39
  34. package/dist/Sonner.js.map +1 -1
  35. package/dist/Spinner.js +1 -1
  36. package/dist/Switch.js +5 -5
  37. package/dist/TextArea.js +1 -1
  38. package/dist/TextField.js +4 -3
  39. package/dist/TextField.js.map +1 -1
  40. package/dist/ThemeContext.js +2 -8
  41. package/dist/ThemeContext.js.map +1 -1
  42. package/dist/Toggle.js +3 -3
  43. package/dist/Typography.js +1 -1
  44. package/dist/assets/quantum-ui.css +31 -31
  45. package/dist/chevron-left.js +15 -0
  46. package/dist/chevron-left.js.map +1 -0
  47. package/dist/chevron-right.js +15 -0
  48. package/dist/chevron-right.js.map +1 -0
  49. package/dist/components/Alert.js +2 -0
  50. package/dist/components/Alert.js.map +1 -0
  51. package/dist/components/Badge.js +2 -1
  52. package/dist/components/Badge.js.map +1 -1
  53. package/dist/components/DataTable.js +2 -0
  54. package/dist/components/DataTable.js.map +1 -0
  55. package/dist/components/Select.js +1379 -0
  56. package/dist/components/Select.js.map +1 -0
  57. package/dist/field.js +2 -2
  58. package/dist/hooks/index.js +1 -0
  59. package/dist/hooks/index.js.map +1 -1
  60. package/dist/index.js +10 -4
  61. package/dist/index.js.map +1 -1
  62. package/dist/index10.js +10 -99
  63. package/dist/index10.js.map +1 -1
  64. package/dist/index11.js +35 -95
  65. package/dist/index11.js.map +1 -1
  66. package/dist/index12.js +86 -190
  67. package/dist/index12.js.map +1 -1
  68. package/dist/index13.js +196 -190
  69. package/dist/index13.js.map +1 -1
  70. package/dist/index14.js +199 -0
  71. package/dist/index14.js.map +1 -0
  72. package/dist/index2.js +65 -58
  73. package/dist/index2.js.map +1 -1
  74. package/dist/index3.js +60 -8
  75. package/dist/index3.js.map +1 -1
  76. package/dist/index4.js +80 -106
  77. package/dist/index4.js.map +1 -1
  78. package/dist/index5.js +42 -37
  79. package/dist/index5.js.map +1 -1
  80. package/dist/index6.js +9 -4
  81. package/dist/index6.js.map +1 -1
  82. package/dist/index7.js +125 -10
  83. package/dist/index7.js.map +1 -1
  84. package/dist/index8.js +37 -42
  85. package/dist/index8.js.map +1 -1
  86. package/dist/index9.js +4 -37
  87. package/dist/index9.js.map +1 -1
  88. package/dist/lib/components/Alert/Alert.d.ts +11 -0
  89. package/dist/lib/components/Alert/Alert.d.ts.map +1 -0
  90. package/dist/lib/components/Alert/index.d.ts +2 -0
  91. package/dist/lib/components/Alert/index.d.ts.map +1 -0
  92. package/dist/lib/components/DataTable/DataTable.d.ts +15 -0
  93. package/dist/lib/components/DataTable/DataTable.d.ts.map +1 -0
  94. package/dist/lib/components/DataTable/components/DataTableColumnHeader.d.ts +12 -0
  95. package/dist/lib/components/DataTable/components/DataTableColumnHeader.d.ts.map +1 -0
  96. package/dist/lib/components/DataTable/components/DataTableEmpty.d.ts +13 -0
  97. package/dist/lib/components/DataTable/components/DataTableEmpty.d.ts.map +1 -0
  98. package/dist/lib/components/DataTable/components/DataTablePagination.d.ts +13 -0
  99. package/dist/lib/components/DataTable/components/DataTablePagination.d.ts.map +1 -0
  100. package/dist/lib/components/DataTable/components/DataTableToolbar.d.ts +15 -0
  101. package/dist/lib/components/DataTable/components/DataTableToolbar.d.ts.map +1 -0
  102. package/dist/lib/components/DataTable/components/DataTableViewOptions.d.ts +11 -0
  103. package/dist/lib/components/DataTable/components/DataTableViewOptions.d.ts.map +1 -0
  104. package/dist/lib/components/DataTable/hooks/useDataTable.d.ts +3 -0
  105. package/dist/lib/components/DataTable/hooks/useDataTable.d.ts.map +1 -0
  106. package/dist/lib/components/DataTable/index.d.ts +10 -0
  107. package/dist/lib/components/DataTable/index.d.ts.map +1 -0
  108. package/dist/lib/components/DataTable/types.d.ts +67 -0
  109. package/dist/lib/components/DataTable/types.d.ts.map +1 -0
  110. package/dist/lib/components/DataTable/utils.d.ts +3 -0
  111. package/dist/lib/components/DataTable/utils.d.ts.map +1 -0
  112. package/dist/lib/components/Form/Form.d.ts +3 -2
  113. package/dist/lib/components/Form/Form.d.ts.map +1 -1
  114. package/dist/lib/components/PhoneField/PhoneField.d.ts +1 -0
  115. package/dist/lib/components/PhoneField/PhoneField.d.ts.map +1 -1
  116. package/dist/lib/components/Select/Select.d.ts +23 -0
  117. package/dist/lib/components/Select/Select.d.ts.map +1 -0
  118. package/dist/lib/components/Select/components/MultiSelect/MultiSelect.d.ts +25 -0
  119. package/dist/lib/components/Select/components/MultiSelect/MultiSelect.d.ts.map +1 -0
  120. package/dist/lib/components/Select/components/MultiSelect/MultiSelectFilter.d.ts +21 -0
  121. package/dist/lib/components/Select/components/MultiSelect/MultiSelectFilter.d.ts.map +1 -0
  122. package/dist/lib/components/Select/components/SingleSelect/SingleSelect.d.ts +25 -0
  123. package/dist/lib/components/Select/components/SingleSelect/SingleSelect.d.ts.map +1 -0
  124. package/dist/lib/components/Select/components/SingleSelect/SingleSelectFilter.d.ts +21 -0
  125. package/dist/lib/components/Select/components/SingleSelect/SingleSelectFilter.d.ts.map +1 -0
  126. package/dist/lib/components/Select/hooks/useMultiSelect.d.ts +32 -0
  127. package/dist/lib/components/Select/hooks/useMultiSelect.d.ts.map +1 -0
  128. package/dist/lib/components/Select/hooks/useSelect.d.ts +23 -0
  129. package/dist/lib/components/Select/hooks/useSelect.d.ts.map +1 -0
  130. package/dist/lib/components/Select/hooks/useSingleSelect.d.ts +30 -0
  131. package/dist/lib/components/Select/hooks/useSingleSelect.d.ts.map +1 -0
  132. package/dist/lib/components/Select/index.d.ts +38 -0
  133. package/dist/lib/components/Select/index.d.ts.map +1 -0
  134. package/dist/lib/components/Select/types.d.ts +31 -0
  135. package/dist/lib/components/Select/types.d.ts.map +1 -0
  136. package/dist/lib/components/TextField/TextField.d.ts.map +1 -1
  137. package/dist/lib/components/index.d.ts +3 -0
  138. package/dist/lib/components/index.d.ts.map +1 -1
  139. package/dist/lib/context/ThemeContext.d.ts +1 -1
  140. package/dist/lib/context/ThemeContext.d.ts.map +1 -1
  141. package/dist/lib/context/index.d.ts +1 -1
  142. package/dist/lib/context/index.d.ts.map +1 -1
  143. package/dist/lib/hooks/index.d.ts +2 -1
  144. package/dist/lib/hooks/index.d.ts.map +1 -1
  145. package/dist/lib/hooks/useSSE.d.ts +21 -0
  146. package/dist/lib/hooks/useSSE.d.ts.map +1 -0
  147. package/dist/lib/index.d.ts +2 -2
  148. package/dist/lib/index.d.ts.map +1 -1
  149. package/dist/lib/utils/axios.d.ts.map +1 -1
  150. package/dist/lib/utils/formHelpers.d.ts +7 -3
  151. package/dist/lib/utils/formHelpers.d.ts.map +1 -1
  152. package/dist/popover.js +329 -0
  153. package/dist/popover.js.map +1 -0
  154. package/dist/separator2.js +2 -2
  155. package/dist/shadcn/shadcnAlert/alert.d.ts +11 -0
  156. package/dist/shadcn/shadcnAlert/alert.d.ts.map +1 -0
  157. package/dist/shadcn/shadcnAlert/index.d.ts +2 -0
  158. package/dist/shadcn/shadcnAlert/index.d.ts.map +1 -0
  159. package/dist/shadcn/shadcnBadge/Badge.d.ts +1 -1
  160. package/dist/shadcn/shadcnButton/Button.d.ts +2 -2
  161. package/dist/shadcn/shadcnButton/Button.d.ts.map +1 -1
  162. package/dist/shadcn/shadcnInputOTP/InputOTP.d.ts +2 -2
  163. package/dist/shadcn/shadcnMultiSelect/index.d.ts +3 -0
  164. package/dist/shadcn/shadcnMultiSelect/index.d.ts.map +1 -0
  165. package/dist/shadcn/shadcnMultiSelect/multi-select.d.ts +61 -0
  166. package/dist/shadcn/shadcnMultiSelect/multi-select.d.ts.map +1 -0
  167. package/dist/shadcn/shadcnSingleSelect/index.d.ts +3 -0
  168. package/dist/shadcn/shadcnSingleSelect/index.d.ts.map +1 -0
  169. package/dist/shadcn/shadcnSingleSelect/single-select.d.ts +60 -0
  170. package/dist/shadcn/shadcnSingleSelect/single-select.d.ts.map +1 -0
  171. package/dist/shadcn/shadcnSonner/sonner.d.ts +1 -1
  172. package/dist/shadcn/shadcnSonner/sonner.d.ts.map +1 -1
  173. package/dist/triangle-alert.js +40 -0
  174. package/dist/triangle-alert.js.map +1 -0
  175. package/dist/useSSE.js +82 -0
  176. package/dist/useSSE.js.map +1 -0
  177. package/dist/useTheme.js.map +1 -1
  178. package/dist/utils/axios.js +4167 -2
  179. package/dist/utils/axios.js.map +1 -1
  180. package/dist/utils.js +3748 -2970
  181. package/dist/utils.js.map +1 -1
  182. package/dist/utils2.js +3042 -0
  183. package/dist/utils2.js.map +1 -0
  184. package/dist/x.js +18 -0
  185. package/dist/x.js.map +1 -0
  186. package/package.json +22 -7
  187. package/dist/axios.js +0 -4228
  188. package/dist/axios.js.map +0 -1
package/dist/Form.js CHANGED
@@ -1,10 +1,12 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import React__default from 'react';
4
- import { c as FieldError } from './field.js';
5
- import { c as cn } from './utils.js';
4
+ import { c as cn } from './utils2.js';
5
+ import { axios } from './utils/axios.js';
6
+ import { A as Alert } from './Alert.js';
6
7
  import { B as Button } from './Button.js';
7
8
  import { C as Checkbox } from './Checkbox.js';
9
+ import { P as PhoneField } from './PhoneField.js';
8
10
  import { S as Switch } from './Switch.js';
9
11
 
10
12
  var isCheckBoxInput = (element) => element.type === 'checkbox';
@@ -621,7 +623,7 @@ function mapApiErrorsToForm(error, form, options = {}) {
621
623
  if (!error || typeof error !== "object") {
622
624
  if (setRootError) {
623
625
  form.setError("root", {
624
- type: "manual",
626
+ type: "Error",
625
627
  message: "An error occurred"
626
628
  });
627
629
  }
@@ -630,34 +632,26 @@ function mapApiErrorsToForm(error, form, options = {}) {
630
632
  const axiosError = error;
631
633
  const errorData = axiosError.response?.data || error;
632
634
  const apiError = errorData;
633
- const generalMessage = apiError.message || apiError.error;
634
- let hasFieldErrors = false;
635
+ const errorTitle = apiError.label || apiError.title || "Error";
636
+ const generalMessage = apiError.detail;
635
637
  if (apiError.errors && Array.isArray(apiError.errors)) {
636
638
  for (const errorItem of apiError.errors) {
637
- if (errorItem.field) {
638
- const formField = fieldMapping[errorItem.field] || errorItem.field;
639
- form.setError(formField, {
640
- type: "manual",
641
- message: errorItem.message
642
- });
643
- hasFieldErrors = true;
644
- } else if (errorItem.message && setRootError) {
645
- form.setError("root", {
646
- type: "manual",
647
- message: errorItem.message
648
- });
649
- }
639
+ const formField = fieldMapping[errorItem.field] || errorItem.field;
640
+ form.setError(formField, {
641
+ type: "manual",
642
+ message: errorItem.message
643
+ });
650
644
  }
651
645
  }
652
- if (!hasFieldErrors && generalMessage && setRootError) {
646
+ if (generalMessage && setRootError) {
653
647
  form.setError("root", {
654
- type: "manual",
648
+ type: errorTitle,
655
649
  message: generalMessage
656
650
  });
657
651
  }
658
652
  }
659
653
 
660
- function processChildren(children, control, isSubmitting) {
654
+ function processChildren(children, control, isSubmitting, setValue) {
661
655
  return React.Children.map(children, (child) => {
662
656
  if (!React.isValidElement(child)) {
663
657
  return child;
@@ -674,11 +668,17 @@ function processChildren(children, control, isSubmitting) {
674
668
  render: ({ field, fieldState }) => {
675
669
  const isCheckbox = child.type === Checkbox;
676
670
  const isSwitch = child.type === Switch;
671
+ const isPhone = child.type === PhoneField;
677
672
  const fieldProps = isCheckbox || isSwitch ? {
678
673
  checked: field.value,
679
674
  onCheckedChange: field.onChange,
680
675
  onBlur: field.onBlur,
681
676
  ref: field.ref
677
+ } : isPhone ? {
678
+ ...field,
679
+ onCountryChange: (country) => {
680
+ setValue(`${name}Country`, country);
681
+ }
682
682
  } : field;
683
683
  return React.cloneElement(child, {
684
684
  ...childProps,
@@ -702,12 +702,12 @@ function processChildren(children, control, isSubmitting) {
702
702
  }
703
703
  }
704
704
  if (isFragment) {
705
- return processChildren(childProps.children, control, isSubmitting);
705
+ return processChildren(childProps.children, control, isSubmitting, setValue);
706
706
  }
707
707
  if (childProps.children != null) {
708
708
  return React.cloneElement(child, {
709
709
  ...childProps,
710
- children: processChildren(childProps.children, control, isSubmitting)
710
+ children: processChildren(childProps.children, control, isSubmitting, setValue)
711
711
  });
712
712
  }
713
713
  return child;
@@ -717,9 +717,10 @@ function Form({
717
717
  form,
718
718
  onSubmit,
719
719
  children,
720
- showRootError = true,
720
+ showRootError = false,
721
721
  rootErrorPosition = "bottom",
722
722
  rootErrorClassName,
723
+ rootErrorAction,
723
724
  fieldMapping,
724
725
  mutation,
725
726
  transformSubmit,
@@ -728,6 +729,10 @@ function Form({
728
729
  const isSubmitting = form.formState.isSubmitting || (mutation?.isPending ?? false);
729
730
  const wrappedOnSubmit = React.useCallback(
730
731
  async (data) => {
732
+ const interceptorId = axios.interceptors.request.use((config) => ({
733
+ ...config,
734
+ showErrorToast: false
735
+ }));
731
736
  try {
732
737
  if (mutation) {
733
738
  const variables = transformSubmit ? transformSubmit(data) : data;
@@ -741,16 +746,36 @@ function Form({
741
746
  setRootError: showRootError
742
747
  });
743
748
  console.error("[Form Submission Error]", error);
749
+ } finally {
750
+ axios.interceptors.request.eject(interceptorId);
744
751
  }
745
752
  },
746
753
  [onSubmit, mutation, transformSubmit, fieldMapping, form, showRootError]
747
754
  );
748
755
  const handleSubmit = form.handleSubmit(wrappedOnSubmit);
749
- const processedChildren = processChildren(children, form.control, isSubmitting);
756
+ const processedChildren = processChildren(children, form.control, isSubmitting, form.setValue);
750
757
  return /* @__PURE__ */ jsx(FormProvider, { ...form, children: /* @__PURE__ */ jsxs("form", { onSubmit: handleSubmit, ...props, children: [
751
- showRootError && rootErrorPosition === "top" && form.formState.errors.root && /* @__PURE__ */ jsx(FieldError, { errors: [form.formState.errors.root], className: cn("mb-4 text-center", rootErrorClassName) }),
758
+ showRootError && rootErrorPosition === "top" && form.formState.errors.root && /* @__PURE__ */ jsx(
759
+ Alert,
760
+ {
761
+ variant: "destructive",
762
+ title: form.formState.errors.root.type || "Error",
763
+ description: form.formState.errors.root.message,
764
+ action: rootErrorAction,
765
+ className: cn("mb-4", rootErrorClassName)
766
+ }
767
+ ),
752
768
  processedChildren,
753
- showRootError && rootErrorPosition === "bottom" && form.formState.errors.root && /* @__PURE__ */ jsx(FieldError, { errors: [form.formState.errors.root], className: cn("mt-4 text-center", rootErrorClassName) })
769
+ showRootError && rootErrorPosition === "bottom" && form.formState.errors.root && /* @__PURE__ */ jsx(
770
+ Alert,
771
+ {
772
+ variant: "destructive",
773
+ title: form.formState.errors.root.type || "Error",
774
+ description: form.formState.errors.root.message,
775
+ action: rootErrorAction,
776
+ className: cn("mt-4", rootErrorClassName)
777
+ }
778
+ )
754
779
  ] }) });
755
780
  }
756
781
  Form.displayName = "Form";