@juv/codego-react-ui 3.3.8 → 3.4.1

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.cjs CHANGED
@@ -6405,6 +6405,16 @@ var import_react_dom2 = require("react-dom");
6405
6405
  var import_axios3 = __toESM(require("axios"), 1);
6406
6406
  var import_lucide_react17 = require("lucide-react");
6407
6407
  var import_jsx_runtime32 = require("react/jsx-runtime");
6408
+ var csrfAxios = import_axios3.default.create();
6409
+ csrfAxios.interceptors.request.use((config) => {
6410
+ const method = (config.method ?? "").toUpperCase();
6411
+ if (["POST", "PUT", "PATCH", "DELETE"].includes(method)) {
6412
+ const token = document.querySelector('meta[name="csrf-token"]')?.getAttribute("content");
6413
+ if (!token) throw new Error('[Table] CSRF token not found. Add <meta name="csrf-token" content="..."> to your HTML <head>.');
6414
+ config.headers.set("X-CSRF-Token", token);
6415
+ }
6416
+ return config;
6417
+ });
6408
6418
  function useServerTable({ url, params, encrypt, key, decryptPayloadLog, columnOverrides, debounce = 300, transform, manual = false, refresh: refreshEnabled = false, refreshInterval = 0, hardReload, onSuccess, onError }) {
6409
6419
  const [data, setData] = React28.useState([]);
6410
6420
  const [columns, setColumns] = React28.useState([]);
@@ -6743,10 +6753,7 @@ function EditModal({
6743
6753
  setLoading(true);
6744
6754
  setError(null);
6745
6755
  try {
6746
- const csrfToken = document.querySelector('meta[name="csrf-token"]')?.getAttribute("content");
6747
- await import_axios3.default.put(`${baseUrl}/${itemId}/update`, form, {
6748
- headers: csrfToken ? { "X-CSRF-Token": csrfToken } : {}
6749
- });
6756
+ await csrfAxios.put(`${baseUrl}/${itemId}/update`, form);
6750
6757
  const updated = { ...item, ...form };
6751
6758
  if (notif && (notif.type ?? "toast") === "notification") {
6752
6759
  setBanner(true);
@@ -6837,10 +6844,7 @@ function DeleteModal({
6837
6844
  setLoading(true);
6838
6845
  setError(null);
6839
6846
  try {
6840
- const csrfToken = document.querySelector('meta[name="csrf-token"]')?.getAttribute("content");
6841
- await import_axios3.default.delete(`${baseUrl}/${itemId}/delete`, {
6842
- headers: csrfToken ? { "X-CSRF-Token": csrfToken } : {}
6843
- });
6847
+ await csrfAxios.delete(`${baseUrl}/${itemId}/delete`);
6844
6848
  onSuccess?.(item);
6845
6849
  onClose();
6846
6850
  } catch (err) {
@@ -6943,6 +6947,7 @@ function Table({
6943
6947
  setTableData(data ?? []);
6944
6948
  }, [data]);
6945
6949
  const actionIdKey = defaultActions?.idKey ?? idKey;
6950
+ const safeBaseUrl = defaultActions?.baseUrl.replace(/\/+$/, "") ?? "";
6946
6951
  const autoFields = React28.useMemo(() => {
6947
6952
  if (!tableData.length) return [];
6948
6953
  return Object.keys(tableData[0]).map((k) => ({
@@ -7344,7 +7349,7 @@ function Table({
7344
7349
  {
7345
7350
  item: editItem,
7346
7351
  fields: editFields,
7347
- baseUrl: defaultActions.baseUrl,
7352
+ baseUrl: safeBaseUrl,
7348
7353
  itemId: String(editItem[actionIdKey] ?? ""),
7349
7354
  notif: defaultActions.onSuccessNotif,
7350
7355
  grid: defaultActions.editFormGrid,
@@ -7372,7 +7377,7 @@ function Table({
7372
7377
  DeleteModal,
7373
7378
  {
7374
7379
  item: deleteItem,
7375
- baseUrl: defaultActions.baseUrl,
7380
+ baseUrl: safeBaseUrl,
7376
7381
  itemId: String(deleteItem[actionIdKey] ?? ""),
7377
7382
  notif: defaultActions.onSuccessNotif,
7378
7383
  onClose: () => setDeleteItem(null),
@@ -12875,7 +12880,7 @@ var setupInterceptors = () => {
12875
12880
  (response) => {
12876
12881
  const config = response.config;
12877
12882
  if (config.onSuccessNotification && toastFn) {
12878
- toastFn.toast({
12883
+ toastFn({
12879
12884
  variant: "success",
12880
12885
  title: config.successNotifTitle || "Success",
12881
12886
  description: config.successNotifContent || "Operation completed successfully"
@@ -12886,7 +12891,7 @@ var setupInterceptors = () => {
12886
12891
  (error) => {
12887
12892
  const config = error.config;
12888
12893
  if (config?.onErrorNotification && toastFn) {
12889
- toastFn.toast({
12894
+ toastFn({
12890
12895
  variant: "error",
12891
12896
  title: config.errorNotifTitle || "Error",
12892
12897
  description: config.errorNotifContent || error.response?.data?.message || "Something went wrong"
@@ -12900,6 +12905,10 @@ var setupInterceptors = () => {
12900
12905
  );
12901
12906
  };
12902
12907
 
12908
+ // src/lib/codego/provider.tsx
12909
+ var React51 = __toESM(require("react"), 1);
12910
+ var import_jsx_runtime63 = require("react/jsx-runtime");
12911
+
12903
12912
  // src/lib/codego/index.ts
12904
12913
  setupInterceptors();
12905
12914
  var api = {
@@ -12968,7 +12968,7 @@ var CodegoUI = (() => {
12968
12968
  var require_react_dom_production = __commonJS({
12969
12969
  "node_modules/react-dom/cjs/react-dom.production.js"(exports) {
12970
12970
  "use strict";
12971
- var React54 = require_react();
12971
+ var React55 = require_react();
12972
12972
  function formatProdErrorMessage(code) {
12973
12973
  var url2 = "https://react.dev/errors/" + code;
12974
12974
  if (1 < arguments.length) {
@@ -13008,7 +13008,7 @@ var CodegoUI = (() => {
13008
13008
  implementation
13009
13009
  };
13010
13010
  }
13011
- var ReactSharedInternals = React54.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
13011
+ var ReactSharedInternals = React55.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
13012
13012
  function getCrossOriginStringAs(as, input) {
13013
13013
  if ("font" === as) return "";
13014
13014
  if ("string" === typeof input)
@@ -13162,7 +13162,7 @@ var CodegoUI = (() => {
13162
13162
  return dispatcher;
13163
13163
  }
13164
13164
  "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
13165
- var React54 = require_react(), Internals = {
13165
+ var React55 = require_react(), Internals = {
13166
13166
  d: {
13167
13167
  f: noop2,
13168
13168
  r: function() {
@@ -13180,7 +13180,7 @@ var CodegoUI = (() => {
13180
13180
  },
13181
13181
  p: 0,
13182
13182
  findDOMNode: null
13183
- }, REACT_PORTAL_TYPE = /* @__PURE__ */ Symbol.for("react.portal"), ReactSharedInternals = React54.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
13183
+ }, REACT_PORTAL_TYPE = /* @__PURE__ */ Symbol.for("react.portal"), ReactSharedInternals = React55.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
13184
13184
  "function" === typeof Map && null != Map.prototype && "function" === typeof Map.prototype.forEach && "function" === typeof Set && null != Set.prototype && "function" === typeof Set.prototype.clear && "function" === typeof Set.prototype.forEach || console.error(
13185
13185
  "React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"
13186
13186
  );
@@ -13627,18 +13627,18 @@ var CodegoUI = (() => {
13627
13627
  function isValidElement(object) {
13628
13628
  return "object" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE;
13629
13629
  }
13630
- var React54 = require_react(), REACT_ELEMENT_TYPE = /* @__PURE__ */ Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = /* @__PURE__ */ Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = /* @__PURE__ */ Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = /* @__PURE__ */ Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = /* @__PURE__ */ Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = /* @__PURE__ */ Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = /* @__PURE__ */ Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = /* @__PURE__ */ Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = /* @__PURE__ */ Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = /* @__PURE__ */ Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = /* @__PURE__ */ Symbol.for("react.memo"), REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = /* @__PURE__ */ Symbol.for("react.activity"), REACT_CLIENT_REFERENCE = /* @__PURE__ */ Symbol.for("react.client.reference"), ReactSharedInternals = React54.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty2 = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() {
13630
+ var React55 = require_react(), REACT_ELEMENT_TYPE = /* @__PURE__ */ Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = /* @__PURE__ */ Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = /* @__PURE__ */ Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = /* @__PURE__ */ Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = /* @__PURE__ */ Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = /* @__PURE__ */ Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = /* @__PURE__ */ Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = /* @__PURE__ */ Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = /* @__PURE__ */ Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = /* @__PURE__ */ Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = /* @__PURE__ */ Symbol.for("react.memo"), REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = /* @__PURE__ */ Symbol.for("react.activity"), REACT_CLIENT_REFERENCE = /* @__PURE__ */ Symbol.for("react.client.reference"), ReactSharedInternals = React55.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty2 = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() {
13631
13631
  return null;
13632
13632
  };
13633
- React54 = {
13633
+ React55 = {
13634
13634
  react_stack_bottom_frame: function(callStackForError) {
13635
13635
  return callStackForError();
13636
13636
  }
13637
13637
  };
13638
13638
  var specialPropKeyWarningShown;
13639
13639
  var didWarnAboutElementRef = {};
13640
- var unknownOwnerDebugStack = React54.react_stack_bottom_frame.bind(
13641
- React54,
13640
+ var unknownOwnerDebugStack = React55.react_stack_bottom_frame.bind(
13641
+ React55,
13642
13642
  UnknownOwner
13643
13643
  )();
13644
13644
  var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
@@ -69551,6 +69551,16 @@ ${n2.shaderPreludeCode.vertexSource}`, define: n2.shaderDefine }, defaultProject
69551
69551
  var React28 = __toESM(require_react(), 1);
69552
69552
  var import_react_dom2 = __toESM(require_react_dom(), 1);
69553
69553
  var import_jsx_runtime32 = __toESM(require_jsx_runtime(), 1);
69554
+ var csrfAxios = axios_default.create();
69555
+ csrfAxios.interceptors.request.use((config) => {
69556
+ const method = (config.method ?? "").toUpperCase();
69557
+ if (["POST", "PUT", "PATCH", "DELETE"].includes(method)) {
69558
+ const token = document.querySelector('meta[name="csrf-token"]')?.getAttribute("content");
69559
+ if (!token) throw new Error('[Table] CSRF token not found. Add <meta name="csrf-token" content="..."> to your HTML <head>.');
69560
+ config.headers.set("X-CSRF-Token", token);
69561
+ }
69562
+ return config;
69563
+ });
69554
69564
  function useServerTable({ url: url2, params, encrypt, key, decryptPayloadLog, columnOverrides, debounce = 300, transform, manual = false, refresh: refreshEnabled = false, refreshInterval = 0, hardReload, onSuccess, onError }) {
69555
69565
  const [data, setData] = React28.useState([]);
69556
69566
  const [columns, setColumns] = React28.useState([]);
@@ -69889,10 +69899,7 @@ ${n2.shaderPreludeCode.vertexSource}`, define: n2.shaderDefine }, defaultProject
69889
69899
  setLoading(true);
69890
69900
  setError(null);
69891
69901
  try {
69892
- const csrfToken = document.querySelector('meta[name="csrf-token"]')?.getAttribute("content");
69893
- await axios_default.put(`${baseUrl}/${itemId}/update`, form, {
69894
- headers: csrfToken ? { "X-CSRF-Token": csrfToken } : {}
69895
- });
69902
+ await csrfAxios.put(`${baseUrl}/${itemId}/update`, form);
69896
69903
  const updated = { ...item, ...form };
69897
69904
  if (notif && (notif.type ?? "toast") === "notification") {
69898
69905
  setBanner(true);
@@ -69983,10 +69990,7 @@ ${n2.shaderPreludeCode.vertexSource}`, define: n2.shaderDefine }, defaultProject
69983
69990
  setLoading(true);
69984
69991
  setError(null);
69985
69992
  try {
69986
- const csrfToken = document.querySelector('meta[name="csrf-token"]')?.getAttribute("content");
69987
- await axios_default.delete(`${baseUrl}/${itemId}/delete`, {
69988
- headers: csrfToken ? { "X-CSRF-Token": csrfToken } : {}
69989
- });
69993
+ await csrfAxios.delete(`${baseUrl}/${itemId}/delete`);
69990
69994
  onSuccess?.(item);
69991
69995
  onClose();
69992
69996
  } catch (err) {
@@ -70089,6 +70093,7 @@ ${n2.shaderPreludeCode.vertexSource}`, define: n2.shaderDefine }, defaultProject
70089
70093
  setTableData(data ?? []);
70090
70094
  }, [data]);
70091
70095
  const actionIdKey = defaultActions?.idKey ?? idKey;
70096
+ const safeBaseUrl = defaultActions?.baseUrl.replace(/\/+$/, "") ?? "";
70092
70097
  const autoFields = React28.useMemo(() => {
70093
70098
  if (!tableData.length) return [];
70094
70099
  return Object.keys(tableData[0]).map((k) => ({
@@ -70490,7 +70495,7 @@ ${n2.shaderPreludeCode.vertexSource}`, define: n2.shaderDefine }, defaultProject
70490
70495
  {
70491
70496
  item: editItem,
70492
70497
  fields: editFields,
70493
- baseUrl: defaultActions.baseUrl,
70498
+ baseUrl: safeBaseUrl,
70494
70499
  itemId: String(editItem[actionIdKey] ?? ""),
70495
70500
  notif: defaultActions.onSuccessNotif,
70496
70501
  grid: defaultActions.editFormGrid,
@@ -70518,7 +70523,7 @@ ${n2.shaderPreludeCode.vertexSource}`, define: n2.shaderDefine }, defaultProject
70518
70523
  DeleteModal,
70519
70524
  {
70520
70525
  item: deleteItem,
70521
- baseUrl: defaultActions.baseUrl,
70526
+ baseUrl: safeBaseUrl,
70522
70527
  itemId: String(deleteItem[actionIdKey] ?? ""),
70523
70528
  notif: defaultActions.onSuccessNotif,
70524
70529
  onClose: () => setDeleteItem(null),
@@ -76431,7 +76436,7 @@ ${n2.shaderPreludeCode.vertexSource}`, define: n2.shaderDefine }, defaultProject
76431
76436
  (response) => {
76432
76437
  const config = response.config;
76433
76438
  if (config.onSuccessNotification && toastFn) {
76434
- toastFn.toast({
76439
+ toastFn({
76435
76440
  variant: "success",
76436
76441
  title: config.successNotifTitle || "Success",
76437
76442
  description: config.successNotifContent || "Operation completed successfully"
@@ -76442,7 +76447,7 @@ ${n2.shaderPreludeCode.vertexSource}`, define: n2.shaderDefine }, defaultProject
76442
76447
  (error) => {
76443
76448
  const config = error.config;
76444
76449
  if (config?.onErrorNotification && toastFn) {
76445
- toastFn.toast({
76450
+ toastFn({
76446
76451
  variant: "error",
76447
76452
  title: config.errorNotifTitle || "Error",
76448
76453
  description: config.errorNotifContent || error.response?.data?.message || "Something went wrong"
@@ -76456,6 +76461,10 @@ ${n2.shaderPreludeCode.vertexSource}`, define: n2.shaderDefine }, defaultProject
76456
76461
  );
76457
76462
  };
76458
76463
 
76464
+ // src/lib/codego/provider.tsx
76465
+ var React53 = __toESM(require_react(), 1);
76466
+ var import_jsx_runtime63 = __toESM(require_jsx_runtime(), 1);
76467
+
76459
76468
  // src/lib/codego/index.ts
76460
76469
  setupInterceptors();
76461
76470
  var api = {
package/dist/index.js CHANGED
@@ -6285,6 +6285,16 @@ import { createPortal as createPortal3 } from "react-dom";
6285
6285
  import axios3 from "axios";
6286
6286
  import { ChevronLeft as ChevronLeft6, ChevronRight as ChevronRight8, Search as Search5, Trash2 as Trash22, ChevronsUpDown, ChevronUp, ChevronDown as ChevronDown4, X as X9, Eye as Eye2, Pencil as Pencil2, Trash as Trash3, Loader2 as Loader22 } from "lucide-react";
6287
6287
  import { Fragment as Fragment11, jsx as jsx32, jsxs as jsxs30 } from "react/jsx-runtime";
6288
+ var csrfAxios = axios3.create();
6289
+ csrfAxios.interceptors.request.use((config) => {
6290
+ const method = (config.method ?? "").toUpperCase();
6291
+ if (["POST", "PUT", "PATCH", "DELETE"].includes(method)) {
6292
+ const token = document.querySelector('meta[name="csrf-token"]')?.getAttribute("content");
6293
+ if (!token) throw new Error('[Table] CSRF token not found. Add <meta name="csrf-token" content="..."> to your HTML <head>.');
6294
+ config.headers.set("X-CSRF-Token", token);
6295
+ }
6296
+ return config;
6297
+ });
6288
6298
  function useServerTable({ url, params, encrypt, key, decryptPayloadLog, columnOverrides, debounce = 300, transform, manual = false, refresh: refreshEnabled = false, refreshInterval = 0, hardReload, onSuccess, onError }) {
6289
6299
  const [data, setData] = React28.useState([]);
6290
6300
  const [columns, setColumns] = React28.useState([]);
@@ -6623,10 +6633,7 @@ function EditModal({
6623
6633
  setLoading(true);
6624
6634
  setError(null);
6625
6635
  try {
6626
- const csrfToken = document.querySelector('meta[name="csrf-token"]')?.getAttribute("content");
6627
- await axios3.put(`${baseUrl}/${itemId}/update`, form, {
6628
- headers: csrfToken ? { "X-CSRF-Token": csrfToken } : {}
6629
- });
6636
+ await csrfAxios.put(`${baseUrl}/${itemId}/update`, form);
6630
6637
  const updated = { ...item, ...form };
6631
6638
  if (notif && (notif.type ?? "toast") === "notification") {
6632
6639
  setBanner(true);
@@ -6717,10 +6724,7 @@ function DeleteModal({
6717
6724
  setLoading(true);
6718
6725
  setError(null);
6719
6726
  try {
6720
- const csrfToken = document.querySelector('meta[name="csrf-token"]')?.getAttribute("content");
6721
- await axios3.delete(`${baseUrl}/${itemId}/delete`, {
6722
- headers: csrfToken ? { "X-CSRF-Token": csrfToken } : {}
6723
- });
6727
+ await csrfAxios.delete(`${baseUrl}/${itemId}/delete`);
6724
6728
  onSuccess?.(item);
6725
6729
  onClose();
6726
6730
  } catch (err) {
@@ -6823,6 +6827,7 @@ function Table({
6823
6827
  setTableData(data ?? []);
6824
6828
  }, [data]);
6825
6829
  const actionIdKey = defaultActions?.idKey ?? idKey;
6830
+ const safeBaseUrl = defaultActions?.baseUrl.replace(/\/+$/, "") ?? "";
6826
6831
  const autoFields = React28.useMemo(() => {
6827
6832
  if (!tableData.length) return [];
6828
6833
  return Object.keys(tableData[0]).map((k) => ({
@@ -7224,7 +7229,7 @@ function Table({
7224
7229
  {
7225
7230
  item: editItem,
7226
7231
  fields: editFields,
7227
- baseUrl: defaultActions.baseUrl,
7232
+ baseUrl: safeBaseUrl,
7228
7233
  itemId: String(editItem[actionIdKey] ?? ""),
7229
7234
  notif: defaultActions.onSuccessNotif,
7230
7235
  grid: defaultActions.editFormGrid,
@@ -7252,7 +7257,7 @@ function Table({
7252
7257
  DeleteModal,
7253
7258
  {
7254
7259
  item: deleteItem,
7255
- baseUrl: defaultActions.baseUrl,
7260
+ baseUrl: safeBaseUrl,
7256
7261
  itemId: String(deleteItem[actionIdKey] ?? ""),
7257
7262
  notif: defaultActions.onSuccessNotif,
7258
7263
  onClose: () => setDeleteItem(null),
@@ -12755,7 +12760,7 @@ var setupInterceptors = () => {
12755
12760
  (response) => {
12756
12761
  const config = response.config;
12757
12762
  if (config.onSuccessNotification && toastFn) {
12758
- toastFn.toast({
12763
+ toastFn({
12759
12764
  variant: "success",
12760
12765
  title: config.successNotifTitle || "Success",
12761
12766
  description: config.successNotifContent || "Operation completed successfully"
@@ -12766,7 +12771,7 @@ var setupInterceptors = () => {
12766
12771
  (error) => {
12767
12772
  const config = error.config;
12768
12773
  if (config?.onErrorNotification && toastFn) {
12769
- toastFn.toast({
12774
+ toastFn({
12770
12775
  variant: "error",
12771
12776
  title: config.errorNotifTitle || "Error",
12772
12777
  description: config.errorNotifContent || error.response?.data?.message || "Something went wrong"
@@ -12780,6 +12785,10 @@ var setupInterceptors = () => {
12780
12785
  );
12781
12786
  };
12782
12787
 
12788
+ // src/lib/codego/provider.tsx
12789
+ import * as React51 from "react";
12790
+ import { Fragment as Fragment21, jsx as jsx63 } from "react/jsx-runtime";
12791
+
12783
12792
  // src/lib/codego/index.ts
12784
12793
  setupInterceptors();
12785
12794
  var api = {
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "registry": "https://registry.npmjs.org/",
5
5
  "access": "public"
6
6
  },
7
- "version": "3.3.8",
7
+ "version": "3.4.1",
8
8
  "description": "Reusable React UI components",
9
9
  "license": "MIT",
10
10
  "main": "dist/index.js",