@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
|
@@ -304,9 +304,8 @@ var useTranslation = (translations, overwriteTranslation = {}) => {
|
|
|
304
304
|
import clsx3 from "clsx";
|
|
305
305
|
|
|
306
306
|
// src/components/dialog/Dialog.tsx
|
|
307
|
-
import {
|
|
308
|
-
import { useState as useState6 } from "react";
|
|
309
|
-
import { useRef as useRef2 } from "react";
|
|
307
|
+
import { useId as useId2 } from "react";
|
|
308
|
+
import { useEffect as useEffect5, useRef as useRef2, useState as useState6 } from "react";
|
|
310
309
|
import clsx2 from "clsx";
|
|
311
310
|
import { X } from "lucide-react";
|
|
312
311
|
|
|
@@ -661,7 +660,7 @@ var useLogOnce = (message, condition, options) => {
|
|
|
661
660
|
|
|
662
661
|
// src/components/dialog/Dialog.tsx
|
|
663
662
|
import { createPortal } from "react-dom";
|
|
664
|
-
import {
|
|
663
|
+
import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
665
664
|
var Dialog = ({
|
|
666
665
|
children,
|
|
667
666
|
isOpen,
|
|
@@ -669,13 +668,16 @@ var Dialog = ({
|
|
|
669
668
|
description,
|
|
670
669
|
isModal = true,
|
|
671
670
|
onClose,
|
|
672
|
-
className,
|
|
673
671
|
backgroundClassName,
|
|
674
672
|
position = "center",
|
|
675
|
-
isAnimated = true
|
|
673
|
+
isAnimated = true,
|
|
674
|
+
containerClassName,
|
|
675
|
+
...props
|
|
676
676
|
}) => {
|
|
677
677
|
const translation = useTranslation([formTranslation]);
|
|
678
678
|
const [visible, setVisible] = useState6(isOpen);
|
|
679
|
+
const generatedId = useId2();
|
|
680
|
+
const id = props.id ?? generatedId;
|
|
679
681
|
const ref = useRef2(null);
|
|
680
682
|
useEffect5(() => {
|
|
681
683
|
if (isOpen) {
|
|
@@ -702,14 +704,16 @@ var Dialog = ({
|
|
|
702
704
|
none: ""
|
|
703
705
|
};
|
|
704
706
|
const positionStyle = positionMap[position];
|
|
707
|
+
if (!visible) return;
|
|
705
708
|
return createPortal(
|
|
706
|
-
/* @__PURE__ */ jsxs2(
|
|
709
|
+
/* @__PURE__ */ jsxs2("div", { id: `dialog-container-${id}`, className: clsx2("fixed inset-0 h-screen w-screen", containerClassName), children: [
|
|
707
710
|
/* @__PURE__ */ jsx3(
|
|
708
711
|
"div",
|
|
709
712
|
{
|
|
713
|
+
id: `dialog-background-${id}`,
|
|
710
714
|
hidden: !visible,
|
|
711
715
|
className: clsx2(
|
|
712
|
-
"fixed inset-0 h-screen w-screen bg-overlay-shadow
|
|
716
|
+
"fixed inset-0 h-screen w-screen bg-overlay-shadow",
|
|
713
717
|
{
|
|
714
718
|
"motion-safe:animate-fade-in": isOpen,
|
|
715
719
|
"motion-safe:animate-fade-out": !isOpen
|
|
@@ -728,6 +732,8 @@ var Dialog = ({
|
|
|
728
732
|
/* @__PURE__ */ jsxs2(
|
|
729
733
|
"div",
|
|
730
734
|
{
|
|
735
|
+
...props,
|
|
736
|
+
id: `dialog-${id}`,
|
|
731
737
|
ref,
|
|
732
738
|
hidden: !visible,
|
|
733
739
|
onKeyDown: (event) => {
|
|
@@ -741,13 +747,13 @@ var Dialog = ({
|
|
|
741
747
|
}
|
|
742
748
|
},
|
|
743
749
|
className: clsx2(
|
|
744
|
-
"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)]
|
|
750
|
+
"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)]",
|
|
745
751
|
{
|
|
746
752
|
"motion-safe:animate-pop-in": isOpen,
|
|
747
753
|
"motion-safe:animate-pop-out": !isOpen
|
|
748
754
|
},
|
|
749
755
|
positionStyle,
|
|
750
|
-
className
|
|
756
|
+
props.className
|
|
751
757
|
),
|
|
752
758
|
children: [
|
|
753
759
|
/* @__PURE__ */ jsx3("div", { className: "typography-title-lg mr-8", children: titleElement }),
|
|
@@ -1086,15 +1092,16 @@ import {
|
|
|
1086
1092
|
useCallback as useCallback6,
|
|
1087
1093
|
useContext as useContext2,
|
|
1088
1094
|
useEffect as useEffect9,
|
|
1089
|
-
useId as
|
|
1095
|
+
useId as useId4,
|
|
1090
1096
|
useImperativeHandle as useImperativeHandle2,
|
|
1097
|
+
useMemo as useMemo2,
|
|
1091
1098
|
useRef as useRef4,
|
|
1092
1099
|
useState as useState10
|
|
1093
1100
|
} from "react";
|
|
1094
1101
|
import clsx7 from "clsx";
|
|
1095
1102
|
|
|
1096
1103
|
// src/components/layout/Expandable.tsx
|
|
1097
|
-
import { forwardRef as forwardRef3, useCallback as useCallback4, useId as
|
|
1104
|
+
import { forwardRef as forwardRef3, useCallback as useCallback4, useId as useId3 } from "react";
|
|
1098
1105
|
import { ChevronDown } from "lucide-react";
|
|
1099
1106
|
import clsx5 from "clsx";
|
|
1100
1107
|
import { jsx as jsx8, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
@@ -1127,7 +1134,7 @@ var Expandable = forwardRef3(function Expandable2({
|
|
|
1127
1134
|
}, ref) {
|
|
1128
1135
|
const defaultIcon = useCallback4((expanded) => /* @__PURE__ */ jsx8(ExpansionIcon, { isExpanded: expanded }), []);
|
|
1129
1136
|
icon ??= defaultIcon;
|
|
1130
|
-
const generatedId =
|
|
1137
|
+
const generatedId = useId3();
|
|
1131
1138
|
const id = providedId ?? generatedId;
|
|
1132
1139
|
return /* @__PURE__ */ jsxs4(
|
|
1133
1140
|
"div",
|
|
@@ -1391,9 +1398,9 @@ function useFloatingElement({
|
|
|
1391
1398
|
|
|
1392
1399
|
// src/components/user-action/select/Select.tsx
|
|
1393
1400
|
import { createPortal as createPortal2 } from "react-dom";
|
|
1394
|
-
import {
|
|
1401
|
+
import { jsx as jsx10, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1395
1402
|
var defaultToggleOpenOptions = {
|
|
1396
|
-
|
|
1403
|
+
highlightStartPositionBehavior: "first"
|
|
1397
1404
|
};
|
|
1398
1405
|
var SelectContext = createContext2(null);
|
|
1399
1406
|
function useSelectContext() {
|
|
@@ -1416,47 +1423,62 @@ var SelectRoot = ({
|
|
|
1416
1423
|
isMultiSelect = false,
|
|
1417
1424
|
iconAppearance = "left"
|
|
1418
1425
|
}) => {
|
|
1419
|
-
const [options, setOptions] = useState10([]);
|
|
1420
1426
|
const triggerRef = useRef4(null);
|
|
1421
|
-
const generatedId =
|
|
1427
|
+
const generatedId = useId4();
|
|
1422
1428
|
const usedId = id ?? generatedId;
|
|
1423
1429
|
const [internalState, setInternalState] = useState10({
|
|
1424
|
-
isOpen
|
|
1430
|
+
isOpen,
|
|
1431
|
+
options: []
|
|
1425
1432
|
});
|
|
1426
|
-
const selectedValues =
|
|
1433
|
+
const selectedValues = useMemo2(
|
|
1434
|
+
() => isMultiSelect ? values ?? [] : [value].filter(Boolean),
|
|
1435
|
+
[isMultiSelect, value, values]
|
|
1436
|
+
);
|
|
1437
|
+
const selectedOptions = useMemo2(
|
|
1438
|
+
() => selectedValues.map((value2) => internalState.options.find((option) => value2 === option.value)).filter(Boolean),
|
|
1439
|
+
[selectedValues, internalState.options]
|
|
1440
|
+
);
|
|
1427
1441
|
const state = {
|
|
1428
1442
|
...internalState,
|
|
1429
1443
|
id: usedId,
|
|
1430
1444
|
disabled,
|
|
1431
1445
|
invalid,
|
|
1432
1446
|
value: selectedValues,
|
|
1433
|
-
|
|
1434
|
-
selectedOptions: selectedValues.map((value2) => options.find((option) => value2 === option.value)).filter(Boolean)
|
|
1447
|
+
selectedOptions
|
|
1435
1448
|
};
|
|
1436
1449
|
const config = {
|
|
1437
1450
|
isMultiSelect,
|
|
1438
1451
|
iconAppearance
|
|
1439
1452
|
};
|
|
1440
1453
|
const registerItem = useCallback6((item) => {
|
|
1441
|
-
|
|
1442
|
-
const
|
|
1443
|
-
|
|
1454
|
+
setInternalState((prev) => {
|
|
1455
|
+
const updatedOptions = [...prev.options, item];
|
|
1456
|
+
updatedOptions.sort((a, b) => {
|
|
1444
1457
|
const aEl = a.ref.current;
|
|
1445
1458
|
const bEl = b.ref.current;
|
|
1446
1459
|
if (!aEl || !bEl) return 0;
|
|
1447
1460
|
return aEl.compareDocumentPosition(bEl) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;
|
|
1448
1461
|
});
|
|
1449
|
-
return
|
|
1462
|
+
return {
|
|
1463
|
+
...prev,
|
|
1464
|
+
options: updatedOptions
|
|
1465
|
+
};
|
|
1450
1466
|
});
|
|
1451
1467
|
}, []);
|
|
1452
1468
|
const unregisterItem = useCallback6((value2) => {
|
|
1453
|
-
|
|
1469
|
+
setInternalState((prev) => {
|
|
1470
|
+
const updatedOptions = prev.options.filter((i) => i.value !== value2);
|
|
1471
|
+
return {
|
|
1472
|
+
...prev,
|
|
1473
|
+
options: updatedOptions
|
|
1474
|
+
};
|
|
1475
|
+
});
|
|
1454
1476
|
}, []);
|
|
1455
1477
|
const toggleSelection = (value2, isSelected) => {
|
|
1456
1478
|
if (disabled) {
|
|
1457
1479
|
return;
|
|
1458
1480
|
}
|
|
1459
|
-
const option = options.find((i) => i.value === value2);
|
|
1481
|
+
const option = state.options.find((i) => i.value === value2);
|
|
1460
1482
|
if (!option) {
|
|
1461
1483
|
console.error(`SelectOption with value: ${value2} not found`);
|
|
1462
1484
|
return;
|
|
@@ -1499,35 +1521,40 @@ var SelectRoot = ({
|
|
|
1499
1521
|
triggerRef.current = null;
|
|
1500
1522
|
}, []);
|
|
1501
1523
|
const toggleOpen = (isOpen2, toggleOpenOptions) => {
|
|
1502
|
-
const {
|
|
1503
|
-
let
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1524
|
+
const { highlightStartPositionBehavior } = { ...defaultToggleOpenOptions, ...toggleOpenOptions };
|
|
1525
|
+
let firstSelectedValue;
|
|
1526
|
+
let firstEnabledValue;
|
|
1527
|
+
for (let i = 0; i < state.options.length; i++) {
|
|
1528
|
+
const currentOption = state.options[highlightStartPositionBehavior === "first" ? i : state.options.length - i - 1];
|
|
1529
|
+
if (!currentOption.disabled) {
|
|
1530
|
+
if (!firstEnabledValue) {
|
|
1531
|
+
firstEnabledValue = currentOption.value;
|
|
1532
|
+
}
|
|
1533
|
+
if (selectedValues.includes(currentOption.value)) {
|
|
1534
|
+
firstSelectedValue = currentOption.value;
|
|
1535
|
+
break;
|
|
1536
|
+
}
|
|
1537
|
+
}
|
|
1511
1538
|
}
|
|
1512
1539
|
setInternalState((prevState) => ({
|
|
1513
1540
|
...prevState,
|
|
1514
1541
|
isOpen: isOpen2 ?? !prevState.isOpen,
|
|
1515
|
-
highlightedValue:
|
|
1542
|
+
highlightedValue: firstSelectedValue ?? firstEnabledValue
|
|
1516
1543
|
}));
|
|
1517
1544
|
};
|
|
1518
1545
|
const moveHighlightedIndex = (delta) => {
|
|
1519
|
-
let highlightedIndex = options.findIndex((value2) => value2.value === internalState.highlightedValue);
|
|
1546
|
+
let highlightedIndex = state.options.findIndex((value2) => value2.value === internalState.highlightedValue);
|
|
1520
1547
|
if (highlightedIndex === -1) {
|
|
1521
1548
|
highlightedIndex = 0;
|
|
1522
1549
|
}
|
|
1523
|
-
const optionLength = options.length;
|
|
1550
|
+
const optionLength = state.options.length;
|
|
1524
1551
|
const startIndex = (highlightedIndex + delta % optionLength + optionLength) % optionLength;
|
|
1525
1552
|
const isForward = delta >= 0;
|
|
1526
|
-
let highlightedValue = options[startIndex].value;
|
|
1527
|
-
for (let i = 0; i < options.length; i++) {
|
|
1553
|
+
let highlightedValue = state.options[startIndex].value;
|
|
1554
|
+
for (let i = 0; i < state.options.length; i++) {
|
|
1528
1555
|
const index = (startIndex + (isForward ? i : -i) + optionLength) % optionLength;
|
|
1529
|
-
if (!options[index].disabled) {
|
|
1530
|
-
highlightedValue = options[index].value;
|
|
1556
|
+
if (!state.options[index].disabled) {
|
|
1557
|
+
highlightedValue = state.options[index].value;
|
|
1531
1558
|
break;
|
|
1532
1559
|
}
|
|
1533
1560
|
}
|
|
@@ -1538,9 +1565,9 @@ var SelectRoot = ({
|
|
|
1538
1565
|
};
|
|
1539
1566
|
useEffect9(() => {
|
|
1540
1567
|
if (!internalState.highlightedValue) return;
|
|
1541
|
-
const highlighted = options.find((value2) => value2.value === internalState.highlightedValue);
|
|
1568
|
+
const highlighted = internalState.options.find((value2) => value2.value === internalState.highlightedValue);
|
|
1542
1569
|
if (highlighted) {
|
|
1543
|
-
highlighted.ref.current
|
|
1570
|
+
highlighted.ref.current?.scrollIntoView({ behavior: "instant", block: "nearest" });
|
|
1544
1571
|
} else {
|
|
1545
1572
|
console.error(`SelectRoot: Could not find highlighted value (${internalState.highlightedValue})`);
|
|
1546
1573
|
}
|
|
@@ -1677,12 +1704,12 @@ var SelectButton = forwardRef4(function SelectButton2({ placeholder, selectedDis
|
|
|
1677
1704
|
props.onKeyDown?.(event);
|
|
1678
1705
|
switch (event.key) {
|
|
1679
1706
|
case "ArrowDown":
|
|
1680
|
-
toggleOpen(true, {
|
|
1707
|
+
toggleOpen(true, { highlightStartPositionBehavior: "first" });
|
|
1681
1708
|
event.preventDefault();
|
|
1682
1709
|
event.stopPropagation();
|
|
1683
1710
|
break;
|
|
1684
1711
|
case "ArrowUp":
|
|
1685
|
-
toggleOpen(true, {
|
|
1712
|
+
toggleOpen(true, { highlightStartPositionBehavior: "last" });
|
|
1686
1713
|
event.preventDefault();
|
|
1687
1714
|
event.stopPropagation();
|
|
1688
1715
|
break;
|
|
@@ -1776,10 +1803,10 @@ var SelectChipDisplay = forwardRef4(function SelectChipDisplay2({ ...props }, re
|
|
|
1776
1803
|
onKeyDown: (event) => {
|
|
1777
1804
|
switch (event.key) {
|
|
1778
1805
|
case "ArrowDown":
|
|
1779
|
-
toggleOpen(true, {
|
|
1806
|
+
toggleOpen(true, { highlightStartPositionBehavior: "first" });
|
|
1780
1807
|
break;
|
|
1781
1808
|
case "ArrowUp":
|
|
1782
|
-
toggleOpen(true, {
|
|
1809
|
+
toggleOpen(true, { highlightStartPositionBehavior: "last" });
|
|
1783
1810
|
}
|
|
1784
1811
|
},
|
|
1785
1812
|
size: "small",
|
|
@@ -1800,6 +1827,7 @@ var SelectContent = forwardRef4(
|
|
|
1800
1827
|
function SelectContent2({
|
|
1801
1828
|
alignment,
|
|
1802
1829
|
orientation = "vertical",
|
|
1830
|
+
containerClassName,
|
|
1803
1831
|
...props
|
|
1804
1832
|
}, ref) {
|
|
1805
1833
|
const innerRef = useRef4(null);
|
|
@@ -1816,76 +1844,83 @@ var SelectContent = forwardRef4(
|
|
|
1816
1844
|
active: state.isOpen && !!position
|
|
1817
1845
|
});
|
|
1818
1846
|
return createPortal2(
|
|
1819
|
-
/* @__PURE__ */ jsxs6(
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
{
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
vertical: "ArrowDown",
|
|
1844
|
-
horizontal: "ArrowUp"
|
|
1845
|
-
}):
|
|
1846
|
-
item.moveHighlightedIndex(1);
|
|
1847
|
-
event.preventDefault();
|
|
1848
|
-
break;
|
|
1849
|
-
case match(orientation, {
|
|
1850
|
-
vertical: "ArrowUp",
|
|
1851
|
-
horizontal: "ArrowDown"
|
|
1852
|
-
}):
|
|
1853
|
-
item.moveHighlightedIndex(-1);
|
|
1854
|
-
event.preventDefault();
|
|
1855
|
-
break;
|
|
1856
|
-
case "Home":
|
|
1857
|
-
event.preventDefault();
|
|
1858
|
-
break;
|
|
1859
|
-
case "End":
|
|
1860
|
-
event.preventDefault();
|
|
1861
|
-
break;
|
|
1862
|
-
case "Enter":
|
|
1863
|
-
// Fall through
|
|
1864
|
-
case " ":
|
|
1865
|
-
if (state.highlightedValue) {
|
|
1866
|
-
item.toggleSelection(state.highlightedValue);
|
|
1867
|
-
if (!config.isMultiSelect) {
|
|
1847
|
+
/* @__PURE__ */ jsxs6(
|
|
1848
|
+
"div",
|
|
1849
|
+
{
|
|
1850
|
+
id: `select-container-${state.id}`,
|
|
1851
|
+
className: clsx7("fixed inset-0 w-screen h-screen", containerClassName),
|
|
1852
|
+
hidden: !state.isOpen,
|
|
1853
|
+
children: [
|
|
1854
|
+
/* @__PURE__ */ jsx10(
|
|
1855
|
+
"div",
|
|
1856
|
+
{
|
|
1857
|
+
id: `select-background-${state.id}`,
|
|
1858
|
+
onClick: () => trigger.toggleOpen(false),
|
|
1859
|
+
className: clsx7("fixed inset-0 w-screen h-screen")
|
|
1860
|
+
}
|
|
1861
|
+
),
|
|
1862
|
+
/* @__PURE__ */ jsx10(
|
|
1863
|
+
"ul",
|
|
1864
|
+
{
|
|
1865
|
+
...props,
|
|
1866
|
+
id: `${state.id}-listbox`,
|
|
1867
|
+
ref: innerRef,
|
|
1868
|
+
onKeyDown: (event) => {
|
|
1869
|
+
switch (event.key) {
|
|
1870
|
+
case "Escape":
|
|
1868
1871
|
trigger.toggleOpen(false);
|
|
1869
|
-
|
|
1870
|
-
|
|
1872
|
+
event.preventDefault();
|
|
1873
|
+
event.stopPropagation();
|
|
1874
|
+
break;
|
|
1875
|
+
case match(orientation, {
|
|
1876
|
+
vertical: "ArrowDown",
|
|
1877
|
+
horizontal: "ArrowUp"
|
|
1878
|
+
}):
|
|
1879
|
+
item.moveHighlightedIndex(1);
|
|
1880
|
+
event.preventDefault();
|
|
1881
|
+
break;
|
|
1882
|
+
case match(orientation, {
|
|
1883
|
+
vertical: "ArrowUp",
|
|
1884
|
+
horizontal: "ArrowDown"
|
|
1885
|
+
}):
|
|
1886
|
+
item.moveHighlightedIndex(-1);
|
|
1887
|
+
event.preventDefault();
|
|
1888
|
+
break;
|
|
1889
|
+
case "Home":
|
|
1890
|
+
event.preventDefault();
|
|
1891
|
+
break;
|
|
1892
|
+
case "End":
|
|
1893
|
+
event.preventDefault();
|
|
1894
|
+
break;
|
|
1895
|
+
case "Enter":
|
|
1896
|
+
// Fall through
|
|
1897
|
+
case " ":
|
|
1898
|
+
if (state.highlightedValue) {
|
|
1899
|
+
item.toggleSelection(state.highlightedValue);
|
|
1900
|
+
if (!config.isMultiSelect) {
|
|
1901
|
+
trigger.toggleOpen(false);
|
|
1902
|
+
}
|
|
1903
|
+
event.preventDefault();
|
|
1904
|
+
}
|
|
1905
|
+
break;
|
|
1871
1906
|
}
|
|
1872
|
-
|
|
1907
|
+
},
|
|
1908
|
+
className: clsx7("flex-col-0 p-2 bg-menu-background text-menu-text rounded-md shadow-hw-bottom focus-style-within overflow-auto", props.className),
|
|
1909
|
+
style: {
|
|
1910
|
+
opacity: position ? void 0 : 0,
|
|
1911
|
+
position: "fixed",
|
|
1912
|
+
...position
|
|
1913
|
+
},
|
|
1914
|
+
role: "listbox",
|
|
1915
|
+
"aria-multiselectable": config.isMultiSelect,
|
|
1916
|
+
"aria-orientation": orientation,
|
|
1917
|
+
tabIndex: position ? 0 : void 0,
|
|
1918
|
+
children: props.children
|
|
1873
1919
|
}
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
position: "fixed",
|
|
1879
|
-
...position
|
|
1880
|
-
},
|
|
1881
|
-
role: "listbox",
|
|
1882
|
-
"aria-multiselectable": config.isMultiSelect,
|
|
1883
|
-
"aria-orientation": orientation,
|
|
1884
|
-
tabIndex: position ? 0 : void 0,
|
|
1885
|
-
children: props.children
|
|
1886
|
-
}
|
|
1887
|
-
)
|
|
1888
|
-
] }),
|
|
1920
|
+
)
|
|
1921
|
+
]
|
|
1922
|
+
}
|
|
1923
|
+
),
|
|
1889
1924
|
document.body
|
|
1890
1925
|
);
|
|
1891
1926
|
}
|
|
@@ -2039,7 +2074,7 @@ import { MonitorCog, MoonIcon, SunIcon } from "lucide-react";
|
|
|
2039
2074
|
import clsx8 from "clsx";
|
|
2040
2075
|
|
|
2041
2076
|
// src/theming/useTheme.tsx
|
|
2042
|
-
import { createContext as createContext3, useCallback as useCallback7, useContext as useContext3, useEffect as useEffect10, useMemo as
|
|
2077
|
+
import { createContext as createContext3, useCallback as useCallback7, useContext as useContext3, useEffect as useEffect10, useMemo as useMemo3, useState as useState11 } from "react";
|
|
2043
2078
|
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
2044
2079
|
var themes = ["light", "dark", "system"];
|
|
2045
2080
|
var defaultThemeTypeTranslation = {
|