@clicoh/orion-library 1.2.0-beta.2 → 1.2.0-beta.6
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/components/01-atoms/Button/Button.d.ts +4 -1
- package/dist/components/01-atoms/Button/Button.d.ts.map +1 -1
- package/dist/components/01-atoms/Button/Button.jsx +16 -2
- package/dist/components/01-atoms/Button/Button.jsx.map +1 -1
- package/dist/components/01-atoms/Switch/Switch.d.ts +5 -2
- package/dist/components/01-atoms/Switch/Switch.d.ts.map +1 -1
- package/dist/components/01-atoms/Switch/Switch.jsx +15 -12
- package/dist/components/01-atoms/Switch/Switch.jsx.map +1 -1
- package/dist/components/01-atoms/Textarea/Textarea.d.ts +38 -0
- package/dist/components/01-atoms/Textarea/Textarea.d.ts.map +1 -0
- package/dist/components/01-atoms/Textarea/Textarea.jsx +50 -0
- package/dist/components/01-atoms/Textarea/Textarea.jsx.map +1 -0
- package/dist/components/01-atoms/Textarea/index.d.ts +2 -0
- package/dist/components/01-atoms/Textarea/index.d.ts.map +1 -0
- package/dist/components/01-atoms/Textarea/index.js +2 -0
- package/dist/components/01-atoms/Textarea/index.js.map +1 -0
- package/dist/components/01-atoms/Toast/Toast.d.ts.map +1 -1
- package/dist/components/01-atoms/Toast/Toast.jsx +3 -1
- package/dist/components/01-atoms/Toast/Toast.jsx.map +1 -1
- package/dist/components/01-atoms/index.d.ts +1 -0
- package/dist/components/01-atoms/index.d.ts.map +1 -1
- package/dist/components/01-atoms/index.js +1 -0
- package/dist/components/01-atoms/index.js.map +1 -1
- package/dist/components/02-molecules/Autocomplete/Autocomplete.d.ts +4 -1
- package/dist/components/02-molecules/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/components/02-molecules/Autocomplete/Autocomplete.jsx +25 -10
- package/dist/components/02-molecules/Autocomplete/Autocomplete.jsx.map +1 -1
- package/dist/components/02-molecules/Filter/Filter.d.ts.map +1 -1
- package/dist/components/02-molecules/Filter/Filter.jsx +14 -2
- package/dist/components/02-molecules/Filter/Filter.jsx.map +1 -1
- package/dist/components/02-molecules/Filter/types.d.ts +18 -5
- package/dist/components/02-molecules/Filter/types.d.ts.map +1 -1
- package/dist/components/02-molecules/ImageViewer/ImageViewer.d.ts +24 -4
- package/dist/components/02-molecules/ImageViewer/ImageViewer.d.ts.map +1 -1
- package/dist/components/02-molecules/ImageViewer/ImageViewer.jsx +68 -18
- package/dist/components/02-molecules/ImageViewer/ImageViewer.jsx.map +1 -1
- package/dist/components/02-molecules/Modal/Modal.d.ts +5 -1
- package/dist/components/02-molecules/Modal/Modal.d.ts.map +1 -1
- package/dist/components/02-molecules/Modal/Modal.jsx +4 -2
- package/dist/components/02-molecules/Modal/Modal.jsx.map +1 -1
- package/dist/components/03-organisms/MapView/MapView.d.ts +9 -1
- package/dist/components/03-organisms/MapView/MapView.d.ts.map +1 -1
- package/dist/components/03-organisms/MapView/MapView.jsx +27 -2
- package/dist/components/03-organisms/MapView/MapView.jsx.map +1 -1
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Filter.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/Filter/Filter.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Filter.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/Filter/Filter.tsx"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,8 @@ export type TInputBase = {
|
|
|
12
12
|
onDebouncedChange?: (query: string) => void | OptionType[] | Promise<void | OptionType[]>;
|
|
13
13
|
debounceDelay?: number;
|
|
14
14
|
toggleButtonLabel?: string;
|
|
15
|
+
/** Hides the dropdown-toggle chevron on an `autocomplete` input — see `Autocomplete`. */
|
|
16
|
+
hideToggleButton?: boolean;
|
|
15
17
|
noOptionsText?: string;
|
|
16
18
|
};
|
|
17
19
|
export type TInputRegular = TInputBase & {
|
|
@@ -24,10 +26,25 @@ export type TInputRadio = TInputBase & {
|
|
|
24
26
|
options: Record<string, string>;
|
|
25
27
|
placeholder?: never;
|
|
26
28
|
};
|
|
29
|
+
export type TFilterHelpers = {
|
|
30
|
+
filterKey: string;
|
|
31
|
+
setFilter: (name: string, value: TFilterValues) => void;
|
|
32
|
+
filters: Record<string, TFilterValues>;
|
|
33
|
+
};
|
|
27
34
|
export type TInputSelect = TInputBase & {
|
|
28
35
|
type: 'select';
|
|
29
36
|
options: Record<string, string>;
|
|
30
37
|
placeholder?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Fired after the panel state has taken the new value. `setFilter` lets a consumer
|
|
40
|
+
* react to the change, e.g. clearing the inputs that depended on the previous option.
|
|
41
|
+
*/
|
|
42
|
+
onChange?: (value: string, helpers: TFilterHelpers) => void;
|
|
43
|
+
/**
|
|
44
|
+
* Renders the select read-only. Use it when the value is fixed for the current
|
|
45
|
+
* session (e.g. a scope with a single option) but should still be visible.
|
|
46
|
+
*/
|
|
47
|
+
disabled?: boolean;
|
|
31
48
|
};
|
|
32
49
|
export type TInputMultiSelect = TInputBase & {
|
|
33
50
|
type: 'multiselect';
|
|
@@ -42,11 +59,7 @@ export type TInputSwitch = TInputBase & {
|
|
|
42
59
|
export type TInputAutocomplete = TInputBase & {
|
|
43
60
|
type: 'autocomplete';
|
|
44
61
|
options: OptionType[];
|
|
45
|
-
onSelect?: (selectedOption: OptionType | undefined, helpers:
|
|
46
|
-
filterKey: string;
|
|
47
|
-
setFilter: (name: string, value: TFilterValues) => void;
|
|
48
|
-
filters: Record<string, TFilterValues>;
|
|
49
|
-
}) => void;
|
|
62
|
+
onSelect?: (selectedOption: OptionType | undefined, helpers: TFilterHelpers) => void;
|
|
50
63
|
placeholder?: never;
|
|
51
64
|
};
|
|
52
65
|
export type TFilterInput = TInputRegular | TInputRadio | TInputSelect | TInputMultiSelect | TInputAutocomplete | TInputSwitch;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/Filter/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,mBAAmB,EAAE,MAAM,OAAO,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,EAAE,CAAC;AAEzE,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,CAClB,KAAK,EAAE,MAAM,KACV,IAAI,GAAG,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE,CAAC,CAAC;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG;IACvC,IAAI,EAAE,iBAAiB,CACrB,mBAAmB,CAAC,gBAAgB,CAAC,EACrC,gBAAgB,CACjB,CAAC,MAAM,CAAC,CAAC;IACV,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG;IACrC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG;IACtC,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/Filter/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ export type TImageView = {
|
|
|
4
4
|
label: string;
|
|
5
5
|
src: string;
|
|
6
6
|
alt: string;
|
|
7
|
+
indicator?: ReactNode;
|
|
7
8
|
};
|
|
8
9
|
export type TImageViewerLabels = {
|
|
9
10
|
zoomIn: string;
|
|
@@ -17,25 +18,42 @@ type ImageViewerProps = {
|
|
|
17
18
|
labels: TImageViewerLabels;
|
|
18
19
|
title?: ReactNode;
|
|
19
20
|
emptyState?: ReactNode;
|
|
21
|
+
activeId?: string;
|
|
22
|
+
onViewChange?: (id: string) => void;
|
|
20
23
|
} & Omit<HTMLAttributes<HTMLElement>, 'children' | 'title'>;
|
|
21
24
|
/**
|
|
22
25
|
* ImageViewer component for inspecting one or more images of the same subject.
|
|
23
26
|
*
|
|
24
27
|
* Each view is a tab, so a subject photographed from several angles reads as one
|
|
25
|
-
* piece instead of a gallery. Zoom and rotation reset
|
|
28
|
+
* piece instead of a gallery. Zoom and rotation reset whenever the active view
|
|
29
|
+
* changes, whether the user picked a tab or the consumer moved `activeId`: a
|
|
26
30
|
* transform that made sense for one angle rarely makes sense for the next.
|
|
27
31
|
*
|
|
32
|
+
* Uncontrolled by default. Passing `activeId` makes the consumer own the active
|
|
33
|
+
* view, so something outside the viewer (a side panel, a "next pending" action)
|
|
34
|
+
* can follow or drive it; `onViewChange` reports tab picks in both modes.
|
|
35
|
+
*
|
|
28
36
|
* Renders `emptyState` while `views` is empty, and disables the toolbar with it,
|
|
29
37
|
* so the frame keeps its size instead of collapsing.
|
|
30
38
|
*
|
|
31
39
|
* @component
|
|
32
40
|
* @example
|
|
41
|
+
* const [viewId, setViewId] = useState('front');
|
|
42
|
+
*
|
|
33
43
|
* <ImageViewer
|
|
34
44
|
* title="Identity document"
|
|
35
45
|
* views={[
|
|
36
46
|
* { id: 'front', label: 'Front', src: '/front.jpg', alt: 'Document front' },
|
|
37
|
-
* {
|
|
47
|
+
* {
|
|
48
|
+
* id: 'back',
|
|
49
|
+
* label: 'Back',
|
|
50
|
+
* src: '/back.jpg',
|
|
51
|
+
* alt: 'Document back',
|
|
52
|
+
* indicator: <FiAlertTriangle role="img" aria-label="Needs review" />,
|
|
53
|
+
* },
|
|
38
54
|
* ]}
|
|
55
|
+
* activeId={viewId}
|
|
56
|
+
* onViewChange={setViewId}
|
|
39
57
|
* labels={{
|
|
40
58
|
* zoomIn: 'Zoom in',
|
|
41
59
|
* zoomOut: 'Zoom out',
|
|
@@ -47,14 +65,16 @@ type ImageViewerProps = {
|
|
|
47
65
|
* />
|
|
48
66
|
*
|
|
49
67
|
* @param {Object} props - The properties of the ImageViewer component.
|
|
50
|
-
* @param {TImageView[]} props.views - Images to display. More than one renders a tab per view.
|
|
68
|
+
* @param {TImageView[]} props.views - Images to display. More than one renders a tab per view. A view's optional `indicator` sits after its tab label and becomes part of the tab's accessible name, so give it its own (for an icon, `role="img"` and `aria-label`). With a single view there are no tabs, so no indicator is shown.
|
|
51
69
|
* @param {TImageViewerLabels} props.labels - Accessible names of the toolbar actions.
|
|
52
70
|
* @param {ReactNode} [props.title] - Optional heading rendered on the left of the toolbar.
|
|
53
71
|
* @param {ReactNode} [props.emptyState] - Content rendered when there is no image.
|
|
72
|
+
* @param {string} [props.activeId] - Id of the view to show. Makes the viewer controlled; an id that matches no view falls back to the first one.
|
|
73
|
+
* @param {(id: string) => void} [props.onViewChange] - Called with the id of the tab the user picks, only when it differs from the active one.
|
|
54
74
|
* @param {HTMLAttributes<HTMLElement>} [props.restProps] - Additional attributes for the root element.
|
|
55
75
|
*
|
|
56
76
|
* @returns {ReactNode} The rendered ImageViewer component.
|
|
57
77
|
*/
|
|
58
|
-
export declare function ImageViewer({ views, labels, title, emptyState, ...restProps }: ImageViewerProps): ReactNode;
|
|
78
|
+
export declare function ImageViewer({ views, labels, title, emptyState, activeId, onViewChange, ...restProps }: ImageViewerProps): ReactNode;
|
|
59
79
|
export {};
|
|
60
80
|
//# sourceMappingURL=ImageViewer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageViewer.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/ImageViewer/ImageViewer.tsx"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAaf,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ImageViewer.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/ImageViewer/ImageViewer.tsx"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAaf,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC;AAiB5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,MAAM,EACN,KAAK,EACL,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,GAAG,SAAS,EACb,EAAE,gBAAgB,GAAG,SAAS,CAqN9B"}
|
|
@@ -11,25 +11,41 @@ const MAX_ZOOM = 3;
|
|
|
11
11
|
const ZOOM_STEP = 0.5;
|
|
12
12
|
const QUARTER_TURN = 90;
|
|
13
13
|
const FULL_TURN = 360;
|
|
14
|
+
const INITIAL_TRANSFORM = { zoom: MIN_ZOOM, rotation: 0 };
|
|
14
15
|
const TOOL_CLASSNAME = 'hover:bg-gray-5 focus-visible:ring-lavender disabled:text-gray-3 dark:disabled:text-gray-1 dark:hover:bg-gray-1 flex h-8 w-8 cursor-pointer items-center justify-center rounded-sm text-lg text-black focus-visible:ring-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:hover:bg-transparent dark:text-white';
|
|
15
16
|
/**
|
|
16
17
|
* ImageViewer component for inspecting one or more images of the same subject.
|
|
17
18
|
*
|
|
18
19
|
* Each view is a tab, so a subject photographed from several angles reads as one
|
|
19
|
-
* piece instead of a gallery. Zoom and rotation reset
|
|
20
|
+
* piece instead of a gallery. Zoom and rotation reset whenever the active view
|
|
21
|
+
* changes, whether the user picked a tab or the consumer moved `activeId`: a
|
|
20
22
|
* transform that made sense for one angle rarely makes sense for the next.
|
|
21
23
|
*
|
|
24
|
+
* Uncontrolled by default. Passing `activeId` makes the consumer own the active
|
|
25
|
+
* view, so something outside the viewer (a side panel, a "next pending" action)
|
|
26
|
+
* can follow or drive it; `onViewChange` reports tab picks in both modes.
|
|
27
|
+
*
|
|
22
28
|
* Renders `emptyState` while `views` is empty, and disables the toolbar with it,
|
|
23
29
|
* so the frame keeps its size instead of collapsing.
|
|
24
30
|
*
|
|
25
31
|
* @component
|
|
26
32
|
* @example
|
|
33
|
+
* const [viewId, setViewId] = useState('front');
|
|
34
|
+
*
|
|
27
35
|
* <ImageViewer
|
|
28
36
|
* title="Identity document"
|
|
29
37
|
* views={[
|
|
30
38
|
* { id: 'front', label: 'Front', src: '/front.jpg', alt: 'Document front' },
|
|
31
|
-
* {
|
|
39
|
+
* {
|
|
40
|
+
* id: 'back',
|
|
41
|
+
* label: 'Back',
|
|
42
|
+
* src: '/back.jpg',
|
|
43
|
+
* alt: 'Document back',
|
|
44
|
+
* indicator: <FiAlertTriangle role="img" aria-label="Needs review" />,
|
|
45
|
+
* },
|
|
32
46
|
* ]}
|
|
47
|
+
* activeId={viewId}
|
|
48
|
+
* onViewChange={setViewId}
|
|
33
49
|
* labels={{
|
|
34
50
|
* zoomIn: 'Zoom in',
|
|
35
51
|
* zoomOut: 'Zoom out',
|
|
@@ -41,18 +57,19 @@ const TOOL_CLASSNAME = 'hover:bg-gray-5 focus-visible:ring-lavender disabled:tex
|
|
|
41
57
|
* />
|
|
42
58
|
*
|
|
43
59
|
* @param {Object} props - The properties of the ImageViewer component.
|
|
44
|
-
* @param {TImageView[]} props.views - Images to display. More than one renders a tab per view.
|
|
60
|
+
* @param {TImageView[]} props.views - Images to display. More than one renders a tab per view. A view's optional `indicator` sits after its tab label and becomes part of the tab's accessible name, so give it its own (for an icon, `role="img"` and `aria-label`). With a single view there are no tabs, so no indicator is shown.
|
|
45
61
|
* @param {TImageViewerLabels} props.labels - Accessible names of the toolbar actions.
|
|
46
62
|
* @param {ReactNode} [props.title] - Optional heading rendered on the left of the toolbar.
|
|
47
63
|
* @param {ReactNode} [props.emptyState] - Content rendered when there is no image.
|
|
64
|
+
* @param {string} [props.activeId] - Id of the view to show. Makes the viewer controlled; an id that matches no view falls back to the first one.
|
|
65
|
+
* @param {(id: string) => void} [props.onViewChange] - Called with the id of the tab the user picks, only when it differs from the active one.
|
|
48
66
|
* @param {HTMLAttributes<HTMLElement>} [props.restProps] - Additional attributes for the root element.
|
|
49
67
|
*
|
|
50
68
|
* @returns {ReactNode} The rendered ImageViewer component.
|
|
51
69
|
*/
|
|
52
|
-
export function ImageViewer({ views, labels, title, emptyState, ...restProps }) {
|
|
53
|
-
const [
|
|
54
|
-
const [
|
|
55
|
-
const [rotation, setRotation] = useState(0);
|
|
70
|
+
export function ImageViewer({ views, labels, title, emptyState, activeId, onViewChange, ...restProps }) {
|
|
71
|
+
const [internalIndex, setInternalIndex] = useState(0);
|
|
72
|
+
const [transform, setTransform] = useState(INITIAL_TRANSFORM);
|
|
56
73
|
const [isFullscreen, setIsFullscreen] = useState(false);
|
|
57
74
|
const generatedId = useId();
|
|
58
75
|
/**
|
|
@@ -62,9 +79,8 @@ export function ImageViewer({ views, labels, title, emptyState, ...restProps })
|
|
|
62
79
|
*/
|
|
63
80
|
const viewsSignature = views.map(({ id }) => id).join('|');
|
|
64
81
|
useEffect(() => {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
setRotation(0);
|
|
82
|
+
setInternalIndex(0);
|
|
83
|
+
setTransform(INITIAL_TRANSFORM);
|
|
68
84
|
}, [viewsSignature]);
|
|
69
85
|
useEffect(() => {
|
|
70
86
|
if (!isFullscreen)
|
|
@@ -76,12 +92,32 @@ export function ImageViewer({ views, labels, title, emptyState, ...restProps })
|
|
|
76
92
|
document.addEventListener('keydown', handleKeyDown);
|
|
77
93
|
return () => document.removeEventListener('keydown', handleKeyDown);
|
|
78
94
|
}, [isFullscreen]);
|
|
95
|
+
const isControlled = activeId !== undefined;
|
|
96
|
+
const activeIndex = isControlled
|
|
97
|
+
? Math.max(views.findIndex(({ id }) => id === activeId), 0)
|
|
98
|
+
: internalIndex;
|
|
79
99
|
const activeView = views[activeIndex] ?? views[0];
|
|
80
100
|
const hasImage = Boolean(activeView);
|
|
101
|
+
const { zoom, rotation } = transform;
|
|
102
|
+
/**
|
|
103
|
+
* En modo controlado la vista puede cambiar sin pasar por `selectView`, asi
|
|
104
|
+
* que el reinicio se ata a la vista activa y no al clic. Guardar el zoom por
|
|
105
|
+
* id no alcanza: al volver a una vista reapareceria el zoom que tenia.
|
|
106
|
+
*/
|
|
107
|
+
const [transformViewId, setTransformViewId] = useState(activeView?.id);
|
|
108
|
+
if (activeView?.id !== transformViewId) {
|
|
109
|
+
setTransformViewId(activeView?.id);
|
|
110
|
+
setTransform(INITIAL_TRANSFORM);
|
|
111
|
+
}
|
|
81
112
|
const selectView = (index) => {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
113
|
+
const view = views[index];
|
|
114
|
+
if (!view)
|
|
115
|
+
return;
|
|
116
|
+
setTransform(INITIAL_TRANSFORM);
|
|
117
|
+
if (!isControlled)
|
|
118
|
+
setInternalIndex(index);
|
|
119
|
+
if (view.id !== activeView?.id)
|
|
120
|
+
onViewChange?.(view.id);
|
|
85
121
|
};
|
|
86
122
|
const frame = (<section {...restProps} className={clsx('border-gray-5 dark:border-gray-1 flex min-h-0 flex-col overflow-hidden rounded-lg border', isFullscreen ? 'h-full w-full bg-white dark:bg-black' : undefined, !isFullscreen ? restProps.className : undefined)}>
|
|
87
123
|
<div className="border-gray-5 bg-gray-6 dark:border-gray-1 dark:bg-black-1 flex flex-none items-center justify-between gap-4 border-b px-4 py-3">
|
|
@@ -93,13 +129,22 @@ export function ImageViewer({ views, labels, title, emptyState, ...restProps })
|
|
|
93
129
|
</Show.When>
|
|
94
130
|
</Show>
|
|
95
131
|
<div className="ml-auto flex items-center gap-1.5">
|
|
96
|
-
<button type="button" aria-label={labels.zoomOut} disabled={!hasImage || zoom <= MIN_ZOOM} onClick={() =>
|
|
132
|
+
<button type="button" aria-label={labels.zoomOut} disabled={!hasImage || zoom <= MIN_ZOOM} onClick={() => setTransform((current) => ({
|
|
133
|
+
...current,
|
|
134
|
+
zoom: current.zoom - ZOOM_STEP,
|
|
135
|
+
}))} className={TOOL_CLASSNAME}>
|
|
97
136
|
<MdZoomOut aria-hidden="true"/>
|
|
98
137
|
</button>
|
|
99
|
-
<button type="button" aria-label={labels.zoomIn} disabled={!hasImage || zoom >= MAX_ZOOM} onClick={() =>
|
|
138
|
+
<button type="button" aria-label={labels.zoomIn} disabled={!hasImage || zoom >= MAX_ZOOM} onClick={() => setTransform((current) => ({
|
|
139
|
+
...current,
|
|
140
|
+
zoom: current.zoom + ZOOM_STEP,
|
|
141
|
+
}))} className={TOOL_CLASSNAME}>
|
|
100
142
|
<MdZoomIn aria-hidden="true"/>
|
|
101
143
|
</button>
|
|
102
|
-
<button type="button" aria-label={labels.rotate} disabled={!hasImage} onClick={() =>
|
|
144
|
+
<button type="button" aria-label={labels.rotate} disabled={!hasImage} onClick={() => setTransform((current) => ({
|
|
145
|
+
...current,
|
|
146
|
+
rotation: (current.rotation + QUARTER_TURN) % FULL_TURN,
|
|
147
|
+
}))} className={TOOL_CLASSNAME}>
|
|
103
148
|
<MdRotateRight aria-hidden="true"/>
|
|
104
149
|
</button>
|
|
105
150
|
<button type="button" aria-label={isFullscreen ? labels.exitFullscreen : labels.enterFullscreen} aria-pressed={isFullscreen} disabled={!hasImage} onClick={() => setIsFullscreen((current) => !current)} className={TOOL_CLASSNAME}>
|
|
@@ -111,9 +156,14 @@ export function ImageViewer({ views, labels, title, emptyState, ...restProps })
|
|
|
111
156
|
<Show>
|
|
112
157
|
<Show.When isTrue={views.length > 1}>
|
|
113
158
|
<List role="tablist" aria-orientation="horizontal" orientation="horizontal" className="border-gray-5 dark:border-gray-1 flex-none items-end gap-6 border-b px-4">
|
|
114
|
-
<Each of={views} render={({ id, label }, index) => (<li key={id} role="presentation">
|
|
159
|
+
<Each of={views} render={({ id, label, indicator }, index) => (<li key={id} role="presentation">
|
|
115
160
|
<TabItem id={`${generatedId}-tab-${index}`} aria-controls={`${generatedId}-panel`} aria-selected={index === activeIndex} tabIndex={index === activeIndex ? 0 : -1} isActive={index === activeIndex} onClick={() => selectView(index)} className="pb-2">
|
|
116
|
-
|
|
161
|
+
<span className="inline-flex items-center gap-1.5">
|
|
162
|
+
{label}
|
|
163
|
+
{!!indicator && (<span className="flex flex-none items-center">
|
|
164
|
+
{indicator}
|
|
165
|
+
</span>)}
|
|
166
|
+
</span>
|
|
117
167
|
</TabItem>
|
|
118
168
|
</li>)}/>
|
|
119
169
|
</List>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageViewer.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/ImageViewer/ImageViewer.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EACL,SAAS,EACT,KAAK,EACL,QAAQ,GAGT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACR,SAAS,GACV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ImageViewer.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/ImageViewer/ImageViewer.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EACL,SAAS,EACT,KAAK,EACL,QAAQ,GAGT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACR,SAAS,GACV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAgCzC,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,iBAAiB,GAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AAEtE,MAAM,cAAc,GAClB,iUAAiU,CAAC;AAEpU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,EACL,MAAM,EACN,KAAK,EACL,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,GAAG,SAAS,EACK;IACjB,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAa,iBAAiB,CAAC,CAAC;IAC1E,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,KAAK,EAAE,CAAC;IAE5B;;;;OAIG;IACH,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE3D,SAAS,CAAC,GAAG,EAAE;QACb,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACpB,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAClC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,YAAY;YAAE,OAAO;QAE1B,MAAM,aAAa,GAAG,CAAC,KAAoB,EAAE,EAAE;YAC7C,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ;gBAAE,eAAe,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACpD,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACtE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,YAAY,GAAG,QAAQ,KAAK,SAAS,CAAC;IAC5C,MAAM,WAAW,GAAG,YAAY;QAC9B,CAAC,CAAC,IAAI,CAAC,GAAG,CACN,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,EAC5C,CAAC,CACF;QACH,CAAC,CAAC,aAAa,CAAC;IAClB,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;IAErC;;;;OAIG;IACH,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACvE,IAAI,UAAU,EAAE,EAAE,KAAK,eAAe,EAAE,CAAC;QACvC,kBAAkB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACnC,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE;QACnC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,YAAY,CAAC,iBAAiB,CAAC,CAAC;QAChC,IAAI,CAAC,YAAY;YAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,EAAE,KAAK,UAAU,EAAE,EAAE;YAAE,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,CACZ,CAAC,OAAO,CACN,IAAI,SAAS,CAAC,CACd,SAAS,CAAC,CAAC,IAAI,CACb,0FAA0F,EAC1F,YAAY,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,SAAS,EACjE,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAChD,CAAC,CAEF;MAAA,CAAC,GAAG,CAAC,SAAS,CAAC,iIAAiI,CAC9I;QAAA,CAAC,IAAI,CACH;UAAA,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAChC;YAAA,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,iBAAiB,CACtD;cAAA,CAAC,KAAK,CACR;YAAA,EAAE,SAAS,CACb;UAAA,EAAE,IAAI,CAAC,IAAI,CACb;QAAA,EAAE,IAAI,CACN;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,mCAAmC,CAChD;UAAA,CAAC,MAAM,CACL,IAAI,CAAC,QAAQ,CACb,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAC3B,QAAQ,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,IAAI,QAAQ,CAAC,CACxC,OAAO,CAAC,CAAC,GAAG,EAAE,CACZ,YAAY,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACzB,GAAG,OAAO;YACV,IAAI,EAAE,OAAO,CAAC,IAAI,GAAG,SAAS;SAC/B,CAAC,CACJ,CAAC,CACD,SAAS,CAAC,CAAC,cAAc,CAAC,CAE1B;YAAA,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAC/B;UAAA,EAAE,MAAM,CACR;UAAA,CAAC,MAAM,CACL,IAAI,CAAC,QAAQ,CACb,UAAU,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAC1B,QAAQ,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,IAAI,QAAQ,CAAC,CACxC,OAAO,CAAC,CAAC,GAAG,EAAE,CACZ,YAAY,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACzB,GAAG,OAAO;YACV,IAAI,EAAE,OAAO,CAAC,IAAI,GAAG,SAAS;SAC/B,CAAC,CACJ,CAAC,CACD,SAAS,CAAC,CAAC,cAAc,CAAC,CAE1B;YAAA,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,EAC9B;UAAA,EAAE,MAAM,CACR;UAAA,CAAC,MAAM,CACL,IAAI,CAAC,QAAQ,CACb,UAAU,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAC1B,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CACpB,OAAO,CAAC,CAAC,GAAG,EAAE,CACZ,YAAY,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACzB,GAAG,OAAO;YACV,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,GAAG,SAAS;SACxD,CAAC,CACJ,CAAC,CACD,SAAS,CAAC,CAAC,cAAc,CAAC,CAE1B;YAAA,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,EACnC;UAAA,EAAE,MAAM,CACR;UAAA,CAAC,MAAM,CACL,IAAI,CAAC,QAAQ,CACb,UAAU,CAAC,CACT,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,eAChD,CAAC,CACD,YAAY,CAAC,CAAC,YAAY,CAAC,CAC3B,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CACpB,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CACtD,SAAS,CAAC,CAAC,cAAc,CAAC,CAE1B;YAAA,CAAC,YAAY,CAAC,CAAC,CAAC,CACd,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,EAAG,CACxC,CAAC,CAAC,CAAC,CACF,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,EAAG,CACpC,CACH;UAAA,EAAE,MAAM,CACV;QAAA,EAAE,GAAG,CACP;MAAA,EAAE,GAAG,CAEL;;MAAA,CAAC,IAAI,CACH;QAAA,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAClC;UAAA,CAAC,IAAI,CACH,IAAI,CAAC,SAAS,CACd,gBAAgB,CAAC,YAAY,CAC7B,WAAW,CAAC,YAAY,CACxB,SAAS,CAAC,0EAA0E,CAEpF;YAAA,CAAC,IAAI,CACH,EAAE,CAAC,CAAC,KAAK,CAAC,CACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAC3C,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAC9B;kBAAA,CAAC,OAAO,CACN,EAAE,CAAC,CAAC,GAAG,WAAW,QAAQ,KAAK,EAAE,CAAC,CAClC,aAAa,CAAC,CAAC,GAAG,WAAW,QAAQ,CAAC,CACtC,aAAa,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CACrC,QAAQ,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACzC,QAAQ,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAChC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CACjC,SAAS,CAAC,MAAM,CAEhB;oBAAA,CAAC,IAAI,CAAC,SAAS,CAAC,kCAAkC,CAChD;sBAAA,CAAC,KAAK,CACN;sBAAA,CAAC,CAAC,CAAC,SAAS,IAAI,CACd,CAAC,IAAI,CAAC,SAAS,CAAC,6BAA6B,CAC3C;0BAAA,CAAC,SAAS,CACZ;wBAAA,EAAE,IAAI,CAAC,CACR,CACH;oBAAA,EAAE,IAAI,CACR;kBAAA,EAAE,OAAO,CACX;gBAAA,EAAE,EAAE,CAAC,CACN,CAAC,EAEN;UAAA,EAAE,IAAI,CACR;QAAA,EAAE,IAAI,CAAC,IAAI,CACb;MAAA,EAAE,IAAI,CAEN;;MAAA,CAAC,GAAG,CACF,EAAE,CAAC,CAAC,GAAG,WAAW,QAAQ,CAAC,CAC3B,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAChD,eAAe,CAAC,CACd,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,QAAQ,WAAW,EAAE,CAAC,CAAC,CAAC,SAC3D,CAAC,CACD,SAAS,CAAC,+FAA+F,CAEzG;QAAA,CAAC,IAAI,CACH;UAAA,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAC1B;YAAA,CAAC;;;;WAIE,CACH;YAAA,CAAC,wDAAwD,CACzD;YAAA,CAAC,GAAG,CACF,GAAG,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CACrB,GAAG,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CACrB,KAAK,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,QAAQ,cAAc,IAAI,GAAG,EAAE,CAAC,CAC9D,SAAS,CAAC,iFAAiF,EAE/F;UAAA,EAAE,IAAI,CAAC,IAAI,CACX;UAAA,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,CACpC;QAAA,EAAE,IAAI,CACR;MAAA,EAAE,GAAG,CACP;IAAA,EAAE,OAAO,CAAC,CACX,CAAC;IAEF,IAAI,CAAC,YAAY;QAAE,OAAO,KAAK,CAAC;IAEhC,OAAO,YAAY,CACjB,CAAC,GAAG,CAAC,SAAS,CAAC,qEAAqE,CAClF;MAAA,CAAC,GAAG,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CACvD;IAAA,EAAE,GAAG,CAAC,EACN,QAAQ,CAAC,IAAI,CACd,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { type ReactNode, type RefObject } from 'react';
|
|
1
|
+
import { type ComponentProps, type ReactNode, type RefObject } from 'react';
|
|
2
|
+
import { Button } from '../../01-atoms';
|
|
2
3
|
type ModalProps = {
|
|
3
4
|
header: string | ReactNode;
|
|
4
5
|
subHeader?: string | ReactNode;
|
|
@@ -16,6 +17,7 @@ export type TButton = {
|
|
|
16
17
|
text: string;
|
|
17
18
|
callback: (close: (closeAction: () => void) => void) => void;
|
|
18
19
|
disabled?: boolean;
|
|
20
|
+
tone?: ComponentProps<typeof Button>['tone'];
|
|
19
21
|
};
|
|
20
22
|
type ModalRef = {
|
|
21
23
|
handlerClose: (callback: TButton['callback']) => void;
|
|
@@ -43,10 +45,12 @@ type ModalRef = {
|
|
|
43
45
|
* @param {Object} [props.confirmButton] - Configuration for the confirm button.
|
|
44
46
|
* @param {Function} props.confirmButton.callback - Callback function triggered on confirm.
|
|
45
47
|
* @param {boolean} [props.confirmButton.disabled] - Whether the confirm button is disabled.
|
|
48
|
+
* @param {'default' | 'critical'} [props.confirmButton.tone='default'] - `critical` for a confirmation that cannot be undone (reject, delete).
|
|
46
49
|
* @param {Object} [props.cancelButton] - Configuration for the cancel button.
|
|
47
50
|
* @param {string} props.cancelButton.text - Text displayed on the cancel button.
|
|
48
51
|
* @param {Function} props.cancelButton.callback - Callback function triggered on cancel.
|
|
49
52
|
* @param {boolean} [props.cancelButton.disabled] - Whether the cancel button is disabled.
|
|
53
|
+
* @param {'default' | 'critical'} [props.cancelButton.tone='default'] - Tone of the cancel button, same values as the confirm one.
|
|
50
54
|
* @param {'base' | 'lg' | 'xl'} [props.size='base'] - The size of the modal.
|
|
51
55
|
* @param {string} props.classHeader - Class header.
|
|
52
56
|
* @param {Function} [props.handleCloseIcon] - Handle close icon close
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/Modal/Modal.tsx"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/Modal/Modal.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,cAAc,EAGnB,KAAK,SAAS,EACd,KAAK,SAAS,EAOf,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,MAAM,EAAa,MAAM,gBAAgB,CAAC;AAGnD,KAAK,UAAU,GAAG;IAChB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5B,eAAe,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,MAAM,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;CAC9C,CAAC;AAEF,KAAK,QAAQ,GAAG;IACd,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;CACvD,CAAC;AAKF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,KAAK,iGAqJhB,CAAC"}
|
|
@@ -29,10 +29,12 @@ const leavingClasses = 'ease-in duration-200 opacity-75';
|
|
|
29
29
|
* @param {Object} [props.confirmButton] - Configuration for the confirm button.
|
|
30
30
|
* @param {Function} props.confirmButton.callback - Callback function triggered on confirm.
|
|
31
31
|
* @param {boolean} [props.confirmButton.disabled] - Whether the confirm button is disabled.
|
|
32
|
+
* @param {'default' | 'critical'} [props.confirmButton.tone='default'] - `critical` for a confirmation that cannot be undone (reject, delete).
|
|
32
33
|
* @param {Object} [props.cancelButton] - Configuration for the cancel button.
|
|
33
34
|
* @param {string} props.cancelButton.text - Text displayed on the cancel button.
|
|
34
35
|
* @param {Function} props.cancelButton.callback - Callback function triggered on cancel.
|
|
35
36
|
* @param {boolean} [props.cancelButton.disabled] - Whether the cancel button is disabled.
|
|
37
|
+
* @param {'default' | 'critical'} [props.cancelButton.tone='default'] - Tone of the cancel button, same values as the confirm one.
|
|
36
38
|
* @param {'base' | 'lg' | 'xl'} [props.size='base'] - The size of the modal.
|
|
37
39
|
* @param {string} props.classHeader - Class header.
|
|
38
40
|
* @param {Function} [props.handleCloseIcon] - Handle close icon close
|
|
@@ -100,10 +102,10 @@ export const Modal = forwardRef(function ({ header, subHeader, children, confirm
|
|
|
100
102
|
{children}
|
|
101
103
|
</div>
|
|
102
104
|
{!!(cancelButton || confirmButton) && (<div className="flex flex-col-reverse justify-end gap-2 px-6 py-4 sm:flex-row">
|
|
103
|
-
{!!cancelButton && (<Button modifier="text" onClick={() => handlerClose(cancelButton.callback)} disabled={cancelButton.disabled}>
|
|
105
|
+
{!!cancelButton && (<Button modifier="text" tone={cancelButton.tone} onClick={() => handlerClose(cancelButton.callback)} disabled={cancelButton.disabled}>
|
|
104
106
|
{cancelButton.text}
|
|
105
107
|
</Button>)}
|
|
106
|
-
{!!confirmButton && (<Button onClick={() => handlerClose(confirmButton.callback)} disabled={confirmButton.disabled}>
|
|
108
|
+
{!!confirmButton && (<Button tone={confirmButton.tone} onClick={() => handlerClose(confirmButton.callback)} disabled={confirmButton.disabled}>
|
|
107
109
|
{confirmButton.text}
|
|
108
110
|
</Button>)}
|
|
109
111
|
</div>)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/Modal/Modal.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"Modal.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/Modal/Modal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,11 @@ export type MapViewProps = {
|
|
|
25
25
|
readonly attribution?: string;
|
|
26
26
|
readonly controls?: MapViewControls;
|
|
27
27
|
readonly onMarkerClick?: (marker: MapMarker) => void;
|
|
28
|
+
/** Fired with the clicked coordinates when the map itself (not a marker) is clicked. */
|
|
29
|
+
readonly onMapClick?: (lat: number, lng: number) => void;
|
|
30
|
+
/** Makes every rendered marker draggable. Pair with `onMarkerDragEnd` to read the new position. */
|
|
31
|
+
readonly draggableMarker?: boolean;
|
|
32
|
+
readonly onMarkerDragEnd?: (marker: MapMarker, lat: number, lng: number) => void;
|
|
28
33
|
readonly emptyMessage?: string;
|
|
29
34
|
readonly tone?: MapViewTone;
|
|
30
35
|
readonly className?: string;
|
|
@@ -55,11 +60,14 @@ export type MapViewTone = 'mono' | 'color';
|
|
|
55
60
|
* @param {string} [props.attribution] - Map attribution HTML.
|
|
56
61
|
* @param {MapViewControls} [props.controls] - Labels for zoom and recenter controls.
|
|
57
62
|
* @param {(marker: MapMarker) => void} [props.onMarkerClick] - Fired when a marker is clicked.
|
|
63
|
+
* @param {(lat: number, lng: number) => void} [props.onMapClick] - Fired with the clicked coordinates when the map itself (not a marker) is clicked.
|
|
64
|
+
* @param {boolean} [props.draggableMarker] - Makes every rendered marker draggable.
|
|
65
|
+
* @param {(marker: MapMarker, lat: number, lng: number) => void} [props.onMarkerDragEnd] - Fired with the new coordinates once a dragged marker is released.
|
|
58
66
|
* @param {string} [props.emptyMessage] - Message shown when there are no markers.
|
|
59
67
|
* @param {'mono' | 'color'} [props.tone='mono'] - `mono` renders the tiles in grayscale and inverts them in dark mode, so the map follows the theme and the pins stay the only accent. `color` leaves the tiles as the provider serves them.
|
|
60
68
|
* @param {string} [props.className] - Extra classes for the root element.
|
|
61
69
|
*
|
|
62
70
|
* @returns {ReactNode} The rendered MapView component.
|
|
63
71
|
*/
|
|
64
|
-
export declare function MapView({ center, zoom, markers, fitToMarkers, tileUrl, attribution, controls, onMarkerClick, emptyMessage, tone, className, ...restProps }: MapViewProps): ReactNode;
|
|
72
|
+
export declare function MapView({ center, zoom, markers, fitToMarkers, tileUrl, attribution, controls, onMarkerClick, onMapClick, draggableMarker, onMarkerDragEnd, emptyMessage, tone, className, ...restProps }: MapViewProps): ReactNode;
|
|
65
73
|
//# sourceMappingURL=MapView.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapView.d.ts","sourceRoot":"","sources":["../../../../src/components/03-organisms/MapView/MapView.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAIf,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAEhE,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IACrD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC;AAErD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;AAwC3C
|
|
1
|
+
{"version":3,"file":"MapView.d.ts","sourceRoot":"","sources":["../../../../src/components/03-organisms/MapView/MapView.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAIf,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAEhE,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IACrD,wFAAwF;IACxF,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,mGAAmG;IACnG,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC;AAErD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;AAwC3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,OAAO,CAAC,EACtB,MAAM,EACN,IAAS,EACT,OAAY,EACZ,YAAmB,EACnB,OAAsB,EACtB,WAAiC,EACjC,QAAQ,EACR,aAAa,EACb,UAAU,EACV,eAAuB,EACvB,eAAe,EACf,YAAY,EACZ,IAAa,EACb,SAAS,EACT,GAAG,SAAS,EACb,EAAE,YAAY,GAAG,SAAS,CAsN1B"}
|
|
@@ -50,13 +50,16 @@ function buildPinHtml(marker) {
|
|
|
50
50
|
* @param {string} [props.attribution] - Map attribution HTML.
|
|
51
51
|
* @param {MapViewControls} [props.controls] - Labels for zoom and recenter controls.
|
|
52
52
|
* @param {(marker: MapMarker) => void} [props.onMarkerClick] - Fired when a marker is clicked.
|
|
53
|
+
* @param {(lat: number, lng: number) => void} [props.onMapClick] - Fired with the clicked coordinates when the map itself (not a marker) is clicked.
|
|
54
|
+
* @param {boolean} [props.draggableMarker] - Makes every rendered marker draggable.
|
|
55
|
+
* @param {(marker: MapMarker, lat: number, lng: number) => void} [props.onMarkerDragEnd] - Fired with the new coordinates once a dragged marker is released.
|
|
53
56
|
* @param {string} [props.emptyMessage] - Message shown when there are no markers.
|
|
54
57
|
* @param {'mono' | 'color'} [props.tone='mono'] - `mono` renders the tiles in grayscale and inverts them in dark mode, so the map follows the theme and the pins stay the only accent. `color` leaves the tiles as the provider serves them.
|
|
55
58
|
* @param {string} [props.className] - Extra classes for the root element.
|
|
56
59
|
*
|
|
57
60
|
* @returns {ReactNode} The rendered MapView component.
|
|
58
61
|
*/
|
|
59
|
-
export function MapView({ center, zoom = 12, markers = [], fitToMarkers = true, tileUrl = DEFAULT_TILE, attribution = DEFAULT_ATTRIBUTION, controls, onMarkerClick, emptyMessage, tone = 'mono', className, ...restProps }) {
|
|
62
|
+
export function MapView({ center, zoom = 12, markers = [], fitToMarkers = true, tileUrl = DEFAULT_TILE, attribution = DEFAULT_ATTRIBUTION, controls, onMarkerClick, onMapClick, draggableMarker = false, onMarkerDragEnd, emptyMessage, tone = 'mono', className, ...restProps }) {
|
|
60
63
|
const mapId = useId().replace(/:/g, '');
|
|
61
64
|
const containerRef = useRef(null);
|
|
62
65
|
const mapRef = useRef(null);
|
|
@@ -66,6 +69,10 @@ export function MapView({ center, zoom = 12, markers = [], fitToMarkers = true,
|
|
|
66
69
|
const [isReady, setIsReady] = useState(false);
|
|
67
70
|
const onMarkerClickRef = useRef(onMarkerClick);
|
|
68
71
|
onMarkerClickRef.current = onMarkerClick;
|
|
72
|
+
const onMapClickRef = useRef(onMapClick);
|
|
73
|
+
onMapClickRef.current = onMapClick;
|
|
74
|
+
const onMarkerDragEndRef = useRef(onMarkerDragEnd);
|
|
75
|
+
onMarkerDragEndRef.current = onMarkerDragEnd;
|
|
69
76
|
useEffect(() => {
|
|
70
77
|
let cancelled = false;
|
|
71
78
|
const init = async () => {
|
|
@@ -87,6 +94,9 @@ export function MapView({ center, zoom = 12, markers = [], fitToMarkers = true,
|
|
|
87
94
|
}).addTo(map);
|
|
88
95
|
markersLayerRef.current = L.layerGroup().addTo(map);
|
|
89
96
|
mapRef.current = map;
|
|
97
|
+
map.on('click', (ev) => {
|
|
98
|
+
onMapClickRef.current?.(ev.latlng.lat, ev.latlng.lng);
|
|
99
|
+
});
|
|
90
100
|
setIsReady(true);
|
|
91
101
|
setTimeout(() => map.invalidateSize(), 80);
|
|
92
102
|
};
|
|
@@ -122,6 +132,7 @@ export function MapView({ center, zoom = 12, markers = [], fitToMarkers = true,
|
|
|
122
132
|
const leafletMarker = L.marker([marker.lat, marker.lng], {
|
|
123
133
|
icon,
|
|
124
134
|
riseOnHover: true,
|
|
135
|
+
draggable: draggableMarker,
|
|
125
136
|
});
|
|
126
137
|
if (marker.tooltip) {
|
|
127
138
|
leafletMarker.bindTooltip(marker.tooltip, {
|
|
@@ -132,6 +143,12 @@ export function MapView({ center, zoom = 12, markers = [], fitToMarkers = true,
|
|
|
132
143
|
leafletMarker.on('click', () => {
|
|
133
144
|
onMarkerClickRef.current?.(marker);
|
|
134
145
|
});
|
|
146
|
+
if (draggableMarker) {
|
|
147
|
+
leafletMarker.on('dragend', (ev) => {
|
|
148
|
+
const position = ev.target.getLatLng();
|
|
149
|
+
onMarkerDragEndRef.current?.(marker, position.lat, position.lng);
|
|
150
|
+
});
|
|
151
|
+
}
|
|
135
152
|
leafletMarker.addTo(layer);
|
|
136
153
|
});
|
|
137
154
|
if (fitToMarkers && markers.length > 0) {
|
|
@@ -142,7 +159,15 @@ export function MapView({ center, zoom = 12, markers = [], fitToMarkers = true,
|
|
|
142
159
|
map.setView([center.lat, center.lng], zoom);
|
|
143
160
|
}
|
|
144
161
|
setTimeout(() => map.invalidateSize(), 40);
|
|
145
|
-
}, [
|
|
162
|
+
}, [
|
|
163
|
+
isReady,
|
|
164
|
+
markers,
|
|
165
|
+
fitToMarkers,
|
|
166
|
+
center.lat,
|
|
167
|
+
center.lng,
|
|
168
|
+
zoom,
|
|
169
|
+
draggableMarker,
|
|
170
|
+
]);
|
|
146
171
|
useEffect(() => {
|
|
147
172
|
const map = mapRef.current;
|
|
148
173
|
const L = leafletRef.current;
|