@sikka/hawa 0.26.38-next → 0.27.0-next

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 (83) hide show
  1. package/dist/accordion/index.js +1 -1
  2. package/dist/accordion/index.js.map +1 -1
  3. package/dist/accordion/index.mjs +1 -1
  4. package/dist/accordion/index.mjs.map +1 -1
  5. package/dist/appLayout/index.js +4 -1
  6. package/dist/appLayout/index.js.map +1 -1
  7. package/dist/appLayout/index.mjs +4 -1
  8. package/dist/appLayout/index.mjs.map +1 -1
  9. package/dist/appTopbar/index.js +4 -1
  10. package/dist/appTopbar/index.js.map +1 -1
  11. package/dist/appTopbar/index.mjs +4 -1
  12. package/dist/appTopbar/index.mjs.map +1 -1
  13. package/dist/blocks/auth/index.d.mts +13 -2
  14. package/dist/blocks/auth/index.d.ts +13 -2
  15. package/dist/blocks/auth/index.js +6 -3
  16. package/dist/blocks/auth/index.mjs +7 -5
  17. package/dist/blocks/feedback/index.d.mts +3 -4
  18. package/dist/blocks/feedback/index.d.ts +3 -4
  19. package/dist/blocks/feedback/index.mjs +1 -2
  20. package/dist/blocks/index.d.mts +15 -1
  21. package/dist/blocks/index.d.ts +15 -1
  22. package/dist/blocks/index.js +84 -12
  23. package/dist/blocks/index.mjs +82 -13
  24. package/dist/blocks/misc/index.d.mts +14 -4
  25. package/dist/blocks/misc/index.d.ts +14 -4
  26. package/dist/blocks/misc/index.js +246 -26
  27. package/dist/blocks/misc/index.mjs +77 -9
  28. package/dist/blocks/pricing/index.d.mts +1 -2
  29. package/dist/blocks/pricing/index.d.ts +1 -2
  30. package/dist/{chunk-D3KUSRHL.mjs → chunk-3MC4JLSW.mjs} +4 -1
  31. package/dist/{chunk-AXTPTA3S.mjs → chunk-BOVZAUWD.mjs} +1 -1
  32. package/dist/{chunk-VCCUBQFI.mjs → chunk-U7BFMH2T.mjs} +1 -1
  33. package/dist/codeBlock/index.d.mts +12 -2
  34. package/dist/codeBlock/index.d.ts +12 -2
  35. package/dist/codeBlock/index.js +72 -44
  36. package/dist/codeBlock/index.js.map +1 -1
  37. package/dist/codeBlock/index.mjs +73 -49
  38. package/dist/codeBlock/index.mjs.map +1 -1
  39. package/dist/combobox/index.js.map +1 -1
  40. package/dist/combobox/index.mjs.map +1 -1
  41. package/dist/command/index.d.mts +24 -37
  42. package/dist/command/index.d.ts +24 -37
  43. package/dist/command/index.js +3 -1
  44. package/dist/command/index.js.map +1 -1
  45. package/dist/command/index.mjs +3 -1
  46. package/dist/command/index.mjs.map +1 -1
  47. package/dist/dataTable/index.js +4 -1
  48. package/dist/dataTable/index.js.map +1 -1
  49. package/dist/dataTable/index.mjs +4 -1
  50. package/dist/dataTable/index.mjs.map +1 -1
  51. package/dist/dropdownMenu/index.js +4 -1
  52. package/dist/dropdownMenu/index.js.map +1 -1
  53. package/dist/dropdownMenu/index.mjs +4 -1
  54. package/dist/dropdownMenu/index.mjs.map +1 -1
  55. package/dist/elements/index.d.mts +67 -40
  56. package/dist/elements/index.d.ts +67 -40
  57. package/dist/elements/index.js +77 -46
  58. package/dist/elements/index.mjs +80 -56
  59. package/dist/index.css +30 -11
  60. package/dist/index.d.mts +81 -40
  61. package/dist/index.d.ts +81 -40
  62. package/dist/index.js +157 -57
  63. package/dist/index.mjs +196 -100
  64. package/dist/input/index.d.mts +31 -1
  65. package/dist/input/index.d.ts +31 -1
  66. package/dist/input/index.js.map +1 -1
  67. package/dist/input/index.mjs.map +1 -1
  68. package/dist/layout/index.js +4 -1
  69. package/dist/layout/index.mjs +2 -2
  70. package/dist/passwordInput/index.js.map +1 -1
  71. package/dist/passwordInput/index.mjs.map +1 -1
  72. package/dist/splitButton/index.js +4 -1
  73. package/dist/splitButton/index.js.map +1 -1
  74. package/dist/splitButton/index.mjs +4 -1
  75. package/dist/splitButton/index.mjs.map +1 -1
  76. package/dist/{textTypes-559CaoOV.d.mts → textTypes-u4OSE-rn.d.mts} +8 -1
  77. package/dist/{textTypes-559CaoOV.d.ts → textTypes-u4OSE-rn.d.ts} +8 -1
  78. package/package.json +8 -8
  79. package/README.md +0 -91
  80. package/dist/chunk-WUHNPHD5.mjs +0 -0
  81. package/dist/commonTypes-MxCJyrHv.d.mts +0 -8
  82. package/dist/commonTypes-MxCJyrHv.d.ts +0 -8
  83. /package/dist/{chunk-DUHB245X.mjs → chunk-LKPRTTIX.mjs} +0 -0
package/dist/index.js CHANGED
@@ -856,8 +856,11 @@ var DropdownMenu = ({
856
856
  className: cn(
857
857
  className,
858
858
  widthStyles[width],
859
- "hawa-flex hawa-flex-col hawa-gap-1"
859
+ "hawa-flex hawa-flex-col hawa-gap-1 hawa-overflow-y-auto"
860
860
  ),
861
+ style: {
862
+ maxHeight: "var(--radix-dropdown-menu-content-available-height)"
863
+ },
861
864
  align,
862
865
  alignOffset
863
866
  },
@@ -1134,7 +1137,7 @@ var Accordion = React9.forwardRef(
1134
1137
  {
1135
1138
  disabled: item.disabled || false,
1136
1139
  className: cn(
1137
- "hawa-transition-all",
1140
+ "hawa-transition-all hawa-text-start",
1138
1141
  design === "separated" ? "hawa-rounded data-[state=open]:hawa-rounded-b-none" : {
1139
1142
  "hawa-rounded-t": index === 0,
1140
1143
  "data-[state=closed]:hawa-rounded-b": index === items.length - 1
@@ -7120,13 +7123,30 @@ function useClipboard({ timeout = 2e3 } = {}) {
7120
7123
  // elements/codeBlock/CodeBlock.tsx
7121
7124
  (typeof global !== "undefined" ? global : window).Prism = import_prism_react_renderer.Prism;
7122
7125
  require("prismjs/components/prism-bash");
7126
+ var CopyIcon = () => /* @__PURE__ */ import_react30.default.createElement(
7127
+ "svg",
7128
+ {
7129
+ "aria-label": "Copy",
7130
+ stroke: "currentColor",
7131
+ fill: "none",
7132
+ strokeWidth: "2",
7133
+ viewBox: "0 0 24 24",
7134
+ strokeLinecap: "round",
7135
+ strokeLinejoin: "round",
7136
+ height: "1em",
7137
+ width: "1em"
7138
+ },
7139
+ /* @__PURE__ */ import_react30.default.createElement("rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2" }),
7140
+ /* @__PURE__ */ import_react30.default.createElement("path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2" })
7141
+ );
7123
7142
  var CodeBlock = ({
7124
7143
  tabs,
7125
7144
  code,
7126
7145
  fileName,
7127
- className,
7146
+ classNames,
7128
7147
  language = "javascript",
7129
7148
  // default to JavaScript if no language is provided
7149
+ wrapText = false,
7130
7150
  width = "full",
7131
7151
  ...props
7132
7152
  }) => {
@@ -7144,16 +7164,50 @@ var CodeBlock = ({
7144
7164
  {
7145
7165
  className: cn(
7146
7166
  widthStyles[width],
7147
- "hawa-w-full hawa-flex-col hawa-items-center hawa-rounded hawa-bg-background hawa-text-left hawa-my-2 hawa-text-white sm:hawa-text-base",
7148
- className
7167
+ "hawa-w-full hawa-flex-col hawa-relative hawa-items-center hawa-rounded hawa-bg-background hawa-text-left hawa-my-2 hawa-text-white sm:hawa-text-base",
7168
+ classNames == null ? void 0 : classNames.root
7149
7169
  )
7150
7170
  },
7171
+ /* @__PURE__ */ import_react30.default.createElement(
7172
+ "div",
7173
+ {
7174
+ className: cn(
7175
+ "hawa-flex hawa-absolute hawa-w-fit hawa-flex-row hawa-items-center hawa-gap-2 hawa-z-50 hawa-right-3.5",
7176
+ {
7177
+ "hawa-top-3.5": !tabs && !fileName,
7178
+ "hawa-top-[50px]": tabs && !fileName,
7179
+ "hawa-top-11": !tabs && fileName,
7180
+ "hawa-top-[80px]": tabs && fileName
7181
+ }
7182
+ )
7183
+ },
7184
+ /* @__PURE__ */ import_react30.default.createElement(
7185
+ Tooltip,
7186
+ {
7187
+ open: clipboard.copied,
7188
+ side: "left",
7189
+ content: /* @__PURE__ */ import_react30.default.createElement("div", null, "Copied!"),
7190
+ triggerProps: { asChild: true }
7191
+ },
7192
+ /* @__PURE__ */ import_react30.default.createElement(
7193
+ Button,
7194
+ {
7195
+ size: "smallIcon",
7196
+ onClick: () => clipboard.copy(tabs ? tabs[selectedTab].code : code),
7197
+ variant: "outline",
7198
+ className: "hawa-text-gray-200 hawa-opacity-50 "
7199
+ },
7200
+ /* @__PURE__ */ import_react30.default.createElement(CopyIcon, null)
7201
+ )
7202
+ )
7203
+ ),
7151
7204
  fileName && /* @__PURE__ */ import_react30.default.createElement(
7152
7205
  "div",
7153
7206
  {
7154
7207
  className: cn(
7155
7208
  "hawa-flex hawa-flex-row hawa-gap-2 hawa-rounded-t hawa-p-2 hawa-py-0.5 hawa-pb-0 hawa-font-mono hawa-text-foreground",
7156
- fileName && tabs ? "hawa-bg-primary/10" : "hawa-bg-primary/15"
7209
+ fileName && tabs ? "hawa-bg-primary/10" : "hawa-bg-primary/15",
7210
+ classNames == null ? void 0 : classNames.fileName
7157
7211
  )
7158
7212
  },
7159
7213
  /* @__PURE__ */ import_react30.default.createElement(
@@ -7170,9 +7224,9 @@ var CodeBlock = ({
7170
7224
  "div",
7171
7225
  {
7172
7226
  className: cn(
7173
- // hawa-bg-gray-300 dark:hawa-bg-red-600
7174
7227
  "hawa-flex hawa-flex-row hawa-gap-2 hawa-rounded-t hawa-p-1 hawa-bg-primary/15 hawa-pb-0 hawa-font-mono hawa-text-foreground",
7175
- tabs && fileName && "hawa-rounded-t-none"
7228
+ tabs && fileName && "hawa-rounded-t-none",
7229
+ classNames == null ? void 0 : classNames.tabs
7176
7230
  )
7177
7231
  },
7178
7232
  tabs.map((tab, i) => /* @__PURE__ */ import_react30.default.createElement(
@@ -7180,7 +7234,8 @@ var CodeBlock = ({
7180
7234
  {
7181
7235
  key: i,
7182
7236
  className: cn(
7183
- selectedTab === i ? " hawa-border-b-2 hawa-border-primary" : "hawa-bg-transparent"
7237
+ selectedTab === i ? " hawa-border-b-2 hawa-border-primary" : "hawa-bg-transparent",
7238
+ classNames == null ? void 0 : classNames.tab
7184
7239
  )
7185
7240
  },
7186
7241
  /* @__PURE__ */ import_react30.default.createElement(
@@ -7199,8 +7254,10 @@ var CodeBlock = ({
7199
7254
  "div",
7200
7255
  {
7201
7256
  className: cn(
7202
- "hawa-flex hawa-w-full hawa-flex-row hawa-items-start hawa-justify-between hawa-border hawa-bg-gray-800 hawa-p-0 hawa-text-left hawa-text-sm sm:hawa-text-base ",
7203
- tabs || fileName ? "hawa-rounded-b hawa-rounded-t-none" : "hawa-rounded"
7257
+ "hawa-flex hawa-w-full hawa-relative hawa-flex-row hawa-items-start hawa-justify-between hawa-border hawa-bg-gray-800 hawa-p-0 hawa-text-left hawa-text-sm sm:hawa-text-base",
7258
+ tabs || fileName ? "hawa-rounded-b hawa-rounded-t-none" : "hawa-rounded",
7259
+ classNames == null ? void 0 : classNames.codeBlockContainer,
7260
+ "hawa-overflow-y-auto"
7204
7261
  )
7205
7262
  },
7206
7263
  /* @__PURE__ */ import_react30.default.createElement(
@@ -7210,44 +7267,18 @@ var CodeBlock = ({
7210
7267
  code: tabs ? tabs[selectedTab].code : code || "",
7211
7268
  language
7212
7269
  },
7213
- ({ className: className2, style, tokens, getLineProps, getTokenProps }) => /* @__PURE__ */ import_react30.default.createElement("pre", { className: "hawa-min-h-[37.75px] hawa-w-full hawa-overflow-auto hawa-p-4 hawa-font-mono hawa-text-foreground" }, tokens.map((line, i) => /* @__PURE__ */ import_react30.default.createElement("div", { key: i, ...getLineProps({ line }) }, props.lineNumbers && /* @__PURE__ */ import_react30.default.createElement("span", { className: "hawa-mr-4" }, i + 1), line.map((token, key) => /* @__PURE__ */ import_react30.default.createElement("span", { key, ...getTokenProps({ token }) })))))
7214
- ),
7215
- /* @__PURE__ */ import_react30.default.createElement("div", { className: "hawa-flex hawa-w-fit hawa-flex-row hawa-items-center hawa-gap-2 hawa-p-2" }, /* @__PURE__ */ import_react30.default.createElement(
7216
- Tooltip,
7217
- {
7218
- open: clipboard.copied,
7219
- side: "left",
7220
- content: /* @__PURE__ */ import_react30.default.createElement("div", null, "Copied!"),
7221
- triggerProps: {
7222
- asChild: true
7223
- }
7224
- },
7225
- /* @__PURE__ */ import_react30.default.createElement(
7226
- Button,
7270
+ ({ tokens, getLineProps, getTokenProps }) => /* @__PURE__ */ import_react30.default.createElement(
7271
+ "pre",
7227
7272
  {
7228
- size: "icon",
7229
- onClick: () => clipboard.copy(tabs ? tabs[selectedTab].code : code),
7230
- variant: "outline",
7231
- className: "hawa-text-gray-200 hawa-opacity-50 "
7273
+ className: cn(
7274
+ "hawa-min-h-[37.75px] !hawa-pe-12 hawa-w-full hawa-p-4 hawa-font-mono hawa-text-foreground",
7275
+ classNames == null ? void 0 : classNames.code,
7276
+ wrapText && "hawa-text-wrap"
7277
+ )
7232
7278
  },
7233
- /* @__PURE__ */ import_react30.default.createElement(
7234
- "svg",
7235
- {
7236
- "aria-label": "Copy",
7237
- stroke: "currentColor",
7238
- fill: "none",
7239
- strokeWidth: "2",
7240
- viewBox: "0 0 24 24",
7241
- strokeLinecap: "round",
7242
- strokeLinejoin: "round",
7243
- height: "1em",
7244
- width: "1em"
7245
- },
7246
- /* @__PURE__ */ import_react30.default.createElement("rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2" }),
7247
- /* @__PURE__ */ import_react30.default.createElement("path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2" })
7248
- )
7279
+ tokens.map((line, i) => /* @__PURE__ */ import_react30.default.createElement("div", { key: i, ...getLineProps({ line }) }, props.lineNumbers && /* @__PURE__ */ import_react30.default.createElement("span", { className: "hawa-mr-4" }, i + 1), line.map((token, key) => /* @__PURE__ */ import_react30.default.createElement("span", { key, ...getTokenProps({ token }) }))))
7249
7280
  )
7250
- ))
7281
+ )
7251
7282
  )
7252
7283
  );
7253
7284
  };
@@ -9624,15 +9655,18 @@ var RegisterForm = ({
9624
9655
  control,
9625
9656
  name: "username",
9626
9657
  render: ({ field }) => {
9627
- var _a2, _b2, _c2;
9658
+ var _a2, _b2, _c2, _d2;
9628
9659
  return /* @__PURE__ */ import_react47.default.createElement(
9629
9660
  Input,
9630
9661
  {
9631
9662
  width: "full",
9632
9663
  autoComplete: "username",
9633
9664
  label: (_a2 = texts == null ? void 0 : texts.username) == null ? void 0 : _a2.label,
9634
- helperText: (_b2 = formState.errors.username) == null ? void 0 : _b2.message,
9635
- placeholder: (_c2 = texts == null ? void 0 : texts.username) == null ? void 0 : _c2.placeholder,
9665
+ labelProps: {
9666
+ ...(_b2 = props.usernameOptions) == null ? void 0 : _b2.label
9667
+ },
9668
+ helperText: (_c2 = formState.errors.username) == null ? void 0 : _c2.message,
9669
+ placeholder: (_d2 = texts == null ? void 0 : texts.username) == null ? void 0 : _d2.placeholder,
9636
9670
  ...field
9637
9671
  }
9638
9672
  );
@@ -10756,25 +10790,56 @@ var ContactForm = ({
10756
10790
  texts,
10757
10791
  formId,
10758
10792
  formAutoComplete,
10759
- onSubmit
10793
+ onSubmit,
10794
+ customFields
10760
10795
  }) => {
10761
10796
  var _a, _b, _c;
10797
+ const customFieldsSchema = z8.object({
10798
+ ...customFields == null ? void 0 : customFields.reduce(
10799
+ (acc, curr) => {
10800
+ switch (curr.type) {
10801
+ case "text":
10802
+ acc[curr.name] = z8.string().optional().default("");
10803
+ break;
10804
+ case "number":
10805
+ acc[curr.name] = z8.string().optional().default("");
10806
+ break;
10807
+ case "select":
10808
+ acc[curr.name] = z8.string().optional().default("");
10809
+ break;
10810
+ default:
10811
+ break;
10812
+ }
10813
+ return acc;
10814
+ },
10815
+ {}
10816
+ )
10817
+ });
10762
10818
  const contactFormSchema = z8.object({
10763
10819
  name: z8.string({ required_error: texts == null ? void 0 : texts.name.required }).min(1, texts == null ? void 0 : texts.name.required).default(""),
10764
10820
  email: z8.string({ required_error: (_a = texts == null ? void 0 : texts.email) == null ? void 0 : _a.required }).min(1, { message: (_b = texts == null ? void 0 : texts.email) == null ? void 0 : _b.required }).email({ message: (_c = texts == null ? void 0 : texts.email) == null ? void 0 : _c.invalid }).default(""),
10765
10821
  message: z8.string({ required_error: texts == null ? void 0 : texts.message.required }).min(10, texts == null ? void 0 : texts.message.invalid).default("")
10766
10822
  });
10823
+ const customFieldsDefaultValues = customFields == null ? void 0 : customFields.reduce(
10824
+ (acc, curr) => {
10825
+ acc[curr.name] = "";
10826
+ return acc;
10827
+ },
10828
+ {}
10829
+ );
10830
+ const MainSchema = contactFormSchema.merge(customFieldsSchema);
10767
10831
  const {
10768
10832
  control,
10769
10833
  handleSubmit,
10770
10834
  formState: { errors },
10771
10835
  reset
10772
10836
  } = (0, import_react_hook_form9.useForm)({
10773
- resolver: (0, import_zod8.zodResolver)(contactFormSchema),
10837
+ resolver: (0, import_zod8.zodResolver)(MainSchema),
10774
10838
  defaultValues: {
10775
10839
  name: "",
10776
10840
  email: "",
10777
- message: ""
10841
+ message: "",
10842
+ ...customFieldsDefaultValues
10778
10843
  }
10779
10844
  });
10780
10845
  const handleFormSubmit = (data) => {
@@ -10785,15 +10850,10 @@ var ContactForm = ({
10785
10850
  console.log("Form is submitted but onSubmit prop is missing");
10786
10851
  }
10787
10852
  };
10788
- let sizeStyle = {
10789
- sm: "hawa-max-w-sm",
10790
- default: "hawa-w-full"
10791
- };
10792
10853
  return /* @__PURE__ */ import_react64.default.createElement(
10793
10854
  Card,
10794
10855
  {
10795
10856
  className: cn(
10796
- // sizeStyle[size],
10797
10857
  "hawa-w-full",
10798
10858
  cardless && "hawa-border-none hawa-bg-transparent hawa-shadow-none hawa-drop-shadow-none"
10799
10859
  ),
@@ -10860,6 +10920,45 @@ var ContactForm = ({
10860
10920
  }
10861
10921
  )
10862
10922
  ),
10923
+ customFields && customFields.map((customField) => {
10924
+ console.log("custom", customField);
10925
+ return /* @__PURE__ */ import_react64.default.createElement(
10926
+ import_react_hook_form9.Controller,
10927
+ {
10928
+ control,
10929
+ name: customField.name,
10930
+ render: ({ field }) => {
10931
+ const { type, label, placeholder } = customField;
10932
+ switch (type) {
10933
+ case "text":
10934
+ case "number":
10935
+ return /* @__PURE__ */ import_react64.default.createElement(
10936
+ Input,
10937
+ {
10938
+ id: customField.name,
10939
+ type,
10940
+ label,
10941
+ placeholder,
10942
+ ...field
10943
+ }
10944
+ );
10945
+ case "select":
10946
+ return /* @__PURE__ */ import_react64.default.createElement(
10947
+ Select,
10948
+ {
10949
+ label,
10950
+ options: customField.options,
10951
+ value: field.value,
10952
+ onChange: (option) => field.onChange(option.value)
10953
+ }
10954
+ );
10955
+ default:
10956
+ return /* @__PURE__ */ import_react64.default.createElement("div", null, "Unknown type");
10957
+ }
10958
+ }
10959
+ }
10960
+ );
10961
+ }),
10863
10962
  /* @__PURE__ */ import_react64.default.createElement(
10864
10963
  import_react_hook_form9.Controller,
10865
10964
  {
@@ -10876,6 +10975,7 @@ var ContactForm = ({
10876
10975
  placeholder: texts == null ? void 0 : texts.message.placeholder,
10877
10976
  ...field
10878
10977
  },
10978
+ classNames: { textarea: "hawa-min-h-20" },
10879
10979
  helperText: (_a2 = errors.message) == null ? void 0 : _a2.message
10880
10980
  }
10881
10981
  );