@billgangcom/theme-lib 1.117.2 → 1.117.5

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 (55) hide show
  1. package/README.md +2 -6
  2. package/dist/{builder-DS9oBIXt.cjs → builder-C6H1N4FP.cjs} +2 -2
  3. package/dist/{builder-DcfIyRTw.js → builder-Dcp5JIX2.js} +5 -5
  4. package/dist/{builder-components-B7SAxgEM.cjs → builder-components-Bj_ecWtd.cjs} +2 -2
  5. package/dist/{builder-components-Dm-kWtxj.js → builder-components-D_-yBjUv.js} +4 -4
  6. package/dist/builder.cjs.js +1 -1
  7. package/dist/builder.es.js +207 -205
  8. package/dist/{charge-B9XSDHYf.cjs → charge-CDdwR76I.cjs} +13 -13
  9. package/dist/{charge-CXy5zGzq.js → charge-_CEEL_lC.js} +144 -141
  10. package/dist/{checkout-C4QKsh6P.cjs → checkout-BY7eHMQg.cjs} +1 -1
  11. package/dist/{checkout-C8pOrYnl.js → checkout-LuD-xUEH.js} +5 -5
  12. package/dist/exports.cjs.js +1 -1
  13. package/dist/exports.es.js +6 -6
  14. package/dist/{index-CgKO4Rfc.js → index-6C0r0b28.js} +5 -5
  15. package/dist/{index-BRTHm-r0.cjs → index-C8knQe3w.cjs} +1 -1
  16. package/dist/{index-CWMP7EHj.js → index-CRXry6Nc.js} +1 -1
  17. package/dist/{index-B60hdPLY.cjs → index-Cyvdq9bC.cjs} +1 -1
  18. package/dist/{index-DHDz9Z2M.cjs → index-DOGDvdAe.cjs} +1 -1
  19. package/dist/{index-BtS9bwZU.cjs → index-DU5qhu5H.cjs} +1 -1
  20. package/dist/{index-BPwoye0T.js → index-Dj9WbMhN.js} +5 -5
  21. package/dist/{index-AhJGutkd.cjs → index-DlUuba7X.cjs} +1 -1
  22. package/dist/{index-CVXfHRHS.js → index-Dnj_qRMe.js} +5 -5
  23. package/dist/{index-DWwyC_5W.js → index-GWi3v3LH.js} +5 -5
  24. package/dist/index.cjs.js +1 -1
  25. package/dist/index.d.ts +4 -0
  26. package/dist/index.es.js +66 -44
  27. package/dist/{order-VgDnKBla.cjs → order-B2keJNN9.cjs} +1 -1
  28. package/dist/{order-BMAFH2EL.js → order-CRkNBk1l.js} +5 -5
  29. package/dist/src/assets/icons/index.d.ts +3 -0
  30. package/dist/src/constants/icon.d.ts +3 -2
  31. package/dist/src/hooks/useDynamicIconRegistration.d.ts +10 -0
  32. package/dist/src/storefront/components/StatusIndicator/index.d.ts +1 -1
  33. package/dist/src/ui/Icon/index.d.ts +5 -0
  34. package/dist/src/ui/SelectInfiniteList/index.d.ts +5 -0
  35. package/dist/src/ui/SelectSettings/index.d.ts +22 -0
  36. package/dist/src/ui/SelectSettings/utils/index.d.ts +2 -0
  37. package/dist/src/ui/index.d.ts +1 -0
  38. package/dist/src/utils/iconHelpers.d.ts +12 -0
  39. package/dist/src/utils/iconSelectHelpers.d.ts +35 -0
  40. package/dist/style.css +1 -1
  41. package/dist/{subscription-LF680WJT.js → subscription-qxCpanQb.js} +5 -5
  42. package/dist/{subscription-DaibYXfW.cjs → subscription-v64vRqA-.cjs} +1 -1
  43. package/dist/{ticket-CQD0ZMj2.js → ticket-BK3fx1Sw.js} +5 -5
  44. package/dist/{ticket-CraKfT7J.cjs → ticket-C-A_Ok9u.cjs} +1 -1
  45. package/dist/{top-up-BY8uNtks.cjs → top-up-DCz_tgnE.cjs} +1 -1
  46. package/dist/{top-up-zL4MfdVN.js → top-up-DvRo2FT6.js} +5 -5
  47. package/dist/ui-components-DD5zQkng.js +8390 -0
  48. package/dist/ui-components-DsX_DjBg.cjs +1 -0
  49. package/dist/ui.cjs.js +1 -1
  50. package/dist/ui.es.js +30 -29
  51. package/dist/{validation-Db2Od6AE.js → validation-Coc0Q-Ug.js} +5 -5
  52. package/dist/{validation-lxk5WFtw.cjs → validation-gGpkWETM.cjs} +1 -1
  53. package/package.json +1 -1
  54. package/dist/ui-components-JBzZAyzL.cjs +0 -1
  55. package/dist/ui-components-fiCrAhU8.js +0 -6542
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Хук для динамической регистрации иконок при необходимости
3
+ * Использует кэш для избежания повторных загрузок
4
+ */
5
+ export declare function useDynamicIconRegistration(): {
6
+ registerIconDynamic: (iconName: string) => Promise<void>;
7
+ registerIconsBatch: (iconNames: string[]) => Promise<void>;
8
+ registerIconsRange: (iconNames: string[], startIndex: number, endIndex: number) => Promise<void>;
9
+ isIconLoading: (iconName: string) => boolean;
10
+ };
@@ -3,5 +3,5 @@ type StatusIndicatorProps = {
3
3
  status: string;
4
4
  variant: StatusVariant;
5
5
  };
6
- export declare const StatusIndicator: ({ status, variant }: StatusIndicatorProps) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const StatusIndicator: ({ status, variant, }: StatusIndicatorProps) => import("react/jsx-runtime").JSX.Element;
7
7
  export {};
@@ -8,6 +8,11 @@ interface Props {
8
8
  className?: string;
9
9
  width?: number;
10
10
  height?: number;
11
+ /**
12
+ * Показывать placeholder вместо null для незарегистрированных иконок
13
+ * Полезно для динамической загрузки иконок
14
+ */
15
+ showPlaceholder?: boolean;
11
16
  }
12
17
  export declare const Icon: React.FC<Props>;
13
18
  export {};
@@ -15,6 +15,11 @@ interface Props {
15
15
  value: string;
16
16
  addon: React.ReactNode;
17
17
  }[];
18
+ /**
19
+ * Включить динамическую загрузку иконок (для селекта с большим количеством иконок)
20
+ * При включении иконки будут загружаться по мере скролла
21
+ */
22
+ enableIconLazyLoading?: boolean;
18
23
  }
19
24
  export declare const SelectInfiniteList: React.FC<Props>;
20
25
  export {};
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ interface Props {
3
+ style?: React.CSSProperties;
4
+ onChange: (value: string) => void;
5
+ label?: string;
6
+ value: string;
7
+ options: string[];
8
+ switcher?: {
9
+ value: boolean;
10
+ onChange: (value: boolean) => void;
11
+ };
12
+ isSearch?: boolean;
13
+ postfixs?: string[];
14
+ leftAddonOptions?: {
15
+ value: string;
16
+ addon: React.ReactNode;
17
+ }[];
18
+ isMaxLength?: boolean;
19
+ error?: string;
20
+ }
21
+ export declare const SelectSettings: React.FC<Props>;
22
+ export {};
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare function useOnClickOutside<T extends HTMLElement>(ref: React.RefObject<T>, handler: (event: MouseEvent | TouchEvent) => void): void;
@@ -43,3 +43,4 @@ export { Textarea as TextareaUI } from './Textarea';
43
43
  export { Select as SelectUI } from './Select';
44
44
  export { Radio as RadioUI } from './Radio';
45
45
  export { Modal } from './Modal';
46
+ export { SelectSettings } from './SelectSettings';
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Убирает суффикс "Icon" из названия иконки для отображения
3
+ * @param iconName - название иконки (например "AcornIcon")
4
+ * @returns название без суффикса (например "Acorn")
5
+ */
6
+ export declare function stripIconSuffix(iconName: string): string;
7
+ /**
8
+ * Добавляет суффикс "Icon" к названию иконки
9
+ * @param iconName - название иконки (например "Acorn")
10
+ * @returns название с суффиксом (например "AcornIcon")
11
+ */
12
+ export declare function addIconSuffix(iconName: string): string;
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ /**
3
+ * Убирает суффикс "Icon" из названия иконки для отображения
4
+ * @param iconName - название иконки (например "AcornIcon")
5
+ * @returns название без суффикса (например "Acorn")
6
+ */
7
+ export declare function stripIconSuffix(iconName: string): string;
8
+ /**
9
+ * Добавляет суффикс "Icon" к названию иконки
10
+ * @param iconName - название иконки (например "Acorn")
11
+ * @returns название с суффиксом (например "AcornIcon")
12
+ */
13
+ export declare function addIconSuffix(iconName: string): string;
14
+ /**
15
+ * Создает leftAddonOptions для SelectInfiniteList с иконками
16
+ * Автоматически добавляет showPlaceholder для поддержки динамической загрузки
17
+ *
18
+ * @param iconNames - массив названий иконок
19
+ * @param iconSize - размер иконок (по умолчанию 20)
20
+ * @param stripSuffix - убрать суффикс "Icon" из value (по умолчанию true)
21
+ * @returns массив объектов { value, addon } для leftAddonOptions
22
+ *
23
+ * @example
24
+ * ```tsx
25
+ * <SelectInfiniteList
26
+ * options={iconNames}
27
+ * leftAddonOptions={createIconLeftAddons(iconNames)}
28
+ * enableIconLazyLoading
29
+ * />
30
+ * ```
31
+ */
32
+ export declare function createIconLeftAddons(iconNames: string[], iconSize?: number, stripSuffix?: boolean): Array<{
33
+ value: string;
34
+ addon: React.ReactNode;
35
+ }>;