opus-react 0.2.20 → 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 +2244 -349
- 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 +299 -5
- package/dist/index.d.ts +299 -5
- package/dist/index.js +2231 -352
- 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 = {"
|
|
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");
|
|
@@ -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");
|
|
@@ -1218,7 +1251,7 @@ function FileField({
|
|
|
1218
1251
|
var import_react4 = require("react");
|
|
1219
1252
|
|
|
1220
1253
|
// ../../components/fields/NumberField/NumberField.module.css
|
|
1221
|
-
var NumberField_default = {"
|
|
1254
|
+
var NumberField_default = {"stepper":"opus_L272Dk_stepper","button":"opus_L272Dk_button","input":"opus_L272Dk_input","error":"opus_L272Dk_error"};
|
|
1222
1255
|
|
|
1223
1256
|
// ../../components/fields/numericUtils.ts
|
|
1224
1257
|
function decimalPlacesFromStep(step) {
|
|
@@ -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 = {"
|
|
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");
|
|
@@ -1698,7 +1731,7 @@ function RangeField({
|
|
|
1698
1731
|
}
|
|
1699
1732
|
|
|
1700
1733
|
// ../../components/fields/SelectField/SelectField.module.css
|
|
1701
|
-
var SelectField_default = {"
|
|
1734
|
+
var SelectField_default = {"select":"opus_m2ObG0_select","wrap":"opus_m2ObG0_wrap","error":"opus_m2ObG0_error"};
|
|
1702
1735
|
|
|
1703
1736
|
// ../../components/fields/SelectField/SelectField.tsx
|
|
1704
1737
|
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
@@ -1742,7 +1775,7 @@ function SelectField({
|
|
|
1742
1775
|
}
|
|
1743
1776
|
|
|
1744
1777
|
// ../../components/fields/SwitchField/SwitchField.module.css
|
|
1745
|
-
var SwitchField_default = {"error":"opus_t9NLEA_error","track":"opus_t9NLEA_track","
|
|
1778
|
+
var SwitchField_default = {"error":"opus_t9NLEA_error","track":"opus_t9NLEA_track","shell":"opus_t9NLEA_shell","toggle":"opus_t9NLEA_toggle"};
|
|
1746
1779
|
|
|
1747
1780
|
// ../../components/fields/SwitchField/SwitchField.tsx
|
|
1748
1781
|
var import_jsx_runtime14 = 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 = {"
|
|
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");
|
|
@@ -2520,10 +2553,10 @@ function RichTextField({
|
|
|
2520
2553
|
var import_react9 = require("react");
|
|
2521
2554
|
|
|
2522
2555
|
// ../../components/fields/TextField/TextField.module.css
|
|
2523
|
-
var TextField_default = {"
|
|
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,7 +2639,7 @@ 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 = {"
|
|
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");
|
|
@@ -2939,7 +2972,7 @@ function MultiSelectField({
|
|
|
2939
2972
|
var import_react12 = require("react");
|
|
2940
2973
|
|
|
2941
2974
|
// ../../components/fields/TransferListField/TransferListField.module.css
|
|
2942
|
-
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"};
|
|
2943
2976
|
|
|
2944
2977
|
// ../../components/fields/TransferListField/TransferListField.tsx
|
|
2945
2978
|
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
@@ -3059,7 +3092,7 @@ var import_react_fontawesome4 = require("@fortawesome/react-fontawesome");
|
|
|
3059
3092
|
var import_free_solid_svg_icons4 = require("@fortawesome/free-solid-svg-icons");
|
|
3060
3093
|
|
|
3061
3094
|
// ../../components/fields/PasswordStrengthField/PasswordStrengthField.module.css
|
|
3062
|
-
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"};
|
|
3063
3096
|
|
|
3064
3097
|
// ../../components/fields/PasswordStrengthField/PasswordStrengthField.tsx
|
|
3065
3098
|
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
@@ -3167,7 +3200,7 @@ function PasswordStrengthField({
|
|
|
3167
3200
|
}
|
|
3168
3201
|
|
|
3169
3202
|
// ../../components/fields/RatingField/RatingField.module.css
|
|
3170
|
-
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"};
|
|
3171
3204
|
|
|
3172
3205
|
// ../../components/fields/RatingField/RatingField.tsx
|
|
3173
3206
|
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
@@ -3242,7 +3275,7 @@ function RatingField({
|
|
|
3242
3275
|
}
|
|
3243
3276
|
|
|
3244
3277
|
// ../../components/fields/SegmentedControlField/SegmentedControlField.module.css
|
|
3245
|
-
var SegmentedControlField_default = {"
|
|
3278
|
+
var SegmentedControlField_default = {"segment":"opus_ZHwfiN_segment","root":"opus_ZHwfiN_root","segmentActive":"opus_ZHwfiN_segmentActive"};
|
|
3246
3279
|
|
|
3247
3280
|
// ../../components/fields/SegmentedControlField/SegmentedControlField.tsx
|
|
3248
3281
|
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
@@ -3297,7 +3330,7 @@ function SegmentedControlField({
|
|
|
3297
3330
|
var import_react14 = require("react");
|
|
3298
3331
|
|
|
3299
3332
|
// ../../components/fields/SliderRangeField/SliderRangeField.module.css
|
|
3300
|
-
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"};
|
|
3301
3334
|
|
|
3302
3335
|
// ../../components/fields/SliderRangeField/SliderRangeField.tsx
|
|
3303
3336
|
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
@@ -3394,7 +3427,7 @@ function SliderRangeField({
|
|
|
3394
3427
|
var import_react15 = require("react");
|
|
3395
3428
|
|
|
3396
3429
|
// ../../components/fields/PhoneNumberField/PhoneNumberField.module.css
|
|
3397
|
-
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"};
|
|
3398
3431
|
|
|
3399
3432
|
// ../../components/fields/PhoneNumberField/countries.ts
|
|
3400
3433
|
function countryCodeToFlag(code) {
|
|
@@ -3797,7 +3830,7 @@ function PhoneNumberField({
|
|
|
3797
3830
|
var import_react16 = require("react");
|
|
3798
3831
|
|
|
3799
3832
|
// ../../components/fields/CountryPickerField/CountryPickerField.module.css
|
|
3800
|
-
var CountryPickerField_default = {"
|
|
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"};
|
|
3801
3834
|
|
|
3802
3835
|
// ../../components/fields/CountryPickerField/CountryPickerField.tsx
|
|
3803
3836
|
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
@@ -3953,7 +3986,7 @@ function CountryPickerField({
|
|
|
3953
3986
|
var import_react17 = require("react");
|
|
3954
3987
|
|
|
3955
3988
|
// ../../components/fields/TreeSelectField/TreeSelectField.module.css
|
|
3956
|
-
var TreeSelectField_default = {"
|
|
3989
|
+
var TreeSelectField_default = {"treeOptionActive":"opus_Mq6C00_treeOptionActive","treeOption":"opus_Mq6C00_treeOption","root":"opus_Mq6C00_root"};
|
|
3957
3990
|
|
|
3958
3991
|
// ../../components/fields/TreeSelectField/TreeSelectField.tsx
|
|
3959
3992
|
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
@@ -4082,7 +4115,7 @@ function TreeSelectField({
|
|
|
4082
4115
|
var import_react18 = require("react");
|
|
4083
4116
|
|
|
4084
4117
|
// ../../components/fields/CascaderField/CascaderField.module.css
|
|
4085
|
-
var CascaderField_default = {"option":"opus_1Fg59A_option","
|
|
4118
|
+
var CascaderField_default = {"option":"opus_1Fg59A_option","root":"opus_1Fg59A_root","panel":"opus_1Fg59A_panel","optionActive":"opus_1Fg59A_optionActive","column":"opus_1Fg59A_column"};
|
|
4086
4119
|
|
|
4087
4120
|
// ../../components/fields/CascaderField/CascaderField.tsx
|
|
4088
4121
|
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
@@ -4285,7 +4318,7 @@ function OpusThemeProvider({
|
|
|
4285
4318
|
}
|
|
4286
4319
|
|
|
4287
4320
|
// ../../components/Alert/Alert.module.css
|
|
4288
|
-
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"};
|
|
4289
4322
|
|
|
4290
4323
|
// ../../components/Alert/Alert.tsx
|
|
4291
4324
|
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
@@ -4434,7 +4467,7 @@ function useOverlayAccessibility(active, containerRef, {
|
|
|
4434
4467
|
}
|
|
4435
4468
|
|
|
4436
4469
|
// ../../components/Dialog/Dialog.module.css
|
|
4437
|
-
var Dialog_default = {"
|
|
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"};
|
|
4438
4471
|
|
|
4439
4472
|
// ../../components/Dialog/Dialog.tsx
|
|
4440
4473
|
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
@@ -4565,7 +4598,7 @@ function Dialog({
|
|
|
4565
4598
|
var import_react22 = require("react");
|
|
4566
4599
|
|
|
4567
4600
|
// ../../components/Modal/Modal.module.css
|
|
4568
|
-
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"};
|
|
4569
4602
|
|
|
4570
4603
|
// ../../components/Modal/Modal.tsx
|
|
4571
4604
|
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
@@ -4696,7 +4729,7 @@ function ModalDefaultActions({ onClose }) {
|
|
|
4696
4729
|
var import_react23 = require("react");
|
|
4697
4730
|
|
|
4698
4731
|
// ../../components/Drawer/Drawer.module.css
|
|
4699
|
-
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"};
|
|
4700
4733
|
|
|
4701
4734
|
// ../../components/Drawer/Drawer.tsx
|
|
4702
4735
|
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
@@ -4828,7 +4861,7 @@ function DrawerDefaultActions({ onClose }) {
|
|
|
4828
4861
|
var import_react24 = require("react");
|
|
4829
4862
|
|
|
4830
4863
|
// ../../components/Popover/Popover.module.css
|
|
4831
|
-
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"};
|
|
4832
4865
|
|
|
4833
4866
|
// ../../components/Popover/Popover.tsx
|
|
4834
4867
|
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
@@ -4979,7 +5012,7 @@ function resolveMegaMenuPortalStyle(root, inTopNavigation) {
|
|
|
4979
5012
|
}
|
|
4980
5013
|
|
|
4981
5014
|
// ../../components/MegaMenu/MegaMenu.module.css
|
|
4982
|
-
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"};
|
|
4983
5016
|
|
|
4984
5017
|
// ../../components/MegaMenu/MegaMenu.tsx
|
|
4985
5018
|
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
@@ -5422,7 +5455,7 @@ function MegaMenu({
|
|
|
5422
5455
|
}
|
|
5423
5456
|
|
|
5424
5457
|
// ../../components/TopNavigation/TopNavigation.module.css
|
|
5425
|
-
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"};
|
|
5426
5459
|
|
|
5427
5460
|
// ../../components/TopNavigation/TopNavigation.tsx
|
|
5428
5461
|
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
@@ -5779,7 +5812,7 @@ function handleMenuKeyDown(event, menu, onEscape) {
|
|
|
5779
5812
|
}
|
|
5780
5813
|
|
|
5781
5814
|
// ../../components/DropdownMenu/DropdownMenu.module.css
|
|
5782
|
-
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"};
|
|
5783
5816
|
|
|
5784
5817
|
// ../../components/DropdownMenu/DropdownMenu.tsx
|
|
5785
5818
|
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
@@ -6110,7 +6143,7 @@ var import_react29 = require("react");
|
|
|
6110
6143
|
var import_react_dom4 = require("react-dom");
|
|
6111
6144
|
|
|
6112
6145
|
// ../../components/ContextMenu/ContextMenu.module.css
|
|
6113
|
-
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"};
|
|
6114
6147
|
|
|
6115
6148
|
// ../../components/ContextMenu/ContextMenuProvider.tsx
|
|
6116
6149
|
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
@@ -6415,7 +6448,7 @@ var import_free_solid_svg_icons5 = require("@fortawesome/free-solid-svg-icons");
|
|
|
6415
6448
|
var import_react_fontawesome5 = require("@fortawesome/react-fontawesome");
|
|
6416
6449
|
|
|
6417
6450
|
// ../../components/CommandPalette/CommandPalette.module.css
|
|
6418
|
-
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"};
|
|
6419
6452
|
|
|
6420
6453
|
// ../../components/CommandPalette/CommandPalette.tsx
|
|
6421
6454
|
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
@@ -6751,7 +6784,7 @@ function AccordionGroup({
|
|
|
6751
6784
|
}
|
|
6752
6785
|
|
|
6753
6786
|
// ../../components/Accordion/Accordion.module.css
|
|
6754
|
-
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"};
|
|
6755
6788
|
|
|
6756
6789
|
// ../../components/Accordion/Accordion.tsx
|
|
6757
6790
|
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
@@ -6838,7 +6871,7 @@ function Accordion({
|
|
|
6838
6871
|
var import_react33 = require("react");
|
|
6839
6872
|
|
|
6840
6873
|
// ../../components/ShowMore/ShowMore.module.css
|
|
6841
|
-
var ShowMore_default = {"
|
|
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"};
|
|
6842
6875
|
|
|
6843
6876
|
// ../../components/ShowMore/ShowMore.tsx
|
|
6844
6877
|
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
@@ -6942,7 +6975,7 @@ function ShowMore({
|
|
|
6942
6975
|
}
|
|
6943
6976
|
|
|
6944
6977
|
// ../../components/Toast/Toast.module.css
|
|
6945
|
-
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"};
|
|
6946
6979
|
|
|
6947
6980
|
// ../../components/Toast/Toast.tsx
|
|
6948
6981
|
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
@@ -7014,7 +7047,7 @@ function Toast({
|
|
|
7014
7047
|
var import_react34 = require("react");
|
|
7015
7048
|
|
|
7016
7049
|
// ../../components/ToastProvider/ToastProvider.module.css
|
|
7017
|
-
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"};
|
|
7018
7051
|
|
|
7019
7052
|
// ../../components/ToastProvider/ToastProvider.tsx
|
|
7020
7053
|
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
@@ -7384,7 +7417,7 @@ function ToastProvider({
|
|
|
7384
7417
|
var import_react35 = require("react");
|
|
7385
7418
|
|
|
7386
7419
|
// ../../components/Tabs/Tabs.module.css
|
|
7387
|
-
var Tabs_default = {"
|
|
7420
|
+
var Tabs_default = {"panel":"opus_ADVJmy_panel","list":"opus_ADVJmy_list","root":"opus_ADVJmy_root","tab":"opus_ADVJmy_tab"};
|
|
7388
7421
|
|
|
7389
7422
|
// ../../components/Tabs/Tabs.tsx
|
|
7390
7423
|
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
@@ -7498,7 +7531,7 @@ function Tabs({
|
|
|
7498
7531
|
}
|
|
7499
7532
|
|
|
7500
7533
|
// ../../components/Card/Card.module.css
|
|
7501
|
-
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"};
|
|
7502
7535
|
|
|
7503
7536
|
// ../../components/Card/Card.tsx
|
|
7504
7537
|
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
@@ -7529,7 +7562,7 @@ function Card({
|
|
|
7529
7562
|
}
|
|
7530
7563
|
|
|
7531
7564
|
// ../../components/dashboardMetricCardLayout/dashboardMetricCardLayout.module.css
|
|
7532
|
-
var dashboardMetricCardLayout_default = {"header":"opus_6_sptY_header","
|
|
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"};
|
|
7533
7566
|
|
|
7534
7567
|
// ../../components/StatCard/StatCard.module.css
|
|
7535
7568
|
var StatCard_default = {"change":"opus_KIXsQY_change"};
|
|
@@ -7559,7 +7592,7 @@ function StatCard({
|
|
|
7559
7592
|
}
|
|
7560
7593
|
|
|
7561
7594
|
// ../../components/Gauge/Gauge.module.css
|
|
7562
|
-
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"};
|
|
7563
7596
|
|
|
7564
7597
|
// ../../components/Gauge/Gauge.tsx
|
|
7565
7598
|
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
@@ -7693,7 +7726,7 @@ function Gauge({
|
|
|
7693
7726
|
var import_react36 = require("react");
|
|
7694
7727
|
|
|
7695
7728
|
// ../../components/Sparkline/Sparkline.module.css
|
|
7696
|
-
var Sparkline_default = {"
|
|
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"};
|
|
7697
7730
|
|
|
7698
7731
|
// ../../components/Sparkline/Sparkline.tsx
|
|
7699
7732
|
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
@@ -7759,7 +7792,7 @@ function Sparkline({
|
|
|
7759
7792
|
}
|
|
7760
7793
|
|
|
7761
7794
|
// ../../components/ProgressRing/ProgressRing.module.css
|
|
7762
|
-
var ProgressRing_default = {"
|
|
7795
|
+
var ProgressRing_default = {"ring":"opus_YxX6Hh_ring","svg":"opus_YxX6Hh_svg","center":"opus_YxX6Hh_center","track":"opus_YxX6Hh_track","value":"opus_YxX6Hh_value"};
|
|
7763
7796
|
|
|
7764
7797
|
// ../../components/ProgressRing/ProgressRing.tsx
|
|
7765
7798
|
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
@@ -7792,7 +7825,7 @@ function ProgressRing({ label, max = 100, value }) {
|
|
|
7792
7825
|
}
|
|
7793
7826
|
|
|
7794
7827
|
// ../../components/ProgressBar/ProgressBar.module.css
|
|
7795
|
-
var ProgressBar_default = {"header":"opus_q04AvA_header","
|
|
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"};
|
|
7796
7829
|
|
|
7797
7830
|
// ../../components/ProgressBar/ProgressBar.tsx
|
|
7798
7831
|
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
@@ -7812,7 +7845,7 @@ function ProgressBar({ label, max = 100, value }) {
|
|
|
7812
7845
|
}
|
|
7813
7846
|
|
|
7814
7847
|
// ../../components/Speedometer/Speedometer.module.css
|
|
7815
|
-
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"};
|
|
7816
7849
|
|
|
7817
7850
|
// ../../components/Speedometer/Speedometer.tsx
|
|
7818
7851
|
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
@@ -7845,7 +7878,7 @@ function Speedometer({ label, max = 100, value }) {
|
|
|
7845
7878
|
}
|
|
7846
7879
|
|
|
7847
7880
|
// ../../components/MetricTile/MetricTile.module.css
|
|
7848
|
-
var MetricTile_default = {"
|
|
7881
|
+
var MetricTile_default = {"tile":"opus_-dz9KL_tile","sparklineRail":"opus_-dz9KL_sparklineRail","sparklineReserve":"opus_-dz9KL_sparklineReserve"};
|
|
7849
7882
|
|
|
7850
7883
|
// ../../components/MetricTile/MetricTile.tsx
|
|
7851
7884
|
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
@@ -7888,7 +7921,7 @@ function TrendBadge({ direction, value }) {
|
|
|
7888
7921
|
}
|
|
7889
7922
|
|
|
7890
7923
|
// ../../components/Panel/Panel.module.css
|
|
7891
|
-
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"};
|
|
7892
7925
|
|
|
7893
7926
|
// ../../components/Panel/Panel.tsx
|
|
7894
7927
|
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
@@ -8072,7 +8105,7 @@ function resolveSectionGapVars(gap = "md") {
|
|
|
8072
8105
|
}
|
|
8073
8106
|
|
|
8074
8107
|
// ../../components/Section/Section.module.css
|
|
8075
|
-
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"};
|
|
8076
8109
|
|
|
8077
8110
|
// ../../components/Section/Section.tsx
|
|
8078
8111
|
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
@@ -8153,7 +8186,7 @@ var Section = Object.assign(SectionRoot, {
|
|
|
8153
8186
|
});
|
|
8154
8187
|
|
|
8155
8188
|
// ../../components/Table/Table.module.css
|
|
8156
|
-
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"};
|
|
8157
8190
|
|
|
8158
8191
|
// ../../components/Table/Table.tsx
|
|
8159
8192
|
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
@@ -8186,8 +8219,196 @@ var import_react37 = require("react");
|
|
|
8186
8219
|
var import_free_solid_svg_icons6 = require("@fortawesome/free-solid-svg-icons");
|
|
8187
8220
|
var import_react_fontawesome6 = require("@fortawesome/react-fontawesome");
|
|
8188
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
|
+
|
|
8189
8410
|
// ../../components/DataGrid/DataGrid.module.css
|
|
8190
|
-
var DataGrid_default = {"
|
|
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"};
|
|
8191
8412
|
|
|
8192
8413
|
// ../../components/DataGrid/DataGrid.tsx
|
|
8193
8414
|
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
@@ -8202,6 +8423,8 @@ var HEADER_CONTROL_GAP = 6;
|
|
|
8202
8423
|
var SORT_INDICATOR_WIDTH = 8;
|
|
8203
8424
|
var SORT_LABEL_GAP = 8;
|
|
8204
8425
|
var RESIZE_HANDLE_WIDTH = 14;
|
|
8426
|
+
var DEFAULT_VIEWPORT = 360;
|
|
8427
|
+
var OVERSCAN = 6;
|
|
8205
8428
|
function resolveColumnFeatures(column) {
|
|
8206
8429
|
return {
|
|
8207
8430
|
filterable: (column == null ? void 0 : column.filterable) === true,
|
|
@@ -8220,21 +8443,8 @@ function getMinColumnWidth(sortable, hasMenu, density) {
|
|
|
8220
8443
|
}
|
|
8221
8444
|
return width;
|
|
8222
8445
|
}
|
|
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
8446
|
function rowTeamValue(row) {
|
|
8236
|
-
|
|
8237
|
-
return cellText((_a2 = row.values.team) != null ? _a2 : row.label);
|
|
8447
|
+
return getRowCellText(row, "team");
|
|
8238
8448
|
}
|
|
8239
8449
|
function isNumericValue(value) {
|
|
8240
8450
|
return /^-?\d+(?:\.\d+)?$/.test(value);
|
|
@@ -8247,33 +8457,67 @@ function compareValues(a, b) {
|
|
|
8247
8457
|
}
|
|
8248
8458
|
return aTrim.localeCompare(bTrim, void 0, { numeric: true, sensitivity: "base" });
|
|
8249
8459
|
}
|
|
8460
|
+
function defaultRowHeight(density) {
|
|
8461
|
+
return density === "comfortable" ? 44 : 36;
|
|
8462
|
+
}
|
|
8250
8463
|
function DataGrid({
|
|
8251
8464
|
bordered = true,
|
|
8252
8465
|
caption,
|
|
8253
8466
|
columns,
|
|
8467
|
+
defaultExpandedIds,
|
|
8254
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,
|
|
8255
8478
|
rowHeader,
|
|
8479
|
+
rowHeight,
|
|
8256
8480
|
rows,
|
|
8257
8481
|
stickyFirstColumn = true,
|
|
8258
8482
|
stickyHeader = true,
|
|
8259
|
-
striped = true
|
|
8483
|
+
striped = true,
|
|
8484
|
+
viewportHeight = DEFAULT_VIEWPORT,
|
|
8485
|
+
virtualized = false
|
|
8260
8486
|
}) {
|
|
8261
|
-
var _a2, _b2, _c2, _d2;
|
|
8487
|
+
var _a2, _b2, _c2, _d2, _e2, _f2;
|
|
8262
8488
|
const [columnWidths, setColumnWidths] = (0, import_react37.useState)({});
|
|
8263
8489
|
const [filters, setFilters] = (0, import_react37.useState)({});
|
|
8264
8490
|
const [openMenu, setOpenMenu] = (0, import_react37.useState)(null);
|
|
8265
8491
|
const [resizing, setResizing] = (0, import_react37.useState)(null);
|
|
8266
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);
|
|
8267
8499
|
const menuAnchorRef = (0, import_react37.useRef)(null);
|
|
8268
8500
|
const menuHostRef = (0, import_react37.useRef)(null);
|
|
8269
8501
|
const menuRef = (0, import_react37.useRef)(null);
|
|
8270
8502
|
const menuFrameRef = (0, import_react37.useRef)(null);
|
|
8271
8503
|
const resizeDragRef = (0, import_react37.useRef)(null);
|
|
8272
8504
|
const wrapRef = (0, import_react37.useRef)(null);
|
|
8273
|
-
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");
|
|
8274
8518
|
const gridColumns = (0, import_react37.useMemo)(
|
|
8275
|
-
() => hasTeamColumn ?
|
|
8276
|
-
[
|
|
8519
|
+
() => hasTeamColumn ? activeColumns : [{ key: "team", label: "Team", align: "left" }, ...activeColumns],
|
|
8520
|
+
[activeColumns, hasTeamColumn]
|
|
8277
8521
|
);
|
|
8278
8522
|
const dataColumns = (0, import_react37.useMemo)(
|
|
8279
8523
|
() => gridColumns.filter((column) => column.key !== "team"),
|
|
@@ -8287,34 +8531,92 @@ function DataGrid({
|
|
|
8287
8531
|
}
|
|
8288
8532
|
return features;
|
|
8289
8533
|
}, [gridColumns, hasTeamColumn, rowHeader]);
|
|
8290
|
-
const
|
|
8291
|
-
(
|
|
8292
|
-
|
|
8293
|
-
|
|
8294
|
-
|
|
8295
|
-
|
|
8296
|
-
|
|
8297
|
-
|
|
8298
|
-
|
|
8299
|
-
|
|
8300
|
-
|
|
8301
|
-
|
|
8302
|
-
|
|
8303
|
-
|
|
8304
|
-
|
|
8305
|
-
|
|
8306
|
-
|
|
8307
|
-
|
|
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)));
|
|
8308
8566
|
}
|
|
8309
|
-
|
|
8310
|
-
|
|
8567
|
+
}, [activeRows, defaultExpandedIds, layout, treeExpandedIds.size]);
|
|
8568
|
+
const displayRows = (0, import_react37.useMemo)(() => {
|
|
8569
|
+
if (layout === "tree") {
|
|
8570
|
+
return buildTreeDisplayRows(filterSortRows(activeRows), treeExpandedIds);
|
|
8311
8571
|
}
|
|
8312
|
-
const
|
|
8313
|
-
|
|
8314
|
-
|
|
8315
|
-
|
|
8316
|
-
|
|
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]);
|
|
8317
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
|
+
};
|
|
8318
8620
|
const resetWrapMinHeight = (0, import_react37.useCallback)(() => {
|
|
8319
8621
|
if (wrapRef.current) {
|
|
8320
8622
|
wrapRef.current.style.minHeight = "";
|
|
@@ -8325,7 +8627,7 @@ function DataGrid({
|
|
|
8325
8627
|
resetWrapMinHeight();
|
|
8326
8628
|
setOpenMenu(null);
|
|
8327
8629
|
}, [resetWrapMinHeight]);
|
|
8328
|
-
const activeMenuFilter = openMenu ? (
|
|
8630
|
+
const activeMenuFilter = openMenu ? (_c2 = filters[openMenu.key]) != null ? _c2 : "" : "";
|
|
8329
8631
|
const applyMenuPosition = (0, import_react37.useCallback)(() => {
|
|
8330
8632
|
const anchor = menuAnchorRef.current;
|
|
8331
8633
|
const menu = menuRef.current;
|
|
@@ -8438,6 +8740,26 @@ function DataGrid({
|
|
|
8438
8740
|
}
|
|
8439
8741
|
scheduleMenuPosition();
|
|
8440
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]);
|
|
8441
8763
|
const toggleSort = (key) => {
|
|
8442
8764
|
var _a3;
|
|
8443
8765
|
if (!((_a3 = columnFeatures[key]) == null ? void 0 : _a3.sortable)) {
|
|
@@ -8539,10 +8861,108 @@ function DataGrid({
|
|
|
8539
8861
|
}
|
|
8540
8862
|
beginResize(event, columnKey, width);
|
|
8541
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
|
+
};
|
|
8542
8962
|
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: DataGrid_default.frame, children: [
|
|
8543
8963
|
caption ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: DataGrid_default.caption, children: caption }) : null,
|
|
8544
8964
|
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: DataGrid_default.gridBody, children: [
|
|
8545
|
-
/* @__PURE__ */ (0, import_jsx_runtime62.
|
|
8965
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
|
|
8546
8966
|
"div",
|
|
8547
8967
|
{
|
|
8548
8968
|
ref: wrapRef,
|
|
@@ -8556,114 +8976,98 @@ function DataGrid({
|
|
|
8556
8976
|
"data-sticky-column": stickyFirstColumn,
|
|
8557
8977
|
"data-sticky-header": stickyHeader,
|
|
8558
8978
|
"data-striped": striped,
|
|
8559
|
-
|
|
8560
|
-
|
|
8561
|
-
|
|
8562
|
-
|
|
8563
|
-
|
|
8564
|
-
|
|
8565
|
-
|
|
8566
|
-
|
|
8567
|
-
|
|
8568
|
-
|
|
8569
|
-
);
|
|
8570
|
-
}) }),
|
|
8571
|
-
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("tr", { children: gridColumns.map((column) => {
|
|
8572
|
-
var _a3, _b3;
|
|
8573
|
-
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
|
|
8574
|
-
"th",
|
|
8575
|
-
{
|
|
8576
|
-
"aria-sort": columnFeatures[column.key].sortable ? (sort == null ? void 0 : sort.key) === column.key ? sort.direction : "none" : void 0,
|
|
8577
|
-
className: column.key === "team" ? DataGrid_default.corner : void 0,
|
|
8578
|
-
"data-column-resizable": columnFeatures[column.key].resizable,
|
|
8579
|
-
"data-filter-active": Boolean((_a3 = filters[column.key]) == null ? void 0 : _a3.trim()),
|
|
8580
|
-
"data-menu-open": (openMenu == null ? void 0 : openMenu.key) === column.key,
|
|
8581
|
-
scope: "col",
|
|
8582
|
-
style: columnWidths[column.key] ? { width: columnWidths[column.key], minWidth: columnWidths[column.key] } : void 0,
|
|
8583
|
-
children: [
|
|
8584
|
-
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
8585
|
-
HeaderContent,
|
|
8586
|
-
{
|
|
8587
|
-
filterActive: Boolean((_b3 = filters[column.key]) == null ? void 0 : _b3.trim()),
|
|
8588
|
-
filterable: columnFeatures[column.key].filterable,
|
|
8589
|
-
label: column.label,
|
|
8590
|
-
menuId: column.key,
|
|
8591
|
-
sortDirection: (sort == null ? void 0 : sort.key) === column.key ? sort.direction : void 0,
|
|
8592
|
-
sortable: columnFeatures[column.key].sortable,
|
|
8593
|
-
menuOpen: (openMenu == null ? void 0 : openMenu.key) === column.key,
|
|
8594
|
-
onMenuToggle: (button) => {
|
|
8595
|
-
if ((openMenu == null ? void 0 : openMenu.key) === column.key) {
|
|
8596
|
-
closeHeaderMenu();
|
|
8597
|
-
return;
|
|
8598
|
-
}
|
|
8599
|
-
openHeaderMenu({
|
|
8600
|
-
align: column.key === "team" ? "left" : "right",
|
|
8601
|
-
button,
|
|
8602
|
-
key: column.key,
|
|
8603
|
-
label: column.label
|
|
8604
|
-
});
|
|
8605
|
-
},
|
|
8606
|
-
onSort: () => toggleSort(column.key)
|
|
8607
|
-
}
|
|
8608
|
-
),
|
|
8609
|
-
columnFeatures[column.key].resizable ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
8610
|
-
ColumnResizeHandle,
|
|
8611
|
-
{
|
|
8612
|
-
onResizeStart: (event) => beginResize(event, column.key)
|
|
8613
|
-
}
|
|
8614
|
-
) : null
|
|
8615
|
-
]
|
|
8616
|
-
},
|
|
8617
|
-
column.key
|
|
8618
|
-
);
|
|
8619
|
-
}) }) }),
|
|
8620
|
-
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("tbody", { onPointerDown: handleBodyPointerDown, children: [
|
|
8621
|
-
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) => {
|
|
8622
8989
|
var _a3;
|
|
8623
|
-
return /* @__PURE__ */ (0, import_jsx_runtime62.
|
|
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
|
-
|
|
8653
|
-
|
|
8654
|
-
|
|
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
|
+
]
|
|
8655
9059
|
}
|
|
8656
9060
|
),
|
|
8657
9061
|
openMenu ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: DataGrid_default.menuHost, ref: menuHostRef, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
8658
9062
|
GridHeaderMenu,
|
|
8659
9063
|
{
|
|
8660
9064
|
ref: menuRef,
|
|
8661
|
-
filter: (
|
|
8662
|
-
filterable: (
|
|
9065
|
+
filter: (_d2 = filters[openMenu.key]) != null ? _d2 : "",
|
|
9066
|
+
filterable: (_e2 = openMenuFeatures == null ? void 0 : openMenuFeatures.filterable) != null ? _e2 : false,
|
|
8663
9067
|
label: openMenu.label,
|
|
8664
9068
|
menuId: openMenu.menuId,
|
|
8665
9069
|
sortDirection: (sort == null ? void 0 : sort.key) === openMenu.key ? sort.direction : void 0,
|
|
8666
|
-
sortable: (
|
|
9070
|
+
sortable: (_f2 = openMenuFeatures == null ? void 0 : openMenuFeatures.sortable) != null ? _f2 : false,
|
|
8667
9071
|
onFilterChange: (filter) => setFilters((current) => __spreadProps(__spreadValues({}, current), { [openMenu.key]: filter })),
|
|
8668
9072
|
onMenuClose: closeHeaderMenu,
|
|
8669
9073
|
onSortDirection: (direction) => setSortDirection(openMenu.key, direction)
|
|
@@ -8955,6 +9359,12 @@ var chartDemoData = [
|
|
|
8955
9359
|
{ label: "May", value: 58, values: [58, 56, 36], x: 74, y: 58 },
|
|
8956
9360
|
{ label: "Jun", value: 88, values: [88, 62, 42], x: 88, y: 92 }
|
|
8957
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
|
+
});
|
|
8958
9368
|
function branchLeaves(prefix, parent, group, count = 5) {
|
|
8959
9369
|
return Array.from({ length: count }, (_, index) => ({
|
|
8960
9370
|
label: `${prefix}${index + 1}`,
|
|
@@ -10033,6 +10443,15 @@ var specializedChartVariants = /* @__PURE__ */ new Set([
|
|
|
10033
10443
|
"sankey",
|
|
10034
10444
|
"waterfall",
|
|
10035
10445
|
"candlestick",
|
|
10446
|
+
"ohlc",
|
|
10447
|
+
"range-area",
|
|
10448
|
+
"range-bar",
|
|
10449
|
+
"error-bar",
|
|
10450
|
+
"parallel-coordinates",
|
|
10451
|
+
"contour",
|
|
10452
|
+
"surface",
|
|
10453
|
+
"bullet",
|
|
10454
|
+
"pareto",
|
|
10036
10455
|
"box-plot",
|
|
10037
10456
|
"histogram",
|
|
10038
10457
|
"violin",
|
|
@@ -10059,6 +10478,12 @@ var cartesianSpecializedVariants = [
|
|
|
10059
10478
|
"histogram",
|
|
10060
10479
|
"waterfall",
|
|
10061
10480
|
"candlestick",
|
|
10481
|
+
"ohlc",
|
|
10482
|
+
"range-area",
|
|
10483
|
+
"range-bar",
|
|
10484
|
+
"error-bar",
|
|
10485
|
+
"bullet",
|
|
10486
|
+
"pareto",
|
|
10062
10487
|
"box-plot",
|
|
10063
10488
|
"violin",
|
|
10064
10489
|
"hexbin",
|
|
@@ -10070,15 +10495,30 @@ var cartesianSpecializedVariants = [
|
|
|
10070
10495
|
"milestone-timeline"
|
|
10071
10496
|
];
|
|
10072
10497
|
function specializedVariantHasYNumericAxis(variant) {
|
|
10073
|
-
return ![
|
|
10074
|
-
|
|
10075
|
-
|
|
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);
|
|
10076
10510
|
}
|
|
10077
10511
|
function specializedVariantHasXCategoryLabels(variant) {
|
|
10078
10512
|
return [
|
|
10079
10513
|
"histogram",
|
|
10080
10514
|
"waterfall",
|
|
10081
10515
|
"candlestick",
|
|
10516
|
+
"ohlc",
|
|
10517
|
+
"range-area",
|
|
10518
|
+
"range-bar",
|
|
10519
|
+
"error-bar",
|
|
10520
|
+
"bullet",
|
|
10521
|
+
"pareto",
|
|
10082
10522
|
"box-plot",
|
|
10083
10523
|
"violin",
|
|
10084
10524
|
"stream",
|
|
@@ -10089,7 +10529,7 @@ function specializedVariantHasXCategoryLabels(variant) {
|
|
|
10089
10529
|
].includes(variant);
|
|
10090
10530
|
}
|
|
10091
10531
|
function specializedVariantUsesSlotLabels(variant) {
|
|
10092
|
-
return ["waterfall"].includes(variant);
|
|
10532
|
+
return ["waterfall", "range-area", "bullet"].includes(variant);
|
|
10093
10533
|
}
|
|
10094
10534
|
function getSeriesPlotBounds(plot) {
|
|
10095
10535
|
return {
|
|
@@ -10357,62 +10797,448 @@ function Candlestick({ data, plot, showValues, styles, yMax, yMin }) {
|
|
|
10357
10797
|
})
|
|
10358
10798
|
] });
|
|
10359
10799
|
}
|
|
10360
|
-
function
|
|
10361
|
-
const
|
|
10362
|
-
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);
|
|
10363
10804
|
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("g", { children: data.map((item, index) => {
|
|
10364
|
-
var _a2, _b2, _c2, _d2
|
|
10365
|
-
const
|
|
10366
|
-
const
|
|
10367
|
-
const
|
|
10368
|
-
const
|
|
10369
|
-
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;
|
|
10370
10810
|
const x = xForEdgeBarIndex(plot, index, data.length, barHalfWidth);
|
|
10371
|
-
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);
|
|
10372
10815
|
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("g", { children: [
|
|
10373
|
-
/* @__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) }),
|
|
10374
|
-
/* @__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) }),
|
|
10375
|
-
/* @__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) }),
|
|
10376
10816
|
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
10377
|
-
"
|
|
10817
|
+
"line",
|
|
10378
10818
|
{
|
|
10379
|
-
className: `${styles.
|
|
10380
|
-
|
|
10381
|
-
|
|
10382
|
-
|
|
10383
|
-
|
|
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)
|
|
10384
10824
|
}
|
|
10385
10825
|
),
|
|
10386
|
-
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("line", { className: `${styles.wick} ${seriesClass}`,
|
|
10387
|
-
|
|
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
|
|
10388
10829
|
] }, item.label);
|
|
10389
10830
|
}) });
|
|
10390
10831
|
}
|
|
10391
|
-
function
|
|
10392
|
-
if (
|
|
10393
|
-
return
|
|
10394
|
-
}
|
|
10395
|
-
if (label.length <= maxChars) {
|
|
10396
|
-
return label;
|
|
10832
|
+
function RangeAreaChart({ data, plot, showValues, styles, yMax, yMin }) {
|
|
10833
|
+
if (!data.length) {
|
|
10834
|
+
return null;
|
|
10397
10835
|
}
|
|
10398
|
-
|
|
10399
|
-
|
|
10400
|
-
|
|
10401
|
-
|
|
10402
|
-
|
|
10403
|
-
|
|
10404
|
-
|
|
10405
|
-
|
|
10406
|
-
|
|
10407
|
-
|
|
10408
|
-
|
|
10409
|
-
|
|
10410
|
-
|
|
10411
|
-
|
|
10412
|
-
|
|
10413
|
-
|
|
10414
|
-
|
|
10415
|
-
|
|
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
|
+
] });
|
|
10861
|
+
}
|
|
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,
|
|
11239
|
+
plot.gridRight - plot.gridLeft,
|
|
11240
|
+
plotSpan(plot) - labelHeight
|
|
11241
|
+
);
|
|
10416
11242
|
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("g", { children: [
|
|
10417
11243
|
layout.groups.map((group) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
10418
11244
|
"text",
|
|
@@ -11086,6 +11912,24 @@ function SpecializedChart(props) {
|
|
|
11086
11912
|
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Waterfall, __spreadValues({}, props));
|
|
11087
11913
|
case "candlestick":
|
|
11088
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));
|
|
11089
11933
|
case "box-plot":
|
|
11090
11934
|
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(BoxPlot, __spreadValues({}, props));
|
|
11091
11935
|
case "treemap":
|
|
@@ -11130,7 +11974,7 @@ function SpecializedChart(props) {
|
|
|
11130
11974
|
}
|
|
11131
11975
|
|
|
11132
11976
|
// ../../components/Chart/Chart.module.css
|
|
11133
|
-
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"};
|
|
11134
11978
|
|
|
11135
11979
|
// ../../components/Chart/Chart.tsx
|
|
11136
11980
|
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
@@ -11355,7 +12199,7 @@ function getWaterfallDomain(data) {
|
|
|
11355
12199
|
return { min: min - pad, max: max + pad };
|
|
11356
12200
|
}
|
|
11357
12201
|
function getChartYDomain(variant, data, series, fallbackMax) {
|
|
11358
|
-
if (variant === "candlestick") {
|
|
12202
|
+
if (variant === "candlestick" || variant === "ohlc") {
|
|
11359
12203
|
const lows = data.map((item) => {
|
|
11360
12204
|
var _a2;
|
|
11361
12205
|
return (_a2 = item.low) != null ? _a2 : item.value * 0.82;
|
|
@@ -11369,6 +12213,45 @@ function getChartYDomain(variant, data, series, fallbackMax) {
|
|
|
11369
12213
|
const pad = Math.max(0, (max - min) * 0.04);
|
|
11370
12214
|
return { min: min - pad, max: max + pad };
|
|
11371
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
|
+
}
|
|
11372
12255
|
if (variant === "box-plot") {
|
|
11373
12256
|
const lows = data.map((item) => {
|
|
11374
12257
|
var _a2;
|
|
@@ -12213,7 +13096,7 @@ function Chart({
|
|
|
12213
13096
|
slotBounds: specializedVariantUsesSlotLabels(variant) ? { left: activePlot.gridLeft, right: activePlot.gridRight } : void 0,
|
|
12214
13097
|
slotCentered: specializedVariantUsesSlotLabels(variant),
|
|
12215
13098
|
timeline: variant === "timeline" || variant === "milestone-timeline",
|
|
12216
|
-
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
|
|
12217
13100
|
}
|
|
12218
13101
|
) : null
|
|
12219
13102
|
] }),
|
|
@@ -12230,7 +13113,7 @@ function Chart({
|
|
|
12230
13113
|
}
|
|
12231
13114
|
|
|
12232
13115
|
// ../../components/Skeleton/Skeleton.module.css
|
|
12233
|
-
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"};
|
|
12234
13117
|
|
|
12235
13118
|
// ../../components/Skeleton/Skeleton.tsx
|
|
12236
13119
|
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
@@ -12281,7 +13164,7 @@ var import_free_solid_svg_icons7 = require("@fortawesome/free-solid-svg-icons");
|
|
|
12281
13164
|
var import_react_fontawesome7 = require("@fortawesome/react-fontawesome");
|
|
12282
13165
|
|
|
12283
13166
|
// ../../components/Lightbox/Lightbox.module.css
|
|
12284
|
-
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"};
|
|
12285
13168
|
|
|
12286
13169
|
// ../../components/Lightbox/Lightbox.tsx
|
|
12287
13170
|
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
@@ -12396,7 +13279,7 @@ function Lightbox({
|
|
|
12396
13279
|
}
|
|
12397
13280
|
|
|
12398
13281
|
// ../../components/Carousel/Carousel.module.css
|
|
12399
|
-
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"};
|
|
12400
13283
|
|
|
12401
13284
|
// ../../components/Carousel/Carousel.tsx
|
|
12402
13285
|
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
@@ -12723,7 +13606,7 @@ var import_react42 = require("react");
|
|
|
12723
13606
|
var import_react41 = require("react");
|
|
12724
13607
|
|
|
12725
13608
|
// ../../components/ModelViewer/ModelViewer.module.css
|
|
12726
|
-
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"};
|
|
12727
13610
|
|
|
12728
13611
|
// ../../components/ModelViewer/FireBarrelModelViewer.tsx
|
|
12729
13612
|
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
@@ -12941,7 +13824,7 @@ var import_free_solid_svg_icons9 = require("@fortawesome/free-solid-svg-icons");
|
|
|
12941
13824
|
var import_react_fontawesome9 = require("@fortawesome/react-fontawesome");
|
|
12942
13825
|
|
|
12943
13826
|
// ../../components/ModelLightbox/ModelLightbox.module.css
|
|
12944
|
-
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"};
|
|
12945
13828
|
|
|
12946
13829
|
// ../../components/ModelLightbox/ModelLightbox.tsx
|
|
12947
13830
|
var import_jsx_runtime72 = require("react/jsx-runtime");
|
|
@@ -13052,21 +13935,23 @@ var ModelThumbnail_default = {"staticThumbnail":"opus_NkO9Yb_staticThumbnail","c
|
|
|
13052
13935
|
var import_jsx_runtime73 = require("react/jsx-runtime");
|
|
13053
13936
|
function ThumbnailContent({
|
|
13054
13937
|
asset,
|
|
13938
|
+
fill,
|
|
13055
13939
|
showCaption,
|
|
13056
13940
|
size
|
|
13057
13941
|
}) {
|
|
13058
|
-
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: [
|
|
13059
13943
|
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(ModelViewer, { asset, cameraControls: false, height: "compact", showCaption: false }),
|
|
13060
13944
|
showCaption ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: ModelThumbnail_default.caption, children: asset.name }) : null
|
|
13061
13945
|
] });
|
|
13062
13946
|
}
|
|
13063
13947
|
function ModelThumbnail({
|
|
13064
13948
|
asset,
|
|
13949
|
+
fill = false,
|
|
13065
13950
|
openInLightbox = true,
|
|
13066
13951
|
showCaption = true,
|
|
13067
13952
|
size = "medium"
|
|
13068
13953
|
}) {
|
|
13069
|
-
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 });
|
|
13070
13955
|
if (openInLightbox) {
|
|
13071
13956
|
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
13072
13957
|
ModelLightbox,
|
|
@@ -13100,6 +13985,7 @@ function ModelGallery({
|
|
|
13100
13985
|
ModelThumbnail,
|
|
13101
13986
|
{
|
|
13102
13987
|
asset,
|
|
13988
|
+
fill: true,
|
|
13103
13989
|
openInLightbox: true,
|
|
13104
13990
|
showCaption: showCaptions,
|
|
13105
13991
|
size: thumbnailSize
|
|
@@ -13164,7 +14050,7 @@ function CatalogIcon({ iconName }) {
|
|
|
13164
14050
|
}
|
|
13165
14051
|
|
|
13166
14052
|
// ../../components/EmptyState/EmptyState.module.css
|
|
13167
|
-
var EmptyState_default = {"root":"opus_1KckGY_root","
|
|
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"};
|
|
13168
14054
|
|
|
13169
14055
|
// ../../components/EmptyState/EmptyState.tsx
|
|
13170
14056
|
var import_jsx_runtime76 = require("react/jsx-runtime");
|
|
@@ -13197,64 +14083,1040 @@ function EmptyState({
|
|
|
13197
14083
|
);
|
|
13198
14084
|
}
|
|
13199
14085
|
|
|
13200
|
-
// ../../components/
|
|
13201
|
-
var
|
|
13202
|
-
|
|
13203
|
-
// ../../components/Sidebar/Sidebar.module.css
|
|
13204
|
-
var Sidebar_default = {"link":"opus_4Pogux_link","main":"opus_4Pogux_main","groupItems":"opus_4Pogux_groupItems","groupLabel":"opus_4Pogux_groupLabel","footer":"opus_4Pogux_footer","group":"opus_4Pogux_group","headerTitle":"opus_4Pogux_headerTitle","linkActive":"opus_4Pogux_linkActive","body":"opus_4Pogux_body","sidebar":"opus_4Pogux_sidebar","headerInner":"opus_4Pogux_headerInner","groupChevron":"opus_4Pogux_groupChevron","groupHeader":"opus_4Pogux_groupHeader","visuallyHidden":"opus_4Pogux_visuallyHidden","groupChevronOpen":"opus_4Pogux_groupChevronOpen","header":"opus_4Pogux_header","groupToggle":"opus_4Pogux_groupToggle","groupItemsWrap":"opus_4Pogux_groupItemsWrap","layout":"opus_4Pogux_layout","nav":"opus_4Pogux_nav"};
|
|
14086
|
+
// ../../components/Badge/Badge.module.css
|
|
14087
|
+
var Badge_default = {"badge":"opus_1GJHzl_badge","dot":"opus_1GJHzl_dot"};
|
|
13205
14088
|
|
|
13206
|
-
// ../../components/
|
|
14089
|
+
// ../../components/Badge/Badge.tsx
|
|
13207
14090
|
var import_jsx_runtime77 = require("react/jsx-runtime");
|
|
13208
|
-
|
|
13209
|
-
|
|
13210
|
-
|
|
13211
|
-
|
|
13212
|
-
|
|
13213
|
-
|
|
13214
|
-
collapsed = false,
|
|
13215
|
-
density = "comfortable",
|
|
13216
|
-
footer,
|
|
13217
|
-
header,
|
|
13218
|
-
side = "left"
|
|
14091
|
+
function Badge({
|
|
14092
|
+
dot = false,
|
|
14093
|
+
label,
|
|
14094
|
+
size = "md",
|
|
14095
|
+
tone = "neutral",
|
|
14096
|
+
variant = "soft"
|
|
13219
14097
|
}) {
|
|
13220
|
-
return /* @__PURE__ */ (0, import_jsx_runtime77.
|
|
13221
|
-
"
|
|
13222
|
-
|
|
13223
|
-
"aria-label": "Sidebar",
|
|
13224
|
-
className: Sidebar_default.sidebar,
|
|
13225
|
-
"data-collapsed": collapsed ? "true" : "false",
|
|
13226
|
-
"data-density": density,
|
|
13227
|
-
"data-side": side,
|
|
13228
|
-
children: [
|
|
13229
|
-
header ? /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: Sidebar_default.header, children: header }) : null,
|
|
13230
|
-
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: Sidebar_default.body, children }),
|
|
13231
|
-
footer ? /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: Sidebar_default.footer, children: footer }) : null
|
|
13232
|
-
]
|
|
13233
|
-
}
|
|
13234
|
-
) });
|
|
13235
|
-
}
|
|
13236
|
-
function SidebarHeader({ children, title }) {
|
|
13237
|
-
const { collapsed } = (0, import_react45.useContext)(SidebarContext);
|
|
13238
|
-
return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: Sidebar_default.headerInner, children: [
|
|
13239
|
-
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("h2", { className: collapsed ? Sidebar_default.visuallyHidden : Sidebar_default.headerTitle, children: title }),
|
|
13240
|
-
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
|
|
13241
14101
|
] });
|
|
13242
14102
|
}
|
|
13243
|
-
|
|
13244
|
-
|
|
13245
|
-
}
|
|
13246
|
-
|
|
13247
|
-
|
|
13248
|
-
|
|
13249
|
-
|
|
13250
|
-
|
|
13251
|
-
|
|
13252
|
-
|
|
13253
|
-
|
|
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
|
+
] });
|
|
13254
15116
|
if (href) {
|
|
13255
|
-
return /* @__PURE__ */ (0,
|
|
15117
|
+
return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("a", { "aria-current": active ? "page" : void 0, className, href, children: content });
|
|
13256
15118
|
}
|
|
13257
|
-
return /* @__PURE__ */ (0,
|
|
15119
|
+
return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
|
|
13258
15120
|
"button",
|
|
13259
15121
|
{
|
|
13260
15122
|
"aria-current": active ? "page" : void 0,
|
|
@@ -13273,16 +15135,16 @@ function createGroupListId(label, id) {
|
|
|
13273
15135
|
return slug ? `sidebar-group-${slug}` : "sidebar-group";
|
|
13274
15136
|
}
|
|
13275
15137
|
function SidebarGroup({ children, defaultOpen = true, id, label }) {
|
|
13276
|
-
const { collapsed } = (0,
|
|
15138
|
+
const { collapsed } = (0, import_react56.useContext)(SidebarContext);
|
|
13277
15139
|
const listId = createGroupListId(label, id);
|
|
13278
|
-
const [open, setOpen] = (0,
|
|
15140
|
+
const [open, setOpen] = (0, import_react56.useState)(defaultOpen);
|
|
13279
15141
|
if (collapsed) {
|
|
13280
|
-
return /* @__PURE__ */ (0,
|
|
15142
|
+
return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { "aria-label": label, className: Sidebar_default.group, role: "group", children });
|
|
13281
15143
|
}
|
|
13282
|
-
return /* @__PURE__ */ (0,
|
|
13283
|
-
/* @__PURE__ */ (0,
|
|
13284
|
-
/* @__PURE__ */ (0,
|
|
13285
|
-
/* @__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)(
|
|
13286
15148
|
"button",
|
|
13287
15149
|
{
|
|
13288
15150
|
"aria-controls": listId,
|
|
@@ -13291,29 +15153,29 @@ function SidebarGroup({ children, defaultOpen = true, id, label }) {
|
|
|
13291
15153
|
className: Sidebar_default.groupToggle,
|
|
13292
15154
|
onClick: () => setOpen((current) => !current),
|
|
13293
15155
|
type: "button",
|
|
13294
|
-
children: /* @__PURE__ */ (0,
|
|
15156
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("span", { "aria-hidden": "true", className: open ? Sidebar_default.groupChevronOpen : Sidebar_default.groupChevron })
|
|
13295
15157
|
}
|
|
13296
15158
|
)
|
|
13297
15159
|
] }),
|
|
13298
|
-
/* @__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 }) })
|
|
13299
15161
|
] });
|
|
13300
15162
|
}
|
|
13301
15163
|
function SidebarLayout({ children, collapsed = false, main, side = "left" }) {
|
|
13302
|
-
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: [
|
|
13303
15165
|
side === "left" ? children : null,
|
|
13304
|
-
/* @__PURE__ */ (0,
|
|
15166
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: Sidebar_default.main, children: main }),
|
|
13305
15167
|
side === "right" ? children : null
|
|
13306
15168
|
] });
|
|
13307
15169
|
}
|
|
13308
15170
|
|
|
13309
15171
|
// ../../components/AccentColorPicker/AccentColorPicker.tsx
|
|
13310
|
-
var
|
|
15172
|
+
var import_react57 = require("react");
|
|
13311
15173
|
|
|
13312
15174
|
// ../../components/AccentColorPicker/AccentColorPicker.module.css
|
|
13313
15175
|
var AccentColorPicker_default = {"swatches":"opus_scMnrW_swatches","swatch":"opus_scMnrW_swatch"};
|
|
13314
15176
|
|
|
13315
15177
|
// ../../components/AccentColorPicker/AccentColorPicker.tsx
|
|
13316
|
-
var
|
|
15178
|
+
var import_jsx_runtime102 = require("react/jsx-runtime");
|
|
13317
15179
|
var ACCENT_STORAGE_KEY = "opus-components-accent";
|
|
13318
15180
|
var DEFAULT_ACCENT_COLOR = "#8f6cff";
|
|
13319
15181
|
var accentColors = [
|
|
@@ -13347,8 +15209,8 @@ function applyDocumentAccent(accent) {
|
|
|
13347
15209
|
);
|
|
13348
15210
|
}
|
|
13349
15211
|
function useAccentPreference() {
|
|
13350
|
-
const [accent, setAccentState] = (0,
|
|
13351
|
-
(0,
|
|
15212
|
+
const [accent, setAccentState] = (0, import_react57.useState)(DEFAULT_ACCENT_COLOR);
|
|
15213
|
+
(0, import_react57.useEffect)(() => {
|
|
13352
15214
|
const timeout = window.setTimeout(() => {
|
|
13353
15215
|
const stored = window.localStorage.getItem(ACCENT_STORAGE_KEY);
|
|
13354
15216
|
if (isAccentColor(stored)) {
|
|
@@ -13360,7 +15222,7 @@ function useAccentPreference() {
|
|
|
13360
15222
|
}, 0);
|
|
13361
15223
|
return () => window.clearTimeout(timeout);
|
|
13362
15224
|
}, []);
|
|
13363
|
-
const setAccent = (0,
|
|
15225
|
+
const setAccent = (0, import_react57.useCallback)((next) => {
|
|
13364
15226
|
if (!isAccentColor(next)) {
|
|
13365
15227
|
return;
|
|
13366
15228
|
}
|
|
@@ -13368,7 +15230,7 @@ function useAccentPreference() {
|
|
|
13368
15230
|
applyDocumentAccent(next);
|
|
13369
15231
|
window.localStorage.setItem(ACCENT_STORAGE_KEY, next);
|
|
13370
15232
|
}, []);
|
|
13371
|
-
const accentStyle = (0,
|
|
15233
|
+
const accentStyle = (0, import_react57.useMemo)(() => createAccentStyle(accent), [accent]);
|
|
13372
15234
|
return { accent, accentStyle, setAccent };
|
|
13373
15235
|
}
|
|
13374
15236
|
function AccentColorPicker({
|
|
@@ -13380,7 +15242,7 @@ function AccentColorPicker({
|
|
|
13380
15242
|
onChange,
|
|
13381
15243
|
value
|
|
13382
15244
|
}) {
|
|
13383
|
-
return /* @__PURE__ */ (0,
|
|
15245
|
+
return /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
|
|
13384
15246
|
FieldShell,
|
|
13385
15247
|
{
|
|
13386
15248
|
fitContent: true,
|
|
@@ -13391,9 +15253,9 @@ function AccentColorPicker({
|
|
|
13391
15253
|
labelPosition,
|
|
13392
15254
|
labelTag: "div",
|
|
13393
15255
|
mode,
|
|
13394
|
-
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) => {
|
|
13395
15257
|
const selected = value === option.value;
|
|
13396
|
-
return /* @__PURE__ */ (0,
|
|
15258
|
+
return /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
|
|
13397
15259
|
"button",
|
|
13398
15260
|
{
|
|
13399
15261
|
"aria-checked": selected,
|
|
@@ -13414,14 +15276,14 @@ function AccentColorPicker({
|
|
|
13414
15276
|
}
|
|
13415
15277
|
|
|
13416
15278
|
// ../../components/IconPicker/IconPicker.tsx
|
|
13417
|
-
var
|
|
13418
|
-
var
|
|
15279
|
+
var import_react58 = require("react");
|
|
15280
|
+
var import_react_fontawesome12 = require("@fortawesome/react-fontawesome");
|
|
13419
15281
|
|
|
13420
15282
|
// ../../components/IconPicker/IconPicker.module.css
|
|
13421
|
-
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"};
|
|
13422
15284
|
|
|
13423
15285
|
// ../../components/IconPicker/IconPicker.tsx
|
|
13424
|
-
var
|
|
15286
|
+
var import_jsx_runtime103 = require("react/jsx-runtime");
|
|
13425
15287
|
function IconPicker({
|
|
13426
15288
|
help,
|
|
13427
15289
|
id,
|
|
@@ -13432,14 +15294,14 @@ function IconPicker({
|
|
|
13432
15294
|
searchPlaceholder = "Search icons",
|
|
13433
15295
|
value
|
|
13434
15296
|
}) {
|
|
13435
|
-
const [open, setOpen] = (0,
|
|
13436
|
-
const [query, setQuery] = (0,
|
|
13437
|
-
const rootRef = (0,
|
|
13438
|
-
const searchRef = (0,
|
|
13439
|
-
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)();
|
|
13440
15302
|
const selected = getFontAwesomeIconOption(value);
|
|
13441
|
-
const filteredIcons = (0,
|
|
13442
|
-
(0,
|
|
15303
|
+
const filteredIcons = (0, import_react58.useMemo)(() => filterFontAwesomeIcons(query), [query]);
|
|
15304
|
+
(0, import_react58.useEffect)(() => {
|
|
13443
15305
|
if (!open) {
|
|
13444
15306
|
return;
|
|
13445
15307
|
}
|
|
@@ -13466,8 +15328,8 @@ function IconPicker({
|
|
|
13466
15328
|
document.removeEventListener("keydown", handleKeyDown);
|
|
13467
15329
|
};
|
|
13468
15330
|
}, [open]);
|
|
13469
|
-
return /* @__PURE__ */ (0,
|
|
13470
|
-
/* @__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)(
|
|
13471
15333
|
"button",
|
|
13472
15334
|
{
|
|
13473
15335
|
"aria-controls": open ? listboxId : void 0,
|
|
@@ -13478,14 +15340,14 @@ function IconPicker({
|
|
|
13478
15340
|
type: "button",
|
|
13479
15341
|
onClick: () => setOpen((current) => !current),
|
|
13480
15342
|
children: [
|
|
13481
|
-
/* @__PURE__ */ (0,
|
|
13482
|
-
/* @__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 })
|
|
13483
15345
|
]
|
|
13484
15346
|
}
|
|
13485
15347
|
),
|
|
13486
|
-
/* @__PURE__ */ (0,
|
|
13487
|
-
open ? /* @__PURE__ */ (0,
|
|
13488
|
-
/* @__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)(
|
|
13489
15351
|
"input",
|
|
13490
15352
|
{
|
|
13491
15353
|
"aria-label": searchPlaceholder,
|
|
@@ -13497,7 +15359,7 @@ function IconPicker({
|
|
|
13497
15359
|
onChange: (event) => setQuery(event.target.value)
|
|
13498
15360
|
}
|
|
13499
15361
|
),
|
|
13500
|
-
/* @__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)(
|
|
13501
15363
|
"button",
|
|
13502
15364
|
{
|
|
13503
15365
|
"aria-label": entry.label,
|
|
@@ -13512,10 +15374,10 @@ function IconPicker({
|
|
|
13512
15374
|
setOpen(false);
|
|
13513
15375
|
setQuery("");
|
|
13514
15376
|
},
|
|
13515
|
-
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 }) })
|
|
13516
15378
|
},
|
|
13517
15379
|
entry.iconName
|
|
13518
|
-
)) : /* @__PURE__ */ (0,
|
|
15380
|
+
)) : /* @__PURE__ */ (0, import_jsx_runtime103.jsx)("p", { className: IconPicker_default.empty, children: "No icons match your search." }) })
|
|
13519
15381
|
] }) : null
|
|
13520
15382
|
] }) });
|
|
13521
15383
|
}
|
|
@@ -13525,6 +15387,9 @@ function IconPicker({
|
|
|
13525
15387
|
Accordion,
|
|
13526
15388
|
AccordionGroup,
|
|
13527
15389
|
Alert,
|
|
15390
|
+
Avatar,
|
|
15391
|
+
AvatarGroup,
|
|
15392
|
+
Badge,
|
|
13528
15393
|
Button,
|
|
13529
15394
|
Card,
|
|
13530
15395
|
Carousel,
|
|
@@ -13534,15 +15399,21 @@ function IconPicker({
|
|
|
13534
15399
|
CheckboxField,
|
|
13535
15400
|
ChipInput,
|
|
13536
15401
|
ChipInputField,
|
|
15402
|
+
Clipboard,
|
|
15403
|
+
ClipboardProvider,
|
|
13537
15404
|
ColorField,
|
|
13538
15405
|
CommandPalette,
|
|
15406
|
+
ContentTimeline,
|
|
13539
15407
|
ContextMenuProvider,
|
|
13540
15408
|
ContextMenuTarget,
|
|
15409
|
+
CopyButton,
|
|
13541
15410
|
CountryPickerField,
|
|
13542
15411
|
DEFAULT_TOAST_DURATION_MS,
|
|
13543
15412
|
DataGrid,
|
|
13544
15413
|
DateField,
|
|
15414
|
+
DescriptionList,
|
|
13545
15415
|
Dialog,
|
|
15416
|
+
Divider,
|
|
13546
15417
|
Drawer,
|
|
13547
15418
|
DrawerDefaultActions,
|
|
13548
15419
|
DropdownMenu,
|
|
@@ -13551,12 +15422,20 @@ function IconPicker({
|
|
|
13551
15422
|
FieldShell,
|
|
13552
15423
|
FileField,
|
|
13553
15424
|
FilterSelectField,
|
|
15425
|
+
FocusTrap,
|
|
13554
15426
|
Gauge,
|
|
13555
15427
|
HiddenField,
|
|
15428
|
+
HotkeyManager,
|
|
15429
|
+
Icon,
|
|
13556
15430
|
IconPicker,
|
|
13557
15431
|
ImageGallery,
|
|
13558
15432
|
ImageThumbnail,
|
|
15433
|
+
IntersectionObserver,
|
|
15434
|
+
JsonViewer,
|
|
15435
|
+
KeyboardShortcut,
|
|
13559
15436
|
Lightbox,
|
|
15437
|
+
List,
|
|
15438
|
+
MasonryGrid,
|
|
13560
15439
|
MegaMenu,
|
|
13561
15440
|
MetricTile,
|
|
13562
15441
|
Modal,
|
|
@@ -13572,12 +15451,16 @@ function IconPicker({
|
|
|
13572
15451
|
PasswordStrengthField,
|
|
13573
15452
|
PhoneNumberField,
|
|
13574
15453
|
Popover,
|
|
15454
|
+
Portal,
|
|
15455
|
+
PortalHost,
|
|
13575
15456
|
ProgressBar,
|
|
13576
15457
|
ProgressRing,
|
|
15458
|
+
PropertyGrid,
|
|
13577
15459
|
Radio,
|
|
13578
15460
|
RadioGroup,
|
|
13579
15461
|
RangeField,
|
|
13580
15462
|
RatingField,
|
|
15463
|
+
ResizeObserver,
|
|
13581
15464
|
RichTextField,
|
|
13582
15465
|
Section,
|
|
13583
15466
|
SegmentedControlField,
|
|
@@ -13593,13 +15476,17 @@ function IconPicker({
|
|
|
13593
15476
|
SliderRangeField,
|
|
13594
15477
|
Sparkline,
|
|
13595
15478
|
Speedometer,
|
|
15479
|
+
Spinner,
|
|
13596
15480
|
StatCard,
|
|
15481
|
+
Statistic,
|
|
13597
15482
|
StatusIndicator,
|
|
13598
15483
|
SwitchField,
|
|
13599
15484
|
Table,
|
|
13600
15485
|
Tabs,
|
|
13601
15486
|
TextAreaField,
|
|
13602
15487
|
TextField,
|
|
15488
|
+
ThemeProvider,
|
|
15489
|
+
ThemeSwitcher,
|
|
13603
15490
|
ThemeToggleField,
|
|
13604
15491
|
Toast,
|
|
13605
15492
|
ToastProvider,
|
|
@@ -13608,7 +15495,9 @@ function IconPicker({
|
|
|
13608
15495
|
TopNavigationMenu,
|
|
13609
15496
|
TransferListField,
|
|
13610
15497
|
TreeSelectField,
|
|
15498
|
+
TreeView,
|
|
13611
15499
|
TrendBadge,
|
|
15500
|
+
VisuallyHidden,
|
|
13612
15501
|
accentColors,
|
|
13613
15502
|
cartesianSpecializedVariants,
|
|
13614
15503
|
countryCodeToFlag,
|
|
@@ -13623,9 +15512,15 @@ function IconPicker({
|
|
|
13623
15512
|
fieldInputAriaProps,
|
|
13624
15513
|
phoneCountries,
|
|
13625
15514
|
useAccentPreference,
|
|
15515
|
+
useClipboard,
|
|
13626
15516
|
useContextMenu,
|
|
13627
15517
|
useFieldShellAria,
|
|
15518
|
+
useHotkey,
|
|
15519
|
+
useHotkeyManager,
|
|
15520
|
+
useIntersectionObserver,
|
|
13628
15521
|
useOpusTheme,
|
|
15522
|
+
usePortalHost,
|
|
15523
|
+
useResizeObserver,
|
|
13629
15524
|
useToast,
|
|
13630
15525
|
useTopNavigation,
|
|
13631
15526
|
worldMapRegionIds
|