@frontify/fondue-components 29.0.0 → 29.0.1
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/fondue-components111.js +15 -3
- package/dist/fondue-components111.js.map +1 -1
- package/dist/fondue-components112.js +127 -5
- package/dist/fondue-components112.js.map +1 -1
- package/dist/fondue-components113.js +11 -17
- package/dist/fondue-components113.js.map +1 -1
- package/dist/fondue-components114.js +36 -14
- package/dist/fondue-components114.js.map +1 -1
- package/dist/fondue-components115.js +14 -15
- package/dist/fondue-components115.js.map +1 -1
- package/dist/fondue-components116.js +15 -111
- package/dist/fondue-components116.js.map +1 -1
- package/dist/fondue-components117.js +110 -12
- package/dist/fondue-components117.js.map +1 -1
- package/dist/fondue-components118.js +13 -17
- package/dist/fondue-components118.js.map +1 -1
- package/dist/fondue-components119.js +17 -13
- package/dist/fondue-components119.js.map +1 -1
- package/dist/fondue-components120.js +12 -126
- package/dist/fondue-components120.js.map +1 -1
- package/dist/fondue-components121.js +217 -11
- package/dist/fondue-components121.js.map +1 -1
- package/dist/fondue-components122.js +17 -34
- package/dist/fondue-components122.js.map +1 -1
- package/dist/fondue-components123.js +14 -214
- package/dist/fondue-components123.js.map +1 -1
- package/dist/fondue-components124.js +149 -17
- package/dist/fondue-components124.js.map +1 -1
- package/dist/fondue-components125.js +44 -16
- package/dist/fondue-components125.js.map +1 -1
- package/dist/fondue-components126.js +4 -150
- package/dist/fondue-components126.js.map +1 -1
- package/dist/fondue-components127.js +4 -44
- package/dist/fondue-components127.js.map +1 -1
- package/dist/fondue-components128.js +28 -169
- package/dist/fondue-components128.js.map +1 -1
- package/dist/fondue-components130.js +41 -9
- package/dist/fondue-components130.js.map +1 -1
- package/dist/fondue-components131.js +6 -256
- package/dist/fondue-components131.js.map +1 -1
- package/dist/fondue-components132.js +11 -28
- package/dist/fondue-components132.js.map +1 -1
- package/dist/fondue-components133.js +74 -0
- package/dist/fondue-components133.js.map +1 -0
- package/dist/fondue-components134.js +14 -40
- package/dist/fondue-components134.js.map +1 -1
- package/dist/fondue-components135.js +7 -6
- package/dist/fondue-components135.js.map +1 -1
- package/dist/fondue-components136.js +88 -11
- package/dist/fondue-components136.js.map +1 -1
- package/dist/fondue-components137.js +79 -69
- package/dist/fondue-components137.js.map +1 -1
- package/dist/fondue-components138.js +30 -14
- package/dist/fondue-components138.js.map +1 -1
- package/dist/fondue-components139.js +170 -7
- package/dist/fondue-components139.js.map +1 -1
- package/dist/fondue-components140.js +57 -86
- package/dist/fondue-components140.js.map +1 -1
- package/dist/fondue-components141.js +9 -81
- package/dist/fondue-components141.js.map +1 -1
- package/dist/fondue-components142.js +254 -29
- package/dist/fondue-components142.js.map +1 -1
- package/dist/fondue-components145.js +2 -2
- package/dist/fondue-components147.js +2 -2
- package/dist/fondue-components148.js +1 -1
- package/dist/fondue-components43.js +2 -2
- package/dist/fondue-components50.js +1 -1
- package/dist/fondue-components60.js +2 -2
- package/dist/fondue-components61.js +3 -3
- package/dist/fondue-components62.js +2 -2
- package/dist/fondue-components74.js +2 -2
- package/dist/fondue-components77.js +1 -1
- package/dist/fondue-components78.js +1 -1
- package/dist/fondue-components79.js +1 -1
- package/dist/fondue-components82.js +1 -1
- package/dist/fondue-components84.js +2 -2
- package/dist/fondue-components90.js +2 -2
- package/dist/fondue-components91.js +2 -2
- package/dist/fondue-components92.js +2 -2
- package/dist/fondue-components93.js +2 -2
- package/dist/fondue-components94.js +1 -1
- package/dist/fondue-components95.js +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/dist/fondue-components129.js +0 -63
- package/dist/fondue-components129.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fondue-components117.js","sources":["../src/components/DatePicker/
|
|
1
|
+
{"version":3,"file":"fondue-components117.js","sources":["../src/components/DatePicker/DatePickerCalendar.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconArrowLeft, IconArrowRight } from '@frontify/fondue-icons';\nimport { forwardRef, useEffect, useMemo, useRef } from 'react';\nimport {\n getDefaultClassNames,\n DayPicker,\n type PreviousMonthButtonProps,\n type NextMonthButtonProps,\n type OnSelectHandler,\n type DateRange as InternalDayPickerDateRange,\n type CustomComponents,\n type Matcher,\n type DayButtonProps,\n} from 'react-day-picker';\nimport 'react-day-picker/style.css';\n\nimport { Button } from '../Button/Button';\nimport { useFondueTheme } from '../ThemeProvider/ThemeProvider';\n\nimport styles from './styles/datePickerCalendar.module.scss';\n\ntype DatePickerCalendarSingleModeProps = {\n mode: 'single';\n required: true;\n selected: Date | undefined;\n onSelect: OnSelectHandler<Date>;\n};\ntype DatePickerCalendarRangeModeProps = {\n mode: 'range';\n required: true;\n selected: InternalDayPickerDateRange | undefined;\n onSelect: OnSelectHandler<InternalDayPickerDateRange>;\n modifiers?: Record<string, Matcher>;\n onDayMouseEnter?: (day: Date) => void;\n onDayMouseLeave?: (day: Date) => void;\n};\n\ntype DatePickerCalendarModeProps = DatePickerCalendarSingleModeProps | DatePickerCalendarRangeModeProps;\n\ntype DisabledDates = { before: Date } | { after: Date };\n\nexport type DatePickerBaseProps = {\n /** The days to be disabled. */\n disabledDates?: DisabledDates | DisabledDates[];\n /** The test id applied to the wrapper and forwarded to DayPicker. */\n 'data-test-id'?: string;\n};\n\ntype DatePickerCalendarProps = DatePickerBaseProps & DatePickerCalendarModeProps;\n\nexport const DatePickerCalendar = forwardRef<HTMLDivElement, DatePickerCalendarProps>(\n ({ 'data-test-id': dataTestId = 'fondue-date-picker-calendar', disabledDates, ...modeProps }, ref): JSX.Element => {\n const defaultClassNames = getDefaultClassNames();\n const {\n dir,\n translations: { dateLocale },\n } = useFondueTheme();\n\n const defaultMonth = useMemo(() => {\n if (modeProps.mode === 'single') {\n return modeProps.selected;\n }\n return modeProps.selected?.from;\n }, [modeProps]);\n\n return (\n <div ref={ref} data-test-id={dataTestId} className={styles.wrapper}>\n <DayPicker\n navLayout=\"around\"\n data-test-id={dataTestId}\n locale={dateLocale}\n components={getCustomComponents()}\n showOutsideDays\n disabled={disabledDates}\n defaultMonth={defaultMonth}\n dir={dir}\n timeZone=\"UTC\"\n classNames={{\n root: `${defaultClassNames.root} ${styles.root}`,\n day: `${styles.day}`,\n selected: `${styles.selected}`,\n week: `${defaultClassNames.week} ${styles.week}`,\n weekday: `${styles.weekday}`,\n weekdays: `${defaultClassNames.weekdays} ${styles.weekdays}`,\n range_start: `${styles.selectedStart}`,\n range_end: `${styles.selectedEnd}`,\n range_middle: `${styles.selectedMiddle}`,\n disabled: `${styles.disabled}`,\n outside: `${styles.outside}`,\n }}\n {...modeProps}\n modifiersClassNames={{\n hoverAfter: `${styles.hoverAfter}`,\n hoverBefore: `${styles.hoverBefore}`,\n hoverSelected: `${styles.hoverSelected}`,\n }}\n />\n </div>\n );\n },\n);\nDatePickerCalendar.displayName = 'DatePickerCalendar';\n\nconst getCustomComponents = (): Partial<CustomComponents> => ({\n DayButton: ({ day, modifiers, onClick, onMouseEnter, onMouseLeave, ...props }: DayButtonProps): JSX.Element => {\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n useEffect(() => {\n if (modifiers.focused) {\n buttonRef.current?.focus();\n }\n }, [modifiers.focused]);\n\n return (\n <button\n {...props}\n ref={buttonRef}\n className={styles.dayButton}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n type=\"button\"\n >\n <div className={`${styles.dayContent} ${styles.button}`}>{day.date.getDate()}</div>\n </button>\n );\n },\n PreviousMonthButton: ({\n onClick,\n 'aria-label': ariaLabel,\n 'aria-disabled': ariaDisabled,\n }: PreviousMonthButtonProps): JSX.Element => {\n return (\n <div className={`${styles.toggleMonthButtonContainer} `}>\n <Button\n emphasis=\"weak\"\n size=\"small\"\n aspect=\"square\"\n aria-label={ariaLabel}\n aria-disabled={ariaDisabled}\n onPress={(event) => {\n if (event) {\n onClick?.(event);\n }\n }}\n >\n <IconArrowLeft size={16} />\n </Button>\n </div>\n );\n },\n NextMonthButton: ({\n onClick,\n 'aria-label': ariaLabel,\n 'aria-disabled': ariaDisabled,\n }: NextMonthButtonProps): JSX.Element => {\n return (\n <div className={`${styles.toggleMonthButtonContainer} ${styles.nextMonthButtonContainer}`}>\n <Button\n emphasis=\"weak\"\n size=\"small\"\n aspect=\"square\"\n aria-label={ariaLabel}\n aria-disabled={ariaDisabled}\n onPress={(event) => {\n if (event) {\n onClick?.(event);\n }\n }}\n >\n <IconArrowRight size={16} />\n </Button>\n </div>\n );\n },\n});\n"],"names":["DatePickerCalendar","forwardRef","dataTestId","disabledDates","modeProps","ref","defaultClassNames","getDefaultClassNames","dir","dateLocale","useFondueTheme","defaultMonth","useMemo","_a","styles","jsx","DayPicker","getCustomComponents","day","modifiers","onClick","onMouseEnter","onMouseLeave","props","buttonRef","useRef","useEffect","ariaLabel","ariaDisabled","Button","event","IconArrowLeft","IconArrowRight"],"mappings":"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"}
|
|
@@ -1,20 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
},
|
|
14
|
-
hoverSelected: r == null ? void 0 : r.from
|
|
15
|
-
}, [r])
|
|
16
|
-
});
|
|
1
|
+
import { useState as o, useMemo as D } from "react";
|
|
2
|
+
import { transformDateRangeToPickerDateRange as c, transformPickerDateRangeToDateRange as i } from "./fondue-components128.js";
|
|
3
|
+
const l = (e, t) => {
|
|
4
|
+
const [n, r] = o(e), [s, g] = o(e);
|
|
5
|
+
return s !== e && (g(e), r(e)), {
|
|
6
|
+
selectedDateRange: D(() => c(n), [n]),
|
|
7
|
+
handleSelect: (R) => {
|
|
8
|
+
const a = i(R);
|
|
9
|
+
a && (t == null || t(a), r(a));
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
};
|
|
17
13
|
export {
|
|
18
|
-
|
|
14
|
+
l as useDateRange
|
|
19
15
|
};
|
|
20
16
|
//# sourceMappingURL=fondue-components118.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fondue-components118.js","sources":["../src/components/DatePicker/hooks/
|
|
1
|
+
{"version":3,"file":"fondue-components118.js","sources":["../src/components/DatePicker/hooks/useDateRange.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useMemo, useState } from 'react';\nimport { type DateRange as InternalDayPickerDateRange, type OnSelectHandler } from 'react-day-picker';\n\nimport { transformDateRangeToPickerDateRange, transformPickerDateRangeToDateRange } from '../helpers/dateTransformer';\nimport { type DatePickerDateRange } from '../types';\n\nexport const useDateRange = (selected: DatePickerDateRange, onSelect?: (dateRange: DatePickerDateRange) => void) => {\n const [internalSelectedDateRange, setInternalSelectedDateRange] = useState<DatePickerDateRange>(selected);\n const [prevSelected, setPrevSelected] = useState<DatePickerDateRange | undefined>(selected);\n\n if (prevSelected !== selected) {\n setPrevSelected(selected);\n setInternalSelectedDateRange(selected);\n }\n\n const selectedDateRange = useMemo(() => {\n return transformDateRangeToPickerDateRange(internalSelectedDateRange);\n }, [internalSelectedDateRange]);\n\n const handleSelect: OnSelectHandler<InternalDayPickerDateRange> = (pickerDateRange) => {\n const dateRange = transformPickerDateRangeToDateRange(pickerDateRange);\n\n if (dateRange) {\n onSelect?.(dateRange);\n setInternalSelectedDateRange(dateRange);\n }\n };\n\n return {\n selectedDateRange,\n handleSelect,\n };\n};\n"],"names":["useDateRange","selected","onSelect","internalSelectedDateRange","setInternalSelectedDateRange","useState","prevSelected","setPrevSelected","useMemo","transformDateRangeToPickerDateRange","pickerDateRange","dateRange","transformPickerDateRangeToDateRange"],"mappings":";;AAQO,MAAMA,IAAe,CAACC,GAA+BC,MAAwD;AAChH,QAAM,CAACC,GAA2BC,CAA4B,IAAIC,EAA8BJ,CAAQ,GAClG,CAACK,GAAcC,CAAe,IAAIF,EAA0CJ,CAAQ;AAE1F,SAAIK,MAAiBL,MACjBM,EAAgBN,CAAQ,GACxBG,EAA6BH,CAAQ,IAgBlC;AAAA,IACH,mBAdsBO,EAAQ,MACvBC,EAAoCN,CAAyB,GACrE,CAACA,CAAyB,CAAC;AAAA,IAa1B,cAX8D,CAACO,MAAoB;AACnF,YAAMC,IAAYC,EAAoCF,CAAe;AAErE,MAAIC,MACAT,KAAA,QAAAA,EAAWS,IACXP,EAA6BO,CAAS;AAAA,IAE9C;AAAA,EAII;AAER;"}
|
|
@@ -1,16 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
r
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import { useMemo as o } from "react";
|
|
2
|
+
const f = {
|
|
3
|
+
hoverBefore: !1,
|
|
4
|
+
hoverAfter: !1,
|
|
5
|
+
hoverSelected: !1
|
|
6
|
+
}, h = (r) => ({
|
|
7
|
+
hoverModifiers: o(() => !(r != null && r.from) || !(r != null && r.to) || (r == null ? void 0 : r.to.getTime()) > (r == null ? void 0 : r.from.getTime()) ? f : {
|
|
8
|
+
hoverBefore: {
|
|
9
|
+
before: r == null ? void 0 : r.from
|
|
10
|
+
},
|
|
11
|
+
hoverAfter: {
|
|
12
|
+
after: r == null ? void 0 : r.to
|
|
13
|
+
},
|
|
14
|
+
hoverSelected: r == null ? void 0 : r.from
|
|
15
|
+
}, [r])
|
|
16
|
+
});
|
|
13
17
|
export {
|
|
14
|
-
|
|
18
|
+
h as useRangeHover
|
|
15
19
|
};
|
|
16
20
|
//# sourceMappingURL=fondue-components119.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fondue-components119.js","sources":["../src/components/DatePicker/hooks/
|
|
1
|
+
{"version":3,"file":"fondue-components119.js","sources":["../src/components/DatePicker/hooks/useRangeHover.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useMemo } from 'react';\nimport { type DateRange as InternalDayPickerDateRange } from 'react-day-picker';\n\ntype RangeHoverModifiers = {\n hoverBefore:\n | {\n before: Date;\n }\n | false;\n hoverAfter:\n | {\n after: Date;\n }\n | false;\n hoverSelected: Date | false;\n};\n\nconst DISABLED_MODIFIERS: RangeHoverModifiers = {\n hoverBefore: false,\n hoverAfter: false,\n hoverSelected: false,\n};\n\nexport const useRangeHover = (selectedDateRange?: InternalDayPickerDateRange) => {\n const hoverModifiers = useMemo(() => {\n if (\n !selectedDateRange?.from ||\n !selectedDateRange?.to ||\n selectedDateRange?.to.getTime() > selectedDateRange?.from.getTime()\n ) {\n return DISABLED_MODIFIERS;\n }\n return {\n hoverBefore: {\n before: selectedDateRange?.from,\n },\n hoverAfter: {\n after: selectedDateRange?.to,\n },\n hoverSelected: selectedDateRange?.from,\n };\n }, [selectedDateRange]);\n\n return {\n hoverModifiers,\n };\n};\n"],"names":["DISABLED_MODIFIERS","useRangeHover","selectedDateRange","useMemo"],"mappings":";AAmBA,MAAMA,IAA0C;AAAA,EAC5C,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,eAAe;AACnB,GAEaC,IAAgB,CAACC,OAoBnB;AAAA,EACH,gBApBmBC,EAAQ,MAEvB,EAACD,KAAA,QAAAA,EAAmB,SACpB,EAACA,KAAA,QAAAA,EAAmB,QACpBA,KAAA,gBAAAA,EAAmB,GAAG,cAAYA,KAAA,gBAAAA,EAAmB,KAAK,aAEnDF,IAEJ;AAAA,IACH,aAAa;AAAA,MACT,QAAQE,KAAA,gBAAAA,EAAmB;AAAA,IAAA;AAAA,IAE/B,YAAY;AAAA,MACR,OAAOA,KAAA,gBAAAA,EAAmB;AAAA,IAAA;AAAA,IAE9B,eAAeA,KAAA,gBAAAA,EAAmB;AAAA,EAAA,GAEvC,CAACA,CAAiB,CAAC;AAGlB;"}
|
|
@@ -1,130 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
A.call(t, a) && j(o, a, t[a]);
|
|
12
|
-
if (I)
|
|
13
|
-
for (var a of I(t))
|
|
14
|
-
B.call(t, a) && j(o, a, t[a]);
|
|
15
|
-
return o;
|
|
16
|
-
}, F = (o, t) => U(o, z(t));
|
|
17
|
-
function Y(o) {
|
|
18
|
-
const {
|
|
19
|
-
accept: t,
|
|
20
|
-
collisionDetector: a,
|
|
21
|
-
collisionPriority: b,
|
|
22
|
-
id: O,
|
|
23
|
-
data: p,
|
|
24
|
-
element: h,
|
|
25
|
-
handle: y,
|
|
26
|
-
index: g,
|
|
27
|
-
group: D,
|
|
28
|
-
disabled: P,
|
|
29
|
-
feedback: d,
|
|
30
|
-
modifiers: S,
|
|
31
|
-
sensors: w,
|
|
32
|
-
target: C,
|
|
33
|
-
type: E
|
|
34
|
-
} = o, l = _(_({}, x), o.transition), r = T((e) => new R(
|
|
35
|
-
F(_({}, o), {
|
|
36
|
-
transition: l,
|
|
37
|
-
register: !1,
|
|
38
|
-
handle: v(y),
|
|
39
|
-
element: v(h),
|
|
40
|
-
target: v(C),
|
|
41
|
-
feedback: d
|
|
42
|
-
}),
|
|
43
|
-
e
|
|
44
|
-
)), u = V(r, G);
|
|
45
|
-
return i(O, () => r.id = O), k(() => {
|
|
46
|
-
L(() => {
|
|
47
|
-
r.group = D, r.index = g;
|
|
48
|
-
});
|
|
49
|
-
}, [r, D, g]), i(E, () => r.type = E), i(
|
|
50
|
-
t,
|
|
51
|
-
() => r.accept = t,
|
|
52
|
-
void 0,
|
|
53
|
-
f
|
|
54
|
-
), i(p, () => p && (r.data = p)), i(
|
|
55
|
-
g,
|
|
56
|
-
() => {
|
|
57
|
-
var e;
|
|
58
|
-
(e = r.manager) != null && e.dragOperation.status.idle && (l != null && l.idle) && r.refreshShape();
|
|
59
|
-
},
|
|
60
|
-
q
|
|
61
|
-
), m(y, (e) => r.handle = e), m(h, (e) => r.element = e), m(C, (e) => r.target = e), i(P, () => r.disabled = P === !0), i(w, () => r.sensors = w), i(
|
|
62
|
-
a,
|
|
63
|
-
() => r.collisionDetector = a
|
|
64
|
-
), i(
|
|
65
|
-
b,
|
|
66
|
-
() => r.collisionPriority = b
|
|
67
|
-
), i(d, () => r.feedback = d ?? "default"), i(
|
|
68
|
-
l,
|
|
69
|
-
() => r.transition = l,
|
|
70
|
-
void 0,
|
|
71
|
-
f
|
|
72
|
-
), i(
|
|
73
|
-
S,
|
|
74
|
-
() => r.modifiers = S,
|
|
75
|
-
void 0,
|
|
76
|
-
f
|
|
77
|
-
), i(
|
|
78
|
-
o.alignment,
|
|
79
|
-
() => r.alignment = o.alignment
|
|
80
|
-
), {
|
|
81
|
-
sortable: u,
|
|
82
|
-
get isDragging() {
|
|
83
|
-
return u.isDragging;
|
|
84
|
-
},
|
|
85
|
-
get isDropping() {
|
|
86
|
-
return u.isDropping;
|
|
87
|
-
},
|
|
88
|
-
get isDragSource() {
|
|
89
|
-
return u.isDragSource;
|
|
90
|
-
},
|
|
91
|
-
get isDropTarget() {
|
|
92
|
-
return u.isDropTarget;
|
|
93
|
-
},
|
|
94
|
-
handleRef: c(
|
|
95
|
-
(e) => {
|
|
96
|
-
r.handle = e ?? void 0;
|
|
97
|
-
},
|
|
98
|
-
[r]
|
|
99
|
-
),
|
|
100
|
-
ref: c(
|
|
101
|
-
(e) => {
|
|
102
|
-
var n, s;
|
|
103
|
-
!e && ((n = r.element) != null && n.isConnected) && !((s = r.manager) != null && s.dragOperation.status.idle) || (r.element = e ?? void 0);
|
|
104
|
-
},
|
|
105
|
-
[r]
|
|
106
|
-
),
|
|
107
|
-
sourceRef: c(
|
|
108
|
-
(e) => {
|
|
109
|
-
var n, s;
|
|
110
|
-
!e && ((n = r.source) != null && n.isConnected) && !((s = r.manager) != null && s.dragOperation.status.idle) || (r.source = e ?? void 0);
|
|
111
|
-
},
|
|
112
|
-
[r]
|
|
113
|
-
),
|
|
114
|
-
targetRef: c(
|
|
115
|
-
(e) => {
|
|
116
|
-
var n, s;
|
|
117
|
-
!e && ((n = r.target) != null && n.isConnected) && !((s = r.manager) != null && s.dragOperation.status.idle) || (r.target = e ?? void 0);
|
|
118
|
-
},
|
|
119
|
-
[r]
|
|
120
|
-
)
|
|
1
|
+
import { useState as o, useMemo as i } from "react";
|
|
2
|
+
import { transformDatePickerDateToDate as m, transformDateToDatePickerDate as d } from "./fondue-components128.js";
|
|
3
|
+
const P = (e, t) => {
|
|
4
|
+
const [a, r] = o(e), [D, s] = o(e);
|
|
5
|
+
return D !== e && (s(e), r(e)), {
|
|
6
|
+
selectedDate: i(() => m(a), [a]),
|
|
7
|
+
handleSelect: (c) => {
|
|
8
|
+
const n = d(c);
|
|
9
|
+
r(n), t == null || t(n);
|
|
10
|
+
}
|
|
121
11
|
};
|
|
122
|
-
}
|
|
123
|
-
function G(o, t, a) {
|
|
124
|
-
return !!(o === "isDragSource" && !a && t);
|
|
125
|
-
}
|
|
12
|
+
};
|
|
126
13
|
export {
|
|
127
|
-
|
|
128
|
-
Y as useSortable
|
|
14
|
+
P as useSingleDate
|
|
129
15
|
};
|
|
130
16
|
//# sourceMappingURL=fondue-components120.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fondue-components120.js","sources":["../../../node_modules/.pnpm/@dnd-kit+react@0.3.2_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@dnd-kit/react/sortable.js"],"sourcesContent":["import { useCallback } from 'react';\nimport { batch, deepEqual } from '@dnd-kit/state';\nimport { defaultSortableTransition, Sortable } from '@dnd-kit/dom/sortable';\nexport { isSortable, isSortableOperation } from '@dnd-kit/dom/sortable';\nimport { useInstance } from '@dnd-kit/react';\nimport { useDeepSignal, useOnValueChange, useIsomorphicLayoutEffect, useImmediateEffect, useOnElementChange } from '@dnd-kit/react/hooks';\nimport { currentValue } from '@dnd-kit/react/utilities';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction useSortable(input) {\n const {\n accept,\n collisionDetector,\n collisionPriority,\n id,\n data,\n element,\n handle,\n index,\n group,\n disabled,\n feedback,\n modifiers,\n sensors,\n target,\n type\n } = input;\n const transition = __spreadValues(__spreadValues({}, defaultSortableTransition), input.transition);\n const sortable = useInstance((manager) => {\n return new Sortable(\n __spreadProps(__spreadValues({}, input), {\n transition,\n register: false,\n handle: currentValue(handle),\n element: currentValue(element),\n target: currentValue(target),\n feedback\n }),\n manager\n );\n });\n const trackedSortable = useDeepSignal(sortable, shouldUpdateSynchronously);\n useOnValueChange(id, () => sortable.id = id);\n useIsomorphicLayoutEffect(() => {\n batch(() => {\n sortable.group = group;\n sortable.index = index;\n });\n }, [sortable, group, index]);\n useOnValueChange(type, () => sortable.type = type);\n useOnValueChange(\n accept,\n () => sortable.accept = accept,\n void 0,\n deepEqual\n );\n useOnValueChange(data, () => data && (sortable.data = data));\n useOnValueChange(\n index,\n () => {\n var _a;\n if (((_a = sortable.manager) == null ? void 0 : _a.dragOperation.status.idle) && (transition == null ? void 0 : transition.idle)) {\n sortable.refreshShape();\n }\n },\n useImmediateEffect\n );\n useOnElementChange(handle, (handle2) => sortable.handle = handle2);\n useOnElementChange(element, (element2) => sortable.element = element2);\n useOnElementChange(target, (target2) => sortable.target = target2);\n useOnValueChange(disabled, () => sortable.disabled = disabled === true);\n useOnValueChange(sensors, () => sortable.sensors = sensors);\n useOnValueChange(\n collisionDetector,\n () => sortable.collisionDetector = collisionDetector\n );\n useOnValueChange(\n collisionPriority,\n () => sortable.collisionPriority = collisionPriority\n );\n useOnValueChange(feedback, () => sortable.feedback = feedback != null ? feedback : \"default\");\n useOnValueChange(\n transition,\n () => sortable.transition = transition,\n void 0,\n deepEqual\n );\n useOnValueChange(\n modifiers,\n () => sortable.modifiers = modifiers,\n void 0,\n deepEqual\n );\n useOnValueChange(\n input.alignment,\n () => sortable.alignment = input.alignment\n );\n return {\n sortable: trackedSortable,\n get isDragging() {\n return trackedSortable.isDragging;\n },\n get isDropping() {\n return trackedSortable.isDropping;\n },\n get isDragSource() {\n return trackedSortable.isDragSource;\n },\n get isDropTarget() {\n return trackedSortable.isDropTarget;\n },\n handleRef: useCallback(\n (element2) => {\n sortable.handle = element2 != null ? element2 : void 0;\n },\n [sortable]\n ),\n ref: useCallback(\n (element2) => {\n var _a, _b;\n if (!element2 && ((_a = sortable.element) == null ? void 0 : _a.isConnected) && !((_b = sortable.manager) == null ? void 0 : _b.dragOperation.status.idle)) {\n return;\n }\n sortable.element = element2 != null ? element2 : void 0;\n },\n [sortable]\n ),\n sourceRef: useCallback(\n (element2) => {\n var _a, _b;\n if (!element2 && ((_a = sortable.source) == null ? void 0 : _a.isConnected) && !((_b = sortable.manager) == null ? void 0 : _b.dragOperation.status.idle)) {\n return;\n }\n sortable.source = element2 != null ? element2 : void 0;\n },\n [sortable]\n ),\n targetRef: useCallback(\n (element2) => {\n var _a, _b;\n if (!element2 && ((_a = sortable.target) == null ? void 0 : _a.isConnected) && !((_b = sortable.manager) == null ? void 0 : _b.dragOperation.status.idle)) {\n return;\n }\n sortable.target = element2 != null ? element2 : void 0;\n },\n [sortable]\n )\n };\n}\nfunction shouldUpdateSynchronously(key, oldValue, newValue) {\n if (key === \"isDragSource\" && !newValue && oldValue) return true;\n return false;\n}\n\nexport { useSortable };\n//# sourceMappingURL=sortable.js.map\n//# sourceMappingURL=sortable.js.map"],"names":["__defProp","__defProps","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","obj","key","value","__spreadValues","a","b","prop","__spreadProps","useSortable","input","accept","collisionDetector","collisionPriority","id","data","element","handle","index","group","disabled","feedback","modifiers","sensors","target","type","transition","defaultSortableTransition","sortable","useInstance","manager","Sortable","currentValue","trackedSortable","useDeepSignal","shouldUpdateSynchronously","useOnValueChange","useIsomorphicLayoutEffect","batch","deepEqual","_a","useImmediateEffect","useOnElementChange","handle2","element2","target2","useCallback","_b","oldValue","newValue"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"fondue-components120.js","sources":["../src/components/DatePicker/hooks/useSingleDate.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useMemo, useState } from 'react';\nimport { type OnSelectHandler } from 'react-day-picker';\n\nimport { transformDatePickerDateToDate, transformDateToDatePickerDate } from '../helpers/dateTransformer';\nimport { type DatePickerDate } from '../types';\n\nexport const useSingleDate = (selected?: DatePickerDate, onSelect?: (date?: DatePickerDate) => void) => {\n const [internalSelectedDate, setInternalSelectedDate] = useState<DatePickerDate | undefined>(selected);\n const [prevSelected, setPrevSelected] = useState<DatePickerDate | undefined>(selected);\n\n if (prevSelected !== selected) {\n setPrevSelected(selected);\n setInternalSelectedDate(selected);\n }\n\n const selectedDate = useMemo(() => {\n return transformDatePickerDateToDate(internalSelectedDate);\n }, [internalSelectedDate]);\n\n const handleSelect: OnSelectHandler<Date> = (date) => {\n const datePickerDate = transformDateToDatePickerDate(date);\n\n setInternalSelectedDate(datePickerDate);\n onSelect?.(datePickerDate);\n };\n\n return {\n selectedDate,\n handleSelect,\n };\n};\n"],"names":["useSingleDate","selected","onSelect","internalSelectedDate","setInternalSelectedDate","useState","prevSelected","setPrevSelected","useMemo","transformDatePickerDateToDate","date","datePickerDate","transformDateToDatePickerDate"],"mappings":";;AAQO,MAAMA,IAAgB,CAACC,GAA2BC,MAA+C;AACpG,QAAM,CAACC,GAAsBC,CAAuB,IAAIC,EAAqCJ,CAAQ,GAC/F,CAACK,GAAcC,CAAe,IAAIF,EAAqCJ,CAAQ;AAErF,SAAIK,MAAiBL,MACjBM,EAAgBN,CAAQ,GACxBG,EAAwBH,CAAQ,IAc7B;AAAA,IACH,cAZiBO,EAAQ,MAClBC,EAA8BN,CAAoB,GAC1D,CAACA,CAAoB,CAAC;AAAA,IAWrB,cATwC,CAACO,MAAS;AAClD,YAAMC,IAAiBC,EAA8BF,CAAI;AAEzD,MAAAN,EAAwBO,CAAc,GACtCT,KAAA,QAAAA,EAAWS;AAAA,IACf;AAAA,EAII;AAER;"}
|
|
@@ -1,14 +1,220 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { jsxs as g, jsx as n, Fragment as ue } from "react/jsx-runtime";
|
|
2
|
+
import { IconCaretDown as me } from "@frontify/fondue-icons";
|
|
3
|
+
import * as H from "@radix-ui/react-popover";
|
|
4
|
+
import { useMultipleSelection as K, useCombobox as s } from "downshift";
|
|
5
|
+
import { forwardRef as be, useRef as he, useCallback as fe, useState as ge, useMemo as j } from "react";
|
|
6
|
+
import { LoadingCircle as pe } from "./fondue-components21.js";
|
|
7
|
+
import { useTranslation as Ce } from "./fondue-components42.js";
|
|
8
|
+
import { useBadgeItems as ye } from "./fondue-components131.js";
|
|
9
|
+
import { useFocusRing as Ie } from "./fondue-components132.js";
|
|
10
|
+
import { useSelectData as ve } from "./fondue-components133.js";
|
|
11
|
+
import { useSelectionDescription as Be } from "./fondue-components134.js";
|
|
12
|
+
import c from "./fondue-components125.js";
|
|
13
|
+
import { ClearButton as xe } from "./fondue-components135.js";
|
|
14
|
+
import { CollapsibleBadges as Se } from "./fondue-components136.js";
|
|
15
|
+
import { SelectMenu as we } from "./fondue-components137.js";
|
|
16
|
+
import { ForwardedRefSelectSlot as De } from "./fondue-components95.js";
|
|
17
|
+
import { StatusIcons as Re } from "./fondue-components138.js";
|
|
18
|
+
const z = ({
|
|
19
|
+
children: E,
|
|
20
|
+
selectedItemValues: i,
|
|
21
|
+
onItemSelect: m,
|
|
22
|
+
onClear: $,
|
|
23
|
+
placeholder: x = "",
|
|
24
|
+
status: p = "neutral",
|
|
25
|
+
disabled: b,
|
|
26
|
+
"data-test-id": d = "fondue-select-combobox",
|
|
27
|
+
alignMenu: _ = "start",
|
|
28
|
+
side: q = "bottom",
|
|
29
|
+
id: G,
|
|
30
|
+
viewportCollisionPadding: J = "compact",
|
|
31
|
+
getAsyncItems: C,
|
|
32
|
+
onEscapeKeyDown: Q,
|
|
33
|
+
multiple: o,
|
|
34
|
+
...a
|
|
35
|
+
}, U) => {
|
|
36
|
+
const h = he(null), W = fe((e) => {
|
|
37
|
+
h.current = e;
|
|
38
|
+
}, []), { t: X } = Ce(), { inputSlots: Y, menuSlots: Z, items: y, filterText: A, clearButton: S, getItemByValue: r, setFilterText: I, asyncItemStatus: w } = ve(E, C), { wasClickedRef: V, onMouseDown: D, onFocus: R, onBlur: ee } = Ie(), { selectionDescriptionId: L, selectionDescription: O } = Be(
|
|
39
|
+
o,
|
|
40
|
+
i,
|
|
41
|
+
r
|
|
42
|
+
), te = ye(i, r), [ae, k] = ge(!1), M = j(() => i.map((e) => r(e)).filter((e) => e !== void 0 && "value" in e && "label" in e), [i, r]), ne = K(
|
|
43
|
+
o ? {
|
|
44
|
+
selectedItems: M,
|
|
45
|
+
onStateChange({ selectedItems: e, type: l }) {
|
|
46
|
+
if (l === K.stateChangeTypes.SelectedItemKeyDownBackspace) {
|
|
47
|
+
const t = M.find((u) => !(e != null && e.includes(u)));
|
|
48
|
+
t && m(t.value);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
} : { selectedItems: [] }
|
|
52
|
+
), oe = o ? ne.removeSelectedItem : () => {
|
|
53
|
+
}, {
|
|
54
|
+
getInputProps: f,
|
|
55
|
+
getToggleButtonProps: ie,
|
|
56
|
+
getMenuProps: le,
|
|
57
|
+
getItemProps: re,
|
|
58
|
+
reset: N,
|
|
59
|
+
selectedItem: v,
|
|
60
|
+
isOpen: T,
|
|
61
|
+
highlightedIndex: se,
|
|
62
|
+
inputValue: B
|
|
63
|
+
} = s({
|
|
64
|
+
items: y,
|
|
65
|
+
selectedItem: o ? null : r(i[0]),
|
|
66
|
+
defaultHighlightedIndex: 0,
|
|
67
|
+
toggleButtonId: G,
|
|
68
|
+
// Only set labelId if aria-labelledby is explicitly provided, otherwise downshift generates an orphan ID
|
|
69
|
+
..."aria-labelledby" in a && a["aria-labelledby"] ? { labelId: a["aria-labelledby"] } : {},
|
|
70
|
+
onSelectedItemChange: ({ selectedItem: e }) => {
|
|
71
|
+
e && m(e.value), o && I("");
|
|
72
|
+
},
|
|
73
|
+
onInputValueChange: ({ inputValue: e }) => {
|
|
74
|
+
I(e);
|
|
75
|
+
},
|
|
76
|
+
onIsOpenChange: () => {
|
|
77
|
+
k(!1), I("");
|
|
78
|
+
},
|
|
79
|
+
onHighlightedIndexChange: () => {
|
|
80
|
+
k(!0);
|
|
81
|
+
},
|
|
82
|
+
itemToString: (e) => e ? e.label : "",
|
|
83
|
+
stateReducer: (e, l) => {
|
|
84
|
+
const { changes: t, type: u } = l;
|
|
85
|
+
if (o)
|
|
86
|
+
switch (u) {
|
|
87
|
+
case s.stateChangeTypes.InputKeyDownEnter:
|
|
88
|
+
case s.stateChangeTypes.ItemClick:
|
|
89
|
+
return {
|
|
90
|
+
...t,
|
|
91
|
+
isOpen: !0,
|
|
92
|
+
highlightedIndex: e.highlightedIndex,
|
|
93
|
+
inputValue: ""
|
|
94
|
+
};
|
|
95
|
+
case s.stateChangeTypes.InputBlur:
|
|
96
|
+
return {
|
|
97
|
+
...t,
|
|
98
|
+
inputValue: ""
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
else
|
|
102
|
+
switch (u) {
|
|
103
|
+
case s.stateChangeTypes.InputKeyDownEnter:
|
|
104
|
+
case s.stateChangeTypes.ItemClick:
|
|
105
|
+
t.selectedItem && e.selectedItem && t.selectedItem.value === e.selectedItem.value && m(t.selectedItem.value);
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
return t;
|
|
109
|
+
}
|
|
110
|
+
}), F = j(() => o ? !1 : !C && !y.find((e) => e.label.toLowerCase().includes(B.toLowerCase())), [B, y, C, o]) || !!w.error || p === "error", ce = (e, l) => {
|
|
111
|
+
const t = r(e);
|
|
112
|
+
t && (oe(t), m(e), h.current && (h.current.focus(), l && (h.current.dataset.showFocusRing = "false")));
|
|
113
|
+
}, de = () => {
|
|
114
|
+
$(), N();
|
|
115
|
+
}, P = (e) => {
|
|
116
|
+
var l, t;
|
|
117
|
+
ee(e), o || ((v == null ? void 0 : v.label) ?? "").toLocaleLowerCase() !== B.toLocaleLowerCase() && N(), f().onBlur && ((t = (l = f()).onBlur) == null || t.call(l, e));
|
|
118
|
+
};
|
|
119
|
+
return /* @__PURE__ */ g(H.Root, { open: T, children: [
|
|
120
|
+
/* @__PURE__ */ n(H.Anchor, { asChild: !0, children: /* @__PURE__ */ g(
|
|
121
|
+
"div",
|
|
122
|
+
{
|
|
123
|
+
ref: U,
|
|
124
|
+
className: c.root,
|
|
125
|
+
"data-status": F ? "error" : p,
|
|
126
|
+
"data-disabled": b,
|
|
127
|
+
"data-empty": i.length === 0,
|
|
128
|
+
children: [
|
|
129
|
+
o ? /* @__PURE__ */ g(ue, { children: [
|
|
130
|
+
/* @__PURE__ */ n("span", { id: L, className: c.srOnly, children: O }),
|
|
131
|
+
/* @__PURE__ */ n(
|
|
132
|
+
Se,
|
|
133
|
+
{
|
|
134
|
+
items: te,
|
|
135
|
+
onDismiss: ce,
|
|
136
|
+
selectedCount: i.length,
|
|
137
|
+
children: /* @__PURE__ */ n(
|
|
138
|
+
"input",
|
|
139
|
+
{
|
|
140
|
+
...f({
|
|
141
|
+
ref: W,
|
|
142
|
+
"aria-label": "aria-label" in a ? a["aria-label"] : void 0,
|
|
143
|
+
// Remove auto-generated aria-labelledby if not explicitly provided
|
|
144
|
+
"aria-labelledby": "aria-labelledby" in a && a["aria-labelledby"] ? a["aria-labelledby"] : void 0,
|
|
145
|
+
"aria-describedby": O ? L : void 0
|
|
146
|
+
}),
|
|
147
|
+
"data-test-id": d,
|
|
148
|
+
placeholder: i.length === 0 ? x : "",
|
|
149
|
+
className: c.multiSelectInput,
|
|
150
|
+
disabled: b,
|
|
151
|
+
onMouseDown: D,
|
|
152
|
+
onFocus: R,
|
|
153
|
+
onBlur: P
|
|
154
|
+
}
|
|
155
|
+
)
|
|
156
|
+
}
|
|
157
|
+
)
|
|
158
|
+
] }) : /* @__PURE__ */ n(
|
|
159
|
+
"input",
|
|
160
|
+
{
|
|
161
|
+
...f({
|
|
162
|
+
"aria-label": "aria-label" in a ? a["aria-label"] : void 0,
|
|
163
|
+
// Remove auto-generated aria-labelledby if not explicitly provided
|
|
164
|
+
"aria-labelledby": "aria-labelledby" in a && a["aria-labelledby"] ? a["aria-labelledby"] : void 0
|
|
165
|
+
}),
|
|
166
|
+
"data-test-id": d,
|
|
167
|
+
placeholder: x,
|
|
168
|
+
className: c.input,
|
|
169
|
+
disabled: b,
|
|
170
|
+
onMouseDown: D,
|
|
171
|
+
onFocus: R,
|
|
172
|
+
onBlur: P
|
|
173
|
+
}
|
|
174
|
+
),
|
|
175
|
+
Y,
|
|
176
|
+
S ? /* @__PURE__ */ n(xe, { onClear: de, children: S }) : null,
|
|
177
|
+
w.isLoading && T ? /* @__PURE__ */ n(De, { name: "right", "data-test-id": `${d}-right-slot`, children: /* @__PURE__ */ n(pe, { size: "x-small", "data-test-id": `${d}-loading-circle` }) }) : null,
|
|
178
|
+
/* @__PURE__ */ g("div", { className: c.icons, children: [
|
|
179
|
+
/* @__PURE__ */ n(
|
|
180
|
+
"button",
|
|
181
|
+
{
|
|
182
|
+
"aria-label": X("Select_toggleMenu"),
|
|
183
|
+
...ie(),
|
|
184
|
+
type: "button",
|
|
185
|
+
disabled: b,
|
|
186
|
+
onMouseDown: () => {
|
|
187
|
+
V.current = !0;
|
|
188
|
+
},
|
|
189
|
+
children: /* @__PURE__ */ n(me, { size: 16, className: c.caret })
|
|
190
|
+
}
|
|
191
|
+
),
|
|
192
|
+
/* @__PURE__ */ n(Re, { status: p, hasError: F, dataTestId: d })
|
|
193
|
+
] })
|
|
194
|
+
]
|
|
195
|
+
}
|
|
196
|
+
) }),
|
|
197
|
+
/* @__PURE__ */ n(
|
|
198
|
+
we,
|
|
199
|
+
{
|
|
200
|
+
align: _,
|
|
201
|
+
side: q,
|
|
202
|
+
highlightedIndex: se,
|
|
203
|
+
filterText: A,
|
|
204
|
+
getMenuProps: le,
|
|
205
|
+
getItemProps: re,
|
|
206
|
+
selectedItemValues: i,
|
|
207
|
+
hasInteractedSinceOpening: ae,
|
|
208
|
+
viewportCollisionPadding: J,
|
|
209
|
+
onEscapeKeyDown: Q,
|
|
210
|
+
children: Z
|
|
211
|
+
}
|
|
212
|
+
)
|
|
213
|
+
] });
|
|
214
|
+
};
|
|
215
|
+
z.displayName = "Select.Combobox";
|
|
216
|
+
const Qe = be(z);
|
|
9
217
|
export {
|
|
10
|
-
|
|
11
|
-
a as OrderableItemContextProvider,
|
|
12
|
-
n as useOrderableItemContext
|
|
218
|
+
Qe as ComboboxBase
|
|
13
219
|
};
|
|
14
220
|
//# sourceMappingURL=fondue-components121.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fondue-components121.js","sources":["../src/components/OrderableList/hooks/useOrderedListItemContext.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { createContext, useContext } from 'react';\n\ntype OrderableItemContextType = {\n itemId: string;\n dragHandleRef: (element: Element | null) => void;\n hasHandle: boolean;\n selected?: boolean;\n onSelect?: (isSelected: boolean) => void;\n};\n\nexport const OrderableItemContext = createContext<OrderableItemContextType>({\n itemId: '',\n dragHandleRef: () => null,\n hasHandle: false,\n});\nOrderableItemContext.displayName = 'OrderableItemContext';\n\nexport const OrderableItemContextProvider = OrderableItemContext.Provider;\n\nexport const useOrderableItemContext = (): OrderableItemContextType => useContext(OrderableItemContext);\n"],"names":["OrderableItemContext","createContext","OrderableItemContextProvider","useOrderableItemContext","useContext"],"mappings":";AAYO,MAAMA,IAAuBC,EAAwC;AAAA,EACxE,QAAQ;AAAA,EACR,eAAe,MAAM;AAAA,EACrB,WAAW;AACf,CAAC;AACDD,EAAqB,cAAc;AAE5B,MAAME,IAA+BF,EAAqB,UAEpDG,IAA0B,MAAgCC,EAAWJ,CAAoB;"}
|
|
1
|
+
{"version":3,"file":"fondue-components121.js","sources":["../src/components/Select/components/ComboboxBase.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconCaretDown } from '@frontify/fondue-icons';\nimport * as RadixPopover from '@radix-ui/react-popover';\nimport { useCombobox, useMultipleSelection } from 'downshift';\nimport {\n forwardRef,\n useCallback,\n useMemo,\n useRef,\n useState,\n type FocusEvent,\n type ForwardedRef,\n type ReactNode,\n} from 'react';\n\nimport { LoadingCircle } from '#/components/LoadingCircle/LoadingCircle.tsx';\nimport { type CommonAriaProps } from '#/helpers/aria';\nimport { useTranslation } from '#/hooks/useTranslation';\n\nimport { useBadgeItems } from '../hooks/useBadgeItems';\nimport { useFocusRing } from '../hooks/useFocusRing';\nimport { useSelectData, type AsyncItemsFetcher } from '../hooks/useSelectData';\nimport { useSelectionDescription } from '../hooks/useSelectionDescription';\nimport styles from '../styles/select.module.scss';\n\nimport { ClearButton } from './ClearButton';\nimport { CollapsibleBadges } from './CollapsibleBadges';\nimport { SelectMenu, type SelectMenuViewportCollisionPadding } from './SelectMenu';\nimport { ForwardedRefSelectSlot } from './SelectSlot';\nimport { StatusIcons } from './StatusIcons';\n\ntype SelectItem = {\n value: string;\n label: string;\n children?: ReactNode;\n};\n\nexport type ComboboxSharedProps = {\n /**\n * Children of the Combobox component. This can contain the `Select.Slot` components for the label, decorators, clear action and menu\n */\n children?: ReactNode;\n /**\n * The placeholder in the combobox component\n */\n placeholder?: string;\n /**\n * Status of the text input\n * @default \"neutral\"\n */\n status?: 'neutral' | 'success' | 'error';\n /**\n * Disables the combobox component\n */\n disabled?: boolean;\n /**\n * The alignment of the menu\n * @default \"start\"\n */\n alignMenu?: 'start' | 'center' | 'end';\n /**\n * Defines the preferred side of the combobox. It will not be respected if there are collisions with the viewport\n * @default \"bottom\"\n */\n side?: 'left' | 'right' | 'bottom' | 'top';\n /**\n * Id of the combobox component\n */\n id?: string;\n /**\n * The data test id of the combobox component\n */\n 'data-test-id'?: string;\n /**\n * Define the minimum distance between the select menu and the viewport edge\n * @default 'compact'\n */\n viewportCollisionPadding?: SelectMenuViewportCollisionPadding;\n /**\n * Function to fetch items asynchronously\n */\n getAsyncItems?: AsyncItemsFetcher;\n /**\n * Event handler called when the escape key is pressed\n */\n onEscapeKeyDown?: (event: KeyboardEvent) => void;\n} & CommonAriaProps;\n\ntype ComboboxBaseProps = ComboboxSharedProps & {\n /**\n * The currently selected item values\n */\n selectedItemValues: string[];\n /**\n * Callback fired when an item is selected or deselected\n */\n onItemSelect: (value?: string) => void;\n /**\n * Callback fired when the selection is cleared\n */\n onClear: () => void;\n /**\n * Whether the combobox allows multiple selections\n */\n multiple: boolean;\n};\n\nconst ComboboxBaseInput = (\n {\n children,\n selectedItemValues,\n onItemSelect,\n onClear,\n placeholder = '',\n status = 'neutral',\n disabled,\n 'data-test-id': dataTestId = 'fondue-select-combobox',\n alignMenu = 'start',\n side = 'bottom',\n id,\n viewportCollisionPadding = 'compact',\n getAsyncItems,\n onEscapeKeyDown,\n multiple,\n ...props\n }: ComboboxBaseProps,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n): ReactNode => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const inputCallbackRef = useCallback((node: HTMLInputElement | null): void => {\n inputRef.current = node;\n }, []);\n const { t } = useTranslation();\n const { inputSlots, menuSlots, items, filterText, clearButton, getItemByValue, setFilterText, asyncItemStatus } =\n useSelectData(children, getAsyncItems);\n const { wasClickedRef, onMouseDown, onFocus, onBlur } = useFocusRing();\n const { selectionDescriptionId, selectionDescription } = useSelectionDescription(\n multiple,\n selectedItemValues,\n getItemByValue,\n );\n const badgeItems = useBadgeItems(selectedItemValues, getItemByValue);\n\n const [hasInteractedSinceOpening, setHasInteractedSinceOpening] = useState(false);\n\n const selectedItems = useMemo((): SelectItem[] => {\n return selectedItemValues\n .map((value) => getItemByValue(value))\n .filter((item): item is SelectItem => item !== undefined && 'value' in item && 'label' in item);\n }, [selectedItemValues, getItemByValue]);\n\n const multipleSelectionResult = useMultipleSelection<SelectItem>(\n multiple\n ? {\n selectedItems,\n onStateChange({ selectedItems: newSelectedItems, type }) {\n if (type === useMultipleSelection.stateChangeTypes.SelectedItemKeyDownBackspace) {\n const removedItem = selectedItems.find((item) => !newSelectedItems?.includes(item));\n if (removedItem) {\n onItemSelect(removedItem.value);\n }\n }\n },\n }\n : { selectedItems: [] },\n );\n const removeSelectedItem = multiple ? multipleSelectionResult.removeSelectedItem : (): void => {};\n\n const {\n getInputProps,\n getToggleButtonProps,\n getMenuProps,\n getItemProps,\n reset,\n selectedItem,\n isOpen,\n highlightedIndex,\n inputValue,\n } = useCombobox<SelectItem>({\n items,\n selectedItem: multiple ? null : (getItemByValue(selectedItemValues[0]) as SelectItem | null | undefined),\n defaultHighlightedIndex: 0,\n toggleButtonId: id,\n // Only set labelId if aria-labelledby is explicitly provided, otherwise downshift generates an orphan ID\n ...('aria-labelledby' in props && props['aria-labelledby'] ? { labelId: props['aria-labelledby'] } : {}),\n onSelectedItemChange: ({ selectedItem }) => {\n if (selectedItem) {\n onItemSelect(selectedItem.value);\n }\n if (multiple) {\n setFilterText('');\n }\n },\n onInputValueChange: ({ inputValue }) => {\n setFilterText(inputValue);\n },\n onIsOpenChange: () => {\n setHasInteractedSinceOpening(false);\n setFilterText('');\n },\n onHighlightedIndexChange: () => {\n setHasInteractedSinceOpening(true);\n },\n itemToString: (item) => (item ? item.label : ''),\n stateReducer: (state, actionAndChanges) => {\n const { changes, type } = actionAndChanges;\n if (multiple) {\n switch (type) {\n case useCombobox.stateChangeTypes.InputKeyDownEnter:\n case useCombobox.stateChangeTypes.ItemClick:\n return {\n ...changes,\n isOpen: true,\n highlightedIndex: state.highlightedIndex,\n inputValue: '',\n };\n case useCombobox.stateChangeTypes.InputBlur:\n // Select item on blur (Tab key) but clear the input\n return {\n ...changes,\n inputValue: '',\n };\n }\n } else {\n // For single select, handle re-selection of the same item\n // onSelectedItemChange doesn't fire when selecting the same item, so we call onItemSelect here\n switch (type) {\n case useCombobox.stateChangeTypes.InputKeyDownEnter:\n case useCombobox.stateChangeTypes.ItemClick:\n if (\n changes.selectedItem &&\n state.selectedItem &&\n changes.selectedItem.value === state.selectedItem.value\n ) {\n onItemSelect(changes.selectedItem.value);\n }\n break;\n }\n }\n return changes;\n },\n });\n\n const valueInvalid = useMemo(() => {\n if (multiple) {\n return false;\n }\n return !getAsyncItems && !items.find((item) => item.label.toLowerCase().includes(inputValue.toLowerCase()));\n }, [inputValue, items, getAsyncItems, multiple]);\n\n const hasError = valueInvalid || !!asyncItemStatus.error || status === 'error';\n\n const handleDismissBadge = (value: string, preventFocusRing: boolean): void => {\n const item = getItemByValue(value) as SelectItem | undefined;\n if (item) {\n removeSelectedItem(item);\n onItemSelect(value);\n if (inputRef.current) {\n inputRef.current.focus();\n if (preventFocusRing) {\n inputRef.current.dataset.showFocusRing = 'false';\n }\n }\n }\n };\n\n const handleClear = (): void => {\n onClear();\n reset();\n };\n\n const handleBlur = (blurEvent: FocusEvent<HTMLInputElement, Element>): void => {\n onBlur(blurEvent);\n\n if (!multiple) {\n const selectedItemLabel = selectedItem?.label ?? '';\n const isOutdated = selectedItemLabel.toLocaleLowerCase() !== inputValue.toLocaleLowerCase();\n\n if (isOutdated) {\n reset();\n }\n }\n\n if (getInputProps().onBlur) {\n getInputProps().onBlur?.(blurEvent);\n }\n };\n\n return (\n <RadixPopover.Root open={isOpen}>\n <RadixPopover.Anchor asChild>\n <div\n ref={forwardedRef}\n className={styles.root}\n data-status={hasError ? 'error' : status}\n data-disabled={disabled}\n data-empty={selectedItemValues.length === 0}\n >\n {multiple ? (\n <>\n {/* Hidden description for screen readers - announced on focus */}\n <span id={selectionDescriptionId} className={styles.srOnly}>\n {selectionDescription}\n </span>\n <CollapsibleBadges\n items={badgeItems}\n onDismiss={handleDismissBadge}\n selectedCount={selectedItemValues.length}\n >\n <input\n // eslint-disable-next-line react-hooks/refs\n {...getInputProps({\n ref: inputCallbackRef,\n 'aria-label': 'aria-label' in props ? props['aria-label'] : undefined,\n // Remove auto-generated aria-labelledby if not explicitly provided\n 'aria-labelledby':\n 'aria-labelledby' in props && props['aria-labelledby']\n ? props['aria-labelledby']\n : undefined,\n 'aria-describedby': selectionDescription ? selectionDescriptionId : undefined,\n })}\n data-test-id={dataTestId}\n placeholder={selectedItemValues.length === 0 ? placeholder : ''}\n className={styles.multiSelectInput}\n disabled={disabled}\n onMouseDown={onMouseDown}\n onFocus={onFocus}\n onBlur={handleBlur}\n />\n </CollapsibleBadges>\n </>\n ) : (\n <input\n {...getInputProps({\n 'aria-label': 'aria-label' in props ? props['aria-label'] : undefined,\n // Remove auto-generated aria-labelledby if not explicitly provided\n 'aria-labelledby':\n 'aria-labelledby' in props && props['aria-labelledby']\n ? props['aria-labelledby']\n : undefined,\n })}\n data-test-id={dataTestId}\n placeholder={placeholder}\n className={styles.input}\n disabled={disabled}\n onMouseDown={onMouseDown}\n onFocus={onFocus}\n onBlur={handleBlur}\n />\n )}\n {inputSlots}\n {clearButton ? <ClearButton onClear={handleClear}>{clearButton}</ClearButton> : null}\n {asyncItemStatus.isLoading && isOpen ? (\n <ForwardedRefSelectSlot name=\"right\" data-test-id={`${dataTestId}-right-slot`}>\n <LoadingCircle size=\"x-small\" data-test-id={`${dataTestId}-loading-circle`} />\n </ForwardedRefSelectSlot>\n ) : null}\n <div className={styles.icons}>\n <button\n aria-label={t('Select_toggleMenu')}\n {...getToggleButtonProps()}\n type=\"button\"\n disabled={disabled}\n onMouseDown={() => {\n wasClickedRef.current = true;\n }}\n >\n <IconCaretDown size={16} className={styles.caret} />\n </button>\n <StatusIcons status={status} hasError={hasError} dataTestId={dataTestId} />\n </div>\n </div>\n </RadixPopover.Anchor>\n\n <SelectMenu\n align={alignMenu}\n side={side}\n highlightedIndex={highlightedIndex}\n filterText={filterText}\n getMenuProps={getMenuProps}\n getItemProps={getItemProps}\n selectedItemValues={selectedItemValues}\n hasInteractedSinceOpening={hasInteractedSinceOpening}\n viewportCollisionPadding={viewportCollisionPadding}\n onEscapeKeyDown={onEscapeKeyDown}\n >\n {menuSlots}\n </SelectMenu>\n </RadixPopover.Root>\n );\n};\nComboboxBaseInput.displayName = 'Select.Combobox';\n\nexport const ComboboxBase = forwardRef<HTMLDivElement, ComboboxBaseProps>(ComboboxBaseInput);\n"],"names":["ComboboxBaseInput","children","selectedItemValues","onItemSelect","onClear","placeholder","status","disabled","dataTestId","alignMenu","side","id","viewportCollisionPadding","getAsyncItems","onEscapeKeyDown","multiple","props","forwardedRef","inputRef","useRef","inputCallbackRef","useCallback","node","t","useTranslation","inputSlots","menuSlots","items","filterText","clearButton","getItemByValue","setFilterText","asyncItemStatus","useSelectData","wasClickedRef","onMouseDown","onFocus","onBlur","useFocusRing","selectionDescriptionId","selectionDescription","useSelectionDescription","badgeItems","useBadgeItems","hasInteractedSinceOpening","setHasInteractedSinceOpening","useState","selectedItems","useMemo","value","item","multipleSelectionResult","useMultipleSelection","newSelectedItems","type","removedItem","removeSelectedItem","getInputProps","getToggleButtonProps","getMenuProps","getItemProps","reset","selectedItem","isOpen","highlightedIndex","inputValue","useCombobox","state","actionAndChanges","changes","hasError","handleDismissBadge","preventFocusRing","handleClear","handleBlur","blurEvent","_b","_a","jsxs","RadixPopover","jsx","styles","Fragment","CollapsibleBadges","ClearButton","ForwardedRefSelectSlot","LoadingCircle","IconCaretDown","StatusIcons","SelectMenu","ComboboxBase","forwardRef"],"mappings":"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"}
|