@scbt-ecom/ui 0.43.0 → 0.44.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.
Files changed (66) hide show
  1. package/dist/hooks.js +13 -14
  2. package/dist/hooks.js.map +1 -1
  3. package/dist/index-DV_MMMPA.js +41785 -0
  4. package/dist/index-DV_MMMPA.js.map +1 -0
  5. package/dist/isClient-C9aZtt2Q.js +5 -0
  6. package/dist/{isClient-D-a29gNu.js.map → isClient-C9aZtt2Q.js.map} +1 -1
  7. package/dist/shared/ui/formElements/controlled/checkbox/CheckboxControl.d.ts +1 -1
  8. package/dist/shared/ui/formElements/controlled/checkbox/index.d.ts +1 -1
  9. package/dist/shared/ui/formElements/controlled/dadata/address/DadataAddress.d.ts +5 -4
  10. package/dist/shared/ui/formElements/controlled/dadata/address/index.d.ts +1 -1
  11. package/dist/shared/ui/formElements/controlled/dadata/auto/DadataAuto.d.ts +5 -4
  12. package/dist/shared/ui/formElements/controlled/dadata/auto/index.d.ts +1 -1
  13. package/dist/shared/ui/formElements/controlled/dadata/country/DadataCountry.d.ts +5 -4
  14. package/dist/shared/ui/formElements/controlled/dadata/country/index.d.ts +1 -1
  15. package/dist/shared/ui/formElements/controlled/dadata/fio/DadataFio.d.ts +5 -4
  16. package/dist/shared/ui/formElements/controlled/dadata/fio/index.d.ts +1 -1
  17. package/dist/shared/ui/formElements/controlled/dadata/index.d.ts +5 -5
  18. package/dist/shared/ui/formElements/controlled/dadata/party/DadataOrganization.d.ts +5 -4
  19. package/dist/shared/ui/formElements/controlled/dadata/party/index.d.ts +1 -1
  20. package/dist/shared/ui/formElements/controlled/dayPickerControl/index.d.ts +1 -1
  21. package/dist/shared/ui/formElements/controlled/editor/index.d.ts +1 -1
  22. package/dist/shared/ui/formElements/controlled/index.d.ts +27 -107
  23. package/dist/shared/ui/formElements/controlled/input/InputControl.d.ts +1 -1
  24. package/dist/shared/ui/formElements/controlled/input/MaskInputControl.d.ts +1 -1
  25. package/dist/shared/ui/formElements/controlled/input/index.d.ts +2 -2
  26. package/dist/shared/ui/formElements/controlled/inputCurrency/index.d.ts +1 -1
  27. package/dist/shared/ui/formElements/controlled/radio/RadioGroupControl.d.ts +1 -1
  28. package/dist/shared/ui/formElements/controlled/radio/index.d.ts +1 -1
  29. package/dist/shared/ui/formElements/controlled/select/SelectControl.d.ts +1 -1
  30. package/dist/shared/ui/formElements/controlled/select/index.d.ts +1 -1
  31. package/dist/shared/ui/formElements/controlled/slider/SliderControl.d.ts +1 -1
  32. package/dist/shared/ui/formElements/controlled/slider/index.d.ts +1 -1
  33. package/dist/shared/ui/formElements/controlled/switch/index.d.ts +1 -1
  34. package/dist/shared/ui/formElements/controlled/uploader/UploaderControl.d.ts +1 -1
  35. package/dist/shared/ui/formElements/controlled/uploader/index.d.ts +1 -1
  36. package/dist/shared/ui/phoneView/PhoneView.d.ts +1 -1
  37. package/dist/shared/validation/dadata/dadata.validators.d.ts +1 -0
  38. package/dist/{cn-DIfn7EPB.js → typeGuards-yOWv7RXH.js} +130 -106
  39. package/dist/typeGuards-yOWv7RXH.js.map +1 -0
  40. package/dist/ui.js +335 -33184
  41. package/dist/ui.js.map +1 -1
  42. package/dist/useDebounce-QgEEiWs9.js +1190 -0
  43. package/dist/useDebounce-QgEEiWs9.js.map +1 -0
  44. package/dist/{utils-Baa0uHhG.js → utils-DnWHDMk6.js} +125 -125
  45. package/dist/{utils-Baa0uHhG.js.map → utils-DnWHDMk6.js.map} +1 -1
  46. package/dist/utils.js +4 -5
  47. package/dist/utils.js.map +1 -1
  48. package/dist/validation.js +76 -76
  49. package/dist/widget.js +127 -123
  50. package/dist/widget.js.map +1 -1
  51. package/dist/widgets/fieldMapper/FieldMapper.d.ts +8 -0
  52. package/dist/widgets/fieldMapper/index.d.ts +2 -0
  53. package/dist/widgets/fieldMapper/model/types.d.ts +9 -0
  54. package/dist/widgets/index.d.ts +1 -0
  55. package/package.json +1 -1
  56. package/dist/CustomLink-BrBUFe53.js +0 -8946
  57. package/dist/CustomLink-BrBUFe53.js.map +0 -1
  58. package/dist/cn-DIfn7EPB.js.map +0 -1
  59. package/dist/isClient-D-a29gNu.js +0 -5
  60. package/dist/typeGuards-B82KZ2oS.js +0 -27
  61. package/dist/typeGuards-B82KZ2oS.js.map +0 -1
  62. package/dist/useDebounce-CIcYhLoU.js +0 -1167
  63. package/dist/useDebounce-CIcYhLoU.js.map +0 -1
  64. package/dist/useDevice-L83kSsN7.js +0 -28
  65. package/dist/useDevice-L83kSsN7.js.map +0 -1
  66. /package/dist/{shared/ui/phoneView → widgets/footer/model}/helpers.d.ts +0 -0
package/dist/hooks.js CHANGED
@@ -1,10 +1,9 @@
1
- import { u as O } from "./useDevice-L83kSsN7.js";
2
- import * as l from "react";
1
+ import { u as l } from "./useDebounce-QgEEiWs9.js";
2
+ import { d as P, b as V, c as w, e as x, f as C, a as D } from "./useDebounce-QgEEiWs9.js";
3
+ import * as f from "react";
3
4
  import { useState as i, useEffect as b } from "react";
4
- import { u as f } from "./useDebounce-CIcYhLoU.js";
5
- import { d as V, a as w, b as C, c as D, e as k } from "./useDebounce-CIcYhLoU.js";
6
5
  const d = (s = !1) => {
7
- const [t, o] = l.useState(s);
6
+ const [t, o] = f.useState(s);
8
7
  return [t, (u) => o((r) => u ?? !r)];
9
8
  }, I = (s, t, o = !1) => {
10
9
  const [n, u] = i(o);
@@ -20,7 +19,7 @@ const d = (s = !1) => {
20
19
  r.disconnect();
21
20
  };
22
21
  }, [s, t]), n;
23
- }, p = (s) => {
22
+ }, g = (s) => {
24
23
  var t;
25
24
  return (t = Object.values(s)) == null ? void 0 : t.reduce((o, n) => o + (n == null ? void 0 : n.progress), 0);
26
25
  }, S = ({
@@ -28,21 +27,21 @@ const d = (s = !1) => {
28
27
  schema: t,
29
28
  fields: o
30
29
  }) => {
31
- const [n, u] = i(o), r = f({ control: s });
30
+ const [n, u] = i(o), r = l({ control: s });
32
31
  return b(() => {
33
32
  u(
34
33
  (m) => m == null ? void 0 : m.map((e) => t.shape[e.name].safeParse(r[e.name]).success && r[e.name] && r[e.name] !== "" ? { ...e, progress: e.maxPercent } : { ...e, progress: 0 })
35
34
  );
36
- }, [r]), p(n);
35
+ }, [r]), g(n);
37
36
  };
38
37
  export {
39
- V as debounce,
38
+ P as debounce,
40
39
  d as useBoolean,
41
- w as useClickOutside,
42
- C as useControlledForm,
43
- D as useDebounceCallback,
44
- k as useDebounceValue,
45
- O as useDevice,
40
+ V as useClickOutside,
41
+ w as useControlledForm,
42
+ x as useDebounceCallback,
43
+ C as useDebounceValue,
44
+ D as useDevice,
46
45
  S as useFieldsProgress,
47
46
  I as useObserveElements
48
47
  };
package/dist/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sources":["../lib/shared/hooks/useBoolean.ts","../lib/shared/hooks/useObserveElements.ts","../lib/shared/hooks/useFieldsProgress.ts"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\n\ntype UseBooleanReturn = [value: boolean, action: (val?: boolean) => void]\n\nexport const useBoolean = (initialValue = false): UseBooleanReturn => {\n const [value, setValue] = React.useState(initialValue)\n const action = (val?: boolean) => setValue((prevValue) => val ?? !prevValue)\n\n return [value, action]\n}\n","'use client'\n\nimport { useEffect, useState } from 'react'\n\nexport const useObserveElements = (ids: string[], options?: IntersectionObserverInit, initialState = false): boolean => {\n const [isVisible, setIsVisible] = useState(initialState)\n\n useEffect(() => {\n const observer = new IntersectionObserver((entries) => {\n const visibleIds = entries.filter((entry) => entry.isIntersecting).map((entry) => entry.target.id)\n setIsVisible(visibleIds.some((id) => ids.includes(id)))\n }, options)\n\n const elementsMap = new Map<string, HTMLElement | null>()\n\n ids.forEach((id) => {\n const element = document.getElementById(id)\n elementsMap.set(id, element)\n if (element) {\n observer.observe(element)\n }\n })\n\n return () => {\n observer.disconnect()\n }\n }, [ids, options])\n\n return isVisible\n}\n","'use client'\n\nimport { useEffect, useState } from 'react'\nimport { type Control, type FieldValues, type Path, useWatch } from 'react-hook-form'\nimport { type ZodObject, type ZodRawShape } from 'zod'\n\nexport interface ISubscribedField<T extends FieldValues> {\n name: Path<T>\n progress: number\n maxPercent: number\n}\n\ntype TUseFieldsProgress<T extends FieldValues, S extends ZodRawShape> = {\n control: Control<T>\n schema: ZodObject<S>\n fields: ISubscribedField<T>[]\n}\n\nconst formatProgress = <T extends FieldValues>(subscribeFields: ISubscribedField<T>[]) => {\n return Object.values(subscribeFields)?.reduce((acc, value) => {\n return acc + value?.progress\n }, 0)\n}\n\nexport const useFieldsProgress = <T extends FieldValues, S extends ZodRawShape>({\n control,\n schema,\n fields\n}: TUseFieldsProgress<T, S>): number => {\n const [subscribeFields, setSubscribeFields] = useState<ISubscribedField<T>[]>(fields)\n const watchedFields = useWatch({ control })\n\n useEffect(() => {\n setSubscribeFields((prevFields) =>\n prevFields?.map((field) => {\n const fieldSchema = schema.shape[field.name]\n const result = fieldSchema.safeParse(watchedFields[field.name])\n if (result.success && watchedFields[field.name] && watchedFields[field.name] !== '') {\n return { ...field, progress: field.maxPercent }\n } else {\n return { ...field, progress: 0 }\n }\n })\n )\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [watchedFields])\n\n return formatProgress(subscribeFields)\n}\n"],"names":["useBoolean","initialValue","value","setValue","React","val","prevValue","useObserveElements","ids","options","initialState","isVisible","setIsVisible","useState","useEffect","observer","entries","visibleIds","entry","id","elementsMap","element","formatProgress","subscribeFields","_a","acc","useFieldsProgress","control","schema","fields","setSubscribeFields","watchedFields","useWatch","prevFields","field"],"mappings":";;;;;AAMa,MAAAA,IAAa,CAACC,IAAe,OAA4B;AACpE,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAM,SAASH,CAAY;AAG9C,SAAA,CAACC,GAFO,CAACG,MAAkBF,EAAS,CAACG,MAAcD,KAAO,CAACC,CAAS,CAEtD;AACvB,GCPaC,IAAqB,CAACC,GAAeC,GAAoCC,IAAe,OAAmB;AACtH,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAASH,CAAY;AAEvD,SAAAI,EAAU,MAAM;AACd,UAAMC,IAAW,IAAI,qBAAqB,CAACC,MAAY;AACrD,YAAMC,IAAaD,EAAQ,OAAO,CAACE,MAAUA,EAAM,cAAc,EAAE,IAAI,CAACA,MAAUA,EAAM,OAAO,EAAE;AACpF,MAAAN,EAAAK,EAAW,KAAK,CAACE,MAAOX,EAAI,SAASW,CAAE,CAAC,CAAC;AAAA,OACrDV,CAAO,GAEJW,wBAAkB,IAAgC;AAEpD,WAAAZ,EAAA,QAAQ,CAACW,MAAO;AACZ,YAAAE,IAAU,SAAS,eAAeF,CAAE;AAC9B,MAAAC,EAAA,IAAID,GAAIE,CAAO,GACvBA,KACFN,EAAS,QAAQM,CAAO;AAAA,IAC1B,CACD,GAEM,MAAM;AACX,MAAAN,EAAS,WAAW;AAAA,IACtB;AAAA,EAAA,GACC,CAACP,GAAKC,CAAO,CAAC,GAEVE;AACT,GCXMW,IAAiB,CAAwBC,MAA2C;;AACxF,UAAOC,IAAA,OAAO,OAAOD,CAAe,MAA7B,gBAAAC,EAAgC,OAAO,CAACC,GAAKvB,MAC3CuB,KAAMvB,KAAA,gBAAAA,EAAO,WACnB;AACL,GAEawB,IAAoB,CAA+C;AAAA,EAC9E,SAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC;AACF,MAAwC;AACtC,QAAM,CAACN,GAAiBO,CAAkB,IAAIjB,EAAgCgB,CAAM,GAC9EE,IAAgBC,EAAS,EAAE,SAAAL,GAAS;AAE1C,SAAAb,EAAU,MAAM;AACd,IAAAgB;AAAA,MAAmB,CAACG,MAClBA,KAAA,gBAAAA,EAAY,IAAI,CAACC,MACKN,EAAO,MAAMM,EAAM,IAAI,EAChB,UAAUH,EAAcG,EAAM,IAAI,CAAC,EACnD,WAAWH,EAAcG,EAAM,IAAI,KAAKH,EAAcG,EAAM,IAAI,MAAM,KACxE,EAAE,GAAGA,GAAO,UAAUA,EAAM,WAAW,IAEvC,EAAE,GAAGA,GAAO,UAAU,EAAE;AAAA,IAGrC;AAAA,EAAA,GAEC,CAACH,CAAa,CAAC,GAEXT,EAAeC,CAAe;AACvC;"}
1
+ {"version":3,"file":"hooks.js","sources":["../lib/shared/hooks/useBoolean.ts","../lib/shared/hooks/useObserveElements.ts","../lib/shared/hooks/useFieldsProgress.ts"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\n\ntype UseBooleanReturn = [value: boolean, action: (val?: boolean) => void]\n\nexport const useBoolean = (initialValue = false): UseBooleanReturn => {\n const [value, setValue] = React.useState(initialValue)\n const action = (val?: boolean) => setValue((prevValue) => val ?? !prevValue)\n\n return [value, action]\n}\n","'use client'\n\nimport { useEffect, useState } from 'react'\n\nexport const useObserveElements = (ids: string[], options?: IntersectionObserverInit, initialState = false): boolean => {\n const [isVisible, setIsVisible] = useState(initialState)\n\n useEffect(() => {\n const observer = new IntersectionObserver((entries) => {\n const visibleIds = entries.filter((entry) => entry.isIntersecting).map((entry) => entry.target.id)\n setIsVisible(visibleIds.some((id) => ids.includes(id)))\n }, options)\n\n const elementsMap = new Map<string, HTMLElement | null>()\n\n ids.forEach((id) => {\n const element = document.getElementById(id)\n elementsMap.set(id, element)\n if (element) {\n observer.observe(element)\n }\n })\n\n return () => {\n observer.disconnect()\n }\n }, [ids, options])\n\n return isVisible\n}\n","'use client'\n\nimport { useEffect, useState } from 'react'\nimport { type Control, type FieldValues, type Path, useWatch } from 'react-hook-form'\nimport { type ZodObject, type ZodRawShape } from 'zod'\n\nexport interface ISubscribedField<T extends FieldValues> {\n name: Path<T>\n progress: number\n maxPercent: number\n}\n\ntype TUseFieldsProgress<T extends FieldValues, S extends ZodRawShape> = {\n control: Control<T>\n schema: ZodObject<S>\n fields: ISubscribedField<T>[]\n}\n\nconst formatProgress = <T extends FieldValues>(subscribeFields: ISubscribedField<T>[]) => {\n return Object.values(subscribeFields)?.reduce((acc, value) => {\n return acc + value?.progress\n }, 0)\n}\n\nexport const useFieldsProgress = <T extends FieldValues, S extends ZodRawShape>({\n control,\n schema,\n fields\n}: TUseFieldsProgress<T, S>): number => {\n const [subscribeFields, setSubscribeFields] = useState<ISubscribedField<T>[]>(fields)\n const watchedFields = useWatch({ control })\n\n useEffect(() => {\n setSubscribeFields((prevFields) =>\n prevFields?.map((field) => {\n const fieldSchema = schema.shape[field.name]\n const result = fieldSchema.safeParse(watchedFields[field.name])\n if (result.success && watchedFields[field.name] && watchedFields[field.name] !== '') {\n return { ...field, progress: field.maxPercent }\n } else {\n return { ...field, progress: 0 }\n }\n })\n )\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [watchedFields])\n\n return formatProgress(subscribeFields)\n}\n"],"names":["useBoolean","initialValue","value","setValue","React","val","prevValue","useObserveElements","ids","options","initialState","isVisible","setIsVisible","useState","useEffect","observer","entries","visibleIds","entry","id","elementsMap","element","formatProgress","subscribeFields","_a","acc","useFieldsProgress","control","schema","fields","setSubscribeFields","watchedFields","useWatch","prevFields","field"],"mappings":";;;;AAMa,MAAAA,IAAa,CAACC,IAAe,OAA4B;AACpE,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAM,SAASH,CAAY;AAG9C,SAAA,CAACC,GAFO,CAACG,MAAkBF,EAAS,CAACG,MAAcD,KAAO,CAACC,CAAS,CAEtD;AACvB,GCPaC,IAAqB,CAACC,GAAeC,GAAoCC,IAAe,OAAmB;AACtH,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAASH,CAAY;AAEvD,SAAAI,EAAU,MAAM;AACd,UAAMC,IAAW,IAAI,qBAAqB,CAACC,MAAY;AACrD,YAAMC,IAAaD,EAAQ,OAAO,CAACE,MAAUA,EAAM,cAAc,EAAE,IAAI,CAACA,MAAUA,EAAM,OAAO,EAAE;AACpF,MAAAN,EAAAK,EAAW,KAAK,CAACE,MAAOX,EAAI,SAASW,CAAE,CAAC,CAAC;AAAA,OACrDV,CAAO,GAEJW,wBAAkB,IAAgC;AAEpD,WAAAZ,EAAA,QAAQ,CAACW,MAAO;AACZ,YAAAE,IAAU,SAAS,eAAeF,CAAE;AAC9B,MAAAC,EAAA,IAAID,GAAIE,CAAO,GACvBA,KACFN,EAAS,QAAQM,CAAO;AAAA,IAC1B,CACD,GAEM,MAAM;AACX,MAAAN,EAAS,WAAW;AAAA,IACtB;AAAA,EAAA,GACC,CAACP,GAAKC,CAAO,CAAC,GAEVE;AACT,GCXMW,IAAiB,CAAwBC,MAA2C;;AACxF,UAAOC,IAAA,OAAO,OAAOD,CAAe,MAA7B,gBAAAC,EAAgC,OAAO,CAACC,GAAKvB,MAC3CuB,KAAMvB,KAAA,gBAAAA,EAAO,WACnB;AACL,GAEawB,IAAoB,CAA+C;AAAA,EAC9E,SAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC;AACF,MAAwC;AACtC,QAAM,CAACN,GAAiBO,CAAkB,IAAIjB,EAAgCgB,CAAM,GAC9EE,IAAgBC,EAAS,EAAE,SAAAL,GAAS;AAE1C,SAAAb,EAAU,MAAM;AACd,IAAAgB;AAAA,MAAmB,CAACG,MAClBA,KAAA,gBAAAA,EAAY,IAAI,CAACC,MACKN,EAAO,MAAMM,EAAM,IAAI,EAChB,UAAUH,EAAcG,EAAM,IAAI,CAAC,EACnD,WAAWH,EAAcG,EAAM,IAAI,KAAKH,EAAcG,EAAM,IAAI,MAAM,KACxE,EAAE,GAAGA,GAAO,UAAUA,EAAM,WAAW,IAEvC,EAAE,GAAGA,GAAO,UAAU,EAAE;AAAA,IAGrC;AAAA,EAAA,GAEC,CAACH,CAAa,CAAC,GAEXT,EAAeC,CAAe;AACvC;"}