@companix/uikit 0.0.22 → 0.0.24

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/Progress/Progress.scss +47 -0
  2. package/dist/Progress/index.d.ts +5 -0
  3. package/dist/Toaster/Toast.d.ts +10 -4
  4. package/dist/Toaster/Toaster.scss +6 -2
  5. package/dist/Toaster/Viewport.d.ts +1 -0
  6. package/dist/Toaster/index.d.ts +7 -1
  7. package/dist/bundle.es.js +24 -18
  8. package/dist/bundle.es10.js +2 -2
  9. package/dist/bundle.es11.js +1 -1
  10. package/dist/bundle.es14.js +2 -2
  11. package/dist/bundle.es19.js +1 -1
  12. package/dist/bundle.es20.js +1 -1
  13. package/dist/bundle.es23.js +1 -1
  14. package/dist/bundle.es24.js +9 -9
  15. package/dist/bundle.es25.js +4 -4
  16. package/dist/bundle.es26.js +2 -2
  17. package/dist/bundle.es29.js +2 -2
  18. package/dist/bundle.es30.js +22 -11
  19. package/dist/bundle.es31.js +6 -24
  20. package/dist/bundle.es32.js +10 -35
  21. package/dist/bundle.es33.js +21 -20
  22. package/dist/bundle.es34.js +45 -85
  23. package/dist/bundle.es35.js +50 -17
  24. package/dist/bundle.es36.js +23 -19
  25. package/dist/bundle.es37.js +81 -18
  26. package/dist/bundle.es38.js +18 -39
  27. package/dist/bundle.es39.js +19 -21
  28. package/dist/bundle.es40.js +24 -3
  29. package/dist/bundle.es41.js +39 -5
  30. package/dist/bundle.es42.js +3 -14
  31. package/dist/bundle.es43.js +5 -14
  32. package/dist/bundle.es44.js +14 -3
  33. package/dist/bundle.es45.js +14 -3
  34. package/dist/bundle.es46.js +3 -70
  35. package/dist/bundle.es47.js +3 -68
  36. package/dist/bundle.es48.js +69 -69
  37. package/dist/bundle.es49.js +67 -11
  38. package/dist/bundle.es50.js +69 -42
  39. package/dist/bundle.es51.js +12 -32
  40. package/dist/bundle.es52.js +42 -67
  41. package/dist/bundle.es53.js +32 -14
  42. package/dist/bundle.es54.js +72 -19
  43. package/dist/bundle.es55.js +14 -2
  44. package/dist/bundle.es56.js +10 -10
  45. package/dist/bundle.es57.js +2 -2
  46. package/dist/bundle.es58.js +76 -21
  47. package/dist/bundle.es59.js +49 -2
  48. package/dist/bundle.es60.js +11 -11
  49. package/dist/bundle.es61.js +2 -76
  50. package/dist/bundle.es62.js +21 -49
  51. package/dist/bundle.es63.js +2 -43
  52. package/dist/bundle.es64.js +20 -2
  53. package/dist/bundle.es65.js +2 -14
  54. package/dist/bundle.es66.js +14 -3
  55. package/dist/bundle.es67.js +1 -1
  56. package/dist/bundle.es68.js +3 -20
  57. package/dist/bundle.es69.js +20 -2
  58. package/dist/bundle.es70.js +2 -20
  59. package/dist/bundle.es71.js +20 -2
  60. package/dist/bundle.es72.js +4 -0
  61. package/dist/bundle.es8.js +4 -4
  62. package/dist/bundle.es9.js +2 -2
  63. package/dist/index.d.ts +3 -0
  64. package/dist/index.scss +1 -0
  65. package/dist/mixins.scss +2 -0
  66. package/package.json +1 -1
@@ -0,0 +1,47 @@
1
+ @use '../mixins.scss';
2
+
3
+ .progress-bar {
4
+ @include mixins.use-styles(progress);
5
+
6
+ display: block;
7
+ overflow: hidden;
8
+ position: relative;
9
+ border-radius: 100px;
10
+ width: 100%;
11
+
12
+ &-thumb {
13
+ animation: linear-progress-bar-stripes 0.3s linear infinite reverse;
14
+ background: linear-gradient(
15
+ -45deg,
16
+ hsla(0, 0%, 100%, 0.2) 25%,
17
+ transparent 0,
18
+ transparent 50%,
19
+ hsla(0, 0%, 100%, 0.2) 0,
20
+ hsla(0, 0%, 100%, 0.2) 75%,
21
+ transparent 0
22
+ );
23
+ background-size: 30px 30px;
24
+ border-radius: 40px;
25
+ height: 100%;
26
+ position: absolute;
27
+ transition: width 0.2s cubic-bezier(0.4, 1, 0.75, 0.9);
28
+ width: 100%;
29
+
30
+ @include mixins.use-styles(progress, thumb);
31
+
32
+ @each $appearance, $v in mixins.$appearances {
33
+ &[data-appearance='#{$appearance}'] {
34
+ @include mixins.use-styles(progress, thumb, $appearance);
35
+ }
36
+ }
37
+ }
38
+ }
39
+
40
+ @keyframes linear-progress-bar-stripes {
41
+ 0% {
42
+ background-position: 0 0;
43
+ }
44
+ to {
45
+ background-position: 30px 0;
46
+ }
47
+ }
@@ -0,0 +1,5 @@
1
+ export interface ProgressBarProps {
2
+ appearance?: 'primary' | 'neutral' | 'positive' | 'negative';
3
+ value: number;
4
+ }
5
+ export declare const ProgressBar: ({ appearance, value }: ProgressBarProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,9 +1,15 @@
1
1
  import { ToastOptions } from '.';
2
2
  interface ToastProps extends ToastOptions {
3
- onRemoved: () => void;
4
- onRemoving: () => void;
3
+ id: string;
4
+ onClosed: () => void;
5
+ onClosing: () => void;
5
6
  onInitialized: (ref: HTMLLIElement) => void;
6
- closeIcon?: React.ReactNode;
7
7
  }
8
- export declare const Toast: (options: ToastProps) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const Toast: {
9
+ (options: ToastProps): import("react/jsx-runtime").JSX.Element;
10
+ Close({ closeIcon, className }?: {
11
+ closeIcon?: React.ReactNode;
12
+ className?: string;
13
+ }): import("react/jsx-runtime").JSX.Element;
14
+ };
9
15
  export {};
@@ -99,6 +99,7 @@
99
99
  &-content {
100
100
  display: flex;
101
101
  flex-direction: column;
102
+ width: 100%;
102
103
 
103
104
  @include mixins.use-styles(toaster, content);
104
105
  }
@@ -111,11 +112,14 @@
111
112
  @include mixins.use-styles(toaster, description);
112
113
  }
113
114
 
114
- &-close {
115
- cursor: pointer;
115
+ &-close-placement {
116
116
  top: var(--toaster_close_space, 0);
117
117
  right: var(--toaster_close_space, 0);
118
118
  position: absolute;
119
+ }
120
+
121
+ &-close {
122
+ cursor: pointer;
119
123
  transition: color 0.2s;
120
124
 
121
125
  @include mixins.use-styles(toaster, close);
@@ -9,5 +9,6 @@ export interface ViewportProps {
9
9
  }
10
10
  export interface ViewportRef {
11
11
  addToast: (toast: InnerToast) => void;
12
+ updateToast: (toast: InnerToast) => void;
12
13
  }
13
14
  export declare const Viewport: import('react').ForwardRefExoticComponent<ViewportProps & import('react').RefAttributes<ViewportRef>>;
@@ -1,15 +1,21 @@
1
1
  import { ViewportProps } from './Viewport';
2
2
  export interface ToastOptions {
3
+ id?: string;
3
4
  appearance?: 'primary' | 'neutral' | 'positive' | 'negative' | 'warning';
4
5
  icon?: React.ReactNode;
5
6
  title?: React.ReactNode;
6
7
  description?: React.ReactNode;
7
8
  duration?: number;
9
+ closeIcon?: React.ReactNode;
10
+ closable?: boolean;
8
11
  }
9
12
  export interface InnerToast extends ToastOptions {
10
13
  id: string;
11
14
  }
12
15
  export declare const createToaster: (rootProps?: ViewportProps) => {
13
- send: (toast: ToastOptions) => void;
16
+ api: {
17
+ add: (toast: ToastOptions) => string;
18
+ update: (toast: InnerToast) => void;
19
+ };
14
20
  Viewport: (props?: ViewportProps) => import("react/jsx-runtime").JSX.Element;
15
21
  };
package/dist/bundle.es.js CHANGED
@@ -3,15 +3,15 @@ import { Spinner as p } from "./bundle.es3.js";
3
3
  import { Scrollable as x } from "./bundle.es4.js";
4
4
  import { ImitateScroll as a } from "./bundle.es5.js";
5
5
  import { Popover as l } from "./bundle.es6.js";
6
- import { Tooltip as u } from "./bundle.es7.js";
7
- import { Select as S } from "./bundle.es8.js";
6
+ import { Tooltip as c } from "./bundle.es7.js";
7
+ import { Select as s } from "./bundle.es8.js";
8
8
  import { Input as T } from "./bundle.es9.js";
9
- import { OptionItem as D } from "./bundle.es10.js";
9
+ import { OptionItem as I } from "./bundle.es10.js";
10
10
  import { NumberInput as b } from "./bundle.es11.js";
11
11
  import { OptionsList as A } from "./bundle.es12.js";
12
- import { ButtonGroup as w } from "./bundle.es13.js";
13
- import { Checkbox as G } from "./bundle.es14.js";
14
- import { Switch as O } from "./bundle.es15.js";
12
+ import { ButtonGroup as P } from "./bundle.es13.js";
13
+ import { Checkbox as w } from "./bundle.es14.js";
14
+ import { Switch as L } from "./bundle.es15.js";
15
15
  import { Radio as h, RadioGroup as v } from "./bundle.es16.js";
16
16
  import { Drawer as F } from "./bundle.es17.js";
17
17
  import { Dialog as y } from "./bundle.es18.js";
@@ -26,14 +26,17 @@ import { DateInput as Z } from "./bundle.es26.js";
26
26
  import { FileOverlay as $ } from "./bundle.es27.js";
27
27
  import { FormGroup as ro } from "./bundle.es28.js";
28
28
  import { TimePicker as to } from "./bundle.es29.js";
29
- import { useLocalStorage as mo } from "./bundle.es30.js";
30
- import { createAlertAgent as fo } from "./bundle.es31.js";
31
- import { createToaster as io } from "./bundle.es32.js";
29
+ import { Icon as mo } from "./bundle.es30.js";
30
+ import { ProgressBar as fo } from "./bundle.es31.js";
31
+ import { useLocalStorage as io } from "./bundle.es32.js";
32
+ import { createAlertAgent as no } from "./bundle.es33.js";
33
+ import { createToaster as uo } from "./bundle.es34.js";
34
+ import { Toast as So } from "./bundle.es35.js";
32
35
  export {
33
36
  j as AlertDialog,
34
37
  e as Button,
35
- w as ButtonGroup,
36
- G as Checkbox,
38
+ P as ButtonGroup,
39
+ w as Checkbox,
37
40
  K as Countdown,
38
41
  Z as DateInput,
39
42
  X as DatePicker,
@@ -41,25 +44,28 @@ export {
41
44
  F as Drawer,
42
45
  $ as FileOverlay,
43
46
  ro as FormGroup,
47
+ mo as Icon,
44
48
  a as ImitateScroll,
45
49
  T as Input,
46
50
  z as LoadButton,
47
51
  b as NumberInput,
48
- D as OptionItem,
52
+ I as OptionItem,
49
53
  A as OptionsList,
50
54
  l as Popover,
55
+ fo as ProgressBar,
51
56
  h as Radio,
52
57
  v as RadioGroup,
53
58
  x as Scrollable,
54
- S as Select,
59
+ s as Select,
55
60
  V as SelectTags,
56
61
  p as Spinner,
57
- O as Switch,
62
+ L as Switch,
58
63
  H as Tabs,
59
64
  Q as TextArea,
60
65
  to as TimePicker,
61
- u as Tooltip,
62
- fo as createAlertAgent,
63
- io as createToaster,
64
- mo as useLocalStorage
66
+ So as Toast,
67
+ c as Tooltip,
68
+ no as createAlertAgent,
69
+ uo as createToaster,
70
+ io as useLocalStorage
65
71
  };
@@ -1,9 +1,9 @@
1
1
  import { jsxs as i, jsx as o } from "react/jsx-runtime";
2
2
  import N from "classnames";
3
- import { Icon as v } from "./bundle.es39.js";
3
+ import { Icon as v } from "./bundle.es30.js";
4
4
  import { attr as t } from "@companix/utils-browser";
5
5
  import { forwardRef as k } from "react";
6
- import { f as x } from "./bundle.es40.js";
6
+ import { f as x } from "./bundle.es42.js";
7
7
  const E = k(
8
8
  ({ title: s, icon: c, active: e, label: n, disabled: a, minimal: r, onClick: d, className: l, ...m }, p) => {
9
9
  const f = (h) => {
@@ -2,7 +2,7 @@ import { jsx as t } from "react/jsx-runtime";
2
2
  import C from "classnames";
3
3
  import { forwardRef as j, useRef as w } from "react";
4
4
  import { mergeRefs as y } from "react-merge-refs";
5
- import { InputContainer as F } from "./bundle.es38.js";
5
+ import { InputContainer as F } from "./bundle.es41.js";
6
6
  import { NumericFormat as V } from "react-number-format";
7
7
  const D = j(
8
8
  ({
@@ -1,7 +1,7 @@
1
1
  import { jsxs as d, jsx as o } from "react/jsx-runtime";
2
2
  import * as t from "@radix-ui/react-checkbox";
3
- import { Icon as h } from "./bundle.es39.js";
4
- import { f as l } from "./bundle.es40.js";
3
+ import { Icon as h } from "./bundle.es30.js";
4
+ import { f as l } from "./bundle.es42.js";
5
5
  import { useId as n } from "react";
6
6
  import { attr as c } from "@companix/utils-browser";
7
7
  const N = ({ checked: a, required: s, disabled: r, onCheckedChange: m, size: x, label: e }) => {
@@ -1,7 +1,7 @@
1
1
  import { jsxs as a, jsx as e } from "react/jsx-runtime";
2
2
  import * as r from "@radix-ui/react-alert-dialog";
3
3
  import { Button as c } from "./bundle.es2.js";
4
- import { RemoveListener as N } from "./bundle.es41.js";
4
+ import { RemoveListener as N } from "./bundle.es43.js";
5
5
  import { VisuallyHidden as u } from "@radix-ui/react-visually-hidden";
6
6
  const C = ({
7
7
  open: d,
@@ -1,6 +1,6 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
2
  import { Button as m } from "./bundle.es2.js";
3
- import { useLoading as p } from "./bundle.es42.js";
3
+ import { useLoading as p } from "./bundle.es44.js";
4
4
  const g = ({ onClick: o, appearance: r = "primary", ...i }) => {
5
5
  const { isLoading: n, isError: t, handleClick: a } = p({ onClick: o });
6
6
  return /* @__PURE__ */ e(
@@ -1,5 +1,5 @@
1
1
  import { jsx as f } from "react/jsx-runtime";
2
- import { useResizeTextarea as x } from "./bundle.es43.js";
2
+ import { useResizeTextarea as x } from "./bundle.es45.js";
3
3
  import { attr as e, callMultiple as u } from "@companix/utils-browser";
4
4
  import { useEffect as z } from "react";
5
5
  import { mergeRefs as R } from "react-merge-refs";
@@ -1,12 +1,12 @@
1
1
  import { jsx as o, jsxs as l } from "react/jsx-runtime";
2
- import { useFroozeClosing as M } from "./bundle.es33.js";
2
+ import { useFroozeClosing as M } from "./bundle.es36.js";
3
3
  import { Popover as j } from "./bundle.es6.js";
4
4
  import { OptionItem as q } from "./bundle.es10.js";
5
5
  import { OptionsList as V } from "./bundle.es12.js";
6
- import { useState as B, useRef as d, useMemo as h } from "react";
7
- import { Icon as g } from "./bundle.es39.js";
8
- import { f as H } from "./bundle.es44.js";
9
- import { f as Q } from "./bundle.es45.js";
6
+ import { Icon as d } from "./bundle.es30.js";
7
+ import { useState as B, useRef as h, useMemo as g } from "react";
8
+ import { f as H } from "./bundle.es46.js";
9
+ import { f as Q } from "./bundle.es47.js";
10
10
  import { attr as x, getActiveElementByAnotherElement as G, contains as J } from "@companix/utils-browser";
11
11
  import { mergeRefs as K } from "react-merge-refs";
12
12
  const se = (C) => {
@@ -22,14 +22,14 @@ const se = (C) => {
22
22
  inputRef: A,
23
23
  disabled: u,
24
24
  required: D
25
- } = C, [a, E] = B(""), i = d(null), w = d(null), { popoverRef: f, froozePopoverPosition: y, handleAnimationEnd: b } = M(), O = h(() => {
25
+ } = C, [a, E] = B(""), i = h(null), w = h(null), { popoverRef: f, froozePopoverPosition: y, handleAnimationEnd: b } = M(), O = g(() => {
26
26
  const e = {};
27
27
  return r.forEach((t) => {
28
28
  e[t.value] = t;
29
29
  }), e;
30
30
  }, [r]), P = (e) => n.includes(e) ? [...n] : [...n, e], T = (e) => n.filter((t) => e !== t), k = (e, t) => {
31
31
  v ? (y(), c(e), t()) : c(e);
32
- }, p = h(() => a.trim() ? r.filter(({ title: e }) => {
32
+ }, p = g(() => a.trim() ? r.filter(({ title: e }) => {
33
33
  const t = e.toLowerCase(), s = a.trim().toLowerCase();
34
34
  return t.indexOf(s) >= 0;
35
35
  }) : r, [a, r]), I = (e) => {
@@ -84,7 +84,7 @@ const se = (C) => {
84
84
  "data-readonly": x(m),
85
85
  children: n.map((e, t) => /* @__PURE__ */ l("div", { className: "tag", children: [
86
86
  /* @__PURE__ */ o("span", { className: "tag-name", children: O[e].title }),
87
- /* @__PURE__ */ o("button", { className: "tag-close-button", onClick: (s) => $(s, e), children: /* @__PURE__ */ o(g, { className: "tag-close-icon", icon: Q.faClose, size: "xxxs" }) })
87
+ /* @__PURE__ */ o("button", { className: "tag-close-button", onClick: (s) => $(s, e), children: /* @__PURE__ */ o(d, { className: "tag-close-icon", icon: Q.faClose, size: "xxxs" }) })
88
88
  ] }, `tag-option-${e}-${t}`))
89
89
  }
90
90
  ),
@@ -106,7 +106,7 @@ const se = (C) => {
106
106
  }
107
107
  )
108
108
  ] }),
109
- /* @__PURE__ */ o(g, { className: "expand-icon", icon: H.faChevronDown, size: "xxxs" })
109
+ /* @__PURE__ */ o(d, { className: "expand-icon", icon: H.faChevronDown, size: "xxxs" })
110
110
  ] })
111
111
  }
112
112
  )
@@ -2,11 +2,11 @@ import { jsx as u } from "react/jsx-runtime";
2
2
  import { Popover as x } from "./bundle.es6.js";
3
3
  import { Input as A } from "./bundle.es9.js";
4
4
  import { useState as M, useRef as j } from "react";
5
- import { Calendar as E } from "./bundle.es46.js";
6
- import { useDayDisableCheker as N } from "./bundle.es47.js";
5
+ import { Calendar as E } from "./bundle.es48.js";
6
+ import { useDayDisableCheker as N } from "./bundle.es49.js";
7
7
  import { getNum as f, formatTime as v } from "@companix/utils-js";
8
- import { removeDigits as O } from "./bundle.es48.js";
9
- import { SelectRightElements as Y } from "./bundle.es49.js";
8
+ import { removeDigits as O } from "./bundle.es50.js";
9
+ import { SelectRightElements as Y } from "./bundle.es51.js";
10
10
  const i = {
11
11
  char: "-",
12
12
  toString: (e) => {
@@ -1,8 +1,8 @@
1
1
  import { jsxs as D, jsx as h } from "react/jsx-runtime";
2
2
  import { useMemo as M, useEffect as C } from "react";
3
3
  import { Select as c } from "./bundle.es8.js";
4
- import { createDateValidation as O, getMonthMaxDay as T } from "./bundle.es48.js";
5
- import { defaultMin as j, defaultMax as N, useCalendarOptions as V } from "./bundle.es50.js";
4
+ import { createDateValidation as O, getMonthMaxDay as T } from "./bundle.es50.js";
5
+ import { defaultMin as j, defaultMax as N, useCalendarOptions as V } from "./bundle.es52.js";
6
6
  const B = ({
7
7
  min: o = j,
8
8
  max: e = N,
@@ -1,8 +1,8 @@
1
1
  import { jsx as g } from "react/jsx-runtime";
2
2
  import { useRef as _, useMemo as b, useState as P, useEffect as j } from "react";
3
3
  import { getNum as v } from "@companix/utils-js";
4
- import { getTimesOptions as D, getTimeValue as A, removeDigits as W, convertTimeToOption as q } from "./bundle.es48.js";
5
- import { SelectRightElements as w } from "./bundle.es49.js";
4
+ import { getTimesOptions as D, getTimeValue as A, removeDigits as W, convertTimeToOption as q } from "./bundle.es50.js";
5
+ import { SelectRightElements as w } from "./bundle.es51.js";
6
6
  import { Select as y } from "./bundle.es8.js";
7
7
  import { Input as z } from "./bundle.es9.js";
8
8
  const r = {
@@ -1,13 +1,24 @@
1
- import { useState as s, useEffect as c } from "react";
2
- const l = (e, a) => {
3
- const [t, o] = s(() => {
4
- const r = localStorage.getItem(e);
5
- return r ? JSON.parse(r) : a;
6
- });
7
- return c(() => {
8
- localStorage.setItem(e, JSON.stringify(t));
9
- }, [t]), [t, o];
10
- };
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import f from "classnames";
3
+ import { forwardRef as l } from "react";
4
+ const g = l(
5
+ ({ icon: r, className: t, size: i = "m", ...e }, a) => {
6
+ const [n, c, , , m] = r.icon;
7
+ return /* @__PURE__ */ o(
8
+ "svg",
9
+ {
10
+ ref: a,
11
+ "data-prefix": r.prefix,
12
+ "data-icon": r.iconName,
13
+ viewBox: `0 0 ${n} ${c}`,
14
+ className: f(`icon icon-size-${i}`, t),
15
+ ...e,
16
+ role: "img",
17
+ children: /* @__PURE__ */ o(s, { paths: m })
18
+ }
19
+ );
20
+ }
21
+ ), s = ({ paths: r }) => Array.isArray(r) ? /* @__PURE__ */ o("g", { children: r.map((t, i) => /* @__PURE__ */ o("path", { fill: "currentColor", d: t }, `-d-${i}`)) }) : /* @__PURE__ */ o("path", { fill: "currentColor", d: r });
11
22
  export {
12
- l as useLocalStorage
23
+ g as Icon
13
24
  };
@@ -1,27 +1,9 @@
1
- import { jsx as i } from "react/jsx-runtime";
2
- import { hash as m } from "@companix/utils-js";
3
- import { useRef as n, useMemo as s } from "react";
4
- import { Viewport as u } from "./bundle.es51.js";
5
- const h = (t = {}) => {
6
- const e = {
7
- emit: (r) => {
8
- console.error("uninitialized", r);
9
- }
10
- };
11
- return {
12
- show: (r) => {
13
- e.emit({ ...r, id: m() });
14
- },
15
- Viewport: () => {
16
- const r = n(null);
17
- return s(() => {
18
- e.emit = (o) => {
19
- r.current && r.current.showAlert(o);
20
- };
21
- }, []), /* @__PURE__ */ i(u, { ref: r, ...t });
22
- }
23
- };
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { clamp as o, pc as p } from "@companix/utils-browser";
3
+ const i = ({ appearance: a = "primary", value: e }) => {
4
+ const s = 100 * o(e, 0, 1);
5
+ return /* @__PURE__ */ r("div", { "aria-valuemax": 100, "aria-valuemin": 0, role: "progressbar", className: "progress-bar", children: /* @__PURE__ */ r("div", { className: "progress-bar-thumb", "data-appearance": a, style: { width: p(s) } }) });
24
6
  };
25
7
  export {
26
- h as createAlertAgent
8
+ i as ProgressBar
27
9
  };
@@ -1,38 +1,13 @@
1
- import { jsx as a } from "react/jsx-runtime";
2
- import { hash as d } from "@companix/utils-js";
3
- import { Viewport as s } from "./bundle.es52.js";
4
- import { useRef as c, useMemo as l } from "react";
5
- const f = (i = {}) => {
6
- const t = {
7
- emit: (e) => {
8
- console.error("uninitialized", e);
9
- }
10
- };
11
- return {
12
- send: (e) => {
13
- t.emit({ ...e, id: d() });
14
- },
15
- Viewport: (e = {}) => {
16
- const n = c(null);
17
- return l(() => {
18
- t.emit = (r) => {
19
- n.current && n.current.addToast(r);
20
- };
21
- }, []), /* @__PURE__ */ a(
22
- s,
23
- {
24
- ref: n,
25
- align: e.align ?? i.align,
26
- closeIcon: e.closeIcon ?? i.closeIcon,
27
- duration: e.duration ?? i.duration,
28
- gap: e.gap ?? i.gap,
29
- side: e.side ?? i.side,
30
- swipeThreshold: e.swipeThreshold ?? i.swipeThreshold
31
- }
32
- );
33
- }
34
- };
1
+ import { useState as s, useEffect as c } from "react";
2
+ const l = (e, a) => {
3
+ const [t, o] = s(() => {
4
+ const r = localStorage.getItem(e);
5
+ return r ? JSON.parse(r) : a;
6
+ });
7
+ return c(() => {
8
+ localStorage.setItem(e, JSON.stringify(t));
9
+ }, [t]), [t, o];
35
10
  };
36
11
  export {
37
- f as createToaster
12
+ l as useLocalStorage
38
13
  };
@@ -1,26 +1,27 @@
1
- import { useRef as s, useCallback as c } from "react";
2
- const p = () => {
3
- const t = s(null), r = s({ cb: null }), i = c(() => {
4
- if (t.current && t.current.parentElement) {
5
- const e = t.current.parentElement, u = e.style.getPropertyValue("--radix-popper-anchor-width"), n = e.style.getPropertyValue("transform"), o = new MutationObserver(() => {
6
- e.style.transform !== n && e.style.setProperty("transform", n);
7
- });
8
- o.observe(e, {
9
- attributes: !0,
10
- attributeFilter: ["style"]
11
- }), r.current.cb = () => {
12
- o.disconnect();
13
- }, t.current.style.setProperty("--radix-popover-trigger-width", u);
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { hash as m } from "@companix/utils-js";
3
+ import { useRef as n, useMemo as s } from "react";
4
+ import { Viewport as u } from "./bundle.es53.js";
5
+ const h = (t = {}) => {
6
+ const e = {
7
+ emit: (r) => {
8
+ console.error("uninitialized", r);
14
9
  }
15
- }, []), l = c(() => {
16
- r.current.cb && (r.current.cb(), r.current.cb = null);
17
- }, []);
10
+ };
18
11
  return {
19
- popoverRef: t,
20
- handleAnimationEnd: l,
21
- froozePopoverPosition: i
12
+ show: (r) => {
13
+ e.emit({ ...r, id: m() });
14
+ },
15
+ Viewport: () => {
16
+ const r = n(null);
17
+ return s(() => {
18
+ e.emit = (o) => {
19
+ r.current && r.current.showAlert(o);
20
+ };
21
+ }, []), /* @__PURE__ */ i(u, { ref: r, ...t });
22
+ }
22
23
  };
23
24
  };
24
25
  export {
25
- p as useFroozeClosing
26
+ h as createAlertAgent
26
27
  };