indicator-ui 1.0.8 → 1.0.10

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.js CHANGED
@@ -15086,7 +15086,13 @@ function BB(r) {
15086
15086
  getElState: d,
15087
15087
  open: m,
15088
15088
  close: _,
15089
- toggle: y
15089
+ toggle: y,
15090
+ getContentInitStyle: () => ({
15091
+ transform: `translateT(${e === "close" ? "-100%" : "0"})`
15092
+ }),
15093
+ getWrapperInitStyle: () => ({
15094
+ height: e === "close" ? "0" : void 0
15095
+ })
15090
15096
  };
15091
15097
  }
15092
15098
  function NB(r) {
@@ -15110,16 +15116,24 @@ function VB(r) {
15110
15116
  }, [u, e]), h = Dt(() => {
15111
15117
  u("close"), t();
15112
15118
  }, [u, t]);
15113
- return { toggle: Dt(() => {
15114
- switch (l()) {
15115
- case "open":
15116
- h();
15117
- break;
15118
- case "close":
15119
- d();
15120
- break;
15121
- }
15122
- }, [l, h, d]), open: d, close: h, elState: o, setElState: u, getElState: l, onResize: c };
15119
+ return {
15120
+ toggle: Dt(() => {
15121
+ switch (l()) {
15122
+ case "open":
15123
+ h();
15124
+ break;
15125
+ case "close":
15126
+ d();
15127
+ break;
15128
+ }
15129
+ }, [l, h, d]),
15130
+ open: d,
15131
+ close: h,
15132
+ elState: o,
15133
+ setElState: u,
15134
+ getElState: l,
15135
+ onResize: c
15136
+ };
15123
15137
  }
15124
15138
  function eU(...r) {
15125
15139
  const [e, t = {}] = r, { xSpeed: n } = t, [i] = wt(e), { getTimeline: o } = Ys(), u = () => {
@@ -24614,23 +24628,46 @@ function Nz(r, e) {
24614
24628
  }
24615
24629
  const jU = Z(Nz);
24616
24630
  function Vz(...r) {
24617
- const [e] = r, t = se(null), n = se(null), [i] = wt(t), [o] = wt(n), u = BB({ wrapperRef: t, contentRef: n }), l = Dt(() => {
24618
- const c = o(), d = i();
24619
- !d || !c || (d.style.width = `${c.clientWidth}px`);
24631
+ const [e, t] = r, n = se(null), i = se(null), [o] = wt(n), [u] = wt(i), l = BB({ wrapperRef: n, contentRef: i, initElState: t }), c = Dt(() => {
24632
+ const d = u(), h = o();
24633
+ !h || !d || (h.style.width = `${d.clientWidth}px`);
24620
24634
  }, []);
24621
- return Zi(n, l), ke(() => {
24622
- e?.(u.elState);
24623
- }, [u.elState]), {
24624
- actions: u,
24625
- wrapperRef: t,
24626
- contentRef: n
24635
+ return Zi(i, c), ke(() => {
24636
+ e?.(l.elState);
24637
+ }, [l.elState]), {
24638
+ actions: l,
24639
+ wrapperRef: n,
24640
+ contentRef: i
24627
24641
  };
24628
24642
  }
24629
24643
  const Wz = (r, e) => {
24630
- const { as: t = "div", wrapperAs: n = "div", wrapperStyle: i, wrapperClassName: o, onUpdateState: u, ...l } = r, { actions: c, wrapperRef: d, contentRef: h } = Vz(u);
24631
- Tr(e, () => c, [c]);
24632
- const p = n, _ = t;
24633
- return /* @__PURE__ */ E(p, { style: { overflow: "hidden", ...i }, className: o, ref: d, children: /* @__PURE__ */ E(_, { ...l, ref: h }) });
24644
+ const {
24645
+ as: t = "div",
24646
+ wrapperAs: n = "div",
24647
+ wrapperStyle: i,
24648
+ wrapperClassName: o,
24649
+ onUpdateState: u,
24650
+ initialState: l,
24651
+ ...c
24652
+ } = r, { actions: d, wrapperRef: h, contentRef: p } = Vz(u, l);
24653
+ Tr(e, () => d, [d]);
24654
+ const _ = n, m = t;
24655
+ return /* @__PURE__ */ E(
24656
+ _,
24657
+ {
24658
+ style: { overflow: "hidden", ...d.getWrapperInitStyle(), ...i },
24659
+ className: o,
24660
+ ref: h,
24661
+ children: /* @__PURE__ */ E(
24662
+ m,
24663
+ {
24664
+ ...c,
24665
+ style: { ...d.getContentInitStyle(), ...c.style },
24666
+ ref: p
24667
+ }
24668
+ )
24669
+ }
24670
+ );
24634
24671
  }, YU = Z(Wz);
24635
24672
  export {
24636
24673
  yU as ADJUST_SCROLL_POSITION_TIMEOUT,
@@ -1,10 +1,19 @@
1
- import { default as React } from 'react';
1
+ import { default as React, CSSProperties } from 'react';
2
2
  export type CollapseState = 'open' | 'close';
3
3
  type PropsType<W extends HTMLElement, C extends HTMLElement> = {
4
4
  initElState?: CollapseState;
5
5
  wrapperRef: React.RefObject<W>;
6
6
  contentRef: React.RefObject<C>;
7
7
  };
8
+ type FunReturnType = {
9
+ elState: CollapseState;
10
+ getElState: () => CollapseState;
11
+ open: () => void;
12
+ close: () => void;
13
+ toggle: () => void;
14
+ getContentInitStyle: () => CSSProperties;
15
+ getWrapperInitStyle: () => CSSProperties;
16
+ };
8
17
  /**
9
18
  * Хук React для создания сворачиваемых/разворачиваемых UI элементов с GSAP анимациями.
10
19
  *
@@ -52,11 +61,5 @@ type PropsType<W extends HTMLElement, C extends HTMLElement> = {
52
61
  * - Элемент обёртки должен иметь overflow: hidden для предотвращения видимости контента при сворачивании
53
62
  * - Ref объекты должны быть созданы через useRef перед вызовом хука
54
63
  */
55
- export declare function useCollapsible<W extends HTMLElement, C extends HTMLElement>(props: PropsType<W, C>): {
56
- elState: CollapseState;
57
- getElState: () => CollapseState;
58
- open: () => void;
59
- close: () => void;
60
- toggle: () => void;
61
- };
64
+ export declare function useCollapsible<W extends HTMLElement, C extends HTMLElement>(props: PropsType<W, C>): FunReturnType;
62
65
  export {};
@@ -25,7 +25,7 @@ export type Undefinable<T> = undefined | (IsObject<T> extends true ? IsArray<T>
25
25
  [K in keyof T]?: T[K] | undefined;
26
26
  } : T);
27
27
  export type Merge<A extends Record<any, any>, B extends Record<any, any>> = Omit<A, keyof B> & B;
28
- export type AsProps<T extends ElementType, P extends Record<string, any> = {}> = Merge<React.ComponentProps<T>, {
28
+ export type AsProps<T extends ElementType, P extends Record<string, any> = {}> = Merge<React.ComponentPropsWithoutRef<T>, {
29
29
  as?: T;
30
30
  } & P>;
31
31
  export {};
@@ -1,6 +1,7 @@
1
1
  import { CollapseState } from '../../../hooks';
2
2
  type PropsType = [
3
- onUpdateState?: (state: CollapseState) => void
3
+ onUpdateState?: (state: CollapseState) => void,
4
+ initElState?: CollapseState
4
5
  ];
5
6
  export declare function useCollapse<WEl extends HTMLElement, CEl extends HTMLElement>(...args: PropsType): {
6
7
  actions: {
@@ -9,6 +10,8 @@ export declare function useCollapse<WEl extends HTMLElement, CEl extends HTMLEle
9
10
  open: () => void;
10
11
  close: () => void;
11
12
  toggle: () => void;
13
+ getContentInitStyle: () => import('react').CSSProperties;
14
+ getWrapperInitStyle: () => import('react').CSSProperties;
12
15
  };
13
16
  wrapperRef: import('react').MutableRefObject<WEl | null>;
14
17
  contentRef: import('react').MutableRefObject<CEl | null>;
@@ -7,6 +7,7 @@ type PropsType<C extends ElementType, W extends ElementType> = AsProps<C, {
7
7
  wrapperClassName?: string;
8
8
  wrapperStyle?: CSSProperties;
9
9
  onUpdateState?: (state: CollapseState) => void;
10
+ initialState?: CollapseState;
10
11
  }>;
11
12
  type RefType = CollapsibleReturnType;
12
13
  /**
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "react-components",
12
12
  "ui-kit"
13
13
  ],
14
- "version": "1.0.8",
14
+ "version": "1.0.10",
15
15
  "exports": {
16
16
  ".": {
17
17
  "types": "./dist/types/index.d.ts",