@ohif/app 3.13.0-beta.51 → 3.13.0-beta.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{147.bundle.3c8fa1f478644636898a.js → 147.bundle.173b4a11960d03a3b5b0.js} +2 -2
- package/dist/{1608.bundle.c10d9aef452fe5a86d77.js → 1608.bundle.e4aadbf17d38143dacdf.js} +2 -2
- package/dist/{1933.bundle.d1c853d4459eabcac0fc.js → 1933.bundle.68ab0d4f329f6438520f.js} +5 -5
- package/dist/{2701.bundle.28b3ca0e6ae5a13f78b3.js → 2701.bundle.b591cf6385ed53ed6093.js} +2 -2
- package/dist/{3138.bundle.5594231be4399fa822f2.js → 3138.bundle.2da3ce5b42ce97e92fac.js} +2 -2
- package/dist/{3461.bundle.c453ad511e18741f5b36.js → 3461.bundle.75e15ea13e39c5d80e62.js} +3 -3
- package/dist/{4202.bundle.f11f02596e30a22d1105.js → 4202.bundle.850a7c7c011800b3daea.js} +1 -1
- package/dist/{4688.bundle.05c4c23606587b3e82bd.js → 4688.bundle.6797ff151db0973c8e3b.js} +9 -9
- package/dist/{4819.bundle.b29eaf88762b95912d1d.js → 4819.bundle.b184a0f0c159ce8f1f8d.js} +4 -4
- package/dist/{5015.bundle.322992b6dcb647ecf70e.js → 5015.bundle.21b2a904762fa1690648.js} +2 -2
- package/dist/{5802.bundle.8b2c04396d68ba668af5.js → 5802.bundle.addd0259c8f9d0a18244.js} +2 -2
- package/dist/{8305.bundle.accd9d9b56fd08402c9e.js → 8305.bundle.bf9c862af030865ea106.js} +5 -5
- package/dist/{8558.bundle.c778f722abdb0a66bc34.js → 8558.bundle.6ec562e3d201780f1444.js} +4 -4
- package/dist/{8583.bundle.243229c3ff277630ddb8.js → 8583.bundle.422aa3bbdde39826560a.js} +2 -2
- package/dist/{9195.bundle.95ca6983f6a87e433d79.js → 9195.bundle.3578183b4f9e9baf11b2.js} +9 -9
- package/dist/{9845.bundle.36b3563ae1dba65b6b9a.js → 9845.bundle.267831496ba080d9f8da.js} +2 -2
- package/dist/{9862.bundle.51a1e7030f6b635d9528.js → 9862.bundle.09783830f0cb75a84d2a.js} +1 -1
- package/dist/{app.bundle.f5b1d8747965f98a72a8.js → app.bundle.c04905256ae115737ab1.js} +746 -46
- package/dist/index.html +1 -1
- package/dist/sw.js +1 -1
- package/package.json +20 -20
- /package/dist/{1459.bundle.03f6812bbebed223ac0a.js → 1459.bundle.1578fc874558784d3a2a.js} +0 -0
- /package/dist/{2018.bundle.df77dcb95a7eb7194752.js → 2018.bundle.815cdd7ef9d4c3edc816.js} +0 -0
- /package/dist/{213.bundle.4f2dc5a26c4bdfea9038.js → 213.bundle.7ea13f79d28e6b79d0dc.js} +0 -0
- /package/dist/{2424.bundle.225f1b88d037ff1e8d2b.js → 2424.bundle.c562d715a07cc15002ea.js} +0 -0
- /package/dist/{4507.bundle.152cf927b86b6e295b7f.js → 4507.bundle.697a334d7d3686b4f9a3.js} +0 -0
- /package/dist/{5028.bundle.d5e5ec2e2fae9a8c0dfa.js → 5028.bundle.b1060271494c162341c1.js} +0 -0
- /package/dist/{5457.bundle.bd64924038b08fa7154b.js → 5457.bundle.b9bd5c411e8db274a88f.js} +0 -0
- /package/dist/{5485.bundle.538097cf423423cc9cae.js → 5485.bundle.541c61d8e24cb145cb94.js} +0 -0
- /package/dist/{6027.bundle.f36aa36a2281dff6e29b.js → 6027.bundle.e1d958d21d152f917461.js} +0 -0
- /package/dist/{7639.bundle.f89778f572ee3caeb6fb.js → 7639.bundle.3518e5907ec688a4aa04.js} +0 -0
- /package/dist/{8499.bundle.26a487dbfa7be0837750.js → 8499.bundle.fd282ff4fe499abdd01f.js} +0 -0
- /package/dist/{85.bundle.85120dcfbb03af4fa5a7.js → 85.bundle.be3de438b31fcd0bdf98.js} +0 -0
- /package/dist/{9927.bundle.fa13d8f3b034e48c00d3.js → 9927.bundle.481f2fefa9787af307c0.js} +0 -0
|
@@ -80732,7 +80732,7 @@ const detectionOptions = {
|
|
|
80732
80732
|
}
|
|
80733
80733
|
});
|
|
80734
80734
|
;// ../../i18n/package.json
|
|
80735
|
-
const package_namespaceObject = /*#__PURE__*/JSON.parse('{"rE":"3.13.0-beta.
|
|
80735
|
+
const package_namespaceObject = /*#__PURE__*/JSON.parse('{"rE":"3.13.0-beta.52"}');
|
|
80736
80736
|
;// ../../i18n/src/utils.js
|
|
80737
80737
|
const languagesMap = {
|
|
80738
80738
|
ar: 'Arabic',
|
|
@@ -82101,7 +82101,7 @@ i18next/* default */.A.currentLanguage = () => ({
|
|
|
82101
82101
|
|
|
82102
82102
|
/***/ },
|
|
82103
82103
|
|
|
82104
|
-
/***/
|
|
82104
|
+
/***/ 15953
|
|
82105
82105
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
82106
82106
|
|
|
82107
82107
|
"use strict";
|
|
@@ -82228,7 +82228,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
82228
82228
|
WpD: () => (/* reexport */ src_utils_namespaceObject)
|
|
82229
82229
|
});
|
|
82230
82230
|
|
|
82231
|
-
// UNUSED EXPORTS: BackItem, Calendar, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Combobox, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DisplaySetMessageListTooltip, DividerItem, DoubleSlider, DropdownMenuCheckboxItem, DropdownMenuGroup, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuShortcut, HeaderItem, HorizontalDirection, IconMenu, ImageViewerContext, InputNumber, Item, ItemPanel, Menu, PanelSelector, PatientInfo, ScrollBar, StudyBrowserSort, StudyBrowserViewOptions, StudyItem, SubMenu, Thumbnail, ThumbnailList, Toaster, Toggle, ToolboxUI, Types, VerticalDirection, ViewportActionBar, ViewportActionCornersLocations, ViewportGridContext, WindowLevelHistogram, buttonVariants, toggleVariants, useDialog, useDynamicMaxHeight, useNotification, useSegmentStatistics
|
|
82231
|
+
// UNUSED EXPORTS: BackItem, Calendar, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Combobox, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DisplaySetMessageListTooltip, DividerItem, DoubleSlider, DropdownMenuCheckboxItem, DropdownMenuGroup, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuShortcut, HeaderItem, HorizontalDirection, IconMenu, ImageViewerContext, InputNumber, Item, ItemPanel, Menu, PanelSelector, PatientInfo, ScrollBar, SmartScrollbar, SmartScrollbarEndpoints, SmartScrollbarFill, SmartScrollbarIndicator, SmartScrollbarTrack, StudyBrowserSort, StudyBrowserViewOptions, StudyItem, SubMenu, Thumbnail, ThumbnailList, Toaster, Toggle, ToolboxUI, Types, VerticalDirection, ViewportActionBar, ViewportActionCornersLocations, ViewportGridContext, WindowLevelHistogram, buttonVariants, toggleVariants, useByteArray, useDialog, useDynamicMaxHeight, useNotification, useSegmentStatistics, useSmartScrollbarLayoutContext, useSmartScrollbarScrollContext
|
|
82232
82232
|
|
|
82233
82233
|
// NAMESPACE OBJECT: ../../ui-next/src/utils/index.ts
|
|
82234
82234
|
var src_utils_namespaceObject = {};
|
|
@@ -85143,6 +85143,710 @@ Button.displayName = 'Button';
|
|
|
85143
85143
|
|
|
85144
85144
|
;// ../../ui-next/src/components/Button/index.ts
|
|
85145
85145
|
|
|
85146
|
+
;// ../../ui-next/src/components/SmartScrollbar/utils.ts
|
|
85147
|
+
/**
|
|
85148
|
+
* Given a Uint8Array where each non-zero byte represents a set position,
|
|
85149
|
+
* returns contiguous runs in a single O(n) pass. No sorting or heap
|
|
85150
|
+
* allocations inside the loop.
|
|
85151
|
+
*/
|
|
85152
|
+
function computeContiguousRuns(bytes) {
|
|
85153
|
+
const runs = [];
|
|
85154
|
+
const n = bytes.length;
|
|
85155
|
+
let i = 0;
|
|
85156
|
+
while (i < n) {
|
|
85157
|
+
while (i < n && bytes[i] === 0) i++;
|
|
85158
|
+
if (i >= n) break;
|
|
85159
|
+
const start = i;
|
|
85160
|
+
while (i < n && bytes[i] !== 0) i++;
|
|
85161
|
+
runs.push({
|
|
85162
|
+
start,
|
|
85163
|
+
length: i - start
|
|
85164
|
+
});
|
|
85165
|
+
}
|
|
85166
|
+
return runs;
|
|
85167
|
+
}
|
|
85168
|
+
|
|
85169
|
+
/**
|
|
85170
|
+
* Convert marked items (0/1 bytes) into a per-pixel fill mask (0/1 bytes).
|
|
85171
|
+
* The result is conservative in the sense that a pixel row is filled only when
|
|
85172
|
+
* its mapped items are all marked, so the fill never overstates coverage.
|
|
85173
|
+
*
|
|
85174
|
+
* - If `total >= pixelCount`: each pixel row maps to a disjoint item-index
|
|
85175
|
+
* range; a pixel row is filled only if all items in that range are marked.
|
|
85176
|
+
* - If `pixelCount > total`: each item spans multiple pixel rows; if the item
|
|
85177
|
+
* is marked, its entire pixel span is filled.
|
|
85178
|
+
*/
|
|
85179
|
+
function computePixelFilledFromMarked(marked, pixelCount) {
|
|
85180
|
+
const total = marked.length;
|
|
85181
|
+
const count = Math.max(0, Math.floor(pixelCount));
|
|
85182
|
+
if (count === 0 || total <= 0) return new Uint8Array(0);
|
|
85183
|
+
const pixelFilled = new Uint8Array(count);
|
|
85184
|
+
if (total >= count) {
|
|
85185
|
+
for (let pixelIndex = 0; pixelIndex < count; pixelIndex++) {
|
|
85186
|
+
const start = Math.floor(pixelIndex * total / count);
|
|
85187
|
+
const end = Math.floor((pixelIndex + 1) * total / count);
|
|
85188
|
+
if (end <= start) continue;
|
|
85189
|
+
let filled = 1;
|
|
85190
|
+
for (let itemIndex = start; itemIndex < end; itemIndex++) {
|
|
85191
|
+
if (marked[itemIndex] === 0) {
|
|
85192
|
+
filled = 0;
|
|
85193
|
+
break;
|
|
85194
|
+
}
|
|
85195
|
+
}
|
|
85196
|
+
pixelFilled[pixelIndex] = filled;
|
|
85197
|
+
}
|
|
85198
|
+
} else {
|
|
85199
|
+
for (let itemIndex = 0; itemIndex < total; itemIndex++) {
|
|
85200
|
+
if (marked[itemIndex] === 0) continue;
|
|
85201
|
+
const topPx = Math.floor(itemIndex * count / total);
|
|
85202
|
+
const bottomPx = Math.floor((itemIndex + 1) * count / total);
|
|
85203
|
+
for (let pixel = topPx; pixel < bottomPx; pixel++) {
|
|
85204
|
+
pixelFilled[pixel] = 1;
|
|
85205
|
+
}
|
|
85206
|
+
}
|
|
85207
|
+
}
|
|
85208
|
+
return pixelFilled;
|
|
85209
|
+
}
|
|
85210
|
+
|
|
85211
|
+
/**
|
|
85212
|
+
* Compute the indicator's total visual dimensions and horizontal position.
|
|
85213
|
+
* Design 27: pill shape, center position, 1px border.
|
|
85214
|
+
*/
|
|
85215
|
+
function getIndicatorLayout(trackWidth, indicatorSize, borderWidth) {
|
|
85216
|
+
const visualSize = indicatorSize * 1.25;
|
|
85217
|
+
const fillWidth = visualSize;
|
|
85218
|
+
const fillHeight = Math.round(visualSize / 2); // pill = half height
|
|
85219
|
+
const totalWidth = fillWidth + borderWidth * 2;
|
|
85220
|
+
const totalHeight = fillHeight + borderWidth * 2;
|
|
85221
|
+
const centerX = trackWidth / 2;
|
|
85222
|
+
const leftPos = centerX - totalWidth / 2;
|
|
85223
|
+
return {
|
|
85224
|
+
totalWidth,
|
|
85225
|
+
totalHeight,
|
|
85226
|
+
fillWidth,
|
|
85227
|
+
fillHeight,
|
|
85228
|
+
leftPos
|
|
85229
|
+
};
|
|
85230
|
+
}
|
|
85231
|
+
;// ../../ui-next/src/components/SmartScrollbar/SmartScrollbarIndicator.tsx
|
|
85232
|
+
/* unused harmony import specifier */ var React;
|
|
85233
|
+
/* unused harmony import specifier */ var useSmartScrollbarLayoutContext;
|
|
85234
|
+
/* unused harmony import specifier */ var useSmartScrollbarScrollContext;
|
|
85235
|
+
/* unused harmony import specifier */ var SmartScrollbarIndicator_getIndicatorLayout;
|
|
85236
|
+
|
|
85237
|
+
|
|
85238
|
+
|
|
85239
|
+
|
|
85240
|
+
// ── Indicator dimensions and colors ─────────────────────────────
|
|
85241
|
+
const INDICATOR_SIZE = 8;
|
|
85242
|
+
const BORDER_WIDTH = 1;
|
|
85243
|
+
const INDICATOR_COLOR = 'hsl(var(--foreground) / 0.9)';
|
|
85244
|
+
const BORDER_COLOR = 'hsl(var(--neutral) / 0.9)';
|
|
85245
|
+
function SmartScrollbarIndicator({
|
|
85246
|
+
className
|
|
85247
|
+
}) {
|
|
85248
|
+
const {
|
|
85249
|
+
total,
|
|
85250
|
+
trackHeight,
|
|
85251
|
+
effectiveWidth,
|
|
85252
|
+
fillPadding
|
|
85253
|
+
} = useSmartScrollbarLayoutContext();
|
|
85254
|
+
const value = useSmartScrollbarScrollContext();
|
|
85255
|
+
if (trackHeight === 0 || total <= 1) return null;
|
|
85256
|
+
const {
|
|
85257
|
+
totalWidth,
|
|
85258
|
+
totalHeight,
|
|
85259
|
+
fillWidth,
|
|
85260
|
+
fillHeight,
|
|
85261
|
+
leftPos
|
|
85262
|
+
} = SmartScrollbarIndicator_getIndicatorLayout(effectiveWidth, INDICATOR_SIZE, BORDER_WIDTH);
|
|
85263
|
+
const offsetY = (totalHeight - INDICATOR_SIZE) / 2;
|
|
85264
|
+
const fillAreaTop = fillPadding;
|
|
85265
|
+
const pixelCount = Math.max(0, Math.floor(trackHeight - fillPadding * 2));
|
|
85266
|
+
if (pixelCount === 0) return null;
|
|
85267
|
+
|
|
85268
|
+
// Align the indicator with the item’s pixel bucket(s) so it sits “over” the
|
|
85269
|
+
// same pixel-space mapping used by fill/endpoints.
|
|
85270
|
+
const clampedValue = Math.max(0, Math.min(total - 1, value));
|
|
85271
|
+
const itemStartPx = Math.floor(clampedValue * pixelCount / total);
|
|
85272
|
+
const maxTopInFill = Math.max(0, pixelCount - INDICATOR_SIZE);
|
|
85273
|
+
const topInFill = Math.max(0, Math.min(maxTopInFill, itemStartPx));
|
|
85274
|
+
const y = fillAreaTop + topInFill;
|
|
85275
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
85276
|
+
className: `pointer-events-none absolute ${className ?? ''}`,
|
|
85277
|
+
style: {
|
|
85278
|
+
left: leftPos,
|
|
85279
|
+
top: y - offsetY,
|
|
85280
|
+
width: totalWidth,
|
|
85281
|
+
height: totalHeight,
|
|
85282
|
+
transition: 'left 300ms ease, opacity 300ms ease'
|
|
85283
|
+
}
|
|
85284
|
+
}, /*#__PURE__*/React.createElement("svg", {
|
|
85285
|
+
width: totalWidth,
|
|
85286
|
+
height: totalHeight,
|
|
85287
|
+
viewBox: `0 0 ${totalWidth} ${totalHeight}`
|
|
85288
|
+
}, /*#__PURE__*/React.createElement("rect", {
|
|
85289
|
+
x: 0,
|
|
85290
|
+
y: 0,
|
|
85291
|
+
width: totalWidth,
|
|
85292
|
+
height: totalHeight,
|
|
85293
|
+
rx: totalHeight / 2,
|
|
85294
|
+
ry: totalHeight / 2,
|
|
85295
|
+
fill: BORDER_COLOR
|
|
85296
|
+
}), /*#__PURE__*/React.createElement("rect", {
|
|
85297
|
+
x: BORDER_WIDTH,
|
|
85298
|
+
y: BORDER_WIDTH,
|
|
85299
|
+
width: fillWidth,
|
|
85300
|
+
height: fillHeight,
|
|
85301
|
+
rx: fillHeight / 2,
|
|
85302
|
+
ry: fillHeight / 2,
|
|
85303
|
+
fill: INDICATOR_COLOR
|
|
85304
|
+
})));
|
|
85305
|
+
}
|
|
85306
|
+
;// ../../ui-next/src/components/SmartScrollbar/SmartScrollbar.tsx
|
|
85307
|
+
/* unused harmony import specifier */ var Children;
|
|
85308
|
+
/* unused harmony import specifier */ var isValidElement;
|
|
85309
|
+
/* unused harmony import specifier */ var createContext;
|
|
85310
|
+
/* unused harmony import specifier */ var useContext;
|
|
85311
|
+
/* unused harmony import specifier */ var useRef;
|
|
85312
|
+
/* unused harmony import specifier */ var useState;
|
|
85313
|
+
/* unused harmony import specifier */ var useEffect;
|
|
85314
|
+
/* unused harmony import specifier */ var useCallback;
|
|
85315
|
+
/* unused harmony import specifier */ var useMemo;
|
|
85316
|
+
/* unused harmony import specifier */ var SmartScrollbar_React;
|
|
85317
|
+
/* unused harmony import specifier */ var SmartScrollbar_getIndicatorLayout;
|
|
85318
|
+
/* unused harmony import specifier */ var SmartScrollbar_SmartScrollbarIndicator;
|
|
85319
|
+
|
|
85320
|
+
|
|
85321
|
+
|
|
85322
|
+
|
|
85323
|
+
// ── Child validation ────────────────────────────────────────────
|
|
85324
|
+
function validateChildren(children) {
|
|
85325
|
+
let hasIndicator = false;
|
|
85326
|
+
Children.forEach(children, child => {
|
|
85327
|
+
if (! /*#__PURE__*/isValidElement(child)) return;
|
|
85328
|
+
if (child.type === SmartScrollbar_SmartScrollbarIndicator) hasIndicator = true;
|
|
85329
|
+
});
|
|
85330
|
+
if (!hasIndicator) {
|
|
85331
|
+
throw new Error('SmartScrollbar: <SmartScrollbarIndicator> is a required child. ' + 'Users will not see their current scroll position without it.');
|
|
85332
|
+
}
|
|
85333
|
+
}
|
|
85334
|
+
|
|
85335
|
+
// ── Layout and timing constants ─────────────────────────────────
|
|
85336
|
+
const TRACK_WIDTH = 8;
|
|
85337
|
+
const RESTING_WIDTH = 4;
|
|
85338
|
+
const FILL_PADDING = 3;
|
|
85339
|
+
const SmartScrollbar_INDICATOR_SIZE = 8;
|
|
85340
|
+
const INDICATOR_BORDER_WIDTH = 1;
|
|
85341
|
+
const SETTLE_DELAY = 600;
|
|
85342
|
+
|
|
85343
|
+
// ── Contexts ───────────────────────────────────────────────────
|
|
85344
|
+
|
|
85345
|
+
const SmartScrollbarLayoutContext = /*#__PURE__*/(/* unused pure expression or super */ null && (createContext(null)));
|
|
85346
|
+
const SmartScrollbarScrollContext = /*#__PURE__*/(/* unused pure expression or super */ null && (createContext(null)));
|
|
85347
|
+
function SmartScrollbar_useSmartScrollbarLayoutContext() {
|
|
85348
|
+
const ctx = useContext(SmartScrollbarLayoutContext);
|
|
85349
|
+
if (!ctx) throw new Error('SmartScrollbar compound components must be used inside <SmartScrollbar>');
|
|
85350
|
+
return ctx;
|
|
85351
|
+
}
|
|
85352
|
+
function SmartScrollbar_useSmartScrollbarScrollContext() {
|
|
85353
|
+
const value = useContext(SmartScrollbarScrollContext);
|
|
85354
|
+
if (value === null) throw new Error('SmartScrollbar compound components must be used inside <SmartScrollbar>');
|
|
85355
|
+
return value;
|
|
85356
|
+
}
|
|
85357
|
+
|
|
85358
|
+
// ── Props ──────────────────────────────────────────────────────
|
|
85359
|
+
|
|
85360
|
+
// ── Component ──────────────────────────────────────────────────
|
|
85361
|
+
function SmartScrollbar({
|
|
85362
|
+
value,
|
|
85363
|
+
total,
|
|
85364
|
+
onValueChange,
|
|
85365
|
+
isLoading = false,
|
|
85366
|
+
enableKeyboardNavigation = false,
|
|
85367
|
+
'aria-label': ariaLabel = 'Scroll position',
|
|
85368
|
+
className,
|
|
85369
|
+
children
|
|
85370
|
+
}) {
|
|
85371
|
+
validateChildren(children);
|
|
85372
|
+
|
|
85373
|
+
// ── ResizeObserver for trackHeight ───────────────────────────
|
|
85374
|
+
const containerRef = useRef(null);
|
|
85375
|
+
const [trackHeight, setTrackHeight] = useState(0);
|
|
85376
|
+
useEffect(() => {
|
|
85377
|
+
const el = containerRef.current;
|
|
85378
|
+
if (!el) return;
|
|
85379
|
+
const ro = new ResizeObserver(([entry]) => {
|
|
85380
|
+
setTrackHeight(entry.contentRect.height);
|
|
85381
|
+
});
|
|
85382
|
+
ro.observe(el);
|
|
85383
|
+
return () => ro.disconnect();
|
|
85384
|
+
}, []);
|
|
85385
|
+
|
|
85386
|
+
// ── Contraction state ────────────────────────────────────────
|
|
85387
|
+
const [isHovered, setIsHovered] = useState(false);
|
|
85388
|
+
const [isDragging, setIsDragging] = useState(false);
|
|
85389
|
+
const isDraggingRef = useRef(false);
|
|
85390
|
+
const trackTopRef = useRef(0);
|
|
85391
|
+
|
|
85392
|
+
// Settle delay — only contract after a real loading→done transition
|
|
85393
|
+
const [hasSettled, setHasSettled] = useState(false);
|
|
85394
|
+
const wasEverLoading = useRef(false);
|
|
85395
|
+
useEffect(() => {
|
|
85396
|
+
if (isLoading) {
|
|
85397
|
+
wasEverLoading.current = true;
|
|
85398
|
+
setHasSettled(false);
|
|
85399
|
+
} else if (wasEverLoading.current) {
|
|
85400
|
+
const timer = setTimeout(() => setHasSettled(true), SETTLE_DELAY);
|
|
85401
|
+
return () => clearTimeout(timer);
|
|
85402
|
+
}
|
|
85403
|
+
}, [isLoading]);
|
|
85404
|
+
const isExpanded = !hasSettled || isHovered || isDragging;
|
|
85405
|
+
const effectiveWidth = isExpanded ? TRACK_WIDTH : RESTING_WIDTH;
|
|
85406
|
+
|
|
85407
|
+
// ── Hit zone extension ───────────────────────────────────────
|
|
85408
|
+
const {
|
|
85409
|
+
leftPos
|
|
85410
|
+
} = SmartScrollbar_getIndicatorLayout(TRACK_WIDTH, SmartScrollbar_INDICATOR_SIZE, INDICATOR_BORDER_WIDTH);
|
|
85411
|
+
const hitZoneLeftExtension = Math.max(0, -leftPos);
|
|
85412
|
+
|
|
85413
|
+
// ── Stable layer (for elements that shouldn't move during contraction) ──
|
|
85414
|
+
// Uses useState + callback ref so React triggers a re-render when the
|
|
85415
|
+
// DOM node mounts — ensuring endpoints render on the first valid pass.
|
|
85416
|
+
const [stableLayerEl, setStableLayerEl] = useState(null);
|
|
85417
|
+
|
|
85418
|
+
// ── Pointer helpers ──────────────────────────────────────────
|
|
85419
|
+
const clamp = useCallback(val => Math.max(0, Math.min(total - 1, val)), [total]);
|
|
85420
|
+
const indexFromPointerY = useCallback(clientY => {
|
|
85421
|
+
const ratio = Math.max(0, Math.min(1, (clientY - trackTopRef.current) / trackHeight));
|
|
85422
|
+
return Math.round(ratio * (total - 1));
|
|
85423
|
+
}, [trackHeight, total]);
|
|
85424
|
+
const handlePointerDown = useCallback(e => {
|
|
85425
|
+
trackTopRef.current = e.currentTarget.getBoundingClientRect().top;
|
|
85426
|
+
isDraggingRef.current = true;
|
|
85427
|
+
setIsDragging(true);
|
|
85428
|
+
e.currentTarget.setPointerCapture(e.pointerId);
|
|
85429
|
+
onValueChange(clamp(indexFromPointerY(e.clientY)));
|
|
85430
|
+
}, [clamp, indexFromPointerY, onValueChange]);
|
|
85431
|
+
const handlePointerMove = useCallback(e => {
|
|
85432
|
+
if (!isDraggingRef.current) return;
|
|
85433
|
+
onValueChange(clamp(indexFromPointerY(e.clientY)));
|
|
85434
|
+
}, [clamp, indexFromPointerY, onValueChange]);
|
|
85435
|
+
const handlePointerUp = useCallback(e => {
|
|
85436
|
+
isDraggingRef.current = false;
|
|
85437
|
+
setIsDragging(false);
|
|
85438
|
+
e.currentTarget.releasePointerCapture(e.pointerId);
|
|
85439
|
+
}, []);
|
|
85440
|
+
|
|
85441
|
+
// ── Keyboard interaction (WAI-ARIA slider spec) ────────────
|
|
85442
|
+
const PAGE_STEP = 10;
|
|
85443
|
+
const handleKeyDown = useCallback(e => {
|
|
85444
|
+
let next = null;
|
|
85445
|
+
switch (e.key) {
|
|
85446
|
+
case 'ArrowUp':
|
|
85447
|
+
case 'ArrowLeft':
|
|
85448
|
+
next = value - 1;
|
|
85449
|
+
break;
|
|
85450
|
+
case 'ArrowDown':
|
|
85451
|
+
case 'ArrowRight':
|
|
85452
|
+
next = value + 1;
|
|
85453
|
+
break;
|
|
85454
|
+
case 'PageUp':
|
|
85455
|
+
next = value - PAGE_STEP;
|
|
85456
|
+
break;
|
|
85457
|
+
case 'PageDown':
|
|
85458
|
+
next = value + PAGE_STEP;
|
|
85459
|
+
break;
|
|
85460
|
+
case 'Home':
|
|
85461
|
+
next = 0;
|
|
85462
|
+
break;
|
|
85463
|
+
case 'End':
|
|
85464
|
+
next = total - 1;
|
|
85465
|
+
break;
|
|
85466
|
+
default:
|
|
85467
|
+
return;
|
|
85468
|
+
}
|
|
85469
|
+
e.preventDefault();
|
|
85470
|
+
onValueChange(clamp(next));
|
|
85471
|
+
}, [value, total, clamp, onValueChange]);
|
|
85472
|
+
|
|
85473
|
+
// ── Context values ───────────────────────────────────────────
|
|
85474
|
+
const layoutCtx = useMemo(() => ({
|
|
85475
|
+
total,
|
|
85476
|
+
trackHeight,
|
|
85477
|
+
isLoading,
|
|
85478
|
+
effectiveWidth,
|
|
85479
|
+
trackWidth: TRACK_WIDTH,
|
|
85480
|
+
fillPadding: FILL_PADDING,
|
|
85481
|
+
stableLayerEl
|
|
85482
|
+
}), [total, trackHeight, isLoading, effectiveWidth, stableLayerEl]);
|
|
85483
|
+
return /*#__PURE__*/SmartScrollbar_React.createElement(SmartScrollbarLayoutContext.Provider, {
|
|
85484
|
+
value: layoutCtx
|
|
85485
|
+
}, /*#__PURE__*/SmartScrollbar_React.createElement(SmartScrollbarScrollContext.Provider, {
|
|
85486
|
+
value: value
|
|
85487
|
+
}, /*#__PURE__*/SmartScrollbar_React.createElement("div", {
|
|
85488
|
+
ref: containerRef,
|
|
85489
|
+
role: "slider",
|
|
85490
|
+
"aria-valuenow": value,
|
|
85491
|
+
"aria-valuemin": 0,
|
|
85492
|
+
"aria-valuemax": total - 1,
|
|
85493
|
+
"aria-orientation": "vertical",
|
|
85494
|
+
"aria-label": ariaLabel,
|
|
85495
|
+
tabIndex: 0,
|
|
85496
|
+
className: className,
|
|
85497
|
+
style: {
|
|
85498
|
+
width: TRACK_WIDTH + hitZoneLeftExtension,
|
|
85499
|
+
height: '100%',
|
|
85500
|
+
position: 'relative',
|
|
85501
|
+
marginLeft: -hitZoneLeftExtension,
|
|
85502
|
+
cursor: isDragging ? 'grabbing' : 'grab',
|
|
85503
|
+
touchAction: 'none'
|
|
85504
|
+
},
|
|
85505
|
+
onPointerEnter: () => setIsHovered(true),
|
|
85506
|
+
onPointerLeave: () => setIsHovered(false),
|
|
85507
|
+
onPointerDown: handlePointerDown,
|
|
85508
|
+
onPointerMove: handlePointerMove,
|
|
85509
|
+
onPointerUp: handlePointerUp,
|
|
85510
|
+
onPointerCancel: handlePointerUp,
|
|
85511
|
+
onKeyDown: enableKeyboardNavigation ? handleKeyDown : undefined
|
|
85512
|
+
}, trackHeight > 0 && /*#__PURE__*/SmartScrollbar_React.createElement("div", {
|
|
85513
|
+
style: {
|
|
85514
|
+
position: 'absolute',
|
|
85515
|
+
right: 0,
|
|
85516
|
+
top: 0,
|
|
85517
|
+
width: TRACK_WIDTH,
|
|
85518
|
+
height: trackHeight,
|
|
85519
|
+
display: 'flex',
|
|
85520
|
+
justifyContent: 'center'
|
|
85521
|
+
}
|
|
85522
|
+
}, /*#__PURE__*/SmartScrollbar_React.createElement("div", {
|
|
85523
|
+
className: "relative",
|
|
85524
|
+
style: {
|
|
85525
|
+
width: effectiveWidth,
|
|
85526
|
+
height: trackHeight,
|
|
85527
|
+
transition: 'width 300ms ease'
|
|
85528
|
+
}
|
|
85529
|
+
}, children), /*#__PURE__*/SmartScrollbar_React.createElement("div", {
|
|
85530
|
+
ref: setStableLayerEl,
|
|
85531
|
+
style: {
|
|
85532
|
+
position: 'absolute',
|
|
85533
|
+
inset: 0,
|
|
85534
|
+
pointerEvents: 'none'
|
|
85535
|
+
}
|
|
85536
|
+
})))));
|
|
85537
|
+
}
|
|
85538
|
+
;// ../../ui-next/src/components/SmartScrollbar/SmartScrollbarTrack.tsx
|
|
85539
|
+
/* unused harmony import specifier */ var SmartScrollbarTrack_React;
|
|
85540
|
+
/* unused harmony import specifier */ var useId;
|
|
85541
|
+
/* unused harmony import specifier */ var SmartScrollbarTrack_useState;
|
|
85542
|
+
/* unused harmony import specifier */ var SmartScrollbarTrack_useEffect;
|
|
85543
|
+
/* unused harmony import specifier */ var SmartScrollbarTrack_useSmartScrollbarLayoutContext;
|
|
85544
|
+
|
|
85545
|
+
|
|
85546
|
+
|
|
85547
|
+
// ── Dot-grid pattern constants ──────────────────────────────────
|
|
85548
|
+
const DOT_SIZE = 2;
|
|
85549
|
+
const DOT_GAP = 4;
|
|
85550
|
+
const DOT_STEP = DOT_SIZE + DOT_GAP; // 6px
|
|
85551
|
+
const DOT_RADIUS = DOT_SIZE / 2;
|
|
85552
|
+
const FADE_DURATION_MS = 500;
|
|
85553
|
+
function DotGrid({
|
|
85554
|
+
w,
|
|
85555
|
+
h,
|
|
85556
|
+
patternId
|
|
85557
|
+
}) {
|
|
85558
|
+
const dotColor = `hsl(var(--neutral) / 0.5)`;
|
|
85559
|
+
return /*#__PURE__*/SmartScrollbarTrack_React.createElement("svg", {
|
|
85560
|
+
width: w,
|
|
85561
|
+
height: h,
|
|
85562
|
+
className: "absolute inset-0"
|
|
85563
|
+
}, /*#__PURE__*/SmartScrollbarTrack_React.createElement("defs", null, /*#__PURE__*/SmartScrollbarTrack_React.createElement("pattern", {
|
|
85564
|
+
id: patternId,
|
|
85565
|
+
width: DOT_STEP,
|
|
85566
|
+
height: DOT_STEP,
|
|
85567
|
+
patternUnits: "userSpaceOnUse"
|
|
85568
|
+
}, /*#__PURE__*/SmartScrollbarTrack_React.createElement("circle", {
|
|
85569
|
+
cx: DOT_RADIUS,
|
|
85570
|
+
cy: DOT_RADIUS,
|
|
85571
|
+
r: DOT_RADIUS,
|
|
85572
|
+
fill: dotColor
|
|
85573
|
+
})), /*#__PURE__*/SmartScrollbarTrack_React.createElement("clipPath", {
|
|
85574
|
+
id: `${patternId}-clip`
|
|
85575
|
+
}, /*#__PURE__*/SmartScrollbarTrack_React.createElement("rect", {
|
|
85576
|
+
x: 0,
|
|
85577
|
+
y: 0,
|
|
85578
|
+
width: w,
|
|
85579
|
+
height: h
|
|
85580
|
+
}))), /*#__PURE__*/SmartScrollbarTrack_React.createElement("rect", {
|
|
85581
|
+
x: 0,
|
|
85582
|
+
y: 0,
|
|
85583
|
+
width: w,
|
|
85584
|
+
height: h,
|
|
85585
|
+
fill: `url(#${patternId})`,
|
|
85586
|
+
clipPath: `url(#${patternId}-clip)`
|
|
85587
|
+
}));
|
|
85588
|
+
}
|
|
85589
|
+
const SmartScrollbarTrack = /*#__PURE__*/(/* unused pure expression or super */ null && (SmartScrollbarTrack_React.memo(function SmartScrollbarTrack({
|
|
85590
|
+
className,
|
|
85591
|
+
children
|
|
85592
|
+
}) {
|
|
85593
|
+
const {
|
|
85594
|
+
trackHeight,
|
|
85595
|
+
effectiveWidth,
|
|
85596
|
+
isLoading
|
|
85597
|
+
} = SmartScrollbarTrack_useSmartScrollbarLayoutContext();
|
|
85598
|
+
const patternId = useId();
|
|
85599
|
+
|
|
85600
|
+
// Keep the dot grid mounted long enough to fade out, then unmount entirely.
|
|
85601
|
+
const [dotGridMounted, setDotGridMounted] = SmartScrollbarTrack_useState(isLoading);
|
|
85602
|
+
SmartScrollbarTrack_useEffect(() => {
|
|
85603
|
+
if (isLoading) {
|
|
85604
|
+
setDotGridMounted(true);
|
|
85605
|
+
return;
|
|
85606
|
+
}
|
|
85607
|
+
const t = setTimeout(() => setDotGridMounted(false), FADE_DURATION_MS);
|
|
85608
|
+
return () => clearTimeout(t);
|
|
85609
|
+
}, [isLoading]);
|
|
85610
|
+
if (trackHeight === 0) return null;
|
|
85611
|
+
const w = effectiveWidth;
|
|
85612
|
+
const h = trackHeight;
|
|
85613
|
+
return /*#__PURE__*/SmartScrollbarTrack_React.createElement("div", {
|
|
85614
|
+
className: `absolute inset-0 ${className ?? ''}`
|
|
85615
|
+
}, dotGridMounted && /*#__PURE__*/SmartScrollbarTrack_React.createElement("div", {
|
|
85616
|
+
className: "absolute inset-0",
|
|
85617
|
+
style: {
|
|
85618
|
+
width: w,
|
|
85619
|
+
height: h,
|
|
85620
|
+
opacity: isLoading ? 1 : 0,
|
|
85621
|
+
transition: `opacity ${FADE_DURATION_MS}ms ease`
|
|
85622
|
+
}
|
|
85623
|
+
}, /*#__PURE__*/SmartScrollbarTrack_React.createElement(DotGrid, {
|
|
85624
|
+
w: w,
|
|
85625
|
+
h: h,
|
|
85626
|
+
patternId: patternId
|
|
85627
|
+
})), children);
|
|
85628
|
+
})));
|
|
85629
|
+
;// ../../ui-next/src/components/SmartScrollbar/SmartScrollbarFill.tsx
|
|
85630
|
+
/* unused harmony import specifier */ var SmartScrollbarFill_React;
|
|
85631
|
+
/* unused harmony import specifier */ var SmartScrollbarFill_useMemo;
|
|
85632
|
+
/* unused harmony import specifier */ var SmartScrollbarFill_useSmartScrollbarLayoutContext;
|
|
85633
|
+
/* unused harmony import specifier */ var SmartScrollbarFill_computePixelFilledFromMarked;
|
|
85634
|
+
/* unused harmony import specifier */ var SmartScrollbarFill_computeContiguousRuns;
|
|
85635
|
+
|
|
85636
|
+
|
|
85637
|
+
|
|
85638
|
+
const SmartScrollbarFill = /*#__PURE__*/(/* unused pure expression or super */ null && (SmartScrollbarFill_React.memo(function SmartScrollbarFill({
|
|
85639
|
+
marked,
|
|
85640
|
+
version,
|
|
85641
|
+
className,
|
|
85642
|
+
loadingClassName
|
|
85643
|
+
}) {
|
|
85644
|
+
const {
|
|
85645
|
+
trackHeight,
|
|
85646
|
+
effectiveWidth,
|
|
85647
|
+
fillPadding,
|
|
85648
|
+
isLoading
|
|
85649
|
+
} = SmartScrollbarFill_useSmartScrollbarLayoutContext();
|
|
85650
|
+
const runs = SmartScrollbarFill_useMemo(() => {
|
|
85651
|
+
// Render fill in pixel space so the fill never overstates coverage when
|
|
85652
|
+
// many indices map into a single pixel row (subpixel heights).
|
|
85653
|
+
const pixelCount = Math.max(0, Math.floor(trackHeight - fillPadding * 2));
|
|
85654
|
+
const pixelFilled = SmartScrollbarFill_computePixelFilledFromMarked(marked, pixelCount);
|
|
85655
|
+
return SmartScrollbarFill_computeContiguousRuns(pixelFilled);
|
|
85656
|
+
}, [marked, version, trackHeight, fillPadding]);
|
|
85657
|
+
if (runs.length === 0 || trackHeight === 0) return null;
|
|
85658
|
+
const fillAreaTop = fillPadding;
|
|
85659
|
+
const activeClass = isLoading && loadingClassName ? loadingClassName : className;
|
|
85660
|
+
return /*#__PURE__*/SmartScrollbarFill_React.createElement(SmartScrollbarFill_React.Fragment, null, runs.map((run, index) => {
|
|
85661
|
+
const top = fillAreaTop + run.start;
|
|
85662
|
+
const height = run.length;
|
|
85663
|
+
return /*#__PURE__*/SmartScrollbarFill_React.createElement("div", {
|
|
85664
|
+
key: index,
|
|
85665
|
+
className: `absolute ${activeClass ?? ''}`,
|
|
85666
|
+
style: {
|
|
85667
|
+
left: 0,
|
|
85668
|
+
top,
|
|
85669
|
+
width: effectiveWidth,
|
|
85670
|
+
height,
|
|
85671
|
+
transition: 'width 300ms ease, left 300ms ease'
|
|
85672
|
+
}
|
|
85673
|
+
});
|
|
85674
|
+
}));
|
|
85675
|
+
})));
|
|
85676
|
+
// EXTERNAL MODULE: ../../../node_modules/react-dom/index.js
|
|
85677
|
+
var react_dom = __webpack_require__(35623);
|
|
85678
|
+
;// ../../ui-next/src/components/SmartScrollbar/SmartScrollbarEndpoints.tsx
|
|
85679
|
+
/* unused harmony import specifier */ var SmartScrollbarEndpoints_React;
|
|
85680
|
+
/* unused harmony import specifier */ var createPortal;
|
|
85681
|
+
/* unused harmony import specifier */ var SmartScrollbarEndpoints_useSmartScrollbarLayoutContext;
|
|
85682
|
+
/* unused harmony import specifier */ var SmartScrollbarEndpoints_computePixelFilledFromMarked;
|
|
85683
|
+
|
|
85684
|
+
|
|
85685
|
+
|
|
85686
|
+
|
|
85687
|
+
|
|
85688
|
+
// ── Endpoint cap dimensions and color ───────────────────────────
|
|
85689
|
+
const CAP_SIZE = 4;
|
|
85690
|
+
const CAP_HEIGHT = CAP_SIZE / 2 + 1; // 3
|
|
85691
|
+
const CAP_COLOR = 'hsl(var(--neutral) / 1.0)';
|
|
85692
|
+
const SmartScrollbarEndpoints = /*#__PURE__*/(/* unused pure expression or super */ null && (SmartScrollbarEndpoints_React.memo(function SmartScrollbarEndpoints({
|
|
85693
|
+
marked,
|
|
85694
|
+
// `marked` is mutated in-place (stable reference). We accept `version` only to
|
|
85695
|
+
// invalidate React.memo and force a re-render when the bytes change. The
|
|
85696
|
+
// leading underscore indicates the value is intentionally unused in this component.
|
|
85697
|
+
version: _version,
|
|
85698
|
+
className
|
|
85699
|
+
}) {
|
|
85700
|
+
const {
|
|
85701
|
+
trackHeight,
|
|
85702
|
+
trackWidth,
|
|
85703
|
+
fillPadding,
|
|
85704
|
+
stableLayerEl
|
|
85705
|
+
} = SmartScrollbarEndpoints_useSmartScrollbarLayoutContext();
|
|
85706
|
+
const fillAreaTop = fillPadding;
|
|
85707
|
+
const pixelCount = Math.max(0, Math.floor(trackHeight - fillPadding * 2));
|
|
85708
|
+
if (pixelCount === 0) return null;
|
|
85709
|
+
const pixelFilled = SmartScrollbarEndpoints_computePixelFilledFromMarked(marked, pixelCount);
|
|
85710
|
+
|
|
85711
|
+
// Scan for the first and last filled pixel row in O(n) so endpoints align
|
|
85712
|
+
// exactly with the fill rendering in pixel space.
|
|
85713
|
+
let firstFilledPixel = -1;
|
|
85714
|
+
let lastFilledPixel = -1;
|
|
85715
|
+
for (let pixel = 0; pixel < pixelFilled.length; pixel++) {
|
|
85716
|
+
if (pixelFilled[pixel]) {
|
|
85717
|
+
firstFilledPixel = pixel;
|
|
85718
|
+
break;
|
|
85719
|
+
}
|
|
85720
|
+
}
|
|
85721
|
+
for (let pixel = pixelFilled.length - 1; pixel >= 0; pixel--) {
|
|
85722
|
+
if (pixelFilled[pixel]) {
|
|
85723
|
+
lastFilledPixel = pixel;
|
|
85724
|
+
break;
|
|
85725
|
+
}
|
|
85726
|
+
}
|
|
85727
|
+
if (firstFilledPixel === -1 || trackHeight === 0 || !stableLayerEl) return null;
|
|
85728
|
+
|
|
85729
|
+
// Use trackWidth (always 8px) not effectiveWidth — endpoints must stay
|
|
85730
|
+
// stationary during contraction/expansion transitions.
|
|
85731
|
+
const cx = trackWidth / 2;
|
|
85732
|
+
const halfCap = CAP_SIZE / 2;
|
|
85733
|
+
const topEdge = fillAreaTop + firstFilledPixel;
|
|
85734
|
+
const bottomEdge = fillAreaTop + (lastFilledPixel + 1);
|
|
85735
|
+
|
|
85736
|
+
// Portal into the stable layer so position isn't affected by the
|
|
85737
|
+
// contracting track div's width transition.
|
|
85738
|
+
return /*#__PURE__*/createPortal(/*#__PURE__*/SmartScrollbarEndpoints_React.createElement("svg", {
|
|
85739
|
+
width: trackWidth,
|
|
85740
|
+
height: trackHeight,
|
|
85741
|
+
className: `pointer-events-none absolute inset-0 ${className ?? ''}`
|
|
85742
|
+
}, /*#__PURE__*/SmartScrollbarEndpoints_React.createElement("rect", {
|
|
85743
|
+
x: cx - halfCap,
|
|
85744
|
+
y: topEdge - CAP_HEIGHT,
|
|
85745
|
+
width: CAP_SIZE,
|
|
85746
|
+
height: CAP_HEIGHT,
|
|
85747
|
+
fill: CAP_COLOR
|
|
85748
|
+
}), /*#__PURE__*/SmartScrollbarEndpoints_React.createElement("rect", {
|
|
85749
|
+
x: cx - halfCap,
|
|
85750
|
+
y: bottomEdge,
|
|
85751
|
+
width: CAP_SIZE,
|
|
85752
|
+
height: CAP_HEIGHT,
|
|
85753
|
+
fill: CAP_COLOR
|
|
85754
|
+
})), stableLayerEl);
|
|
85755
|
+
})));
|
|
85756
|
+
// EXTERNAL MODULE: ../../../node_modules/lodash.debounce/index.js
|
|
85757
|
+
var lodash_debounce = __webpack_require__(62051);
|
|
85758
|
+
var lodash_debounce_default = /*#__PURE__*/__webpack_require__.n(lodash_debounce);
|
|
85759
|
+
;// ../../ui-next/src/components/SmartScrollbar/useByteArray.ts
|
|
85760
|
+
/* unused harmony import specifier */ var debounce;
|
|
85761
|
+
/* unused harmony import specifier */ var useByteArray_useRef;
|
|
85762
|
+
/* unused harmony import specifier */ var useByteArray_useState;
|
|
85763
|
+
/* unused harmony import specifier */ var useByteArray_useMemo;
|
|
85764
|
+
/* unused harmony import specifier */ var useByteArray_useEffect;
|
|
85765
|
+
/* unused harmony import specifier */ var useByteArray_useCallback;
|
|
85766
|
+
|
|
85767
|
+
|
|
85768
|
+
/**
|
|
85769
|
+
* Manages a mutable Uint8Array (one byte per position) with React change
|
|
85770
|
+
* detection via an incrementing version counter.
|
|
85771
|
+
*
|
|
85772
|
+
* @param size - Number of positions (e.g. total slices in a viewport).
|
|
85773
|
+
* @param debounceMs - When > 0, version bumps are debounced by this many
|
|
85774
|
+
* milliseconds. Byte writes are always immediate. Use for
|
|
85775
|
+
* high-frequency sources (cache prefetch) to batch renders.
|
|
85776
|
+
* Omit or pass 0 for immediate re-renders (e.g. viewed tracking).
|
|
85777
|
+
*/
|
|
85778
|
+
function useByteArray(size, debounceMs = 0) {
|
|
85779
|
+
const bytesRef = useByteArray_useRef(new Uint8Array(size));
|
|
85780
|
+
const countRef = useByteArray_useRef(0);
|
|
85781
|
+
const [version, setVersion] = useByteArray_useState(0);
|
|
85782
|
+
|
|
85783
|
+
// Debounced bump — recreated when debounceMs changes; cancelled on unmount
|
|
85784
|
+
// or when debounceMs changes, following the lodash.debounce pattern used
|
|
85785
|
+
// throughout ui-next (InputFilter, CinePlayer).
|
|
85786
|
+
const debouncedBump = useByteArray_useMemo(() => debounceMs > 0 ? debounce(() => setVersion(v => v + 1), debounceMs) : null, [debounceMs]);
|
|
85787
|
+
useByteArray_useEffect(() => {
|
|
85788
|
+
return () => debouncedBump?.cancel();
|
|
85789
|
+
}, [debouncedBump]);
|
|
85790
|
+
|
|
85791
|
+
// Reset array only when size actually changes — skip on initial mount since
|
|
85792
|
+
// bytesRef is already initialised to the correct size via useRef.
|
|
85793
|
+
useByteArray_useEffect(() => {
|
|
85794
|
+
if (bytesRef.current.length === size) return;
|
|
85795
|
+
debouncedBump?.cancel();
|
|
85796
|
+
bytesRef.current = new Uint8Array(size);
|
|
85797
|
+
countRef.current = 0;
|
|
85798
|
+
setVersion(v => v + 1);
|
|
85799
|
+
}, [size, debouncedBump]);
|
|
85800
|
+
const bump = useByteArray_useCallback(() => {
|
|
85801
|
+
if (debouncedBump) {
|
|
85802
|
+
debouncedBump();
|
|
85803
|
+
} else {
|
|
85804
|
+
setVersion(v => v + 1);
|
|
85805
|
+
}
|
|
85806
|
+
}, [debouncedBump]);
|
|
85807
|
+
const setByte = useByteArray_useCallback(index => {
|
|
85808
|
+
const bytes = bytesRef.current;
|
|
85809
|
+
if (index < 0 || index >= bytes.length || bytes[index] === 1) return;
|
|
85810
|
+
bytes[index] = 1;
|
|
85811
|
+
countRef.current++;
|
|
85812
|
+
bump();
|
|
85813
|
+
}, [bump]);
|
|
85814
|
+
const clearByte = useByteArray_useCallback(index => {
|
|
85815
|
+
const bytes = bytesRef.current;
|
|
85816
|
+
if (index < 0 || index >= bytes.length || bytes[index] === 0) return;
|
|
85817
|
+
bytes[index] = 0;
|
|
85818
|
+
countRef.current--;
|
|
85819
|
+
bump();
|
|
85820
|
+
}, [bump]);
|
|
85821
|
+
const resetWith = useByteArray_useCallback(populate => {
|
|
85822
|
+
const bytes = bytesRef.current;
|
|
85823
|
+
bytes.fill(0);
|
|
85824
|
+
populate(bytes);
|
|
85825
|
+
let count = 0;
|
|
85826
|
+
for (let i = 0; i < bytes.length; i++) {
|
|
85827
|
+
if (bytes[i]) count++;
|
|
85828
|
+
}
|
|
85829
|
+
countRef.current = count;
|
|
85830
|
+
bump();
|
|
85831
|
+
}, [bump]);
|
|
85832
|
+
return {
|
|
85833
|
+
bytes: bytesRef.current,
|
|
85834
|
+
version,
|
|
85835
|
+
// countRef.current is read at render time (triggered by version bump) so
|
|
85836
|
+
// it is always up to date when this value is consumed.
|
|
85837
|
+
isFull: size > 0 && countRef.current === size,
|
|
85838
|
+
setByte,
|
|
85839
|
+
clearByte,
|
|
85840
|
+
resetWith
|
|
85841
|
+
};
|
|
85842
|
+
}
|
|
85843
|
+
;// ../../ui-next/src/components/SmartScrollbar/index.ts
|
|
85844
|
+
|
|
85845
|
+
|
|
85846
|
+
|
|
85847
|
+
|
|
85848
|
+
|
|
85849
|
+
|
|
85146
85850
|
;// ../../ui-next/src/tailwind.css
|
|
85147
85851
|
// extracted by mini-css-extract-plugin
|
|
85148
85852
|
|
|
@@ -85270,7 +85974,7 @@ var useLayoutEffect2 = globalThis?.document ? react.useLayoutEffect : () => {
|
|
|
85270
85974
|
|
|
85271
85975
|
var useReactId = react_namespaceObject[" useId ".trim().toString()] || (() => void 0);
|
|
85272
85976
|
var count = 0;
|
|
85273
|
-
function
|
|
85977
|
+
function dist_useId(deterministicId) {
|
|
85274
85978
|
const [id, setId] = react.useState(useReactId());
|
|
85275
85979
|
useLayoutEffect2(() => {
|
|
85276
85980
|
if (!deterministicId) setId((reactId) => reactId ?? String(count++));
|
|
@@ -85282,7 +85986,7 @@ function useId(deterministicId) {
|
|
|
85282
85986
|
|
|
85283
85987
|
;// ../../../node_modules/@radix-ui/react-use-effect-event/dist/index.mjs
|
|
85284
85988
|
/* unused harmony import specifier */ var useLayoutEffect;
|
|
85285
|
-
/* unused harmony import specifier */ var
|
|
85989
|
+
/* unused harmony import specifier */ var dist_React;
|
|
85286
85990
|
// src/use-effect-event.tsx
|
|
85287
85991
|
|
|
85288
85992
|
|
|
@@ -85292,7 +85996,7 @@ function useEffectEvent(callback) {
|
|
|
85292
85996
|
if (typeof useReactEffectEvent === "function") {
|
|
85293
85997
|
return useReactEffectEvent(callback);
|
|
85294
85998
|
}
|
|
85295
|
-
const ref =
|
|
85999
|
+
const ref = dist_React.useRef(() => {
|
|
85296
86000
|
throw new Error("Cannot call an event handler while rendering.");
|
|
85297
86001
|
});
|
|
85298
86002
|
if (typeof useReactInsertionEffect === "function") {
|
|
@@ -85304,7 +86008,7 @@ function useEffectEvent(callback) {
|
|
|
85304
86008
|
ref.current = callback;
|
|
85305
86009
|
});
|
|
85306
86010
|
}
|
|
85307
|
-
return
|
|
86011
|
+
return dist_React.useMemo(() => (...args) => ref.current?.(...args), []);
|
|
85308
86012
|
}
|
|
85309
86013
|
|
|
85310
86014
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -85446,8 +86150,6 @@ function useControllableStateReducer(reducer, userArgs, initialArg, init) {
|
|
|
85446
86150
|
|
|
85447
86151
|
//# sourceMappingURL=index.mjs.map
|
|
85448
86152
|
|
|
85449
|
-
// EXTERNAL MODULE: ../../../node_modules/react-dom/index.js
|
|
85450
|
-
var react_dom = __webpack_require__(35623);
|
|
85451
86153
|
;// ../../../node_modules/@radix-ui/react-primitive/dist/index.mjs
|
|
85452
86154
|
// src/primitive.tsx
|
|
85453
86155
|
|
|
@@ -86441,8 +87143,8 @@ var env = {
|
|
|
86441
87143
|
};
|
|
86442
87144
|
|
|
86443
87145
|
;// ../../../node_modules/use-sidecar/dist/es2015/hook.js
|
|
86444
|
-
/* unused harmony import specifier */ var
|
|
86445
|
-
/* unused harmony import specifier */ var
|
|
87146
|
+
/* unused harmony import specifier */ var hook_useState;
|
|
87147
|
+
/* unused harmony import specifier */ var hook_useEffect;
|
|
86446
87148
|
/* unused harmony import specifier */ var hook_env;
|
|
86447
87149
|
|
|
86448
87150
|
|
|
@@ -86459,9 +87161,9 @@ function useSidecar(importer, effect) {
|
|
|
86459
87161
|
function useRealSidecar(importer, effect) {
|
|
86460
87162
|
var options = (effect && effect.options) || NO_OPTIONS;
|
|
86461
87163
|
var couldUseCache = hook_env.forceCache || (hook_env.isNode && !!options.ssr) || !options.async;
|
|
86462
|
-
var _a =
|
|
86463
|
-
var _b =
|
|
86464
|
-
|
|
87164
|
+
var _a = hook_useState(couldUseCache ? function () { return cache.get(importer); } : undefined), Car = _a[0], setCar = _a[1];
|
|
87165
|
+
var _b = hook_useState(null), error = _b[0], setError = _b[1];
|
|
87166
|
+
hook_useEffect(function () {
|
|
86465
87167
|
if (!Car) {
|
|
86466
87168
|
importer().then(function (car) {
|
|
86467
87169
|
var resolved = effect ? effect.read() : car.default || car;
|
|
@@ -86597,7 +87299,7 @@ function createSidecarMedium(options) {
|
|
|
86597
87299
|
;// ../../../node_modules/use-sidecar/dist/es2015/renderProp.js
|
|
86598
87300
|
/* unused harmony import specifier */ var renderProp_assign;
|
|
86599
87301
|
/* unused harmony import specifier */ var renderProp_React;
|
|
86600
|
-
/* unused harmony import specifier */ var
|
|
87302
|
+
/* unused harmony import specifier */ var renderProp_useCallback;
|
|
86601
87303
|
/* unused harmony import specifier */ var renderProp_useLayoutEffect;
|
|
86602
87304
|
/* unused harmony import specifier */ var renderProp_useState;
|
|
86603
87305
|
/* unused harmony import specifier */ var renderProp_useEffect;
|
|
@@ -86607,7 +87309,7 @@ function createSidecarMedium(options) {
|
|
|
86607
87309
|
function renderCar(WrappedComponent, defaults) {
|
|
86608
87310
|
function State(_a) {
|
|
86609
87311
|
var stateRef = _a.stateRef, props = _a.props;
|
|
86610
|
-
var renderTarget =
|
|
87312
|
+
var renderTarget = renderProp_useCallback(function SideTarget() {
|
|
86611
87313
|
var args = [];
|
|
86612
87314
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
86613
87315
|
args[_i] = arguments[_i];
|
|
@@ -87436,9 +88138,9 @@ var Dialog = (props) => {
|
|
|
87436
88138
|
scope: __scopeDialog,
|
|
87437
88139
|
triggerRef,
|
|
87438
88140
|
contentRef,
|
|
87439
|
-
contentId:
|
|
87440
|
-
titleId:
|
|
87441
|
-
descriptionId:
|
|
88141
|
+
contentId: dist_useId(),
|
|
88142
|
+
titleId: dist_useId(),
|
|
88143
|
+
descriptionId: dist_useId(),
|
|
87442
88144
|
open,
|
|
87443
88145
|
onOpenChange: setOpen,
|
|
87444
88146
|
onOpenToggle: react.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
|
|
@@ -87716,7 +88418,7 @@ var Close = DialogClose;
|
|
|
87716
88418
|
//# sourceMappingURL=index.mjs.map
|
|
87717
88419
|
|
|
87718
88420
|
;// ../../../node_modules/cmdk/dist/index.mjs
|
|
87719
|
-
"use client";var N='[cmdk-group=""]',dist_Y='[cmdk-group-items=""]',be='[cmdk-group-heading=""]',le='[cmdk-item=""]',ce=`${le}:not([aria-disabled="true"])`,Z="cmdk-item-select",T="data-value",Re=(r,o,n)=>W(r,o,n),ue=react.createContext(void 0),dist_K=()=>react.useContext(ue),de=react.createContext(void 0),ee=()=>react.useContext(de),fe=react.createContext(void 0),me=react.forwardRef((r,o)=>{let n=L(()=>{var e,a;return{search:"",value:(a=(e=r.value)!=null?e:r.defaultValue)!=null?a:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),u=L(()=>new Set),c=L(()=>new Map),d=L(()=>new Map),f=L(()=>new Set),p=pe(r),{label:b,children:m,value:R,onValueChange:x,filter:C,shouldFilter:S,loop:A,disablePointerSelection:ge=!1,vimBindings:j=!0,...O}=r,$=useId(),q=useId(),_=useId(),I=react.useRef(null),v=ke();dist_k(()=>{if(R!==void 0){let e=R.trim();n.current.value=e,E.emit()}},[R]),dist_k(()=>{v(6,ne)},[]);let E=react.useMemo(()=>({subscribe:e=>(f.current.add(e),()=>f.current.delete(e)),snapshot:()=>n.current,setState:(e,a,s)=>{var i,l,g,y;if(!Object.is(n.current[e],a)){if(n.current[e]=a,e==="search")J(),z(),v(1,W);else if(e==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let h=document.getElementById(_);h?h.focus():(i=document.getElementById($))==null||i.focus()}if(v(7,()=>{var h;n.current.selectedItemId=(h=M())==null?void 0:h.id,E.emit()}),s||v(5,ne),((l=p.current)==null?void 0:l.value)!==void 0){let h=a!=null?a:"";(y=(g=p.current).onValueChange)==null||y.call(g,h);return}}E.emit()}},emit:()=>{f.current.forEach(e=>e())}}),[]),U=react.useMemo(()=>({value:(e,a,s)=>{var i;a!==((i=d.current.get(e))==null?void 0:i.value)&&(d.current.set(e,{value:a,keywords:s}),n.current.filtered.items.set(e,te(a,s)),v(2,()=>{z(),E.emit()}))},item:(e,a)=>(u.current.add(e),a&&(c.current.has(a)?c.current.get(a).add(e):c.current.set(a,new Set([e]))),v(3,()=>{J(),z(),n.current.value||W(),E.emit()}),()=>{d.current.delete(e),u.current.delete(e),n.current.filtered.items.delete(e);let s=M();v(4,()=>{J(),(s==null?void 0:s.getAttribute("id"))===e&&W(),E.emit()})}),group:e=>(c.current.has(e)||c.current.set(e,new Set),()=>{d.current.delete(e),c.current.delete(e)}),filter:()=>p.current.shouldFilter,label:b||r["aria-label"],getDisablePointerSelection:()=>p.current.disablePointerSelection,listId:$,inputId:_,labelId:q,listInnerRef:I}),[]);function te(e,a){var i,l;let s=(l=(i=p.current)==null?void 0:i.filter)!=null?l:Re;return e?s(e,n.current.search,a):0}function z(){if(!n.current.search||p.current.shouldFilter===!1)return;let e=n.current.filtered.items,a=[];n.current.filtered.groups.forEach(i=>{let l=c.current.get(i),g=0;l.forEach(y=>{let h=e.get(y);g=Math.max(h,g)}),a.push([i,g])});let s=I.current;V().sort((i,l)=>{var h,F;let g=i.getAttribute("id"),y=l.getAttribute("id");return((h=e.get(y))!=null?h:0)-((F=e.get(g))!=null?F:0)}).forEach(i=>{let l=i.closest(dist_Y);l?l.appendChild(i.parentElement===l?i:i.closest(`${dist_Y} > *`)):s.appendChild(i.parentElement===s?i:i.closest(`${dist_Y} > *`))}),a.sort((i,l)=>l[1]-i[1]).forEach(i=>{var g;let l=(g=I.current)==null?void 0:g.querySelector(`${N}[${T}="${encodeURIComponent(i[0])}"]`);l==null||l.parentElement.appendChild(l)})}function W(){let e=V().find(s=>s.getAttribute("aria-disabled")!=="true"),a=e==null?void 0:e.getAttribute(T);E.setState("value",a||void 0)}function J(){var a,s,i,l;if(!n.current.search||p.current.shouldFilter===!1){n.current.filtered.count=u.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let g of u.current){let y=(s=(a=d.current.get(g))==null?void 0:a.value)!=null?s:"",h=(l=(i=d.current.get(g))==null?void 0:i.keywords)!=null?l:[],F=te(y,h);n.current.filtered.items.set(g,F),F>0&&e++}for(let[g,y]of c.current)for(let h of y)if(n.current.filtered.items.get(h)>0){n.current.filtered.groups.add(g);break}n.current.filtered.count=e}function ne(){var a,s,i;let e=M();e&&(((a=e.parentElement)==null?void 0:a.firstChild)===e&&((i=(s=e.closest(N))==null?void 0:s.querySelector(be))==null||i.scrollIntoView({block:"nearest"})),e.scrollIntoView({block:"nearest"}))}function M(){var e;return(e=I.current)==null?void 0:e.querySelector(`${le}[aria-selected="true"]`)}function V(){var e;return Array.from(((e=I.current)==null?void 0:e.querySelectorAll(ce))||[])}function X(e){let s=V()[e];s&&E.setState("value",s.getAttribute(T))}function Q(e){var g;let a=M(),s=V(),i=s.findIndex(y=>y===a),l=s[i+e];(g=p.current)!=null&&g.loop&&(l=i+e<0?s[s.length-1]:i+e===s.length?s[0]:s[i+e]),l&&E.setState("value",l.getAttribute(T))}function re(e){let a=M(),s=a==null?void 0:a.closest(N),i;for(;s&&!i;)s=e>0?we(s,N):De(s,N),i=s==null?void 0:s.querySelector(ce);i?E.setState("value",i.getAttribute(T)):Q(e)}let oe=()=>X(V().length-1),ie=e=>{e.preventDefault(),e.metaKey?oe():e.altKey?re(1):Q(1)},se=e=>{e.preventDefault(),e.metaKey?X(0):e.altKey?re(-1):Q(-1)};return react.createElement(Primitive.div,{ref:o,tabIndex:-1,...O,"cmdk-root":"",onKeyDown:e=>{var s;(s=O.onKeyDown)==null||s.call(O,e);let a=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||a))switch(e.key){case"n":case"j":{j&&e.ctrlKey&&ie(e);break}case"ArrowDown":{ie(e);break}case"p":case"k":{j&&e.ctrlKey&&se(e);break}case"ArrowUp":{se(e);break}case"Home":{e.preventDefault(),X(0);break}case"End":{e.preventDefault(),oe();break}case"Enter":{e.preventDefault();let i=M();if(i){let l=new Event(Z);i.dispatchEvent(l)}}}}},react.createElement("label",{"cmdk-label":"",htmlFor:U.inputId,id:U.labelId,style:Te},b),dist_B(r,e=>react.createElement(de.Provider,{value:E},react.createElement(ue.Provider,{value:U},e))))}),he=react.forwardRef((r,o)=>{var _,I;let n=useId(),u=react.useRef(null),c=react.useContext(fe),d=dist_K(),f=pe(r),p=(I=(_=f.current)==null?void 0:_.forceMount)!=null?I:c==null?void 0:c.forceMount;dist_k(()=>{if(!p)return d.item(n,c==null?void 0:c.id)},[p]);let b=ve(n,u,[r.value,r.children,u],r.keywords),m=ee(),R=P(v=>v.value&&v.value===b.current),x=P(v=>p||d.filter()===!1?!0:v.search?v.filtered.items.get(n)>0:!0);react.useEffect(()=>{let v=u.current;if(!(!v||r.disabled))return v.addEventListener(Z,C),()=>v.removeEventListener(Z,C)},[x,r.onSelect,r.disabled]);function C(){var v,E;S(),(E=(v=f.current).onSelect)==null||E.call(v,b.current)}function S(){m.setState("value",b.current,!0)}if(!x)return null;let{disabled:A,value:ge,onSelect:j,forceMount:O,keywords:$,...q}=r;return react.createElement(Primitive.div,{ref:composeRefs(u,o),...q,id:n,"cmdk-item":"",role:"option","aria-disabled":!!A,"aria-selected":!!R,"data-disabled":!!A,"data-selected":!!R,onPointerMove:A||d.getDisablePointerSelection()?void 0:S,onClick:A?void 0:C},r.children)}),Ee=react.forwardRef((r,o)=>{let{heading:n,children:u,forceMount:c,...d}=r,f=useId(),p=react.useRef(null),b=react.useRef(null),m=useId(),R=dist_K(),x=P(S=>c||R.filter()===!1?!0:S.search?S.filtered.groups.has(f):!0);dist_k(()=>R.group(f),[]),ve(f,p,[r.value,r.heading,b]);let C=react.useMemo(()=>({id:f,forceMount:c}),[c]);return react.createElement(Primitive.div,{ref:composeRefs(p,o),...d,"cmdk-group":"",role:"presentation",hidden:x?void 0:!0},n&&react.createElement("div",{ref:b,"cmdk-group-heading":"","aria-hidden":!0,id:m},n),dist_B(r,S=>react.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?m:void 0},react.createElement(fe.Provider,{value:C},S))))}),ye=react.forwardRef((r,o)=>{let{alwaysRender:n,...u}=r,c=react.useRef(null),d=P(f=>!f.search);return!n&&!d?null:react.createElement(Primitive.div,{ref:composeRefs(c,o),...u,"cmdk-separator":"",role:"separator"})}),Se=react.forwardRef((r,o)=>{let{onValueChange:n,...u}=r,c=r.value!=null,d=ee(),f=P(m=>m.search),p=P(m=>m.selectedItemId),b=dist_K();return react.useEffect(()=>{r.value!=null&&d.setState("search",r.value)},[r.value]),react.createElement(Primitive.input,{ref:o,...u,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":b.listId,"aria-labelledby":b.labelId,"aria-activedescendant":p,id:b.inputId,type:"text",value:c?r.value:f,onChange:m=>{c||d.setState("search",m.target.value),n==null||n(m.target.value)}})}),Ce=react.forwardRef((r,o)=>{let{children:n,label:u="Suggestions",...c}=r,d=react.useRef(null),f=react.useRef(null),p=P(m=>m.selectedItemId),b=dist_K();return react.useEffect(()=>{if(f.current&&d.current){let m=f.current,R=d.current,x,C=new ResizeObserver(()=>{x=requestAnimationFrame(()=>{let S=m.offsetHeight;R.style.setProperty("--cmdk-list-height",S.toFixed(1)+"px")})});return C.observe(m),()=>{cancelAnimationFrame(x),C.unobserve(m)}}},[]),react.createElement(Primitive.div,{ref:composeRefs(d,o),...c,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":p,"aria-label":u,id:b.listId},dist_B(r,m=>react.createElement("div",{ref:composeRefs(f,b.listInnerRef),"cmdk-list-sizer":""},m)))}),xe=react.forwardRef((r,o)=>{let{open:n,onOpenChange:u,overlayClassName:c,contentClassName:d,container:f,...p}=r;return react.createElement(react_dialog_dist_Root,{open:n,onOpenChange:u},react.createElement(dist_Portal,{container:f},react.createElement(Overlay,{"cmdk-overlay":"",className:c}),react.createElement(Content,{"aria-label":r.label,"cmdk-dialog":"",className:d},react.createElement(me,{ref:o,...p}))))}),Ie=react.forwardRef((r,o)=>P(u=>u.filtered.count===0)?react.createElement(Primitive.div,{ref:o,...r,"cmdk-empty":"",role:"presentation"}):null),Pe=react.forwardRef((r,o)=>{let{progress:n,children:u,label:c="Loading...",...d}=r;return react.createElement(Primitive.div,{ref:o,...d,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":c},dist_B(r,f=>react.createElement("div",{"aria-hidden":!0},f)))}),_e=Object.assign(me,{List:Ce,Item:he,Input:Se,Group:Ee,Separator:ye,Dialog:xe,Empty:Ie,Loading:Pe});function we(r,o){let n=r.nextElementSibling;for(;n;){if(n.matches(o))return n;n=n.nextElementSibling}}function De(r,o){let n=r.previousElementSibling;for(;n;){if(n.matches(o))return n;n=n.previousElementSibling}}function pe(r){let o=react.useRef(r);return dist_k(()=>{o.current=r}),o}var dist_k=typeof window=="undefined"?react.useEffect:react.useLayoutEffect;function L(r){let o=react.useRef();return o.current===void 0&&(o.current=r()),o}function P(r){let o=ee(),n=()=>r(o.snapshot());return react.useSyncExternalStore(o.subscribe,n,n)}function ve(r,o,n,u=[]){let c=react.useRef(),d=dist_K();return dist_k(()=>{var b;let f=(()=>{var m;for(let R of n){if(typeof R=="string")return R.trim();if(typeof R=="object"&&"current"in R)return R.current?(m=R.current.textContent)==null?void 0:m.trim():c.current}})(),p=u.map(m=>m.trim());d.value(r,f,p),(b=o.current)==null||b.setAttribute(T,f),c.current=f}),c}var ke=()=>{let[r,o]=react.useState(),n=L(()=>new Map);return dist_k(()=>{n.current.forEach(u=>u()),n.current=new Map},[r]),(u,c)=>{n.current.set(u,c),o({})}};function Me(r){let o=r.type;return typeof o=="function"?o(r.props):"render"in o?o.render(r.props):r}function dist_B({asChild:r,children:o},n){return r&&react.isValidElement(o)?react.cloneElement(Me(o),{ref:o.ref},n(o.props.children)):n(o)}var Te={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};
|
|
88421
|
+
"use client";var N='[cmdk-group=""]',dist_Y='[cmdk-group-items=""]',be='[cmdk-group-heading=""]',le='[cmdk-item=""]',ce=`${le}:not([aria-disabled="true"])`,Z="cmdk-item-select",T="data-value",Re=(r,o,n)=>W(r,o,n),ue=react.createContext(void 0),dist_K=()=>react.useContext(ue),de=react.createContext(void 0),ee=()=>react.useContext(de),fe=react.createContext(void 0),me=react.forwardRef((r,o)=>{let n=L(()=>{var e,a;return{search:"",value:(a=(e=r.value)!=null?e:r.defaultValue)!=null?a:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),u=L(()=>new Set),c=L(()=>new Map),d=L(()=>new Map),f=L(()=>new Set),p=pe(r),{label:b,children:m,value:R,onValueChange:x,filter:C,shouldFilter:S,loop:A,disablePointerSelection:ge=!1,vimBindings:j=!0,...O}=r,$=dist_useId(),q=dist_useId(),_=dist_useId(),I=react.useRef(null),v=ke();dist_k(()=>{if(R!==void 0){let e=R.trim();n.current.value=e,E.emit()}},[R]),dist_k(()=>{v(6,ne)},[]);let E=react.useMemo(()=>({subscribe:e=>(f.current.add(e),()=>f.current.delete(e)),snapshot:()=>n.current,setState:(e,a,s)=>{var i,l,g,y;if(!Object.is(n.current[e],a)){if(n.current[e]=a,e==="search")J(),z(),v(1,W);else if(e==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let h=document.getElementById(_);h?h.focus():(i=document.getElementById($))==null||i.focus()}if(v(7,()=>{var h;n.current.selectedItemId=(h=M())==null?void 0:h.id,E.emit()}),s||v(5,ne),((l=p.current)==null?void 0:l.value)!==void 0){let h=a!=null?a:"";(y=(g=p.current).onValueChange)==null||y.call(g,h);return}}E.emit()}},emit:()=>{f.current.forEach(e=>e())}}),[]),U=react.useMemo(()=>({value:(e,a,s)=>{var i;a!==((i=d.current.get(e))==null?void 0:i.value)&&(d.current.set(e,{value:a,keywords:s}),n.current.filtered.items.set(e,te(a,s)),v(2,()=>{z(),E.emit()}))},item:(e,a)=>(u.current.add(e),a&&(c.current.has(a)?c.current.get(a).add(e):c.current.set(a,new Set([e]))),v(3,()=>{J(),z(),n.current.value||W(),E.emit()}),()=>{d.current.delete(e),u.current.delete(e),n.current.filtered.items.delete(e);let s=M();v(4,()=>{J(),(s==null?void 0:s.getAttribute("id"))===e&&W(),E.emit()})}),group:e=>(c.current.has(e)||c.current.set(e,new Set),()=>{d.current.delete(e),c.current.delete(e)}),filter:()=>p.current.shouldFilter,label:b||r["aria-label"],getDisablePointerSelection:()=>p.current.disablePointerSelection,listId:$,inputId:_,labelId:q,listInnerRef:I}),[]);function te(e,a){var i,l;let s=(l=(i=p.current)==null?void 0:i.filter)!=null?l:Re;return e?s(e,n.current.search,a):0}function z(){if(!n.current.search||p.current.shouldFilter===!1)return;let e=n.current.filtered.items,a=[];n.current.filtered.groups.forEach(i=>{let l=c.current.get(i),g=0;l.forEach(y=>{let h=e.get(y);g=Math.max(h,g)}),a.push([i,g])});let s=I.current;V().sort((i,l)=>{var h,F;let g=i.getAttribute("id"),y=l.getAttribute("id");return((h=e.get(y))!=null?h:0)-((F=e.get(g))!=null?F:0)}).forEach(i=>{let l=i.closest(dist_Y);l?l.appendChild(i.parentElement===l?i:i.closest(`${dist_Y} > *`)):s.appendChild(i.parentElement===s?i:i.closest(`${dist_Y} > *`))}),a.sort((i,l)=>l[1]-i[1]).forEach(i=>{var g;let l=(g=I.current)==null?void 0:g.querySelector(`${N}[${T}="${encodeURIComponent(i[0])}"]`);l==null||l.parentElement.appendChild(l)})}function W(){let e=V().find(s=>s.getAttribute("aria-disabled")!=="true"),a=e==null?void 0:e.getAttribute(T);E.setState("value",a||void 0)}function J(){var a,s,i,l;if(!n.current.search||p.current.shouldFilter===!1){n.current.filtered.count=u.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let g of u.current){let y=(s=(a=d.current.get(g))==null?void 0:a.value)!=null?s:"",h=(l=(i=d.current.get(g))==null?void 0:i.keywords)!=null?l:[],F=te(y,h);n.current.filtered.items.set(g,F),F>0&&e++}for(let[g,y]of c.current)for(let h of y)if(n.current.filtered.items.get(h)>0){n.current.filtered.groups.add(g);break}n.current.filtered.count=e}function ne(){var a,s,i;let e=M();e&&(((a=e.parentElement)==null?void 0:a.firstChild)===e&&((i=(s=e.closest(N))==null?void 0:s.querySelector(be))==null||i.scrollIntoView({block:"nearest"})),e.scrollIntoView({block:"nearest"}))}function M(){var e;return(e=I.current)==null?void 0:e.querySelector(`${le}[aria-selected="true"]`)}function V(){var e;return Array.from(((e=I.current)==null?void 0:e.querySelectorAll(ce))||[])}function X(e){let s=V()[e];s&&E.setState("value",s.getAttribute(T))}function Q(e){var g;let a=M(),s=V(),i=s.findIndex(y=>y===a),l=s[i+e];(g=p.current)!=null&&g.loop&&(l=i+e<0?s[s.length-1]:i+e===s.length?s[0]:s[i+e]),l&&E.setState("value",l.getAttribute(T))}function re(e){let a=M(),s=a==null?void 0:a.closest(N),i;for(;s&&!i;)s=e>0?we(s,N):De(s,N),i=s==null?void 0:s.querySelector(ce);i?E.setState("value",i.getAttribute(T)):Q(e)}let oe=()=>X(V().length-1),ie=e=>{e.preventDefault(),e.metaKey?oe():e.altKey?re(1):Q(1)},se=e=>{e.preventDefault(),e.metaKey?X(0):e.altKey?re(-1):Q(-1)};return react.createElement(Primitive.div,{ref:o,tabIndex:-1,...O,"cmdk-root":"",onKeyDown:e=>{var s;(s=O.onKeyDown)==null||s.call(O,e);let a=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||a))switch(e.key){case"n":case"j":{j&&e.ctrlKey&&ie(e);break}case"ArrowDown":{ie(e);break}case"p":case"k":{j&&e.ctrlKey&&se(e);break}case"ArrowUp":{se(e);break}case"Home":{e.preventDefault(),X(0);break}case"End":{e.preventDefault(),oe();break}case"Enter":{e.preventDefault();let i=M();if(i){let l=new Event(Z);i.dispatchEvent(l)}}}}},react.createElement("label",{"cmdk-label":"",htmlFor:U.inputId,id:U.labelId,style:Te},b),dist_B(r,e=>react.createElement(de.Provider,{value:E},react.createElement(ue.Provider,{value:U},e))))}),he=react.forwardRef((r,o)=>{var _,I;let n=dist_useId(),u=react.useRef(null),c=react.useContext(fe),d=dist_K(),f=pe(r),p=(I=(_=f.current)==null?void 0:_.forceMount)!=null?I:c==null?void 0:c.forceMount;dist_k(()=>{if(!p)return d.item(n,c==null?void 0:c.id)},[p]);let b=ve(n,u,[r.value,r.children,u],r.keywords),m=ee(),R=P(v=>v.value&&v.value===b.current),x=P(v=>p||d.filter()===!1?!0:v.search?v.filtered.items.get(n)>0:!0);react.useEffect(()=>{let v=u.current;if(!(!v||r.disabled))return v.addEventListener(Z,C),()=>v.removeEventListener(Z,C)},[x,r.onSelect,r.disabled]);function C(){var v,E;S(),(E=(v=f.current).onSelect)==null||E.call(v,b.current)}function S(){m.setState("value",b.current,!0)}if(!x)return null;let{disabled:A,value:ge,onSelect:j,forceMount:O,keywords:$,...q}=r;return react.createElement(Primitive.div,{ref:composeRefs(u,o),...q,id:n,"cmdk-item":"",role:"option","aria-disabled":!!A,"aria-selected":!!R,"data-disabled":!!A,"data-selected":!!R,onPointerMove:A||d.getDisablePointerSelection()?void 0:S,onClick:A?void 0:C},r.children)}),Ee=react.forwardRef((r,o)=>{let{heading:n,children:u,forceMount:c,...d}=r,f=dist_useId(),p=react.useRef(null),b=react.useRef(null),m=dist_useId(),R=dist_K(),x=P(S=>c||R.filter()===!1?!0:S.search?S.filtered.groups.has(f):!0);dist_k(()=>R.group(f),[]),ve(f,p,[r.value,r.heading,b]);let C=react.useMemo(()=>({id:f,forceMount:c}),[c]);return react.createElement(Primitive.div,{ref:composeRefs(p,o),...d,"cmdk-group":"",role:"presentation",hidden:x?void 0:!0},n&&react.createElement("div",{ref:b,"cmdk-group-heading":"","aria-hidden":!0,id:m},n),dist_B(r,S=>react.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?m:void 0},react.createElement(fe.Provider,{value:C},S))))}),ye=react.forwardRef((r,o)=>{let{alwaysRender:n,...u}=r,c=react.useRef(null),d=P(f=>!f.search);return!n&&!d?null:react.createElement(Primitive.div,{ref:composeRefs(c,o),...u,"cmdk-separator":"",role:"separator"})}),Se=react.forwardRef((r,o)=>{let{onValueChange:n,...u}=r,c=r.value!=null,d=ee(),f=P(m=>m.search),p=P(m=>m.selectedItemId),b=dist_K();return react.useEffect(()=>{r.value!=null&&d.setState("search",r.value)},[r.value]),react.createElement(Primitive.input,{ref:o,...u,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":b.listId,"aria-labelledby":b.labelId,"aria-activedescendant":p,id:b.inputId,type:"text",value:c?r.value:f,onChange:m=>{c||d.setState("search",m.target.value),n==null||n(m.target.value)}})}),Ce=react.forwardRef((r,o)=>{let{children:n,label:u="Suggestions",...c}=r,d=react.useRef(null),f=react.useRef(null),p=P(m=>m.selectedItemId),b=dist_K();return react.useEffect(()=>{if(f.current&&d.current){let m=f.current,R=d.current,x,C=new ResizeObserver(()=>{x=requestAnimationFrame(()=>{let S=m.offsetHeight;R.style.setProperty("--cmdk-list-height",S.toFixed(1)+"px")})});return C.observe(m),()=>{cancelAnimationFrame(x),C.unobserve(m)}}},[]),react.createElement(Primitive.div,{ref:composeRefs(d,o),...c,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":p,"aria-label":u,id:b.listId},dist_B(r,m=>react.createElement("div",{ref:composeRefs(f,b.listInnerRef),"cmdk-list-sizer":""},m)))}),xe=react.forwardRef((r,o)=>{let{open:n,onOpenChange:u,overlayClassName:c,contentClassName:d,container:f,...p}=r;return react.createElement(react_dialog_dist_Root,{open:n,onOpenChange:u},react.createElement(dist_Portal,{container:f},react.createElement(Overlay,{"cmdk-overlay":"",className:c}),react.createElement(Content,{"aria-label":r.label,"cmdk-dialog":"",className:d},react.createElement(me,{ref:o,...p}))))}),Ie=react.forwardRef((r,o)=>P(u=>u.filtered.count===0)?react.createElement(Primitive.div,{ref:o,...r,"cmdk-empty":"",role:"presentation"}):null),Pe=react.forwardRef((r,o)=>{let{progress:n,children:u,label:c="Loading...",...d}=r;return react.createElement(Primitive.div,{ref:o,...d,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":c},dist_B(r,f=>react.createElement("div",{"aria-hidden":!0},f)))}),_e=Object.assign(me,{List:Ce,Item:he,Input:Se,Group:Ee,Separator:ye,Dialog:xe,Empty:Ie,Loading:Pe});function we(r,o){let n=r.nextElementSibling;for(;n;){if(n.matches(o))return n;n=n.nextElementSibling}}function De(r,o){let n=r.previousElementSibling;for(;n;){if(n.matches(o))return n;n=n.previousElementSibling}}function pe(r){let o=react.useRef(r);return dist_k(()=>{o.current=r}),o}var dist_k=typeof window=="undefined"?react.useEffect:react.useLayoutEffect;function L(r){let o=react.useRef();return o.current===void 0&&(o.current=r()),o}function P(r){let o=ee(),n=()=>r(o.snapshot());return react.useSyncExternalStore(o.subscribe,n,n)}function ve(r,o,n,u=[]){let c=react.useRef(),d=dist_K();return dist_k(()=>{var b;let f=(()=>{var m;for(let R of n){if(typeof R=="string")return R.trim();if(typeof R=="object"&&"current"in R)return R.current?(m=R.current.textContent)==null?void 0:m.trim():c.current}})(),p=u.map(m=>m.trim());d.value(r,f,p),(b=o.current)==null||b.setAttribute(T,f),c.current=f}),c}var ke=()=>{let[r,o]=react.useState(),n=L(()=>new Map);return dist_k(()=>{n.current.forEach(u=>u()),n.current=new Map},[r]),(u,c)=>{n.current.set(u,c),o({})}};function Me(r){let o=r.type;return typeof o=="function"?o(r.props):"render"in o?o.render(r.props):r}function dist_B({asChild:r,children:o},n){return r&&react.isValidElement(o)?react.cloneElement(Me(o),{ref:o.ref},n(o.props.children)):n(o)}var Te={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};
|
|
87720
88422
|
|
|
87721
88423
|
;// ../../ui-next/src/components/Dialog/useDraggable.ts
|
|
87722
88424
|
|
|
@@ -89448,7 +90150,7 @@ var Select = (props) => {
|
|
|
89448
90150
|
onValueNodeChange: setValueNode,
|
|
89449
90151
|
valueNodeHasChildren,
|
|
89450
90152
|
onValueNodeHasChildrenChange: setValueNodeHasChildren,
|
|
89451
|
-
contentId:
|
|
90153
|
+
contentId: dist_useId(),
|
|
89452
90154
|
value,
|
|
89453
90155
|
onValueChange: setValue,
|
|
89454
90156
|
open,
|
|
@@ -90140,7 +90842,7 @@ var [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GR
|
|
|
90140
90842
|
var SelectGroup = react.forwardRef(
|
|
90141
90843
|
(props, forwardedRef) => {
|
|
90142
90844
|
const { __scopeSelect, ...groupProps } = props;
|
|
90143
|
-
const groupId =
|
|
90845
|
+
const groupId = dist_useId();
|
|
90144
90846
|
return /* @__PURE__ */ (0,jsx_runtime.jsx)(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId, children: /* @__PURE__ */ (0,jsx_runtime.jsx)(Primitive.div, { role: "group", "aria-labelledby": groupId, ...groupProps, ref: forwardedRef }) });
|
|
90145
90847
|
}
|
|
90146
90848
|
);
|
|
@@ -90174,7 +90876,7 @@ var SelectItem = react.forwardRef(
|
|
|
90174
90876
|
forwardedRef,
|
|
90175
90877
|
(node) => contentContext.itemRefCallback?.(node, value, disabled)
|
|
90176
90878
|
);
|
|
90177
|
-
const textId =
|
|
90879
|
+
const textId = dist_useId();
|
|
90178
90880
|
const pointerTypeRef = react.useRef("touch");
|
|
90179
90881
|
const handleSelect = () => {
|
|
90180
90882
|
if (!disabled) {
|
|
@@ -134415,7 +135117,7 @@ var Popover = (props) => {
|
|
|
134415
135117
|
PopoverProvider,
|
|
134416
135118
|
{
|
|
134417
135119
|
scope: __scopePopover,
|
|
134418
|
-
contentId:
|
|
135120
|
+
contentId: dist_useId(),
|
|
134419
135121
|
triggerRef,
|
|
134420
135122
|
open,
|
|
134421
135123
|
onOpenChange: setOpen,
|
|
@@ -201260,9 +201962,6 @@ Calendar_Calendar.displayName = 'Calendar';
|
|
|
201260
201962
|
// EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
|
|
201261
201963
|
var prop_types = __webpack_require__(97598);
|
|
201262
201964
|
var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
|
|
201263
|
-
// EXTERNAL MODULE: ../../../node_modules/lodash.debounce/index.js
|
|
201264
|
-
var lodash_debounce = __webpack_require__(62051);
|
|
201265
|
-
var lodash_debounce_default = /*#__PURE__*/__webpack_require__.n(lodash_debounce);
|
|
201266
201965
|
;// ../../ui-next/src/components/Input/Input.tsx
|
|
201267
201966
|
function Input_extends() { return Input_extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, Input_extends.apply(null, arguments); }
|
|
201268
201967
|
|
|
@@ -202814,7 +203513,7 @@ var RovingFocusGroupItem = react.forwardRef(
|
|
|
202814
203513
|
children,
|
|
202815
203514
|
...itemProps
|
|
202816
203515
|
} = props;
|
|
202817
|
-
const autoId =
|
|
203516
|
+
const autoId = dist_useId();
|
|
202818
203517
|
const id = tabStopId || autoId;
|
|
202819
203518
|
const context = useRovingFocusContext(dist_ITEM_NAME, __scopeRovingFocusGroup);
|
|
202820
203519
|
const isCurrentTabStop = context.currentTabStopId === id;
|
|
@@ -202954,7 +203653,7 @@ var Tabs = react.forwardRef(
|
|
|
202954
203653
|
TabsProvider,
|
|
202955
203654
|
{
|
|
202956
203655
|
scope: __scopeTabs,
|
|
202957
|
-
baseId:
|
|
203656
|
+
baseId: dist_useId(),
|
|
202958
203657
|
value,
|
|
202959
203658
|
onValueChange: setValue,
|
|
202960
203659
|
orientation,
|
|
@@ -205175,7 +205874,7 @@ var Collapsible = react.forwardRef(
|
|
|
205175
205874
|
{
|
|
205176
205875
|
scope: __scopeCollapsible,
|
|
205177
205876
|
disabled,
|
|
205178
|
-
contentId:
|
|
205877
|
+
contentId: dist_useId(),
|
|
205179
205878
|
open,
|
|
205180
205879
|
onOpenToggle: react.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
|
|
205181
205880
|
children: /* @__PURE__ */ (0,jsx_runtime.jsx)(
|
|
@@ -205484,7 +206183,7 @@ var AccordionItem = react.forwardRef(
|
|
|
205484
206183
|
const accordionContext = useAccordionContext(react_accordion_dist_ITEM_NAME, __scopeAccordion);
|
|
205485
206184
|
const valueContext = useAccordionValueContext(react_accordion_dist_ITEM_NAME, __scopeAccordion);
|
|
205486
206185
|
const collapsibleScope = useCollapsibleScope(__scopeAccordion);
|
|
205487
|
-
const triggerId =
|
|
206186
|
+
const triggerId = dist_useId();
|
|
205488
206187
|
const open = value && valueContext.value.includes(value) || false;
|
|
205489
206188
|
const disabled = accordionContext.disabled || props.disabled;
|
|
205490
206189
|
return /* @__PURE__ */ (0,jsx_runtime.jsx)(
|
|
@@ -205725,7 +206424,7 @@ var Tooltip = (props) => {
|
|
|
205725
206424
|
const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);
|
|
205726
206425
|
const popperScope = react_tooltip_dist_usePopperScope(__scopeTooltip);
|
|
205727
206426
|
const [trigger, setTrigger] = react.useState(null);
|
|
205728
|
-
const contentId =
|
|
206427
|
+
const contentId = dist_useId();
|
|
205729
206428
|
const openTimerRef = react.useRef(0);
|
|
205730
206429
|
const disableHoverableContent = disableHoverableContentProp ?? providerContext.disableHoverableContent;
|
|
205731
206430
|
const delayDuration = delayDurationProp ?? providerContext.delayDuration;
|
|
@@ -212938,8 +213637,8 @@ var MenuSub = (props) => {
|
|
|
212938
213637
|
MenuSubProvider,
|
|
212939
213638
|
{
|
|
212940
213639
|
scope: __scopeMenu,
|
|
212941
|
-
contentId:
|
|
212942
|
-
triggerId:
|
|
213640
|
+
contentId: dist_useId(),
|
|
213641
|
+
triggerId: dist_useId(),
|
|
212943
213642
|
trigger,
|
|
212944
213643
|
onTriggerChange: setTrigger,
|
|
212945
213644
|
children
|
|
@@ -213215,9 +213914,9 @@ var DropdownMenu = (props) => {
|
|
|
213215
213914
|
DropdownMenuProvider,
|
|
213216
213915
|
{
|
|
213217
213916
|
scope: __scopeDropdownMenu,
|
|
213218
|
-
triggerId:
|
|
213917
|
+
triggerId: dist_useId(),
|
|
213219
213918
|
triggerRef,
|
|
213220
|
-
contentId:
|
|
213919
|
+
contentId: dist_useId(),
|
|
213221
213920
|
open,
|
|
213222
213921
|
onOpenChange: setOpen,
|
|
213223
213922
|
onOpenToggle: react.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
|
|
@@ -218776,13 +219475,13 @@ const ManagedDialog = /*#__PURE__*/(0,react.forwardRef)(({
|
|
|
218776
219475
|
ManagedDialog.displayName = 'ManagedDialog';
|
|
218777
219476
|
/* harmony default export */ const contextProviders_ManagedDialog = (ManagedDialog);
|
|
218778
219477
|
;// ../../ui-next/src/contextProviders/DialogProvider.tsx
|
|
218779
|
-
/* unused harmony import specifier */ var
|
|
219478
|
+
/* unused harmony import specifier */ var DialogProvider_useContext;
|
|
218780
219479
|
function DialogProvider_extends() { return DialogProvider_extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, DialogProvider_extends.apply(null, arguments); }
|
|
218781
219480
|
|
|
218782
219481
|
|
|
218783
219482
|
const DialogProvider_DialogContext = /*#__PURE__*/(0,react.createContext)(null);
|
|
218784
219483
|
const useDialog = () => {
|
|
218785
|
-
const context =
|
|
219484
|
+
const context = DialogProvider_useContext(DialogProvider_DialogContext);
|
|
218786
219485
|
if (!context) {
|
|
218787
219486
|
throw new Error('useDialog must be used within a DialogProvider');
|
|
218788
219487
|
}
|
|
@@ -222394,7 +223093,7 @@ DataRow.Status = Status;
|
|
|
222394
223093
|
|
|
222395
223094
|
// https://github.com/reach/reach-ui/blob/dev/packages/utils/src/context.tsx
|
|
222396
223095
|
|
|
222397
|
-
function
|
|
223096
|
+
function createContext_createContext(rootComponentName, defaultContext) {
|
|
222398
223097
|
const Ctx = /*#__PURE__*/react.createContext(defaultContext);
|
|
222399
223098
|
function Provider(props) {
|
|
222400
223099
|
const {
|
|
@@ -222428,7 +223127,7 @@ function createContext(rootComponentName, defaultContext) {
|
|
|
222428
223127
|
|
|
222429
223128
|
|
|
222430
223129
|
|
|
222431
|
-
const [MeasurementTableProvider, useMeasurementTableContext] =
|
|
223130
|
+
const [MeasurementTableProvider, useMeasurementTableContext] = createContext_createContext('MeasurementTable', {
|
|
222432
223131
|
data: [],
|
|
222433
223132
|
isExpanded: true
|
|
222434
223133
|
});
|
|
@@ -230686,6 +231385,7 @@ const LabellingFlow = ({
|
|
|
230686
231385
|
|
|
230687
231386
|
|
|
230688
231387
|
|
|
231388
|
+
|
|
230689
231389
|
|
|
230690
231390
|
|
|
230691
231391
|
// Segmentation Context Exports
|
|
@@ -230995,8 +231695,8 @@ Typography.propTypes = {
|
|
|
230995
231695
|
;// ../../ui/src/components/Typography/index.js
|
|
230996
231696
|
|
|
230997
231697
|
/* harmony default export */ const components_Typography = (Typography_Typography);
|
|
230998
|
-
// EXTERNAL MODULE: ../../ui-next/src/index.ts +
|
|
230999
|
-
var src = __webpack_require__(
|
|
231698
|
+
// EXTERNAL MODULE: ../../ui-next/src/index.ts + 3084 modules
|
|
231699
|
+
var src = __webpack_require__(15953);
|
|
231000
231700
|
;// ../../ui/src/components/EmptyStudies/EmptyStudies.tsx
|
|
231001
231701
|
|
|
231002
231702
|
|
|
@@ -239681,8 +240381,8 @@ Compose.propTypes = {
|
|
|
239681
240381
|
};
|
|
239682
240382
|
// EXTERNAL MODULE: ../../core/src/index.ts + 69 modules
|
|
239683
240383
|
var core_src = __webpack_require__(42356);
|
|
239684
|
-
// EXTERNAL MODULE: ../../ui-next/src/index.ts +
|
|
239685
|
-
var ui_next_src = __webpack_require__(
|
|
240384
|
+
// EXTERNAL MODULE: ../../ui-next/src/index.ts + 3084 modules
|
|
240385
|
+
var ui_next_src = __webpack_require__(15953);
|
|
239686
240386
|
// EXTERNAL MODULE: ./state/index.js + 1 modules
|
|
239687
240387
|
var state = __webpack_require__(45981);
|
|
239688
240388
|
// EXTERNAL MODULE: ../../../node_modules/react-router/dist/index.js
|
|
@@ -241802,7 +242502,7 @@ async function defaultRouteInit({
|
|
|
241802
242502
|
hangingProtocolService.run({
|
|
241803
242503
|
studies,
|
|
241804
242504
|
activeStudy,
|
|
241805
|
-
displaySets
|
|
242505
|
+
displaySets: sortedDisplaySets
|
|
241806
242506
|
}, hangingProtocolId, {
|
|
241807
242507
|
stageIndex
|
|
241808
242508
|
});
|
|
@@ -396694,7 +397394,7 @@ function __rewriteRelativeImportExtension(path, preserveJsx) {
|
|
|
396694
397394
|
/******/ // This function allow to reference async chunks
|
|
396695
397395
|
/******/ __webpack_require__.u = (chunkId) => {
|
|
396696
397396
|
/******/ // return url for filenames based on template
|
|
396697
|
-
/******/ return "" + ({"572":"polySeg","2007":"interpolation","3054":"histogram-worker","3694":"compute"}[chunkId] || chunkId) + ".bundle." + {"85":"
|
|
397397
|
+
/******/ return "" + ({"572":"polySeg","2007":"interpolation","3054":"histogram-worker","3694":"compute"}[chunkId] || chunkId) + ".bundle." + {"85":"be3de438b31fcd0bdf98","147":"173b4a11960d03a3b5b0","213":"7ea13f79d28e6b79d0dc","572":"70369a8c69b843375431","732":"ea6f9d8504e37e01a208","1459":"1578fc874558784d3a2a","1608":"e4aadbf17d38143dacdf","1927":"be67b3aafe238ca9f191","1933":"68ab0d4f329f6438520f","2007":"53073c15cca1c5a41ae4","2018":"815cdd7ef9d4c3edc816","2075":"0e69a126a39539ff8e9a","2108":"aea8d3b39486dd5ab39e","2424":"c562d715a07cc15002ea","2701":"b591cf6385ed53ed6093","3054":"a2a50c4674d99c619ca7","3138":"2da3ce5b42ce97e92fac","3461":"75e15ea13e39c5d80e62","3694":"ba3878791df68055b11d","4202":"850a7c7c011800b3daea","4287":"b7840e7b94cbbc102236","4406":"573d234b4641d23cf8db","4507":"697a334d7d3686b4f9a3","4688":"6797ff151db0973c8e3b","4819":"b184a0f0c159ce8f1f8d","5015":"21b2a904762fa1690648","5028":"b1060271494c162341c1","5261":"2655560097e9250eac44","5457":"b9bd5c411e8db274a88f","5485":"541c61d8e24cb145cb94","5802":"addd0259c8f9d0a18244","6027":"e1d958d21d152f917461","6939":"41fbdef87597b5172ec6","7159":"fb9df255868960f69765","7431":"5e14641f2c71e852abe7","7639":"3518e5907ec688a4aa04","8094":"148a66619607e37cbf19","8305":"bf9c862af030865ea106","8499":"fd282ff4fe499abdd01f","8558":"6ec562e3d201780f1444","8583":"422aa3bbdde39826560a","8963":"0f106869f9d0eb0bba03","9195":"3578183b4f9e9baf11b2","9205":"9a5f5dd04fd0831d9a4a","9567":"be350438bed4e656f278","9845":"267831496ba080d9f8da","9862":"09783830f0cb75a84d2a","9927":"481f2fefa9787af307c0"}[chunkId] + ".js";
|
|
396698
397398
|
/******/ };
|
|
396699
397399
|
/******/ })();
|
|
396700
397400
|
/******/
|