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