@kalyx/react 1.0.0-rc.13 → 1.0.0-rc.14
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/CHANGELOG.md +6 -0
- package/README.md +15 -0
- package/dist/headless.cjs +3052 -0
- package/dist/headless.cjs.map +1 -0
- package/dist/headless.d.cts +5 -0
- package/dist/headless.d.ts +5 -0
- package/dist/headless.js +3026 -0
- package/dist/headless.js.map +1 -0
- package/dist/index.cjs +41 -18
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +19 -7
- package/dist/index.d.ts +19 -7
- package/dist/index.js +38 -15
- package/dist/index.js.map +1 -1
- package/package.json +11 -1
package/dist/index.cjs
CHANGED
|
@@ -1,13 +1,29 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
+
var adapterDateFns = require('@kalyx/adapter-date-fns');
|
|
4
5
|
var react = require('react');
|
|
5
6
|
var core = require('@kalyx/core');
|
|
6
|
-
var adapterDateFns = require('@kalyx/adapter-date-fns');
|
|
7
7
|
var jsxRuntime = require('react/jsx-runtime');
|
|
8
8
|
var react$1 = require('@floating-ui/react');
|
|
9
9
|
|
|
10
|
-
// src/
|
|
10
|
+
// src/index.ts
|
|
11
|
+
|
|
12
|
+
// src/internal/defaultAdapter.ts
|
|
13
|
+
var __defaultAdapter = null;
|
|
14
|
+
function setDefaultAdapter(adapter) {
|
|
15
|
+
__defaultAdapter = adapter;
|
|
16
|
+
}
|
|
17
|
+
function getDefaultAdapter() {
|
|
18
|
+
return __defaultAdapter;
|
|
19
|
+
}
|
|
20
|
+
function resolveAdapter(passed, fallback, componentName) {
|
|
21
|
+
if (passed) return passed;
|
|
22
|
+
if (fallback) return fallback;
|
|
23
|
+
throw new Error(
|
|
24
|
+
`[@kalyx/react/headless] ${componentName} requires an adapter. Pass one via <${componentName} adapter={...}>. If you don't need a custom adapter, import from '@kalyx/react' instead.`
|
|
25
|
+
);
|
|
26
|
+
}
|
|
11
27
|
var DatePickerContext = react.createContext(null);
|
|
12
28
|
function useDatePickerContext(componentName) {
|
|
13
29
|
const context = react.useContext(DatePickerContext);
|
|
@@ -46,10 +62,11 @@ function DatePickerRoot({
|
|
|
46
62
|
displayFormat = "yyyy-MM-dd",
|
|
47
63
|
locale = "en-US",
|
|
48
64
|
displayTimezone,
|
|
49
|
-
adapter
|
|
65
|
+
adapter: adapterProp,
|
|
50
66
|
labels: labelsProp,
|
|
51
67
|
children
|
|
52
68
|
}) {
|
|
69
|
+
const adapter = resolveAdapter(adapterProp, getDefaultAdapter(), "DatePicker");
|
|
53
70
|
const pickerId = react.useId();
|
|
54
71
|
const isControlled = react.useRef(controlledValue !== void 0).current;
|
|
55
72
|
const referenceRef = react.useRef(null);
|
|
@@ -1127,10 +1144,11 @@ function RangePickerRoot({
|
|
|
1127
1144
|
displayFormat = "yyyy-MM-dd",
|
|
1128
1145
|
locale = "en-US",
|
|
1129
1146
|
displayTimezone,
|
|
1130
|
-
adapter
|
|
1147
|
+
adapter: adapterProp,
|
|
1131
1148
|
labels: labelsProp,
|
|
1132
1149
|
children
|
|
1133
1150
|
}) {
|
|
1151
|
+
const adapter = resolveAdapter(adapterProp, getDefaultAdapter(), "RangePicker");
|
|
1134
1152
|
const pickerId = react.useId();
|
|
1135
1153
|
const isControlled = react.useRef(controlledValue !== void 0).current;
|
|
1136
1154
|
const referenceRef = react.useRef(null);
|
|
@@ -1805,9 +1823,11 @@ function TimePickerRoot({
|
|
|
1805
1823
|
disabled = false,
|
|
1806
1824
|
readOnly = false,
|
|
1807
1825
|
filterTime,
|
|
1826
|
+
adapter: adapterProp,
|
|
1808
1827
|
labels: labelsProp,
|
|
1809
1828
|
children
|
|
1810
1829
|
}) {
|
|
1830
|
+
const adapter = resolveAdapter(adapterProp, getDefaultAdapter(), "TimePicker");
|
|
1811
1831
|
const pickerId = react.useId();
|
|
1812
1832
|
const mergedLabels = react.useMemo(
|
|
1813
1833
|
() => ({ ...core.DEFAULT_TIMEPICKER_LABELS, ...labelsProp }),
|
|
@@ -1825,14 +1845,14 @@ function TimePickerRoot({
|
|
|
1825
1845
|
const setTime = react.useCallback(
|
|
1826
1846
|
(partial) => {
|
|
1827
1847
|
if (disabled || readOnly) return;
|
|
1828
|
-
const base = currentValue ??
|
|
1848
|
+
const base = currentValue ?? adapter.today(displayTimezone);
|
|
1829
1849
|
const newIso = displayTimezone ? core.setTimeInTimezone(base, partial, displayTimezone) : core.setTime(base, partial);
|
|
1830
1850
|
if (!isControlled) {
|
|
1831
1851
|
setUncontrolledValue(newIso);
|
|
1832
1852
|
}
|
|
1833
1853
|
onChange?.(newIso);
|
|
1834
1854
|
},
|
|
1835
|
-
[disabled, readOnly, currentValue, displayTimezone, isControlled, onChange]
|
|
1855
|
+
[disabled, readOnly, currentValue, displayTimezone, isControlled, onChange, adapter]
|
|
1836
1856
|
);
|
|
1837
1857
|
const contextValue = react.useMemo(
|
|
1838
1858
|
() => ({
|
|
@@ -2208,10 +2228,11 @@ function DateTimePickerRoot({
|
|
|
2208
2228
|
displayFormat = "yyyy-MM-dd HH:mm",
|
|
2209
2229
|
locale = "en-US",
|
|
2210
2230
|
displayTimezone,
|
|
2211
|
-
adapter
|
|
2231
|
+
adapter: adapterProp,
|
|
2212
2232
|
labels: labelsProp,
|
|
2213
2233
|
children
|
|
2214
2234
|
}) {
|
|
2235
|
+
const adapter = resolveAdapter(adapterProp, getDefaultAdapter(), "DateTimePicker");
|
|
2215
2236
|
const pickerId = react.useId();
|
|
2216
2237
|
const mergedDateLabels = react.useMemo(
|
|
2217
2238
|
() => ({ ...core.DEFAULT_DATEPICKER_LABELS, ...labelsProp }),
|
|
@@ -2746,9 +2767,10 @@ function useDatePicker(options = {}) {
|
|
|
2746
2767
|
onChange,
|
|
2747
2768
|
disabled = [],
|
|
2748
2769
|
weekStartsOn = 0,
|
|
2749
|
-
adapter
|
|
2770
|
+
adapter: adapterProp,
|
|
2750
2771
|
displayTimezone
|
|
2751
2772
|
} = options;
|
|
2773
|
+
const adapter = resolveAdapter(adapterProp, getDefaultAdapter(), "useDatePicker");
|
|
2752
2774
|
const pickerId = react.useId();
|
|
2753
2775
|
const isControlled = react.useRef(controlledValue !== void 0).current;
|
|
2754
2776
|
const [uncontrolledValue, setUncontrolledValue] = react.useState(
|
|
@@ -2829,9 +2851,10 @@ function useRangePicker(options = {}) {
|
|
|
2829
2851
|
onChange,
|
|
2830
2852
|
disabled = [],
|
|
2831
2853
|
weekStartsOn = 0,
|
|
2832
|
-
adapter
|
|
2854
|
+
adapter: adapterProp,
|
|
2833
2855
|
displayTimezone
|
|
2834
2856
|
} = options;
|
|
2857
|
+
const adapter = resolveAdapter(adapterProp, getDefaultAdapter(), "useRangePicker");
|
|
2835
2858
|
const pickerId = react.useId();
|
|
2836
2859
|
const isControlled = react.useRef(controlledValue !== void 0).current;
|
|
2837
2860
|
const [uncontrolledValue, setUncontrolledValue] = react.useState(
|
|
@@ -2936,9 +2959,6 @@ function useRangePicker(options = {}) {
|
|
|
2936
2959
|
adapter
|
|
2937
2960
|
};
|
|
2938
2961
|
}
|
|
2939
|
-
function getDefaultIso() {
|
|
2940
|
-
return adapterDateFns.DateFnsAdapter.today();
|
|
2941
|
-
}
|
|
2942
2962
|
function useTimePicker(options = {}) {
|
|
2943
2963
|
const {
|
|
2944
2964
|
value: controlledValue,
|
|
@@ -2946,15 +2966,17 @@ function useTimePicker(options = {}) {
|
|
|
2946
2966
|
onChange,
|
|
2947
2967
|
format = "24h",
|
|
2948
2968
|
step = 1,
|
|
2949
|
-
displayTimezone
|
|
2969
|
+
displayTimezone,
|
|
2970
|
+
adapter: adapterProp
|
|
2950
2971
|
} = options;
|
|
2972
|
+
const adapter = resolveAdapter(adapterProp, getDefaultAdapter(), "useTimePicker");
|
|
2951
2973
|
const pickerId = react.useId();
|
|
2952
2974
|
const isControlled = react.useRef(controlledValue !== void 0).current;
|
|
2953
2975
|
const [uncontrolledValue, setUncontrolledValue] = react.useState(
|
|
2954
2976
|
defaultValue ?? null
|
|
2955
2977
|
);
|
|
2956
2978
|
const currentValue = isControlled ? controlledValue ?? null : uncontrolledValue;
|
|
2957
|
-
const baseIso = currentValue ??
|
|
2979
|
+
const baseIso = currentValue ?? adapter.today();
|
|
2958
2980
|
const currentTime = react.useMemo(
|
|
2959
2981
|
() => displayTimezone ? core.getTimeInTimezone(baseIso, displayTimezone) : core.getTime(baseIso),
|
|
2960
2982
|
[baseIso, displayTimezone]
|
|
@@ -3004,7 +3026,12 @@ function useTimePicker(options = {}) {
|
|
|
3004
3026
|
pickerId
|
|
3005
3027
|
};
|
|
3006
3028
|
}
|
|
3029
|
+
setDefaultAdapter(adapterDateFns.DateFnsAdapter);
|
|
3007
3030
|
|
|
3031
|
+
Object.defineProperty(exports, "DateFnsAdapter", {
|
|
3032
|
+
enumerable: true,
|
|
3033
|
+
get: function () { return adapterDateFns.DateFnsAdapter; }
|
|
3034
|
+
});
|
|
3008
3035
|
Object.defineProperty(exports, "DEFAULT_DATEPICKER_LABELS", {
|
|
3009
3036
|
enumerable: true,
|
|
3010
3037
|
get: function () { return core.DEFAULT_DATEPICKER_LABELS; }
|
|
@@ -3021,10 +3048,6 @@ Object.defineProperty(exports, "DEFAULT_TIMEPICKER_LABELS", {
|
|
|
3021
3048
|
enumerable: true,
|
|
3022
3049
|
get: function () { return core.DEFAULT_TIMEPICKER_LABELS; }
|
|
3023
3050
|
});
|
|
3024
|
-
Object.defineProperty(exports, "DateFnsAdapter", {
|
|
3025
|
-
enumerable: true,
|
|
3026
|
-
get: function () { return adapterDateFns.DateFnsAdapter; }
|
|
3027
|
-
});
|
|
3028
3051
|
exports.DatePicker = DatePicker;
|
|
3029
3052
|
exports.DateTimePicker = DateTimePicker;
|
|
3030
3053
|
exports.MonthPicker = MonthPicker;
|