@vuu-ui/vuu-ui-controls 0.8.23-debug → 0.8.24-debug
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/cjs/index.js +358 -309
- package/cjs/index.js.map +4 -4
- package/esm/index.js +179 -130
- package/esm/index.js.map +4 -4
- package/index.css +80 -48
- package/index.css.map +3 -3
- package/package.json +8 -8
- package/types/icon-button/Icon.d.ts +7 -0
- package/types/icon-button/IconButton.d.ts +7 -0
- package/types/icon-button/index.d.ts +2 -0
- package/types/index.d.ts +1 -0
- package/types/list/useListHeight.d.ts +2 -1
- package/types/split-button/SplitButton.d.ts +4 -2
- package/types/split-button/useSplitButton.d.ts +3 -3
package/esm/index.js
CHANGED
|
@@ -2536,9 +2536,9 @@ var getNonWrappedAndWrappedItems = (container, orientation = "horizontal") => {
|
|
|
2536
2536
|
}
|
|
2537
2537
|
return [nonWrappedItems, wrappedItems];
|
|
2538
2538
|
};
|
|
2539
|
-
var applyOverflowClassToWrappedItems = (container, overflowedItems,
|
|
2539
|
+
var applyOverflowClassToWrappedItems = (container, overflowedItems, classBase26) => {
|
|
2540
2540
|
let ignoreOverflow = false;
|
|
2541
|
-
const className =
|
|
2541
|
+
const className = classBase26 ? `${classBase26}-overflowed` : "overflow";
|
|
2542
2542
|
if (overflowedItems.find(({ index }) => index === "overflow")) {
|
|
2543
2543
|
if (overflowedItems.length === 1) {
|
|
2544
2544
|
ignoreOverflow = true;
|
|
@@ -10097,8 +10097,43 @@ var ExpandoInput = forwardRef20(function ExpandoInput2({
|
|
|
10097
10097
|
);
|
|
10098
10098
|
});
|
|
10099
10099
|
|
|
10100
|
+
// src/icon-button/Icon.tsx
|
|
10101
|
+
import cx15 from "clsx";
|
|
10102
|
+
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
10103
|
+
var classBase13 = "vuuIcon";
|
|
10104
|
+
var Icon = ({
|
|
10105
|
+
className,
|
|
10106
|
+
name,
|
|
10107
|
+
size,
|
|
10108
|
+
style: styleProp,
|
|
10109
|
+
...htmlAttributes
|
|
10110
|
+
}) => {
|
|
10111
|
+
const style = typeof size === "number" ? { ...styleProp, "--vuu-icon-size": `${size}px` } : styleProp;
|
|
10112
|
+
return /* @__PURE__ */ jsx33(
|
|
10113
|
+
"span",
|
|
10114
|
+
{
|
|
10115
|
+
...htmlAttributes,
|
|
10116
|
+
className: cx15(classBase13, className),
|
|
10117
|
+
"data-icon": name,
|
|
10118
|
+
style
|
|
10119
|
+
}
|
|
10120
|
+
);
|
|
10121
|
+
};
|
|
10122
|
+
|
|
10123
|
+
// src/icon-button/IconButton.tsx
|
|
10124
|
+
import cx16 from "clsx";
|
|
10125
|
+
import { Button as Button5 } from "@salt-ds/core";
|
|
10126
|
+
import { forwardRef as forwardRef21 } from "react";
|
|
10127
|
+
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
10128
|
+
var classBase14 = "vuuIconButton";
|
|
10129
|
+
var IconButton = forwardRef21(
|
|
10130
|
+
function IconButton2({ className, icon, ...buttonProps }, ref) {
|
|
10131
|
+
return /* @__PURE__ */ jsx34(Button5, { ...buttonProps, className: cx16(classBase14, className), ref, children: /* @__PURE__ */ jsx34(Icon, { name: icon }) });
|
|
10132
|
+
}
|
|
10133
|
+
);
|
|
10134
|
+
|
|
10100
10135
|
// src/inputs/Checkbox.tsx
|
|
10101
|
-
import { jsx as
|
|
10136
|
+
import { jsx as jsx35, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
10102
10137
|
var Checkbox = (props) => {
|
|
10103
10138
|
const { onToggle, checked, label } = props;
|
|
10104
10139
|
return /* @__PURE__ */ jsxs15(
|
|
@@ -10108,7 +10143,7 @@ var Checkbox = (props) => {
|
|
|
10108
10143
|
onClick: onToggle,
|
|
10109
10144
|
onKeyUp: (e) => e.key === " " && onToggle(),
|
|
10110
10145
|
children: [
|
|
10111
|
-
/* @__PURE__ */
|
|
10146
|
+
/* @__PURE__ */ jsx35(CheckboxIcon, { tabIndex: 0, checked }),
|
|
10112
10147
|
label
|
|
10113
10148
|
]
|
|
10114
10149
|
}
|
|
@@ -10116,13 +10151,13 @@ var Checkbox = (props) => {
|
|
|
10116
10151
|
};
|
|
10117
10152
|
|
|
10118
10153
|
// src/inputs/RadioButton.tsx
|
|
10119
|
-
import { jsx as
|
|
10154
|
+
import { jsx as jsx36, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
10120
10155
|
var RadioButton = (props) => {
|
|
10121
10156
|
const { onClick, checked, label, groupName } = props;
|
|
10122
10157
|
return /* @__PURE__ */ jsxs16("div", { className: "vuuRadioButton", onClick, children: [
|
|
10123
10158
|
/* @__PURE__ */ jsxs16("div", { className: "radio", children: [
|
|
10124
|
-
/* @__PURE__ */
|
|
10125
|
-
/* @__PURE__ */
|
|
10159
|
+
/* @__PURE__ */ jsx36("input", { type: "radio", name: groupName }),
|
|
10160
|
+
/* @__PURE__ */ jsx36(RadioIcon, { checked })
|
|
10126
10161
|
] }),
|
|
10127
10162
|
label
|
|
10128
10163
|
] });
|
|
@@ -10132,12 +10167,12 @@ var RadioButton = (props) => {
|
|
|
10132
10167
|
import { Table } from "@vuu-ui/vuu-table";
|
|
10133
10168
|
import { useId as useId8 } from "@vuu-ui/vuu-utils";
|
|
10134
10169
|
import { Input as Input4 } from "@salt-ds/core";
|
|
10135
|
-
import { forwardRef as
|
|
10170
|
+
import { forwardRef as forwardRef22, useMemo as useMemo17 } from "react";
|
|
10136
10171
|
|
|
10137
10172
|
// src/instrument-picker/SearchCell.tsx
|
|
10138
10173
|
import { registerComponent } from "@vuu-ui/vuu-utils";
|
|
10139
|
-
import { jsx as
|
|
10140
|
-
var
|
|
10174
|
+
import { jsx as jsx37, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
10175
|
+
var classBase15 = "vuuSearchCell";
|
|
10141
10176
|
var SearchCell = ({
|
|
10142
10177
|
column,
|
|
10143
10178
|
columnMap,
|
|
@@ -10145,8 +10180,8 @@ var SearchCell = ({
|
|
|
10145
10180
|
}) => {
|
|
10146
10181
|
const key = columnMap[column.name];
|
|
10147
10182
|
const value = row[key];
|
|
10148
|
-
return /* @__PURE__ */ jsxs17("div", { className:
|
|
10149
|
-
/* @__PURE__ */
|
|
10183
|
+
return /* @__PURE__ */ jsxs17("div", { className: classBase15, tabIndex: -1, children: [
|
|
10184
|
+
/* @__PURE__ */ jsx37("span", { "data-icon": "draggable" }),
|
|
10150
10185
|
value
|
|
10151
10186
|
] });
|
|
10152
10187
|
};
|
|
@@ -10241,12 +10276,12 @@ var useInstrumentPicker = ({
|
|
|
10241
10276
|
};
|
|
10242
10277
|
|
|
10243
10278
|
// src/instrument-picker/InstrumentPicker.tsx
|
|
10244
|
-
import { jsx as
|
|
10245
|
-
var
|
|
10279
|
+
import { jsx as jsx38, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
10280
|
+
var classBase16 = "vuuInstrumentPicker";
|
|
10246
10281
|
if (typeof SearchCell !== "function") {
|
|
10247
10282
|
console.warn("Instrument Picker: SearchCell module not loaded ");
|
|
10248
10283
|
}
|
|
10249
|
-
var InstrumentPicker =
|
|
10284
|
+
var InstrumentPicker = forwardRef22(function InstrumentPicker2({
|
|
10250
10285
|
TableProps: { dataSource, ...TableProps3 },
|
|
10251
10286
|
className,
|
|
10252
10287
|
columnMap,
|
|
@@ -10278,7 +10313,7 @@ var InstrumentPicker = forwardRef21(function InstrumentPicker2({
|
|
|
10278
10313
|
onSelect,
|
|
10279
10314
|
searchColumns
|
|
10280
10315
|
});
|
|
10281
|
-
const endAdornment = useMemo17(() => /* @__PURE__ */
|
|
10316
|
+
const endAdornment = useMemo17(() => /* @__PURE__ */ jsx38("span", { "data-icon": "chevron-down" }), []);
|
|
10282
10317
|
const tableProps = {
|
|
10283
10318
|
...TableProps3,
|
|
10284
10319
|
config: {
|
|
@@ -10299,7 +10334,7 @@ var InstrumentPicker = forwardRef21(function InstrumentPicker2({
|
|
|
10299
10334
|
ref: forwardedRef,
|
|
10300
10335
|
width,
|
|
10301
10336
|
children: [
|
|
10302
|
-
/* @__PURE__ */
|
|
10337
|
+
/* @__PURE__ */ jsx38(
|
|
10303
10338
|
Input4,
|
|
10304
10339
|
{
|
|
10305
10340
|
...inputProps,
|
|
@@ -10308,14 +10343,14 @@ var InstrumentPicker = forwardRef21(function InstrumentPicker2({
|
|
|
10308
10343
|
value
|
|
10309
10344
|
}
|
|
10310
10345
|
),
|
|
10311
|
-
/* @__PURE__ */
|
|
10346
|
+
/* @__PURE__ */ jsx38(
|
|
10312
10347
|
Table,
|
|
10313
10348
|
{
|
|
10314
10349
|
rowHeight: 25,
|
|
10315
10350
|
renderBufferSize: 100,
|
|
10316
10351
|
...tableProps,
|
|
10317
10352
|
...tableHandlers,
|
|
10318
|
-
className: `${
|
|
10353
|
+
className: `${classBase16}-list`,
|
|
10319
10354
|
height: 200,
|
|
10320
10355
|
highlightedIndex,
|
|
10321
10356
|
dataSource,
|
|
@@ -10336,13 +10371,13 @@ import {
|
|
|
10336
10371
|
useControlledTableNavigation as useControlledTableNavigation2
|
|
10337
10372
|
} from "@vuu-ui/vuu-table";
|
|
10338
10373
|
import { Input as Input5 } from "@salt-ds/core";
|
|
10339
|
-
import
|
|
10374
|
+
import cx17 from "clsx";
|
|
10340
10375
|
import { useCallback as useCallback47 } from "react";
|
|
10341
10376
|
|
|
10342
10377
|
// src/instrument-search/SearchCell.tsx
|
|
10343
10378
|
import { registerComponent as registerComponent2 } from "@vuu-ui/vuu-utils";
|
|
10344
|
-
import { jsx as
|
|
10345
|
-
var
|
|
10379
|
+
import { jsx as jsx39, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
10380
|
+
var classBase17 = "vuuSearchCell";
|
|
10346
10381
|
var SearchCell2 = ({
|
|
10347
10382
|
column,
|
|
10348
10383
|
columnMap,
|
|
@@ -10350,8 +10385,8 @@ var SearchCell2 = ({
|
|
|
10350
10385
|
}) => {
|
|
10351
10386
|
const key = columnMap[column.name];
|
|
10352
10387
|
const value = row[key];
|
|
10353
|
-
return /* @__PURE__ */ jsxs19("div", { className:
|
|
10354
|
-
/* @__PURE__ */
|
|
10388
|
+
return /* @__PURE__ */ jsxs19("div", { className: classBase17, tabIndex: -1, children: [
|
|
10389
|
+
/* @__PURE__ */ jsx39("span", { "data-icon": "draggable" }),
|
|
10355
10390
|
value
|
|
10356
10391
|
] });
|
|
10357
10392
|
};
|
|
@@ -10395,8 +10430,8 @@ var useInstrumentSearch = ({
|
|
|
10395
10430
|
};
|
|
10396
10431
|
|
|
10397
10432
|
// src/instrument-search/InstrumentSearch.tsx
|
|
10398
|
-
import { jsx as
|
|
10399
|
-
var
|
|
10433
|
+
import { jsx as jsx40, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
10434
|
+
var classBase18 = "vuuInstrumentSearch";
|
|
10400
10435
|
if (typeof SearchCell2 !== "function") {
|
|
10401
10436
|
console.warn("Instrument Search: SearchCell module not loaded ");
|
|
10402
10437
|
}
|
|
@@ -10416,7 +10451,7 @@ var defaultTableConfig = {
|
|
|
10416
10451
|
],
|
|
10417
10452
|
rowSeparators: true
|
|
10418
10453
|
};
|
|
10419
|
-
var searchIcon = /* @__PURE__ */
|
|
10454
|
+
var searchIcon = /* @__PURE__ */ jsx40("span", { "data-icon": "search" });
|
|
10420
10455
|
var InstrumentSearch = ({
|
|
10421
10456
|
TableProps: TableProps3,
|
|
10422
10457
|
autoFocus = false,
|
|
@@ -10438,8 +10473,8 @@ var InstrumentSearch = ({
|
|
|
10438
10473
|
(_a3 = el == null ? void 0 : el.querySelector("input")) == null ? void 0 : _a3.focus();
|
|
10439
10474
|
}, 100);
|
|
10440
10475
|
}, []);
|
|
10441
|
-
return /* @__PURE__ */ jsxs20("div", { ...htmlAttributes, className:
|
|
10442
|
-
/* @__PURE__ */
|
|
10476
|
+
return /* @__PURE__ */ jsxs20("div", { ...htmlAttributes, className: cx17(classBase18, className), children: [
|
|
10477
|
+
/* @__PURE__ */ jsx40("div", { className: `${classBase18}-inputField`, children: /* @__PURE__ */ jsx40(
|
|
10443
10478
|
Input5,
|
|
10444
10479
|
{
|
|
10445
10480
|
inputProps: { onKeyDown },
|
|
@@ -10450,7 +10485,7 @@ var InstrumentSearch = ({
|
|
|
10450
10485
|
onChange
|
|
10451
10486
|
}
|
|
10452
10487
|
) }),
|
|
10453
|
-
dataSource ? /* @__PURE__ */
|
|
10488
|
+
dataSource ? /* @__PURE__ */ jsx40(
|
|
10454
10489
|
Table2,
|
|
10455
10490
|
{
|
|
10456
10491
|
disableFocus: true,
|
|
@@ -10460,7 +10495,7 @@ var InstrumentSearch = ({
|
|
|
10460
10495
|
highlightedIndex: highlightedIndexRef.current,
|
|
10461
10496
|
renderBufferSize: 100,
|
|
10462
10497
|
...TableProps3,
|
|
10463
|
-
className: `${
|
|
10498
|
+
className: `${classBase18}-list`,
|
|
10464
10499
|
dataSource,
|
|
10465
10500
|
navigationStyle: "row",
|
|
10466
10501
|
onHighlight,
|
|
@@ -10480,9 +10515,9 @@ import {
|
|
|
10480
10515
|
numericFormatter
|
|
10481
10516
|
} from "@vuu-ui/vuu-utils";
|
|
10482
10517
|
import { memo, useMemo as useMemo19, useRef as useRef34 } from "react";
|
|
10483
|
-
import
|
|
10484
|
-
import { jsx as
|
|
10485
|
-
var
|
|
10518
|
+
import cx18 from "clsx";
|
|
10519
|
+
import { jsx as jsx41, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
10520
|
+
var classBase19 = "vuuPriceTicker";
|
|
10486
10521
|
var getValueFormatter = (decimals) => numericFormatter({
|
|
10487
10522
|
type: {
|
|
10488
10523
|
name: "number",
|
|
@@ -10506,9 +10541,9 @@ var PriceTicker = memo(
|
|
|
10506
10541
|
const formatNumber = useMemo19(() => getValueFormatter(decimals), [decimals]);
|
|
10507
10542
|
const direction = isValidNumber5(prevValue) ? getMovingValueDirection(price, prevDirection, prevValue, decimals) : "";
|
|
10508
10543
|
ref.current = [price, direction];
|
|
10509
|
-
return /* @__PURE__ */ jsxs21("div", { ...htmlAttributes, className:
|
|
10544
|
+
return /* @__PURE__ */ jsxs21("div", { ...htmlAttributes, className: cx18(classBase19, className, direction), children: [
|
|
10510
10545
|
formatNumber(price),
|
|
10511
|
-
showArrow ? /* @__PURE__ */
|
|
10546
|
+
showArrow ? /* @__PURE__ */ jsx41("span", { "data-icon": "price-arrow" }) : null
|
|
10512
10547
|
] });
|
|
10513
10548
|
}
|
|
10514
10549
|
);
|
|
@@ -10516,7 +10551,7 @@ PriceTicker.displayName = "PriceTicker";
|
|
|
10516
10551
|
|
|
10517
10552
|
// src/split-button/SplitButton.tsx
|
|
10518
10553
|
import { PopupMenu as PopupMenu2 } from "@vuu-ui/vuu-popups";
|
|
10519
|
-
import { Button as
|
|
10554
|
+
import { Button as Button6 } from "@salt-ds/core";
|
|
10520
10555
|
|
|
10521
10556
|
// src/split-button/useSplitButton.ts
|
|
10522
10557
|
import { dispatchMouseEvent as dispatchMouseEvent2 } from "@vuu-ui/vuu-utils";
|
|
@@ -10527,7 +10562,7 @@ import {
|
|
|
10527
10562
|
var useSplitButton = ({
|
|
10528
10563
|
ButtonProps: ButtonPropsProp,
|
|
10529
10564
|
PopupMenuProps: PopupMenuProps3,
|
|
10530
|
-
classBase:
|
|
10565
|
+
classBase: classBase26,
|
|
10531
10566
|
onClick,
|
|
10532
10567
|
segmented
|
|
10533
10568
|
}) => {
|
|
@@ -10536,39 +10571,47 @@ var useSplitButton = ({
|
|
|
10536
10571
|
const onMenuClose = useCallback48((reason) => {
|
|
10537
10572
|
var _a2;
|
|
10538
10573
|
if ((reason == null ? void 0 : reason.type) !== "tab-away") {
|
|
10539
|
-
(_a2 = rootRef.current) == null ? void 0 : _a2.
|
|
10574
|
+
const buttonMain = (_a2 = rootRef.current) == null ? void 0 : _a2.querySelector(
|
|
10575
|
+
".vuuSplitButton-main"
|
|
10576
|
+
);
|
|
10577
|
+
buttonMain == null ? void 0 : buttonMain.focus();
|
|
10540
10578
|
}
|
|
10541
10579
|
}, []);
|
|
10542
10580
|
const menuProps = {
|
|
10543
10581
|
...PopupMenuProps3,
|
|
10544
10582
|
anchorElement: rootRef,
|
|
10545
|
-
menuClassName: `${
|
|
10583
|
+
menuClassName: `${classBase26}-menu`,
|
|
10546
10584
|
onMenuClose,
|
|
10547
10585
|
popupPlacement: "below-full-width"
|
|
10548
10586
|
};
|
|
10549
|
-
const handleRootFocus = useCallback48(
|
|
10550
|
-
|
|
10551
|
-
|
|
10552
|
-
|
|
10553
|
-
|
|
10554
|
-
|
|
10587
|
+
const handleRootFocus = useCallback48(() => {
|
|
10588
|
+
const { current: splitButton } = rootRef;
|
|
10589
|
+
if (!(splitButton == null ? void 0 : splitButton.classList.contains("vuuFocusVisible"))) {
|
|
10590
|
+
splitButton == null ? void 0 : splitButton.classList.add("vuuFocusVisible");
|
|
10591
|
+
}
|
|
10592
|
+
}, []);
|
|
10593
|
+
const handleRootBlur = useCallback48((evt) => {
|
|
10594
|
+
const { current: splitButton } = rootRef;
|
|
10595
|
+
const target = evt.relatedTarget;
|
|
10596
|
+
if (!(splitButton == null ? void 0 : splitButton.contains(target))) {
|
|
10597
|
+
if (splitButton == null ? void 0 : splitButton.classList.contains("vuuFocusVisible")) {
|
|
10598
|
+
splitButton.classList.remove("vuuFocusVisible");
|
|
10555
10599
|
}
|
|
10556
|
-
}
|
|
10557
|
-
|
|
10558
|
-
);
|
|
10600
|
+
}
|
|
10601
|
+
}, []);
|
|
10559
10602
|
const handleButtonKeyDown = useCallback48(
|
|
10560
10603
|
(evt) => {
|
|
10561
10604
|
var _a2;
|
|
10562
10605
|
if (evt.key === "ArrowDown") {
|
|
10563
10606
|
const popupTrigger = (_a2 = rootRef.current) == null ? void 0 : _a2.querySelector(
|
|
10564
|
-
`.${
|
|
10607
|
+
`.${classBase26}-trigger`
|
|
10565
10608
|
);
|
|
10566
10609
|
if (popupTrigger) {
|
|
10567
10610
|
dispatchMouseEvent2(popupTrigger, "click");
|
|
10568
10611
|
}
|
|
10569
10612
|
}
|
|
10570
10613
|
},
|
|
10571
|
-
[
|
|
10614
|
+
[classBase26]
|
|
10572
10615
|
);
|
|
10573
10616
|
const handleClick = useCallback48(
|
|
10574
10617
|
(evt) => {
|
|
@@ -10576,71 +10619,76 @@ var useSplitButton = ({
|
|
|
10576
10619
|
},
|
|
10577
10620
|
[onClick]
|
|
10578
10621
|
);
|
|
10579
|
-
const
|
|
10622
|
+
const ButtonProps6 = {
|
|
10580
10623
|
...ButtonPropsProp,
|
|
10581
10624
|
onClick: segmented ? handleClick : void 0,
|
|
10582
10625
|
onKeyDown: handleButtonKeyDown
|
|
10583
10626
|
};
|
|
10584
10627
|
return {
|
|
10585
|
-
ButtonProps:
|
|
10628
|
+
ButtonProps: ButtonProps6,
|
|
10586
10629
|
PopupMenuProps: menuProps,
|
|
10587
10630
|
buttonRef,
|
|
10588
10631
|
rootRef,
|
|
10589
10632
|
onClick: segmented ? void 0 : handleClick,
|
|
10633
|
+
onBlur: handleRootBlur,
|
|
10590
10634
|
onFocus: handleRootFocus
|
|
10591
10635
|
};
|
|
10592
10636
|
};
|
|
10593
10637
|
|
|
10594
10638
|
// src/split-button/SplitButton.tsx
|
|
10595
|
-
import
|
|
10596
|
-
import { jsx as
|
|
10597
|
-
var
|
|
10639
|
+
import cx19 from "clsx";
|
|
10640
|
+
import { jsx as jsx42, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
10641
|
+
var classBase20 = "vuuSplitButton";
|
|
10598
10642
|
var SplitButton = ({
|
|
10599
10643
|
ButtonProps: ButtonPropsProp,
|
|
10600
10644
|
PopupMenuProps: PopupMenuPropsProp,
|
|
10601
10645
|
buttonText,
|
|
10646
|
+
disabled = false,
|
|
10602
10647
|
onClick,
|
|
10603
10648
|
segmented = false,
|
|
10649
|
+
variant = "primary",
|
|
10604
10650
|
...htmlAttributes
|
|
10605
10651
|
}) => {
|
|
10606
10652
|
var _a2;
|
|
10607
|
-
const { ButtonProps:
|
|
10653
|
+
const { ButtonProps: ButtonProps6, buttonRef, rootRef, PopupMenuProps: PopupMenuProps3, ...rootProps } = useSplitButton({
|
|
10608
10654
|
ButtonProps: ButtonPropsProp,
|
|
10609
10655
|
PopupMenuProps: PopupMenuPropsProp,
|
|
10610
|
-
classBase:
|
|
10656
|
+
classBase: classBase20,
|
|
10611
10657
|
onClick,
|
|
10612
10658
|
segmented
|
|
10613
10659
|
});
|
|
10614
|
-
console.log({ ButtonProps: ButtonProps5 });
|
|
10615
10660
|
return /* @__PURE__ */ jsxs22(
|
|
10616
10661
|
"div",
|
|
10617
10662
|
{
|
|
10618
10663
|
...htmlAttributes,
|
|
10619
10664
|
...rootProps,
|
|
10620
|
-
className:
|
|
10621
|
-
[`${
|
|
10665
|
+
className: cx19(classBase20, `${classBase20}-${variant}`, {
|
|
10666
|
+
[`${classBase20}-disabled`]: disabled,
|
|
10667
|
+
[`${classBase20}-segmented`]: segmented
|
|
10622
10668
|
}),
|
|
10623
10669
|
ref: rootRef,
|
|
10624
10670
|
"data-showcase-center": true,
|
|
10625
|
-
tabIndex: segmented ? void 0 : 0,
|
|
10626
10671
|
children: [
|
|
10627
|
-
/* @__PURE__ */
|
|
10628
|
-
|
|
10672
|
+
/* @__PURE__ */ jsx42(
|
|
10673
|
+
Button6,
|
|
10629
10674
|
{
|
|
10630
|
-
...
|
|
10631
|
-
className: `${
|
|
10675
|
+
...ButtonProps6,
|
|
10676
|
+
className: `${classBase20}-main`,
|
|
10677
|
+
disabled,
|
|
10632
10678
|
ref: buttonRef,
|
|
10633
|
-
variant
|
|
10679
|
+
variant,
|
|
10634
10680
|
children: buttonText
|
|
10635
10681
|
}
|
|
10636
10682
|
),
|
|
10637
|
-
/* @__PURE__ */
|
|
10683
|
+
/* @__PURE__ */ jsx42(
|
|
10638
10684
|
PopupMenu2,
|
|
10639
10685
|
{
|
|
10640
10686
|
...PopupMenuProps3,
|
|
10641
|
-
className: `${
|
|
10687
|
+
className: `${classBase20}-trigger`,
|
|
10688
|
+
disabled,
|
|
10642
10689
|
icon: (_a2 = PopupMenuProps3 == null ? void 0 : PopupMenuProps3.icon) != null ? _a2 : "chevron-down",
|
|
10643
|
-
tabIndex: segmented ? 0 : -1
|
|
10690
|
+
tabIndex: segmented ? 0 : -1,
|
|
10691
|
+
variant
|
|
10644
10692
|
}
|
|
10645
10693
|
)
|
|
10646
10694
|
]
|
|
@@ -10650,8 +10698,7 @@ var SplitButton = ({
|
|
|
10650
10698
|
|
|
10651
10699
|
// src/tabstrip/Tabstrip.tsx
|
|
10652
10700
|
import { asReactElements as asReactElements2, useId as useId9 } from "@vuu-ui/vuu-utils";
|
|
10653
|
-
import
|
|
10654
|
-
import cx18 from "clsx";
|
|
10701
|
+
import cx20 from "clsx";
|
|
10655
10702
|
import React4, { useMemo as useMemo21, useRef as useRef39 } from "react";
|
|
10656
10703
|
|
|
10657
10704
|
// src/tabstrip/useTabstrip.ts
|
|
@@ -11337,9 +11384,9 @@ var useTabstrip = ({
|
|
|
11337
11384
|
};
|
|
11338
11385
|
|
|
11339
11386
|
// src/tabstrip/Tabstrip.tsx
|
|
11340
|
-
import { Fragment as Fragment4, jsx as
|
|
11387
|
+
import { Fragment as Fragment4, jsx as jsx43, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
11341
11388
|
import { createElement as createElement2 } from "react";
|
|
11342
|
-
var
|
|
11389
|
+
var classBase21 = "vuuTabstrip";
|
|
11343
11390
|
var Tabstrip = ({
|
|
11344
11391
|
activeTabIndex: activeTabIndexProp,
|
|
11345
11392
|
allowAddTab,
|
|
@@ -11386,7 +11433,7 @@ var Tabstrip = ({
|
|
|
11386
11433
|
orientation
|
|
11387
11434
|
});
|
|
11388
11435
|
const id = useId9(idProp);
|
|
11389
|
-
const className =
|
|
11436
|
+
const className = cx20(classBase21, `${classBase21}-${orientation}`, classNameProp);
|
|
11390
11437
|
const style = styleProp || containerStyle ? {
|
|
11391
11438
|
...styleProp,
|
|
11392
11439
|
...containerStyle
|
|
@@ -11405,7 +11452,7 @@ var Tabstrip = ({
|
|
|
11405
11452
|
return React4.cloneElement(child, {
|
|
11406
11453
|
...tabProps,
|
|
11407
11454
|
...tabstripHook.navigationProps,
|
|
11408
|
-
className:
|
|
11455
|
+
className: cx20(className2, tabClassName),
|
|
11409
11456
|
closeable,
|
|
11410
11457
|
"data-overflow-priority": selected ? "1" : void 0,
|
|
11411
11458
|
dragging: draggedItemIndex === index,
|
|
@@ -11414,19 +11461,19 @@ var Tabstrip = ({
|
|
|
11414
11461
|
id: tabId,
|
|
11415
11462
|
index,
|
|
11416
11463
|
key: index,
|
|
11417
|
-
location:
|
|
11464
|
+
location: cx20(location, tabLocation),
|
|
11418
11465
|
selected,
|
|
11419
11466
|
showMenuButton,
|
|
11420
11467
|
tabIndex: selected ? 0 : -1
|
|
11421
11468
|
});
|
|
11422
11469
|
}).concat(
|
|
11423
11470
|
allowAddTab ? /* @__PURE__ */ createElement2(
|
|
11424
|
-
|
|
11471
|
+
IconButton,
|
|
11425
11472
|
{
|
|
11426
11473
|
...tabstripHook.navigationProps,
|
|
11427
11474
|
"aria-label": "Create Tab",
|
|
11428
|
-
className: `${
|
|
11429
|
-
|
|
11475
|
+
className: `${classBase21}-addTabButton`,
|
|
11476
|
+
icon: "add",
|
|
11430
11477
|
"data-overflow-priority": "1",
|
|
11431
11478
|
key: "addButton",
|
|
11432
11479
|
onClick: onClickAddTab,
|
|
@@ -11453,7 +11500,7 @@ var Tabstrip = ({
|
|
|
11453
11500
|
]
|
|
11454
11501
|
);
|
|
11455
11502
|
return /* @__PURE__ */ jsxs23(Fragment4, { children: [
|
|
11456
|
-
/* @__PURE__ */
|
|
11503
|
+
/* @__PURE__ */ jsx43(
|
|
11457
11504
|
OverflowContainer,
|
|
11458
11505
|
{
|
|
11459
11506
|
...htmlAttributes,
|
|
@@ -11475,9 +11522,9 @@ var Tabstrip = ({
|
|
|
11475
11522
|
|
|
11476
11523
|
// src/tabstrip/Tab.tsx
|
|
11477
11524
|
import { useForkRef as useForkRef8 } from "@salt-ds/core";
|
|
11478
|
-
import
|
|
11525
|
+
import cx22 from "clsx";
|
|
11479
11526
|
import {
|
|
11480
|
-
forwardRef as
|
|
11527
|
+
forwardRef as forwardRef23,
|
|
11481
11528
|
useCallback as useCallback53,
|
|
11482
11529
|
useRef as useRef40
|
|
11483
11530
|
} from "react";
|
|
@@ -11485,9 +11532,9 @@ import {
|
|
|
11485
11532
|
// src/tabstrip/TabMenu.tsx
|
|
11486
11533
|
import { PopupMenu as PopupMenu3 } from "@vuu-ui/vuu-popups";
|
|
11487
11534
|
import { useMemo as useMemo22 } from "react";
|
|
11488
|
-
import
|
|
11489
|
-
import { jsx as
|
|
11490
|
-
var
|
|
11535
|
+
import cx21 from "clsx";
|
|
11536
|
+
import { jsx as jsx44 } from "react/jsx-runtime";
|
|
11537
|
+
var classBase22 = "vuuTabMenu";
|
|
11491
11538
|
var TabMenu = ({
|
|
11492
11539
|
allowClose,
|
|
11493
11540
|
allowRename,
|
|
@@ -11524,13 +11571,13 @@ var TabMenu = ({
|
|
|
11524
11571
|
index
|
|
11525
11572
|
]
|
|
11526
11573
|
);
|
|
11527
|
-
return /* @__PURE__ */
|
|
11574
|
+
return /* @__PURE__ */ jsx44(
|
|
11528
11575
|
PopupMenu3,
|
|
11529
11576
|
{
|
|
11530
|
-
className:
|
|
11577
|
+
className: classBase22,
|
|
11531
11578
|
menuBuilder,
|
|
11532
11579
|
menuActionHandler: onMenuAction,
|
|
11533
|
-
menuLocation:
|
|
11580
|
+
menuLocation: cx21("tab", location),
|
|
11534
11581
|
menuOptions,
|
|
11535
11582
|
onMenuClose,
|
|
11536
11583
|
tabIndex: -1,
|
|
@@ -11540,10 +11587,10 @@ var TabMenu = ({
|
|
|
11540
11587
|
};
|
|
11541
11588
|
|
|
11542
11589
|
// src/tabstrip/Tab.tsx
|
|
11543
|
-
import { jsx as
|
|
11544
|
-
var
|
|
11590
|
+
import { jsx as jsx45, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
11591
|
+
var classBase23 = "vuuTab";
|
|
11545
11592
|
var noop2 = () => void 0;
|
|
11546
|
-
var Tab =
|
|
11593
|
+
var Tab = forwardRef23(function Tab2({
|
|
11547
11594
|
ariaControls,
|
|
11548
11595
|
children,
|
|
11549
11596
|
className,
|
|
@@ -11600,7 +11647,7 @@ var Tab = forwardRef22(function Tab2({
|
|
|
11600
11647
|
};
|
|
11601
11648
|
const getLabel = () => {
|
|
11602
11649
|
if (editable) {
|
|
11603
|
-
return /* @__PURE__ */
|
|
11650
|
+
return /* @__PURE__ */ jsx45(
|
|
11604
11651
|
EditableLabel,
|
|
11605
11652
|
{
|
|
11606
11653
|
editing,
|
|
@@ -11631,12 +11678,12 @@ var Tab = forwardRef22(function Tab2({
|
|
|
11631
11678
|
...props,
|
|
11632
11679
|
"aria-controls": ariaControls,
|
|
11633
11680
|
"aria-selected": selected,
|
|
11634
|
-
className:
|
|
11635
|
-
[`${
|
|
11681
|
+
className: cx22(classBase23, className, {
|
|
11682
|
+
[`${classBase23}-closeable`]: closeable,
|
|
11636
11683
|
"vuuDraggable-dragAway": dragging,
|
|
11637
|
-
[`${
|
|
11638
|
-
[`${
|
|
11639
|
-
[`${
|
|
11684
|
+
[`${classBase23}-editing`]: editing,
|
|
11685
|
+
[`${classBase23}-selected`]: selected || void 0,
|
|
11686
|
+
[`${classBase23}-vertical`]: orientation === "vertical",
|
|
11640
11687
|
[`vuuFocusVisible`]: focusVisible
|
|
11641
11688
|
}),
|
|
11642
11689
|
onClick: handleClick,
|
|
@@ -11646,15 +11693,15 @@ var Tab = forwardRef22(function Tab2({
|
|
|
11646
11693
|
role: "tab",
|
|
11647
11694
|
tabIndex,
|
|
11648
11695
|
children: [
|
|
11649
|
-
/* @__PURE__ */
|
|
11696
|
+
/* @__PURE__ */ jsx45("div", { className: `${classBase23}-main`, children: /* @__PURE__ */ jsx45(
|
|
11650
11697
|
"span",
|
|
11651
11698
|
{
|
|
11652
|
-
className: `${
|
|
11699
|
+
className: `${classBase23}-text`,
|
|
11653
11700
|
"data-text": editable ? void 0 : label,
|
|
11654
11701
|
children: children != null ? children : getLabel()
|
|
11655
11702
|
}
|
|
11656
11703
|
) }),
|
|
11657
|
-
showMenuButton ? /* @__PURE__ */
|
|
11704
|
+
showMenuButton ? /* @__PURE__ */ jsx45(
|
|
11658
11705
|
TabMenu,
|
|
11659
11706
|
{
|
|
11660
11707
|
allowClose: closeable,
|
|
@@ -11674,7 +11721,7 @@ var Tab = forwardRef22(function Tab2({
|
|
|
11674
11721
|
|
|
11675
11722
|
// src/toolbar/Toolbar.tsx
|
|
11676
11723
|
import { asReactElements as asReactElements3, useId as useId10 } from "@vuu-ui/vuu-utils";
|
|
11677
|
-
import
|
|
11724
|
+
import cx23 from "clsx";
|
|
11678
11725
|
import React5, { useMemo as useMemo23, useRef as useRef43 } from "react";
|
|
11679
11726
|
|
|
11680
11727
|
// src/toolbar/useToolbar.ts
|
|
@@ -12201,8 +12248,8 @@ var useToolbar = ({
|
|
|
12201
12248
|
};
|
|
12202
12249
|
|
|
12203
12250
|
// src/toolbar/Toolbar.tsx
|
|
12204
|
-
import { jsx as
|
|
12205
|
-
var
|
|
12251
|
+
import { jsx as jsx46 } from "react/jsx-runtime";
|
|
12252
|
+
var classBase24 = "vuuToolbar";
|
|
12206
12253
|
var Toolbar = ({
|
|
12207
12254
|
activeItemIndex: activeItemIndexProp,
|
|
12208
12255
|
alignItems = "start",
|
|
@@ -12244,7 +12291,7 @@ var Toolbar = ({
|
|
|
12244
12291
|
const selected = activeItemIndex.includes(index);
|
|
12245
12292
|
return React5.cloneElement(child, {
|
|
12246
12293
|
...forwardCallbackProps(ownProps, itemProps),
|
|
12247
|
-
className:
|
|
12294
|
+
className: cx23("vuuToolbarItem", itemClassName),
|
|
12248
12295
|
"data-overflow-priority": selected ? "1" : void 0,
|
|
12249
12296
|
id: itemId,
|
|
12250
12297
|
key: index,
|
|
@@ -12254,15 +12301,15 @@ var Toolbar = ({
|
|
|
12254
12301
|
}),
|
|
12255
12302
|
[activeItemIndex, children, focusableIdx, id, itemProps]
|
|
12256
12303
|
);
|
|
12257
|
-
return /* @__PURE__ */
|
|
12304
|
+
return /* @__PURE__ */ jsx46(
|
|
12258
12305
|
OverflowContainer,
|
|
12259
12306
|
{
|
|
12260
12307
|
...props,
|
|
12261
12308
|
...toolbarHook.containerProps,
|
|
12262
|
-
className:
|
|
12263
|
-
[`${
|
|
12264
|
-
[`${
|
|
12265
|
-
[`${
|
|
12309
|
+
className: cx23(className, classBase24, `${classBase24}-${orientation}`, {
|
|
12310
|
+
[`${classBase24}-alignCenter`]: alignItems === "center",
|
|
12311
|
+
[`${classBase24}-alignEnd`]: alignItems === "end",
|
|
12312
|
+
[`${classBase24}-withSeparators`]: showSeparators
|
|
12266
12313
|
}),
|
|
12267
12314
|
...props,
|
|
12268
12315
|
ref: rootRef,
|
|
@@ -12273,9 +12320,9 @@ var Toolbar = ({
|
|
|
12273
12320
|
|
|
12274
12321
|
// src/tree/Tree.tsx
|
|
12275
12322
|
import { useForkRef as useForkRef9, useIdMemo as useId11 } from "@salt-ds/core";
|
|
12276
|
-
import
|
|
12323
|
+
import cx24 from "clsx";
|
|
12277
12324
|
import {
|
|
12278
|
-
forwardRef as
|
|
12325
|
+
forwardRef as forwardRef24,
|
|
12279
12326
|
useRef as useRef50
|
|
12280
12327
|
} from "react";
|
|
12281
12328
|
|
|
@@ -13140,14 +13187,14 @@ var useTree = ({
|
|
|
13140
13187
|
};
|
|
13141
13188
|
|
|
13142
13189
|
// src/tree/Tree.tsx
|
|
13143
|
-
import { jsx as
|
|
13190
|
+
import { jsx as jsx47, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
13144
13191
|
import { createElement as createElement3 } from "react";
|
|
13145
|
-
var
|
|
13192
|
+
var classBase25 = "vuuTree";
|
|
13146
13193
|
var isExpanded = (node) => node.expanded === true;
|
|
13147
13194
|
var TreeNode = ({ children, idx, ...props }) => {
|
|
13148
|
-
return /* @__PURE__ */
|
|
13195
|
+
return /* @__PURE__ */ jsx47("li", { ...props, children });
|
|
13149
13196
|
};
|
|
13150
|
-
var Tree =
|
|
13197
|
+
var Tree = forwardRef24(function Tree2({
|
|
13151
13198
|
allowDragDrop,
|
|
13152
13199
|
className,
|
|
13153
13200
|
defaultSelected,
|
|
@@ -13212,8 +13259,8 @@ var Tree = forwardRef23(function Tree2({
|
|
|
13212
13259
|
...propsCommonToAllListItems,
|
|
13213
13260
|
...getListItemProps(item, idx, highlightedIdx, selected, focusVisible),
|
|
13214
13261
|
children: [
|
|
13215
|
-
item.icon ? /* @__PURE__ */
|
|
13216
|
-
/* @__PURE__ */
|
|
13262
|
+
item.icon ? /* @__PURE__ */ jsx47("span", { className: `${classBase25}Node-icon`, "data-icon": item.icon }) : null,
|
|
13263
|
+
/* @__PURE__ */ jsx47("span", { children: item.label })
|
|
13217
13264
|
]
|
|
13218
13265
|
}
|
|
13219
13266
|
)
|
|
@@ -13231,9 +13278,9 @@ var Tree = forwardRef23(function Tree2({
|
|
|
13231
13278
|
"aria-expanded": child.expanded,
|
|
13232
13279
|
"aria-level": child.level,
|
|
13233
13280
|
"aria-selected": selected.includes(id2) || void 0,
|
|
13234
|
-
className:
|
|
13281
|
+
className: cx24(`${classBase25}Node`, {
|
|
13235
13282
|
focusVisible: focusVisible === i,
|
|
13236
|
-
[`${
|
|
13283
|
+
[`${classBase25}Node-toggle`]: !allowGroupSelect
|
|
13237
13284
|
}),
|
|
13238
13285
|
"data-idx": i,
|
|
13239
13286
|
"data-highlighted": i === highlightedIdx || void 0,
|
|
@@ -13241,20 +13288,20 @@ var Tree = forwardRef23(function Tree2({
|
|
|
13241
13288
|
id: id2,
|
|
13242
13289
|
key: `header-${i}`
|
|
13243
13290
|
},
|
|
13244
|
-
allowGroupSelect ? /* @__PURE__ */ jsxs25("div", { className: `${
|
|
13245
|
-
/* @__PURE__ */
|
|
13291
|
+
allowGroupSelect ? /* @__PURE__ */ jsxs25("div", { className: `${classBase25}Node-label`, children: [
|
|
13292
|
+
/* @__PURE__ */ jsx47("span", { className: `${classBase25}Node-toggle` }),
|
|
13246
13293
|
title
|
|
13247
|
-
] }) : /* @__PURE__ */ jsxs25("div", { className: `${
|
|
13248
|
-
child.icon ? /* @__PURE__ */
|
|
13294
|
+
] }) : /* @__PURE__ */ jsxs25("div", { className: `${classBase25}Node-label`, children: [
|
|
13295
|
+
child.icon ? /* @__PURE__ */ jsx47(
|
|
13249
13296
|
"span",
|
|
13250
13297
|
{
|
|
13251
|
-
className: `${
|
|
13298
|
+
className: `${classBase25}Node-icon`,
|
|
13252
13299
|
"data-icon": child.icon
|
|
13253
13300
|
}
|
|
13254
13301
|
) : null,
|
|
13255
|
-
/* @__PURE__ */
|
|
13302
|
+
/* @__PURE__ */ jsx47("span", { children: title })
|
|
13256
13303
|
] }),
|
|
13257
|
-
/* @__PURE__ */
|
|
13304
|
+
/* @__PURE__ */ jsx47("ul", { role: "group", children: isExpanded(child) ? renderSourceContent(child.childNodes, idx) : "" })
|
|
13258
13305
|
)
|
|
13259
13306
|
);
|
|
13260
13307
|
}
|
|
@@ -13271,12 +13318,12 @@ var Tree = forwardRef23(function Tree2({
|
|
|
13271
13318
|
return listItems;
|
|
13272
13319
|
}
|
|
13273
13320
|
}
|
|
13274
|
-
return /* @__PURE__ */
|
|
13321
|
+
return /* @__PURE__ */ jsx47(
|
|
13275
13322
|
"ul",
|
|
13276
13323
|
{
|
|
13277
13324
|
...htmlAttributes,
|
|
13278
13325
|
...listProps,
|
|
13279
|
-
className:
|
|
13326
|
+
className: cx24(classBase25, className),
|
|
13280
13327
|
id: `Tree-${id}`,
|
|
13281
13328
|
ref: useForkRef9(rootRef, forwardedRef),
|
|
13282
13329
|
role: "tree",
|
|
@@ -13292,7 +13339,7 @@ var getListItemProps = (item, idx, highlightedIdx, selected, focusVisible, class
|
|
|
13292
13339
|
"aria-selected": selected.includes(item.id) || void 0,
|
|
13293
13340
|
"data-idx": idx.value,
|
|
13294
13341
|
"data-highlighted": idx.value === highlightedIdx || void 0,
|
|
13295
|
-
className:
|
|
13342
|
+
className: cx24("vuuTreeNode", className, {
|
|
13296
13343
|
focusVisible: focusVisible === idx.value
|
|
13297
13344
|
})
|
|
13298
13345
|
});
|
|
@@ -13331,6 +13378,8 @@ export {
|
|
|
13331
13378
|
HeightOnly,
|
|
13332
13379
|
Highlighter,
|
|
13333
13380
|
Home,
|
|
13381
|
+
Icon,
|
|
13382
|
+
IconButton,
|
|
13334
13383
|
InstrumentPicker,
|
|
13335
13384
|
InstrumentSearch,
|
|
13336
13385
|
LIST_FOCUS_VISIBLE,
|