opus-react 0.2.19 → 0.2.22
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/index.cjs +2252 -352
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +1172 -10
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +305 -8
- package/dist/index.d.ts +305 -8
- package/dist/index.js +2237 -353
- package/dist/index.js.map +1 -1
- package/package.json +4 -1
package/dist/index.js
CHANGED
|
@@ -427,7 +427,7 @@ var init_setupFireBarrelScene = __esm({
|
|
|
427
427
|
});
|
|
428
428
|
|
|
429
429
|
// ../../components/fields/Button/Button.module.css
|
|
430
|
-
var Button_default = {"
|
|
430
|
+
var Button_default = {"secondary":"opus_lZkc26_secondary","success":"opus_lZkc26_success","dark":"opus_lZkc26_dark","link":"opus_lZkc26_link","light":"opus_lZkc26_light","button":"opus_lZkc26_button","info":"opus_lZkc26_info","primary":"opus_lZkc26_primary","danger":"opus_lZkc26_danger","warning":"opus_lZkc26_warning"};
|
|
431
431
|
|
|
432
432
|
// ../../components/fields/Button/Button.tsx
|
|
433
433
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -459,7 +459,7 @@ import {
|
|
|
459
459
|
import { createPortal } from "react-dom";
|
|
460
460
|
|
|
461
461
|
// ../../components/Tooltip/Tooltip.module.css
|
|
462
|
-
var Tooltip_default = {"
|
|
462
|
+
var Tooltip_default = {"trigger":"opus_R70RbH_trigger","popup":"opus_R70RbH_popup","top":"opus_R70RbH_top","bottom":"opus_R70RbH_bottom","root":"opus_R70RbH_root","triggerWrap":"opus_R70RbH_triggerWrap","arrow":"opus_R70RbH_arrow","left":"opus_R70RbH_left","right":"opus_R70RbH_right"};
|
|
463
463
|
|
|
464
464
|
// ../../components/Tooltip/Tooltip.tsx
|
|
465
465
|
import { jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
@@ -628,7 +628,7 @@ function Tooltip({
|
|
|
628
628
|
}
|
|
629
629
|
|
|
630
630
|
// ../../components/fields/FieldShell/FieldShell.module.css
|
|
631
|
-
var FieldShell_default = {"
|
|
631
|
+
var FieldShell_default = {"labelRight":"opus_zNi12Z_labelRight","flagged":"opus_zNi12Z_flagged","stackedLeft":"opus_zNi12Z_stackedLeft","stacked":"opus_zNi12Z_stacked","stackedRight":"opus_zNi12Z_stackedRight","root":"opus_zNi12Z_root","compactControl":"opus_zNi12Z_compactControl","labelFlagged":"opus_zNi12Z_labelFlagged","errorFlagged":"opus_zNi12Z_errorFlagged","required":"opus_zNi12Z_required","label":"opus_zNi12Z_label","flaggedStart":"opus_zNi12Z_flaggedStart","labelLeft":"opus_zNi12Z_labelLeft","control":"opus_zNi12Z_control","flaggedCenter":"opus_zNi12Z_flaggedCenter","error":"opus_zNi12Z_error","visuallyHidden":"opus_zNi12Z_visuallyHidden","fitContent":"opus_zNi12Z_fitContent","controlFlagged":"opus_zNi12Z_controlFlagged"};
|
|
632
632
|
|
|
633
633
|
// ../../components/fields/FieldShell/FieldShell.tsx
|
|
634
634
|
import { Fragment, jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
@@ -753,7 +753,7 @@ function FieldShell({
|
|
|
753
753
|
}
|
|
754
754
|
|
|
755
755
|
// ../../components/fields/CheckboxField/CheckboxField.module.css
|
|
756
|
-
var CheckboxField_default = {"
|
|
756
|
+
var CheckboxField_default = {"round":"opus_g-5tlR_round","shell":"opus_g-5tlR_shell","square":"opus_g-5tlR_square","nativeInput":"opus_g-5tlR_nativeInput","error":"opus_g-5tlR_error","toggle":"opus_g-5tlR_toggle","visual":"opus_g-5tlR_visual"};
|
|
757
757
|
|
|
758
758
|
// ../../components/fields/CheckboxField/CheckboxField.tsx
|
|
759
759
|
import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
@@ -810,7 +810,7 @@ function CheckboxField({
|
|
|
810
810
|
}
|
|
811
811
|
|
|
812
812
|
// ../../components/fields/ColorField/ColorField.module.css
|
|
813
|
-
var ColorField_default = {"picker":"opus_Z7jeX4_picker","swatch":"opus_Z7jeX4_swatch","
|
|
813
|
+
var ColorField_default = {"picker":"opus_Z7jeX4_picker","swatch":"opus_Z7jeX4_swatch","nativeInput":"opus_Z7jeX4_nativeInput","value":"opus_Z7jeX4_value","icon":"opus_Z7jeX4_icon","error":"opus_Z7jeX4_error"};
|
|
814
814
|
|
|
815
815
|
// ../../components/fields/ColorField/ColorField.tsx
|
|
816
816
|
import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
@@ -860,7 +860,7 @@ function ColorField({
|
|
|
860
860
|
}
|
|
861
861
|
|
|
862
862
|
// ../../components/fields/DateField/DateField.module.css
|
|
863
|
-
var DateField_default = {"
|
|
863
|
+
var DateField_default = {"input":"opus_G3y11z_input","error":"opus_G3y11z_error"};
|
|
864
864
|
|
|
865
865
|
// ../../components/fields/DateField/DateField.tsx
|
|
866
866
|
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
@@ -951,7 +951,7 @@ function HiddenField({
|
|
|
951
951
|
}
|
|
952
952
|
|
|
953
953
|
// ../../components/fields/FileField/FileField.module.css
|
|
954
|
-
var FileField_default = {"
|
|
954
|
+
var FileField_default = {"icon":"opus_aOsPA7_icon","footnote":"opus_aOsPA7_footnote","content":"opus_aOsPA7_content","dragging":"opus_aOsPA7_dragging","iconSvg":"opus_aOsPA7_iconSvg","action":"opus_aOsPA7_action","input":"opus_aOsPA7_input","dropError":"opus_aOsPA7_dropError","drop":"opus_aOsPA7_drop","wrapper":"opus_aOsPA7_wrapper","title":"opus_aOsPA7_title","hint":"opus_aOsPA7_hint"};
|
|
955
955
|
|
|
956
956
|
// ../../components/fields/FileField/FileField.tsx
|
|
957
957
|
import {
|
|
@@ -1259,7 +1259,7 @@ function NumberField({
|
|
|
1259
1259
|
import { createContext as createContext2, useContext as useContext2, useId as useId2 } from "react";
|
|
1260
1260
|
|
|
1261
1261
|
// ../../components/fields/RadioGroup/RadioGroup.module.css
|
|
1262
|
-
var RadioGroup_default = {"
|
|
1262
|
+
var RadioGroup_default = {"choice":"opus_O-1nor_choice","square":"opus_O-1nor_square","option":"opus_O-1nor_option","options":"opus_O-1nor_options","nativeInput":"opus_O-1nor_nativeInput","error":"opus_O-1nor_error","round":"opus_O-1nor_round","visual":"opus_O-1nor_visual","shell":"opus_O-1nor_shell"};
|
|
1263
1263
|
|
|
1264
1264
|
// ../../components/fields/RadioGroup/RadioGroup.tsx
|
|
1265
1265
|
import { jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
@@ -1356,7 +1356,7 @@ function Radio({ children, error, name, shape, value, defaultChecked }) {
|
|
|
1356
1356
|
import { useId as useId3, useRef as useRef3, useState as useState4 } from "react";
|
|
1357
1357
|
|
|
1358
1358
|
// ../../components/fields/ChipInputField/ChipInputField.module.css
|
|
1359
|
-
var ChipInputField_default = {"remove":"opus_IOOYwh_remove","
|
|
1359
|
+
var ChipInputField_default = {"remove":"opus_IOOYwh_remove","field":"opus_IOOYwh_field","shell":"opus_IOOYwh_shell","error":"opus_IOOYwh_error","input":"opus_IOOYwh_input","readOnly":"opus_IOOYwh_readOnly","chipLabel":"opus_IOOYwh_chipLabel","disabled":"opus_IOOYwh_disabled","chip":"opus_IOOYwh_chip"};
|
|
1360
1360
|
|
|
1361
1361
|
// ../../components/fields/ChipInputField/ChipInputField.tsx
|
|
1362
1362
|
import { jsx as jsx11, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
@@ -1492,7 +1492,7 @@ function ChipInput({
|
|
|
1492
1492
|
var ChipInputField = ChipInput;
|
|
1493
1493
|
|
|
1494
1494
|
// ../../components/fields/RangeField/RangeField.module.css
|
|
1495
|
-
var RangeField_default = {"
|
|
1495
|
+
var RangeField_default = {"value":"opus_iRHQuG_value","slider":"opus_iRHQuG_slider","error":"opus_iRHQuG_error","fieldLabel":"opus_iRHQuG_fieldLabel","topRow":"opus_iRHQuG_topRow","wrap":"opus_iRHQuG_wrap","footer":"opus_iRHQuG_footer"};
|
|
1496
1496
|
|
|
1497
1497
|
// ../../components/fields/RangeField/RangeField.tsx
|
|
1498
1498
|
import { jsx as jsx12, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
@@ -1664,7 +1664,7 @@ function SwitchField({
|
|
|
1664
1664
|
import { useId as useId4 } from "react";
|
|
1665
1665
|
|
|
1666
1666
|
// ../../components/fields/TextAreaField/TextAreaField.module.css
|
|
1667
|
-
var TextAreaField_default = {"
|
|
1667
|
+
var TextAreaField_default = {"externalCount":"opus_FjhWmh_externalCount","inlineCount":"opus_FjhWmh_inlineCount","field":"opus_FjhWmh_field","withCount":"opus_FjhWmh_withCount","footer":"opus_FjhWmh_footer","inputWrap":"opus_FjhWmh_inputWrap","footerError":"opus_FjhWmh_footerError","textarea":"opus_FjhWmh_textarea","error":"opus_FjhWmh_error"};
|
|
1668
1668
|
|
|
1669
1669
|
// ../../components/fields/TextAreaField/TextAreaField.tsx
|
|
1670
1670
|
import { jsx as jsx15, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
@@ -1774,7 +1774,7 @@ import {
|
|
|
1774
1774
|
} from "@fortawesome/free-solid-svg-icons";
|
|
1775
1775
|
|
|
1776
1776
|
// ../../components/fields/RichTextField/RichTextField.module.css
|
|
1777
|
-
var RichTextField_default = {"modalActions":"opus_6HFqZH_modalActions","
|
|
1777
|
+
var RichTextField_default = {"modalActions":"opus_6HFqZH_modalActions","modalCancel":"opus_6HFqZH_modalCancel","modalConfirm":"opus_6HFqZH_modalConfirm","field":"opus_6HFqZH_field","readOnly":"opus_6HFqZH_readOnly","modalOverlay":"opus_6HFqZH_modalOverlay","editor":"opus_6HFqZH_editor","modalDimensionField":"opus_6HFqZH_modalDimensionField","divider":"opus_6HFqZH_divider","modalField":"opus_6HFqZH_modalField","toolbarButton":"opus_6HFqZH_toolbarButton","toolbar":"opus_6HFqZH_toolbar","blockSelect":"opus_6HFqZH_blockSelect","modalTitle":"opus_6HFqZH_modalTitle","modalLabel":"opus_6HFqZH_modalLabel","modalInput":"opus_6HFqZH_modalInput","modalDimensions":"opus_6HFqZH_modalDimensions","modalTimes":"opus_6HFqZH_modalTimes","error":"opus_6HFqZH_error","colorInput":"opus_6HFqZH_colorInput","modal":"opus_6HFqZH_modal","editorShell":"opus_6HFqZH_editorShell","toolbarIcon":"opus_6HFqZH_toolbarIcon","toolbarButtonActive":"opus_6HFqZH_toolbarButtonActive","colorSwatch":"opus_6HFqZH_colorSwatch","modalNumber":"opus_6HFqZH_modalNumber"};
|
|
1778
1778
|
|
|
1779
1779
|
// ../../components/fields/RichTextField/RichTextField.tsx
|
|
1780
1780
|
import { jsx as jsx16, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
@@ -2422,7 +2422,7 @@ import { useState as useState6 } from "react";
|
|
|
2422
2422
|
var TextField_default = {"input":"opus_SOck2f_input","error":"opus_SOck2f_error"};
|
|
2423
2423
|
|
|
2424
2424
|
// ../../components/fields/shared/fieldControl.module.css
|
|
2425
|
-
var fieldControl_default = {"
|
|
2425
|
+
var fieldControl_default = {"actionButtonPrimary":"opus_1Q5xBh_actionButtonPrimary","actionButton":"opus_1Q5xBh_actionButton","passwordWrap":"opus_1Q5xBh_passwordWrap","passwordToggle":"opus_1Q5xBh_passwordToggle","triggerOpen":"opus_1Q5xBh_triggerOpen","triggerError":"opus_1Q5xBh_triggerError","passwordInput":"opus_1Q5xBh_passwordInput","trigger":"opus_1Q5xBh_trigger","groupLabel":"opus_1Q5xBh_groupLabel","option":"opus_1Q5xBh_option","panelFooter":"opus_1Q5xBh_panelFooter","passwordToggleSlot":"opus_1Q5xBh_passwordToggleSlot","chevron":"opus_1Q5xBh_chevron","search":"opus_1Q5xBh_search","list":"opus_1Q5xBh_list","input":"opus_1Q5xBh_input","panel":"opus_1Q5xBh_panel","error":"opus_1Q5xBh_error","placeholder":"opus_1Q5xBh_placeholder"};
|
|
2426
2426
|
|
|
2427
2427
|
// ../../components/fields/shared/PasswordToggle.tsx
|
|
2428
2428
|
import { FontAwesomeIcon as FontAwesomeIcon2 } from "@fortawesome/react-fontawesome";
|
|
@@ -2505,12 +2505,13 @@ import { FontAwesomeIcon as FontAwesomeIcon3 } from "@fortawesome/react-fontawes
|
|
|
2505
2505
|
import { faMoon, faSun } from "@fortawesome/free-solid-svg-icons";
|
|
2506
2506
|
|
|
2507
2507
|
// ../../components/fields/ThemeToggleField/ThemeToggleField.module.css
|
|
2508
|
-
var ThemeToggleField_default = {"toggle":"opus_SwerMA_toggle","indicator":"opus_SwerMA_indicator","
|
|
2508
|
+
var ThemeToggleField_default = {"toggle":"opus_SwerMA_toggle","indicator":"opus_SwerMA_indicator","option":"opus_SwerMA_option","active":"opus_SwerMA_active"};
|
|
2509
2509
|
|
|
2510
2510
|
// ../../components/fields/ThemeToggleField/ThemeToggleField.tsx
|
|
2511
2511
|
import { jsx as jsx19, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
2512
2512
|
function ThemeToggleField({
|
|
2513
2513
|
className,
|
|
2514
|
+
help,
|
|
2514
2515
|
id,
|
|
2515
2516
|
label = "Theme",
|
|
2516
2517
|
labelPosition = "left",
|
|
@@ -2525,6 +2526,7 @@ function ThemeToggleField({
|
|
|
2525
2526
|
className,
|
|
2526
2527
|
fitContent: true,
|
|
2527
2528
|
flaggedAlign: "center",
|
|
2529
|
+
help,
|
|
2528
2530
|
id,
|
|
2529
2531
|
label,
|
|
2530
2532
|
labelPosition,
|
|
@@ -2836,7 +2838,7 @@ function MultiSelectField({
|
|
|
2836
2838
|
import { useState as useState9 } from "react";
|
|
2837
2839
|
|
|
2838
2840
|
// ../../components/fields/TransferListField/TransferListField.module.css
|
|
2839
|
-
var TransferListField_default = {"
|
|
2841
|
+
var TransferListField_default = {"list":"opus_NPBFZk_list","controls":"opus_NPBFZk_controls","root":"opus_NPBFZk_root","column":"opus_NPBFZk_column","columnHeader":"opus_NPBFZk_columnHeader","controlButton":"opus_NPBFZk_controlButton","itemActive":"opus_NPBFZk_itemActive","item":"opus_NPBFZk_item"};
|
|
2840
2842
|
|
|
2841
2843
|
// ../../components/fields/TransferListField/TransferListField.tsx
|
|
2842
2844
|
import { jsx as jsx22, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
@@ -2956,7 +2958,7 @@ import { FontAwesomeIcon as FontAwesomeIcon4 } from "@fortawesome/react-fontawes
|
|
|
2956
2958
|
import { faCheck, faXmark } from "@fortawesome/free-solid-svg-icons";
|
|
2957
2959
|
|
|
2958
2960
|
// ../../components/fields/PasswordStrengthField/PasswordStrengthField.module.css
|
|
2959
|
-
var PasswordStrengthField_default = {"
|
|
2961
|
+
var PasswordStrengthField_default = {"meterLabel":"opus_S1A372_meterLabel","meterWrap":"opus_S1A372_meterWrap","meterFill":"opus_S1A372_meterFill","requirementIcon":"opus_S1A372_requirementIcon","root":"opus_S1A372_root","requirements":"opus_S1A372_requirements","requirement":"opus_S1A372_requirement","requirementMet":"opus_S1A372_requirementMet","meterTrack":"opus_S1A372_meterTrack"};
|
|
2960
2962
|
|
|
2961
2963
|
// ../../components/fields/PasswordStrengthField/PasswordStrengthField.tsx
|
|
2962
2964
|
import { jsx as jsx23, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
@@ -3064,7 +3066,7 @@ function PasswordStrengthField({
|
|
|
3064
3066
|
}
|
|
3065
3067
|
|
|
3066
3068
|
// ../../components/fields/RatingField/RatingField.module.css
|
|
3067
|
-
var RatingField_default = {"
|
|
3069
|
+
var RatingField_default = {"numeric":"opus_0tdNUz_numeric","symbol":"opus_0tdNUz_symbol","symbolActive":"opus_0tdNUz_symbolActive","root":"opus_0tdNUz_root","numericActive":"opus_0tdNUz_numericActive"};
|
|
3068
3070
|
|
|
3069
3071
|
// ../../components/fields/RatingField/RatingField.tsx
|
|
3070
3072
|
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
@@ -3139,7 +3141,7 @@ function RatingField({
|
|
|
3139
3141
|
}
|
|
3140
3142
|
|
|
3141
3143
|
// ../../components/fields/SegmentedControlField/SegmentedControlField.module.css
|
|
3142
|
-
var SegmentedControlField_default = {"
|
|
3144
|
+
var SegmentedControlField_default = {"segment":"opus_ZHwfiN_segment","root":"opus_ZHwfiN_root","segmentActive":"opus_ZHwfiN_segmentActive"};
|
|
3143
3145
|
|
|
3144
3146
|
// ../../components/fields/SegmentedControlField/SegmentedControlField.tsx
|
|
3145
3147
|
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
@@ -3194,7 +3196,7 @@ function SegmentedControlField({
|
|
|
3194
3196
|
import { useMemo as useMemo5 } from "react";
|
|
3195
3197
|
|
|
3196
3198
|
// ../../components/fields/SliderRangeField/SliderRangeField.module.css
|
|
3197
|
-
var SliderRangeField_default = {"
|
|
3199
|
+
var SliderRangeField_default = {"root":"opus_k3d0sS_root","slider":"opus_k3d0sS_slider","track":"opus_k3d0sS_track","header":"opus_k3d0sS_header","value":"opus_k3d0sS_value","trackWrap":"opus_k3d0sS_trackWrap","footer":"opus_k3d0sS_footer"};
|
|
3198
3200
|
|
|
3199
3201
|
// ../../components/fields/SliderRangeField/SliderRangeField.tsx
|
|
3200
3202
|
import { jsx as jsx26, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
@@ -3291,7 +3293,7 @@ function SliderRangeField({
|
|
|
3291
3293
|
import { useEffect as useEffect6, useMemo as useMemo6, useRef as useRef7, useState as useState11 } from "react";
|
|
3292
3294
|
|
|
3293
3295
|
// ../../components/fields/PhoneNumberField/PhoneNumberField.module.css
|
|
3294
|
-
var PhoneNumberField_default = {"
|
|
3296
|
+
var PhoneNumberField_default = {"root":"opus_WC4gnN_root","countryValue":"opus_WC4gnN_countryValue","panel":"opus_WC4gnN_panel","code":"opus_WC4gnN_code","optionActive":"opus_WC4gnN_optionActive","flag":"opus_WC4gnN_flag","option":"opus_WC4gnN_option","optionLabel":"opus_WC4gnN_optionLabel","optionDial":"opus_WC4gnN_optionDial","chevron":"opus_WC4gnN_chevron","countryWrap":"opus_WC4gnN_countryWrap","country":"opus_WC4gnN_country","dial":"opus_WC4gnN_dial","empty":"opus_WC4gnN_empty"};
|
|
3295
3297
|
|
|
3296
3298
|
// ../../components/fields/PhoneNumberField/countries.ts
|
|
3297
3299
|
function countryCodeToFlag(code) {
|
|
@@ -3694,7 +3696,7 @@ function PhoneNumberField({
|
|
|
3694
3696
|
import { useEffect as useEffect7, useMemo as useMemo7, useRef as useRef8, useState as useState12 } from "react";
|
|
3695
3697
|
|
|
3696
3698
|
// ../../components/fields/CountryPickerField/CountryPickerField.module.css
|
|
3697
|
-
var CountryPickerField_default = {"triggerValue":"opus_O7qqfR_triggerValue","
|
|
3699
|
+
var CountryPickerField_default = {"triggerValue":"opus_O7qqfR_triggerValue","root":"opus_O7qqfR_root","flag":"opus_O7qqfR_flag","optionActive":"opus_O7qqfR_optionActive","optionLabel":"opus_O7qqfR_optionLabel","empty":"opus_O7qqfR_empty","optionCode":"opus_O7qqfR_optionCode","option":"opus_O7qqfR_option"};
|
|
3698
3700
|
|
|
3699
3701
|
// ../../components/fields/CountryPickerField/CountryPickerField.tsx
|
|
3700
3702
|
import { jsx as jsx28, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
@@ -3850,7 +3852,7 @@ function CountryPickerField({
|
|
|
3850
3852
|
import { useEffect as useEffect8, useMemo as useMemo8, useRef as useRef9, useState as useState13 } from "react";
|
|
3851
3853
|
|
|
3852
3854
|
// ../../components/fields/TreeSelectField/TreeSelectField.module.css
|
|
3853
|
-
var TreeSelectField_default = {"
|
|
3855
|
+
var TreeSelectField_default = {"treeOptionActive":"opus_Mq6C00_treeOptionActive","treeOption":"opus_Mq6C00_treeOption","root":"opus_Mq6C00_root"};
|
|
3854
3856
|
|
|
3855
3857
|
// ../../components/fields/TreeSelectField/TreeSelectField.tsx
|
|
3856
3858
|
import { Fragment as Fragment3, jsx as jsx29, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
@@ -3979,7 +3981,7 @@ function TreeSelectField({
|
|
|
3979
3981
|
import { useEffect as useEffect9, useMemo as useMemo9, useRef as useRef10, useState as useState14 } from "react";
|
|
3980
3982
|
|
|
3981
3983
|
// ../../components/fields/CascaderField/CascaderField.module.css
|
|
3982
|
-
var CascaderField_default = {"root":"opus_1Fg59A_root","
|
|
3984
|
+
var CascaderField_default = {"option":"opus_1Fg59A_option","root":"opus_1Fg59A_root","panel":"opus_1Fg59A_panel","optionActive":"opus_1Fg59A_optionActive","column":"opus_1Fg59A_column"};
|
|
3983
3985
|
|
|
3984
3986
|
// ../../components/fields/CascaderField/CascaderField.tsx
|
|
3985
3987
|
import { jsx as jsx30, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
@@ -4182,7 +4184,7 @@ function OpusThemeProvider({
|
|
|
4182
4184
|
}
|
|
4183
4185
|
|
|
4184
4186
|
// ../../components/Alert/Alert.module.css
|
|
4185
|
-
var Alert_default = {"
|
|
4187
|
+
var Alert_default = {"icon":"opus_eh3eeT_icon","dismiss":"opus_eh3eeT_dismiss","dismissIcon":"opus_eh3eeT_dismissIcon","content":"opus_eh3eeT_content","iconMark":"opus_eh3eeT_iconMark","title":"opus_eh3eeT_title","description":"opus_eh3eeT_description","alert":"opus_eh3eeT_alert","iconSvg":"opus_eh3eeT_iconSvg","iconFlagged":"opus_eh3eeT_iconFlagged"};
|
|
4186
4188
|
|
|
4187
4189
|
// ../../components/Alert/Alert.tsx
|
|
4188
4190
|
import { jsx as jsx33, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
@@ -4331,7 +4333,7 @@ function useOverlayAccessibility(active, containerRef, {
|
|
|
4331
4333
|
}
|
|
4332
4334
|
|
|
4333
4335
|
// ../../components/Dialog/Dialog.module.css
|
|
4334
|
-
var Dialog_default = {"backdrop":"opus_sz-ZGI_backdrop","backdropIn":"opus_sz-ZGI_backdropIn","
|
|
4336
|
+
var Dialog_default = {"backdrop":"opus_sz-ZGI_backdrop","visuallyHidden":"opus_sz-ZGI_visuallyHidden","backdropIn":"opus_sz-ZGI_backdropIn","dialogOut":"opus_sz-ZGI_dialogOut","dialogIn":"opus_sz-ZGI_dialogIn","body":"opus_sz-ZGI_body","iconMark":"opus_sz-ZGI_iconMark","content":"opus_sz-ZGI_content","dialog":"opus_sz-ZGI_dialog","iconSvg":"opus_sz-ZGI_iconSvg","actions":"opus_sz-ZGI_actions","backdropOut":"opus_sz-ZGI_backdropOut","title":"opus_sz-ZGI_title","description":"opus_sz-ZGI_description","icon":"opus_sz-ZGI_icon"};
|
|
4335
4337
|
|
|
4336
4338
|
// ../../components/Dialog/Dialog.tsx
|
|
4337
4339
|
import { jsx as jsx34, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
@@ -4462,7 +4464,7 @@ function Dialog({
|
|
|
4462
4464
|
import { useEffect as useEffect13, useId as useId6, useRef as useRef13, useState as useState16 } from "react";
|
|
4463
4465
|
|
|
4464
4466
|
// ../../components/Modal/Modal.module.css
|
|
4465
|
-
var Modal_default = {"
|
|
4467
|
+
var Modal_default = {"backdrop":"opus_LQbzGS_backdrop","footer":"opus_LQbzGS_footer","close":"opus_LQbzGS_close","modalBackdropIn":"opus_LQbzGS_modalBackdropIn","header":"opus_LQbzGS_header","modalPanelOut":"opus_LQbzGS_modalPanelOut","actions":"opus_LQbzGS_actions","body":"opus_LQbzGS_body","footerContent":"opus_LQbzGS_footerContent","closeIcon":"opus_LQbzGS_closeIcon","title":"opus_LQbzGS_title","modalPanelIn":"opus_LQbzGS_modalPanelIn","modalBackdropOut":"opus_LQbzGS_modalBackdropOut","modal":"opus_LQbzGS_modal","heading":"opus_LQbzGS_heading","description":"opus_LQbzGS_description"};
|
|
4466
4468
|
|
|
4467
4469
|
// ../../components/Modal/Modal.tsx
|
|
4468
4470
|
import { Fragment as Fragment4, jsx as jsx35, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
@@ -4593,7 +4595,7 @@ function ModalDefaultActions({ onClose }) {
|
|
|
4593
4595
|
import { useEffect as useEffect14, useId as useId7, useRef as useRef14, useState as useState17 } from "react";
|
|
4594
4596
|
|
|
4595
4597
|
// ../../components/Drawer/Drawer.module.css
|
|
4596
|
-
var Drawer_default = {"
|
|
4598
|
+
var Drawer_default = {"drawerOutTop":"opus_0CaGbZ_drawerOutTop","footer":"opus_0CaGbZ_footer","drawerOutRight":"opus_0CaGbZ_drawerOutRight","backdrop":"opus_0CaGbZ_backdrop","drawer":"opus_0CaGbZ_drawer","title":"opus_0CaGbZ_title","drawerInRight":"opus_0CaGbZ_drawerInRight","description":"opus_0CaGbZ_description","heading":"opus_0CaGbZ_heading","drawerBackdropIn":"opus_0CaGbZ_drawerBackdropIn","drawerOutBottom":"opus_0CaGbZ_drawerOutBottom","closeIcon":"opus_0CaGbZ_closeIcon","actions":"opus_0CaGbZ_actions","drawerInLeft":"opus_0CaGbZ_drawerInLeft","drawerOutLeft":"opus_0CaGbZ_drawerOutLeft","body":"opus_0CaGbZ_body","header":"opus_0CaGbZ_header","close":"opus_0CaGbZ_close","drawerInBottom":"opus_0CaGbZ_drawerInBottom","footerContent":"opus_0CaGbZ_footerContent","drawerBackdropOut":"opus_0CaGbZ_drawerBackdropOut","drawerInTop":"opus_0CaGbZ_drawerInTop"};
|
|
4597
4599
|
|
|
4598
4600
|
// ../../components/Drawer/Drawer.tsx
|
|
4599
4601
|
import { Fragment as Fragment5, jsx as jsx36, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
@@ -4733,7 +4735,7 @@ import {
|
|
|
4733
4735
|
} from "react";
|
|
4734
4736
|
|
|
4735
4737
|
// ../../components/Popover/Popover.module.css
|
|
4736
|
-
var Popover_default = {"
|
|
4738
|
+
var Popover_default = {"popoverIn":"opus_yq4OU0_popoverIn","panel":"opus_yq4OU0_panel","title":"opus_yq4OU0_title","content":"opus_yq4OU0_content","root":"opus_yq4OU0_root","arrow":"opus_yq4OU0_arrow"};
|
|
4737
4739
|
|
|
4738
4740
|
// ../../components/Popover/Popover.tsx
|
|
4739
4741
|
import { jsx as jsx37, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
@@ -4900,7 +4902,7 @@ function resolveMegaMenuPortalStyle(root, inTopNavigation) {
|
|
|
4900
4902
|
}
|
|
4901
4903
|
|
|
4902
4904
|
// ../../components/MegaMenu/MegaMenu.module.css
|
|
4903
|
-
var MegaMenu_default = {"
|
|
4905
|
+
var MegaMenu_default = {"megaMenuOut":"opus_Y_ikQV_megaMenuOut","root":"opus_Y_ikQV_root","panelContent":"opus_Y_ikQV_panelContent","items":"opus_Y_ikQV_items","panel":"opus_Y_ikQV_panel","eyebrow":"opus_Y_ikQV_eyebrow","sections":"opus_Y_ikQV_sections","featuredAction":"opus_Y_ikQV_featuredAction","megaMenuIn":"opus_Y_ikQV_megaMenuIn","featured":"opus_Y_ikQV_featured","section":"opus_Y_ikQV_section","item":"opus_Y_ikQV_item","itemIcon":"opus_Y_ikQV_itemIcon","trigger":"opus_Y_ikQV_trigger","menuBar":"opus_Y_ikQV_menuBar","itemCopy":"opus_Y_ikQV_itemCopy"};
|
|
4904
4906
|
|
|
4905
4907
|
// ../../components/MegaMenu/MegaMenu.tsx
|
|
4906
4908
|
import { jsx as jsx38, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
@@ -5343,7 +5345,7 @@ function MegaMenu({
|
|
|
5343
5345
|
}
|
|
5344
5346
|
|
|
5345
5347
|
// ../../components/TopNavigation/TopNavigation.module.css
|
|
5346
|
-
var TopNavigation_default = {"
|
|
5348
|
+
var TopNavigation_default = {"nav":"opus_OIomR6_nav","menuSlotMega":"opus_OIomR6_menuSlotMega","menuSlot":"opus_OIomR6_menuSlot","menuTrigger":"opus_OIomR6_menuTrigger","bar":"opus_OIomR6_bar"};
|
|
5347
5349
|
|
|
5348
5350
|
// ../../components/TopNavigation/TopNavigation.tsx
|
|
5349
5351
|
import { Fragment as Fragment6, jsx as jsx39 } from "react/jsx-runtime";
|
|
@@ -5700,7 +5702,7 @@ function handleMenuKeyDown(event, menu, onEscape) {
|
|
|
5700
5702
|
}
|
|
5701
5703
|
|
|
5702
5704
|
// ../../components/DropdownMenu/DropdownMenu.module.css
|
|
5703
|
-
var DropdownMenu_default = {"
|
|
5705
|
+
var DropdownMenu_default = {"dropdownOut":"opus_UUVDVQ_dropdownOut","root":"opus_UUVDVQ_root","dropdownIn":"opus_UUVDVQ_dropdownIn","shortcut":"opus_UUVDVQ_shortcut","icon":"opus_UUVDVQ_icon","item":"opus_UUVDVQ_item","menu":"opus_UUVDVQ_menu","label":"opus_UUVDVQ_label"};
|
|
5704
5706
|
|
|
5705
5707
|
// ../../components/DropdownMenu/DropdownMenu.tsx
|
|
5706
5708
|
import { jsx as jsx40, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
@@ -6040,7 +6042,7 @@ import {
|
|
|
6040
6042
|
import { createPortal as createPortal4 } from "react-dom";
|
|
6041
6043
|
|
|
6042
6044
|
// ../../components/ContextMenu/ContextMenu.module.css
|
|
6043
|
-
var ContextMenu_default = {"
|
|
6045
|
+
var ContextMenu_default = {"contextMenuBackdropIn":"opus_nMhhae_contextMenuBackdropIn","menu":"opus_nMhhae_menu","contextMenuIn":"opus_nMhhae_contextMenuIn","layer":"opus_nMhhae_layer","target":"opus_nMhhae_target","backdrop":"opus_nMhhae_backdrop"};
|
|
6044
6046
|
|
|
6045
6047
|
// ../../components/ContextMenu/ContextMenuProvider.tsx
|
|
6046
6048
|
import { jsx as jsx41, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
@@ -6351,7 +6353,7 @@ import { faMagnifyingGlass } from "@fortawesome/free-solid-svg-icons";
|
|
|
6351
6353
|
import { FontAwesomeIcon as FontAwesomeIcon5 } from "@fortawesome/react-fontawesome";
|
|
6352
6354
|
|
|
6353
6355
|
// ../../components/CommandPalette/CommandPalette.module.css
|
|
6354
|
-
var CommandPalette_default = {"
|
|
6356
|
+
var CommandPalette_default = {"searchIcon":"opus_k1ypuy_searchIcon","itemLabel":"opus_k1ypuy_itemLabel","searchInput":"opus_k1ypuy_searchInput","commandPalettePanelIn":"opus_k1ypuy_commandPalettePanelIn","footer":"opus_k1ypuy_footer","shortcut":"opus_k1ypuy_shortcut","commandPalettePanelOut":"opus_k1ypuy_commandPalettePanelOut","empty":"opus_k1ypuy_empty","commandPaletteBackdropOut":"opus_k1ypuy_commandPaletteBackdropOut","visuallyHidden":"opus_k1ypuy_visuallyHidden","itemDescription":"opus_k1ypuy_itemDescription","panel":"opus_k1ypuy_panel","itemMain":"opus_k1ypuy_itemMain","item":"opus_k1ypuy_item","backdrop":"opus_k1ypuy_backdrop","results":"opus_k1ypuy_results","group":"opus_k1ypuy_group","searchIconSvg":"opus_k1ypuy_searchIconSvg","groupLabel":"opus_k1ypuy_groupLabel","commandPaletteBackdropIn":"opus_k1ypuy_commandPaletteBackdropIn","searchWrap":"opus_k1ypuy_searchWrap"};
|
|
6355
6357
|
|
|
6356
6358
|
// ../../components/CommandPalette/CommandPalette.tsx
|
|
6357
6359
|
import { jsx as jsx42, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
@@ -6691,7 +6693,7 @@ function AccordionGroup({
|
|
|
6691
6693
|
}
|
|
6692
6694
|
|
|
6693
6695
|
// ../../components/Accordion/Accordion.module.css
|
|
6694
|
-
var Accordion_default = {"
|
|
6696
|
+
var Accordion_default = {"content":"opus_WNZQMV_content","panelInner":"opus_WNZQMV_panelInner","standalone":"opus_WNZQMV_standalone","triggerLabel":"opus_WNZQMV_triggerLabel","panel":"opus_WNZQMV_panel","trigger":"opus_WNZQMV_trigger","chevron":"opus_WNZQMV_chevron","item":"opus_WNZQMV_item"};
|
|
6695
6697
|
|
|
6696
6698
|
// ../../components/Accordion/Accordion.tsx
|
|
6697
6699
|
import { jsx as jsx44, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
@@ -6784,7 +6786,7 @@ import {
|
|
|
6784
6786
|
} from "react";
|
|
6785
6787
|
|
|
6786
6788
|
// ../../components/ShowMore/ShowMore.module.css
|
|
6787
|
-
var ShowMore_default = {"toggleLabel":"opus_dSk-ve_toggleLabel","
|
|
6789
|
+
var ShowMore_default = {"toggleLabel":"opus_dSk-ve_toggleLabel","chevron":"opus_dSk-ve_chevron","root":"opus_dSk-ve_root","toggle":"opus_dSk-ve_toggle","inner":"opus_dSk-ve_inner","contentShell":"opus_dSk-ve_contentShell","showMoreLabelIn":"opus_dSk-ve_showMoreLabelIn"};
|
|
6788
6790
|
|
|
6789
6791
|
// ../../components/ShowMore/ShowMore.tsx
|
|
6790
6792
|
import { jsx as jsx45, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
@@ -6888,7 +6890,7 @@ function ShowMore({
|
|
|
6888
6890
|
}
|
|
6889
6891
|
|
|
6890
6892
|
// ../../components/Toast/Toast.module.css
|
|
6891
|
-
var Toast_default = {"
|
|
6893
|
+
var Toast_default = {"main":"opus_cklQPW_main","title":"opus_cklQPW_title","progressBar":"opus_cklQPW_progressBar","toastProgress":"opus_cklQPW_toastProgress","description":"opus_cklQPW_description","iconMark":"opus_cklQPW_iconMark","toast":"opus_cklQPW_toast","dismiss":"opus_cklQPW_dismiss","progressTrack":"opus_cklQPW_progressTrack","content":"opus_cklQPW_content","icon":"opus_cklQPW_icon","body":"opus_cklQPW_body","dismissIcon":"opus_cklQPW_dismissIcon","iconSvg":"opus_cklQPW_iconSvg"};
|
|
6892
6894
|
|
|
6893
6895
|
// ../../components/Toast/Toast.tsx
|
|
6894
6896
|
import { jsx as jsx46, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
@@ -6968,7 +6970,7 @@ import {
|
|
|
6968
6970
|
} from "react";
|
|
6969
6971
|
|
|
6970
6972
|
// ../../components/ToastProvider/ToastProvider.module.css
|
|
6971
|
-
var ToastProvider_default = {"
|
|
6973
|
+
var ToastProvider_default = {"viewportLeft":"opus_z3pSp7_viewportLeft","item":"opus_z3pSp7_item","itemClip":"opus_z3pSp7_itemClip","itemSurface":"opus_z3pSp7_itemSurface","viewport":"opus_z3pSp7_viewport","itemBackdrop":"opus_z3pSp7_itemBackdrop","viewportRight":"opus_z3pSp7_viewportRight","viewportTop":"opus_z3pSp7_viewportTop","viewportBottom":"opus_z3pSp7_viewportBottom"};
|
|
6972
6974
|
|
|
6973
6975
|
// ../../components/ToastProvider/ToastProvider.tsx
|
|
6974
6976
|
import { jsx as jsx47, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
@@ -7338,7 +7340,7 @@ function ToastProvider({
|
|
|
7338
7340
|
import { useId as useId15, useState as useState28 } from "react";
|
|
7339
7341
|
|
|
7340
7342
|
// ../../components/Tabs/Tabs.module.css
|
|
7341
|
-
var Tabs_default = {"
|
|
7343
|
+
var Tabs_default = {"panel":"opus_ADVJmy_panel","list":"opus_ADVJmy_list","root":"opus_ADVJmy_root","tab":"opus_ADVJmy_tab"};
|
|
7342
7344
|
|
|
7343
7345
|
// ../../components/Tabs/Tabs.tsx
|
|
7344
7346
|
import { jsx as jsx48, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
@@ -7452,7 +7454,7 @@ function Tabs({
|
|
|
7452
7454
|
}
|
|
7453
7455
|
|
|
7454
7456
|
// ../../components/Card/Card.module.css
|
|
7455
|
-
var Card_default = {"
|
|
7457
|
+
var Card_default = {"footerContent":"opus_qWo1sP_footerContent","actions":"opus_qWo1sP_actions","card":"opus_qWo1sP_card","content":"opus_qWo1sP_content","body":"opus_qWo1sP_body","footer":"opus_qWo1sP_footer","media":"opus_qWo1sP_media","title":"opus_qWo1sP_title","eyebrow":"opus_qWo1sP_eyebrow","heading":"opus_qWo1sP_heading"};
|
|
7456
7458
|
|
|
7457
7459
|
// ../../components/Card/Card.tsx
|
|
7458
7460
|
import { jsx as jsx49, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
@@ -7483,7 +7485,7 @@ function Card({
|
|
|
7483
7485
|
}
|
|
7484
7486
|
|
|
7485
7487
|
// ../../components/dashboardMetricCardLayout/dashboardMetricCardLayout.module.css
|
|
7486
|
-
var dashboardMetricCardLayout_default = {"
|
|
7488
|
+
var dashboardMetricCardLayout_default = {"header":"opus_6_sptY_header","iconPlaceholder":"opus_6_sptY_iconPlaceholder","value":"opus_6_sptY_value","metaPlaceholder":"opus_6_sptY_metaPlaceholder","iconSlot":"opus_6_sptY_iconSlot","label":"opus_6_sptY_label","shell":"opus_6_sptY_shell","metaSlot":"opus_6_sptY_metaSlot"};
|
|
7487
7489
|
|
|
7488
7490
|
// ../../components/StatCard/StatCard.module.css
|
|
7489
7491
|
var StatCard_default = {"change":"opus_KIXsQY_change"};
|
|
@@ -7513,7 +7515,7 @@ function StatCard({
|
|
|
7513
7515
|
}
|
|
7514
7516
|
|
|
7515
7517
|
// ../../components/Gauge/Gauge.module.css
|
|
7516
|
-
var Gauge_default = {"
|
|
7518
|
+
var Gauge_default = {"gaugeValue":"opus_t6IuQe_gaugeValue","gaugeCenter":"opus_t6IuQe_gaugeCenter","gaugeSlot":"opus_t6IuQe_gaugeSlot","footer":"opus_t6IuQe_footer","header":"opus_t6IuQe_header","footerLabel":"opus_t6IuQe_footerLabel","change":"opus_t6IuQe_change","subtitle":"opus_t6IuQe_subtitle","heading":"opus_t6IuQe_heading","widget":"opus_t6IuQe_widget","body":"opus_t6IuQe_body","summary":"opus_t6IuQe_summary","gaugeTrack":"opus_t6IuQe_gaugeTrack","title":"opus_t6IuQe_title","footerTrend":"opus_t6IuQe_footerTrend","gauge":"opus_t6IuQe_gauge","gaugeSvg":"opus_t6IuQe_gaugeSvg","footerValue":"opus_t6IuQe_footerValue","footerItem":"opus_t6IuQe_footerItem"};
|
|
7517
7519
|
|
|
7518
7520
|
// ../../components/Gauge/Gauge.tsx
|
|
7519
7521
|
import { jsx as jsx51, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
@@ -7647,7 +7649,7 @@ function Gauge({
|
|
|
7647
7649
|
import { useId as useId16 } from "react";
|
|
7648
7650
|
|
|
7649
7651
|
// ../../components/Sparkline/Sparkline.module.css
|
|
7650
|
-
var Sparkline_default = {"area":"opus_xXtB87_area","svg":"opus_xXtB87_svg","endPoint":"opus_xXtB87_endPoint","
|
|
7652
|
+
var Sparkline_default = {"area":"opus_xXtB87_area","svg":"opus_xXtB87_svg","endPoint":"opus_xXtB87_endPoint","chart":"opus_xXtB87_chart","sparkline":"opus_xXtB87_sparkline","label":"opus_xXtB87_label","line":"opus_xXtB87_line"};
|
|
7651
7653
|
|
|
7652
7654
|
// ../../components/Sparkline/Sparkline.tsx
|
|
7653
7655
|
import { jsx as jsx52, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
@@ -7713,7 +7715,7 @@ function Sparkline({
|
|
|
7713
7715
|
}
|
|
7714
7716
|
|
|
7715
7717
|
// ../../components/ProgressRing/ProgressRing.module.css
|
|
7716
|
-
var ProgressRing_default = {"ring":"opus_YxX6Hh_ring","
|
|
7718
|
+
var ProgressRing_default = {"ring":"opus_YxX6Hh_ring","svg":"opus_YxX6Hh_svg","center":"opus_YxX6Hh_center","track":"opus_YxX6Hh_track","value":"opus_YxX6Hh_value"};
|
|
7717
7719
|
|
|
7718
7720
|
// ../../components/ProgressRing/ProgressRing.tsx
|
|
7719
7721
|
import { jsx as jsx53, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
@@ -7746,7 +7748,7 @@ function ProgressRing({ label, max = 100, value }) {
|
|
|
7746
7748
|
}
|
|
7747
7749
|
|
|
7748
7750
|
// ../../components/ProgressBar/ProgressBar.module.css
|
|
7749
|
-
var ProgressBar_default = {"
|
|
7751
|
+
var ProgressBar_default = {"fill":"opus_q04AvA_fill","header":"opus_q04AvA_header","track":"opus_q04AvA_track","label":"opus_q04AvA_label","value":"opus_q04AvA_value","bar":"opus_q04AvA_bar"};
|
|
7750
7752
|
|
|
7751
7753
|
// ../../components/ProgressBar/ProgressBar.tsx
|
|
7752
7754
|
import { jsx as jsx54, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
@@ -7766,7 +7768,7 @@ function ProgressBar({ label, max = 100, value }) {
|
|
|
7766
7768
|
}
|
|
7767
7769
|
|
|
7768
7770
|
// ../../components/Speedometer/Speedometer.module.css
|
|
7769
|
-
var Speedometer_default = {"
|
|
7771
|
+
var Speedometer_default = {"needle":"opus__jpB7z_needle","hub":"opus__jpB7z_hub","svg":"opus__jpB7z_svg","speedometer":"opus__jpB7z_speedometer","track":"opus__jpB7z_track","value":"opus__jpB7z_value","center":"opus__jpB7z_center"};
|
|
7770
7772
|
|
|
7771
7773
|
// ../../components/Speedometer/Speedometer.tsx
|
|
7772
7774
|
import { jsx as jsx55, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
@@ -7799,7 +7801,7 @@ function Speedometer({ label, max = 100, value }) {
|
|
|
7799
7801
|
}
|
|
7800
7802
|
|
|
7801
7803
|
// ../../components/MetricTile/MetricTile.module.css
|
|
7802
|
-
var MetricTile_default = {"
|
|
7804
|
+
var MetricTile_default = {"tile":"opus_-dz9KL_tile","sparklineRail":"opus_-dz9KL_sparklineRail","sparklineReserve":"opus_-dz9KL_sparklineReserve"};
|
|
7803
7805
|
|
|
7804
7806
|
// ../../components/MetricTile/MetricTile.tsx
|
|
7805
7807
|
import { jsx as jsx56, jsxs as jsxs45 } from "react/jsx-runtime";
|
|
@@ -7842,7 +7844,7 @@ function TrendBadge({ direction, value }) {
|
|
|
7842
7844
|
}
|
|
7843
7845
|
|
|
7844
7846
|
// ../../components/Panel/Panel.module.css
|
|
7845
|
-
var Panel_default = {"
|
|
7847
|
+
var Panel_default = {"panel":"opus_JZHUc__panel","description":"opus_JZHUc__description","title":"opus_JZHUc__title","footer":"opus_JZHUc__footer","headerActions":"opus_JZHUc__headerActions","body":"opus_JZHUc__body","heading":"opus_JZHUc__heading","header":"opus_JZHUc__header"};
|
|
7846
7848
|
|
|
7847
7849
|
// ../../components/Panel/Panel.tsx
|
|
7848
7850
|
import { jsx as jsx58, jsxs as jsxs48 } from "react/jsx-runtime";
|
|
@@ -8026,7 +8028,7 @@ function resolveSectionGapVars(gap = "md") {
|
|
|
8026
8028
|
}
|
|
8027
8029
|
|
|
8028
8030
|
// ../../components/Section/Section.module.css
|
|
8029
|
-
var Section_default = {"
|
|
8031
|
+
var Section_default = {"title":"opus_FajZiH_title","description":"opus_FajZiH_description","section":"opus_FajZiH_section","body":"opus_FajZiH_body","header":"opus_FajZiH_header","column":"opus_FajZiH_column","row":"opus_FajZiH_row"};
|
|
8030
8032
|
|
|
8031
8033
|
// ../../components/Section/Section.tsx
|
|
8032
8034
|
import { jsx as jsx59, jsxs as jsxs49 } from "react/jsx-runtime";
|
|
@@ -8107,7 +8109,7 @@ var Section = Object.assign(SectionRoot, {
|
|
|
8107
8109
|
});
|
|
8108
8110
|
|
|
8109
8111
|
// ../../components/Table/Table.module.css
|
|
8110
|
-
var Table_default = {"
|
|
8112
|
+
var Table_default = {"visuallyHidden":"opus_2q7S14_visuallyHidden","table":"opus_2q7S14_table","caption":"opus_2q7S14_caption","wrap":"opus_2q7S14_wrap","empty":"opus_2q7S14_empty"};
|
|
8111
8113
|
|
|
8112
8114
|
// ../../components/Table/Table.tsx
|
|
8113
8115
|
import { jsx as jsx60, jsxs as jsxs50 } from "react/jsx-runtime";
|
|
@@ -8136,12 +8138,209 @@ function Table({
|
|
|
8136
8138
|
}
|
|
8137
8139
|
|
|
8138
8140
|
// ../../components/DataGrid/DataGrid.tsx
|
|
8139
|
-
import {
|
|
8140
|
-
|
|
8141
|
+
import {
|
|
8142
|
+
Fragment as Fragment7,
|
|
8143
|
+
forwardRef,
|
|
8144
|
+
useCallback as useCallback12,
|
|
8145
|
+
useEffect as useEffect22,
|
|
8146
|
+
useLayoutEffect as useLayoutEffect8,
|
|
8147
|
+
useMemo as useMemo14,
|
|
8148
|
+
useRef as useRef23,
|
|
8149
|
+
useState as useState29
|
|
8150
|
+
} from "react";
|
|
8151
|
+
import { faChevronDown, faChevronRight, faFilter } from "@fortawesome/free-solid-svg-icons";
|
|
8141
8152
|
import { FontAwesomeIcon as FontAwesomeIcon6 } from "@fortawesome/react-fontawesome";
|
|
8142
8153
|
|
|
8154
|
+
// ../../components/DataGrid/dataGridLayout.ts
|
|
8155
|
+
function cellText(value) {
|
|
8156
|
+
if (value === null || value === void 0 || typeof value === "boolean") {
|
|
8157
|
+
return "";
|
|
8158
|
+
}
|
|
8159
|
+
if (typeof value === "number" || typeof value === "string") {
|
|
8160
|
+
return String(value);
|
|
8161
|
+
}
|
|
8162
|
+
if (Array.isArray(value)) {
|
|
8163
|
+
return value.map(cellText).join(" ");
|
|
8164
|
+
}
|
|
8165
|
+
return "";
|
|
8166
|
+
}
|
|
8167
|
+
function getRowCellText(row, key) {
|
|
8168
|
+
var _a2;
|
|
8169
|
+
if (key === "team") {
|
|
8170
|
+
return cellText((_a2 = row.values.team) != null ? _a2 : row.label);
|
|
8171
|
+
}
|
|
8172
|
+
return cellText(row.values[key]);
|
|
8173
|
+
}
|
|
8174
|
+
function buildGroupedDisplayRows(rows, groupBy, collapsedGroupIds) {
|
|
8175
|
+
var _a2;
|
|
8176
|
+
const groups = /* @__PURE__ */ new Map();
|
|
8177
|
+
for (const row of rows) {
|
|
8178
|
+
const label = getRowCellText(row, groupBy) || "Ungrouped";
|
|
8179
|
+
const bucket = (_a2 = groups.get(label)) != null ? _a2 : [];
|
|
8180
|
+
bucket.push(row);
|
|
8181
|
+
groups.set(label, bucket);
|
|
8182
|
+
}
|
|
8183
|
+
const display = [];
|
|
8184
|
+
for (const [label, groupRows] of groups) {
|
|
8185
|
+
const id = `group:${label}`;
|
|
8186
|
+
const expanded = !collapsedGroupIds.has(id);
|
|
8187
|
+
display.push({
|
|
8188
|
+
kind: "group",
|
|
8189
|
+
id,
|
|
8190
|
+
label,
|
|
8191
|
+
count: groupRows.length,
|
|
8192
|
+
expanded
|
|
8193
|
+
});
|
|
8194
|
+
if (expanded) {
|
|
8195
|
+
for (const row of groupRows) {
|
|
8196
|
+
display.push({
|
|
8197
|
+
kind: "data",
|
|
8198
|
+
row,
|
|
8199
|
+
depth: 1,
|
|
8200
|
+
expandable: false,
|
|
8201
|
+
expanded: false,
|
|
8202
|
+
hasChildren: false
|
|
8203
|
+
});
|
|
8204
|
+
}
|
|
8205
|
+
}
|
|
8206
|
+
}
|
|
8207
|
+
return display;
|
|
8208
|
+
}
|
|
8209
|
+
function buildTreeDisplayRows(rows, expandedIds, depth = 0) {
|
|
8210
|
+
var _a2;
|
|
8211
|
+
const display = [];
|
|
8212
|
+
for (const row of rows) {
|
|
8213
|
+
const children = (_a2 = row.children) != null ? _a2 : [];
|
|
8214
|
+
const hasChildren = children.length > 0;
|
|
8215
|
+
const expanded = hasChildren && expandedIds.has(row.id);
|
|
8216
|
+
display.push({
|
|
8217
|
+
kind: "data",
|
|
8218
|
+
row,
|
|
8219
|
+
depth,
|
|
8220
|
+
expandable: hasChildren,
|
|
8221
|
+
expanded,
|
|
8222
|
+
hasChildren
|
|
8223
|
+
});
|
|
8224
|
+
if (expanded) {
|
|
8225
|
+
display.push(...buildTreeDisplayRows(children, expandedIds, depth + 1));
|
|
8226
|
+
}
|
|
8227
|
+
}
|
|
8228
|
+
return display;
|
|
8229
|
+
}
|
|
8230
|
+
function buildFlatDisplayRows(rows) {
|
|
8231
|
+
return rows.map((row) => ({
|
|
8232
|
+
kind: "data",
|
|
8233
|
+
row,
|
|
8234
|
+
depth: 0,
|
|
8235
|
+
expandable: false,
|
|
8236
|
+
expanded: false,
|
|
8237
|
+
hasChildren: false
|
|
8238
|
+
}));
|
|
8239
|
+
}
|
|
8240
|
+
function collectTreeIds(rows) {
|
|
8241
|
+
var _a2;
|
|
8242
|
+
const ids = [];
|
|
8243
|
+
for (const row of rows) {
|
|
8244
|
+
if ((_a2 = row.children) == null ? void 0 : _a2.length) {
|
|
8245
|
+
ids.push(row.id);
|
|
8246
|
+
ids.push(...collectTreeIds(row.children));
|
|
8247
|
+
}
|
|
8248
|
+
}
|
|
8249
|
+
return ids;
|
|
8250
|
+
}
|
|
8251
|
+
|
|
8252
|
+
// ../../components/DataGrid/dataGridPivot.ts
|
|
8253
|
+
function toNumber(value) {
|
|
8254
|
+
const cleaned = value.replace(/%/g, "").replace(/^\+/, "").trim();
|
|
8255
|
+
if (!cleaned || Number.isNaN(Number(cleaned))) {
|
|
8256
|
+
return null;
|
|
8257
|
+
}
|
|
8258
|
+
return Number(cleaned);
|
|
8259
|
+
}
|
|
8260
|
+
function aggregate(values, mode) {
|
|
8261
|
+
if (mode === "count") {
|
|
8262
|
+
return values.length;
|
|
8263
|
+
}
|
|
8264
|
+
if (!values.length) {
|
|
8265
|
+
return 0;
|
|
8266
|
+
}
|
|
8267
|
+
const sum = values.reduce((total, value) => total + value, 0);
|
|
8268
|
+
return mode === "avg" ? sum / values.length : sum;
|
|
8269
|
+
}
|
|
8270
|
+
function formatMeasure(value, sample) {
|
|
8271
|
+
if (sample.includes("%")) {
|
|
8272
|
+
return `${Math.round(value)}%`;
|
|
8273
|
+
}
|
|
8274
|
+
if (Number.isInteger(value)) {
|
|
8275
|
+
return value;
|
|
8276
|
+
}
|
|
8277
|
+
return Math.round(value * 10) / 10;
|
|
8278
|
+
}
|
|
8279
|
+
function buildPivotGrid(sourceRows, config2) {
|
|
8280
|
+
var _a2, _b2;
|
|
8281
|
+
const aggregator = (_a2 = config2.aggregator) != null ? _a2 : "sum";
|
|
8282
|
+
const rowDims = config2.rows.length ? config2.rows : ["team"];
|
|
8283
|
+
const colDims = config2.columns.length ? config2.columns : ["group"];
|
|
8284
|
+
const valueKeys = config2.values.length ? config2.values : ["q1"];
|
|
8285
|
+
const columnLabels = /* @__PURE__ */ new Set();
|
|
8286
|
+
const matrix = /* @__PURE__ */ new Map();
|
|
8287
|
+
const rowLabels = /* @__PURE__ */ new Map();
|
|
8288
|
+
const samples = /* @__PURE__ */ new Map();
|
|
8289
|
+
for (const source of sourceRows) {
|
|
8290
|
+
const rowKey = rowDims.map((key) => getRowCellText(source, key) || "\u2014").join(" \xB7 ");
|
|
8291
|
+
const colKey = colDims.map((key) => getRowCellText(source, key) || "\u2014").join(" \xB7 ");
|
|
8292
|
+
rowLabels.set(rowKey, rowKey);
|
|
8293
|
+
if (!matrix.has(rowKey)) {
|
|
8294
|
+
matrix.set(rowKey, /* @__PURE__ */ new Map());
|
|
8295
|
+
}
|
|
8296
|
+
const rowBucket = matrix.get(rowKey);
|
|
8297
|
+
for (const valueKey of valueKeys) {
|
|
8298
|
+
const cellKey = valueKeys.length === 1 ? colKey : `${colKey} \xB7 ${valueKey}`;
|
|
8299
|
+
columnLabels.add(cellKey);
|
|
8300
|
+
const raw = getRowCellText(source, valueKey);
|
|
8301
|
+
const numeric = toNumber(raw);
|
|
8302
|
+
if (!samples.has(valueKey) && raw) {
|
|
8303
|
+
samples.set(valueKey, raw);
|
|
8304
|
+
}
|
|
8305
|
+
const values = (_b2 = rowBucket.get(cellKey)) != null ? _b2 : [];
|
|
8306
|
+
if (aggregator === "count") {
|
|
8307
|
+
values.push(1);
|
|
8308
|
+
} else if (numeric !== null) {
|
|
8309
|
+
values.push(numeric);
|
|
8310
|
+
}
|
|
8311
|
+
rowBucket.set(cellKey, values);
|
|
8312
|
+
}
|
|
8313
|
+
}
|
|
8314
|
+
const sortedColumnLabels = Array.from(columnLabels).sort((a, b) => a.localeCompare(b));
|
|
8315
|
+
const columns = [
|
|
8316
|
+
{ key: "team", label: rowDims.join(" \xB7 "), align: "left", sortable: true, filterable: true },
|
|
8317
|
+
...sortedColumnLabels.map((label) => ({
|
|
8318
|
+
key: label,
|
|
8319
|
+
label,
|
|
8320
|
+
align: "right",
|
|
8321
|
+
sortable: true,
|
|
8322
|
+
filterable: true
|
|
8323
|
+
}))
|
|
8324
|
+
];
|
|
8325
|
+
const rows = Array.from(matrix.entries()).map(([rowKey, cells], index) => {
|
|
8326
|
+
var _a3, _b3, _c2;
|
|
8327
|
+
const values = { team: rowKey };
|
|
8328
|
+
for (const columnLabel of sortedColumnLabels) {
|
|
8329
|
+
const nums = (_a3 = cells.get(columnLabel)) != null ? _a3 : [];
|
|
8330
|
+
const sampleKey = (_b3 = valueKeys.find((key) => columnLabel.includes(key))) != null ? _b3 : valueKeys[0];
|
|
8331
|
+
const sample = (_c2 = samples.get(sampleKey)) != null ? _c2 : "";
|
|
8332
|
+
values[columnLabel] = formatMeasure(aggregate(nums, aggregator), sample);
|
|
8333
|
+
}
|
|
8334
|
+
return {
|
|
8335
|
+
id: `pivot-${index + 1}`,
|
|
8336
|
+
values
|
|
8337
|
+
};
|
|
8338
|
+
});
|
|
8339
|
+
return { columns, rows };
|
|
8340
|
+
}
|
|
8341
|
+
|
|
8143
8342
|
// ../../components/DataGrid/DataGrid.module.css
|
|
8144
|
-
var DataGrid_default = {"wrap":"opus_zN0bNb_wrap","
|
|
8343
|
+
var DataGrid_default = {"detailCell":"opus_zN0bNb_detailCell","filterInput":"opus_zN0bNb_filterInput","sortIndicatorButton":"opus_zN0bNb_sortIndicatorButton","chevron":"opus_zN0bNb_chevron","grid":"opus_zN0bNb_grid","wrap":"opus_zN0bNb_wrap","spacerRow":"opus_zN0bNb_spacerRow","rowHeader":"opus_zN0bNb_rowHeader","menuChevron":"opus_zN0bNb_menuChevron","expandSpacer":"opus_zN0bNb_expandSpacer","headerControls":"opus_zN0bNb_headerControls","groupRow":"opus_zN0bNb_groupRow","sortButtonLabel":"opus_zN0bNb_sortButtonLabel","menuAction":"opus_zN0bNb_menuAction","menuButton":"opus_zN0bNb_menuButton","menuHost":"opus_zN0bNb_menuHost","sortButton":"opus_zN0bNb_sortButton","headerMenu":"opus_zN0bNb_headerMenu","headerCell":"opus_zN0bNb_headerCell","menuFilterIcon":"opus_zN0bNb_menuFilterIcon","empty":"opus_zN0bNb_empty","expandButton":"opus_zN0bNb_expandButton","caption":"opus_zN0bNb_caption","gridBody":"opus_zN0bNb_gridBody","sortIndicator":"opus_zN0bNb_sortIndicator","columnResizeHandle":"opus_zN0bNb_columnResizeHandle","groupCount":"opus_zN0bNb_groupCount","visuallyHidden":"opus_zN0bNb_visuallyHidden","detailRow":"opus_zN0bNb_detailRow","infiniteFooter":"opus_zN0bNb_infiniteFooter","rowHeaderInner":"opus_zN0bNb_rowHeaderInner","corner":"opus_zN0bNb_corner","menuSection":"opus_zN0bNb_menuSection","menuLabel":"opus_zN0bNb_menuLabel","headerLabel":"opus_zN0bNb_headerLabel","frame":"opus_zN0bNb_frame","groupCell":"opus_zN0bNb_groupCell","rowHeaderLabel":"opus_zN0bNb_rowHeaderLabel","groupButton":"opus_zN0bNb_groupButton"};
|
|
8145
8344
|
|
|
8146
8345
|
// ../../components/DataGrid/DataGrid.tsx
|
|
8147
8346
|
import { jsx as jsx61, jsxs as jsxs51 } from "react/jsx-runtime";
|
|
@@ -8156,6 +8355,8 @@ var HEADER_CONTROL_GAP = 6;
|
|
|
8156
8355
|
var SORT_INDICATOR_WIDTH = 8;
|
|
8157
8356
|
var SORT_LABEL_GAP = 8;
|
|
8158
8357
|
var RESIZE_HANDLE_WIDTH = 14;
|
|
8358
|
+
var DEFAULT_VIEWPORT = 360;
|
|
8359
|
+
var OVERSCAN = 6;
|
|
8159
8360
|
function resolveColumnFeatures(column) {
|
|
8160
8361
|
return {
|
|
8161
8362
|
filterable: (column == null ? void 0 : column.filterable) === true,
|
|
@@ -8174,21 +8375,8 @@ function getMinColumnWidth(sortable, hasMenu, density) {
|
|
|
8174
8375
|
}
|
|
8175
8376
|
return width;
|
|
8176
8377
|
}
|
|
8177
|
-
function cellText(value) {
|
|
8178
|
-
if (value === null || value === void 0 || typeof value === "boolean") {
|
|
8179
|
-
return "";
|
|
8180
|
-
}
|
|
8181
|
-
if (typeof value === "number" || typeof value === "string") {
|
|
8182
|
-
return String(value);
|
|
8183
|
-
}
|
|
8184
|
-
if (Array.isArray(value)) {
|
|
8185
|
-
return value.map(cellText).join(" ");
|
|
8186
|
-
}
|
|
8187
|
-
return "";
|
|
8188
|
-
}
|
|
8189
8378
|
function rowTeamValue(row) {
|
|
8190
|
-
|
|
8191
|
-
return cellText((_a2 = row.values.team) != null ? _a2 : row.label);
|
|
8379
|
+
return getRowCellText(row, "team");
|
|
8192
8380
|
}
|
|
8193
8381
|
function isNumericValue(value) {
|
|
8194
8382
|
return /^-?\d+(?:\.\d+)?$/.test(value);
|
|
@@ -8201,33 +8389,67 @@ function compareValues(a, b) {
|
|
|
8201
8389
|
}
|
|
8202
8390
|
return aTrim.localeCompare(bTrim, void 0, { numeric: true, sensitivity: "base" });
|
|
8203
8391
|
}
|
|
8392
|
+
function defaultRowHeight(density) {
|
|
8393
|
+
return density === "comfortable" ? 44 : 36;
|
|
8394
|
+
}
|
|
8204
8395
|
function DataGrid({
|
|
8205
8396
|
bordered = true,
|
|
8206
8397
|
caption,
|
|
8207
8398
|
columns,
|
|
8399
|
+
defaultExpandedIds,
|
|
8208
8400
|
density = "compact",
|
|
8401
|
+
detailExpandedIds,
|
|
8402
|
+
getDetailContent,
|
|
8403
|
+
groupBy = "group",
|
|
8404
|
+
hasMore = false,
|
|
8405
|
+
layout = "flat",
|
|
8406
|
+
loadingMore = false,
|
|
8407
|
+
onExpandedChange,
|
|
8408
|
+
onLoadMore,
|
|
8409
|
+
pivot,
|
|
8209
8410
|
rowHeader,
|
|
8411
|
+
rowHeight,
|
|
8210
8412
|
rows,
|
|
8211
8413
|
stickyFirstColumn = true,
|
|
8212
8414
|
stickyHeader = true,
|
|
8213
|
-
striped = true
|
|
8415
|
+
striped = true,
|
|
8416
|
+
viewportHeight = DEFAULT_VIEWPORT,
|
|
8417
|
+
virtualized = false
|
|
8214
8418
|
}) {
|
|
8215
|
-
var _a2, _b2, _c2, _d2;
|
|
8419
|
+
var _a2, _b2, _c2, _d2, _e2, _f2;
|
|
8216
8420
|
const [columnWidths, setColumnWidths] = useState29({});
|
|
8217
8421
|
const [filters, setFilters] = useState29({});
|
|
8218
8422
|
const [openMenu, setOpenMenu] = useState29(null);
|
|
8219
8423
|
const [resizing, setResizing] = useState29(null);
|
|
8220
8424
|
const [sort, setSort] = useState29(null);
|
|
8425
|
+
const [collapsedGroupIds, setCollapsedGroupIds] = useState29(() => /* @__PURE__ */ new Set());
|
|
8426
|
+
const [treeExpandedIds, setTreeExpandedIds] = useState29(
|
|
8427
|
+
() => new Set(defaultExpandedIds != null ? defaultExpandedIds : [])
|
|
8428
|
+
);
|
|
8429
|
+
const [uncontrolledDetailIds, setUncontrolledDetailIds] = useState29(() => /* @__PURE__ */ new Set());
|
|
8430
|
+
const [scrollTop, setScrollTop] = useState29(0);
|
|
8221
8431
|
const menuAnchorRef = useRef23(null);
|
|
8222
8432
|
const menuHostRef = useRef23(null);
|
|
8223
8433
|
const menuRef = useRef23(null);
|
|
8224
8434
|
const menuFrameRef = useRef23(null);
|
|
8225
8435
|
const resizeDragRef = useRef23(null);
|
|
8226
8436
|
const wrapRef = useRef23(null);
|
|
8227
|
-
const
|
|
8437
|
+
const sentinelRef = useRef23(null);
|
|
8438
|
+
const resolvedRowHeight = rowHeight != null ? rowHeight : defaultRowHeight(density);
|
|
8439
|
+
const detailIds = detailExpandedIds ? new Set(detailExpandedIds) : uncontrolledDetailIds;
|
|
8440
|
+
const masterDetail = Boolean(getDetailContent) && layout !== "pivot";
|
|
8441
|
+
const pivotResult = useMemo14(() => {
|
|
8442
|
+
if (layout !== "pivot") {
|
|
8443
|
+
return null;
|
|
8444
|
+
}
|
|
8445
|
+
return buildPivotGrid(rows, pivot != null ? pivot : { rows: ["group"], columns: ["a11y"], values: ["q1", "q2"] });
|
|
8446
|
+
}, [layout, pivot, rows]);
|
|
8447
|
+
const activeColumns = (_a2 = pivotResult == null ? void 0 : pivotResult.columns) != null ? _a2 : columns;
|
|
8448
|
+
const activeRows = (_b2 = pivotResult == null ? void 0 : pivotResult.rows) != null ? _b2 : rows;
|
|
8449
|
+
const hasTeamColumn = activeColumns.some((column) => column.key === "team");
|
|
8228
8450
|
const gridColumns = useMemo14(
|
|
8229
|
-
() => hasTeamColumn ?
|
|
8230
|
-
[
|
|
8451
|
+
() => hasTeamColumn ? activeColumns : [{ key: "team", label: "Team", align: "left" }, ...activeColumns],
|
|
8452
|
+
[activeColumns, hasTeamColumn]
|
|
8231
8453
|
);
|
|
8232
8454
|
const dataColumns = useMemo14(
|
|
8233
8455
|
() => gridColumns.filter((column) => column.key !== "team"),
|
|
@@ -8241,34 +8463,92 @@ function DataGrid({
|
|
|
8241
8463
|
}
|
|
8242
8464
|
return features;
|
|
8243
8465
|
}, [gridColumns, hasTeamColumn, rowHeader]);
|
|
8244
|
-
const
|
|
8245
|
-
(
|
|
8246
|
-
|
|
8247
|
-
|
|
8248
|
-
|
|
8249
|
-
|
|
8250
|
-
|
|
8251
|
-
|
|
8252
|
-
|
|
8253
|
-
|
|
8254
|
-
|
|
8255
|
-
|
|
8256
|
-
|
|
8257
|
-
|
|
8258
|
-
|
|
8259
|
-
|
|
8260
|
-
|
|
8261
|
-
|
|
8466
|
+
const filterSortRows = useCallback12(
|
|
8467
|
+
(source) => {
|
|
8468
|
+
return source.filter(
|
|
8469
|
+
(row) => gridColumns.every((column) => {
|
|
8470
|
+
var _a3;
|
|
8471
|
+
const features = columnFeatures[column.key];
|
|
8472
|
+
if (!(features == null ? void 0 : features.filterable)) {
|
|
8473
|
+
return true;
|
|
8474
|
+
}
|
|
8475
|
+
const filter = (_a3 = filters[column.key]) == null ? void 0 : _a3.trim().toLowerCase();
|
|
8476
|
+
if (!filter) {
|
|
8477
|
+
return true;
|
|
8478
|
+
}
|
|
8479
|
+
const value = column.key === "team" ? rowTeamValue(row) : getRowCellText(row, column.key);
|
|
8480
|
+
return value.toLowerCase().includes(filter);
|
|
8481
|
+
})
|
|
8482
|
+
).sort((a, b) => {
|
|
8483
|
+
var _a3;
|
|
8484
|
+
if (!sort || !((_a3 = columnFeatures[sort.key]) == null ? void 0 : _a3.sortable)) {
|
|
8485
|
+
return 0;
|
|
8486
|
+
}
|
|
8487
|
+
const aValue = sort.key === "team" ? rowTeamValue(a) : getRowCellText(a, sort.key);
|
|
8488
|
+
const bValue = sort.key === "team" ? rowTeamValue(b) : getRowCellText(b, sort.key);
|
|
8489
|
+
const result = compareValues(aValue, bValue);
|
|
8490
|
+
return sort.direction === "ascending" ? result : -result;
|
|
8491
|
+
});
|
|
8492
|
+
},
|
|
8493
|
+
[columnFeatures, filters, gridColumns, sort]
|
|
8494
|
+
);
|
|
8495
|
+
useEffect22(() => {
|
|
8496
|
+
if (layout === "tree" && defaultExpandedIds === void 0 && treeExpandedIds.size === 0) {
|
|
8497
|
+
setTreeExpandedIds(new Set(collectTreeIds(activeRows).slice(0, 4)));
|
|
8262
8498
|
}
|
|
8263
|
-
|
|
8264
|
-
|
|
8499
|
+
}, [activeRows, defaultExpandedIds, layout, treeExpandedIds.size]);
|
|
8500
|
+
const displayRows = useMemo14(() => {
|
|
8501
|
+
if (layout === "tree") {
|
|
8502
|
+
return buildTreeDisplayRows(filterSortRows(activeRows), treeExpandedIds);
|
|
8265
8503
|
}
|
|
8266
|
-
const
|
|
8267
|
-
|
|
8268
|
-
|
|
8269
|
-
|
|
8270
|
-
|
|
8504
|
+
const flat = filterSortRows(activeRows);
|
|
8505
|
+
if (layout === "grouped") {
|
|
8506
|
+
return buildGroupedDisplayRows(flat, groupBy, collapsedGroupIds);
|
|
8507
|
+
}
|
|
8508
|
+
return buildFlatDisplayRows(flat);
|
|
8509
|
+
}, [activeRows, collapsedGroupIds, filterSortRows, groupBy, layout, treeExpandedIds]);
|
|
8271
8510
|
const openMenuFeatures = openMenu ? columnFeatures[openMenu.key] : void 0;
|
|
8511
|
+
const setExpandedIds = useCallback12(
|
|
8512
|
+
(next) => {
|
|
8513
|
+
setTreeExpandedIds(next);
|
|
8514
|
+
onExpandedChange == null ? void 0 : onExpandedChange(Array.from(next));
|
|
8515
|
+
},
|
|
8516
|
+
[onExpandedChange]
|
|
8517
|
+
);
|
|
8518
|
+
const toggleTreeExpand = (id) => {
|
|
8519
|
+
const next = new Set(treeExpandedIds);
|
|
8520
|
+
if (next.has(id)) {
|
|
8521
|
+
next.delete(id);
|
|
8522
|
+
} else {
|
|
8523
|
+
next.add(id);
|
|
8524
|
+
}
|
|
8525
|
+
setExpandedIds(next);
|
|
8526
|
+
};
|
|
8527
|
+
const toggleGroup = (id) => {
|
|
8528
|
+
setCollapsedGroupIds((current) => {
|
|
8529
|
+
const next = new Set(current);
|
|
8530
|
+
if (next.has(id)) {
|
|
8531
|
+
next.delete(id);
|
|
8532
|
+
} else {
|
|
8533
|
+
next.add(id);
|
|
8534
|
+
}
|
|
8535
|
+
return next;
|
|
8536
|
+
});
|
|
8537
|
+
};
|
|
8538
|
+
const toggleDetail = (id) => {
|
|
8539
|
+
if (detailExpandedIds) {
|
|
8540
|
+
return;
|
|
8541
|
+
}
|
|
8542
|
+
setUncontrolledDetailIds((current) => {
|
|
8543
|
+
const next = new Set(current);
|
|
8544
|
+
if (next.has(id)) {
|
|
8545
|
+
next.delete(id);
|
|
8546
|
+
} else {
|
|
8547
|
+
next.add(id);
|
|
8548
|
+
}
|
|
8549
|
+
return next;
|
|
8550
|
+
});
|
|
8551
|
+
};
|
|
8272
8552
|
const resetWrapMinHeight = useCallback12(() => {
|
|
8273
8553
|
if (wrapRef.current) {
|
|
8274
8554
|
wrapRef.current.style.minHeight = "";
|
|
@@ -8279,7 +8559,7 @@ function DataGrid({
|
|
|
8279
8559
|
resetWrapMinHeight();
|
|
8280
8560
|
setOpenMenu(null);
|
|
8281
8561
|
}, [resetWrapMinHeight]);
|
|
8282
|
-
const activeMenuFilter = openMenu ? (
|
|
8562
|
+
const activeMenuFilter = openMenu ? (_c2 = filters[openMenu.key]) != null ? _c2 : "" : "";
|
|
8283
8563
|
const applyMenuPosition = useCallback12(() => {
|
|
8284
8564
|
const anchor = menuAnchorRef.current;
|
|
8285
8565
|
const menu = menuRef.current;
|
|
@@ -8392,6 +8672,26 @@ function DataGrid({
|
|
|
8392
8672
|
}
|
|
8393
8673
|
scheduleMenuPosition();
|
|
8394
8674
|
}, [columnWidths, openMenu, scheduleMenuPosition]);
|
|
8675
|
+
useEffect22(() => {
|
|
8676
|
+
if (!onLoadMore || !hasMore) {
|
|
8677
|
+
return;
|
|
8678
|
+
}
|
|
8679
|
+
const root = wrapRef.current;
|
|
8680
|
+
const target = sentinelRef.current;
|
|
8681
|
+
if (!root || !target) {
|
|
8682
|
+
return;
|
|
8683
|
+
}
|
|
8684
|
+
const observer = new IntersectionObserver(
|
|
8685
|
+
(entries) => {
|
|
8686
|
+
if (entries.some((entry) => entry.isIntersecting) && !loadingMore) {
|
|
8687
|
+
onLoadMore();
|
|
8688
|
+
}
|
|
8689
|
+
},
|
|
8690
|
+
{ root, rootMargin: "120px" }
|
|
8691
|
+
);
|
|
8692
|
+
observer.observe(target);
|
|
8693
|
+
return () => observer.disconnect();
|
|
8694
|
+
}, [displayRows.length, hasMore, loadingMore, onLoadMore]);
|
|
8395
8695
|
const toggleSort = (key) => {
|
|
8396
8696
|
var _a3;
|
|
8397
8697
|
if (!((_a3 = columnFeatures[key]) == null ? void 0 : _a3.sortable)) {
|
|
@@ -8493,10 +8793,108 @@ function DataGrid({
|
|
|
8493
8793
|
}
|
|
8494
8794
|
beginResize(event, columnKey, width);
|
|
8495
8795
|
}, [beginResize, columnFeatures]);
|
|
8796
|
+
const colSpan = gridColumns.length;
|
|
8797
|
+
const virtualWindow = useMemo14(() => {
|
|
8798
|
+
if (!virtualized) {
|
|
8799
|
+
return {
|
|
8800
|
+
offset: 0,
|
|
8801
|
+
items: displayRows,
|
|
8802
|
+
paddingTop: 0,
|
|
8803
|
+
paddingBottom: 0
|
|
8804
|
+
};
|
|
8805
|
+
}
|
|
8806
|
+
const start = Math.max(0, Math.floor(scrollTop / resolvedRowHeight) - OVERSCAN);
|
|
8807
|
+
const visibleCount = Math.ceil(viewportHeight / resolvedRowHeight) + OVERSCAN * 2;
|
|
8808
|
+
const end = Math.min(displayRows.length, start + visibleCount);
|
|
8809
|
+
const items = displayRows.slice(start, end);
|
|
8810
|
+
return {
|
|
8811
|
+
offset: start,
|
|
8812
|
+
items,
|
|
8813
|
+
paddingTop: start * resolvedRowHeight,
|
|
8814
|
+
paddingBottom: Math.max(0, (displayRows.length - end) * resolvedRowHeight)
|
|
8815
|
+
};
|
|
8816
|
+
}, [displayRows, resolvedRowHeight, scrollTop, viewportHeight, virtualized]);
|
|
8817
|
+
const renderDataRow = (entry) => {
|
|
8818
|
+
var _a3;
|
|
8819
|
+
const { row, depth, expandable, expanded, hasChildren } = entry;
|
|
8820
|
+
const detailOpen = masterDetail && detailIds.has(row.id);
|
|
8821
|
+
const showTreeToggle = layout === "tree" && expandable;
|
|
8822
|
+
return /* @__PURE__ */ jsxs51(Fragment7, { children: [
|
|
8823
|
+
/* @__PURE__ */ jsxs51("tr", { "data-row-kind": "data", children: [
|
|
8824
|
+
/* @__PURE__ */ jsx61(
|
|
8825
|
+
"th",
|
|
8826
|
+
{
|
|
8827
|
+
className: DataGrid_default.rowHeader,
|
|
8828
|
+
scope: "row",
|
|
8829
|
+
style: columnWidths.team ? { width: columnWidths.team, minWidth: columnWidths.team } : void 0,
|
|
8830
|
+
children: /* @__PURE__ */ jsxs51("span", { className: DataGrid_default.rowHeaderInner, style: { paddingLeft: depth * 14 }, children: [
|
|
8831
|
+
masterDetail ? /* @__PURE__ */ jsx61(
|
|
8832
|
+
"button",
|
|
8833
|
+
{
|
|
8834
|
+
"aria-expanded": detailOpen,
|
|
8835
|
+
"aria-label": detailOpen ? `Hide details for ${rowTeamValue(row)}` : `Show details for ${rowTeamValue(row)}`,
|
|
8836
|
+
className: DataGrid_default.expandButton,
|
|
8837
|
+
onClick: () => toggleDetail(row.id),
|
|
8838
|
+
type: "button",
|
|
8839
|
+
children: /* @__PURE__ */ jsx61(FontAwesomeIcon6, { className: DataGrid_default.chevron, icon: detailOpen ? faChevronDown : faChevronRight })
|
|
8840
|
+
}
|
|
8841
|
+
) : null,
|
|
8842
|
+
showTreeToggle ? /* @__PURE__ */ jsx61(
|
|
8843
|
+
"button",
|
|
8844
|
+
{
|
|
8845
|
+
"aria-expanded": expanded,
|
|
8846
|
+
"aria-label": expanded ? `Collapse ${rowTeamValue(row)}` : `Expand ${rowTeamValue(row)}`,
|
|
8847
|
+
className: DataGrid_default.expandButton,
|
|
8848
|
+
onClick: () => toggleTreeExpand(row.id),
|
|
8849
|
+
type: "button",
|
|
8850
|
+
children: /* @__PURE__ */ jsx61(FontAwesomeIcon6, { className: DataGrid_default.chevron, icon: expanded ? faChevronDown : faChevronRight })
|
|
8851
|
+
}
|
|
8852
|
+
) : layout === "tree" && !hasChildren ? /* @__PURE__ */ jsx61("span", { "aria-hidden": "true", className: DataGrid_default.expandSpacer }) : null,
|
|
8853
|
+
/* @__PURE__ */ jsx61("span", { className: DataGrid_default.rowHeaderLabel, children: (_a3 = row.values.team) != null ? _a3 : row.label })
|
|
8854
|
+
] })
|
|
8855
|
+
}
|
|
8856
|
+
),
|
|
8857
|
+
dataColumns.map((column) => {
|
|
8858
|
+
var _a4;
|
|
8859
|
+
return /* @__PURE__ */ jsx61(
|
|
8860
|
+
"td",
|
|
8861
|
+
{
|
|
8862
|
+
"data-align": (_a4 = column.align) != null ? _a4 : "left",
|
|
8863
|
+
"data-column-key": column.key,
|
|
8864
|
+
"data-column-resizable": columnFeatures[column.key].resizable,
|
|
8865
|
+
style: columnWidths[column.key] ? { width: columnWidths[column.key], minWidth: columnWidths[column.key] } : void 0,
|
|
8866
|
+
children: row.values[column.key]
|
|
8867
|
+
},
|
|
8868
|
+
column.key
|
|
8869
|
+
);
|
|
8870
|
+
})
|
|
8871
|
+
] }),
|
|
8872
|
+
detailOpen && getDetailContent ? /* @__PURE__ */ jsx61("tr", { className: DataGrid_default.detailRow, children: /* @__PURE__ */ jsx61("td", { className: DataGrid_default.detailCell, colSpan, children: getDetailContent(row) }) }, `${row.id}-detail`) : null
|
|
8873
|
+
] }, row.id);
|
|
8874
|
+
};
|
|
8875
|
+
const renderDisplayRow = (entry, index) => {
|
|
8876
|
+
if (entry.kind === "group") {
|
|
8877
|
+
return /* @__PURE__ */ jsx61("tr", { className: DataGrid_default.groupRow, children: /* @__PURE__ */ jsx61("td", { className: DataGrid_default.groupCell, colSpan, children: /* @__PURE__ */ jsxs51(
|
|
8878
|
+
"button",
|
|
8879
|
+
{
|
|
8880
|
+
"aria-expanded": entry.expanded,
|
|
8881
|
+
className: DataGrid_default.groupButton,
|
|
8882
|
+
onClick: () => toggleGroup(entry.id),
|
|
8883
|
+
type: "button",
|
|
8884
|
+
children: [
|
|
8885
|
+
/* @__PURE__ */ jsx61(FontAwesomeIcon6, { className: DataGrid_default.chevron, icon: entry.expanded ? faChevronDown : faChevronRight }),
|
|
8886
|
+
/* @__PURE__ */ jsx61("span", { children: entry.label }),
|
|
8887
|
+
/* @__PURE__ */ jsx61("span", { className: DataGrid_default.groupCount, children: entry.count })
|
|
8888
|
+
]
|
|
8889
|
+
}
|
|
8890
|
+
) }) }, entry.id);
|
|
8891
|
+
}
|
|
8892
|
+
return renderDataRow(entry);
|
|
8893
|
+
};
|
|
8496
8894
|
return /* @__PURE__ */ jsxs51("div", { className: DataGrid_default.frame, children: [
|
|
8497
8895
|
caption ? /* @__PURE__ */ jsx61("div", { className: DataGrid_default.caption, children: caption }) : null,
|
|
8498
8896
|
/* @__PURE__ */ jsxs51("div", { className: DataGrid_default.gridBody, children: [
|
|
8499
|
-
/* @__PURE__ */
|
|
8897
|
+
/* @__PURE__ */ jsxs51(
|
|
8500
8898
|
"div",
|
|
8501
8899
|
{
|
|
8502
8900
|
ref: wrapRef,
|
|
@@ -8510,114 +8908,98 @@ function DataGrid({
|
|
|
8510
8908
|
"data-sticky-column": stickyFirstColumn,
|
|
8511
8909
|
"data-sticky-header": stickyHeader,
|
|
8512
8910
|
"data-striped": striped,
|
|
8513
|
-
|
|
8514
|
-
|
|
8515
|
-
|
|
8516
|
-
|
|
8517
|
-
|
|
8518
|
-
|
|
8519
|
-
|
|
8520
|
-
|
|
8521
|
-
|
|
8522
|
-
|
|
8523
|
-
);
|
|
8524
|
-
}) }),
|
|
8525
|
-
/* @__PURE__ */ jsx61("thead", { children: /* @__PURE__ */ jsx61("tr", { children: gridColumns.map((column) => {
|
|
8526
|
-
var _a3, _b3;
|
|
8527
|
-
return /* @__PURE__ */ jsxs51(
|
|
8528
|
-
"th",
|
|
8529
|
-
{
|
|
8530
|
-
"aria-sort": columnFeatures[column.key].sortable ? (sort == null ? void 0 : sort.key) === column.key ? sort.direction : "none" : void 0,
|
|
8531
|
-
className: column.key === "team" ? DataGrid_default.corner : void 0,
|
|
8532
|
-
"data-column-resizable": columnFeatures[column.key].resizable,
|
|
8533
|
-
"data-filter-active": Boolean((_a3 = filters[column.key]) == null ? void 0 : _a3.trim()),
|
|
8534
|
-
"data-menu-open": (openMenu == null ? void 0 : openMenu.key) === column.key,
|
|
8535
|
-
scope: "col",
|
|
8536
|
-
style: columnWidths[column.key] ? { width: columnWidths[column.key], minWidth: columnWidths[column.key] } : void 0,
|
|
8537
|
-
children: [
|
|
8538
|
-
/* @__PURE__ */ jsx61(
|
|
8539
|
-
HeaderContent,
|
|
8540
|
-
{
|
|
8541
|
-
filterActive: Boolean((_b3 = filters[column.key]) == null ? void 0 : _b3.trim()),
|
|
8542
|
-
filterable: columnFeatures[column.key].filterable,
|
|
8543
|
-
label: column.label,
|
|
8544
|
-
menuId: column.key,
|
|
8545
|
-
sortDirection: (sort == null ? void 0 : sort.key) === column.key ? sort.direction : void 0,
|
|
8546
|
-
sortable: columnFeatures[column.key].sortable,
|
|
8547
|
-
menuOpen: (openMenu == null ? void 0 : openMenu.key) === column.key,
|
|
8548
|
-
onMenuToggle: (button) => {
|
|
8549
|
-
if ((openMenu == null ? void 0 : openMenu.key) === column.key) {
|
|
8550
|
-
closeHeaderMenu();
|
|
8551
|
-
return;
|
|
8552
|
-
}
|
|
8553
|
-
openHeaderMenu({
|
|
8554
|
-
align: column.key === "team" ? "left" : "right",
|
|
8555
|
-
button,
|
|
8556
|
-
key: column.key,
|
|
8557
|
-
label: column.label
|
|
8558
|
-
});
|
|
8559
|
-
},
|
|
8560
|
-
onSort: () => toggleSort(column.key)
|
|
8561
|
-
}
|
|
8562
|
-
),
|
|
8563
|
-
columnFeatures[column.key].resizable ? /* @__PURE__ */ jsx61(
|
|
8564
|
-
ColumnResizeHandle,
|
|
8565
|
-
{
|
|
8566
|
-
onResizeStart: (event) => beginResize(event, column.key)
|
|
8567
|
-
}
|
|
8568
|
-
) : null
|
|
8569
|
-
]
|
|
8570
|
-
},
|
|
8571
|
-
column.key
|
|
8572
|
-
);
|
|
8573
|
-
}) }) }),
|
|
8574
|
-
/* @__PURE__ */ jsxs51("tbody", { onPointerDown: handleBodyPointerDown, children: [
|
|
8575
|
-
visibleRows.map((row) => {
|
|
8911
|
+
onScroll: (event) => {
|
|
8912
|
+
if (virtualized) {
|
|
8913
|
+
setScrollTop(event.currentTarget.scrollTop);
|
|
8914
|
+
}
|
|
8915
|
+
},
|
|
8916
|
+
style: { maxHeight: viewportHeight },
|
|
8917
|
+
children: [
|
|
8918
|
+
/* @__PURE__ */ jsxs51("table", { className: DataGrid_default.grid, children: [
|
|
8919
|
+
caption ? /* @__PURE__ */ jsx61("caption", { className: DataGrid_default.visuallyHidden, children: caption }) : null,
|
|
8920
|
+
/* @__PURE__ */ jsx61("colgroup", { children: gridColumns.map((column) => {
|
|
8576
8921
|
var _a3;
|
|
8577
|
-
return /* @__PURE__ */
|
|
8578
|
-
|
|
8579
|
-
|
|
8580
|
-
{
|
|
8581
|
-
|
|
8582
|
-
|
|
8583
|
-
|
|
8584
|
-
|
|
8585
|
-
|
|
8586
|
-
|
|
8587
|
-
|
|
8588
|
-
|
|
8589
|
-
|
|
8590
|
-
|
|
8591
|
-
|
|
8592
|
-
|
|
8593
|
-
|
|
8594
|
-
|
|
8595
|
-
|
|
8596
|
-
|
|
8597
|
-
|
|
8598
|
-
|
|
8599
|
-
|
|
8600
|
-
|
|
8601
|
-
|
|
8602
|
-
|
|
8603
|
-
|
|
8604
|
-
|
|
8605
|
-
|
|
8606
|
-
|
|
8607
|
-
|
|
8608
|
-
|
|
8922
|
+
return /* @__PURE__ */ jsx61(
|
|
8923
|
+
"col",
|
|
8924
|
+
{
|
|
8925
|
+
style: { width: (_a3 = columnWidths[column.key]) != null ? _a3 : column.key === "team" ? 180 : 130 }
|
|
8926
|
+
},
|
|
8927
|
+
column.key
|
|
8928
|
+
);
|
|
8929
|
+
}) }),
|
|
8930
|
+
/* @__PURE__ */ jsx61("thead", { children: /* @__PURE__ */ jsx61("tr", { children: gridColumns.map((column) => {
|
|
8931
|
+
var _a3, _b3;
|
|
8932
|
+
return /* @__PURE__ */ jsxs51(
|
|
8933
|
+
"th",
|
|
8934
|
+
{
|
|
8935
|
+
"aria-sort": columnFeatures[column.key].sortable ? (sort == null ? void 0 : sort.key) === column.key ? sort.direction : "none" : void 0,
|
|
8936
|
+
className: column.key === "team" ? DataGrid_default.corner : void 0,
|
|
8937
|
+
"data-column-resizable": columnFeatures[column.key].resizable,
|
|
8938
|
+
"data-filter-active": Boolean((_a3 = filters[column.key]) == null ? void 0 : _a3.trim()),
|
|
8939
|
+
"data-menu-open": (openMenu == null ? void 0 : openMenu.key) === column.key,
|
|
8940
|
+
scope: "col",
|
|
8941
|
+
style: columnWidths[column.key] ? { width: columnWidths[column.key], minWidth: columnWidths[column.key] } : void 0,
|
|
8942
|
+
children: [
|
|
8943
|
+
/* @__PURE__ */ jsx61(
|
|
8944
|
+
HeaderContent,
|
|
8945
|
+
{
|
|
8946
|
+
filterActive: Boolean((_b3 = filters[column.key]) == null ? void 0 : _b3.trim()),
|
|
8947
|
+
filterable: columnFeatures[column.key].filterable,
|
|
8948
|
+
label: column.label,
|
|
8949
|
+
menuId: column.key,
|
|
8950
|
+
sortDirection: (sort == null ? void 0 : sort.key) === column.key ? sort.direction : void 0,
|
|
8951
|
+
sortable: columnFeatures[column.key].sortable,
|
|
8952
|
+
menuOpen: (openMenu == null ? void 0 : openMenu.key) === column.key,
|
|
8953
|
+
onMenuToggle: (button) => {
|
|
8954
|
+
if ((openMenu == null ? void 0 : openMenu.key) === column.key) {
|
|
8955
|
+
closeHeaderMenu();
|
|
8956
|
+
return;
|
|
8957
|
+
}
|
|
8958
|
+
openHeaderMenu({
|
|
8959
|
+
align: column.key === "team" ? "left" : "right",
|
|
8960
|
+
button,
|
|
8961
|
+
key: column.key,
|
|
8962
|
+
label: column.label
|
|
8963
|
+
});
|
|
8964
|
+
},
|
|
8965
|
+
onSort: () => toggleSort(column.key)
|
|
8966
|
+
}
|
|
8967
|
+
),
|
|
8968
|
+
columnFeatures[column.key].resizable ? /* @__PURE__ */ jsx61(
|
|
8969
|
+
ColumnResizeHandle,
|
|
8970
|
+
{
|
|
8971
|
+
onResizeStart: (event) => beginResize(event, column.key)
|
|
8972
|
+
}
|
|
8973
|
+
) : null
|
|
8974
|
+
]
|
|
8975
|
+
},
|
|
8976
|
+
column.key
|
|
8977
|
+
);
|
|
8978
|
+
}) }) }),
|
|
8979
|
+
/* @__PURE__ */ jsxs51("tbody", { onPointerDown: handleBodyPointerDown, children: [
|
|
8980
|
+
virtualized && virtualWindow.paddingTop > 0 ? /* @__PURE__ */ jsx61("tr", { "aria-hidden": "true", className: DataGrid_default.spacerRow, children: /* @__PURE__ */ jsx61("td", { colSpan, style: { height: virtualWindow.paddingTop, padding: 0 } }) }) : null,
|
|
8981
|
+
virtualWindow.items.map((entry, index) => renderDisplayRow(entry, virtualWindow.offset + index)),
|
|
8982
|
+
virtualized && virtualWindow.paddingBottom > 0 ? /* @__PURE__ */ jsx61("tr", { "aria-hidden": "true", className: DataGrid_default.spacerRow, children: /* @__PURE__ */ jsx61("td", { colSpan, style: { height: virtualWindow.paddingBottom, padding: 0 } }) }) : null,
|
|
8983
|
+
!displayRows.length ? /* @__PURE__ */ jsxs51("tr", { children: [
|
|
8984
|
+
/* @__PURE__ */ jsx61("th", { className: DataGrid_default.rowHeader, scope: "row", children: "No rows" }),
|
|
8985
|
+
/* @__PURE__ */ jsx61("td", { className: DataGrid_default.empty, colSpan: Math.max(dataColumns.length, 1), children: "No matching rows." })
|
|
8986
|
+
] }) : null
|
|
8987
|
+
] })
|
|
8988
|
+
] }),
|
|
8989
|
+
onLoadMore || hasMore ? /* @__PURE__ */ jsx61("div", { className: DataGrid_default.infiniteFooter, ref: sentinelRef, children: loadingMore ? "Loading more\u2026" : hasMore ? "Scroll for more" : "End of results" }) : null
|
|
8990
|
+
]
|
|
8609
8991
|
}
|
|
8610
8992
|
),
|
|
8611
8993
|
openMenu ? /* @__PURE__ */ jsx61("div", { className: DataGrid_default.menuHost, ref: menuHostRef, children: /* @__PURE__ */ jsx61(
|
|
8612
8994
|
GridHeaderMenu,
|
|
8613
8995
|
{
|
|
8614
8996
|
ref: menuRef,
|
|
8615
|
-
filter: (
|
|
8616
|
-
filterable: (
|
|
8997
|
+
filter: (_d2 = filters[openMenu.key]) != null ? _d2 : "",
|
|
8998
|
+
filterable: (_e2 = openMenuFeatures == null ? void 0 : openMenuFeatures.filterable) != null ? _e2 : false,
|
|
8617
8999
|
label: openMenu.label,
|
|
8618
9000
|
menuId: openMenu.menuId,
|
|
8619
9001
|
sortDirection: (sort == null ? void 0 : sort.key) === openMenu.key ? sort.direction : void 0,
|
|
8620
|
-
sortable: (
|
|
9002
|
+
sortable: (_f2 = openMenuFeatures == null ? void 0 : openMenuFeatures.sortable) != null ? _f2 : false,
|
|
8621
9003
|
onFilterChange: (filter) => setFilters((current) => __spreadProps(__spreadValues({}, current), { [openMenu.key]: filter })),
|
|
8622
9004
|
onMenuClose: closeHeaderMenu,
|
|
8623
9005
|
onSortDirection: (direction) => setSortDirection(openMenu.key, direction)
|
|
@@ -8769,7 +9151,7 @@ var GridHeaderMenu = forwardRef(function GridHeaderMenu2({
|
|
|
8769
9151
|
});
|
|
8770
9152
|
|
|
8771
9153
|
// ../../components/Chart/Chart.tsx
|
|
8772
|
-
import { useEffect as
|
|
9154
|
+
import { useEffect as useEffect23, useId as useId17, useRef as useRef24, useState as useState30 } from "react";
|
|
8773
9155
|
|
|
8774
9156
|
// ../../components/Chart/sankeyLayout.ts
|
|
8775
9157
|
var demoSankeyNodes = [
|
|
@@ -8909,6 +9291,12 @@ var chartDemoData = [
|
|
|
8909
9291
|
{ label: "May", value: 58, values: [58, 56, 36], x: 74, y: 58 },
|
|
8910
9292
|
{ label: "Jun", value: 88, values: [88, 62, 42], x: 88, y: 92 }
|
|
8911
9293
|
];
|
|
9294
|
+
var chartContourData = Array.from({ length: 36 }, (_, index) => {
|
|
9295
|
+
const x = index % 6;
|
|
9296
|
+
const y = Math.floor(index / 6);
|
|
9297
|
+
const value = 35 + Math.round(45 * Math.exp(-((x - 2.4) ** 2 + (y - 2.8) ** 2) / 4));
|
|
9298
|
+
return { label: `${x},${y}`, value, x, y };
|
|
9299
|
+
});
|
|
8912
9300
|
function branchLeaves(prefix, parent, group, count = 5) {
|
|
8913
9301
|
return Array.from({ length: count }, (_, index) => ({
|
|
8914
9302
|
label: `${prefix}${index + 1}`,
|
|
@@ -9987,6 +10375,15 @@ var specializedChartVariants = /* @__PURE__ */ new Set([
|
|
|
9987
10375
|
"sankey",
|
|
9988
10376
|
"waterfall",
|
|
9989
10377
|
"candlestick",
|
|
10378
|
+
"ohlc",
|
|
10379
|
+
"range-area",
|
|
10380
|
+
"range-bar",
|
|
10381
|
+
"error-bar",
|
|
10382
|
+
"parallel-coordinates",
|
|
10383
|
+
"contour",
|
|
10384
|
+
"surface",
|
|
10385
|
+
"bullet",
|
|
10386
|
+
"pareto",
|
|
9990
10387
|
"box-plot",
|
|
9991
10388
|
"histogram",
|
|
9992
10389
|
"violin",
|
|
@@ -10013,6 +10410,12 @@ var cartesianSpecializedVariants = [
|
|
|
10013
10410
|
"histogram",
|
|
10014
10411
|
"waterfall",
|
|
10015
10412
|
"candlestick",
|
|
10413
|
+
"ohlc",
|
|
10414
|
+
"range-area",
|
|
10415
|
+
"range-bar",
|
|
10416
|
+
"error-bar",
|
|
10417
|
+
"bullet",
|
|
10418
|
+
"pareto",
|
|
10016
10419
|
"box-plot",
|
|
10017
10420
|
"violin",
|
|
10018
10421
|
"hexbin",
|
|
@@ -10024,15 +10427,30 @@ var cartesianSpecializedVariants = [
|
|
|
10024
10427
|
"milestone-timeline"
|
|
10025
10428
|
];
|
|
10026
10429
|
function specializedVariantHasYNumericAxis(variant) {
|
|
10027
|
-
return ![
|
|
10028
|
-
|
|
10029
|
-
|
|
10430
|
+
return ![
|
|
10431
|
+
"timeline",
|
|
10432
|
+
"milestone-timeline",
|
|
10433
|
+
"gantt",
|
|
10434
|
+
"heatmap",
|
|
10435
|
+
"calendar-heatmap",
|
|
10436
|
+
"ridgeline",
|
|
10437
|
+
"hexbin",
|
|
10438
|
+
"contour",
|
|
10439
|
+
"surface",
|
|
10440
|
+
"parallel-coordinates"
|
|
10441
|
+
].includes(variant);
|
|
10030
10442
|
}
|
|
10031
10443
|
function specializedVariantHasXCategoryLabels(variant) {
|
|
10032
10444
|
return [
|
|
10033
10445
|
"histogram",
|
|
10034
10446
|
"waterfall",
|
|
10035
10447
|
"candlestick",
|
|
10448
|
+
"ohlc",
|
|
10449
|
+
"range-area",
|
|
10450
|
+
"range-bar",
|
|
10451
|
+
"error-bar",
|
|
10452
|
+
"bullet",
|
|
10453
|
+
"pareto",
|
|
10036
10454
|
"box-plot",
|
|
10037
10455
|
"violin",
|
|
10038
10456
|
"stream",
|
|
@@ -10043,7 +10461,7 @@ function specializedVariantHasXCategoryLabels(variant) {
|
|
|
10043
10461
|
].includes(variant);
|
|
10044
10462
|
}
|
|
10045
10463
|
function specializedVariantUsesSlotLabels(variant) {
|
|
10046
|
-
return ["waterfall"].includes(variant);
|
|
10464
|
+
return ["waterfall", "range-area", "bullet"].includes(variant);
|
|
10047
10465
|
}
|
|
10048
10466
|
function getSeriesPlotBounds(plot) {
|
|
10049
10467
|
return {
|
|
@@ -10311,55 +10729,441 @@ function Candlestick({ data, plot, showValues, styles, yMax, yMin }) {
|
|
|
10311
10729
|
})
|
|
10312
10730
|
] });
|
|
10313
10731
|
}
|
|
10314
|
-
function
|
|
10315
|
-
const
|
|
10316
|
-
const
|
|
10732
|
+
function OhlcChart({ data, plot, showValues, styles, yMax, yMin }) {
|
|
10733
|
+
const bodyWidth = candlestickBodyWidth(plot, data.length);
|
|
10734
|
+
const barHalfWidth = bodyWidth / 2;
|
|
10735
|
+
const tick = Math.max(4, bodyWidth * 0.45);
|
|
10317
10736
|
return /* @__PURE__ */ jsx62("g", { children: data.map((item, index) => {
|
|
10318
|
-
var _a2, _b2, _c2, _d2
|
|
10319
|
-
const
|
|
10320
|
-
const
|
|
10321
|
-
const
|
|
10322
|
-
const
|
|
10323
|
-
const maxV = (_e2 = item.max) != null ? _e2 : item.value * 1.35;
|
|
10737
|
+
var _a2, _b2, _c2, _d2;
|
|
10738
|
+
const open = (_a2 = item.open) != null ? _a2 : item.value * 0.9;
|
|
10739
|
+
const close = (_b2 = item.close) != null ? _b2 : item.value;
|
|
10740
|
+
const high = (_c2 = item.high) != null ? _c2 : item.value * 1.08;
|
|
10741
|
+
const low = (_d2 = item.low) != null ? _d2 : item.value * 0.82;
|
|
10324
10742
|
const x = xForEdgeBarIndex(plot, index, data.length, barHalfWidth);
|
|
10325
|
-
const
|
|
10743
|
+
const bullish = close >= open;
|
|
10744
|
+
const openY = yForDomain(open, yMin, yMax, plot);
|
|
10745
|
+
const closeY = yForDomain(close, yMin, yMax, plot);
|
|
10746
|
+
const seriesClass = chartClass(styles, bullish ? 1 : 3);
|
|
10326
10747
|
return /* @__PURE__ */ jsxs52("g", { children: [
|
|
10327
|
-
/* @__PURE__ */ jsx62("line", { className: `${styles.wick} ${seriesClass}`, x1: x, x2: x, y1: yForDomain(min, yMin, yMax, plot), y2: yForDomain(maxV, yMin, yMax, plot) }),
|
|
10328
|
-
/* @__PURE__ */ jsx62("line", { className: `${styles.wick} ${seriesClass}`, x1: x - boxWidth / 2, x2: x + boxWidth / 2, y1: yForDomain(min, yMin, yMax, plot), y2: yForDomain(min, yMin, yMax, plot) }),
|
|
10329
|
-
/* @__PURE__ */ jsx62("line", { className: `${styles.wick} ${seriesClass}`, x1: x - boxWidth / 2, x2: x + boxWidth / 2, y1: yForDomain(maxV, yMin, yMax, plot), y2: yForDomain(maxV, yMin, yMax, plot) }),
|
|
10330
10748
|
/* @__PURE__ */ jsx62(
|
|
10331
|
-
"
|
|
10749
|
+
"line",
|
|
10332
10750
|
{
|
|
10333
|
-
className: `${styles.
|
|
10334
|
-
|
|
10335
|
-
|
|
10336
|
-
|
|
10337
|
-
|
|
10751
|
+
className: `${styles.wick} ${seriesClass}`,
|
|
10752
|
+
x1: x,
|
|
10753
|
+
x2: x,
|
|
10754
|
+
y1: yForDomain(high, yMin, yMax, plot),
|
|
10755
|
+
y2: yForDomain(low, yMin, yMax, plot)
|
|
10338
10756
|
}
|
|
10339
10757
|
),
|
|
10340
|
-
/* @__PURE__ */ jsx62("line", { className: `${styles.wick} ${seriesClass}`,
|
|
10341
|
-
|
|
10758
|
+
/* @__PURE__ */ jsx62("line", { className: `${styles.wick} ${seriesClass}`, x1: x - tick, x2: x, y1: openY, y2: openY }),
|
|
10759
|
+
/* @__PURE__ */ jsx62("line", { className: `${styles.wick} ${seriesClass}`, x1: x, x2: x + tick, y1: closeY, y2: closeY }),
|
|
10760
|
+
showValues ? /* @__PURE__ */ jsx62("text", { className: styles.valueLabel, textAnchor: "middle", x, y: yForDomain(high, yMin, yMax, plot) - 6, children: formatValue(close) }) : null
|
|
10342
10761
|
] }, item.label);
|
|
10343
10762
|
}) });
|
|
10344
10763
|
}
|
|
10345
|
-
function
|
|
10346
|
-
if (
|
|
10347
|
-
return
|
|
10348
|
-
}
|
|
10349
|
-
if (label.length <= maxChars) {
|
|
10350
|
-
return label;
|
|
10764
|
+
function RangeAreaChart({ data, plot, showValues, styles, yMax, yMin }) {
|
|
10765
|
+
if (!data.length) {
|
|
10766
|
+
return null;
|
|
10351
10767
|
}
|
|
10352
|
-
|
|
10768
|
+
const points = data.map((item, index) => {
|
|
10769
|
+
var _a2, _b2, _c2, _d2;
|
|
10770
|
+
const low = (_b2 = (_a2 = item.low) != null ? _a2 : item.min) != null ? _b2 : item.value * 0.75;
|
|
10771
|
+
const high = (_d2 = (_c2 = item.high) != null ? _c2 : item.max) != null ? _d2 : item.value * 1.25;
|
|
10772
|
+
const mid = item.value;
|
|
10773
|
+
const x = xForSeriesCategoryIndex(plot, index, data.length);
|
|
10774
|
+
return {
|
|
10775
|
+
x,
|
|
10776
|
+
lowY: yForDomain(low, yMin, yMax, plot),
|
|
10777
|
+
midY: yForDomain(mid, yMin, yMax, plot),
|
|
10778
|
+
highY: yForDomain(high, yMin, yMax, plot),
|
|
10779
|
+
label: item.label,
|
|
10780
|
+
mid
|
|
10781
|
+
};
|
|
10782
|
+
});
|
|
10783
|
+
const band = [
|
|
10784
|
+
...points.map((point) => `${point.x},${point.highY}`),
|
|
10785
|
+
...[...points].reverse().map((point) => `${point.x},${point.lowY}`)
|
|
10786
|
+
].join(" ");
|
|
10787
|
+
const midLine = points.map((point) => `${point.x},${point.midY}`).join(" ");
|
|
10788
|
+
return /* @__PURE__ */ jsxs52("g", { children: [
|
|
10789
|
+
/* @__PURE__ */ jsx62("polygon", { className: `${styles.area} ${chartClass(styles, 0)}`, points: band }),
|
|
10790
|
+
/* @__PURE__ */ jsx62("polyline", { className: `${styles.line} ${chartClass(styles, 1)}`, fill: "none", points: midLine }),
|
|
10791
|
+
showValues ? points.map((point) => /* @__PURE__ */ jsx62("text", { className: styles.valueLabel, textAnchor: "middle", x: point.x, y: point.highY - 6, children: formatValue(point.mid) }, point.label)) : null
|
|
10792
|
+
] });
|
|
10353
10793
|
}
|
|
10354
|
-
function
|
|
10355
|
-
const
|
|
10356
|
-
const
|
|
10357
|
-
|
|
10358
|
-
|
|
10359
|
-
|
|
10360
|
-
|
|
10361
|
-
|
|
10362
|
-
|
|
10794
|
+
function RangeBarChart({ data, plot, showValues, styles, yMax, yMin }) {
|
|
10795
|
+
const bodyWidth = candlestickBodyWidth(plot, data.length);
|
|
10796
|
+
const barHalfWidth = bodyWidth / 2;
|
|
10797
|
+
return /* @__PURE__ */ jsx62("g", { children: data.map((item, index) => {
|
|
10798
|
+
var _a2, _b2, _c2, _d2;
|
|
10799
|
+
const low = (_b2 = (_a2 = item.low) != null ? _a2 : item.min) != null ? _b2 : item.value * 0.75;
|
|
10800
|
+
const high = (_d2 = (_c2 = item.high) != null ? _c2 : item.max) != null ? _d2 : item.value * 1.25;
|
|
10801
|
+
const x = xForEdgeBarIndex(plot, index, data.length, barHalfWidth);
|
|
10802
|
+
const top = yForDomain(high, yMin, yMax, plot);
|
|
10803
|
+
const bottom = yForDomain(low, yMin, yMax, plot);
|
|
10804
|
+
return /* @__PURE__ */ jsxs52("g", { children: [
|
|
10805
|
+
/* @__PURE__ */ jsx62(
|
|
10806
|
+
"rect",
|
|
10807
|
+
{
|
|
10808
|
+
className: `${styles.bar} ${chartClass(styles, index % paletteClasses.length)}`,
|
|
10809
|
+
height: Math.max(4, bottom - top),
|
|
10810
|
+
rx: "3",
|
|
10811
|
+
width: bodyWidth,
|
|
10812
|
+
x: x - bodyWidth / 2,
|
|
10813
|
+
y: top
|
|
10814
|
+
}
|
|
10815
|
+
),
|
|
10816
|
+
showValues ? /* @__PURE__ */ jsx62("text", { className: styles.valueLabel, textAnchor: "middle", x, y: top - 6, children: formatValue(high) }) : null
|
|
10817
|
+
] }, item.label);
|
|
10818
|
+
}) });
|
|
10819
|
+
}
|
|
10820
|
+
function ErrorBarChart({ data, plot, showValues, styles, yMax, yMin }) {
|
|
10821
|
+
const bodyWidth = Math.min(18, candlestickBodyWidth(plot, data.length));
|
|
10822
|
+
const barHalfWidth = bodyWidth / 2;
|
|
10823
|
+
const cap = Math.max(4, bodyWidth * 0.55);
|
|
10824
|
+
return /* @__PURE__ */ jsx62("g", { children: data.map((item, index) => {
|
|
10825
|
+
var _a2, _b2, _c2;
|
|
10826
|
+
const error = (_a2 = item.error) != null ? _a2 : item.value * 0.12;
|
|
10827
|
+
const low = (_b2 = item.low) != null ? _b2 : item.value - error;
|
|
10828
|
+
const high = (_c2 = item.high) != null ? _c2 : item.value + error;
|
|
10829
|
+
const x = xForEdgeBarIndex(plot, index, data.length, barHalfWidth);
|
|
10830
|
+
const valueY = yForDomain(item.value, yMin, yMax, plot);
|
|
10831
|
+
const highY = yForDomain(high, yMin, yMax, plot);
|
|
10832
|
+
const lowY = yForDomain(low, yMin, yMax, plot);
|
|
10833
|
+
const seriesClass = chartClass(styles, index % paletteClasses.length);
|
|
10834
|
+
return /* @__PURE__ */ jsxs52("g", { children: [
|
|
10835
|
+
/* @__PURE__ */ jsx62(
|
|
10836
|
+
"rect",
|
|
10837
|
+
{
|
|
10838
|
+
className: `${styles.bar} ${seriesClass}`,
|
|
10839
|
+
height: Math.max(4, plot.bottom - valueY),
|
|
10840
|
+
rx: "2",
|
|
10841
|
+
width: bodyWidth,
|
|
10842
|
+
x: x - bodyWidth / 2,
|
|
10843
|
+
y: valueY
|
|
10844
|
+
}
|
|
10845
|
+
),
|
|
10846
|
+
/* @__PURE__ */ jsx62("line", { className: `${styles.wick} ${seriesClass}`, x1: x, x2: x, y1: highY, y2: lowY }),
|
|
10847
|
+
/* @__PURE__ */ jsx62("line", { className: `${styles.wick} ${seriesClass}`, x1: x - cap, x2: x + cap, y1: highY, y2: highY }),
|
|
10848
|
+
/* @__PURE__ */ jsx62("line", { className: `${styles.wick} ${seriesClass}`, x1: x - cap, x2: x + cap, y1: lowY, y2: lowY }),
|
|
10849
|
+
showValues ? /* @__PURE__ */ jsx62("text", { className: styles.valueLabel, textAnchor: "middle", x, y: highY - 6, children: formatValue(item.value) }) : null
|
|
10850
|
+
] }, item.label);
|
|
10851
|
+
}) });
|
|
10852
|
+
}
|
|
10853
|
+
function ParallelCoordinates({ data, plot, showValues, styles }) {
|
|
10854
|
+
const dims = Math.max(2, ...data.map((item) => {
|
|
10855
|
+
var _a2, _b2;
|
|
10856
|
+
return (_b2 = (_a2 = item.values) == null ? void 0 : _a2.length) != null ? _b2 : 0;
|
|
10857
|
+
}));
|
|
10858
|
+
if (!data.length || dims < 2) {
|
|
10859
|
+
return null;
|
|
10860
|
+
}
|
|
10861
|
+
const axes = Array.from({ length: dims }, (_, dim) => {
|
|
10862
|
+
const values = data.map((item) => {
|
|
10863
|
+
var _a2, _b2;
|
|
10864
|
+
return (_b2 = (_a2 = item.values) == null ? void 0 : _a2[dim]) != null ? _b2 : item.value;
|
|
10865
|
+
});
|
|
10866
|
+
const min = Math.min(...values);
|
|
10867
|
+
const max = Math.max(...values);
|
|
10868
|
+
return { min, max: max === min ? min + 1 : max };
|
|
10869
|
+
});
|
|
10870
|
+
const xAt = (dim) => dims <= 1 ? (plot.gridLeft + plot.gridRight) / 2 : plot.gridLeft + dim * (plot.gridRight - plot.gridLeft) / (dims - 1);
|
|
10871
|
+
return /* @__PURE__ */ jsxs52("g", { children: [
|
|
10872
|
+
axes.map((axis, dim) => {
|
|
10873
|
+
const x = xAt(dim);
|
|
10874
|
+
return /* @__PURE__ */ jsxs52("g", { children: [
|
|
10875
|
+
/* @__PURE__ */ jsx62("line", { className: styles.gridLine, x1: x, x2: x, y1: plot.top, y2: plot.bottom }),
|
|
10876
|
+
/* @__PURE__ */ jsxs52("text", { className: styles.axisLabel, textAnchor: "middle", x, y: plot.bottom + 16, children: [
|
|
10877
|
+
"D",
|
|
10878
|
+
dim + 1
|
|
10879
|
+
] }),
|
|
10880
|
+
/* @__PURE__ */ jsx62("text", { className: styles.axisLabel, textAnchor: "middle", x, y: plot.top - 8, children: formatValue(axis.max) })
|
|
10881
|
+
] }, `axis-${dim}`);
|
|
10882
|
+
}),
|
|
10883
|
+
data.map((item, index) => {
|
|
10884
|
+
var _a2, _b2;
|
|
10885
|
+
const points = Array.from({ length: dims }, (_, dim) => {
|
|
10886
|
+
var _a3, _b3;
|
|
10887
|
+
const value = (_b3 = (_a3 = item.values) == null ? void 0 : _a3[dim]) != null ? _b3 : item.value;
|
|
10888
|
+
const axis = axes[dim];
|
|
10889
|
+
const y = plot.bottom - (value - axis.min) / (axis.max - axis.min) * (plot.bottom - plot.top);
|
|
10890
|
+
return `${xAt(dim)},${y}`;
|
|
10891
|
+
}).join(" ");
|
|
10892
|
+
return /* @__PURE__ */ jsxs52("g", { children: [
|
|
10893
|
+
/* @__PURE__ */ jsx62("polyline", { className: `${styles.line} ${chartClass(styles, index % paletteClasses.length)}`, fill: "none", points }),
|
|
10894
|
+
showValues ? /* @__PURE__ */ jsx62(
|
|
10895
|
+
"text",
|
|
10896
|
+
{
|
|
10897
|
+
className: styles.valueLabel,
|
|
10898
|
+
textAnchor: "start",
|
|
10899
|
+
x: xAt(dims - 1) + 6,
|
|
10900
|
+
y: plot.bottom - (((_b2 = (_a2 = item.values) == null ? void 0 : _a2[dims - 1]) != null ? _b2 : item.value) - axes[dims - 1].min) / (axes[dims - 1].max - axes[dims - 1].min) * (plot.bottom - plot.top),
|
|
10901
|
+
children: item.label
|
|
10902
|
+
}
|
|
10903
|
+
) : null
|
|
10904
|
+
] }, item.label);
|
|
10905
|
+
})
|
|
10906
|
+
] });
|
|
10907
|
+
}
|
|
10908
|
+
function ContourPlot({ data, plot, showValues, styles }) {
|
|
10909
|
+
const cols = Math.max(4, Math.ceil(Math.sqrt(Math.max(data.length, 1))));
|
|
10910
|
+
const rows = Math.max(3, Math.ceil(data.length / cols));
|
|
10911
|
+
const values = data.length ? data.map((item) => item.value) : Array.from({ length: cols * rows }, (_, index) => 20 + index * 17 % 80);
|
|
10912
|
+
const min = Math.min(...values);
|
|
10913
|
+
const max = Math.max(...values);
|
|
10914
|
+
const cellW = (plot.gridRight - plot.gridLeft) / cols;
|
|
10915
|
+
const cellH = (plot.bottom - plot.top) / rows;
|
|
10916
|
+
return /* @__PURE__ */ jsxs52("g", { children: [
|
|
10917
|
+
Array.from({ length: rows * cols }, (_, index) => {
|
|
10918
|
+
const value = values[index % values.length];
|
|
10919
|
+
const col = index % cols;
|
|
10920
|
+
const row = Math.floor(index / cols);
|
|
10921
|
+
const intensity = (value - min) / Math.max(1, max - min);
|
|
10922
|
+
const band = Math.min(5, Math.floor(intensity * 6));
|
|
10923
|
+
return /* @__PURE__ */ jsx62(
|
|
10924
|
+
"rect",
|
|
10925
|
+
{
|
|
10926
|
+
className: `${styles.area} ${chartClass(styles, band)}`,
|
|
10927
|
+
height: Math.max(2, cellH - 1),
|
|
10928
|
+
opacity: 0.35 + intensity * 0.55,
|
|
10929
|
+
rx: "2",
|
|
10930
|
+
width: Math.max(2, cellW - 1),
|
|
10931
|
+
x: plot.gridLeft + col * cellW,
|
|
10932
|
+
y: plot.top + row * cellH
|
|
10933
|
+
},
|
|
10934
|
+
`contour-${index}`
|
|
10935
|
+
);
|
|
10936
|
+
}),
|
|
10937
|
+
Array.from({ length: 4 }, (_, ring) => {
|
|
10938
|
+
const t = (ring + 1) / 5;
|
|
10939
|
+
const cx = plot.gridLeft + (plot.gridRight - plot.gridLeft) * 0.55;
|
|
10940
|
+
const cy = plot.top + (plot.bottom - plot.top) * 0.48;
|
|
10941
|
+
const rx = (plot.gridRight - plot.gridLeft) * (0.16 + t * 0.28);
|
|
10942
|
+
const ry = (plot.bottom - plot.top) * (0.14 + t * 0.24);
|
|
10943
|
+
return /* @__PURE__ */ jsx62(
|
|
10944
|
+
"ellipse",
|
|
10945
|
+
{
|
|
10946
|
+
className: `${styles.line} ${chartClass(styles, ring % paletteClasses.length)}`,
|
|
10947
|
+
cx,
|
|
10948
|
+
cy,
|
|
10949
|
+
fill: "none",
|
|
10950
|
+
rx,
|
|
10951
|
+
ry
|
|
10952
|
+
},
|
|
10953
|
+
`contour-ring-${ring}`
|
|
10954
|
+
);
|
|
10955
|
+
}),
|
|
10956
|
+
showValues ? /* @__PURE__ */ jsxs52(
|
|
10957
|
+
"text",
|
|
10958
|
+
{
|
|
10959
|
+
className: styles.valueLabel,
|
|
10960
|
+
textAnchor: "middle",
|
|
10961
|
+
x: (plot.gridLeft + plot.gridRight) / 2,
|
|
10962
|
+
y: plot.top + 14,
|
|
10963
|
+
children: [
|
|
10964
|
+
formatValue(max),
|
|
10965
|
+
" peak"
|
|
10966
|
+
]
|
|
10967
|
+
}
|
|
10968
|
+
) : null
|
|
10969
|
+
] });
|
|
10970
|
+
}
|
|
10971
|
+
function SurfacePlot({ data, plot, showValues, styles }) {
|
|
10972
|
+
const cols = 8;
|
|
10973
|
+
const rows = 6;
|
|
10974
|
+
const values = data.length ? data.map((item) => item.value) : Array.from({ length: cols * rows }, (_, index) => 30 + index * 13 % 70);
|
|
10975
|
+
const min = Math.min(...values);
|
|
10976
|
+
const max = Math.max(...values);
|
|
10977
|
+
const cellW = (plot.gridRight - plot.gridLeft) / cols;
|
|
10978
|
+
const cellH = (plot.bottom - plot.top) / rows;
|
|
10979
|
+
const project = (col, row, value) => {
|
|
10980
|
+
const intensity = (value - min) / Math.max(1, max - min);
|
|
10981
|
+
const x = plot.gridLeft + col * cellW + row * cellW * 0.18;
|
|
10982
|
+
const y = plot.top + row * cellH * 0.72 + (1 - intensity) * cellH * 0.55;
|
|
10983
|
+
return { x, y };
|
|
10984
|
+
};
|
|
10985
|
+
return /* @__PURE__ */ jsxs52("g", { children: [
|
|
10986
|
+
Array.from(
|
|
10987
|
+
{ length: rows - 1 },
|
|
10988
|
+
(_, row) => Array.from({ length: cols - 1 }, (_2, col) => {
|
|
10989
|
+
const i = row * cols + col;
|
|
10990
|
+
const v00 = values[i % values.length];
|
|
10991
|
+
const v10 = values[(i + 1) % values.length];
|
|
10992
|
+
const v01 = values[(i + cols) % values.length];
|
|
10993
|
+
const v11 = values[(i + cols + 1) % values.length];
|
|
10994
|
+
const p00 = project(col, row, v00);
|
|
10995
|
+
const p10 = project(col + 1, row, v10);
|
|
10996
|
+
const p01 = project(col, row + 1, v01);
|
|
10997
|
+
const p11 = project(col + 1, row + 1, v11);
|
|
10998
|
+
const avg = (v00 + v10 + v01 + v11) / 4;
|
|
10999
|
+
const band = Math.min(5, Math.floor((avg - min) / Math.max(1, max - min) * 6));
|
|
11000
|
+
return /* @__PURE__ */ jsx62(
|
|
11001
|
+
"polygon",
|
|
11002
|
+
{
|
|
11003
|
+
className: `${styles.area} ${chartClass(styles, band)}`,
|
|
11004
|
+
opacity: 0.55 + (avg - min) / Math.max(1, max - min) * 0.35,
|
|
11005
|
+
points: `${p00.x},${p00.y} ${p10.x},${p10.y} ${p11.x},${p11.y} ${p01.x},${p01.y}`
|
|
11006
|
+
},
|
|
11007
|
+
`surface-${row}-${col}`
|
|
11008
|
+
);
|
|
11009
|
+
})
|
|
11010
|
+
),
|
|
11011
|
+
showValues ? /* @__PURE__ */ jsx62(
|
|
11012
|
+
"text",
|
|
11013
|
+
{
|
|
11014
|
+
className: styles.valueLabel,
|
|
11015
|
+
textAnchor: "middle",
|
|
11016
|
+
x: (plot.gridLeft + plot.gridRight) / 2,
|
|
11017
|
+
y: plot.top + 14,
|
|
11018
|
+
children: "Surface 2D projection"
|
|
11019
|
+
}
|
|
11020
|
+
) : null
|
|
11021
|
+
] });
|
|
11022
|
+
}
|
|
11023
|
+
function BulletChart({ data, plot, showValues, styles, yMax, yMin }) {
|
|
11024
|
+
const laneHeight = Math.min(28, (plot.bottom - plot.top) / Math.max(data.length, 1) * 0.62);
|
|
11025
|
+
return /* @__PURE__ */ jsx62("g", { children: data.map((item, index) => {
|
|
11026
|
+
var _a2, _b2, _c2, _d2;
|
|
11027
|
+
const slot = (plot.bottom - plot.top) / Math.max(data.length, 1);
|
|
11028
|
+
const y = plot.top + index * slot + (slot - laneHeight) / 2;
|
|
11029
|
+
const max = Math.max((_a2 = item.max) != null ? _a2 : yMax, (_b2 = item.target) != null ? _b2 : item.value, item.value, 1);
|
|
11030
|
+
const scale = (value) => plot.gridLeft + (value - yMin) / Math.max(1, max - yMin) * (plot.gridRight - plot.gridLeft);
|
|
11031
|
+
const actual = scale(item.value);
|
|
11032
|
+
const target = scale((_c2 = item.target) != null ? _c2 : item.value * 0.85);
|
|
11033
|
+
const qualitative = scale((_d2 = item.max) != null ? _d2 : max);
|
|
11034
|
+
return /* @__PURE__ */ jsxs52("g", { children: [
|
|
11035
|
+
/* @__PURE__ */ jsx62(
|
|
11036
|
+
"rect",
|
|
11037
|
+
{
|
|
11038
|
+
className: `${styles.area} ${chartClass(styles, 5)}`,
|
|
11039
|
+
height: laneHeight,
|
|
11040
|
+
rx: "4",
|
|
11041
|
+
width: Math.max(4, qualitative - plot.gridLeft),
|
|
11042
|
+
x: plot.gridLeft,
|
|
11043
|
+
y
|
|
11044
|
+
}
|
|
11045
|
+
),
|
|
11046
|
+
/* @__PURE__ */ jsx62(
|
|
11047
|
+
"rect",
|
|
11048
|
+
{
|
|
11049
|
+
className: `${styles.bar} ${chartClass(styles, 0)}`,
|
|
11050
|
+
height: laneHeight * 0.45,
|
|
11051
|
+
rx: "2",
|
|
11052
|
+
width: Math.max(4, actual - plot.gridLeft),
|
|
11053
|
+
x: plot.gridLeft,
|
|
11054
|
+
y: y + laneHeight * 0.275
|
|
11055
|
+
}
|
|
11056
|
+
),
|
|
11057
|
+
/* @__PURE__ */ jsx62(
|
|
11058
|
+
"line",
|
|
11059
|
+
{
|
|
11060
|
+
className: `${styles.wick} ${chartClass(styles, 3)}`,
|
|
11061
|
+
strokeWidth: "3",
|
|
11062
|
+
x1: target,
|
|
11063
|
+
x2: target,
|
|
11064
|
+
y1: y,
|
|
11065
|
+
y2: y + laneHeight
|
|
11066
|
+
}
|
|
11067
|
+
),
|
|
11068
|
+
/* @__PURE__ */ jsx62("text", { className: styles.axisLabel, dominantBaseline: "middle", x: plot.gridLeft - 8, y: y + laneHeight / 2, textAnchor: "end", children: item.label }),
|
|
11069
|
+
showValues ? /* @__PURE__ */ jsx62("text", { className: styles.valueLabel, x: actual + 6, y: y + laneHeight / 2 + 4, children: formatValue(item.value) }) : null
|
|
11070
|
+
] }, item.label);
|
|
11071
|
+
}) });
|
|
11072
|
+
}
|
|
11073
|
+
function ParetoChart({ data, plot, showValues, styles }) {
|
|
11074
|
+
const sorted = [...data].sort((a, b) => b.value - a.value);
|
|
11075
|
+
const total = sorted.reduce((sum, item) => sum + Math.max(0, item.value), 0) || 1;
|
|
11076
|
+
const valueMax = Math.max(1, ...sorted.map((item) => item.value));
|
|
11077
|
+
let running = 0;
|
|
11078
|
+
const bodyWidth = candlestickBodyWidth(plot, sorted.length);
|
|
11079
|
+
const barHalfWidth = bodyWidth / 2;
|
|
11080
|
+
const points = sorted.map((item, index) => {
|
|
11081
|
+
running += Math.max(0, item.value);
|
|
11082
|
+
const cumulative = running / total * 100;
|
|
11083
|
+
const x = xForEdgeBarIndex(plot, index, sorted.length, barHalfWidth);
|
|
11084
|
+
return __spreadProps(__spreadValues({}, item), { cumulative, x });
|
|
11085
|
+
});
|
|
11086
|
+
const linePoints = points.map((item) => `${item.x},${yForDomain(item.cumulative, 0, 100, plot)}`).join(" ");
|
|
11087
|
+
return /* @__PURE__ */ jsxs52("g", { children: [
|
|
11088
|
+
points.map((item) => {
|
|
11089
|
+
const top = yForDomain(item.value, 0, valueMax, plot);
|
|
11090
|
+
return /* @__PURE__ */ jsxs52("g", { children: [
|
|
11091
|
+
/* @__PURE__ */ jsx62(
|
|
11092
|
+
"rect",
|
|
11093
|
+
{
|
|
11094
|
+
className: `${styles.bar} ${chartClass(styles, 0)}`,
|
|
11095
|
+
height: Math.max(4, plot.bottom - top),
|
|
11096
|
+
rx: "2",
|
|
11097
|
+
width: bodyWidth,
|
|
11098
|
+
x: item.x - bodyWidth / 2,
|
|
11099
|
+
y: top
|
|
11100
|
+
}
|
|
11101
|
+
),
|
|
11102
|
+
showValues ? /* @__PURE__ */ jsx62("text", { className: styles.valueLabel, textAnchor: "middle", x: item.x, y: top - 6, children: formatValue(item.value) }) : null,
|
|
11103
|
+
/* @__PURE__ */ jsx62(
|
|
11104
|
+
"circle",
|
|
11105
|
+
{
|
|
11106
|
+
className: `${styles.point} ${chartClass(styles, 1)}`,
|
|
11107
|
+
cx: item.x,
|
|
11108
|
+
cy: yForDomain(item.cumulative, 0, 100, plot),
|
|
11109
|
+
r: "3.5"
|
|
11110
|
+
}
|
|
11111
|
+
)
|
|
11112
|
+
] }, item.label);
|
|
11113
|
+
}),
|
|
11114
|
+
/* @__PURE__ */ jsx62("polyline", { className: `${styles.line} ${chartClass(styles, 1)}`, fill: "none", points: linePoints }),
|
|
11115
|
+
/* @__PURE__ */ jsx62("text", { className: styles.axisLabel, textAnchor: "start", x: plot.gridRight + 6, y: plot.top + 4, children: "%" })
|
|
11116
|
+
] });
|
|
11117
|
+
}
|
|
11118
|
+
function BoxPlot({ data, plot, showValues, styles, yMax, yMin }) {
|
|
11119
|
+
const barHalfWidth = getBoxPlotBarHalfWidth(plot, data.length);
|
|
11120
|
+
const boxWidth = barHalfWidth * 2;
|
|
11121
|
+
return /* @__PURE__ */ jsx62("g", { children: data.map((item, index) => {
|
|
11122
|
+
var _a2, _b2, _c2, _d2, _e2;
|
|
11123
|
+
const min = (_a2 = item.min) != null ? _a2 : item.value * 0.6;
|
|
11124
|
+
const q1 = (_b2 = item.q1) != null ? _b2 : item.value * 0.78;
|
|
11125
|
+
const median = (_c2 = item.median) != null ? _c2 : item.value;
|
|
11126
|
+
const q3 = (_d2 = item.q3) != null ? _d2 : item.value * 1.18;
|
|
11127
|
+
const maxV = (_e2 = item.max) != null ? _e2 : item.value * 1.35;
|
|
11128
|
+
const x = xForEdgeBarIndex(plot, index, data.length, barHalfWidth);
|
|
11129
|
+
const seriesClass = chartClass(styles, index % paletteClasses.length);
|
|
11130
|
+
return /* @__PURE__ */ jsxs52("g", { children: [
|
|
11131
|
+
/* @__PURE__ */ jsx62("line", { className: `${styles.wick} ${seriesClass}`, x1: x, x2: x, y1: yForDomain(min, yMin, yMax, plot), y2: yForDomain(maxV, yMin, yMax, plot) }),
|
|
11132
|
+
/* @__PURE__ */ jsx62("line", { className: `${styles.wick} ${seriesClass}`, x1: x - boxWidth / 2, x2: x + boxWidth / 2, y1: yForDomain(min, yMin, yMax, plot), y2: yForDomain(min, yMin, yMax, plot) }),
|
|
11133
|
+
/* @__PURE__ */ jsx62("line", { className: `${styles.wick} ${seriesClass}`, x1: x - boxWidth / 2, x2: x + boxWidth / 2, y1: yForDomain(maxV, yMin, yMax, plot), y2: yForDomain(maxV, yMin, yMax, plot) }),
|
|
11134
|
+
/* @__PURE__ */ jsx62(
|
|
11135
|
+
"rect",
|
|
11136
|
+
{
|
|
11137
|
+
className: `${styles.area} ${seriesClass}`,
|
|
11138
|
+
height: yForDomain(q1, yMin, yMax, plot) - yForDomain(q3, yMin, yMax, plot),
|
|
11139
|
+
width: boxWidth,
|
|
11140
|
+
x: x - boxWidth / 2,
|
|
11141
|
+
y: yForDomain(q3, yMin, yMax, plot)
|
|
11142
|
+
}
|
|
11143
|
+
),
|
|
11144
|
+
/* @__PURE__ */ jsx62("line", { className: `${styles.wick} ${seriesClass}`, strokeWidth: "2", x1: x - boxWidth / 2, x2: x + boxWidth / 2, y1: yForDomain(median, yMin, yMax, plot), y2: yForDomain(median, yMin, yMax, plot) }),
|
|
11145
|
+
showValues ? /* @__PURE__ */ jsx62("text", { className: styles.valueLabel, textAnchor: "middle", x, y: yForDomain(maxV, yMin, yMax, plot) - 6, children: formatValue(median) }) : null
|
|
11146
|
+
] }, item.label);
|
|
11147
|
+
}) });
|
|
11148
|
+
}
|
|
11149
|
+
function truncateLabel(label, maxChars) {
|
|
11150
|
+
if (maxChars < 4) {
|
|
11151
|
+
return "";
|
|
11152
|
+
}
|
|
11153
|
+
if (label.length <= maxChars) {
|
|
11154
|
+
return label;
|
|
11155
|
+
}
|
|
11156
|
+
return `${label.slice(0, maxChars - 1)}\u2026`;
|
|
11157
|
+
}
|
|
11158
|
+
function Treemap({ data, plot, showValues, styles }) {
|
|
11159
|
+
const gap = 2;
|
|
11160
|
+
const labelHeight = 18;
|
|
11161
|
+
const items = data.map((item, index) => ({
|
|
11162
|
+
group: item.group,
|
|
11163
|
+
index,
|
|
11164
|
+
label: item.label,
|
|
11165
|
+
value: Math.max(0, item.value)
|
|
11166
|
+
}));
|
|
10363
11167
|
const layout = layoutGroupedTreemap(
|
|
10364
11168
|
items,
|
|
10365
11169
|
plot.gridLeft,
|
|
@@ -11040,6 +11844,24 @@ function SpecializedChart(props) {
|
|
|
11040
11844
|
return /* @__PURE__ */ jsx62(Waterfall, __spreadValues({}, props));
|
|
11041
11845
|
case "candlestick":
|
|
11042
11846
|
return /* @__PURE__ */ jsx62(Candlestick, __spreadValues({}, props));
|
|
11847
|
+
case "ohlc":
|
|
11848
|
+
return /* @__PURE__ */ jsx62(OhlcChart, __spreadValues({}, props));
|
|
11849
|
+
case "range-area":
|
|
11850
|
+
return /* @__PURE__ */ jsx62(RangeAreaChart, __spreadValues({}, props));
|
|
11851
|
+
case "range-bar":
|
|
11852
|
+
return /* @__PURE__ */ jsx62(RangeBarChart, __spreadValues({}, props));
|
|
11853
|
+
case "error-bar":
|
|
11854
|
+
return /* @__PURE__ */ jsx62(ErrorBarChart, __spreadValues({}, props));
|
|
11855
|
+
case "parallel-coordinates":
|
|
11856
|
+
return /* @__PURE__ */ jsx62(ParallelCoordinates, __spreadValues({}, props));
|
|
11857
|
+
case "contour":
|
|
11858
|
+
return /* @__PURE__ */ jsx62(ContourPlot, __spreadValues({}, props));
|
|
11859
|
+
case "surface":
|
|
11860
|
+
return /* @__PURE__ */ jsx62(SurfacePlot, __spreadValues({}, props));
|
|
11861
|
+
case "bullet":
|
|
11862
|
+
return /* @__PURE__ */ jsx62(BulletChart, __spreadValues({}, props));
|
|
11863
|
+
case "pareto":
|
|
11864
|
+
return /* @__PURE__ */ jsx62(ParetoChart, __spreadValues({}, props));
|
|
11043
11865
|
case "box-plot":
|
|
11044
11866
|
return /* @__PURE__ */ jsx62(BoxPlot, __spreadValues({}, props));
|
|
11045
11867
|
case "treemap":
|
|
@@ -11084,10 +11906,10 @@ function SpecializedChart(props) {
|
|
|
11084
11906
|
}
|
|
11085
11907
|
|
|
11086
11908
|
// ../../components/Chart/Chart.module.css
|
|
11087
|
-
var Chart_default = {"
|
|
11909
|
+
var Chart_default = {"mapValue":"opus_L6guCK_mapValue","header":"opus_L6guCK_header","graphLink":"opus_L6guCK_graphLink","graphLinkColored":"opus_L6guCK_graphLinkColored","wick":"opus_L6guCK_wick","legendItem":"opus_L6guCK_legendItem","sankeyCenterLabel":"opus_L6guCK_sankeyCenterLabel","mapRegion":"opus_L6guCK_mapRegion","sankeyLink":"opus_L6guCK_sankeyLink","link":"opus_L6guCK_link","sankeySideName":"opus_L6guCK_sankeySideName","violin":"opus_L6guCK_violin","sankeySideLabel":"opus_L6guCK_sankeySideLabel","treemapGroupLabel":"opus_L6guCK_treemapGroupLabel","mapLabel":"opus_L6guCK_mapLabel","meta":"opus_L6guCK_meta","funnel":"opus_L6guCK_funnel","graphNode":"opus_L6guCK_graphNode","area":"opus_L6guCK_area","axes":"opus_L6guCK_axes","seriesE":"opus_L6guCK_seriesE","funnelGuide":"opus_L6guCK_funnelGuide","land":"opus_L6guCK_land","seriesA":"opus_L6guCK_seriesA","radarArea":"opus_L6guCK_radarArea","ridge":"opus_L6guCK_ridge","sankeyLabelBox":"opus_L6guCK_sankeyLabelBox","bar":"opus_L6guCK_bar","legendSwatch":"opus_L6guCK_legendSwatch","seriesC":"opus_L6guCK_seriesC","point":"opus_L6guCK_point","line":"opus_L6guCK_line","radarGrid":"opus_L6guCK_radarGrid","packLabel":"opus_L6guCK_packLabel","axisLine":"opus_L6guCK_axisLine","chart":"opus_L6guCK_chart","mapLand":"opus_L6guCK_mapLand","sankeyNode":"opus_L6guCK_sankeyNode","ring":"opus_L6guCK_ring","valueLabel":"opus_L6guCK_valueLabel","seriesF":"opus_L6guCK_seriesF","graphNodeRing":"opus_L6guCK_graphNodeRing","graphLabel":"opus_L6guCK_graphLabel","seriesB":"opus_L6guCK_seriesB","title":"opus_L6guCK_title","slice":"opus_L6guCK_slice","svg":"opus_L6guCK_svg","treemapLabel":"opus_L6guCK_treemapLabel","axisTitle":"opus_L6guCK_axisTitle","legend":"opus_L6guCK_legend","sankeySideValue":"opus_L6guCK_sankeySideValue","axisLabels":"opus_L6guCK_axisLabels","grid":"opus_L6guCK_grid","axisTick":"opus_L6guCK_axisTick","axisGuide":"opus_L6guCK_axisGuide","seriesD":"opus_L6guCK_seriesD","packParent":"opus_L6guCK_packParent","funnelText":"opus_L6guCK_funnelText"};
|
|
11088
11910
|
|
|
11089
11911
|
// ../../components/Chart/Chart.tsx
|
|
11090
|
-
import { Fragment as
|
|
11912
|
+
import { Fragment as Fragment8, jsx as jsx63, jsxs as jsxs53 } from "react/jsx-runtime";
|
|
11091
11913
|
var cartesianVariants = [
|
|
11092
11914
|
"bar-vertical",
|
|
11093
11915
|
"bar-horizontal",
|
|
@@ -11309,7 +12131,7 @@ function getWaterfallDomain(data) {
|
|
|
11309
12131
|
return { min: min - pad, max: max + pad };
|
|
11310
12132
|
}
|
|
11311
12133
|
function getChartYDomain(variant, data, series, fallbackMax) {
|
|
11312
|
-
if (variant === "candlestick") {
|
|
12134
|
+
if (variant === "candlestick" || variant === "ohlc") {
|
|
11313
12135
|
const lows = data.map((item) => {
|
|
11314
12136
|
var _a2;
|
|
11315
12137
|
return (_a2 = item.low) != null ? _a2 : item.value * 0.82;
|
|
@@ -11323,6 +12145,45 @@ function getChartYDomain(variant, data, series, fallbackMax) {
|
|
|
11323
12145
|
const pad = Math.max(0, (max - min) * 0.04);
|
|
11324
12146
|
return { min: min - pad, max: max + pad };
|
|
11325
12147
|
}
|
|
12148
|
+
if (variant === "range-area" || variant === "range-bar") {
|
|
12149
|
+
const lows = data.map((item) => {
|
|
12150
|
+
var _a2, _b2;
|
|
12151
|
+
return (_b2 = (_a2 = item.low) != null ? _a2 : item.min) != null ? _b2 : item.value * 0.75;
|
|
12152
|
+
});
|
|
12153
|
+
const highs = data.map((item) => {
|
|
12154
|
+
var _a2, _b2;
|
|
12155
|
+
return (_b2 = (_a2 = item.high) != null ? _a2 : item.max) != null ? _b2 : item.value * 1.25;
|
|
12156
|
+
});
|
|
12157
|
+
const min = Math.min(...lows);
|
|
12158
|
+
const max = Math.max(...highs);
|
|
12159
|
+
const pad = Math.max(0, (max - min) * 0.06);
|
|
12160
|
+
return { min: Math.max(0, min - pad), max: max + pad };
|
|
12161
|
+
}
|
|
12162
|
+
if (variant === "error-bar") {
|
|
12163
|
+
const lows = data.map((item) => {
|
|
12164
|
+
var _a2, _b2;
|
|
12165
|
+
const error = (_a2 = item.error) != null ? _a2 : item.value * 0.12;
|
|
12166
|
+
return ((_b2 = item.low) != null ? _b2 : item.value) - (item.low == null ? error : 0);
|
|
12167
|
+
});
|
|
12168
|
+
const highs = data.map((item) => {
|
|
12169
|
+
var _a2, _b2;
|
|
12170
|
+
const error = (_a2 = item.error) != null ? _a2 : item.value * 0.12;
|
|
12171
|
+
return ((_b2 = item.high) != null ? _b2 : item.value) + (item.high == null ? error : 0);
|
|
12172
|
+
});
|
|
12173
|
+
const min = Math.min(0, ...lows);
|
|
12174
|
+
const max = Math.max(...highs);
|
|
12175
|
+
return { min, max: max * 1.08 };
|
|
12176
|
+
}
|
|
12177
|
+
if (variant === "bullet") {
|
|
12178
|
+
const highs = data.map((item) => {
|
|
12179
|
+
var _a2, _b2;
|
|
12180
|
+
return Math.max(item.value, (_a2 = item.target) != null ? _a2 : item.value, (_b2 = item.max) != null ? _b2 : item.value);
|
|
12181
|
+
});
|
|
12182
|
+
return { min: 0, max: Math.max(1, ...highs) * 1.08 };
|
|
12183
|
+
}
|
|
12184
|
+
if (variant === "pareto") {
|
|
12185
|
+
return { min: 0, max: Math.max(1, ...data.map((item) => item.value)) * 1.08 };
|
|
12186
|
+
}
|
|
11326
12187
|
if (variant === "box-plot") {
|
|
11327
12188
|
const lows = data.map((item) => {
|
|
11328
12189
|
var _a2;
|
|
@@ -12002,7 +12863,7 @@ function Chart({
|
|
|
12002
12863
|
})
|
|
12003
12864
|
) : variant === "stacked-area" ? stackedSeriesMax(series) : useDomainAxis ? yDomain.max : max;
|
|
12004
12865
|
const axisMin = useDomainAxis ? yDomain.min : 0;
|
|
12005
|
-
|
|
12866
|
+
useEffect23(() => {
|
|
12006
12867
|
const svg = svgRef.current;
|
|
12007
12868
|
if (!svg) {
|
|
12008
12869
|
return;
|
|
@@ -12132,7 +12993,7 @@ function Chart({
|
|
|
12132
12993
|
variant === "gantt" ? /* @__PURE__ */ jsx63(GanttRowLabels, { data, plot: activePlot, styles: Chart_default }) : null,
|
|
12133
12994
|
variant === "heatmap" && showAxis ? /* @__PURE__ */ jsx63(HeatmapAxisLabels, { plot: activePlot, styles: Chart_default }) : null,
|
|
12134
12995
|
variant === "calendar-heatmap" && showAxis ? /* @__PURE__ */ jsx63(CalendarHeatmapAxisLabels, { plot: activePlot, styles: Chart_default }) : null,
|
|
12135
|
-
isSpecializedChartVariant(variant) ? /* @__PURE__ */ jsxs53(
|
|
12996
|
+
isSpecializedChartVariant(variant) ? /* @__PURE__ */ jsxs53(Fragment8, { children: [
|
|
12136
12997
|
/* @__PURE__ */ jsx63("defs", { children: /* @__PURE__ */ jsx63("clipPath", { id: plotClipId, children: /* @__PURE__ */ jsx63(
|
|
12137
12998
|
"rect",
|
|
12138
12999
|
{
|
|
@@ -12167,7 +13028,7 @@ function Chart({
|
|
|
12167
13028
|
slotBounds: specializedVariantUsesSlotLabels(variant) ? { left: activePlot.gridLeft, right: activePlot.gridRight } : void 0,
|
|
12168
13029
|
slotCentered: specializedVariantUsesSlotLabels(variant),
|
|
12169
13030
|
timeline: variant === "timeline" || variant === "milestone-timeline",
|
|
12170
|
-
edgeBarHalfWidth: variant === "candlestick" ? getCandlestickBarHalfWidth(activePlot, data.length) : variant === "histogram" ? getHistogramBarHalfWidth(activePlot, data.length) : variant === "box-plot" ? getBoxPlotBarHalfWidth(activePlot, data.length) : variant === "violin" ? getViolinBarHalfWidth(activePlot, data.length) : void 0
|
|
13031
|
+
edgeBarHalfWidth: variant === "candlestick" || variant === "ohlc" || variant === "range-bar" || variant === "error-bar" || variant === "pareto" ? getCandlestickBarHalfWidth(activePlot, data.length) : variant === "histogram" ? getHistogramBarHalfWidth(activePlot, data.length) : variant === "box-plot" ? getBoxPlotBarHalfWidth(activePlot, data.length) : variant === "violin" ? getViolinBarHalfWidth(activePlot, data.length) : void 0
|
|
12171
13032
|
}
|
|
12172
13033
|
) : null
|
|
12173
13034
|
] }),
|
|
@@ -12184,7 +13045,7 @@ function Chart({
|
|
|
12184
13045
|
}
|
|
12185
13046
|
|
|
12186
13047
|
// ../../components/Skeleton/Skeleton.module.css
|
|
12187
|
-
var Skeleton_default = {"
|
|
13048
|
+
var Skeleton_default = {"skeleton":"opus_27r9Md_skeleton","skeletonPulse":"opus_27r9Md_skeletonPulse","tableCell":"opus_27r9Md_tableCell","media":"opus_27r9Md_media","avatar":"opus_27r9Md_avatar","avatarContent":"opus_27r9Md_avatarContent","stack":"opus_27r9Md_stack","line":"opus_27r9Md_line","tableRow":"opus_27r9Md_tableRow","skeletonShimmer":"opus_27r9Md_skeletonShimmer"};
|
|
12188
13049
|
|
|
12189
13050
|
// ../../components/Skeleton/Skeleton.tsx
|
|
12190
13051
|
import { jsx as jsx64, jsxs as jsxs54 } from "react/jsx-runtime";
|
|
@@ -12225,17 +13086,17 @@ function Skeleton({
|
|
|
12225
13086
|
}
|
|
12226
13087
|
|
|
12227
13088
|
// ../../components/Carousel/Carousel.tsx
|
|
12228
|
-
import { useCallback as useCallback14, useEffect as
|
|
12229
|
-
import { faChevronLeft, faChevronRight } from "@fortawesome/free-solid-svg-icons";
|
|
13089
|
+
import { useCallback as useCallback14, useEffect as useEffect25, useMemo as useMemo15, useRef as useRef26, useState as useState32 } from "react";
|
|
13090
|
+
import { faChevronLeft, faChevronRight as faChevronRight2 } from "@fortawesome/free-solid-svg-icons";
|
|
12230
13091
|
import { FontAwesomeIcon as FontAwesomeIcon8 } from "@fortawesome/react-fontawesome";
|
|
12231
13092
|
|
|
12232
13093
|
// ../../components/Lightbox/Lightbox.tsx
|
|
12233
|
-
import { useCallback as useCallback13, useEffect as
|
|
13094
|
+
import { useCallback as useCallback13, useEffect as useEffect24, useRef as useRef25, useState as useState31 } from "react";
|
|
12234
13095
|
import { faXmark as faXmark2 } from "@fortawesome/free-solid-svg-icons";
|
|
12235
13096
|
import { FontAwesomeIcon as FontAwesomeIcon7 } from "@fortawesome/react-fontawesome";
|
|
12236
13097
|
|
|
12237
13098
|
// ../../components/Lightbox/Lightbox.module.css
|
|
12238
|
-
var Lightbox_default = {"
|
|
13099
|
+
var Lightbox_default = {"lightboxPanelIn":"opus_s7Rpyv_lightboxPanelIn","trigger":"opus_s7Rpyv_trigger","lightboxFadeOut":"opus_s7Rpyv_lightboxFadeOut","lightbox":"opus_s7Rpyv_lightbox","close":"opus_s7Rpyv_close","image":"opus_s7Rpyv_image","closeIcon":"opus_s7Rpyv_closeIcon","lightboxFadeIn":"opus_s7Rpyv_lightboxFadeIn","caption":"opus_s7Rpyv_caption","lightboxPanelOut":"opus_s7Rpyv_lightboxPanelOut","overlay":"opus_s7Rpyv_overlay","frame":"opus_s7Rpyv_frame","panel":"opus_s7Rpyv_panel"};
|
|
12239
13100
|
|
|
12240
13101
|
// ../../components/Lightbox/Lightbox.tsx
|
|
12241
13102
|
import { jsx as jsx65, jsxs as jsxs55 } from "react/jsx-runtime";
|
|
@@ -12268,7 +13129,7 @@ function Lightbox({
|
|
|
12268
13129
|
initialFocusRef: closeRef,
|
|
12269
13130
|
restoreFocus: true
|
|
12270
13131
|
});
|
|
12271
|
-
|
|
13132
|
+
useEffect24(() => {
|
|
12272
13133
|
if (!isOpen || !dismissOnEscape) {
|
|
12273
13134
|
return;
|
|
12274
13135
|
}
|
|
@@ -12280,7 +13141,7 @@ function Lightbox({
|
|
|
12280
13141
|
window.addEventListener("keydown", handleKeyDown);
|
|
12281
13142
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
12282
13143
|
}, [dismissOnEscape, isOpen, setOpen]);
|
|
12283
|
-
|
|
13144
|
+
useEffect24(() => {
|
|
12284
13145
|
if (isOpen) {
|
|
12285
13146
|
const timeout2 = window.setTimeout(() => setIsRendered(true), 0);
|
|
12286
13147
|
return () => window.clearTimeout(timeout2);
|
|
@@ -12350,10 +13211,10 @@ function Lightbox({
|
|
|
12350
13211
|
}
|
|
12351
13212
|
|
|
12352
13213
|
// ../../components/Carousel/Carousel.module.css
|
|
12353
|
-
var Carousel_default = {"
|
|
13214
|
+
var Carousel_default = {"pips":"opus_N4occJ_pips","pip":"opus_N4occJ_pip","navIcon":"opus_N4occJ_navIcon","visuallyHidden":"opus_N4occJ_visuallyHidden","slide":"opus_N4occJ_slide","stage":"opus_N4occJ_stage","empty":"opus_N4occJ_empty","track":"opus_N4occJ_track","image":"opus_N4occJ_image","footer":"opus_N4occJ_footer","carousel":"opus_N4occJ_carousel","nav":"opus_N4occJ_nav","caption":"opus_N4occJ_caption"};
|
|
12354
13215
|
|
|
12355
13216
|
// ../../components/Carousel/Carousel.tsx
|
|
12356
|
-
import { Fragment as
|
|
13217
|
+
import { Fragment as Fragment9, jsx as jsx66, jsxs as jsxs56 } from "react/jsx-runtime";
|
|
12357
13218
|
function safeIndex(index, total) {
|
|
12358
13219
|
if (total <= 0) {
|
|
12359
13220
|
return 0;
|
|
@@ -12407,7 +13268,7 @@ function Carousel({
|
|
|
12407
13268
|
const [transitionEnabled, setTransitionEnabled] = useState32(true);
|
|
12408
13269
|
const [isAnimating, setIsAnimating] = useState32(false);
|
|
12409
13270
|
const isJumpingRef = useRef26(false);
|
|
12410
|
-
|
|
13271
|
+
useEffect25(() => {
|
|
12411
13272
|
if (images.length === 0) {
|
|
12412
13273
|
return;
|
|
12413
13274
|
}
|
|
@@ -12552,7 +13413,7 @@ function Carousel({
|
|
|
12552
13413
|
})
|
|
12553
13414
|
}
|
|
12554
13415
|
),
|
|
12555
|
-
hasMultiple ? /* @__PURE__ */ jsxs56(
|
|
13416
|
+
hasMultiple ? /* @__PURE__ */ jsxs56(Fragment9, { children: [
|
|
12556
13417
|
/* @__PURE__ */ jsx66(
|
|
12557
13418
|
"button",
|
|
12558
13419
|
{
|
|
@@ -12574,7 +13435,7 @@ function Carousel({
|
|
|
12574
13435
|
disabled: isAnimating || !loopEnabled && trackIndex === trackImages.length - 1,
|
|
12575
13436
|
type: "button",
|
|
12576
13437
|
onClick: handleNext,
|
|
12577
|
-
children: /* @__PURE__ */ jsx66(FontAwesomeIcon8, { "aria-hidden": "true", className: Carousel_default.navIcon, icon:
|
|
13438
|
+
children: /* @__PURE__ */ jsx66(FontAwesomeIcon8, { "aria-hidden": "true", className: Carousel_default.navIcon, icon: faChevronRight2 })
|
|
12578
13439
|
}
|
|
12579
13440
|
),
|
|
12580
13441
|
showPips ? /* @__PURE__ */ jsx66("div", { "aria-label": "Choose slide", className: Carousel_default.pips, children: images.map((image, index) => {
|
|
@@ -12602,7 +13463,7 @@ function Carousel({
|
|
|
12602
13463
|
}
|
|
12603
13464
|
|
|
12604
13465
|
// ../../components/ImageThumbnail/ImageThumbnail.module.css
|
|
12605
|
-
var ImageThumbnail_default = {"thumbnail":"opus_Gp1o-9_thumbnail","
|
|
13466
|
+
var ImageThumbnail_default = {"thumbnail":"opus_Gp1o-9_thumbnail","caption":"opus_Gp1o-9_caption","image":"opus_Gp1o-9_image","figure":"opus_Gp1o-9_figure"};
|
|
12606
13467
|
|
|
12607
13468
|
// ../../components/ImageThumbnail/ImageThumbnail.tsx
|
|
12608
13469
|
import { jsx as jsx67, jsxs as jsxs57 } from "react/jsx-runtime";
|
|
@@ -12671,13 +13532,13 @@ function ImageGallery({
|
|
|
12671
13532
|
}
|
|
12672
13533
|
|
|
12673
13534
|
// ../../components/ModelViewer/ModelViewer.tsx
|
|
12674
|
-
import { createElement, useCallback as useCallback15, useEffect as
|
|
13535
|
+
import { createElement, useCallback as useCallback15, useEffect as useEffect27, useRef as useRef28, useState as useState34 } from "react";
|
|
12675
13536
|
|
|
12676
13537
|
// ../../components/ModelViewer/FireBarrelModelViewer.tsx
|
|
12677
|
-
import { useEffect as
|
|
13538
|
+
import { useEffect as useEffect26, useRef as useRef27, useState as useState33 } from "react";
|
|
12678
13539
|
|
|
12679
13540
|
// ../../components/ModelViewer/ModelViewer.module.css
|
|
12680
|
-
var ModelViewer_default = {"
|
|
13541
|
+
var ModelViewer_default = {"stage":"opus_f7gfHI_stage","canvasHost":"opus_f7gfHI_canvasHost","loading":"opus_f7gfHI_loading","viewer":"opus_f7gfHI_viewer","model":"opus_f7gfHI_model","caption":"opus_f7gfHI_caption"};
|
|
12681
13542
|
|
|
12682
13543
|
// ../../components/ModelViewer/FireBarrelModelViewer.tsx
|
|
12683
13544
|
import { jsx as jsx69, jsxs as jsxs58 } from "react/jsx-runtime";
|
|
@@ -12691,7 +13552,7 @@ function FireBarrelModelViewer({
|
|
|
12691
13552
|
const canvasHostRef = useRef27(null);
|
|
12692
13553
|
const [failed, setFailed] = useState33(false);
|
|
12693
13554
|
const [loading, setLoading] = useState33(true);
|
|
12694
|
-
|
|
13555
|
+
useEffect26(() => {
|
|
12695
13556
|
const canvasHost = canvasHostRef.current;
|
|
12696
13557
|
if (!canvasHost) {
|
|
12697
13558
|
return;
|
|
@@ -12835,7 +13696,7 @@ function StandardModelViewer({
|
|
|
12835
13696
|
const setViewerRef = useCallback15((node) => {
|
|
12836
13697
|
viewerRef.current = node;
|
|
12837
13698
|
}, []);
|
|
12838
|
-
|
|
13699
|
+
useEffect27(() => {
|
|
12839
13700
|
let mounted = true;
|
|
12840
13701
|
loadModelViewer().then(() => {
|
|
12841
13702
|
if (mounted) {
|
|
@@ -12850,7 +13711,7 @@ function StandardModelViewer({
|
|
|
12850
13711
|
mounted = false;
|
|
12851
13712
|
};
|
|
12852
13713
|
}, []);
|
|
12853
|
-
|
|
13714
|
+
useEffect27(() => {
|
|
12854
13715
|
if (!ready || failed || !asset.autoplay) {
|
|
12855
13716
|
return;
|
|
12856
13717
|
}
|
|
@@ -12890,12 +13751,12 @@ function StandardModelViewer({
|
|
|
12890
13751
|
}
|
|
12891
13752
|
|
|
12892
13753
|
// ../../components/ModelLightbox/ModelLightbox.tsx
|
|
12893
|
-
import { useCallback as useCallback16, useEffect as
|
|
13754
|
+
import { useCallback as useCallback16, useEffect as useEffect28, useRef as useRef29, useState as useState35 } from "react";
|
|
12894
13755
|
import { faXmark as faXmark3 } from "@fortawesome/free-solid-svg-icons";
|
|
12895
13756
|
import { FontAwesomeIcon as FontAwesomeIcon9 } from "@fortawesome/react-fontawesome";
|
|
12896
13757
|
|
|
12897
13758
|
// ../../components/ModelLightbox/ModelLightbox.module.css
|
|
12898
|
-
var ModelLightbox_default = {"
|
|
13759
|
+
var ModelLightbox_default = {"close":"opus_YYKGIB_close","trigger":"opus_YYKGIB_trigger","modelLightboxFadeIn":"opus_YYKGIB_modelLightboxFadeIn","frame":"opus_YYKGIB_frame","lightbox":"opus_YYKGIB_lightbox","closeIcon":"opus_YYKGIB_closeIcon","modelLightboxPanelOut":"opus_YYKGIB_modelLightboxPanelOut","modelLightboxPanelIn":"opus_YYKGIB_modelLightboxPanelIn","overlay":"opus_YYKGIB_overlay","modelLightboxFadeOut":"opus_YYKGIB_modelLightboxFadeOut"};
|
|
12899
13760
|
|
|
12900
13761
|
// ../../components/ModelLightbox/ModelLightbox.tsx
|
|
12901
13762
|
import { jsx as jsx71, jsxs as jsxs60 } from "react/jsx-runtime";
|
|
@@ -12925,7 +13786,7 @@ function ModelLightbox({
|
|
|
12925
13786
|
initialFocusRef: closeRef,
|
|
12926
13787
|
restoreFocus: true
|
|
12927
13788
|
});
|
|
12928
|
-
|
|
13789
|
+
useEffect28(() => {
|
|
12929
13790
|
if (!isOpen || !dismissOnEscape) {
|
|
12930
13791
|
return;
|
|
12931
13792
|
}
|
|
@@ -12937,7 +13798,7 @@ function ModelLightbox({
|
|
|
12937
13798
|
window.addEventListener("keydown", handleKeyDown);
|
|
12938
13799
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
12939
13800
|
}, [dismissOnEscape, isOpen, setOpen]);
|
|
12940
|
-
|
|
13801
|
+
useEffect28(() => {
|
|
12941
13802
|
if (isOpen) {
|
|
12942
13803
|
const timeout2 = window.setTimeout(() => setIsRendered(true), 0);
|
|
12943
13804
|
return () => window.clearTimeout(timeout2);
|
|
@@ -13000,27 +13861,29 @@ function ModelLightbox({
|
|
|
13000
13861
|
}
|
|
13001
13862
|
|
|
13002
13863
|
// ../../components/ModelThumbnail/ModelThumbnail.module.css
|
|
13003
|
-
var ModelThumbnail_default = {"
|
|
13864
|
+
var ModelThumbnail_default = {"staticThumbnail":"opus_NkO9Yb_staticThumbnail","content":"opus_NkO9Yb_content","caption":"opus_NkO9Yb_caption"};
|
|
13004
13865
|
|
|
13005
13866
|
// ../../components/ModelThumbnail/ModelThumbnail.tsx
|
|
13006
13867
|
import { jsx as jsx72, jsxs as jsxs61 } from "react/jsx-runtime";
|
|
13007
13868
|
function ThumbnailContent({
|
|
13008
13869
|
asset,
|
|
13870
|
+
fill,
|
|
13009
13871
|
showCaption,
|
|
13010
13872
|
size
|
|
13011
13873
|
}) {
|
|
13012
|
-
return /* @__PURE__ */ jsxs61("span", { className: ModelThumbnail_default.content, "data-size": size, children: [
|
|
13874
|
+
return /* @__PURE__ */ jsxs61("span", { className: ModelThumbnail_default.content, "data-fill": fill ? "true" : void 0, "data-size": size, children: [
|
|
13013
13875
|
/* @__PURE__ */ jsx72(ModelViewer, { asset, cameraControls: false, height: "compact", showCaption: false }),
|
|
13014
13876
|
showCaption ? /* @__PURE__ */ jsx72("span", { className: ModelThumbnail_default.caption, children: asset.name }) : null
|
|
13015
13877
|
] });
|
|
13016
13878
|
}
|
|
13017
13879
|
function ModelThumbnail({
|
|
13018
13880
|
asset,
|
|
13881
|
+
fill = false,
|
|
13019
13882
|
openInLightbox = true,
|
|
13020
13883
|
showCaption = true,
|
|
13021
13884
|
size = "medium"
|
|
13022
13885
|
}) {
|
|
13023
|
-
const content = /* @__PURE__ */ jsx72(ThumbnailContent, { asset, showCaption, size });
|
|
13886
|
+
const content = /* @__PURE__ */ jsx72(ThumbnailContent, { asset, fill, showCaption, size });
|
|
13024
13887
|
if (openInLightbox) {
|
|
13025
13888
|
return /* @__PURE__ */ jsx72(
|
|
13026
13889
|
ModelLightbox,
|
|
@@ -13035,7 +13898,7 @@ function ModelThumbnail({
|
|
|
13035
13898
|
}
|
|
13036
13899
|
|
|
13037
13900
|
// ../../components/ModelGallery/ModelGallery.module.css
|
|
13038
|
-
var ModelGallery_default = {"
|
|
13901
|
+
var ModelGallery_default = {"gallery":"opus_8llAjm_gallery","empty":"opus_8llAjm_empty"};
|
|
13039
13902
|
|
|
13040
13903
|
// ../../components/ModelGallery/ModelGallery.tsx
|
|
13041
13904
|
import { jsx as jsx73 } from "react/jsx-runtime";
|
|
@@ -13054,6 +13917,7 @@ function ModelGallery({
|
|
|
13054
13917
|
ModelThumbnail,
|
|
13055
13918
|
{
|
|
13056
13919
|
asset,
|
|
13920
|
+
fill: true,
|
|
13057
13921
|
openInLightbox: true,
|
|
13058
13922
|
showCaption: showCaptions,
|
|
13059
13923
|
size: thumbnailSize
|
|
@@ -13118,7 +13982,7 @@ function CatalogIcon({ iconName }) {
|
|
|
13118
13982
|
}
|
|
13119
13983
|
|
|
13120
13984
|
// ../../components/EmptyState/EmptyState.module.css
|
|
13121
|
-
var EmptyState_default = {"
|
|
13985
|
+
var EmptyState_default = {"root":"opus_1KckGY_root","copy":"opus_1KckGY_copy","title":"opus_1KckGY_title","actions":"opus_1KckGY_actions","description":"opus_1KckGY_description","iconWrap":"opus_1KckGY_iconWrap"};
|
|
13122
13986
|
|
|
13123
13987
|
// ../../components/EmptyState/EmptyState.tsx
|
|
13124
13988
|
import { jsx as jsx75, jsxs as jsxs62 } from "react/jsx-runtime";
|
|
@@ -13151,68 +14015,1052 @@ function EmptyState({
|
|
|
13151
14015
|
);
|
|
13152
14016
|
}
|
|
13153
14017
|
|
|
13154
|
-
// ../../components/
|
|
13155
|
-
|
|
13156
|
-
createContext as createContext8,
|
|
13157
|
-
useContext as useContext9,
|
|
13158
|
-
useState as useState36
|
|
13159
|
-
} from "react";
|
|
14018
|
+
// ../../components/Badge/Badge.module.css
|
|
14019
|
+
var Badge_default = {"badge":"opus_1GJHzl_badge","dot":"opus_1GJHzl_dot"};
|
|
13160
14020
|
|
|
13161
|
-
// ../../components/
|
|
13162
|
-
|
|
14021
|
+
// ../../components/Badge/Badge.tsx
|
|
14022
|
+
import { jsx as jsx76, jsxs as jsxs63 } from "react/jsx-runtime";
|
|
14023
|
+
function Badge({
|
|
14024
|
+
dot = false,
|
|
14025
|
+
label,
|
|
14026
|
+
size = "md",
|
|
14027
|
+
tone = "neutral",
|
|
14028
|
+
variant = "soft"
|
|
14029
|
+
}) {
|
|
14030
|
+
return /* @__PURE__ */ jsxs63("span", { className: Badge_default.badge, "data-size": size, "data-tone": tone, "data-variant": variant, children: [
|
|
14031
|
+
dot ? /* @__PURE__ */ jsx76("span", { "aria-hidden": "true", className: Badge_default.dot }) : null,
|
|
14032
|
+
label
|
|
14033
|
+
] });
|
|
14034
|
+
}
|
|
13163
14035
|
|
|
13164
|
-
// ../../components/
|
|
13165
|
-
|
|
13166
|
-
|
|
13167
|
-
|
|
13168
|
-
|
|
13169
|
-
|
|
13170
|
-
|
|
13171
|
-
|
|
13172
|
-
|
|
13173
|
-
density = "comfortable",
|
|
13174
|
-
footer,
|
|
13175
|
-
header,
|
|
13176
|
-
side = "left"
|
|
14036
|
+
// ../../components/Divider/Divider.module.css
|
|
14037
|
+
var Divider_default = {"divider":"opus_ux1i0D_divider","label":"opus_ux1i0D_label","line":"opus_ux1i0D_line","labelled":"opus_ux1i0D_labelled"};
|
|
14038
|
+
|
|
14039
|
+
// ../../components/Divider/Divider.tsx
|
|
14040
|
+
import { jsx as jsx77, jsxs as jsxs64 } from "react/jsx-runtime";
|
|
14041
|
+
function Divider({
|
|
14042
|
+
label,
|
|
14043
|
+
orientation = "horizontal",
|
|
14044
|
+
tone = "default"
|
|
13177
14045
|
}) {
|
|
13178
|
-
|
|
13179
|
-
|
|
13180
|
-
|
|
13181
|
-
|
|
13182
|
-
|
|
13183
|
-
|
|
14046
|
+
if (orientation === "vertical") {
|
|
14047
|
+
return /* @__PURE__ */ jsx77(
|
|
14048
|
+
"div",
|
|
14049
|
+
{
|
|
14050
|
+
"aria-orientation": "vertical",
|
|
14051
|
+
className: Divider_default.divider,
|
|
14052
|
+
"data-orientation": "vertical",
|
|
14053
|
+
"data-tone": tone,
|
|
14054
|
+
role: "separator"
|
|
14055
|
+
}
|
|
14056
|
+
);
|
|
14057
|
+
}
|
|
14058
|
+
if (label) {
|
|
14059
|
+
return /* @__PURE__ */ jsxs64("div", { className: Divider_default.labelled, "data-tone": tone, role: "separator", children: [
|
|
14060
|
+
/* @__PURE__ */ jsx77("span", { "aria-hidden": "true", className: Divider_default.line }),
|
|
14061
|
+
/* @__PURE__ */ jsx77("span", { className: Divider_default.label, children: label }),
|
|
14062
|
+
/* @__PURE__ */ jsx77("span", { "aria-hidden": "true", className: Divider_default.line })
|
|
14063
|
+
] });
|
|
14064
|
+
}
|
|
14065
|
+
return /* @__PURE__ */ jsx77(
|
|
14066
|
+
"hr",
|
|
14067
|
+
{
|
|
14068
|
+
className: Divider_default.divider,
|
|
14069
|
+
"data-orientation": "horizontal",
|
|
14070
|
+
"data-tone": tone
|
|
14071
|
+
}
|
|
14072
|
+
);
|
|
14073
|
+
}
|
|
14074
|
+
|
|
14075
|
+
// ../../components/Avatar/Avatar.tsx
|
|
14076
|
+
import { useMemo as useMemo16, useState as useState36 } from "react";
|
|
14077
|
+
|
|
14078
|
+
// ../../components/Avatar/Avatar.module.css
|
|
14079
|
+
var Avatar_default = {"initials":"opus_jsRWxO_initials","image":"opus_jsRWxO_image","avatar":"opus_jsRWxO_avatar"};
|
|
14080
|
+
|
|
14081
|
+
// ../../components/Avatar/Avatar.tsx
|
|
14082
|
+
import { jsx as jsx78 } from "react/jsx-runtime";
|
|
14083
|
+
function initialsFromName(name) {
|
|
14084
|
+
var _a2, _b2;
|
|
14085
|
+
const parts = name.trim().split(/\s+/).filter(Boolean);
|
|
14086
|
+
if (parts.length === 0) {
|
|
14087
|
+
return "?";
|
|
14088
|
+
}
|
|
14089
|
+
if (parts.length === 1) {
|
|
14090
|
+
return parts[0].slice(0, 2).toUpperCase();
|
|
14091
|
+
}
|
|
14092
|
+
return `${(_a2 = parts[0][0]) != null ? _a2 : ""}${(_b2 = parts[1][0]) != null ? _b2 : ""}`.toUpperCase();
|
|
14093
|
+
}
|
|
14094
|
+
function Avatar({
|
|
14095
|
+
name,
|
|
14096
|
+
shape = "circle",
|
|
14097
|
+
size = "md",
|
|
14098
|
+
src
|
|
14099
|
+
}) {
|
|
14100
|
+
const [failed, setFailed] = useState36(false);
|
|
14101
|
+
const initials = useMemo16(() => initialsFromName(name), [name]);
|
|
14102
|
+
const showImage = Boolean(src) && !failed;
|
|
14103
|
+
return /* @__PURE__ */ jsx78(
|
|
14104
|
+
"span",
|
|
14105
|
+
{
|
|
14106
|
+
"aria-label": name,
|
|
14107
|
+
className: Avatar_default.avatar,
|
|
14108
|
+
"data-shape": shape,
|
|
14109
|
+
"data-size": size,
|
|
14110
|
+
role: "img",
|
|
14111
|
+
title: name,
|
|
14112
|
+
children: showImage ? (
|
|
14113
|
+
// eslint-disable-next-line @next/next/no-img-element
|
|
14114
|
+
/* @__PURE__ */ jsx78(
|
|
14115
|
+
"img",
|
|
14116
|
+
{
|
|
14117
|
+
alt: "",
|
|
14118
|
+
className: Avatar_default.image,
|
|
14119
|
+
onError: () => setFailed(true),
|
|
14120
|
+
src
|
|
14121
|
+
}
|
|
14122
|
+
)
|
|
14123
|
+
) : /* @__PURE__ */ jsx78("span", { "aria-hidden": "true", className: Avatar_default.initials, children: initials })
|
|
14124
|
+
}
|
|
14125
|
+
);
|
|
14126
|
+
}
|
|
14127
|
+
|
|
14128
|
+
// ../../components/AvatarGroup/AvatarGroup.module.css
|
|
14129
|
+
var AvatarGroup_default = {"group":"opus_Vv36ne_group","overflow":"opus_Vv36ne_overflow","item":"opus_Vv36ne_item"};
|
|
14130
|
+
|
|
14131
|
+
// ../../components/AvatarGroup/AvatarGroup.tsx
|
|
14132
|
+
import { jsx as jsx79, jsxs as jsxs65 } from "react/jsx-runtime";
|
|
14133
|
+
function AvatarGroup({ items, max = 4, size = "md" }) {
|
|
14134
|
+
const safeMax = Math.max(1, Math.round(max));
|
|
14135
|
+
const visible = items.slice(0, safeMax);
|
|
14136
|
+
const overflow = Math.max(0, items.length - visible.length);
|
|
14137
|
+
return /* @__PURE__ */ jsxs65("div", { "aria-label": `${items.length} people`, className: AvatarGroup_default.group, role: "group", children: [
|
|
14138
|
+
visible.map((item, index) => /* @__PURE__ */ jsx79("span", { className: AvatarGroup_default.item, style: { zIndex: visible.length - index }, children: /* @__PURE__ */ jsx79(Avatar, { name: item.name, size, src: item.src }) }, `${item.name}-${index}`)),
|
|
14139
|
+
overflow > 0 ? /* @__PURE__ */ jsxs65(
|
|
14140
|
+
"span",
|
|
14141
|
+
{
|
|
14142
|
+
"aria-label": `${overflow} more`,
|
|
14143
|
+
className: AvatarGroup_default.overflow,
|
|
14144
|
+
"data-size": size,
|
|
14145
|
+
children: [
|
|
14146
|
+
"+",
|
|
14147
|
+
overflow
|
|
14148
|
+
]
|
|
14149
|
+
}
|
|
14150
|
+
) : null
|
|
14151
|
+
] });
|
|
14152
|
+
}
|
|
14153
|
+
|
|
14154
|
+
// ../../components/Statistic/Statistic.module.css
|
|
14155
|
+
var Statistic_default = {"label":"opus_vCN1bv_label","root":"opus_vCN1bv_root","value":"opus_vCN1bv_value","affix":"opus_vCN1bv_affix","trend":"opus_vCN1bv_trend"};
|
|
14156
|
+
|
|
14157
|
+
// ../../components/Statistic/Statistic.tsx
|
|
14158
|
+
import { jsx as jsx80, jsxs as jsxs66 } from "react/jsx-runtime";
|
|
14159
|
+
function Statistic({
|
|
14160
|
+
label,
|
|
14161
|
+
prefix,
|
|
14162
|
+
suffix,
|
|
14163
|
+
trend,
|
|
14164
|
+
trendLabel,
|
|
14165
|
+
value
|
|
14166
|
+
}) {
|
|
14167
|
+
return /* @__PURE__ */ jsxs66("div", { className: Statistic_default.root, children: [
|
|
14168
|
+
/* @__PURE__ */ jsx80("p", { className: Statistic_default.label, children: label }),
|
|
14169
|
+
/* @__PURE__ */ jsxs66("p", { className: Statistic_default.value, children: [
|
|
14170
|
+
prefix ? /* @__PURE__ */ jsx80("span", { className: Statistic_default.affix, children: prefix }) : null,
|
|
14171
|
+
/* @__PURE__ */ jsx80("span", { children: value }),
|
|
14172
|
+
suffix ? /* @__PURE__ */ jsx80("span", { className: Statistic_default.affix, children: suffix }) : null
|
|
14173
|
+
] }),
|
|
14174
|
+
trend && trendLabel ? /* @__PURE__ */ jsxs66("p", { className: Statistic_default.trend, "data-trend": trend, children: [
|
|
14175
|
+
/* @__PURE__ */ jsx80("span", { "aria-hidden": "true", children: trend === "up" ? "\u2191" : trend === "down" ? "\u2193" : "\u2192" }),
|
|
14176
|
+
trendLabel
|
|
14177
|
+
] }) : null
|
|
14178
|
+
] });
|
|
14179
|
+
}
|
|
14180
|
+
|
|
14181
|
+
// ../../components/List/List.module.css
|
|
14182
|
+
var List_default = {"description":"opus_ys3xlo_description","meta":"opus_ys3xlo_meta","icon":"opus_ys3xlo_icon","item":"opus_ys3xlo_item","list":"opus_ys3xlo_list","title":"opus_ys3xlo_title","head":"opus_ys3xlo_head","body":"opus_ys3xlo_body"};
|
|
14183
|
+
|
|
14184
|
+
// ../../components/List/List.tsx
|
|
14185
|
+
import { jsx as jsx81, jsxs as jsxs67 } from "react/jsx-runtime";
|
|
14186
|
+
function List({ density = "comfortable", items, ordered = false }) {
|
|
14187
|
+
const Tag = ordered ? "ol" : "ul";
|
|
14188
|
+
return /* @__PURE__ */ jsx81(Tag, { className: List_default.list, "data-density": density, "data-ordered": ordered ? "true" : "false", children: items.map((item, index) => /* @__PURE__ */ jsxs67("li", { className: List_default.item, children: [
|
|
14189
|
+
item.icon ? /* @__PURE__ */ jsx81("span", { "aria-hidden": "true", className: List_default.icon, children: /* @__PURE__ */ jsx81(CatalogIcon, { iconName: item.icon }) }) : null,
|
|
14190
|
+
/* @__PURE__ */ jsxs67("div", { className: List_default.body, children: [
|
|
14191
|
+
/* @__PURE__ */ jsxs67("div", { className: List_default.head, children: [
|
|
14192
|
+
/* @__PURE__ */ jsx81("span", { className: List_default.title, children: item.title }),
|
|
14193
|
+
item.meta ? /* @__PURE__ */ jsx81("span", { className: List_default.meta, children: item.meta }) : null
|
|
14194
|
+
] }),
|
|
14195
|
+
item.description ? /* @__PURE__ */ jsx81("p", { className: List_default.description, children: item.description }) : null
|
|
14196
|
+
] })
|
|
14197
|
+
] }, `${item.title}-${index}`)) });
|
|
14198
|
+
}
|
|
14199
|
+
|
|
14200
|
+
// ../../components/DescriptionList/DescriptionList.module.css
|
|
14201
|
+
var DescriptionList_default = {"list":"opus_FY8OsC_list","term":"opus_FY8OsC_term","row":"opus_FY8OsC_row","details":"opus_FY8OsC_details"};
|
|
14202
|
+
|
|
14203
|
+
// ../../components/DescriptionList/DescriptionList.tsx
|
|
14204
|
+
import { jsx as jsx82, jsxs as jsxs68 } from "react/jsx-runtime";
|
|
14205
|
+
function DescriptionList({
|
|
14206
|
+
items,
|
|
14207
|
+
layout = "stacked"
|
|
14208
|
+
}) {
|
|
14209
|
+
return /* @__PURE__ */ jsx82("dl", { className: DescriptionList_default.list, "data-layout": layout, children: items.map((item, index) => /* @__PURE__ */ jsxs68("div", { className: DescriptionList_default.row, children: [
|
|
14210
|
+
/* @__PURE__ */ jsx82("dt", { className: DescriptionList_default.term, children: item.term }),
|
|
14211
|
+
/* @__PURE__ */ jsx82("dd", { className: DescriptionList_default.details, children: item.details })
|
|
14212
|
+
] }, `${item.term}-${index}`)) });
|
|
14213
|
+
}
|
|
14214
|
+
|
|
14215
|
+
// ../../components/PropertyGrid/PropertyGrid.tsx
|
|
14216
|
+
import { useState as useState37 } from "react";
|
|
14217
|
+
|
|
14218
|
+
// ../../components/PropertyGrid/PropertyGrid.module.css
|
|
14219
|
+
var PropertyGrid_default = {"row":"opus_Bnfsue_row","valueCell":"opus_Bnfsue_valueCell","copy":"opus_Bnfsue_copy","value":"opus_Bnfsue_value","grid":"opus_Bnfsue_grid","label":"opus_Bnfsue_label"};
|
|
14220
|
+
|
|
14221
|
+
// ../../components/PropertyGrid/PropertyGrid.tsx
|
|
14222
|
+
import { jsx as jsx83, jsxs as jsxs69 } from "react/jsx-runtime";
|
|
14223
|
+
function PropertyGrid({ items }) {
|
|
14224
|
+
const [copiedIndex, setCopiedIndex] = useState37(null);
|
|
14225
|
+
async function copyValue(value, index) {
|
|
14226
|
+
try {
|
|
14227
|
+
await navigator.clipboard.writeText(value);
|
|
14228
|
+
setCopiedIndex(index);
|
|
14229
|
+
window.setTimeout(() => setCopiedIndex((current) => current === index ? null : current), 1200);
|
|
14230
|
+
} catch (e) {
|
|
14231
|
+
setCopiedIndex(null);
|
|
14232
|
+
}
|
|
14233
|
+
}
|
|
14234
|
+
return /* @__PURE__ */ jsx83("div", { className: PropertyGrid_default.grid, role: "table", "aria-label": "Properties", children: items.map((item, index) => /* @__PURE__ */ jsxs69("div", { className: PropertyGrid_default.row, role: "row", children: [
|
|
14235
|
+
/* @__PURE__ */ jsx83("div", { className: PropertyGrid_default.label, role: "rowheader", children: item.label }),
|
|
14236
|
+
/* @__PURE__ */ jsxs69("div", { className: PropertyGrid_default.valueCell, role: "cell", children: [
|
|
14237
|
+
/* @__PURE__ */ jsx83("span", { className: PropertyGrid_default.value, children: item.value }),
|
|
14238
|
+
item.copyable ? /* @__PURE__ */ jsx83(
|
|
14239
|
+
"button",
|
|
14240
|
+
{
|
|
14241
|
+
"aria-label": `Copy ${item.label}`,
|
|
14242
|
+
className: PropertyGrid_default.copy,
|
|
14243
|
+
onClick: () => void copyValue(item.value, index),
|
|
14244
|
+
type: "button",
|
|
14245
|
+
children: copiedIndex === index ? "Copied" : "Copy"
|
|
14246
|
+
}
|
|
14247
|
+
) : null
|
|
14248
|
+
] })
|
|
14249
|
+
] }, `${item.label}-${index}`)) });
|
|
14250
|
+
}
|
|
14251
|
+
|
|
14252
|
+
// ../../components/ContentTimeline/ContentTimeline.module.css
|
|
14253
|
+
var ContentTimeline_default = {"body":"opus_vApy-v_body","list":"opus_vApy-v_list","description":"opus_vApy-v_description","line":"opus_vApy-v_line","time":"opus_vApy-v_time","title":"opus_vApy-v_title","dot":"opus_vApy-v_dot","item":"opus_vApy-v_item","head":"opus_vApy-v_head","rail":"opus_vApy-v_rail"};
|
|
14254
|
+
|
|
14255
|
+
// ../../components/ContentTimeline/ContentTimeline.tsx
|
|
14256
|
+
import { jsx as jsx84, jsxs as jsxs70 } from "react/jsx-runtime";
|
|
14257
|
+
function ContentTimeline({ items }) {
|
|
14258
|
+
return /* @__PURE__ */ jsx84("ol", { className: ContentTimeline_default.list, children: items.map((item, index) => {
|
|
14259
|
+
var _a2;
|
|
14260
|
+
return /* @__PURE__ */ jsxs70(
|
|
14261
|
+
"li",
|
|
14262
|
+
{
|
|
14263
|
+
className: ContentTimeline_default.item,
|
|
14264
|
+
"data-status": (_a2 = item.status) != null ? _a2 : "default",
|
|
14265
|
+
children: [
|
|
14266
|
+
/* @__PURE__ */ jsxs70("div", { "aria-hidden": "true", className: ContentTimeline_default.rail, children: [
|
|
14267
|
+
/* @__PURE__ */ jsx84("span", { className: ContentTimeline_default.dot }),
|
|
14268
|
+
index < items.length - 1 ? /* @__PURE__ */ jsx84("span", { className: ContentTimeline_default.line }) : null
|
|
14269
|
+
] }),
|
|
14270
|
+
/* @__PURE__ */ jsxs70("div", { className: ContentTimeline_default.body, children: [
|
|
14271
|
+
/* @__PURE__ */ jsxs70("div", { className: ContentTimeline_default.head, children: [
|
|
14272
|
+
/* @__PURE__ */ jsx84("h3", { className: ContentTimeline_default.title, children: item.title }),
|
|
14273
|
+
item.time ? /* @__PURE__ */ jsx84("time", { className: ContentTimeline_default.time, children: item.time }) : null
|
|
14274
|
+
] }),
|
|
14275
|
+
item.description ? /* @__PURE__ */ jsx84("p", { className: ContentTimeline_default.description, children: item.description }) : null
|
|
14276
|
+
] })
|
|
14277
|
+
]
|
|
14278
|
+
},
|
|
14279
|
+
`${item.title}-${index}`
|
|
14280
|
+
);
|
|
14281
|
+
}) });
|
|
14282
|
+
}
|
|
14283
|
+
|
|
14284
|
+
// ../../components/TreeView/TreeView.tsx
|
|
14285
|
+
import { useMemo as useMemo17, useState as useState38 } from "react";
|
|
14286
|
+
|
|
14287
|
+
// ../../components/TreeView/TreeView.module.css
|
|
14288
|
+
var TreeView_default = {"tree":"opus_NlkzXy_tree","leafMark":"opus_NlkzXy_leafMark","children":"opus_NlkzXy_children","node":"opus_NlkzXy_node","row":"opus_NlkzXy_row","label":"opus_NlkzXy_label","toggle":"opus_NlkzXy_toggle"};
|
|
14289
|
+
|
|
14290
|
+
// ../../components/TreeView/TreeView.tsx
|
|
14291
|
+
import { jsx as jsx85, jsxs as jsxs71 } from "react/jsx-runtime";
|
|
14292
|
+
function collectExpandableIds(nodes) {
|
|
14293
|
+
var _a2;
|
|
14294
|
+
const ids = [];
|
|
14295
|
+
for (const node of nodes) {
|
|
14296
|
+
if ((_a2 = node.children) == null ? void 0 : _a2.length) {
|
|
14297
|
+
ids.push(node.id);
|
|
14298
|
+
ids.push(...collectExpandableIds(node.children));
|
|
14299
|
+
}
|
|
14300
|
+
}
|
|
14301
|
+
return ids;
|
|
14302
|
+
}
|
|
14303
|
+
function TreeNode({
|
|
14304
|
+
depth,
|
|
14305
|
+
expandedIds,
|
|
14306
|
+
node,
|
|
14307
|
+
onToggle
|
|
14308
|
+
}) {
|
|
14309
|
+
var _a2;
|
|
14310
|
+
const hasChildren = Boolean((_a2 = node.children) == null ? void 0 : _a2.length);
|
|
14311
|
+
const expanded = expandedIds.has(node.id);
|
|
14312
|
+
return /* @__PURE__ */ jsxs71("li", { className: TreeView_default.node, children: [
|
|
14313
|
+
/* @__PURE__ */ jsxs71("div", { className: TreeView_default.row, style: { paddingLeft: `${depth * 16 + 8}px` }, children: [
|
|
14314
|
+
hasChildren ? /* @__PURE__ */ jsx85(
|
|
14315
|
+
"button",
|
|
14316
|
+
{
|
|
14317
|
+
"aria-expanded": expanded,
|
|
14318
|
+
"aria-label": `${expanded ? "Collapse" : "Expand"} ${node.label}`,
|
|
14319
|
+
className: TreeView_default.toggle,
|
|
14320
|
+
onClick: () => onToggle(node.id),
|
|
14321
|
+
type: "button",
|
|
14322
|
+
children: /* @__PURE__ */ jsx85("span", { "aria-hidden": "true", children: expanded ? "\u25BE" : "\u25B8" })
|
|
14323
|
+
}
|
|
14324
|
+
) : /* @__PURE__ */ jsx85("span", { "aria-hidden": "true", className: TreeView_default.leafMark }),
|
|
14325
|
+
/* @__PURE__ */ jsx85("span", { className: TreeView_default.label, children: node.label })
|
|
14326
|
+
] }),
|
|
14327
|
+
hasChildren && expanded ? /* @__PURE__ */ jsx85("ul", { className: TreeView_default.children, children: node.children.map((child) => /* @__PURE__ */ jsx85(
|
|
14328
|
+
TreeNode,
|
|
14329
|
+
{
|
|
14330
|
+
depth: depth + 1,
|
|
14331
|
+
expandedIds,
|
|
14332
|
+
node: child,
|
|
14333
|
+
onToggle
|
|
14334
|
+
},
|
|
14335
|
+
child.id
|
|
14336
|
+
)) }) : null
|
|
14337
|
+
] });
|
|
14338
|
+
}
|
|
14339
|
+
function TreeView({ defaultExpandedIds, nodes }) {
|
|
14340
|
+
const fallbackIds = useMemo17(() => collectExpandableIds(nodes).slice(0, 2), [nodes]);
|
|
14341
|
+
const [expandedIds, setExpandedIds] = useState38(
|
|
14342
|
+
() => new Set(defaultExpandedIds != null ? defaultExpandedIds : fallbackIds)
|
|
14343
|
+
);
|
|
14344
|
+
function toggle(id) {
|
|
14345
|
+
setExpandedIds((current) => {
|
|
14346
|
+
const next = new Set(current);
|
|
14347
|
+
if (next.has(id)) {
|
|
14348
|
+
next.delete(id);
|
|
14349
|
+
} else {
|
|
14350
|
+
next.add(id);
|
|
14351
|
+
}
|
|
14352
|
+
return next;
|
|
14353
|
+
});
|
|
14354
|
+
}
|
|
14355
|
+
return /* @__PURE__ */ jsx85("ul", { "aria-label": "Tree", className: TreeView_default.tree, role: "tree", children: nodes.map((node) => /* @__PURE__ */ jsx85(
|
|
14356
|
+
TreeNode,
|
|
14357
|
+
{
|
|
14358
|
+
depth: 0,
|
|
14359
|
+
expandedIds,
|
|
14360
|
+
node,
|
|
14361
|
+
onToggle: toggle
|
|
14362
|
+
},
|
|
14363
|
+
node.id
|
|
14364
|
+
)) });
|
|
14365
|
+
}
|
|
14366
|
+
|
|
14367
|
+
// ../../components/MasonryGrid/MasonryGrid.module.css
|
|
14368
|
+
var MasonryGrid_default = {"card":"opus_Fxxd7-_card","body":"opus_Fxxd7-_body","grid":"opus_Fxxd7-_grid","title":"opus_Fxxd7-_title"};
|
|
14369
|
+
|
|
14370
|
+
// ../../components/MasonryGrid/MasonryGrid.tsx
|
|
14371
|
+
import { jsx as jsx86, jsxs as jsxs72 } from "react/jsx-runtime";
|
|
14372
|
+
function MasonryGrid({ columns = 3, gap = 12, items }) {
|
|
14373
|
+
const safeColumns = Math.min(Math.max(Math.round(columns), 2), 4);
|
|
14374
|
+
const safeGap = Math.min(Math.max(Math.round(gap), 8), 28);
|
|
14375
|
+
return /* @__PURE__ */ jsx86(
|
|
14376
|
+
"div",
|
|
14377
|
+
{
|
|
14378
|
+
className: MasonryGrid_default.grid,
|
|
14379
|
+
style: {
|
|
14380
|
+
columnCount: safeColumns,
|
|
14381
|
+
columnGap: `${safeGap}px`
|
|
14382
|
+
},
|
|
14383
|
+
children: items.map((item, index) => /* @__PURE__ */ jsxs72(
|
|
14384
|
+
"article",
|
|
14385
|
+
{
|
|
14386
|
+
className: MasonryGrid_default.card,
|
|
14387
|
+
style: {
|
|
14388
|
+
marginBottom: `${safeGap}px`,
|
|
14389
|
+
minHeight: item.height ? `${item.height}px` : void 0
|
|
14390
|
+
},
|
|
14391
|
+
children: [
|
|
14392
|
+
/* @__PURE__ */ jsx86("h3", { className: MasonryGrid_default.title, children: item.title }),
|
|
14393
|
+
item.body ? /* @__PURE__ */ jsx86("p", { className: MasonryGrid_default.body, children: item.body }) : null
|
|
14394
|
+
]
|
|
14395
|
+
},
|
|
14396
|
+
`${item.title}-${index}`
|
|
14397
|
+
))
|
|
14398
|
+
}
|
|
14399
|
+
);
|
|
14400
|
+
}
|
|
14401
|
+
|
|
14402
|
+
// ../../components/JsonViewer/JsonViewer.tsx
|
|
14403
|
+
import { useMemo as useMemo18, useState as useState39 } from "react";
|
|
14404
|
+
|
|
14405
|
+
// ../../components/JsonViewer/JsonViewer.module.css
|
|
14406
|
+
var JsonViewer_default = {"block":"opus_uLDgXq_block","summary":"opus_uLDgXq_summary","children":"opus_uLDgXq_children","toggleLine":"opus_uLDgXq_toggleLine","line":"opus_uLDgXq_line","boolean":"opus_uLDgXq_boolean","null":"opus_uLDgXq_null","key":"opus_uLDgXq_key","string":"opus_uLDgXq_string","root":"opus_uLDgXq_root","chevron":"opus_uLDgXq_chevron","number":"opus_uLDgXq_number"};
|
|
14407
|
+
|
|
14408
|
+
// ../../components/JsonViewer/JsonViewer.tsx
|
|
14409
|
+
import { jsx as jsx87, jsxs as jsxs73 } from "react/jsx-runtime";
|
|
14410
|
+
function isPlainObject(value) {
|
|
14411
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
14412
|
+
}
|
|
14413
|
+
function PrimitiveValue({ value }) {
|
|
14414
|
+
if (value === null) {
|
|
14415
|
+
return /* @__PURE__ */ jsx87("span", { className: JsonViewer_default.null, children: "null" });
|
|
14416
|
+
}
|
|
14417
|
+
if (typeof value === "string") {
|
|
14418
|
+
return /* @__PURE__ */ jsxs73("span", { className: JsonViewer_default.string, children: [
|
|
14419
|
+
'"',
|
|
14420
|
+
value,
|
|
14421
|
+
'"'
|
|
14422
|
+
] });
|
|
14423
|
+
}
|
|
14424
|
+
if (typeof value === "number") {
|
|
14425
|
+
return /* @__PURE__ */ jsx87("span", { className: JsonViewer_default.number, children: value });
|
|
14426
|
+
}
|
|
14427
|
+
if (typeof value === "boolean") {
|
|
14428
|
+
return /* @__PURE__ */ jsx87("span", { className: JsonViewer_default.boolean, children: String(value) });
|
|
14429
|
+
}
|
|
14430
|
+
return /* @__PURE__ */ jsx87("span", { className: JsonViewer_default.string, children: String(value) });
|
|
14431
|
+
}
|
|
14432
|
+
function JsonNode({ collapsedDepth, depth, name, value }) {
|
|
14433
|
+
const isExpandable = Array.isArray(value) || isPlainObject(value);
|
|
14434
|
+
const [open, setOpen] = useState39(depth < collapsedDepth);
|
|
14435
|
+
if (!isExpandable) {
|
|
14436
|
+
return /* @__PURE__ */ jsxs73("div", { className: JsonViewer_default.line, style: { paddingLeft: `${depth * 14}px` }, children: [
|
|
14437
|
+
name !== void 0 ? /* @__PURE__ */ jsxs73("span", { className: JsonViewer_default.key, children: [
|
|
14438
|
+
name,
|
|
14439
|
+
": "
|
|
14440
|
+
] }) : null,
|
|
14441
|
+
/* @__PURE__ */ jsx87(PrimitiveValue, { value })
|
|
14442
|
+
] });
|
|
14443
|
+
}
|
|
14444
|
+
const entries = Array.isArray(value) ? value.map((entry, index) => [String(index), entry]) : Object.entries(value);
|
|
14445
|
+
const summary = Array.isArray(value) ? `Array(${value.length})` : `Object(${entries.length})`;
|
|
14446
|
+
return /* @__PURE__ */ jsxs73("div", { className: JsonViewer_default.block, children: [
|
|
14447
|
+
/* @__PURE__ */ jsxs73(
|
|
14448
|
+
"button",
|
|
14449
|
+
{
|
|
14450
|
+
"aria-expanded": open,
|
|
14451
|
+
className: JsonViewer_default.toggleLine,
|
|
14452
|
+
onClick: () => setOpen((current) => !current),
|
|
14453
|
+
style: { paddingLeft: `${depth * 14}px` },
|
|
14454
|
+
type: "button",
|
|
14455
|
+
children: [
|
|
14456
|
+
/* @__PURE__ */ jsx87("span", { "aria-hidden": "true", className: JsonViewer_default.chevron, children: open ? "\u25BE" : "\u25B8" }),
|
|
14457
|
+
name !== void 0 ? /* @__PURE__ */ jsxs73("span", { className: JsonViewer_default.key, children: [
|
|
14458
|
+
name,
|
|
14459
|
+
": "
|
|
14460
|
+
] }) : null,
|
|
14461
|
+
/* @__PURE__ */ jsx87("span", { className: JsonViewer_default.summary, children: summary })
|
|
14462
|
+
]
|
|
14463
|
+
}
|
|
14464
|
+
),
|
|
14465
|
+
open ? /* @__PURE__ */ jsx87("div", { className: JsonViewer_default.children, children: entries.map(([childName, childValue]) => /* @__PURE__ */ jsx87(
|
|
14466
|
+
JsonNode,
|
|
14467
|
+
{
|
|
14468
|
+
collapsedDepth,
|
|
14469
|
+
depth: depth + 1,
|
|
14470
|
+
name: childName,
|
|
14471
|
+
value: childValue
|
|
14472
|
+
},
|
|
14473
|
+
childName
|
|
14474
|
+
)) }) : null
|
|
14475
|
+
] });
|
|
14476
|
+
}
|
|
14477
|
+
function JsonViewer({ collapsedDepth = 1, value }) {
|
|
14478
|
+
const parsed = useMemo18(() => value, [value]);
|
|
14479
|
+
return /* @__PURE__ */ jsx87("div", { className: JsonViewer_default.root, role: "tree", children: /* @__PURE__ */ jsx87(JsonNode, { collapsedDepth: Math.max(0, collapsedDepth), depth: 0, value: parsed }) });
|
|
14480
|
+
}
|
|
14481
|
+
|
|
14482
|
+
// ../../components/Icon/Icon.tsx
|
|
14483
|
+
import { FontAwesomeIcon as FontAwesomeIcon11 } from "@fortawesome/react-fontawesome";
|
|
14484
|
+
|
|
14485
|
+
// ../../components/Icon/Icon.module.css
|
|
14486
|
+
var Icon_default = {"icon":"opus_7ASn4M_icon"};
|
|
14487
|
+
|
|
14488
|
+
// ../../components/Icon/Icon.tsx
|
|
14489
|
+
import { jsx as jsx88 } from "react/jsx-runtime";
|
|
14490
|
+
function Icon({ label, name, size = "md", tone = "default" }) {
|
|
14491
|
+
const option = getFontAwesomeIconOption(name);
|
|
14492
|
+
return /* @__PURE__ */ jsx88(
|
|
14493
|
+
"span",
|
|
14494
|
+
{
|
|
14495
|
+
"aria-hidden": label ? void 0 : true,
|
|
14496
|
+
"aria-label": label,
|
|
14497
|
+
className: Icon_default.icon,
|
|
14498
|
+
"data-size": size,
|
|
14499
|
+
"data-tone": tone,
|
|
14500
|
+
role: label ? "img" : void 0,
|
|
14501
|
+
children: /* @__PURE__ */ jsx88(FontAwesomeIcon11, { icon: option.icon })
|
|
14502
|
+
}
|
|
14503
|
+
);
|
|
14504
|
+
}
|
|
14505
|
+
|
|
14506
|
+
// ../../components/Spinner/Spinner.module.css
|
|
14507
|
+
var Spinner_default = {"spinner":"opus_g5cd4Q_spinner","ring":"opus_g5cd4Q_ring","opus-spinner-rotate":"opus_g5cd4Q_opus-spinner-rotate"};
|
|
14508
|
+
|
|
14509
|
+
// ../../components/Spinner/Spinner.tsx
|
|
14510
|
+
import { jsx as jsx89 } from "react/jsx-runtime";
|
|
14511
|
+
function Spinner({ label = "Loading", size = "md", tone = "accent" }) {
|
|
14512
|
+
return /* @__PURE__ */ jsx89(
|
|
14513
|
+
"span",
|
|
14514
|
+
{
|
|
14515
|
+
"aria-label": label,
|
|
14516
|
+
className: Spinner_default.spinner,
|
|
14517
|
+
"data-size": size,
|
|
14518
|
+
"data-tone": tone,
|
|
14519
|
+
role: "status",
|
|
14520
|
+
children: /* @__PURE__ */ jsx89("span", { "aria-hidden": "true", className: Spinner_default.ring })
|
|
14521
|
+
}
|
|
14522
|
+
);
|
|
14523
|
+
}
|
|
14524
|
+
|
|
14525
|
+
// ../../components/Portal/Portal.tsx
|
|
14526
|
+
import { createContext as createContext8, useContext as useContext9, useEffect as useEffect29, useMemo as useMemo19, useState as useState40 } from "react";
|
|
14527
|
+
import { createPortal as createPortal5 } from "react-dom";
|
|
14528
|
+
import { Fragment as Fragment10, jsx as jsx90 } from "react/jsx-runtime";
|
|
14529
|
+
var PortalHostContext = createContext8({ container: null });
|
|
14530
|
+
function usePortalHost() {
|
|
14531
|
+
return useContext9(PortalHostContext);
|
|
14532
|
+
}
|
|
14533
|
+
function PortalHost({ children, id = "opus-portal-host" }) {
|
|
14534
|
+
const [container, setContainer] = useState40(null);
|
|
14535
|
+
useEffect29(() => {
|
|
14536
|
+
let host = document.getElementById(id);
|
|
14537
|
+
let created = false;
|
|
14538
|
+
if (!host) {
|
|
14539
|
+
host = document.createElement("div");
|
|
14540
|
+
host.id = id;
|
|
14541
|
+
document.body.appendChild(host);
|
|
14542
|
+
created = true;
|
|
14543
|
+
}
|
|
14544
|
+
setContainer(host);
|
|
14545
|
+
return () => {
|
|
14546
|
+
if (created && (host == null ? void 0 : host.parentNode)) {
|
|
14547
|
+
host.parentNode.removeChild(host);
|
|
14548
|
+
}
|
|
14549
|
+
};
|
|
14550
|
+
}, [id]);
|
|
14551
|
+
const value = useMemo19(() => ({ container }), [container]);
|
|
14552
|
+
return /* @__PURE__ */ jsx90(PortalHostContext.Provider, { value, children });
|
|
14553
|
+
}
|
|
14554
|
+
function Portal({ children, container, disabled = false }) {
|
|
14555
|
+
var _a2;
|
|
14556
|
+
const host = usePortalHost();
|
|
14557
|
+
const [fallback, setFallback] = useState40(null);
|
|
14558
|
+
useEffect29(() => {
|
|
14559
|
+
setFallback(document.body);
|
|
14560
|
+
}, []);
|
|
14561
|
+
if (disabled) {
|
|
14562
|
+
return /* @__PURE__ */ jsx90(Fragment10, { children });
|
|
14563
|
+
}
|
|
14564
|
+
const target = (_a2 = container != null ? container : host.container) != null ? _a2 : fallback;
|
|
14565
|
+
if (!target) {
|
|
14566
|
+
return null;
|
|
14567
|
+
}
|
|
14568
|
+
return createPortal5(children, target);
|
|
14569
|
+
}
|
|
14570
|
+
|
|
14571
|
+
// ../../components/VisuallyHidden/VisuallyHidden.module.css
|
|
14572
|
+
var VisuallyHidden_default = {"hidden":"opus_DIv7wy_hidden"};
|
|
14573
|
+
|
|
14574
|
+
// ../../components/VisuallyHidden/VisuallyHidden.tsx
|
|
14575
|
+
import { jsx as jsx91 } from "react/jsx-runtime";
|
|
14576
|
+
function VisuallyHidden({ as = "span", children }) {
|
|
14577
|
+
const Tag = as;
|
|
14578
|
+
return /* @__PURE__ */ jsx91(Tag, { className: VisuallyHidden_default.hidden, children });
|
|
14579
|
+
}
|
|
14580
|
+
|
|
14581
|
+
// ../../components/FocusTrap/FocusTrap.tsx
|
|
14582
|
+
import { useEffect as useEffect30, useRef as useRef30 } from "react";
|
|
14583
|
+
|
|
14584
|
+
// ../../components/FocusTrap/FocusTrap.module.css
|
|
14585
|
+
var FocusTrap_default = {"trap":"opus_fJckCZ_trap"};
|
|
14586
|
+
|
|
14587
|
+
// ../../components/FocusTrap/FocusTrap.tsx
|
|
14588
|
+
import { jsx as jsx92 } from "react/jsx-runtime";
|
|
14589
|
+
function FocusTrap({
|
|
14590
|
+
active = true,
|
|
14591
|
+
children,
|
|
14592
|
+
initialFocusRef,
|
|
14593
|
+
restoreFocus = true
|
|
14594
|
+
}) {
|
|
14595
|
+
const containerRef = useRef30(null);
|
|
14596
|
+
const previouslyFocusedRef = useRef30(null);
|
|
14597
|
+
useEffect30(() => {
|
|
14598
|
+
if (!active) {
|
|
14599
|
+
return;
|
|
14600
|
+
}
|
|
14601
|
+
previouslyFocusedRef.current = document.activeElement;
|
|
14602
|
+
const frame = window.requestAnimationFrame(() => {
|
|
14603
|
+
var _a2;
|
|
14604
|
+
const preferred = initialFocusRef == null ? void 0 : initialFocusRef.current;
|
|
14605
|
+
if (preferred) {
|
|
14606
|
+
preferred.focus();
|
|
14607
|
+
return;
|
|
14608
|
+
}
|
|
14609
|
+
const container = containerRef.current;
|
|
14610
|
+
if (!container) {
|
|
14611
|
+
return;
|
|
14612
|
+
}
|
|
14613
|
+
(_a2 = getFocusableElements(container)[0]) == null ? void 0 : _a2.focus();
|
|
14614
|
+
});
|
|
14615
|
+
return () => {
|
|
14616
|
+
var _a2, _b2;
|
|
14617
|
+
window.cancelAnimationFrame(frame);
|
|
14618
|
+
if (restoreFocus) {
|
|
14619
|
+
(_b2 = (_a2 = previouslyFocusedRef.current) == null ? void 0 : _a2.focus) == null ? void 0 : _b2.call(_a2);
|
|
14620
|
+
}
|
|
14621
|
+
};
|
|
14622
|
+
}, [active, initialFocusRef, restoreFocus]);
|
|
14623
|
+
useEffect30(() => {
|
|
14624
|
+
if (!active) {
|
|
14625
|
+
return;
|
|
14626
|
+
}
|
|
14627
|
+
const onKeyDown = (event) => {
|
|
14628
|
+
if (event.key !== "Tab") {
|
|
14629
|
+
return;
|
|
14630
|
+
}
|
|
14631
|
+
const container = containerRef.current;
|
|
14632
|
+
if (!container) {
|
|
14633
|
+
return;
|
|
14634
|
+
}
|
|
14635
|
+
const focusable = getFocusableElements(container);
|
|
14636
|
+
if (!focusable.length) {
|
|
14637
|
+
event.preventDefault();
|
|
14638
|
+
return;
|
|
14639
|
+
}
|
|
14640
|
+
const first = focusable[0];
|
|
14641
|
+
const last = focusable[focusable.length - 1];
|
|
14642
|
+
const activeElement = document.activeElement;
|
|
14643
|
+
if (event.shiftKey) {
|
|
14644
|
+
if (activeElement === first || !container.contains(activeElement)) {
|
|
14645
|
+
event.preventDefault();
|
|
14646
|
+
last.focus();
|
|
14647
|
+
}
|
|
14648
|
+
return;
|
|
14649
|
+
}
|
|
14650
|
+
if (activeElement === last || !container.contains(activeElement)) {
|
|
14651
|
+
event.preventDefault();
|
|
14652
|
+
first.focus();
|
|
14653
|
+
}
|
|
14654
|
+
};
|
|
14655
|
+
document.addEventListener("keydown", onKeyDown);
|
|
14656
|
+
return () => document.removeEventListener("keydown", onKeyDown);
|
|
14657
|
+
}, [active]);
|
|
14658
|
+
return /* @__PURE__ */ jsx92("div", { className: FocusTrap_default.trap, "data-active": active, ref: containerRef, children });
|
|
14659
|
+
}
|
|
14660
|
+
|
|
14661
|
+
// ../../components/KeyboardShortcut/KeyboardShortcut.module.css
|
|
14662
|
+
var KeyboardShortcut_default = {"plus":"opus_pZh5vX_plus","shortcut":"opus_pZh5vX_shortcut","key":"opus_pZh5vX_key"};
|
|
14663
|
+
|
|
14664
|
+
// ../../components/KeyboardShortcut/KeyboardShortcut.tsx
|
|
14665
|
+
import { jsx as jsx93, jsxs as jsxs74 } from "react/jsx-runtime";
|
|
14666
|
+
function KeyboardShortcut({ keys, size = "md" }) {
|
|
14667
|
+
return /* @__PURE__ */ jsx93("kbd", { "aria-label": keys.join(" + "), className: KeyboardShortcut_default.shortcut, "data-size": size, children: keys.map((key, index) => /* @__PURE__ */ jsxs74("span", { children: [
|
|
14668
|
+
index > 0 ? /* @__PURE__ */ jsx93("span", { "aria-hidden": "true", className: KeyboardShortcut_default.plus, children: "+" }) : null,
|
|
14669
|
+
/* @__PURE__ */ jsx93("span", { className: KeyboardShortcut_default.key, children: key })
|
|
14670
|
+
] }, `${key}-${index}`)) });
|
|
14671
|
+
}
|
|
14672
|
+
|
|
14673
|
+
// ../../components/HotkeyManager/HotkeyManager.tsx
|
|
14674
|
+
import {
|
|
14675
|
+
createContext as createContext9,
|
|
14676
|
+
useCallback as useCallback17,
|
|
14677
|
+
useContext as useContext10,
|
|
14678
|
+
useEffect as useEffect31,
|
|
14679
|
+
useMemo as useMemo20,
|
|
14680
|
+
useRef as useRef31,
|
|
14681
|
+
useState as useState41
|
|
14682
|
+
} from "react";
|
|
14683
|
+
import { jsx as jsx94 } from "react/jsx-runtime";
|
|
14684
|
+
var HotkeyManagerContext = createContext9(null);
|
|
14685
|
+
function matchesCombo(event, combo) {
|
|
14686
|
+
const key = event.key.length === 1 ? event.key.toLowerCase() : event.key;
|
|
14687
|
+
const expected = combo.key.length === 1 ? combo.key.toLowerCase() : combo.key;
|
|
14688
|
+
return key === expected && Boolean(combo.meta) === event.metaKey && Boolean(combo.ctrl) === event.ctrlKey && Boolean(combo.alt) === event.altKey && Boolean(combo.shift) === event.shiftKey;
|
|
14689
|
+
}
|
|
14690
|
+
function shortcutsEqual(a, b) {
|
|
14691
|
+
if (a.length !== b.length) {
|
|
14692
|
+
return false;
|
|
14693
|
+
}
|
|
14694
|
+
return a.every((combo, index) => {
|
|
14695
|
+
const other = b[index];
|
|
14696
|
+
return combo.id === other.id && combo.key === other.key && Boolean(combo.meta) === Boolean(other.meta) && Boolean(combo.ctrl) === Boolean(other.ctrl) && Boolean(combo.alt) === Boolean(other.alt) && Boolean(combo.shift) === Boolean(other.shift) && combo.enabled === other.enabled && combo.description === other.description;
|
|
14697
|
+
});
|
|
14698
|
+
}
|
|
14699
|
+
function HotkeyManager({ children, enabled = true }) {
|
|
14700
|
+
const handlersRef = useRef31(/* @__PURE__ */ new Map());
|
|
14701
|
+
const [shortcuts, setShortcuts] = useState41([]);
|
|
14702
|
+
const syncShortcuts = useCallback17(() => {
|
|
14703
|
+
const next = Array.from(handlersRef.current.values()).map((entry) => entry.combo);
|
|
14704
|
+
setShortcuts((current) => shortcutsEqual(current, next) ? current : next);
|
|
14705
|
+
}, []);
|
|
14706
|
+
const register = useCallback17(
|
|
14707
|
+
(combo, handler) => {
|
|
14708
|
+
handlersRef.current.set(combo.id, { combo, handler });
|
|
14709
|
+
syncShortcuts();
|
|
14710
|
+
return () => {
|
|
14711
|
+
handlersRef.current.delete(combo.id);
|
|
14712
|
+
syncShortcuts();
|
|
14713
|
+
};
|
|
14714
|
+
},
|
|
14715
|
+
[syncShortcuts]
|
|
14716
|
+
);
|
|
14717
|
+
useEffect31(() => {
|
|
14718
|
+
if (!enabled) {
|
|
14719
|
+
return;
|
|
14720
|
+
}
|
|
14721
|
+
const onKeyDown = (event) => {
|
|
14722
|
+
var _a2;
|
|
14723
|
+
const target = event.target;
|
|
14724
|
+
const tag = (_a2 = target == null ? void 0 : target.tagName) == null ? void 0 : _a2.toLowerCase();
|
|
14725
|
+
if (tag === "input" || tag === "textarea" || (target == null ? void 0 : target.isContentEditable)) {
|
|
14726
|
+
return;
|
|
14727
|
+
}
|
|
14728
|
+
for (const entry of handlersRef.current.values()) {
|
|
14729
|
+
if (entry.combo.enabled === false) {
|
|
14730
|
+
continue;
|
|
14731
|
+
}
|
|
14732
|
+
if (matchesCombo(event, entry.combo)) {
|
|
14733
|
+
event.preventDefault();
|
|
14734
|
+
entry.handler();
|
|
14735
|
+
break;
|
|
14736
|
+
}
|
|
14737
|
+
}
|
|
14738
|
+
};
|
|
14739
|
+
window.addEventListener("keydown", onKeyDown);
|
|
14740
|
+
return () => window.removeEventListener("keydown", onKeyDown);
|
|
14741
|
+
}, [enabled]);
|
|
14742
|
+
const value = useMemo20(() => ({ register, shortcuts }), [register, shortcuts]);
|
|
14743
|
+
return /* @__PURE__ */ jsx94(HotkeyManagerContext.Provider, { value, children });
|
|
14744
|
+
}
|
|
14745
|
+
function useHotkey(combo, handler) {
|
|
14746
|
+
const context = useContext10(HotkeyManagerContext);
|
|
14747
|
+
const register = context == null ? void 0 : context.register;
|
|
14748
|
+
const handlerRef = useRef31(handler);
|
|
14749
|
+
handlerRef.current = handler;
|
|
14750
|
+
const { alt, ctrl, description, enabled, id, key, meta, shift } = combo;
|
|
14751
|
+
useEffect31(() => {
|
|
14752
|
+
if (!register) {
|
|
14753
|
+
return;
|
|
14754
|
+
}
|
|
14755
|
+
return register(
|
|
14756
|
+
{ alt, ctrl, description, enabled, id, key, meta, shift },
|
|
14757
|
+
() => {
|
|
14758
|
+
handlerRef.current();
|
|
14759
|
+
}
|
|
14760
|
+
);
|
|
14761
|
+
}, [alt, ctrl, description, enabled, id, key, meta, register, shift]);
|
|
14762
|
+
}
|
|
14763
|
+
function useHotkeyManager() {
|
|
14764
|
+
const context = useContext10(HotkeyManagerContext);
|
|
14765
|
+
if (!context) {
|
|
14766
|
+
throw new Error("useHotkeyManager must be used within HotkeyManager");
|
|
14767
|
+
}
|
|
14768
|
+
return context;
|
|
14769
|
+
}
|
|
14770
|
+
|
|
14771
|
+
// ../../components/CopyButton/CopyButton.tsx
|
|
14772
|
+
import { useCallback as useCallback18, useEffect as useEffect32, useState as useState42 } from "react";
|
|
14773
|
+
|
|
14774
|
+
// ../../components/CopyButton/CopyButton.module.css
|
|
14775
|
+
var CopyButton_default = {"wrap":"opus_Ij6tWr_wrap"};
|
|
14776
|
+
|
|
14777
|
+
// ../../components/CopyButton/CopyButton.tsx
|
|
14778
|
+
import { jsx as jsx95 } from "react/jsx-runtime";
|
|
14779
|
+
async function writeClipboard(value) {
|
|
14780
|
+
var _a2;
|
|
14781
|
+
if ((_a2 = navigator.clipboard) == null ? void 0 : _a2.writeText) {
|
|
14782
|
+
await navigator.clipboard.writeText(value);
|
|
14783
|
+
return;
|
|
14784
|
+
}
|
|
14785
|
+
const textarea = document.createElement("textarea");
|
|
14786
|
+
textarea.value = value;
|
|
14787
|
+
textarea.setAttribute("readonly", "");
|
|
14788
|
+
textarea.style.position = "fixed";
|
|
14789
|
+
textarea.style.left = "-9999px";
|
|
14790
|
+
document.body.appendChild(textarea);
|
|
14791
|
+
textarea.select();
|
|
14792
|
+
document.execCommand("copy");
|
|
14793
|
+
document.body.removeChild(textarea);
|
|
14794
|
+
}
|
|
14795
|
+
function CopyButton({
|
|
14796
|
+
children,
|
|
14797
|
+
copiedLabel = "Copied",
|
|
14798
|
+
label = "Copy",
|
|
14799
|
+
resetMs = 1600,
|
|
14800
|
+
value,
|
|
14801
|
+
variant = "secondary",
|
|
14802
|
+
onCopied
|
|
14803
|
+
}) {
|
|
14804
|
+
const [copied, setCopied] = useState42(false);
|
|
14805
|
+
useEffect32(() => {
|
|
14806
|
+
if (!copied) {
|
|
14807
|
+
return;
|
|
14808
|
+
}
|
|
14809
|
+
const timer = window.setTimeout(() => setCopied(false), resetMs);
|
|
14810
|
+
return () => window.clearTimeout(timer);
|
|
14811
|
+
}, [copied, resetMs]);
|
|
14812
|
+
const handleCopy = useCallback18(async () => {
|
|
14813
|
+
try {
|
|
14814
|
+
await writeClipboard(value);
|
|
14815
|
+
setCopied(true);
|
|
14816
|
+
onCopied == null ? void 0 : onCopied();
|
|
14817
|
+
} catch (e) {
|
|
14818
|
+
setCopied(false);
|
|
14819
|
+
}
|
|
14820
|
+
}, [onCopied, value]);
|
|
14821
|
+
return /* @__PURE__ */ jsx95("span", { className: CopyButton_default.wrap, children: /* @__PURE__ */ jsx95(Button, { onClick: handleCopy, type: "button", variant, children: children != null ? children : copied ? copiedLabel : label }) });
|
|
14822
|
+
}
|
|
14823
|
+
|
|
14824
|
+
// ../../components/Clipboard/Clipboard.tsx
|
|
14825
|
+
import { createContext as createContext10, useCallback as useCallback19, useContext as useContext11, useMemo as useMemo21, useState as useState43 } from "react";
|
|
14826
|
+
import { jsx as jsx96 } from "react/jsx-runtime";
|
|
14827
|
+
var ClipboardContext = createContext10(null);
|
|
14828
|
+
async function fallbackWrite(value) {
|
|
14829
|
+
const textarea = document.createElement("textarea");
|
|
14830
|
+
textarea.value = value;
|
|
14831
|
+
textarea.setAttribute("readonly", "");
|
|
14832
|
+
textarea.style.position = "fixed";
|
|
14833
|
+
textarea.style.left = "-9999px";
|
|
14834
|
+
document.body.appendChild(textarea);
|
|
14835
|
+
textarea.select();
|
|
14836
|
+
document.execCommand("copy");
|
|
14837
|
+
document.body.removeChild(textarea);
|
|
14838
|
+
}
|
|
14839
|
+
function ClipboardProvider({ children }) {
|
|
14840
|
+
const [lastCopied, setLastCopied] = useState43(null);
|
|
14841
|
+
const writeText = useCallback19(async (value2) => {
|
|
14842
|
+
var _a2;
|
|
14843
|
+
if ((_a2 = navigator.clipboard) == null ? void 0 : _a2.writeText) {
|
|
14844
|
+
await navigator.clipboard.writeText(value2);
|
|
14845
|
+
} else {
|
|
14846
|
+
await fallbackWrite(value2);
|
|
14847
|
+
}
|
|
14848
|
+
setLastCopied(value2);
|
|
14849
|
+
}, []);
|
|
14850
|
+
const readText = useCallback19(async () => {
|
|
14851
|
+
var _a2;
|
|
14852
|
+
if ((_a2 = navigator.clipboard) == null ? void 0 : _a2.readText) {
|
|
14853
|
+
return navigator.clipboard.readText();
|
|
14854
|
+
}
|
|
14855
|
+
return lastCopied != null ? lastCopied : "";
|
|
14856
|
+
}, [lastCopied]);
|
|
14857
|
+
const value = useMemo21(
|
|
14858
|
+
() => ({ lastCopied, readText, writeText }),
|
|
14859
|
+
[lastCopied, readText, writeText]
|
|
14860
|
+
);
|
|
14861
|
+
return /* @__PURE__ */ jsx96(ClipboardContext.Provider, { value, children });
|
|
14862
|
+
}
|
|
14863
|
+
function useClipboard() {
|
|
14864
|
+
const context = useContext11(ClipboardContext);
|
|
14865
|
+
if (!context) {
|
|
14866
|
+
throw new Error("useClipboard must be used within ClipboardProvider");
|
|
14867
|
+
}
|
|
14868
|
+
return context;
|
|
14869
|
+
}
|
|
14870
|
+
function Clipboard({ children }) {
|
|
14871
|
+
return /* @__PURE__ */ jsx96(ClipboardProvider, { children });
|
|
14872
|
+
}
|
|
14873
|
+
|
|
14874
|
+
// ../../components/ThemeSwitcher/ThemeSwitcher.tsx
|
|
14875
|
+
import { jsx as jsx97 } from "react/jsx-runtime";
|
|
14876
|
+
function ThemeSwitcher({
|
|
14877
|
+
id = "opus-theme-switcher",
|
|
14878
|
+
label = "Theme",
|
|
14879
|
+
value,
|
|
14880
|
+
onChange
|
|
14881
|
+
}) {
|
|
14882
|
+
return /* @__PURE__ */ jsx97(
|
|
14883
|
+
ThemeToggleField,
|
|
14884
|
+
{
|
|
14885
|
+
id,
|
|
14886
|
+
label,
|
|
14887
|
+
mode: "flagged",
|
|
14888
|
+
value,
|
|
14889
|
+
onChange
|
|
14890
|
+
}
|
|
14891
|
+
);
|
|
14892
|
+
}
|
|
14893
|
+
|
|
14894
|
+
// ../../components/ResizeObserver/ResizeObserver.tsx
|
|
14895
|
+
import { useEffect as useEffect33, useRef as useRef32, useState as useState44 } from "react";
|
|
14896
|
+
import { jsx as jsx98 } from "react/jsx-runtime";
|
|
14897
|
+
function ResizeObserver2({ children, className, onResize }) {
|
|
14898
|
+
const ref = useRef32(null);
|
|
14899
|
+
const [size, setSize] = useState44({ width: 0, height: 0 });
|
|
14900
|
+
useEffect33(() => {
|
|
14901
|
+
const node = ref.current;
|
|
14902
|
+
if (!node || typeof window.ResizeObserver === "undefined") {
|
|
14903
|
+
return;
|
|
14904
|
+
}
|
|
14905
|
+
const observer = new window.ResizeObserver((entries) => {
|
|
14906
|
+
const entry = entries[0];
|
|
14907
|
+
if (!entry) {
|
|
14908
|
+
return;
|
|
14909
|
+
}
|
|
14910
|
+
const next = {
|
|
14911
|
+
width: Math.round(entry.contentRect.width),
|
|
14912
|
+
height: Math.round(entry.contentRect.height)
|
|
14913
|
+
};
|
|
14914
|
+
setSize(next);
|
|
14915
|
+
onResize == null ? void 0 : onResize(next);
|
|
14916
|
+
});
|
|
14917
|
+
observer.observe(node);
|
|
14918
|
+
return () => observer.disconnect();
|
|
14919
|
+
}, [onResize]);
|
|
14920
|
+
return /* @__PURE__ */ jsx98("div", { className, ref, children: children(size) });
|
|
14921
|
+
}
|
|
14922
|
+
function useResizeObserver(targetRef) {
|
|
14923
|
+
const [size, setSize] = useState44({ width: 0, height: 0 });
|
|
14924
|
+
useEffect33(() => {
|
|
14925
|
+
const node = targetRef.current;
|
|
14926
|
+
if (!node || typeof window.ResizeObserver === "undefined") {
|
|
14927
|
+
return;
|
|
14928
|
+
}
|
|
14929
|
+
const observer = new window.ResizeObserver((entries) => {
|
|
14930
|
+
const entry = entries[0];
|
|
14931
|
+
if (!entry) {
|
|
14932
|
+
return;
|
|
14933
|
+
}
|
|
14934
|
+
setSize({
|
|
14935
|
+
width: Math.round(entry.contentRect.width),
|
|
14936
|
+
height: Math.round(entry.contentRect.height)
|
|
14937
|
+
});
|
|
14938
|
+
});
|
|
14939
|
+
observer.observe(node);
|
|
14940
|
+
return () => observer.disconnect();
|
|
14941
|
+
}, [targetRef]);
|
|
14942
|
+
return size;
|
|
14943
|
+
}
|
|
14944
|
+
|
|
14945
|
+
// ../../components/IntersectionObserver/IntersectionObserver.tsx
|
|
14946
|
+
import { useEffect as useEffect34, useRef as useRef33, useState as useState45 } from "react";
|
|
14947
|
+
import { jsx as jsx99 } from "react/jsx-runtime";
|
|
14948
|
+
function IntersectionObserver2({
|
|
14949
|
+
children,
|
|
14950
|
+
className,
|
|
14951
|
+
rootMargin = "0px",
|
|
14952
|
+
threshold = 0.25,
|
|
14953
|
+
onChange
|
|
14954
|
+
}) {
|
|
14955
|
+
const ref = useRef33(null);
|
|
14956
|
+
const [isIntersecting, setIsIntersecting] = useState45(false);
|
|
14957
|
+
useEffect34(() => {
|
|
14958
|
+
const node = ref.current;
|
|
14959
|
+
if (!node || typeof window.IntersectionObserver === "undefined") {
|
|
14960
|
+
return;
|
|
14961
|
+
}
|
|
14962
|
+
const observer = new window.IntersectionObserver(
|
|
14963
|
+
(entries) => {
|
|
14964
|
+
const entry = entries[0];
|
|
14965
|
+
if (!entry) {
|
|
14966
|
+
return;
|
|
14967
|
+
}
|
|
14968
|
+
setIsIntersecting(entry.isIntersecting);
|
|
14969
|
+
onChange == null ? void 0 : onChange(entry.isIntersecting);
|
|
14970
|
+
},
|
|
14971
|
+
{ rootMargin, threshold }
|
|
14972
|
+
);
|
|
14973
|
+
observer.observe(node);
|
|
14974
|
+
return () => observer.disconnect();
|
|
14975
|
+
}, [onChange, rootMargin, threshold]);
|
|
14976
|
+
return /* @__PURE__ */ jsx99("div", { className, ref, children: children(isIntersecting) });
|
|
14977
|
+
}
|
|
14978
|
+
function useIntersectionObserver(targetRef, options = {}) {
|
|
14979
|
+
const { rootMargin = "0px", threshold = 0.25 } = options;
|
|
14980
|
+
const [isIntersecting, setIsIntersecting] = useState45(false);
|
|
14981
|
+
useEffect34(() => {
|
|
14982
|
+
const node = targetRef.current;
|
|
14983
|
+
if (!node || typeof window.IntersectionObserver === "undefined") {
|
|
14984
|
+
return;
|
|
14985
|
+
}
|
|
14986
|
+
const observer = new window.IntersectionObserver(
|
|
14987
|
+
(entries) => {
|
|
14988
|
+
const entry = entries[0];
|
|
14989
|
+
if (!entry) {
|
|
14990
|
+
return;
|
|
14991
|
+
}
|
|
14992
|
+
setIsIntersecting(entry.isIntersecting);
|
|
14993
|
+
},
|
|
14994
|
+
{ rootMargin, threshold }
|
|
14995
|
+
);
|
|
14996
|
+
observer.observe(node);
|
|
14997
|
+
return () => observer.disconnect();
|
|
14998
|
+
}, [rootMargin, targetRef, threshold]);
|
|
14999
|
+
return isIntersecting;
|
|
15000
|
+
}
|
|
15001
|
+
|
|
15002
|
+
// ../../components/Sidebar/Sidebar.tsx
|
|
15003
|
+
import {
|
|
15004
|
+
createContext as createContext11,
|
|
15005
|
+
useContext as useContext12,
|
|
15006
|
+
useState as useState46
|
|
15007
|
+
} from "react";
|
|
15008
|
+
|
|
15009
|
+
// ../../components/Sidebar/Sidebar.module.css
|
|
15010
|
+
var Sidebar_default = {"groupToggle":"opus_4Pogux_groupToggle","groupItems":"opus_4Pogux_groupItems","sidebar":"opus_4Pogux_sidebar","visuallyHidden":"opus_4Pogux_visuallyHidden","group":"opus_4Pogux_group","main":"opus_4Pogux_main","footer":"opus_4Pogux_footer","headerInner":"opus_4Pogux_headerInner","groupLabel":"opus_4Pogux_groupLabel","link":"opus_4Pogux_link","groupChevronOpen":"opus_4Pogux_groupChevronOpen","layout":"opus_4Pogux_layout","groupItemsWrap":"opus_4Pogux_groupItemsWrap","groupChevron":"opus_4Pogux_groupChevron","body":"opus_4Pogux_body","nav":"opus_4Pogux_nav","headerTitle":"opus_4Pogux_headerTitle","header":"opus_4Pogux_header","groupHeader":"opus_4Pogux_groupHeader","linkActive":"opus_4Pogux_linkActive"};
|
|
15011
|
+
|
|
15012
|
+
// ../../components/Sidebar/Sidebar.tsx
|
|
15013
|
+
import { Fragment as Fragment11, jsx as jsx100, jsxs as jsxs75 } from "react/jsx-runtime";
|
|
15014
|
+
var SidebarContext = createContext11({
|
|
15015
|
+
collapsed: false,
|
|
15016
|
+
density: "comfortable"
|
|
15017
|
+
});
|
|
15018
|
+
function Sidebar({
|
|
15019
|
+
children,
|
|
15020
|
+
collapsed = false,
|
|
15021
|
+
density = "comfortable",
|
|
15022
|
+
footer,
|
|
15023
|
+
header,
|
|
15024
|
+
side = "left"
|
|
15025
|
+
}) {
|
|
15026
|
+
return /* @__PURE__ */ jsx100(SidebarContext.Provider, { value: { collapsed, density }, children: /* @__PURE__ */ jsxs75(
|
|
15027
|
+
"aside",
|
|
15028
|
+
{
|
|
15029
|
+
"aria-label": "Sidebar",
|
|
15030
|
+
className: Sidebar_default.sidebar,
|
|
15031
|
+
"data-collapsed": collapsed ? "true" : "false",
|
|
13184
15032
|
"data-density": density,
|
|
13185
15033
|
"data-side": side,
|
|
13186
15034
|
children: [
|
|
13187
|
-
header ? /* @__PURE__ */
|
|
13188
|
-
/* @__PURE__ */
|
|
13189
|
-
footer ? /* @__PURE__ */
|
|
15035
|
+
header ? /* @__PURE__ */ jsx100("div", { className: Sidebar_default.header, children: header }) : null,
|
|
15036
|
+
/* @__PURE__ */ jsx100("div", { className: Sidebar_default.body, children }),
|
|
15037
|
+
footer ? /* @__PURE__ */ jsx100("div", { className: Sidebar_default.footer, children: footer }) : null
|
|
13190
15038
|
]
|
|
13191
15039
|
}
|
|
13192
15040
|
) });
|
|
13193
15041
|
}
|
|
13194
15042
|
function SidebarHeader({ children, title }) {
|
|
13195
|
-
const { collapsed } =
|
|
13196
|
-
return /* @__PURE__ */
|
|
13197
|
-
/* @__PURE__ */
|
|
15043
|
+
const { collapsed } = useContext12(SidebarContext);
|
|
15044
|
+
return /* @__PURE__ */ jsxs75("div", { className: Sidebar_default.headerInner, children: [
|
|
15045
|
+
/* @__PURE__ */ jsx100("h2", { className: collapsed ? Sidebar_default.visuallyHidden : Sidebar_default.headerTitle, children: title }),
|
|
13198
15046
|
children
|
|
13199
15047
|
] });
|
|
13200
15048
|
}
|
|
13201
15049
|
function SidebarNav({ "aria-label": ariaLabel, children }) {
|
|
13202
|
-
return /* @__PURE__ */
|
|
15050
|
+
return /* @__PURE__ */ jsx100("nav", { "aria-label": ariaLabel, className: Sidebar_default.nav, children });
|
|
13203
15051
|
}
|
|
13204
15052
|
function SidebarLink({ active = false, children, href, onClick }) {
|
|
13205
|
-
const { collapsed } =
|
|
15053
|
+
const { collapsed } = useContext12(SidebarContext);
|
|
13206
15054
|
const className = [Sidebar_default.link, active ? Sidebar_default.linkActive : ""].filter(Boolean).join(" ");
|
|
13207
15055
|
const label = typeof children === "string" ? children : null;
|
|
13208
|
-
const content = /* @__PURE__ */
|
|
13209
|
-
collapsed && label ? /* @__PURE__ */
|
|
13210
|
-
/* @__PURE__ */
|
|
15056
|
+
const content = /* @__PURE__ */ jsxs75(Fragment11, { children: [
|
|
15057
|
+
collapsed && label ? /* @__PURE__ */ jsx100("span", { "aria-hidden": "true", children: label.charAt(0) }) : null,
|
|
15058
|
+
/* @__PURE__ */ jsx100("span", { className: collapsed ? Sidebar_default.visuallyHidden : void 0, children })
|
|
13211
15059
|
] });
|
|
13212
15060
|
if (href) {
|
|
13213
|
-
return /* @__PURE__ */
|
|
15061
|
+
return /* @__PURE__ */ jsx100("a", { "aria-current": active ? "page" : void 0, className, href, children: content });
|
|
13214
15062
|
}
|
|
13215
|
-
return /* @__PURE__ */
|
|
15063
|
+
return /* @__PURE__ */ jsx100(
|
|
13216
15064
|
"button",
|
|
13217
15065
|
{
|
|
13218
15066
|
"aria-current": active ? "page" : void 0,
|
|
@@ -13231,16 +15079,16 @@ function createGroupListId(label, id) {
|
|
|
13231
15079
|
return slug ? `sidebar-group-${slug}` : "sidebar-group";
|
|
13232
15080
|
}
|
|
13233
15081
|
function SidebarGroup({ children, defaultOpen = true, id, label }) {
|
|
13234
|
-
const { collapsed } =
|
|
15082
|
+
const { collapsed } = useContext12(SidebarContext);
|
|
13235
15083
|
const listId = createGroupListId(label, id);
|
|
13236
|
-
const [open, setOpen] =
|
|
15084
|
+
const [open, setOpen] = useState46(defaultOpen);
|
|
13237
15085
|
if (collapsed) {
|
|
13238
|
-
return /* @__PURE__ */
|
|
15086
|
+
return /* @__PURE__ */ jsx100("div", { "aria-label": label, className: Sidebar_default.group, role: "group", children });
|
|
13239
15087
|
}
|
|
13240
|
-
return /* @__PURE__ */
|
|
13241
|
-
/* @__PURE__ */
|
|
13242
|
-
/* @__PURE__ */
|
|
13243
|
-
/* @__PURE__ */
|
|
15088
|
+
return /* @__PURE__ */ jsxs75("div", { "aria-label": label, className: Sidebar_default.group, role: "group", children: [
|
|
15089
|
+
/* @__PURE__ */ jsxs75("div", { className: Sidebar_default.groupHeader, children: [
|
|
15090
|
+
/* @__PURE__ */ jsx100("span", { className: Sidebar_default.groupLabel, children: label }),
|
|
15091
|
+
/* @__PURE__ */ jsx100(
|
|
13244
15092
|
"button",
|
|
13245
15093
|
{
|
|
13246
15094
|
"aria-controls": listId,
|
|
@@ -13249,29 +15097,29 @@ function SidebarGroup({ children, defaultOpen = true, id, label }) {
|
|
|
13249
15097
|
className: Sidebar_default.groupToggle,
|
|
13250
15098
|
onClick: () => setOpen((current) => !current),
|
|
13251
15099
|
type: "button",
|
|
13252
|
-
children: /* @__PURE__ */
|
|
15100
|
+
children: /* @__PURE__ */ jsx100("span", { "aria-hidden": "true", className: open ? Sidebar_default.groupChevronOpen : Sidebar_default.groupChevron })
|
|
13253
15101
|
}
|
|
13254
15102
|
)
|
|
13255
15103
|
] }),
|
|
13256
|
-
/* @__PURE__ */
|
|
15104
|
+
/* @__PURE__ */ jsx100("div", { className: Sidebar_default.groupItemsWrap, "data-open": open ? "true" : "false", children: /* @__PURE__ */ jsx100("div", { className: Sidebar_default.groupItems, id: listId, inert: !open || void 0, children }) })
|
|
13257
15105
|
] });
|
|
13258
15106
|
}
|
|
13259
15107
|
function SidebarLayout({ children, collapsed = false, main, side = "left" }) {
|
|
13260
|
-
return /* @__PURE__ */
|
|
15108
|
+
return /* @__PURE__ */ jsxs75("div", { className: Sidebar_default.layout, "data-collapsed": collapsed ? "true" : "false", "data-side": side, children: [
|
|
13261
15109
|
side === "left" ? children : null,
|
|
13262
|
-
/* @__PURE__ */
|
|
15110
|
+
/* @__PURE__ */ jsx100("div", { className: Sidebar_default.main, children: main }),
|
|
13263
15111
|
side === "right" ? children : null
|
|
13264
15112
|
] });
|
|
13265
15113
|
}
|
|
13266
15114
|
|
|
13267
15115
|
// ../../components/AccentColorPicker/AccentColorPicker.tsx
|
|
13268
|
-
import { useCallback as
|
|
15116
|
+
import { useCallback as useCallback20, useEffect as useEffect35, useMemo as useMemo22, useState as useState47 } from "react";
|
|
13269
15117
|
|
|
13270
15118
|
// ../../components/AccentColorPicker/AccentColorPicker.module.css
|
|
13271
|
-
var AccentColorPicker_default = {"
|
|
15119
|
+
var AccentColorPicker_default = {"swatches":"opus_scMnrW_swatches","swatch":"opus_scMnrW_swatch"};
|
|
13272
15120
|
|
|
13273
15121
|
// ../../components/AccentColorPicker/AccentColorPicker.tsx
|
|
13274
|
-
import { jsx as
|
|
15122
|
+
import { jsx as jsx101 } from "react/jsx-runtime";
|
|
13275
15123
|
var ACCENT_STORAGE_KEY = "opus-components-accent";
|
|
13276
15124
|
var DEFAULT_ACCENT_COLOR = "#8f6cff";
|
|
13277
15125
|
var accentColors = [
|
|
@@ -13305,8 +15153,8 @@ function applyDocumentAccent(accent) {
|
|
|
13305
15153
|
);
|
|
13306
15154
|
}
|
|
13307
15155
|
function useAccentPreference() {
|
|
13308
|
-
const [accent, setAccentState] =
|
|
13309
|
-
|
|
15156
|
+
const [accent, setAccentState] = useState47(DEFAULT_ACCENT_COLOR);
|
|
15157
|
+
useEffect35(() => {
|
|
13310
15158
|
const timeout = window.setTimeout(() => {
|
|
13311
15159
|
const stored = window.localStorage.getItem(ACCENT_STORAGE_KEY);
|
|
13312
15160
|
if (isAccentColor(stored)) {
|
|
@@ -13318,7 +15166,7 @@ function useAccentPreference() {
|
|
|
13318
15166
|
}, 0);
|
|
13319
15167
|
return () => window.clearTimeout(timeout);
|
|
13320
15168
|
}, []);
|
|
13321
|
-
const setAccent =
|
|
15169
|
+
const setAccent = useCallback20((next) => {
|
|
13322
15170
|
if (!isAccentColor(next)) {
|
|
13323
15171
|
return;
|
|
13324
15172
|
}
|
|
@@ -13326,10 +15174,11 @@ function useAccentPreference() {
|
|
|
13326
15174
|
applyDocumentAccent(next);
|
|
13327
15175
|
window.localStorage.setItem(ACCENT_STORAGE_KEY, next);
|
|
13328
15176
|
}, []);
|
|
13329
|
-
const accentStyle =
|
|
15177
|
+
const accentStyle = useMemo22(() => createAccentStyle(accent), [accent]);
|
|
13330
15178
|
return { accent, accentStyle, setAccent };
|
|
13331
15179
|
}
|
|
13332
15180
|
function AccentColorPicker({
|
|
15181
|
+
help,
|
|
13333
15182
|
id,
|
|
13334
15183
|
label = "Accent",
|
|
13335
15184
|
labelPosition = "left",
|
|
@@ -13337,19 +15186,20 @@ function AccentColorPicker({
|
|
|
13337
15186
|
onChange,
|
|
13338
15187
|
value
|
|
13339
15188
|
}) {
|
|
13340
|
-
return /* @__PURE__ */
|
|
15189
|
+
return /* @__PURE__ */ jsx101(
|
|
13341
15190
|
FieldShell,
|
|
13342
15191
|
{
|
|
13343
15192
|
fitContent: true,
|
|
13344
15193
|
flaggedAlign: "center",
|
|
15194
|
+
help,
|
|
13345
15195
|
id,
|
|
13346
15196
|
label,
|
|
13347
15197
|
labelPosition,
|
|
13348
15198
|
labelTag: "div",
|
|
13349
15199
|
mode,
|
|
13350
|
-
children: /* @__PURE__ */
|
|
15200
|
+
children: /* @__PURE__ */ jsx101("div", { "aria-labelledby": `${id}-label`, className: AccentColorPicker_default.swatches, role: "radiogroup", children: accentColors.map((option) => {
|
|
13351
15201
|
const selected = value === option.value;
|
|
13352
|
-
return /* @__PURE__ */
|
|
15202
|
+
return /* @__PURE__ */ jsx101(
|
|
13353
15203
|
"button",
|
|
13354
15204
|
{
|
|
13355
15205
|
"aria-checked": selected,
|
|
@@ -13370,15 +15220,16 @@ function AccentColorPicker({
|
|
|
13370
15220
|
}
|
|
13371
15221
|
|
|
13372
15222
|
// ../../components/IconPicker/IconPicker.tsx
|
|
13373
|
-
import { useEffect as
|
|
13374
|
-
import { FontAwesomeIcon as
|
|
15223
|
+
import { useEffect as useEffect36, useId as useId19, useMemo as useMemo23, useRef as useRef34, useState as useState48 } from "react";
|
|
15224
|
+
import { FontAwesomeIcon as FontAwesomeIcon12 } from "@fortawesome/react-fontawesome";
|
|
13375
15225
|
|
|
13376
15226
|
// ../../components/IconPicker/IconPicker.module.css
|
|
13377
|
-
var IconPicker_default = {"
|
|
15227
|
+
var IconPicker_default = {"grid":"opus_4E-Oa1_grid","triggerLabel":"opus_4E-Oa1_triggerLabel","root":"opus_4E-Oa1_root","triggerIcon":"opus_4E-Oa1_triggerIcon","chevron":"opus_4E-Oa1_chevron","empty":"opus_4E-Oa1_empty","optionIcon":"opus_4E-Oa1_optionIcon","menu":"opus_4E-Oa1_menu","trigger":"opus_4E-Oa1_trigger","search":"opus_4E-Oa1_search","option":"opus_4E-Oa1_option"};
|
|
13378
15228
|
|
|
13379
15229
|
// ../../components/IconPicker/IconPicker.tsx
|
|
13380
|
-
import { jsx as
|
|
15230
|
+
import { jsx as jsx102, jsxs as jsxs76 } from "react/jsx-runtime";
|
|
13381
15231
|
function IconPicker({
|
|
15232
|
+
help,
|
|
13382
15233
|
id,
|
|
13383
15234
|
label = "Icon",
|
|
13384
15235
|
labelPosition = "left",
|
|
@@ -13387,14 +15238,14 @@ function IconPicker({
|
|
|
13387
15238
|
searchPlaceholder = "Search icons",
|
|
13388
15239
|
value
|
|
13389
15240
|
}) {
|
|
13390
|
-
const [open, setOpen] =
|
|
13391
|
-
const [query, setQuery] =
|
|
13392
|
-
const rootRef =
|
|
13393
|
-
const searchRef =
|
|
15241
|
+
const [open, setOpen] = useState48(false);
|
|
15242
|
+
const [query, setQuery] = useState48("");
|
|
15243
|
+
const rootRef = useRef34(null);
|
|
15244
|
+
const searchRef = useRef34(null);
|
|
13394
15245
|
const listboxId = useId19();
|
|
13395
15246
|
const selected = getFontAwesomeIconOption(value);
|
|
13396
|
-
const filteredIcons =
|
|
13397
|
-
|
|
15247
|
+
const filteredIcons = useMemo23(() => filterFontAwesomeIcons(query), [query]);
|
|
15248
|
+
useEffect36(() => {
|
|
13398
15249
|
if (!open) {
|
|
13399
15250
|
return;
|
|
13400
15251
|
}
|
|
@@ -13421,8 +15272,8 @@ function IconPicker({
|
|
|
13421
15272
|
document.removeEventListener("keydown", handleKeyDown);
|
|
13422
15273
|
};
|
|
13423
15274
|
}, [open]);
|
|
13424
|
-
return /* @__PURE__ */
|
|
13425
|
-
/* @__PURE__ */
|
|
15275
|
+
return /* @__PURE__ */ jsx102(FieldShell, { help, id, label, labelPosition, mode, children: /* @__PURE__ */ jsxs76("div", { className: IconPicker_default.root, ref: rootRef, children: [
|
|
15276
|
+
/* @__PURE__ */ jsxs76(
|
|
13426
15277
|
"button",
|
|
13427
15278
|
{
|
|
13428
15279
|
"aria-controls": open ? listboxId : void 0,
|
|
@@ -13433,14 +15284,14 @@ function IconPicker({
|
|
|
13433
15284
|
type: "button",
|
|
13434
15285
|
onClick: () => setOpen((current) => !current),
|
|
13435
15286
|
children: [
|
|
13436
|
-
/* @__PURE__ */
|
|
13437
|
-
/* @__PURE__ */
|
|
15287
|
+
/* @__PURE__ */ jsx102("span", { "aria-hidden": "true", className: IconPicker_default.triggerIcon, children: /* @__PURE__ */ jsx102(FontAwesomeIcon12, { icon: selected.icon }) }),
|
|
15288
|
+
/* @__PURE__ */ jsx102("span", { className: IconPicker_default.triggerLabel, children: selected.label })
|
|
13438
15289
|
]
|
|
13439
15290
|
}
|
|
13440
15291
|
),
|
|
13441
|
-
/* @__PURE__ */
|
|
13442
|
-
open ? /* @__PURE__ */
|
|
13443
|
-
/* @__PURE__ */
|
|
15292
|
+
/* @__PURE__ */ jsx102("span", { "aria-hidden": "true", className: IconPicker_default.chevron }),
|
|
15293
|
+
open ? /* @__PURE__ */ jsxs76("div", { className: IconPicker_default.menu, children: [
|
|
15294
|
+
/* @__PURE__ */ jsx102(
|
|
13444
15295
|
"input",
|
|
13445
15296
|
{
|
|
13446
15297
|
"aria-label": searchPlaceholder,
|
|
@@ -13452,7 +15303,7 @@ function IconPicker({
|
|
|
13452
15303
|
onChange: (event) => setQuery(event.target.value)
|
|
13453
15304
|
}
|
|
13454
15305
|
),
|
|
13455
|
-
/* @__PURE__ */
|
|
15306
|
+
/* @__PURE__ */ jsx102("div", { className: IconPicker_default.grid, id: listboxId, role: "listbox", children: filteredIcons.length ? filteredIcons.map((entry) => /* @__PURE__ */ jsx102(
|
|
13456
15307
|
"button",
|
|
13457
15308
|
{
|
|
13458
15309
|
"aria-label": entry.label,
|
|
@@ -13467,10 +15318,10 @@ function IconPicker({
|
|
|
13467
15318
|
setOpen(false);
|
|
13468
15319
|
setQuery("");
|
|
13469
15320
|
},
|
|
13470
|
-
children: /* @__PURE__ */
|
|
15321
|
+
children: /* @__PURE__ */ jsx102("span", { "aria-hidden": "true", className: IconPicker_default.optionIcon, children: /* @__PURE__ */ jsx102(FontAwesomeIcon12, { icon: entry.icon }) })
|
|
13471
15322
|
},
|
|
13472
15323
|
entry.iconName
|
|
13473
|
-
)) : /* @__PURE__ */
|
|
15324
|
+
)) : /* @__PURE__ */ jsx102("p", { className: IconPicker_default.empty, children: "No icons match your search." }) })
|
|
13474
15325
|
] }) : null
|
|
13475
15326
|
] }) });
|
|
13476
15327
|
}
|
|
@@ -13479,6 +15330,9 @@ export {
|
|
|
13479
15330
|
Accordion,
|
|
13480
15331
|
AccordionGroup,
|
|
13481
15332
|
Alert,
|
|
15333
|
+
Avatar,
|
|
15334
|
+
AvatarGroup,
|
|
15335
|
+
Badge,
|
|
13482
15336
|
Button,
|
|
13483
15337
|
Card,
|
|
13484
15338
|
Carousel,
|
|
@@ -13488,15 +15342,21 @@ export {
|
|
|
13488
15342
|
CheckboxField,
|
|
13489
15343
|
ChipInput,
|
|
13490
15344
|
ChipInputField,
|
|
15345
|
+
Clipboard,
|
|
15346
|
+
ClipboardProvider,
|
|
13491
15347
|
ColorField,
|
|
13492
15348
|
CommandPalette,
|
|
15349
|
+
ContentTimeline,
|
|
13493
15350
|
ContextMenuProvider,
|
|
13494
15351
|
ContextMenuTarget,
|
|
15352
|
+
CopyButton,
|
|
13495
15353
|
CountryPickerField,
|
|
13496
15354
|
DEFAULT_TOAST_DURATION_MS,
|
|
13497
15355
|
DataGrid,
|
|
13498
15356
|
DateField,
|
|
15357
|
+
DescriptionList,
|
|
13499
15358
|
Dialog,
|
|
15359
|
+
Divider,
|
|
13500
15360
|
Drawer,
|
|
13501
15361
|
DrawerDefaultActions,
|
|
13502
15362
|
DropdownMenu,
|
|
@@ -13505,12 +15365,20 @@ export {
|
|
|
13505
15365
|
FieldShell,
|
|
13506
15366
|
FileField,
|
|
13507
15367
|
FilterSelectField,
|
|
15368
|
+
FocusTrap,
|
|
13508
15369
|
Gauge,
|
|
13509
15370
|
HiddenField,
|
|
15371
|
+
HotkeyManager,
|
|
15372
|
+
Icon,
|
|
13510
15373
|
IconPicker,
|
|
13511
15374
|
ImageGallery,
|
|
13512
15375
|
ImageThumbnail,
|
|
15376
|
+
IntersectionObserver2 as IntersectionObserver,
|
|
15377
|
+
JsonViewer,
|
|
15378
|
+
KeyboardShortcut,
|
|
13513
15379
|
Lightbox,
|
|
15380
|
+
List,
|
|
15381
|
+
MasonryGrid,
|
|
13514
15382
|
MegaMenu,
|
|
13515
15383
|
MetricTile,
|
|
13516
15384
|
Modal,
|
|
@@ -13526,12 +15394,16 @@ export {
|
|
|
13526
15394
|
PasswordStrengthField,
|
|
13527
15395
|
PhoneNumberField,
|
|
13528
15396
|
Popover,
|
|
15397
|
+
Portal,
|
|
15398
|
+
PortalHost,
|
|
13529
15399
|
ProgressBar,
|
|
13530
15400
|
ProgressRing,
|
|
15401
|
+
PropertyGrid,
|
|
13531
15402
|
Radio,
|
|
13532
15403
|
RadioGroup,
|
|
13533
15404
|
RangeField,
|
|
13534
15405
|
RatingField,
|
|
15406
|
+
ResizeObserver2 as ResizeObserver,
|
|
13535
15407
|
RichTextField,
|
|
13536
15408
|
Section,
|
|
13537
15409
|
SegmentedControlField,
|
|
@@ -13547,13 +15419,17 @@ export {
|
|
|
13547
15419
|
SliderRangeField,
|
|
13548
15420
|
Sparkline,
|
|
13549
15421
|
Speedometer,
|
|
15422
|
+
Spinner,
|
|
13550
15423
|
StatCard,
|
|
15424
|
+
Statistic,
|
|
13551
15425
|
StatusIndicator,
|
|
13552
15426
|
SwitchField,
|
|
13553
15427
|
Table,
|
|
13554
15428
|
Tabs,
|
|
13555
15429
|
TextAreaField,
|
|
13556
15430
|
TextField,
|
|
15431
|
+
OpusThemeProvider as ThemeProvider,
|
|
15432
|
+
ThemeSwitcher,
|
|
13557
15433
|
ThemeToggleField,
|
|
13558
15434
|
Toast,
|
|
13559
15435
|
ToastProvider,
|
|
@@ -13562,7 +15438,9 @@ export {
|
|
|
13562
15438
|
TopNavigationMenu,
|
|
13563
15439
|
TransferListField,
|
|
13564
15440
|
TreeSelectField,
|
|
15441
|
+
TreeView,
|
|
13565
15442
|
TrendBadge,
|
|
15443
|
+
VisuallyHidden,
|
|
13566
15444
|
accentColors,
|
|
13567
15445
|
cartesianSpecializedVariants,
|
|
13568
15446
|
countryCodeToFlag,
|
|
@@ -13577,9 +15455,15 @@ export {
|
|
|
13577
15455
|
fieldInputAriaProps,
|
|
13578
15456
|
countries as phoneCountries,
|
|
13579
15457
|
useAccentPreference,
|
|
15458
|
+
useClipboard,
|
|
13580
15459
|
useContextMenu,
|
|
13581
15460
|
useFieldShellAria,
|
|
15461
|
+
useHotkey,
|
|
15462
|
+
useHotkeyManager,
|
|
15463
|
+
useIntersectionObserver,
|
|
13582
15464
|
useOpusTheme,
|
|
15465
|
+
usePortalHost,
|
|
15466
|
+
useResizeObserver,
|
|
13583
15467
|
useToast,
|
|
13584
15468
|
useTopNavigation,
|
|
13585
15469
|
worldMapRegionIds
|