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.cjs
CHANGED
|
@@ -456,6 +456,9 @@ __export(src_exports, {
|
|
|
456
456
|
Accordion: () => Accordion,
|
|
457
457
|
AccordionGroup: () => AccordionGroup,
|
|
458
458
|
Alert: () => Alert,
|
|
459
|
+
Avatar: () => Avatar,
|
|
460
|
+
AvatarGroup: () => AvatarGroup,
|
|
461
|
+
Badge: () => Badge,
|
|
459
462
|
Button: () => Button,
|
|
460
463
|
Card: () => Card,
|
|
461
464
|
Carousel: () => Carousel,
|
|
@@ -465,15 +468,21 @@ __export(src_exports, {
|
|
|
465
468
|
CheckboxField: () => CheckboxField,
|
|
466
469
|
ChipInput: () => ChipInput,
|
|
467
470
|
ChipInputField: () => ChipInputField,
|
|
471
|
+
Clipboard: () => Clipboard,
|
|
472
|
+
ClipboardProvider: () => ClipboardProvider,
|
|
468
473
|
ColorField: () => ColorField,
|
|
469
474
|
CommandPalette: () => CommandPalette,
|
|
475
|
+
ContentTimeline: () => ContentTimeline,
|
|
470
476
|
ContextMenuProvider: () => ContextMenuProvider,
|
|
471
477
|
ContextMenuTarget: () => ContextMenuTarget,
|
|
478
|
+
CopyButton: () => CopyButton,
|
|
472
479
|
CountryPickerField: () => CountryPickerField,
|
|
473
480
|
DEFAULT_TOAST_DURATION_MS: () => DEFAULT_TOAST_DURATION_MS,
|
|
474
481
|
DataGrid: () => DataGrid,
|
|
475
482
|
DateField: () => DateField,
|
|
483
|
+
DescriptionList: () => DescriptionList,
|
|
476
484
|
Dialog: () => Dialog,
|
|
485
|
+
Divider: () => Divider,
|
|
477
486
|
Drawer: () => Drawer,
|
|
478
487
|
DrawerDefaultActions: () => DrawerDefaultActions,
|
|
479
488
|
DropdownMenu: () => DropdownMenu,
|
|
@@ -482,12 +491,20 @@ __export(src_exports, {
|
|
|
482
491
|
FieldShell: () => FieldShell,
|
|
483
492
|
FileField: () => FileField,
|
|
484
493
|
FilterSelectField: () => FilterSelectField,
|
|
494
|
+
FocusTrap: () => FocusTrap,
|
|
485
495
|
Gauge: () => Gauge,
|
|
486
496
|
HiddenField: () => HiddenField,
|
|
497
|
+
HotkeyManager: () => HotkeyManager,
|
|
498
|
+
Icon: () => Icon,
|
|
487
499
|
IconPicker: () => IconPicker,
|
|
488
500
|
ImageGallery: () => ImageGallery,
|
|
489
501
|
ImageThumbnail: () => ImageThumbnail,
|
|
502
|
+
IntersectionObserver: () => IntersectionObserver2,
|
|
503
|
+
JsonViewer: () => JsonViewer,
|
|
504
|
+
KeyboardShortcut: () => KeyboardShortcut,
|
|
490
505
|
Lightbox: () => Lightbox,
|
|
506
|
+
List: () => List,
|
|
507
|
+
MasonryGrid: () => MasonryGrid,
|
|
491
508
|
MegaMenu: () => MegaMenu,
|
|
492
509
|
MetricTile: () => MetricTile,
|
|
493
510
|
Modal: () => Modal,
|
|
@@ -503,12 +520,16 @@ __export(src_exports, {
|
|
|
503
520
|
PasswordStrengthField: () => PasswordStrengthField,
|
|
504
521
|
PhoneNumberField: () => PhoneNumberField,
|
|
505
522
|
Popover: () => Popover,
|
|
523
|
+
Portal: () => Portal,
|
|
524
|
+
PortalHost: () => PortalHost,
|
|
506
525
|
ProgressBar: () => ProgressBar,
|
|
507
526
|
ProgressRing: () => ProgressRing,
|
|
527
|
+
PropertyGrid: () => PropertyGrid,
|
|
508
528
|
Radio: () => Radio,
|
|
509
529
|
RadioGroup: () => RadioGroup,
|
|
510
530
|
RangeField: () => RangeField,
|
|
511
531
|
RatingField: () => RatingField,
|
|
532
|
+
ResizeObserver: () => ResizeObserver2,
|
|
512
533
|
RichTextField: () => RichTextField,
|
|
513
534
|
Section: () => Section,
|
|
514
535
|
SegmentedControlField: () => SegmentedControlField,
|
|
@@ -524,13 +545,17 @@ __export(src_exports, {
|
|
|
524
545
|
SliderRangeField: () => SliderRangeField,
|
|
525
546
|
Sparkline: () => Sparkline,
|
|
526
547
|
Speedometer: () => Speedometer,
|
|
548
|
+
Spinner: () => Spinner,
|
|
527
549
|
StatCard: () => StatCard,
|
|
550
|
+
Statistic: () => Statistic,
|
|
528
551
|
StatusIndicator: () => StatusIndicator,
|
|
529
552
|
SwitchField: () => SwitchField,
|
|
530
553
|
Table: () => Table,
|
|
531
554
|
Tabs: () => Tabs,
|
|
532
555
|
TextAreaField: () => TextAreaField,
|
|
533
556
|
TextField: () => TextField,
|
|
557
|
+
ThemeProvider: () => OpusThemeProvider,
|
|
558
|
+
ThemeSwitcher: () => ThemeSwitcher,
|
|
534
559
|
ThemeToggleField: () => ThemeToggleField,
|
|
535
560
|
Toast: () => Toast,
|
|
536
561
|
ToastProvider: () => ToastProvider,
|
|
@@ -539,7 +564,9 @@ __export(src_exports, {
|
|
|
539
564
|
TopNavigationMenu: () => TopNavigationMenu,
|
|
540
565
|
TransferListField: () => TransferListField,
|
|
541
566
|
TreeSelectField: () => TreeSelectField,
|
|
567
|
+
TreeView: () => TreeView,
|
|
542
568
|
TrendBadge: () => TrendBadge,
|
|
569
|
+
VisuallyHidden: () => VisuallyHidden,
|
|
543
570
|
accentColors: () => accentColors,
|
|
544
571
|
cartesianSpecializedVariants: () => cartesianSpecializedVariants,
|
|
545
572
|
countryCodeToFlag: () => countryCodeToFlag,
|
|
@@ -554,9 +581,15 @@ __export(src_exports, {
|
|
|
554
581
|
fieldInputAriaProps: () => fieldInputAriaProps,
|
|
555
582
|
phoneCountries: () => countries,
|
|
556
583
|
useAccentPreference: () => useAccentPreference,
|
|
584
|
+
useClipboard: () => useClipboard,
|
|
557
585
|
useContextMenu: () => useContextMenu,
|
|
558
586
|
useFieldShellAria: () => useFieldShellAria,
|
|
587
|
+
useHotkey: () => useHotkey,
|
|
588
|
+
useHotkeyManager: () => useHotkeyManager,
|
|
589
|
+
useIntersectionObserver: () => useIntersectionObserver,
|
|
559
590
|
useOpusTheme: () => useOpusTheme,
|
|
591
|
+
usePortalHost: () => usePortalHost,
|
|
592
|
+
useResizeObserver: () => useResizeObserver,
|
|
560
593
|
useToast: () => useToast,
|
|
561
594
|
useTopNavigation: () => useTopNavigation,
|
|
562
595
|
worldMapRegionIds: () => worldMapRegionIds
|
|
@@ -564,7 +597,7 @@ __export(src_exports, {
|
|
|
564
597
|
module.exports = __toCommonJS(src_exports);
|
|
565
598
|
|
|
566
599
|
// ../../components/fields/Button/Button.module.css
|
|
567
|
-
var Button_default = {"
|
|
600
|
+
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"};
|
|
568
601
|
|
|
569
602
|
// ../../components/fields/Button/Button.tsx
|
|
570
603
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -589,7 +622,7 @@ var import_react = require("react");
|
|
|
589
622
|
var import_react_dom = require("react-dom");
|
|
590
623
|
|
|
591
624
|
// ../../components/Tooltip/Tooltip.module.css
|
|
592
|
-
var Tooltip_default = {"
|
|
625
|
+
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"};
|
|
593
626
|
|
|
594
627
|
// ../../components/Tooltip/Tooltip.tsx
|
|
595
628
|
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
@@ -758,7 +791,7 @@ function Tooltip({
|
|
|
758
791
|
}
|
|
759
792
|
|
|
760
793
|
// ../../components/fields/FieldShell/FieldShell.module.css
|
|
761
|
-
var FieldShell_default = {"
|
|
794
|
+
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"};
|
|
762
795
|
|
|
763
796
|
// ../../components/fields/FieldShell/FieldShell.tsx
|
|
764
797
|
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
@@ -883,7 +916,7 @@ function FieldShell({
|
|
|
883
916
|
}
|
|
884
917
|
|
|
885
918
|
// ../../components/fields/CheckboxField/CheckboxField.module.css
|
|
886
|
-
var CheckboxField_default = {"
|
|
919
|
+
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"};
|
|
887
920
|
|
|
888
921
|
// ../../components/fields/CheckboxField/CheckboxField.tsx
|
|
889
922
|
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
@@ -940,7 +973,7 @@ function CheckboxField({
|
|
|
940
973
|
}
|
|
941
974
|
|
|
942
975
|
// ../../components/fields/ColorField/ColorField.module.css
|
|
943
|
-
var ColorField_default = {"picker":"opus_Z7jeX4_picker","swatch":"opus_Z7jeX4_swatch","
|
|
976
|
+
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"};
|
|
944
977
|
|
|
945
978
|
// ../../components/fields/ColorField/ColorField.tsx
|
|
946
979
|
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
@@ -990,7 +1023,7 @@ function ColorField({
|
|
|
990
1023
|
}
|
|
991
1024
|
|
|
992
1025
|
// ../../components/fields/DateField/DateField.module.css
|
|
993
|
-
var DateField_default = {"
|
|
1026
|
+
var DateField_default = {"input":"opus_G3y11z_input","error":"opus_G3y11z_error"};
|
|
994
1027
|
|
|
995
1028
|
// ../../components/fields/DateField/DateField.tsx
|
|
996
1029
|
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
@@ -1081,7 +1114,7 @@ function HiddenField({
|
|
|
1081
1114
|
}
|
|
1082
1115
|
|
|
1083
1116
|
// ../../components/fields/FileField/FileField.module.css
|
|
1084
|
-
var FileField_default = {"
|
|
1117
|
+
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"};
|
|
1085
1118
|
|
|
1086
1119
|
// ../../components/fields/FileField/FileField.tsx
|
|
1087
1120
|
var import_react3 = require("react");
|
|
@@ -1386,7 +1419,7 @@ function NumberField({
|
|
|
1386
1419
|
var import_react5 = require("react");
|
|
1387
1420
|
|
|
1388
1421
|
// ../../components/fields/RadioGroup/RadioGroup.module.css
|
|
1389
|
-
var RadioGroup_default = {"
|
|
1422
|
+
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"};
|
|
1390
1423
|
|
|
1391
1424
|
// ../../components/fields/RadioGroup/RadioGroup.tsx
|
|
1392
1425
|
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
@@ -1483,7 +1516,7 @@ function Radio({ children, error, name, shape, value, defaultChecked }) {
|
|
|
1483
1516
|
var import_react6 = require("react");
|
|
1484
1517
|
|
|
1485
1518
|
// ../../components/fields/ChipInputField/ChipInputField.module.css
|
|
1486
|
-
var ChipInputField_default = {"remove":"opus_IOOYwh_remove","
|
|
1519
|
+
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"};
|
|
1487
1520
|
|
|
1488
1521
|
// ../../components/fields/ChipInputField/ChipInputField.tsx
|
|
1489
1522
|
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
@@ -1619,7 +1652,7 @@ function ChipInput({
|
|
|
1619
1652
|
var ChipInputField = ChipInput;
|
|
1620
1653
|
|
|
1621
1654
|
// ../../components/fields/RangeField/RangeField.module.css
|
|
1622
|
-
var RangeField_default = {"
|
|
1655
|
+
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"};
|
|
1623
1656
|
|
|
1624
1657
|
// ../../components/fields/RangeField/RangeField.tsx
|
|
1625
1658
|
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
@@ -1791,7 +1824,7 @@ function SwitchField({
|
|
|
1791
1824
|
var import_react7 = require("react");
|
|
1792
1825
|
|
|
1793
1826
|
// ../../components/fields/TextAreaField/TextAreaField.module.css
|
|
1794
|
-
var TextAreaField_default = {"
|
|
1827
|
+
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"};
|
|
1795
1828
|
|
|
1796
1829
|
// ../../components/fields/TextAreaField/TextAreaField.tsx
|
|
1797
1830
|
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
@@ -1875,7 +1908,7 @@ var import_react_fontawesome = require("@fortawesome/react-fontawesome");
|
|
|
1875
1908
|
var import_free_solid_svg_icons = require("@fortawesome/free-solid-svg-icons");
|
|
1876
1909
|
|
|
1877
1910
|
// ../../components/fields/RichTextField/RichTextField.module.css
|
|
1878
|
-
var RichTextField_default = {"modalActions":"opus_6HFqZH_modalActions","
|
|
1911
|
+
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"};
|
|
1879
1912
|
|
|
1880
1913
|
// ../../components/fields/RichTextField/RichTextField.tsx
|
|
1881
1914
|
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
@@ -2523,7 +2556,7 @@ var import_react9 = require("react");
|
|
|
2523
2556
|
var TextField_default = {"input":"opus_SOck2f_input","error":"opus_SOck2f_error"};
|
|
2524
2557
|
|
|
2525
2558
|
// ../../components/fields/shared/fieldControl.module.css
|
|
2526
|
-
var fieldControl_default = {"
|
|
2559
|
+
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"};
|
|
2527
2560
|
|
|
2528
2561
|
// ../../components/fields/shared/PasswordToggle.tsx
|
|
2529
2562
|
var import_react_fontawesome2 = require("@fortawesome/react-fontawesome");
|
|
@@ -2606,12 +2639,13 @@ var import_react_fontawesome3 = require("@fortawesome/react-fontawesome");
|
|
|
2606
2639
|
var import_free_solid_svg_icons3 = require("@fortawesome/free-solid-svg-icons");
|
|
2607
2640
|
|
|
2608
2641
|
// ../../components/fields/ThemeToggleField/ThemeToggleField.module.css
|
|
2609
|
-
var ThemeToggleField_default = {"toggle":"opus_SwerMA_toggle","indicator":"opus_SwerMA_indicator","
|
|
2642
|
+
var ThemeToggleField_default = {"toggle":"opus_SwerMA_toggle","indicator":"opus_SwerMA_indicator","option":"opus_SwerMA_option","active":"opus_SwerMA_active"};
|
|
2610
2643
|
|
|
2611
2644
|
// ../../components/fields/ThemeToggleField/ThemeToggleField.tsx
|
|
2612
2645
|
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
2613
2646
|
function ThemeToggleField({
|
|
2614
2647
|
className,
|
|
2648
|
+
help,
|
|
2615
2649
|
id,
|
|
2616
2650
|
label = "Theme",
|
|
2617
2651
|
labelPosition = "left",
|
|
@@ -2626,6 +2660,7 @@ function ThemeToggleField({
|
|
|
2626
2660
|
className,
|
|
2627
2661
|
fitContent: true,
|
|
2628
2662
|
flaggedAlign: "center",
|
|
2663
|
+
help,
|
|
2629
2664
|
id,
|
|
2630
2665
|
label,
|
|
2631
2666
|
labelPosition,
|
|
@@ -2937,7 +2972,7 @@ function MultiSelectField({
|
|
|
2937
2972
|
var import_react12 = require("react");
|
|
2938
2973
|
|
|
2939
2974
|
// ../../components/fields/TransferListField/TransferListField.module.css
|
|
2940
|
-
var TransferListField_default = {"
|
|
2975
|
+
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"};
|
|
2941
2976
|
|
|
2942
2977
|
// ../../components/fields/TransferListField/TransferListField.tsx
|
|
2943
2978
|
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
@@ -3057,7 +3092,7 @@ var import_react_fontawesome4 = require("@fortawesome/react-fontawesome");
|
|
|
3057
3092
|
var import_free_solid_svg_icons4 = require("@fortawesome/free-solid-svg-icons");
|
|
3058
3093
|
|
|
3059
3094
|
// ../../components/fields/PasswordStrengthField/PasswordStrengthField.module.css
|
|
3060
|
-
var PasswordStrengthField_default = {"
|
|
3095
|
+
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"};
|
|
3061
3096
|
|
|
3062
3097
|
// ../../components/fields/PasswordStrengthField/PasswordStrengthField.tsx
|
|
3063
3098
|
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
@@ -3165,7 +3200,7 @@ function PasswordStrengthField({
|
|
|
3165
3200
|
}
|
|
3166
3201
|
|
|
3167
3202
|
// ../../components/fields/RatingField/RatingField.module.css
|
|
3168
|
-
var RatingField_default = {"
|
|
3203
|
+
var RatingField_default = {"numeric":"opus_0tdNUz_numeric","symbol":"opus_0tdNUz_symbol","symbolActive":"opus_0tdNUz_symbolActive","root":"opus_0tdNUz_root","numericActive":"opus_0tdNUz_numericActive"};
|
|
3169
3204
|
|
|
3170
3205
|
// ../../components/fields/RatingField/RatingField.tsx
|
|
3171
3206
|
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
@@ -3240,7 +3275,7 @@ function RatingField({
|
|
|
3240
3275
|
}
|
|
3241
3276
|
|
|
3242
3277
|
// ../../components/fields/SegmentedControlField/SegmentedControlField.module.css
|
|
3243
|
-
var SegmentedControlField_default = {"
|
|
3278
|
+
var SegmentedControlField_default = {"segment":"opus_ZHwfiN_segment","root":"opus_ZHwfiN_root","segmentActive":"opus_ZHwfiN_segmentActive"};
|
|
3244
3279
|
|
|
3245
3280
|
// ../../components/fields/SegmentedControlField/SegmentedControlField.tsx
|
|
3246
3281
|
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
@@ -3295,7 +3330,7 @@ function SegmentedControlField({
|
|
|
3295
3330
|
var import_react14 = require("react");
|
|
3296
3331
|
|
|
3297
3332
|
// ../../components/fields/SliderRangeField/SliderRangeField.module.css
|
|
3298
|
-
var SliderRangeField_default = {"
|
|
3333
|
+
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"};
|
|
3299
3334
|
|
|
3300
3335
|
// ../../components/fields/SliderRangeField/SliderRangeField.tsx
|
|
3301
3336
|
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
@@ -3392,7 +3427,7 @@ function SliderRangeField({
|
|
|
3392
3427
|
var import_react15 = require("react");
|
|
3393
3428
|
|
|
3394
3429
|
// ../../components/fields/PhoneNumberField/PhoneNumberField.module.css
|
|
3395
|
-
var PhoneNumberField_default = {"
|
|
3430
|
+
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"};
|
|
3396
3431
|
|
|
3397
3432
|
// ../../components/fields/PhoneNumberField/countries.ts
|
|
3398
3433
|
function countryCodeToFlag(code) {
|
|
@@ -3795,7 +3830,7 @@ function PhoneNumberField({
|
|
|
3795
3830
|
var import_react16 = require("react");
|
|
3796
3831
|
|
|
3797
3832
|
// ../../components/fields/CountryPickerField/CountryPickerField.module.css
|
|
3798
|
-
var CountryPickerField_default = {"triggerValue":"opus_O7qqfR_triggerValue","
|
|
3833
|
+
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"};
|
|
3799
3834
|
|
|
3800
3835
|
// ../../components/fields/CountryPickerField/CountryPickerField.tsx
|
|
3801
3836
|
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
@@ -3951,7 +3986,7 @@ function CountryPickerField({
|
|
|
3951
3986
|
var import_react17 = require("react");
|
|
3952
3987
|
|
|
3953
3988
|
// ../../components/fields/TreeSelectField/TreeSelectField.module.css
|
|
3954
|
-
var TreeSelectField_default = {"
|
|
3989
|
+
var TreeSelectField_default = {"treeOptionActive":"opus_Mq6C00_treeOptionActive","treeOption":"opus_Mq6C00_treeOption","root":"opus_Mq6C00_root"};
|
|
3955
3990
|
|
|
3956
3991
|
// ../../components/fields/TreeSelectField/TreeSelectField.tsx
|
|
3957
3992
|
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
@@ -4080,7 +4115,7 @@ function TreeSelectField({
|
|
|
4080
4115
|
var import_react18 = require("react");
|
|
4081
4116
|
|
|
4082
4117
|
// ../../components/fields/CascaderField/CascaderField.module.css
|
|
4083
|
-
var CascaderField_default = {"root":"opus_1Fg59A_root","
|
|
4118
|
+
var CascaderField_default = {"option":"opus_1Fg59A_option","root":"opus_1Fg59A_root","panel":"opus_1Fg59A_panel","optionActive":"opus_1Fg59A_optionActive","column":"opus_1Fg59A_column"};
|
|
4084
4119
|
|
|
4085
4120
|
// ../../components/fields/CascaderField/CascaderField.tsx
|
|
4086
4121
|
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
@@ -4283,7 +4318,7 @@ function OpusThemeProvider({
|
|
|
4283
4318
|
}
|
|
4284
4319
|
|
|
4285
4320
|
// ../../components/Alert/Alert.module.css
|
|
4286
|
-
var Alert_default = {"
|
|
4321
|
+
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"};
|
|
4287
4322
|
|
|
4288
4323
|
// ../../components/Alert/Alert.tsx
|
|
4289
4324
|
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
@@ -4432,7 +4467,7 @@ function useOverlayAccessibility(active, containerRef, {
|
|
|
4432
4467
|
}
|
|
4433
4468
|
|
|
4434
4469
|
// ../../components/Dialog/Dialog.module.css
|
|
4435
|
-
var Dialog_default = {"backdrop":"opus_sz-ZGI_backdrop","backdropIn":"opus_sz-ZGI_backdropIn","
|
|
4470
|
+
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"};
|
|
4436
4471
|
|
|
4437
4472
|
// ../../components/Dialog/Dialog.tsx
|
|
4438
4473
|
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
@@ -4563,7 +4598,7 @@ function Dialog({
|
|
|
4563
4598
|
var import_react22 = require("react");
|
|
4564
4599
|
|
|
4565
4600
|
// ../../components/Modal/Modal.module.css
|
|
4566
|
-
var Modal_default = {"
|
|
4601
|
+
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"};
|
|
4567
4602
|
|
|
4568
4603
|
// ../../components/Modal/Modal.tsx
|
|
4569
4604
|
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
@@ -4694,7 +4729,7 @@ function ModalDefaultActions({ onClose }) {
|
|
|
4694
4729
|
var import_react23 = require("react");
|
|
4695
4730
|
|
|
4696
4731
|
// ../../components/Drawer/Drawer.module.css
|
|
4697
|
-
var Drawer_default = {"
|
|
4732
|
+
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"};
|
|
4698
4733
|
|
|
4699
4734
|
// ../../components/Drawer/Drawer.tsx
|
|
4700
4735
|
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
@@ -4826,7 +4861,7 @@ function DrawerDefaultActions({ onClose }) {
|
|
|
4826
4861
|
var import_react24 = require("react");
|
|
4827
4862
|
|
|
4828
4863
|
// ../../components/Popover/Popover.module.css
|
|
4829
|
-
var Popover_default = {"
|
|
4864
|
+
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"};
|
|
4830
4865
|
|
|
4831
4866
|
// ../../components/Popover/Popover.tsx
|
|
4832
4867
|
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
@@ -4977,7 +5012,7 @@ function resolveMegaMenuPortalStyle(root, inTopNavigation) {
|
|
|
4977
5012
|
}
|
|
4978
5013
|
|
|
4979
5014
|
// ../../components/MegaMenu/MegaMenu.module.css
|
|
4980
|
-
var MegaMenu_default = {"
|
|
5015
|
+
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"};
|
|
4981
5016
|
|
|
4982
5017
|
// ../../components/MegaMenu/MegaMenu.tsx
|
|
4983
5018
|
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
@@ -5420,7 +5455,7 @@ function MegaMenu({
|
|
|
5420
5455
|
}
|
|
5421
5456
|
|
|
5422
5457
|
// ../../components/TopNavigation/TopNavigation.module.css
|
|
5423
|
-
var TopNavigation_default = {"
|
|
5458
|
+
var TopNavigation_default = {"nav":"opus_OIomR6_nav","menuSlotMega":"opus_OIomR6_menuSlotMega","menuSlot":"opus_OIomR6_menuSlot","menuTrigger":"opus_OIomR6_menuTrigger","bar":"opus_OIomR6_bar"};
|
|
5424
5459
|
|
|
5425
5460
|
// ../../components/TopNavigation/TopNavigation.tsx
|
|
5426
5461
|
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
@@ -5777,7 +5812,7 @@ function handleMenuKeyDown(event, menu, onEscape) {
|
|
|
5777
5812
|
}
|
|
5778
5813
|
|
|
5779
5814
|
// ../../components/DropdownMenu/DropdownMenu.module.css
|
|
5780
|
-
var DropdownMenu_default = {"
|
|
5815
|
+
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"};
|
|
5781
5816
|
|
|
5782
5817
|
// ../../components/DropdownMenu/DropdownMenu.tsx
|
|
5783
5818
|
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
@@ -6108,7 +6143,7 @@ var import_react29 = require("react");
|
|
|
6108
6143
|
var import_react_dom4 = require("react-dom");
|
|
6109
6144
|
|
|
6110
6145
|
// ../../components/ContextMenu/ContextMenu.module.css
|
|
6111
|
-
var ContextMenu_default = {"
|
|
6146
|
+
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"};
|
|
6112
6147
|
|
|
6113
6148
|
// ../../components/ContextMenu/ContextMenuProvider.tsx
|
|
6114
6149
|
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
@@ -6413,7 +6448,7 @@ var import_free_solid_svg_icons5 = require("@fortawesome/free-solid-svg-icons");
|
|
|
6413
6448
|
var import_react_fontawesome5 = require("@fortawesome/react-fontawesome");
|
|
6414
6449
|
|
|
6415
6450
|
// ../../components/CommandPalette/CommandPalette.module.css
|
|
6416
|
-
var CommandPalette_default = {"
|
|
6451
|
+
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"};
|
|
6417
6452
|
|
|
6418
6453
|
// ../../components/CommandPalette/CommandPalette.tsx
|
|
6419
6454
|
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
@@ -6749,7 +6784,7 @@ function AccordionGroup({
|
|
|
6749
6784
|
}
|
|
6750
6785
|
|
|
6751
6786
|
// ../../components/Accordion/Accordion.module.css
|
|
6752
|
-
var Accordion_default = {"
|
|
6787
|
+
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"};
|
|
6753
6788
|
|
|
6754
6789
|
// ../../components/Accordion/Accordion.tsx
|
|
6755
6790
|
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
@@ -6836,7 +6871,7 @@ function Accordion({
|
|
|
6836
6871
|
var import_react33 = require("react");
|
|
6837
6872
|
|
|
6838
6873
|
// ../../components/ShowMore/ShowMore.module.css
|
|
6839
|
-
var ShowMore_default = {"toggleLabel":"opus_dSk-ve_toggleLabel","
|
|
6874
|
+
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"};
|
|
6840
6875
|
|
|
6841
6876
|
// ../../components/ShowMore/ShowMore.tsx
|
|
6842
6877
|
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
@@ -6940,7 +6975,7 @@ function ShowMore({
|
|
|
6940
6975
|
}
|
|
6941
6976
|
|
|
6942
6977
|
// ../../components/Toast/Toast.module.css
|
|
6943
|
-
var Toast_default = {"
|
|
6978
|
+
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"};
|
|
6944
6979
|
|
|
6945
6980
|
// ../../components/Toast/Toast.tsx
|
|
6946
6981
|
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
@@ -7012,7 +7047,7 @@ function Toast({
|
|
|
7012
7047
|
var import_react34 = require("react");
|
|
7013
7048
|
|
|
7014
7049
|
// ../../components/ToastProvider/ToastProvider.module.css
|
|
7015
|
-
var ToastProvider_default = {"
|
|
7050
|
+
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"};
|
|
7016
7051
|
|
|
7017
7052
|
// ../../components/ToastProvider/ToastProvider.tsx
|
|
7018
7053
|
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
@@ -7382,7 +7417,7 @@ function ToastProvider({
|
|
|
7382
7417
|
var import_react35 = require("react");
|
|
7383
7418
|
|
|
7384
7419
|
// ../../components/Tabs/Tabs.module.css
|
|
7385
|
-
var Tabs_default = {"
|
|
7420
|
+
var Tabs_default = {"panel":"opus_ADVJmy_panel","list":"opus_ADVJmy_list","root":"opus_ADVJmy_root","tab":"opus_ADVJmy_tab"};
|
|
7386
7421
|
|
|
7387
7422
|
// ../../components/Tabs/Tabs.tsx
|
|
7388
7423
|
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
@@ -7496,7 +7531,7 @@ function Tabs({
|
|
|
7496
7531
|
}
|
|
7497
7532
|
|
|
7498
7533
|
// ../../components/Card/Card.module.css
|
|
7499
|
-
var Card_default = {"
|
|
7534
|
+
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"};
|
|
7500
7535
|
|
|
7501
7536
|
// ../../components/Card/Card.tsx
|
|
7502
7537
|
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
@@ -7527,7 +7562,7 @@ function Card({
|
|
|
7527
7562
|
}
|
|
7528
7563
|
|
|
7529
7564
|
// ../../components/dashboardMetricCardLayout/dashboardMetricCardLayout.module.css
|
|
7530
|
-
var dashboardMetricCardLayout_default = {"
|
|
7565
|
+
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"};
|
|
7531
7566
|
|
|
7532
7567
|
// ../../components/StatCard/StatCard.module.css
|
|
7533
7568
|
var StatCard_default = {"change":"opus_KIXsQY_change"};
|
|
@@ -7557,7 +7592,7 @@ function StatCard({
|
|
|
7557
7592
|
}
|
|
7558
7593
|
|
|
7559
7594
|
// ../../components/Gauge/Gauge.module.css
|
|
7560
|
-
var Gauge_default = {"
|
|
7595
|
+
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"};
|
|
7561
7596
|
|
|
7562
7597
|
// ../../components/Gauge/Gauge.tsx
|
|
7563
7598
|
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
@@ -7691,7 +7726,7 @@ function Gauge({
|
|
|
7691
7726
|
var import_react36 = require("react");
|
|
7692
7727
|
|
|
7693
7728
|
// ../../components/Sparkline/Sparkline.module.css
|
|
7694
|
-
var Sparkline_default = {"area":"opus_xXtB87_area","svg":"opus_xXtB87_svg","endPoint":"opus_xXtB87_endPoint","
|
|
7729
|
+
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"};
|
|
7695
7730
|
|
|
7696
7731
|
// ../../components/Sparkline/Sparkline.tsx
|
|
7697
7732
|
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
@@ -7757,7 +7792,7 @@ function Sparkline({
|
|
|
7757
7792
|
}
|
|
7758
7793
|
|
|
7759
7794
|
// ../../components/ProgressRing/ProgressRing.module.css
|
|
7760
|
-
var ProgressRing_default = {"ring":"opus_YxX6Hh_ring","
|
|
7795
|
+
var ProgressRing_default = {"ring":"opus_YxX6Hh_ring","svg":"opus_YxX6Hh_svg","center":"opus_YxX6Hh_center","track":"opus_YxX6Hh_track","value":"opus_YxX6Hh_value"};
|
|
7761
7796
|
|
|
7762
7797
|
// ../../components/ProgressRing/ProgressRing.tsx
|
|
7763
7798
|
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
@@ -7790,7 +7825,7 @@ function ProgressRing({ label, max = 100, value }) {
|
|
|
7790
7825
|
}
|
|
7791
7826
|
|
|
7792
7827
|
// ../../components/ProgressBar/ProgressBar.module.css
|
|
7793
|
-
var ProgressBar_default = {"
|
|
7828
|
+
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"};
|
|
7794
7829
|
|
|
7795
7830
|
// ../../components/ProgressBar/ProgressBar.tsx
|
|
7796
7831
|
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
@@ -7810,7 +7845,7 @@ function ProgressBar({ label, max = 100, value }) {
|
|
|
7810
7845
|
}
|
|
7811
7846
|
|
|
7812
7847
|
// ../../components/Speedometer/Speedometer.module.css
|
|
7813
|
-
var Speedometer_default = {"
|
|
7848
|
+
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"};
|
|
7814
7849
|
|
|
7815
7850
|
// ../../components/Speedometer/Speedometer.tsx
|
|
7816
7851
|
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
@@ -7843,7 +7878,7 @@ function Speedometer({ label, max = 100, value }) {
|
|
|
7843
7878
|
}
|
|
7844
7879
|
|
|
7845
7880
|
// ../../components/MetricTile/MetricTile.module.css
|
|
7846
|
-
var MetricTile_default = {"
|
|
7881
|
+
var MetricTile_default = {"tile":"opus_-dz9KL_tile","sparklineRail":"opus_-dz9KL_sparklineRail","sparklineReserve":"opus_-dz9KL_sparklineReserve"};
|
|
7847
7882
|
|
|
7848
7883
|
// ../../components/MetricTile/MetricTile.tsx
|
|
7849
7884
|
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
@@ -7886,7 +7921,7 @@ function TrendBadge({ direction, value }) {
|
|
|
7886
7921
|
}
|
|
7887
7922
|
|
|
7888
7923
|
// ../../components/Panel/Panel.module.css
|
|
7889
|
-
var Panel_default = {"
|
|
7924
|
+
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"};
|
|
7890
7925
|
|
|
7891
7926
|
// ../../components/Panel/Panel.tsx
|
|
7892
7927
|
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
@@ -8070,7 +8105,7 @@ function resolveSectionGapVars(gap = "md") {
|
|
|
8070
8105
|
}
|
|
8071
8106
|
|
|
8072
8107
|
// ../../components/Section/Section.module.css
|
|
8073
|
-
var Section_default = {"
|
|
8108
|
+
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"};
|
|
8074
8109
|
|
|
8075
8110
|
// ../../components/Section/Section.tsx
|
|
8076
8111
|
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
@@ -8151,7 +8186,7 @@ var Section = Object.assign(SectionRoot, {
|
|
|
8151
8186
|
});
|
|
8152
8187
|
|
|
8153
8188
|
// ../../components/Table/Table.module.css
|
|
8154
|
-
var Table_default = {"
|
|
8189
|
+
var Table_default = {"visuallyHidden":"opus_2q7S14_visuallyHidden","table":"opus_2q7S14_table","caption":"opus_2q7S14_caption","wrap":"opus_2q7S14_wrap","empty":"opus_2q7S14_empty"};
|
|
8155
8190
|
|
|
8156
8191
|
// ../../components/Table/Table.tsx
|
|
8157
8192
|
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
@@ -8184,8 +8219,196 @@ var import_react37 = require("react");
|
|
|
8184
8219
|
var import_free_solid_svg_icons6 = require("@fortawesome/free-solid-svg-icons");
|
|
8185
8220
|
var import_react_fontawesome6 = require("@fortawesome/react-fontawesome");
|
|
8186
8221
|
|
|
8222
|
+
// ../../components/DataGrid/dataGridLayout.ts
|
|
8223
|
+
function cellText(value) {
|
|
8224
|
+
if (value === null || value === void 0 || typeof value === "boolean") {
|
|
8225
|
+
return "";
|
|
8226
|
+
}
|
|
8227
|
+
if (typeof value === "number" || typeof value === "string") {
|
|
8228
|
+
return String(value);
|
|
8229
|
+
}
|
|
8230
|
+
if (Array.isArray(value)) {
|
|
8231
|
+
return value.map(cellText).join(" ");
|
|
8232
|
+
}
|
|
8233
|
+
return "";
|
|
8234
|
+
}
|
|
8235
|
+
function getRowCellText(row, key) {
|
|
8236
|
+
var _a2;
|
|
8237
|
+
if (key === "team") {
|
|
8238
|
+
return cellText((_a2 = row.values.team) != null ? _a2 : row.label);
|
|
8239
|
+
}
|
|
8240
|
+
return cellText(row.values[key]);
|
|
8241
|
+
}
|
|
8242
|
+
function buildGroupedDisplayRows(rows, groupBy, collapsedGroupIds) {
|
|
8243
|
+
var _a2;
|
|
8244
|
+
const groups = /* @__PURE__ */ new Map();
|
|
8245
|
+
for (const row of rows) {
|
|
8246
|
+
const label = getRowCellText(row, groupBy) || "Ungrouped";
|
|
8247
|
+
const bucket = (_a2 = groups.get(label)) != null ? _a2 : [];
|
|
8248
|
+
bucket.push(row);
|
|
8249
|
+
groups.set(label, bucket);
|
|
8250
|
+
}
|
|
8251
|
+
const display = [];
|
|
8252
|
+
for (const [label, groupRows] of groups) {
|
|
8253
|
+
const id = `group:${label}`;
|
|
8254
|
+
const expanded = !collapsedGroupIds.has(id);
|
|
8255
|
+
display.push({
|
|
8256
|
+
kind: "group",
|
|
8257
|
+
id,
|
|
8258
|
+
label,
|
|
8259
|
+
count: groupRows.length,
|
|
8260
|
+
expanded
|
|
8261
|
+
});
|
|
8262
|
+
if (expanded) {
|
|
8263
|
+
for (const row of groupRows) {
|
|
8264
|
+
display.push({
|
|
8265
|
+
kind: "data",
|
|
8266
|
+
row,
|
|
8267
|
+
depth: 1,
|
|
8268
|
+
expandable: false,
|
|
8269
|
+
expanded: false,
|
|
8270
|
+
hasChildren: false
|
|
8271
|
+
});
|
|
8272
|
+
}
|
|
8273
|
+
}
|
|
8274
|
+
}
|
|
8275
|
+
return display;
|
|
8276
|
+
}
|
|
8277
|
+
function buildTreeDisplayRows(rows, expandedIds, depth = 0) {
|
|
8278
|
+
var _a2;
|
|
8279
|
+
const display = [];
|
|
8280
|
+
for (const row of rows) {
|
|
8281
|
+
const children = (_a2 = row.children) != null ? _a2 : [];
|
|
8282
|
+
const hasChildren = children.length > 0;
|
|
8283
|
+
const expanded = hasChildren && expandedIds.has(row.id);
|
|
8284
|
+
display.push({
|
|
8285
|
+
kind: "data",
|
|
8286
|
+
row,
|
|
8287
|
+
depth,
|
|
8288
|
+
expandable: hasChildren,
|
|
8289
|
+
expanded,
|
|
8290
|
+
hasChildren
|
|
8291
|
+
});
|
|
8292
|
+
if (expanded) {
|
|
8293
|
+
display.push(...buildTreeDisplayRows(children, expandedIds, depth + 1));
|
|
8294
|
+
}
|
|
8295
|
+
}
|
|
8296
|
+
return display;
|
|
8297
|
+
}
|
|
8298
|
+
function buildFlatDisplayRows(rows) {
|
|
8299
|
+
return rows.map((row) => ({
|
|
8300
|
+
kind: "data",
|
|
8301
|
+
row,
|
|
8302
|
+
depth: 0,
|
|
8303
|
+
expandable: false,
|
|
8304
|
+
expanded: false,
|
|
8305
|
+
hasChildren: false
|
|
8306
|
+
}));
|
|
8307
|
+
}
|
|
8308
|
+
function collectTreeIds(rows) {
|
|
8309
|
+
var _a2;
|
|
8310
|
+
const ids = [];
|
|
8311
|
+
for (const row of rows) {
|
|
8312
|
+
if ((_a2 = row.children) == null ? void 0 : _a2.length) {
|
|
8313
|
+
ids.push(row.id);
|
|
8314
|
+
ids.push(...collectTreeIds(row.children));
|
|
8315
|
+
}
|
|
8316
|
+
}
|
|
8317
|
+
return ids;
|
|
8318
|
+
}
|
|
8319
|
+
|
|
8320
|
+
// ../../components/DataGrid/dataGridPivot.ts
|
|
8321
|
+
function toNumber(value) {
|
|
8322
|
+
const cleaned = value.replace(/%/g, "").replace(/^\+/, "").trim();
|
|
8323
|
+
if (!cleaned || Number.isNaN(Number(cleaned))) {
|
|
8324
|
+
return null;
|
|
8325
|
+
}
|
|
8326
|
+
return Number(cleaned);
|
|
8327
|
+
}
|
|
8328
|
+
function aggregate(values, mode) {
|
|
8329
|
+
if (mode === "count") {
|
|
8330
|
+
return values.length;
|
|
8331
|
+
}
|
|
8332
|
+
if (!values.length) {
|
|
8333
|
+
return 0;
|
|
8334
|
+
}
|
|
8335
|
+
const sum = values.reduce((total, value) => total + value, 0);
|
|
8336
|
+
return mode === "avg" ? sum / values.length : sum;
|
|
8337
|
+
}
|
|
8338
|
+
function formatMeasure(value, sample) {
|
|
8339
|
+
if (sample.includes("%")) {
|
|
8340
|
+
return `${Math.round(value)}%`;
|
|
8341
|
+
}
|
|
8342
|
+
if (Number.isInteger(value)) {
|
|
8343
|
+
return value;
|
|
8344
|
+
}
|
|
8345
|
+
return Math.round(value * 10) / 10;
|
|
8346
|
+
}
|
|
8347
|
+
function buildPivotGrid(sourceRows, config2) {
|
|
8348
|
+
var _a2, _b2;
|
|
8349
|
+
const aggregator = (_a2 = config2.aggregator) != null ? _a2 : "sum";
|
|
8350
|
+
const rowDims = config2.rows.length ? config2.rows : ["team"];
|
|
8351
|
+
const colDims = config2.columns.length ? config2.columns : ["group"];
|
|
8352
|
+
const valueKeys = config2.values.length ? config2.values : ["q1"];
|
|
8353
|
+
const columnLabels = /* @__PURE__ */ new Set();
|
|
8354
|
+
const matrix = /* @__PURE__ */ new Map();
|
|
8355
|
+
const rowLabels = /* @__PURE__ */ new Map();
|
|
8356
|
+
const samples = /* @__PURE__ */ new Map();
|
|
8357
|
+
for (const source of sourceRows) {
|
|
8358
|
+
const rowKey = rowDims.map((key) => getRowCellText(source, key) || "\u2014").join(" \xB7 ");
|
|
8359
|
+
const colKey = colDims.map((key) => getRowCellText(source, key) || "\u2014").join(" \xB7 ");
|
|
8360
|
+
rowLabels.set(rowKey, rowKey);
|
|
8361
|
+
if (!matrix.has(rowKey)) {
|
|
8362
|
+
matrix.set(rowKey, /* @__PURE__ */ new Map());
|
|
8363
|
+
}
|
|
8364
|
+
const rowBucket = matrix.get(rowKey);
|
|
8365
|
+
for (const valueKey of valueKeys) {
|
|
8366
|
+
const cellKey = valueKeys.length === 1 ? colKey : `${colKey} \xB7 ${valueKey}`;
|
|
8367
|
+
columnLabels.add(cellKey);
|
|
8368
|
+
const raw = getRowCellText(source, valueKey);
|
|
8369
|
+
const numeric = toNumber(raw);
|
|
8370
|
+
if (!samples.has(valueKey) && raw) {
|
|
8371
|
+
samples.set(valueKey, raw);
|
|
8372
|
+
}
|
|
8373
|
+
const values = (_b2 = rowBucket.get(cellKey)) != null ? _b2 : [];
|
|
8374
|
+
if (aggregator === "count") {
|
|
8375
|
+
values.push(1);
|
|
8376
|
+
} else if (numeric !== null) {
|
|
8377
|
+
values.push(numeric);
|
|
8378
|
+
}
|
|
8379
|
+
rowBucket.set(cellKey, values);
|
|
8380
|
+
}
|
|
8381
|
+
}
|
|
8382
|
+
const sortedColumnLabels = Array.from(columnLabels).sort((a, b) => a.localeCompare(b));
|
|
8383
|
+
const columns = [
|
|
8384
|
+
{ key: "team", label: rowDims.join(" \xB7 "), align: "left", sortable: true, filterable: true },
|
|
8385
|
+
...sortedColumnLabels.map((label) => ({
|
|
8386
|
+
key: label,
|
|
8387
|
+
label,
|
|
8388
|
+
align: "right",
|
|
8389
|
+
sortable: true,
|
|
8390
|
+
filterable: true
|
|
8391
|
+
}))
|
|
8392
|
+
];
|
|
8393
|
+
const rows = Array.from(matrix.entries()).map(([rowKey, cells], index) => {
|
|
8394
|
+
var _a3, _b3, _c2;
|
|
8395
|
+
const values = { team: rowKey };
|
|
8396
|
+
for (const columnLabel of sortedColumnLabels) {
|
|
8397
|
+
const nums = (_a3 = cells.get(columnLabel)) != null ? _a3 : [];
|
|
8398
|
+
const sampleKey = (_b3 = valueKeys.find((key) => columnLabel.includes(key))) != null ? _b3 : valueKeys[0];
|
|
8399
|
+
const sample = (_c2 = samples.get(sampleKey)) != null ? _c2 : "";
|
|
8400
|
+
values[columnLabel] = formatMeasure(aggregate(nums, aggregator), sample);
|
|
8401
|
+
}
|
|
8402
|
+
return {
|
|
8403
|
+
id: `pivot-${index + 1}`,
|
|
8404
|
+
values
|
|
8405
|
+
};
|
|
8406
|
+
});
|
|
8407
|
+
return { columns, rows };
|
|
8408
|
+
}
|
|
8409
|
+
|
|
8187
8410
|
// ../../components/DataGrid/DataGrid.module.css
|
|
8188
|
-
var DataGrid_default = {"wrap":"opus_zN0bNb_wrap","
|
|
8411
|
+
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"};
|
|
8189
8412
|
|
|
8190
8413
|
// ../../components/DataGrid/DataGrid.tsx
|
|
8191
8414
|
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
@@ -8200,6 +8423,8 @@ var HEADER_CONTROL_GAP = 6;
|
|
|
8200
8423
|
var SORT_INDICATOR_WIDTH = 8;
|
|
8201
8424
|
var SORT_LABEL_GAP = 8;
|
|
8202
8425
|
var RESIZE_HANDLE_WIDTH = 14;
|
|
8426
|
+
var DEFAULT_VIEWPORT = 360;
|
|
8427
|
+
var OVERSCAN = 6;
|
|
8203
8428
|
function resolveColumnFeatures(column) {
|
|
8204
8429
|
return {
|
|
8205
8430
|
filterable: (column == null ? void 0 : column.filterable) === true,
|
|
@@ -8218,21 +8443,8 @@ function getMinColumnWidth(sortable, hasMenu, density) {
|
|
|
8218
8443
|
}
|
|
8219
8444
|
return width;
|
|
8220
8445
|
}
|
|
8221
|
-
function cellText(value) {
|
|
8222
|
-
if (value === null || value === void 0 || typeof value === "boolean") {
|
|
8223
|
-
return "";
|
|
8224
|
-
}
|
|
8225
|
-
if (typeof value === "number" || typeof value === "string") {
|
|
8226
|
-
return String(value);
|
|
8227
|
-
}
|
|
8228
|
-
if (Array.isArray(value)) {
|
|
8229
|
-
return value.map(cellText).join(" ");
|
|
8230
|
-
}
|
|
8231
|
-
return "";
|
|
8232
|
-
}
|
|
8233
8446
|
function rowTeamValue(row) {
|
|
8234
|
-
|
|
8235
|
-
return cellText((_a2 = row.values.team) != null ? _a2 : row.label);
|
|
8447
|
+
return getRowCellText(row, "team");
|
|
8236
8448
|
}
|
|
8237
8449
|
function isNumericValue(value) {
|
|
8238
8450
|
return /^-?\d+(?:\.\d+)?$/.test(value);
|
|
@@ -8245,33 +8457,67 @@ function compareValues(a, b) {
|
|
|
8245
8457
|
}
|
|
8246
8458
|
return aTrim.localeCompare(bTrim, void 0, { numeric: true, sensitivity: "base" });
|
|
8247
8459
|
}
|
|
8460
|
+
function defaultRowHeight(density) {
|
|
8461
|
+
return density === "comfortable" ? 44 : 36;
|
|
8462
|
+
}
|
|
8248
8463
|
function DataGrid({
|
|
8249
8464
|
bordered = true,
|
|
8250
8465
|
caption,
|
|
8251
8466
|
columns,
|
|
8467
|
+
defaultExpandedIds,
|
|
8252
8468
|
density = "compact",
|
|
8469
|
+
detailExpandedIds,
|
|
8470
|
+
getDetailContent,
|
|
8471
|
+
groupBy = "group",
|
|
8472
|
+
hasMore = false,
|
|
8473
|
+
layout = "flat",
|
|
8474
|
+
loadingMore = false,
|
|
8475
|
+
onExpandedChange,
|
|
8476
|
+
onLoadMore,
|
|
8477
|
+
pivot,
|
|
8253
8478
|
rowHeader,
|
|
8479
|
+
rowHeight,
|
|
8254
8480
|
rows,
|
|
8255
8481
|
stickyFirstColumn = true,
|
|
8256
8482
|
stickyHeader = true,
|
|
8257
|
-
striped = true
|
|
8483
|
+
striped = true,
|
|
8484
|
+
viewportHeight = DEFAULT_VIEWPORT,
|
|
8485
|
+
virtualized = false
|
|
8258
8486
|
}) {
|
|
8259
|
-
var _a2, _b2, _c2, _d2;
|
|
8487
|
+
var _a2, _b2, _c2, _d2, _e2, _f2;
|
|
8260
8488
|
const [columnWidths, setColumnWidths] = (0, import_react37.useState)({});
|
|
8261
8489
|
const [filters, setFilters] = (0, import_react37.useState)({});
|
|
8262
8490
|
const [openMenu, setOpenMenu] = (0, import_react37.useState)(null);
|
|
8263
8491
|
const [resizing, setResizing] = (0, import_react37.useState)(null);
|
|
8264
8492
|
const [sort, setSort] = (0, import_react37.useState)(null);
|
|
8493
|
+
const [collapsedGroupIds, setCollapsedGroupIds] = (0, import_react37.useState)(() => /* @__PURE__ */ new Set());
|
|
8494
|
+
const [treeExpandedIds, setTreeExpandedIds] = (0, import_react37.useState)(
|
|
8495
|
+
() => new Set(defaultExpandedIds != null ? defaultExpandedIds : [])
|
|
8496
|
+
);
|
|
8497
|
+
const [uncontrolledDetailIds, setUncontrolledDetailIds] = (0, import_react37.useState)(() => /* @__PURE__ */ new Set());
|
|
8498
|
+
const [scrollTop, setScrollTop] = (0, import_react37.useState)(0);
|
|
8265
8499
|
const menuAnchorRef = (0, import_react37.useRef)(null);
|
|
8266
8500
|
const menuHostRef = (0, import_react37.useRef)(null);
|
|
8267
8501
|
const menuRef = (0, import_react37.useRef)(null);
|
|
8268
8502
|
const menuFrameRef = (0, import_react37.useRef)(null);
|
|
8269
8503
|
const resizeDragRef = (0, import_react37.useRef)(null);
|
|
8270
8504
|
const wrapRef = (0, import_react37.useRef)(null);
|
|
8271
|
-
const
|
|
8505
|
+
const sentinelRef = (0, import_react37.useRef)(null);
|
|
8506
|
+
const resolvedRowHeight = rowHeight != null ? rowHeight : defaultRowHeight(density);
|
|
8507
|
+
const detailIds = detailExpandedIds ? new Set(detailExpandedIds) : uncontrolledDetailIds;
|
|
8508
|
+
const masterDetail = Boolean(getDetailContent) && layout !== "pivot";
|
|
8509
|
+
const pivotResult = (0, import_react37.useMemo)(() => {
|
|
8510
|
+
if (layout !== "pivot") {
|
|
8511
|
+
return null;
|
|
8512
|
+
}
|
|
8513
|
+
return buildPivotGrid(rows, pivot != null ? pivot : { rows: ["group"], columns: ["a11y"], values: ["q1", "q2"] });
|
|
8514
|
+
}, [layout, pivot, rows]);
|
|
8515
|
+
const activeColumns = (_a2 = pivotResult == null ? void 0 : pivotResult.columns) != null ? _a2 : columns;
|
|
8516
|
+
const activeRows = (_b2 = pivotResult == null ? void 0 : pivotResult.rows) != null ? _b2 : rows;
|
|
8517
|
+
const hasTeamColumn = activeColumns.some((column) => column.key === "team");
|
|
8272
8518
|
const gridColumns = (0, import_react37.useMemo)(
|
|
8273
|
-
() => hasTeamColumn ?
|
|
8274
|
-
[
|
|
8519
|
+
() => hasTeamColumn ? activeColumns : [{ key: "team", label: "Team", align: "left" }, ...activeColumns],
|
|
8520
|
+
[activeColumns, hasTeamColumn]
|
|
8275
8521
|
);
|
|
8276
8522
|
const dataColumns = (0, import_react37.useMemo)(
|
|
8277
8523
|
() => gridColumns.filter((column) => column.key !== "team"),
|
|
@@ -8285,34 +8531,92 @@ function DataGrid({
|
|
|
8285
8531
|
}
|
|
8286
8532
|
return features;
|
|
8287
8533
|
}, [gridColumns, hasTeamColumn, rowHeader]);
|
|
8288
|
-
const
|
|
8289
|
-
(
|
|
8290
|
-
|
|
8291
|
-
|
|
8292
|
-
|
|
8293
|
-
|
|
8294
|
-
|
|
8295
|
-
|
|
8296
|
-
|
|
8297
|
-
|
|
8298
|
-
|
|
8299
|
-
|
|
8300
|
-
|
|
8301
|
-
|
|
8302
|
-
|
|
8303
|
-
|
|
8304
|
-
|
|
8305
|
-
|
|
8534
|
+
const filterSortRows = (0, import_react37.useCallback)(
|
|
8535
|
+
(source) => {
|
|
8536
|
+
return source.filter(
|
|
8537
|
+
(row) => gridColumns.every((column) => {
|
|
8538
|
+
var _a3;
|
|
8539
|
+
const features = columnFeatures[column.key];
|
|
8540
|
+
if (!(features == null ? void 0 : features.filterable)) {
|
|
8541
|
+
return true;
|
|
8542
|
+
}
|
|
8543
|
+
const filter = (_a3 = filters[column.key]) == null ? void 0 : _a3.trim().toLowerCase();
|
|
8544
|
+
if (!filter) {
|
|
8545
|
+
return true;
|
|
8546
|
+
}
|
|
8547
|
+
const value = column.key === "team" ? rowTeamValue(row) : getRowCellText(row, column.key);
|
|
8548
|
+
return value.toLowerCase().includes(filter);
|
|
8549
|
+
})
|
|
8550
|
+
).sort((a, b) => {
|
|
8551
|
+
var _a3;
|
|
8552
|
+
if (!sort || !((_a3 = columnFeatures[sort.key]) == null ? void 0 : _a3.sortable)) {
|
|
8553
|
+
return 0;
|
|
8554
|
+
}
|
|
8555
|
+
const aValue = sort.key === "team" ? rowTeamValue(a) : getRowCellText(a, sort.key);
|
|
8556
|
+
const bValue = sort.key === "team" ? rowTeamValue(b) : getRowCellText(b, sort.key);
|
|
8557
|
+
const result = compareValues(aValue, bValue);
|
|
8558
|
+
return sort.direction === "ascending" ? result : -result;
|
|
8559
|
+
});
|
|
8560
|
+
},
|
|
8561
|
+
[columnFeatures, filters, gridColumns, sort]
|
|
8562
|
+
);
|
|
8563
|
+
(0, import_react37.useEffect)(() => {
|
|
8564
|
+
if (layout === "tree" && defaultExpandedIds === void 0 && treeExpandedIds.size === 0) {
|
|
8565
|
+
setTreeExpandedIds(new Set(collectTreeIds(activeRows).slice(0, 4)));
|
|
8306
8566
|
}
|
|
8307
|
-
|
|
8308
|
-
|
|
8567
|
+
}, [activeRows, defaultExpandedIds, layout, treeExpandedIds.size]);
|
|
8568
|
+
const displayRows = (0, import_react37.useMemo)(() => {
|
|
8569
|
+
if (layout === "tree") {
|
|
8570
|
+
return buildTreeDisplayRows(filterSortRows(activeRows), treeExpandedIds);
|
|
8309
8571
|
}
|
|
8310
|
-
const
|
|
8311
|
-
|
|
8312
|
-
|
|
8313
|
-
|
|
8314
|
-
|
|
8572
|
+
const flat = filterSortRows(activeRows);
|
|
8573
|
+
if (layout === "grouped") {
|
|
8574
|
+
return buildGroupedDisplayRows(flat, groupBy, collapsedGroupIds);
|
|
8575
|
+
}
|
|
8576
|
+
return buildFlatDisplayRows(flat);
|
|
8577
|
+
}, [activeRows, collapsedGroupIds, filterSortRows, groupBy, layout, treeExpandedIds]);
|
|
8315
8578
|
const openMenuFeatures = openMenu ? columnFeatures[openMenu.key] : void 0;
|
|
8579
|
+
const setExpandedIds = (0, import_react37.useCallback)(
|
|
8580
|
+
(next) => {
|
|
8581
|
+
setTreeExpandedIds(next);
|
|
8582
|
+
onExpandedChange == null ? void 0 : onExpandedChange(Array.from(next));
|
|
8583
|
+
},
|
|
8584
|
+
[onExpandedChange]
|
|
8585
|
+
);
|
|
8586
|
+
const toggleTreeExpand = (id) => {
|
|
8587
|
+
const next = new Set(treeExpandedIds);
|
|
8588
|
+
if (next.has(id)) {
|
|
8589
|
+
next.delete(id);
|
|
8590
|
+
} else {
|
|
8591
|
+
next.add(id);
|
|
8592
|
+
}
|
|
8593
|
+
setExpandedIds(next);
|
|
8594
|
+
};
|
|
8595
|
+
const toggleGroup = (id) => {
|
|
8596
|
+
setCollapsedGroupIds((current) => {
|
|
8597
|
+
const next = new Set(current);
|
|
8598
|
+
if (next.has(id)) {
|
|
8599
|
+
next.delete(id);
|
|
8600
|
+
} else {
|
|
8601
|
+
next.add(id);
|
|
8602
|
+
}
|
|
8603
|
+
return next;
|
|
8604
|
+
});
|
|
8605
|
+
};
|
|
8606
|
+
const toggleDetail = (id) => {
|
|
8607
|
+
if (detailExpandedIds) {
|
|
8608
|
+
return;
|
|
8609
|
+
}
|
|
8610
|
+
setUncontrolledDetailIds((current) => {
|
|
8611
|
+
const next = new Set(current);
|
|
8612
|
+
if (next.has(id)) {
|
|
8613
|
+
next.delete(id);
|
|
8614
|
+
} else {
|
|
8615
|
+
next.add(id);
|
|
8616
|
+
}
|
|
8617
|
+
return next;
|
|
8618
|
+
});
|
|
8619
|
+
};
|
|
8316
8620
|
const resetWrapMinHeight = (0, import_react37.useCallback)(() => {
|
|
8317
8621
|
if (wrapRef.current) {
|
|
8318
8622
|
wrapRef.current.style.minHeight = "";
|
|
@@ -8323,7 +8627,7 @@ function DataGrid({
|
|
|
8323
8627
|
resetWrapMinHeight();
|
|
8324
8628
|
setOpenMenu(null);
|
|
8325
8629
|
}, [resetWrapMinHeight]);
|
|
8326
|
-
const activeMenuFilter = openMenu ? (
|
|
8630
|
+
const activeMenuFilter = openMenu ? (_c2 = filters[openMenu.key]) != null ? _c2 : "" : "";
|
|
8327
8631
|
const applyMenuPosition = (0, import_react37.useCallback)(() => {
|
|
8328
8632
|
const anchor = menuAnchorRef.current;
|
|
8329
8633
|
const menu = menuRef.current;
|
|
@@ -8436,6 +8740,26 @@ function DataGrid({
|
|
|
8436
8740
|
}
|
|
8437
8741
|
scheduleMenuPosition();
|
|
8438
8742
|
}, [columnWidths, openMenu, scheduleMenuPosition]);
|
|
8743
|
+
(0, import_react37.useEffect)(() => {
|
|
8744
|
+
if (!onLoadMore || !hasMore) {
|
|
8745
|
+
return;
|
|
8746
|
+
}
|
|
8747
|
+
const root = wrapRef.current;
|
|
8748
|
+
const target = sentinelRef.current;
|
|
8749
|
+
if (!root || !target) {
|
|
8750
|
+
return;
|
|
8751
|
+
}
|
|
8752
|
+
const observer = new IntersectionObserver(
|
|
8753
|
+
(entries) => {
|
|
8754
|
+
if (entries.some((entry) => entry.isIntersecting) && !loadingMore) {
|
|
8755
|
+
onLoadMore();
|
|
8756
|
+
}
|
|
8757
|
+
},
|
|
8758
|
+
{ root, rootMargin: "120px" }
|
|
8759
|
+
);
|
|
8760
|
+
observer.observe(target);
|
|
8761
|
+
return () => observer.disconnect();
|
|
8762
|
+
}, [displayRows.length, hasMore, loadingMore, onLoadMore]);
|
|
8439
8763
|
const toggleSort = (key) => {
|
|
8440
8764
|
var _a3;
|
|
8441
8765
|
if (!((_a3 = columnFeatures[key]) == null ? void 0 : _a3.sortable)) {
|
|
@@ -8537,10 +8861,108 @@ function DataGrid({
|
|
|
8537
8861
|
}
|
|
8538
8862
|
beginResize(event, columnKey, width);
|
|
8539
8863
|
}, [beginResize, columnFeatures]);
|
|
8864
|
+
const colSpan = gridColumns.length;
|
|
8865
|
+
const virtualWindow = (0, import_react37.useMemo)(() => {
|
|
8866
|
+
if (!virtualized) {
|
|
8867
|
+
return {
|
|
8868
|
+
offset: 0,
|
|
8869
|
+
items: displayRows,
|
|
8870
|
+
paddingTop: 0,
|
|
8871
|
+
paddingBottom: 0
|
|
8872
|
+
};
|
|
8873
|
+
}
|
|
8874
|
+
const start = Math.max(0, Math.floor(scrollTop / resolvedRowHeight) - OVERSCAN);
|
|
8875
|
+
const visibleCount = Math.ceil(viewportHeight / resolvedRowHeight) + OVERSCAN * 2;
|
|
8876
|
+
const end = Math.min(displayRows.length, start + visibleCount);
|
|
8877
|
+
const items = displayRows.slice(start, end);
|
|
8878
|
+
return {
|
|
8879
|
+
offset: start,
|
|
8880
|
+
items,
|
|
8881
|
+
paddingTop: start * resolvedRowHeight,
|
|
8882
|
+
paddingBottom: Math.max(0, (displayRows.length - end) * resolvedRowHeight)
|
|
8883
|
+
};
|
|
8884
|
+
}, [displayRows, resolvedRowHeight, scrollTop, viewportHeight, virtualized]);
|
|
8885
|
+
const renderDataRow = (entry) => {
|
|
8886
|
+
var _a3;
|
|
8887
|
+
const { row, depth, expandable, expanded, hasChildren } = entry;
|
|
8888
|
+
const detailOpen = masterDetail && detailIds.has(row.id);
|
|
8889
|
+
const showTreeToggle = layout === "tree" && expandable;
|
|
8890
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_react37.Fragment, { children: [
|
|
8891
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("tr", { "data-row-kind": "data", children: [
|
|
8892
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
8893
|
+
"th",
|
|
8894
|
+
{
|
|
8895
|
+
className: DataGrid_default.rowHeader,
|
|
8896
|
+
scope: "row",
|
|
8897
|
+
style: columnWidths.team ? { width: columnWidths.team, minWidth: columnWidths.team } : void 0,
|
|
8898
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("span", { className: DataGrid_default.rowHeaderInner, style: { paddingLeft: depth * 14 }, children: [
|
|
8899
|
+
masterDetail ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
8900
|
+
"button",
|
|
8901
|
+
{
|
|
8902
|
+
"aria-expanded": detailOpen,
|
|
8903
|
+
"aria-label": detailOpen ? `Hide details for ${rowTeamValue(row)}` : `Show details for ${rowTeamValue(row)}`,
|
|
8904
|
+
className: DataGrid_default.expandButton,
|
|
8905
|
+
onClick: () => toggleDetail(row.id),
|
|
8906
|
+
type: "button",
|
|
8907
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_react_fontawesome6.FontAwesomeIcon, { className: DataGrid_default.chevron, icon: detailOpen ? import_free_solid_svg_icons6.faChevronDown : import_free_solid_svg_icons6.faChevronRight })
|
|
8908
|
+
}
|
|
8909
|
+
) : null,
|
|
8910
|
+
showTreeToggle ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
8911
|
+
"button",
|
|
8912
|
+
{
|
|
8913
|
+
"aria-expanded": expanded,
|
|
8914
|
+
"aria-label": expanded ? `Collapse ${rowTeamValue(row)}` : `Expand ${rowTeamValue(row)}`,
|
|
8915
|
+
className: DataGrid_default.expandButton,
|
|
8916
|
+
onClick: () => toggleTreeExpand(row.id),
|
|
8917
|
+
type: "button",
|
|
8918
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_react_fontawesome6.FontAwesomeIcon, { className: DataGrid_default.chevron, icon: expanded ? import_free_solid_svg_icons6.faChevronDown : import_free_solid_svg_icons6.faChevronRight })
|
|
8919
|
+
}
|
|
8920
|
+
) : layout === "tree" && !hasChildren ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { "aria-hidden": "true", className: DataGrid_default.expandSpacer }) : null,
|
|
8921
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: DataGrid_default.rowHeaderLabel, children: (_a3 = row.values.team) != null ? _a3 : row.label })
|
|
8922
|
+
] })
|
|
8923
|
+
}
|
|
8924
|
+
),
|
|
8925
|
+
dataColumns.map((column) => {
|
|
8926
|
+
var _a4;
|
|
8927
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
8928
|
+
"td",
|
|
8929
|
+
{
|
|
8930
|
+
"data-align": (_a4 = column.align) != null ? _a4 : "left",
|
|
8931
|
+
"data-column-key": column.key,
|
|
8932
|
+
"data-column-resizable": columnFeatures[column.key].resizable,
|
|
8933
|
+
style: columnWidths[column.key] ? { width: columnWidths[column.key], minWidth: columnWidths[column.key] } : void 0,
|
|
8934
|
+
children: row.values[column.key]
|
|
8935
|
+
},
|
|
8936
|
+
column.key
|
|
8937
|
+
);
|
|
8938
|
+
})
|
|
8939
|
+
] }),
|
|
8940
|
+
detailOpen && getDetailContent ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("tr", { className: DataGrid_default.detailRow, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("td", { className: DataGrid_default.detailCell, colSpan, children: getDetailContent(row) }) }, `${row.id}-detail`) : null
|
|
8941
|
+
] }, row.id);
|
|
8942
|
+
};
|
|
8943
|
+
const renderDisplayRow = (entry, index) => {
|
|
8944
|
+
if (entry.kind === "group") {
|
|
8945
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("tr", { className: DataGrid_default.groupRow, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("td", { className: DataGrid_default.groupCell, colSpan, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
|
|
8946
|
+
"button",
|
|
8947
|
+
{
|
|
8948
|
+
"aria-expanded": entry.expanded,
|
|
8949
|
+
className: DataGrid_default.groupButton,
|
|
8950
|
+
onClick: () => toggleGroup(entry.id),
|
|
8951
|
+
type: "button",
|
|
8952
|
+
children: [
|
|
8953
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_react_fontawesome6.FontAwesomeIcon, { className: DataGrid_default.chevron, icon: entry.expanded ? import_free_solid_svg_icons6.faChevronDown : import_free_solid_svg_icons6.faChevronRight }),
|
|
8954
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { children: entry.label }),
|
|
8955
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: DataGrid_default.groupCount, children: entry.count })
|
|
8956
|
+
]
|
|
8957
|
+
}
|
|
8958
|
+
) }) }, entry.id);
|
|
8959
|
+
}
|
|
8960
|
+
return renderDataRow(entry);
|
|
8961
|
+
};
|
|
8540
8962
|
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: DataGrid_default.frame, children: [
|
|
8541
8963
|
caption ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: DataGrid_default.caption, children: caption }) : null,
|
|
8542
8964
|
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: DataGrid_default.gridBody, children: [
|
|
8543
|
-
/* @__PURE__ */ (0, import_jsx_runtime62.
|
|
8965
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
|
|
8544
8966
|
"div",
|
|
8545
8967
|
{
|
|
8546
8968
|
ref: wrapRef,
|
|
@@ -8554,114 +8976,98 @@ function DataGrid({
|
|
|
8554
8976
|
"data-sticky-column": stickyFirstColumn,
|
|
8555
8977
|
"data-sticky-header": stickyHeader,
|
|
8556
8978
|
"data-striped": striped,
|
|
8557
|
-
|
|
8558
|
-
|
|
8559
|
-
|
|
8560
|
-
|
|
8561
|
-
|
|
8562
|
-
|
|
8563
|
-
|
|
8564
|
-
|
|
8565
|
-
|
|
8566
|
-
|
|
8567
|
-
);
|
|
8568
|
-
}) }),
|
|
8569
|
-
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("tr", { children: gridColumns.map((column) => {
|
|
8570
|
-
var _a3, _b3;
|
|
8571
|
-
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
|
|
8572
|
-
"th",
|
|
8573
|
-
{
|
|
8574
|
-
"aria-sort": columnFeatures[column.key].sortable ? (sort == null ? void 0 : sort.key) === column.key ? sort.direction : "none" : void 0,
|
|
8575
|
-
className: column.key === "team" ? DataGrid_default.corner : void 0,
|
|
8576
|
-
"data-column-resizable": columnFeatures[column.key].resizable,
|
|
8577
|
-
"data-filter-active": Boolean((_a3 = filters[column.key]) == null ? void 0 : _a3.trim()),
|
|
8578
|
-
"data-menu-open": (openMenu == null ? void 0 : openMenu.key) === column.key,
|
|
8579
|
-
scope: "col",
|
|
8580
|
-
style: columnWidths[column.key] ? { width: columnWidths[column.key], minWidth: columnWidths[column.key] } : void 0,
|
|
8581
|
-
children: [
|
|
8582
|
-
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
8583
|
-
HeaderContent,
|
|
8584
|
-
{
|
|
8585
|
-
filterActive: Boolean((_b3 = filters[column.key]) == null ? void 0 : _b3.trim()),
|
|
8586
|
-
filterable: columnFeatures[column.key].filterable,
|
|
8587
|
-
label: column.label,
|
|
8588
|
-
menuId: column.key,
|
|
8589
|
-
sortDirection: (sort == null ? void 0 : sort.key) === column.key ? sort.direction : void 0,
|
|
8590
|
-
sortable: columnFeatures[column.key].sortable,
|
|
8591
|
-
menuOpen: (openMenu == null ? void 0 : openMenu.key) === column.key,
|
|
8592
|
-
onMenuToggle: (button) => {
|
|
8593
|
-
if ((openMenu == null ? void 0 : openMenu.key) === column.key) {
|
|
8594
|
-
closeHeaderMenu();
|
|
8595
|
-
return;
|
|
8596
|
-
}
|
|
8597
|
-
openHeaderMenu({
|
|
8598
|
-
align: column.key === "team" ? "left" : "right",
|
|
8599
|
-
button,
|
|
8600
|
-
key: column.key,
|
|
8601
|
-
label: column.label
|
|
8602
|
-
});
|
|
8603
|
-
},
|
|
8604
|
-
onSort: () => toggleSort(column.key)
|
|
8605
|
-
}
|
|
8606
|
-
),
|
|
8607
|
-
columnFeatures[column.key].resizable ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
8608
|
-
ColumnResizeHandle,
|
|
8609
|
-
{
|
|
8610
|
-
onResizeStart: (event) => beginResize(event, column.key)
|
|
8611
|
-
}
|
|
8612
|
-
) : null
|
|
8613
|
-
]
|
|
8614
|
-
},
|
|
8615
|
-
column.key
|
|
8616
|
-
);
|
|
8617
|
-
}) }) }),
|
|
8618
|
-
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("tbody", { onPointerDown: handleBodyPointerDown, children: [
|
|
8619
|
-
visibleRows.map((row) => {
|
|
8979
|
+
onScroll: (event) => {
|
|
8980
|
+
if (virtualized) {
|
|
8981
|
+
setScrollTop(event.currentTarget.scrollTop);
|
|
8982
|
+
}
|
|
8983
|
+
},
|
|
8984
|
+
style: { maxHeight: viewportHeight },
|
|
8985
|
+
children: [
|
|
8986
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("table", { className: DataGrid_default.grid, children: [
|
|
8987
|
+
caption ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("caption", { className: DataGrid_default.visuallyHidden, children: caption }) : null,
|
|
8988
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("colgroup", { children: gridColumns.map((column) => {
|
|
8620
8989
|
var _a3;
|
|
8621
|
-
return /* @__PURE__ */ (0, import_jsx_runtime62.
|
|
8622
|
-
|
|
8623
|
-
|
|
8624
|
-
{
|
|
8625
|
-
|
|
8626
|
-
|
|
8627
|
-
|
|
8628
|
-
|
|
8629
|
-
|
|
8630
|
-
|
|
8631
|
-
|
|
8632
|
-
|
|
8633
|
-
|
|
8634
|
-
|
|
8635
|
-
|
|
8636
|
-
|
|
8637
|
-
|
|
8638
|
-
|
|
8639
|
-
|
|
8640
|
-
|
|
8641
|
-
|
|
8642
|
-
|
|
8643
|
-
|
|
8644
|
-
|
|
8645
|
-
|
|
8646
|
-
|
|
8647
|
-
|
|
8648
|
-
|
|
8649
|
-
|
|
8650
|
-
|
|
8651
|
-
|
|
8652
|
-
|
|
8990
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
8991
|
+
"col",
|
|
8992
|
+
{
|
|
8993
|
+
style: { width: (_a3 = columnWidths[column.key]) != null ? _a3 : column.key === "team" ? 180 : 130 }
|
|
8994
|
+
},
|
|
8995
|
+
column.key
|
|
8996
|
+
);
|
|
8997
|
+
}) }),
|
|
8998
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("tr", { children: gridColumns.map((column) => {
|
|
8999
|
+
var _a3, _b3;
|
|
9000
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
|
|
9001
|
+
"th",
|
|
9002
|
+
{
|
|
9003
|
+
"aria-sort": columnFeatures[column.key].sortable ? (sort == null ? void 0 : sort.key) === column.key ? sort.direction : "none" : void 0,
|
|
9004
|
+
className: column.key === "team" ? DataGrid_default.corner : void 0,
|
|
9005
|
+
"data-column-resizable": columnFeatures[column.key].resizable,
|
|
9006
|
+
"data-filter-active": Boolean((_a3 = filters[column.key]) == null ? void 0 : _a3.trim()),
|
|
9007
|
+
"data-menu-open": (openMenu == null ? void 0 : openMenu.key) === column.key,
|
|
9008
|
+
scope: "col",
|
|
9009
|
+
style: columnWidths[column.key] ? { width: columnWidths[column.key], minWidth: columnWidths[column.key] } : void 0,
|
|
9010
|
+
children: [
|
|
9011
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
9012
|
+
HeaderContent,
|
|
9013
|
+
{
|
|
9014
|
+
filterActive: Boolean((_b3 = filters[column.key]) == null ? void 0 : _b3.trim()),
|
|
9015
|
+
filterable: columnFeatures[column.key].filterable,
|
|
9016
|
+
label: column.label,
|
|
9017
|
+
menuId: column.key,
|
|
9018
|
+
sortDirection: (sort == null ? void 0 : sort.key) === column.key ? sort.direction : void 0,
|
|
9019
|
+
sortable: columnFeatures[column.key].sortable,
|
|
9020
|
+
menuOpen: (openMenu == null ? void 0 : openMenu.key) === column.key,
|
|
9021
|
+
onMenuToggle: (button) => {
|
|
9022
|
+
if ((openMenu == null ? void 0 : openMenu.key) === column.key) {
|
|
9023
|
+
closeHeaderMenu();
|
|
9024
|
+
return;
|
|
9025
|
+
}
|
|
9026
|
+
openHeaderMenu({
|
|
9027
|
+
align: column.key === "team" ? "left" : "right",
|
|
9028
|
+
button,
|
|
9029
|
+
key: column.key,
|
|
9030
|
+
label: column.label
|
|
9031
|
+
});
|
|
9032
|
+
},
|
|
9033
|
+
onSort: () => toggleSort(column.key)
|
|
9034
|
+
}
|
|
9035
|
+
),
|
|
9036
|
+
columnFeatures[column.key].resizable ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
9037
|
+
ColumnResizeHandle,
|
|
9038
|
+
{
|
|
9039
|
+
onResizeStart: (event) => beginResize(event, column.key)
|
|
9040
|
+
}
|
|
9041
|
+
) : null
|
|
9042
|
+
]
|
|
9043
|
+
},
|
|
9044
|
+
column.key
|
|
9045
|
+
);
|
|
9046
|
+
}) }) }),
|
|
9047
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("tbody", { onPointerDown: handleBodyPointerDown, children: [
|
|
9048
|
+
virtualized && virtualWindow.paddingTop > 0 ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("tr", { "aria-hidden": "true", className: DataGrid_default.spacerRow, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("td", { colSpan, style: { height: virtualWindow.paddingTop, padding: 0 } }) }) : null,
|
|
9049
|
+
virtualWindow.items.map((entry, index) => renderDisplayRow(entry, virtualWindow.offset + index)),
|
|
9050
|
+
virtualized && virtualWindow.paddingBottom > 0 ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("tr", { "aria-hidden": "true", className: DataGrid_default.spacerRow, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("td", { colSpan, style: { height: virtualWindow.paddingBottom, padding: 0 } }) }) : null,
|
|
9051
|
+
!displayRows.length ? /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("tr", { children: [
|
|
9052
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("th", { className: DataGrid_default.rowHeader, scope: "row", children: "No rows" }),
|
|
9053
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("td", { className: DataGrid_default.empty, colSpan: Math.max(dataColumns.length, 1), children: "No matching rows." })
|
|
9054
|
+
] }) : null
|
|
9055
|
+
] })
|
|
9056
|
+
] }),
|
|
9057
|
+
onLoadMore || hasMore ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: DataGrid_default.infiniteFooter, ref: sentinelRef, children: loadingMore ? "Loading more\u2026" : hasMore ? "Scroll for more" : "End of results" }) : null
|
|
9058
|
+
]
|
|
8653
9059
|
}
|
|
8654
9060
|
),
|
|
8655
9061
|
openMenu ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: DataGrid_default.menuHost, ref: menuHostRef, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
8656
9062
|
GridHeaderMenu,
|
|
8657
9063
|
{
|
|
8658
9064
|
ref: menuRef,
|
|
8659
|
-
filter: (
|
|
8660
|
-
filterable: (
|
|
9065
|
+
filter: (_d2 = filters[openMenu.key]) != null ? _d2 : "",
|
|
9066
|
+
filterable: (_e2 = openMenuFeatures == null ? void 0 : openMenuFeatures.filterable) != null ? _e2 : false,
|
|
8661
9067
|
label: openMenu.label,
|
|
8662
9068
|
menuId: openMenu.menuId,
|
|
8663
9069
|
sortDirection: (sort == null ? void 0 : sort.key) === openMenu.key ? sort.direction : void 0,
|
|
8664
|
-
sortable: (
|
|
9070
|
+
sortable: (_f2 = openMenuFeatures == null ? void 0 : openMenuFeatures.sortable) != null ? _f2 : false,
|
|
8665
9071
|
onFilterChange: (filter) => setFilters((current) => __spreadProps(__spreadValues({}, current), { [openMenu.key]: filter })),
|
|
8666
9072
|
onMenuClose: closeHeaderMenu,
|
|
8667
9073
|
onSortDirection: (direction) => setSortDirection(openMenu.key, direction)
|
|
@@ -8953,6 +9359,12 @@ var chartDemoData = [
|
|
|
8953
9359
|
{ label: "May", value: 58, values: [58, 56, 36], x: 74, y: 58 },
|
|
8954
9360
|
{ label: "Jun", value: 88, values: [88, 62, 42], x: 88, y: 92 }
|
|
8955
9361
|
];
|
|
9362
|
+
var chartContourData = Array.from({ length: 36 }, (_, index) => {
|
|
9363
|
+
const x = index % 6;
|
|
9364
|
+
const y = Math.floor(index / 6);
|
|
9365
|
+
const value = 35 + Math.round(45 * Math.exp(-((x - 2.4) ** 2 + (y - 2.8) ** 2) / 4));
|
|
9366
|
+
return { label: `${x},${y}`, value, x, y };
|
|
9367
|
+
});
|
|
8956
9368
|
function branchLeaves(prefix, parent, group, count = 5) {
|
|
8957
9369
|
return Array.from({ length: count }, (_, index) => ({
|
|
8958
9370
|
label: `${prefix}${index + 1}`,
|
|
@@ -10031,6 +10443,15 @@ var specializedChartVariants = /* @__PURE__ */ new Set([
|
|
|
10031
10443
|
"sankey",
|
|
10032
10444
|
"waterfall",
|
|
10033
10445
|
"candlestick",
|
|
10446
|
+
"ohlc",
|
|
10447
|
+
"range-area",
|
|
10448
|
+
"range-bar",
|
|
10449
|
+
"error-bar",
|
|
10450
|
+
"parallel-coordinates",
|
|
10451
|
+
"contour",
|
|
10452
|
+
"surface",
|
|
10453
|
+
"bullet",
|
|
10454
|
+
"pareto",
|
|
10034
10455
|
"box-plot",
|
|
10035
10456
|
"histogram",
|
|
10036
10457
|
"violin",
|
|
@@ -10057,6 +10478,12 @@ var cartesianSpecializedVariants = [
|
|
|
10057
10478
|
"histogram",
|
|
10058
10479
|
"waterfall",
|
|
10059
10480
|
"candlestick",
|
|
10481
|
+
"ohlc",
|
|
10482
|
+
"range-area",
|
|
10483
|
+
"range-bar",
|
|
10484
|
+
"error-bar",
|
|
10485
|
+
"bullet",
|
|
10486
|
+
"pareto",
|
|
10060
10487
|
"box-plot",
|
|
10061
10488
|
"violin",
|
|
10062
10489
|
"hexbin",
|
|
@@ -10068,15 +10495,30 @@ var cartesianSpecializedVariants = [
|
|
|
10068
10495
|
"milestone-timeline"
|
|
10069
10496
|
];
|
|
10070
10497
|
function specializedVariantHasYNumericAxis(variant) {
|
|
10071
|
-
return ![
|
|
10072
|
-
|
|
10073
|
-
|
|
10498
|
+
return ![
|
|
10499
|
+
"timeline",
|
|
10500
|
+
"milestone-timeline",
|
|
10501
|
+
"gantt",
|
|
10502
|
+
"heatmap",
|
|
10503
|
+
"calendar-heatmap",
|
|
10504
|
+
"ridgeline",
|
|
10505
|
+
"hexbin",
|
|
10506
|
+
"contour",
|
|
10507
|
+
"surface",
|
|
10508
|
+
"parallel-coordinates"
|
|
10509
|
+
].includes(variant);
|
|
10074
10510
|
}
|
|
10075
10511
|
function specializedVariantHasXCategoryLabels(variant) {
|
|
10076
10512
|
return [
|
|
10077
10513
|
"histogram",
|
|
10078
10514
|
"waterfall",
|
|
10079
10515
|
"candlestick",
|
|
10516
|
+
"ohlc",
|
|
10517
|
+
"range-area",
|
|
10518
|
+
"range-bar",
|
|
10519
|
+
"error-bar",
|
|
10520
|
+
"bullet",
|
|
10521
|
+
"pareto",
|
|
10080
10522
|
"box-plot",
|
|
10081
10523
|
"violin",
|
|
10082
10524
|
"stream",
|
|
@@ -10087,7 +10529,7 @@ function specializedVariantHasXCategoryLabels(variant) {
|
|
|
10087
10529
|
].includes(variant);
|
|
10088
10530
|
}
|
|
10089
10531
|
function specializedVariantUsesSlotLabels(variant) {
|
|
10090
|
-
return ["waterfall"].includes(variant);
|
|
10532
|
+
return ["waterfall", "range-area", "bullet"].includes(variant);
|
|
10091
10533
|
}
|
|
10092
10534
|
function getSeriesPlotBounds(plot) {
|
|
10093
10535
|
return {
|
|
@@ -10355,59 +10797,445 @@ function Candlestick({ data, plot, showValues, styles, yMax, yMin }) {
|
|
|
10355
10797
|
})
|
|
10356
10798
|
] });
|
|
10357
10799
|
}
|
|
10358
|
-
function
|
|
10359
|
-
const
|
|
10360
|
-
const
|
|
10800
|
+
function OhlcChart({ data, plot, showValues, styles, yMax, yMin }) {
|
|
10801
|
+
const bodyWidth = candlestickBodyWidth(plot, data.length);
|
|
10802
|
+
const barHalfWidth = bodyWidth / 2;
|
|
10803
|
+
const tick = Math.max(4, bodyWidth * 0.45);
|
|
10361
10804
|
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("g", { children: data.map((item, index) => {
|
|
10362
|
-
var _a2, _b2, _c2, _d2
|
|
10363
|
-
const
|
|
10364
|
-
const
|
|
10365
|
-
const
|
|
10366
|
-
const
|
|
10367
|
-
const maxV = (_e2 = item.max) != null ? _e2 : item.value * 1.35;
|
|
10805
|
+
var _a2, _b2, _c2, _d2;
|
|
10806
|
+
const open = (_a2 = item.open) != null ? _a2 : item.value * 0.9;
|
|
10807
|
+
const close = (_b2 = item.close) != null ? _b2 : item.value;
|
|
10808
|
+
const high = (_c2 = item.high) != null ? _c2 : item.value * 1.08;
|
|
10809
|
+
const low = (_d2 = item.low) != null ? _d2 : item.value * 0.82;
|
|
10368
10810
|
const x = xForEdgeBarIndex(plot, index, data.length, barHalfWidth);
|
|
10369
|
-
const
|
|
10811
|
+
const bullish = close >= open;
|
|
10812
|
+
const openY = yForDomain(open, yMin, yMax, plot);
|
|
10813
|
+
const closeY = yForDomain(close, yMin, yMax, plot);
|
|
10814
|
+
const seriesClass = chartClass(styles, bullish ? 1 : 3);
|
|
10370
10815
|
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("g", { children: [
|
|
10371
|
-
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("line", { className: `${styles.wick} ${seriesClass}`, x1: x, x2: x, y1: yForDomain(min, yMin, yMax, plot), y2: yForDomain(maxV, yMin, yMax, plot) }),
|
|
10372
|
-
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("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) }),
|
|
10373
|
-
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("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) }),
|
|
10374
10816
|
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
10375
|
-
"
|
|
10817
|
+
"line",
|
|
10376
10818
|
{
|
|
10377
|
-
className: `${styles.
|
|
10378
|
-
|
|
10379
|
-
|
|
10380
|
-
|
|
10381
|
-
|
|
10819
|
+
className: `${styles.wick} ${seriesClass}`,
|
|
10820
|
+
x1: x,
|
|
10821
|
+
x2: x,
|
|
10822
|
+
y1: yForDomain(high, yMin, yMax, plot),
|
|
10823
|
+
y2: yForDomain(low, yMin, yMax, plot)
|
|
10382
10824
|
}
|
|
10383
10825
|
),
|
|
10384
|
-
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("line", { className: `${styles.wick} ${seriesClass}`,
|
|
10385
|
-
|
|
10826
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("line", { className: `${styles.wick} ${seriesClass}`, x1: x - tick, x2: x, y1: openY, y2: openY }),
|
|
10827
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("line", { className: `${styles.wick} ${seriesClass}`, x1: x, x2: x + tick, y1: closeY, y2: closeY }),
|
|
10828
|
+
showValues ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("text", { className: styles.valueLabel, textAnchor: "middle", x, y: yForDomain(high, yMin, yMax, plot) - 6, children: formatValue(close) }) : null
|
|
10386
10829
|
] }, item.label);
|
|
10387
10830
|
}) });
|
|
10388
10831
|
}
|
|
10389
|
-
function
|
|
10390
|
-
if (
|
|
10391
|
-
return
|
|
10392
|
-
}
|
|
10393
|
-
if (label.length <= maxChars) {
|
|
10394
|
-
return label;
|
|
10832
|
+
function RangeAreaChart({ data, plot, showValues, styles, yMax, yMin }) {
|
|
10833
|
+
if (!data.length) {
|
|
10834
|
+
return null;
|
|
10395
10835
|
}
|
|
10396
|
-
|
|
10836
|
+
const points = data.map((item, index) => {
|
|
10837
|
+
var _a2, _b2, _c2, _d2;
|
|
10838
|
+
const low = (_b2 = (_a2 = item.low) != null ? _a2 : item.min) != null ? _b2 : item.value * 0.75;
|
|
10839
|
+
const high = (_d2 = (_c2 = item.high) != null ? _c2 : item.max) != null ? _d2 : item.value * 1.25;
|
|
10840
|
+
const mid = item.value;
|
|
10841
|
+
const x = xForSeriesCategoryIndex(plot, index, data.length);
|
|
10842
|
+
return {
|
|
10843
|
+
x,
|
|
10844
|
+
lowY: yForDomain(low, yMin, yMax, plot),
|
|
10845
|
+
midY: yForDomain(mid, yMin, yMax, plot),
|
|
10846
|
+
highY: yForDomain(high, yMin, yMax, plot),
|
|
10847
|
+
label: item.label,
|
|
10848
|
+
mid
|
|
10849
|
+
};
|
|
10850
|
+
});
|
|
10851
|
+
const band = [
|
|
10852
|
+
...points.map((point) => `${point.x},${point.highY}`),
|
|
10853
|
+
...[...points].reverse().map((point) => `${point.x},${point.lowY}`)
|
|
10854
|
+
].join(" ");
|
|
10855
|
+
const midLine = points.map((point) => `${point.x},${point.midY}`).join(" ");
|
|
10856
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("g", { children: [
|
|
10857
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("polygon", { className: `${styles.area} ${chartClass(styles, 0)}`, points: band }),
|
|
10858
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("polyline", { className: `${styles.line} ${chartClass(styles, 1)}`, fill: "none", points: midLine }),
|
|
10859
|
+
showValues ? points.map((point) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("text", { className: styles.valueLabel, textAnchor: "middle", x: point.x, y: point.highY - 6, children: formatValue(point.mid) }, point.label)) : null
|
|
10860
|
+
] });
|
|
10397
10861
|
}
|
|
10398
|
-
function
|
|
10399
|
-
const
|
|
10400
|
-
const
|
|
10401
|
-
|
|
10402
|
-
|
|
10403
|
-
|
|
10404
|
-
|
|
10405
|
-
|
|
10406
|
-
|
|
10407
|
-
|
|
10408
|
-
|
|
10409
|
-
|
|
10410
|
-
|
|
10862
|
+
function RangeBarChart({ data, plot, showValues, styles, yMax, yMin }) {
|
|
10863
|
+
const bodyWidth = candlestickBodyWidth(plot, data.length);
|
|
10864
|
+
const barHalfWidth = bodyWidth / 2;
|
|
10865
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("g", { children: data.map((item, index) => {
|
|
10866
|
+
var _a2, _b2, _c2, _d2;
|
|
10867
|
+
const low = (_b2 = (_a2 = item.low) != null ? _a2 : item.min) != null ? _b2 : item.value * 0.75;
|
|
10868
|
+
const high = (_d2 = (_c2 = item.high) != null ? _c2 : item.max) != null ? _d2 : item.value * 1.25;
|
|
10869
|
+
const x = xForEdgeBarIndex(plot, index, data.length, barHalfWidth);
|
|
10870
|
+
const top = yForDomain(high, yMin, yMax, plot);
|
|
10871
|
+
const bottom = yForDomain(low, yMin, yMax, plot);
|
|
10872
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("g", { children: [
|
|
10873
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
10874
|
+
"rect",
|
|
10875
|
+
{
|
|
10876
|
+
className: `${styles.bar} ${chartClass(styles, index % paletteClasses.length)}`,
|
|
10877
|
+
height: Math.max(4, bottom - top),
|
|
10878
|
+
rx: "3",
|
|
10879
|
+
width: bodyWidth,
|
|
10880
|
+
x: x - bodyWidth / 2,
|
|
10881
|
+
y: top
|
|
10882
|
+
}
|
|
10883
|
+
),
|
|
10884
|
+
showValues ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("text", { className: styles.valueLabel, textAnchor: "middle", x, y: top - 6, children: formatValue(high) }) : null
|
|
10885
|
+
] }, item.label);
|
|
10886
|
+
}) });
|
|
10887
|
+
}
|
|
10888
|
+
function ErrorBarChart({ data, plot, showValues, styles, yMax, yMin }) {
|
|
10889
|
+
const bodyWidth = Math.min(18, candlestickBodyWidth(plot, data.length));
|
|
10890
|
+
const barHalfWidth = bodyWidth / 2;
|
|
10891
|
+
const cap = Math.max(4, bodyWidth * 0.55);
|
|
10892
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("g", { children: data.map((item, index) => {
|
|
10893
|
+
var _a2, _b2, _c2;
|
|
10894
|
+
const error = (_a2 = item.error) != null ? _a2 : item.value * 0.12;
|
|
10895
|
+
const low = (_b2 = item.low) != null ? _b2 : item.value - error;
|
|
10896
|
+
const high = (_c2 = item.high) != null ? _c2 : item.value + error;
|
|
10897
|
+
const x = xForEdgeBarIndex(plot, index, data.length, barHalfWidth);
|
|
10898
|
+
const valueY = yForDomain(item.value, yMin, yMax, plot);
|
|
10899
|
+
const highY = yForDomain(high, yMin, yMax, plot);
|
|
10900
|
+
const lowY = yForDomain(low, yMin, yMax, plot);
|
|
10901
|
+
const seriesClass = chartClass(styles, index % paletteClasses.length);
|
|
10902
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("g", { children: [
|
|
10903
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
10904
|
+
"rect",
|
|
10905
|
+
{
|
|
10906
|
+
className: `${styles.bar} ${seriesClass}`,
|
|
10907
|
+
height: Math.max(4, plot.bottom - valueY),
|
|
10908
|
+
rx: "2",
|
|
10909
|
+
width: bodyWidth,
|
|
10910
|
+
x: x - bodyWidth / 2,
|
|
10911
|
+
y: valueY
|
|
10912
|
+
}
|
|
10913
|
+
),
|
|
10914
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("line", { className: `${styles.wick} ${seriesClass}`, x1: x, x2: x, y1: highY, y2: lowY }),
|
|
10915
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("line", { className: `${styles.wick} ${seriesClass}`, x1: x - cap, x2: x + cap, y1: highY, y2: highY }),
|
|
10916
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("line", { className: `${styles.wick} ${seriesClass}`, x1: x - cap, x2: x + cap, y1: lowY, y2: lowY }),
|
|
10917
|
+
showValues ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("text", { className: styles.valueLabel, textAnchor: "middle", x, y: highY - 6, children: formatValue(item.value) }) : null
|
|
10918
|
+
] }, item.label);
|
|
10919
|
+
}) });
|
|
10920
|
+
}
|
|
10921
|
+
function ParallelCoordinates({ data, plot, showValues, styles }) {
|
|
10922
|
+
const dims = Math.max(2, ...data.map((item) => {
|
|
10923
|
+
var _a2, _b2;
|
|
10924
|
+
return (_b2 = (_a2 = item.values) == null ? void 0 : _a2.length) != null ? _b2 : 0;
|
|
10925
|
+
}));
|
|
10926
|
+
if (!data.length || dims < 2) {
|
|
10927
|
+
return null;
|
|
10928
|
+
}
|
|
10929
|
+
const axes = Array.from({ length: dims }, (_, dim) => {
|
|
10930
|
+
const values = data.map((item) => {
|
|
10931
|
+
var _a2, _b2;
|
|
10932
|
+
return (_b2 = (_a2 = item.values) == null ? void 0 : _a2[dim]) != null ? _b2 : item.value;
|
|
10933
|
+
});
|
|
10934
|
+
const min = Math.min(...values);
|
|
10935
|
+
const max = Math.max(...values);
|
|
10936
|
+
return { min, max: max === min ? min + 1 : max };
|
|
10937
|
+
});
|
|
10938
|
+
const xAt = (dim) => dims <= 1 ? (plot.gridLeft + plot.gridRight) / 2 : plot.gridLeft + dim * (plot.gridRight - plot.gridLeft) / (dims - 1);
|
|
10939
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("g", { children: [
|
|
10940
|
+
axes.map((axis, dim) => {
|
|
10941
|
+
const x = xAt(dim);
|
|
10942
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("g", { children: [
|
|
10943
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("line", { className: styles.gridLine, x1: x, x2: x, y1: plot.top, y2: plot.bottom }),
|
|
10944
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("text", { className: styles.axisLabel, textAnchor: "middle", x, y: plot.bottom + 16, children: [
|
|
10945
|
+
"D",
|
|
10946
|
+
dim + 1
|
|
10947
|
+
] }),
|
|
10948
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("text", { className: styles.axisLabel, textAnchor: "middle", x, y: plot.top - 8, children: formatValue(axis.max) })
|
|
10949
|
+
] }, `axis-${dim}`);
|
|
10950
|
+
}),
|
|
10951
|
+
data.map((item, index) => {
|
|
10952
|
+
var _a2, _b2;
|
|
10953
|
+
const points = Array.from({ length: dims }, (_, dim) => {
|
|
10954
|
+
var _a3, _b3;
|
|
10955
|
+
const value = (_b3 = (_a3 = item.values) == null ? void 0 : _a3[dim]) != null ? _b3 : item.value;
|
|
10956
|
+
const axis = axes[dim];
|
|
10957
|
+
const y = plot.bottom - (value - axis.min) / (axis.max - axis.min) * (plot.bottom - plot.top);
|
|
10958
|
+
return `${xAt(dim)},${y}`;
|
|
10959
|
+
}).join(" ");
|
|
10960
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("g", { children: [
|
|
10961
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("polyline", { className: `${styles.line} ${chartClass(styles, index % paletteClasses.length)}`, fill: "none", points }),
|
|
10962
|
+
showValues ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
10963
|
+
"text",
|
|
10964
|
+
{
|
|
10965
|
+
className: styles.valueLabel,
|
|
10966
|
+
textAnchor: "start",
|
|
10967
|
+
x: xAt(dims - 1) + 6,
|
|
10968
|
+
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),
|
|
10969
|
+
children: item.label
|
|
10970
|
+
}
|
|
10971
|
+
) : null
|
|
10972
|
+
] }, item.label);
|
|
10973
|
+
})
|
|
10974
|
+
] });
|
|
10975
|
+
}
|
|
10976
|
+
function ContourPlot({ data, plot, showValues, styles }) {
|
|
10977
|
+
const cols = Math.max(4, Math.ceil(Math.sqrt(Math.max(data.length, 1))));
|
|
10978
|
+
const rows = Math.max(3, Math.ceil(data.length / cols));
|
|
10979
|
+
const values = data.length ? data.map((item) => item.value) : Array.from({ length: cols * rows }, (_, index) => 20 + index * 17 % 80);
|
|
10980
|
+
const min = Math.min(...values);
|
|
10981
|
+
const max = Math.max(...values);
|
|
10982
|
+
const cellW = (plot.gridRight - plot.gridLeft) / cols;
|
|
10983
|
+
const cellH = (plot.bottom - plot.top) / rows;
|
|
10984
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("g", { children: [
|
|
10985
|
+
Array.from({ length: rows * cols }, (_, index) => {
|
|
10986
|
+
const value = values[index % values.length];
|
|
10987
|
+
const col = index % cols;
|
|
10988
|
+
const row = Math.floor(index / cols);
|
|
10989
|
+
const intensity = (value - min) / Math.max(1, max - min);
|
|
10990
|
+
const band = Math.min(5, Math.floor(intensity * 6));
|
|
10991
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
10992
|
+
"rect",
|
|
10993
|
+
{
|
|
10994
|
+
className: `${styles.area} ${chartClass(styles, band)}`,
|
|
10995
|
+
height: Math.max(2, cellH - 1),
|
|
10996
|
+
opacity: 0.35 + intensity * 0.55,
|
|
10997
|
+
rx: "2",
|
|
10998
|
+
width: Math.max(2, cellW - 1),
|
|
10999
|
+
x: plot.gridLeft + col * cellW,
|
|
11000
|
+
y: plot.top + row * cellH
|
|
11001
|
+
},
|
|
11002
|
+
`contour-${index}`
|
|
11003
|
+
);
|
|
11004
|
+
}),
|
|
11005
|
+
Array.from({ length: 4 }, (_, ring) => {
|
|
11006
|
+
const t = (ring + 1) / 5;
|
|
11007
|
+
const cx = plot.gridLeft + (plot.gridRight - plot.gridLeft) * 0.55;
|
|
11008
|
+
const cy = plot.top + (plot.bottom - plot.top) * 0.48;
|
|
11009
|
+
const rx = (plot.gridRight - plot.gridLeft) * (0.16 + t * 0.28);
|
|
11010
|
+
const ry = (plot.bottom - plot.top) * (0.14 + t * 0.24);
|
|
11011
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
11012
|
+
"ellipse",
|
|
11013
|
+
{
|
|
11014
|
+
className: `${styles.line} ${chartClass(styles, ring % paletteClasses.length)}`,
|
|
11015
|
+
cx,
|
|
11016
|
+
cy,
|
|
11017
|
+
fill: "none",
|
|
11018
|
+
rx,
|
|
11019
|
+
ry
|
|
11020
|
+
},
|
|
11021
|
+
`contour-ring-${ring}`
|
|
11022
|
+
);
|
|
11023
|
+
}),
|
|
11024
|
+
showValues ? /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
|
|
11025
|
+
"text",
|
|
11026
|
+
{
|
|
11027
|
+
className: styles.valueLabel,
|
|
11028
|
+
textAnchor: "middle",
|
|
11029
|
+
x: (plot.gridLeft + plot.gridRight) / 2,
|
|
11030
|
+
y: plot.top + 14,
|
|
11031
|
+
children: [
|
|
11032
|
+
formatValue(max),
|
|
11033
|
+
" peak"
|
|
11034
|
+
]
|
|
11035
|
+
}
|
|
11036
|
+
) : null
|
|
11037
|
+
] });
|
|
11038
|
+
}
|
|
11039
|
+
function SurfacePlot({ data, plot, showValues, styles }) {
|
|
11040
|
+
const cols = 8;
|
|
11041
|
+
const rows = 6;
|
|
11042
|
+
const values = data.length ? data.map((item) => item.value) : Array.from({ length: cols * rows }, (_, index) => 30 + index * 13 % 70);
|
|
11043
|
+
const min = Math.min(...values);
|
|
11044
|
+
const max = Math.max(...values);
|
|
11045
|
+
const cellW = (plot.gridRight - plot.gridLeft) / cols;
|
|
11046
|
+
const cellH = (plot.bottom - plot.top) / rows;
|
|
11047
|
+
const project = (col, row, value) => {
|
|
11048
|
+
const intensity = (value - min) / Math.max(1, max - min);
|
|
11049
|
+
const x = plot.gridLeft + col * cellW + row * cellW * 0.18;
|
|
11050
|
+
const y = plot.top + row * cellH * 0.72 + (1 - intensity) * cellH * 0.55;
|
|
11051
|
+
return { x, y };
|
|
11052
|
+
};
|
|
11053
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("g", { children: [
|
|
11054
|
+
Array.from(
|
|
11055
|
+
{ length: rows - 1 },
|
|
11056
|
+
(_, row) => Array.from({ length: cols - 1 }, (_2, col) => {
|
|
11057
|
+
const i = row * cols + col;
|
|
11058
|
+
const v00 = values[i % values.length];
|
|
11059
|
+
const v10 = values[(i + 1) % values.length];
|
|
11060
|
+
const v01 = values[(i + cols) % values.length];
|
|
11061
|
+
const v11 = values[(i + cols + 1) % values.length];
|
|
11062
|
+
const p00 = project(col, row, v00);
|
|
11063
|
+
const p10 = project(col + 1, row, v10);
|
|
11064
|
+
const p01 = project(col, row + 1, v01);
|
|
11065
|
+
const p11 = project(col + 1, row + 1, v11);
|
|
11066
|
+
const avg = (v00 + v10 + v01 + v11) / 4;
|
|
11067
|
+
const band = Math.min(5, Math.floor((avg - min) / Math.max(1, max - min) * 6));
|
|
11068
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
11069
|
+
"polygon",
|
|
11070
|
+
{
|
|
11071
|
+
className: `${styles.area} ${chartClass(styles, band)}`,
|
|
11072
|
+
opacity: 0.55 + (avg - min) / Math.max(1, max - min) * 0.35,
|
|
11073
|
+
points: `${p00.x},${p00.y} ${p10.x},${p10.y} ${p11.x},${p11.y} ${p01.x},${p01.y}`
|
|
11074
|
+
},
|
|
11075
|
+
`surface-${row}-${col}`
|
|
11076
|
+
);
|
|
11077
|
+
})
|
|
11078
|
+
),
|
|
11079
|
+
showValues ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
11080
|
+
"text",
|
|
11081
|
+
{
|
|
11082
|
+
className: styles.valueLabel,
|
|
11083
|
+
textAnchor: "middle",
|
|
11084
|
+
x: (plot.gridLeft + plot.gridRight) / 2,
|
|
11085
|
+
y: plot.top + 14,
|
|
11086
|
+
children: "Surface 2D projection"
|
|
11087
|
+
}
|
|
11088
|
+
) : null
|
|
11089
|
+
] });
|
|
11090
|
+
}
|
|
11091
|
+
function BulletChart({ data, plot, showValues, styles, yMax, yMin }) {
|
|
11092
|
+
const laneHeight = Math.min(28, (plot.bottom - plot.top) / Math.max(data.length, 1) * 0.62);
|
|
11093
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("g", { children: data.map((item, index) => {
|
|
11094
|
+
var _a2, _b2, _c2, _d2;
|
|
11095
|
+
const slot = (plot.bottom - plot.top) / Math.max(data.length, 1);
|
|
11096
|
+
const y = plot.top + index * slot + (slot - laneHeight) / 2;
|
|
11097
|
+
const max = Math.max((_a2 = item.max) != null ? _a2 : yMax, (_b2 = item.target) != null ? _b2 : item.value, item.value, 1);
|
|
11098
|
+
const scale = (value) => plot.gridLeft + (value - yMin) / Math.max(1, max - yMin) * (plot.gridRight - plot.gridLeft);
|
|
11099
|
+
const actual = scale(item.value);
|
|
11100
|
+
const target = scale((_c2 = item.target) != null ? _c2 : item.value * 0.85);
|
|
11101
|
+
const qualitative = scale((_d2 = item.max) != null ? _d2 : max);
|
|
11102
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("g", { children: [
|
|
11103
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
11104
|
+
"rect",
|
|
11105
|
+
{
|
|
11106
|
+
className: `${styles.area} ${chartClass(styles, 5)}`,
|
|
11107
|
+
height: laneHeight,
|
|
11108
|
+
rx: "4",
|
|
11109
|
+
width: Math.max(4, qualitative - plot.gridLeft),
|
|
11110
|
+
x: plot.gridLeft,
|
|
11111
|
+
y
|
|
11112
|
+
}
|
|
11113
|
+
),
|
|
11114
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
11115
|
+
"rect",
|
|
11116
|
+
{
|
|
11117
|
+
className: `${styles.bar} ${chartClass(styles, 0)}`,
|
|
11118
|
+
height: laneHeight * 0.45,
|
|
11119
|
+
rx: "2",
|
|
11120
|
+
width: Math.max(4, actual - plot.gridLeft),
|
|
11121
|
+
x: plot.gridLeft,
|
|
11122
|
+
y: y + laneHeight * 0.275
|
|
11123
|
+
}
|
|
11124
|
+
),
|
|
11125
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
11126
|
+
"line",
|
|
11127
|
+
{
|
|
11128
|
+
className: `${styles.wick} ${chartClass(styles, 3)}`,
|
|
11129
|
+
strokeWidth: "3",
|
|
11130
|
+
x1: target,
|
|
11131
|
+
x2: target,
|
|
11132
|
+
y1: y,
|
|
11133
|
+
y2: y + laneHeight
|
|
11134
|
+
}
|
|
11135
|
+
),
|
|
11136
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("text", { className: styles.axisLabel, dominantBaseline: "middle", x: plot.gridLeft - 8, y: y + laneHeight / 2, textAnchor: "end", children: item.label }),
|
|
11137
|
+
showValues ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("text", { className: styles.valueLabel, x: actual + 6, y: y + laneHeight / 2 + 4, children: formatValue(item.value) }) : null
|
|
11138
|
+
] }, item.label);
|
|
11139
|
+
}) });
|
|
11140
|
+
}
|
|
11141
|
+
function ParetoChart({ data, plot, showValues, styles }) {
|
|
11142
|
+
const sorted = [...data].sort((a, b) => b.value - a.value);
|
|
11143
|
+
const total = sorted.reduce((sum, item) => sum + Math.max(0, item.value), 0) || 1;
|
|
11144
|
+
const valueMax = Math.max(1, ...sorted.map((item) => item.value));
|
|
11145
|
+
let running = 0;
|
|
11146
|
+
const bodyWidth = candlestickBodyWidth(plot, sorted.length);
|
|
11147
|
+
const barHalfWidth = bodyWidth / 2;
|
|
11148
|
+
const points = sorted.map((item, index) => {
|
|
11149
|
+
running += Math.max(0, item.value);
|
|
11150
|
+
const cumulative = running / total * 100;
|
|
11151
|
+
const x = xForEdgeBarIndex(plot, index, sorted.length, barHalfWidth);
|
|
11152
|
+
return __spreadProps(__spreadValues({}, item), { cumulative, x });
|
|
11153
|
+
});
|
|
11154
|
+
const linePoints = points.map((item) => `${item.x},${yForDomain(item.cumulative, 0, 100, plot)}`).join(" ");
|
|
11155
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("g", { children: [
|
|
11156
|
+
points.map((item) => {
|
|
11157
|
+
const top = yForDomain(item.value, 0, valueMax, plot);
|
|
11158
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("g", { children: [
|
|
11159
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
11160
|
+
"rect",
|
|
11161
|
+
{
|
|
11162
|
+
className: `${styles.bar} ${chartClass(styles, 0)}`,
|
|
11163
|
+
height: Math.max(4, plot.bottom - top),
|
|
11164
|
+
rx: "2",
|
|
11165
|
+
width: bodyWidth,
|
|
11166
|
+
x: item.x - bodyWidth / 2,
|
|
11167
|
+
y: top
|
|
11168
|
+
}
|
|
11169
|
+
),
|
|
11170
|
+
showValues ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("text", { className: styles.valueLabel, textAnchor: "middle", x: item.x, y: top - 6, children: formatValue(item.value) }) : null,
|
|
11171
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
11172
|
+
"circle",
|
|
11173
|
+
{
|
|
11174
|
+
className: `${styles.point} ${chartClass(styles, 1)}`,
|
|
11175
|
+
cx: item.x,
|
|
11176
|
+
cy: yForDomain(item.cumulative, 0, 100, plot),
|
|
11177
|
+
r: "3.5"
|
|
11178
|
+
}
|
|
11179
|
+
)
|
|
11180
|
+
] }, item.label);
|
|
11181
|
+
}),
|
|
11182
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("polyline", { className: `${styles.line} ${chartClass(styles, 1)}`, fill: "none", points: linePoints }),
|
|
11183
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("text", { className: styles.axisLabel, textAnchor: "start", x: plot.gridRight + 6, y: plot.top + 4, children: "%" })
|
|
11184
|
+
] });
|
|
11185
|
+
}
|
|
11186
|
+
function BoxPlot({ data, plot, showValues, styles, yMax, yMin }) {
|
|
11187
|
+
const barHalfWidth = getBoxPlotBarHalfWidth(plot, data.length);
|
|
11188
|
+
const boxWidth = barHalfWidth * 2;
|
|
11189
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("g", { children: data.map((item, index) => {
|
|
11190
|
+
var _a2, _b2, _c2, _d2, _e2;
|
|
11191
|
+
const min = (_a2 = item.min) != null ? _a2 : item.value * 0.6;
|
|
11192
|
+
const q1 = (_b2 = item.q1) != null ? _b2 : item.value * 0.78;
|
|
11193
|
+
const median = (_c2 = item.median) != null ? _c2 : item.value;
|
|
11194
|
+
const q3 = (_d2 = item.q3) != null ? _d2 : item.value * 1.18;
|
|
11195
|
+
const maxV = (_e2 = item.max) != null ? _e2 : item.value * 1.35;
|
|
11196
|
+
const x = xForEdgeBarIndex(plot, index, data.length, barHalfWidth);
|
|
11197
|
+
const seriesClass = chartClass(styles, index % paletteClasses.length);
|
|
11198
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("g", { children: [
|
|
11199
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("line", { className: `${styles.wick} ${seriesClass}`, x1: x, x2: x, y1: yForDomain(min, yMin, yMax, plot), y2: yForDomain(maxV, yMin, yMax, plot) }),
|
|
11200
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("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) }),
|
|
11201
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("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) }),
|
|
11202
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
11203
|
+
"rect",
|
|
11204
|
+
{
|
|
11205
|
+
className: `${styles.area} ${seriesClass}`,
|
|
11206
|
+
height: yForDomain(q1, yMin, yMax, plot) - yForDomain(q3, yMin, yMax, plot),
|
|
11207
|
+
width: boxWidth,
|
|
11208
|
+
x: x - boxWidth / 2,
|
|
11209
|
+
y: yForDomain(q3, yMin, yMax, plot)
|
|
11210
|
+
}
|
|
11211
|
+
),
|
|
11212
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("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) }),
|
|
11213
|
+
showValues ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("text", { className: styles.valueLabel, textAnchor: "middle", x, y: yForDomain(maxV, yMin, yMax, plot) - 6, children: formatValue(median) }) : null
|
|
11214
|
+
] }, item.label);
|
|
11215
|
+
}) });
|
|
11216
|
+
}
|
|
11217
|
+
function truncateLabel(label, maxChars) {
|
|
11218
|
+
if (maxChars < 4) {
|
|
11219
|
+
return "";
|
|
11220
|
+
}
|
|
11221
|
+
if (label.length <= maxChars) {
|
|
11222
|
+
return label;
|
|
11223
|
+
}
|
|
11224
|
+
return `${label.slice(0, maxChars - 1)}\u2026`;
|
|
11225
|
+
}
|
|
11226
|
+
function Treemap({ data, plot, showValues, styles }) {
|
|
11227
|
+
const gap = 2;
|
|
11228
|
+
const labelHeight = 18;
|
|
11229
|
+
const items = data.map((item, index) => ({
|
|
11230
|
+
group: item.group,
|
|
11231
|
+
index,
|
|
11232
|
+
label: item.label,
|
|
11233
|
+
value: Math.max(0, item.value)
|
|
11234
|
+
}));
|
|
11235
|
+
const layout = layoutGroupedTreemap(
|
|
11236
|
+
items,
|
|
11237
|
+
plot.gridLeft,
|
|
11238
|
+
plot.top + labelHeight,
|
|
10411
11239
|
plot.gridRight - plot.gridLeft,
|
|
10412
11240
|
plotSpan(plot) - labelHeight
|
|
10413
11241
|
);
|
|
@@ -11084,6 +11912,24 @@ function SpecializedChart(props) {
|
|
|
11084
11912
|
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Waterfall, __spreadValues({}, props));
|
|
11085
11913
|
case "candlestick":
|
|
11086
11914
|
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Candlestick, __spreadValues({}, props));
|
|
11915
|
+
case "ohlc":
|
|
11916
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(OhlcChart, __spreadValues({}, props));
|
|
11917
|
+
case "range-area":
|
|
11918
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(RangeAreaChart, __spreadValues({}, props));
|
|
11919
|
+
case "range-bar":
|
|
11920
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(RangeBarChart, __spreadValues({}, props));
|
|
11921
|
+
case "error-bar":
|
|
11922
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(ErrorBarChart, __spreadValues({}, props));
|
|
11923
|
+
case "parallel-coordinates":
|
|
11924
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(ParallelCoordinates, __spreadValues({}, props));
|
|
11925
|
+
case "contour":
|
|
11926
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(ContourPlot, __spreadValues({}, props));
|
|
11927
|
+
case "surface":
|
|
11928
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(SurfacePlot, __spreadValues({}, props));
|
|
11929
|
+
case "bullet":
|
|
11930
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(BulletChart, __spreadValues({}, props));
|
|
11931
|
+
case "pareto":
|
|
11932
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(ParetoChart, __spreadValues({}, props));
|
|
11087
11933
|
case "box-plot":
|
|
11088
11934
|
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(BoxPlot, __spreadValues({}, props));
|
|
11089
11935
|
case "treemap":
|
|
@@ -11128,7 +11974,7 @@ function SpecializedChart(props) {
|
|
|
11128
11974
|
}
|
|
11129
11975
|
|
|
11130
11976
|
// ../../components/Chart/Chart.module.css
|
|
11131
|
-
var Chart_default = {"
|
|
11977
|
+
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"};
|
|
11132
11978
|
|
|
11133
11979
|
// ../../components/Chart/Chart.tsx
|
|
11134
11980
|
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
@@ -11353,7 +12199,7 @@ function getWaterfallDomain(data) {
|
|
|
11353
12199
|
return { min: min - pad, max: max + pad };
|
|
11354
12200
|
}
|
|
11355
12201
|
function getChartYDomain(variant, data, series, fallbackMax) {
|
|
11356
|
-
if (variant === "candlestick") {
|
|
12202
|
+
if (variant === "candlestick" || variant === "ohlc") {
|
|
11357
12203
|
const lows = data.map((item) => {
|
|
11358
12204
|
var _a2;
|
|
11359
12205
|
return (_a2 = item.low) != null ? _a2 : item.value * 0.82;
|
|
@@ -11367,6 +12213,45 @@ function getChartYDomain(variant, data, series, fallbackMax) {
|
|
|
11367
12213
|
const pad = Math.max(0, (max - min) * 0.04);
|
|
11368
12214
|
return { min: min - pad, max: max + pad };
|
|
11369
12215
|
}
|
|
12216
|
+
if (variant === "range-area" || variant === "range-bar") {
|
|
12217
|
+
const lows = data.map((item) => {
|
|
12218
|
+
var _a2, _b2;
|
|
12219
|
+
return (_b2 = (_a2 = item.low) != null ? _a2 : item.min) != null ? _b2 : item.value * 0.75;
|
|
12220
|
+
});
|
|
12221
|
+
const highs = data.map((item) => {
|
|
12222
|
+
var _a2, _b2;
|
|
12223
|
+
return (_b2 = (_a2 = item.high) != null ? _a2 : item.max) != null ? _b2 : item.value * 1.25;
|
|
12224
|
+
});
|
|
12225
|
+
const min = Math.min(...lows);
|
|
12226
|
+
const max = Math.max(...highs);
|
|
12227
|
+
const pad = Math.max(0, (max - min) * 0.06);
|
|
12228
|
+
return { min: Math.max(0, min - pad), max: max + pad };
|
|
12229
|
+
}
|
|
12230
|
+
if (variant === "error-bar") {
|
|
12231
|
+
const lows = data.map((item) => {
|
|
12232
|
+
var _a2, _b2;
|
|
12233
|
+
const error = (_a2 = item.error) != null ? _a2 : item.value * 0.12;
|
|
12234
|
+
return ((_b2 = item.low) != null ? _b2 : item.value) - (item.low == null ? error : 0);
|
|
12235
|
+
});
|
|
12236
|
+
const highs = data.map((item) => {
|
|
12237
|
+
var _a2, _b2;
|
|
12238
|
+
const error = (_a2 = item.error) != null ? _a2 : item.value * 0.12;
|
|
12239
|
+
return ((_b2 = item.high) != null ? _b2 : item.value) + (item.high == null ? error : 0);
|
|
12240
|
+
});
|
|
12241
|
+
const min = Math.min(0, ...lows);
|
|
12242
|
+
const max = Math.max(...highs);
|
|
12243
|
+
return { min, max: max * 1.08 };
|
|
12244
|
+
}
|
|
12245
|
+
if (variant === "bullet") {
|
|
12246
|
+
const highs = data.map((item) => {
|
|
12247
|
+
var _a2, _b2;
|
|
12248
|
+
return Math.max(item.value, (_a2 = item.target) != null ? _a2 : item.value, (_b2 = item.max) != null ? _b2 : item.value);
|
|
12249
|
+
});
|
|
12250
|
+
return { min: 0, max: Math.max(1, ...highs) * 1.08 };
|
|
12251
|
+
}
|
|
12252
|
+
if (variant === "pareto") {
|
|
12253
|
+
return { min: 0, max: Math.max(1, ...data.map((item) => item.value)) * 1.08 };
|
|
12254
|
+
}
|
|
11370
12255
|
if (variant === "box-plot") {
|
|
11371
12256
|
const lows = data.map((item) => {
|
|
11372
12257
|
var _a2;
|
|
@@ -12211,7 +13096,7 @@ function Chart({
|
|
|
12211
13096
|
slotBounds: specializedVariantUsesSlotLabels(variant) ? { left: activePlot.gridLeft, right: activePlot.gridRight } : void 0,
|
|
12212
13097
|
slotCentered: specializedVariantUsesSlotLabels(variant),
|
|
12213
13098
|
timeline: variant === "timeline" || variant === "milestone-timeline",
|
|
12214
|
-
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
|
|
13099
|
+
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
|
|
12215
13100
|
}
|
|
12216
13101
|
) : null
|
|
12217
13102
|
] }),
|
|
@@ -12228,7 +13113,7 @@ function Chart({
|
|
|
12228
13113
|
}
|
|
12229
13114
|
|
|
12230
13115
|
// ../../components/Skeleton/Skeleton.module.css
|
|
12231
|
-
var Skeleton_default = {"
|
|
13116
|
+
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"};
|
|
12232
13117
|
|
|
12233
13118
|
// ../../components/Skeleton/Skeleton.tsx
|
|
12234
13119
|
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
@@ -12279,7 +13164,7 @@ var import_free_solid_svg_icons7 = require("@fortawesome/free-solid-svg-icons");
|
|
|
12279
13164
|
var import_react_fontawesome7 = require("@fortawesome/react-fontawesome");
|
|
12280
13165
|
|
|
12281
13166
|
// ../../components/Lightbox/Lightbox.module.css
|
|
12282
|
-
var Lightbox_default = {"
|
|
13167
|
+
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"};
|
|
12283
13168
|
|
|
12284
13169
|
// ../../components/Lightbox/Lightbox.tsx
|
|
12285
13170
|
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
@@ -12394,7 +13279,7 @@ function Lightbox({
|
|
|
12394
13279
|
}
|
|
12395
13280
|
|
|
12396
13281
|
// ../../components/Carousel/Carousel.module.css
|
|
12397
|
-
var Carousel_default = {"
|
|
13282
|
+
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"};
|
|
12398
13283
|
|
|
12399
13284
|
// ../../components/Carousel/Carousel.tsx
|
|
12400
13285
|
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
@@ -12646,7 +13531,7 @@ function Carousel({
|
|
|
12646
13531
|
}
|
|
12647
13532
|
|
|
12648
13533
|
// ../../components/ImageThumbnail/ImageThumbnail.module.css
|
|
12649
|
-
var ImageThumbnail_default = {"thumbnail":"opus_Gp1o-9_thumbnail","
|
|
13534
|
+
var ImageThumbnail_default = {"thumbnail":"opus_Gp1o-9_thumbnail","caption":"opus_Gp1o-9_caption","image":"opus_Gp1o-9_image","figure":"opus_Gp1o-9_figure"};
|
|
12650
13535
|
|
|
12651
13536
|
// ../../components/ImageThumbnail/ImageThumbnail.tsx
|
|
12652
13537
|
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
@@ -12721,7 +13606,7 @@ var import_react42 = require("react");
|
|
|
12721
13606
|
var import_react41 = require("react");
|
|
12722
13607
|
|
|
12723
13608
|
// ../../components/ModelViewer/ModelViewer.module.css
|
|
12724
|
-
var ModelViewer_default = {"
|
|
13609
|
+
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"};
|
|
12725
13610
|
|
|
12726
13611
|
// ../../components/ModelViewer/FireBarrelModelViewer.tsx
|
|
12727
13612
|
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
@@ -12939,7 +13824,7 @@ var import_free_solid_svg_icons9 = require("@fortawesome/free-solid-svg-icons");
|
|
|
12939
13824
|
var import_react_fontawesome9 = require("@fortawesome/react-fontawesome");
|
|
12940
13825
|
|
|
12941
13826
|
// ../../components/ModelLightbox/ModelLightbox.module.css
|
|
12942
|
-
var ModelLightbox_default = {"
|
|
13827
|
+
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"};
|
|
12943
13828
|
|
|
12944
13829
|
// ../../components/ModelLightbox/ModelLightbox.tsx
|
|
12945
13830
|
var import_jsx_runtime72 = require("react/jsx-runtime");
|
|
@@ -13044,27 +13929,29 @@ function ModelLightbox({
|
|
|
13044
13929
|
}
|
|
13045
13930
|
|
|
13046
13931
|
// ../../components/ModelThumbnail/ModelThumbnail.module.css
|
|
13047
|
-
var ModelThumbnail_default = {"
|
|
13932
|
+
var ModelThumbnail_default = {"staticThumbnail":"opus_NkO9Yb_staticThumbnail","content":"opus_NkO9Yb_content","caption":"opus_NkO9Yb_caption"};
|
|
13048
13933
|
|
|
13049
13934
|
// ../../components/ModelThumbnail/ModelThumbnail.tsx
|
|
13050
13935
|
var import_jsx_runtime73 = require("react/jsx-runtime");
|
|
13051
13936
|
function ThumbnailContent({
|
|
13052
13937
|
asset,
|
|
13938
|
+
fill,
|
|
13053
13939
|
showCaption,
|
|
13054
13940
|
size
|
|
13055
13941
|
}) {
|
|
13056
|
-
return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("span", { className: ModelThumbnail_default.content, "data-size": size, children: [
|
|
13942
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("span", { className: ModelThumbnail_default.content, "data-fill": fill ? "true" : void 0, "data-size": size, children: [
|
|
13057
13943
|
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(ModelViewer, { asset, cameraControls: false, height: "compact", showCaption: false }),
|
|
13058
13944
|
showCaption ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: ModelThumbnail_default.caption, children: asset.name }) : null
|
|
13059
13945
|
] });
|
|
13060
13946
|
}
|
|
13061
13947
|
function ModelThumbnail({
|
|
13062
13948
|
asset,
|
|
13949
|
+
fill = false,
|
|
13063
13950
|
openInLightbox = true,
|
|
13064
13951
|
showCaption = true,
|
|
13065
13952
|
size = "medium"
|
|
13066
13953
|
}) {
|
|
13067
|
-
const content = /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(ThumbnailContent, { asset, showCaption, size });
|
|
13954
|
+
const content = /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(ThumbnailContent, { asset, fill, showCaption, size });
|
|
13068
13955
|
if (openInLightbox) {
|
|
13069
13956
|
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
13070
13957
|
ModelLightbox,
|
|
@@ -13079,7 +13966,7 @@ function ModelThumbnail({
|
|
|
13079
13966
|
}
|
|
13080
13967
|
|
|
13081
13968
|
// ../../components/ModelGallery/ModelGallery.module.css
|
|
13082
|
-
var ModelGallery_default = {"
|
|
13969
|
+
var ModelGallery_default = {"gallery":"opus_8llAjm_gallery","empty":"opus_8llAjm_empty"};
|
|
13083
13970
|
|
|
13084
13971
|
// ../../components/ModelGallery/ModelGallery.tsx
|
|
13085
13972
|
var import_jsx_runtime74 = require("react/jsx-runtime");
|
|
@@ -13098,6 +13985,7 @@ function ModelGallery({
|
|
|
13098
13985
|
ModelThumbnail,
|
|
13099
13986
|
{
|
|
13100
13987
|
asset,
|
|
13988
|
+
fill: true,
|
|
13101
13989
|
openInLightbox: true,
|
|
13102
13990
|
showCaption: showCaptions,
|
|
13103
13991
|
size: thumbnailSize
|
|
@@ -13162,7 +14050,7 @@ function CatalogIcon({ iconName }) {
|
|
|
13162
14050
|
}
|
|
13163
14051
|
|
|
13164
14052
|
// ../../components/EmptyState/EmptyState.module.css
|
|
13165
|
-
var EmptyState_default = {"
|
|
14053
|
+
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"};
|
|
13166
14054
|
|
|
13167
14055
|
// ../../components/EmptyState/EmptyState.tsx
|
|
13168
14056
|
var import_jsx_runtime76 = require("react/jsx-runtime");
|
|
@@ -13195,68 +14083,1044 @@ function EmptyState({
|
|
|
13195
14083
|
);
|
|
13196
14084
|
}
|
|
13197
14085
|
|
|
13198
|
-
// ../../components/
|
|
13199
|
-
var
|
|
13200
|
-
|
|
13201
|
-
// ../../components/Sidebar/Sidebar.module.css
|
|
13202
|
-
var Sidebar_default = {"main":"opus_4Pogux_main","group":"opus_4Pogux_group","groupHeader":"opus_4Pogux_groupHeader","footer":"opus_4Pogux_footer","groupChevronOpen":"opus_4Pogux_groupChevronOpen","sidebar":"opus_4Pogux_sidebar","headerTitle":"opus_4Pogux_headerTitle","groupItems":"opus_4Pogux_groupItems","linkActive":"opus_4Pogux_linkActive","headerInner":"opus_4Pogux_headerInner","link":"opus_4Pogux_link","layout":"opus_4Pogux_layout","body":"opus_4Pogux_body","groupLabel":"opus_4Pogux_groupLabel","header":"opus_4Pogux_header","nav":"opus_4Pogux_nav","groupItemsWrap":"opus_4Pogux_groupItemsWrap","visuallyHidden":"opus_4Pogux_visuallyHidden","groupChevron":"opus_4Pogux_groupChevron","groupToggle":"opus_4Pogux_groupToggle"};
|
|
14086
|
+
// ../../components/Badge/Badge.module.css
|
|
14087
|
+
var Badge_default = {"badge":"opus_1GJHzl_badge","dot":"opus_1GJHzl_dot"};
|
|
13203
14088
|
|
|
13204
|
-
// ../../components/
|
|
14089
|
+
// ../../components/Badge/Badge.tsx
|
|
13205
14090
|
var import_jsx_runtime77 = require("react/jsx-runtime");
|
|
13206
|
-
|
|
13207
|
-
|
|
13208
|
-
|
|
13209
|
-
|
|
13210
|
-
|
|
13211
|
-
|
|
13212
|
-
collapsed = false,
|
|
13213
|
-
density = "comfortable",
|
|
13214
|
-
footer,
|
|
13215
|
-
header,
|
|
13216
|
-
side = "left"
|
|
14091
|
+
function Badge({
|
|
14092
|
+
dot = false,
|
|
14093
|
+
label,
|
|
14094
|
+
size = "md",
|
|
14095
|
+
tone = "neutral",
|
|
14096
|
+
variant = "soft"
|
|
13217
14097
|
}) {
|
|
13218
|
-
return /* @__PURE__ */ (0, import_jsx_runtime77.
|
|
13219
|
-
"
|
|
13220
|
-
|
|
13221
|
-
"aria-label": "Sidebar",
|
|
13222
|
-
className: Sidebar_default.sidebar,
|
|
13223
|
-
"data-collapsed": collapsed ? "true" : "false",
|
|
13224
|
-
"data-density": density,
|
|
13225
|
-
"data-side": side,
|
|
13226
|
-
children: [
|
|
13227
|
-
header ? /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: Sidebar_default.header, children: header }) : null,
|
|
13228
|
-
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: Sidebar_default.body, children }),
|
|
13229
|
-
footer ? /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: Sidebar_default.footer, children: footer }) : null
|
|
13230
|
-
]
|
|
13231
|
-
}
|
|
13232
|
-
) });
|
|
13233
|
-
}
|
|
13234
|
-
function SidebarHeader({ children, title }) {
|
|
13235
|
-
const { collapsed } = (0, import_react45.useContext)(SidebarContext);
|
|
13236
|
-
return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: Sidebar_default.headerInner, children: [
|
|
13237
|
-
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("h2", { className: collapsed ? Sidebar_default.visuallyHidden : Sidebar_default.headerTitle, children: title }),
|
|
13238
|
-
children
|
|
14098
|
+
return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("span", { className: Badge_default.badge, "data-size": size, "data-tone": tone, "data-variant": variant, children: [
|
|
14099
|
+
dot ? /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { "aria-hidden": "true", className: Badge_default.dot }) : null,
|
|
14100
|
+
label
|
|
13239
14101
|
] });
|
|
13240
14102
|
}
|
|
13241
|
-
|
|
13242
|
-
|
|
13243
|
-
}
|
|
13244
|
-
|
|
13245
|
-
|
|
13246
|
-
|
|
13247
|
-
|
|
13248
|
-
|
|
13249
|
-
|
|
13250
|
-
|
|
13251
|
-
|
|
13252
|
-
if (
|
|
13253
|
-
return /* @__PURE__ */ (0,
|
|
13254
|
-
|
|
13255
|
-
|
|
13256
|
-
|
|
13257
|
-
|
|
13258
|
-
|
|
13259
|
-
|
|
14103
|
+
|
|
14104
|
+
// ../../components/Divider/Divider.module.css
|
|
14105
|
+
var Divider_default = {"divider":"opus_ux1i0D_divider","label":"opus_ux1i0D_label","line":"opus_ux1i0D_line","labelled":"opus_ux1i0D_labelled"};
|
|
14106
|
+
|
|
14107
|
+
// ../../components/Divider/Divider.tsx
|
|
14108
|
+
var import_jsx_runtime78 = require("react/jsx-runtime");
|
|
14109
|
+
function Divider({
|
|
14110
|
+
label,
|
|
14111
|
+
orientation = "horizontal",
|
|
14112
|
+
tone = "default"
|
|
14113
|
+
}) {
|
|
14114
|
+
if (orientation === "vertical") {
|
|
14115
|
+
return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
14116
|
+
"div",
|
|
14117
|
+
{
|
|
14118
|
+
"aria-orientation": "vertical",
|
|
14119
|
+
className: Divider_default.divider,
|
|
14120
|
+
"data-orientation": "vertical",
|
|
14121
|
+
"data-tone": tone,
|
|
14122
|
+
role: "separator"
|
|
14123
|
+
}
|
|
14124
|
+
);
|
|
14125
|
+
}
|
|
14126
|
+
if (label) {
|
|
14127
|
+
return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: Divider_default.labelled, "data-tone": tone, role: "separator", children: [
|
|
14128
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { "aria-hidden": "true", className: Divider_default.line }),
|
|
14129
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: Divider_default.label, children: label }),
|
|
14130
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { "aria-hidden": "true", className: Divider_default.line })
|
|
14131
|
+
] });
|
|
14132
|
+
}
|
|
14133
|
+
return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
14134
|
+
"hr",
|
|
14135
|
+
{
|
|
14136
|
+
className: Divider_default.divider,
|
|
14137
|
+
"data-orientation": "horizontal",
|
|
14138
|
+
"data-tone": tone
|
|
14139
|
+
}
|
|
14140
|
+
);
|
|
14141
|
+
}
|
|
14142
|
+
|
|
14143
|
+
// ../../components/Avatar/Avatar.tsx
|
|
14144
|
+
var import_react45 = require("react");
|
|
14145
|
+
|
|
14146
|
+
// ../../components/Avatar/Avatar.module.css
|
|
14147
|
+
var Avatar_default = {"initials":"opus_jsRWxO_initials","image":"opus_jsRWxO_image","avatar":"opus_jsRWxO_avatar"};
|
|
14148
|
+
|
|
14149
|
+
// ../../components/Avatar/Avatar.tsx
|
|
14150
|
+
var import_jsx_runtime79 = (
|
|
14151
|
+
// eslint-disable-next-line @next/next/no-img-element
|
|
14152
|
+
require("react/jsx-runtime")
|
|
14153
|
+
);
|
|
14154
|
+
function initialsFromName(name) {
|
|
14155
|
+
var _a2, _b2;
|
|
14156
|
+
const parts = name.trim().split(/\s+/).filter(Boolean);
|
|
14157
|
+
if (parts.length === 0) {
|
|
14158
|
+
return "?";
|
|
14159
|
+
}
|
|
14160
|
+
if (parts.length === 1) {
|
|
14161
|
+
return parts[0].slice(0, 2).toUpperCase();
|
|
14162
|
+
}
|
|
14163
|
+
return `${(_a2 = parts[0][0]) != null ? _a2 : ""}${(_b2 = parts[1][0]) != null ? _b2 : ""}`.toUpperCase();
|
|
14164
|
+
}
|
|
14165
|
+
function Avatar({
|
|
14166
|
+
name,
|
|
14167
|
+
shape = "circle",
|
|
14168
|
+
size = "md",
|
|
14169
|
+
src
|
|
14170
|
+
}) {
|
|
14171
|
+
const [failed, setFailed] = (0, import_react45.useState)(false);
|
|
14172
|
+
const initials = (0, import_react45.useMemo)(() => initialsFromName(name), [name]);
|
|
14173
|
+
const showImage = Boolean(src) && !failed;
|
|
14174
|
+
return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
14175
|
+
"span",
|
|
14176
|
+
{
|
|
14177
|
+
"aria-label": name,
|
|
14178
|
+
className: Avatar_default.avatar,
|
|
14179
|
+
"data-shape": shape,
|
|
14180
|
+
"data-size": size,
|
|
14181
|
+
role: "img",
|
|
14182
|
+
title: name,
|
|
14183
|
+
children: showImage ? /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
14184
|
+
"img",
|
|
14185
|
+
{
|
|
14186
|
+
alt: "",
|
|
14187
|
+
className: Avatar_default.image,
|
|
14188
|
+
onError: () => setFailed(true),
|
|
14189
|
+
src
|
|
14190
|
+
}
|
|
14191
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { "aria-hidden": "true", className: Avatar_default.initials, children: initials })
|
|
14192
|
+
}
|
|
14193
|
+
);
|
|
14194
|
+
}
|
|
14195
|
+
|
|
14196
|
+
// ../../components/AvatarGroup/AvatarGroup.module.css
|
|
14197
|
+
var AvatarGroup_default = {"group":"opus_Vv36ne_group","overflow":"opus_Vv36ne_overflow","item":"opus_Vv36ne_item"};
|
|
14198
|
+
|
|
14199
|
+
// ../../components/AvatarGroup/AvatarGroup.tsx
|
|
14200
|
+
var import_jsx_runtime80 = require("react/jsx-runtime");
|
|
14201
|
+
function AvatarGroup({ items, max = 4, size = "md" }) {
|
|
14202
|
+
const safeMax = Math.max(1, Math.round(max));
|
|
14203
|
+
const visible = items.slice(0, safeMax);
|
|
14204
|
+
const overflow = Math.max(0, items.length - visible.length);
|
|
14205
|
+
return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { "aria-label": `${items.length} people`, className: AvatarGroup_default.group, role: "group", children: [
|
|
14206
|
+
visible.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: AvatarGroup_default.item, style: { zIndex: visible.length - index }, children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Avatar, { name: item.name, size, src: item.src }) }, `${item.name}-${index}`)),
|
|
14207
|
+
overflow > 0 ? /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
|
|
14208
|
+
"span",
|
|
14209
|
+
{
|
|
14210
|
+
"aria-label": `${overflow} more`,
|
|
14211
|
+
className: AvatarGroup_default.overflow,
|
|
14212
|
+
"data-size": size,
|
|
14213
|
+
children: [
|
|
14214
|
+
"+",
|
|
14215
|
+
overflow
|
|
14216
|
+
]
|
|
14217
|
+
}
|
|
14218
|
+
) : null
|
|
14219
|
+
] });
|
|
14220
|
+
}
|
|
14221
|
+
|
|
14222
|
+
// ../../components/Statistic/Statistic.module.css
|
|
14223
|
+
var Statistic_default = {"label":"opus_vCN1bv_label","root":"opus_vCN1bv_root","value":"opus_vCN1bv_value","affix":"opus_vCN1bv_affix","trend":"opus_vCN1bv_trend"};
|
|
14224
|
+
|
|
14225
|
+
// ../../components/Statistic/Statistic.tsx
|
|
14226
|
+
var import_jsx_runtime81 = require("react/jsx-runtime");
|
|
14227
|
+
function Statistic({
|
|
14228
|
+
label,
|
|
14229
|
+
prefix,
|
|
14230
|
+
suffix,
|
|
14231
|
+
trend,
|
|
14232
|
+
trendLabel,
|
|
14233
|
+
value
|
|
14234
|
+
}) {
|
|
14235
|
+
return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: Statistic_default.root, children: [
|
|
14236
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: Statistic_default.label, children: label }),
|
|
14237
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("p", { className: Statistic_default.value, children: [
|
|
14238
|
+
prefix ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: Statistic_default.affix, children: prefix }) : null,
|
|
14239
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { children: value }),
|
|
14240
|
+
suffix ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: Statistic_default.affix, children: suffix }) : null
|
|
14241
|
+
] }),
|
|
14242
|
+
trend && trendLabel ? /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("p", { className: Statistic_default.trend, "data-trend": trend, children: [
|
|
14243
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { "aria-hidden": "true", children: trend === "up" ? "\u2191" : trend === "down" ? "\u2193" : "\u2192" }),
|
|
14244
|
+
trendLabel
|
|
14245
|
+
] }) : null
|
|
14246
|
+
] });
|
|
14247
|
+
}
|
|
14248
|
+
|
|
14249
|
+
// ../../components/List/List.module.css
|
|
14250
|
+
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"};
|
|
14251
|
+
|
|
14252
|
+
// ../../components/List/List.tsx
|
|
14253
|
+
var import_jsx_runtime82 = require("react/jsx-runtime");
|
|
14254
|
+
function List({ density = "comfortable", items, ordered = false }) {
|
|
14255
|
+
const Tag = ordered ? "ol" : "ul";
|
|
14256
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Tag, { className: List_default.list, "data-density": density, "data-ordered": ordered ? "true" : "false", children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("li", { className: List_default.item, children: [
|
|
14257
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { "aria-hidden": "true", className: List_default.icon, children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(CatalogIcon, { iconName: item.icon }) }) : null,
|
|
14258
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: List_default.body, children: [
|
|
14259
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: List_default.head, children: [
|
|
14260
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: List_default.title, children: item.title }),
|
|
14261
|
+
item.meta ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: List_default.meta, children: item.meta }) : null
|
|
14262
|
+
] }),
|
|
14263
|
+
item.description ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("p", { className: List_default.description, children: item.description }) : null
|
|
14264
|
+
] })
|
|
14265
|
+
] }, `${item.title}-${index}`)) });
|
|
14266
|
+
}
|
|
14267
|
+
|
|
14268
|
+
// ../../components/DescriptionList/DescriptionList.module.css
|
|
14269
|
+
var DescriptionList_default = {"list":"opus_FY8OsC_list","term":"opus_FY8OsC_term","row":"opus_FY8OsC_row","details":"opus_FY8OsC_details"};
|
|
14270
|
+
|
|
14271
|
+
// ../../components/DescriptionList/DescriptionList.tsx
|
|
14272
|
+
var import_jsx_runtime83 = require("react/jsx-runtime");
|
|
14273
|
+
function DescriptionList({
|
|
14274
|
+
items,
|
|
14275
|
+
layout = "stacked"
|
|
14276
|
+
}) {
|
|
14277
|
+
return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("dl", { className: DescriptionList_default.list, "data-layout": layout, children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: DescriptionList_default.row, children: [
|
|
14278
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsx)("dt", { className: DescriptionList_default.term, children: item.term }),
|
|
14279
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsx)("dd", { className: DescriptionList_default.details, children: item.details })
|
|
14280
|
+
] }, `${item.term}-${index}`)) });
|
|
14281
|
+
}
|
|
14282
|
+
|
|
14283
|
+
// ../../components/PropertyGrid/PropertyGrid.tsx
|
|
14284
|
+
var import_react46 = require("react");
|
|
14285
|
+
|
|
14286
|
+
// ../../components/PropertyGrid/PropertyGrid.module.css
|
|
14287
|
+
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"};
|
|
14288
|
+
|
|
14289
|
+
// ../../components/PropertyGrid/PropertyGrid.tsx
|
|
14290
|
+
var import_jsx_runtime84 = require("react/jsx-runtime");
|
|
14291
|
+
function PropertyGrid({ items }) {
|
|
14292
|
+
const [copiedIndex, setCopiedIndex] = (0, import_react46.useState)(null);
|
|
14293
|
+
async function copyValue(value, index) {
|
|
14294
|
+
try {
|
|
14295
|
+
await navigator.clipboard.writeText(value);
|
|
14296
|
+
setCopiedIndex(index);
|
|
14297
|
+
window.setTimeout(() => setCopiedIndex((current) => current === index ? null : current), 1200);
|
|
14298
|
+
} catch (e) {
|
|
14299
|
+
setCopiedIndex(null);
|
|
14300
|
+
}
|
|
14301
|
+
}
|
|
14302
|
+
return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("div", { className: PropertyGrid_default.grid, role: "table", "aria-label": "Properties", children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: PropertyGrid_default.row, role: "row", children: [
|
|
14303
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)("div", { className: PropertyGrid_default.label, role: "rowheader", children: item.label }),
|
|
14304
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: PropertyGrid_default.valueCell, role: "cell", children: [
|
|
14305
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: PropertyGrid_default.value, children: item.value }),
|
|
14306
|
+
item.copyable ? /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
14307
|
+
"button",
|
|
14308
|
+
{
|
|
14309
|
+
"aria-label": `Copy ${item.label}`,
|
|
14310
|
+
className: PropertyGrid_default.copy,
|
|
14311
|
+
onClick: () => void copyValue(item.value, index),
|
|
14312
|
+
type: "button",
|
|
14313
|
+
children: copiedIndex === index ? "Copied" : "Copy"
|
|
14314
|
+
}
|
|
14315
|
+
) : null
|
|
14316
|
+
] })
|
|
14317
|
+
] }, `${item.label}-${index}`)) });
|
|
14318
|
+
}
|
|
14319
|
+
|
|
14320
|
+
// ../../components/ContentTimeline/ContentTimeline.module.css
|
|
14321
|
+
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"};
|
|
14322
|
+
|
|
14323
|
+
// ../../components/ContentTimeline/ContentTimeline.tsx
|
|
14324
|
+
var import_jsx_runtime85 = require("react/jsx-runtime");
|
|
14325
|
+
function ContentTimeline({ items }) {
|
|
14326
|
+
return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("ol", { className: ContentTimeline_default.list, children: items.map((item, index) => {
|
|
14327
|
+
var _a2;
|
|
14328
|
+
return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(
|
|
14329
|
+
"li",
|
|
14330
|
+
{
|
|
14331
|
+
className: ContentTimeline_default.item,
|
|
14332
|
+
"data-status": (_a2 = item.status) != null ? _a2 : "default",
|
|
14333
|
+
children: [
|
|
14334
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { "aria-hidden": "true", className: ContentTimeline_default.rail, children: [
|
|
14335
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: ContentTimeline_default.dot }),
|
|
14336
|
+
index < items.length - 1 ? /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: ContentTimeline_default.line }) : null
|
|
14337
|
+
] }),
|
|
14338
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: ContentTimeline_default.body, children: [
|
|
14339
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: ContentTimeline_default.head, children: [
|
|
14340
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)("h3", { className: ContentTimeline_default.title, children: item.title }),
|
|
14341
|
+
item.time ? /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("time", { className: ContentTimeline_default.time, children: item.time }) : null
|
|
14342
|
+
] }),
|
|
14343
|
+
item.description ? /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("p", { className: ContentTimeline_default.description, children: item.description }) : null
|
|
14344
|
+
] })
|
|
14345
|
+
]
|
|
14346
|
+
},
|
|
14347
|
+
`${item.title}-${index}`
|
|
14348
|
+
);
|
|
14349
|
+
}) });
|
|
14350
|
+
}
|
|
14351
|
+
|
|
14352
|
+
// ../../components/TreeView/TreeView.tsx
|
|
14353
|
+
var import_react47 = require("react");
|
|
14354
|
+
|
|
14355
|
+
// ../../components/TreeView/TreeView.module.css
|
|
14356
|
+
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"};
|
|
14357
|
+
|
|
14358
|
+
// ../../components/TreeView/TreeView.tsx
|
|
14359
|
+
var import_jsx_runtime86 = require("react/jsx-runtime");
|
|
14360
|
+
function collectExpandableIds(nodes) {
|
|
14361
|
+
var _a2;
|
|
14362
|
+
const ids = [];
|
|
14363
|
+
for (const node of nodes) {
|
|
14364
|
+
if ((_a2 = node.children) == null ? void 0 : _a2.length) {
|
|
14365
|
+
ids.push(node.id);
|
|
14366
|
+
ids.push(...collectExpandableIds(node.children));
|
|
14367
|
+
}
|
|
14368
|
+
}
|
|
14369
|
+
return ids;
|
|
14370
|
+
}
|
|
14371
|
+
function TreeNode({
|
|
14372
|
+
depth,
|
|
14373
|
+
expandedIds,
|
|
14374
|
+
node,
|
|
14375
|
+
onToggle
|
|
14376
|
+
}) {
|
|
14377
|
+
var _a2;
|
|
14378
|
+
const hasChildren = Boolean((_a2 = node.children) == null ? void 0 : _a2.length);
|
|
14379
|
+
const expanded = expandedIds.has(node.id);
|
|
14380
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("li", { className: TreeView_default.node, children: [
|
|
14381
|
+
/* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("div", { className: TreeView_default.row, style: { paddingLeft: `${depth * 16 + 8}px` }, children: [
|
|
14382
|
+
hasChildren ? /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
14383
|
+
"button",
|
|
14384
|
+
{
|
|
14385
|
+
"aria-expanded": expanded,
|
|
14386
|
+
"aria-label": `${expanded ? "Collapse" : "Expand"} ${node.label}`,
|
|
14387
|
+
className: TreeView_default.toggle,
|
|
14388
|
+
onClick: () => onToggle(node.id),
|
|
14389
|
+
type: "button",
|
|
14390
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { "aria-hidden": "true", children: expanded ? "\u25BE" : "\u25B8" })
|
|
14391
|
+
}
|
|
14392
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { "aria-hidden": "true", className: TreeView_default.leafMark }),
|
|
14393
|
+
/* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { className: TreeView_default.label, children: node.label })
|
|
14394
|
+
] }),
|
|
14395
|
+
hasChildren && expanded ? /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("ul", { className: TreeView_default.children, children: node.children.map((child) => /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
14396
|
+
TreeNode,
|
|
14397
|
+
{
|
|
14398
|
+
depth: depth + 1,
|
|
14399
|
+
expandedIds,
|
|
14400
|
+
node: child,
|
|
14401
|
+
onToggle
|
|
14402
|
+
},
|
|
14403
|
+
child.id
|
|
14404
|
+
)) }) : null
|
|
14405
|
+
] });
|
|
14406
|
+
}
|
|
14407
|
+
function TreeView({ defaultExpandedIds, nodes }) {
|
|
14408
|
+
const fallbackIds = (0, import_react47.useMemo)(() => collectExpandableIds(nodes).slice(0, 2), [nodes]);
|
|
14409
|
+
const [expandedIds, setExpandedIds] = (0, import_react47.useState)(
|
|
14410
|
+
() => new Set(defaultExpandedIds != null ? defaultExpandedIds : fallbackIds)
|
|
14411
|
+
);
|
|
14412
|
+
function toggle(id) {
|
|
14413
|
+
setExpandedIds((current) => {
|
|
14414
|
+
const next = new Set(current);
|
|
14415
|
+
if (next.has(id)) {
|
|
14416
|
+
next.delete(id);
|
|
14417
|
+
} else {
|
|
14418
|
+
next.add(id);
|
|
14419
|
+
}
|
|
14420
|
+
return next;
|
|
14421
|
+
});
|
|
14422
|
+
}
|
|
14423
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("ul", { "aria-label": "Tree", className: TreeView_default.tree, role: "tree", children: nodes.map((node) => /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
14424
|
+
TreeNode,
|
|
14425
|
+
{
|
|
14426
|
+
depth: 0,
|
|
14427
|
+
expandedIds,
|
|
14428
|
+
node,
|
|
14429
|
+
onToggle: toggle
|
|
14430
|
+
},
|
|
14431
|
+
node.id
|
|
14432
|
+
)) });
|
|
14433
|
+
}
|
|
14434
|
+
|
|
14435
|
+
// ../../components/MasonryGrid/MasonryGrid.module.css
|
|
14436
|
+
var MasonryGrid_default = {"card":"opus_Fxxd7-_card","body":"opus_Fxxd7-_body","grid":"opus_Fxxd7-_grid","title":"opus_Fxxd7-_title"};
|
|
14437
|
+
|
|
14438
|
+
// ../../components/MasonryGrid/MasonryGrid.tsx
|
|
14439
|
+
var import_jsx_runtime87 = require("react/jsx-runtime");
|
|
14440
|
+
function MasonryGrid({ columns = 3, gap = 12, items }) {
|
|
14441
|
+
const safeColumns = Math.min(Math.max(Math.round(columns), 2), 4);
|
|
14442
|
+
const safeGap = Math.min(Math.max(Math.round(gap), 8), 28);
|
|
14443
|
+
return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
14444
|
+
"div",
|
|
14445
|
+
{
|
|
14446
|
+
className: MasonryGrid_default.grid,
|
|
14447
|
+
style: {
|
|
14448
|
+
columnCount: safeColumns,
|
|
14449
|
+
columnGap: `${safeGap}px`
|
|
14450
|
+
},
|
|
14451
|
+
children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(
|
|
14452
|
+
"article",
|
|
14453
|
+
{
|
|
14454
|
+
className: MasonryGrid_default.card,
|
|
14455
|
+
style: {
|
|
14456
|
+
marginBottom: `${safeGap}px`,
|
|
14457
|
+
minHeight: item.height ? `${item.height}px` : void 0
|
|
14458
|
+
},
|
|
14459
|
+
children: [
|
|
14460
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)("h3", { className: MasonryGrid_default.title, children: item.title }),
|
|
14461
|
+
item.body ? /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("p", { className: MasonryGrid_default.body, children: item.body }) : null
|
|
14462
|
+
]
|
|
14463
|
+
},
|
|
14464
|
+
`${item.title}-${index}`
|
|
14465
|
+
))
|
|
14466
|
+
}
|
|
14467
|
+
);
|
|
14468
|
+
}
|
|
14469
|
+
|
|
14470
|
+
// ../../components/JsonViewer/JsonViewer.tsx
|
|
14471
|
+
var import_react48 = require("react");
|
|
14472
|
+
|
|
14473
|
+
// ../../components/JsonViewer/JsonViewer.module.css
|
|
14474
|
+
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"};
|
|
14475
|
+
|
|
14476
|
+
// ../../components/JsonViewer/JsonViewer.tsx
|
|
14477
|
+
var import_jsx_runtime88 = require("react/jsx-runtime");
|
|
14478
|
+
function isPlainObject(value) {
|
|
14479
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
14480
|
+
}
|
|
14481
|
+
function PrimitiveValue({ value }) {
|
|
14482
|
+
if (value === null) {
|
|
14483
|
+
return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("span", { className: JsonViewer_default.null, children: "null" });
|
|
14484
|
+
}
|
|
14485
|
+
if (typeof value === "string") {
|
|
14486
|
+
return /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("span", { className: JsonViewer_default.string, children: [
|
|
14487
|
+
'"',
|
|
14488
|
+
value,
|
|
14489
|
+
'"'
|
|
14490
|
+
] });
|
|
14491
|
+
}
|
|
14492
|
+
if (typeof value === "number") {
|
|
14493
|
+
return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("span", { className: JsonViewer_default.number, children: value });
|
|
14494
|
+
}
|
|
14495
|
+
if (typeof value === "boolean") {
|
|
14496
|
+
return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("span", { className: JsonViewer_default.boolean, children: String(value) });
|
|
14497
|
+
}
|
|
14498
|
+
return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("span", { className: JsonViewer_default.string, children: String(value) });
|
|
14499
|
+
}
|
|
14500
|
+
function JsonNode({ collapsedDepth, depth, name, value }) {
|
|
14501
|
+
const isExpandable = Array.isArray(value) || isPlainObject(value);
|
|
14502
|
+
const [open, setOpen] = (0, import_react48.useState)(depth < collapsedDepth);
|
|
14503
|
+
if (!isExpandable) {
|
|
14504
|
+
return /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("div", { className: JsonViewer_default.line, style: { paddingLeft: `${depth * 14}px` }, children: [
|
|
14505
|
+
name !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("span", { className: JsonViewer_default.key, children: [
|
|
14506
|
+
name,
|
|
14507
|
+
": "
|
|
14508
|
+
] }) : null,
|
|
14509
|
+
/* @__PURE__ */ (0, import_jsx_runtime88.jsx)(PrimitiveValue, { value })
|
|
14510
|
+
] });
|
|
14511
|
+
}
|
|
14512
|
+
const entries = Array.isArray(value) ? value.map((entry, index) => [String(index), entry]) : Object.entries(value);
|
|
14513
|
+
const summary = Array.isArray(value) ? `Array(${value.length})` : `Object(${entries.length})`;
|
|
14514
|
+
return /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("div", { className: JsonViewer_default.block, children: [
|
|
14515
|
+
/* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(
|
|
14516
|
+
"button",
|
|
14517
|
+
{
|
|
14518
|
+
"aria-expanded": open,
|
|
14519
|
+
className: JsonViewer_default.toggleLine,
|
|
14520
|
+
onClick: () => setOpen((current) => !current),
|
|
14521
|
+
style: { paddingLeft: `${depth * 14}px` },
|
|
14522
|
+
type: "button",
|
|
14523
|
+
children: [
|
|
14524
|
+
/* @__PURE__ */ (0, import_jsx_runtime88.jsx)("span", { "aria-hidden": "true", className: JsonViewer_default.chevron, children: open ? "\u25BE" : "\u25B8" }),
|
|
14525
|
+
name !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("span", { className: JsonViewer_default.key, children: [
|
|
14526
|
+
name,
|
|
14527
|
+
": "
|
|
14528
|
+
] }) : null,
|
|
14529
|
+
/* @__PURE__ */ (0, import_jsx_runtime88.jsx)("span", { className: JsonViewer_default.summary, children: summary })
|
|
14530
|
+
]
|
|
14531
|
+
}
|
|
14532
|
+
),
|
|
14533
|
+
open ? /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("div", { className: JsonViewer_default.children, children: entries.map(([childName, childValue]) => /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
|
|
14534
|
+
JsonNode,
|
|
14535
|
+
{
|
|
14536
|
+
collapsedDepth,
|
|
14537
|
+
depth: depth + 1,
|
|
14538
|
+
name: childName,
|
|
14539
|
+
value: childValue
|
|
14540
|
+
},
|
|
14541
|
+
childName
|
|
14542
|
+
)) }) : null
|
|
14543
|
+
] });
|
|
14544
|
+
}
|
|
14545
|
+
function JsonViewer({ collapsedDepth = 1, value }) {
|
|
14546
|
+
const parsed = (0, import_react48.useMemo)(() => value, [value]);
|
|
14547
|
+
return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("div", { className: JsonViewer_default.root, role: "tree", children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(JsonNode, { collapsedDepth: Math.max(0, collapsedDepth), depth: 0, value: parsed }) });
|
|
14548
|
+
}
|
|
14549
|
+
|
|
14550
|
+
// ../../components/Icon/Icon.tsx
|
|
14551
|
+
var import_react_fontawesome11 = require("@fortawesome/react-fontawesome");
|
|
14552
|
+
|
|
14553
|
+
// ../../components/Icon/Icon.module.css
|
|
14554
|
+
var Icon_default = {"icon":"opus_7ASn4M_icon"};
|
|
14555
|
+
|
|
14556
|
+
// ../../components/Icon/Icon.tsx
|
|
14557
|
+
var import_jsx_runtime89 = require("react/jsx-runtime");
|
|
14558
|
+
function Icon({ label, name, size = "md", tone = "default" }) {
|
|
14559
|
+
const option = getFontAwesomeIconOption(name);
|
|
14560
|
+
return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
|
|
14561
|
+
"span",
|
|
14562
|
+
{
|
|
14563
|
+
"aria-hidden": label ? void 0 : true,
|
|
14564
|
+
"aria-label": label,
|
|
14565
|
+
className: Icon_default.icon,
|
|
14566
|
+
"data-size": size,
|
|
14567
|
+
"data-tone": tone,
|
|
14568
|
+
role: label ? "img" : void 0,
|
|
14569
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_react_fontawesome11.FontAwesomeIcon, { icon: option.icon })
|
|
14570
|
+
}
|
|
14571
|
+
);
|
|
14572
|
+
}
|
|
14573
|
+
|
|
14574
|
+
// ../../components/Spinner/Spinner.module.css
|
|
14575
|
+
var Spinner_default = {"spinner":"opus_g5cd4Q_spinner","ring":"opus_g5cd4Q_ring","opus-spinner-rotate":"opus_g5cd4Q_opus-spinner-rotate"};
|
|
14576
|
+
|
|
14577
|
+
// ../../components/Spinner/Spinner.tsx
|
|
14578
|
+
var import_jsx_runtime90 = require("react/jsx-runtime");
|
|
14579
|
+
function Spinner({ label = "Loading", size = "md", tone = "accent" }) {
|
|
14580
|
+
return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
|
|
14581
|
+
"span",
|
|
14582
|
+
{
|
|
14583
|
+
"aria-label": label,
|
|
14584
|
+
className: Spinner_default.spinner,
|
|
14585
|
+
"data-size": size,
|
|
14586
|
+
"data-tone": tone,
|
|
14587
|
+
role: "status",
|
|
14588
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("span", { "aria-hidden": "true", className: Spinner_default.ring })
|
|
14589
|
+
}
|
|
14590
|
+
);
|
|
14591
|
+
}
|
|
14592
|
+
|
|
14593
|
+
// ../../components/Portal/Portal.tsx
|
|
14594
|
+
var import_react49 = require("react");
|
|
14595
|
+
var import_react_dom5 = require("react-dom");
|
|
14596
|
+
var import_jsx_runtime91 = require("react/jsx-runtime");
|
|
14597
|
+
var PortalHostContext = (0, import_react49.createContext)({ container: null });
|
|
14598
|
+
function usePortalHost() {
|
|
14599
|
+
return (0, import_react49.useContext)(PortalHostContext);
|
|
14600
|
+
}
|
|
14601
|
+
function PortalHost({ children, id = "opus-portal-host" }) {
|
|
14602
|
+
const [container, setContainer] = (0, import_react49.useState)(null);
|
|
14603
|
+
(0, import_react49.useEffect)(() => {
|
|
14604
|
+
let host = document.getElementById(id);
|
|
14605
|
+
let created = false;
|
|
14606
|
+
if (!host) {
|
|
14607
|
+
host = document.createElement("div");
|
|
14608
|
+
host.id = id;
|
|
14609
|
+
document.body.appendChild(host);
|
|
14610
|
+
created = true;
|
|
14611
|
+
}
|
|
14612
|
+
setContainer(host);
|
|
14613
|
+
return () => {
|
|
14614
|
+
if (created && (host == null ? void 0 : host.parentNode)) {
|
|
14615
|
+
host.parentNode.removeChild(host);
|
|
14616
|
+
}
|
|
14617
|
+
};
|
|
14618
|
+
}, [id]);
|
|
14619
|
+
const value = (0, import_react49.useMemo)(() => ({ container }), [container]);
|
|
14620
|
+
return /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(PortalHostContext.Provider, { value, children });
|
|
14621
|
+
}
|
|
14622
|
+
function Portal({ children, container, disabled = false }) {
|
|
14623
|
+
var _a2;
|
|
14624
|
+
const host = usePortalHost();
|
|
14625
|
+
const [fallback, setFallback] = (0, import_react49.useState)(null);
|
|
14626
|
+
(0, import_react49.useEffect)(() => {
|
|
14627
|
+
setFallback(document.body);
|
|
14628
|
+
}, []);
|
|
14629
|
+
if (disabled) {
|
|
14630
|
+
return /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_jsx_runtime91.Fragment, { children });
|
|
14631
|
+
}
|
|
14632
|
+
const target = (_a2 = container != null ? container : host.container) != null ? _a2 : fallback;
|
|
14633
|
+
if (!target) {
|
|
14634
|
+
return null;
|
|
14635
|
+
}
|
|
14636
|
+
return (0, import_react_dom5.createPortal)(children, target);
|
|
14637
|
+
}
|
|
14638
|
+
|
|
14639
|
+
// ../../components/VisuallyHidden/VisuallyHidden.module.css
|
|
14640
|
+
var VisuallyHidden_default = {"hidden":"opus_DIv7wy_hidden"};
|
|
14641
|
+
|
|
14642
|
+
// ../../components/VisuallyHidden/VisuallyHidden.tsx
|
|
14643
|
+
var import_jsx_runtime92 = require("react/jsx-runtime");
|
|
14644
|
+
function VisuallyHidden({ as = "span", children }) {
|
|
14645
|
+
const Tag = as;
|
|
14646
|
+
return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Tag, { className: VisuallyHidden_default.hidden, children });
|
|
14647
|
+
}
|
|
14648
|
+
|
|
14649
|
+
// ../../components/FocusTrap/FocusTrap.tsx
|
|
14650
|
+
var import_react50 = require("react");
|
|
14651
|
+
|
|
14652
|
+
// ../../components/FocusTrap/FocusTrap.module.css
|
|
14653
|
+
var FocusTrap_default = {"trap":"opus_fJckCZ_trap"};
|
|
14654
|
+
|
|
14655
|
+
// ../../components/FocusTrap/FocusTrap.tsx
|
|
14656
|
+
var import_jsx_runtime93 = require("react/jsx-runtime");
|
|
14657
|
+
function FocusTrap({
|
|
14658
|
+
active = true,
|
|
14659
|
+
children,
|
|
14660
|
+
initialFocusRef,
|
|
14661
|
+
restoreFocus = true
|
|
14662
|
+
}) {
|
|
14663
|
+
const containerRef = (0, import_react50.useRef)(null);
|
|
14664
|
+
const previouslyFocusedRef = (0, import_react50.useRef)(null);
|
|
14665
|
+
(0, import_react50.useEffect)(() => {
|
|
14666
|
+
if (!active) {
|
|
14667
|
+
return;
|
|
14668
|
+
}
|
|
14669
|
+
previouslyFocusedRef.current = document.activeElement;
|
|
14670
|
+
const frame = window.requestAnimationFrame(() => {
|
|
14671
|
+
var _a2;
|
|
14672
|
+
const preferred = initialFocusRef == null ? void 0 : initialFocusRef.current;
|
|
14673
|
+
if (preferred) {
|
|
14674
|
+
preferred.focus();
|
|
14675
|
+
return;
|
|
14676
|
+
}
|
|
14677
|
+
const container = containerRef.current;
|
|
14678
|
+
if (!container) {
|
|
14679
|
+
return;
|
|
14680
|
+
}
|
|
14681
|
+
(_a2 = getFocusableElements(container)[0]) == null ? void 0 : _a2.focus();
|
|
14682
|
+
});
|
|
14683
|
+
return () => {
|
|
14684
|
+
var _a2, _b2;
|
|
14685
|
+
window.cancelAnimationFrame(frame);
|
|
14686
|
+
if (restoreFocus) {
|
|
14687
|
+
(_b2 = (_a2 = previouslyFocusedRef.current) == null ? void 0 : _a2.focus) == null ? void 0 : _b2.call(_a2);
|
|
14688
|
+
}
|
|
14689
|
+
};
|
|
14690
|
+
}, [active, initialFocusRef, restoreFocus]);
|
|
14691
|
+
(0, import_react50.useEffect)(() => {
|
|
14692
|
+
if (!active) {
|
|
14693
|
+
return;
|
|
14694
|
+
}
|
|
14695
|
+
const onKeyDown = (event) => {
|
|
14696
|
+
if (event.key !== "Tab") {
|
|
14697
|
+
return;
|
|
14698
|
+
}
|
|
14699
|
+
const container = containerRef.current;
|
|
14700
|
+
if (!container) {
|
|
14701
|
+
return;
|
|
14702
|
+
}
|
|
14703
|
+
const focusable = getFocusableElements(container);
|
|
14704
|
+
if (!focusable.length) {
|
|
14705
|
+
event.preventDefault();
|
|
14706
|
+
return;
|
|
14707
|
+
}
|
|
14708
|
+
const first = focusable[0];
|
|
14709
|
+
const last = focusable[focusable.length - 1];
|
|
14710
|
+
const activeElement = document.activeElement;
|
|
14711
|
+
if (event.shiftKey) {
|
|
14712
|
+
if (activeElement === first || !container.contains(activeElement)) {
|
|
14713
|
+
event.preventDefault();
|
|
14714
|
+
last.focus();
|
|
14715
|
+
}
|
|
14716
|
+
return;
|
|
14717
|
+
}
|
|
14718
|
+
if (activeElement === last || !container.contains(activeElement)) {
|
|
14719
|
+
event.preventDefault();
|
|
14720
|
+
first.focus();
|
|
14721
|
+
}
|
|
14722
|
+
};
|
|
14723
|
+
document.addEventListener("keydown", onKeyDown);
|
|
14724
|
+
return () => document.removeEventListener("keydown", onKeyDown);
|
|
14725
|
+
}, [active]);
|
|
14726
|
+
return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)("div", { className: FocusTrap_default.trap, "data-active": active, ref: containerRef, children });
|
|
14727
|
+
}
|
|
14728
|
+
|
|
14729
|
+
// ../../components/KeyboardShortcut/KeyboardShortcut.module.css
|
|
14730
|
+
var KeyboardShortcut_default = {"plus":"opus_pZh5vX_plus","shortcut":"opus_pZh5vX_shortcut","key":"opus_pZh5vX_key"};
|
|
14731
|
+
|
|
14732
|
+
// ../../components/KeyboardShortcut/KeyboardShortcut.tsx
|
|
14733
|
+
var import_jsx_runtime94 = require("react/jsx-runtime");
|
|
14734
|
+
function KeyboardShortcut({ keys, size = "md" }) {
|
|
14735
|
+
return /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("kbd", { "aria-label": keys.join(" + "), className: KeyboardShortcut_default.shortcut, "data-size": size, children: keys.map((key, index) => /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("span", { children: [
|
|
14736
|
+
index > 0 ? /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("span", { "aria-hidden": "true", className: KeyboardShortcut_default.plus, children: "+" }) : null,
|
|
14737
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)("span", { className: KeyboardShortcut_default.key, children: key })
|
|
14738
|
+
] }, `${key}-${index}`)) });
|
|
14739
|
+
}
|
|
14740
|
+
|
|
14741
|
+
// ../../components/HotkeyManager/HotkeyManager.tsx
|
|
14742
|
+
var import_react51 = require("react");
|
|
14743
|
+
var import_jsx_runtime95 = require("react/jsx-runtime");
|
|
14744
|
+
var HotkeyManagerContext = (0, import_react51.createContext)(null);
|
|
14745
|
+
function matchesCombo(event, combo) {
|
|
14746
|
+
const key = event.key.length === 1 ? event.key.toLowerCase() : event.key;
|
|
14747
|
+
const expected = combo.key.length === 1 ? combo.key.toLowerCase() : combo.key;
|
|
14748
|
+
return key === expected && Boolean(combo.meta) === event.metaKey && Boolean(combo.ctrl) === event.ctrlKey && Boolean(combo.alt) === event.altKey && Boolean(combo.shift) === event.shiftKey;
|
|
14749
|
+
}
|
|
14750
|
+
function shortcutsEqual(a, b) {
|
|
14751
|
+
if (a.length !== b.length) {
|
|
14752
|
+
return false;
|
|
14753
|
+
}
|
|
14754
|
+
return a.every((combo, index) => {
|
|
14755
|
+
const other = b[index];
|
|
14756
|
+
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;
|
|
14757
|
+
});
|
|
14758
|
+
}
|
|
14759
|
+
function HotkeyManager({ children, enabled = true }) {
|
|
14760
|
+
const handlersRef = (0, import_react51.useRef)(/* @__PURE__ */ new Map());
|
|
14761
|
+
const [shortcuts, setShortcuts] = (0, import_react51.useState)([]);
|
|
14762
|
+
const syncShortcuts = (0, import_react51.useCallback)(() => {
|
|
14763
|
+
const next = Array.from(handlersRef.current.values()).map((entry) => entry.combo);
|
|
14764
|
+
setShortcuts((current) => shortcutsEqual(current, next) ? current : next);
|
|
14765
|
+
}, []);
|
|
14766
|
+
const register = (0, import_react51.useCallback)(
|
|
14767
|
+
(combo, handler) => {
|
|
14768
|
+
handlersRef.current.set(combo.id, { combo, handler });
|
|
14769
|
+
syncShortcuts();
|
|
14770
|
+
return () => {
|
|
14771
|
+
handlersRef.current.delete(combo.id);
|
|
14772
|
+
syncShortcuts();
|
|
14773
|
+
};
|
|
14774
|
+
},
|
|
14775
|
+
[syncShortcuts]
|
|
14776
|
+
);
|
|
14777
|
+
(0, import_react51.useEffect)(() => {
|
|
14778
|
+
if (!enabled) {
|
|
14779
|
+
return;
|
|
14780
|
+
}
|
|
14781
|
+
const onKeyDown = (event) => {
|
|
14782
|
+
var _a2;
|
|
14783
|
+
const target = event.target;
|
|
14784
|
+
const tag = (_a2 = target == null ? void 0 : target.tagName) == null ? void 0 : _a2.toLowerCase();
|
|
14785
|
+
if (tag === "input" || tag === "textarea" || (target == null ? void 0 : target.isContentEditable)) {
|
|
14786
|
+
return;
|
|
14787
|
+
}
|
|
14788
|
+
for (const entry of handlersRef.current.values()) {
|
|
14789
|
+
if (entry.combo.enabled === false) {
|
|
14790
|
+
continue;
|
|
14791
|
+
}
|
|
14792
|
+
if (matchesCombo(event, entry.combo)) {
|
|
14793
|
+
event.preventDefault();
|
|
14794
|
+
entry.handler();
|
|
14795
|
+
break;
|
|
14796
|
+
}
|
|
14797
|
+
}
|
|
14798
|
+
};
|
|
14799
|
+
window.addEventListener("keydown", onKeyDown);
|
|
14800
|
+
return () => window.removeEventListener("keydown", onKeyDown);
|
|
14801
|
+
}, [enabled]);
|
|
14802
|
+
const value = (0, import_react51.useMemo)(() => ({ register, shortcuts }), [register, shortcuts]);
|
|
14803
|
+
return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(HotkeyManagerContext.Provider, { value, children });
|
|
14804
|
+
}
|
|
14805
|
+
function useHotkey(combo, handler) {
|
|
14806
|
+
const context = (0, import_react51.useContext)(HotkeyManagerContext);
|
|
14807
|
+
const register = context == null ? void 0 : context.register;
|
|
14808
|
+
const handlerRef = (0, import_react51.useRef)(handler);
|
|
14809
|
+
handlerRef.current = handler;
|
|
14810
|
+
const { alt, ctrl, description, enabled, id, key, meta, shift } = combo;
|
|
14811
|
+
(0, import_react51.useEffect)(() => {
|
|
14812
|
+
if (!register) {
|
|
14813
|
+
return;
|
|
14814
|
+
}
|
|
14815
|
+
return register(
|
|
14816
|
+
{ alt, ctrl, description, enabled, id, key, meta, shift },
|
|
14817
|
+
() => {
|
|
14818
|
+
handlerRef.current();
|
|
14819
|
+
}
|
|
14820
|
+
);
|
|
14821
|
+
}, [alt, ctrl, description, enabled, id, key, meta, register, shift]);
|
|
14822
|
+
}
|
|
14823
|
+
function useHotkeyManager() {
|
|
14824
|
+
const context = (0, import_react51.useContext)(HotkeyManagerContext);
|
|
14825
|
+
if (!context) {
|
|
14826
|
+
throw new Error("useHotkeyManager must be used within HotkeyManager");
|
|
14827
|
+
}
|
|
14828
|
+
return context;
|
|
14829
|
+
}
|
|
14830
|
+
|
|
14831
|
+
// ../../components/CopyButton/CopyButton.tsx
|
|
14832
|
+
var import_react52 = require("react");
|
|
14833
|
+
|
|
14834
|
+
// ../../components/CopyButton/CopyButton.module.css
|
|
14835
|
+
var CopyButton_default = {"wrap":"opus_Ij6tWr_wrap"};
|
|
14836
|
+
|
|
14837
|
+
// ../../components/CopyButton/CopyButton.tsx
|
|
14838
|
+
var import_jsx_runtime96 = require("react/jsx-runtime");
|
|
14839
|
+
async function writeClipboard(value) {
|
|
14840
|
+
var _a2;
|
|
14841
|
+
if ((_a2 = navigator.clipboard) == null ? void 0 : _a2.writeText) {
|
|
14842
|
+
await navigator.clipboard.writeText(value);
|
|
14843
|
+
return;
|
|
14844
|
+
}
|
|
14845
|
+
const textarea = document.createElement("textarea");
|
|
14846
|
+
textarea.value = value;
|
|
14847
|
+
textarea.setAttribute("readonly", "");
|
|
14848
|
+
textarea.style.position = "fixed";
|
|
14849
|
+
textarea.style.left = "-9999px";
|
|
14850
|
+
document.body.appendChild(textarea);
|
|
14851
|
+
textarea.select();
|
|
14852
|
+
document.execCommand("copy");
|
|
14853
|
+
document.body.removeChild(textarea);
|
|
14854
|
+
}
|
|
14855
|
+
function CopyButton({
|
|
14856
|
+
children,
|
|
14857
|
+
copiedLabel = "Copied",
|
|
14858
|
+
label = "Copy",
|
|
14859
|
+
resetMs = 1600,
|
|
14860
|
+
value,
|
|
14861
|
+
variant = "secondary",
|
|
14862
|
+
onCopied
|
|
14863
|
+
}) {
|
|
14864
|
+
const [copied, setCopied] = (0, import_react52.useState)(false);
|
|
14865
|
+
(0, import_react52.useEffect)(() => {
|
|
14866
|
+
if (!copied) {
|
|
14867
|
+
return;
|
|
14868
|
+
}
|
|
14869
|
+
const timer = window.setTimeout(() => setCopied(false), resetMs);
|
|
14870
|
+
return () => window.clearTimeout(timer);
|
|
14871
|
+
}, [copied, resetMs]);
|
|
14872
|
+
const handleCopy = (0, import_react52.useCallback)(async () => {
|
|
14873
|
+
try {
|
|
14874
|
+
await writeClipboard(value);
|
|
14875
|
+
setCopied(true);
|
|
14876
|
+
onCopied == null ? void 0 : onCopied();
|
|
14877
|
+
} catch (e) {
|
|
14878
|
+
setCopied(false);
|
|
14879
|
+
}
|
|
14880
|
+
}, [onCopied, value]);
|
|
14881
|
+
return /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("span", { className: CopyButton_default.wrap, children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(Button, { onClick: handleCopy, type: "button", variant, children: children != null ? children : copied ? copiedLabel : label }) });
|
|
14882
|
+
}
|
|
14883
|
+
|
|
14884
|
+
// ../../components/Clipboard/Clipboard.tsx
|
|
14885
|
+
var import_react53 = require("react");
|
|
14886
|
+
var import_jsx_runtime97 = require("react/jsx-runtime");
|
|
14887
|
+
var ClipboardContext = (0, import_react53.createContext)(null);
|
|
14888
|
+
async function fallbackWrite(value) {
|
|
14889
|
+
const textarea = document.createElement("textarea");
|
|
14890
|
+
textarea.value = value;
|
|
14891
|
+
textarea.setAttribute("readonly", "");
|
|
14892
|
+
textarea.style.position = "fixed";
|
|
14893
|
+
textarea.style.left = "-9999px";
|
|
14894
|
+
document.body.appendChild(textarea);
|
|
14895
|
+
textarea.select();
|
|
14896
|
+
document.execCommand("copy");
|
|
14897
|
+
document.body.removeChild(textarea);
|
|
14898
|
+
}
|
|
14899
|
+
function ClipboardProvider({ children }) {
|
|
14900
|
+
const [lastCopied, setLastCopied] = (0, import_react53.useState)(null);
|
|
14901
|
+
const writeText = (0, import_react53.useCallback)(async (value2) => {
|
|
14902
|
+
var _a2;
|
|
14903
|
+
if ((_a2 = navigator.clipboard) == null ? void 0 : _a2.writeText) {
|
|
14904
|
+
await navigator.clipboard.writeText(value2);
|
|
14905
|
+
} else {
|
|
14906
|
+
await fallbackWrite(value2);
|
|
14907
|
+
}
|
|
14908
|
+
setLastCopied(value2);
|
|
14909
|
+
}, []);
|
|
14910
|
+
const readText = (0, import_react53.useCallback)(async () => {
|
|
14911
|
+
var _a2;
|
|
14912
|
+
if ((_a2 = navigator.clipboard) == null ? void 0 : _a2.readText) {
|
|
14913
|
+
return navigator.clipboard.readText();
|
|
14914
|
+
}
|
|
14915
|
+
return lastCopied != null ? lastCopied : "";
|
|
14916
|
+
}, [lastCopied]);
|
|
14917
|
+
const value = (0, import_react53.useMemo)(
|
|
14918
|
+
() => ({ lastCopied, readText, writeText }),
|
|
14919
|
+
[lastCopied, readText, writeText]
|
|
14920
|
+
);
|
|
14921
|
+
return /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(ClipboardContext.Provider, { value, children });
|
|
14922
|
+
}
|
|
14923
|
+
function useClipboard() {
|
|
14924
|
+
const context = (0, import_react53.useContext)(ClipboardContext);
|
|
14925
|
+
if (!context) {
|
|
14926
|
+
throw new Error("useClipboard must be used within ClipboardProvider");
|
|
14927
|
+
}
|
|
14928
|
+
return context;
|
|
14929
|
+
}
|
|
14930
|
+
function Clipboard({ children }) {
|
|
14931
|
+
return /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(ClipboardProvider, { children });
|
|
14932
|
+
}
|
|
14933
|
+
|
|
14934
|
+
// ../../components/ThemeSwitcher/ThemeSwitcher.tsx
|
|
14935
|
+
var import_jsx_runtime98 = require("react/jsx-runtime");
|
|
14936
|
+
function ThemeSwitcher({
|
|
14937
|
+
id = "opus-theme-switcher",
|
|
14938
|
+
label = "Theme",
|
|
14939
|
+
value,
|
|
14940
|
+
onChange
|
|
14941
|
+
}) {
|
|
14942
|
+
return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
|
|
14943
|
+
ThemeToggleField,
|
|
14944
|
+
{
|
|
14945
|
+
id,
|
|
14946
|
+
label,
|
|
14947
|
+
mode: "flagged",
|
|
14948
|
+
value,
|
|
14949
|
+
onChange
|
|
14950
|
+
}
|
|
14951
|
+
);
|
|
14952
|
+
}
|
|
14953
|
+
|
|
14954
|
+
// ../../components/ResizeObserver/ResizeObserver.tsx
|
|
14955
|
+
var import_react54 = require("react");
|
|
14956
|
+
var import_jsx_runtime99 = require("react/jsx-runtime");
|
|
14957
|
+
function ResizeObserver2({ children, className, onResize }) {
|
|
14958
|
+
const ref = (0, import_react54.useRef)(null);
|
|
14959
|
+
const [size, setSize] = (0, import_react54.useState)({ width: 0, height: 0 });
|
|
14960
|
+
(0, import_react54.useEffect)(() => {
|
|
14961
|
+
const node = ref.current;
|
|
14962
|
+
if (!node || typeof window.ResizeObserver === "undefined") {
|
|
14963
|
+
return;
|
|
14964
|
+
}
|
|
14965
|
+
const observer = new window.ResizeObserver((entries) => {
|
|
14966
|
+
const entry = entries[0];
|
|
14967
|
+
if (!entry) {
|
|
14968
|
+
return;
|
|
14969
|
+
}
|
|
14970
|
+
const next = {
|
|
14971
|
+
width: Math.round(entry.contentRect.width),
|
|
14972
|
+
height: Math.round(entry.contentRect.height)
|
|
14973
|
+
};
|
|
14974
|
+
setSize(next);
|
|
14975
|
+
onResize == null ? void 0 : onResize(next);
|
|
14976
|
+
});
|
|
14977
|
+
observer.observe(node);
|
|
14978
|
+
return () => observer.disconnect();
|
|
14979
|
+
}, [onResize]);
|
|
14980
|
+
return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className, ref, children: children(size) });
|
|
14981
|
+
}
|
|
14982
|
+
function useResizeObserver(targetRef) {
|
|
14983
|
+
const [size, setSize] = (0, import_react54.useState)({ width: 0, height: 0 });
|
|
14984
|
+
(0, import_react54.useEffect)(() => {
|
|
14985
|
+
const node = targetRef.current;
|
|
14986
|
+
if (!node || typeof window.ResizeObserver === "undefined") {
|
|
14987
|
+
return;
|
|
14988
|
+
}
|
|
14989
|
+
const observer = new window.ResizeObserver((entries) => {
|
|
14990
|
+
const entry = entries[0];
|
|
14991
|
+
if (!entry) {
|
|
14992
|
+
return;
|
|
14993
|
+
}
|
|
14994
|
+
setSize({
|
|
14995
|
+
width: Math.round(entry.contentRect.width),
|
|
14996
|
+
height: Math.round(entry.contentRect.height)
|
|
14997
|
+
});
|
|
14998
|
+
});
|
|
14999
|
+
observer.observe(node);
|
|
15000
|
+
return () => observer.disconnect();
|
|
15001
|
+
}, [targetRef]);
|
|
15002
|
+
return size;
|
|
15003
|
+
}
|
|
15004
|
+
|
|
15005
|
+
// ../../components/IntersectionObserver/IntersectionObserver.tsx
|
|
15006
|
+
var import_react55 = require("react");
|
|
15007
|
+
var import_jsx_runtime100 = require("react/jsx-runtime");
|
|
15008
|
+
function IntersectionObserver2({
|
|
15009
|
+
children,
|
|
15010
|
+
className,
|
|
15011
|
+
rootMargin = "0px",
|
|
15012
|
+
threshold = 0.25,
|
|
15013
|
+
onChange
|
|
15014
|
+
}) {
|
|
15015
|
+
const ref = (0, import_react55.useRef)(null);
|
|
15016
|
+
const [isIntersecting, setIsIntersecting] = (0, import_react55.useState)(false);
|
|
15017
|
+
(0, import_react55.useEffect)(() => {
|
|
15018
|
+
const node = ref.current;
|
|
15019
|
+
if (!node || typeof window.IntersectionObserver === "undefined") {
|
|
15020
|
+
return;
|
|
15021
|
+
}
|
|
15022
|
+
const observer = new window.IntersectionObserver(
|
|
15023
|
+
(entries) => {
|
|
15024
|
+
const entry = entries[0];
|
|
15025
|
+
if (!entry) {
|
|
15026
|
+
return;
|
|
15027
|
+
}
|
|
15028
|
+
setIsIntersecting(entry.isIntersecting);
|
|
15029
|
+
onChange == null ? void 0 : onChange(entry.isIntersecting);
|
|
15030
|
+
},
|
|
15031
|
+
{ rootMargin, threshold }
|
|
15032
|
+
);
|
|
15033
|
+
observer.observe(node);
|
|
15034
|
+
return () => observer.disconnect();
|
|
15035
|
+
}, [onChange, rootMargin, threshold]);
|
|
15036
|
+
return /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className, ref, children: children(isIntersecting) });
|
|
15037
|
+
}
|
|
15038
|
+
function useIntersectionObserver(targetRef, options = {}) {
|
|
15039
|
+
const { rootMargin = "0px", threshold = 0.25 } = options;
|
|
15040
|
+
const [isIntersecting, setIsIntersecting] = (0, import_react55.useState)(false);
|
|
15041
|
+
(0, import_react55.useEffect)(() => {
|
|
15042
|
+
const node = targetRef.current;
|
|
15043
|
+
if (!node || typeof window.IntersectionObserver === "undefined") {
|
|
15044
|
+
return;
|
|
15045
|
+
}
|
|
15046
|
+
const observer = new window.IntersectionObserver(
|
|
15047
|
+
(entries) => {
|
|
15048
|
+
const entry = entries[0];
|
|
15049
|
+
if (!entry) {
|
|
15050
|
+
return;
|
|
15051
|
+
}
|
|
15052
|
+
setIsIntersecting(entry.isIntersecting);
|
|
15053
|
+
},
|
|
15054
|
+
{ rootMargin, threshold }
|
|
15055
|
+
);
|
|
15056
|
+
observer.observe(node);
|
|
15057
|
+
return () => observer.disconnect();
|
|
15058
|
+
}, [rootMargin, targetRef, threshold]);
|
|
15059
|
+
return isIntersecting;
|
|
15060
|
+
}
|
|
15061
|
+
|
|
15062
|
+
// ../../components/Sidebar/Sidebar.tsx
|
|
15063
|
+
var import_react56 = require("react");
|
|
15064
|
+
|
|
15065
|
+
// ../../components/Sidebar/Sidebar.module.css
|
|
15066
|
+
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"};
|
|
15067
|
+
|
|
15068
|
+
// ../../components/Sidebar/Sidebar.tsx
|
|
15069
|
+
var import_jsx_runtime101 = require("react/jsx-runtime");
|
|
15070
|
+
var SidebarContext = (0, import_react56.createContext)({
|
|
15071
|
+
collapsed: false,
|
|
15072
|
+
density: "comfortable"
|
|
15073
|
+
});
|
|
15074
|
+
function Sidebar({
|
|
15075
|
+
children,
|
|
15076
|
+
collapsed = false,
|
|
15077
|
+
density = "comfortable",
|
|
15078
|
+
footer,
|
|
15079
|
+
header,
|
|
15080
|
+
side = "left"
|
|
15081
|
+
}) {
|
|
15082
|
+
return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(SidebarContext.Provider, { value: { collapsed, density }, children: /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(
|
|
15083
|
+
"aside",
|
|
15084
|
+
{
|
|
15085
|
+
"aria-label": "Sidebar",
|
|
15086
|
+
className: Sidebar_default.sidebar,
|
|
15087
|
+
"data-collapsed": collapsed ? "true" : "false",
|
|
15088
|
+
"data-density": density,
|
|
15089
|
+
"data-side": side,
|
|
15090
|
+
children: [
|
|
15091
|
+
header ? /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: Sidebar_default.header, children: header }) : null,
|
|
15092
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: Sidebar_default.body, children }),
|
|
15093
|
+
footer ? /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: Sidebar_default.footer, children: footer }) : null
|
|
15094
|
+
]
|
|
15095
|
+
}
|
|
15096
|
+
) });
|
|
15097
|
+
}
|
|
15098
|
+
function SidebarHeader({ children, title }) {
|
|
15099
|
+
const { collapsed } = (0, import_react56.useContext)(SidebarContext);
|
|
15100
|
+
return /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { className: Sidebar_default.headerInner, children: [
|
|
15101
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsx)("h2", { className: collapsed ? Sidebar_default.visuallyHidden : Sidebar_default.headerTitle, children: title }),
|
|
15102
|
+
children
|
|
15103
|
+
] });
|
|
15104
|
+
}
|
|
15105
|
+
function SidebarNav({ "aria-label": ariaLabel, children }) {
|
|
15106
|
+
return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("nav", { "aria-label": ariaLabel, className: Sidebar_default.nav, children });
|
|
15107
|
+
}
|
|
15108
|
+
function SidebarLink({ active = false, children, href, onClick }) {
|
|
15109
|
+
const { collapsed } = (0, import_react56.useContext)(SidebarContext);
|
|
15110
|
+
const className = [Sidebar_default.link, active ? Sidebar_default.linkActive : ""].filter(Boolean).join(" ");
|
|
15111
|
+
const label = typeof children === "string" ? children : null;
|
|
15112
|
+
const content = /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(import_jsx_runtime101.Fragment, { children: [
|
|
15113
|
+
collapsed && label ? /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("span", { "aria-hidden": "true", children: label.charAt(0) }) : null,
|
|
15114
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsx)("span", { className: collapsed ? Sidebar_default.visuallyHidden : void 0, children })
|
|
15115
|
+
] });
|
|
15116
|
+
if (href) {
|
|
15117
|
+
return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("a", { "aria-current": active ? "page" : void 0, className, href, children: content });
|
|
15118
|
+
}
|
|
15119
|
+
return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
|
|
15120
|
+
"button",
|
|
15121
|
+
{
|
|
15122
|
+
"aria-current": active ? "page" : void 0,
|
|
15123
|
+
className,
|
|
13260
15124
|
onClick,
|
|
13261
15125
|
type: "button",
|
|
13262
15126
|
children: content
|
|
@@ -13271,16 +15135,16 @@ function createGroupListId(label, id) {
|
|
|
13271
15135
|
return slug ? `sidebar-group-${slug}` : "sidebar-group";
|
|
13272
15136
|
}
|
|
13273
15137
|
function SidebarGroup({ children, defaultOpen = true, id, label }) {
|
|
13274
|
-
const { collapsed } = (0,
|
|
15138
|
+
const { collapsed } = (0, import_react56.useContext)(SidebarContext);
|
|
13275
15139
|
const listId = createGroupListId(label, id);
|
|
13276
|
-
const [open, setOpen] = (0,
|
|
15140
|
+
const [open, setOpen] = (0, import_react56.useState)(defaultOpen);
|
|
13277
15141
|
if (collapsed) {
|
|
13278
|
-
return /* @__PURE__ */ (0,
|
|
15142
|
+
return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { "aria-label": label, className: Sidebar_default.group, role: "group", children });
|
|
13279
15143
|
}
|
|
13280
|
-
return /* @__PURE__ */ (0,
|
|
13281
|
-
/* @__PURE__ */ (0,
|
|
13282
|
-
/* @__PURE__ */ (0,
|
|
13283
|
-
/* @__PURE__ */ (0,
|
|
15144
|
+
return /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { "aria-label": label, className: Sidebar_default.group, role: "group", children: [
|
|
15145
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { className: Sidebar_default.groupHeader, children: [
|
|
15146
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsx)("span", { className: Sidebar_default.groupLabel, children: label }),
|
|
15147
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
|
|
13284
15148
|
"button",
|
|
13285
15149
|
{
|
|
13286
15150
|
"aria-controls": listId,
|
|
@@ -13289,29 +15153,29 @@ function SidebarGroup({ children, defaultOpen = true, id, label }) {
|
|
|
13289
15153
|
className: Sidebar_default.groupToggle,
|
|
13290
15154
|
onClick: () => setOpen((current) => !current),
|
|
13291
15155
|
type: "button",
|
|
13292
|
-
children: /* @__PURE__ */ (0,
|
|
15156
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("span", { "aria-hidden": "true", className: open ? Sidebar_default.groupChevronOpen : Sidebar_default.groupChevron })
|
|
13293
15157
|
}
|
|
13294
15158
|
)
|
|
13295
15159
|
] }),
|
|
13296
|
-
/* @__PURE__ */ (0,
|
|
15160
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: Sidebar_default.groupItemsWrap, "data-open": open ? "true" : "false", children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: Sidebar_default.groupItems, id: listId, inert: !open || void 0, children }) })
|
|
13297
15161
|
] });
|
|
13298
15162
|
}
|
|
13299
15163
|
function SidebarLayout({ children, collapsed = false, main, side = "left" }) {
|
|
13300
|
-
return /* @__PURE__ */ (0,
|
|
15164
|
+
return /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { className: Sidebar_default.layout, "data-collapsed": collapsed ? "true" : "false", "data-side": side, children: [
|
|
13301
15165
|
side === "left" ? children : null,
|
|
13302
|
-
/* @__PURE__ */ (0,
|
|
15166
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: Sidebar_default.main, children: main }),
|
|
13303
15167
|
side === "right" ? children : null
|
|
13304
15168
|
] });
|
|
13305
15169
|
}
|
|
13306
15170
|
|
|
13307
15171
|
// ../../components/AccentColorPicker/AccentColorPicker.tsx
|
|
13308
|
-
var
|
|
15172
|
+
var import_react57 = require("react");
|
|
13309
15173
|
|
|
13310
15174
|
// ../../components/AccentColorPicker/AccentColorPicker.module.css
|
|
13311
|
-
var AccentColorPicker_default = {"
|
|
15175
|
+
var AccentColorPicker_default = {"swatches":"opus_scMnrW_swatches","swatch":"opus_scMnrW_swatch"};
|
|
13312
15176
|
|
|
13313
15177
|
// ../../components/AccentColorPicker/AccentColorPicker.tsx
|
|
13314
|
-
var
|
|
15178
|
+
var import_jsx_runtime102 = require("react/jsx-runtime");
|
|
13315
15179
|
var ACCENT_STORAGE_KEY = "opus-components-accent";
|
|
13316
15180
|
var DEFAULT_ACCENT_COLOR = "#8f6cff";
|
|
13317
15181
|
var accentColors = [
|
|
@@ -13345,8 +15209,8 @@ function applyDocumentAccent(accent) {
|
|
|
13345
15209
|
);
|
|
13346
15210
|
}
|
|
13347
15211
|
function useAccentPreference() {
|
|
13348
|
-
const [accent, setAccentState] = (0,
|
|
13349
|
-
(0,
|
|
15212
|
+
const [accent, setAccentState] = (0, import_react57.useState)(DEFAULT_ACCENT_COLOR);
|
|
15213
|
+
(0, import_react57.useEffect)(() => {
|
|
13350
15214
|
const timeout = window.setTimeout(() => {
|
|
13351
15215
|
const stored = window.localStorage.getItem(ACCENT_STORAGE_KEY);
|
|
13352
15216
|
if (isAccentColor(stored)) {
|
|
@@ -13358,7 +15222,7 @@ function useAccentPreference() {
|
|
|
13358
15222
|
}, 0);
|
|
13359
15223
|
return () => window.clearTimeout(timeout);
|
|
13360
15224
|
}, []);
|
|
13361
|
-
const setAccent = (0,
|
|
15225
|
+
const setAccent = (0, import_react57.useCallback)((next) => {
|
|
13362
15226
|
if (!isAccentColor(next)) {
|
|
13363
15227
|
return;
|
|
13364
15228
|
}
|
|
@@ -13366,10 +15230,11 @@ function useAccentPreference() {
|
|
|
13366
15230
|
applyDocumentAccent(next);
|
|
13367
15231
|
window.localStorage.setItem(ACCENT_STORAGE_KEY, next);
|
|
13368
15232
|
}, []);
|
|
13369
|
-
const accentStyle = (0,
|
|
15233
|
+
const accentStyle = (0, import_react57.useMemo)(() => createAccentStyle(accent), [accent]);
|
|
13370
15234
|
return { accent, accentStyle, setAccent };
|
|
13371
15235
|
}
|
|
13372
15236
|
function AccentColorPicker({
|
|
15237
|
+
help,
|
|
13373
15238
|
id,
|
|
13374
15239
|
label = "Accent",
|
|
13375
15240
|
labelPosition = "left",
|
|
@@ -13377,19 +15242,20 @@ function AccentColorPicker({
|
|
|
13377
15242
|
onChange,
|
|
13378
15243
|
value
|
|
13379
15244
|
}) {
|
|
13380
|
-
return /* @__PURE__ */ (0,
|
|
15245
|
+
return /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
|
|
13381
15246
|
FieldShell,
|
|
13382
15247
|
{
|
|
13383
15248
|
fitContent: true,
|
|
13384
15249
|
flaggedAlign: "center",
|
|
15250
|
+
help,
|
|
13385
15251
|
id,
|
|
13386
15252
|
label,
|
|
13387
15253
|
labelPosition,
|
|
13388
15254
|
labelTag: "div",
|
|
13389
15255
|
mode,
|
|
13390
|
-
children: /* @__PURE__ */ (0,
|
|
15256
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("div", { "aria-labelledby": `${id}-label`, className: AccentColorPicker_default.swatches, role: "radiogroup", children: accentColors.map((option) => {
|
|
13391
15257
|
const selected = value === option.value;
|
|
13392
|
-
return /* @__PURE__ */ (0,
|
|
15258
|
+
return /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
|
|
13393
15259
|
"button",
|
|
13394
15260
|
{
|
|
13395
15261
|
"aria-checked": selected,
|
|
@@ -13410,15 +15276,16 @@ function AccentColorPicker({
|
|
|
13410
15276
|
}
|
|
13411
15277
|
|
|
13412
15278
|
// ../../components/IconPicker/IconPicker.tsx
|
|
13413
|
-
var
|
|
13414
|
-
var
|
|
15279
|
+
var import_react58 = require("react");
|
|
15280
|
+
var import_react_fontawesome12 = require("@fortawesome/react-fontawesome");
|
|
13415
15281
|
|
|
13416
15282
|
// ../../components/IconPicker/IconPicker.module.css
|
|
13417
|
-
var IconPicker_default = {"
|
|
15283
|
+
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"};
|
|
13418
15284
|
|
|
13419
15285
|
// ../../components/IconPicker/IconPicker.tsx
|
|
13420
|
-
var
|
|
15286
|
+
var import_jsx_runtime103 = require("react/jsx-runtime");
|
|
13421
15287
|
function IconPicker({
|
|
15288
|
+
help,
|
|
13422
15289
|
id,
|
|
13423
15290
|
label = "Icon",
|
|
13424
15291
|
labelPosition = "left",
|
|
@@ -13427,14 +15294,14 @@ function IconPicker({
|
|
|
13427
15294
|
searchPlaceholder = "Search icons",
|
|
13428
15295
|
value
|
|
13429
15296
|
}) {
|
|
13430
|
-
const [open, setOpen] = (0,
|
|
13431
|
-
const [query, setQuery] = (0,
|
|
13432
|
-
const rootRef = (0,
|
|
13433
|
-
const searchRef = (0,
|
|
13434
|
-
const listboxId = (0,
|
|
15297
|
+
const [open, setOpen] = (0, import_react58.useState)(false);
|
|
15298
|
+
const [query, setQuery] = (0, import_react58.useState)("");
|
|
15299
|
+
const rootRef = (0, import_react58.useRef)(null);
|
|
15300
|
+
const searchRef = (0, import_react58.useRef)(null);
|
|
15301
|
+
const listboxId = (0, import_react58.useId)();
|
|
13435
15302
|
const selected = getFontAwesomeIconOption(value);
|
|
13436
|
-
const filteredIcons = (0,
|
|
13437
|
-
(0,
|
|
15303
|
+
const filteredIcons = (0, import_react58.useMemo)(() => filterFontAwesomeIcons(query), [query]);
|
|
15304
|
+
(0, import_react58.useEffect)(() => {
|
|
13438
15305
|
if (!open) {
|
|
13439
15306
|
return;
|
|
13440
15307
|
}
|
|
@@ -13461,8 +15328,8 @@ function IconPicker({
|
|
|
13461
15328
|
document.removeEventListener("keydown", handleKeyDown);
|
|
13462
15329
|
};
|
|
13463
15330
|
}, [open]);
|
|
13464
|
-
return /* @__PURE__ */ (0,
|
|
13465
|
-
/* @__PURE__ */ (0,
|
|
15331
|
+
return /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(FieldShell, { help, id, label, labelPosition, mode, children: /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)("div", { className: IconPicker_default.root, ref: rootRef, children: [
|
|
15332
|
+
/* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(
|
|
13466
15333
|
"button",
|
|
13467
15334
|
{
|
|
13468
15335
|
"aria-controls": open ? listboxId : void 0,
|
|
@@ -13473,14 +15340,14 @@ function IconPicker({
|
|
|
13473
15340
|
type: "button",
|
|
13474
15341
|
onClick: () => setOpen((current) => !current),
|
|
13475
15342
|
children: [
|
|
13476
|
-
/* @__PURE__ */ (0,
|
|
13477
|
-
/* @__PURE__ */ (0,
|
|
15343
|
+
/* @__PURE__ */ (0, import_jsx_runtime103.jsx)("span", { "aria-hidden": "true", className: IconPicker_default.triggerIcon, children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_react_fontawesome12.FontAwesomeIcon, { icon: selected.icon }) }),
|
|
15344
|
+
/* @__PURE__ */ (0, import_jsx_runtime103.jsx)("span", { className: IconPicker_default.triggerLabel, children: selected.label })
|
|
13478
15345
|
]
|
|
13479
15346
|
}
|
|
13480
15347
|
),
|
|
13481
|
-
/* @__PURE__ */ (0,
|
|
13482
|
-
open ? /* @__PURE__ */ (0,
|
|
13483
|
-
/* @__PURE__ */ (0,
|
|
15348
|
+
/* @__PURE__ */ (0, import_jsx_runtime103.jsx)("span", { "aria-hidden": "true", className: IconPicker_default.chevron }),
|
|
15349
|
+
open ? /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)("div", { className: IconPicker_default.menu, children: [
|
|
15350
|
+
/* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
|
|
13484
15351
|
"input",
|
|
13485
15352
|
{
|
|
13486
15353
|
"aria-label": searchPlaceholder,
|
|
@@ -13492,7 +15359,7 @@ function IconPicker({
|
|
|
13492
15359
|
onChange: (event) => setQuery(event.target.value)
|
|
13493
15360
|
}
|
|
13494
15361
|
),
|
|
13495
|
-
/* @__PURE__ */ (0,
|
|
15362
|
+
/* @__PURE__ */ (0, import_jsx_runtime103.jsx)("div", { className: IconPicker_default.grid, id: listboxId, role: "listbox", children: filteredIcons.length ? filteredIcons.map((entry) => /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
|
|
13496
15363
|
"button",
|
|
13497
15364
|
{
|
|
13498
15365
|
"aria-label": entry.label,
|
|
@@ -13507,10 +15374,10 @@ function IconPicker({
|
|
|
13507
15374
|
setOpen(false);
|
|
13508
15375
|
setQuery("");
|
|
13509
15376
|
},
|
|
13510
|
-
children: /* @__PURE__ */ (0,
|
|
15377
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)("span", { "aria-hidden": "true", className: IconPicker_default.optionIcon, children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_react_fontawesome12.FontAwesomeIcon, { icon: entry.icon }) })
|
|
13511
15378
|
},
|
|
13512
15379
|
entry.iconName
|
|
13513
|
-
)) : /* @__PURE__ */ (0,
|
|
15380
|
+
)) : /* @__PURE__ */ (0, import_jsx_runtime103.jsx)("p", { className: IconPicker_default.empty, children: "No icons match your search." }) })
|
|
13514
15381
|
] }) : null
|
|
13515
15382
|
] }) });
|
|
13516
15383
|
}
|
|
@@ -13520,6 +15387,9 @@ function IconPicker({
|
|
|
13520
15387
|
Accordion,
|
|
13521
15388
|
AccordionGroup,
|
|
13522
15389
|
Alert,
|
|
15390
|
+
Avatar,
|
|
15391
|
+
AvatarGroup,
|
|
15392
|
+
Badge,
|
|
13523
15393
|
Button,
|
|
13524
15394
|
Card,
|
|
13525
15395
|
Carousel,
|
|
@@ -13529,15 +15399,21 @@ function IconPicker({
|
|
|
13529
15399
|
CheckboxField,
|
|
13530
15400
|
ChipInput,
|
|
13531
15401
|
ChipInputField,
|
|
15402
|
+
Clipboard,
|
|
15403
|
+
ClipboardProvider,
|
|
13532
15404
|
ColorField,
|
|
13533
15405
|
CommandPalette,
|
|
15406
|
+
ContentTimeline,
|
|
13534
15407
|
ContextMenuProvider,
|
|
13535
15408
|
ContextMenuTarget,
|
|
15409
|
+
CopyButton,
|
|
13536
15410
|
CountryPickerField,
|
|
13537
15411
|
DEFAULT_TOAST_DURATION_MS,
|
|
13538
15412
|
DataGrid,
|
|
13539
15413
|
DateField,
|
|
15414
|
+
DescriptionList,
|
|
13540
15415
|
Dialog,
|
|
15416
|
+
Divider,
|
|
13541
15417
|
Drawer,
|
|
13542
15418
|
DrawerDefaultActions,
|
|
13543
15419
|
DropdownMenu,
|
|
@@ -13546,12 +15422,20 @@ function IconPicker({
|
|
|
13546
15422
|
FieldShell,
|
|
13547
15423
|
FileField,
|
|
13548
15424
|
FilterSelectField,
|
|
15425
|
+
FocusTrap,
|
|
13549
15426
|
Gauge,
|
|
13550
15427
|
HiddenField,
|
|
15428
|
+
HotkeyManager,
|
|
15429
|
+
Icon,
|
|
13551
15430
|
IconPicker,
|
|
13552
15431
|
ImageGallery,
|
|
13553
15432
|
ImageThumbnail,
|
|
15433
|
+
IntersectionObserver,
|
|
15434
|
+
JsonViewer,
|
|
15435
|
+
KeyboardShortcut,
|
|
13554
15436
|
Lightbox,
|
|
15437
|
+
List,
|
|
15438
|
+
MasonryGrid,
|
|
13555
15439
|
MegaMenu,
|
|
13556
15440
|
MetricTile,
|
|
13557
15441
|
Modal,
|
|
@@ -13567,12 +15451,16 @@ function IconPicker({
|
|
|
13567
15451
|
PasswordStrengthField,
|
|
13568
15452
|
PhoneNumberField,
|
|
13569
15453
|
Popover,
|
|
15454
|
+
Portal,
|
|
15455
|
+
PortalHost,
|
|
13570
15456
|
ProgressBar,
|
|
13571
15457
|
ProgressRing,
|
|
15458
|
+
PropertyGrid,
|
|
13572
15459
|
Radio,
|
|
13573
15460
|
RadioGroup,
|
|
13574
15461
|
RangeField,
|
|
13575
15462
|
RatingField,
|
|
15463
|
+
ResizeObserver,
|
|
13576
15464
|
RichTextField,
|
|
13577
15465
|
Section,
|
|
13578
15466
|
SegmentedControlField,
|
|
@@ -13588,13 +15476,17 @@ function IconPicker({
|
|
|
13588
15476
|
SliderRangeField,
|
|
13589
15477
|
Sparkline,
|
|
13590
15478
|
Speedometer,
|
|
15479
|
+
Spinner,
|
|
13591
15480
|
StatCard,
|
|
15481
|
+
Statistic,
|
|
13592
15482
|
StatusIndicator,
|
|
13593
15483
|
SwitchField,
|
|
13594
15484
|
Table,
|
|
13595
15485
|
Tabs,
|
|
13596
15486
|
TextAreaField,
|
|
13597
15487
|
TextField,
|
|
15488
|
+
ThemeProvider,
|
|
15489
|
+
ThemeSwitcher,
|
|
13598
15490
|
ThemeToggleField,
|
|
13599
15491
|
Toast,
|
|
13600
15492
|
ToastProvider,
|
|
@@ -13603,7 +15495,9 @@ function IconPicker({
|
|
|
13603
15495
|
TopNavigationMenu,
|
|
13604
15496
|
TransferListField,
|
|
13605
15497
|
TreeSelectField,
|
|
15498
|
+
TreeView,
|
|
13606
15499
|
TrendBadge,
|
|
15500
|
+
VisuallyHidden,
|
|
13607
15501
|
accentColors,
|
|
13608
15502
|
cartesianSpecializedVariants,
|
|
13609
15503
|
countryCodeToFlag,
|
|
@@ -13618,9 +15512,15 @@ function IconPicker({
|
|
|
13618
15512
|
fieldInputAriaProps,
|
|
13619
15513
|
phoneCountries,
|
|
13620
15514
|
useAccentPreference,
|
|
15515
|
+
useClipboard,
|
|
13621
15516
|
useContextMenu,
|
|
13622
15517
|
useFieldShellAria,
|
|
15518
|
+
useHotkey,
|
|
15519
|
+
useHotkeyManager,
|
|
15520
|
+
useIntersectionObserver,
|
|
13623
15521
|
useOpusTheme,
|
|
15522
|
+
usePortalHost,
|
|
15523
|
+
useResizeObserver,
|
|
13624
15524
|
useToast,
|
|
13625
15525
|
useTopNavigation,
|
|
13626
15526
|
worldMapRegionIds
|