@flamingo-stack/openframe-frontend-core 0.0.717 → 0.0.718

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.
Files changed (91) hide show
  1. package/dist/{chunk-3MJPCKB6.js → chunk-45F7PXUI.js} +2 -2
  2. package/dist/{chunk-TYVS64YN.js → chunk-67QBMN4R.js} +1 -1
  3. package/dist/{chunk-3RKBJT6K.cjs → chunk-6A43ZDWV.cjs} +2 -2
  4. package/dist/chunk-A6P6DHEZ.cjs +130 -0
  5. package/dist/{chunk-M2A5SC6H.cjs → chunk-BOTM373R.cjs} +2 -2
  6. package/dist/{chunk-X3RVDBXU.cjs → chunk-BWIN42ZA.cjs} +15 -15
  7. package/dist/{chunk-6MZI5SQ4.js → chunk-DCD5WZUF.js} +3 -3
  8. package/dist/{chunk-2EK7PA73.js → chunk-DEZDMTBM.js} +4 -4
  9. package/dist/{chunk-NB6EWUDE.cjs → chunk-DXCBOZVT.cjs} +13 -13
  10. package/dist/{chunk-J3Q53TWW.cjs → chunk-EZC2F5OT.cjs} +22 -22
  11. package/dist/{chunk-2AI2E3O2.cjs → chunk-GN4A7PMB.cjs} +27 -27
  12. package/dist/{chunk-6T3BTD6Q.js → chunk-IWCPXJEE.js} +201 -327
  13. package/dist/{chunk-2X2P3VHF.js → chunk-JIWMBIVZ.js} +4 -4
  14. package/dist/{chunk-NPAQSMRY.js → chunk-LOYPRJWA.js} +1053 -357
  15. package/dist/{chunk-U3TP4UGA.cjs → chunk-MIQLUUVF.cjs} +6 -6
  16. package/dist/{chunk-FGKSAQR3.js → chunk-MM7MCIXL.js} +4 -4
  17. package/dist/{chunk-B5XU6KOA.js → chunk-N2PF5CFX.js} +4836 -5424
  18. package/dist/{chunk-LANNTTKP.cjs → chunk-NDZ5ZXOQ.cjs} +6 -6
  19. package/dist/{chunk-WH5GJSID.js → chunk-PQ6HBLZ7.js} +3 -3
  20. package/dist/{chunk-FROXS52D.cjs → chunk-QBCDSTLE.cjs} +2 -2
  21. package/dist/{chunk-NQWJAOHO.js → chunk-QXZCLQNV.js} +1 -1
  22. package/dist/{chunk-3QAMMWV2.cjs → chunk-S2FUFMLW.cjs} +20 -20
  23. package/dist/{chunk-PD4W2VMH.js → chunk-SGFTTJKO.js} +1 -1
  24. package/dist/{chunk-E6FLX4TX.js → chunk-TBCZCRQ5.js} +5 -5
  25. package/dist/{chunk-OHLBO4LM.cjs → chunk-WALCXC7J.cjs} +3 -3
  26. package/dist/{chunk-VZI5BA4L.js → chunk-XGHGGBM3.js} +1 -1
  27. package/dist/{chunk-VYKFM2NB.cjs → chunk-YC5COB5V.cjs} +32 -32
  28. package/dist/{chunk-47FISYO5.js → chunk-YEMCCYIF.js} +2 -2
  29. package/dist/chunk-YYYVS7CX.js +130 -0
  30. package/dist/{chunk-5MF3NMYC.cjs → chunk-Z3CVSPO3.cjs} +581 -1169
  31. package/dist/{chunk-PPXR22YC.cjs → chunk-Z5UWW3Z2.cjs} +707 -11
  32. package/dist/{chunk-JO5TLJPM.cjs → chunk-ZXCZYMN4.cjs} +37 -163
  33. package/dist/{cloud-tenants-KDWTVHSI.cjs → cloud-tenants-PFDF7O5U.cjs} +5 -4
  34. package/dist/{cloud-tenants-LNC26WY2.js → cloud-tenants-TAKOWXLD.js} +4 -3
  35. package/dist/components/case-studies/index.cjs +13 -12
  36. package/dist/components/case-studies/index.js +5 -4
  37. package/dist/components/contact/index.cjs +6 -5
  38. package/dist/components/contact/index.js +5 -4
  39. package/dist/components/docs/index.cjs +8 -7
  40. package/dist/components/docs/index.js +7 -6
  41. package/dist/components/embeds/index.cjs +6 -5
  42. package/dist/components/embeds/index.js +5 -4
  43. package/dist/components/faq/index.cjs +6 -5
  44. package/dist/components/faq/index.js +5 -4
  45. package/dist/components/features/index.cjs +9 -4
  46. package/dist/components/features/index.js +8 -3
  47. package/dist/components/features/remote-session/index.d.ts +2 -0
  48. package/dist/components/features/remote-session/index.d.ts.map +1 -1
  49. package/dist/components/features/remote-session/remote-session-keep-modals.d.ts +3 -3
  50. package/dist/components/features/remote-session/remote-session-keep-modals.d.ts.map +1 -1
  51. package/dist/components/features/remote-session/remote-session-ticket-modals.d.ts +29 -0
  52. package/dist/components/features/remote-session/remote-session-ticket-modals.d.ts.map +1 -0
  53. package/dist/components/help-center-pages/index.cjs +48 -47
  54. package/dist/components/help-center-pages/index.js +14 -13
  55. package/dist/components/index.cjs +30 -25
  56. package/dist/components/index.js +19 -14
  57. package/dist/components/meeting-scheduler/index.cjs +25 -24
  58. package/dist/components/meeting-scheduler/index.js +4 -3
  59. package/dist/components/navigation/index.cjs +6 -5
  60. package/dist/components/navigation/index.js +5 -4
  61. package/dist/components/onboarding-guides/index.cjs +8 -7
  62. package/dist/components/onboarding-guides/index.js +7 -6
  63. package/dist/components/product-demo/index.cjs +7 -7
  64. package/dist/components/product-demo/index.js +7 -7
  65. package/dist/components/tickets/index.cjs +8 -7
  66. package/dist/components/tickets/index.js +7 -6
  67. package/dist/components/ui/autocomplete.d.ts +6 -0
  68. package/dist/components/ui/autocomplete.d.ts.map +1 -1
  69. package/dist/components/ui/index.cjs +7 -6
  70. package/dist/components/ui/index.js +6 -5
  71. package/dist/{devices-ATHYJUVQ.cjs → devices-KRCGZMGA.cjs} +6 -5
  72. package/dist/{devices-NYCRQ3PG.js → devices-LHEX7O5T.js} +4 -3
  73. package/dist/hooks/index.cjs +6 -4
  74. package/dist/hooks/index.js +5 -3
  75. package/dist/index.cjs +14 -8
  76. package/dist/index.js +15 -9
  77. package/dist/{knowledge-EHNRYT7U.cjs → knowledge-KLVPVEYZ.cjs} +5 -4
  78. package/dist/{knowledge-DEKYJXBS.js → knowledge-RZSFNR33.js} +4 -3
  79. package/dist/{logs-Q7YFIVYI.js → logs-E5DOV5JO.js} +4 -3
  80. package/dist/{logs-3V765P7O.cjs → logs-OX3XTVL2.cjs} +13 -12
  81. package/dist/{policies-TXU5AIXS.cjs → policies-FOSCIZGK.cjs} +9 -8
  82. package/dist/{policies-BTIENK5A.js → policies-MC2S4S5G.js} +4 -3
  83. package/dist/{remote-session-R6VAFESR.cjs → remote-session-DRFE5XZE.cjs} +4 -3
  84. package/dist/{remote-session-GSGZOFDX.js → remote-session-JQ2BPIE3.js} +2 -1
  85. package/dist/{software-update-SW2HOBHW.js → software-update-D4OEIH65.js} +6 -4
  86. package/dist/{software-update-MINTICZY.cjs → software-update-HOBSTWVO.cjs} +11 -9
  87. package/package.json +1 -1
  88. package/src/components/features/remote-session/index.ts +2 -0
  89. package/src/components/features/remote-session/remote-session-keep-modals.tsx +4 -4
  90. package/src/components/features/remote-session/remote-session-ticket-modals.tsx +140 -0
  91. package/src/components/ui/autocomplete.tsx +18 -4
@@ -22,9 +22,9 @@ var _chunkDEY6XXGOcjs = require('./chunk-DEY6XXGO.cjs');
22
22
 
23
23
 
24
24
 
25
- var _chunkPPXR22YCcjs = require('./chunk-PPXR22YC.cjs');
26
25
 
27
26
 
27
+ var _chunkZ5UWW3Z2cjs = require('./chunk-Z5UWW3Z2.cjs');
28
28
 
29
29
 
30
30
 
@@ -36,13 +36,17 @@ var _chunkPPXR22YCcjs = require('./chunk-PPXR22YC.cjs');
36
36
 
37
37
 
38
38
 
39
- var _chunkJO5TLJPMcjs = require('./chunk-JO5TLJPM.cjs');
39
+ var _chunkZXCZYMN4cjs = require('./chunk-ZXCZYMN4.cjs');
40
40
 
41
41
 
42
42
 
43
43
  var _chunkB4NCVYEQcjs = require('./chunk-B4NCVYEQ.cjs');
44
44
 
45
45
 
46
+
47
+ var _chunkA6P6DHEZcjs = require('./chunk-A6P6DHEZ.cjs');
48
+
49
+
46
50
  var _chunkWBNAEYTQcjs = require('./chunk-WBNAEYTQ.cjs');
47
51
 
48
52
 
@@ -603,596 +607,6 @@ function AnnouncementBarView({
603
607
  ] });
604
608
  }
605
609
 
606
- // src/components/ui/autocomplete.tsx
607
- var _reactpopover = require('@radix-ui/react-popover'); var PopoverPrimitive = _interopRequireWildcard(_reactpopover); var Popover = _interopRequireWildcard(_reactpopover); var PopoverPrimitive2 = _interopRequireWildcard(_reactpopover); var PopoverPrimitive3 = _interopRequireWildcard(_reactpopover); var PopoverPrimitive4 = _interopRequireWildcard(_reactpopover); var PopoverPrimitive5 = _interopRequireWildcard(_reactpopover); var PopoverPrimitive6 = _interopRequireWildcard(_reactpopover); var PopoverPrimitive7 = _interopRequireWildcard(_reactpopover);
608
- var _reactscrollarea = require('@radix-ui/react-scroll-area'); var ScrollAreaPrimitive = _interopRequireWildcard(_reactscrollarea); var ScrollAreaPrimitive2 = _interopRequireWildcard(_reactscrollarea); var ScrollAreaPrimitive3 = _interopRequireWildcard(_reactscrollarea);
609
-
610
-
611
-
612
-
613
-
614
-
615
-
616
-
617
-
618
-
619
- // src/components/ui/hidden-tags-popup.tsx
620
-
621
-
622
- var HiddenTagsPopup = _react.forwardRef.call(void 0, function HiddenTagsPopupImpl({ items, onRemove, disabled, className, style }, ref) {
623
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
624
- "div",
625
- {
626
- ref,
627
- style,
628
- className: _chunk3ATAYP36cjs.cn.call(void 0,
629
- // Base positioning is neutral (left-anchored); consumers override via
630
- // `style.left` (search-input, tag-search-input) or `className` (autocomplete).
631
- "absolute left-0 top-full z-50 mt-1 min-w-[200px]",
632
- "rounded-[6px] border border-ods-border bg-ods-card shadow-lg",
633
- "duration-150 animate-in fade-in-0 zoom-in-95",
634
- className
635
- ),
636
- children: items.map((item) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
637
- "div",
638
- {
639
- className: _chunk3ATAYP36cjs.cn.call(void 0,
640
- "flex h-11 items-center justify-between gap-3 px-3 md:h-12",
641
- "border-b border-ods-border last:border-b-0"
642
- ),
643
- children: [
644
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
645
- "span",
646
- {
647
- className: "min-w-0 flex-1 truncate uppercase text-ods-text-primary text-h5",
648
- title: typeof item.label === "string" ? item.label : void 0,
649
- children: item.label
650
- }
651
- ),
652
- !disabled && onRemove && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
653
- "button",
654
- {
655
- type: "button",
656
- onClick: (e) => {
657
- e.stopPropagation();
658
- onRemove(item.value);
659
- },
660
- className: "shrink-0 text-ods-text-secondary transition-colors hover:text-ods-text-primary",
661
- "aria-label": `Remove ${String(item.label)}`,
662
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.XmarkCircleIcon, { size: 20 })
663
- }
664
- )
665
- ]
666
- },
667
- String(item.value)
668
- ))
669
- }
670
- );
671
- });
672
- HiddenTagsPopup.displayName = "HiddenTagsPopup";
673
-
674
- // src/components/ui/autocomplete.tsx
675
-
676
- var innerInputStyles = _chunk3ATAYP36cjs.cn.call(void 0,
677
- "min-w-[60px] flex-1 border-none bg-transparent outline-none",
678
- "text-h4",
679
- "text-ods-text-primary placeholder:text-ods-text-secondary",
680
- // Disabled - match Input exactly (value greys out, placeholder dims further)
681
- "disabled:cursor-not-allowed disabled:text-ods-text-disabled disabled:placeholder:text-ods-border"
682
- );
683
- function AutocompleteInner(props, ref) {
684
- const {
685
- options,
686
- disabled = false,
687
- startAdornment,
688
- showClearAll = true,
689
- className,
690
- dropdownClassName,
691
- freeSolo = false,
692
- label,
693
- labelVariant,
694
- error,
695
- filterOptions,
696
- renderOption,
697
- invalid = false,
698
- noOptionsText = "No options",
699
- inputValue: inputValueProp,
700
- onInputChange,
701
- loading = false,
702
- loadingText = "Loading...",
703
- creatable = false,
704
- onCreateOption,
705
- maxCreateLength,
706
- onDeleteOption,
707
- isDeletingOption = false,
708
- disableClientFilter = false,
709
- showChevron = true,
710
- clearOnOpen = true
711
- } = props;
712
- const multiple = _nullishCoalesce(props.multiple, () => ( false));
713
- const placeholder = _nullishCoalesce(props.placeholder, () => ( (multiple ? "Add More..." : "Select...")));
714
- const maxItems = multiple ? props.maxItems : void 0;
715
- const renderTag = multiple ? props.renderTag : void 0;
716
- const limitTagsProp = multiple ? _nullishCoalesce(props.limitTags, () => ( "auto")) : "auto";
717
- const getLimitTagsText = multiple ? _nullishCoalesce(props.getLimitTagsText, () => ( ((more) => `+${more}`))) : (more) => `+${more}`;
718
- const valueArray = _react.useMemo.call(void 0,
719
- () => multiple ? props.value : props.value != null ? [props.value] : [],
720
- [multiple, props.value]
721
- );
722
- const [internalInputValue, setInternalInputValue] = _react.useState.call(void 0, "");
723
- const isInputControlled = inputValueProp !== void 0;
724
- const inputValue = isInputControlled ? inputValueProp : internalInputValue;
725
- const updateInputValue = (value, reason) => {
726
- if (!isInputControlled) {
727
- setInternalInputValue(value);
728
- }
729
- _optionalChain([onInputChange, 'optionalCall', _2 => _2(value, reason)]);
730
- };
731
- const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
732
- const [highlightedIndex, setHighlightedIndex] = _react.useState.call(void 0, -1);
733
- const keyboardPadding = _chunkJO5TLJPMcjs.useKeyboardCollisionPadding.call(void 0, );
734
- const containerRef = _react.useRef.call(void 0, null);
735
- const hiddenTagsPopupRef = _react.useRef.call(void 0, null);
736
- const isInvalid = invalid || !!error;
737
- _react.useImperativeHandle.call(void 0, ref, () => containerRef.current);
738
- const selectedOptions = _react.useMemo.call(void 0, () => {
739
- return valueArray.map((v) => _nullishCoalesce(options.find((opt) => opt.value === v), () => ( { label: String(v), value: v })));
740
- }, [valueArray, options]);
741
- const selectedOption = !multiple && selectedOptions.length > 0 ? selectedOptions[0] : null;
742
- const resolvedStartAdornment = _nullishCoalesce(_nullishCoalesce(startAdornment, () => ( _optionalChain([selectedOption, 'optionalAccess', _3 => _3.icon]))), () => ( null));
743
- const inputPlaceholder = multiple ? valueArray.length === 0 ? placeholder : "Add More..." : placeholder;
744
- const {
745
- visibleCount: autoVisibleCount,
746
- middleRef,
747
- measureRef,
748
- textMeasureRef,
749
- badgeRef,
750
- inputRef
751
- } = _chunkJO5TLJPMcjs.useAutoLimitTags.call(void 0, {
752
- count: multiple ? selectedOptions.length : 0,
753
- limitTags: multiple ? limitTagsProp : 0,
754
- placeholder: inputPlaceholder
755
- });
756
- const visibleCount = multiple ? autoVisibleCount : 0;
757
- const visibleTags = multiple ? selectedOptions.slice(0, visibleCount) : [];
758
- const hiddenTags = multiple ? selectedOptions.slice(visibleCount) : [];
759
- const hiddenTagsCount = multiple ? selectedOptions.length - visibleCount : 0;
760
- const [showHiddenTags, setShowHiddenTags] = _react.useState.call(void 0, false);
761
- const hiddenTagsRef = _react.useRef.call(void 0, null);
762
- _react.useEffect.call(void 0, () => {
763
- if (!showHiddenTags) return void 0;
764
- const handleClick = (e) => {
765
- const target = e.target;
766
- const inButton = _optionalChain([hiddenTagsRef, 'access', _4 => _4.current, 'optionalAccess', _5 => _5.contains, 'call', _6 => _6(target)]);
767
- const inPopup = _optionalChain([hiddenTagsPopupRef, 'access', _7 => _7.current, 'optionalAccess', _8 => _8.contains, 'call', _9 => _9(target)]);
768
- if (!inButton && !inPopup) {
769
- setShowHiddenTags(false);
770
- }
771
- };
772
- document.addEventListener("mousedown", handleClick);
773
- return () => document.removeEventListener("mousedown", handleClick);
774
- }, [showHiddenTags]);
775
- const openDropdown = () => {
776
- if (!multiple && !clearOnOpen && selectedOption) {
777
- updateInputValue(selectedOption.label, "reset");
778
- }
779
- setShowHiddenTags(false);
780
- setIsOpen(true);
781
- };
782
- const inputDisplayValue = !multiple && !isOpen && selectedOption ? selectedOption.label : inputValue;
783
- const filteredOptions = _react.useMemo.call(void 0, () => {
784
- if (disableClientFilter) {
785
- return options;
786
- }
787
- if (filterOptions) {
788
- return filterOptions(options, inputValue);
789
- }
790
- if (!inputValue.trim()) {
791
- return options;
792
- }
793
- const lowerInput = inputValue.toLowerCase();
794
- return options.filter((opt) => opt.label.toLowerCase().includes(lowerInput));
795
- }, [options, inputValue, filterOptions, disableClientFilter]);
796
- const showCreateOption = creatable && inputValue.trim().length > 0 && filteredOptions.length === 0;
797
- const isCreateTooLong = maxCreateLength != null && inputValue.trim().length > maxCreateLength;
798
- const handleCreate = () => {
799
- const trimmed = inputValue.trim();
800
- if (!trimmed || maxCreateLength != null && trimmed.length > maxCreateLength) return;
801
- const newValue = trimmed;
802
- if (multiple) {
803
- if (maxItems && valueArray.length >= maxItems) return;
804
- props.onChange([...valueArray, newValue]);
805
- } else {
806
- props.onChange(newValue);
807
- }
808
- updateInputValue("", "reset");
809
- setIsOpen(false);
810
- _optionalChain([onCreateOption, 'optionalCall', _10 => _10(trimmed)]);
811
- };
812
- const [highlightedFor, setHighlightedFor] = _react.useState.call(void 0, filteredOptions.length);
813
- if (highlightedFor !== filteredOptions.length) {
814
- setHighlightedFor(filteredOptions.length);
815
- setHighlightedIndex(-1);
816
- }
817
- const handleInputChange = (e) => {
818
- updateInputValue(e.target.value, "input");
819
- if (!isOpen) {
820
- setIsOpen(true);
821
- }
822
- setHighlightedIndex(-1);
823
- };
824
- const handleSelect = (option) => {
825
- if (multiple) {
826
- const isSelected = valueArray.includes(option.value);
827
- if (isSelected) {
828
- props.onChange(valueArray.filter((v) => v !== option.value));
829
- } else {
830
- if (maxItems && valueArray.length >= maxItems) {
831
- return;
832
- }
833
- props.onChange([...valueArray, option.value]);
834
- }
835
- updateInputValue("", "reset");
836
- _optionalChain([inputRef, 'access', _11 => _11.current, 'optionalAccess', _12 => _12.focus, 'call', _13 => _13()]);
837
- } else {
838
- props.onChange(option.value);
839
- updateInputValue(clearOnOpen ? "" : option.label, "reset");
840
- setIsOpen(false);
841
- }
842
- };
843
- const handleClearAll = (e) => {
844
- e.stopPropagation();
845
- e.preventDefault();
846
- if (multiple) {
847
- props.onChange([]);
848
- } else {
849
- props.onChange(null);
850
- }
851
- if (!isInputControlled) {
852
- setInternalInputValue("");
853
- }
854
- _optionalChain([onInputChange, 'optionalCall', _14 => _14("", "clear")]);
855
- setIsOpen(false);
856
- };
857
- const handleKeyDown = (e) => {
858
- switch (e.key) {
859
- case "ArrowDown":
860
- e.preventDefault();
861
- if (!isOpen) {
862
- openDropdown();
863
- }
864
- setHighlightedIndex((prev) => prev < filteredOptions.length - 1 ? prev + 1 : 0);
865
- break;
866
- case "ArrowUp":
867
- e.preventDefault();
868
- setHighlightedIndex((prev) => prev > 0 ? prev - 1 : filteredOptions.length - 1);
869
- break;
870
- case "Enter":
871
- e.preventDefault();
872
- if (showCreateOption) {
873
- handleCreate();
874
- } else if (highlightedIndex >= 0 && filteredOptions[highlightedIndex]) {
875
- handleSelect(filteredOptions[highlightedIndex]);
876
- } else if (freeSolo && inputValue.trim()) {
877
- const newOption = {
878
- label: inputValue.trim(),
879
- value: inputValue.trim()
880
- };
881
- handleSelect(newOption);
882
- }
883
- break;
884
- case "Escape": {
885
- const resetValue = !multiple && !clearOnOpen && selectedOption ? selectedOption.label : "";
886
- updateInputValue(resetValue, "reset");
887
- setIsOpen(false);
888
- setHighlightedIndex(-1);
889
- break;
890
- }
891
- case "Backspace":
892
- break;
893
- }
894
- };
895
- const handleOpenChange = (open) => {
896
- if (open) {
897
- openDropdown();
898
- } else {
899
- const resetValue = !multiple && !clearOnOpen && selectedOption ? selectedOption.label : "";
900
- updateInputValue(resetValue, "reset");
901
- setIsOpen(false);
902
- }
903
- };
904
- const canAddMore = multiple ? !maxItems || valueArray.length < maxItems : true;
905
- const hasValue = valueArray.length > 0;
906
- const popover = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, PopoverPrimitive.Root, { open: isOpen, onOpenChange: handleOpenChange, modal: false, children: [
907
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive.Anchor, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
908
- "div",
909
- {
910
- "data-invalid": isInvalid || void 0,
911
- className: _chunk3ATAYP36cjs.cn.call(void 0,
912
- // Layout — single line, no wrapping
913
- "flex min-h-11 cursor-text items-center rounded-[6px] border md:min-h-12",
914
- "focus-within:outline-none",
915
- "transition-colors duration-200",
916
- "border-ods-border bg-ods-card",
917
- "group",
918
- !disabled && "hover:border-ods-border-hover hover:bg-ods-bg-hover active:border-ods-border-active active:bg-ods-bg-active",
919
- disabled && "!cursor-not-allowed bg-ods-bg",
920
- // Adornments / chevron carry their own colour — grey them with the
921
- // value so a disabled field reads as one flat colour. Scoped to the
922
- // DIRECT span child (the start adornment) on purpose: as a descendant
923
- // rule it also hit the selected `Tag` chips in the middle zone, whose
924
- // label is a span, and they went invisible against their own fill in
925
- // the light theme. Anything nested inside the adornment that sets its
926
- // own colour keeps it; anything that doesn't inherits the grey.
927
- "has-[:disabled]:[&>span]:text-ods-text-disabled has-[:disabled]:[&_svg]:text-ods-text-disabled",
928
- isOpen && !isInvalid && "border-ods-accent hover:border-ods-accent",
929
- isInvalid && "border-ods-error hover:border-ods-error"
930
- ),
931
- onClick: () => {
932
- if (!disabled) {
933
- _optionalChain([inputRef, 'access', _15 => _15.current, 'optionalAccess', _16 => _16.focus, 'call', _17 => _17()]);
934
- openDropdown();
935
- }
936
- },
937
- children: [
938
- resolvedStartAdornment && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
939
- "span",
940
- {
941
- className: _chunk3ATAYP36cjs.cn.call(void 0,
942
- // Images are sized alongside svgs: an entity adornment is
943
- // usually a flag or a crest, and an unconstrained <img> lays
944
- // out at 0x0 inside this flex row.
945
- "flex-shrink-0 pl-3 text-ods-text-secondary transition-colors duration-200",
946
- "[&_img]:size-4 [&_img]:object-contain md:[&_img]:size-6 [&_svg]:size-4 md:[&_svg]:size-6",
947
- isOpen && !isInvalid && "text-ods-accent",
948
- isInvalid && "text-ods-error"
949
- ),
950
- children: resolvedStartAdornment
951
- }
952
- ),
953
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2", children: [
954
- multiple && visibleTags.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
955
- _chunkF5BPGWGTcjs.Tag,
956
- {
957
- variant: "outline",
958
- labelClassName: "max-w-[90px] truncate",
959
- label: renderTag ? renderTag(option) : option.label,
960
- onClose: !disabled ? () => {
961
- props.onChange(valueArray.filter((v) => v !== option.value));
962
- } : void 0
963
- },
964
- String(option.value)
965
- )),
966
- multiple && hiddenTagsCount > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: hiddenTagsRef, className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
967
- "button",
968
- {
969
- ref: badgeRef,
970
- type: "button",
971
- onClick: (e) => {
972
- e.stopPropagation();
973
- setShowHiddenTags((prev) => {
974
- if (!prev) setIsOpen(false);
975
- return !prev;
976
- });
977
- },
978
- className: _chunk3ATAYP36cjs.cn.call(void 0,
979
- "flex h-8 items-center px-2",
980
- "rounded-[6px] border border-ods-border bg-ods-card",
981
- "text-ods-text-secondary text-h5",
982
- "cursor-pointer transition-colors hover:bg-ods-bg-hover"
983
- ),
984
- children: getLimitTagsText(hiddenTagsCount)
985
- }
986
- ) }),
987
- canAddMore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
988
- "input",
989
- {
990
- ref: inputRef,
991
- type: "text",
992
- value: inputDisplayValue,
993
- onChange: handleInputChange,
994
- onKeyDown: handleKeyDown,
995
- onFocus: () => openDropdown(),
996
- placeholder: inputPlaceholder,
997
- disabled,
998
- className: innerInputStyles
999
- }
1000
- )
1001
- ] }),
1002
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-1 pr-3", children: [
1003
- showClearAll && (hasValue || inputValue.length > 0) && !disabled && isOpen && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1004
- "button",
1005
- {
1006
- type: "button",
1007
- onClick: handleClearAll,
1008
- className: "flex items-center justify-center transition-opacity hover:opacity-70",
1009
- "aria-label": "Clear all",
1010
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.XmarkCircleIcon, { className: "size-4 text-ods-text-secondary md:size-6" })
1011
- }
1012
- ),
1013
- loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1014
- _lucidereact.Loader2,
1015
- {
1016
- className: _chunk3ATAYP36cjs.cn.call(void 0,
1017
- "size-4 animate-spin md:size-6",
1018
- isInvalid ? "text-ods-error" : isOpen ? "text-ods-accent" : "text-ods-text-secondary"
1019
- )
1020
- }
1021
- ) : showChevron && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1022
- _chunkVX4E6YSBcjs.Chevron02DownIcon,
1023
- {
1024
- className: _chunk3ATAYP36cjs.cn.call(void 0,
1025
- "size-4 transition-all duration-200 md:size-6",
1026
- "text-ods-text-secondary",
1027
- isOpen && "rotate-180",
1028
- isOpen && !isInvalid && "text-ods-accent",
1029
- isInvalid && "text-ods-error"
1030
- )
1031
- }
1032
- )
1033
- ] })
1034
- ]
1035
- }
1036
- ) }),
1037
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1038
- PopoverPrimitive.Content,
1039
- {
1040
- className: _chunk3ATAYP36cjs.cn.call(void 0,
1041
- "z-50 mt-1 w-[var(--radix-popover-trigger-width)]",
1042
- "rounded-[4px] border border-ods-border bg-ods-card",
1043
- "flex max-h-[var(--radix-popper-available-height)] flex-col overflow-hidden",
1044
- "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
1045
- "data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2",
1046
- dropdownClassName
1047
- ),
1048
- sideOffset: 4,
1049
- align: "start",
1050
- collisionPadding: { bottom: keyboardPadding },
1051
- onOpenAutoFocus: (e) => {
1052
- e.preventDefault();
1053
- _optionalChain([inputRef, 'access', _18 => _18.current, 'optionalAccess', _19 => _19.focus, 'call', _20 => _20()]);
1054
- },
1055
- onInteractOutside: (e) => {
1056
- if (_optionalChain([containerRef, 'access', _21 => _21.current, 'optionalAccess', _22 => _22.contains, 'call', _23 => _23(e.target)])) {
1057
- e.preventDefault();
1058
- }
1059
- },
1060
- children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, ScrollAreaPrimitive.Root, { className: "flex min-h-0 flex-col overflow-hidden", children: [
1061
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScrollAreaPrimitive.Viewport, { className: "max-h-[240px] min-h-0 w-full [&>div]:!block", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { role: "listbox", children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-3 py-2 text-ods-text-secondary text-h6", children: loadingText }) : filteredOptions.length === 0 ? showCreateOption ? isCreateTooLong ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-11 min-w-0 items-center px-[var(--spacing-system-mf)] text-ods-error text-h5 md:h-12", children: [
1062
- "Maximum ",
1063
- maxCreateLength,
1064
- " characters"
1065
- ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1066
- "div",
1067
- {
1068
- role: "option",
1069
- "aria-selected": false,
1070
- className: _chunk3ATAYP36cjs.cn.call(void 0,
1071
- "flex h-11 min-w-0 cursor-pointer items-center px-[var(--spacing-system-mf)] transition-colors md:h-12",
1072
- "text-ods-accent text-h4",
1073
- "hover:bg-ods-bg-hover"
1074
- ),
1075
- onClick: handleCreate,
1076
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { className: "text-current", children: `+ Create "${inputValue.trim()}"` })
1077
- }
1078
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-3 py-2 text-ods-text-secondary text-h6", children: freeSolo && inputValue.trim() ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { children: [
1079
- 'Press Enter to add "',
1080
- inputValue,
1081
- '"'
1082
- ] }) : noOptionsText }) : filteredOptions.map((option, index) => {
1083
- const isSelected = valueArray.includes(option.value);
1084
- const isHighlighted = index === highlightedIndex;
1085
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1086
- "div",
1087
- {
1088
- role: "option",
1089
- "aria-selected": isSelected,
1090
- className: _chunk3ATAYP36cjs.cn.call(void 0,
1091
- // `min-h` rather than a fixed height: an option may carry
1092
- // a second line, and a clipped one is worse than a taller row.
1093
- "group/item flex min-h-11 cursor-pointer items-center border-b border-ods-border px-[var(--spacing-system-mf)] py-[var(--spacing-system-xsf)] transition-colors last:border-b-0 md:min-h-12",
1094
- "text-h4",
1095
- isHighlighted && "bg-ods-bg-surface",
1096
- isSelected ? "text-ods-accent" : "text-ods-text-primary",
1097
- !isHighlighted && "hover:bg-ods-bg-hover"
1098
- ),
1099
- onClick: () => handleSelect(option),
1100
- onMouseEnter: () => setHighlightedIndex(index),
1101
- children: renderOption ? renderOption(option, isSelected) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
1102
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
1103
- option.icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex size-5 shrink-0 items-center justify-center overflow-hidden [&_img]:size-full [&_img]:object-contain [&_svg]:size-full", children: option.icon }),
1104
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
1105
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { className: "text-current", children: option.label }),
1106
- typeof option.description === "string" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { tone: "secondary", variant: "h6", children: option.description }) : option.description
1107
- ] })
1108
- ] }),
1109
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xsf)]", children: [
1110
- isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CheckIcon, { className: "text-ods-accent", size: 20 }),
1111
- onDeleteOption && !isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1112
- "button",
1113
- {
1114
- type: "button",
1115
- "aria-label": `Delete ${option.label}`,
1116
- onClick: (e) => {
1117
- e.stopPropagation();
1118
- onDeleteOption(option.value);
1119
- },
1120
- disabled: isDeletingOption,
1121
- className: "opacity-0 transition-opacity focus-visible:opacity-100 disabled:pointer-events-none disabled:opacity-50 group-hover/item:opacity-100",
1122
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.TrashIcon, { className: "size-4 text-ods-error" })
1123
- }
1124
- )
1125
- ] })
1126
- ] })
1127
- },
1128
- String(option.value)
1129
- );
1130
- }) }) }),
1131
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScrollAreaPrimitive.Scrollbar, { className: "hidden", orientation: "vertical", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScrollAreaPrimitive.Thumb, {}) })
1132
- ] })
1133
- }
1134
- )
1135
- ] });
1136
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1137
- _chunkXXBLN4BPcjs.FieldWrapper,
1138
- {
1139
- label,
1140
- labelVariant,
1141
- error,
1142
- errorSlot: "error" in props,
1143
- className,
1144
- children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative", ref: containerRef, children: [
1145
- popover,
1146
- multiple && showHiddenTags && hiddenTagsCount > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1147
- HiddenTagsPopup,
1148
- {
1149
- ref: hiddenTagsPopupRef,
1150
- items: hiddenTags,
1151
- disabled,
1152
- className: "left-auto right-0 max-w-full",
1153
- onRemove: (value) => {
1154
- const newValue = valueArray.filter((v) => v !== value);
1155
- props.onChange(newValue);
1156
- if (typeof limitTagsProp === "number" && newValue.length <= limitTagsProp) setShowHiddenTags(false);
1157
- }
1158
- }
1159
- ),
1160
- multiple && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1161
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1162
- "span",
1163
- {
1164
- ref: textMeasureRef,
1165
- "aria-hidden": "true",
1166
- className: "pointer-events-none invisible absolute left-0 top-0 -z-10 whitespace-nowrap text-h4",
1167
- children: inputPlaceholder
1168
- }
1169
- ),
1170
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1171
- "div",
1172
- {
1173
- ref: measureRef,
1174
- "aria-hidden": "true",
1175
- className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
1176
- children: selectedOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1177
- _chunkF5BPGWGTcjs.Tag,
1178
- {
1179
- variant: "outline",
1180
- labelClassName: "max-w-[90px] truncate",
1181
- label: renderTag ? renderTag(option) : option.label,
1182
- onClose: () => {
1183
- }
1184
- },
1185
- `m-${String(option.value)}`
1186
- ))
1187
- }
1188
- )
1189
- ] })
1190
- ] })
1191
- }
1192
- );
1193
- }
1194
- var Autocomplete = _react.forwardRef.call(void 0, AutocompleteInner);
1195
-
1196
610
  // src/components/ui/timezone-select.tsx
1197
611
 
1198
612
 
@@ -1203,7 +617,7 @@ function timezoneLabel(tz) {
1203
617
  timeZone: tz,
1204
618
  timeZoneName: "shortOffset"
1205
619
  }).formatToParts(/* @__PURE__ */ new Date());
1206
- const offset = _nullishCoalesce(_optionalChain([parts, 'access', _24 => _24.find, 'call', _25 => _25((p) => p.type === "timeZoneName"), 'optionalAccess', _26 => _26.value]), () => ( ""));
620
+ const offset = _nullishCoalesce(_optionalChain([parts, 'access', _2 => _2.find, 'call', _3 => _3((p) => p.type === "timeZoneName"), 'optionalAccess', _4 => _4.value]), () => ( ""));
1207
621
  return offset ? `${name} (${offset})` : name;
1208
622
  } catch (e2) {
1209
623
  return name;
@@ -1230,7 +644,7 @@ function TimezoneSelect({
1230
644
  }) {
1231
645
  const options = _react.useMemo.call(void 0, () => timezoneOptions(value), [value]);
1232
646
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1233
- Autocomplete,
647
+ _chunkZ5UWW3Z2cjs.Autocomplete,
1234
648
  {
1235
649
  className,
1236
650
  value: value || null,
@@ -1405,14 +819,14 @@ var CheckboxWithDescription = _react.forwardRef.call(void 0,
1405
819
  CheckboxWithDescription.displayName = "CheckboxWithDescription";
1406
820
 
1407
821
  // src/components/ui/date-picker.tsx
1408
-
822
+ var _reactpopover = require('@radix-ui/react-popover'); var Popover = _interopRequireWildcard(_reactpopover); var PopoverPrimitive = _interopRequireWildcard(_reactpopover); var PopoverPrimitive2 = _interopRequireWildcard(_reactpopover); var PopoverPrimitive3 = _interopRequireWildcard(_reactpopover); var PopoverPrimitive4 = _interopRequireWildcard(_reactpopover); var PopoverPrimitive5 = _interopRequireWildcard(_reactpopover); var PopoverPrimitive6 = _interopRequireWildcard(_reactpopover);
1409
823
 
1410
824
 
1411
825
  var _reactdaypicker = require('react-day-picker');
1412
826
 
1413
827
  var defaultFormatDate = (date) => _chunkF5BPGWGTcjs.formatDateWithTimezone.call(void 0, date, _chunkF5BPGWGTcjs.VIEWER_TIMEZONE, "numeric");
1414
828
  var formatDateRange = (range, formatFn) => {
1415
- if (!_optionalChain([range, 'optionalAccess', _27 => _27.from])) return "";
829
+ if (!_optionalChain([range, 'optionalAccess', _5 => _5.from])) return "";
1416
830
  if (!range.to) return formatFn(range.from);
1417
831
  return `${formatFn(range.from)} - ${formatFn(range.to)}`;
1418
832
  };
@@ -1460,16 +874,16 @@ function DatePickerCalendar({
1460
874
  }
1461
875
  }
1462
876
  const rangeSelected = draftRange;
1463
- const hasCompleteRange = mode === "range" && !!_optionalChain([rangeSelected, 'optionalAccess', _28 => _28.from]) && !!_optionalChain([rangeSelected, 'optionalAccess', _29 => _29.to]) && rangeSelected.from.getTime() !== rangeSelected.to.getTime();
877
+ const hasCompleteRange = mode === "range" && !!_optionalChain([rangeSelected, 'optionalAccess', _6 => _6.from]) && !!_optionalChain([rangeSelected, 'optionalAccess', _7 => _7.to]) && rangeSelected.from.getTime() !== rangeSelected.to.getTime();
1464
878
  const isPreviewDate = (date) => {
1465
- if (!_optionalChain([draftRange, 'optionalAccess', _30 => _30.from]) || draftRange.to || !hoveredDate) return false;
879
+ if (!_optionalChain([draftRange, 'optionalAccess', _8 => _8.from]) || draftRange.to || !hoveredDate) return false;
1466
880
  const start = Math.min(draftRange.from.getTime(), hoveredDate.getTime());
1467
881
  const end = Math.max(draftRange.from.getTime(), hoveredDate.getTime());
1468
882
  return date.getTime() >= start && date.getTime() <= end;
1469
883
  };
1470
884
  const handleRangeSelect = (triggerDate) => {
1471
885
  if (!triggerDate) return;
1472
- if (!_optionalChain([draftRange, 'optionalAccess', _31 => _31.from]) || draftRange.to) {
886
+ if (!_optionalChain([draftRange, 'optionalAccess', _9 => _9.from]) || draftRange.to) {
1473
887
  const started = { from: triggerDate, to: void 0 };
1474
888
  setDraftRange(started);
1475
889
  onSelect(started);
@@ -1495,7 +909,7 @@ function DatePickerCalendar({
1495
909
  return !!picked && dayNumber(picked) === n;
1496
910
  }
1497
911
  const range = rangeSelected;
1498
- if (!_optionalChain([range, 'optionalAccess', _32 => _32.from])) return false;
912
+ if (!_optionalChain([range, 'optionalAccess', _10 => _10.from])) return false;
1499
913
  if (!range.to) return dayNumber(range.from) === n;
1500
914
  return n >= dayNumber(range.from) && n <= dayNumber(range.to);
1501
915
  };
@@ -1584,12 +998,12 @@ function DatePickerCalendar({
1584
998
  range_middle: "range-middle !bg-ods-open-yellow-light !text-ods-card !font-medium !rounded-none hover:!bg-ods-open-yellow-light"
1585
999
  };
1586
1000
  const [uncontrolledMonth, setUncontrolledMonth] = _react.useState.call(void 0,
1587
- mode === "single" ? selected || today : _optionalChain([selected, 'optionalAccess', _33 => _33.from]) || today
1001
+ mode === "single" ? selected || today : _optionalChain([selected, 'optionalAccess', _11 => _11.from]) || today
1588
1002
  );
1589
1003
  const month = _nullishCoalesce(monthProp, () => ( uncontrolledMonth));
1590
1004
  const changeMonth = (next) => {
1591
1005
  setUncontrolledMonth(next);
1592
- _optionalChain([onMonthChange, 'optionalCall', _34 => _34(next)]);
1006
+ _optionalChain([onMonthChange, 'optionalCall', _12 => _12(next)]);
1593
1007
  };
1594
1008
  const disabledDays = _react.useMemo.call(void 0, () => {
1595
1009
  const matchers = [];
@@ -1831,14 +1245,14 @@ function DatePicker(props) {
1831
1245
  }, [props.mode, props.value, formatDate3]);
1832
1246
  const handleSelect = (value) => {
1833
1247
  if (props.mode === "single") {
1834
- _optionalChain([props, 'access', _35 => _35.onChange, 'optionalCall', _36 => _36(value)]);
1248
+ _optionalChain([props, 'access', _13 => _13.onChange, 'optionalCall', _14 => _14(value)]);
1835
1249
  if (value) {
1836
1250
  setOpen(false);
1837
1251
  }
1838
1252
  } else {
1839
1253
  const range = value;
1840
- _optionalChain([props, 'access', _37 => _37.onChange, 'optionalCall', _38 => _38(range)]);
1841
- if (_optionalChain([range, 'optionalAccess', _39 => _39.from]) && _optionalChain([range, 'optionalAccess', _40 => _40.to])) {
1254
+ _optionalChain([props, 'access', _15 => _15.onChange, 'optionalCall', _16 => _16(range)]);
1255
+ if (_optionalChain([range, 'optionalAccess', _17 => _17.from]) && _optionalChain([range, 'optionalAccess', _18 => _18.to])) {
1842
1256
  setOpen(false);
1843
1257
  }
1844
1258
  }
@@ -1953,7 +1367,7 @@ function DatePickerInput(props) {
1953
1367
  if (newDate && value) {
1954
1368
  newDate.setHours(value.getHours(), value.getMinutes(), 0, 0);
1955
1369
  }
1956
- _optionalChain([onChange, 'optionalCall', _41 => _41(newDate)]);
1370
+ _optionalChain([onChange, 'optionalCall', _19 => _19(newDate)]);
1957
1371
  if (newDate) {
1958
1372
  setOpen(false);
1959
1373
  }
@@ -1970,12 +1384,12 @@ function DatePickerInput(props) {
1970
1384
  }
1971
1385
  }
1972
1386
  date.setHours(hours);
1973
- _optionalChain([onChange, 'optionalCall', _42 => _42(date)]);
1387
+ _optionalChain([onChange, 'optionalCall', _20 => _20(date)]);
1974
1388
  };
1975
1389
  const handleMinuteChange = (newMinute) => {
1976
1390
  const date = value ? new Date(value) : /* @__PURE__ */ new Date();
1977
1391
  date.setMinutes(parseInt(newMinute, 10));
1978
- _optionalChain([onChange, 'optionalCall', _43 => _43(date)]);
1392
+ _optionalChain([onChange, 'optionalCall', _21 => _21(date)]);
1979
1393
  };
1980
1394
  const handlePeriodChange = (newPeriod) => {
1981
1395
  const date = value ? new Date(value) : /* @__PURE__ */ new Date();
@@ -1986,7 +1400,7 @@ function DatePickerInput(props) {
1986
1400
  hours += 12;
1987
1401
  }
1988
1402
  date.setHours(hours);
1989
- _optionalChain([onChange, 'optionalCall', _44 => _44(date)]);
1403
+ _optionalChain([onChange, 'optionalCall', _22 => _22(date)]);
1990
1404
  };
1991
1405
  const hourOptions = _react.useMemo.call(void 0, () => generateHourOptions(use24HourFormat), [use24HourFormat]);
1992
1406
  const minuteOptions = _react.useMemo.call(void 0, () => generateMinuteOptions(), []);
@@ -2048,20 +1462,20 @@ function DatePickerInput(props) {
2048
1462
  ) })
2049
1463
  ] }),
2050
1464
  showTime && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1", children: [
2051
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPPXR22YCcjs.Select, { value: hour, onValueChange: handleHourChange, disabled, children: [
2052
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectTrigger, { className: _chunk3ATAYP36cjs.cn.call(void 0, timeSelectTriggerStyles, "w-[80px]"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectValue, { placeholder: "HH" }) }),
2053
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectContent, { children: hourOptions.map((h) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: h, children: h }, h)) })
1465
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZ5UWW3Z2cjs.Select, { value: hour, onValueChange: handleHourChange, disabled, children: [
1466
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectTrigger, { className: _chunk3ATAYP36cjs.cn.call(void 0, timeSelectTriggerStyles, "w-[80px]"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectValue, { placeholder: "HH" }) }),
1467
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectContent, { children: hourOptions.map((h) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: h, children: h }, h)) })
2054
1468
  ] }),
2055
1469
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary text-h4", children: ":" }),
2056
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPPXR22YCcjs.Select, { value: minute, onValueChange: handleMinuteChange, disabled, children: [
2057
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectTrigger, { className: _chunk3ATAYP36cjs.cn.call(void 0, timeSelectTriggerStyles, "w-[80px]"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectValue, { placeholder: "MM" }) }),
2058
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectContent, { children: minuteOptions.map((m) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: m, children: m }, m)) })
1470
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZ5UWW3Z2cjs.Select, { value: minute, onValueChange: handleMinuteChange, disabled, children: [
1471
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectTrigger, { className: _chunk3ATAYP36cjs.cn.call(void 0, timeSelectTriggerStyles, "w-[80px]"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectValue, { placeholder: "MM" }) }),
1472
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectContent, { children: minuteOptions.map((m) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: m, children: m }, m)) })
2059
1473
  ] }),
2060
- !use24HourFormat && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPPXR22YCcjs.Select, { value: period, onValueChange: (val) => handlePeriodChange(val), disabled, children: [
2061
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectTrigger, { className: _chunk3ATAYP36cjs.cn.call(void 0, timeSelectTriggerStyles, "w-[80px]"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectValue, { placeholder: "AM" }) }),
2062
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPPXR22YCcjs.SelectContent, { children: [
2063
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: "AM", children: "AM" }),
2064
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: "PM", children: "PM" })
1474
+ !use24HourFormat && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZ5UWW3Z2cjs.Select, { value: period, onValueChange: (val) => handlePeriodChange(val), disabled, children: [
1475
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectTrigger, { className: _chunk3ATAYP36cjs.cn.call(void 0, timeSelectTriggerStyles, "w-[80px]"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectValue, { placeholder: "AM" }) }),
1476
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZ5UWW3Z2cjs.SelectContent, { children: [
1477
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: "AM", children: "AM" }),
1478
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: "PM", children: "PM" })
2065
1479
  ] })
2066
1480
  ] })
2067
1481
  ] })
@@ -2131,7 +1545,7 @@ function DatePickerInputSimple(props) {
2131
1545
  if (newDate && value) {
2132
1546
  newDate.setHours(value.getHours(), value.getMinutes(), 0, 0);
2133
1547
  }
2134
- _optionalChain([onChange, 'optionalCall', _45 => _45(newDate)]);
1548
+ _optionalChain([onChange, 'optionalCall', _23 => _23(newDate)]);
2135
1549
  if (newDate) {
2136
1550
  setOpen(false);
2137
1551
  }
@@ -2140,7 +1554,7 @@ function DatePickerInputSimple(props) {
2140
1554
  const [hours, minutes] = newTime.split(":").map(Number);
2141
1555
  const date = value ? new Date(value) : /* @__PURE__ */ new Date();
2142
1556
  date.setHours(hours, minutes, 0, 0);
2143
- _optionalChain([onChange, 'optionalCall', _46 => _46(date)]);
1557
+ _optionalChain([onChange, 'optionalCall', _24 => _24(date)]);
2144
1558
  };
2145
1559
  const timeOptions = _react.useMemo.call(void 0,
2146
1560
  () => generateTimeOptions(timeInterval, use24HourFormat),
@@ -2203,9 +1617,9 @@ function DatePickerInputSimple(props) {
2203
1617
  }
2204
1618
  ) })
2205
1619
  ] }),
2206
- showTime && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPPXR22YCcjs.Select, { value: timeValue, onValueChange: handleTimeChange, disabled, children: [
2207
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectTrigger, { className: _chunk3ATAYP36cjs.cn.call(void 0, timeSelectTriggerStyles, "flex-1"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectValue, { placeholder: "Select time", children: timeDisplayLabel || "Select time" }) }),
2208
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectContent, { children: timeOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: option.value, children: option.label }, option.value)) })
1620
+ showTime && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZ5UWW3Z2cjs.Select, { value: timeValue, onValueChange: handleTimeChange, disabled, children: [
1621
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectTrigger, { className: _chunk3ATAYP36cjs.cn.call(void 0, timeSelectTriggerStyles, "flex-1"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectValue, { placeholder: "Select time", children: timeDisplayLabel || "Select time" }) }),
1622
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectContent, { children: timeOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: option.value, children: option.label }, option.value)) })
2209
1623
  ] })
2210
1624
  ] });
2211
1625
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXXBLN4BPcjs.FieldWrapper, { label, error, errorSlot: "error" in props, className, children: content });
@@ -2224,14 +1638,14 @@ function DateFilterPanel({
2224
1638
  className
2225
1639
  }) {
2226
1640
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex flex-col gap-4", className), children: [
2227
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPPXR22YCcjs.Select, { value: sort, onValueChange: (value) => onSortChange(value), children: [
2228
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectTrigger, { className: "gap-2", "aria-label": "Sort direction", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-2", children: [
1641
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZ5UWW3Z2cjs.Select, { value: sort, onValueChange: (value) => onSortChange(value), children: [
1642
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectTrigger, { className: "gap-2", "aria-label": "Sort direction", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-2", children: [
2229
1643
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ArrowUpDown, { className: "size-6 shrink-0 text-ods-text-secondary" }),
2230
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectValue, {}) })
1644
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectValue, {}) })
2231
1645
  ] }) }),
2232
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPPXR22YCcjs.SelectContent, { children: [
2233
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: "asc", children: ascLabel }),
2234
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: "desc", children: descLabel })
1646
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZ5UWW3Z2cjs.SelectContent, { children: [
1647
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: "asc", children: ascLabel }),
1648
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: "desc", children: descLabel })
2235
1649
  ] })
2236
1650
  ] }),
2237
1651
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -2279,25 +1693,25 @@ function DateFilterMenu({
2279
1693
  if (next) {
2280
1694
  resetDraft();
2281
1695
  } else {
2282
- _optionalChain([onClose, 'optionalCall', _47 => _47()]);
1696
+ _optionalChain([onClose, 'optionalCall', _25 => _25()]);
2283
1697
  }
2284
1698
  setOpen(next);
2285
1699
  };
2286
1700
  const handleApply = () => {
2287
1701
  const result = mode === "single" ? { sort: draftSort, date: draftSelected } : { sort: draftSort, range: draftSelected };
2288
- _optionalChain([onApply, 'optionalCall', _48 => _48(result)]);
1702
+ _optionalChain([onApply, 'optionalCall', _26 => _26(result)]);
2289
1703
  setOpen(false);
2290
1704
  };
2291
1705
  const handleClose = () => {
2292
- _optionalChain([onClose, 'optionalCall', _49 => _49()]);
1706
+ _optionalChain([onClose, 'optionalCall', _27 => _27()]);
2293
1707
  setOpen(false);
2294
1708
  };
2295
- const hasSelection = mode === "single" ? Boolean(draftSelected) : Boolean(_optionalChain([draftSelected, 'optionalAccess', _50 => _50.from]));
1709
+ const hasSelection = mode === "single" ? Boolean(draftSelected) : Boolean(_optionalChain([draftSelected, 'optionalAccess', _28 => _28.from]));
2296
1710
  const hasChanges = hasSelection || draftSort !== defaultSort;
2297
1711
  const handleReset = () => {
2298
1712
  setDraftSort(defaultSort);
2299
1713
  setDraftSelected(void 0);
2300
- _optionalChain([onApply, 'optionalCall', _51 => _51(mode === "single" ? { sort: defaultSort, date: void 0 } : { sort: defaultSort, range: void 0 })]);
1714
+ _optionalChain([onApply, 'optionalCall', _29 => _29(mode === "single" ? { sort: defaultSort, date: void 0 } : { sort: defaultSort, range: void 0 })]);
2301
1715
  };
2302
1716
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Popover.Root, { open, onOpenChange: handleOpenChange, children: [
2303
1717
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Popover.Trigger, { asChild: true, children: _nullishCoalesce(trigger, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -2374,7 +1788,7 @@ function DurationInput({ value, onChange, invalid, className }) {
2374
1788
  setSegments((prev) => compose(prev) === value ? prev : split(value));
2375
1789
  }
2376
1790
  const focusSegment = (i) => {
2377
- const el = _optionalChain([refs, 'access', _52 => _52[i], 'optionalAccess', _53 => _53.current]);
1791
+ const el = _optionalChain([refs, 'access', _30 => _30[i], 'optionalAccess', _31 => _31.current]);
2378
1792
  if (!el) return;
2379
1793
  el.focus();
2380
1794
  el.select();
@@ -2690,7 +2104,7 @@ function InfoCardFooter({ footer }) {
2690
2104
  ] });
2691
2105
  }
2692
2106
  function InfoCardValueRow({ label, value, showLabel, copyable, icon, copyAriaLabel }) {
2693
- const { copy, copied } = _chunkJO5TLJPMcjs.useCopyToClipboard.call(void 0, );
2107
+ const { copy, copied } = _chunkZXCZYMN4cjs.useCopyToClipboard.call(void 0, );
2694
2108
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-6 w-full items-center gap-[var(--spacing-system-xs)] self-stretch", children: [
2695
2109
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap text-ods-text-primary text-h4", children: showLabel ? label : "" }),
2696
2110
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-px flex-1 bg-ods-divider" }),
@@ -2752,7 +2166,7 @@ function SearchableSelect({
2752
2166
  }) {
2753
2167
  const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
2754
2168
  const [search, setSearch] = _react.useState.call(void 0, "");
2755
- const keyboardPadding = _chunkJO5TLJPMcjs.useKeyboardCollisionPadding.call(void 0, );
2169
+ const keyboardPadding = _chunkA6P6DHEZcjs.useKeyboardCollisionPadding.call(void 0, );
2756
2170
  if (!isOpen && search !== "") setSearch("");
2757
2171
  const filtered = _react.useMemo.call(void 0, () => {
2758
2172
  const q = search.trim().toLowerCase();
@@ -2795,10 +2209,10 @@ function SearchableSelect({
2795
2209
  ]
2796
2210
  }
2797
2211
  );
2798
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, PopoverPrimitive2.Root, { open: isOpen, onOpenChange: disabled ? void 0 : setIsOpen, modal: false, children: [
2799
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive2.Trigger, { asChild: true, children: _nullishCoalesce(trigger, () => ( defaultTrigger)) }),
2800
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive2.Portal, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2801
- PopoverPrimitive2.Content,
2212
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, PopoverPrimitive.Root, { open: isOpen, onOpenChange: disabled ? void 0 : setIsOpen, modal: false, children: [
2213
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive.Trigger, { asChild: true, children: _nullishCoalesce(trigger, () => ( defaultTrigger)) }),
2214
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive.Portal, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2215
+ PopoverPrimitive.Content,
2802
2216
  {
2803
2217
  align,
2804
2218
  sideOffset: 6,
@@ -2892,7 +2306,7 @@ function CompactAssigneeDropdown({
2892
2306
  return [current, ...withAvatars.filter((o) => o.value !== currentAssignee.id)];
2893
2307
  }, [options, currentAssignee]);
2894
2308
  const handleSelect = (userId) => {
2895
- onAssign(_optionalChain([currentAssignee, 'optionalAccess', _54 => _54.id]) === userId ? null : userId);
2309
+ onAssign(_optionalChain([currentAssignee, 'optionalAccess', _32 => _32.id]) === userId ? null : userId);
2896
2310
  };
2897
2311
  const handleTriggerClick = onTriggerClick ? (event) => {
2898
2312
  event.preventDefault();
@@ -2940,7 +2354,7 @@ function CompactAssigneeDropdown({
2940
2354
  SearchableSelect,
2941
2355
  {
2942
2356
  options: orderedOptions,
2943
- value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _55 => _55.id]), () => ( null)),
2357
+ value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _33 => _33.id]), () => ( null)),
2944
2358
  onValueChange: handleSelect,
2945
2359
  searchPlaceholder: "Search users...",
2946
2360
  emptyText: "No users found",
@@ -2974,10 +2388,10 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
2974
2388
  if (isEditing) {
2975
2389
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "min-w-0", className), children: [
2976
2390
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2977
- Autocomplete,
2391
+ _chunkZ5UWW3Z2cjs.Autocomplete,
2978
2392
  {
2979
2393
  options,
2980
- value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _56 => _56.id]), () => ( null)),
2394
+ value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _34 => _34.id]), () => ( null)),
2981
2395
  onChange: (val) => {
2982
2396
  onAssign(val);
2983
2397
  setIsEditing(false);
@@ -3210,15 +2624,15 @@ function MediaTypeSelector({
3210
2624
  // changed) and cost an extra render pass on every change to say what the
3211
2625
  // prop already said.
3212
2626
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
3213
- _chunkPPXR22YCcjs.Select,
2627
+ _chunkZ5UWW3Z2cjs.Select,
3214
2628
  {
3215
2629
  value: value || void 0,
3216
2630
  onValueChange,
3217
2631
  disabled,
3218
2632
  defaultValue: value,
3219
2633
  children: [
3220
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectTrigger, { className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectValue, { placeholder }) }),
3221
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectContent, { children: mediaTypeOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: option.value, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
2634
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectTrigger, { className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectValue, { placeholder }) }),
2635
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectContent, { children: mediaTypeOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: option.value, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
3222
2636
  option.icon,
3223
2637
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: option.label })
3224
2638
  ] }) }, option.value)) })
@@ -3336,7 +2750,7 @@ var NoData = _react2.default.forwardRef(function NoDataImpl({
3336
2750
  ...props
3337
2751
  }, ref) {
3338
2752
  const hasMessage = !!(icon || title || description);
3339
- const hasActions = !!_optionalChain([actions, 'optionalAccess', _57 => _57.length]);
2753
+ const hasActions = !!_optionalChain([actions, 'optionalAccess', _35 => _35.length]);
3340
2754
  const footerButton = _nullishCoalesce(button, () => ( (buttonLabel != null ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3341
2755
  _chunkDFQYAYBHcjs.Button,
3342
2756
  {
@@ -3344,7 +2758,7 @@ var NoData = _react2.default.forwardRef(function NoDataImpl({
3344
2758
  leftIcon: buttonIcon,
3345
2759
  onClick: onButtonClick,
3346
2760
  ...buttonProps,
3347
- className: _chunk3ATAYP36cjs.cn.call(void 0, "w-full content-md:w-auto", _optionalChain([buttonProps, 'optionalAccess', _58 => _58.className])),
2761
+ className: _chunk3ATAYP36cjs.cn.call(void 0, "w-full content-md:w-auto", _optionalChain([buttonProps, 'optionalAccess', _36 => _36.className])),
3348
2762
  children: buttonLabel
3349
2763
  }
3350
2764
  ) : null)));
@@ -3584,7 +2998,7 @@ var Switch = _react.forwardRef.call(void 0, ({ className, checked, onCheckedChan
3584
2998
  }, [checked]);
3585
2999
  const handleCheckedChange = (newChecked) => {
3586
3000
  setIsChecked(newChecked);
3587
- _optionalChain([onCheckedChange, 'optionalCall', _59 => _59(newChecked)]);
3001
+ _optionalChain([onCheckedChange, 'optionalCall', _37 => _37(newChecked)]);
3588
3002
  };
3589
3003
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3590
3004
  SwitchPrimitives.Root,
@@ -3636,7 +3050,7 @@ function TagSelectDropdown({
3636
3050
  }) {
3637
3051
  const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
3638
3052
  const [search, setSearch] = _react.useState.call(void 0, "");
3639
- const keyboardPadding = _chunkJO5TLJPMcjs.useKeyboardCollisionPadding.call(void 0, );
3053
+ const keyboardPadding = _chunkA6P6DHEZcjs.useKeyboardCollisionPadding.call(void 0, );
3640
3054
  if (!isOpen && search !== "") setSearch("");
3641
3055
  const query = search.trim();
3642
3056
  const filtered = _react.useMemo.call(void 0, () => {
@@ -3660,8 +3074,8 @@ function TagSelectDropdown({
3660
3074
  onCreate(query);
3661
3075
  setSearch("");
3662
3076
  };
3663
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, PopoverPrimitive3.Root, { open: isOpen, onOpenChange: setIsOpen, modal: false, children: [
3664
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive3.Trigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3077
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, PopoverPrimitive2.Root, { open: isOpen, onOpenChange: setIsOpen, modal: false, children: [
3078
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive2.Trigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3665
3079
  _chunkDFQYAYBHcjs.Button,
3666
3080
  {
3667
3081
  type: "button",
@@ -3673,8 +3087,8 @@ function TagSelectDropdown({
3673
3087
  children: triggerLabel
3674
3088
  }
3675
3089
  ) }),
3676
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive3.Portal, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
3677
- PopoverPrimitive3.Content,
3090
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive2.Portal, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
3091
+ PopoverPrimitive2.Content,
3678
3092
  {
3679
3093
  align,
3680
3094
  sideOffset: 6,
@@ -3908,7 +3322,7 @@ function TagsInput({
3908
3322
 
3909
3323
  // src/components/ui/tags-manager.tsx
3910
3324
 
3911
-
3325
+ var _reactscrollarea = require('@radix-ui/react-scroll-area'); var ScrollAreaPrimitive = _interopRequireWildcard(_reactscrollarea); var ScrollAreaPrimitive2 = _interopRequireWildcard(_reactscrollarea);
3912
3326
 
3913
3327
 
3914
3328
  function TagsManager({
@@ -3928,7 +3342,7 @@ function TagsManager({
3928
3342
  }) {
3929
3343
  const [open, setOpen] = _react.useState.call(void 0, false);
3930
3344
  const [search, setSearch] = _react.useState.call(void 0, "");
3931
- const keyboardPadding = _chunkJO5TLJPMcjs.useKeyboardCollisionPadding.call(void 0, );
3345
+ const keyboardPadding = _chunkA6P6DHEZcjs.useKeyboardCollisionPadding.call(void 0, );
3932
3346
  const [editingId, setEditingId] = _react.useState.call(void 0, null);
3933
3347
  const [editingName, setEditingName] = _react.useState.call(void 0, "");
3934
3348
  const editInputRef = _react.useRef.call(void 0, null);
@@ -3953,7 +3367,7 @@ function TagsManager({
3953
3367
  if (!name) return;
3954
3368
  try {
3955
3369
  const result = await onCreateTag(name);
3956
- if (_optionalChain([result, 'optionalAccess', _60 => _60.id])) {
3370
+ if (_optionalChain([result, 'optionalAccess', _38 => _38.id])) {
3957
3371
  onChange([...selectedIds, result.id]);
3958
3372
  setSearch("");
3959
3373
  }
@@ -3964,7 +3378,7 @@ function TagsManager({
3964
3378
  const startEdit = _react.useCallback.call(void 0, (id, name) => {
3965
3379
  setEditingId(id);
3966
3380
  setEditingName(name);
3967
- setTimeout(() => _optionalChain([editInputRef, 'access', _61 => _61.current, 'optionalAccess', _62 => _62.focus, 'call', _63 => _63()]), 0);
3381
+ setTimeout(() => _optionalChain([editInputRef, 'access', _39 => _39.current, 'optionalAccess', _40 => _40.focus, 'call', _41 => _41()]), 0);
3968
3382
  }, []);
3969
3383
  const confirmEdit = _react.useCallback.call(void 0, async () => {
3970
3384
  if (!onUpdateTag || !editingId || !editingName.trim()) return;
@@ -3999,12 +3413,12 @@ function TagsManager({
3999
3413
  e.stopPropagation();
4000
3414
  onChange([]);
4001
3415
  setSearch("");
4002
- _optionalChain([inputRef, 'access', _64 => _64.current, 'optionalAccess', _65 => _65.focus, 'call', _66 => _66()]);
3416
+ _optionalChain([inputRef, 'access', _42 => _42.current, 'optionalAccess', _43 => _43.focus, 'call', _44 => _44()]);
4003
3417
  },
4004
3418
  [onChange]
4005
3419
  );
4006
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXXBLN4BPcjs.FieldWrapper, { label, className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative", ref: containerRef, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, PopoverPrimitive4.Root, { open, onOpenChange: setOpen, children: [
4007
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive4.Anchor, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
3420
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXXBLN4BPcjs.FieldWrapper, { label, className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative", ref: containerRef, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, PopoverPrimitive3.Root, { open, onOpenChange: setOpen, children: [
3421
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive3.Anchor, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
4008
3422
  "label",
4009
3423
  {
4010
3424
  className: _chunk3ATAYP36cjs.cn.call(void 0,
@@ -4084,7 +3498,7 @@ function TagsManager({
4084
3498
  }
4085
3499
  ) }),
4086
3500
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4087
- PopoverPrimitive4.Content,
3501
+ PopoverPrimitive3.Content,
4088
3502
  {
4089
3503
  className: _chunk3ATAYP36cjs.cn.call(void 0,
4090
3504
  "z-50 mt-1 w-[var(--radix-popover-trigger-width)]",
@@ -4100,15 +3514,15 @@ function TagsManager({
4100
3514
  collisionPadding: { bottom: keyboardPadding },
4101
3515
  onOpenAutoFocus: (e) => {
4102
3516
  e.preventDefault();
4103
- _optionalChain([inputRef, 'access', _67 => _67.current, 'optionalAccess', _68 => _68.focus, 'call', _69 => _69()]);
3517
+ _optionalChain([inputRef, 'access', _45 => _45.current, 'optionalAccess', _46 => _46.focus, 'call', _47 => _47()]);
4104
3518
  },
4105
3519
  onInteractOutside: (e) => {
4106
- if (_optionalChain([containerRef, 'access', _70 => _70.current, 'optionalAccess', _71 => _71.contains, 'call', _72 => _72(e.target)])) {
3520
+ if (_optionalChain([containerRef, 'access', _48 => _48.current, 'optionalAccess', _49 => _49.contains, 'call', _50 => _50(e.target)])) {
4107
3521
  e.preventDefault();
4108
3522
  }
4109
3523
  },
4110
- children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, ScrollAreaPrimitive2.Root, { className: "flex min-h-0 flex-col overflow-hidden", children: [
4111
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScrollAreaPrimitive2.Viewport, { className: "max-h-60 min-h-0 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { role: "listbox", children: [
3524
+ children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, ScrollAreaPrimitive.Root, { className: "flex min-h-0 flex-col overflow-hidden", children: [
3525
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScrollAreaPrimitive.Viewport, { className: "max-h-60 min-h-0 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { role: "listbox", children: [
4112
3526
  filtered.map((tag) => {
4113
3527
  const isSelected = selectedIds.includes(tag.id);
4114
3528
  const isEditing = editingId === tag.id;
@@ -4236,7 +3650,7 @@ function TagsManager({
4236
3650
  ),
4237
3651
  filtered.length === 0 && !showCreateOption && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-4 py-2 text-ods-text-secondary text-h6", children: "No tags found" })
4238
3652
  ] }) }),
4239
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScrollAreaPrimitive2.Scrollbar, { className: "hidden", orientation: "vertical", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScrollAreaPrimitive2.Thumb, {}) })
3653
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScrollAreaPrimitive.Scrollbar, { className: "hidden", orientation: "vertical", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScrollAreaPrimitive.Thumb, {}) })
4240
3654
  ] })
4241
3655
  }
4242
3656
  )
@@ -4362,7 +3776,7 @@ var Textarea = _react.forwardRef.call(void 0, (allProps, ref) => {
4362
3776
  "button",
4363
3777
  {
4364
3778
  type: "button",
4365
- "aria-label": _nullishCoalesce(_optionalChain([endIconButtonProps, 'optionalAccess', _73 => _73["aria-label"]]), () => ( "Submit")),
3779
+ "aria-label": _nullishCoalesce(_optionalChain([endIconButtonProps, 'optionalAccess', _51 => _51["aria-label"]]), () => ( "Submit")),
4366
3780
  ...endIconButtonProps,
4367
3781
  className: _chunk3ATAYP36cjs.cn.call(void 0,
4368
3782
  // `h-6` matches the textarea's `leading-6` line box so the icon's
@@ -4376,7 +3790,7 @@ var Textarea = _react.forwardRef.call(void 0, (allProps, ref) => {
4376
3790
  "cursor-pointer hover:text-ods-text-primary",
4377
3791
  "focus-visible:text-ods-accent focus-visible:outline-none",
4378
3792
  "disabled:cursor-not-allowed disabled:opacity-40 disabled:hover:text-ods-text-secondary",
4379
- _optionalChain([endIconButtonProps, 'optionalAccess', _74 => _74.className])
3793
+ _optionalChain([endIconButtonProps, 'optionalAccess', _52 => _52.className])
4380
3794
  ),
4381
3795
  children: endIcon
4382
3796
  }
@@ -4563,14 +3977,14 @@ function useConfirm() {
4563
3977
  askingRef.current = false;
4564
3978
  pendingRef.current = null;
4565
3979
  setOpen(false);
4566
- _optionalChain([pending, 'optionalAccess', _75 => _75.resolve, 'call', _76 => _76(ok)]);
3980
+ _optionalChain([pending, 'optionalAccess', _53 => _53.resolve, 'call', _54 => _54(ok)]);
4567
3981
  setPending(null);
4568
3982
  },
4569
3983
  [pending]
4570
3984
  );
4571
3985
  _react.useEffect.call(void 0,
4572
3986
  () => () => {
4573
- _optionalChain([pendingRef, 'access', _77 => _77.current, 'optionalAccess', _78 => _78.resolve, 'call', _79 => _79(false)]);
3987
+ _optionalChain([pendingRef, 'access', _55 => _55.current, 'optionalAccess', _56 => _56.resolve, 'call', _57 => _57(false)]);
4574
3988
  pendingRef.current = null;
4575
3989
  askingRef.current = false;
4576
3990
  },
@@ -4664,7 +4078,7 @@ function AdminFormDrawer({
4664
4078
  if (canSave && !saving) onSave();
4665
4079
  },
4666
4080
  onKeyDown: (e) => {
4667
- if (e.key === "Enter" && _optionalChain([e, 'access', _80 => _80.target, 'optionalAccess', _81 => _81.dataset, 'optionalAccess', _82 => _82.noSubmitOnEnter]) === "true") {
4081
+ if (e.key === "Enter" && _optionalChain([e, 'access', _58 => _58.target, 'optionalAccess', _59 => _59.dataset, 'optionalAccess', _60 => _60.noSubmitOnEnter]) === "true") {
4668
4082
  e.preventDefault();
4669
4083
  }
4670
4084
  },
@@ -4800,7 +4214,7 @@ function AdminFormModal({
4800
4214
  if (canSave && !saving) onSave();
4801
4215
  },
4802
4216
  onKeyDown: (e) => {
4803
- if (e.key === "Enter" && _optionalChain([e, 'access', _83 => _83.target, 'optionalAccess', _84 => _84.dataset, 'optionalAccess', _85 => _85.noSubmitOnEnter]) === "true") {
4217
+ if (e.key === "Enter" && _optionalChain([e, 'access', _61 => _61.target, 'optionalAccess', _62 => _62.dataset, 'optionalAccess', _63 => _63.noSubmitOnEnter]) === "true") {
4804
4218
  e.preventDefault();
4805
4219
  }
4806
4220
  },
@@ -5400,9 +4814,9 @@ var TabBar = _react.memo.call(void 0, function TabBarImpl({
5400
4814
  });
5401
4815
  ro.observe(el);
5402
4816
  let cancelled = false;
5403
- _optionalChain([document, 'access', _86 => _86.fonts, 'optionalAccess', _87 => _87.ready, 'access', _88 => _88.then, 'call', _89 => _89(() => {
4817
+ _optionalChain([document, 'access', _64 => _64.fonts, 'optionalAccess', _65 => _65.ready, 'access', _66 => _66.then, 'call', _67 => _67(() => {
5404
4818
  if (!cancelled) measureIndicator();
5405
- }), 'access', _90 => _90.catch, 'call', _91 => _91(() => {
4819
+ }), 'access', _68 => _68.catch, 'call', _69 => _69(() => {
5406
4820
  })]);
5407
4821
  return () => {
5408
4822
  cancelled = true;
@@ -5443,7 +4857,7 @@ var TabBar = _react.memo.call(void 0, function TabBarImpl({
5443
4857
  return { background: c };
5444
4858
  }, [leftFade, rightFade]);
5445
4859
  const isPlaced = indicator.width > 0;
5446
- const activeProgress = _optionalChain([tabs, 'access', _92 => _92.find, 'call', _93 => _93((tab) => tab.id === activeTab), 'optionalAccess', _94 => _94.progress]);
4860
+ const activeProgress = _optionalChain([tabs, 'access', _70 => _70.find, 'call', _71 => _71((tab) => tab.id === activeTab), 'optionalAccess', _72 => _72.progress]);
5447
4861
  const hasProgress = typeof activeProgress === "number";
5448
4862
  const progress = hasProgress ? Math.max(0, Math.min(1, activeProgress)) : 1;
5449
4863
  const indicatorStyle = {
@@ -5620,8 +5034,8 @@ function TabNavigation({
5620
5034
  const paramName = typeof urlSync === "object" ? urlSync.paramName || "tab" : "tab";
5621
5035
  const replaceState = typeof urlSync === "object" ? urlSync.replaceState !== false : true;
5622
5036
  const validTabIds = _react.useMemo.call(void 0, () => new Set(tabs.map((t) => t.id)), [tabs]);
5623
- const fallbackTab = defaultTab || _optionalChain([tabs, 'access', _95 => _95[0], 'optionalAccess', _96 => _96.id]) || "";
5624
- const urlTab = isUrlSyncEnabled ? _optionalChain([searchParams, 'optionalAccess', _97 => _97.get, 'call', _98 => _98(paramName)]) || "" : "";
5037
+ const fallbackTab = defaultTab || _optionalChain([tabs, 'access', _73 => _73[0], 'optionalAccess', _74 => _74.id]) || "";
5038
+ const urlTab = isUrlSyncEnabled ? _optionalChain([searchParams, 'optionalAccess', _75 => _75.get, 'call', _76 => _76(paramName)]) || "" : "";
5625
5039
  const getInitialTab = () => {
5626
5040
  if (isUrlSyncEnabled && validTabIds.has(urlTab)) return urlTab;
5627
5041
  return fallbackTab;
@@ -5654,19 +5068,19 @@ function TabNavigation({
5654
5068
  (tabId) => {
5655
5069
  const nav = navRef.current;
5656
5070
  if (!nav.isUrlSyncEnabled) {
5657
- _optionalChain([nav, 'access', _99 => _99.controlledOnTabChange, 'optionalCall', _100 => _100(tabId)]);
5071
+ _optionalChain([nav, 'access', _77 => _77.controlledOnTabChange, 'optionalCall', _78 => _78(tabId)]);
5658
5072
  return;
5659
5073
  }
5660
5074
  setInternalActiveTab(tabId);
5661
5075
  const inFlight = inFlightUrlTabsRef.current;
5662
5076
  if (inFlight[inFlight.length - 1] !== tabId) inFlight.push(tabId);
5663
- const params = new URLSearchParams(_optionalChain([nav, 'access', _101 => _101.searchParams, 'optionalAccess', _102 => _102.toString, 'call', _103 => _103()]));
5077
+ const params = new URLSearchParams(_optionalChain([nav, 'access', _79 => _79.searchParams, 'optionalAccess', _80 => _80.toString, 'call', _81 => _81()]));
5664
5078
  params.set(nav.paramName, tabId);
5665
5079
  const method = nav.replaceState ? "replace" : "push";
5666
5080
  _react.startTransition.call(void 0, () => {
5667
5081
  router[method](`${nav.pathname}?${params.toString()}`, { scroll: false });
5668
5082
  });
5669
- _optionalChain([nav, 'access', _104 => _104.controlledOnTabChange, 'optionalCall', _105 => _105(tabId)]);
5083
+ _optionalChain([nav, 'access', _82 => _82.controlledOnTabChange, 'optionalCall', _83 => _83(tabId)]);
5670
5084
  },
5671
5085
  [router]
5672
5086
  );
@@ -5694,7 +5108,7 @@ function TabNavigation({
5694
5108
  var getTabById = (tabs, tabId) => tabs.find((tab) => tab.id === tabId);
5695
5109
  var getTabComponent = (tabs, tabId) => {
5696
5110
  const tab = getTabById(tabs, tabId);
5697
- return _optionalChain([tab, 'optionalAccess', _106 => _106.component]) || null;
5111
+ return _optionalChain([tab, 'optionalAccess', _84 => _84.component]) || null;
5698
5112
  };
5699
5113
 
5700
5114
  // src/components/ui/alert.tsx
@@ -5785,10 +5199,10 @@ function FadePreview({
5785
5199
  return;
5786
5200
  }
5787
5201
  if (itemMode) {
5788
- const items = _optionalChain([el, 'access', _107 => _107.firstElementChild, 'optionalAccess', _108 => _108.children]);
5789
- const count = _nullishCoalesce(_optionalChain([items, 'optionalAccess', _109 => _109.length]), () => ( 0));
5202
+ const items = _optionalChain([el, 'access', _85 => _85.firstElementChild, 'optionalAccess', _86 => _86.children]);
5203
+ const count = _nullishCoalesce(_optionalChain([items, 'optionalAccess', _87 => _87.length]), () => ( 0));
5790
5204
  if (count !== itemCount) setItemCount(count);
5791
- const last = count >= visible ? _optionalChain([items, 'optionalAccess', _110 => _110[visible - 1]]) : void 0;
5205
+ const last = count >= visible ? _optionalChain([items, 'optionalAccess', _88 => _88[visible - 1]]) : void 0;
5792
5206
  if (last) {
5793
5207
  const next = Math.round(last.getBoundingClientRect().bottom - el.getBoundingClientRect().top + el.scrollTop);
5794
5208
  if (next !== itemsHeight) setItemsHeight(next);
@@ -5806,7 +5220,7 @@ function FadePreview({
5806
5220
  const observer = new ResizeObserver(() => {
5807
5221
  if (expanded) return;
5808
5222
  setOverflows(el.scrollHeight > el.clientHeight + 1);
5809
- const items = itemMode ? _optionalChain([el, 'access', _111 => _111.firstElementChild, 'optionalAccess', _112 => _112.children]) : void 0;
5223
+ const items = itemMode ? _optionalChain([el, 'access', _89 => _89.firstElementChild, 'optionalAccess', _90 => _90.children]) : void 0;
5810
5224
  const last = items && items.length >= visible ? items[visible - 1] : void 0;
5811
5225
  if (last)
5812
5226
  setItemsHeight(Math.round(last.getBoundingClientRect().bottom - el.getBoundingClientRect().top + el.scrollTop));
@@ -5819,8 +5233,8 @@ function FadePreview({
5819
5233
  const hidden = itemMode && hiddenCount <= 0 ? Math.max(0, itemCount - visible) : hiddenCount;
5820
5234
  if (!fixed && !needsFade) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children });
5821
5235
  const showToggle = needsFade || expanded;
5822
- const moreLabel = _nullishCoalesce(_optionalChain([labels, 'optionalAccess', _113 => _113.more]), () => ( `Show ${hidden} more`));
5823
- const lessLabel = _nullishCoalesce(_optionalChain([labels, 'optionalAccess', _114 => _114.less]), () => ( "Show less"));
5236
+ const moreLabel = _nullishCoalesce(_optionalChain([labels, 'optionalAccess', _91 => _91.more]), () => ( `Show ${hidden} more`));
5237
+ const lessLabel = _nullishCoalesce(_optionalChain([labels, 'optionalAccess', _92 => _92.less]), () => ( "Show less"));
5824
5238
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative", children: [
5825
5239
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5826
5240
  "div",
@@ -5988,7 +5402,7 @@ function EmbedIframe({
5988
5402
  allow,
5989
5403
  referrerPolicy,
5990
5404
  loading,
5991
- allowFullScreen: _optionalChain([allow, 'optionalAccess', _115 => _115.includes, 'call', _116 => _116("fullscreen")]) ? void 0 : allowFullScreen,
5405
+ allowFullScreen: _optionalChain([allow, 'optionalAccess', _93 => _93.includes, 'call', _94 => _94("fullscreen")]) ? void 0 : allowFullScreen,
5992
5406
  sandbox
5993
5407
  },
5994
5408
  src
@@ -6033,7 +5447,7 @@ function EmbedViewerFrame({
6033
5447
  controller.detach();
6034
5448
  };
6035
5449
  }, [fullscreenControl]);
6036
- const toggleFullscreen = () => _optionalChain([controllerRef, 'access', _117 => _117.current, 'optionalAccess', _118 => _118.toggle, 'call', _119 => _119()]);
5450
+ const toggleFullscreen = () => _optionalChain([controllerRef, 'access', _95 => _95.current, 'optionalAccess', _96 => _96.toggle, 'call', _97 => _97()]);
6037
5451
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
6038
5452
  "div",
6039
5453
  {
@@ -6116,7 +5530,7 @@ var KIND_HEADING = {
6116
5530
  design: "Claude Design"
6117
5531
  };
6118
5532
  function ClaudeEmbed({ url, kind = "artifact", title, height, loading = "lazy" }) {
6119
- const { src: mirrorSrc, status } = _chunkJO5TLJPMcjs.useClaudeMirrorSrc.call(void 0, url);
5533
+ const { src: mirrorSrc, status } = _chunkZXCZYMN4cjs.useClaudeMirrorSrc.call(void 0, url);
6120
5534
  const isProbing = status === "probing";
6121
5535
  const embedUrl = isProbing ? null : _nullishCoalesce(mirrorSrc, () => ( _chunkGQ7JJUITcjs.toClaudeEmbedUrl.call(void 0, url)));
6122
5536
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -6124,7 +5538,7 @@ function ClaudeEmbed({ url, kind = "artifact", title, height, loading = "lazy" }
6124
5538
  {
6125
5539
  className: "my-6 space-y-3",
6126
5540
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLLSUVPQCcjs.ClaudeIcon, { className: "h-5 w-5 shrink-0" }),
6127
- title: _optionalChain([title, 'optionalAccess', _120 => _120.trim, 'call', _121 => _121()]) || KIND_HEADING[kind],
5541
+ title: _optionalChain([title, 'optionalAccess', _98 => _98.trim, 'call', _99 => _99()]) || KIND_HEADING[kind],
6128
5542
  titleVariant: "h6",
6129
5543
  isLoading: isProbing,
6130
5544
  actions: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -6381,7 +5795,7 @@ var DISPLAY_W = 768;
6381
5795
  function MarkdownImage({ src, alt }) {
6382
5796
  const { transformImageSrc } = useRichMarkdownRuntime();
6383
5797
  const [probed, setProbed] = _react.useState.call(void 0, null);
6384
- const ratio = _optionalChain([probed, 'optionalAccess', _122 => _122.src]) === src ? probed.ratio : null;
5798
+ const ratio = _optionalChain([probed, 'optionalAccess', _100 => _100.src]) === src ? probed.ratio : null;
6385
5799
  _react.useEffect.call(void 0, () => {
6386
5800
  let cancelled = false;
6387
5801
  const probeSrc = _nullishCoalesce(transformImageSrc(src, { width: 48, resize: "contain", quality: 20 }), () => ( src));
@@ -6532,7 +5946,7 @@ var OGLinkPreview = ({
6532
5946
  if (response.ok) {
6533
5947
  const data = await response.json();
6534
5948
  if (cancelled) return;
6535
- if (_optionalChain([data, 'optionalAccess', _123 => _123.title]) && data.title !== "Link Preview Unavailable") {
5949
+ if (_optionalChain([data, 'optionalAccess', _101 => _101.title]) && data.title !== "Link Preview Unavailable") {
6536
5950
  setOgData({
6537
5951
  title: data.title,
6538
5952
  description: _nullishCoalesce(data.description, () => ( "")),
@@ -6571,18 +5985,18 @@ var OGLinkPreview = ({
6571
5985
  type: "website",
6572
5986
  favicon: `https://www.google.com/s2/favicons?domain=${domain}&sz=32`
6573
5987
  } : null)));
6574
- const placeholderImageUrl = enablePlaceholder && buildPlaceholderUrl && _optionalChain([effectiveData, 'optionalAccess', _124 => _124.title]) ? buildPlaceholderUrl(effectiveData.title, effectiveData.siteName || domain) : null;
5988
+ const placeholderImageUrl = enablePlaceholder && buildPlaceholderUrl && _optionalChain([effectiveData, 'optionalAccess', _102 => _102.title]) ? buildPlaceholderUrl(effectiveData.title, effectiveData.siteName || domain) : null;
6575
5989
  const imageCandidates = [
6576
5990
  { source: "curated", url: curatedImage },
6577
- { source: "og", url: _optionalChain([effectiveData, 'optionalAccess', _125 => _125.image]) },
6578
- { source: "og-original", url: _optionalChain([effectiveData, 'optionalAccess', _126 => _126.originalImage]) },
5991
+ { source: "og", url: _optionalChain([effectiveData, 'optionalAccess', _103 => _103.image]) },
5992
+ { source: "og-original", url: _optionalChain([effectiveData, 'optionalAccess', _104 => _104.originalImage]) },
6579
5993
  { source: "placeholder", url: placeholderImageUrl }
6580
5994
  ];
6581
5995
  const resolvedImage = _nullishCoalesce(imageCandidates.find((c) => !!c.url && !failedImages.has(c.url)), () => ( null));
6582
- const resolvedImageUrl = _nullishCoalesce(_optionalChain([resolvedImage, 'optionalAccess', _127 => _127.url]), () => ( null));
5996
+ const resolvedImageUrl = _nullishCoalesce(_optionalChain([resolvedImage, 'optionalAccess', _105 => _105.url]), () => ( null));
6583
5997
  const hasImage = !!resolvedImageUrl;
6584
- const isCuratedImage = _optionalChain([resolvedImage, 'optionalAccess', _128 => _128.source]) === "curated";
6585
- const isPlaceholder = _optionalChain([resolvedImage, 'optionalAccess', _129 => _129.source]) === "placeholder";
5998
+ const isCuratedImage = _optionalChain([resolvedImage, 'optionalAccess', _106 => _106.source]) === "curated";
5999
+ const isPlaceholder = _optionalChain([resolvedImage, 'optionalAccess', _107 => _107.source]) === "placeholder";
6586
6000
  const bgColor = _chunkAECTRMGQcjs.useImageEdgeColor.call(void 0, _nullishCoalesce(resolvedImageUrl, () => ( null)), "var(--color-bg-surface)");
6587
6001
  const renderSkeleton = () => isCompact ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "my-4", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-[120px] flex-row overflow-hidden rounded-lg border border-ods-border bg-ods-card", children: [
6588
6002
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full w-[200px] flex-shrink-0 animate-pulse bg-ods-border" }),
@@ -7191,7 +6605,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
7191
6605
  apiEndpoint: redditProxyUrl,
7192
6606
  dataValidator: validateRedditData,
7193
6607
  onDataUpdate: (data) => {
7194
- if (isCurrent() && _optionalChain([data, 'access', _130 => _130[0], 'optionalAccess', _131 => _131.data, 'optionalAccess', _132 => _132.children, 'optionalAccess', _133 => _133[0], 'optionalAccess', _134 => _134.data])) {
6608
+ if (isCurrent() && _optionalChain([data, 'access', _108 => _108[0], 'optionalAccess', _109 => _109.data, 'optionalAccess', _110 => _110.children, 'optionalAccess', _111 => _111[0], 'optionalAccess', _112 => _112.data])) {
7195
6609
  setRedditData(data[0].data.children[0].data);
7196
6610
  }
7197
6611
  },
@@ -7266,11 +6680,11 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
7266
6680
  gallery_data: redditData.gallery_data,
7267
6681
  media_metadata: redditData.media_metadata
7268
6682
  });
7269
- const video = _optionalChain([redditData, 'access', _135 => _135.media, 'optionalAccess', _136 => _136.reddit_video]) || _optionalChain([redditData, 'access', _137 => _137.secure_media, 'optionalAccess', _138 => _138.reddit_video]);
6683
+ const video = _optionalChain([redditData, 'access', _113 => _113.media, 'optionalAccess', _114 => _114.reddit_video]) || _optionalChain([redditData, 'access', _115 => _115.secure_media, 'optionalAccess', _116 => _116.reddit_video]);
7270
6684
  if (video && video.fallback_url) {
7271
6685
  console.log("\u{1F4F9} Found Reddit video:", video);
7272
6686
  let posterUrl = "";
7273
- if (_optionalChain([redditData, 'access', _139 => _139.preview, 'optionalAccess', _140 => _140.images, 'optionalAccess', _141 => _141[0], 'optionalAccess', _142 => _142.source, 'optionalAccess', _143 => _143.url])) {
6687
+ if (_optionalChain([redditData, 'access', _117 => _117.preview, 'optionalAccess', _118 => _118.images, 'optionalAccess', _119 => _119[0], 'optionalAccess', _120 => _120.source, 'optionalAccess', _121 => _121.url])) {
7274
6688
  posterUrl = redditData.preview.images[0].source.url.replace(/&amp;/g, "&");
7275
6689
  console.log("\u2705 Using preview image as video poster:", posterUrl);
7276
6690
  } else {
@@ -7322,7 +6736,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
7322
6736
  return media;
7323
6737
  }
7324
6738
  }
7325
- if (_optionalChain([redditData, 'access', _144 => _144.preview, 'optionalAccess', _145 => _145.images, 'optionalAccess', _146 => _146[0]]) && !redditData.is_video) {
6739
+ if (_optionalChain([redditData, 'access', _122 => _122.preview, 'optionalAccess', _123 => _123.images, 'optionalAccess', _124 => _124[0]]) && !redditData.is_video) {
7326
6740
  const imageData = redditData.preview.images[0];
7327
6741
  console.log("\u{1F5BC}\uFE0F Found preview image data:", imageData);
7328
6742
  let source = imageData.source;
@@ -7357,7 +6771,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
7357
6771
  } else if (directUrl.match(/\.(mp4|webm|mov|avi)(\?.*)?$/i)) {
7358
6772
  console.log("\u{1F3AC} Found direct video URL");
7359
6773
  let posterUrl = "";
7360
- if (_optionalChain([redditData, 'access', _147 => _147.preview, 'optionalAccess', _148 => _148.images, 'optionalAccess', _149 => _149[0], 'optionalAccess', _150 => _150.source, 'optionalAccess', _151 => _151.url])) {
6774
+ if (_optionalChain([redditData, 'access', _125 => _125.preview, 'optionalAccess', _126 => _126.images, 'optionalAccess', _127 => _127[0], 'optionalAccess', _128 => _128.source, 'optionalAccess', _129 => _129.url])) {
7361
6775
  posterUrl = redditData.preview.images[0].source.url.replace(/&amp;/g, "&");
7362
6776
  }
7363
6777
  media.push({
@@ -7370,7 +6784,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
7370
6784
  });
7371
6785
  } else if (directUrl.includes("imgur.com") && !directUrl.includes(".gifv")) {
7372
6786
  console.log("\u{1F310} Found Imgur link");
7373
- const imgurId = _optionalChain([directUrl, 'access', _152 => _152.match, 'call', _153 => _153(/imgur\.com\/([a-zA-Z0-9]+)/), 'optionalAccess', _154 => _154[1]]);
6787
+ const imgurId = _optionalChain([directUrl, 'access', _130 => _130.match, 'call', _131 => _131(/imgur\.com\/([a-zA-Z0-9]+)/), 'optionalAccess', _132 => _132[1]]);
7374
6788
  if (imgurId && !directUrl.includes("/a/") && !directUrl.includes("/gallery/")) {
7375
6789
  media.push({
7376
6790
  type: "image",
@@ -7503,7 +6917,7 @@ function TwitterEmbedClient({ url, tweetId, maxWidth = 700 }) {
7503
6917
  const [fetchLoading, setLoading] = _react.useState.call(void 0, true);
7504
6918
  const [fetchError, setError] = _react.useState.call(void 0, null);
7505
6919
  const fetchedForRef = _react.useRef.call(void 0, null);
7506
- const extractedTweetId = tweetId || _optionalChain([url, 'access', _155 => _155.match, 'call', _156 => _156(/status\/(\d+)/), 'optionalAccess', _157 => _157[1]]);
6920
+ const extractedTweetId = tweetId || _optionalChain([url, 'access', _133 => _133.match, 'call', _134 => _134(/status\/(\d+)/), 'optionalAccess', _135 => _135[1]]);
7507
6921
  const error = extractedTweetId ? fetchError : "Invalid tweet URL or ID";
7508
6922
  const loading = extractedTweetId ? fetchLoading : false;
7509
6923
  const tweetUrl = url.includes("twitter.com") || url.includes("x.com") ? url : `https://twitter.com/twitter/status/${extractedTweetId}`;
@@ -7575,10 +6989,10 @@ function TwitterEmbedClient({ url, tweetId, maxWidth = 700 }) {
7575
6989
  const parser = new DOMParser();
7576
6990
  const doc = parser.parseFromString(tweetData.html, "text/html");
7577
6991
  const blockquote = doc.querySelector("blockquote");
7578
- const fullText = _optionalChain([blockquote, 'optionalAccess', _158 => _158.textContent]) || "";
6992
+ const fullText = _optionalChain([blockquote, 'optionalAccess', _136 => _136.textContent]) || "";
7579
6993
  const tweetText = fullText.replace(/- .* \(@.*\).*$/, "").trim();
7580
6994
  const username = tweetData.author_url ? tweetData.author_url.split("/").pop() : "";
7581
- const links = Array.from(_optionalChain([blockquote, 'optionalAccess', _159 => _159.querySelectorAll, 'call', _160 => _160("a")]) || []).map((link) => ({
6995
+ const links = Array.from(_optionalChain([blockquote, 'optionalAccess', _137 => _137.querySelectorAll, 'call', _138 => _138("a")]) || []).map((link) => ({
7582
6996
  url: link.href,
7583
6997
  text: link.textContent || link.href
7584
6998
  })).filter((link) => !link.url.includes("twitter.com") && !link.url.includes("x.com"));
@@ -7887,7 +7301,7 @@ var processShortcodes = (content) => {
7887
7301
  }).replace(
7888
7302
  /\{\{claude-(artifact|design):([^|}]+)(?:\|([^}]*))?\}\}/g,
7889
7303
  (match, kind, url, title) => {
7890
- const name = _optionalChain([title, 'optionalAccess', _161 => _161.trim, 'call', _162 => _162()]);
7304
+ const name = _optionalChain([title, 'optionalAccess', _139 => _139.trim, 'call', _140 => _140()]);
7891
7305
  const titleAttr = name ? ` data-title="${escapeAttr(name)}"` : "";
7892
7306
  return `
7893
7307
 
@@ -8988,9 +8402,9 @@ function FilterModal({
8988
8402
  return { ...currentFilters };
8989
8403
  });
8990
8404
  const [pendingTags, setPendingTags] = _react.useState.call(void 0, _nullishCoalesce(selectedTags, () => ( [])));
8991
- const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _163 => _163.defaultSort]), () => ( "desc"));
8992
- const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _164 => _164.sort]), () => ( dateDefaultSort)));
8993
- const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _165 => _165.range]));
8405
+ const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _141 => _141.defaultSort]), () => ( "desc"));
8406
+ const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _142 => _142.sort]), () => ( dateDefaultSort)));
8407
+ const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _143 => _143.range]));
8994
8408
  const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkUWQWMGJ7cjs.useScrollFade.call(void 0, );
8995
8409
  const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
8996
8410
  const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
@@ -9002,8 +8416,8 @@ function FilterModal({
9002
8416
  const seed = seedSourceRef.current;
9003
8417
  setSelectedFilters({ ...seed.currentFilters });
9004
8418
  setPendingTags(_nullishCoalesce(seed.selectedTags, () => ( [])));
9005
- setDraftDateSort(_nullishCoalesce(_optionalChain([seed, 'access', _166 => _166.dateFilter, 'optionalAccess', _167 => _167.sort]), () => ( seed.dateDefaultSort)));
9006
- setDraftDateRange(_optionalChain([seed, 'access', _168 => _168.dateFilter, 'optionalAccess', _169 => _169.range]));
8419
+ setDraftDateSort(_nullishCoalesce(_optionalChain([seed, 'access', _144 => _144.dateFilter, 'optionalAccess', _145 => _145.sort]), () => ( seed.dateDefaultSort)));
8420
+ setDraftDateRange(_optionalChain([seed, 'access', _146 => _146.dateFilter, 'optionalAccess', _147 => _147.range]));
9007
8421
  }, [isOpen, seedKey]);
9008
8422
  const handleFilterToggle = (groupId, optionId, checked) => {
9009
8423
  setSelectedFilters((prev) => {
@@ -9019,18 +8433,18 @@ function FilterModal({
9019
8433
  };
9020
8434
  const handleReset = () => {
9021
8435
  onFilterChange({});
9022
- _optionalChain([onTagsChange, 'optionalCall', _170 => _170([])]);
9023
- _optionalChain([dateFilter, 'optionalAccess', _171 => _171.onChange, 'call', _172 => _172({ sort: dateDefaultSort, range: void 0 })]);
8436
+ _optionalChain([onTagsChange, 'optionalCall', _148 => _148([])]);
8437
+ _optionalChain([dateFilter, 'optionalAccess', _149 => _149.onChange, 'call', _150 => _150({ sort: dateDefaultSort, range: void 0 })]);
9024
8438
  onClose();
9025
8439
  };
9026
8440
  const handleApply = () => {
9027
8441
  onFilterChange(selectedFilters);
9028
- _optionalChain([onTagsChange, 'optionalCall', _173 => _173(pendingTags)]);
9029
- _optionalChain([dateFilter, 'optionalAccess', _174 => _174.onChange, 'call', _175 => _175({ sort: draftDateSort, range: draftDateRange })]);
8442
+ _optionalChain([onTagsChange, 'optionalCall', _151 => _151(pendingTags)]);
8443
+ _optionalChain([dateFilter, 'optionalAccess', _152 => _152.onChange, 'call', _153 => _153({ sort: draftDateSort, range: draftDateRange })]);
9030
8444
  onClose();
9031
8445
  };
9032
8446
  const getColumnDirection = (columnKey) => {
9033
- return _optionalChain([sortConfig, 'optionalAccess', _176 => _176.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
8447
+ return _optionalChain([sortConfig, 'optionalAccess', _154 => _154.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
9034
8448
  };
9035
8449
  const hasSort = !!sortConfig && sortConfig.columns.length > 0;
9036
8450
  const hasFilterGroups = filterGroups.length > 0;
@@ -9086,7 +8500,7 @@ function FilterModal({
9086
8500
  {
9087
8501
  column,
9088
8502
  currentDirection: getColumnDirection(column.key),
9089
- onSort: (direction) => _optionalChain([onSort, 'optionalCall', _177 => _177(column.key, direction)]),
8503
+ onSort: (direction) => _optionalChain([onSort, 'optionalCall', _155 => _155(column.key, direction)]),
9090
8504
  onClear: onSortClear ? () => onSortClear(column.key) : void 0
9091
8505
  },
9092
8506
  column.key
@@ -9204,7 +8618,7 @@ function renderAdvancedPageContainer({
9204
8618
  };
9205
8619
  const renderActions = () => {
9206
8620
  if (!actions || actions.length === 0) return null;
9207
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.PageActions, { variant: getActionsVariant(), actions, menuActions });
8621
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.PageActions, { variant: getActionsVariant(), actions, menuActions });
9208
8622
  };
9209
8623
  const needsBottomPadding = actions && actions.length > 0 && getActionsVariant() === "primary-buttons";
9210
8624
  const paddingClasses = {
@@ -9227,7 +8641,7 @@ function renderAdvancedPageContainer({
9227
8641
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-end justify-between gap-4 content-md:flex-col content-md:items-start content-md:justify-start content-lg:flex-row content-lg:items-end content-lg:justify-between", children: [
9228
8642
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-2", children: [
9229
8643
  backButton && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9230
- _chunkPPXR22YCcjs.BackButton,
8644
+ _chunkZ5UWW3Z2cjs.BackButton,
9231
8645
  {
9232
8646
  onClick: backButton.onClick,
9233
8647
  label: backButton.label,
@@ -9247,7 +8661,7 @@ function renderAdvancedPageContainer({
9247
8661
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-4 content-md:flex-col content-md:items-start content-md:justify-start content-lg:flex-row content-lg:items-center content-lg:justify-between", children: [
9248
8662
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
9249
8663
  backButton && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9250
- _chunkPPXR22YCcjs.BackButton,
8664
+ _chunkZ5UWW3Z2cjs.BackButton,
9251
8665
  {
9252
8666
  onClick: backButton.onClick,
9253
8667
  label: backButton.label,
@@ -9267,7 +8681,7 @@ function renderAdvancedPageContainer({
9267
8681
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-end justify-between gap-4 content-md:flex-col content-md:items-start content-md:justify-start content-lg:flex-row content-lg:items-end content-lg:justify-between", children: [
9268
8682
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-2", children: [
9269
8683
  backButton && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9270
- _chunkPPXR22YCcjs.BackButton,
8684
+ _chunkZ5UWW3Z2cjs.BackButton,
9271
8685
  {
9272
8686
  onClick: backButton.onClick,
9273
8687
  label: backButton.label,
@@ -10125,26 +9539,26 @@ function DeviceCard({
10125
9539
  ] }),
10126
9540
  device.organization && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", title: device.organization, children: device.organization })
10127
9541
  ] }),
10128
- _optionalChain([actions, 'access', _178 => _178.moreButton, 'optionalAccess', _179 => _179.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9542
+ _optionalChain([actions, 'access', _156 => _156.moreButton, 'optionalAccess', _157 => _157.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10129
9543
  "div",
10130
9544
  {
10131
9545
  className: "flex shrink-0 cursor-pointer items-center justify-center rounded-[6px] border border-ods-border p-3 transition-colors hover:bg-ods-bg-hover",
10132
9546
  onClick: (e) => {
10133
9547
  e.stopPropagation();
10134
- _optionalChain([actions, 'access', _180 => _180.moreButton, 'optionalAccess', _181 => _181.onClick, 'optionalCall', _182 => _182()]);
9548
+ _optionalChain([actions, 'access', _158 => _158.moreButton, 'optionalAccess', _159 => _159.onClick, 'optionalCall', _160 => _160()]);
10135
9549
  },
10136
9550
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.Ellipsis01Icon, { className: "text-ods-text-primary" })
10137
9551
  }
10138
9552
  ),
10139
- _optionalChain([actions, 'access', _183 => _183.detailsButton, 'optionalAccess', _184 => _184.visible]) !== false && _optionalChain([actions, 'access', _185 => _185.detailsButton, 'optionalAccess', _186 => _186.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
10140
- _optionalChain([actions, 'access', _187 => _187.customActions, 'optionalAccess', _188 => _188.map, 'call', _189 => _189(
9553
+ _optionalChain([actions, 'access', _161 => _161.detailsButton, 'optionalAccess', _162 => _162.visible]) !== false && _optionalChain([actions, 'access', _163 => _163.detailsButton, 'optionalAccess', _164 => _164.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
9554
+ _optionalChain([actions, 'access', _165 => _165.customActions, 'optionalAccess', _166 => _166.map, 'call', _167 => _167(
10141
9555
  (action, index) => action.visible !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10142
9556
  "div",
10143
9557
  {
10144
9558
  className: "flex shrink-0 cursor-pointer items-center justify-center rounded-[6px] border border-ods-border px-4 py-3 transition-colors hover:bg-ods-bg-hover",
10145
9559
  onClick: (e) => {
10146
9560
  e.stopPropagation();
10147
- _optionalChain([action, 'access', _190 => _190.onClick, 'optionalCall', _191 => _191()]);
9561
+ _optionalChain([action, 'access', _168 => _168.onClick, 'optionalCall', _169 => _169()]);
10148
9562
  },
10149
9563
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-nowrap text-ods-text-primary text-h3", children: action.label })
10150
9564
  },
@@ -10754,7 +10168,7 @@ function MoreActionsMenu({
10754
10168
  ] });
10755
10169
  const handleActivate = (e) => {
10756
10170
  e.stopPropagation();
10757
- if (!item.disabled) _optionalChain([item, 'access', _192 => _192.onClick, 'optionalCall', _193 => _193()]);
10171
+ if (!item.disabled) _optionalChain([item, 'access', _170 => _170.onClick, 'optionalCall', _171 => _171()]);
10758
10172
  };
10759
10173
  if (item.href) {
10760
10174
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2Y7QZAB2cjs.DropdownMenuItem, { asChild: true, disabled: item.disabled, className: itemClassName, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -10810,7 +10224,7 @@ function OrganizationCard({
10810
10224
  const handleActionClick = (e) => {
10811
10225
  e.preventDefault();
10812
10226
  e.stopPropagation();
10813
- _optionalChain([actionButton, 'optionalAccess', _194 => _194.onClick, 'call', _195 => _195(organization, e)]);
10227
+ _optionalChain([actionButton, 'optionalAccess', _172 => _172.onClick, 'call', _173 => _173(organization, e)]);
10814
10228
  };
10815
10229
  const card = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
10816
10230
  "div",
@@ -10843,7 +10257,7 @@ function OrganizationCard({
10843
10257
  }
10844
10258
  ),
10845
10259
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-start gap-3", children: [
10846
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.EntityImage, { src: fetchedImageUrl || organization.imageUrl, alt: organization.name }),
10260
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.EntityImage, { src: fetchedImageUrl || organization.imageUrl, alt: organization.name }),
10847
10261
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center py-2", children: [
10848
10262
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "truncate text-ods-text-primary transition-colors text-h3", title: organization.name, children: organization.name }),
10849
10263
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -10893,8 +10307,8 @@ function ServiceCard({ title, subtitle, icon, tag, rows, className }) {
10893
10307
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
10894
10308
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-12 flex-shrink-0 items-center justify-center rounded-md border border-ods-border bg-ods-bg", children: resolvedIcon }),
10895
10309
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0", children: [
10896
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { variant: "h3", children: title }),
10897
- subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { variant: "h6", tone: "secondary", children: subtitle })
10310
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { variant: "h3", children: title }),
10311
+ subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { variant: "h6", tone: "secondary", children: subtitle })
10898
10312
  ] })
10899
10313
  ] }),
10900
10314
  tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "self-start whitespace-nowrap rounded-full border border-ods-border bg-ods-bg px-3 py-1 font-semibold text-ods-text-primary text-h6", children: tag.label })
@@ -10904,7 +10318,7 @@ function ServiceCard({ title, subtitle, icon, tag, rows, className }) {
10904
10318
  }
10905
10319
  function ServiceCardRowItem({ row }) {
10906
10320
  const [revealed, setRevealed] = _react.useState.call(void 0, false);
10907
- const { copy, copied } = _chunkJO5TLJPMcjs.useCopyToClipboard.call(void 0, );
10321
+ const { copy, copied } = _chunkZXCZYMN4cjs.useCopyToClipboard.call(void 0, );
10908
10322
  const { ref: valueRef, isTruncated: valueTruncated } = _chunkULWVKHSIcjs.useIsTruncated.call(void 0, row.value);
10909
10323
  const actions = _react.useMemo.call(void 0,
10910
10324
  () => ({ copy: true, open: !!row.href, reveal: !!row.isSecret, ...row.actions }),
@@ -10982,7 +10396,7 @@ var Slider = _react.forwardRef.call(void 0,
10982
10396
  ({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
10983
10397
  const handleChange = (e) => {
10984
10398
  const newValue = [Number(e.target.value)];
10985
- _optionalChain([onValueChange, 'optionalCall', _196 => _196(newValue)]);
10399
+ _optionalChain([onValueChange, 'optionalCall', _174 => _174(newValue)]);
10986
10400
  };
10987
10401
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10988
10402
  "input",
@@ -11028,14 +10442,14 @@ function PersonCell({
11028
10442
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF5BPGWGTcjs.SquareAvatar, { size: scale.avatar, src: _nullishCoalesce(avatarUrl, () => ( void 0)), alt: displayName, fallback: displayName }),
11029
10443
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
11030
10444
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11031
- _chunkPPXR22YCcjs.TruncateText,
10445
+ _chunkZ5UWW3Z2cjs.TruncateText,
11032
10446
  {
11033
10447
  variant: scale.primary,
11034
10448
  className: onClick ? "text-ods-accent group-hover/person-cell:underline" : void 0,
11035
10449
  children: displayName
11036
10450
  }
11037
10451
  ),
11038
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { variant: "h6", tone: "secondary", children: secondary === void 0 ? "\xA0" : secondary || "\xB7" })
10452
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { variant: "h6", tone: "secondary", children: secondary === void 0 ? "\xA0" : secondary || "\xB7" })
11039
10453
  ] })
11040
10454
  ] });
11041
10455
  if (!onClick) return row;
@@ -11057,8 +10471,8 @@ function PeopleCell({ people, fallbackName = "Unassigned" }) {
11057
10471
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11058
10472
  PersonCell,
11059
10473
  {
11060
- name: _optionalChain([person, 'optionalAccess', _197 => _197.name]),
11061
- avatarUrl: _optionalChain([person, 'optionalAccess', _198 => _198.avatarUrl]),
10474
+ name: _optionalChain([person, 'optionalAccess', _175 => _175.name]),
10475
+ avatarUrl: _optionalChain([person, 'optionalAccess', _176 => _176.avatarUrl]),
11062
10476
  secondary: person ? person.secondary : void 0,
11063
10477
  fallbackName
11064
10478
  }
@@ -11299,7 +10713,7 @@ function CursorPaginationSimple({
11299
10713
  {
11300
10714
  variant: "transparent",
11301
10715
  size: "icon",
11302
- onClick: () => _optionalChain([onPrevious, 'optionalCall', _199 => _199("")]),
10716
+ onClick: () => _optionalChain([onPrevious, 'optionalCall', _177 => _177("")]),
11303
10717
  disabled: !hasPreviousPage || loading,
11304
10718
  className: "h-8 w-8",
11305
10719
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
@@ -11311,7 +10725,7 @@ function CursorPaginationSimple({
11311
10725
  {
11312
10726
  variant: "transparent",
11313
10727
  size: "icon",
11314
- onClick: () => _optionalChain([onNext, 'optionalCall', _200 => _200("")]),
10728
+ onClick: () => _optionalChain([onNext, 'optionalCall', _178 => _178("")]),
11315
10729
  disabled: !hasNextPage || loading,
11316
10730
  className: "h-8 w-8",
11317
10731
  rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
@@ -11448,7 +10862,7 @@ var ROW_STACK_CLASSES = "flex w-full flex-col gap-[var(--spacing-system-xsf)]";
11448
10862
  function DataTableSkeleton({ rows = 10, className, rowClassName, rowHeightClassName }) {
11449
10863
  const table = useDataTableContext();
11450
10864
  const columns = table.getVisibleFlatColumns();
11451
- const firstColumnId = _optionalChain([columns, 'access', _201 => _201[0], 'optionalAccess', _202 => _202.id]);
10865
+ const firstColumnId = _optionalChain([columns, 'access', _179 => _179[0], 'optionalAccess', _180 => _180.id]);
11452
10866
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
11453
10867
  "div",
11454
10868
  {
@@ -11475,13 +10889,13 @@ function DataTableSkeleton({ rows = 10, className, rowClassName, rowHeightClassN
11475
10889
  {
11476
10890
  className: _chunk3ATAYP36cjs.cn.call(void 0,
11477
10891
  "flex shrink-0 flex-col justify-center",
11478
- _optionalChain([meta, 'optionalAccess', _203 => _203.width]) || "flex-1",
10892
+ _optionalChain([meta, 'optionalAccess', _181 => _181.width]) || "flex-1",
11479
10893
  // Same responsive hiding the real header and row apply.
11480
10894
  // Without it a `hideAt` column was drawn in the skeleton and
11481
10895
  // absent from the loaded table, so below that breakpoint the
11482
10896
  // remaining columns were sized against a different total and
11483
10897
  // the whole row re-laid-out the moment data arrived.
11484
- getHideClasses(_optionalChain([meta, 'optionalAccess', _204 => _204.hideAt]))
10898
+ getHideClasses(_optionalChain([meta, 'optionalAccess', _182 => _182.hideAt]))
11485
10899
  ),
11486
10900
  children: [
11487
10901
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-[var(--spacing-system-xxs)] h-5 w-3/4 rounded-sm bg-ods-bg-surface" }),
@@ -11585,8 +10999,8 @@ function TableEmptyState({ message, description, emptyState, icon, action, class
11585
10999
  icon: _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4GFNWALLcjs.SearchIcon, {}))),
11586
11000
  title: _nullishCoalesce(message, () => ( "No results found")),
11587
11001
  description: _nullishCoalesce(description, () => ( (message == null ? "Try adjusting your search or filters" : void 0))),
11588
- buttonLabel: _optionalChain([action, 'optionalAccess', _205 => _205.label]),
11589
- onButtonClick: _optionalChain([action, 'optionalAccess', _206 => _206.onClick]),
11002
+ buttonLabel: _optionalChain([action, 'optionalAccess', _183 => _183.label]),
11003
+ onButtonClick: _optionalChain([action, 'optionalAccess', _184 => _184.onClick]),
11590
11004
  className: _chunk3ATAYP36cjs.cn.call(void 0, "py-[var(--spacing-system-xxl)]", className),
11591
11005
  ...emptyState
11592
11006
  }
@@ -11604,7 +11018,7 @@ function TableColumnFilterDropdown({
11604
11018
  placement = "bottom-start",
11605
11019
  dropdownClassName = "min-w-[240px]"
11606
11020
  }) {
11607
- const activeCount = _optionalChain([filters, 'optionalAccess', _207 => _207[columnKey], 'optionalAccess', _208 => _208.length]) || 0;
11021
+ const activeCount = _optionalChain([filters, 'optionalAccess', _185 => _185[columnKey], 'optionalAccess', _186 => _186.length]) || 0;
11608
11022
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11609
11023
  FiltersDropdown,
11610
11024
  {
@@ -11644,7 +11058,7 @@ function TableColumnFilterDropdown({
11644
11058
  delete newFilters[columnKey];
11645
11059
  onFilterChange(newFilters);
11646
11060
  },
11647
- currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _209 => _209[columnKey]]) || [] },
11061
+ currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _187 => _187[columnKey]]) || [] },
11648
11062
  placement,
11649
11063
  dropdownClassName
11650
11064
  }
@@ -11848,7 +11262,7 @@ function TableCardSkeleton({
11848
11262
  className,
11849
11263
  rowClassName
11850
11264
  }) {
11851
- const primaryKey = _optionalChain([(_nullishCoalesce(columns.find((c) => /flex-(1|\[)/.test(c.width || "")), () => ( columns[0]))), 'optionalAccess', _210 => _210.key]);
11265
+ const primaryKey = _optionalChain([(_nullishCoalesce(columns.find((c) => /flex-(1|\[)/.test(c.width || "")), () => ( columns[0]))), 'optionalAccess', _188 => _188.key]);
11852
11266
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
11853
11267
  "div",
11854
11268
  {
@@ -12033,7 +11447,7 @@ function useTableMotion(enabled) {
12033
11447
  // src/components/ui/table/table.tsx
12034
11448
 
12035
11449
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref, actionsColumnWidth) {
12036
- const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _211 => _211.length])) || Boolean(renderRowActions);
11450
+ const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _189 => _189.length])) || Boolean(renderRowActions);
12037
11451
  const result = [...columns];
12038
11452
  const actions = _nullishCoalesce(rowActions, () => ( []));
12039
11453
  if (hasActions) {
@@ -12140,7 +11554,7 @@ function Table({
12140
11554
  return rowKey(item);
12141
11555
  }
12142
11556
  const key = item[rowKey];
12143
- return _optionalChain([key, 'optionalAccess', _212 => _212.toString, 'call', _213 => _213()]) || index.toString();
11557
+ return _optionalChain([key, 'optionalAccess', _190 => _190.toString, 'call', _191 => _191()]) || index.toString();
12144
11558
  };
12145
11559
  const getRowClassName = (item, index) => {
12146
11560
  if (typeof rowClassName === "function") {
@@ -12174,25 +11588,25 @@ function Table({
12174
11588
  const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
12175
11589
  const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
12176
11590
  const sentinelRef = _react.useRef.call(void 0, null);
12177
- const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _214 => _214.onLoadMore]));
11591
+ const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _192 => _192.onLoadMore]));
12178
11592
  _react.useEffect.call(void 0, () => {
12179
- onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _215 => _215.onLoadMore]);
11593
+ onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _193 => _193.onLoadMore]);
12180
11594
  });
12181
11595
  _react.useEffect.call(void 0, () => {
12182
- if (!_optionalChain([infiniteScroll, 'optionalAccess', _216 => _216.hasNextPage]) || infiniteScroll.isFetchingNextPage) return void 0;
11596
+ if (!_optionalChain([infiniteScroll, 'optionalAccess', _194 => _194.hasNextPage]) || infiniteScroll.isFetchingNextPage) return void 0;
12183
11597
  const sentinel = sentinelRef.current;
12184
11598
  if (!sentinel) return void 0;
12185
11599
  const observer = new IntersectionObserver(
12186
11600
  (entries) => {
12187
- if (_optionalChain([entries, 'access', _217 => _217[0], 'optionalAccess', _218 => _218.isIntersecting])) {
12188
- _optionalChain([onLoadMoreRef, 'access', _219 => _219.current, 'optionalCall', _220 => _220()]);
11601
+ if (_optionalChain([entries, 'access', _195 => _195[0], 'optionalAccess', _196 => _196.isIntersecting])) {
11602
+ _optionalChain([onLoadMoreRef, 'access', _197 => _197.current, 'optionalCall', _198 => _198()]);
12189
11603
  }
12190
11604
  },
12191
11605
  { rootMargin: "200px" }
12192
11606
  );
12193
11607
  observer.observe(sentinel);
12194
11608
  return () => observer.disconnect();
12195
- }, [_optionalChain([infiniteScroll, 'optionalAccess', _221 => _221.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _222 => _222.isFetchingNextPage])]);
11609
+ }, [_optionalChain([infiniteScroll, 'optionalAccess', _199 => _199.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _200 => _200.isFetchingNextPage])]);
12196
11610
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex w-full flex-col gap-1", containerClassName), children: [
12197
11611
  showToolbar && bulkActions && selectedRows.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-2 flex items-center justify-between rounded-[6px] border border-ods-border bg-ods-card p-3", children: [
12198
11612
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-h6", children: [
@@ -12244,7 +11658,7 @@ function Table({
12244
11658
  columns,
12245
11659
  rows: skeletonRows,
12246
11660
  compact,
12247
- hasActions: (_nullishCoalesce(_optionalChain([rowActions, 'optionalAccess', _223 => _223.length]), () => ( 0))) > 0,
11661
+ hasActions: (_nullishCoalesce(_optionalChain([rowActions, 'optionalAccess', _201 => _201.length]), () => ( 0))) > 0,
12248
11662
  hasChevron: Boolean(rowHref)
12249
11663
  }
12250
11664
  ) : data.length === 0 ? (
@@ -12278,23 +11692,23 @@ function Table({
12278
11692
  selected: isRowSelected(item),
12279
11693
  onSelect: handleSelectRow,
12280
11694
  animateRowReorder,
12281
- motionDiv: _optionalChain([tableMotion, 'optionalAccess', _224 => _224.motionDiv])
11695
+ motionDiv: _optionalChain([tableMotion, 'optionalAccess', _202 => _202.motionDiv])
12282
11696
  },
12283
11697
  getRowKey(item, index)
12284
11698
  ));
12285
- const LayoutGroup = _optionalChain([tableMotion, 'optionalAccess', _225 => _225.LayoutGroup]);
11699
+ const LayoutGroup = _optionalChain([tableMotion, 'optionalAccess', _203 => _203.LayoutGroup]);
12286
11700
  return animateRowReorder && LayoutGroup ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LayoutGroup, { children: rows }) : rows;
12287
11701
  })(),
12288
- _optionalChain([infiniteScroll, 'optionalAccess', _226 => _226.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11702
+ _optionalChain([infiniteScroll, 'optionalAccess', _204 => _204.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12289
11703
  TableCardSkeleton,
12290
11704
  {
12291
11705
  columns,
12292
11706
  rows: _nullishCoalesce(infiniteScroll.skeletonRows, () => ( 3)),
12293
- hasActions: (_nullishCoalesce(_optionalChain([rowActions, 'optionalAccess', _227 => _227.length]), () => ( 0))) > 0,
11707
+ hasActions: (_nullishCoalesce(_optionalChain([rowActions, 'optionalAccess', _205 => _205.length]), () => ( 0))) > 0,
12294
11708
  hasChevron: Boolean(rowHref)
12295
11709
  }
12296
11710
  ),
12297
- _optionalChain([infiniteScroll, 'optionalAccess', _228 => _228.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
11711
+ _optionalChain([infiniteScroll, 'optionalAccess', _206 => _206.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
12298
11712
  !infiniteScroll && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12299
11713
  PlaceholderRows,
12300
11714
  {
@@ -12569,7 +11983,7 @@ function QueryReportTable({
12569
11983
  const columns = _react.useMemo.call(void 0, () => deriveColumns(data, columnOrder), [data, columnOrder]);
12570
11984
  const handleExport = () => {
12571
11985
  exportToCSV(data, columns, exportFilename);
12572
- _optionalChain([onExport, 'optionalCall', _229 => _229()]);
11986
+ _optionalChain([onExport, 'optionalCall', _207 => _207()]);
12573
11987
  };
12574
11988
  const tableMinWidth = columns.length * (columnWidth + 16);
12575
11989
  const {
@@ -12699,7 +12113,7 @@ function DataTableRowImpl({
12699
12113
  const handleClick = _react.useCallback.call(void 0,
12700
12114
  (e) => {
12701
12115
  const target = e.target;
12702
- if (!_optionalChain([containerRef, 'access', _230 => _230.current, 'optionalAccess', _231 => _231.contains, 'call', _232 => _232(target)])) {
12116
+ if (!_optionalChain([containerRef, 'access', _208 => _208.current, 'optionalAccess', _209 => _209.contains, 'call', _210 => _210(target)])) {
12703
12117
  if (isLinkMode) e.preventDefault();
12704
12118
  return;
12705
12119
  }
@@ -12707,7 +12121,7 @@ function DataTableRowImpl({
12707
12121
  if (isLinkMode) e.preventDefault();
12708
12122
  return;
12709
12123
  }
12710
- _optionalChain([onClick, 'optionalCall', _233 => _233(row.original)]);
12124
+ _optionalChain([onClick, 'optionalCall', _211 => _211(row.original)]);
12711
12125
  },
12712
12126
  [onClick, row.original, isLinkMode]
12713
12127
  );
@@ -12747,10 +12161,10 @@ function DataTableRowImpl({
12747
12161
  {
12748
12162
  className: _chunk3ATAYP36cjs.cn.call(void 0,
12749
12163
  "flex flex-col overflow-hidden",
12750
- alignJustify(_optionalChain([meta, 'optionalAccess', _234 => _234.align])),
12751
- _optionalChain([meta, 'optionalAccess', _235 => _235.width]) || "min-w-0 flex-1",
12752
- _optionalChain([meta, 'optionalAccess', _236 => _236.cellClassName]),
12753
- getHideClasses(_optionalChain([meta, 'optionalAccess', _237 => _237.hideAt]))
12164
+ alignJustify(_optionalChain([meta, 'optionalAccess', _212 => _212.align])),
12165
+ _optionalChain([meta, 'optionalAccess', _213 => _213.width]) || "min-w-0 flex-1",
12166
+ _optionalChain([meta, 'optionalAccess', _214 => _214.cellClassName]),
12167
+ getHideClasses(_optionalChain([meta, 'optionalAccess', _215 => _215.hideAt]))
12754
12168
  ),
12755
12169
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
12756
12170
  },
@@ -12858,7 +12272,7 @@ function DataTableBody({
12858
12272
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, ROW_STACK_CLASSES, className), children: [
12859
12273
  rows.map((row, index) => {
12860
12274
  const item = row.original;
12861
- const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _238 => _238(item)]), () => ( void 0));
12275
+ const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _216 => _216(item)]), () => ( void 0));
12862
12276
  const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
12863
12277
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12864
12278
  DataTableRow,
@@ -12869,7 +12283,7 @@ function DataTableBody({
12869
12283
  compact,
12870
12284
  rowHeightClassName,
12871
12285
  className: cls,
12872
- subRow: _optionalChain([renderSubRow, 'optionalCall', _239 => _239(item)])
12286
+ subRow: _optionalChain([renderSubRow, 'optionalCall', _217 => _217(item)])
12873
12287
  },
12874
12288
  row.id
12875
12289
  );
@@ -12921,7 +12335,7 @@ function DataTableColumnFilter({
12921
12335
  pending = false
12922
12336
  }) {
12923
12337
  const currentValue = column.getFilterValue();
12924
- const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _240 => _240.length]), () => ( 0));
12338
+ const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _218 => _218.length]), () => ( 0));
12925
12339
  const sections = _react.useMemo.call(void 0,
12926
12340
  () => [
12927
12341
  {
@@ -13053,7 +12467,7 @@ function DataTableHeader({
13053
12467
  );
13054
12468
  }
13055
12469
  function keepsCellOnTablet(meta) {
13056
- return Boolean(_optionalChain([meta, 'optionalAccess', _241 => _241.filter])) || _optionalChain([meta, 'optionalAccess', _242 => _242.sortable]) === true || _optionalChain([meta, 'optionalAccess', _243 => _243.alwaysShowHeader]) === true;
12470
+ return Boolean(_optionalChain([meta, 'optionalAccess', _219 => _219.filter])) || _optionalChain([meta, 'optionalAccess', _220 => _220.sortable]) === true || _optionalChain([meta, 'optionalAccess', _221 => _221.alwaysShowHeader]) === true;
13057
12471
  }
13058
12472
  var SHOW_FROM = {
13059
12473
  md: "content-md:flex",
@@ -13091,11 +12505,11 @@ function HeaderCell({ header, sort, onSortChange }) {
13091
12505
  if (header.isPlaceholder) return null;
13092
12506
  const column = header.column;
13093
12507
  const meta = column.columnDef.meta;
13094
- const filter = _optionalChain([meta, 'optionalAccess', _244 => _244.filter]);
12508
+ const filter = _optionalChain([meta, 'optionalAccess', _222 => _222.filter]);
13095
12509
  const keepOnTablet = keepsCellOnTablet(meta);
13096
- const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _245 => _245.align]), () => ( "left"));
13097
- const canSort = _optionalChain([meta, 'optionalAccess', _246 => _246.sortable]) === true;
13098
- const sortDir = _optionalChain([sort, 'optionalAccess', _247 => _247.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
12510
+ const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _223 => _223.align]), () => ( "left"));
12511
+ const canSort = _optionalChain([meta, 'optionalAccess', _224 => _224.sortable]) === true;
12512
+ const sortDir = _optionalChain([sort, 'optionalAccess', _225 => _225.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
13099
12513
  const filterTrigger = filter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13100
12514
  DataTableColumnFilter,
13101
12515
  {
@@ -13114,7 +12528,7 @@ function HeaderCell({ header, sort, onSortChange }) {
13114
12528
  "items-stretch",
13115
12529
  // Cells are hidden rather than dropped from the tree, so which columns
13116
12530
  // exist never depends on when an effect ran.
13117
- getCellVisibilityClasses(keepOnTablet, _optionalChain([meta, 'optionalAccess', _248 => _248.hideAt])),
12531
+ getCellVisibilityClasses(keepOnTablet, _optionalChain([meta, 'optionalAccess', _226 => _226.hideAt])),
13118
12532
  // Width applies from lg only. Stated as "always, neutralized below lg"
13119
12533
  // because `meta.width` is an opaque consumer string that cannot be
13120
12534
  // prefixed. Only `keepOnTablet` cells need the override — the rest are
@@ -13132,15 +12546,15 @@ function HeaderCell({ header, sort, onSortChange }) {
13132
12546
  // Specificity rather than `!important`: it stays a normal declaration, so a
13133
12547
  // consumer that genuinely needs a tablet width can still take it back with a
13134
12548
  // more specific rule — `!important` could only be answered with another one.
13135
- _optionalChain([meta, 'optionalAccess', _249 => _249.width]) || "min-w-0 flex-1",
12549
+ _optionalChain([meta, 'optionalAccess', _227 => _227.width]) || "min-w-0 flex-1",
13136
12550
  keepOnTablet && "content-max-lg:[&&]:w-auto content-max-lg:[&&]:flex-none content-max-lg:[&&]:basis-auto",
13137
- _optionalChain([meta, 'optionalAccess', _250 => _250.headerClassName])
12551
+ _optionalChain([meta, 'optionalAccess', _228 => _228.headerClassName])
13138
12552
  ),
13139
12553
  children: filterTrigger ? (
13140
12554
  // Only a column that HAS a hint gets the extra row, so every existing
13141
12555
  // filter header keeps its exact structure — the trigger stays a direct
13142
12556
  // child of the cell.
13143
- _optionalChain([meta, 'optionalAccess', _251 => _251.hint]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-xxs)]", children: [
12557
+ _optionalChain([meta, 'optionalAccess', _229 => _229.hint]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-xxs)]", children: [
13144
12558
  filterTrigger,
13145
12559
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUWQWMGJ7cjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
13146
12560
  ] }) : filterTrigger
@@ -13156,9 +12570,9 @@ function HeaderCell({ header, sort, onSortChange }) {
13156
12570
  keepOnTablet && "content-max-lg:justify-start",
13157
12571
  canSort && "group cursor-pointer"
13158
12572
  ),
13159
- onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _252 => _252(column.id)]) : void 0,
12573
+ onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _230 => _230(column.id)]) : void 0,
13160
12574
  children: [
13161
- _optionalChain([meta, 'optionalAccess', _253 => _253.hint]) ? (
12575
+ _optionalChain([meta, 'optionalAccess', _231 => _231.hint]) ? (
13162
12576
  // The hint shares a LABEL GROUP with the text, pinned to the FIRST
13163
12577
  // line (`items-start`): on a label that breaks onto a second line it
13164
12578
  // reads beside the opening word instead of floating in the gap
@@ -13229,9 +12643,9 @@ function DataTableInfiniteFooter({
13229
12643
  loadMore.setSkeletonRows(requestedRows);
13230
12644
  return () => loadMore.setSkeletonRows(0);
13231
12645
  }, [loadMore, requestedRows]);
13232
- const tableRows = _optionalChain([useOptionalDataTableContext, 'call', _254 => _254(), 'optionalAccess', _255 => _255.getRowModel, 'call', _256 => _256(), 'access', _257 => _257.rows]);
13233
- const progressCount = _nullishCoalesce(loadedCount, () => ( _optionalChain([tableRows, 'optionalAccess', _258 => _258.length])));
13234
- const lastRowId = _nullishCoalesce(_optionalChain([tableRows, 'optionalAccess', _259 => _259[tableRows.length - 1], 'optionalAccess', _260 => _260.id]), () => ( ""));
12646
+ const tableRows = _optionalChain([useOptionalDataTableContext, 'call', _232 => _232(), 'optionalAccess', _233 => _233.getRowModel, 'call', _234 => _234(), 'access', _235 => _235.rows]);
12647
+ const progressCount = _nullishCoalesce(loadedCount, () => ( _optionalChain([tableRows, 'optionalAccess', _236 => _236.length])));
12648
+ const lastRowId = _nullishCoalesce(_optionalChain([tableRows, 'optionalAccess', _237 => _237[tableRows.length - 1], 'optionalAccess', _238 => _238.id]), () => ( ""));
13235
12649
  const tail = progressCount === void 0 ? null : `${progressCount}:${lastRowId}`;
13236
12650
  const [wasFetching, setWasFetching] = _react.useState.call(void 0, isFetchingNextPage);
13237
12651
  const [tailAtFetchStart, setTailAtFetchStart] = _react.useState.call(void 0, null);
@@ -13252,7 +12666,7 @@ function DataTableInfiniteFooter({
13252
12666
  if (!sentinel) return void 0;
13253
12667
  const observer = new IntersectionObserver(
13254
12668
  (entries) => {
13255
- if (_optionalChain([entries, 'access', _261 => _261[0], 'optionalAccess', _262 => _262.isIntersecting])) onLoadMoreRef.current();
12669
+ if (_optionalChain([entries, 'access', _239 => _239[0], 'optionalAccess', _240 => _240.isIntersecting])) onLoadMoreRef.current();
13256
12670
  },
13257
12671
  { root: findScrollParent(sentinel), rootMargin }
13258
12672
  );
@@ -13279,7 +12693,7 @@ function DataTableRowCount({
13279
12693
  const table = useDataTableContext();
13280
12694
  const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
13281
12695
  if (hideWhenEmpty && count === 0) return null;
13282
- const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _263 => _263(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
12696
+ const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _241 => _241(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
13283
12697
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk3ATAYP36cjs.cn.call(void 0, "whitespace-nowrap text-ods-text-secondary text-h6", className), children: [
13284
12698
  count,
13285
12699
  " ",
@@ -13398,12 +12812,12 @@ function PhoneInput({
13398
12812
  (phone) => {
13399
12813
  if (!phone || digitCount(phone) === 0) {
13400
12814
  setIsInvalid(false);
13401
- _optionalChain([onValidationChange, 'optionalCall', _264 => _264(false)]);
12815
+ _optionalChain([onValidationChange, 'optionalCall', _242 => _242(false)]);
13402
12816
  return;
13403
12817
  }
13404
12818
  const invalid = !_chunkUWQWMGJ7cjs.validatePhoneNumber.call(void 0, phone, countryCode);
13405
12819
  setIsInvalid(invalid);
13406
- _optionalChain([onValidationChange, 'optionalCall', _265 => _265(invalid)]);
12820
+ _optionalChain([onValidationChange, 'optionalCall', _243 => _243(invalid)]);
13407
12821
  },
13408
12822
  [countryCode, digitCount, onValidationChange]
13409
12823
  );
@@ -13421,7 +12835,7 @@ function PhoneInput({
13421
12835
  }, []);
13422
12836
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 gap-2", children: [
13423
12837
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
13424
- _chunkPPXR22YCcjs.Select,
12838
+ _chunkZ5UWW3Z2cjs.Select,
13425
12839
  {
13426
12840
  value: countryCode,
13427
12841
  onValueChange: (val) => {
@@ -13432,14 +12846,14 @@ function PhoneInput({
13432
12846
  },
13433
12847
  disabled,
13434
12848
  children: [
13435
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectTrigger, { className: "w-[130px] shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectValue, { children: selectedCountry && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-1.5", children: [
12849
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectTrigger, { className: "w-[130px] shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectValue, { children: selectedCountry && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-1.5", children: [
13436
12850
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: selectedCountry.flag }),
13437
12851
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: selectedCountry.dialCode })
13438
12852
  ] }) }) }),
13439
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPPXR22YCcjs.SelectContent, { className: "max-h-[300px] !w-[280px]", children: [
13440
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectGroup, { children: priority.map((country) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CountryOption, { country }, country.code)) }),
13441
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectSeparator, {}),
13442
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectGroup, { children: others.map((country) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CountryOption, { country }, country.code)) })
12853
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZ5UWW3Z2cjs.SelectContent, { className: "max-h-[300px] !w-[280px]", children: [
12854
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectGroup, { children: priority.map((country) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CountryOption, { country }, country.code)) }),
12855
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectSeparator, {}),
12856
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectGroup, { children: others.map((country) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CountryOption, { country }, country.code)) })
13443
12857
  ] })
13444
12858
  ]
13445
12859
  }
@@ -13457,7 +12871,7 @@ function PhoneInput({
13457
12871
  debouncedValidation(val);
13458
12872
  } else if (digitCount(val) === 0) {
13459
12873
  setIsInvalid(false);
13460
- _optionalChain([onValidationChange, 'optionalCall', _266 => _266(false)]);
12874
+ _optionalChain([onValidationChange, 'optionalCall', _244 => _244(false)]);
13461
12875
  }
13462
12876
  }
13463
12877
  },
@@ -13471,7 +12885,7 @@ function PhoneInput({
13471
12885
  ] });
13472
12886
  }
13473
12887
  function CountryOption({ country }) {
13474
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: country.code, textValue: country.name, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2", children: [
12888
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: country.code, textValue: country.name, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2", children: [
13475
12889
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: country.flag }),
13476
12890
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary", children: country.dialCode }),
13477
12891
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-block max-w-[140px] overflow-hidden text-ellipsis whitespace-nowrap", children: country.name })
@@ -13497,7 +12911,7 @@ var containerStyles = _chunk3ATAYP36cjs.cn.call(void 0,
13497
12911
  // Theme palette — matches lib Input component
13498
12912
  "border-ods-border bg-ods-card has-[:focus]:border-ods-accent"
13499
12913
  );
13500
- var innerInputStyles2 = _chunk3ATAYP36cjs.cn.call(void 0,
12914
+ var innerInputStyles = _chunk3ATAYP36cjs.cn.call(void 0,
13501
12915
  "min-w-[60px] flex-1 border-none bg-transparent outline-none",
13502
12916
  "text-h4",
13503
12917
  "text-ods-text-primary placeholder:text-ods-text-secondary",
@@ -13549,7 +12963,7 @@ function SearchInput({
13549
12963
  const debouncedValue = _chunkGQ7JJUITcjs.useDebounce.call(void 0, currentValue, debounceMs);
13550
12964
  const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
13551
12965
  const [highlightedIndex, setHighlightedIndex] = _react.useState.call(void 0, -1);
13552
- const keyboardPadding = _chunkJO5TLJPMcjs.useKeyboardCollisionPadding.call(void 0, );
12966
+ const keyboardPadding = _chunkA6P6DHEZcjs.useKeyboardCollisionPadding.call(void 0, );
13553
12967
  const containerRef = _react.useRef.call(void 0, null);
13554
12968
  const currentPlaceholder = filterChips.length > 0 ? "Add filter..." : placeholder;
13555
12969
  const {
@@ -13559,7 +12973,7 @@ function SearchInput({
13559
12973
  textMeasureRef,
13560
12974
  badgeRef,
13561
12975
  inputRef
13562
- } = _chunkJO5TLJPMcjs.useAutoLimitTags.call(void 0, {
12976
+ } = _chunkA6P6DHEZcjs.useAutoLimitTags.call(void 0, {
13563
12977
  count: filterChips.length,
13564
12978
  limitTags,
13565
12979
  // When chips exist, pass empty placeholder so the hook only reserves input minWidth,
@@ -13574,7 +12988,7 @@ function SearchInput({
13574
12988
  if (!showHiddenTags) return void 0;
13575
12989
  const handleClick = (e) => {
13576
12990
  const target = e.target;
13577
- if (!_optionalChain([hiddenTagsRef, 'access', _267 => _267.current, 'optionalAccess', _268 => _268.contains, 'call', _269 => _269(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _270 => _270.current, 'optionalAccess', _271 => _271.contains, 'call', _272 => _272(target)])) {
12991
+ if (!_optionalChain([hiddenTagsRef, 'access', _245 => _245.current, 'optionalAccess', _246 => _246.contains, 'call', _247 => _247(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _248 => _248.current, 'optionalAccess', _249 => _249.contains, 'call', _250 => _250(target)])) {
13578
12992
  setShowHiddenTags(false);
13579
12993
  }
13580
12994
  };
@@ -13585,7 +12999,7 @@ function SearchInput({
13585
12999
  const popup = hiddenTagsPopupRef.current;
13586
13000
  const badge = badgeRef.current;
13587
13001
  if (!popup || !badge) return;
13588
- const originLeft = _nullishCoalesce(_optionalChain([containerRef, 'access', _273 => _273.current, 'optionalAccess', _274 => _274.getBoundingClientRect, 'call', _275 => _275(), 'access', _276 => _276.left]), () => ( 0));
13002
+ const originLeft = _nullishCoalesce(_optionalChain([containerRef, 'access', _251 => _251.current, 'optionalAccess', _252 => _252.getBoundingClientRect, 'call', _253 => _253(), 'access', _254 => _254.left]), () => ( 0));
13589
13003
  popup.style.left = `${badge.getBoundingClientRect().left - originLeft}px`;
13590
13004
  });
13591
13005
  const hiddenCount = filterChips.length - visibleCount;
@@ -13620,7 +13034,7 @@ function SearchInput({
13620
13034
  } else {
13621
13035
  setInternalValue(newVal);
13622
13036
  }
13623
- if (newVal === "" && currentValue !== "") _optionalChain([onSubmit, 'optionalCall', _277 => _277("")]);
13037
+ if (newVal === "" && currentValue !== "") _optionalChain([onSubmit, 'optionalCall', _255 => _255("")]);
13624
13038
  if (!isOpen) setIsOpen(true);
13625
13039
  setHighlightedIndex(-1);
13626
13040
  };
@@ -13632,11 +13046,11 @@ function SearchInput({
13632
13046
  } else {
13633
13047
  setInternalValue("");
13634
13048
  }
13635
- if (currentValue !== "") _optionalChain([onSubmit, 'optionalCall', _278 => _278("")]);
13636
- _optionalChain([inputRef, 'access', _279 => _279.current, 'optionalAccess', _280 => _280.focus, 'call', _281 => _281()]);
13049
+ if (currentValue !== "") _optionalChain([onSubmit, 'optionalCall', _256 => _256("")]);
13050
+ _optionalChain([inputRef, 'access', _257 => _257.current, 'optionalAccess', _258 => _258.focus, 'call', _259 => _259()]);
13637
13051
  };
13638
13052
  const handleResultClick = (result, e) => {
13639
- _optionalChain([onResultSelect, 'optionalCall', _282 => _282(
13053
+ _optionalChain([onResultSelect, 'optionalCall', _260 => _260(
13640
13054
  result,
13641
13055
  e ? {
13642
13056
  metaKey: e.metaKey,
@@ -13664,7 +13078,7 @@ function SearchInput({
13664
13078
  if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
13665
13079
  handleResultClick(flatResults[highlightedIndex]);
13666
13080
  } else {
13667
- _optionalChain([onSubmit, 'optionalCall', _283 => _283(currentValue)]);
13081
+ _optionalChain([onSubmit, 'optionalCall', _261 => _261(currentValue)]);
13668
13082
  }
13669
13083
  break;
13670
13084
  case "Escape":
@@ -13736,8 +13150,8 @@ function SearchInput({
13736
13150
  };
13737
13151
  const hasValue = currentValue.length > 0;
13738
13152
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "relative", className), ref: containerRef, children: [
13739
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, PopoverPrimitive5.Root, { open: dropdownVisible, onOpenChange: handleOpenChange, modal: false, children: [
13740
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive5.Anchor, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
13153
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, PopoverPrimitive4.Root, { open: dropdownVisible, onOpenChange: handleOpenChange, modal: false, children: [
13154
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive4.Anchor, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
13741
13155
  "div",
13742
13156
  {
13743
13157
  className: _chunk3ATAYP36cjs.cn.call(void 0,
@@ -13747,7 +13161,7 @@ function SearchInput({
13747
13161
  ),
13748
13162
  onClick: () => {
13749
13163
  if (disabled) return;
13750
- _optionalChain([inputRef, 'access', _284 => _284.current, 'optionalAccess', _285 => _285.focus, 'call', _286 => _286()]);
13164
+ _optionalChain([inputRef, 'access', _262 => _262.current, 'optionalAccess', _263 => _263.focus, 'call', _264 => _264()]);
13751
13165
  setIsOpen(true);
13752
13166
  },
13753
13167
  children: [
@@ -13797,7 +13211,7 @@ function SearchInput({
13797
13211
  setShowHiddenTags(false);
13798
13212
  },
13799
13213
  placeholder: currentPlaceholder,
13800
- className: innerInputStyles2
13214
+ className: innerInputStyles
13801
13215
  }
13802
13216
  )
13803
13217
  ] }),
@@ -13818,7 +13232,7 @@ function SearchInput({
13818
13232
  }
13819
13233
  ) }),
13820
13234
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13821
- PopoverPrimitive5.Content,
13235
+ PopoverPrimitive4.Content,
13822
13236
  {
13823
13237
  className: _chunk3ATAYP36cjs.cn.call(void 0,
13824
13238
  "z-50 mt-1 w-[var(--radix-popover-trigger-width)]",
@@ -13835,27 +13249,27 @@ function SearchInput({
13835
13249
  collisionPadding: { bottom: keyboardPadding },
13836
13250
  onOpenAutoFocus: (e) => {
13837
13251
  e.preventDefault();
13838
- _optionalChain([inputRef, 'access', _287 => _287.current, 'optionalAccess', _288 => _288.focus, 'call', _289 => _289()]);
13252
+ _optionalChain([inputRef, 'access', _265 => _265.current, 'optionalAccess', _266 => _266.focus, 'call', _267 => _267()]);
13839
13253
  },
13840
13254
  onInteractOutside: (e) => {
13841
- if (_optionalChain([containerRef, 'access', _290 => _290.current, 'optionalAccess', _291 => _291.contains, 'call', _292 => _292(e.target)])) {
13255
+ if (_optionalChain([containerRef, 'access', _268 => _268.current, 'optionalAccess', _269 => _269.contains, 'call', _270 => _270(e.target)])) {
13842
13256
  e.preventDefault();
13843
13257
  }
13844
13258
  },
13845
- children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, ScrollAreaPrimitive3.Root, { className: "flex min-h-0 flex-col overflow-hidden", children: [
13846
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScrollAreaPrimitive3.Viewport, { className: "max-h-[320px] min-h-0 w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { role: "listbox", children: renderDropdownContent() }) }),
13847
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScrollAreaPrimitive3.Scrollbar, { className: "hidden", orientation: "vertical", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScrollAreaPrimitive3.Thumb, {}) })
13259
+ children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, ScrollAreaPrimitive2.Root, { className: "flex min-h-0 flex-col overflow-hidden", children: [
13260
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScrollAreaPrimitive2.Viewport, { className: "max-h-[320px] min-h-0 w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { role: "listbox", children: renderDropdownContent() }) }),
13261
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScrollAreaPrimitive2.Scrollbar, { className: "hidden", orientation: "vertical", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScrollAreaPrimitive2.Thumb, {}) })
13848
13262
  ] })
13849
13263
  }
13850
13264
  )
13851
13265
  ] }),
13852
13266
  showHiddenTags && hiddenCount > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13853
- HiddenTagsPopup,
13267
+ _chunkZ5UWW3Z2cjs.HiddenTagsPopup,
13854
13268
  {
13855
13269
  ref: hiddenTagsPopupRef,
13856
13270
  items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
13857
13271
  onRemove: (removedTag) => {
13858
- _optionalChain([onFilterRemove, 'optionalCall', _293 => _293(removedTag)]);
13272
+ _optionalChain([onFilterRemove, 'optionalCall', _271 => _271(removedTag)]);
13859
13273
  if (hiddenCount <= 1) setShowHiddenTags(false);
13860
13274
  }
13861
13275
  }
@@ -13897,7 +13311,7 @@ function FilterListItem({
13897
13311
  }) {
13898
13312
  const handleToggle = () => {
13899
13313
  if (disabled) return;
13900
- _optionalChain([onToggle, 'optionalCall', _294 => _294(!selected)]);
13314
+ _optionalChain([onToggle, 'optionalCall', _272 => _272(!selected)]);
13901
13315
  };
13902
13316
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
13903
13317
  "div",
@@ -13944,7 +13358,7 @@ function FilterListItem({
13944
13358
  CheckboxPrimitive4.Root,
13945
13359
  {
13946
13360
  checked: selected,
13947
- onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _295 => _295(c === true)]),
13361
+ onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _273 => _273(c === true)]),
13948
13362
  onClick: (e) => e.stopPropagation(),
13949
13363
  disabled,
13950
13364
  "aria-label": title,
@@ -14012,7 +13426,7 @@ function TagSearchInput({
14012
13426
  limitTags = "auto"
14013
13427
  }) {
14014
13428
  const currentPlaceholder = tags.length === 0 ? placeholder : addMorePlaceholder;
14015
- const { visibleCount, middleRef, measureRef, textMeasureRef, badgeRef, inputRef } = _chunkJO5TLJPMcjs.useAutoLimitTags.call(void 0, {
13429
+ const { visibleCount, middleRef, measureRef, textMeasureRef, badgeRef, inputRef } = _chunkA6P6DHEZcjs.useAutoLimitTags.call(void 0, {
14016
13430
  count: tags.length,
14017
13431
  limitTags,
14018
13432
  placeholder: currentPlaceholder
@@ -14025,7 +13439,7 @@ function TagSearchInput({
14025
13439
  if (!showHiddenTags) return void 0;
14026
13440
  const handleClick = (e) => {
14027
13441
  const target = e.target;
14028
- if (!_optionalChain([hiddenTagsRef, 'access', _296 => _296.current, 'optionalAccess', _297 => _297.contains, 'call', _298 => _298(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _299 => _299.current, 'optionalAccess', _300 => _300.contains, 'call', _301 => _301(target)])) {
13442
+ if (!_optionalChain([hiddenTagsRef, 'access', _274 => _274.current, 'optionalAccess', _275 => _275.contains, 'call', _276 => _276(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _277 => _277.current, 'optionalAccess', _278 => _278.contains, 'call', _279 => _279(target)])) {
14029
13443
  setShowHiddenTags(false);
14030
13444
  }
14031
13445
  };
@@ -14036,7 +13450,7 @@ function TagSearchInput({
14036
13450
  const popup = hiddenTagsPopupRef.current;
14037
13451
  const badge = badgeRef.current;
14038
13452
  if (!popup || !badge) return;
14039
- const originLeft = _nullishCoalesce(_optionalChain([wrapperRef, 'access', _302 => _302.current, 'optionalAccess', _303 => _303.getBoundingClientRect, 'call', _304 => _304(), 'access', _305 => _305.left]), () => ( 0));
13453
+ const originLeft = _nullishCoalesce(_optionalChain([wrapperRef, 'access', _280 => _280.current, 'optionalAccess', _281 => _281.getBoundingClientRect, 'call', _282 => _282(), 'access', _283 => _283.left]), () => ( 0));
14040
13454
  popup.style.left = `${badge.getBoundingClientRect().left - originLeft}px`;
14041
13455
  });
14042
13456
  const hiddenCount = tags.length - visibleCount;
@@ -14048,13 +13462,13 @@ function TagSearchInput({
14048
13462
  e.preventDefault();
14049
13463
  onSubmit(searchValue);
14050
13464
  }
14051
- _optionalChain([onKeyDown, 'optionalCall', _306 => _306(e)]);
13465
+ _optionalChain([onKeyDown, 'optionalCall', _284 => _284(e)]);
14052
13466
  };
14053
13467
  const handleClearAll = (e) => {
14054
13468
  e.stopPropagation();
14055
13469
  e.preventDefault();
14056
- _optionalChain([onClearAll, 'optionalCall', _307 => _307()]);
14057
- _optionalChain([inputRef, 'access', _308 => _308.current, 'optionalAccess', _309 => _309.focus, 'call', _310 => _310()]);
13470
+ _optionalChain([onClearAll, 'optionalCall', _285 => _285()]);
13471
+ _optionalChain([inputRef, 'access', _286 => _286.current, 'optionalAccess', _287 => _287.focus, 'call', _288 => _288()]);
14058
13472
  };
14059
13473
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
14060
13474
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -14077,7 +13491,7 @@ function TagSearchInput({
14077
13491
  className
14078
13492
  ),
14079
13493
  onClick: () => {
14080
- if (!disabled) _optionalChain([inputRef, 'access', _311 => _311.current, 'optionalAccess', _312 => _312.focus, 'call', _313 => _313()]);
13494
+ if (!disabled) _optionalChain([inputRef, 'access', _289 => _289.current, 'optionalAccess', _290 => _290.focus, 'call', _291 => _291()]);
14081
13495
  },
14082
13496
  children: [
14083
13497
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center pl-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4GFNWALLcjs.SearchIcon, { className: "size-4 text-ods-text-secondary content-md:size-6" }) }),
@@ -14144,7 +13558,7 @@ function TagSearchInput({
14144
13558
  }
14145
13559
  ),
14146
13560
  showHiddenTags && hiddenCount > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14147
- HiddenTagsPopup,
13561
+ _chunkZ5UWW3Z2cjs.HiddenTagsPopup,
14148
13562
  {
14149
13563
  ref: hiddenTagsPopupRef,
14150
13564
  items: hiddenTags,
@@ -14293,7 +13707,7 @@ function MarkdownEditor({
14293
13707
  try {
14294
13708
  const mod = await Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor")));
14295
13709
  if (cancelled) return;
14296
- if (_optionalChain([mod, 'access', _314 => _314.commands, 'optionalAccess', _315 => _315.getExtraCommands])) {
13710
+ if (_optionalChain([mod, 'access', _292 => _292.commands, 'optionalAccess', _293 => _293.getExtraCommands])) {
14297
13711
  setDefaultExtraCommands(mod.commands.getExtraCommands());
14298
13712
  }
14299
13713
  } catch (error) {
@@ -14331,7 +13745,7 @@ function MarkdownEditor({
14331
13745
  const isImage = _chunkETYLOZOBcjs.fileMediaType.call(void 0, file) === "image";
14332
13746
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
14333
13747
  insertTextAtCursor(markdown);
14334
- _optionalChain([onFileUploaded, 'optionalCall', _316 => _316(url, file.name)]);
13748
+ _optionalChain([onFileUploaded, 'optionalCall', _294 => _294(url, file.name)]);
14335
13749
  } catch (error) {
14336
13750
  console.error("File upload failed:", error);
14337
13751
  setUploadProgress("Upload failed. Please try again.");
@@ -14345,7 +13759,7 @@ function MarkdownEditor({
14345
13759
  const handleFileInputChange = _react.useCallback.call(void 0,
14346
13760
  (e) => {
14347
13761
  const input = e.target;
14348
- const file = _optionalChain([input, 'access', _317 => _317.files, 'optionalAccess', _318 => _318[0]]);
13762
+ const file = _optionalChain([input, 'access', _295 => _295.files, 'optionalAccess', _296 => _296[0]]);
14349
13763
  if (file) {
14350
13764
  void handleFileUpload(file);
14351
13765
  input.value = "";
@@ -14356,7 +13770,7 @@ function MarkdownEditor({
14356
13770
  const handlePaste = _react.useCallback.call(void 0,
14357
13771
  (e) => {
14358
13772
  if (!onUploadFile) return;
14359
- const items = _optionalChain([e, 'access', _319 => _319.clipboardData, 'optionalAccess', _320 => _320.items]);
13773
+ const items = _optionalChain([e, 'access', _297 => _297.clipboardData, 'optionalAccess', _298 => _298.items]);
14360
13774
  if (!items) return;
14361
13775
  for (const item of items) {
14362
13776
  if (item.type.startsWith("image/")) {
@@ -14381,7 +13795,7 @@ function MarkdownEditor({
14381
13795
  buttonProps: { "aria-label": "Upload file", title: "Upload file" },
14382
13796
  icon: isUploading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-3 w-3 animate-spin" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-3 w-3" }),
14383
13797
  execute: () => {
14384
- _optionalChain([fileInputRef, 'access', _321 => _321.current, 'optionalAccess', _322 => _322.click, 'call', _323 => _323()]);
13798
+ _optionalChain([fileInputRef, 'access', _299 => _299.current, 'optionalAccess', _300 => _300.click, 'call', _301 => _301()]);
14385
13799
  }
14386
13800
  } : null;
14387
13801
  const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
@@ -14393,7 +13807,7 @@ function MarkdownEditor({
14393
13807
  const EDGE_ZONE = 60;
14394
13808
  const MAX_SCROLL_SPEED = 15;
14395
13809
  const findScrollParent2 = _react.useCallback.call(void 0, (el) => {
14396
- let node = _optionalChain([el, 'optionalAccess', _324 => _324.parentElement]);
13810
+ let node = _optionalChain([el, 'optionalAccess', _302 => _302.parentElement]);
14397
13811
  while (node && node !== document.documentElement) {
14398
13812
  const { overflowY } = window.getComputedStyle(node);
14399
13813
  if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
@@ -14532,7 +13946,7 @@ function matchesAccept(file, accept) {
14532
13946
  });
14533
13947
  }
14534
13948
  function dragHasFiles(e) {
14535
- const types = _optionalChain([e, 'access', _325 => _325.dataTransfer, 'optionalAccess', _326 => _326.types]);
13949
+ const types = _optionalChain([e, 'access', _303 => _303.dataTransfer, 'optionalAccess', _304 => _304.types]);
14536
13950
  if (!types) return false;
14537
13951
  for (let i = 0; i < types.length; i++) {
14538
13952
  if (types[i] === "Files") return true;
@@ -14631,7 +14045,7 @@ function FileUpload({
14631
14045
  e.stopPropagation();
14632
14046
  setDragActive(false);
14633
14047
  if (disabled) return;
14634
- if (_optionalChain([e, 'access', _327 => _327.dataTransfer, 'access', _328 => _328.files, 'optionalAccess', _329 => _329.length])) {
14048
+ if (_optionalChain([e, 'access', _305 => _305.dataTransfer, 'access', _306 => _306.files, 'optionalAccess', _307 => _307.length])) {
14635
14049
  handleFiles(e.dataTransfer.files);
14636
14050
  }
14637
14051
  };
@@ -14659,7 +14073,7 @@ function FileUpload({
14659
14073
  e.preventDefault();
14660
14074
  dragCounter = 0;
14661
14075
  setDragActive(false);
14662
- if (_optionalChain([e, 'access', _330 => _330.dataTransfer, 'optionalAccess', _331 => _331.files, 'optionalAccess', _332 => _332.length])) {
14076
+ if (_optionalChain([e, 'access', _308 => _308.dataTransfer, 'optionalAccess', _309 => _309.files, 'optionalAccess', _310 => _310.length])) {
14663
14077
  handleFilesRef.current(e.dataTransfer.files);
14664
14078
  }
14665
14079
  };
@@ -14681,7 +14095,7 @@ function FileUpload({
14681
14095
  };
14682
14096
  }, [acceptWindowDrops, disabled]);
14683
14097
  const handleFileSelect = (e) => {
14684
- if (_optionalChain([e, 'access', _333 => _333.target, 'access', _334 => _334.files, 'optionalAccess', _335 => _335.length])) {
14098
+ if (_optionalChain([e, 'access', _311 => _311.target, 'access', _312 => _312.files, 'optionalAccess', _313 => _313.length])) {
14685
14099
  handleFiles(e.target.files);
14686
14100
  }
14687
14101
  };
@@ -14699,7 +14113,7 @@ function FileUpload({
14699
14113
  const openDialog = async () => {
14700
14114
  if (disabled) return;
14701
14115
  if (!pickFiles) {
14702
- _optionalChain([fileInputRef, 'access', _336 => _336.current, 'optionalAccess', _337 => _337.click, 'call', _338 => _338()]);
14116
+ _optionalChain([fileInputRef, 'access', _314 => _314.current, 'optionalAccess', _315 => _315.click, 'call', _316 => _316()]);
14703
14117
  return;
14704
14118
  }
14705
14119
  try {
@@ -14772,7 +14186,7 @@ function FileUpload({
14772
14186
  "button",
14773
14187
  {
14774
14188
  type: "button",
14775
- onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _339 => _339(entry.id)]),
14189
+ onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _317 => _317(entry.id)]),
14776
14190
  className: "shrink-0 text-ods-error transition-opacity hover:opacity-80",
14777
14191
  "aria-label": `Remove ${entry.fileName}`,
14778
14192
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.TrashIcon, { className: "size-6" })
@@ -14904,7 +14318,7 @@ function ImageUploader({
14904
14318
  onChange(file);
14905
14319
  };
14906
14320
  const handleFileSelect = (e) => {
14907
- validateAndEmit(_optionalChain([e, 'access', _340 => _340.target, 'access', _341 => _341.files, 'optionalAccess', _342 => _342[0]]));
14321
+ validateAndEmit(_optionalChain([e, 'access', _318 => _318.target, 'access', _319 => _319.files, 'optionalAccess', _320 => _320[0]]));
14908
14322
  if (inputRef.current) inputRef.current.value = "";
14909
14323
  };
14910
14324
  const handleDrag = (e) => {
@@ -14919,11 +14333,11 @@ function ImageUploader({
14919
14333
  e.stopPropagation();
14920
14334
  setDragActive(false);
14921
14335
  if (!interactive) return;
14922
- validateAndEmit(_optionalChain([e, 'access', _343 => _343.dataTransfer, 'access', _344 => _344.files, 'optionalAccess', _345 => _345[0]]));
14336
+ validateAndEmit(_optionalChain([e, 'access', _321 => _321.dataTransfer, 'access', _322 => _322.files, 'optionalAccess', _323 => _323[0]]));
14923
14337
  };
14924
14338
  const openDialog = () => {
14925
14339
  if (!interactive) return;
14926
- _optionalChain([inputRef, 'access', _346 => _346.current, 'optionalAccess', _347 => _347.click, 'call', _348 => _348()]);
14340
+ _optionalChain([inputRef, 'access', _324 => _324.current, 'optionalAccess', _325 => _325.click, 'call', _326 => _326()]);
14927
14341
  };
14928
14342
  const handleRootKeyDown = (e) => {
14929
14343
  if (hasImage || !interactive) return;
@@ -15043,12 +14457,12 @@ var _reactcolorful = require('react-colorful');
15043
14457
 
15044
14458
 
15045
14459
 
15046
- var Popover2 = PopoverPrimitive6.Root;
15047
- var PopoverTrigger = PopoverPrimitive6.Trigger;
14460
+ var Popover2 = PopoverPrimitive5.Root;
14461
+ var PopoverTrigger = PopoverPrimitive5.Trigger;
15048
14462
  var PopoverContent = _react.forwardRef.call(void 0, ({ className, align = "center", sideOffset = 4, collisionPadding, ...props }, ref) => {
15049
- const keyboardPadding = _chunkJO5TLJPMcjs.useKeyboardCollisionPadding.call(void 0, );
15050
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive6.Portal, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15051
- PopoverPrimitive6.Content,
14463
+ const keyboardPadding = _chunkA6P6DHEZcjs.useKeyboardCollisionPadding.call(void 0, );
14464
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive5.Portal, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14465
+ PopoverPrimitive5.Content,
15052
14466
  {
15053
14467
  ref,
15054
14468
  align,
@@ -15062,7 +14476,7 @@ var PopoverContent = _react.forwardRef.call(void 0, ({ className, align = "cente
15062
14476
  }
15063
14477
  ) });
15064
14478
  });
15065
- PopoverContent.displayName = PopoverPrimitive6.Content.displayName;
14479
+ PopoverContent.displayName = PopoverPrimitive5.Content.displayName;
15066
14480
 
15067
14481
  // src/components/ui/color-preset-select.tsx
15068
14482
 
@@ -15095,8 +14509,8 @@ function ColorPresetSelect({
15095
14509
  }) {
15096
14510
  const selectedPreset = presets.find((p) => p.key === presetKey);
15097
14511
  const isCustom = !selectedPreset;
15098
- const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _349 => _349.label]), () => ( "Custom"));
15099
- const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _350 => _350.color]), () => ( value));
14512
+ const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _327 => _327.label]), () => ( "Custom"));
14513
+ const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _328 => _328.color]), () => ( value));
15100
14514
  const groups = [
15101
14515
  {
15102
14516
  items: [
@@ -15392,7 +14806,7 @@ function TicketStatusConfigRow({
15392
14806
  {
15393
14807
  id: nameInputId,
15394
14808
  value: name,
15395
- onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _351 => _351(e.target.value)]),
14809
+ onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _329 => _329(e.target.value)]),
15396
14810
  disabled: isSystem,
15397
14811
  readOnly: isSystem,
15398
14812
  maxLength: 50
@@ -15524,7 +14938,7 @@ function TestResultsTable({ rows, loading }) {
15524
14938
  ] }) }) });
15525
14939
  }
15526
14940
  function TestRunErrorBanner({ error, className }) {
15527
- const { copy } = _chunkJO5TLJPMcjs.useCopyToClipboard.call(void 0, { successDescription: "Error message copied to clipboard" });
14941
+ const { copy } = _chunkZXCZYMN4cjs.useCopyToClipboard.call(void 0, { successDescription: "Error message copied to clipboard" });
15528
14942
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
15529
14943
  "div",
15530
14944
  {
@@ -15934,14 +15348,14 @@ function TicketInfoSection({
15934
15348
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15935
15349
  _chunkF5BPGWGTcjs.SquareAvatar,
15936
15350
  {
15937
- src: _optionalChain([organization, 'optionalAccess', _352 => _352.imageSrc]),
15938
- alt: _optionalChain([organization, 'optionalAccess', _353 => _353.name]),
15939
- fallback: _optionalChain([organization, 'optionalAccess', _354 => _354.name]) || "Org",
15351
+ src: _optionalChain([organization, 'optionalAccess', _330 => _330.imageSrc]),
15352
+ alt: _optionalChain([organization, 'optionalAccess', _331 => _331.name]),
15353
+ fallback: _optionalChain([organization, 'optionalAccess', _332 => _332.name]) || "Org",
15940
15354
  size: "md",
15941
15355
  className: "shrink-0"
15942
15356
  }
15943
15357
  ),
15944
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([organization, 'optionalAccess', _355 => _355.name]) || "Unassigned", label: "Organization" })
15358
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([organization, 'optionalAccess', _333 => _333.name]) || "Unassigned", label: "Organization" })
15945
15359
  ] }),
15946
15360
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15947
15361
  AssigneeDropdown,
@@ -15959,7 +15373,7 @@ function TicketInfoSection({
15959
15373
  ] }),
15960
15374
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "block truncate text-ods-text-secondary text-h6", children: "Assigned" })
15961
15375
  ] }) }),
15962
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([device, 'optionalAccess', _356 => _356.name]) || "Unassigned", label: "Device", icon: _optionalChain([device, 'optionalAccess', _357 => _357.icon]), onClick: _optionalChain([device, 'optionalAccess', _358 => _358.onClick]) }),
15376
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([device, 'optionalAccess', _334 => _334.name]) || "Unassigned", label: "Device", icon: _optionalChain([device, 'optionalAccess', _335 => _335.icon]), onClick: _optionalChain([device, 'optionalAccess', _336 => _336.onClick]) }),
15963
15377
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
15964
15378
  (status || statusLabel) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15965
15379
  _chunkKT3U3ZRPcjs.TicketStatusTag,
@@ -16027,7 +15441,7 @@ function renderTicketStatusOption(option, isSelected) {
16027
15441
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center justify-between gap-[var(--spacing-system-xs)]", children: [
16028
15442
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
16029
15443
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKT3U3ZRPcjs.ColorSwatch, { color }),
16030
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { className: "text-inherit", children: label }) })
15444
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { className: "text-inherit", children: label }) })
16031
15445
  ] }),
16032
15446
  isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
16033
15447
  ] });
@@ -16037,7 +15451,7 @@ function renderTicketAssigneeOption(option, isSelected) {
16037
15451
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center justify-between gap-[var(--spacing-system-xs)]", children: [
16038
15452
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
16039
15453
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF5BPGWGTcjs.SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "round" }),
16040
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { className: "text-inherit", children: label }) })
15454
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { className: "text-inherit", children: label }) })
16041
15455
  ] }),
16042
15456
  isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
16043
15457
  ] });
@@ -16064,7 +15478,7 @@ function TakeOverTicketModal({
16064
15478
  setAssigneeId(_nullishCoalesce(initialAssigneeId, () => ( null)));
16065
15479
  }
16066
15480
  }
16067
- const selectedStatusId = _nullishCoalesce(_nullishCoalesce(statusId, () => ( _optionalChain([statusOptions, 'access', _359 => _359[0], 'optionalAccess', _360 => _360.value]))), () => ( null));
15481
+ const selectedStatusId = _nullishCoalesce(_nullishCoalesce(statusId, () => ( _optionalChain([statusOptions, 'access', _337 => _337[0], 'optionalAccess', _338 => _338.value]))), () => ( null));
16068
15482
  const selectedStatus = statusOptions.find((o) => o.value === selectedStatusId);
16069
15483
  const selectedAssignee = assigneeOptions.find((o) => o.value === assigneeId);
16070
15484
  const handleConfirm = () => {
@@ -16081,7 +15495,7 @@ function TakeOverTicketModal({
16081
15495
  ] }),
16082
15496
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-l)] md:flex-row", children: [
16083
15497
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16084
- Autocomplete,
15498
+ _chunkZ5UWW3Z2cjs.Autocomplete,
16085
15499
  {
16086
15500
  label: "Status",
16087
15501
  options: statusOptions,
@@ -16093,7 +15507,7 @@ function TakeOverTicketModal({
16093
15507
  }
16094
15508
  ) }),
16095
15509
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16096
- Autocomplete,
15510
+ _chunkZ5UWW3Z2cjs.Autocomplete,
16097
15511
  {
16098
15512
  label: "Assigned",
16099
15513
  options: assigneeOptions,
@@ -16162,7 +15576,7 @@ function ReopenTicketModal({
16162
15576
  setReason("");
16163
15577
  }
16164
15578
  }
16165
- const selectedStatusId = _nullishCoalesce(_nullishCoalesce(statusId, () => ( _optionalChain([statusOptions, 'access', _361 => _361[0], 'optionalAccess', _362 => _362.value]))), () => ( null));
15579
+ const selectedStatusId = _nullishCoalesce(_nullishCoalesce(statusId, () => ( _optionalChain([statusOptions, 'access', _339 => _339[0], 'optionalAccess', _340 => _340.value]))), () => ( null));
16166
15580
  const selectedStatus = statusOptions.find((o) => o.value === selectedStatusId);
16167
15581
  const selectedAssignee = assigneeOptions.find((o) => o.value === assigneeId);
16168
15582
  const handleConfirm = () => {
@@ -16184,7 +15598,7 @@ function ReopenTicketModal({
16184
15598
  ] }),
16185
15599
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-l)] md:flex-row", children: [
16186
15600
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16187
- Autocomplete,
15601
+ _chunkZ5UWW3Z2cjs.Autocomplete,
16188
15602
  {
16189
15603
  label: "Status",
16190
15604
  options: statusOptions,
@@ -16196,7 +15610,7 @@ function ReopenTicketModal({
16196
15610
  }
16197
15611
  ) }),
16198
15612
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16199
- Autocomplete,
15613
+ _chunkZ5UWW3Z2cjs.Autocomplete,
16200
15614
  {
16201
15615
  label: "Assigned",
16202
15616
  options: assigneeOptions,
@@ -16396,7 +15810,7 @@ function usePhotoOrientations(urls) {
16396
15810
  }
16397
15811
  };
16398
15812
  }, [key]);
16399
- return _optionalChain([measured, 'optionalAccess', _363 => _363.key]) === key ? measured.byUrl : null;
15813
+ return _optionalChain([measured, 'optionalAccess', _341 => _341.key]) === key ? measured.byUrl : null;
16400
15814
  }
16401
15815
  function PhotoWall({ images, columns = 2, speed = 24, fadeColor, className, loading = false }) {
16402
15816
  const rootRef = _react.useRef.call(void 0, null);
@@ -16405,7 +15819,7 @@ function PhotoWall({ images, columns = 2, speed = 24, fadeColor, className, load
16405
15819
  const root = rootRef.current;
16406
15820
  if (!root) return void 0;
16407
15821
  const read = () => setBox(
16408
- (previous) => _optionalChain([previous, 'optionalAccess', _364 => _364.width]) === root.clientWidth && previous.height === root.clientHeight ? previous : { width: root.clientWidth, height: root.clientHeight }
15822
+ (previous) => _optionalChain([previous, 'optionalAccess', _342 => _342.width]) === root.clientWidth && previous.height === root.clientHeight ? previous : { width: root.clientWidth, height: root.clientHeight }
16409
15823
  );
16410
15824
  read();
16411
15825
  if (typeof ResizeObserver === "undefined") return void 0;
@@ -16442,7 +15856,7 @@ function PhotoWall({ images, columns = 2, speed = 24, fadeColor, className, load
16442
15856
  if (images.length === 0 && !loading) return null;
16443
15857
  const columnsToDraw = loading ? null : layout;
16444
15858
  const gridStyle = {
16445
- gridTemplateColumns: `repeat(${_optionalChain([columnsToDraw, 'optionalAccess', _365 => _365.length]) || columns}, minmax(0, 1fr))`,
15859
+ gridTemplateColumns: `repeat(${_optionalChain([columnsToDraw, 'optionalAccess', _343 => _343.length]) || columns}, minmax(0, 1fr))`,
16446
15860
  gap: COLUMN_GAP_PX
16447
15861
  };
16448
15862
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: rootRef, "aria-hidden": "true", className: _chunk3ATAYP36cjs.cn.call(void 0, "grid overflow-hidden", className), style: gridStyle, children: columnsToDraw ? columnsToDraw.map((column, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -16741,7 +16155,7 @@ function SnapCarousel({
16741
16155
  const auto = _chunkGQ7JJUITcjs.useAutoplay.call(void 0, inView);
16742
16156
  const count = items.length;
16743
16157
  const slideStep = _react.useCallback.call(void 0, () => {
16744
- const first = _optionalChain([trackRef, 'access', _366 => _366.current, 'optionalAccess', _367 => _367.firstElementChild]);
16158
+ const first = _optionalChain([trackRef, 'access', _344 => _344.current, 'optionalAccess', _345 => _345.firstElementChild]);
16745
16159
  return first ? first.offsetWidth + GAP_PX : 0;
16746
16160
  }, []);
16747
16161
  const goTo = _react.useCallback.call(void 0,
@@ -17148,10 +16562,10 @@ function AccountDetailsFields({
17148
16562
  onKeyDown,
17149
16563
  layout = "stacked"
17150
16564
  }) {
17151
- const firstNameErr = _chunkJO5TLJPMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _368 => _368.firstName]), firstName);
17152
- const lastNameErr = _chunkJO5TLJPMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _369 => _369.lastName]), lastName);
17153
- const passwordErr = _chunkJO5TLJPMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _370 => _370.password]), password);
17154
- const confirmErr = _chunkJO5TLJPMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _371 => _371.confirmPassword]), confirmPassword);
16565
+ const firstNameErr = _chunkZXCZYMN4cjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _346 => _346.firstName]), firstName);
16566
+ const lastNameErr = _chunkZXCZYMN4cjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _347 => _347.lastName]), lastName);
16567
+ const passwordErr = _chunkZXCZYMN4cjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _348 => _348.password]), password);
16568
+ const confirmErr = _chunkZXCZYMN4cjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _349 => _349.confirmPassword]), confirmPassword);
17155
16569
  const names = [
17156
16570
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17157
16571
  _chunkXXBLN4BPcjs.Input,
@@ -17409,7 +16823,7 @@ function SsoProviderButtons({
17409
16823
  disabled: disabled || (enabledProviders ? !enabledProviders.includes(provider) : false),
17410
16824
  className: "disabled:bg-ods-bg",
17411
16825
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { className: "h-5 w-5" }),
17412
- onClick: () => _optionalChain([onSsoClick, 'optionalCall', _372 => _372(provider)]),
16826
+ onClick: () => _optionalChain([onSsoClick, 'optionalCall', _350 => _350(provider)]),
17413
16827
  children: `${actionLabel} ${meta.name}`
17414
16828
  },
17415
16829
  provider
@@ -17591,9 +17005,9 @@ function CreateOrganizationForm({
17591
17005
  }) {
17592
17006
  const hasSso = !!ssoProviders && ssoProviders.length > 0;
17593
17007
  const fieldsDisabled = disabled || loading;
17594
- const emailErr = _chunkJO5TLJPMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _373 => _373.email]), _nullishCoalesce(email, () => ( "")));
17595
- const orgNameErr = _chunkJO5TLJPMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _374 => _374.organizationName]), organizationName);
17596
- const domainErr = _chunkJO5TLJPMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _375 => _375.domain]), domain);
17008
+ const emailErr = _chunkZXCZYMN4cjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _351 => _351.email]), _nullishCoalesce(email, () => ( "")));
17009
+ const orgNameErr = _chunkZXCZYMN4cjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _352 => _352.organizationName]), organizationName);
17010
+ const domainErr = _chunkZXCZYMN4cjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _353 => _353.domain]), domain);
17597
17011
  const handleKeyDown = (event) => {
17598
17012
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
17599
17013
  onSubmit();
@@ -17618,11 +17032,11 @@ function CreateOrganizationForm({
17618
17032
  label: "Email",
17619
17033
  placeholder: "username@mail.com",
17620
17034
  value: email,
17621
- error: _nullishCoalesce(emailErr.error, () => ( _optionalChain([emailStatus, 'optionalAccess', _376 => _376.message]))),
17622
- errorVariant: emailErr.error ? "error" : _optionalChain([emailStatus, 'optionalAccess', _377 => _377.variant]),
17035
+ error: _nullishCoalesce(emailErr.error, () => ( _optionalChain([emailStatus, 'optionalAccess', _354 => _354.message]))),
17036
+ errorVariant: emailErr.error ? "error" : _optionalChain([emailStatus, 'optionalAccess', _355 => _355.variant]),
17623
17037
  disabled: fieldsDisabled,
17624
17038
  onBlur: emailErr.onBlur,
17625
- onChange: (event) => _optionalChain([onEmailChange, 'optionalCall', _378 => _378(event.target.value)]),
17039
+ onChange: (event) => _optionalChain([onEmailChange, 'optionalCall', _356 => _356(event.target.value)]),
17626
17040
  onKeyDown: handleKeyDown
17627
17041
  }
17628
17042
  ),
@@ -17646,8 +17060,8 @@ function CreateOrganizationForm({
17646
17060
  label: "Domain",
17647
17061
  placeholder: domainPlaceholder,
17648
17062
  value: domain,
17649
- error: _nullishCoalesce(domainErr.error, () => ( _optionalChain([domainStatus, 'optionalAccess', _379 => _379.message]))),
17650
- errorVariant: domainErr.error ? "error" : _optionalChain([domainStatus, 'optionalAccess', _380 => _380.variant]),
17063
+ error: _nullishCoalesce(domainErr.error, () => ( _optionalChain([domainStatus, 'optionalAccess', _357 => _357.message]))),
17064
+ errorVariant: domainErr.error ? "error" : _optionalChain([domainStatus, 'optionalAccess', _358 => _358.variant]),
17651
17065
  disabled: fieldsDisabled,
17652
17066
  onBlur: domainErr.onBlur,
17653
17067
  endAdornment: domainSuffix ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: domainSuffix }) : void 0,
@@ -17682,7 +17096,7 @@ function CreateOrganizationForm({
17682
17096
  label: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TermsAgreementLabel, { termsUrl, privacyPolicyUrl }),
17683
17097
  checked: agreedToTerms,
17684
17098
  disabled: fieldsDisabled,
17685
- error: _optionalChain([errors, 'optionalAccess', _381 => _381.terms]),
17099
+ error: _optionalChain([errors, 'optionalAccess', _359 => _359.terms]),
17686
17100
  onCheckedChange: onAgreedToTermsChange
17687
17101
  }
17688
17102
  ),
@@ -17809,10 +17223,10 @@ function LoginForm({
17809
17223
  className
17810
17224
  }) {
17811
17225
  const fieldDisabled = disabled || loading;
17812
- const emailErr = _chunkJO5TLJPMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _382 => _382.email]), email);
17226
+ const emailErr = _chunkZXCZYMN4cjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _360 => _360.email]), email);
17813
17227
  const handleKeyDown = (event) => {
17814
17228
  if (event.key !== "Enter" || fieldDisabled || submitDisabled) return;
17815
- _optionalChain([onSubmitClick, 'optionalCall', _383 => _383()]);
17229
+ _optionalChain([onSubmitClick, 'optionalCall', _361 => _361()]);
17816
17230
  };
17817
17231
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
17818
17232
  "div",
@@ -17844,8 +17258,8 @@ function LoginForm({
17844
17258
  label: "Email",
17845
17259
  placeholder: emailPlaceholder,
17846
17260
  value: email,
17847
- error: _nullishCoalesce(emailErr.error, () => ( _optionalChain([emailStatus, 'optionalAccess', _384 => _384.message]))),
17848
- errorVariant: emailErr.error ? "error" : _optionalChain([emailStatus, 'optionalAccess', _385 => _385.variant]),
17261
+ error: _nullishCoalesce(emailErr.error, () => ( _optionalChain([emailStatus, 'optionalAccess', _362 => _362.message]))),
17262
+ errorVariant: emailErr.error ? "error" : _optionalChain([emailStatus, 'optionalAccess', _363 => _363.variant]),
17849
17263
  disabled: fieldDisabled,
17850
17264
  onBlur: emailErr.onBlur,
17851
17265
  onChange: (event) => onEmailChange(event.target.value),
@@ -17951,8 +17365,8 @@ function OpenFrameSsoLoginForm({
17951
17365
  className
17952
17366
  }) {
17953
17367
  const fieldsDisabled = disabled || loading;
17954
- const emailErr = _chunkJO5TLJPMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _386 => _386.email]), email);
17955
- const passwordErr = _chunkJO5TLJPMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _387 => _387.password]), password);
17368
+ const emailErr = _chunkZXCZYMN4cjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _364 => _364.email]), email);
17369
+ const passwordErr = _chunkZXCZYMN4cjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _365 => _365.password]), password);
17956
17370
  const handleKeyDown = (event) => {
17957
17371
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
17958
17372
  onSubmit();
@@ -18057,7 +17471,7 @@ function OpenFrameSsoSignUpForm({
18057
17471
  className
18058
17472
  }) {
18059
17473
  const fieldsDisabled = disabled || loading;
18060
- const emailErr = _chunkJO5TLJPMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _388 => _388.email]), email);
17474
+ const emailErr = _chunkZXCZYMN4cjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _366 => _366.email]), email);
18061
17475
  const handleKeyDown = (event) => {
18062
17476
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
18063
17477
  onSubmit();
@@ -18162,8 +17576,8 @@ function PasswordResetForm({
18162
17576
  className
18163
17577
  }) {
18164
17578
  const fieldsDisabled = disabled || loading;
18165
- const passwordErr = _chunkJO5TLJPMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _389 => _389.password]), password);
18166
- const confirmErr = _chunkJO5TLJPMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _390 => _390.confirmPassword]), confirmPassword);
17579
+ const passwordErr = _chunkZXCZYMN4cjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _367 => _367.password]), password);
17580
+ const confirmErr = _chunkZXCZYMN4cjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _368 => _368.confirmPassword]), confirmPassword);
18167
17581
  const handleKeyDown = (event) => {
18168
17582
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
18169
17583
  onSubmit();
@@ -18285,7 +17699,7 @@ function SsoJoinForm({
18285
17699
  className
18286
17700
  }) {
18287
17701
  const fieldsDisabled = disabled || loading;
18288
- const displayName = _optionalChain([name, 'optionalAccess', _391 => _391.trim, 'call', _392 => _392()]) || _optionalChain([email, 'optionalAccess', _393 => _393.trim, 'call', _394 => _394()]) || "";
17702
+ const displayName = _optionalChain([name, 'optionalAccess', _369 => _369.trim, 'call', _370 => _370()]) || _optionalChain([email, 'optionalAccess', _371 => _371.trim, 'call', _372 => _372()]) || "";
18289
17703
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
18290
17704
  "div",
18291
17705
  {
@@ -18468,7 +17882,7 @@ function ChangelogManager({
18468
17882
  descriptionLabel = "Description",
18469
17883
  descriptionPlaceholder = "Detailed explanation of the change..."
18470
17884
  }) {
18471
- const tagLabelOf = (value) => _optionalChain([tagOptions, 'optionalAccess', _395 => _395.find, 'call', _396 => _396((o) => o.value === value), 'optionalAccess', _397 => _397.label]);
17885
+ const tagLabelOf = (value) => _optionalChain([tagOptions, 'optionalAccess', _373 => _373.find, 'call', _374 => _374((o) => o.value === value), 'optionalAccess', _375 => _375.label]);
18472
17886
  const entryCount = entries.length;
18473
17887
  const allExpanded = () => new Set(Array.from({ length: entryCount }, (_, i) => i));
18474
17888
  const [expandedIndices, setExpandedIndices] = _react.useState.call(void 0,
@@ -18486,7 +17900,7 @@ function ChangelogManager({
18486
17900
  title: "",
18487
17901
  description: "",
18488
17902
  ...showVisibilityToggle && { visibility: "public" },
18489
- ..._optionalChain([tagOptions, 'optionalAccess', _398 => _398.length]) && { tag: tagOptions[0].value }
17903
+ ..._optionalChain([tagOptions, 'optionalAccess', _376 => _376.length]) && { tag: tagOptions[0].value }
18490
17904
  };
18491
17905
  onChange([...entries, newEntry]);
18492
17906
  setExpandedIndices((prev) => /* @__PURE__ */ new Set([...prev, entries.length]));
@@ -18622,9 +18036,9 @@ function ChangelogManager({
18622
18036
  ] }),
18623
18037
  tagOptions && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1", children: [
18624
18038
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXXBLN4BPcjs.Label, { className: "text-ods-text-secondary", children: tagLabel }),
18625
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPPXR22YCcjs.Select, { value: _nullishCoalesce(entry.tag, () => ( "")), onValueChange: (value) => updateEntry(index, "tag", value), children: [
18626
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectTrigger, { className: "bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectValue, { placeholder: tagLabel }) }),
18627
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectContent, { children: tagOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: option.value, children: option.label }, option.value)) })
18039
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZ5UWW3Z2cjs.Select, { value: _nullishCoalesce(entry.tag, () => ( "")), onValueChange: (value) => updateEntry(index, "tag", value), children: [
18040
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectTrigger, { className: "bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectValue, { placeholder: tagLabel }) }),
18041
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectContent, { children: tagOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: option.value, children: option.label }, option.value)) })
18628
18042
  ] })
18629
18043
  ] })
18630
18044
  ] })
@@ -18981,13 +18395,13 @@ var SectionSelector = ({
18981
18395
  const listRef = _react.useRef.call(void 0, null);
18982
18396
  _react.useEffect.call(void 0, () => {
18983
18397
  const list = listRef.current;
18984
- const active = _optionalChain([list, 'optionalAccess', _399 => _399.querySelector, 'call', _400 => _400('[role="tab"][aria-selected="true"]')]);
18398
+ const active = _optionalChain([list, 'optionalAccess', _377 => _377.querySelector, 'call', _378 => _378('[role="tab"][aria-selected="true"]')]);
18985
18399
  if (!list || !active || list.scrollWidth <= list.clientWidth) return;
18986
18400
  const offset = active.getBoundingClientRect().left - list.getBoundingClientRect().left;
18987
18401
  list.scrollLeft += offset - (list.clientWidth - active.clientWidth) / 2;
18988
18402
  }, [activeSection]);
18989
18403
  const enabled = sections.filter((section) => !section.disabled && !disabled);
18990
- const tabStopId = enabled.some((section) => section.id === activeSection) ? activeSection : _optionalChain([enabled, 'access', _401 => _401[0], 'optionalAccess', _402 => _402.id]);
18404
+ const tabStopId = enabled.some((section) => section.id === activeSection) ? activeSection : _optionalChain([enabled, 'access', _379 => _379[0], 'optionalAccess', _380 => _380.id]);
18991
18405
  const onKeyDown = (event) => {
18992
18406
  const step = event.key === "ArrowRight" || event.key === "ArrowDown" ? 1 : event.key === "ArrowLeft" || event.key === "ArrowUp" ? -1 : 0;
18993
18407
  if (!step && event.key !== "Home" && event.key !== "End") return;
@@ -19000,7 +18414,7 @@ var SectionSelector = ({
19000
18414
  const next = event.key === "Home" ? enabled[0] : event.key === "End" ? enabled[enabled.length - 1] : enabled[(at + step + enabled.length) % enabled.length];
19001
18415
  onSectionChange(next.id);
19002
18416
  requestAnimationFrame(
19003
- () => _optionalChain([listRef, 'access', _403 => _403.current, 'optionalAccess', _404 => _404.querySelector, 'call', _405 => _405('[role="tab"][aria-selected="true"]'), 'optionalAccess', _406 => _406.focus, 'call', _407 => _407()])
18417
+ () => _optionalChain([listRef, 'access', _381 => _381.current, 'optionalAccess', _382 => _382.querySelector, 'call', _383 => _383('[role="tab"][aria-selected="true"]'), 'optionalAccess', _384 => _384.focus, 'call', _385 => _385()])
19004
18418
  );
19005
18419
  };
19006
18420
  const getButtonWidthClasses = () => {
@@ -19043,10 +18457,10 @@ var getContentDimensions = (config) => {
19043
18457
  const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
19044
18458
  const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
19045
18459
  const envDesktopHeight = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT) : null;
19046
- const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _408 => _408.mobileContentDimensions, 'optionalAccess', _409 => _409.width]))), () => ( defaultMobile.width));
19047
- const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _410 => _410.mobileContentDimensions, 'optionalAccess', _411 => _411.height]))), () => ( defaultMobile.height));
19048
- const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _412 => _412.desktopContentDimensions, 'optionalAccess', _413 => _413.width]))), () => ( defaultDesktop.width));
19049
- const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _414 => _414.desktopContentDimensions, 'optionalAccess', _415 => _415.height]))), () => ( defaultDesktop.height));
18460
+ const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _386 => _386.mobileContentDimensions, 'optionalAccess', _387 => _387.width]))), () => ( defaultMobile.width));
18461
+ const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _388 => _388.mobileContentDimensions, 'optionalAccess', _389 => _389.height]))), () => ( defaultMobile.height));
18462
+ const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _390 => _390.desktopContentDimensions, 'optionalAccess', _391 => _391.width]))), () => ( defaultDesktop.width));
18463
+ const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _392 => _392.desktopContentDimensions, 'optionalAccess', _393 => _393.height]))), () => ( defaultDesktop.height));
19050
18464
  return {
19051
18465
  mobile: { width: mobileWidth, height: mobileHeight },
19052
18466
  desktop: { width: desktopWidth, height: desktopHeight }
@@ -19205,7 +18619,7 @@ function UnifiedUI({ state, handlers, config, iframeRef }) {
19205
18619
  const contentDimensions = getContentDimensions(config);
19206
18620
  const mobileHeight = contentDimensions.mobile.height;
19207
18621
  const calculatedHeight = Math.max(mobileHeight + 100, 400);
19208
- return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _416 => _416.innerHeight]) * 0.85 || 650)}px`;
18622
+ return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _394 => _394.innerHeight]) * 0.85 || 650)}px`;
19209
18623
  })(),
19210
18624
  minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
19211
18625
  const contentDimensions = getContentDimensions(config);
@@ -19308,7 +18722,7 @@ var FigmaPrototypeViewer = ({
19308
18722
  const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
19309
18723
  const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
19310
18724
  const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
19311
- config.defaultSectionId || _optionalChain([config, 'access', _417 => _417.sections, 'access', _418 => _418[0], 'optionalAccess', _419 => _419.id]) || ""
18725
+ config.defaultSectionId || _optionalChain([config, 'access', _395 => _395.sections, 'access', _396 => _396[0], 'optionalAccess', _397 => _397.id]) || ""
19312
18726
  );
19313
18727
  const activeSection = externalActiveSection || internalActiveSection;
19314
18728
  const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
@@ -19406,19 +18820,19 @@ var FigmaPrototypeViewer = ({
19406
18820
  setIframeState("READY");
19407
18821
  break;
19408
18822
  case "PRESENTED_NODE_CHANGED":
19409
- if (_optionalChain([figmaEvent, 'access', _420 => _420.data, 'optionalAccess', _421 => _421.presentedNodeId])) {
18823
+ if (_optionalChain([figmaEvent, 'access', _398 => _398.data, 'optionalAccess', _399 => _399.presentedNodeId])) {
19410
18824
  setCurrentNodeId(figmaEvent.data.presentedNodeId);
19411
18825
  if (!isNavigating) {
19412
18826
  const matchingSection = configSections.find((s) => {
19413
- const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _422 => _422.data, 'optionalAccess', _423 => _423.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _424 => _424.data, 'optionalAccess', _425 => _425.presentedNodeId]);
19414
- const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _426 => _426.data, 'optionalAccess', _427 => _427.presentedNodeId]) || _optionalChain([s, 'access', _428 => _428.mobileStartingNodeId, 'optionalAccess', _429 => _429.replace, 'call', _430 => _430(":", "-")]) === _optionalChain([figmaEvent, 'access', _431 => _431.data, 'optionalAccess', _432 => _432.presentedNodeId]);
18827
+ const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _400 => _400.data, 'optionalAccess', _401 => _401.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _402 => _402.data, 'optionalAccess', _403 => _403.presentedNodeId]);
18828
+ const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _404 => _404.data, 'optionalAccess', _405 => _405.presentedNodeId]) || _optionalChain([s, 'access', _406 => _406.mobileStartingNodeId, 'optionalAccess', _407 => _407.replace, 'call', _408 => _408(":", "-")]) === _optionalChain([figmaEvent, 'access', _409 => _409.data, 'optionalAccess', _410 => _410.presentedNodeId]);
19415
18829
  return desktopMatch || mobileMatch;
19416
18830
  });
19417
18831
  if (matchingSection && matchingSection.id !== activeSection) {
19418
18832
  if (!externalActiveSection) {
19419
18833
  setInternalActiveSection(matchingSection.id);
19420
18834
  }
19421
- _optionalChain([onSectionChange, 'optionalCall', _433 => _433(matchingSection.id)]);
18835
+ _optionalChain([onSectionChange, 'optionalCall', _411 => _411(matchingSection.id)]);
19422
18836
  }
19423
18837
  }
19424
18838
  }
@@ -19432,7 +18846,7 @@ var FigmaPrototypeViewer = ({
19432
18846
  const navigateToSection = _react.useCallback.call(void 0,
19433
18847
  (sectionId) => {
19434
18848
  const section = config.sections.find((s) => s.id === sectionId);
19435
- if (!section || !_optionalChain([iframeRef, 'access', _434 => _434.current, 'optionalAccess', _435 => _435.contentWindow]) || !isInitialized) {
18849
+ if (!section || !_optionalChain([iframeRef, 'access', _412 => _412.current, 'optionalAccess', _413 => _413.contentWindow]) || !isInitialized) {
19436
18850
  return;
19437
18851
  }
19438
18852
  setIsNavigating(true);
@@ -19440,7 +18854,7 @@ var FigmaPrototypeViewer = ({
19440
18854
  if (!externalActiveSection) {
19441
18855
  setInternalActiveSection(sectionId);
19442
18856
  }
19443
- _optionalChain([config, 'access', _436 => _436.onSectionChange, 'optionalCall', _437 => _437(sectionId)]);
18857
+ _optionalChain([config, 'access', _414 => _414.onSectionChange, 'optionalCall', _415 => _415(sectionId)]);
19444
18858
  const command = {
19445
18859
  type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
19446
18860
  data: { nodeId }
@@ -19779,7 +19193,7 @@ var FiltersDropdown = ({
19779
19193
  defaults[section.id] = section.defaultSelected || [];
19780
19194
  });
19781
19195
  setSelectedFilters(defaults);
19782
- _optionalChain([onReset, 'optionalCall', _438 => _438()]);
19196
+ _optionalChain([onReset, 'optionalCall', _416 => _416()]);
19783
19197
  setIsOpen(false);
19784
19198
  };
19785
19199
  const handleApply = () => {
@@ -20067,7 +19481,7 @@ function useMediaIntake({ existing, onUpload, onUploaded, kinds = "both" }) {
20067
19481
  try {
20068
19482
  const url = await onUpload(file, mediaType);
20069
19483
  if (!url) throw new Error("no URL");
20070
- _optionalChain([onUploaded, 'optionalCall', _439 => _439({ file, mediaType, url })]);
19484
+ _optionalChain([onUploaded, 'optionalCall', _417 => _417({ file, mediaType, url })]);
20071
19485
  } catch (error) {
20072
19486
  console.error("Upload failed:", error);
20073
19487
  failed.push(file.name);
@@ -20090,7 +19504,7 @@ function useMediaIntake({ existing, onUpload, onUploaded, kinds = "both" }) {
20090
19504
  notice,
20091
19505
  busy: pending.length > 0,
20092
19506
  dropActive,
20093
- open: () => _optionalChain([inputRef, 'access', _440 => _440.current, 'optionalAccess', _441 => _441.click, 'call', _442 => _442()]),
19507
+ open: () => _optionalChain([inputRef, 'access', _418 => _418.current, 'optionalAccess', _419 => _419.click, 'call', _420 => _420()]),
20094
19508
  /** Spread on the element files may be dropped on (the area itself, or a whole gallery). */
20095
19509
  dropHandlers: {
20096
19510
  onDragOver: (event) => {
@@ -20275,17 +19689,17 @@ function MediaGalleryManager({
20275
19689
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
20276
19690
  isVideoItem(item) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Video, { className: "h-5 w-5 text-ods-text-secondary" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Image, { className: "h-5 w-5 text-ods-text-secondary" }),
20277
19691
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
20278
- _chunkPPXR22YCcjs.Select,
19692
+ _chunkZ5UWW3Z2cjs.Select,
20279
19693
  {
20280
19694
  value: item.media_type,
20281
19695
  onValueChange: (value) => update(index, { media_type: value }),
20282
19696
  children: [
20283
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectTrigger, { className: "h-8 bg-ods-bg text-h6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectValue, {}) }),
20284
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPPXR22YCcjs.SelectContent, { className: "bg-ods-card", children: [
20285
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: "image", children: "Image" }),
20286
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: "video", children: "Video" }),
20287
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: "screenshot", children: "Screenshot" }),
20288
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: "demo", children: "Demo" })
19697
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectTrigger, { className: "h-8 bg-ods-bg text-h6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectValue, {}) }),
19698
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZ5UWW3Z2cjs.SelectContent, { className: "bg-ods-card", children: [
19699
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: "image", children: "Image" }),
19700
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: "video", children: "Video" }),
19701
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: "screenshot", children: "Screenshot" }),
19702
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: "demo", children: "Demo" })
20289
19703
  ] })
20290
19704
  ]
20291
19705
  }
@@ -22258,9 +21672,9 @@ function PushButtonSelector({
22258
21672
  }) {
22259
21673
  const scrollRef = _react.useRef.call(void 0, null);
22260
21674
  const sentinelRef = _react.useRef.call(void 0, null);
22261
- const lazyHasMore = _nullishCoalesce(_optionalChain([lazyLoad, 'optionalAccess', _443 => _443.hasMore]), () => ( false));
22262
- const lazyFetching = _nullishCoalesce(_optionalChain([lazyLoad, 'optionalAccess', _444 => _444.isFetchingMore]), () => ( false));
22263
- const onLoadMore = _optionalChain([lazyLoad, 'optionalAccess', _445 => _445.onLoadMore]);
21675
+ const lazyHasMore = _nullishCoalesce(_optionalChain([lazyLoad, 'optionalAccess', _421 => _421.hasMore]), () => ( false));
21676
+ const lazyFetching = _nullishCoalesce(_optionalChain([lazyLoad, 'optionalAccess', _422 => _422.isFetchingMore]), () => ( false));
21677
+ const onLoadMore = _optionalChain([lazyLoad, 'optionalAccess', _423 => _423.onLoadMore]);
22264
21678
  const optionCount = options.length;
22265
21679
  _react.useEffect.call(void 0, () => {
22266
21680
  const sentinel = sentinelRef.current;
@@ -22590,7 +22004,7 @@ function SEOEditorPreview({
22590
22004
  const displayImage = hasOgImage || hasFeaturedImage;
22591
22005
  const handleImageUpload = async (event) => {
22592
22006
  if (!onOgImageUpload) return;
22593
- const file = _optionalChain([event, 'access', _446 => _446.target, 'access', _447 => _447.files, 'optionalAccess', _448 => _448[0]]);
22007
+ const file = _optionalChain([event, 'access', _424 => _424.target, 'access', _425 => _425.files, 'optionalAccess', _426 => _426[0]]);
22594
22008
  if (!file) return;
22595
22009
  setIsUploading(true);
22596
22010
  try {
@@ -22747,7 +22161,7 @@ function SEOEditorPreview({
22747
22161
  type: "button",
22748
22162
  variant: "outline",
22749
22163
  size: "icon",
22750
- onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _449 => _449.click, 'call', _450 => _450()]),
22164
+ onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _427 => _427.click, 'call', _428 => _428()]),
22751
22165
  disabled: disabled || isUploading,
22752
22166
  className: "rounded-full bg-white text-black opacity-0 hover:bg-gray-100 group-hover:opacity-100",
22753
22167
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
@@ -22773,7 +22187,7 @@ function SEOEditorPreview({
22773
22187
  SEO_MEDIA_BOX_HEIGHT,
22774
22188
  "flex cursor-pointer flex-col items-center justify-center rounded-lg border-2 border-dashed border-ods-border bg-ods-bg-hover transition-colors hover:border-ods-accent"
22775
22189
  ),
22776
- onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _451 => _451.click, 'call', _452 => _452()]),
22190
+ onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _429 => _429.click, 'call', _430 => _430()]),
22777
22191
  children: isUploading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
22778
22192
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "mb-2 h-8 w-8 text-ods-text-secondary" }),
22779
22193
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary text-h6", children: onOgImageUpload ? "Click to upload OG image" : "No image" })
@@ -22934,7 +22348,7 @@ function SocialLinksManager({
22934
22348
  className = ""
22935
22349
  }) {
22936
22350
  const addLink = () => {
22937
- const firstPlatform = _optionalChain([platforms, 'access', _453 => _453[0], 'optionalAccess', _454 => _454.name]) || "website";
22351
+ const firstPlatform = _optionalChain([platforms, 'access', _431 => _431[0], 'optionalAccess', _432 => _432.name]) || "website";
22938
22352
  onChange([...links, { platform: firstPlatform, url: "" }]);
22939
22353
  };
22940
22354
  const removeLink = (index) => {
@@ -22946,7 +22360,7 @@ function SocialLinksManager({
22946
22360
  onChange(updated);
22947
22361
  };
22948
22362
  const getIcon = (link, platform) => {
22949
- const iconKey = _optionalChain([platform, 'optionalAccess', _455 => _455.icon_name]) || link.platform;
22363
+ const iconKey = _optionalChain([platform, 'optionalAccess', _433 => _433.icon_name]) || link.platform;
22950
22364
  const key = _chunkUWQWMGJ7cjs.normalizeSocialPlatform.call(void 0, iconKey);
22951
22365
  if (!key) return null;
22952
22366
  const IconComponent = SOCIAL_ICON_COMPONENTS[key];
@@ -22963,14 +22377,14 @@ function SocialLinksManager({
22963
22377
  children: [
22964
22378
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-8 w-8 items-center justify-center", children: Icon }),
22965
22379
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid flex-1 grid-cols-2 gap-3", children: [
22966
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPPXR22YCcjs.Select, { value: link.platform, onValueChange: (value) => updateLink(index, "platform", value), children: [
22967
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectValue, {}) }),
22968
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectContent, { children: platforms.map((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: p.name, children: p.display_name }, p.name)) })
22380
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZ5UWW3Z2cjs.Select, { value: link.platform, onValueChange: (value) => updateLink(index, "platform", value), children: [
22381
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectValue, {}) }),
22382
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectContent, { children: platforms.map((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: p.name, children: p.display_name }, p.name)) })
22969
22383
  ] }) }),
22970
22384
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22971
22385
  _chunkXXBLN4BPcjs.Input,
22972
22386
  {
22973
- placeholder: _optionalChain([platform, 'optionalAccess', _456 => _456.placeholder]) || "Profile URL",
22387
+ placeholder: _optionalChain([platform, 'optionalAccess', _434 => _434.placeholder]) || "Profile URL",
22974
22388
  value: link.url,
22975
22389
  onChange: (e) => updateLink(index, "url", e.target.value),
22976
22390
  onKeyDown: (e) => {
@@ -22983,15 +22397,15 @@ function SocialLinksManager({
22983
22397
  )
22984
22398
  ] }),
22985
22399
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
22986
- _chunkPPXR22YCcjs.Select,
22400
+ _chunkZ5UWW3Z2cjs.Select,
22987
22401
  {
22988
22402
  value: _nullishCoalesce(link.visibility, () => ( "external")),
22989
22403
  onValueChange: (value) => updateLink(index, "visibility", value),
22990
22404
  children: [
22991
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectTrigger, { className: "w-[120px] shrink-0", "aria-label": "Social link visibility", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectValue, {}) }),
22992
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPPXR22YCcjs.SelectContent, { children: [
22993
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: "external", children: "Public" }),
22994
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: "internal", children: "Internal" })
22405
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectTrigger, { className: "w-[120px] shrink-0", "aria-label": "Social link visibility", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectValue, {}) }),
22406
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZ5UWW3Z2cjs.SelectContent, { children: [
22407
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: "external", children: "Public" }),
22408
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: "internal", children: "Internal" })
22995
22409
  ] })
22996
22410
  ]
22997
22411
  }
@@ -23366,8 +22780,8 @@ function VideoBitesDisplay({
23366
22780
 
23367
22781
  var isAtEnd = (duration, time) => duration > 0 && duration - time < 1;
23368
22782
  function theaterSeedFromLive(live, fallbackTime, fallbackMuted) {
23369
- const time = _nullishCoalesce(_optionalChain([live, 'optionalAccess', _457 => _457.getCurrentTime, 'call', _458 => _458()]), () => ( 0));
23370
- const atEnd = isAtEnd(_nullishCoalesce(_optionalChain([live, 'optionalAccess', _459 => _459.getDuration, 'call', _460 => _460()]), () => ( 0)), time);
22783
+ const time = _nullishCoalesce(_optionalChain([live, 'optionalAccess', _435 => _435.getCurrentTime, 'call', _436 => _436()]), () => ( 0));
22784
+ const atEnd = isAtEnd(_nullishCoalesce(_optionalChain([live, 'optionalAccess', _437 => _437.getDuration, 'call', _438 => _438()]), () => ( 0)), time);
23371
22785
  return {
23372
22786
  // At end -> start over, never rewind to an unrelated older anchor.
23373
22787
  time: atEnd ? 0 : time > 0.5 ? time : fallbackTime,
@@ -23400,11 +22814,11 @@ function WalkthroughVideo({
23400
22814
  const inline = placement === "inline";
23401
22815
  const dismissEnabled = dismissal !== false;
23402
22816
  const storageKey = dismissEnabled && dismissal.storageKey || _chunkUWQWMGJ7cjs.WALKTHROUGH_VIDEO_DISMISS_KEY;
23403
- const dismissalId = _optionalChain([video, 'optionalAccess', _461 => _461.id]) != null ? String(video.id) : "dismissed";
22817
+ const dismissalId = _optionalChain([video, 'optionalAccess', _439 => _439.id]) != null ? String(video.id) : "dismissed";
23404
22818
  const [mounted, setMounted] = _react.useState.call(void 0, false);
23405
22819
  const [dismissed, setDismissed] = _react.useState.call(void 0, false);
23406
22820
  const hasVideo = video != null;
23407
- const videoId = _optionalChain([video, 'optionalAccess', _462 => _462.id]);
22821
+ const videoId = _optionalChain([video, 'optionalAccess', _440 => _440.id]);
23408
22822
  _react.useEffect.call(void 0, () => {
23409
22823
  let idleHandle = null;
23410
22824
  if (!hasVideo) return void 0;
@@ -23431,9 +22845,9 @@ function WalkthroughVideo({
23431
22845
  const previewSuppressed = _react.useMemo.call(void 0, () => {
23432
22846
  if (!hydrated) return false;
23433
22847
  try {
23434
- const reducedMotion = _nullishCoalesce(_optionalChain([window, 'access', _463 => _463.matchMedia, 'optionalCall', _464 => _464("(prefers-reduced-motion: reduce)"), 'access', _465 => _465.matches]), () => ( false));
22848
+ const reducedMotion = _nullishCoalesce(_optionalChain([window, 'access', _441 => _441.matchMedia, 'optionalCall', _442 => _442("(prefers-reduced-motion: reduce)"), 'access', _443 => _443.matches]), () => ( false));
23435
22849
  const conn = navigator.connection;
23436
- const saveData = _optionalChain([conn, 'optionalAccess', _466 => _466.saveData]) === true || _optionalChain([conn, 'optionalAccess', _467 => _467.effectiveType]) === "2g" || _optionalChain([conn, 'optionalAccess', _468 => _468.effectiveType]) === "slow-2g";
22850
+ const saveData = _optionalChain([conn, 'optionalAccess', _444 => _444.saveData]) === true || _optionalChain([conn, 'optionalAccess', _445 => _445.effectiveType]) === "2g" || _optionalChain([conn, 'optionalAccess', _446 => _446.effectiveType]) === "slow-2g";
23437
22851
  return Boolean(reducedMotion || saveData);
23438
22852
  } catch (e15) {
23439
22853
  return false;
@@ -23459,7 +22873,7 @@ function WalkthroughVideo({
23459
22873
  const endedLatchRef = _react.useRef.call(void 0, false);
23460
22874
  const [hovered, setHovered] = _react.useState.call(void 0, false);
23461
22875
  const [handoff, setHandoff] = _react.useState.call(void 0,
23462
- () => autoPlayCard && !_optionalChain([video, 'optionalAccess', _469 => _469.youtubeUrl]) ? { time: 0, muted: true, playing: true } : null
22876
+ () => autoPlayCard && !_optionalChain([video, 'optionalAccess', _447 => _447.youtubeUrl]) ? { time: 0, muted: true, playing: true } : null
23463
22877
  );
23464
22878
  const [suspended, setSuspended] = _react.useState.call(void 0, false);
23465
22879
  const [theaterStart, setTheaterStart] = _react.useState.call(void 0, { time: 0, muted: false });
@@ -23468,18 +22882,18 @@ function WalkthroughVideo({
23468
22882
  const [cardMuted, setCardMuted] = _react.useState.call(void 0, false);
23469
22883
  const [cardPaused, setCardPaused] = _react.useState.call(void 0, false);
23470
22884
  const [userMuted, setUserMuted] = _react.useState.call(void 0, false);
23471
- const isYouTube = Boolean(_optionalChain([video, 'optionalAccess', _470 => _470.youtubeUrl]));
22885
+ const isYouTube = Boolean(_optionalChain([video, 'optionalAccess', _448 => _448.youtubeUrl]));
23472
22886
  const resumeMode = !open && handoff !== null && !isYouTube;
23473
22887
  const previewAllowed = !previewSuppressed && !isYouTube;
23474
22888
  const footerFadeKey = `${mounted ? 1 : 0}|${inline ? 1 : 0}|${hideNearSelector}|${pathname}`;
23475
- const footerHidden = _optionalChain([footerObservation, 'optionalAccess', _471 => _471.key]) === footerFadeKey && footerObservation.hidden;
22889
+ const footerHidden = _optionalChain([footerObservation, 'optionalAccess', _449 => _449.key]) === footerFadeKey && footerObservation.hidden;
23476
22890
  _react.useEffect.call(void 0, () => {
23477
22891
  if (!mounted) return void 0;
23478
22892
  if (inline) return void 0;
23479
22893
  const el = typeof document !== "undefined" ? document.querySelector(hideNearSelector) : null;
23480
22894
  if (!el || typeof IntersectionObserver === "undefined") return void 0;
23481
22895
  const io = new IntersectionObserver(
23482
- (entries) => setFooterObservation({ key: footerFadeKey, hidden: _nullishCoalesce(_optionalChain([entries, 'access', _472 => _472[0], 'optionalAccess', _473 => _473.isIntersecting]), () => ( false)) }),
22896
+ (entries) => setFooterObservation({ key: footerFadeKey, hidden: _nullishCoalesce(_optionalChain([entries, 'access', _450 => _450[0], 'optionalAccess', _451 => _451.isIntersecting]), () => ( false)) }),
23483
22897
  { rootMargin: "0px 0px -40px 0px" }
23484
22898
  );
23485
22899
  io.observe(el);
@@ -23505,7 +22919,7 @@ function WalkthroughVideo({
23505
22919
  if (!footerHidden) return;
23506
22920
  const h = _nullishCoalesce(resumeHandleRef.current, () => ( previewHandleRef.current));
23507
22921
  try {
23508
- _optionalChain([h, 'optionalAccess', _474 => _474.pause, 'call', _475 => _475()]);
22922
+ _optionalChain([h, 'optionalAccess', _452 => _452.pause, 'call', _453 => _453()]);
23509
22923
  } catch (e17) {
23510
22924
  }
23511
22925
  }, [footerHidden, resumeMode, hovered]);
@@ -23524,30 +22938,30 @@ function WalkthroughVideo({
23524
22938
  }, 400);
23525
22939
  }
23526
22940
  if (openProp === void 0) setOpenState(next);
23527
- _optionalChain([onOpenChange, 'optionalCall', _476 => _476(next)]);
22941
+ _optionalChain([onOpenChange, 'optionalCall', _454 => _454(next)]);
23528
22942
  },
23529
22943
  [openProp, onOpenChange]
23530
22944
  );
23531
22945
  const pausePreviewNow = _react.useCallback.call(void 0, () => {
23532
22946
  const h = _nullishCoalesce(resumeHandleRef.current, () => ( previewHandleRef.current));
23533
22947
  try {
23534
- _optionalChain([h, 'optionalAccess', _477 => _477.pause, 'call', _478 => _478()]);
22948
+ _optionalChain([h, 'optionalAccess', _455 => _455.pause, 'call', _456 => _456()]);
23535
22949
  } catch (e18) {
23536
22950
  }
23537
22951
  setCardPaused(true);
23538
22952
  }, [setCardPaused]);
23539
22953
  const openTheater = _react.useCallback.call(void 0, () => {
23540
22954
  const handleBeforePause = _nullishCoalesce(resumeHandleRef.current, () => ( previewHandleRef.current));
23541
- const liveWasPlaying = _optionalChain([handleBeforePause, 'optionalAccess', _479 => _479.getPaused, 'call', _480 => _480()]) === false;
22955
+ const liveWasPlaying = _optionalChain([handleBeforePause, 'optionalAccess', _457 => _457.getPaused, 'call', _458 => _458()]) === false;
23542
22956
  pausePreviewNow();
23543
22957
  const liveHandle = _nullishCoalesce(resumeHandleRef.current, () => ( (cardModeRef.current === "preview" ? previewHandleRef.current : null)));
23544
- const liveTime = _nullishCoalesce(_optionalChain([liveHandle, 'optionalAccess', _481 => _481.getCurrentTime, 'call', _482 => _482()]), () => ( 0));
23545
- const liveDuration = _nullishCoalesce(_optionalChain([liveHandle, 'optionalAccess', _483 => _483.getDuration, 'call', _484 => _484()]), () => ( 0));
22958
+ const liveTime = _nullishCoalesce(_optionalChain([liveHandle, 'optionalAccess', _459 => _459.getCurrentTime, 'call', _460 => _460()]), () => ( 0));
22959
+ const liveDuration = _nullishCoalesce(_optionalChain([liveHandle, 'optionalAccess', _461 => _461.getDuration, 'call', _462 => _462()]), () => ( 0));
23546
22960
  const liveAtEnd = isAtEnd(liveDuration, liveTime);
23547
22961
  const start = {
23548
22962
  // At end -> start over. Falling back to `handoff.time` here would rewind
23549
22963
  // to an unrelated older anchor (e.g. 3:20) instead of restarting.
23550
- time: liveAtEnd ? 0 : liveTime > 0.5 ? liveTime : _nullishCoalesce(_optionalChain([handoff, 'optionalAccess', _485 => _485.time]), () => ( 0)),
22964
+ time: liveAtEnd ? 0 : liveTime > 0.5 ? liveTime : _nullishCoalesce(_optionalChain([handoff, 'optionalAccess', _463 => _463.time]), () => ( 0)),
23551
22965
  // Live element wins over remembered intent (the theater's own chrome may
23552
22966
  // have changed it) — EXCEPT when the element is muted only because
23553
22967
  // autoplay policy forced it, which is not intent.
@@ -23575,7 +22989,7 @@ function WalkthroughVideo({
23575
22989
  const selfDriven = selfDrivenFor === open;
23576
22990
  if (openProp !== void 0 && !selfDriven) {
23577
22991
  if (open) {
23578
- setTheaterStart(theaterSeedFromLive(resumeHandleRef.current, _nullishCoalesce(_optionalChain([handoff, 'optionalAccess', _486 => _486.time]), () => ( 0)), userMuted));
22992
+ setTheaterStart(theaterSeedFromLive(resumeHandleRef.current, _nullishCoalesce(_optionalChain([handoff, 'optionalAccess', _464 => _464.time]), () => ( 0)), userMuted));
23579
22993
  setHovered(false);
23580
22994
  setSuspended(false);
23581
22995
  setHandoff(null);
@@ -23661,8 +23075,8 @@ function WalkthroughVideo({
23661
23075
  });
23662
23076
  _react.useEffect.call(void 0, () => {
23663
23077
  if (resumeMode) {
23664
- setCardMuted(_nullishCoalesce(_optionalChain([handoffRef, 'access', _487 => _487.current, 'optionalAccess', _488 => _488.muted]), () => ( false)));
23665
- setCardPaused(_optionalChain([handoffRef, 'access', _489 => _489.current, 'optionalAccess', _490 => _490.playing]) === false);
23078
+ setCardMuted(_nullishCoalesce(_optionalChain([handoffRef, 'access', _465 => _465.current, 'optionalAccess', _466 => _466.muted]), () => ( false)));
23079
+ setCardPaused(_optionalChain([handoffRef, 'access', _467 => _467.current, 'optionalAccess', _468 => _468.playing]) === false);
23666
23080
  }
23667
23081
  }, [resumeMode]);
23668
23082
  const [hoverSeeded, setHoverSeeded] = _react.useState.call(void 0, hovered);
@@ -23744,11 +23158,11 @@ function WalkthroughVideo({
23744
23158
  },
23745
23159
  [cardFallback.blocked, cardPaused, activeHandle, setCardPaused]
23746
23160
  );
23747
- const summaryTitle = _optionalChain([video, 'optionalAccess', _491 => _491.title]) || void 0;
23748
- const presenterAvatarSrc = _nullishCoalesce(_optionalChain([video, 'optionalAccess', _492 => _492.presenterAvatarUrl]), () => ( null));
23161
+ const summaryTitle = _optionalChain([video, 'optionalAccess', _469 => _469.title]) || void 0;
23162
+ const presenterAvatarSrc = _nullishCoalesce(_optionalChain([video, 'optionalAccess', _470 => _470.presenterAvatarUrl]), () => ( null));
23749
23163
  const embedUrlKey = _react.useMemo.call(void 0,
23750
- () => `${_nullishCoalesce(_optionalChain([video, 'optionalAccess', _493 => _493.mainVideoUrl]), () => ( ""))}|${_nullishCoalesce(_optionalChain([video, 'optionalAccess', _494 => _494.youtubeUrl]), () => ( ""))}`,
23751
- [_optionalChain([video, 'optionalAccess', _495 => _495.mainVideoUrl]), _optionalChain([video, 'optionalAccess', _496 => _496.youtubeUrl])]
23164
+ () => `${_nullishCoalesce(_optionalChain([video, 'optionalAccess', _471 => _471.mainVideoUrl]), () => ( ""))}|${_nullishCoalesce(_optionalChain([video, 'optionalAccess', _472 => _472.youtubeUrl]), () => ( ""))}`,
23165
+ [_optionalChain([video, 'optionalAccess', _473 => _473.mainVideoUrl]), _optionalChain([video, 'optionalAccess', _474 => _474.youtubeUrl])]
23752
23166
  );
23753
23167
  const cardActive = !open && previewAllowed && hovered && !resumeMode;
23754
23168
  const cardMode = resumeMode ? "resume" : cardActive ? "preview" : "poster";
@@ -23807,7 +23221,7 @@ function WalkthroughVideo({
23807
23221
  const el = e.target;
23808
23222
  let keyboard = false;
23809
23223
  try {
23810
- keyboard = _nullishCoalesce(_optionalChain([el, 'access', _497 => _497.matches, 'optionalCall', _498 => _498(":focus-visible")]), () => ( false));
23224
+ keyboard = _nullishCoalesce(_optionalChain([el, 'access', _475 => _475.matches, 'optionalCall', _476 => _476(":focus-visible")]), () => ( false));
23811
23225
  } catch (e23) {
23812
23226
  keyboard = false;
23813
23227
  }
@@ -23841,9 +23255,9 @@ function WalkthroughVideo({
23841
23255
  previewHandleRef: cardMode === "resume" ? resumeHandleRef : previewHandleRef,
23842
23256
  mutedIntent: userMuted,
23843
23257
  continuation: cardMode === "resume",
23844
- autoPlay: cardMode === "resume" && _optionalChain([handoff, 'optionalAccess', _499 => _499.playing]) !== false && !footerHidden,
23845
- startTime: _optionalChain([resumeHandoff, 'optionalAccess', _500 => _500.time]),
23846
- startMuted: _nullishCoalesce(_optionalChain([resumeHandoff, 'optionalAccess', _501 => _501.muted]), () => ( false)),
23258
+ autoPlay: cardMode === "resume" && _optionalChain([handoff, 'optionalAccess', _477 => _477.playing]) !== false && !footerHidden,
23259
+ startTime: _optionalChain([resumeHandoff, 'optionalAccess', _478 => _478.time]),
23260
+ startMuted: _nullishCoalesce(_optionalChain([resumeHandoff, 'optionalAccess', _479 => _479.muted]), () => ( false)),
23847
23261
  onEnded: cardMode === "resume" ? () => setHandoff(null) : () => setCardPaused(true)
23848
23262
  },
23849
23263
  `card-${embedUrlKey}`
@@ -23940,7 +23354,7 @@ function WalkthroughVideo({
23940
23354
  {
23941
23355
  onOpenAutoFocus: (e) => {
23942
23356
  e.preventDefault();
23943
- _optionalChain([closeButtonRef, 'access', _502 => _502.current, 'optionalAccess', _503 => _503.focus, 'call', _504 => _504()]);
23357
+ _optionalChain([closeButtonRef, 'access', _480 => _480.current, 'optionalAccess', _481 => _481.focus, 'call', _482 => _482()]);
23944
23358
  },
23945
23359
  className: _chunk3ATAYP36cjs.cn.call(void 0,
23946
23360
  // PURE theater: just the video, centered on a dimmed backdrop.
@@ -24034,14 +23448,14 @@ function useWalkthroughVideo(opts) {
24034
23448
  if (res.status === 404) return null;
24035
23449
  if (!res.ok) throw new Error(`Walkthrough video request failed (${res.status})`);
24036
23450
  const body = await res.json();
24037
- return _nullishCoalesce(_optionalChain([body, 'optionalAccess', _505 => _505.walkthroughVideo]), () => ( null));
23451
+ return _nullishCoalesce(_optionalChain([body, 'optionalAccess', _483 => _483.walkthroughVideo]), () => ( null));
24038
23452
  },
24039
23453
  // Per-observer transform — NEVER mutate the cached data. `select` also runs
24040
23454
  // over `initialData`, so the SSR seed is rewritten too. Keeping the proxy
24041
23455
  // rewrite here (not in queryFn) means a second consumer of the same
24042
23456
  // endpoint can't inherit this observer's proxied captionsUrl from the cache.
24043
23457
  select: (video) => {
24044
- if (!_optionalChain([video, 'optionalAccess', _506 => _506.captionsUrl])) return video;
23458
+ if (!_optionalChain([video, 'optionalAccess', _484 => _484.captionsUrl])) return video;
24045
23459
  if (transformCaptionsUrl && video.captionsUrl.startsWith("/")) {
24046
23460
  return { ...video, captionsUrl: transformCaptionsUrl(video.captionsUrl) };
24047
23461
  }
@@ -24088,7 +23502,7 @@ function VideoSourceSelector({
24088
23502
  input.accept = "video/*";
24089
23503
  input.onchange = async (e) => {
24090
23504
  const target = e.target;
24091
- const file = _optionalChain([target, 'access', _507 => _507.files, 'optionalAccess', _508 => _508[0]]);
23505
+ const file = _optionalChain([target, 'access', _485 => _485.files, 'optionalAccess', _486 => _486[0]]);
24092
23506
  if (!file) return;
24093
23507
  setIsUploading(true);
24094
23508
  setUploadProgress(0);
@@ -24264,7 +23678,7 @@ function SubtitlesEditor({
24264
23678
  {
24265
23679
  id,
24266
23680
  value: subtitles || "",
24267
- onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _509 => _509(e.target.value)]),
23681
+ onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _487 => _487(e.target.value)]),
24268
23682
  placeholder,
24269
23683
  disabled: disabled || !onSubtitlesChange,
24270
23684
  className: "h-full w-full resize-none border-0 bg-transparent p-4 text-ods-text-primary text-code placeholder:text-ods-text-secondary/50 focus:outline-none focus:ring-0",
@@ -24493,7 +23907,7 @@ var AIEnrichSection = ({
24493
23907
  }) => {
24494
23908
  const hasResults = status === "success" || status === "error";
24495
23909
  const shouldDisable = disabled || !canEnrich;
24496
- const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _510 => _510.filter, 'call', _511 => _511((f) => !f.isFilled)]) || [];
23910
+ const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _488 => _488.filter, 'call', _489 => _489((f) => !f.isFilled)]) || [];
24497
23911
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
24498
23912
  "div",
24499
23913
  {
@@ -24525,7 +23939,7 @@ var AIEnrichSection = ({
24525
23939
  {
24526
23940
  id: "ai-enrich-custom-instructions",
24527
23941
  value: _nullishCoalesce(customInstructions, () => ( "")),
24528
- onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _512 => _512(e.target.value)]),
23942
+ onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _490 => _490(e.target.value)]),
24529
23943
  placeholder: customInstructionsPlaceholder,
24530
23944
  disabled: loading,
24531
23945
  maxLength: customInstructionsMaxLength,
@@ -24647,7 +24061,7 @@ function HighlightVideoSection({
24647
24061
  input.accept = "video/*";
24648
24062
  input.onchange = async (e) => {
24649
24063
  const target = e.target;
24650
- const file = _optionalChain([target, 'access', _513 => _513.files, 'optionalAccess', _514 => _514[0]]);
24064
+ const file = _optionalChain([target, 'access', _491 => _491.files, 'optionalAccess', _492 => _492[0]]);
24651
24065
  if (!file) return;
24652
24066
  setUploadError(null);
24653
24067
  try {
@@ -24667,19 +24081,19 @@ function HighlightVideoSection({
24667
24081
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-3 rounded-lg border border-ods-border bg-ods-card p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-4", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1", children: [
24668
24082
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXXBLN4BPcjs.Label, { children: "Target Duration" }),
24669
24083
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
24670
- _chunkPPXR22YCcjs.Select,
24084
+ _chunkZ5UWW3Z2cjs.Select,
24671
24085
  {
24672
24086
  value: targetDurationSeconds.toString(),
24673
24087
  onValueChange: (value) => onTargetDurationChange(parseInt(value)),
24674
24088
  disabled,
24675
24089
  children: [
24676
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectTrigger, { className: "mt-1 bg-ods-bg-surface", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectValue, {}) }),
24677
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPPXR22YCcjs.SelectContent, { className: "bg-ods-card", children: [
24678
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: "60", children: "1 minute" }),
24679
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: "120", children: "2 minutes" }),
24680
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: "180", children: "3 minutes (Recommended)" }),
24681
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: "240", children: "4 minutes" }),
24682
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: "300", children: "5 minutes" })
24090
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectTrigger, { className: "mt-1 bg-ods-bg-surface", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectValue, {}) }),
24091
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZ5UWW3Z2cjs.SelectContent, { className: "bg-ods-card", children: [
24092
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: "60", children: "1 minute" }),
24093
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: "120", children: "2 minutes" }),
24094
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: "180", children: "3 minutes (Recommended)" }),
24095
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: "240", children: "4 minutes" }),
24096
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: "300", children: "5 minutes" })
24683
24097
  ] })
24684
24098
  ]
24685
24099
  }
@@ -24765,19 +24179,19 @@ function HighlightConfigSection({
24765
24179
  className = ""
24766
24180
  }) {
24767
24181
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `space-y-3 rounded-lg border border-ods-border bg-ods-card p-4 ${className}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUWQWMGJ7cjs.Field, { label: "Target Duration", children: (f) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
24768
- _chunkPPXR22YCcjs.Select,
24182
+ _chunkZ5UWW3Z2cjs.Select,
24769
24183
  {
24770
24184
  value: targetDurationSeconds.toString(),
24771
24185
  onValueChange: (value) => onTargetDurationChange(parseInt(value)),
24772
24186
  disabled,
24773
24187
  children: [
24774
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectTrigger, { id: f.id, className: "bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectValue, {}) }),
24775
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPPXR22YCcjs.SelectContent, { className: "bg-ods-card", children: [
24776
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: "60", children: "1 minute" }),
24777
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: "120", children: "2 minutes" }),
24778
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: "180", children: "3 minutes (Recommended)" }),
24779
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: "240", children: "4 minutes" }),
24780
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: "300", children: "5 minutes" })
24188
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectTrigger, { id: f.id, className: "bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectValue, {}) }),
24189
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZ5UWW3Z2cjs.SelectContent, { className: "bg-ods-card", children: [
24190
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: "60", children: "1 minute" }),
24191
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: "120", children: "2 minutes" }),
24192
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: "180", children: "3 minutes (Recommended)" }),
24193
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: "240", children: "4 minutes" }),
24194
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: "300", children: "5 minutes" })
24781
24195
  ] })
24782
24196
  ]
24783
24197
  }
@@ -25083,7 +24497,7 @@ function HighlightVideoPreview({
25083
24497
  input.accept = "video/*";
25084
24498
  input.onchange = async (e) => {
25085
24499
  const target = e.target;
25086
- const file = _optionalChain([target, 'access', _515 => _515.files, 'optionalAccess', _516 => _516[0]]);
24500
+ const file = _optionalChain([target, 'access', _493 => _493.files, 'optionalAccess', _494 => _494[0]]);
25087
24501
  if (!file) return;
25088
24502
  await onUpload(file);
25089
24503
  };
@@ -25262,7 +24676,7 @@ function HighlightVideoCombinedSection({
25262
24676
  input.accept = "video/*";
25263
24677
  input.onchange = async (e) => {
25264
24678
  const target = e.target;
25265
- const file = _optionalChain([target, 'access', _517 => _517.files, 'optionalAccess', _518 => _518[0]]);
24679
+ const file = _optionalChain([target, 'access', _495 => _495.files, 'optionalAccess', _496 => _496[0]]);
25266
24680
  if (!file) return;
25267
24681
  await onUpload(file);
25268
24682
  };
@@ -25468,7 +24882,7 @@ function ApprovalLevelView({
25468
24882
  value,
25469
24883
  disabled,
25470
24884
  onValueChange: (next) => {
25471
- if (next && next !== value) _optionalChain([onChange, 'optionalCall', _519 => _519(next)]);
24885
+ if (next && next !== value) _optionalChain([onChange, 'optionalCall', _497 => _497(next)]);
25472
24886
  },
25473
24887
  "aria-labelledby": labelledBy,
25474
24888
  children: APPROVAL_LEVELS.map((level) => {
@@ -25506,7 +24920,7 @@ function ApprovalLevelView({
25506
24920
  var approvalLevelOptions = APPROVAL_LEVELS.map((value) => ({ value, label: APPROVAL_LEVEL_META[value].label }));
25507
24921
  var POLICY_LEVEL_WIDTH = "w-[180px]";
25508
24922
  var CATEGORY_LEVEL_WIDTH = "w-[256px]";
25509
- var getApprovalLevelLabel = (level) => _nullishCoalesce(_optionalChain([APPROVAL_LEVEL_META, 'access', _520 => _520[level], 'optionalAccess', _521 => _521.label]), () => ( level));
24923
+ var getApprovalLevelLabel = (level) => _nullishCoalesce(_optionalChain([APPROVAL_LEVEL_META, 'access', _498 => _498[level], 'optionalAccess', _499 => _499.label]), () => ( level));
25510
24924
  var ApprovalLevelDropdown = ({ value, onChange, allowClear = false, triggerClassName, contentClassName }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2Y7QZAB2cjs.DropdownMenu, { children: [
25511
24925
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2Y7QZAB2cjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25512
24926
  _chunkDFQYAYBHcjs.Button,
@@ -25730,8 +25144,8 @@ function PoliciesTable({
25730
25144
  accessorKey: "name",
25731
25145
  header: "Name",
25732
25146
  cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-h-[60px] min-w-0 flex-col justify-center gap-1 py-2", children: [
25733
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { children: row.original.name }),
25734
- row.original.description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { variant: "h6", tone: "secondary", children: row.original.description })
25147
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { children: row.original.name }),
25148
+ row.original.description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { variant: "h6", tone: "secondary", children: row.original.description })
25735
25149
  ] }),
25736
25150
  meta: { width: "flex-1 min-w-0" }
25737
25151
  },
@@ -25903,7 +25317,7 @@ var POLICY_STATUS_CONFIG = {
25903
25317
  };
25904
25318
  function missingHostCount(policy) {
25905
25319
  const responded = policy.passing_host_count + policy.failing_host_count;
25906
- return (_nullishCoalesce(_optionalChain([policy, 'access', _522 => _522.hosts_include_any, 'optionalAccess', _523 => _523.length]), () => ( 0))) - responded;
25320
+ return (_nullishCoalesce(_optionalChain([policy, 'access', _500 => _500.hosts_include_any, 'optionalAccess', _501 => _501.length]), () => ( 0))) - responded;
25907
25321
  }
25908
25322
  function getPolicyStatus(policy) {
25909
25323
  const failing = policy.failing_host_count;
@@ -26014,7 +25428,7 @@ function usersCountLabel(count) {
26014
25428
  function TenantAccessCell({ accessState, lastReadAt: lastReadAt2, now }) {
26015
25429
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center gap-[var(--spacing-system-xxs)]", children: [
26016
25430
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF5BPGWGTcjs.Tag, { ...accessStateTag(accessState), className: "self-start" }),
26017
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { variant: "h6", tone: "secondary", children: `Last read: ${formatLastRead(lastReadAt2, now)}` })
25431
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { variant: "h6", tone: "secondary", children: `Last read: ${formatLastRead(lastReadAt2, now)}` })
26018
25432
  ] });
26019
25433
  }
26020
25434
 
@@ -26025,9 +25439,9 @@ function TenantCell({ provider, name, domain }) {
26025
25439
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center", children: [
26026
25440
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xxs)]", children: [
26027
25441
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Logo, { size: 24, role: "img", "aria-label": label, className: "shrink-0" }),
26028
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { children: name })
25442
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { children: name })
26029
25443
  ] }),
26030
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { variant: "h6", tone: "secondary", children: _nullishCoalesce(domain, () => ( TENANT_EMPTY_VALUE)) })
25444
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { variant: "h6", tone: "secondary", children: _nullishCoalesce(domain, () => ( TENANT_EMPTY_VALUE)) })
26031
25445
  ] });
26032
25446
  }
26033
25447
 
@@ -26037,9 +25451,9 @@ function TenantCustomerCell({ name, imageUrl, userCount }) {
26037
25451
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center", children: [
26038
25452
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xxs)]", children: [
26039
25453
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF5BPGWGTcjs.SquareAvatar, { src: _nullishCoalesce(imageUrl, () => ( void 0)), alt: name, fallback: name, size: "xs", variant: "square" }),
26040
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { children: name })
25454
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { children: name })
26041
25455
  ] }),
26042
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { variant: "h6", tone: "secondary", children: usersCountLabel(userCount) })
25456
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { variant: "h6", tone: "secondary", children: usersCountLabel(userCount) })
26043
25457
  ] });
26044
25458
  }
26045
25459
 
@@ -26189,13 +25603,13 @@ function WaitlistForm({
26189
25603
  const [email, setEmail] = _react.useState.call(void 0, defaultEmail);
26190
25604
  const [phone, setPhone] = _react.useState.call(void 0, defaultPhone);
26191
25605
  const [countryCode, setCountryCode] = _react.useState.call(void 0, "US");
26192
- const { toast } = _chunkJO5TLJPMcjs.useToast.call(void 0, );
26193
- const { honeypotInputProps, getSignals, resetSignals } = _chunkJO5TLJPMcjs.useHumanitySignals.call(void 0, );
25606
+ const { toast } = _chunkZXCZYMN4cjs.useToast.call(void 0, );
25607
+ const { honeypotInputProps, getSignals, resetSignals } = _chunkZXCZYMN4cjs.useHumanitySignals.call(void 0, );
26194
25608
  const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
26195
25609
  const isClient = _chunkUWQWMGJ7cjs.useIsHydrated.call(void 0, );
26196
25610
  const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
26197
25611
  const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
26198
- const rescue = _chunkJO5TLJPMcjs.useFormRescue.call(void 0, {
25612
+ const rescue = _chunkZXCZYMN4cjs.useFormRescue.call(void 0, {
26199
25613
  form: rescueForm,
26200
25614
  // The phone is reported as filled only; its value never leaves the form early.
26201
25615
  fieldNames: ["email", "phone"],
@@ -26501,19 +25915,19 @@ function NotificationsProvider({
26501
25915
  }, []);
26502
25916
  const markRead = _react.useCallback.call(void 0, (id) => {
26503
25917
  dispatch({ type: "markRead", id });
26504
- void _optionalChain([actionsRef, 'access', _524 => _524.current, 'optionalAccess', _525 => _525.onMarkRead, 'optionalCall', _526 => _526(id)]);
25918
+ void _optionalChain([actionsRef, 'access', _502 => _502.current, 'optionalAccess', _503 => _503.onMarkRead, 'optionalCall', _504 => _504(id)]);
26505
25919
  }, []);
26506
25920
  const markAllRead = _react.useCallback.call(void 0, () => {
26507
25921
  dispatch({ type: "markAllRead" });
26508
- void _optionalChain([actionsRef, 'access', _527 => _527.current, 'optionalAccess', _528 => _528.onMarkAllRead, 'optionalCall', _529 => _529()]);
25922
+ void _optionalChain([actionsRef, 'access', _505 => _505.current, 'optionalAccess', _506 => _506.onMarkAllRead, 'optionalCall', _507 => _507()]);
26509
25923
  }, []);
26510
25924
  const markSettled = _react.useCallback.call(void 0, (id) => {
26511
25925
  dispatch({ type: "markSettled", id });
26512
- void _optionalChain([actionsRef, 'access', _530 => _530.current, 'optionalAccess', _531 => _531.onMarkSettled, 'optionalCall', _532 => _532(id)]);
25926
+ void _optionalChain([actionsRef, 'access', _508 => _508.current, 'optionalAccess', _509 => _509.onMarkSettled, 'optionalCall', _510 => _510(id)]);
26513
25927
  }, []);
26514
25928
  const remove = _react.useCallback.call(void 0, (id) => {
26515
25929
  dispatch({ type: "remove", id });
26516
- void _optionalChain([actionsRef, 'access', _533 => _533.current, 'optionalAccess', _534 => _534.onRemove, 'optionalCall', _535 => _535(id)]);
25930
+ void _optionalChain([actionsRef, 'access', _511 => _511.current, 'optionalAccess', _512 => _512.onRemove, 'optionalCall', _513 => _513(id)]);
26517
25931
  }, []);
26518
25932
  const clear = _react.useCallback.call(void 0, () => dispatch({ type: "clear" }), []);
26519
25933
  const open = _react.useCallback.call(void 0, () => setIsOpen(true), []);
@@ -26522,14 +25936,14 @@ function NotificationsProvider({
26522
25936
  const setShowPopups = _react.useCallback.call(void 0,
26523
25937
  (value2) => {
26524
25938
  setShowPopupsState(value2);
26525
- _optionalChain([onShowPopupsChange, 'optionalCall', _536 => _536(value2)]);
25939
+ _optionalChain([onShowPopupsChange, 'optionalCall', _514 => _514(value2)]);
26526
25940
  },
26527
25941
  [onShowPopupsChange]
26528
25942
  );
26529
25943
  const setShowDesktopPopups = _react.useCallback.call(void 0,
26530
25944
  (value2) => {
26531
25945
  setShowDesktopPopupsState(value2);
26532
- _optionalChain([onShowDesktopPopupsChange, 'optionalCall', _537 => _537(value2)]);
25946
+ _optionalChain([onShowDesktopPopupsChange, 'optionalCall', _515 => _515(value2)]);
26533
25947
  },
26534
25948
  [onShowDesktopPopupsChange]
26535
25949
  );
@@ -26645,7 +26059,7 @@ var AppLayoutDrawerRoot = ({
26645
26059
  const handleOpenChange = _react.useCallback.call(void 0,
26646
26060
  (next) => {
26647
26061
  if (!isControlled) setInternalOpen(next);
26648
- _optionalChain([onOpenChange, 'optionalCall', _538 => _538(next)]);
26062
+ _optionalChain([onOpenChange, 'optionalCall', _516 => _516(next)]);
26649
26063
  },
26650
26064
  [isControlled, onOpenChange]
26651
26065
  );
@@ -26662,9 +26076,9 @@ var AppLayoutDrawerRoot = ({
26662
26076
  }
26663
26077
  }));
26664
26078
  _react.useEffect.call(void 0, () => {
26665
- if (open) _optionalChain([coordination, 'optionalAccess', _539 => _539.notifyDrawerDidOpen, 'call', _540 => _540(selfHandle)]);
26079
+ if (open) _optionalChain([coordination, 'optionalAccess', _517 => _517.notifyDrawerDidOpen, 'call', _518 => _518(selfHandle)]);
26666
26080
  }, [open, coordination, selfHandle]);
26667
- _react.useEffect.call(void 0, () => _optionalChain([coordination, 'optionalAccess', _541 => _541.registerDrawer, 'call', _542 => _542(selfHandle)]), [coordination, selfHandle]);
26081
+ _react.useEffect.call(void 0, () => _optionalChain([coordination, 'optionalAccess', _519 => _519.registerDrawer, 'call', _520 => _520(selfHandle)]), [coordination, selfHandle]);
26668
26082
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DrawerOpenContext.Provider, { value: open, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive3.Root, { ...rest, open, onOpenChange: handleOpenChange, modal, children }) });
26669
26083
  };
26670
26084
  AppLayoutDrawerRoot.displayName = "AppLayoutDrawer";
@@ -26886,10 +26300,10 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
26886
26300
  ),
26887
26301
  style,
26888
26302
  onInteractOutside: (event) => {
26889
- _optionalChain([onInteractOutside, 'optionalCall', _543 => _543(event)]);
26303
+ _optionalChain([onInteractOutside, 'optionalCall', _521 => _521(event)]);
26890
26304
  if (event.defaultPrevented) return;
26891
26305
  const target = event.target;
26892
- const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _544 => _544.contains, 'call', _545 => _545(target)]);
26306
+ const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _522 => _522.contains, 'call', _523 => _523(target)]);
26893
26307
  if (!isInsideContainer) {
26894
26308
  event.preventDefault();
26895
26309
  return;
@@ -26961,7 +26375,7 @@ var typeColorByVariant = {
26961
26375
  error: "text-ods-error"
26962
26376
  };
26963
26377
  var progressColorByVariant2 = {
26964
- ..._chunkJO5TLJPMcjs.progressColorByVariant,
26378
+ ..._chunkZXCZYMN4cjs.progressColorByVariant,
26965
26379
  default: "bg-ods-accent",
26966
26380
  info: "bg-ods-accent"
26967
26381
  };
@@ -27005,7 +26419,7 @@ function NotificationTile({
27005
26419
  if (!counting) return void 0;
27006
26420
  const remaining = Math.max(0, liveDurationMs - initialElapsed);
27007
26421
  const timer = window.setTimeout(() => {
27008
- _optionalChain([onSettle, 'optionalCall', _546 => _546(id)]);
26422
+ _optionalChain([onSettle, 'optionalCall', _524 => _524(id)]);
27009
26423
  }, remaining);
27010
26424
  return () => window.clearTimeout(timer);
27011
26425
  }, [id, counting, initialElapsed, liveDurationMs, onSettle]);
@@ -27038,7 +26452,7 @@ function NotificationTile({
27038
26452
  height: 16,
27039
26453
  unoptimized: true
27040
26454
  }
27041
- ) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk3ATAYP36cjs.cn.call(void 0, "size-1.5 rounded-full", _chunkJO5TLJPMcjs.dotColorByVariant[accentVariant]) }))) }),
26455
+ ) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk3ATAYP36cjs.cn.call(void 0, "size-1.5 rounded-full", _chunkZXCZYMN4cjs.dotColorByVariant[accentVariant]) }))) }),
27042
26456
  type ? lockscreen ? (
27043
26457
  // A phone names the sender in plain words and never cuts them.
27044
26458
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "min-w-0 flex-1 break-words text-ods-text-secondary text-h6", children: type })
@@ -27056,7 +26470,7 @@ function NotificationTile({
27056
26470
  active: isLive,
27057
26471
  label: "Dismiss notification",
27058
26472
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.XmarkIcon, { size: 16 }),
27059
- onClick: () => _optionalChain([onSettle, 'optionalCall', _547 => _547(id)])
26473
+ onClick: () => _optionalChain([onSettle, 'optionalCall', _525 => _525(id)])
27060
26474
  },
27061
26475
  {
27062
26476
  active: !isLive,
@@ -27254,7 +26668,7 @@ function DrawerScrollList({
27254
26668
  if (!sentinel || !root) return void 0;
27255
26669
  const observer = new IntersectionObserver(
27256
26670
  (entries) => {
27257
- if (_optionalChain([entries, 'access', _548 => _548[0], 'optionalAccess', _549 => _549.isIntersecting])) _optionalChain([loadMoreRef, 'access', _550 => _550.current, 'optionalCall', _551 => _551()]);
26671
+ if (_optionalChain([entries, 'access', _526 => _526[0], 'optionalAccess', _527 => _527.isIntersecting])) _optionalChain([loadMoreRef, 'access', _528 => _528.current, 'optionalCall', _529 => _529()]);
27258
26672
  },
27259
26673
  { root, rootMargin: loadMoreRootMargin }
27260
26674
  );
@@ -27269,7 +26683,7 @@ function DrawerScrollList({
27269
26683
  className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
27270
26684
  children: isEmpty && !isLoadingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyState, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
27271
26685
  unreadNotifications.map((n) => {
27272
- const custom = _optionalChain([renderTile, 'optionalCall', _552 => _552(n, { onComplete, onSettle, liveDurationMs })]);
26686
+ const custom = _optionalChain([renderTile, 'optionalCall', _530 => _530(n, { onComplete, onSettle, liveDurationMs })]);
27273
26687
  if (custom) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: custom }, n.id);
27274
26688
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27275
26689
  NotificationTile,
@@ -27322,7 +26736,7 @@ function ShowNotificationsToggleRow({ checked, onChange }) {
27322
26736
  ] });
27323
26737
  }
27324
26738
  function DesktopNotificationsToggleRow({ checked, onChange }) {
27325
- const { supported, permission, request } = _chunkJO5TLJPMcjs.useNotificationPermission.call(void 0, );
26739
+ const { supported, permission, request } = _chunkZXCZYMN4cjs.useNotificationPermission.call(void 0, );
27326
26740
  if (!supported) return null;
27327
26741
  const blocked = permission === "denied";
27328
26742
  const handleChange = async (value) => {
@@ -27389,7 +26803,7 @@ function NotificationPopups({
27389
26803
  }) {
27390
26804
  const ctx = useOptionalNotifications();
27391
26805
  const [now, setNow] = _react.useState.call(void 0, () => Date.now());
27392
- const hasAgeingNotifications = Boolean(_optionalChain([ctx, 'optionalAccess', _553 => _553.notifications, 'access', _554 => _554.some, 'call', _555 => _555((n) => !n.read && !n.settled)]));
26806
+ const hasAgeingNotifications = Boolean(_optionalChain([ctx, 'optionalAccess', _531 => _531.notifications, 'access', _532 => _532.some, 'call', _533 => _533((n) => !n.read && !n.settled)]));
27393
26807
  _react.useEffect.call(void 0, () => {
27394
26808
  if (!hasAgeingNotifications) return void 0;
27395
26809
  const id = setInterval(() => setNow(Date.now()), 500);
@@ -27432,7 +26846,7 @@ function NotificationPopups({
27432
26846
  className
27433
26847
  ),
27434
26848
  children: live.map((n) => {
27435
- const custom = _optionalChain([renderTile, 'optionalCall', _556 => _556(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
26849
+ const custom = _optionalChain([renderTile, 'optionalCall', _534 => _534(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
27436
26850
  if (custom) {
27437
26851
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto", children: custom }, n.id);
27438
26852
  }
@@ -27479,21 +26893,21 @@ function isApprovalNotificationType(type) {
27479
26893
  return typeof type === "string" && APPROVAL_REQUEST_TYPES.has(type);
27480
26894
  }
27481
26895
  function isApprovalNotification(notification) {
27482
- return isApprovalNotificationType(_optionalChain([notification, 'access', _557 => _557.meta, 'optionalAccess', _558 => _558.notificationType]));
26896
+ return isApprovalNotificationType(_optionalChain([notification, 'access', _535 => _535.meta, 'optionalAccess', _536 => _536.notificationType]));
27483
26897
  }
27484
26898
  function getApprovalMeta(notification) {
27485
26899
  if (!isApprovalNotification(notification)) return null;
27486
26900
  const meta = notification.meta;
27487
- const approvalRequestId = _optionalChain([meta, 'optionalAccess', _559 => _559.approvalRequestId]);
27488
- const toolCalls = _optionalChain([meta, 'optionalAccess', _560 => _560.toolCalls]);
26901
+ const approvalRequestId = _optionalChain([meta, 'optionalAccess', _537 => _537.approvalRequestId]);
26902
+ const toolCalls = _optionalChain([meta, 'optionalAccess', _538 => _538.toolCalls]);
27489
26903
  if (typeof approvalRequestId !== "string" || !Array.isArray(toolCalls)) return null;
27490
26904
  return {
27491
26905
  approvalRequestId,
27492
- dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _561 => _561.dialogId]), () => ( null)),
27493
- ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _562 => _562.ticketId]), () => ( null)),
27494
- approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _563 => _563.approvalType]), () => ( null)),
27495
- resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _564 => _564.resolution]), () => ( null)),
27496
- resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _565 => _565.resolvedByName]), () => ( null)),
26906
+ dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _539 => _539.dialogId]), () => ( null)),
26907
+ ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _540 => _540.ticketId]), () => ( null)),
26908
+ approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _541 => _541.approvalType]), () => ( null)),
26909
+ resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _542 => _542.resolution]), () => ( null)),
26910
+ resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _543 => _543.resolvedByName]), () => ( null)),
27497
26911
  toolCalls
27498
26912
  };
27499
26913
  }
@@ -27549,7 +26963,7 @@ function ApprovalRequestNotificationTile({
27549
26963
  const [processing, setProcessing] = _react.useState.call(void 0, false);
27550
26964
  const [localStatus, setLocalStatus] = _react.useState.call(void 0, null);
27551
26965
  const approval = getApprovalMeta(notification);
27552
- const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _566 => _566.resolution]));
26966
+ const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _544 => _544.resolution]));
27553
26967
  const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
27554
26968
  const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
27555
26969
  const { innerRef, containerStyle } = _chunkKT3U3ZRPcjs.useCollapsible.call(void 0, { expanded });
@@ -27875,7 +27289,7 @@ function TimeTrackerPanel({
27875
27289
  ] }),
27876
27290
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "grid gap-[var(--spacing-system-m)]", showCustomer && "grid-cols-2"), children: [
27877
27291
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27878
- Autocomplete,
27292
+ _chunkZ5UWW3Z2cjs.Autocomplete,
27879
27293
  {
27880
27294
  value: selectedTicketId,
27881
27295
  onChange: onSelectedTicketChange,
@@ -27886,12 +27300,12 @@ function TimeTrackerPanel({
27886
27300
  error: showFieldError ? "Required if no notes added" : void 0,
27887
27301
  disableClientFilter: !!onTicketSearch,
27888
27302
  onInputChange: (value, reason) => {
27889
- if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _567 => _567(value)]);
27303
+ if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _545 => _545(value)]);
27890
27304
  }
27891
27305
  }
27892
27306
  ),
27893
27307
  showCustomer && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27894
- Autocomplete,
27308
+ _chunkZ5UWW3Z2cjs.Autocomplete,
27895
27309
  {
27896
27310
  value: _nullishCoalesce(selectedCustomerId, () => ( null)),
27897
27311
  onChange: onSelectedCustomerChange,
@@ -27901,7 +27315,7 @@ function TimeTrackerPanel({
27901
27315
  disabled: customerLocked,
27902
27316
  disableClientFilter: !!onCustomerSearch,
27903
27317
  onInputChange: (value, reason) => {
27904
- if (reason === "input") _optionalChain([onCustomerSearch, 'optionalCall', _568 => _568(value)]);
27318
+ if (reason === "input") _optionalChain([onCustomerSearch, 'optionalCall', _546 => _546(value)]);
27905
27319
  },
27906
27320
  startAdornment: customerStartAdornment,
27907
27321
  renderOption: renderCustomerOption
@@ -28003,7 +27417,7 @@ function LastEntryRow({ entry, onClick }) {
28003
27417
  {
28004
27418
  variant: "outline",
28005
27419
  size: "icon",
28006
- onClick: () => _optionalChain([onClick, 'optionalCall', _569 => _569(entry)]),
27420
+ onClick: () => _optionalChain([onClick, 'optionalCall', _547 => _547(entry)]),
28007
27421
  disabled: !onClick,
28008
27422
  "aria-label": `Open entry: ${entry.title}`,
28009
27423
  className: "h-12 w-12 shrink-0 [&_svg]:!size-6",
@@ -28087,34 +27501,34 @@ function HeaderButton({
28087
27501
  function TimeTrackerHeaderButton({ className, disabled }) {
28088
27502
  const ctx = useOptionalTimeTracker();
28089
27503
  const elapsedLabel = useTrackerClock({
28090
- status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _570 => _570.status]), () => ( "ready")),
28091
- runningSince: _optionalChain([ctx, 'optionalAccess', _571 => _571.runningSince]),
28092
- accumulatedMs: _optionalChain([ctx, 'optionalAccess', _572 => _572.accumulatedMs])
27504
+ status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _548 => _548.status]), () => ( "ready")),
27505
+ runningSince: _optionalChain([ctx, 'optionalAccess', _549 => _549.runningSince]),
27506
+ accumulatedMs: _optionalChain([ctx, 'optionalAccess', _550 => _550.accumulatedMs])
28093
27507
  });
28094
27508
  const layoutContainer = useAppLayoutDrawerContainer();
28095
27509
  const coordination = useAppLayoutDrawerCoordination();
28096
- const isOpen = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _573 => _573.isOpen]), () => ( false));
27510
+ const isOpen = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _551 => _551.isOpen]), () => ( false));
28097
27511
  const isOpenRef = _react.useRef.call(void 0, isOpen);
28098
- const closeRef = _react.useRef.call(void 0, _optionalChain([ctx, 'optionalAccess', _574 => _574.close]));
27512
+ const closeRef = _react.useRef.call(void 0, _optionalChain([ctx, 'optionalAccess', _552 => _552.close]));
28099
27513
  _react.useEffect.call(void 0, () => {
28100
27514
  isOpenRef.current = isOpen;
28101
- closeRef.current = _optionalChain([ctx, 'optionalAccess', _575 => _575.close]);
27515
+ closeRef.current = _optionalChain([ctx, 'optionalAccess', _553 => _553.close]);
28102
27516
  });
28103
27517
  const [selfHandle] = _react.useState.call(void 0, () => ({
28104
27518
  close: () => {
28105
- if (isOpenRef.current) _optionalChain([closeRef, 'access', _576 => _576.current, 'optionalCall', _577 => _577()]);
27519
+ if (isOpenRef.current) _optionalChain([closeRef, 'access', _554 => _554.current, 'optionalCall', _555 => _555()]);
28106
27520
  }
28107
27521
  }));
28108
27522
  _react.useEffect.call(void 0, () => {
28109
- if (isOpen) _optionalChain([coordination, 'optionalAccess', _578 => _578.notifyDrawerDidOpen, 'call', _579 => _579(selfHandle)]);
27523
+ if (isOpen) _optionalChain([coordination, 'optionalAccess', _556 => _556.notifyDrawerDidOpen, 'call', _557 => _557(selfHandle)]);
28110
27524
  }, [isOpen, coordination, selfHandle]);
28111
- _react.useEffect.call(void 0, () => _optionalChain([coordination, 'optionalAccess', _580 => _580.registerDrawer, 'call', _581 => _581(selfHandle)]), [coordination, selfHandle]);
27525
+ _react.useEffect.call(void 0, () => _optionalChain([coordination, 'optionalAccess', _558 => _558.registerDrawer, 'call', _559 => _559(selfHandle)]), [coordination, selfHandle]);
28112
27526
  if (!ctx) return null;
28113
27527
  const { open, close, status } = ctx;
28114
27528
  const isPaused = status === "paused";
28115
27529
  const isActive = status === "tracking" || isPaused;
28116
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, PopoverPrimitive7.Root, { open: isOpen, onOpenChange: (next) => next ? open() : close(), children: [
28117
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive7.Trigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27530
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, PopoverPrimitive6.Root, { open: isOpen, onOpenChange: (next) => next ? open() : close(), children: [
27531
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive6.Trigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28118
27532
  HeaderButton,
28119
27533
  {
28120
27534
  "aria-label": "Time tracker",
@@ -28148,7 +27562,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
28148
27562
  ] })
28149
27563
  }
28150
27564
  ) }),
28151
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive7.Portal, { container: _nullishCoalesce(layoutContainer, () => ( void 0)), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27565
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive6.Portal, { container: _nullishCoalesce(layoutContainer, () => ( void 0)), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28152
27566
  "div",
28153
27567
  {
28154
27568
  "aria-hidden": "true",
@@ -28161,8 +27575,8 @@ function TimeTrackerHeaderButton({ className, disabled }) {
28161
27575
  )
28162
27576
  }
28163
27577
  ) }),
28164
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive7.Portal, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28165
- PopoverPrimitive7.Content,
27578
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive6.Portal, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27579
+ PopoverPrimitive6.Content,
28166
27580
  {
28167
27581
  align: "end",
28168
27582
  sideOffset: 8,
@@ -28186,12 +27600,12 @@ function formatLastOnline(lastSeen) {
28186
27600
 
28187
27601
  // src/components/features/devices/device-name.ts
28188
27602
  function getDeviceName(device) {
28189
- return _optionalChain([device, 'optionalAccess', _582 => _582.nickname]) || _optionalChain([device, 'optionalAccess', _583 => _583.displayName]) || _optionalChain([device, 'optionalAccess', _584 => _584.hostname]) || "";
27603
+ return _optionalChain([device, 'optionalAccess', _560 => _560.nickname]) || _optionalChain([device, 'optionalAccess', _561 => _561.displayName]) || _optionalChain([device, 'optionalAccess', _562 => _562.hostname]) || "";
28190
27604
  }
28191
27605
  function matchesDeviceName(device, search = "") {
28192
27606
  const needle = search.trim().toLowerCase();
28193
27607
  if (!needle) return true;
28194
- return getDeviceName(device).toLowerCase().includes(needle) || (_nullishCoalesce(_optionalChain([device, 'optionalAccess', _585 => _585.hostname]), () => ( ""))).toLowerCase().includes(needle);
27608
+ return getDeviceName(device).toLowerCase().includes(needle) || (_nullishCoalesce(_optionalChain([device, 'optionalAccess', _563 => _563.hostname]), () => ( ""))).toLowerCase().includes(needle);
28195
27609
  }
28196
27610
 
28197
27611
  // src/components/features/devices/devices-view-config.tsx
@@ -28384,7 +27798,7 @@ var HIDDEN_DEVICE_STATUSES = [DEVICE_STATUS.ARCHIVED, DEVICE_STATUS.DELETED];
28384
27798
 
28385
27799
  var DEFAULT_CLASS_NAME = "w-6 h-6 text-ods-text-secondary";
28386
27800
  function renderDeviceTypeIcon(type, className = DEFAULT_CLASS_NAME) {
28387
- switch (_optionalChain([type, 'optionalAccess', _586 => _586.toLowerCase, 'call', _587 => _587()])) {
27801
+ switch (_optionalChain([type, 'optionalAccess', _564 => _564.toLowerCase, 'call', _565 => _565()])) {
28388
27802
  case "desktop":
28389
27803
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRDW5JAMEcjs.MonitorIcon, { className });
28390
27804
  case "laptop":
@@ -28526,7 +27940,7 @@ function getDeviceActionsColumn(renderRowActions) {
28526
27940
  }
28527
27941
  function OpenDeviceButton({ device }) {
28528
27942
  const { getDeviceHref } = useDevicesViewConfig();
28529
- const href = _optionalChain([getDeviceHref, 'optionalCall', _588 => _588(device)]);
27943
+ const href = _optionalChain([getDeviceHref, 'optionalCall', _566 => _566(device)]);
28530
27944
  const open = (event) => {
28531
27945
  event.preventDefault();
28532
27946
  if (href) window.open(href, "_blank", "noopener,noreferrer");
@@ -28612,15 +28026,15 @@ function DevicesTableBody({
28612
28026
  function OrganizationCell({ device }) {
28613
28027
  const fullImageUrl = useDeviceImageUrl(device.organizationImageUrl, device.organizationImageHash);
28614
28028
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
28615
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.EntityImage, { src: fullImageUrl, alt: device.organization || "Customer", className: "size-12 content-md:size-12" }),
28029
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.EntityImage, { src: fullImageUrl, alt: device.organization || "Customer", className: "size-12 content-md:size-12" }),
28616
28030
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "break-words text-ods-text-primary text-h4", children: device.organization || "" }) })
28617
28031
  ] });
28618
28032
  }
28619
28033
  function buildDeviceFilterOptions(deviceFilters) {
28620
- const status = (_nullishCoalesce(_optionalChain([deviceFilters, 'optionalAccess', _589 => _589.statuses]), () => ( []))).filter((s) => DEFAULT_VISIBLE_STATUSES.includes(s.value)).map((s) => ({ id: s.value, label: getDeviceStatusConfig(s.value).label, value: s.value, count: s.count }));
28621
- const os = (_nullishCoalesce(_optionalChain([deviceFilters, 'optionalAccess', _590 => _590.osTypes]), () => ( []))).map((o) => ({ id: o.value, label: o.value, value: o.value, count: o.count }));
28034
+ const status = (_nullishCoalesce(_optionalChain([deviceFilters, 'optionalAccess', _567 => _567.statuses]), () => ( []))).filter((s) => DEFAULT_VISIBLE_STATUSES.includes(s.value)).map((s) => ({ id: s.value, label: getDeviceStatusConfig(s.value).label, value: s.value, count: s.count }));
28035
+ const os = (_nullishCoalesce(_optionalChain([deviceFilters, 'optionalAccess', _568 => _568.osTypes]), () => ( []))).map((o) => ({ id: o.value, label: o.value, value: o.value, count: o.count }));
28622
28036
  const organization = uniqueById(
28623
- (_nullishCoalesce(_optionalChain([deviceFilters, 'optionalAccess', _591 => _591.organizationIds]), () => ( []))).map((org) => ({
28037
+ (_nullishCoalesce(_optionalChain([deviceFilters, 'optionalAccess', _569 => _569.organizationIds]), () => ( []))).map((org) => ({
28624
28038
  id: org.value,
28625
28039
  label: org.label,
28626
28040
  value: org.value,
@@ -28656,7 +28070,7 @@ function getDeviceTableColumns(deviceFilters, filtersPending) {
28656
28070
  const device = row.original;
28657
28071
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative box-border flex h-20 w-full shrink-0 content-stretch items-center justify-start gap-4 py-0", children: [
28658
28072
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeviceTypeTile, { type: device.type }),
28659
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { children: getDeviceName(device) }) })
28073
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { children: getDeviceName(device) }) })
28660
28074
  ] });
28661
28075
  },
28662
28076
  meta: { width: "flex-1 content-md:w-1/4" }
@@ -28714,7 +28128,7 @@ function isCompleteTag(tag) {
28714
28128
  const i = tag.indexOf(":");
28715
28129
  return i > 0 && i < tag.length - 1;
28716
28130
  }
28717
- var scrollMainToTop = () => _optionalChain([document, 'access', _592 => _592.querySelector, 'call', _593 => _593("main"), 'optionalAccess', _594 => _594.scrollTo, 'call', _595 => _595({ top: 0, behavior: "instant" })]);
28131
+ var scrollMainToTop = () => _optionalChain([document, 'access', _570 => _570.querySelector, 'call', _571 => _571("main"), 'optionalAccess', _572 => _572.scrollTo, 'call', _573 => _573({ top: 0, behavior: "instant" })]);
28718
28132
  function useTagFilterModal({
28719
28133
  tags,
28720
28134
  deviceFilters,
@@ -28736,7 +28150,7 @@ function useTagFilterModal({
28736
28150
  }));
28737
28151
  }, [columns, isMdUp]);
28738
28152
  const tagFilterKeys = _react.useMemo.call(void 0, () => {
28739
- if (!_optionalChain([deviceFilters, 'optionalAccess', _596 => _596.tagKeys])) return [];
28153
+ if (!_optionalChain([deviceFilters, 'optionalAccess', _574 => _574.tagKeys])) return [];
28740
28154
  const grouped = /* @__PURE__ */ new Map();
28741
28155
  for (const tag of deviceFilters.tagKeys) {
28742
28156
  if (tag.key === "null") continue;
@@ -28827,7 +28241,7 @@ function CustomerCell({ device }) {
28827
28241
  const fullImageUrl = useDeviceImageUrl(device.organizationImageUrl, device.organizationImageHash);
28828
28242
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-3", children: [
28829
28243
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28830
- _chunkPPXR22YCcjs.EntityImage,
28244
+ _chunkZ5UWW3Z2cjs.EntityImage,
28831
28245
  {
28832
28246
  src: fullImageUrl,
28833
28247
  alt: device.organization || "Customer",
@@ -28835,8 +28249,8 @@ function CustomerCell({ device }) {
28835
28249
  }
28836
28250
  ),
28837
28251
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center", children: [
28838
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { children: device.organization || "" }),
28839
- device.organizationEmail && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { variant: "h6", tone: "secondary", children: device.organizationEmail })
28252
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { children: device.organization || "" }),
28253
+ device.organizationEmail && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { variant: "h6", tone: "secondary", children: device.organizationEmail })
28840
28254
  ] })
28841
28255
  ] });
28842
28256
  }
@@ -28904,7 +28318,7 @@ function DeviceSelector({
28904
28318
  const clientToggleDevice = _react.useCallback.call(void 0,
28905
28319
  (device) => {
28906
28320
  if (disabled) return;
28907
- if (_optionalChain([isDeviceDisabled, 'optionalCall', _597 => _597(device)])) return;
28321
+ if (_optionalChain([isDeviceDisabled, 'optionalCall', _575 => _575(device)])) return;
28908
28322
  const key = getDeviceKey(device);
28909
28323
  if (key === void 0) return;
28910
28324
  const current = selectedIdsRef.current;
@@ -28929,7 +28343,7 @@ function DeviceSelector({
28929
28343
  return;
28930
28344
  }
28931
28345
  if (disabled) return;
28932
- if (_optionalChain([isDeviceDisabled, 'optionalCall', _598 => _598(device)])) return;
28346
+ if (_optionalChain([isDeviceDisabled, 'optionalCall', _576 => _576(device)])) return;
28933
28347
  if (server.activeTab === "selected") {
28934
28348
  server.onRemove(device);
28935
28349
  return;
@@ -28990,7 +28404,7 @@ function DeviceSelector({
28990
28404
  const base = addAllBehavior === "replace" ? /* @__PURE__ */ new Set() : new Set(selectedIds);
28991
28405
  for (const d of client.filteredDevices) {
28992
28406
  if (!matchesVisibleFilters(d)) continue;
28993
- if (_optionalChain([isDeviceDisabled, 'optionalCall', _599 => _599(d)])) continue;
28407
+ if (_optionalChain([isDeviceDisabled, 'optionalCall', _577 => _577(d)])) continue;
28994
28408
  const key = getDeviceKey(d);
28995
28409
  if (key !== void 0) {
28996
28410
  base.add(key);
@@ -29019,7 +28433,7 @@ function DeviceSelector({
29019
28433
  const orgKey = _nullishCoalesce(d.organizationId, () => ( d.organization));
29020
28434
  if (orgKey) {
29021
28435
  const existing = orgCounts.get(orgKey);
29022
- orgCounts.set(orgKey, { label: _nullishCoalesce(d.organization, () => ( orgKey)), count: (_nullishCoalesce(_optionalChain([existing, 'optionalAccess', _600 => _600.count]), () => ( 0))) + 1 });
28436
+ orgCounts.set(orgKey, { label: _nullishCoalesce(d.organization, () => ( orgKey)), count: (_nullishCoalesce(_optionalChain([existing, 'optionalAccess', _578 => _578.count]), () => ( 0))) + 1 });
29023
28437
  }
29024
28438
  for (const tag of _nullishCoalesce(d.tags, () => ( []))) {
29025
28439
  const vc = _nullishCoalesce(tagSeen.get(tag.key), () => ( /* @__PURE__ */ new Map()));
@@ -29042,18 +28456,18 @@ function DeviceSelector({
29042
28456
  filteredCount: devices.length
29043
28457
  };
29044
28458
  }, [devices]);
29045
- const deviceFilters = _nullishCoalesce(_optionalChain([server, 'optionalAccess', _601 => _601.filterOptions]), () => ( clientDeviceFilters));
29046
- const serverFaceted = Boolean(_optionalChain([server, 'optionalAccess', _602 => _602.filterOptions]));
28459
+ const deviceFilters = _nullishCoalesce(_optionalChain([server, 'optionalAccess', _579 => _579.filterOptions]), () => ( clientDeviceFilters));
28460
+ const serverFaceted = Boolean(_optionalChain([server, 'optionalAccess', _580 => _580.filterOptions]));
29047
28461
  const filterColumns = _react.useMemo.call(void 0, () => {
29048
28462
  const columns2 = getDeviceFilterColumns(deviceFilters);
29049
28463
  if (serverFaceted) return columns2;
29050
28464
  return columns2.map((column) => ({
29051
28465
  ...column,
29052
- filterOptions: _optionalChain([column, 'access', _603 => _603.filterOptions, 'optionalAccess', _604 => _604.map, 'call', _605 => _605(({ count: _count, ...option }) => option)])
28466
+ filterOptions: _optionalChain([column, 'access', _581 => _581.filterOptions, 'optionalAccess', _582 => _582.map, 'call', _583 => _583(({ count: _count, ...option }) => option)])
29053
28467
  }));
29054
28468
  }, [deviceFilters, serverFaceted]);
29055
28469
  const statusFilterOptions = _react.useMemo.call(void 0, () => {
29056
- const options = _nullishCoalesce(_optionalChain([filterColumns, 'access', _606 => _606.find, 'call', _607 => _607((column) => column.key === "status"), 'optionalAccess', _608 => _608.filterOptions]), () => ( []));
28470
+ const options = _nullishCoalesce(_optionalChain([filterColumns, 'access', _584 => _584.find, 'call', _585 => _585((column) => column.key === "status"), 'optionalAccess', _586 => _586.filterOptions]), () => ( []));
29057
28471
  return [...options].sort((a, b) => {
29058
28472
  if (a.value === DEVICE_STATUS.ARCHIVED) return 1;
29059
28473
  if (b.value === DEVICE_STATUS.ARCHIVED) return -1;
@@ -29061,15 +28475,15 @@ function DeviceSelector({
29061
28475
  });
29062
28476
  }, [filterColumns]);
29063
28477
  const orgFilterOptions = _react.useMemo.call(void 0,
29064
- () => _nullishCoalesce(_optionalChain([filterColumns, 'access', _609 => _609.find, 'call', _610 => _610((column) => column.key === "organization"), 'optionalAccess', _611 => _611.filterOptions]), () => ( [])),
28478
+ () => _nullishCoalesce(_optionalChain([filterColumns, 'access', _587 => _587.find, 'call', _588 => _588((column) => column.key === "organization"), 'optionalAccess', _589 => _589.filterOptions]), () => ( [])),
29065
28479
  [filterColumns]
29066
28480
  );
29067
28481
  const handleSetParams = _react.useCallback.call(void 0,
29068
28482
  (params) => {
29069
28483
  setColumnFilters([
29070
- ..._optionalChain([params, 'access', _612 => _612.statuses, 'optionalAccess', _613 => _613.length]) ? [{ id: "status", value: params.statuses }] : [],
29071
- ..._optionalChain([params, 'access', _614 => _614.osTypes, 'optionalAccess', _615 => _615.length]) ? [{ id: "os", value: params.osTypes }] : [],
29072
- ..._optionalChain([params, 'access', _616 => _616.organizationIds, 'optionalAccess', _617 => _617.length]) ? [{ id: "organization", value: params.organizationIds }] : []
28484
+ ..._optionalChain([params, 'access', _590 => _590.statuses, 'optionalAccess', _591 => _591.length]) ? [{ id: "status", value: params.statuses }] : [],
28485
+ ..._optionalChain([params, 'access', _592 => _592.osTypes, 'optionalAccess', _593 => _593.length]) ? [{ id: "os", value: params.osTypes }] : [],
28486
+ ..._optionalChain([params, 'access', _594 => _594.organizationIds, 'optionalAccess', _595 => _595.length]) ? [{ id: "organization", value: params.organizationIds }] : []
29073
28487
  ]);
29074
28488
  setSelectedTags(_nullishCoalesce(params.tags, () => ( [])));
29075
28489
  },
@@ -29093,9 +28507,9 @@ function DeviceSelector({
29093
28507
  const tagOptions = _react.useMemo.call(void 0, () => selectedTags.map((t) => ({ label: t, value: t })), [selectedTags]);
29094
28508
  const tableFilters = _react.useMemo.call(void 0,
29095
28509
  () => ({
29096
- status: _nullishCoalesce(_optionalChain([columnFilters, 'access', _618 => _618.find, 'call', _619 => _619((f) => f.id === "status"), 'optionalAccess', _620 => _620.value]), () => ( [])),
29097
- os: _nullishCoalesce(_optionalChain([columnFilters, 'access', _621 => _621.find, 'call', _622 => _622((f) => f.id === "os"), 'optionalAccess', _623 => _623.value]), () => ( [])),
29098
- organization: _nullishCoalesce(_optionalChain([columnFilters, 'access', _624 => _624.find, 'call', _625 => _625((f) => f.id === "organization"), 'optionalAccess', _626 => _626.value]), () => ( []))
28510
+ status: _nullishCoalesce(_optionalChain([columnFilters, 'access', _596 => _596.find, 'call', _597 => _597((f) => f.id === "status"), 'optionalAccess', _598 => _598.value]), () => ( [])),
28511
+ os: _nullishCoalesce(_optionalChain([columnFilters, 'access', _599 => _599.find, 'call', _600 => _600((f) => f.id === "os"), 'optionalAccess', _601 => _601.value]), () => ( [])),
28512
+ organization: _nullishCoalesce(_optionalChain([columnFilters, 'access', _602 => _602.find, 'call', _603 => _603((f) => f.id === "organization"), 'optionalAccess', _604 => _604.value]), () => ( []))
29099
28513
  }),
29100
28514
  [columnFilters]
29101
28515
  );
@@ -29130,8 +28544,8 @@ function DeviceSelector({
29130
28544
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-20 items-center gap-3", children: [
29131
28545
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeviceTypeTile, { type: device.type }),
29132
28546
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col", children: [
29133
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { children: getDeviceName(device) }),
29134
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { variant: "h6", tone: "secondary", children: formatLastOnline(lastSeen) })
28547
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { children: getDeviceName(device) }),
28548
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { variant: "h6", tone: "secondary", children: formatLastOnline(lastSeen) })
29135
28549
  ] })
29136
28550
  ] });
29137
28551
  },
@@ -29178,7 +28592,7 @@ function DeviceSelector({
29178
28592
  id: "actions",
29179
28593
  cell: ({ row }) => {
29180
28594
  const device = row.original;
29181
- const disabledReason = _optionalChain([isDeviceDisabled, 'optionalCall', _627 => _627(device)]);
28595
+ const disabledReason = _optionalChain([isDeviceDisabled, 'optionalCall', _605 => _605(device)]);
29182
28596
  if (disabledReason) {
29183
28597
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex w-full items-center justify-end gap-2", children: [
29184
28598
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-pre-line text-right text-ods-text-secondary text-h6 content-max-md:hidden", children: disabledReason }),
@@ -29309,7 +28723,7 @@ function DeviceSelector({
29309
28723
  showHeader && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29310
28724
  DataTable.Header,
29311
28725
  {
29312
- rightSlot: _nullishCoalesce(bulkAction, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.RowCount, { itemName: "device", totalCount: _nullishCoalesce(totalCount, () => ( _optionalChain([server, 'optionalAccess', _628 => _628.totalCount]))) })))
28726
+ rightSlot: _nullishCoalesce(bulkAction, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.RowCount, { itemName: "device", totalCount: _nullishCoalesce(totalCount, () => ( _optionalChain([server, 'optionalAccess', _606 => _606.totalCount]))) })))
29313
28727
  }
29314
28728
  ),
29315
28729
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -29400,7 +28814,7 @@ function DeviceSelectorSkeleton(props) {
29400
28814
  // src/components/features/devices/device-selector/narrowing.ts
29401
28815
  var EMPTY_NARROWING = { columnFilters: [], tags: [] };
29402
28816
  function narrowingToFilter(narrowing) {
29403
- const column = (id) => _optionalChain([narrowing, 'access', _629 => _629.columnFilters, 'access', _630 => _630.find, 'call', _631 => _631((f) => f.id === id), 'optionalAccess', _632 => _632.value]);
28817
+ const column = (id) => _optionalChain([narrowing, 'access', _607 => _607.columnFilters, 'access', _608 => _608.find, 'call', _609 => _609((f) => f.id === id), 'optionalAccess', _610 => _610.value]);
29404
28818
  const tagPairs = narrowing.tags.flatMap((t) => {
29405
28819
  const i = t.indexOf(":");
29406
28820
  return i > 0 ? [{ key: t.slice(0, i), value: t.slice(i + 1) }] : [];
@@ -29409,9 +28823,9 @@ function narrowingToFilter(narrowing) {
29409
28823
  const statuses = column("status");
29410
28824
  const osTypes = column("os");
29411
28825
  const organizationIds = column("organization");
29412
- if (_optionalChain([statuses, 'optionalAccess', _633 => _633.length])) filter.statuses = statuses;
29413
- if (_optionalChain([osTypes, 'optionalAccess', _634 => _634.length])) filter.osTypes = osTypes;
29414
- if (_optionalChain([organizationIds, 'optionalAccess', _635 => _635.length])) filter.organizationIds = organizationIds;
28826
+ if (_optionalChain([statuses, 'optionalAccess', _611 => _611.length])) filter.statuses = statuses;
28827
+ if (_optionalChain([osTypes, 'optionalAccess', _612 => _612.length])) filter.osTypes = osTypes;
28828
+ if (_optionalChain([organizationIds, 'optionalAccess', _613 => _613.length])) filter.organizationIds = organizationIds;
29415
28829
  if (tagPairs.length) {
29416
28830
  filter.tagKeys = tagPairs.map((t) => t.key);
29417
28831
  filter.tagValues = tagPairs.map((t) => t.value);
@@ -29432,7 +28846,7 @@ function DevicesGrid({
29432
28846
  const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
29433
28847
  const { getDeviceHref } = useDevicesViewConfig();
29434
28848
  const handleDeviceClick = (device) => {
29435
- const href = device.machineId || device.id ? _optionalChain([getDeviceHref, 'optionalCall', _636 => _636(device)]) : void 0;
28849
+ const href = device.machineId || device.id ? _optionalChain([getDeviceHref, 'optionalCall', _614 => _614(device)]) : void 0;
29436
28850
  if (href) router.push(href);
29437
28851
  };
29438
28852
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-4", children: isLoading && devices.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeviceCardSkeletonGrid, { count: 12 }) : devices.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-64 items-center justify-center rounded-[6px] border border-ods-border bg-ods-card", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary", children: emptyMessage }) }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -29595,7 +29009,7 @@ function DevicesList({
29595
29009
  const onColumnFiltersChange = _react.useCallback.call(void 0,
29596
29010
  (updater) => {
29597
29011
  const next = typeof updater === "function" ? updater(columnFilters) : updater;
29598
- const pick = (id) => _nullishCoalesce(_optionalChain([next, 'access', _637 => _637.find, 'call', _638 => _638((f) => f.id === id), 'optionalAccess', _639 => _639.value]), () => ( []));
29012
+ const pick = (id) => _nullishCoalesce(_optionalChain([next, 'access', _615 => _615.find, 'call', _616 => _616((f) => f.id === id), 'optionalAccess', _617 => _617.value]), () => ( []));
29599
29013
  patch({ statuses: pick("status"), osTypes: pick("os"), organizationIds: pick("organization") });
29600
29014
  },
29601
29015
  [columnFilters, patch]
@@ -29647,7 +29061,7 @@ function DevicesList({
29647
29061
  const handleClearAll = _react.useCallback.call(void 0, () => patch({ search: "", tags: [] }), [patch]);
29648
29062
  const narrowed = isNarrowed(narrowing);
29649
29063
  const isEmptyState = !isLoading && !isPending && !narrowed && devices.length === 0;
29650
- const { toolbarRef, containerStyle, stickyHeaderOffset: measuredOffset } = _chunkJO5TLJPMcjs.useStickyToolbar.call(void 0, );
29064
+ const { toolbarRef, containerStyle, stickyHeaderOffset: measuredOffset } = _chunkZXCZYMN4cjs.useStickyToolbar.call(void 0, );
29651
29065
  const headerOffset = _nullishCoalesce(stickyHeaderOffset, () => ( (stickyToolbar ? measuredOffset : void 0)));
29652
29066
  const actionsColumn = _react.useMemo.call(void 0, () => rowActions ? getDeviceActionsColumn(rowActions) : void 0, [rowActions]);
29653
29067
  return (
@@ -29815,7 +29229,7 @@ function DevicesPanelView({
29815
29229
  onLoadMore = noop,
29816
29230
  gridSentinelRef
29817
29231
  }) {
29818
- const gridColumns = _nullishCoalesce(filterColumns, () => ( getDeviceFilterColumns(deviceFilters).filter((column) => !_optionalChain([hideFilters, 'optionalAccess', _640 => _640.includes, 'call', _641 => _641(column.key)]))));
29232
+ const gridColumns = _nullishCoalesce(filterColumns, () => ( getDeviceFilterColumns(deviceFilters).filter((column) => !_optionalChain([hideFilters, 'optionalAccess', _618 => _618.includes, 'call', _619 => _619(column.key)]))));
29819
29233
  const list = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
29820
29234
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DevicesFilterToolbar, { ...toolbar, isLoading: loading }),
29821
29235
  viewMode === "table" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -29869,7 +29283,7 @@ function DevicesPanelView({
29869
29283
  ] })
29870
29284
  ] });
29871
29285
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
29872
- _chunkPPXR22YCcjs.PageLayout,
29286
+ _chunkZ5UWW3Z2cjs.PageLayout,
29873
29287
  {
29874
29288
  title,
29875
29289
  backButton,
@@ -29880,7 +29294,7 @@ function DevicesPanelView({
29880
29294
  _chunkUWQWMGJ7cjs.TabSelector,
29881
29295
  {
29882
29296
  value: viewMode,
29883
- onValueChange: (value) => _optionalChain([onViewModeChange, 'optionalCall', _642 => _642(value)]),
29297
+ onValueChange: (value) => _optionalChain([onViewModeChange, 'optionalCall', _620 => _620(value)]),
29884
29298
  items: DEVICE_VIEW_MODE_ITEMS,
29885
29299
  disabled: loading
29886
29300
  }
@@ -29943,7 +29357,7 @@ var PACKAGE_SEARCH_LABEL = "Software Name";
29943
29357
  var PACKAGE_SEARCH_PLACEHOLDER = "Search for Software";
29944
29358
  function PackageSearchFieldPlaceholder({ error }) {
29945
29359
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29946
- Autocomplete,
29360
+ _chunkZ5UWW3Z2cjs.Autocomplete,
29947
29361
  {
29948
29362
  label: PACKAGE_SEARCH_LABEL,
29949
29363
  labelVariant: "large",
@@ -29998,16 +29412,16 @@ function SoftwareScheduleFields({
29998
29412
  ] }),
29999
29413
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col gap-[var(--spacing-system-xxs)]", children: [
30000
29414
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXXBLN4BPcjs.Label, { className: "text-h4", children: "Time" }),
30001
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPPXR22YCcjs.Select, { value: time, onValueChange: onTimeChange, children: [
30002
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectTrigger, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectValue, { placeholder: "Select time" }) }),
30003
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectContent, { children: timeOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: option.value, children: option.label }, option.value)) })
29415
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZ5UWW3Z2cjs.Select, { value: time, onValueChange: onTimeChange, children: [
29416
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectTrigger, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectValue, { placeholder: "Select time" }) }),
29417
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectContent, { children: timeOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: option.value, children: option.label }, option.value)) })
30004
29418
  ] })
30005
29419
  ] }),
30006
29420
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col gap-[var(--spacing-system-xxs)]", children: [
30007
29421
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXXBLN4BPcjs.Label, { className: "text-h4", children: "Timezone" }),
30008
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPPXR22YCcjs.Select, { value: timeReference, onValueChange: (value) => onTimeReferenceChange(value), children: [
30009
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectTrigger, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectValue, {}) }),
30010
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectContent, { children: timing.timeReferenceOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: option.value, children: option.label }, option.value)) })
29422
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZ5UWW3Z2cjs.Select, { value: timeReference, onValueChange: (value) => onTimeReferenceChange(value), children: [
29423
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectTrigger, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectValue, {}) }),
29424
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectContent, { children: timing.timeReferenceOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: option.value, children: option.label }, option.value)) })
30011
29425
  ] })
30012
29426
  ] })
30013
29427
  ]
@@ -30073,22 +29487,22 @@ function newSoftwareRow(key) {
30073
29487
 
30074
29488
  function InfoCell2({ value, label }) {
30075
29489
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
30076
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xxs)]", children: value ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { children: value }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1 text-h4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary", children: "\u2014" }) }) }),
29490
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xxs)]", children: value ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { children: value }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1 text-h4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary", children: "\u2014" }) }) }),
30077
29491
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h6", children: label })
30078
29492
  ] });
30079
29493
  }
30080
29494
  function SoftwareRowFields({ row, removable, onChange, onRemove, renderPackageSearch }) {
30081
29495
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-l)] rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-l)] content-lg:flex-row content-lg:items-end", children: [
30082
29496
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
30083
- _chunkPPXR22YCcjs.Select,
29497
+ _chunkZ5UWW3Z2cjs.Select,
30084
29498
  {
30085
29499
  value: row.packageManager,
30086
29500
  onValueChange: (value) => onChange({ ...row, packageManager: value, pkg: null }),
30087
29501
  children: [
30088
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectTrigger, { label: "Package Manager", labelVariant: "large", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectValue, {}) }),
30089
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectContent, { children: PACKAGE_MANAGERS.map((manager) => {
29502
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectTrigger, { label: "Package Manager", labelVariant: "large", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectValue, {}) }),
29503
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectContent, { children: PACKAGE_MANAGERS.map((manager) => {
30090
29504
  const Icon = PACKAGE_MANAGER_ICON[manager];
30091
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.SelectItem, { value: manager, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
29505
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.SelectItem, { value: manager, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
30092
29506
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { size: 20, className: "shrink-0 text-ods-text-secondary" }),
30093
29507
  PACKAGE_MANAGER_LABEL[manager]
30094
29508
  ] }) }, manager);
@@ -30101,9 +29515,9 @@ function SoftwareRowFields({ row, removable, onChange, onRemove, renderPackageSe
30101
29515
  value: row.pkg,
30102
29516
  onChange: (pkg) => onChange({ ...row, pkg })
30103
29517
  }) }),
30104
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([row, 'access', _643 => _643.pkg, 'optionalAccess', _644 => _644.description]), label: "Description" }),
29518
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([row, 'access', _621 => _621.pkg, 'optionalAccess', _622 => _622.description]), label: "Description" }),
30105
29519
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-end gap-[var(--spacing-system-lf)]", children: [
30106
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([row, 'access', _645 => _645.pkg, 'optionalAccess', _646 => _646.version]), label: "Current Version" }),
29520
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([row, 'access', _623 => _623.pkg, 'optionalAccess', _624 => _624.version]), label: "Current Version" }),
30107
29521
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30108
29522
  _chunkDFQYAYBHcjs.Button,
30109
29523
  {
@@ -30186,7 +29600,7 @@ function SoftwareActionForm({
30186
29600
  }
30187
29601
  );
30188
29602
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
30189
- _chunkPPXR22YCcjs.PageLayout,
29603
+ _chunkZ5UWW3Z2cjs.PageLayout,
30190
29604
  {
30191
29605
  title: copy.formTitle,
30192
29606
  backButton: onBack ? { label: "Back", onClick: onBack } : void 0,
@@ -30275,7 +29689,7 @@ function LogDrawer({
30275
29689
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-h-0 flex-1 space-y-4 overflow-y-auto", children: [
30276
29690
  description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AppLayoutDrawerDescription, { asChild: true, className: "leading-6 text-ods-text-primary text-h4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: description }) }),
30277
29691
  infoFields && infoFields.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-1 gap-3 rounded-[6px] border border-ods-border bg-ods-card p-4", children: infoFields.map((field) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-0.5", children: [
30278
- typeof field.value === "string" ? field.value === "" || field.value === EMPTY_MARK ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyMark, {}) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { children: field.value }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h4", children: field.value === null || field.value === void 0 || field.value === false ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyMark, {}) : field.value }),
29692
+ typeof field.value === "string" ? field.value === "" || field.value === EMPTY_MARK ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyMark, {}) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { children: field.value }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h4", children: field.value === null || field.value === void 0 || field.value === false ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyMark, {}) : field.value }),
30279
29693
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: field.label })
30280
29694
  ] }, typeof field.label === "string" ? field.label : "")) }),
30281
29695
  children
@@ -30323,7 +29737,7 @@ function LogsPageView({
30323
29737
  ],
30324
29738
  [onRefresh]
30325
29739
  );
30326
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPPXR22YCcjs.PageLayout, { title: "Logs", actions, showHeader, className, children: [
29740
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZ5UWW3Z2cjs.PageLayout, { title: "Logs", actions, showHeader, className, children: [
30327
29741
  !hideSearch && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "sticky top-0 z-20 -my-[var(--spacing-system-l)] flex items-center gap-[var(--spacing-system-m)] bg-ods-bg py-[var(--spacing-system-l)]", children: [
30328
29742
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30329
29743
  _chunkXXBLN4BPcjs.Input,
@@ -30473,8 +29887,8 @@ function LogsTableView({
30473
29887
  accessorKey: "logId",
30474
29888
  header: logIdHeader ? () => logIdHeader : "Log ID",
30475
29889
  cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 flex-col justify-center", children: [
30476
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { children: row.original.timestamp }),
30477
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { variant: "h6", tone: "secondary", children: row.original.logId })
29890
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { children: row.original.timestamp }),
29891
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { variant: "h6", tone: "secondary", children: row.original.logId })
30478
29892
  ] }),
30479
29893
  enableSorting: false,
30480
29894
  meta: { width: LOG_COLUMN_WIDTHS.logId, alwaysShowHeader: true }
@@ -30488,7 +29902,7 @@ function LogsTableView({
30488
29902
  meta: {
30489
29903
  width: LOG_COLUMN_WIDTHS.status,
30490
29904
  filter: {
30491
- options: _nullishCoalesce(_optionalChain([facets, 'optionalAccess', _647 => _647.severities, 'access', _648 => _648.map, 'call', _649 => _649((severity) => ({
29905
+ options: _nullishCoalesce(_optionalChain([facets, 'optionalAccess', _625 => _625.severities, 'access', _626 => _626.map, 'call', _627 => _627((severity) => ({
30492
29906
  id: severity,
30493
29907
  label: severity.charAt(0).toUpperCase() + severity.slice(1).toLowerCase(),
30494
29908
  value: severity
@@ -30512,7 +29926,7 @@ function LogsTableView({
30512
29926
  width: LOG_COLUMN_WIDTHS.tool,
30513
29927
  hideAt: "md",
30514
29928
  filter: {
30515
- options: _nullishCoalesce(_optionalChain([facets, 'optionalAccess', _650 => _650.toolTypes, 'access', _651 => _651.map, 'call', _652 => _652((toolType) => ({
29929
+ options: _nullishCoalesce(_optionalChain([facets, 'optionalAccess', _628 => _628.toolTypes, 'access', _629 => _629.map, 'call', _630 => _630((toolType) => ({
30516
29930
  id: toolType,
30517
29931
  label: _chunkUWQWMGJ7cjs.toToolLabel.call(void 0, toolType),
30518
29932
  value: toolType
@@ -30526,8 +29940,8 @@ function LogsTableView({
30526
29940
  cell: ({ row }) => {
30527
29941
  const { deviceName, organization } = logSourceLabels(row.original.device);
30528
29942
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-h-[60px] flex-col justify-center gap-1 py-2", children: [
30529
- deviceName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { children: deviceName }),
30530
- organization && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { variant: "h6", tone: "secondary", children: organization })
29943
+ deviceName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { children: deviceName }),
29944
+ organization && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { variant: "h6", tone: "secondary", children: organization })
30531
29945
  ] });
30532
29946
  },
30533
29947
  enableSorting: false,
@@ -30535,19 +29949,19 @@ function LogsTableView({
30535
29949
  meta: {
30536
29950
  width: LOG_COLUMN_WIDTHS.source,
30537
29951
  hideAt: "md",
30538
- filter: organizationLocked ? void 0 : { options: [..._nullishCoalesce(_optionalChain([facets, 'optionalAccess', _653 => _653.organizations]), () => ( []))] }
29952
+ filter: organizationLocked ? void 0 : { options: [..._nullishCoalesce(_optionalChain([facets, 'optionalAccess', _631 => _631.organizations]), () => ( []))] }
30539
29953
  }
30540
29954
  },
30541
29955
  {
30542
29956
  accessorKey: "description",
30543
29957
  header: "Log Details",
30544
- cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { lines: 3, className: "text-ods-text-secondary text-h6", children: row.original.description.title }),
29958
+ cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { lines: 3, className: "text-ods-text-secondary text-h6", children: row.original.description.title }),
30545
29959
  enableSorting: false,
30546
29960
  meta: { width: LOG_COLUMN_WIDTHS.description, hideAt: "lg" }
30547
29961
  },
30548
29962
  {
30549
29963
  id: "copy",
30550
- cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: _optionalChain([renderCopyAction, 'optionalCall', _654 => _654(row.original)]) }),
29964
+ cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: _optionalChain([renderCopyAction, 'optionalCall', _632 => _632(row.original)]) }),
30551
29965
  enableSorting: false,
30552
29966
  meta: { width: `${LOG_COLUMN_WIDTHS.action} ml-auto`, align: "right" }
30553
29967
  },
@@ -30556,7 +29970,7 @@ function LogsTableView({
30556
29970
  cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30557
29971
  _chunkDFQYAYBHcjs.Button,
30558
29972
  {
30559
- onClick: () => _optionalChain([onQuickView, 'optionalCall', _655 => _655(row.original)]),
29973
+ onClick: () => _optionalChain([onQuickView, 'optionalCall', _633 => _633(row.original)]),
30560
29974
  variant: "outline",
30561
29975
  size: "icon",
30562
29976
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.EyeIcon, { className: "h-5 w-5" }),
@@ -30584,14 +29998,14 @@ function LogsTableView({
30584
29998
  meta: { width: LOG_COLUMN_WIDTHS.action, hideAt: "md", align: "right" }
30585
29999
  }
30586
30000
  ];
30587
- if (!_optionalChain([hiddenColumns, 'optionalAccess', _656 => _656.length])) return all;
30001
+ if (!_optionalChain([hiddenColumns, 'optionalAccess', _634 => _634.length])) return all;
30588
30002
  return all.filter((column) => !hiddenColumns.includes(columnId(column)));
30589
30003
  }, [facets, getLogHref, organizationLocked, logIdHeader, renderCopyAction, onQuickView, hiddenColumns]);
30590
30004
  const filterGroups = _react.useMemo.call(void 0,
30591
- () => columns.filter((column) => _optionalChain([column, 'access', _657 => _657.meta, 'optionalAccess', _658 => _658.filter, 'optionalAccess', _659 => _659.options])).map((column) => ({
30005
+ () => columns.filter((column) => _optionalChain([column, 'access', _635 => _635.meta, 'optionalAccess', _636 => _636.filter, 'optionalAccess', _637 => _637.options])).map((column) => ({
30592
30006
  id: columnId(column),
30593
30007
  title: typeof column.header === "string" ? column.header : "",
30594
- options: _optionalChain([column, 'access', _660 => _660.meta, 'optionalAccess', _661 => _661.filter, 'optionalAccess', _662 => _662.options]) || []
30008
+ options: _optionalChain([column, 'access', _638 => _638.meta, 'optionalAccess', _639 => _639.filter, 'optionalAccess', _640 => _640.options]) || []
30595
30009
  })),
30596
30010
  [columns]
30597
30011
  );
@@ -30620,14 +30034,14 @@ function LogsTableView({
30620
30034
  onColumnFiltersChange: handleColumnFiltersChange
30621
30035
  });
30622
30036
  const hasActiveFilters = Object.values(filters).some((values) => values.length > 0);
30623
- const hasQuery = Boolean(search) || hasActiveFilters || Boolean(_optionalChain([dateFilter, 'optionalAccess', _663 => _663.range]));
30037
+ const hasQuery = Boolean(search) || hasActiveFilters || Boolean(_optionalChain([dateFilter, 'optionalAccess', _641 => _641.range]));
30624
30038
  const noRows = !loading && logs.length === 0;
30625
30039
  const showEmptyState = !organizationLocked && !hasQuery && noRows;
30626
30040
  const scoped = deviceScoped || organizationLocked;
30627
30041
  const scopedEmpty = scoped && noRows;
30628
30042
  const hideSearch = showEmptyState || scopedEmpty && !hasQuery;
30629
30043
  _react.useEffect.call(void 0, () => {
30630
- _optionalChain([onHideSearchChange, 'optionalCall', _664 => _664(hideSearch)]);
30044
+ _optionalChain([onHideSearchChange, 'optionalCall', _642 => _642(hideSearch)]);
30631
30045
  }, [hideSearch, onHideSearchChange]);
30632
30046
  if (showEmptyState) {
30633
30047
  const emptyProps = deviceScoped ? { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.ClipboardListIcon, {}), title: EMPTY_TITLE, description: EMPTY_DESCRIPTION } : {
@@ -30827,7 +30241,7 @@ function getKnowledgeBaseColumns(mode) {
30827
30241
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative flex h-8 w-8 shrink-0 items-center justify-center rounded-[6px] border border-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { size: 16, className: "shrink-0 text-ods-text-secondary" }) }),
30828
30242
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
30829
30243
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
30830
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { children: item.name }) }),
30244
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { children: item.name }) }),
30831
30245
  tagStatus && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30832
30246
  _chunkF5BPGWGTcjs.Tag,
30833
30247
  {
@@ -30837,7 +30251,7 @@ function getKnowledgeBaseColumns(mode) {
30837
30251
  }
30838
30252
  )
30839
30253
  ] }),
30840
- item.type === "ARTICLE" && item.summary && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { variant: "h6", tone: "secondary", children: item.summary })
30254
+ item.type === "ARTICLE" && item.summary && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { variant: "h6", tone: "secondary", children: item.summary })
30841
30255
  ] })
30842
30256
  ] });
30843
30257
  },
@@ -30917,7 +30331,7 @@ function KnowledgeBaseArticleView({
30917
30331
  className = "px-[var(--spacing-system-l)] pb-[var(--spacing-system-l)]"
30918
30332
  }) {
30919
30333
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
30920
- _chunkPPXR22YCcjs.PageLayout,
30334
+ _chunkZ5UWW3Z2cjs.PageLayout,
30921
30335
  {
30922
30336
  title,
30923
30337
  backButton: onBack ? { label: "Back", onClick: onBack } : void 0,
@@ -30940,12 +30354,12 @@ function KnowledgeBaseArticleView({
30940
30354
  }
30941
30355
  ),
30942
30356
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
30943
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { className: author.deleted ? "text-ods-error" : void 0, children: _nullishCoalesce(author.name, () => ( "Unknown")) }),
30357
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { className: author.deleted ? "text-ods-error" : void 0, children: _nullishCoalesce(author.name, () => ( "Unknown")) }),
30944
30358
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-heading-5 text-ods-text-secondary", children: "Author" })
30945
30359
  ] })
30946
30360
  ] }),
30947
30361
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-20 min-w-0 flex-col justify-center", children: [
30948
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { children: updatedLabel }),
30362
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { children: updatedLabel }),
30949
30363
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-heading-5 text-ods-text-secondary", children: "Updated" })
30950
30364
  ] }),
30951
30365
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -31061,13 +30475,13 @@ function SortableList({ onReorder, getItemLabel, disabled = false, className, ch
31061
30475
  const [flipTick, setFlipTick] = _react.useState.call(void 0, 0);
31062
30476
  const flipTimer = _react.useRef.call(void 0, null);
31063
30477
  const readItems = _react.useCallback.call(void 0,
31064
- () => [..._nullishCoalesce(_optionalChain([listRef, 'access', _665 => _665.current, 'optionalAccess', _666 => _666.querySelectorAll, 'call', _667 => _667(`[${SORTABLE_ITEM_ATTRIBUTE}]`)]), () => ( []))],
30478
+ () => [..._nullishCoalesce(_optionalChain([listRef, 'access', _643 => _643.current, 'optionalAccess', _644 => _644.querySelectorAll, 'call', _645 => _645(`[${SORTABLE_ITEM_ATTRIBUTE}]`)]), () => ( []))],
31065
30479
  []
31066
30480
  );
31067
30481
  const reorder = _react.useCallback.call(void 0,
31068
30482
  (from, to) => {
31069
30483
  if (from === to) return;
31070
- const label = _nullishCoalesce(_optionalChain([getItemLabelRef, 'access', _668 => _668.current, 'optionalCall', _669 => _669(from)]), () => ( "Item"));
30484
+ const label = _nullishCoalesce(_optionalChain([getItemLabelRef, 'access', _646 => _646.current, 'optionalCall', _647 => _647(from)]), () => ( "Item"));
31071
30485
  setAnnouncement(`${label} moved to position ${to + 1} of ${readItems().length}.`);
31072
30486
  onReorderRef.current(from, to);
31073
30487
  },
@@ -31155,7 +30569,7 @@ function SortableList({ onReorder, getItemLabel, disabled = false, className, ch
31155
30569
  moving.push(item);
31156
30570
  }
31157
30571
  if (moving.length === 0) return;
31158
- void _optionalChain([listRef, 'access', _670 => _670.current, 'optionalAccess', _671 => _671.offsetHeight]);
30572
+ void _optionalChain([listRef, 'access', _648 => _648.current, 'optionalAccess', _649 => _649.offsetHeight]);
31159
30573
  for (const item of moving) {
31160
30574
  item.style.transition = `transform ${DROP_MS}ms ${EASING}`;
31161
30575
  item.style.transform = "";
@@ -31192,8 +30606,8 @@ function SortableMoveButtons({ index, count, label, className }) {
31192
30606
  if (to < 0 || to >= count) return;
31193
30607
  reorder(index, to);
31194
30608
  requestAnimationFrame(() => {
31195
- if (step === -1 && to === 0) _optionalChain([downRef, 'access', _672 => _672.current, 'optionalAccess', _673 => _673.focus, 'call', _674 => _674()]);
31196
- if (step === 1 && to === count - 1) _optionalChain([upRef, 'access', _675 => _675.current, 'optionalAccess', _676 => _676.focus, 'call', _677 => _677()]);
30609
+ if (step === -1 && to === 0) _optionalChain([downRef, 'access', _650 => _650.current, 'optionalAccess', _651 => _651.focus, 'call', _652 => _652()]);
30610
+ if (step === 1 && to === count - 1) _optionalChain([upRef, 'access', _653 => _653.current, 'optionalAccess', _654 => _654.focus, 'call', _655 => _655()]);
31197
30611
  });
31198
30612
  };
31199
30613
  const subject = _nullishCoalesce(label, () => ( "item"));
@@ -31241,7 +30655,7 @@ function useSortableItem() {
31241
30655
  const [handle, setHandle] = _react.useState.call(void 0, null);
31242
30656
  const [isDragging, setIsDragging] = _react.useState.call(void 0, false);
31243
30657
  const itemRef = _react.useCallback.call(void 0, (node) => {
31244
- _optionalChain([node, 'optionalAccess', _678 => _678.setAttribute, 'call', _679 => _679(SORTABLE_ITEM_ATTRIBUTE, "")]);
30658
+ _optionalChain([node, 'optionalAccess', _656 => _656.setAttribute, 'call', _657 => _657(SORTABLE_ITEM_ATTRIBUTE, "")]);
31245
30659
  setItem(node);
31246
30660
  }, []);
31247
30661
  _react.useEffect.call(void 0, () => {
@@ -31271,7 +30685,7 @@ function useSortableItem() {
31271
30685
  if (from < 0 || to < 0 || to >= items.length) return;
31272
30686
  event.preventDefault();
31273
30687
  reorder(from, to);
31274
- requestAnimationFrame(() => _optionalChain([handle, 'optionalAccess', _680 => _680.focus, 'call', _681 => _681()]));
30688
+ requestAnimationFrame(() => _optionalChain([handle, 'optionalAccess', _658 => _658.focus, 'call', _659 => _659()]));
31275
30689
  },
31276
30690
  [inert, readItems, reorder, handle]
31277
30691
  );
@@ -31293,7 +30707,7 @@ function TicketStatusConfigList({
31293
30707
  onReorder,
31294
30708
  getItemLabel,
31295
30709
  className: _chunk3ATAYP36cjs.cn.call(void 0, "flex w-full flex-col gap-[var(--spacing-system-xs)]", className),
31296
- children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableRow, { index, count: items.length, label: _optionalChain([getItemLabel, 'optionalCall', _682 => _682(index)]), children: (args) => renderRow(item, args) }, item.id))
30710
+ children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableRow, { index, count: items.length, label: _optionalChain([getItemLabel, 'optionalCall', _660 => _660(index)]), children: (args) => renderRow(item, args) }, item.id))
31297
30711
  }
31298
30712
  );
31299
30713
  }
@@ -31396,7 +30810,7 @@ function Highlights({ items, className }) {
31396
30810
  if (items.length === 0) return null;
31397
30811
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { className: _chunk3ATAYP36cjs.cn.call(void 0, "grid grid-cols-1 gap-2", className), children: items.slice(0, 3).map((text) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "li", { className: "flex min-w-0 items-center gap-2.5", children: [
31398
30812
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CheckIcon, { size: 16, className: "shrink-0 text-ods-flamingo-cyan" }),
31399
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { variant: "h6", triggerClassName: "flex-1", children: text })
30813
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { variant: "h6", triggerClassName: "flex-1", children: text })
31400
30814
  ] }, text)) });
31401
30815
  }
31402
30816
  function Example({
@@ -31422,19 +30836,19 @@ function Example({
31422
30836
  ),
31423
30837
  children: [
31424
30838
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 gap-2.5", children: [
31425
- mark(_nullishCoalesce(_optionalChain([requester, 'optionalAccess', _683 => _683.mark]), () => ( requesterMark))),
30839
+ mark(_nullishCoalesce(_optionalChain([requester, 'optionalAccess', _661 => _661.mark]), () => ( requesterMark))),
31426
30840
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
31427
- who(_nullishCoalesce(_optionalChain([requester, 'optionalAccess', _684 => _684.name]), () => ( labels.requester)), _nullishCoalesce(_optionalChain([requester, 'optionalAccess', _685 => _685.note]), () => ( labels.requesterNote))),
31428
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { lines: 2, variant: "h4", className: "min-h-[2lh]", children: `\u201C${example.request}\u201D` })
30841
+ who(_nullishCoalesce(_optionalChain([requester, 'optionalAccess', _662 => _662.name]), () => ( labels.requester)), _nullishCoalesce(_optionalChain([requester, 'optionalAccess', _663 => _663.note]), () => ( labels.requesterNote))),
30842
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { lines: 2, variant: "h4", className: "min-h-[2lh]", children: `\u201C${example.request}\u201D` })
31429
30843
  ] })
31430
30844
  ] }),
31431
30845
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 gap-2.5 border-t border-ods-border pt-3", children: [
31432
- mark(_nullishCoalesce(_optionalChain([responder, 'optionalAccess', _686 => _686.mark]), () => ( responderMark))),
30846
+ mark(_nullishCoalesce(_optionalChain([responder, 'optionalAccess', _664 => _664.mark]), () => ( responderMark))),
31433
30847
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
31434
- who(_nullishCoalesce(_optionalChain([responder, 'optionalAccess', _687 => _687.name]), () => ( labels.responder)), _nullishCoalesce(_optionalChain([responder, 'optionalAccess', _688 => _688.note]), () => ( labels.responderNote))),
30848
+ who(_nullishCoalesce(_optionalChain([responder, 'optionalAccess', _665 => _665.name]), () => ( labels.responder)), _nullishCoalesce(_optionalChain([responder, 'optionalAccess', _666 => _666.note]), () => ( labels.responderNote))),
31435
30849
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-start gap-2", children: [
31436
30850
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CheckIcon, { size: 16, className: "mt-0.5 shrink-0 text-ods-flamingo-cyan" }),
31437
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { lines: 2, variant: "h6", tone: "secondary", className: "min-h-[2lh]", triggerClassName: "flex-1", children: example.outcome })
30851
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { lines: 2, variant: "h6", tone: "secondary", className: "min-h-[2lh]", triggerClassName: "flex-1", children: example.outcome })
31438
30852
  ] })
31439
30853
  ] })
31440
30854
  ] })
@@ -31486,13 +30900,13 @@ function CapabilityExplorer({
31486
30900
  item.iconName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex size-9 shrink-0 items-center justify-center rounded-lg border border-ods-border bg-ods-bg text-ods-flamingo-cyan", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkETYLOZOBcjs.EntityIcon, { icon: { name: item.iconName }, size: 18 }) }),
31487
30901
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
31488
30902
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "h3", { className: "flex min-w-0 items-center gap-2 text-ods-text-primary text-h4", children: [
31489
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { as: "span", variant: "h4", triggerClassName: "flex-1", children: item.title }),
30903
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { as: "span", variant: "h4", triggerClassName: "flex-1", children: item.title }),
31490
30904
  item.badge
31491
30905
  ] }),
31492
- item.caption && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { variant: "h6", tone: "secondary", children: item.caption })
30906
+ item.caption && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { variant: "h6", tone: "secondary", children: item.caption })
31493
30907
  ] })
31494
30908
  ] }),
31495
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { lines: 3, variant: "h6", tone: "secondary", className: "min-h-[3lh]", children: item.intro }),
30909
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { lines: 3, variant: "h6", tone: "secondary", className: "min-h-[3lh]", children: item.intro }),
31496
30910
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0 overflow-hidden rounded-lg border border-ods-border", children: renderScreen(item, { compact: true }) }),
31497
30911
  item.example && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31498
30912
  Example,
@@ -31523,7 +30937,7 @@ function CapabilityExplorer({
31523
30937
  if (next === null) return;
31524
30938
  event.preventDefault();
31525
30939
  onActiveChange(items[next].id);
31526
- _optionalChain([listRef, 'access', _689 => _689.current, 'optionalAccess', _690 => _690.querySelectorAll, 'call', _691 => _691('[role="tab"]'), 'access', _692 => _692[next], 'optionalAccess', _693 => _693.focus, 'call', _694 => _694()]);
30940
+ _optionalChain([listRef, 'access', _667 => _667.current, 'optionalAccess', _668 => _668.querySelectorAll, 'call', _669 => _669('[role="tab"]'), 'access', _670 => _670[next], 'optionalAccess', _671 => _671.focus, 'call', _672 => _672()]);
31527
30941
  };
31528
30942
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
31529
30943
  "div",
@@ -31620,8 +31034,8 @@ function CapabilityExplorer({
31620
31034
  ),
31621
31035
  children: [
31622
31036
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col overflow-hidden", children: [
31623
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { lines: 2, variant: "h2", className: "mb-2", children: active.title }),
31624
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { lines: 3, variant: "h4", tone: "secondary", className: "min-h-[3lh]", children: active.intro }),
31037
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { lines: 2, variant: "h2", className: "mb-2", children: active.title }),
31038
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5UWW3Z2cjs.TruncateText, { lines: 3, variant: "h4", tone: "secondary", className: "min-h-[3lh]", children: active.intro }),
31625
31039
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Highlights, { items: _nullishCoalesce(active.highlights, () => ( [])), className: "mt-auto" })
31626
31040
  ] }),
31627
31041
  active.example && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -32234,6 +31648,4 @@ function CapabilityExplorer({
32234
31648
 
32235
31649
 
32236
31650
 
32237
-
32238
-
32239
- exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.HiddenTagsPopup = HiddenTagsPopup; exports.Autocomplete = Autocomplete; exports.timezoneLabel = timezoneLabel; exports.timezoneOptions = timezoneOptions; exports.TimezoneSelect = TimezoneSelect; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.DatePickerCalendar = DatePickerCalendar; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.JsonDetailList = JsonDetailList; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.SearchableSelect = SearchableSelect; exports.AssigneeDropdown = AssigneeDropdown; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoDataMessage = NoDataMessage; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.useConfirm = useConfirm; exports.useGuardedClose = useGuardedClose; exports.UnsavedChangesChip = UnsavedChangesChip; exports.AdminFormDrawer = AdminFormDrawer; exports.PlaybackToggle = PlaybackToggle; exports.AdminFormModal = AdminFormModal; exports.Separator = Separator; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.EmbedIframe = EmbedIframe; exports.EmbedViewerFrame = EmbedViewerFrame; exports.ClaudeEmbed = ClaudeEmbed; exports.FigmaEmbed = FigmaEmbed; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.MarkdownImage = MarkdownImage; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.MediaCarousel = MediaCarousel; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.AppStoreBadge = AppStoreBadge; exports.GooglePlayBadge = GooglePlayBadge; exports.StoreBadgeLinks = StoreBadgeLinks; exports.StatusIndicator = StatusIndicator; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.BenefitCard = BenefitCard; exports.benefitCardBorderClass = benefitCardBorderClass; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.DataAttribution = DataAttribution; exports.ComplianceBadge = ComplianceBadge; exports.ComplianceLogo = ComplianceLogo; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.SourceTooltip = SourceTooltip; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.PersonCell = PersonCell; exports.PeopleCell = PeopleCell; exports.TitleContentBlock = TitleContentBlock; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.PasswordInput = PasswordInput; exports.AccountDetailsFields = AccountDetailsFields; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.CompactAuthShell = CompactAuthShell; exports.LabeledDivider = LabeledDivider; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.PolicyLink = PolicyLink; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LegalLinks = LegalLinks; exports.LoginForm = LoginForm; exports.NoAccountNotice = NoAccountNotice; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.SsoJoinForm = SsoJoinForm; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.useMediaIntake = useMediaIntake; exports.MediaUploadArea = MediaUploadArea; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.CardSkeleton = CardSkeleton; exports.CardSkeletonGrid = CardSkeletonGrid; exports.AnnouncementBarSkeleton = AnnouncementBarSkeleton; exports.HeroSkeleton = HeroSkeleton; exports.SearchContainerSkeleton = SearchContainerSkeleton; exports.CategorySidebarSkeleton = CategorySidebarSkeleton; exports.BreadcrumbSkeleton = BreadcrumbSkeleton; exports.ResultsHeaderSkeleton = ResultsHeaderSkeleton; exports.TwoColumnLayoutSkeleton = TwoColumnLayoutSkeleton; exports.ArticleLayoutSkeleton = ArticleLayoutSkeleton; exports.VendorDetailLayoutSkeleton = VendorDetailLayoutSkeleton; exports.StatsSectionSkeleton = StatsSectionSkeleton; exports.BlogCardGridSkeleton = BlogCardGridSkeleton; exports.VendorGridSkeleton = VendorGridSkeleton; exports.SlackCommunitySkeleton = SlackCommunitySkeleton; exports.ContentLoadingContainer = ContentLoadingContainer; exports.useContentLoading = useContentLoading; exports.ParagraphSkeleton = ParagraphSkeleton; exports.ListSkeleton = ListSkeleton; exports.TableSkeleton = TableSkeleton; exports.FormSkeleton = FormSkeleton; exports.NavigationSkeleton = NavigationSkeleton; exports.ProfileSkeleton = ProfileSkeleton; exports.CommentSkeleton = CommentSkeleton; exports.FeatureListSkeleton = FeatureListSkeleton; exports.TimelineSkeleton = TimelineSkeleton; exports.PricingSkeleton = PricingSkeleton; exports.ProfileLoadingSkeleton = ProfileLoadingSkeleton; exports.MspProfileFormSkeleton = MspProfileFormSkeleton; exports.CategoryCardSkeleton = CategoryCardSkeleton; exports.CategoryVendorSelectorSkeleton = CategoryVendorSelectorSkeleton; exports.WizardLayoutSkeleton = WizardLayoutSkeleton; exports.MarginReportSkeleton = MarginReportSkeleton; exports.UsersGridSkeleton = UsersGridSkeleton; exports.DynamicSkeleton = DynamicSkeleton; exports.SkeletonPresets = SkeletonPresets; exports.PlatformSkeletonContainer = PlatformSkeletonContainer; exports.ProgressiveSkeleton = ProgressiveSkeleton; exports.OrganizationIconSkeleton = OrganizationIconSkeleton; exports.OrganizationCardSkeleton = OrganizationCardSkeleton; exports.OrganizationCardSkeletonGrid = OrganizationCardSkeletonGrid; exports.DeviceCardSkeleton = DeviceCardSkeleton; exports.DeviceCardSkeletonGrid = DeviceCardSkeletonGrid; exports.PushButtonSelector = PushButtonSelector; exports.SelectButton = SelectButton; exports.ConfidenceBadge = ConfidenceBadge; exports.SEOEditorPreview = SEOEditorPreview; exports.SOCIAL_ICON_COMPONENTS = SOCIAL_ICON_COMPONENTS; exports.SocialIconRow = SocialIconRow; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.InlineWalkthroughVideo = InlineWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.VideoSourceSelector = VideoSourceSelector; exports.SubtitlesEditor = SubtitlesEditor; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.APPROVAL_LEVELS = APPROVAL_LEVELS; exports.APPROVAL_LEVEL_META = APPROVAL_LEVEL_META; exports.ApprovalLevelView = ApprovalLevelView; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.DataTableEmpty = DataTableEmpty; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableHeader = DataTableHeader; exports.DATA_TABLE_HEADER_LABEL_CLASS = DATA_TABLE_HEADER_LABEL_CLASS; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.PoliciesTable = PoliciesTable; exports.PolicySummaryCards = PolicySummaryCards; exports.POLICY_STATUS_CONFIG = POLICY_STATUS_CONFIG; exports.getPolicyStatus = getPolicyStatus; exports.getPolicyTableStatus = getPolicyTableStatus; exports.computePolicySummary = computePolicySummary; exports.TENANT_EMPTY_VALUE = TENANT_EMPTY_VALUE; exports.accessStateTag = accessStateTag; exports.providerMark = providerMark; exports.lastReadAt = lastReadAt; exports.formatLastRead = formatLastRead; exports.usersCountLabel = usersCountLabel; exports.TenantAccessCell = TenantAccessCell; exports.TenantCell = TenantCell; exports.TenantCustomerCell = TenantCustomerCell; exports.TENANT_COLUMNS = TENANT_COLUMNS; exports.TENANTS_TABLE_COLUMNS = TENANTS_TABLE_COLUMNS; exports.TenantsTableView = TenantsTableView; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.AppLayoutDrawerContainerContext = AppLayoutDrawerContainerContext; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerCoordinationContext = AppLayoutDrawerCoordinationContext; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.TICKET_APPROVAL_REQUEST_TYPE = TICKET_APPROVAL_REQUEST_TYPE; exports.MINGO_APPROVAL_REQUEST_TYPE = MINGO_APPROVAL_REQUEST_TYPE; exports.isApprovalNotificationType = isApprovalNotificationType; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.UnreadDot = UnreadDot; exports.UnreadCountBadge = UnreadCountBadge; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.formatLastOnline = formatLastOnline; exports.getDeviceName = getDeviceName; exports.matchesDeviceName = matchesDeviceName; exports.DevicesViewConfigProvider = DevicesViewConfigProvider; exports.useDevicesViewConfig = useDevicesViewConfig; exports.useDeviceImageUrl = useDeviceImageUrl; exports.DeviceSelectionModeRadio = DeviceSelectionModeRadio; exports.getDeviceStatusConfig = getDeviceStatusConfig; exports.getDeviceOperatingSystem = getDeviceOperatingSystem; exports.DEVICE_STATUS = DEVICE_STATUS; exports.DEFAULT_VISIBLE_STATUSES = DEFAULT_VISIBLE_STATUSES; exports.DEFAULT_DASHBOARD_STATUSES = DEFAULT_DASHBOARD_STATUSES; exports.DEFAULT_DEVICES_LIST_STATUSES = DEFAULT_DEVICES_LIST_STATUSES; exports.DEVICE_ENRICHMENT_STATUSES = DEVICE_ENRICHMENT_STATUSES; exports.DEVICE_ENRICHMENT_FILTER = DEVICE_ENRICHMENT_FILTER; exports.HIDDEN_DEVICE_STATUSES = HIDDEN_DEVICE_STATUSES; exports.renderDeviceTypeIcon = renderDeviceTypeIcon; exports.DeviceTypeTile = DeviceTypeTile; exports.DeviceTagsFilterButton = DeviceTagsFilterButton; exports.DevicesFilterToolbar = DevicesFilterToolbar; exports.getDeviceActionsColumn = getDeviceActionsColumn; exports.getDeviceOpenColumn = getDeviceOpenColumn; exports.DevicesTableBody = DevicesTableBody; exports.getDeviceFilterColumns = getDeviceFilterColumns; exports.getDeviceTableColumns = getDeviceTableColumns; exports.useTagFilterModal = useTagFilterModal; exports.DeviceSelector = DeviceSelector; exports.DeviceSelectorSkeleton = DeviceSelectorSkeleton; exports.EMPTY_NARROWING = EMPTY_NARROWING; exports.narrowingToFilter = narrowingToFilter; exports.DevicesGrid = DevicesGrid; exports.DevicesGridFilters = DevicesGridFilters; exports.EMPTY_DEVICES_NARROWING = EMPTY_DEVICES_NARROWING; exports.isNarrowed = isNarrowed; exports.DevicesList = DevicesList; exports.DEVICE_VIEW_MODE_ITEMS = DEVICE_VIEW_MODE_ITEMS; exports.buildDevicePanelActions = buildDevicePanelActions; exports.IDLE_DEVICES_TOOLBAR = IDLE_DEVICES_TOOLBAR; exports.DevicesPanelView = DevicesPanelView; exports.PACKAGE_MANAGERS = PACKAGE_MANAGERS; exports.PACKAGE_MANAGER_LABEL = PACKAGE_MANAGER_LABEL; exports.PACKAGE_MANAGER_ICON = PACKAGE_MANAGER_ICON; exports.PACKAGE_MANAGER_OS = PACKAGE_MANAGER_OS; exports.packageManagerLabel = packageManagerLabel; exports.SOFTWARE_SOURCE_LABEL = SOFTWARE_SOURCE_LABEL; exports.PACKAGE_SEARCH_LABEL = PACKAGE_SEARCH_LABEL; exports.PACKAGE_SEARCH_PLACEHOLDER = PACKAGE_SEARCH_PLACEHOLDER; exports.PackageSearchFieldPlaceholder = PackageSearchFieldPlaceholder; exports.SoftwareScheduleFields = SoftwareScheduleFields; exports.SOFTWARE_ACTION_COPY = SOFTWARE_ACTION_COPY; exports.SOFTWARE_ACTION_DETAIL_TITLE = SOFTWARE_ACTION_DETAIL_TITLE; exports.softwareActionCopy = softwareActionCopy; exports.newSoftwareRow = newSoftwareRow; exports.SoftwareRowFields = SoftwareRowFields; exports.SoftwareActionForm = SoftwareActionForm; exports.LogDrawer = LogDrawer; exports.SYSTEM_SOURCE_LABEL = SYSTEM_SOURCE_LABEL; exports.logSourceLabels = logSourceLabels; exports.LogsPageView = LogsPageView; exports.LogCopyIconButton = LogCopyIconButton; exports.LOG_COLUMN_WIDTHS = LOG_COLUMN_WIDTHS; exports.ToolBadge = ToolBadge; exports.LogsTableView = LogsTableView; exports.LogsTableSkeleton = LogsTableSkeleton; exports.logSeverityVariant = logSeverityVariant; exports.KNOWLEDGE_BASE_ITEM_ICON = KNOWLEDGE_BASE_ITEM_ICON; exports.getKnowledgeBaseOpenColumn = getKnowledgeBaseOpenColumn; exports.getKnowledgeBaseColumns = getKnowledgeBaseColumns; exports.KnowledgeBaseTableBody = KnowledgeBaseTableBody; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketDetailSection = TicketDetailSection; exports.KnowledgeBaseArticleView = KnowledgeBaseArticleView; exports.SLOT_STICKINESS = SLOT_STICKINESS; exports.SortableDragHandle = SortableDragHandle; exports.SortableList = SortableList; exports.SortableMoveButtons = SortableMoveButtons; exports.useSortableItem = useSortableItem; exports.TicketStatusConfigList = TicketStatusConfigList; exports.ConversationCard = ConversationCard; exports.SnapCarouselControlsSkeleton = SnapCarouselControlsSkeleton; exports.SnapCarousel = SnapCarousel; exports.capabilityTabId = capabilityTabId; exports.CapabilityExplorerSkeleton = CapabilityExplorerSkeleton; exports.CapabilityExplorer = CapabilityExplorer; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunErrorBanner = TestRunErrorBanner; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.TestRunStatusStat = TestRunStatusStat; exports.useTestRunState = useTestRunState; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.renderTicketStatusOption = renderTicketStatusOption; exports.renderTicketAssigneeOption = renderTicketAssigneeOption; exports.TakeOverTicketModal = TakeOverTicketModal; exports.ReopenTicketModal = ReopenTicketModal; exports.ReopenTicketRequestModal = ReopenTicketRequestModal; exports.PHOTO_WALL_FRAME = PHOTO_WALL_FRAME; exports.photoOrientation = photoOrientation; exports.arrangePhotoWall = arrangePhotoWall; exports.PhotoWall = PhotoWall; exports.FilterPillRow = FilterPillRow; exports.LazyMount = LazyMount; exports.AppWindowFrame = AppWindowFrame; exports.PhoneFrame = PhoneFrame; exports.AnalyzingState = AnalyzingState; exports.IncidentStatusLine = IncidentStatusLine; exports.IncidentFeed = IncidentFeed; exports.useBetweenAnchors = useBetweenAnchors; exports.StickyActionBar = StickyActionBar; exports.IconTile = IconTile;
31651
+ exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.timezoneLabel = timezoneLabel; exports.timezoneOptions = timezoneOptions; exports.TimezoneSelect = TimezoneSelect; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.DatePickerCalendar = DatePickerCalendar; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.JsonDetailList = JsonDetailList; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.SearchableSelect = SearchableSelect; exports.AssigneeDropdown = AssigneeDropdown; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoDataMessage = NoDataMessage; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.useConfirm = useConfirm; exports.useGuardedClose = useGuardedClose; exports.UnsavedChangesChip = UnsavedChangesChip; exports.AdminFormDrawer = AdminFormDrawer; exports.PlaybackToggle = PlaybackToggle; exports.AdminFormModal = AdminFormModal; exports.Separator = Separator; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.EmbedIframe = EmbedIframe; exports.EmbedViewerFrame = EmbedViewerFrame; exports.ClaudeEmbed = ClaudeEmbed; exports.FigmaEmbed = FigmaEmbed; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.MarkdownImage = MarkdownImage; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.MediaCarousel = MediaCarousel; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.AppStoreBadge = AppStoreBadge; exports.GooglePlayBadge = GooglePlayBadge; exports.StoreBadgeLinks = StoreBadgeLinks; exports.StatusIndicator = StatusIndicator; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.BenefitCard = BenefitCard; exports.benefitCardBorderClass = benefitCardBorderClass; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.DataAttribution = DataAttribution; exports.ComplianceBadge = ComplianceBadge; exports.ComplianceLogo = ComplianceLogo; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.SourceTooltip = SourceTooltip; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.PersonCell = PersonCell; exports.PeopleCell = PeopleCell; exports.TitleContentBlock = TitleContentBlock; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.PasswordInput = PasswordInput; exports.AccountDetailsFields = AccountDetailsFields; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.CompactAuthShell = CompactAuthShell; exports.LabeledDivider = LabeledDivider; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.PolicyLink = PolicyLink; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LegalLinks = LegalLinks; exports.LoginForm = LoginForm; exports.NoAccountNotice = NoAccountNotice; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.SsoJoinForm = SsoJoinForm; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.useMediaIntake = useMediaIntake; exports.MediaUploadArea = MediaUploadArea; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.CardSkeleton = CardSkeleton; exports.CardSkeletonGrid = CardSkeletonGrid; exports.AnnouncementBarSkeleton = AnnouncementBarSkeleton; exports.HeroSkeleton = HeroSkeleton; exports.SearchContainerSkeleton = SearchContainerSkeleton; exports.CategorySidebarSkeleton = CategorySidebarSkeleton; exports.BreadcrumbSkeleton = BreadcrumbSkeleton; exports.ResultsHeaderSkeleton = ResultsHeaderSkeleton; exports.TwoColumnLayoutSkeleton = TwoColumnLayoutSkeleton; exports.ArticleLayoutSkeleton = ArticleLayoutSkeleton; exports.VendorDetailLayoutSkeleton = VendorDetailLayoutSkeleton; exports.StatsSectionSkeleton = StatsSectionSkeleton; exports.BlogCardGridSkeleton = BlogCardGridSkeleton; exports.VendorGridSkeleton = VendorGridSkeleton; exports.SlackCommunitySkeleton = SlackCommunitySkeleton; exports.ContentLoadingContainer = ContentLoadingContainer; exports.useContentLoading = useContentLoading; exports.ParagraphSkeleton = ParagraphSkeleton; exports.ListSkeleton = ListSkeleton; exports.TableSkeleton = TableSkeleton; exports.FormSkeleton = FormSkeleton; exports.NavigationSkeleton = NavigationSkeleton; exports.ProfileSkeleton = ProfileSkeleton; exports.CommentSkeleton = CommentSkeleton; exports.FeatureListSkeleton = FeatureListSkeleton; exports.TimelineSkeleton = TimelineSkeleton; exports.PricingSkeleton = PricingSkeleton; exports.ProfileLoadingSkeleton = ProfileLoadingSkeleton; exports.MspProfileFormSkeleton = MspProfileFormSkeleton; exports.CategoryCardSkeleton = CategoryCardSkeleton; exports.CategoryVendorSelectorSkeleton = CategoryVendorSelectorSkeleton; exports.WizardLayoutSkeleton = WizardLayoutSkeleton; exports.MarginReportSkeleton = MarginReportSkeleton; exports.UsersGridSkeleton = UsersGridSkeleton; exports.DynamicSkeleton = DynamicSkeleton; exports.SkeletonPresets = SkeletonPresets; exports.PlatformSkeletonContainer = PlatformSkeletonContainer; exports.ProgressiveSkeleton = ProgressiveSkeleton; exports.OrganizationIconSkeleton = OrganizationIconSkeleton; exports.OrganizationCardSkeleton = OrganizationCardSkeleton; exports.OrganizationCardSkeletonGrid = OrganizationCardSkeletonGrid; exports.DeviceCardSkeleton = DeviceCardSkeleton; exports.DeviceCardSkeletonGrid = DeviceCardSkeletonGrid; exports.PushButtonSelector = PushButtonSelector; exports.SelectButton = SelectButton; exports.ConfidenceBadge = ConfidenceBadge; exports.SEOEditorPreview = SEOEditorPreview; exports.SOCIAL_ICON_COMPONENTS = SOCIAL_ICON_COMPONENTS; exports.SocialIconRow = SocialIconRow; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.InlineWalkthroughVideo = InlineWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.VideoSourceSelector = VideoSourceSelector; exports.SubtitlesEditor = SubtitlesEditor; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.APPROVAL_LEVELS = APPROVAL_LEVELS; exports.APPROVAL_LEVEL_META = APPROVAL_LEVEL_META; exports.ApprovalLevelView = ApprovalLevelView; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.DataTableEmpty = DataTableEmpty; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableHeader = DataTableHeader; exports.DATA_TABLE_HEADER_LABEL_CLASS = DATA_TABLE_HEADER_LABEL_CLASS; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.PoliciesTable = PoliciesTable; exports.PolicySummaryCards = PolicySummaryCards; exports.POLICY_STATUS_CONFIG = POLICY_STATUS_CONFIG; exports.getPolicyStatus = getPolicyStatus; exports.getPolicyTableStatus = getPolicyTableStatus; exports.computePolicySummary = computePolicySummary; exports.TENANT_EMPTY_VALUE = TENANT_EMPTY_VALUE; exports.accessStateTag = accessStateTag; exports.providerMark = providerMark; exports.lastReadAt = lastReadAt; exports.formatLastRead = formatLastRead; exports.usersCountLabel = usersCountLabel; exports.TenantAccessCell = TenantAccessCell; exports.TenantCell = TenantCell; exports.TenantCustomerCell = TenantCustomerCell; exports.TENANT_COLUMNS = TENANT_COLUMNS; exports.TENANTS_TABLE_COLUMNS = TENANTS_TABLE_COLUMNS; exports.TenantsTableView = TenantsTableView; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.AppLayoutDrawerContainerContext = AppLayoutDrawerContainerContext; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerCoordinationContext = AppLayoutDrawerCoordinationContext; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.TICKET_APPROVAL_REQUEST_TYPE = TICKET_APPROVAL_REQUEST_TYPE; exports.MINGO_APPROVAL_REQUEST_TYPE = MINGO_APPROVAL_REQUEST_TYPE; exports.isApprovalNotificationType = isApprovalNotificationType; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.UnreadDot = UnreadDot; exports.UnreadCountBadge = UnreadCountBadge; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.formatLastOnline = formatLastOnline; exports.getDeviceName = getDeviceName; exports.matchesDeviceName = matchesDeviceName; exports.DevicesViewConfigProvider = DevicesViewConfigProvider; exports.useDevicesViewConfig = useDevicesViewConfig; exports.useDeviceImageUrl = useDeviceImageUrl; exports.DeviceSelectionModeRadio = DeviceSelectionModeRadio; exports.getDeviceStatusConfig = getDeviceStatusConfig; exports.getDeviceOperatingSystem = getDeviceOperatingSystem; exports.DEVICE_STATUS = DEVICE_STATUS; exports.DEFAULT_VISIBLE_STATUSES = DEFAULT_VISIBLE_STATUSES; exports.DEFAULT_DASHBOARD_STATUSES = DEFAULT_DASHBOARD_STATUSES; exports.DEFAULT_DEVICES_LIST_STATUSES = DEFAULT_DEVICES_LIST_STATUSES; exports.DEVICE_ENRICHMENT_STATUSES = DEVICE_ENRICHMENT_STATUSES; exports.DEVICE_ENRICHMENT_FILTER = DEVICE_ENRICHMENT_FILTER; exports.HIDDEN_DEVICE_STATUSES = HIDDEN_DEVICE_STATUSES; exports.renderDeviceTypeIcon = renderDeviceTypeIcon; exports.DeviceTypeTile = DeviceTypeTile; exports.DeviceTagsFilterButton = DeviceTagsFilterButton; exports.DevicesFilterToolbar = DevicesFilterToolbar; exports.getDeviceActionsColumn = getDeviceActionsColumn; exports.getDeviceOpenColumn = getDeviceOpenColumn; exports.DevicesTableBody = DevicesTableBody; exports.getDeviceFilterColumns = getDeviceFilterColumns; exports.getDeviceTableColumns = getDeviceTableColumns; exports.useTagFilterModal = useTagFilterModal; exports.DeviceSelector = DeviceSelector; exports.DeviceSelectorSkeleton = DeviceSelectorSkeleton; exports.EMPTY_NARROWING = EMPTY_NARROWING; exports.narrowingToFilter = narrowingToFilter; exports.DevicesGrid = DevicesGrid; exports.DevicesGridFilters = DevicesGridFilters; exports.EMPTY_DEVICES_NARROWING = EMPTY_DEVICES_NARROWING; exports.isNarrowed = isNarrowed; exports.DevicesList = DevicesList; exports.DEVICE_VIEW_MODE_ITEMS = DEVICE_VIEW_MODE_ITEMS; exports.buildDevicePanelActions = buildDevicePanelActions; exports.IDLE_DEVICES_TOOLBAR = IDLE_DEVICES_TOOLBAR; exports.DevicesPanelView = DevicesPanelView; exports.PACKAGE_MANAGERS = PACKAGE_MANAGERS; exports.PACKAGE_MANAGER_LABEL = PACKAGE_MANAGER_LABEL; exports.PACKAGE_MANAGER_ICON = PACKAGE_MANAGER_ICON; exports.PACKAGE_MANAGER_OS = PACKAGE_MANAGER_OS; exports.packageManagerLabel = packageManagerLabel; exports.SOFTWARE_SOURCE_LABEL = SOFTWARE_SOURCE_LABEL; exports.PACKAGE_SEARCH_LABEL = PACKAGE_SEARCH_LABEL; exports.PACKAGE_SEARCH_PLACEHOLDER = PACKAGE_SEARCH_PLACEHOLDER; exports.PackageSearchFieldPlaceholder = PackageSearchFieldPlaceholder; exports.SoftwareScheduleFields = SoftwareScheduleFields; exports.SOFTWARE_ACTION_COPY = SOFTWARE_ACTION_COPY; exports.SOFTWARE_ACTION_DETAIL_TITLE = SOFTWARE_ACTION_DETAIL_TITLE; exports.softwareActionCopy = softwareActionCopy; exports.newSoftwareRow = newSoftwareRow; exports.SoftwareRowFields = SoftwareRowFields; exports.SoftwareActionForm = SoftwareActionForm; exports.LogDrawer = LogDrawer; exports.SYSTEM_SOURCE_LABEL = SYSTEM_SOURCE_LABEL; exports.logSourceLabels = logSourceLabels; exports.LogsPageView = LogsPageView; exports.LogCopyIconButton = LogCopyIconButton; exports.LOG_COLUMN_WIDTHS = LOG_COLUMN_WIDTHS; exports.ToolBadge = ToolBadge; exports.LogsTableView = LogsTableView; exports.LogsTableSkeleton = LogsTableSkeleton; exports.logSeverityVariant = logSeverityVariant; exports.KNOWLEDGE_BASE_ITEM_ICON = KNOWLEDGE_BASE_ITEM_ICON; exports.getKnowledgeBaseOpenColumn = getKnowledgeBaseOpenColumn; exports.getKnowledgeBaseColumns = getKnowledgeBaseColumns; exports.KnowledgeBaseTableBody = KnowledgeBaseTableBody; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketDetailSection = TicketDetailSection; exports.KnowledgeBaseArticleView = KnowledgeBaseArticleView; exports.SLOT_STICKINESS = SLOT_STICKINESS; exports.SortableDragHandle = SortableDragHandle; exports.SortableList = SortableList; exports.SortableMoveButtons = SortableMoveButtons; exports.useSortableItem = useSortableItem; exports.TicketStatusConfigList = TicketStatusConfigList; exports.ConversationCard = ConversationCard; exports.SnapCarouselControlsSkeleton = SnapCarouselControlsSkeleton; exports.SnapCarousel = SnapCarousel; exports.capabilityTabId = capabilityTabId; exports.CapabilityExplorerSkeleton = CapabilityExplorerSkeleton; exports.CapabilityExplorer = CapabilityExplorer; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunErrorBanner = TestRunErrorBanner; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.TestRunStatusStat = TestRunStatusStat; exports.useTestRunState = useTestRunState; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.renderTicketStatusOption = renderTicketStatusOption; exports.renderTicketAssigneeOption = renderTicketAssigneeOption; exports.TakeOverTicketModal = TakeOverTicketModal; exports.ReopenTicketModal = ReopenTicketModal; exports.ReopenTicketRequestModal = ReopenTicketRequestModal; exports.PHOTO_WALL_FRAME = PHOTO_WALL_FRAME; exports.photoOrientation = photoOrientation; exports.arrangePhotoWall = arrangePhotoWall; exports.PhotoWall = PhotoWall; exports.FilterPillRow = FilterPillRow; exports.LazyMount = LazyMount; exports.AppWindowFrame = AppWindowFrame; exports.PhoneFrame = PhoneFrame; exports.AnalyzingState = AnalyzingState; exports.IncidentStatusLine = IncidentStatusLine; exports.IncidentFeed = IncidentFeed; exports.useBetweenAnchors = useBetweenAnchors; exports.StickyActionBar = StickyActionBar; exports.IconTile = IconTile;