@companix/uikit 0.1.26 → 0.1.28

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 (67) hide show
  1. package/dist/ImageBase/ImageBase.scss +50 -0
  2. package/dist/ImageBase/index.d.ts +8 -0
  3. package/dist/__hooks/use-sync-submit.d.ts +1 -1
  4. package/dist/bundle.es.js +63 -61
  5. package/dist/bundle.es10.js +1 -1
  6. package/dist/bundle.es13.js +4 -4
  7. package/dist/bundle.es14.js +3 -3
  8. package/dist/bundle.es15.js +2 -2
  9. package/dist/bundle.es17.js +1 -1
  10. package/dist/bundle.es23.js +5 -5
  11. package/dist/bundle.es25.js +1 -1
  12. package/dist/bundle.es26.js +1 -1
  13. package/dist/bundle.es27.js +1 -1
  14. package/dist/bundle.es28.js +1 -1
  15. package/dist/bundle.es29.js +1 -1
  16. package/dist/bundle.es30.js +1 -1
  17. package/dist/bundle.es31.js +4 -4
  18. package/dist/bundle.es32.js +2 -2
  19. package/dist/bundle.es35.js +2 -2
  20. package/dist/bundle.es41.js +1 -1
  21. package/dist/bundle.es42.js +2 -2
  22. package/dist/bundle.es45.js +45 -33
  23. package/dist/bundle.es46.js +33 -20
  24. package/dist/bundle.es47.js +19 -47
  25. package/dist/bundle.es48.js +49 -11
  26. package/dist/bundle.es49.js +11 -13
  27. package/dist/bundle.es50.js +13 -13
  28. package/dist/bundle.es51.js +13 -30
  29. package/dist/bundle.es52.js +30 -11
  30. package/dist/bundle.es53.js +10 -25
  31. package/dist/bundle.es54.js +17 -29
  32. package/dist/bundle.es55.js +36 -48
  33. package/dist/bundle.es56.js +49 -55
  34. package/dist/bundle.es57.js +56 -8
  35. package/dist/bundle.es58.js +8 -26
  36. package/dist/bundle.es59.js +27 -5
  37. package/dist/bundle.es60.js +5 -66
  38. package/dist/bundle.es61.js +66 -23
  39. package/dist/bundle.es62.js +22 -23
  40. package/dist/bundle.es63.js +24 -90
  41. package/dist/bundle.es64.js +90 -18
  42. package/dist/bundle.es65.js +17 -93
  43. package/dist/bundle.es66.js +93 -73
  44. package/dist/bundle.es67.js +73 -23
  45. package/dist/bundle.es68.js +20 -35
  46. package/dist/bundle.es69.js +39 -24
  47. package/dist/bundle.es70.js +24 -79
  48. package/dist/bundle.es71.js +71 -85
  49. package/dist/bundle.es72.js +93 -10
  50. package/dist/bundle.es73.js +10 -6
  51. package/dist/bundle.es74.js +5 -69
  52. package/dist/bundle.es75.js +68 -10
  53. package/dist/bundle.es76.js +11 -42
  54. package/dist/bundle.es77.js +42 -32
  55. package/dist/bundle.es78.js +31 -64
  56. package/dist/bundle.es79.js +65 -40
  57. package/dist/bundle.es80.js +40 -14
  58. package/dist/bundle.es81.js +15 -32
  59. package/dist/bundle.es82.js +23 -61
  60. package/dist/bundle.es83.js +70 -75
  61. package/dist/bundle.es84.js +13 -48
  62. package/dist/bundle.es85.js +74 -13
  63. package/dist/bundle.es86.js +48 -13
  64. package/dist/bundle.es87.js +16 -0
  65. package/dist/index.d.ts +2 -0
  66. package/dist/index.scss +1 -0
  67. package/package.json +1 -1
@@ -0,0 +1,50 @@
1
+ .image-base {
2
+ position: relative;
3
+ // z-index: 1 из .Image__img внезапно перекрывает другие элементы
4
+ z-index: 0;
5
+
6
+ &::after {
7
+ content: '';
8
+ position: absolute;
9
+ inset: 0;
10
+ z-index: 1;
11
+ border: 1px solid rgb(0 0 0 / 6%);
12
+ border-radius: inherit;
13
+ pointer-events: none;
14
+ }
15
+
16
+ &-img,
17
+ &-placeholder,
18
+ &-preview {
19
+ width: 100%;
20
+ height: 100%;
21
+ object-fit: scale-down;
22
+ }
23
+
24
+ &-img {
25
+ position: relative;
26
+ z-index: 1;
27
+ }
28
+
29
+ &-loading {
30
+ .image-base-img {
31
+ position: absolute;
32
+ top: 0;
33
+ left: 0;
34
+ }
35
+ }
36
+
37
+ &-preview,
38
+ &-icon {
39
+ position: absolute;
40
+ top: 50%;
41
+ left: 50%;
42
+ transform: translate(-50%, -50%);
43
+ z-index: 1;
44
+ }
45
+
46
+ &-preview {
47
+ object-fit: contain;
48
+ filter: blur(8px) opacity(0.9);
49
+ }
50
+ }
@@ -0,0 +1,8 @@
1
+ export interface ImageBaseProps extends React.ImgHTMLAttributes<HTMLImageElement> {
2
+ src: string;
3
+ previewSrc?: string;
4
+ width: number;
5
+ height: number;
6
+ enableAspectRatio?: boolean;
7
+ }
8
+ export declare const ImageBase: (props: ImageBaseProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- export declare const useSyncSubmit: () => [boolean, (isSubmitted: boolean) => void];
1
+ export declare const useSyncSubmit: (isSubmitted: boolean) => [boolean, (isSubmitted: boolean) => void];
package/dist/bundle.es.js CHANGED
@@ -6,8 +6,8 @@ import { ButtonGroup as n } from "./bundle.es6.js";
6
6
  import { Spinner as S } from "./bundle.es7.js";
7
7
  import { Scrollable as g } from "./bundle.es8.js";
8
8
  import { ImitateScroll as d } from "./bundle.es9.js";
9
- import { Segments as P } from "./bundle.es10.js";
10
- import { Popover as y } from "./bundle.es11.js";
9
+ import { Segments as B } from "./bundle.es10.js";
10
+ import { Popover as b } from "./bundle.es11.js";
11
11
  import { Tooltip as I } from "./bundle.es12.js";
12
12
  import { Select as k } from "./bundle.es13.js";
13
13
  import { SelectTags as w } from "./bundle.es14.js";
@@ -33,30 +33,31 @@ import { FileOverlay as ce } from "./bundle.es33.js";
33
33
  import { FormGroup as ue } from "./bundle.es34.js";
34
34
  import { TimePicker as De } from "./bundle.es35.js";
35
35
  import { Icon as he } from "./bundle.es36.js";
36
- import { ProgressBar as be } from "./bundle.es37.js";
37
- import { Skeleton as Be } from "./bundle.es38.js";
36
+ import { ProgressBar as Pe } from "./bundle.es37.js";
37
+ import { Skeleton as ye } from "./bundle.es38.js";
38
38
  import { Blank as Te } from "./bundle.es39.js";
39
39
  import { ProgressRing as ve } from "./bundle.es40.js";
40
40
  import { WriteBar as Ae } from "./bundle.es41.js";
41
41
  import { Editor as Oe } from "./bundle.es42.js";
42
42
  import { DropArea as ze, DropAreaProvider as Le, useDragEnter as Ce } from "./bundle.es43.js";
43
43
  import { Table as Ne } from "./bundle.es44.js";
44
- import { ThemeProvider as We, useTheme as Ee } from "./bundle.es45.js";
45
- import { ColorSchemeScript as je, colorSchemeScript as qe } from "./bundle.es46.js";
46
- import { LocalStorageProvider as Je, useLocalStorage as Ke } from "./bundle.es47.js";
47
- import { useBooleanState as Ue } from "./bundle.es48.js";
48
- import { useResizeTextarea as Xe } from "./bundle.es49.js";
49
- import { useLoading as _e } from "./bundle.es50.js";
50
- import { NowContextProvider as er, useNow as rr } from "./bundle.es51.js";
51
- import { useSyncSubmit as tr } from "./bundle.es52.js";
52
- import { createAlertAgent as mr } from "./bundle.es53.js";
53
- import { createToaster as xr } from "./bundle.es54.js";
54
- import { Toast as ir } from "./bundle.es55.js";
55
- import { DialogShell as lr, DrawerShell as nr, MobileDrawerShell as cr, createPopupRegistry as Sr, usePopup as ur } from "./bundle.es56.js";
56
- import { createPopoversRegistry as Dr } from "./bundle.es57.js";
57
- import { createScope as hr, createStaticScope as Pr } from "./bundle.es58.js";
58
- import { RemoveListener as yr } from "./bundle.es59.js";
59
- import { MONDAY as Ir, addMonths as Tr, createDayDisableChecker as kr, endOfDay as vr, endOfWeek as wr, isDayMinMaxRestricted as Ar, isSameDate as Mr, setMonth as Or, setYear as Rr, startOfDay as zr, startOfWeek as Lr, subMonths as Cr, useDayDisableCheker as Fr } from "./bundle.es60.js";
44
+ import { ImageBase as We } from "./bundle.es45.js";
45
+ import { ThemeProvider as Ye, useTheme as je } from "./bundle.es46.js";
46
+ import { ColorSchemeScript as He, colorSchemeScript as Je } from "./bundle.es47.js";
47
+ import { LocalStorageProvider as Qe, useLocalStorage as Ue } from "./bundle.es48.js";
48
+ import { useBooleanState as Xe } from "./bundle.es49.js";
49
+ import { useResizeTextarea as _e } from "./bundle.es50.js";
50
+ import { useLoading as er } from "./bundle.es51.js";
51
+ import { NowContextProvider as or, useNow as tr } from "./bundle.es52.js";
52
+ import { useSyncSubmit as mr } from "./bundle.es53.js";
53
+ import { createAlertAgent as xr } from "./bundle.es54.js";
54
+ import { createToaster as ir } from "./bundle.es55.js";
55
+ import { Toast as lr } from "./bundle.es56.js";
56
+ import { DialogShell as cr, DrawerShell as Sr, MobileDrawerShell as ur, createPopupRegistry as gr, usePopup as Dr } from "./bundle.es57.js";
57
+ import { createPopoversRegistry as hr } from "./bundle.es58.js";
58
+ import { createScope as Pr, createStaticScope as br } from "./bundle.es59.js";
59
+ import { RemoveListener as Ir } from "./bundle.es60.js";
60
+ import { MONDAY as kr, addMonths as vr, createDayDisableChecker as wr, endOfDay as Ar, endOfWeek as Mr, isDayMinMaxRestricted as Or, isSameDate as Rr, setMonth as zr, setYear as Lr, startOfDay as Cr, startOfWeek as Fr, subMonths as Nr, useDayDisableCheker as Gr } from "./bundle.es61.js";
60
61
  export {
61
62
  $ as AlertDialog,
62
63
  o as Avatar,
@@ -64,83 +65,84 @@ export {
64
65
  s as Button,
65
66
  n as ButtonGroup,
66
67
  G as Checkbox,
67
- je as ColorSchemeScript,
68
+ He as ColorSchemeScript,
68
69
  me as Countdown,
69
70
  le as DateInput,
70
71
  ie as DatePicker,
71
72
  V as Dialog,
72
- lr as DialogShell,
73
+ cr as DialogShell,
73
74
  J as Drawer,
74
- nr as DrawerShell,
75
+ Sr as DrawerShell,
75
76
  ze as DropArea,
76
77
  Le as DropAreaProvider,
77
78
  Oe as Editor,
78
79
  ce as FileOverlay,
79
80
  ue as FormGroup,
80
81
  he as Icon,
82
+ We as ImageBase,
81
83
  d as ImitateScroll,
82
84
  M as Input,
83
85
  re as LoadingButton,
84
- Je as LocalStorageProvider,
85
- Ir as MONDAY,
86
+ Qe as LocalStorageProvider,
87
+ kr as MONDAY,
86
88
  Q as MobileDrawer,
87
- cr as MobileDrawerShell,
88
- er as NowContextProvider,
89
+ ur as MobileDrawerShell,
90
+ or as NowContextProvider,
89
91
  L as NumberInput,
90
92
  R as OptionItem,
91
93
  F as OptionsList,
92
- y as Popover,
94
+ b as Popover,
93
95
  Z as PopupLayout,
94
- be as ProgressBar,
96
+ Pe as ProgressBar,
95
97
  ve as ProgressRing,
96
98
  j as Radio,
97
99
  q as RadioGroup,
98
- yr as RemoveListener,
100
+ Ir as RemoveListener,
99
101
  g as Scrollable,
100
- P as Segments,
102
+ B as Segments,
101
103
  k as Select,
102
104
  w as SelectTags,
103
- Be as Skeleton,
105
+ ye as Skeleton,
104
106
  S as Spinner,
105
107
  E as Switch,
106
108
  Ne as Table,
107
109
  te as Tabs,
108
110
  xe as TextArea,
109
- We as ThemeProvider,
111
+ Ye as ThemeProvider,
110
112
  De as TimePicker,
111
- ir as Toast,
113
+ lr as Toast,
112
114
  I as Tooltip,
113
115
  Ae as WriteBar,
114
- Tr as addMonths,
116
+ vr as addMonths,
115
117
  p as avatarSizes,
116
- qe as colorSchemeScript,
117
- mr as createAlertAgent,
118
- kr as createDayDisableChecker,
119
- Dr as createPopoversRegistry,
120
- Sr as createPopupRegistry,
121
- hr as createScope,
122
- Pr as createStaticScope,
123
- xr as createToaster,
124
- vr as endOfDay,
125
- wr as endOfWeek,
118
+ Je as colorSchemeScript,
119
+ xr as createAlertAgent,
120
+ wr as createDayDisableChecker,
121
+ hr as createPopoversRegistry,
122
+ gr as createPopupRegistry,
123
+ Pr as createScope,
124
+ br as createStaticScope,
125
+ ir as createToaster,
126
+ Ar as endOfDay,
127
+ Mr as endOfWeek,
126
128
  a as getBadgeIconSizeByImageBaseSize,
127
129
  x as getFallbackIconSizeByImageBaseSize,
128
130
  f as getInitialsFontSize,
129
- Ar as isDayMinMaxRestricted,
130
- Mr as isSameDate,
131
- Or as setMonth,
132
- Rr as setYear,
133
- zr as startOfDay,
134
- Lr as startOfWeek,
135
- Cr as subMonths,
136
- Ue as useBooleanState,
137
- Fr as useDayDisableCheker,
131
+ Or as isDayMinMaxRestricted,
132
+ Rr as isSameDate,
133
+ zr as setMonth,
134
+ Lr as setYear,
135
+ Cr as startOfDay,
136
+ Fr as startOfWeek,
137
+ Nr as subMonths,
138
+ Xe as useBooleanState,
139
+ Gr as useDayDisableCheker,
138
140
  Ce as useDragEnter,
139
- _e as useLoading,
140
- Ke as useLocalStorage,
141
- rr as useNow,
142
- ur as usePopup,
143
- Xe as useResizeTextarea,
144
- tr as useSyncSubmit,
145
- Ee as useTheme
141
+ er as useLoading,
142
+ Ue as useLocalStorage,
143
+ tr as useNow,
144
+ Dr as usePopup,
145
+ _e as useResizeTextarea,
146
+ mr as useSyncSubmit,
147
+ je as useTheme
146
148
  };
@@ -1,5 +1,5 @@
1
1
  import { jsx as r, jsxs as m } from "react/jsx-runtime";
2
- import { makeTabId as c, useTabSlider as i } from "./bundle.es61.js";
2
+ import { makeTabId as c, useTabSlider as i } from "./bundle.es62.js";
3
3
  import { attr as o } from "@companix/utils-browser";
4
4
  import { useRef as u, useId as f } from "react";
5
5
  const h = ({ value: s, onChange: t, options: a }) => {
@@ -1,10 +1,10 @@
1
1
  import { jsx as l } from "react/jsx-runtime";
2
2
  import { useRef as L, useMemo as j, useImperativeHandle as k } from "react";
3
3
  import { Popover as q } from "./bundle.es11.js";
4
- import { useFroozeClosing as w } from "./bundle.es62.js";
5
- import { SelectInput as H } from "./bundle.es63.js";
6
- import { useScrollListController as M } from "./bundle.es64.js";
7
- import { OptionsPopover as N } from "./bundle.es65.js";
4
+ import { useFroozeClosing as w } from "./bundle.es63.js";
5
+ import { SelectInput as H } from "./bundle.es64.js";
6
+ import { useScrollListController as M } from "./bundle.es65.js";
7
+ import { OptionsPopover as N } from "./bundle.es66.js";
8
8
  import { mergeRefs as W } from "react-merge-refs";
9
9
  const Z = (t) => {
10
10
  const {
@@ -3,12 +3,12 @@ import { mergeRefs as T } from "react-merge-refs";
3
3
  import { useState as M, useRef as h, useMemo as j } from "react";
4
4
  import { matchPattern as q } from "@companix/utils-js";
5
5
  import { faXmark as V, faChevronDown as $ } from "@companix/icons-solid";
6
- import { useFroozeClosing as B } from "./bundle.es62.js";
6
+ import { useFroozeClosing as B } from "./bundle.es63.js";
7
7
  import { Popover as L } from "./bundle.es11.js";
8
8
  import { Icon as g } from "./bundle.es36.js";
9
9
  import { attr as l, getActiveElementByAnotherElement as X, contains as G } from "@companix/utils-browser";
10
- import { OptionsPopover as H } from "./bundle.es65.js";
11
- import { arrays as v } from "./bundle.es66.js";
10
+ import { OptionsPopover as H } from "./bundle.es66.js";
11
+ import { arrays as v } from "./bundle.es67.js";
12
12
  const ne = (r) => {
13
13
  const {
14
14
  closeAfterSelect: C,
@@ -1,8 +1,8 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
2
  import { forwardRef as b, useRef as R } from "react";
3
3
  import { mergeRefs as c } from "react-merge-refs";
4
- import { InputElement as x } from "./bundle.es67.js";
5
- import { InputContainer as I } from "./bundle.es68.js";
4
+ import { InputElement as x } from "./bundle.es68.js";
5
+ import { InputContainer as I } from "./bundle.es69.js";
6
6
  import g from "classnames";
7
7
  const N = b(
8
8
  ({
@@ -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.es68.js";
5
+ import { InputContainer as F } from "./bundle.es69.js";
6
6
  import { NumericFormat as V } from "react-number-format";
7
7
  const D = j(
8
8
  ({
@@ -4,11 +4,11 @@ import G from "classnames";
4
4
  import * as E from "@radix-ui/react-dialog";
5
5
  import { VisuallyHidden as K } from "@radix-ui/react-visually-hidden";
6
6
  import { customCSS as oe } from "@companix/utils-browser";
7
- import { RemoveListener as se } from "./bundle.es59.js";
8
- import { DrawerContext as ie, useDrawerContext as J } from "./bundle.es69.js";
9
- import { set as R, reset as ae, composeRefs as Q, isInput as ce, isMobileFirefox as ue, getTranslate as W, isIOS as le, dampenValue as fe } from "./bundle.es70.js";
10
- import { usePreventScroll as de } from "./bundle.es71.js";
11
- import { DRAG_CLASS as j, VELOCITY_THRESHOLD as ge, CLOSE_THRESHOLD as me, SCROLL_LOCK_TIMEOUT as pe, TRANSITIONS as Y, WINDOW_TOP_OFFSET as he } from "./bundle.es72.js";
7
+ import { RemoveListener as se } from "./bundle.es60.js";
8
+ import { DrawerContext as ie, useDrawerContext as J } from "./bundle.es70.js";
9
+ import { set as R, reset as ae, composeRefs as Q, isInput as ce, isMobileFirefox as ue, getTranslate as W, isIOS as le, dampenValue as fe } from "./bundle.es71.js";
10
+ import { usePreventScroll as de } from "./bundle.es72.js";
11
+ import { DRAG_CLASS as j, VELOCITY_THRESHOLD as ge, CLOSE_THRESHOLD as me, SCROLL_LOCK_TIMEOUT as pe, TRANSITIONS as Y, WINDOW_TOP_OFFSET as he } from "./bundle.es73.js";
12
12
  const we = (m) => {
13
13
  const { open: p, onOpenChange: l, onClosed: D, children: y, defaultOpen: S = !1, disableEsc: f } = m, [x, M] = t.useState(!1), [T, P] = t.useState(!1), [_, A] = t.useState(!1), v = t.useRef(null), H = t.useRef(null), I = t.useRef(null), L = t.useRef(null), o = t.useRef(null), d = t.useRef(!1), h = t.useRef(0), b = t.useRef(!1), N = t.useRef(!S), e = t.useRef(null), O = t.useRef(e.current?.getBoundingClientRect().height || 0), g = t.useRef(0), C = t.useRef(0), w = p ?? !1, V = t.useCallback(
14
14
  (r) => {
@@ -2,7 +2,7 @@ import { jsx as e, jsxs as n } from "react/jsx-runtime";
2
2
  import y from "classnames";
3
3
  import * as o from "@radix-ui/react-dialog";
4
4
  import { VisuallyHidden as l } from "@radix-ui/react-visually-hidden";
5
- import { RemoveListener as u } from "./bundle.es59.js";
5
+ import { RemoveListener as u } from "./bundle.es60.js";
6
6
  const C = (t) => {
7
7
  const { open: i, onOpenChange: a, children: s, onClosed: c, disableEsc: p, overlay: r = {}, overlayRef: m, content: d = {}, contentRef: f } = t, h = (v) => {
8
8
  p && v.preventDefault();
@@ -1,7 +1,7 @@
1
1
  import { jsx as e, jsxs as a } from "react/jsx-runtime";
2
2
  import * as r from "@radix-ui/react-alert-dialog";
3
3
  import { Button as c } from "./bundle.es5.js";
4
- import { RemoveListener as N } from "./bundle.es59.js";
4
+ import { RemoveListener as N } from "./bundle.es60.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 m } from "react/jsx-runtime";
2
2
  import { Button as p } from "./bundle.es5.js";
3
- import { useLoading as s } from "./bundle.es50.js";
3
+ import { useLoading as s } from "./bundle.es51.js";
4
4
  const l = ({
5
5
  onClick: o,
6
6
  appearance: r = "primary",
@@ -1,5 +1,5 @@
1
1
  import { jsx as a, jsxs as b } from "react/jsx-runtime";
2
- import { useTabSlider as l, makeTabId as m } from "./bundle.es61.js";
2
+ import { useTabSlider as l, makeTabId as m } from "./bundle.es62.js";
3
3
  import * as n from "@radix-ui/react-tabs";
4
4
  import { useRef as f, useId as T, createContext as u, useContext as c } from "react";
5
5
  const o = u({ baseId: "", containerRef: {} }), x = ({ children: s, value: e, onChange: r }) => {
@@ -1,5 +1,5 @@
1
1
  import { jsx as d, Fragment as p } from "react/jsx-runtime";
2
- import { useRerender as T } from "./bundle.es73.js";
2
+ import { useRerender as T } from "./bundle.es74.js";
3
3
  import { getNextCandleTime as x, sleep as S, getTimes as g } from "@companix/utils-js";
4
4
  import { useRef as v, useEffect as s } from "react";
5
5
  const n = (t) => String(t).padStart(2, "0"), C = ({ expiration: t, separator: m = ":", onExpired: i }) => {
@@ -1,6 +1,6 @@
1
1
  import { jsx as m } from "react/jsx-runtime";
2
2
  import u from "classnames";
3
- import { useResizeTextarea as z } from "./bundle.es49.js";
3
+ import { useResizeTextarea as z } from "./bundle.es50.js";
4
4
  import { attr as e, callMultiple as R } from "@companix/utils-browser";
5
5
  import { useEffect as T } from "react";
6
6
  import { mergeRefs as g } from "react-merge-refs";
@@ -2,11 +2,11 @@ import { jsx as u } from "react/jsx-runtime";
2
2
  import { Popover as T } from "./bundle.es11.js";
3
3
  import { Input as w } from "./bundle.es15.js";
4
4
  import { useState as A, useRef as j } from "react";
5
- import { Calendar as E } from "./bundle.es74.js";
6
- import { useDayDisableCheker as N } from "./bundle.es60.js";
5
+ import { Calendar as E } from "./bundle.es75.js";
6
+ import { useDayDisableCheker as N } from "./bundle.es61.js";
7
7
  import { getNum as h, formatTime as v } from "@companix/utils-js";
8
- import { removeDigits as O } from "./bundle.es66.js";
9
- import { SelectRightElements as Y } from "./bundle.es75.js";
8
+ import { removeDigits as O } from "./bundle.es67.js";
9
+ import { SelectRightElements as Y } from "./bundle.es76.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.es13.js";
4
- import { createDateValidation as O, getMonthMaxDay as T } from "./bundle.es66.js";
5
- import { defaultMin as j, defaultMax as N, useCalendarOptions as V } from "./bundle.es76.js";
4
+ import { createDateValidation as O, getMonthMaxDay as T } from "./bundle.es67.js";
5
+ import { defaultMin as j, defaultMax as N, useCalendarOptions as V } from "./bundle.es77.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 b, useMemo as I, useState as E, useCallback as A } from "react";
3
3
  import { getNum as S } from "@companix/utils-js";
4
- import { getTimesOptions as W, getTimeValue as q, removeDigits as w, convertTimeToOption as y } from "./bundle.es66.js";
5
- import { SelectRightElements as z } from "./bundle.es75.js";
4
+ import { getTimesOptions as W, getTimeValue as q, removeDigits as w, convertTimeToOption as y } from "./bundle.es67.js";
5
+ import { SelectRightElements as z } from "./bundle.es76.js";
6
6
  import { Select as F } from "./bundle.es13.js";
7
7
  import { Input as G } from "./bundle.es15.js";
8
8
  const o = {
@@ -3,7 +3,7 @@ import c from "classnames";
3
3
  import { Spinner as b } from "./bundle.es7.js";
4
4
  import { Icon as h } from "./bundle.es36.js";
5
5
  import { attr as N } from "@companix/utils-browser";
6
- import { WriteBarInput as u } from "./bundle.es77.js";
6
+ import { WriteBarInput as u } from "./bundle.es78.js";
7
7
  const w = (a) => {
8
8
  const {
9
9
  before: e,
@@ -1,6 +1,6 @@
1
1
  import { escape as u, unescape as f, isElementNode as g } from "@companix/utils-browser";
2
- import { onElementKeyDownFactory as v } from "./bundle.es78.js";
3
- import { getEditorSelection as l, normalizeEditorText as a, getNodeTextContent as h, scrollSelectionIntoView as d, getTextSelectionOffsets as E } from "./bundle.es79.js";
2
+ import { onElementKeyDownFactory as v } from "./bundle.es79.js";
3
+ import { getEditorSelection as l, normalizeEditorText as a, getNodeTextContent as h, scrollSelectionIntoView as d, getTextSelectionOffsets as E } from "./bundle.es80.js";
4
4
  class k {
5
5
  element;
6
6
  prevText = "";
@@ -1,37 +1,49 @@
1
- import { jsx as u } from "react/jsx-runtime";
2
- import { useState as h, useEffect as c, createContext as f, useContext as w } from "react";
3
- import { getColorScheme as v, updateDOM as m } from "./bundle.es80.js";
4
- const i = f({
5
- setColorScheme: () => {
6
- }
7
- }), y = () => w(i), p = (d) => {
8
- const { defaultColorScheme: o = "system", storageKey: n = "theme", children: l } = d, [r, a] = h(() => v(n, o)), s = (e) => {
9
- a(e), localStorage.setItem(n, e);
1
+ import { jsxs as $, jsx as l } from "react/jsx-runtime";
2
+ import b from "classnames";
3
+ import { useRef as y, useMemo as F, useState as o } from "react";
4
+ const P = (a) => {
5
+ const { previewSrc: e, width: s, height: t, className: n, src: r, children: m, enableAspectRatio: d, ...g } = a, p = y(null), f = F(() => I(s, t), [s, t]), [i, h] = o(!1), [v, u] = o(!1), [w, c] = o(!1), x = () => {
6
+ v && (u(!1), c(!1));
10
7
  };
11
- return c(() => {
12
- const e = window ? window.matchMedia("(prefers-color-scheme: dark)") : void 0;
13
- if (!e)
14
- return;
15
- const t = () => {
16
- r === "system" && m("system");
17
- };
18
- return e.addEventListener?.("change", t), t(), () => {
19
- e.removeEventListener?.("change", t);
20
- };
21
- }, [r]), c(() => {
22
- if (!window)
23
- return;
24
- const e = (t) => {
25
- t.key === n && (t.newValue ? a(t.newValue) : s(o));
26
- };
27
- return window.addEventListener("storage", e), () => {
28
- window.removeEventListener("storage", e);
29
- };
30
- }, [s, o]), c(() => {
31
- m(r);
32
- }, [r]), /* @__PURE__ */ u(i.Provider, { value: { colorScheme: r, setColorScheme: s }, children: l });
8
+ return /* @__PURE__ */ $(
9
+ "div",
10
+ {
11
+ className: b("image-base", { "image-base-loading": !i }, n),
12
+ style: d ? { aspectRatio: s / t } : {},
13
+ onClick: x,
14
+ children: [
15
+ !i && /* @__PURE__ */ l("img", { className: "image-base-placeholder", src: f, alt: "" }),
16
+ e && e !== r && !i && !w && /* @__PURE__ */ l(
17
+ "img",
18
+ {
19
+ className: "image-base-preview",
20
+ src: e,
21
+ style: { maxWidth: `${s}px`, maxHeight: `${t}px` },
22
+ loading: "lazy",
23
+ decoding: "async",
24
+ onError: () => c(!0),
25
+ alt: ""
26
+ }
27
+ ),
28
+ /* @__PURE__ */ l(
29
+ "img",
30
+ {
31
+ ref: p,
32
+ className: "image-base-img",
33
+ src: r,
34
+ decoding: "async",
35
+ onLoad: () => h(!0),
36
+ ...g
37
+ }
38
+ ),
39
+ m
40
+ ]
41
+ }
42
+ );
43
+ }, I = (a, e) => {
44
+ const s = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${a} ${e}" width="${a}" height="${e}" />`;
45
+ return `data:image/svg+xml;charset=utf-8,${encodeURIComponent(s)}`;
33
46
  };
34
47
  export {
35
- p as ThemeProvider,
36
- y as useTheme
48
+ P as ImageBase
37
49
  };
@@ -1,24 +1,37 @@
1
- import { jsx as l } from "react/jsx-runtime";
2
- import { memo as n } from "react";
3
- const i = n(({ storageKey: t, defaultColorScheme: o }) => /* @__PURE__ */ l(
4
- "script",
5
- {
6
- suppressHydrationWarning: !0,
7
- dangerouslySetInnerHTML: {
8
- __html: `(${a.toString()})("${t}", "${o}")`
9
- }
10
- }
11
- )), a = (t, o) => {
12
- const [r, c] = ["theme-light", "theme-dark"];
13
- try {
14
- let e = localStorage.getItem(t) || o;
15
- e === "system" && (e = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light");
16
- const s = e === "dark" ? c : r;
17
- document.documentElement.classList.remove(r, c), document.documentElement.classList.add(s), document.documentElement.style.colorScheme = e;
18
- } catch {
1
+ import { jsx as u } from "react/jsx-runtime";
2
+ import { useState as h, useEffect as c, createContext as f, useContext as w } from "react";
3
+ import { getColorScheme as v, updateDOM as m } from "./bundle.es81.js";
4
+ const i = f({
5
+ setColorScheme: () => {
19
6
  }
7
+ }), y = () => w(i), p = (d) => {
8
+ const { defaultColorScheme: o = "system", storageKey: n = "theme", children: l } = d, [r, a] = h(() => v(n, o)), s = (e) => {
9
+ a(e), localStorage.setItem(n, e);
10
+ };
11
+ return c(() => {
12
+ const e = window ? window.matchMedia("(prefers-color-scheme: dark)") : void 0;
13
+ if (!e)
14
+ return;
15
+ const t = () => {
16
+ r === "system" && m("system");
17
+ };
18
+ return e.addEventListener?.("change", t), t(), () => {
19
+ e.removeEventListener?.("change", t);
20
+ };
21
+ }, [r]), c(() => {
22
+ if (!window)
23
+ return;
24
+ const e = (t) => {
25
+ t.key === n && (t.newValue ? a(t.newValue) : s(o));
26
+ };
27
+ return window.addEventListener("storage", e), () => {
28
+ window.removeEventListener("storage", e);
29
+ };
30
+ }, [s, o]), c(() => {
31
+ m(r);
32
+ }, [r]), /* @__PURE__ */ u(i.Provider, { value: { colorScheme: r, setColorScheme: s }, children: l });
20
33
  };
21
34
  export {
22
- i as ColorSchemeScript,
23
- a as colorSchemeScript
35
+ p as ThemeProvider,
36
+ y as useTheme
24
37
  };