@helpwave/hightide 0.1.37 → 0.1.39
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/date/DatePicker.js.map +1 -1
- package/dist/components/date/DatePicker.mjs.map +1 -1
- package/dist/components/date/DayPicker.js.map +1 -1
- package/dist/components/date/DayPicker.mjs.map +1 -1
- package/dist/components/date/TimeDisplay.js.map +1 -1
- package/dist/components/date/TimeDisplay.mjs.map +1 -1
- package/dist/components/date/YearMonthPicker.js.map +1 -1
- package/dist/components/date/YearMonthPicker.mjs.map +1 -1
- package/dist/components/date/index.js.map +1 -1
- package/dist/components/date/index.mjs.map +1 -1
- package/dist/components/dialog/ConfirmDialog.js +15 -9
- package/dist/components/dialog/ConfirmDialog.js.map +1 -1
- package/dist/components/dialog/ConfirmDialog.mjs +16 -10
- package/dist/components/dialog/ConfirmDialog.mjs.map +1 -1
- package/dist/components/dialog/Dialog.d.mts +4 -5
- package/dist/components/dialog/Dialog.d.ts +4 -5
- package/dist/components/dialog/Dialog.js +15 -9
- package/dist/components/dialog/Dialog.js.map +1 -1
- package/dist/components/dialog/Dialog.mjs +16 -10
- package/dist/components/dialog/Dialog.mjs.map +1 -1
- package/dist/components/dialog/DiscardChangesDialog.js +15 -9
- package/dist/components/dialog/DiscardChangesDialog.js.map +1 -1
- package/dist/components/dialog/DiscardChangesDialog.mjs +16 -10
- package/dist/components/dialog/DiscardChangesDialog.mjs.map +1 -1
- package/dist/components/dialog/InputDialog.js +15 -9
- package/dist/components/dialog/InputDialog.js.map +1 -1
- package/dist/components/dialog/InputDialog.mjs +16 -10
- package/dist/components/dialog/InputDialog.mjs.map +1 -1
- package/dist/components/dialog/LanguageDialog.js +188 -154
- package/dist/components/dialog/LanguageDialog.js.map +1 -1
- package/dist/components/dialog/LanguageDialog.mjs +151 -116
- package/dist/components/dialog/LanguageDialog.mjs.map +1 -1
- package/dist/components/dialog/ThemeDialog.js +191 -157
- package/dist/components/dialog/ThemeDialog.js.map +1 -1
- package/dist/components/dialog/ThemeDialog.mjs +151 -116
- package/dist/components/dialog/ThemeDialog.mjs.map +1 -1
- package/dist/components/dialog/index.js +205 -171
- package/dist/components/dialog/index.js.map +1 -1
- package/dist/components/dialog/index.mjs +152 -117
- package/dist/components/dialog/index.mjs.map +1 -1
- package/dist/components/index.js +337 -299
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +198 -159
- package/dist/components/index.mjs.map +1 -1
- package/dist/components/layout/Carousel.d.mts +2 -1
- package/dist/components/layout/Carousel.d.ts +2 -1
- package/dist/components/layout/Carousel.js +4 -0
- package/dist/components/layout/Carousel.js.map +1 -1
- package/dist/components/layout/Carousel.mjs +4 -0
- package/dist/components/layout/Carousel.mjs.map +1 -1
- package/dist/components/layout/TextImage.js.map +1 -1
- package/dist/components/layout/TextImage.mjs.map +1 -1
- package/dist/components/layout/index.js +4 -0
- package/dist/components/layout/index.js.map +1 -1
- package/dist/components/layout/index.mjs +4 -0
- package/dist/components/layout/index.mjs.map +1 -1
- package/dist/components/loading-states/ErrorComponent.js.map +1 -1
- package/dist/components/loading-states/ErrorComponent.mjs.map +1 -1
- package/dist/components/loading-states/LoadingAnimation.js.map +1 -1
- package/dist/components/loading-states/LoadingAnimation.mjs.map +1 -1
- package/dist/components/loading-states/index.js.map +1 -1
- package/dist/components/loading-states/index.mjs.map +1 -1
- package/dist/components/navigation/Pagination.js.map +1 -1
- package/dist/components/navigation/Pagination.mjs.map +1 -1
- package/dist/components/navigation/StepperBar.js.map +1 -1
- package/dist/components/navigation/StepperBar.mjs.map +1 -1
- package/dist/components/navigation/index.js.map +1 -1
- package/dist/components/navigation/index.mjs.map +1 -1
- package/dist/components/properties/CheckboxProperty.js.map +1 -1
- package/dist/components/properties/CheckboxProperty.mjs.map +1 -1
- package/dist/components/properties/DateProperty.js.map +1 -1
- package/dist/components/properties/DateProperty.mjs.map +1 -1
- package/dist/components/properties/MultiSelectProperty.js +129 -101
- package/dist/components/properties/MultiSelectProperty.js.map +1 -1
- package/dist/components/properties/MultiSelectProperty.mjs +131 -102
- package/dist/components/properties/MultiSelectProperty.mjs.map +1 -1
- package/dist/components/properties/NumberProperty.js.map +1 -1
- package/dist/components/properties/NumberProperty.mjs.map +1 -1
- package/dist/components/properties/PropertyBase.js.map +1 -1
- package/dist/components/properties/PropertyBase.mjs.map +1 -1
- package/dist/components/properties/SelectProperty.js +129 -101
- package/dist/components/properties/SelectProperty.js.map +1 -1
- package/dist/components/properties/SelectProperty.mjs +131 -102
- package/dist/components/properties/SelectProperty.mjs.map +1 -1
- package/dist/components/properties/TextProperty.js.map +1 -1
- package/dist/components/properties/TextProperty.mjs.map +1 -1
- package/dist/components/properties/index.js +129 -101
- package/dist/components/properties/index.js.map +1 -1
- package/dist/components/properties/index.mjs +131 -102
- package/dist/components/properties/index.mjs.map +1 -1
- package/dist/components/table/Table.js.map +1 -1
- package/dist/components/table/Table.mjs.map +1 -1
- package/dist/components/table/TableFilterButton.js.map +1 -1
- package/dist/components/table/TableFilterButton.mjs.map +1 -1
- package/dist/components/table/index.js.map +1 -1
- package/dist/components/table/index.mjs.map +1 -1
- package/dist/components/user-action/CopyToClipboardWrapper.js.map +1 -1
- package/dist/components/user-action/CopyToClipboardWrapper.mjs.map +1 -1
- package/dist/components/user-action/DateAndTimePicker.js.map +1 -1
- package/dist/components/user-action/DateAndTimePicker.mjs.map +1 -1
- package/dist/components/user-action/SearchBar.js.map +1 -1
- package/dist/components/user-action/SearchBar.mjs.map +1 -1
- package/dist/components/user-action/index.js +129 -101
- package/dist/components/user-action/index.js.map +1 -1
- package/dist/components/user-action/index.mjs +131 -102
- package/dist/components/user-action/index.mjs.map +1 -1
- package/dist/components/user-action/select/Select.d.mts +2 -0
- package/dist/components/user-action/select/Select.d.ts +2 -0
- package/dist/components/user-action/select/Select.js +129 -101
- package/dist/components/user-action/select/Select.js.map +1 -1
- package/dist/components/user-action/select/Select.mjs +131 -102
- package/dist/components/user-action/select/Select.mjs.map +1 -1
- package/dist/components/user-action/select/index.js +129 -101
- package/dist/components/user-action/select/index.js.map +1 -1
- package/dist/components/user-action/select/index.mjs +131 -102
- package/dist/components/user-action/select/index.mjs.map +1 -1
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs.map +1 -1
- package/dist/hooks/useValidators.js.map +1 -1
- package/dist/hooks/useValidators.mjs.map +1 -1
- package/dist/index.js +362 -324
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +206 -167
- package/dist/index.mjs.map +1 -1
- package/dist/localization/LanguageProvider.js +1 -1
- package/dist/localization/LanguageProvider.js.map +1 -1
- package/dist/localization/LanguageProvider.mjs +1 -1
- package/dist/localization/LanguageProvider.mjs.map +1 -1
- package/dist/localization/index.js +1 -1
- package/dist/localization/index.js.map +1 -1
- package/dist/localization/index.mjs +1 -1
- package/dist/localization/index.mjs.map +1 -1
- package/dist/localization/useTranslation.js.map +1 -1
- package/dist/localization/useTranslation.mjs.map +1 -1
- package/dist/style/globals.css +0 -3
- package/dist/theming/index.js +1 -1
- package/dist/theming/index.js.map +1 -1
- package/dist/theming/index.mjs +1 -1
- package/dist/theming/index.mjs.map +1 -1
- package/dist/theming/useTheme.js +1 -1
- package/dist/theming/useTheme.js.map +1 -1
- package/dist/theming/useTheme.mjs +1 -1
- package/dist/theming/useTheme.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// src/components/dialog/Dialog.tsx
|
|
2
|
-
import {
|
|
3
|
-
import { useState as useState6 } from "react";
|
|
4
|
-
import { useRef as useRef2 } from "react";
|
|
2
|
+
import { useId as useId2 } from "react";
|
|
3
|
+
import { useEffect as useEffect5, useRef as useRef2, useState as useState6 } from "react";
|
|
5
4
|
import clsx2 from "clsx";
|
|
6
5
|
import { X } from "lucide-react";
|
|
7
6
|
|
|
@@ -658,7 +657,7 @@ var useLogOnce = (message, condition, options) => {
|
|
|
658
657
|
|
|
659
658
|
// src/components/dialog/Dialog.tsx
|
|
660
659
|
import { createPortal } from "react-dom";
|
|
661
|
-
import {
|
|
660
|
+
import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
662
661
|
var Dialog = ({
|
|
663
662
|
children,
|
|
664
663
|
isOpen,
|
|
@@ -666,13 +665,16 @@ var Dialog = ({
|
|
|
666
665
|
description,
|
|
667
666
|
isModal = true,
|
|
668
667
|
onClose,
|
|
669
|
-
className,
|
|
670
668
|
backgroundClassName,
|
|
671
669
|
position = "center",
|
|
672
|
-
isAnimated = true
|
|
670
|
+
isAnimated = true,
|
|
671
|
+
containerClassName,
|
|
672
|
+
...props
|
|
673
673
|
}) => {
|
|
674
674
|
const translation = useTranslation([formTranslation]);
|
|
675
675
|
const [visible, setVisible] = useState6(isOpen);
|
|
676
|
+
const generatedId = useId2();
|
|
677
|
+
const id = props.id ?? generatedId;
|
|
676
678
|
const ref = useRef2(null);
|
|
677
679
|
useEffect5(() => {
|
|
678
680
|
if (isOpen) {
|
|
@@ -699,14 +701,16 @@ var Dialog = ({
|
|
|
699
701
|
none: ""
|
|
700
702
|
};
|
|
701
703
|
const positionStyle = positionMap[position];
|
|
704
|
+
if (!visible) return;
|
|
702
705
|
return createPortal(
|
|
703
|
-
/* @__PURE__ */ jsxs2(
|
|
706
|
+
/* @__PURE__ */ jsxs2("div", { id: `dialog-container-${id}`, className: clsx2("fixed inset-0 h-screen w-screen", containerClassName), children: [
|
|
704
707
|
/* @__PURE__ */ jsx3(
|
|
705
708
|
"div",
|
|
706
709
|
{
|
|
710
|
+
id: `dialog-background-${id}`,
|
|
707
711
|
hidden: !visible,
|
|
708
712
|
className: clsx2(
|
|
709
|
-
"fixed inset-0 h-screen w-screen bg-overlay-shadow
|
|
713
|
+
"fixed inset-0 h-screen w-screen bg-overlay-shadow",
|
|
710
714
|
{
|
|
711
715
|
"motion-safe:animate-fade-in": isOpen,
|
|
712
716
|
"motion-safe:animate-fade-out": !isOpen
|
|
@@ -725,6 +729,8 @@ var Dialog = ({
|
|
|
725
729
|
/* @__PURE__ */ jsxs2(
|
|
726
730
|
"div",
|
|
727
731
|
{
|
|
732
|
+
...props,
|
|
733
|
+
id: `dialog-${id}`,
|
|
728
734
|
ref,
|
|
729
735
|
hidden: !visible,
|
|
730
736
|
onKeyDown: (event) => {
|
|
@@ -738,13 +744,13 @@ var Dialog = ({
|
|
|
738
744
|
}
|
|
739
745
|
},
|
|
740
746
|
className: clsx2(
|
|
741
|
-
"flex-col-2 p-4 bg-overlay-background text-overlay-text rounded-xl shadow-hw-bottom max-w-[calc(100vw_-_2rem)] max-h-[calc(100vh_-_2rem)]
|
|
747
|
+
"flex-col-2 p-4 bg-overlay-background text-overlay-text rounded-xl shadow-hw-bottom max-w-[calc(100vw_-_2rem)] max-h-[calc(100vh_-_2rem)]",
|
|
742
748
|
{
|
|
743
749
|
"motion-safe:animate-pop-in": isOpen,
|
|
744
750
|
"motion-safe:animate-pop-out": !isOpen
|
|
745
751
|
},
|
|
746
752
|
positionStyle,
|
|
747
|
-
className
|
|
753
|
+
props.className
|
|
748
754
|
),
|
|
749
755
|
children: [
|
|
750
756
|
/* @__PURE__ */ jsx3("div", { className: "typography-title-lg mr-8", children: titleElement }),
|
|
@@ -826,15 +832,16 @@ import {
|
|
|
826
832
|
useCallback as useCallback6,
|
|
827
833
|
useContext as useContext3,
|
|
828
834
|
useEffect as useEffect9,
|
|
829
|
-
useId as
|
|
835
|
+
useId as useId4,
|
|
830
836
|
useImperativeHandle,
|
|
837
|
+
useMemo as useMemo3,
|
|
831
838
|
useRef as useRef3,
|
|
832
839
|
useState as useState10
|
|
833
840
|
} from "react";
|
|
834
841
|
import clsx5 from "clsx";
|
|
835
842
|
|
|
836
843
|
// src/components/layout/Expandable.tsx
|
|
837
|
-
import { forwardRef as forwardRef2, useCallback as useCallback4, useId as
|
|
844
|
+
import { forwardRef as forwardRef2, useCallback as useCallback4, useId as useId3 } from "react";
|
|
838
845
|
import { ChevronDown } from "lucide-react";
|
|
839
846
|
import clsx3 from "clsx";
|
|
840
847
|
|
|
@@ -884,7 +891,7 @@ var Expandable = forwardRef2(function Expandable2({
|
|
|
884
891
|
}, ref) {
|
|
885
892
|
const defaultIcon = useCallback4((expanded) => /* @__PURE__ */ jsx5(ExpansionIcon, { isExpanded: expanded }), []);
|
|
886
893
|
icon ??= defaultIcon;
|
|
887
|
-
const generatedId =
|
|
894
|
+
const generatedId = useId3();
|
|
888
895
|
const id = providedId ?? generatedId;
|
|
889
896
|
return /* @__PURE__ */ jsxs3(
|
|
890
897
|
"div",
|
|
@@ -1148,9 +1155,9 @@ function useFloatingElement({
|
|
|
1148
1155
|
|
|
1149
1156
|
// src/components/user-action/select/Select.tsx
|
|
1150
1157
|
import { createPortal as createPortal2 } from "react-dom";
|
|
1151
|
-
import {
|
|
1158
|
+
import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
1152
1159
|
var defaultToggleOpenOptions = {
|
|
1153
|
-
|
|
1160
|
+
highlightStartPositionBehavior: "first"
|
|
1154
1161
|
};
|
|
1155
1162
|
var SelectContext = createContext3(null);
|
|
1156
1163
|
function useSelectContext() {
|
|
@@ -1173,47 +1180,62 @@ var SelectRoot = ({
|
|
|
1173
1180
|
isMultiSelect = false,
|
|
1174
1181
|
iconAppearance = "left"
|
|
1175
1182
|
}) => {
|
|
1176
|
-
const [options, setOptions] = useState10([]);
|
|
1177
1183
|
const triggerRef = useRef3(null);
|
|
1178
|
-
const generatedId =
|
|
1184
|
+
const generatedId = useId4();
|
|
1179
1185
|
const usedId = id ?? generatedId;
|
|
1180
1186
|
const [internalState, setInternalState] = useState10({
|
|
1181
|
-
isOpen
|
|
1187
|
+
isOpen,
|
|
1188
|
+
options: []
|
|
1182
1189
|
});
|
|
1183
|
-
const selectedValues =
|
|
1190
|
+
const selectedValues = useMemo3(
|
|
1191
|
+
() => isMultiSelect ? values ?? [] : [value].filter(Boolean),
|
|
1192
|
+
[isMultiSelect, value, values]
|
|
1193
|
+
);
|
|
1194
|
+
const selectedOptions = useMemo3(
|
|
1195
|
+
() => selectedValues.map((value2) => internalState.options.find((option) => value2 === option.value)).filter(Boolean),
|
|
1196
|
+
[selectedValues, internalState.options]
|
|
1197
|
+
);
|
|
1184
1198
|
const state = {
|
|
1185
1199
|
...internalState,
|
|
1186
1200
|
id: usedId,
|
|
1187
1201
|
disabled,
|
|
1188
1202
|
invalid,
|
|
1189
1203
|
value: selectedValues,
|
|
1190
|
-
|
|
1191
|
-
selectedOptions: selectedValues.map((value2) => options.find((option) => value2 === option.value)).filter(Boolean)
|
|
1204
|
+
selectedOptions
|
|
1192
1205
|
};
|
|
1193
1206
|
const config = {
|
|
1194
1207
|
isMultiSelect,
|
|
1195
1208
|
iconAppearance
|
|
1196
1209
|
};
|
|
1197
1210
|
const registerItem = useCallback6((item) => {
|
|
1198
|
-
|
|
1199
|
-
const
|
|
1200
|
-
|
|
1211
|
+
setInternalState((prev) => {
|
|
1212
|
+
const updatedOptions = [...prev.options, item];
|
|
1213
|
+
updatedOptions.sort((a, b) => {
|
|
1201
1214
|
const aEl = a.ref.current;
|
|
1202
1215
|
const bEl = b.ref.current;
|
|
1203
1216
|
if (!aEl || !bEl) return 0;
|
|
1204
1217
|
return aEl.compareDocumentPosition(bEl) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;
|
|
1205
1218
|
});
|
|
1206
|
-
return
|
|
1219
|
+
return {
|
|
1220
|
+
...prev,
|
|
1221
|
+
options: updatedOptions
|
|
1222
|
+
};
|
|
1207
1223
|
});
|
|
1208
1224
|
}, []);
|
|
1209
1225
|
const unregisterItem = useCallback6((value2) => {
|
|
1210
|
-
|
|
1226
|
+
setInternalState((prev) => {
|
|
1227
|
+
const updatedOptions = prev.options.filter((i) => i.value !== value2);
|
|
1228
|
+
return {
|
|
1229
|
+
...prev,
|
|
1230
|
+
options: updatedOptions
|
|
1231
|
+
};
|
|
1232
|
+
});
|
|
1211
1233
|
}, []);
|
|
1212
1234
|
const toggleSelection = (value2, isSelected) => {
|
|
1213
1235
|
if (disabled) {
|
|
1214
1236
|
return;
|
|
1215
1237
|
}
|
|
1216
|
-
const option = options.find((i) => i.value === value2);
|
|
1238
|
+
const option = state.options.find((i) => i.value === value2);
|
|
1217
1239
|
if (!option) {
|
|
1218
1240
|
console.error(`SelectOption with value: ${value2} not found`);
|
|
1219
1241
|
return;
|
|
@@ -1256,35 +1278,40 @@ var SelectRoot = ({
|
|
|
1256
1278
|
triggerRef.current = null;
|
|
1257
1279
|
}, []);
|
|
1258
1280
|
const toggleOpen = (isOpen2, toggleOpenOptions) => {
|
|
1259
|
-
const {
|
|
1260
|
-
let
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1281
|
+
const { highlightStartPositionBehavior } = { ...defaultToggleOpenOptions, ...toggleOpenOptions };
|
|
1282
|
+
let firstSelectedValue;
|
|
1283
|
+
let firstEnabledValue;
|
|
1284
|
+
for (let i = 0; i < state.options.length; i++) {
|
|
1285
|
+
const currentOption = state.options[highlightStartPositionBehavior === "first" ? i : state.options.length - i - 1];
|
|
1286
|
+
if (!currentOption.disabled) {
|
|
1287
|
+
if (!firstEnabledValue) {
|
|
1288
|
+
firstEnabledValue = currentOption.value;
|
|
1289
|
+
}
|
|
1290
|
+
if (selectedValues.includes(currentOption.value)) {
|
|
1291
|
+
firstSelectedValue = currentOption.value;
|
|
1292
|
+
break;
|
|
1293
|
+
}
|
|
1294
|
+
}
|
|
1268
1295
|
}
|
|
1269
1296
|
setInternalState((prevState) => ({
|
|
1270
1297
|
...prevState,
|
|
1271
1298
|
isOpen: isOpen2 ?? !prevState.isOpen,
|
|
1272
|
-
highlightedValue:
|
|
1299
|
+
highlightedValue: firstSelectedValue ?? firstEnabledValue
|
|
1273
1300
|
}));
|
|
1274
1301
|
};
|
|
1275
1302
|
const moveHighlightedIndex = (delta) => {
|
|
1276
|
-
let highlightedIndex = options.findIndex((value2) => value2.value === internalState.highlightedValue);
|
|
1303
|
+
let highlightedIndex = state.options.findIndex((value2) => value2.value === internalState.highlightedValue);
|
|
1277
1304
|
if (highlightedIndex === -1) {
|
|
1278
1305
|
highlightedIndex = 0;
|
|
1279
1306
|
}
|
|
1280
|
-
const optionLength = options.length;
|
|
1307
|
+
const optionLength = state.options.length;
|
|
1281
1308
|
const startIndex = (highlightedIndex + delta % optionLength + optionLength) % optionLength;
|
|
1282
1309
|
const isForward = delta >= 0;
|
|
1283
|
-
let highlightedValue = options[startIndex].value;
|
|
1284
|
-
for (let i = 0; i < options.length; i++) {
|
|
1310
|
+
let highlightedValue = state.options[startIndex].value;
|
|
1311
|
+
for (let i = 0; i < state.options.length; i++) {
|
|
1285
1312
|
const index = (startIndex + (isForward ? i : -i) + optionLength) % optionLength;
|
|
1286
|
-
if (!options[index].disabled) {
|
|
1287
|
-
highlightedValue = options[index].value;
|
|
1313
|
+
if (!state.options[index].disabled) {
|
|
1314
|
+
highlightedValue = state.options[index].value;
|
|
1288
1315
|
break;
|
|
1289
1316
|
}
|
|
1290
1317
|
}
|
|
@@ -1295,9 +1322,9 @@ var SelectRoot = ({
|
|
|
1295
1322
|
};
|
|
1296
1323
|
useEffect9(() => {
|
|
1297
1324
|
if (!internalState.highlightedValue) return;
|
|
1298
|
-
const highlighted = options.find((value2) => value2.value === internalState.highlightedValue);
|
|
1325
|
+
const highlighted = internalState.options.find((value2) => value2.value === internalState.highlightedValue);
|
|
1299
1326
|
if (highlighted) {
|
|
1300
|
-
highlighted.ref.current
|
|
1327
|
+
highlighted.ref.current?.scrollIntoView({ behavior: "instant", block: "nearest" });
|
|
1301
1328
|
} else {
|
|
1302
1329
|
console.error(`SelectRoot: Could not find highlighted value (${internalState.highlightedValue})`);
|
|
1303
1330
|
}
|
|
@@ -1434,12 +1461,12 @@ var SelectButton = forwardRef3(function SelectButton2({ placeholder, selectedDis
|
|
|
1434
1461
|
props.onKeyDown?.(event);
|
|
1435
1462
|
switch (event.key) {
|
|
1436
1463
|
case "ArrowDown":
|
|
1437
|
-
toggleOpen(true, {
|
|
1464
|
+
toggleOpen(true, { highlightStartPositionBehavior: "first" });
|
|
1438
1465
|
event.preventDefault();
|
|
1439
1466
|
event.stopPropagation();
|
|
1440
1467
|
break;
|
|
1441
1468
|
case "ArrowUp":
|
|
1442
|
-
toggleOpen(true, {
|
|
1469
|
+
toggleOpen(true, { highlightStartPositionBehavior: "last" });
|
|
1443
1470
|
event.preventDefault();
|
|
1444
1471
|
event.stopPropagation();
|
|
1445
1472
|
break;
|
|
@@ -1533,10 +1560,10 @@ var SelectChipDisplay = forwardRef3(function SelectChipDisplay2({ ...props }, re
|
|
|
1533
1560
|
onKeyDown: (event) => {
|
|
1534
1561
|
switch (event.key) {
|
|
1535
1562
|
case "ArrowDown":
|
|
1536
|
-
toggleOpen(true, {
|
|
1563
|
+
toggleOpen(true, { highlightStartPositionBehavior: "first" });
|
|
1537
1564
|
break;
|
|
1538
1565
|
case "ArrowUp":
|
|
1539
|
-
toggleOpen(true, {
|
|
1566
|
+
toggleOpen(true, { highlightStartPositionBehavior: "last" });
|
|
1540
1567
|
}
|
|
1541
1568
|
},
|
|
1542
1569
|
size: "small",
|
|
@@ -1557,6 +1584,7 @@ var SelectContent = forwardRef3(
|
|
|
1557
1584
|
function SelectContent2({
|
|
1558
1585
|
alignment,
|
|
1559
1586
|
orientation = "vertical",
|
|
1587
|
+
containerClassName,
|
|
1560
1588
|
...props
|
|
1561
1589
|
}, ref) {
|
|
1562
1590
|
const innerRef = useRef3(null);
|
|
@@ -1573,76 +1601,83 @@ var SelectContent = forwardRef3(
|
|
|
1573
1601
|
active: state.isOpen && !!position
|
|
1574
1602
|
});
|
|
1575
1603
|
return createPortal2(
|
|
1576
|
-
/* @__PURE__ */ jsxs5(
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
{
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
vertical: "ArrowDown",
|
|
1601
|
-
horizontal: "ArrowUp"
|
|
1602
|
-
}):
|
|
1603
|
-
item.moveHighlightedIndex(1);
|
|
1604
|
-
event.preventDefault();
|
|
1605
|
-
break;
|
|
1606
|
-
case match(orientation, {
|
|
1607
|
-
vertical: "ArrowUp",
|
|
1608
|
-
horizontal: "ArrowDown"
|
|
1609
|
-
}):
|
|
1610
|
-
item.moveHighlightedIndex(-1);
|
|
1611
|
-
event.preventDefault();
|
|
1612
|
-
break;
|
|
1613
|
-
case "Home":
|
|
1614
|
-
event.preventDefault();
|
|
1615
|
-
break;
|
|
1616
|
-
case "End":
|
|
1617
|
-
event.preventDefault();
|
|
1618
|
-
break;
|
|
1619
|
-
case "Enter":
|
|
1620
|
-
// Fall through
|
|
1621
|
-
case " ":
|
|
1622
|
-
if (state.highlightedValue) {
|
|
1623
|
-
item.toggleSelection(state.highlightedValue);
|
|
1624
|
-
if (!config.isMultiSelect) {
|
|
1604
|
+
/* @__PURE__ */ jsxs5(
|
|
1605
|
+
"div",
|
|
1606
|
+
{
|
|
1607
|
+
id: `select-container-${state.id}`,
|
|
1608
|
+
className: clsx5("fixed inset-0 w-screen h-screen", containerClassName),
|
|
1609
|
+
hidden: !state.isOpen,
|
|
1610
|
+
children: [
|
|
1611
|
+
/* @__PURE__ */ jsx7(
|
|
1612
|
+
"div",
|
|
1613
|
+
{
|
|
1614
|
+
id: `select-background-${state.id}`,
|
|
1615
|
+
onClick: () => trigger.toggleOpen(false),
|
|
1616
|
+
className: clsx5("fixed inset-0 w-screen h-screen")
|
|
1617
|
+
}
|
|
1618
|
+
),
|
|
1619
|
+
/* @__PURE__ */ jsx7(
|
|
1620
|
+
"ul",
|
|
1621
|
+
{
|
|
1622
|
+
...props,
|
|
1623
|
+
id: `${state.id}-listbox`,
|
|
1624
|
+
ref: innerRef,
|
|
1625
|
+
onKeyDown: (event) => {
|
|
1626
|
+
switch (event.key) {
|
|
1627
|
+
case "Escape":
|
|
1625
1628
|
trigger.toggleOpen(false);
|
|
1626
|
-
|
|
1627
|
-
|
|
1629
|
+
event.preventDefault();
|
|
1630
|
+
event.stopPropagation();
|
|
1631
|
+
break;
|
|
1632
|
+
case match(orientation, {
|
|
1633
|
+
vertical: "ArrowDown",
|
|
1634
|
+
horizontal: "ArrowUp"
|
|
1635
|
+
}):
|
|
1636
|
+
item.moveHighlightedIndex(1);
|
|
1637
|
+
event.preventDefault();
|
|
1638
|
+
break;
|
|
1639
|
+
case match(orientation, {
|
|
1640
|
+
vertical: "ArrowUp",
|
|
1641
|
+
horizontal: "ArrowDown"
|
|
1642
|
+
}):
|
|
1643
|
+
item.moveHighlightedIndex(-1);
|
|
1644
|
+
event.preventDefault();
|
|
1645
|
+
break;
|
|
1646
|
+
case "Home":
|
|
1647
|
+
event.preventDefault();
|
|
1648
|
+
break;
|
|
1649
|
+
case "End":
|
|
1650
|
+
event.preventDefault();
|
|
1651
|
+
break;
|
|
1652
|
+
case "Enter":
|
|
1653
|
+
// Fall through
|
|
1654
|
+
case " ":
|
|
1655
|
+
if (state.highlightedValue) {
|
|
1656
|
+
item.toggleSelection(state.highlightedValue);
|
|
1657
|
+
if (!config.isMultiSelect) {
|
|
1658
|
+
trigger.toggleOpen(false);
|
|
1659
|
+
}
|
|
1660
|
+
event.preventDefault();
|
|
1661
|
+
}
|
|
1662
|
+
break;
|
|
1628
1663
|
}
|
|
1629
|
-
|
|
1664
|
+
},
|
|
1665
|
+
className: clsx5("flex-col-0 p-2 bg-menu-background text-menu-text rounded-md shadow-hw-bottom focus-style-within overflow-auto", props.className),
|
|
1666
|
+
style: {
|
|
1667
|
+
opacity: position ? void 0 : 0,
|
|
1668
|
+
position: "fixed",
|
|
1669
|
+
...position
|
|
1670
|
+
},
|
|
1671
|
+
role: "listbox",
|
|
1672
|
+
"aria-multiselectable": config.isMultiSelect,
|
|
1673
|
+
"aria-orientation": orientation,
|
|
1674
|
+
tabIndex: position ? 0 : void 0,
|
|
1675
|
+
children: props.children
|
|
1630
1676
|
}
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
position: "fixed",
|
|
1636
|
-
...position
|
|
1637
|
-
},
|
|
1638
|
-
role: "listbox",
|
|
1639
|
-
"aria-multiselectable": config.isMultiSelect,
|
|
1640
|
-
"aria-orientation": orientation,
|
|
1641
|
-
tabIndex: position ? 0 : void 0,
|
|
1642
|
-
children: props.children
|
|
1643
|
-
}
|
|
1644
|
-
)
|
|
1645
|
-
] }),
|
|
1677
|
+
)
|
|
1678
|
+
]
|
|
1679
|
+
}
|
|
1680
|
+
),
|
|
1646
1681
|
document.body
|
|
1647
1682
|
);
|
|
1648
1683
|
}
|