@scbt-ecom/ui 0.42.5 → 0.44.0

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 (93) 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/index.d.ts +0 -1
  37. package/dist/shared/ui/phoneView/PhoneView.d.ts +1 -1
  38. package/dist/shared/validation/dadata/dadata.validators.d.ts +1 -0
  39. package/dist/{cn-DIfn7EPB.js → typeGuards-yOWv7RXH.js} +130 -106
  40. package/dist/typeGuards-yOWv7RXH.js.map +1 -0
  41. package/dist/ui.js +335 -33211
  42. package/dist/ui.js.map +1 -1
  43. package/dist/useDebounce-QgEEiWs9.js +1190 -0
  44. package/dist/useDebounce-QgEEiWs9.js.map +1 -0
  45. package/dist/{utils-Baa0uHhG.js → utils-DnWHDMk6.js} +125 -125
  46. package/dist/{utils-Baa0uHhG.js.map → utils-DnWHDMk6.js.map} +1 -1
  47. package/dist/utils-tailwind.css +11 -0
  48. package/dist/utils.js +4 -5
  49. package/dist/utils.js.map +1 -1
  50. package/dist/validation.js +76 -76
  51. package/dist/widget.js +456 -297
  52. package/dist/widget.js.map +1 -1
  53. package/dist/widgets/fieldMapper/FieldMapper.d.ts +8 -0
  54. package/dist/widgets/fieldMapper/index.d.ts +2 -0
  55. package/dist/widgets/fieldMapper/model/types.d.ts +9 -0
  56. package/dist/widgets/index.d.ts +2 -0
  57. package/dist/widgets/usefulInfo/UsefulInfo.d.ts +6 -0
  58. package/dist/widgets/usefulInfo/index.d.ts +1 -0
  59. package/dist/widgets/usefulInfo/model/index.d.ts +2 -0
  60. package/dist/widgets/usefulInfo/model/types.d.ts +50 -0
  61. package/dist/widgets/usefulInfo/model/utils.d.ts +4 -0
  62. package/dist/widgets/usefulInfo/ui/RenderEntity.d.ts +5 -0
  63. package/dist/widgets/usefulInfo/ui/Tabs.d.ts +7 -0
  64. package/dist/widgets/usefulInfo/ui/index.d.ts +2 -0
  65. package/dist/widgets/usefulInfo/ui/subEntities/documents/Documents.d.ts +2 -0
  66. package/dist/widgets/usefulInfo/ui/subEntities/documents/index.d.ts +1 -0
  67. package/dist/widgets/usefulInfo/ui/subEntities/documents/ui/document/Document.d.ts +8 -0
  68. package/dist/widgets/usefulInfo/ui/subEntities/documents/ui/document/model/utils.d.ts +6 -0
  69. package/dist/widgets/usefulInfo/ui/subEntities/html/Html.d.ts +2 -0
  70. package/dist/widgets/usefulInfo/ui/subEntities/html/index.d.ts +1 -0
  71. package/dist/widgets/usefulInfo/ui/subEntities/index.d.ts +3 -0
  72. package/dist/widgets/usefulInfo/ui/subEntities/table/Table.d.ts +2 -0
  73. package/dist/widgets/usefulInfo/ui/subEntities/table/index.d.ts +1 -0
  74. package/dist/widgets/usefulInfo/ui/subEntities/table/model/utils.d.ts +12 -0
  75. package/dist/widgets/usefulInfo/ui/subEntities/table/ui/DesktopHeadings.d.ts +7 -0
  76. package/dist/widgets/usefulInfo/ui/subEntities/table/ui/DesktopRow.d.ts +9 -0
  77. package/dist/widgets/usefulInfo/ui/subEntities/table/ui/MobileRow.d.ts +13 -0
  78. package/dist/widgets/usefulInfo/ui/subEntities/table/ui/TableBody.d.ts +9 -0
  79. package/dist/widgets/usefulInfo/ui/subEntities/table/ui/index.d.ts +3 -0
  80. package/package.json +2 -1
  81. package/dist/CustomLink-BrBUFe53.js +0 -8946
  82. package/dist/CustomLink-BrBUFe53.js.map +0 -1
  83. package/dist/cn-DIfn7EPB.js.map +0 -1
  84. package/dist/isClient-D-a29gNu.js +0 -5
  85. package/dist/shared/ui/document/Document.d.ts +0 -14
  86. package/dist/typeGuards-B82KZ2oS.js +0 -27
  87. package/dist/typeGuards-B82KZ2oS.js.map +0 -1
  88. package/dist/useDebounce-CIcYhLoU.js +0 -1167
  89. package/dist/useDebounce-CIcYhLoU.js.map +0 -1
  90. package/dist/useDevice-L83kSsN7.js +0 -28
  91. package/dist/useDevice-L83kSsN7.js.map +0 -1
  92. /package/dist/{shared/ui/phoneView → widgets/footer/model}/helpers.d.ts +0 -0
  93. /package/dist/{shared → widgets/usefulInfo/ui/subEntities/documents}/ui/document/index.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;"}