@lasterp/shared 1.0.0-beta.6 → 1.0.0-beta.8

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.
@@ -1,10 +1,104 @@
1
1
  "use client";
2
+ var __create = Object.create;
3
+ var __getProtoOf = Object.getPrototypeOf;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ function __accessProp(key) {
9
+ return this[key];
10
+ }
11
+ var __toESMCache_node;
12
+ var __toESMCache_esm;
13
+ var __toESM = (mod, isNodeMode, target) => {
14
+ var canCache = mod != null && typeof mod === "object";
15
+ if (canCache) {
16
+ var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
17
+ var cached = cache.get(mod);
18
+ if (cached)
19
+ return cached;
20
+ }
21
+ target = mod != null ? __create(__getProtoOf(mod)) : {};
22
+ const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
23
+ for (let key of __getOwnPropNames(mod))
24
+ if (!__hasOwnProp.call(to, key))
25
+ __defProp(to, key, {
26
+ get: __accessProp.bind(mod, key),
27
+ enumerable: true
28
+ });
29
+ if (canCache)
30
+ cache.set(mod, to);
31
+ return to;
32
+ };
33
+ var __toCommonJS = (from) => {
34
+ var entry = (__moduleCache ??= new WeakMap).get(from), desc;
35
+ if (entry)
36
+ return entry;
37
+ entry = __defProp({}, "__esModule", { value: true });
38
+ if (from && typeof from === "object" || typeof from === "function") {
39
+ for (var key of __getOwnPropNames(from))
40
+ if (!__hasOwnProp.call(entry, key))
41
+ __defProp(entry, key, {
42
+ get: __accessProp.bind(from, key),
43
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
44
+ });
45
+ }
46
+ __moduleCache.set(from, entry);
47
+ return entry;
48
+ };
49
+ var __moduleCache;
50
+ var __returnValue = (v) => v;
51
+ function __exportSetter(name, newValue) {
52
+ this[name] = __returnValue.bind(null, newValue);
53
+ }
54
+ var __export = (target, all) => {
55
+ for (var name in all)
56
+ __defProp(target, name, {
57
+ get: all[name],
58
+ enumerable: true,
59
+ configurable: true,
60
+ set: __exportSetter.bind(all, name)
61
+ });
62
+ };
63
+
64
+ // src/index.ts
65
+ var exports_src = {};
66
+ __export(exports_src, {
67
+ useVariantSelector: () => useVariantSelector,
68
+ useSearch: () => useSearch,
69
+ useLocale: () => useLocale,
70
+ useFrappeUpdateDoc: () => useFrappeUpdateDoc,
71
+ useFrappePutCall: () => useFrappePutCall,
72
+ useFrappePrefetchDoc: () => useFrappePrefetchDoc,
73
+ useFrappePostCall: () => useFrappePostCall,
74
+ useFrappeGetDocList: () => useFrappeGetDocList,
75
+ useFrappeGetDocCount: () => useFrappeGetDocCount,
76
+ useFrappeGetDoc: () => useFrappeGetDoc,
77
+ useFrappeGetCall: () => useFrappeGetCall,
78
+ useFrappeFileUpload: () => useFrappeFileUpload,
79
+ useFrappeEventListener: () => useFrappeEventListener,
80
+ useFrappeDocumentEventListener: () => useFrappeDocumentEventListener,
81
+ useFrappeDocTypeEventListener: () => useFrappeDocTypeEventListener,
82
+ useFrappeDeleteDoc: () => useFrappeDeleteDoc,
83
+ useFrappeDeleteCall: () => useFrappeDeleteCall,
84
+ useFrappeCreateDoc: () => useFrappeCreateDoc,
85
+ useFrappeAuth: () => useFrappeAuth,
86
+ equalsIgnoreCase: () => equalsIgnoreCase,
87
+ decamelizeKeys: () => import_humps.decamelizeKeys,
88
+ decamelize: () => import_humps.decamelize,
89
+ camelizeKeys: () => import_humps.camelizeKeys,
90
+ camelize: () => import_humps.camelize,
91
+ LocaleProvider: () => LocaleProvider,
92
+ FrappeProvider: () => FrappeProvider,
93
+ FrappeContext: () => FrappeContext
94
+ });
95
+ module.exports = __toCommonJS(exports_src);
2
96
  // src/frappe/provider.tsx
3
- import { useMemo, createContext } from "react";
4
- import { FrappeApp } from "frappe-js-sdk";
97
+ var import_react = require("react");
98
+ var import_frappe_js_sdk = require("frappe-js-sdk");
5
99
 
6
100
  // src/frappe/socket.ts
7
- import io from "socket.io-client";
101
+ var import_socket = __toESM(require("socket.io-client"));
8
102
 
9
103
  class SocketIO {
10
104
  socket_port;
@@ -35,7 +129,7 @@ class SocketIO {
35
129
  this.url = `${this.url}${site_name}`;
36
130
  }
37
131
  this.site_name = site_name;
38
- this.socket = io(`${this.url}`, {
132
+ this.socket = import_socket.default(`${this.url}`, {
39
133
  withCredentials: true,
40
134
  secure: this.protocol === "https",
41
135
  extraHeaders: tokenParams && tokenParams.useToken === true ? {
@@ -46,9 +140,9 @@ class SocketIO {
46
140
  }
47
141
 
48
142
  // src/frappe/provider.tsx
49
- import { jsx } from "react/jsx-runtime";
143
+ var jsx_runtime = require("react/jsx-runtime");
50
144
 
51
- var FrappeContext = createContext(null);
145
+ var FrappeContext = import_react.createContext(null);
52
146
  var FrappeProvider = ({
53
147
  url = "",
54
148
  tokenParams,
@@ -58,8 +152,8 @@ var FrappeProvider = ({
58
152
  children,
59
153
  customHeaders
60
154
  }) => {
61
- const config = useMemo(() => {
62
- const frappe = new FrappeApp(url, tokenParams, undefined, customHeaders);
155
+ const config = import_react.useMemo(() => {
156
+ const frappe = new import_frappe_js_sdk.FrappeApp(url, tokenParams, undefined, customHeaders);
63
157
  return {
64
158
  url,
65
159
  tokenParams,
@@ -71,19 +165,19 @@ var FrappeProvider = ({
71
165
  socket: enableSocket ? new SocketIO(url, siteName, socketPort, tokenParams).socket : undefined
72
166
  };
73
167
  }, [url, tokenParams, enableSocket, socketPort, siteName, customHeaders]);
74
- return /* @__PURE__ */ jsx(FrappeContext.Provider, {
168
+ return /* @__PURE__ */ jsx_runtime.jsx(FrappeContext.Provider, {
75
169
  value: config,
76
170
  children
77
171
  });
78
172
  };
79
173
  // src/frappe/hooks/auth.ts
80
- import { useCallback, useContext, useState, useEffect } from "react";
81
- import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
174
+ var import_react2 = require("react");
175
+ var import_react_query = require("@tanstack/react-query");
82
176
  var useFrappeAuth = () => {
83
- const queryClient = useQueryClient();
84
- const { auth, tokenParams } = useContext(FrappeContext);
85
- const [userID, setUserID] = useState();
86
- const getUserCookie = useCallback(() => {
177
+ const queryClient = import_react_query.useQueryClient();
178
+ const { auth, tokenParams } = import_react2.useContext(FrappeContext);
179
+ const [userID, setUserID] = import_react2.useState();
180
+ const getUserCookie = import_react2.useCallback(() => {
87
181
  const userCookie = document.cookie.split(";").find((c) => c.trim().startsWith("user_id="));
88
182
  if (userCookie) {
89
183
  const userName = userCookie.split("=")[1];
@@ -96,7 +190,7 @@ var useFrappeAuth = () => {
96
190
  setUserID(null);
97
191
  }
98
192
  }, []);
99
- useEffect(() => {
193
+ import_react2.useEffect(() => {
100
194
  if (tokenParams && tokenParams.useToken) {
101
195
  setUserID(null);
102
196
  } else {
@@ -108,7 +202,7 @@ var useFrappeAuth = () => {
108
202
  error,
109
203
  isLoading,
110
204
  isFetching: isValidating
111
- } = useQuery({
205
+ } = import_react_query.useQuery({
112
206
  queryKey: ["currentUser", { tokenParams, userID }],
113
207
  queryFn: () => auth.getLoggedInUser(),
114
208
  enabled: !!(tokenParams?.useToken || userID),
@@ -116,14 +210,14 @@ var useFrappeAuth = () => {
116
210
  refetchOnWindowFocus: false,
117
211
  staleTime: Infinity
118
212
  });
119
- const loginMutation = useMutation({
213
+ const loginMutation = import_react_query.useMutation({
120
214
  mutationFn: (credentials) => auth.loginWithUsernamePassword(credentials),
121
215
  onSuccess: () => {
122
216
  getUserCookie();
123
217
  queryClient.invalidateQueries({ queryKey: ["currentUser"] });
124
218
  }
125
219
  });
126
- const logoutMutation = useMutation({
220
+ const logoutMutation = import_react_query.useMutation({
127
221
  mutationFn: () => auth.logout(),
128
222
  onSuccess: () => {
129
223
  setUserID(null);
@@ -142,8 +236,8 @@ var useFrappeAuth = () => {
142
236
  };
143
237
  };
144
238
  // src/frappe/hooks/call.ts
145
- import { useContext as useContext2 } from "react";
146
- import { useMutation as useMutation2, useQuery as useQuery2 } from "@tanstack/react-query";
239
+ var import_react3 = require("react");
240
+ var import_react_query2 = require("@tanstack/react-query");
147
241
 
148
242
  // src/frappe/utils.ts
149
243
  function encodeQueryData(data) {
@@ -155,11 +249,11 @@ function encodeQueryData(data) {
155
249
 
156
250
  // src/frappe/hooks/call.ts
157
251
  var useFrappeGetCall = (method, params, options, type = "GET") => {
158
- const { call } = useContext2(FrappeContext);
252
+ const { call } = import_react3.useContext(FrappeContext);
159
253
  const urlParams = encodeQueryData(params ?? {});
160
254
  const url = `${method}?${urlParams}`;
161
255
  const queryKey = ["frappeCall", type, method, url];
162
- const { data, error, isLoading, isFetching, refetch } = useQuery2({
256
+ const { data, error, isLoading, isFetching, refetch } = import_react_query2.useQuery({
163
257
  queryKey,
164
258
  queryFn: type === "GET" ? () => call.get(method, params) : () => call.post(method, params),
165
259
  enabled: (options?.enabled ?? true) && !!method,
@@ -175,9 +269,9 @@ var useFrappeGetCall = (method, params, options, type = "GET") => {
175
269
  };
176
270
  };
177
271
  var useFrappeMutation = (method, httpMethod) => {
178
- const { call: frappeCall } = useContext2(FrappeContext);
272
+ const { call: frappeCall } = import_react3.useContext(FrappeContext);
179
273
  const queryKey = ["frappeCall", httpMethod, method];
180
- const { mutateAsync, data, isPending, error, isSuccess, reset } = useMutation2({
274
+ const { mutateAsync, data, isPending, error, isSuccess, reset } = import_react_query2.useMutation({
181
275
  mutationKey: queryKey,
182
276
  mutationFn: (params) => {
183
277
  if (httpMethod === "POST")
@@ -200,12 +294,12 @@ var useFrappePostCall = (method) => useFrappeMutation(method, "POST");
200
294
  var useFrappePutCall = (method) => useFrappeMutation(method, "PUT");
201
295
  var useFrappeDeleteCall = (method) => useFrappeMutation(method, "DELETE");
202
296
  // src/frappe/hooks/count.ts
203
- import { useContext as useContext3 } from "react";
204
- import { useQuery as useQuery3 } from "@tanstack/react-query";
297
+ var import_react4 = require("react");
298
+ var import_react_query3 = require("@tanstack/react-query");
205
299
  var useFrappeGetDocCount = (doctype, filters, debug = false, options) => {
206
- const { url, db } = useContext3(FrappeContext);
300
+ const { url, db } = import_react4.useContext(FrappeContext);
207
301
  const queryKey = ["docCount", url, doctype, filters ?? [], debug];
208
- const { data, error, isLoading, isFetching, refetch } = useQuery3({
302
+ const { data, error, isLoading, isFetching, refetch } = import_react_query3.useQuery({
209
303
  queryKey,
210
304
  queryFn: () => db.getCount(doctype, filters, debug),
211
305
  enabled: !!doctype,
@@ -220,11 +314,11 @@ var useFrappeGetDocCount = (doctype, filters, debug = false, options) => {
220
314
  };
221
315
  };
222
316
  // src/frappe/hooks/create.ts
223
- import { useContext as useContext4 } from "react";
224
- import { useMutation as useMutation3 } from "@tanstack/react-query";
317
+ var import_react5 = require("react");
318
+ var import_react_query4 = require("@tanstack/react-query");
225
319
  var useFrappeCreateDoc = () => {
226
- const { db } = useContext4(FrappeContext);
227
- const { mutateAsync, isPending, error, isSuccess, reset } = useMutation3({
320
+ const { db } = import_react5.useContext(FrappeContext);
321
+ const { mutateAsync, isPending, error, isSuccess, reset } = import_react_query4.useMutation({
228
322
  mutationFn: ({ doctype, doc }) => db.createDoc(doctype, doc)
229
323
  });
230
324
  const createDoc = (doctype, doc) => mutateAsync({ doctype, doc });
@@ -237,11 +331,11 @@ var useFrappeCreateDoc = () => {
237
331
  };
238
332
  };
239
333
  // src/frappe/hooks/delete.ts
240
- import { useContext as useContext5 } from "react";
241
- import { useMutation as useMutation4 } from "@tanstack/react-query";
334
+ var import_react6 = require("react");
335
+ var import_react_query5 = require("@tanstack/react-query");
242
336
  var useFrappeDeleteDoc = () => {
243
- const { db } = useContext5(FrappeContext);
244
- const { mutateAsync, isPending, error, isSuccess, reset } = useMutation4({
337
+ const { db } = import_react6.useContext(FrappeContext);
338
+ const { mutateAsync, isPending, error, isSuccess, reset } = import_react_query5.useMutation({
245
339
  mutationFn: ({ doctype, docname }) => db.deleteDoc(doctype, docname)
246
340
  });
247
341
  const deleteDoc = (doctype, docname) => mutateAsync({ doctype, docname });
@@ -254,10 +348,10 @@ var useFrappeDeleteDoc = () => {
254
348
  };
255
349
  };
256
350
  // src/frappe/hooks/event.ts
257
- import { useCallback as useCallback2, useContext as useContext6, useState as useState2, useEffect as useEffect2 } from "react";
351
+ var import_react7 = require("react");
258
352
  var useFrappeEventListener = (eventName, callback) => {
259
- const { socket } = useContext6(FrappeContext);
260
- useEffect2(() => {
353
+ const { socket } = import_react7.useContext(FrappeContext);
354
+ import_react7.useEffect(() => {
261
355
  if (socket === undefined) {
262
356
  console.warn("Socket is not enabled. Please enable socket in FrappeProvider.");
263
357
  }
@@ -268,9 +362,9 @@ var useFrappeEventListener = (eventName, callback) => {
268
362
  }, [eventName, callback, socket]);
269
363
  };
270
364
  var useFrappeDocumentEventListener = (doctype, docname, onUpdateCallback, emitOpenCloseEventsOnMount = true) => {
271
- const { socket } = useContext6(FrappeContext);
272
- const [viewers, setViewers] = useState2([]);
273
- useEffect2(() => {
365
+ const { socket } = import_react7.useContext(FrappeContext);
366
+ const [viewers, setViewers] = import_react7.useState([]);
367
+ import_react7.useEffect(() => {
274
368
  if (socket === undefined) {
275
369
  console.warn("Socket is not enabled. Please enable socket in FrappeProvider.");
276
370
  }
@@ -291,13 +385,13 @@ var useFrappeDocumentEventListener = (doctype, docname, onUpdateCallback, emitOp
291
385
  };
292
386
  }, [doctype, docname, emitOpenCloseEventsOnMount, socket]);
293
387
  useFrappeEventListener("doc_update", onUpdateCallback);
294
- const emitDocOpen = useCallback2(() => {
388
+ const emitDocOpen = import_react7.useCallback(() => {
295
389
  socket?.emit("doc_open", doctype, docname);
296
390
  }, [doctype, docname, socket]);
297
- const emitDocClose = useCallback2(() => {
391
+ const emitDocClose = import_react7.useCallback(() => {
298
392
  socket?.emit("doc_close", doctype, docname);
299
393
  }, [doctype, docname, socket]);
300
- const onViewerEvent = useCallback2((data) => {
394
+ const onViewerEvent = import_react7.useCallback((data) => {
301
395
  if (data.doctype === doctype && data.docname === docname) {
302
396
  setViewers(data.users);
303
397
  }
@@ -310,8 +404,8 @@ var useFrappeDocumentEventListener = (doctype, docname, onUpdateCallback, emitOp
310
404
  };
311
405
  };
312
406
  var useFrappeDocTypeEventListener = (doctype, onListUpdateCallback) => {
313
- const { socket } = useContext6(FrappeContext);
314
- useEffect2(() => {
407
+ const { socket } = import_react7.useContext(FrappeContext);
408
+ import_react7.useEffect(() => {
315
409
  if (socket === undefined) {
316
410
  console.warn("Socket is not enabled. Please enable socket in FrappeProvider.");
317
411
  }
@@ -328,18 +422,18 @@ var useFrappeDocTypeEventListener = (doctype, onListUpdateCallback) => {
328
422
  useFrappeEventListener("list_update", onListUpdateCallback);
329
423
  };
330
424
  // src/frappe/hooks/file.ts
331
- import { useContext as useContext7, useState as useState3 } from "react";
332
- import { useMutation as useMutation5 } from "@tanstack/react-query";
425
+ var import_react8 = require("react");
426
+ var import_react_query6 = require("@tanstack/react-query");
333
427
  var useFrappeFileUpload = () => {
334
- const { file } = useContext7(FrappeContext);
335
- const [progress, setProgress] = useState3(0);
428
+ const { file } = import_react8.useContext(FrappeContext);
429
+ const [progress, setProgress] = import_react8.useState(0);
336
430
  const {
337
431
  mutateAsync,
338
432
  isPending,
339
433
  error,
340
434
  isSuccess,
341
435
  reset: resetMutation
342
- } = useMutation5({
436
+ } = import_react_query6.useMutation({
343
437
  mutationFn: ({ f, args, apiPath }) => {
344
438
  setProgress(0);
345
439
  return file.uploadFile(f, args, (completed, total) => {
@@ -366,12 +460,12 @@ var useFrappeFileUpload = () => {
366
460
  };
367
461
  };
368
462
  // src/frappe/hooks/get.ts
369
- import { useContext as useContext8 } from "react";
370
- import { useQuery as useQuery4 } from "@tanstack/react-query";
463
+ var import_react9 = require("react");
464
+ var import_react_query7 = require("@tanstack/react-query");
371
465
  var useFrappeGetDoc = (doctype, name, options) => {
372
- const { url, db } = useContext8(FrappeContext);
466
+ const { url, db } = import_react9.useContext(FrappeContext);
373
467
  const queryKey = ["doc", url, doctype, name];
374
- const { data, error, isLoading, isFetching, refetch } = useQuery4({
468
+ const { data, error, isLoading, isFetching, refetch } = import_react_query7.useQuery({
375
469
  queryKey,
376
470
  queryFn: () => db.getDoc(doctype, name),
377
471
  enabled: !!name,
@@ -387,14 +481,12 @@ var useFrappeGetDoc = (doctype, name, options) => {
387
481
  };
388
482
  };
389
483
  // src/frappe/hooks/list.ts
390
- import { useContext as useContext9 } from "react";
391
- import {
392
- useQuery as useQuery5
393
- } from "@tanstack/react-query";
484
+ var import_react10 = require("react");
485
+ var import_react_query8 = require("@tanstack/react-query");
394
486
  var useFrappeGetDocList = (doctype, args, options) => {
395
- const { url, db } = useContext9(FrappeContext);
487
+ const { url, db } = import_react10.useContext(FrappeContext);
396
488
  const queryKey = ["docList", url, doctype, args ?? null];
397
- const { data, error, isLoading, isFetching, refetch } = useQuery5({
489
+ const { data, error, isLoading, isFetching, refetch } = import_react_query8.useQuery({
398
490
  queryKey,
399
491
  queryFn: () => db.getDocList(doctype, args),
400
492
  ...options
@@ -408,12 +500,12 @@ var useFrappeGetDocList = (doctype, args, options) => {
408
500
  };
409
501
  };
410
502
  // src/frappe/hooks/prefetch.ts
411
- import { useCallback as useCallback3, useContext as useContext10 } from "react";
412
- import { useQueryClient as useQueryClient2 } from "@tanstack/react-query";
503
+ var import_react11 = require("react");
504
+ var import_react_query9 = require("@tanstack/react-query");
413
505
  var useFrappePrefetchDoc = (doctype, name, options) => {
414
- const queryClient = useQueryClient2();
415
- const { url, db } = useContext10(FrappeContext);
416
- const preloadDoc = useCallback3(() => {
506
+ const queryClient = import_react_query9.useQueryClient();
507
+ const { url, db } = import_react11.useContext(FrappeContext);
508
+ const preloadDoc = import_react11.useCallback(() => {
417
509
  if (!name)
418
510
  return;
419
511
  const queryKey = ["doc", url, doctype, name];
@@ -426,7 +518,7 @@ var useFrappePrefetchDoc = (doctype, name, options) => {
426
518
  return preloadDoc;
427
519
  };
428
520
  // src/frappe/hooks/search.ts
429
- import { useEffect as useEffect3, useState as useState4 } from "react";
521
+ var import_react12 = require("react");
430
522
  var useSearch = (doctype, text, filters = [], limit = 20, debounce = 250) => {
431
523
  const debouncedText = useDebounce(text, debounce);
432
524
  return useFrappeGetCall("frappe.desk.search.search_link", {
@@ -437,8 +529,8 @@ var useSearch = (doctype, text, filters = [], limit = 20, debounce = 250) => {
437
529
  });
438
530
  };
439
531
  var useDebounce = (value, delay) => {
440
- const [debouncedValue, setDebouncedValue] = useState4(value);
441
- useEffect3(() => {
532
+ const [debouncedValue, setDebouncedValue] = import_react12.useState(value);
533
+ import_react12.useEffect(() => {
442
534
  const handler = setTimeout(() => {
443
535
  setDebouncedValue(value);
444
536
  }, delay);
@@ -449,11 +541,11 @@ var useDebounce = (value, delay) => {
449
541
  return debouncedValue;
450
542
  };
451
543
  // src/frappe/hooks/update.ts
452
- import { useContext as useContext11 } from "react";
453
- import { useMutation as useMutation6 } from "@tanstack/react-query";
544
+ var import_react13 = require("react");
545
+ var import_react_query10 = require("@tanstack/react-query");
454
546
  var useFrappeUpdateDoc = () => {
455
- const { db } = useContext11(FrappeContext);
456
- const { mutateAsync, isPending, error, isSuccess, reset } = useMutation6({
547
+ const { db } = import_react13.useContext(FrappeContext);
548
+ const { mutateAsync, isPending, error, isSuccess, reset } = import_react_query10.useMutation({
457
549
  mutationFn: ({ doctype, docname, doc }) => db.updateDoc(doctype, docname, doc)
458
550
  });
459
551
  const updateDoc = (doctype, docname, doc) => mutateAsync({ doctype, docname, doc });
@@ -466,7 +558,7 @@ var useFrappeUpdateDoc = () => {
466
558
  };
467
559
  };
468
560
  // src/hooks/use-variant-selector/hook.ts
469
- import { useCallback as useCallback4, useMemo as useMemo2, useState as useState5 } from "react";
561
+ var import_react14 = require("react");
470
562
 
471
563
  // src/hooks/use-variant-selector/utils.ts
472
564
  function findVariant(variants, specs, caseInsensitive) {
@@ -499,21 +591,21 @@ function findVariants(variants, specs, caseInsensitive) {
499
591
  // src/hooks/use-variant-selector/hook.ts
500
592
  var useVariantSelector = (props) => {
501
593
  const { variants, attributes, defaultId } = props;
502
- const [selectedSpecs, setSelectedSpecs] = useState5(() => {
594
+ const [selectedSpecs, setSelectedSpecs] = import_react14.useState(() => {
503
595
  if (defaultId) {
504
596
  const variant = variants.find((v) => v.id === defaultId);
505
597
  return variant?.specs || {};
506
598
  }
507
599
  return {};
508
600
  });
509
- const variantId = useMemo2(() => {
601
+ const variantId = import_react14.useMemo(() => {
510
602
  const complete = attributes.every((attr) => selectedSpecs[attr.key]);
511
603
  if (!complete)
512
604
  return;
513
605
  const variant = findVariant(variants, selectedSpecs);
514
606
  return variant?.id;
515
607
  }, [variants, selectedSpecs, attributes]);
516
- const options = useMemo2(() => {
608
+ const options = import_react14.useMemo(() => {
517
609
  const result = {};
518
610
  attributes.forEach((attr, attrIndex) => {
519
611
  const constraints = {};
@@ -536,7 +628,7 @@ var useVariantSelector = (props) => {
536
628
  });
537
629
  return result;
538
630
  }, [variants, attributes, selectedSpecs]);
539
- const onOptionSelect = useCallback4((key, value) => {
631
+ const onOptionSelect = import_react14.useCallback((key, value) => {
540
632
  setSelectedSpecs((prev) => {
541
633
  const newSpecs = { ...prev, [key]: value };
542
634
  const attrIndex = attributes.findIndex((a) => a.key === key);
@@ -571,14 +663,8 @@ var useVariantSelector = (props) => {
571
663
  };
572
664
  };
573
665
  // src/locale/provider.tsx
574
- import {
575
- createContext as createContext2,
576
- useCallback as useCallback5,
577
- useContext as useContext12,
578
- useEffect as useEffect4,
579
- useState as useState6
580
- } from "react";
581
- import { jsx as jsx2 } from "react/jsx-runtime";
666
+ var import_react15 = require("react");
667
+ var jsx_runtime2 = require("react/jsx-runtime");
582
668
  function translate(message, replace, messages = {}) {
583
669
  let translated = messages[message] ?? message;
584
670
  replace?.forEach((val, i) => {
@@ -586,15 +672,15 @@ function translate(message, replace, messages = {}) {
586
672
  });
587
673
  return translated;
588
674
  }
589
- var LocaleContext = createContext2((message) => message);
675
+ var LocaleContext = import_react15.createContext((message) => message);
590
676
  function LocaleProvider({
591
677
  method,
592
678
  language,
593
679
  storage,
594
680
  children
595
681
  }) {
596
- const [messages, setMessages] = useState6({});
597
- useEffect4(() => {
682
+ const [messages, setMessages] = import_react15.useState({});
683
+ import_react15.useEffect(() => {
598
684
  if (!storage)
599
685
  return;
600
686
  const key = `locale:${language}`;
@@ -604,55 +690,26 @@ function LocaleProvider({
604
690
  }).catch(() => {});
605
691
  }, [language, storage]);
606
692
  const { data, isLoading } = useFrappeGetCall(method, { language }, { staleTime: Infinity });
607
- useEffect4(() => {
693
+ import_react15.useEffect(() => {
608
694
  if (!data?.message)
609
695
  return;
610
696
  setMessages(data.message);
611
697
  storage?.setItem(`locale:${language}`, JSON.stringify(data.message));
612
698
  }, [data, language, storage]);
613
- const __ = useCallback5((message, replace) => translate(message, replace, messages), [messages]);
699
+ const __ = import_react15.useCallback((message, replace) => translate(message, replace, messages), [messages]);
614
700
  if (isLoading && Object.keys(messages).length === 0)
615
701
  return null;
616
- return /* @__PURE__ */ jsx2(LocaleContext.Provider, {
702
+ return /* @__PURE__ */ jsx_runtime2.jsx(LocaleContext.Provider, {
617
703
  value: __,
618
704
  children
619
705
  });
620
706
  }
621
707
  function useLocale() {
622
- const __ = useContext12(LocaleContext);
708
+ const __ = import_react15.useContext(LocaleContext);
623
709
  return { __ };
624
710
  }
625
711
  // src/utils/char.ts
626
- import { camelize, decamelize, camelizeKeys, decamelizeKeys } from "humps";
712
+ var import_humps = require("humps");
627
713
  function equalsIgnoreCase(str1, str2) {
628
714
  return str1.localeCompare(str2, undefined, { sensitivity: "accent" }) === 0;
629
715
  }
630
- export {
631
- useVariantSelector,
632
- useSearch,
633
- useLocale,
634
- useFrappeUpdateDoc,
635
- useFrappePutCall,
636
- useFrappePrefetchDoc,
637
- useFrappePostCall,
638
- useFrappeGetDocList,
639
- useFrappeGetDocCount,
640
- useFrappeGetDoc,
641
- useFrappeGetCall,
642
- useFrappeFileUpload,
643
- useFrappeEventListener,
644
- useFrappeDocumentEventListener,
645
- useFrappeDocTypeEventListener,
646
- useFrappeDeleteDoc,
647
- useFrappeDeleteCall,
648
- useFrappeCreateDoc,
649
- useFrappeAuth,
650
- equalsIgnoreCase,
651
- decamelizeKeys,
652
- decamelize,
653
- camelizeKeys,
654
- camelize,
655
- LocaleProvider,
656
- FrappeProvider,
657
- FrappeContext
658
- };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lasterp/shared",
3
- "version": "1.0.0-beta.6",
3
+ "version": "1.0.0-beta.8",
4
4
  "description": "Shared repo for webapp and native app",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -33,13 +33,14 @@
33
33
  "type": "module",
34
34
  "exports": {
35
35
  ".": {
36
- "node": "./dist/node/index.js",
37
- "rn": "./dist/rn/index.js",
38
- "default": "./dist/node/index.js"
36
+ "types": "./dist/index.d.ts",
37
+ "import": "./dist/index.js",
38
+ "require": "./dist/index.cjs"
39
39
  },
40
40
  "./package.json": "./package.json"
41
41
  },
42
42
  "module": "./dist/index.js",
43
+ "main": "./dist/index.cjs",
43
44
  "types": "./dist/index.d.ts",
44
45
  "dependencies": {
45
46
  "frappe-js-sdk": "^1.12.0",
File without changes
File without changes
File without changes