@tonyarbor/components 0.9.1 → 0.9.2
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/Table.d.mts +1 -0
- package/dist/Table.d.ts +1 -0
- package/dist/Table.js.map +1 -1
- package/dist/Table.mjs +1 -1
- package/dist/{chunk-AI2U34CF.mjs → chunk-GDOCRKBF.mjs} +1 -1
- package/dist/chunk-GDOCRKBF.mjs.map +1 -0
- package/dist/index.d.mts +38 -2
- package/dist/index.d.ts +38 -2
- package/dist/index.js +378 -349
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +41 -13
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-AI2U34CF.mjs.map +0 -1
package/dist/index.js
CHANGED
|
@@ -63,6 +63,7 @@ __export(src_exports, {
|
|
|
63
63
|
SubSectionHeading: () => SubSectionHeading,
|
|
64
64
|
SubSectionInteractive: () => SubSectionInteractive,
|
|
65
65
|
Table: () => Table,
|
|
66
|
+
TableContainer: () => TableContainer,
|
|
66
67
|
TableControls: () => TableControls,
|
|
67
68
|
TableFooterPagination: () => TableFooterPagination,
|
|
68
69
|
Tabs: () => Tabs,
|
|
@@ -4125,10 +4126,37 @@ var Table = React19.forwardRef(
|
|
|
4125
4126
|
);
|
|
4126
4127
|
Table.displayName = "Table";
|
|
4127
4128
|
|
|
4128
|
-
// src/
|
|
4129
|
+
// src/TableContainer/TableContainer.tsx
|
|
4129
4130
|
var React20 = __toESM(require("react"));
|
|
4130
|
-
var
|
|
4131
|
+
var import_clsx20 = require("clsx");
|
|
4131
4132
|
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
4133
|
+
var containerStyles6 = {
|
|
4134
|
+
backgroundColor: "#ffffff",
|
|
4135
|
+
padding: "8px",
|
|
4136
|
+
borderRadius: "8px",
|
|
4137
|
+
width: "100%",
|
|
4138
|
+
boxSizing: "border-box"
|
|
4139
|
+
};
|
|
4140
|
+
var TableContainer = React20.forwardRef(
|
|
4141
|
+
({ children, className, style, "data-testid": dataTestId }, ref) => {
|
|
4142
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4143
|
+
"div",
|
|
4144
|
+
{
|
|
4145
|
+
ref,
|
|
4146
|
+
className: (0, import_clsx20.clsx)("arbor-table-container", className),
|
|
4147
|
+
style: { ...containerStyles6, ...style },
|
|
4148
|
+
"data-testid": dataTestId,
|
|
4149
|
+
children
|
|
4150
|
+
}
|
|
4151
|
+
);
|
|
4152
|
+
}
|
|
4153
|
+
);
|
|
4154
|
+
TableContainer.displayName = "TableContainer";
|
|
4155
|
+
|
|
4156
|
+
// src/Avatar/Avatar.tsx
|
|
4157
|
+
var React21 = __toESM(require("react"));
|
|
4158
|
+
var import_lucide_react10 = require("lucide-react");
|
|
4159
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
4132
4160
|
var sizeConfig = {
|
|
4133
4161
|
small: {
|
|
4134
4162
|
size: 20,
|
|
@@ -4160,7 +4188,7 @@ var sizeConfig = {
|
|
|
4160
4188
|
borderRadius: "8px"
|
|
4161
4189
|
}
|
|
4162
4190
|
};
|
|
4163
|
-
var Avatar =
|
|
4191
|
+
var Avatar = React21.forwardRef(
|
|
4164
4192
|
({
|
|
4165
4193
|
size = "medium",
|
|
4166
4194
|
src,
|
|
@@ -4170,11 +4198,11 @@ var Avatar = React20.forwardRef(
|
|
|
4170
4198
|
style,
|
|
4171
4199
|
"data-testid": dataTestId
|
|
4172
4200
|
}, ref) => {
|
|
4173
|
-
const [isHovered, setIsHovered] =
|
|
4174
|
-
const [imageError, setImageError] =
|
|
4201
|
+
const [isHovered, setIsHovered] = React21.useState(false);
|
|
4202
|
+
const [imageError, setImageError] = React21.useState(false);
|
|
4175
4203
|
const config = sizeConfig[size];
|
|
4176
4204
|
const hasHoverState = size === "small";
|
|
4177
|
-
const
|
|
4205
|
+
const containerStyles7 = {
|
|
4178
4206
|
width: `${config.size}px`,
|
|
4179
4207
|
height: `${config.size}px`,
|
|
4180
4208
|
borderRadius: config.borderRadius,
|
|
@@ -4214,17 +4242,17 @@ var Avatar = React20.forwardRef(
|
|
|
4214
4242
|
const showImage = src && !imageError;
|
|
4215
4243
|
const showInitials = !showImage && initials && size !== "small";
|
|
4216
4244
|
const showPlaceholder = !showImage && !showInitials;
|
|
4217
|
-
return /* @__PURE__ */ (0,
|
|
4245
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
4218
4246
|
"div",
|
|
4219
4247
|
{
|
|
4220
4248
|
ref,
|
|
4221
4249
|
className,
|
|
4222
|
-
style:
|
|
4250
|
+
style: containerStyles7,
|
|
4223
4251
|
onMouseEnter: () => setIsHovered(true),
|
|
4224
4252
|
onMouseLeave: () => setIsHovered(false),
|
|
4225
4253
|
"data-testid": dataTestId,
|
|
4226
4254
|
children: [
|
|
4227
|
-
showImage && /* @__PURE__ */ (0,
|
|
4255
|
+
showImage && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
4228
4256
|
"img",
|
|
4229
4257
|
{
|
|
4230
4258
|
src,
|
|
@@ -4233,9 +4261,9 @@ var Avatar = React20.forwardRef(
|
|
|
4233
4261
|
onError: () => setImageError(true)
|
|
4234
4262
|
}
|
|
4235
4263
|
),
|
|
4236
|
-
showInitials && /* @__PURE__ */ (0,
|
|
4237
|
-
showPlaceholder && /* @__PURE__ */ (0,
|
|
4238
|
-
/* @__PURE__ */ (0,
|
|
4264
|
+
showInitials && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { style: initialsStyles, children: initials.slice(0, 2).toUpperCase() }),
|
|
4265
|
+
showPlaceholder && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react10.User, { size: config.iconSize, color: "#d1d1d1", strokeWidth: 2 }),
|
|
4266
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { style: hoverOverlayStyles })
|
|
4239
4267
|
]
|
|
4240
4268
|
}
|
|
4241
4269
|
);
|
|
@@ -4244,10 +4272,10 @@ var Avatar = React20.forwardRef(
|
|
|
4244
4272
|
Avatar.displayName = "Avatar";
|
|
4245
4273
|
|
|
4246
4274
|
// src/SearchGlobal/SearchGlobal.tsx
|
|
4247
|
-
var
|
|
4275
|
+
var React22 = __toESM(require("react"));
|
|
4248
4276
|
var import_lucide_react11 = require("lucide-react");
|
|
4249
|
-
var
|
|
4250
|
-
var SearchGlobal =
|
|
4277
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
4278
|
+
var SearchGlobal = React22.forwardRef(
|
|
4251
4279
|
({
|
|
4252
4280
|
value = "",
|
|
4253
4281
|
onChange,
|
|
@@ -4258,10 +4286,10 @@ var SearchGlobal = React21.forwardRef(
|
|
|
4258
4286
|
style,
|
|
4259
4287
|
"data-testid": dataTestId
|
|
4260
4288
|
}, ref) => {
|
|
4261
|
-
const [isFocused, setIsFocused] =
|
|
4262
|
-
const [isHovered, setIsHovered] =
|
|
4263
|
-
const inputRef =
|
|
4264
|
-
|
|
4289
|
+
const [isFocused, setIsFocused] = React22.useState(false);
|
|
4290
|
+
const [isHovered, setIsHovered] = React22.useState(false);
|
|
4291
|
+
const inputRef = React22.useRef(null);
|
|
4292
|
+
React22.useImperativeHandle(ref, () => inputRef.current);
|
|
4265
4293
|
const handleFocus = () => {
|
|
4266
4294
|
setIsFocused(true);
|
|
4267
4295
|
};
|
|
@@ -4281,7 +4309,7 @@ var SearchGlobal = React21.forwardRef(
|
|
|
4281
4309
|
onClear?.();
|
|
4282
4310
|
inputRef.current?.focus();
|
|
4283
4311
|
};
|
|
4284
|
-
const
|
|
4312
|
+
const containerStyles7 = {
|
|
4285
4313
|
position: "relative",
|
|
4286
4314
|
width: isFocused ? "300px" : "160px",
|
|
4287
4315
|
height: "32px",
|
|
@@ -4365,18 +4393,18 @@ var SearchGlobal = React21.forwardRef(
|
|
|
4365
4393
|
};
|
|
4366
4394
|
const showKeyboardShortcut = isHovered && !isFocused;
|
|
4367
4395
|
const showClearButton = isFocused;
|
|
4368
|
-
return /* @__PURE__ */ (0,
|
|
4396
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
|
|
4369
4397
|
"div",
|
|
4370
4398
|
{
|
|
4371
4399
|
className,
|
|
4372
|
-
style:
|
|
4400
|
+
style: containerStyles7,
|
|
4373
4401
|
onMouseEnter: () => setIsHovered(true),
|
|
4374
4402
|
onMouseLeave: () => setIsHovered(false),
|
|
4375
4403
|
onClick: () => inputRef.current?.focus(),
|
|
4376
4404
|
"data-testid": dataTestId,
|
|
4377
4405
|
children: [
|
|
4378
|
-
/* @__PURE__ */ (0,
|
|
4379
|
-
/* @__PURE__ */ (0,
|
|
4406
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { style: iconContainerStyles2, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react11.Search, { size: 12, color: "#2f2f2f", strokeWidth: 2 }) }),
|
|
4407
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
4380
4408
|
"input",
|
|
4381
4409
|
{
|
|
4382
4410
|
ref: inputRef,
|
|
@@ -4390,19 +4418,19 @@ var SearchGlobal = React21.forwardRef(
|
|
|
4390
4418
|
style: inputStyles5
|
|
4391
4419
|
}
|
|
4392
4420
|
),
|
|
4393
|
-
showKeyboardShortcut && /* @__PURE__ */ (0,
|
|
4394
|
-
/* @__PURE__ */ (0,
|
|
4395
|
-
/* @__PURE__ */ (0,
|
|
4396
|
-
/* @__PURE__ */ (0,
|
|
4421
|
+
showKeyboardShortcut && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { style: keyboardShortcutStyles, children: [
|
|
4422
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { style: keyStyles, children: "\u2318" }),
|
|
4423
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { style: plusStyles, children: "+" }),
|
|
4424
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { style: keyStyles, children: "K" })
|
|
4397
4425
|
] }),
|
|
4398
|
-
showClearButton && /* @__PURE__ */ (0,
|
|
4426
|
+
showClearButton && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
4399
4427
|
"button",
|
|
4400
4428
|
{
|
|
4401
4429
|
type: "button",
|
|
4402
4430
|
onClick: handleClear,
|
|
4403
4431
|
style: clearButtonStyles,
|
|
4404
4432
|
"aria-label": "Clear search",
|
|
4405
|
-
children: /* @__PURE__ */ (0,
|
|
4433
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react11.X, { size: 13.333, color: "#2f2f2f", strokeWidth: 2 })
|
|
4406
4434
|
}
|
|
4407
4435
|
)
|
|
4408
4436
|
]
|
|
@@ -4413,10 +4441,10 @@ var SearchGlobal = React21.forwardRef(
|
|
|
4413
4441
|
SearchGlobal.displayName = "SearchGlobal";
|
|
4414
4442
|
|
|
4415
4443
|
// src/SearchOnPage/SearchOnPage.tsx
|
|
4416
|
-
var
|
|
4444
|
+
var React23 = __toESM(require("react"));
|
|
4417
4445
|
var import_lucide_react12 = require("lucide-react");
|
|
4418
|
-
var
|
|
4419
|
-
var SearchOnPage =
|
|
4446
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
4447
|
+
var SearchOnPage = React23.forwardRef(
|
|
4420
4448
|
({
|
|
4421
4449
|
value = "",
|
|
4422
4450
|
onChange,
|
|
@@ -4427,10 +4455,10 @@ var SearchOnPage = React22.forwardRef(
|
|
|
4427
4455
|
style,
|
|
4428
4456
|
"data-testid": dataTestId
|
|
4429
4457
|
}, ref) => {
|
|
4430
|
-
const [isFocused, setIsFocused] =
|
|
4431
|
-
const [isHovered, setIsHovered] =
|
|
4432
|
-
const inputRef =
|
|
4433
|
-
|
|
4458
|
+
const [isFocused, setIsFocused] = React23.useState(false);
|
|
4459
|
+
const [isHovered, setIsHovered] = React23.useState(false);
|
|
4460
|
+
const inputRef = React23.useRef(null);
|
|
4461
|
+
React23.useImperativeHandle(ref, () => inputRef.current);
|
|
4434
4462
|
const handleFocus = () => {
|
|
4435
4463
|
setIsFocused(true);
|
|
4436
4464
|
};
|
|
@@ -4450,7 +4478,7 @@ var SearchOnPage = React22.forwardRef(
|
|
|
4450
4478
|
onClear?.();
|
|
4451
4479
|
inputRef.current?.focus();
|
|
4452
4480
|
};
|
|
4453
|
-
const
|
|
4481
|
+
const containerStyles7 = {
|
|
4454
4482
|
position: "relative",
|
|
4455
4483
|
width: "200px",
|
|
4456
4484
|
height: "32px",
|
|
@@ -4501,18 +4529,18 @@ var SearchOnPage = React22.forwardRef(
|
|
|
4501
4529
|
};
|
|
4502
4530
|
const showClearButton = isFocused && value.length > 0;
|
|
4503
4531
|
const iconColor = isFocused || isHovered ? "#2f2f2f" : "#595959";
|
|
4504
|
-
return /* @__PURE__ */ (0,
|
|
4532
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
|
|
4505
4533
|
"div",
|
|
4506
4534
|
{
|
|
4507
4535
|
className,
|
|
4508
|
-
style:
|
|
4536
|
+
style: containerStyles7,
|
|
4509
4537
|
onMouseEnter: () => setIsHovered(true),
|
|
4510
4538
|
onMouseLeave: () => setIsHovered(false),
|
|
4511
4539
|
onClick: () => inputRef.current?.focus(),
|
|
4512
4540
|
"data-testid": dataTestId,
|
|
4513
4541
|
children: [
|
|
4514
|
-
/* @__PURE__ */ (0,
|
|
4515
|
-
/* @__PURE__ */ (0,
|
|
4542
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { style: iconContainerStyles2, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react12.Search, { size: 12, color: iconColor, strokeWidth: 2 }) }),
|
|
4543
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
4516
4544
|
"input",
|
|
4517
4545
|
{
|
|
4518
4546
|
ref: inputRef,
|
|
@@ -4526,14 +4554,14 @@ var SearchOnPage = React22.forwardRef(
|
|
|
4526
4554
|
style: inputStyles5
|
|
4527
4555
|
}
|
|
4528
4556
|
),
|
|
4529
|
-
showClearButton && /* @__PURE__ */ (0,
|
|
4557
|
+
showClearButton && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
4530
4558
|
"button",
|
|
4531
4559
|
{
|
|
4532
4560
|
type: "button",
|
|
4533
4561
|
onClick: handleClear,
|
|
4534
4562
|
style: clearButtonStyles,
|
|
4535
4563
|
"aria-label": "Clear search",
|
|
4536
|
-
children: /* @__PURE__ */ (0,
|
|
4564
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react12.X, { size: 13.333, color: "#2f2f2f", strokeWidth: 2 })
|
|
4537
4565
|
}
|
|
4538
4566
|
)
|
|
4539
4567
|
]
|
|
@@ -4544,10 +4572,10 @@ var SearchOnPage = React22.forwardRef(
|
|
|
4544
4572
|
SearchOnPage.displayName = "SearchOnPage";
|
|
4545
4573
|
|
|
4546
4574
|
// src/Breadcrumbs/Breadcrumbs.tsx
|
|
4547
|
-
var
|
|
4575
|
+
var React24 = __toESM(require("react"));
|
|
4548
4576
|
var import_lucide_react13 = require("lucide-react");
|
|
4549
|
-
var
|
|
4550
|
-
var Breadcrumbs =
|
|
4577
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
4578
|
+
var Breadcrumbs = React24.forwardRef(
|
|
4551
4579
|
({
|
|
4552
4580
|
items,
|
|
4553
4581
|
onCopy,
|
|
@@ -4555,12 +4583,12 @@ var Breadcrumbs = React23.forwardRef(
|
|
|
4555
4583
|
style,
|
|
4556
4584
|
"data-testid": dataTestId
|
|
4557
4585
|
}, ref) => {
|
|
4558
|
-
const [hoveredIndex, setHoveredIndex] =
|
|
4559
|
-
const [focusedIndex, setFocusedIndex] =
|
|
4560
|
-
const [showCopyTooltip, setShowCopyTooltip] =
|
|
4561
|
-
const [ellipsisFocused, setEllipsisFocused] =
|
|
4562
|
-
const [ellipsisHovered, setEllipsisHovered] =
|
|
4563
|
-
const displayItems =
|
|
4586
|
+
const [hoveredIndex, setHoveredIndex] = React24.useState(null);
|
|
4587
|
+
const [focusedIndex, setFocusedIndex] = React24.useState(null);
|
|
4588
|
+
const [showCopyTooltip, setShowCopyTooltip] = React24.useState(false);
|
|
4589
|
+
const [ellipsisFocused, setEllipsisFocused] = React24.useState(false);
|
|
4590
|
+
const [ellipsisHovered, setEllipsisHovered] = React24.useState(false);
|
|
4591
|
+
const displayItems = React24.useMemo(() => {
|
|
4564
4592
|
if (items.length > 6) {
|
|
4565
4593
|
return [items[0], { label: "...", isEllipsis: true }, items[items.length - 1]];
|
|
4566
4594
|
}
|
|
@@ -4571,7 +4599,7 @@ var Breadcrumbs = React23.forwardRef(
|
|
|
4571
4599
|
const trail = items.map((item) => item.label).join(" / ");
|
|
4572
4600
|
navigator.clipboard.writeText(trail);
|
|
4573
4601
|
};
|
|
4574
|
-
const
|
|
4602
|
+
const containerStyles7 = {
|
|
4575
4603
|
display: "flex",
|
|
4576
4604
|
alignItems: "center",
|
|
4577
4605
|
gap: "8px",
|
|
@@ -4661,19 +4689,19 @@ var Breadcrumbs = React23.forwardRef(
|
|
|
4661
4689
|
boxShadow: "0px 4px 12px rgba(32, 32, 32, 0.08)",
|
|
4662
4690
|
zIndex: 1e3
|
|
4663
4691
|
};
|
|
4664
|
-
return /* @__PURE__ */ (0,
|
|
4692
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
4665
4693
|
"div",
|
|
4666
4694
|
{
|
|
4667
4695
|
ref,
|
|
4668
4696
|
className,
|
|
4669
|
-
style:
|
|
4697
|
+
style: containerStyles7,
|
|
4670
4698
|
"data-testid": dataTestId,
|
|
4671
4699
|
children: displayItems.map((item, index) => {
|
|
4672
4700
|
const isActive = index === displayItems.length - 1;
|
|
4673
4701
|
const isEllipsis = "isEllipsis" in item && item.isEllipsis;
|
|
4674
4702
|
if (isEllipsis) {
|
|
4675
|
-
return /* @__PURE__ */ (0,
|
|
4676
|
-
/* @__PURE__ */ (0,
|
|
4703
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(React24.Fragment, { children: [
|
|
4704
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
4677
4705
|
"button",
|
|
4678
4706
|
{
|
|
4679
4707
|
style: ellipsisButtonStyles,
|
|
@@ -4682,7 +4710,7 @@ var Breadcrumbs = React23.forwardRef(
|
|
|
4682
4710
|
onMouseEnter: () => setEllipsisHovered(true),
|
|
4683
4711
|
onMouseLeave: () => setEllipsisHovered(false),
|
|
4684
4712
|
"aria-label": "More breadcrumbs",
|
|
4685
|
-
children: /* @__PURE__ */ (0,
|
|
4713
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
4686
4714
|
import_lucide_react13.MoreHorizontal,
|
|
4687
4715
|
{
|
|
4688
4716
|
size: 12,
|
|
@@ -4693,13 +4721,13 @@ var Breadcrumbs = React23.forwardRef(
|
|
|
4693
4721
|
)
|
|
4694
4722
|
}
|
|
4695
4723
|
),
|
|
4696
|
-
/* @__PURE__ */ (0,
|
|
4724
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { style: dividerStyles, children: " /" })
|
|
4697
4725
|
] }, `ellipsis-${index}`);
|
|
4698
4726
|
}
|
|
4699
4727
|
const breadcrumbItem = item;
|
|
4700
4728
|
if (isActive) {
|
|
4701
|
-
return /* @__PURE__ */ (0,
|
|
4702
|
-
/* @__PURE__ */ (0,
|
|
4729
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(React24.Fragment, { children: [
|
|
4730
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
4703
4731
|
"div",
|
|
4704
4732
|
{
|
|
4705
4733
|
style: breadcrumbItemStyles(index, true),
|
|
@@ -4708,10 +4736,10 @@ var Breadcrumbs = React23.forwardRef(
|
|
|
4708
4736
|
onFocus: () => setFocusedIndex(index),
|
|
4709
4737
|
onBlur: () => setFocusedIndex(null),
|
|
4710
4738
|
tabIndex: 0,
|
|
4711
|
-
children: /* @__PURE__ */ (0,
|
|
4739
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { style: linkStyles(true, hoveredIndex === index), children: breadcrumbItem.label })
|
|
4712
4740
|
}
|
|
4713
4741
|
),
|
|
4714
|
-
onCopy && /* @__PURE__ */ (0,
|
|
4742
|
+
onCopy && /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
4715
4743
|
"button",
|
|
4716
4744
|
{
|
|
4717
4745
|
style: copyButtonStyles,
|
|
@@ -4720,7 +4748,7 @@ var Breadcrumbs = React23.forwardRef(
|
|
|
4720
4748
|
onMouseLeave: () => setShowCopyTooltip(false),
|
|
4721
4749
|
"aria-label": "Copy breadcrumb trail",
|
|
4722
4750
|
children: [
|
|
4723
|
-
/* @__PURE__ */ (0,
|
|
4751
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
4724
4752
|
import_lucide_react13.Link,
|
|
4725
4753
|
{
|
|
4726
4754
|
size: 12,
|
|
@@ -4729,15 +4757,15 @@ var Breadcrumbs = React23.forwardRef(
|
|
|
4729
4757
|
style: { display: "block", flexShrink: 0 }
|
|
4730
4758
|
}
|
|
4731
4759
|
),
|
|
4732
|
-
showCopyTooltip && /* @__PURE__ */ (0,
|
|
4760
|
+
showCopyTooltip && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { style: tooltipStyles2, children: "Copy breadcrumb trail" })
|
|
4733
4761
|
]
|
|
4734
4762
|
}
|
|
4735
4763
|
)
|
|
4736
4764
|
] }, index);
|
|
4737
4765
|
}
|
|
4738
4766
|
const Element = breadcrumbItem.href ? "a" : "button";
|
|
4739
|
-
return /* @__PURE__ */ (0,
|
|
4740
|
-
/* @__PURE__ */ (0,
|
|
4767
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(React24.Fragment, { children: [
|
|
4768
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
4741
4769
|
Element,
|
|
4742
4770
|
{
|
|
4743
4771
|
...breadcrumbItem.href ? { href: breadcrumbItem.href } : {},
|
|
@@ -4757,8 +4785,8 @@ var Breadcrumbs = React23.forwardRef(
|
|
|
4757
4785
|
onFocus: () => setFocusedIndex(index),
|
|
4758
4786
|
onBlur: () => setFocusedIndex(null),
|
|
4759
4787
|
children: [
|
|
4760
|
-
/* @__PURE__ */ (0,
|
|
4761
|
-
breadcrumbItem.hasDropdown && /* @__PURE__ */ (0,
|
|
4788
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { style: linkStyles(false, hoveredIndex === index), children: breadcrumbItem.label }),
|
|
4789
|
+
breadcrumbItem.hasDropdown && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
4762
4790
|
import_lucide_react13.ChevronDown,
|
|
4763
4791
|
{
|
|
4764
4792
|
size: 12,
|
|
@@ -4770,7 +4798,7 @@ var Breadcrumbs = React23.forwardRef(
|
|
|
4770
4798
|
]
|
|
4771
4799
|
}
|
|
4772
4800
|
),
|
|
4773
|
-
/* @__PURE__ */ (0,
|
|
4801
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { style: dividerStyles, children: " /" })
|
|
4774
4802
|
] }, index);
|
|
4775
4803
|
})
|
|
4776
4804
|
}
|
|
@@ -4780,9 +4808,9 @@ var Breadcrumbs = React23.forwardRef(
|
|
|
4780
4808
|
Breadcrumbs.displayName = "Breadcrumbs";
|
|
4781
4809
|
|
|
4782
4810
|
// src/Logo/Logo.tsx
|
|
4783
|
-
var
|
|
4784
|
-
var
|
|
4785
|
-
var Logo =
|
|
4811
|
+
var React25 = __toESM(require("react"));
|
|
4812
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
4813
|
+
var Logo = React25.forwardRef(
|
|
4786
4814
|
({
|
|
4787
4815
|
withText = true,
|
|
4788
4816
|
light = false,
|
|
@@ -4796,7 +4824,7 @@ var Logo = React24.forwardRef(
|
|
|
4796
4824
|
const finalWidth = width ?? defaultWidth;
|
|
4797
4825
|
const finalHeight = height ?? defaultHeight;
|
|
4798
4826
|
if (!withText) {
|
|
4799
|
-
return /* @__PURE__ */ (0,
|
|
4827
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
|
|
4800
4828
|
"svg",
|
|
4801
4829
|
{
|
|
4802
4830
|
ref,
|
|
@@ -4809,23 +4837,23 @@ var Logo = React24.forwardRef(
|
|
|
4809
4837
|
style,
|
|
4810
4838
|
"aria-label": "Arbor logo",
|
|
4811
4839
|
children: [
|
|
4812
|
-
/* @__PURE__ */ (0,
|
|
4813
|
-
/* @__PURE__ */ (0,
|
|
4814
|
-
/* @__PURE__ */ (0,
|
|
4815
|
-
/* @__PURE__ */ (0,
|
|
4816
|
-
/* @__PURE__ */ (0,
|
|
4817
|
-
/* @__PURE__ */ (0,
|
|
4818
|
-
/* @__PURE__ */ (0,
|
|
4819
|
-
/* @__PURE__ */ (0,
|
|
4820
|
-
/* @__PURE__ */ (0,
|
|
4840
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("g", { clipPath: "url(#clip0_logo_icon)", children: [
|
|
4841
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("path", { d: "M12.6821 12.448C12.6821 9.06699 15.4229 6.32623 18.8039 6.32623C18.8039 2.94571 16.0631 0.205391 12.6817 0.205391C9.30163 0.205391 6.56086 2.94571 6.56042 6.32623C9.94138 6.32623 12.6817 9.06699 12.6821 12.448Z", fill: "#F7931E" }),
|
|
4842
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("path", { d: "M12.6826 12.4481C12.6826 15.8286 9.9423 18.5694 6.56178 18.5694C6.56178 21.9503 9.3021 24.6902 12.6826 24.6902C16.064 24.6902 18.8043 21.9499 18.8043 18.5694C15.4229 18.5676 12.6822 15.8281 12.6822 12.4472L12.6826 12.4481Z", fill: "#AFD318" }),
|
|
4843
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("path", { d: "M18.8043 6.32631C18.8043 9.70727 16.064 12.448 12.6826 12.448C16.0636 12.448 18.8043 15.1888 18.8043 18.5693C22.1853 18.5693 24.9252 15.8286 24.9252 12.448C24.9252 9.06619 22.1844 6.32543 18.8048 6.32543L18.8043 6.32631Z", fill: "#DEEE21" }),
|
|
4844
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("path", { d: "M12.6826 12.448C16.064 12.448 18.8043 9.70725 18.8043 6.32673C15.4225 6.32673 12.6822 9.06705 12.6826 12.448Z", fill: "#D58822" }),
|
|
4845
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("path", { d: "M12.6822 12.4481C12.6822 15.8286 15.423 18.5693 18.8039 18.5693C18.8039 15.1875 16.0632 12.4472 12.6818 12.4472L12.6822 12.4481Z", fill: "#96BA0F" }),
|
|
4846
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("path", { d: "M12.6826 12.448C9.30204 12.448 6.56128 9.70725 6.56128 6.32673C3.18076 6.32673 0.440002 9.06705 0.440002 12.448C0.440002 15.8285 3.18076 18.5684 6.56128 18.5693C6.56128 15.1874 9.30204 12.4471 12.6826 12.4471V12.448Z", fill: "#7DBA3C" }),
|
|
4847
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("path", { d: "M12.6826 12.448C12.6826 9.06705 9.9423 6.32629 6.56178 6.32629L6.56134 6.32673C6.56134 9.70769 9.3021 12.448 12.6826 12.448Z", fill: "#A0861A" }),
|
|
4848
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("path", { d: "M12.6826 12.4481C9.3021 12.4481 6.56178 15.1888 6.56134 18.5693C9.94186 18.5676 12.6826 15.8281 12.6826 12.4472V12.4481Z", fill: "#68AA22" })
|
|
4821
4849
|
] }),
|
|
4822
|
-
/* @__PURE__ */ (0,
|
|
4850
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("clipPath", { id: "clip0_logo_icon", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("rect", { width: "25", height: "25", fill: "white" }) }) })
|
|
4823
4851
|
]
|
|
4824
4852
|
}
|
|
4825
4853
|
);
|
|
4826
4854
|
}
|
|
4827
4855
|
const textColor = light ? "#2F2F2F" : "white";
|
|
4828
|
-
return /* @__PURE__ */ (0,
|
|
4856
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
|
|
4829
4857
|
"svg",
|
|
4830
4858
|
{
|
|
4831
4859
|
ref,
|
|
@@ -4838,19 +4866,19 @@ var Logo = React24.forwardRef(
|
|
|
4838
4866
|
style,
|
|
4839
4867
|
"aria-label": "Arbor",
|
|
4840
4868
|
children: [
|
|
4841
|
-
/* @__PURE__ */ (0,
|
|
4842
|
-
/* @__PURE__ */ (0,
|
|
4843
|
-
/* @__PURE__ */ (0,
|
|
4844
|
-
/* @__PURE__ */ (0,
|
|
4845
|
-
/* @__PURE__ */ (0,
|
|
4846
|
-
/* @__PURE__ */ (0,
|
|
4847
|
-
/* @__PURE__ */ (0,
|
|
4848
|
-
/* @__PURE__ */ (0,
|
|
4849
|
-
/* @__PURE__ */ (0,
|
|
4850
|
-
/* @__PURE__ */ (0,
|
|
4851
|
-
/* @__PURE__ */ (0,
|
|
4852
|
-
/* @__PURE__ */ (0,
|
|
4853
|
-
/* @__PURE__ */ (0,
|
|
4869
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("path", { d: "M12.6822 12.4479C12.6822 9.06698 15.423 6.32622 18.8039 6.32622C18.8039 2.9457 16.0632 0.205383 12.6818 0.205383C9.30169 0.205383 6.56093 2.9457 6.56049 6.32622C9.94145 6.32622 12.6818 9.06698 12.6822 12.4479Z", fill: "#F7931E" }),
|
|
4870
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("path", { d: "M12.6826 12.4481C12.6826 15.8286 9.9423 18.5694 6.56178 18.5694C6.56178 21.9503 9.3021 24.6902 12.6826 24.6902C16.064 24.6902 18.8043 21.9499 18.8043 18.5694C15.4229 18.5676 12.6822 15.8281 12.6822 12.4472L12.6826 12.4481Z", fill: "#AFD318" }),
|
|
4871
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("path", { d: "M18.8044 6.3263C18.8044 9.70726 16.0641 12.448 12.6827 12.448C16.0636 12.448 18.8044 15.1888 18.8044 18.5693C22.1854 18.5693 24.9252 15.8285 24.9252 12.448C24.9252 9.06618 22.1845 6.32542 18.8048 6.32542L18.8044 6.3263Z", fill: "#DEEE21" }),
|
|
4872
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("path", { d: "M12.6827 12.448C16.0641 12.448 18.8044 9.70725 18.8044 6.32673C15.4226 6.32673 12.6822 9.06705 12.6827 12.448Z", fill: "#D58822" }),
|
|
4873
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("path", { d: "M12.6823 12.4481C12.6823 15.8286 15.423 18.5693 18.804 18.5693C18.804 15.1875 16.0632 12.4472 12.6818 12.4472L12.6823 12.4481Z", fill: "#96BA0F" }),
|
|
4874
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("path", { d: "M12.6826 12.448C9.30204 12.448 6.56128 9.70725 6.56128 6.32673C3.18076 6.32673 0.440002 9.06705 0.440002 12.448C0.440002 15.8285 3.18076 18.5684 6.56128 18.5693C6.56128 15.1875 9.30204 12.4471 12.6826 12.4471V12.448Z", fill: "#7DBA3C" }),
|
|
4875
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("path", { d: "M12.6826 12.448C12.6826 9.06705 9.9423 6.32629 6.56178 6.32629L6.56134 6.32673C6.56134 9.70769 9.3021 12.448 12.6826 12.448Z", fill: "#A0861A" }),
|
|
4876
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("path", { d: "M12.6826 12.4481C9.3021 12.4481 6.56178 15.1888 6.56134 18.5693C9.94186 18.5676 12.6826 15.8281 12.6826 12.4472V12.4481Z", fill: "#68AA22" }),
|
|
4877
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("path", { d: "M37.7924 17.8181L36.4913 14.3809H31.9131L30.6604 17.7055H29.1345L33.4716 6.57394H34.9821L39.255 17.4965L37.7924 17.8181ZM34.1936 8.37222L32.4266 13.0459H35.9761L34.195 8.37222H34.1936Z", fill: textColor }),
|
|
4878
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("path", { d: "M41.4713 13.1755V17.7053H40.0417V10.0427H41.1822L41.4229 11.6012C41.9689 10.7335 42.8529 9.94635 44.1056 9.88211L44.3308 11.2479C43.0614 11.3121 41.9843 12.1635 41.4708 13.1751L41.4713 13.1755Z", fill: textColor }),
|
|
4879
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("path", { d: "M48.2659 17.8016C47.1092 17.8016 46.2903 17.6252 45.2779 17.3194V6.33171L46.707 6.10687V10.942C47.2218 10.4118 47.9601 9.88163 49.0047 9.88163C50.6591 9.88163 52.024 11.1026 52.024 13.6564C52.024 16.4513 50.4822 17.8008 48.2659 17.8008V17.8016ZM48.7957 11.1515C47.9931 11.1515 47.2861 11.6817 46.7079 12.4046V16.3241C47.1897 16.5006 47.5439 16.5811 48.2505 16.5811C49.7443 16.5811 50.5795 15.6971 50.5795 13.722C50.5795 12.0522 49.8231 11.1528 48.7957 11.1528V11.1515Z", fill: textColor }),
|
|
4880
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("path", { d: "M56.5064 17.8664C54.467 17.8664 52.9882 16.4042 52.9882 13.8826C52.9882 11.3605 54.467 9.88211 56.5064 9.88211C58.563 9.88211 60.0722 11.3601 60.0722 13.8826C60.0722 16.4038 58.563 17.8664 56.5064 17.8664ZM56.5064 11.0873C55.1248 11.0873 54.4345 12.2762 54.4345 13.8822C54.4345 15.4565 55.1574 16.6775 56.5064 16.6775C57.9202 16.6775 58.6263 15.4886 58.6263 13.8822C58.625 12.3087 57.8845 11.0877 56.5042 11.0877L56.5064 11.0873Z", fill: textColor }),
|
|
4881
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("path", { d: "M62.4495 13.1755V17.7053H61.0199V10.0427H62.1613L62.4019 11.6012C62.948 10.7335 63.8315 9.94635 65.0846 9.88211L65.3099 11.2479C64.0423 11.3121 62.9651 12.1635 62.4517 13.1751L62.4495 13.1755Z", fill: textColor })
|
|
4854
4882
|
]
|
|
4855
4883
|
}
|
|
4856
4884
|
);
|
|
@@ -4859,9 +4887,9 @@ var Logo = React24.forwardRef(
|
|
|
4859
4887
|
Logo.displayName = "Logo";
|
|
4860
4888
|
|
|
4861
4889
|
// src/ButtonSegmented/ButtonSegmented.tsx
|
|
4862
|
-
var
|
|
4863
|
-
var
|
|
4864
|
-
var
|
|
4890
|
+
var React26 = __toESM(require("react"));
|
|
4891
|
+
var import_clsx21 = require("clsx");
|
|
4892
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
4865
4893
|
var segmentedStyles = {
|
|
4866
4894
|
container: {
|
|
4867
4895
|
display: "inline-flex",
|
|
@@ -4909,9 +4937,9 @@ var segmentedStyles = {
|
|
|
4909
4937
|
}
|
|
4910
4938
|
}
|
|
4911
4939
|
};
|
|
4912
|
-
var ButtonSegmented =
|
|
4940
|
+
var ButtonSegmented = React26.forwardRef(
|
|
4913
4941
|
({ items, activeIndex = 0, onChange, className, style, ...props }, ref) => {
|
|
4914
|
-
const [hoveredIndex, setHoveredIndex] =
|
|
4942
|
+
const [hoveredIndex, setHoveredIndex] = React26.useState(null);
|
|
4915
4943
|
const validItems = items.slice(0, 4);
|
|
4916
4944
|
if (validItems.length < 2) {
|
|
4917
4945
|
console.warn("ButtonSegmented requires at least 2 items");
|
|
@@ -4922,11 +4950,11 @@ var ButtonSegmented = React25.forwardRef(
|
|
|
4922
4950
|
onChange(index, validItems[index]);
|
|
4923
4951
|
}
|
|
4924
4952
|
};
|
|
4925
|
-
return /* @__PURE__ */ (0,
|
|
4953
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
4926
4954
|
"div",
|
|
4927
4955
|
{
|
|
4928
4956
|
ref,
|
|
4929
|
-
className: (0,
|
|
4957
|
+
className: (0, import_clsx21.clsx)("arbor-button-segmented", className),
|
|
4930
4958
|
style: { ...segmentedStyles.container, ...style },
|
|
4931
4959
|
role: "group",
|
|
4932
4960
|
"aria-label": "Segmented button group",
|
|
@@ -4950,7 +4978,7 @@ var ButtonSegmented = React25.forwardRef(
|
|
|
4950
4978
|
...isHovered && segmentedStyles.button.hover
|
|
4951
4979
|
};
|
|
4952
4980
|
}
|
|
4953
|
-
return /* @__PURE__ */ (0,
|
|
4981
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
|
4954
4982
|
"button",
|
|
4955
4983
|
{
|
|
4956
4984
|
type: "button",
|
|
@@ -4960,7 +4988,7 @@ var ButtonSegmented = React25.forwardRef(
|
|
|
4960
4988
|
onMouseLeave: () => setHoveredIndex(null),
|
|
4961
4989
|
"aria-pressed": isActive,
|
|
4962
4990
|
children: [
|
|
4963
|
-
hasIcons && item.icon && /* @__PURE__ */ (0,
|
|
4991
|
+
hasIcons && item.icon && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
4964
4992
|
"span",
|
|
4965
4993
|
{
|
|
4966
4994
|
style: {
|
|
@@ -4986,15 +5014,15 @@ var ButtonSegmented = React25.forwardRef(
|
|
|
4986
5014
|
ButtonSegmented.displayName = "ButtonSegmented";
|
|
4987
5015
|
|
|
4988
5016
|
// src/SectionHeading/SectionHeading.tsx
|
|
4989
|
-
var
|
|
4990
|
-
var
|
|
5017
|
+
var React28 = __toESM(require("react"));
|
|
5018
|
+
var import_clsx23 = require("clsx");
|
|
4991
5019
|
|
|
4992
5020
|
// src/SectionIcon/SectionIcon.tsx
|
|
4993
|
-
var
|
|
4994
|
-
var
|
|
4995
|
-
var
|
|
4996
|
-
var WarningIcon = ({ color }) => /* @__PURE__ */ (0,
|
|
4997
|
-
/* @__PURE__ */ (0,
|
|
5021
|
+
var React27 = __toESM(require("react"));
|
|
5022
|
+
var import_clsx22 = require("clsx");
|
|
5023
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
5024
|
+
var WarningIcon = ({ color }) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("svg", { width: "14", height: "12", viewBox: "0 0 14 12", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
5025
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
4998
5026
|
"path",
|
|
4999
5027
|
{
|
|
5000
5028
|
d: "M7 0.5L13.5 11.5H0.5L7 0.5Z",
|
|
@@ -5004,7 +5032,7 @@ var WarningIcon = ({ color }) => /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
|
|
5004
5032
|
fill: "none"
|
|
5005
5033
|
}
|
|
5006
5034
|
),
|
|
5007
|
-
/* @__PURE__ */ (0,
|
|
5035
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
5008
5036
|
"path",
|
|
5009
5037
|
{
|
|
5010
5038
|
d: "M7 4.5V7",
|
|
@@ -5013,16 +5041,16 @@ var WarningIcon = ({ color }) => /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
|
|
5013
5041
|
strokeLinecap: "round"
|
|
5014
5042
|
}
|
|
5015
5043
|
),
|
|
5016
|
-
/* @__PURE__ */ (0,
|
|
5044
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("circle", { cx: "7", cy: "9", r: "0.75", fill: color })
|
|
5017
5045
|
] });
|
|
5018
|
-
var InfoIcon = ({ color }) => /* @__PURE__ */ (0,
|
|
5019
|
-
/* @__PURE__ */ (0,
|
|
5020
|
-
/* @__PURE__ */ (0,
|
|
5021
|
-
/* @__PURE__ */ (0,
|
|
5046
|
+
var InfoIcon = ({ color }) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
5047
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("circle", { cx: "7", cy: "7", r: "6", stroke: color, strokeWidth: "1.2", fill: "none" }),
|
|
5048
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("path", { d: "M7 6V10", stroke: color, strokeWidth: "1.2", strokeLinecap: "round" }),
|
|
5049
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("circle", { cx: "7", cy: "4", r: "0.75", fill: color })
|
|
5022
5050
|
] });
|
|
5023
|
-
var SuccessIcon = ({ color }) => /* @__PURE__ */ (0,
|
|
5024
|
-
/* @__PURE__ */ (0,
|
|
5025
|
-
/* @__PURE__ */ (0,
|
|
5051
|
+
var SuccessIcon = ({ color }) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
5052
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("circle", { cx: "7", cy: "7", r: "6", stroke: color, strokeWidth: "1.2", fill: "none" }),
|
|
5053
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("path", { d: "M4 7L6 9L10 5", stroke: color, strokeWidth: "1.2", strokeLinecap: "round", strokeLinejoin: "round" })
|
|
5026
5054
|
] });
|
|
5027
5055
|
var variantConfig3 = {
|
|
5028
5056
|
warning: {
|
|
@@ -5058,33 +5086,33 @@ var sectionIconStyles = {
|
|
|
5058
5086
|
height: "16px"
|
|
5059
5087
|
}
|
|
5060
5088
|
};
|
|
5061
|
-
var SectionIcon =
|
|
5089
|
+
var SectionIcon = React27.forwardRef(
|
|
5062
5090
|
({ variant = "info", className, style, ...props }, ref) => {
|
|
5063
5091
|
const config = variantConfig3[variant];
|
|
5064
5092
|
const renderIcon = () => {
|
|
5065
5093
|
switch (variant) {
|
|
5066
5094
|
case "warning":
|
|
5067
5095
|
case "danger":
|
|
5068
|
-
return /* @__PURE__ */ (0,
|
|
5096
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(WarningIcon, { color: config.iconColor });
|
|
5069
5097
|
case "success":
|
|
5070
|
-
return /* @__PURE__ */ (0,
|
|
5098
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(SuccessIcon, { color: config.iconColor });
|
|
5071
5099
|
case "info":
|
|
5072
5100
|
default:
|
|
5073
|
-
return /* @__PURE__ */ (0,
|
|
5101
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(InfoIcon, { color: config.iconColor });
|
|
5074
5102
|
}
|
|
5075
5103
|
};
|
|
5076
|
-
return /* @__PURE__ */ (0,
|
|
5104
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
5077
5105
|
"div",
|
|
5078
5106
|
{
|
|
5079
5107
|
ref,
|
|
5080
|
-
className: (0,
|
|
5108
|
+
className: (0, import_clsx22.clsx)("arbor-section-icon", className),
|
|
5081
5109
|
style: {
|
|
5082
5110
|
...sectionIconStyles.container,
|
|
5083
5111
|
backgroundColor: config.backgroundColor,
|
|
5084
5112
|
...style
|
|
5085
5113
|
},
|
|
5086
5114
|
...props,
|
|
5087
|
-
children: /* @__PURE__ */ (0,
|
|
5115
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { style: sectionIconStyles.iconWrapper, children: renderIcon() })
|
|
5088
5116
|
}
|
|
5089
5117
|
);
|
|
5090
5118
|
}
|
|
@@ -5092,10 +5120,10 @@ var SectionIcon = React26.forwardRef(
|
|
|
5092
5120
|
SectionIcon.displayName = "SectionIcon";
|
|
5093
5121
|
|
|
5094
5122
|
// src/SectionHeading/SectionHeading.tsx
|
|
5095
|
-
var
|
|
5096
|
-
var AvatarPlaceholder = () => /* @__PURE__ */ (0,
|
|
5097
|
-
/* @__PURE__ */ (0,
|
|
5098
|
-
/* @__PURE__ */ (0,
|
|
5123
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
5124
|
+
var AvatarPlaceholder = () => /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("svg", { width: "22", height: "33", viewBox: "0 0 22 33", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
5125
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("circle", { cx: "11", cy: "7", r: "7", fill: "#d1d1d1" }),
|
|
5126
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("ellipse", { cx: "11", cy: "33", rx: "11", ry: "11", fill: "#d1d1d1" })
|
|
5099
5127
|
] });
|
|
5100
5128
|
var sectionHeadingStyles = {
|
|
5101
5129
|
container: {
|
|
@@ -5220,37 +5248,37 @@ var sectionHeadingStyles = {
|
|
|
5220
5248
|
}
|
|
5221
5249
|
}
|
|
5222
5250
|
};
|
|
5223
|
-
var SectionHeading =
|
|
5251
|
+
var SectionHeading = React28.forwardRef(
|
|
5224
5252
|
({ title, icon, avatar, button, buttonGroup, className, style, ...props }, ref) => {
|
|
5225
|
-
const [buttonHovered, setButtonHovered] =
|
|
5226
|
-
const [hoveredGroupIndex, setHoveredGroupIndex] =
|
|
5253
|
+
const [buttonHovered, setButtonHovered] = React28.useState(false);
|
|
5254
|
+
const [hoveredGroupIndex, setHoveredGroupIndex] = React28.useState(null);
|
|
5227
5255
|
if (button && buttonGroup) {
|
|
5228
5256
|
console.warn("SectionHeading: button and buttonGroup are mutually exclusive. Only button will be rendered.");
|
|
5229
5257
|
}
|
|
5230
5258
|
const renderAvatar = () => {
|
|
5231
5259
|
if (!avatar) return null;
|
|
5232
|
-
return /* @__PURE__ */ (0,
|
|
5260
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { style: sectionHeadingStyles.avatar, children: avatar.src ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
5233
5261
|
"img",
|
|
5234
5262
|
{
|
|
5235
5263
|
src: avatar.src,
|
|
5236
5264
|
alt: avatar.alt || "Avatar",
|
|
5237
5265
|
style: sectionHeadingStyles.avatarImage
|
|
5238
5266
|
}
|
|
5239
|
-
) : avatar.initials ? /* @__PURE__ */ (0,
|
|
5267
|
+
) : avatar.initials ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { style: sectionHeadingStyles.avatarInitials, children: avatar.initials }) : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(AvatarPlaceholder, {}) });
|
|
5240
5268
|
};
|
|
5241
5269
|
const renderTitle = () => {
|
|
5242
5270
|
if (icon) {
|
|
5243
5271
|
const iconVariant = typeof icon === "string" ? icon : "info";
|
|
5244
|
-
return /* @__PURE__ */ (0,
|
|
5245
|
-
/* @__PURE__ */ (0,
|
|
5246
|
-
/* @__PURE__ */ (0,
|
|
5272
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { style: sectionHeadingStyles.titleWithIcon, children: [
|
|
5273
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("h2", { style: { ...sectionHeadingStyles.title, flex: "none" }, children: title }),
|
|
5274
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { style: sectionHeadingStyles.iconBadge, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(SectionIcon, { variant: iconVariant }) })
|
|
5247
5275
|
] });
|
|
5248
5276
|
}
|
|
5249
|
-
return /* @__PURE__ */ (0,
|
|
5277
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("h2", { style: sectionHeadingStyles.title, children: title });
|
|
5250
5278
|
};
|
|
5251
5279
|
const renderButton = () => {
|
|
5252
5280
|
if (!button) return null;
|
|
5253
|
-
return /* @__PURE__ */ (0,
|
|
5281
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
|
5254
5282
|
"button",
|
|
5255
5283
|
{
|
|
5256
5284
|
type: "button",
|
|
@@ -5262,7 +5290,7 @@ var SectionHeading = React27.forwardRef(
|
|
|
5262
5290
|
onMouseEnter: () => setButtonHovered(true),
|
|
5263
5291
|
onMouseLeave: () => setButtonHovered(false),
|
|
5264
5292
|
children: [
|
|
5265
|
-
button.icon && /* @__PURE__ */ (0,
|
|
5293
|
+
button.icon && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { style: { display: "flex", alignItems: "center", width: "16px", height: "16px" }, children: button.icon }),
|
|
5266
5294
|
button.label
|
|
5267
5295
|
]
|
|
5268
5296
|
}
|
|
@@ -5271,7 +5299,7 @@ var SectionHeading = React27.forwardRef(
|
|
|
5271
5299
|
const renderButtonGroup = () => {
|
|
5272
5300
|
if (!buttonGroup || button) return null;
|
|
5273
5301
|
const { items, activeIndex = 0, onChange } = buttonGroup;
|
|
5274
|
-
return /* @__PURE__ */ (0,
|
|
5302
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { style: sectionHeadingStyles.buttonGroup.container, children: items.slice(0, 4).map((item, index) => {
|
|
5275
5303
|
const isActive = index === activeIndex;
|
|
5276
5304
|
const isHovered = hoveredGroupIndex === index;
|
|
5277
5305
|
let btnStyle = {
|
|
@@ -5290,7 +5318,7 @@ var SectionHeading = React27.forwardRef(
|
|
|
5290
5318
|
...isHovered && sectionHeadingStyles.buttonGroup.button.hover
|
|
5291
5319
|
};
|
|
5292
5320
|
}
|
|
5293
|
-
return /* @__PURE__ */ (0,
|
|
5321
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
|
5294
5322
|
"button",
|
|
5295
5323
|
{
|
|
5296
5324
|
type: "button",
|
|
@@ -5303,7 +5331,7 @@ var SectionHeading = React27.forwardRef(
|
|
|
5303
5331
|
onMouseEnter: () => setHoveredGroupIndex(index),
|
|
5304
5332
|
onMouseLeave: () => setHoveredGroupIndex(null),
|
|
5305
5333
|
children: [
|
|
5306
|
-
item.icon && /* @__PURE__ */ (0,
|
|
5334
|
+
item.icon && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { style: { display: "flex", alignItems: "center", width: "16px", height: "16px" }, children: item.icon }),
|
|
5307
5335
|
item.label
|
|
5308
5336
|
]
|
|
5309
5337
|
},
|
|
@@ -5311,11 +5339,11 @@ var SectionHeading = React27.forwardRef(
|
|
|
5311
5339
|
);
|
|
5312
5340
|
}) });
|
|
5313
5341
|
};
|
|
5314
|
-
return /* @__PURE__ */ (0,
|
|
5342
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
|
5315
5343
|
"div",
|
|
5316
5344
|
{
|
|
5317
5345
|
ref,
|
|
5318
|
-
className: (0,
|
|
5346
|
+
className: (0, import_clsx23.clsx)("arbor-section-heading", className),
|
|
5319
5347
|
style: { ...sectionHeadingStyles.container, ...style },
|
|
5320
5348
|
...props,
|
|
5321
5349
|
children: [
|
|
@@ -5331,12 +5359,12 @@ var SectionHeading = React27.forwardRef(
|
|
|
5331
5359
|
SectionHeading.displayName = "SectionHeading";
|
|
5332
5360
|
|
|
5333
5361
|
// src/ListRow/ListRow.tsx
|
|
5334
|
-
var
|
|
5335
|
-
var
|
|
5336
|
-
var
|
|
5362
|
+
var React29 = __toESM(require("react"));
|
|
5363
|
+
var import_clsx24 = require("clsx");
|
|
5364
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
5337
5365
|
var CaretIcon = ({ isHovered }) => {
|
|
5338
5366
|
if (isHovered) {
|
|
5339
|
-
return /* @__PURE__ */ (0,
|
|
5367
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
5340
5368
|
"path",
|
|
5341
5369
|
{
|
|
5342
5370
|
d: "M6 4L10 8L6 12",
|
|
@@ -5347,7 +5375,7 @@ var CaretIcon = ({ isHovered }) => {
|
|
|
5347
5375
|
}
|
|
5348
5376
|
) });
|
|
5349
5377
|
}
|
|
5350
|
-
return /* @__PURE__ */ (0,
|
|
5378
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
5351
5379
|
"path",
|
|
5352
5380
|
{
|
|
5353
5381
|
d: "M6 4L10 8L6 12",
|
|
@@ -5431,10 +5459,10 @@ var listRowStyles = {
|
|
|
5431
5459
|
flexShrink: 0
|
|
5432
5460
|
}
|
|
5433
5461
|
};
|
|
5434
|
-
var ListRow =
|
|
5462
|
+
var ListRow = React29.forwardRef(
|
|
5435
5463
|
({ value, label, note, icon = false, onClick, className, style, ...props }, ref) => {
|
|
5436
|
-
const [isHovered, setIsHovered] =
|
|
5437
|
-
const [isFocused, setIsFocused] =
|
|
5464
|
+
const [isHovered, setIsHovered] = React29.useState(false);
|
|
5465
|
+
const [isFocused, setIsFocused] = React29.useState(false);
|
|
5438
5466
|
const showHoverState = icon && isHovered;
|
|
5439
5467
|
const isClickable = icon && onClick;
|
|
5440
5468
|
const containerStyle = {
|
|
@@ -5455,11 +5483,11 @@ var ListRow = React28.forwardRef(
|
|
|
5455
5483
|
onClick?.();
|
|
5456
5484
|
}
|
|
5457
5485
|
};
|
|
5458
|
-
return /* @__PURE__ */ (0,
|
|
5486
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
5459
5487
|
"div",
|
|
5460
5488
|
{
|
|
5461
5489
|
ref,
|
|
5462
|
-
className: (0,
|
|
5490
|
+
className: (0, import_clsx24.clsx)("arbor-list-row", className),
|
|
5463
5491
|
style: containerStyle,
|
|
5464
5492
|
onClick: handleClick,
|
|
5465
5493
|
onMouseEnter: () => icon && setIsHovered(true),
|
|
@@ -5470,12 +5498,12 @@ var ListRow = React28.forwardRef(
|
|
|
5470
5498
|
tabIndex: isClickable ? 0 : void 0,
|
|
5471
5499
|
role: isClickable ? "button" : void 0,
|
|
5472
5500
|
...props,
|
|
5473
|
-
children: /* @__PURE__ */ (0,
|
|
5474
|
-
label && /* @__PURE__ */ (0,
|
|
5475
|
-
/* @__PURE__ */ (0,
|
|
5476
|
-
/* @__PURE__ */ (0,
|
|
5477
|
-
note && /* @__PURE__ */ (0,
|
|
5478
|
-
icon && /* @__PURE__ */ (0,
|
|
5501
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { style: listRowStyles.content, children: [
|
|
5502
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { style: listRowStyles.label, children: label }),
|
|
5503
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { style: listRowStyles.valueContainer, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { style: listRowStyles.value, children: value }) }),
|
|
5504
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { style: listRowStyles.rightContainer, children: [
|
|
5505
|
+
note && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { style: listRowStyles.note, children: note }),
|
|
5506
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { style: listRowStyles.iconWrapper, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(CaretIcon, { isHovered }) })
|
|
5479
5507
|
] })
|
|
5480
5508
|
] })
|
|
5481
5509
|
}
|
|
@@ -5485,12 +5513,12 @@ var ListRow = React28.forwardRef(
|
|
|
5485
5513
|
ListRow.displayName = "ListRow";
|
|
5486
5514
|
|
|
5487
5515
|
// src/ListRowMultiLine/ListRowMultiLine.tsx
|
|
5488
|
-
var
|
|
5489
|
-
var
|
|
5490
|
-
var
|
|
5516
|
+
var React30 = __toESM(require("react"));
|
|
5517
|
+
var import_clsx25 = require("clsx");
|
|
5518
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
5491
5519
|
var CaretIcon2 = ({ isHovered }) => {
|
|
5492
5520
|
if (isHovered) {
|
|
5493
|
-
return /* @__PURE__ */ (0,
|
|
5521
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
5494
5522
|
"path",
|
|
5495
5523
|
{
|
|
5496
5524
|
d: "M6 4L10 8L6 12",
|
|
@@ -5501,7 +5529,7 @@ var CaretIcon2 = ({ isHovered }) => {
|
|
|
5501
5529
|
}
|
|
5502
5530
|
) });
|
|
5503
5531
|
}
|
|
5504
|
-
return /* @__PURE__ */ (0,
|
|
5532
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
5505
5533
|
"path",
|
|
5506
5534
|
{
|
|
5507
5535
|
d: "M6 4L10 8L6 12",
|
|
@@ -5574,10 +5602,10 @@ var listRowMultiLineStyles = {
|
|
|
5574
5602
|
marginLeft: "8px"
|
|
5575
5603
|
}
|
|
5576
5604
|
};
|
|
5577
|
-
var ListRowMultiLine =
|
|
5605
|
+
var ListRowMultiLine = React30.forwardRef(
|
|
5578
5606
|
({ title, description, icon = false, onClick, className, style, ...props }, ref) => {
|
|
5579
|
-
const [isHovered, setIsHovered] =
|
|
5580
|
-
const [isFocused, setIsFocused] =
|
|
5607
|
+
const [isHovered, setIsHovered] = React30.useState(false);
|
|
5608
|
+
const [isFocused, setIsFocused] = React30.useState(false);
|
|
5581
5609
|
const showHoverState = icon && isHovered;
|
|
5582
5610
|
const isClickable = icon && onClick;
|
|
5583
5611
|
const containerStyle = {
|
|
@@ -5598,11 +5626,11 @@ var ListRowMultiLine = React29.forwardRef(
|
|
|
5598
5626
|
onClick?.();
|
|
5599
5627
|
}
|
|
5600
5628
|
};
|
|
5601
|
-
return /* @__PURE__ */ (0,
|
|
5629
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
5602
5630
|
"div",
|
|
5603
5631
|
{
|
|
5604
5632
|
ref,
|
|
5605
|
-
className: (0,
|
|
5633
|
+
className: (0, import_clsx25.clsx)("arbor-list-row-multi-line", className),
|
|
5606
5634
|
style: containerStyle,
|
|
5607
5635
|
onClick: handleClick,
|
|
5608
5636
|
onMouseEnter: () => icon && setIsHovered(true),
|
|
@@ -5613,12 +5641,12 @@ var ListRowMultiLine = React29.forwardRef(
|
|
|
5613
5641
|
tabIndex: isClickable ? 0 : void 0,
|
|
5614
5642
|
role: isClickable ? "button" : void 0,
|
|
5615
5643
|
...props,
|
|
5616
|
-
children: /* @__PURE__ */ (0,
|
|
5617
|
-
/* @__PURE__ */ (0,
|
|
5618
|
-
/* @__PURE__ */ (0,
|
|
5619
|
-
/* @__PURE__ */ (0,
|
|
5644
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { style: listRowMultiLineStyles.content, children: [
|
|
5645
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { style: listRowMultiLineStyles.textContent, children: [
|
|
5646
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { style: listRowMultiLineStyles.title, children: title }),
|
|
5647
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { style: listRowMultiLineStyles.description, children: description })
|
|
5620
5648
|
] }),
|
|
5621
|
-
icon && /* @__PURE__ */ (0,
|
|
5649
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { style: listRowMultiLineStyles.iconWrapper, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(CaretIcon2, { isHovered }) })
|
|
5622
5650
|
] })
|
|
5623
5651
|
}
|
|
5624
5652
|
);
|
|
@@ -5627,12 +5655,12 @@ var ListRowMultiLine = React29.forwardRef(
|
|
|
5627
5655
|
ListRowMultiLine.displayName = "ListRowMultiLine";
|
|
5628
5656
|
|
|
5629
5657
|
// src/SubSectionHeading/SubSectionHeading.tsx
|
|
5630
|
-
var
|
|
5631
|
-
var
|
|
5632
|
-
var
|
|
5633
|
-
var InfoIcon2 = () => /* @__PURE__ */ (0,
|
|
5634
|
-
/* @__PURE__ */ (0,
|
|
5635
|
-
/* @__PURE__ */ (0,
|
|
5658
|
+
var React31 = __toESM(require("react"));
|
|
5659
|
+
var import_clsx26 = require("clsx");
|
|
5660
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
5661
|
+
var InfoIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
5662
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("circle", { cx: "8", cy: "8", r: "6.5", stroke: "#2f2f2f", strokeWidth: "1.2" }),
|
|
5663
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5636
5664
|
"path",
|
|
5637
5665
|
{
|
|
5638
5666
|
d: "M8 7V11",
|
|
@@ -5641,9 +5669,9 @@ var InfoIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("svg", { wi
|
|
|
5641
5669
|
strokeLinecap: "round"
|
|
5642
5670
|
}
|
|
5643
5671
|
),
|
|
5644
|
-
/* @__PURE__ */ (0,
|
|
5672
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("circle", { cx: "8", cy: "5", r: "0.75", fill: "#2f2f2f" })
|
|
5645
5673
|
] });
|
|
5646
|
-
var PlusIcon = ({ color = "#2f2f2f" }) => /* @__PURE__ */ (0,
|
|
5674
|
+
var PlusIcon = ({ color = "#2f2f2f" }) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5647
5675
|
"path",
|
|
5648
5676
|
{
|
|
5649
5677
|
d: "M8 3V13M3 8H13",
|
|
@@ -5736,7 +5764,7 @@ var subSectionHeadingStyles = {
|
|
|
5736
5764
|
flexShrink: 0
|
|
5737
5765
|
}
|
|
5738
5766
|
};
|
|
5739
|
-
var SubSectionHeading =
|
|
5767
|
+
var SubSectionHeading = React31.forwardRef(
|
|
5740
5768
|
({
|
|
5741
5769
|
title,
|
|
5742
5770
|
icon = false,
|
|
@@ -5748,7 +5776,7 @@ var SubSectionHeading = React30.forwardRef(
|
|
|
5748
5776
|
style,
|
|
5749
5777
|
...props
|
|
5750
5778
|
}, ref) => {
|
|
5751
|
-
const [isButtonHovered, setIsButtonHovered] =
|
|
5779
|
+
const [isButtonHovered, setIsButtonHovered] = React31.useState(false);
|
|
5752
5780
|
const containerStyle = {
|
|
5753
5781
|
...subSectionHeadingStyles.container,
|
|
5754
5782
|
...button ? subSectionHeadingStyles.containerWithButton : subSectionHeadingStyles.containerNoButton,
|
|
@@ -5774,23 +5802,23 @@ var SubSectionHeading = React30.forwardRef(
|
|
|
5774
5802
|
};
|
|
5775
5803
|
const renderButtonIcon = () => {
|
|
5776
5804
|
if (buttonIcon) {
|
|
5777
|
-
return /* @__PURE__ */ (0,
|
|
5805
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { style: subSectionHeadingStyles.buttonIconWrapper, children: buttonIcon });
|
|
5778
5806
|
}
|
|
5779
|
-
return /* @__PURE__ */ (0,
|
|
5807
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { style: subSectionHeadingStyles.buttonIconWrapper, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(PlusIcon, { color: button === "primary" ? "#ffffff" : "#2f2f2f" }) });
|
|
5780
5808
|
};
|
|
5781
|
-
return /* @__PURE__ */ (0,
|
|
5809
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
5782
5810
|
"div",
|
|
5783
5811
|
{
|
|
5784
5812
|
ref,
|
|
5785
|
-
className: (0,
|
|
5813
|
+
className: (0, import_clsx26.clsx)("arbor-sub-section-heading", className),
|
|
5786
5814
|
style: containerStyle,
|
|
5787
5815
|
...props,
|
|
5788
5816
|
children: [
|
|
5789
|
-
/* @__PURE__ */ (0,
|
|
5790
|
-
/* @__PURE__ */ (0,
|
|
5791
|
-
icon && /* @__PURE__ */ (0,
|
|
5817
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { style: subSectionHeadingStyles.textContainer, children: [
|
|
5818
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("h3", { style: subSectionHeadingStyles.title, children: title }),
|
|
5819
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { style: subSectionHeadingStyles.iconWrapper, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(InfoIcon2, {}) })
|
|
5792
5820
|
] }),
|
|
5793
|
-
button && /* @__PURE__ */ (0,
|
|
5821
|
+
button && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
5794
5822
|
"button",
|
|
5795
5823
|
{
|
|
5796
5824
|
type: "button",
|
|
@@ -5800,7 +5828,7 @@ var SubSectionHeading = React30.forwardRef(
|
|
|
5800
5828
|
onMouseLeave: () => setIsButtonHovered(false),
|
|
5801
5829
|
children: [
|
|
5802
5830
|
renderButtonIcon(),
|
|
5803
|
-
/* @__PURE__ */ (0,
|
|
5831
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { children: buttonText })
|
|
5804
5832
|
]
|
|
5805
5833
|
}
|
|
5806
5834
|
)
|
|
@@ -5812,10 +5840,10 @@ var SubSectionHeading = React30.forwardRef(
|
|
|
5812
5840
|
SubSectionHeading.displayName = "SubSectionHeading";
|
|
5813
5841
|
|
|
5814
5842
|
// src/SubSectionInteractive/SubSectionInteractive.tsx
|
|
5815
|
-
var
|
|
5816
|
-
var
|
|
5817
|
-
var
|
|
5818
|
-
var ChevronIcon = ({ expanded }) => /* @__PURE__ */ (0,
|
|
5843
|
+
var React32 = __toESM(require("react"));
|
|
5844
|
+
var import_clsx27 = require("clsx");
|
|
5845
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
5846
|
+
var ChevronIcon = ({ expanded }) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
5819
5847
|
"svg",
|
|
5820
5848
|
{
|
|
5821
5849
|
width: "16",
|
|
@@ -5827,7 +5855,7 @@ var ChevronIcon = ({ expanded }) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx
|
|
|
5827
5855
|
transform: expanded ? "rotate(0deg)" : "rotate(180deg)",
|
|
5828
5856
|
transition: "transform 0.2s ease-in-out"
|
|
5829
5857
|
},
|
|
5830
|
-
children: /* @__PURE__ */ (0,
|
|
5858
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
5831
5859
|
"path",
|
|
5832
5860
|
{
|
|
5833
5861
|
d: "M4 6L8 10L12 6",
|
|
@@ -5910,7 +5938,7 @@ var subSectionInteractiveStyles = {
|
|
|
5910
5938
|
borderBottom: "1px solid #f8f8f8"
|
|
5911
5939
|
}
|
|
5912
5940
|
};
|
|
5913
|
-
var SubSectionInteractive =
|
|
5941
|
+
var SubSectionInteractive = React32.forwardRef(
|
|
5914
5942
|
({
|
|
5915
5943
|
title,
|
|
5916
5944
|
children,
|
|
@@ -5921,11 +5949,11 @@ var SubSectionInteractive = React31.forwardRef(
|
|
|
5921
5949
|
style,
|
|
5922
5950
|
...props
|
|
5923
5951
|
}, ref) => {
|
|
5924
|
-
const [internalExpanded, setInternalExpanded] =
|
|
5952
|
+
const [internalExpanded, setInternalExpanded] = React32.useState(defaultExpanded);
|
|
5925
5953
|
const isControlled = controlledExpanded !== void 0;
|
|
5926
5954
|
const isExpanded = isControlled ? controlledExpanded : internalExpanded;
|
|
5927
|
-
const [isHovered, setIsHovered] =
|
|
5928
|
-
const [isFocused, setIsFocused] =
|
|
5955
|
+
const [isHovered, setIsHovered] = React32.useState(false);
|
|
5956
|
+
const [isFocused, setIsFocused] = React32.useState(false);
|
|
5929
5957
|
const handleToggle = () => {
|
|
5930
5958
|
const newExpanded = !isExpanded;
|
|
5931
5959
|
if (!isControlled) {
|
|
@@ -5948,15 +5976,15 @@ var SubSectionInteractive = React31.forwardRef(
|
|
|
5948
5976
|
...subSectionInteractiveStyles.content,
|
|
5949
5977
|
...isExpanded ? subSectionInteractiveStyles.contentExpanded : subSectionInteractiveStyles.contentCollapsed
|
|
5950
5978
|
};
|
|
5951
|
-
return /* @__PURE__ */ (0,
|
|
5979
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
5952
5980
|
"div",
|
|
5953
5981
|
{
|
|
5954
5982
|
ref,
|
|
5955
|
-
className: (0,
|
|
5983
|
+
className: (0, import_clsx27.clsx)("arbor-sub-section-interactive", className),
|
|
5956
5984
|
style: { ...subSectionInteractiveStyles.container, ...style },
|
|
5957
5985
|
...props,
|
|
5958
5986
|
children: [
|
|
5959
|
-
/* @__PURE__ */ (0,
|
|
5987
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
5960
5988
|
"button",
|
|
5961
5989
|
{
|
|
5962
5990
|
type: "button",
|
|
@@ -5968,13 +5996,13 @@ var SubSectionInteractive = React31.forwardRef(
|
|
|
5968
5996
|
onBlur: () => setIsFocused(false),
|
|
5969
5997
|
onKeyDown: handleKeyDown,
|
|
5970
5998
|
"aria-expanded": isExpanded,
|
|
5971
|
-
children: /* @__PURE__ */ (0,
|
|
5972
|
-
/* @__PURE__ */ (0,
|
|
5973
|
-
/* @__PURE__ */ (0,
|
|
5999
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { style: headerContentStyle, children: [
|
|
6000
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("h3", { style: subSectionInteractiveStyles.title, children: title }),
|
|
6001
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { style: subSectionInteractiveStyles.iconWrapper, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ChevronIcon, { expanded: isExpanded }) })
|
|
5974
6002
|
] })
|
|
5975
6003
|
}
|
|
5976
6004
|
),
|
|
5977
|
-
/* @__PURE__ */ (0,
|
|
6005
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { style: contentStyle, "aria-hidden": !isExpanded, children: children && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { style: subSectionInteractiveStyles.contentInner, children }) })
|
|
5978
6006
|
]
|
|
5979
6007
|
}
|
|
5980
6008
|
);
|
|
@@ -5983,10 +6011,10 @@ var SubSectionInteractive = React31.forwardRef(
|
|
|
5983
6011
|
SubSectionInteractive.displayName = "SubSectionInteractive";
|
|
5984
6012
|
|
|
5985
6013
|
// src/SectionHeadingInteractive/SectionHeadingInteractive.tsx
|
|
5986
|
-
var
|
|
5987
|
-
var
|
|
5988
|
-
var
|
|
5989
|
-
var ChevronIcon2 = ({ expanded }) => /* @__PURE__ */ (0,
|
|
6014
|
+
var React33 = __toESM(require("react"));
|
|
6015
|
+
var import_clsx28 = require("clsx");
|
|
6016
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
6017
|
+
var ChevronIcon2 = ({ expanded }) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
5990
6018
|
"svg",
|
|
5991
6019
|
{
|
|
5992
6020
|
width: "16",
|
|
@@ -5998,7 +6026,7 @@ var ChevronIcon2 = ({ expanded }) => /* @__PURE__ */ (0, import_jsx_runtime32.js
|
|
|
5998
6026
|
transform: expanded ? "rotate(180deg)" : "rotate(0deg)",
|
|
5999
6027
|
transition: "transform 0.2s ease-in-out"
|
|
6000
6028
|
},
|
|
6001
|
-
children: /* @__PURE__ */ (0,
|
|
6029
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
6002
6030
|
"path",
|
|
6003
6031
|
{
|
|
6004
6032
|
d: "M4 6L8 10L12 6",
|
|
@@ -6094,7 +6122,7 @@ var sectionHeadingInteractiveStyles = {
|
|
|
6094
6122
|
// Content area styling - children go here
|
|
6095
6123
|
}
|
|
6096
6124
|
};
|
|
6097
|
-
var SectionHeadingInteractive =
|
|
6125
|
+
var SectionHeadingInteractive = React33.forwardRef(
|
|
6098
6126
|
({
|
|
6099
6127
|
title,
|
|
6100
6128
|
children,
|
|
@@ -6105,11 +6133,11 @@ var SectionHeadingInteractive = React32.forwardRef(
|
|
|
6105
6133
|
style,
|
|
6106
6134
|
...props
|
|
6107
6135
|
}, ref) => {
|
|
6108
|
-
const [internalExpanded, setInternalExpanded] =
|
|
6136
|
+
const [internalExpanded, setInternalExpanded] = React33.useState(defaultExpanded);
|
|
6109
6137
|
const isControlled = controlledExpanded !== void 0;
|
|
6110
6138
|
const isExpanded = isControlled ? controlledExpanded : internalExpanded;
|
|
6111
|
-
const [isHovered, setIsHovered] =
|
|
6112
|
-
const [isFocused, setIsFocused] =
|
|
6139
|
+
const [isHovered, setIsHovered] = React33.useState(false);
|
|
6140
|
+
const [isFocused, setIsFocused] = React33.useState(false);
|
|
6113
6141
|
const handleToggle = () => {
|
|
6114
6142
|
const newExpanded = !isExpanded;
|
|
6115
6143
|
if (!isControlled) {
|
|
@@ -6133,15 +6161,15 @@ var SectionHeadingInteractive = React32.forwardRef(
|
|
|
6133
6161
|
...sectionHeadingInteractiveStyles.content,
|
|
6134
6162
|
...isExpanded ? sectionHeadingInteractiveStyles.contentExpanded : sectionHeadingInteractiveStyles.contentCollapsed
|
|
6135
6163
|
};
|
|
6136
|
-
return /* @__PURE__ */ (0,
|
|
6164
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
6137
6165
|
"div",
|
|
6138
6166
|
{
|
|
6139
6167
|
ref,
|
|
6140
|
-
className: (0,
|
|
6168
|
+
className: (0, import_clsx28.clsx)("arbor-section-heading-interactive", className),
|
|
6141
6169
|
style: { ...sectionHeadingInteractiveStyles.container, ...style },
|
|
6142
6170
|
...props,
|
|
6143
6171
|
children: [
|
|
6144
|
-
/* @__PURE__ */ (0,
|
|
6172
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { style: headerContainerStyle, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
6145
6173
|
"button",
|
|
6146
6174
|
{
|
|
6147
6175
|
type: "button",
|
|
@@ -6153,13 +6181,13 @@ var SectionHeadingInteractive = React32.forwardRef(
|
|
|
6153
6181
|
onBlur: () => setIsFocused(false),
|
|
6154
6182
|
onKeyDown: handleKeyDown,
|
|
6155
6183
|
"aria-expanded": isExpanded,
|
|
6156
|
-
children: /* @__PURE__ */ (0,
|
|
6157
|
-
/* @__PURE__ */ (0,
|
|
6158
|
-
/* @__PURE__ */ (0,
|
|
6184
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { style: headerContentStyle, children: [
|
|
6185
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("h2", { style: sectionHeadingInteractiveStyles.title, children: title }),
|
|
6186
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { style: sectionHeadingInteractiveStyles.iconWrapper, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(ChevronIcon2, { expanded: isExpanded }) })
|
|
6159
6187
|
] })
|
|
6160
6188
|
}
|
|
6161
6189
|
) }),
|
|
6162
|
-
/* @__PURE__ */ (0,
|
|
6190
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { style: contentStyle, "aria-hidden": !isExpanded, children: children && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { style: sectionHeadingInteractiveStyles.contentInner, children }) })
|
|
6163
6191
|
]
|
|
6164
6192
|
}
|
|
6165
6193
|
);
|
|
@@ -6168,9 +6196,9 @@ var SectionHeadingInteractive = React32.forwardRef(
|
|
|
6168
6196
|
SectionHeadingInteractive.displayName = "SectionHeadingInteractive";
|
|
6169
6197
|
|
|
6170
6198
|
// src/Section/Section.tsx
|
|
6171
|
-
var
|
|
6172
|
-
var
|
|
6173
|
-
var
|
|
6199
|
+
var React34 = __toESM(require("react"));
|
|
6200
|
+
var import_clsx29 = require("clsx");
|
|
6201
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
6174
6202
|
var sectionStyles = {
|
|
6175
6203
|
container: {
|
|
6176
6204
|
display: "flex",
|
|
@@ -6183,13 +6211,13 @@ var sectionStyles = {
|
|
|
6183
6211
|
fontFamily: "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif"
|
|
6184
6212
|
}
|
|
6185
6213
|
};
|
|
6186
|
-
var Section =
|
|
6214
|
+
var Section = React34.forwardRef(
|
|
6187
6215
|
({ children, className, style, ...props }, ref) => {
|
|
6188
|
-
return /* @__PURE__ */ (0,
|
|
6216
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
6189
6217
|
"div",
|
|
6190
6218
|
{
|
|
6191
6219
|
ref,
|
|
6192
|
-
className: (0,
|
|
6220
|
+
className: (0, import_clsx29.clsx)("arbor-section", className),
|
|
6193
6221
|
style: { ...sectionStyles.container, ...style },
|
|
6194
6222
|
...props,
|
|
6195
6223
|
children
|
|
@@ -6200,10 +6228,10 @@ var Section = React33.forwardRef(
|
|
|
6200
6228
|
Section.displayName = "Section";
|
|
6201
6229
|
|
|
6202
6230
|
// src/ModalHeader/ModalHeader.tsx
|
|
6203
|
-
var
|
|
6204
|
-
var
|
|
6205
|
-
var
|
|
6206
|
-
var CloseIcon = () => /* @__PURE__ */ (0,
|
|
6231
|
+
var React35 = __toESM(require("react"));
|
|
6232
|
+
var import_clsx30 = require("clsx");
|
|
6233
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
6234
|
+
var CloseIcon = () => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
6207
6235
|
"svg",
|
|
6208
6236
|
{
|
|
6209
6237
|
width: "10",
|
|
@@ -6211,7 +6239,7 @@ var CloseIcon = () => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
|
6211
6239
|
viewBox: "0 0 10 10",
|
|
6212
6240
|
fill: "none",
|
|
6213
6241
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6214
|
-
children: /* @__PURE__ */ (0,
|
|
6242
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
6215
6243
|
"path",
|
|
6216
6244
|
{
|
|
6217
6245
|
d: "M1 1L9 9M9 1L1 9",
|
|
@@ -6270,28 +6298,28 @@ var modalHeaderStyles = {
|
|
|
6270
6298
|
outlineOffset: "-3px"
|
|
6271
6299
|
}
|
|
6272
6300
|
};
|
|
6273
|
-
var ModalHeader =
|
|
6301
|
+
var ModalHeader = React35.forwardRef(
|
|
6274
6302
|
({ title, icon, onClose, className, style, ...props }, ref) => {
|
|
6275
|
-
const [isHovered, setIsHovered] =
|
|
6276
|
-
const [isFocused, setIsFocused] =
|
|
6303
|
+
const [isHovered, setIsHovered] = React35.useState(false);
|
|
6304
|
+
const [isFocused, setIsFocused] = React35.useState(false);
|
|
6277
6305
|
const closeButtonStyle = {
|
|
6278
6306
|
...modalHeaderStyles.closeButton,
|
|
6279
6307
|
...isHovered && modalHeaderStyles.closeButtonHover,
|
|
6280
6308
|
...isFocused && modalHeaderStyles.closeButtonFocus
|
|
6281
6309
|
};
|
|
6282
|
-
return /* @__PURE__ */ (0,
|
|
6310
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
6283
6311
|
"div",
|
|
6284
6312
|
{
|
|
6285
6313
|
ref,
|
|
6286
|
-
className: (0,
|
|
6314
|
+
className: (0, import_clsx30.clsx)("arbor-modal-header", className),
|
|
6287
6315
|
style: { ...modalHeaderStyles.container, ...style },
|
|
6288
6316
|
...props,
|
|
6289
6317
|
children: [
|
|
6290
|
-
/* @__PURE__ */ (0,
|
|
6291
|
-
icon && /* @__PURE__ */ (0,
|
|
6292
|
-
/* @__PURE__ */ (0,
|
|
6318
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { style: modalHeaderStyles.leftContent, children: [
|
|
6319
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(SectionIcon, { variant: icon }),
|
|
6320
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("h2", { style: modalHeaderStyles.title, children: title })
|
|
6293
6321
|
] }),
|
|
6294
|
-
onClose && /* @__PURE__ */ (0,
|
|
6322
|
+
onClose && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
6295
6323
|
"button",
|
|
6296
6324
|
{
|
|
6297
6325
|
type: "button",
|
|
@@ -6302,7 +6330,7 @@ var ModalHeader = React34.forwardRef(
|
|
|
6302
6330
|
onBlur: () => setIsFocused(false),
|
|
6303
6331
|
style: closeButtonStyle,
|
|
6304
6332
|
"aria-label": "Close modal",
|
|
6305
|
-
children: /* @__PURE__ */ (0,
|
|
6333
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CloseIcon, {})
|
|
6306
6334
|
}
|
|
6307
6335
|
)
|
|
6308
6336
|
]
|
|
@@ -6313,9 +6341,9 @@ var ModalHeader = React34.forwardRef(
|
|
|
6313
6341
|
ModalHeader.displayName = "ModalHeader";
|
|
6314
6342
|
|
|
6315
6343
|
// src/ModalFooter/ModalFooter.tsx
|
|
6316
|
-
var
|
|
6317
|
-
var
|
|
6318
|
-
var
|
|
6344
|
+
var React36 = __toESM(require("react"));
|
|
6345
|
+
var import_clsx31 = require("clsx");
|
|
6346
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
6319
6347
|
var modalFooterStyles = {
|
|
6320
6348
|
container: {
|
|
6321
6349
|
display: "flex",
|
|
@@ -6329,13 +6357,13 @@ var modalFooterStyles = {
|
|
|
6329
6357
|
maxHeight: "56px"
|
|
6330
6358
|
}
|
|
6331
6359
|
};
|
|
6332
|
-
var ModalFooter =
|
|
6360
|
+
var ModalFooter = React36.forwardRef(
|
|
6333
6361
|
({ children, className, style, ...props }, ref) => {
|
|
6334
|
-
return /* @__PURE__ */ (0,
|
|
6362
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
6335
6363
|
"div",
|
|
6336
6364
|
{
|
|
6337
6365
|
ref,
|
|
6338
|
-
className: (0,
|
|
6366
|
+
className: (0, import_clsx31.clsx)("arbor-modal-footer", className),
|
|
6339
6367
|
style: { ...modalFooterStyles.container, ...style },
|
|
6340
6368
|
...props,
|
|
6341
6369
|
children
|
|
@@ -6346,9 +6374,9 @@ var ModalFooter = React35.forwardRef(
|
|
|
6346
6374
|
ModalFooter.displayName = "ModalFooter";
|
|
6347
6375
|
|
|
6348
6376
|
// src/Modal/Modal.tsx
|
|
6349
|
-
var
|
|
6350
|
-
var
|
|
6351
|
-
var
|
|
6377
|
+
var React37 = __toESM(require("react"));
|
|
6378
|
+
var import_clsx32 = require("clsx");
|
|
6379
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
6352
6380
|
var modalStyles = {
|
|
6353
6381
|
container: {
|
|
6354
6382
|
display: "flex",
|
|
@@ -6380,13 +6408,13 @@ var modalStyles = {
|
|
|
6380
6408
|
lineHeight: "1.5"
|
|
6381
6409
|
}
|
|
6382
6410
|
};
|
|
6383
|
-
var Modal =
|
|
6411
|
+
var Modal = React37.forwardRef(
|
|
6384
6412
|
({ children, width = 584, className, style, ...props }, ref) => {
|
|
6385
|
-
return /* @__PURE__ */ (0,
|
|
6413
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
6386
6414
|
"div",
|
|
6387
6415
|
{
|
|
6388
6416
|
ref,
|
|
6389
|
-
className: (0,
|
|
6417
|
+
className: (0, import_clsx32.clsx)("arbor-modal", className),
|
|
6390
6418
|
style: {
|
|
6391
6419
|
...modalStyles.container,
|
|
6392
6420
|
width: typeof width === "number" ? `${width}px` : width,
|
|
@@ -6401,16 +6429,16 @@ var Modal = React36.forwardRef(
|
|
|
6401
6429
|
}
|
|
6402
6430
|
);
|
|
6403
6431
|
Modal.displayName = "Modal";
|
|
6404
|
-
var ModalContent =
|
|
6432
|
+
var ModalContent = React37.forwardRef(
|
|
6405
6433
|
({ children, className, style, ...props }, ref) => {
|
|
6406
|
-
return /* @__PURE__ */ (0,
|
|
6434
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
6407
6435
|
"div",
|
|
6408
6436
|
{
|
|
6409
6437
|
ref,
|
|
6410
|
-
className: (0,
|
|
6438
|
+
className: (0, import_clsx32.clsx)("arbor-modal-content", className),
|
|
6411
6439
|
style: { ...modalStyles.content, ...style },
|
|
6412
6440
|
...props,
|
|
6413
|
-
children: /* @__PURE__ */ (0,
|
|
6441
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { style: modalStyles.contentText, children })
|
|
6414
6442
|
}
|
|
6415
6443
|
);
|
|
6416
6444
|
}
|
|
@@ -6418,10 +6446,10 @@ var ModalContent = React36.forwardRef(
|
|
|
6418
6446
|
ModalContent.displayName = "ModalContent";
|
|
6419
6447
|
|
|
6420
6448
|
// src/AvatarLogoLockup/AvatarLogoLockup.tsx
|
|
6421
|
-
var
|
|
6449
|
+
var React38 = __toESM(require("react"));
|
|
6422
6450
|
var import_lucide_react14 = require("lucide-react");
|
|
6423
|
-
var
|
|
6424
|
-
var AvatarLogoLockup =
|
|
6451
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
6452
|
+
var AvatarLogoLockup = React38.forwardRef(
|
|
6425
6453
|
({
|
|
6426
6454
|
avatarSrc,
|
|
6427
6455
|
avatarInitials,
|
|
@@ -6431,8 +6459,8 @@ var AvatarLogoLockup = React37.forwardRef(
|
|
|
6431
6459
|
className,
|
|
6432
6460
|
style
|
|
6433
6461
|
}, ref) => {
|
|
6434
|
-
const [isHovered, setIsHovered] =
|
|
6435
|
-
const
|
|
6462
|
+
const [isHovered, setIsHovered] = React38.useState(false);
|
|
6463
|
+
const containerStyles7 = {
|
|
6436
6464
|
display: "inline-flex",
|
|
6437
6465
|
alignItems: "center",
|
|
6438
6466
|
gap: "4px",
|
|
@@ -6470,16 +6498,16 @@ var AvatarLogoLockup = React37.forwardRef(
|
|
|
6470
6498
|
};
|
|
6471
6499
|
const AvatarSection = onAvatarClick ? "button" : "div";
|
|
6472
6500
|
const LogoSection = onLogoClick ? "button" : "div";
|
|
6473
|
-
return /* @__PURE__ */ (0,
|
|
6501
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
|
|
6474
6502
|
"div",
|
|
6475
6503
|
{
|
|
6476
6504
|
ref,
|
|
6477
6505
|
className,
|
|
6478
|
-
style:
|
|
6506
|
+
style: containerStyles7,
|
|
6479
6507
|
onMouseEnter: () => setIsHovered(true),
|
|
6480
6508
|
onMouseLeave: () => setIsHovered(false),
|
|
6481
6509
|
children: [
|
|
6482
|
-
/* @__PURE__ */ (0,
|
|
6510
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
|
|
6483
6511
|
AvatarSection,
|
|
6484
6512
|
{
|
|
6485
6513
|
style: {
|
|
@@ -6489,7 +6517,7 @@ var AvatarLogoLockup = React37.forwardRef(
|
|
|
6489
6517
|
onClick: onAvatarClick,
|
|
6490
6518
|
...onAvatarClick ? { type: "button" } : {},
|
|
6491
6519
|
children: [
|
|
6492
|
-
/* @__PURE__ */ (0,
|
|
6520
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
6493
6521
|
Avatar,
|
|
6494
6522
|
{
|
|
6495
6523
|
size: "medium",
|
|
@@ -6498,12 +6526,12 @@ var AvatarLogoLockup = React37.forwardRef(
|
|
|
6498
6526
|
alt: avatarAlt
|
|
6499
6527
|
}
|
|
6500
6528
|
),
|
|
6501
|
-
/* @__PURE__ */ (0,
|
|
6529
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react14.ChevronDown, { size: 12, color: "#2f2f2f", strokeWidth: 2 })
|
|
6502
6530
|
]
|
|
6503
6531
|
}
|
|
6504
6532
|
),
|
|
6505
|
-
/* @__PURE__ */ (0,
|
|
6506
|
-
/* @__PURE__ */ (0,
|
|
6533
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { style: dividerStyles }),
|
|
6534
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
6507
6535
|
LogoSection,
|
|
6508
6536
|
{
|
|
6509
6537
|
style: {
|
|
@@ -6512,7 +6540,7 @@ var AvatarLogoLockup = React37.forwardRef(
|
|
|
6512
6540
|
},
|
|
6513
6541
|
onClick: onLogoClick,
|
|
6514
6542
|
...onLogoClick ? { type: "button" } : {},
|
|
6515
|
-
children: /* @__PURE__ */ (0,
|
|
6543
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Logo, { withText: true, light: true, height: 25 })
|
|
6516
6544
|
}
|
|
6517
6545
|
)
|
|
6518
6546
|
]
|
|
@@ -6523,10 +6551,10 @@ var AvatarLogoLockup = React37.forwardRef(
|
|
|
6523
6551
|
AvatarLogoLockup.displayName = "AvatarLogoLockup";
|
|
6524
6552
|
|
|
6525
6553
|
// src/TopNavItem/TopNavItem.tsx
|
|
6526
|
-
var
|
|
6554
|
+
var React39 = __toESM(require("react"));
|
|
6527
6555
|
var import_lucide_react15 = require("lucide-react");
|
|
6528
|
-
var
|
|
6529
|
-
var TopNavItem =
|
|
6556
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
6557
|
+
var TopNavItem = React39.forwardRef(
|
|
6530
6558
|
({
|
|
6531
6559
|
children,
|
|
6532
6560
|
active = false,
|
|
@@ -6534,8 +6562,8 @@ var TopNavItem = React38.forwardRef(
|
|
|
6534
6562
|
className,
|
|
6535
6563
|
style
|
|
6536
6564
|
}, ref) => {
|
|
6537
|
-
const [isHovered, setIsHovered] =
|
|
6538
|
-
const [isFocused, setIsFocused] =
|
|
6565
|
+
const [isHovered, setIsHovered] = React39.useState(false);
|
|
6566
|
+
const [isFocused, setIsFocused] = React39.useState(false);
|
|
6539
6567
|
const textColor = active ? "#005700" : "#474747";
|
|
6540
6568
|
const iconColor = active ? "#005700" : "#474747";
|
|
6541
6569
|
const getBackgroundColor = () => {
|
|
@@ -6543,7 +6571,7 @@ var TopNavItem = React38.forwardRef(
|
|
|
6543
6571
|
if (isHovered) return "#f8f8f8";
|
|
6544
6572
|
return "transparent";
|
|
6545
6573
|
};
|
|
6546
|
-
const
|
|
6574
|
+
const containerStyles7 = {
|
|
6547
6575
|
display: "inline-flex",
|
|
6548
6576
|
alignItems: "center",
|
|
6549
6577
|
justifyContent: "center",
|
|
@@ -6568,12 +6596,12 @@ var TopNavItem = React38.forwardRef(
|
|
|
6568
6596
|
textAlign: "center",
|
|
6569
6597
|
whiteSpace: "nowrap"
|
|
6570
6598
|
};
|
|
6571
|
-
return /* @__PURE__ */ (0,
|
|
6599
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
6572
6600
|
"button",
|
|
6573
6601
|
{
|
|
6574
6602
|
ref,
|
|
6575
6603
|
className,
|
|
6576
|
-
style:
|
|
6604
|
+
style: containerStyles7,
|
|
6577
6605
|
onClick,
|
|
6578
6606
|
onMouseEnter: () => setIsHovered(true),
|
|
6579
6607
|
onMouseLeave: () => setIsHovered(false),
|
|
@@ -6581,8 +6609,8 @@ var TopNavItem = React38.forwardRef(
|
|
|
6581
6609
|
onBlur: () => setIsFocused(false),
|
|
6582
6610
|
type: "button",
|
|
6583
6611
|
children: [
|
|
6584
|
-
/* @__PURE__ */ (0,
|
|
6585
|
-
/* @__PURE__ */ (0,
|
|
6612
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { style: textStyles3, children }),
|
|
6613
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_lucide_react15.ChevronDown, { size: 12, color: iconColor, strokeWidth: 2 })
|
|
6586
6614
|
]
|
|
6587
6615
|
}
|
|
6588
6616
|
);
|
|
@@ -6591,10 +6619,10 @@ var TopNavItem = React38.forwardRef(
|
|
|
6591
6619
|
TopNavItem.displayName = "TopNavItem";
|
|
6592
6620
|
|
|
6593
6621
|
// src/TopNavBar/TopNavBar.tsx
|
|
6594
|
-
var
|
|
6622
|
+
var React40 = __toESM(require("react"));
|
|
6595
6623
|
var import_lucide_react16 = require("lucide-react");
|
|
6596
|
-
var
|
|
6597
|
-
var TopNavBar =
|
|
6624
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
6625
|
+
var TopNavBar = React40.forwardRef(
|
|
6598
6626
|
({
|
|
6599
6627
|
schoolLogoSrc,
|
|
6600
6628
|
schoolLogoAlt = "School logo",
|
|
@@ -6616,7 +6644,7 @@ var TopNavBar = React39.forwardRef(
|
|
|
6616
6644
|
className,
|
|
6617
6645
|
style
|
|
6618
6646
|
}, ref) => {
|
|
6619
|
-
const
|
|
6647
|
+
const containerStyles7 = {
|
|
6620
6648
|
position: "fixed",
|
|
6621
6649
|
top: 0,
|
|
6622
6650
|
left: 0,
|
|
@@ -6685,9 +6713,9 @@ var TopNavBar = React39.forwardRef(
|
|
|
6685
6713
|
gap: "8px"
|
|
6686
6714
|
};
|
|
6687
6715
|
const SchoolLogoElement = onSchoolLogoClick ? "button" : "div";
|
|
6688
|
-
return /* @__PURE__ */ (0,
|
|
6689
|
-
/* @__PURE__ */ (0,
|
|
6690
|
-
/* @__PURE__ */ (0,
|
|
6716
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("nav", { ref, className, style: containerStyles7, children: [
|
|
6717
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { style: leftSectionStyles, children: [
|
|
6718
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
6691
6719
|
SchoolLogoElement,
|
|
6692
6720
|
{
|
|
6693
6721
|
style: {
|
|
@@ -6696,17 +6724,17 @@ var TopNavBar = React39.forwardRef(
|
|
|
6696
6724
|
},
|
|
6697
6725
|
onClick: onSchoolLogoClick,
|
|
6698
6726
|
...onSchoolLogoClick ? { type: "button" } : {},
|
|
6699
|
-
children: schoolLogoSrc ? /* @__PURE__ */ (0,
|
|
6727
|
+
children: schoolLogoSrc ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
6700
6728
|
"img",
|
|
6701
6729
|
{
|
|
6702
6730
|
src: schoolLogoSrc,
|
|
6703
6731
|
alt: schoolLogoAlt,
|
|
6704
6732
|
style: schoolLogoImageStyles
|
|
6705
6733
|
}
|
|
6706
|
-
) : /* @__PURE__ */ (0,
|
|
6734
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { style: placeholderStyles, children: "Logo" })
|
|
6707
6735
|
}
|
|
6708
6736
|
),
|
|
6709
|
-
/* @__PURE__ */ (0,
|
|
6737
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { style: navItemsGroupStyles, children: navItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
6710
6738
|
TopNavItem,
|
|
6711
6739
|
{
|
|
6712
6740
|
active: item.active,
|
|
@@ -6716,8 +6744,8 @@ var TopNavBar = React39.forwardRef(
|
|
|
6716
6744
|
item.id
|
|
6717
6745
|
)) })
|
|
6718
6746
|
] }),
|
|
6719
|
-
/* @__PURE__ */ (0,
|
|
6720
|
-
/* @__PURE__ */ (0,
|
|
6747
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { style: rightSectionStyles, children: [
|
|
6748
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
6721
6749
|
SearchGlobal,
|
|
6722
6750
|
{
|
|
6723
6751
|
value: searchValue,
|
|
@@ -6726,7 +6754,7 @@ var TopNavBar = React39.forwardRef(
|
|
|
6726
6754
|
onClear: onSearchClear
|
|
6727
6755
|
}
|
|
6728
6756
|
),
|
|
6729
|
-
showActionButton && /* @__PURE__ */ (0,
|
|
6757
|
+
showActionButton && /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
|
|
6730
6758
|
Button,
|
|
6731
6759
|
{
|
|
6732
6760
|
variant: "secondary",
|
|
@@ -6734,12 +6762,12 @@ var TopNavBar = React39.forwardRef(
|
|
|
6734
6762
|
onClick: onActionButtonClick,
|
|
6735
6763
|
style: actionButtonStyles2,
|
|
6736
6764
|
children: [
|
|
6737
|
-
/* @__PURE__ */ (0,
|
|
6765
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react16.Sparkles, { size: 16, strokeWidth: 2 }),
|
|
6738
6766
|
actionButtonLabel
|
|
6739
6767
|
]
|
|
6740
6768
|
}
|
|
6741
6769
|
),
|
|
6742
|
-
/* @__PURE__ */ (0,
|
|
6770
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
6743
6771
|
AvatarLogoLockup,
|
|
6744
6772
|
{
|
|
6745
6773
|
avatarSrc,
|
|
@@ -6756,10 +6784,10 @@ var TopNavBar = React39.forwardRef(
|
|
|
6756
6784
|
TopNavBar.displayName = "TopNavBar";
|
|
6757
6785
|
|
|
6758
6786
|
// src/SideNavButton/SideNavButton.tsx
|
|
6759
|
-
var
|
|
6787
|
+
var React41 = __toESM(require("react"));
|
|
6760
6788
|
var import_lucide_react17 = require("lucide-react");
|
|
6761
|
-
var
|
|
6762
|
-
var SideNavButton =
|
|
6789
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
6790
|
+
var SideNavButton = React41.forwardRef(
|
|
6763
6791
|
({
|
|
6764
6792
|
icon,
|
|
6765
6793
|
selected = false,
|
|
@@ -6769,8 +6797,8 @@ var SideNavButton = React40.forwardRef(
|
|
|
6769
6797
|
className,
|
|
6770
6798
|
style
|
|
6771
6799
|
}, ref) => {
|
|
6772
|
-
const [isHovered, setIsHovered] =
|
|
6773
|
-
const [isActive, setIsActive] =
|
|
6800
|
+
const [isHovered, setIsHovered] = React41.useState(false);
|
|
6801
|
+
const [isActive, setIsActive] = React41.useState(false);
|
|
6774
6802
|
const getIconColor = () => {
|
|
6775
6803
|
if (selected) return "#0e8a0e";
|
|
6776
6804
|
if (isActive || isHovered) return "#2f2f2f";
|
|
@@ -6809,25 +6837,25 @@ var SideNavButton = React40.forwardRef(
|
|
|
6809
6837
|
};
|
|
6810
6838
|
switch (icon) {
|
|
6811
6839
|
case "side-menu":
|
|
6812
|
-
return /* @__PURE__ */ (0,
|
|
6840
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react17.Menu, { ...iconProps });
|
|
6813
6841
|
case "home":
|
|
6814
|
-
return /* @__PURE__ */ (0,
|
|
6842
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react17.Home, { ...iconProps });
|
|
6815
6843
|
case "favourite":
|
|
6816
|
-
return /* @__PURE__ */ (0,
|
|
6844
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react17.Star, { ...iconProps });
|
|
6817
6845
|
case "calendar":
|
|
6818
|
-
return /* @__PURE__ */ (0,
|
|
6846
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react17.Calendar, { ...iconProps });
|
|
6819
6847
|
case "notifications":
|
|
6820
|
-
return /* @__PURE__ */ (0,
|
|
6848
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react17.Bell, { ...iconProps });
|
|
6821
6849
|
case "emergency-alert":
|
|
6822
|
-
return /* @__PURE__ */ (0,
|
|
6850
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react17.AlertTriangle, { ...iconProps });
|
|
6823
6851
|
case "help":
|
|
6824
|
-
return /* @__PURE__ */ (0,
|
|
6852
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react17.HelpCircle, { ...iconProps });
|
|
6825
6853
|
default:
|
|
6826
6854
|
return null;
|
|
6827
6855
|
}
|
|
6828
6856
|
};
|
|
6829
6857
|
const defaultAriaLabel = icon.charAt(0).toUpperCase() + icon.slice(1);
|
|
6830
|
-
return /* @__PURE__ */ (0,
|
|
6858
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
6831
6859
|
"button",
|
|
6832
6860
|
{
|
|
6833
6861
|
ref,
|
|
@@ -6852,7 +6880,7 @@ var SideNavButton = React40.forwardRef(
|
|
|
6852
6880
|
SideNavButton.displayName = "SideNavButton";
|
|
6853
6881
|
|
|
6854
6882
|
// src/SideNavBar/SideNavBar.tsx
|
|
6855
|
-
var
|
|
6883
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
6856
6884
|
var SideNavBar = ({
|
|
6857
6885
|
isOpen = false,
|
|
6858
6886
|
title,
|
|
@@ -6937,10 +6965,10 @@ var SideNavBar = ({
|
|
|
6937
6965
|
const handleClick = (icon) => {
|
|
6938
6966
|
onIconClick?.(icon);
|
|
6939
6967
|
};
|
|
6940
|
-
return /* @__PURE__ */ (0,
|
|
6941
|
-
/* @__PURE__ */ (0,
|
|
6942
|
-
/* @__PURE__ */ (0,
|
|
6943
|
-
/* @__PURE__ */ (0,
|
|
6968
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className, style: wrapperStyles6, children: [
|
|
6969
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { style: iconBarStyles, children: [
|
|
6970
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { style: topSectionStyles, children: [
|
|
6971
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
6944
6972
|
SideNavButton,
|
|
6945
6973
|
{
|
|
6946
6974
|
icon: "side-menu",
|
|
@@ -6949,8 +6977,8 @@ var SideNavBar = ({
|
|
|
6949
6977
|
"aria-label": "Side menu"
|
|
6950
6978
|
}
|
|
6951
6979
|
),
|
|
6952
|
-
/* @__PURE__ */ (0,
|
|
6953
|
-
/* @__PURE__ */ (0,
|
|
6980
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { style: dividerStyles }),
|
|
6981
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
6954
6982
|
SideNavButton,
|
|
6955
6983
|
{
|
|
6956
6984
|
icon: "favourite",
|
|
@@ -6959,7 +6987,7 @@ var SideNavBar = ({
|
|
|
6959
6987
|
"aria-label": "Favourites"
|
|
6960
6988
|
}
|
|
6961
6989
|
),
|
|
6962
|
-
/* @__PURE__ */ (0,
|
|
6990
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
6963
6991
|
SideNavButton,
|
|
6964
6992
|
{
|
|
6965
6993
|
icon: "notifications",
|
|
@@ -6968,7 +6996,7 @@ var SideNavBar = ({
|
|
|
6968
6996
|
"aria-label": "Notifications"
|
|
6969
6997
|
}
|
|
6970
6998
|
),
|
|
6971
|
-
/* @__PURE__ */ (0,
|
|
6999
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
6972
7000
|
SideNavButton,
|
|
6973
7001
|
{
|
|
6974
7002
|
icon: "calendar",
|
|
@@ -6977,8 +7005,8 @@ var SideNavBar = ({
|
|
|
6977
7005
|
"aria-label": "Calendar"
|
|
6978
7006
|
}
|
|
6979
7007
|
),
|
|
6980
|
-
/* @__PURE__ */ (0,
|
|
6981
|
-
/* @__PURE__ */ (0,
|
|
7008
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { style: dividerStyles }),
|
|
7009
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
6982
7010
|
SideNavButton,
|
|
6983
7011
|
{
|
|
6984
7012
|
icon: "emergency-alert",
|
|
@@ -6988,7 +7016,7 @@ var SideNavBar = ({
|
|
|
6988
7016
|
}
|
|
6989
7017
|
)
|
|
6990
7018
|
] }),
|
|
6991
|
-
/* @__PURE__ */ (0,
|
|
7019
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
6992
7020
|
SideNavButton,
|
|
6993
7021
|
{
|
|
6994
7022
|
icon: "help",
|
|
@@ -6998,19 +7026,19 @@ var SideNavBar = ({
|
|
|
6998
7026
|
}
|
|
6999
7027
|
)
|
|
7000
7028
|
] }),
|
|
7001
|
-
isOpen && /* @__PURE__ */ (0,
|
|
7002
|
-
title && /* @__PURE__ */ (0,
|
|
7003
|
-
/* @__PURE__ */ (0,
|
|
7029
|
+
isOpen && /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { style: contentPanelStyles, children: [
|
|
7030
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { style: headerStyles, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { style: titleStyles2, children: title }) }),
|
|
7031
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { style: navListStyles, children })
|
|
7004
7032
|
] })
|
|
7005
7033
|
] });
|
|
7006
7034
|
};
|
|
7007
7035
|
SideNavBar.displayName = "SideNavBar";
|
|
7008
7036
|
|
|
7009
7037
|
// src/SideNavItem/SideNavItem.tsx
|
|
7010
|
-
var
|
|
7038
|
+
var React42 = __toESM(require("react"));
|
|
7011
7039
|
var import_lucide_react18 = require("lucide-react");
|
|
7012
|
-
var
|
|
7013
|
-
var SideNavItem =
|
|
7040
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
7041
|
+
var SideNavItem = React42.forwardRef(
|
|
7014
7042
|
({
|
|
7015
7043
|
label,
|
|
7016
7044
|
tier = 1,
|
|
@@ -7025,8 +7053,8 @@ var SideNavItem = React41.forwardRef(
|
|
|
7025
7053
|
className,
|
|
7026
7054
|
style
|
|
7027
7055
|
}, ref) => {
|
|
7028
|
-
const [isHovered, setIsHovered] =
|
|
7029
|
-
const [isStarHovered, setIsStarHovered] =
|
|
7056
|
+
const [isHovered, setIsHovered] = React42.useState(false);
|
|
7057
|
+
const [isStarHovered, setIsStarHovered] = React42.useState(false);
|
|
7030
7058
|
const basePadding = 24;
|
|
7031
7059
|
const tierIndent = (tier - 1) * 12;
|
|
7032
7060
|
const chevronSpace = hasChildren ? 20 : 0;
|
|
@@ -7050,7 +7078,7 @@ var SideNavItem = React41.forwardRef(
|
|
|
7050
7078
|
if (isStarHovered) return "#2f2f2f";
|
|
7051
7079
|
return "#0e8a0e";
|
|
7052
7080
|
};
|
|
7053
|
-
const
|
|
7081
|
+
const containerStyles7 = {
|
|
7054
7082
|
display: "flex",
|
|
7055
7083
|
alignItems: "center",
|
|
7056
7084
|
gap: "8px",
|
|
@@ -7115,12 +7143,12 @@ var SideNavItem = React41.forwardRef(
|
|
|
7115
7143
|
onClick?.();
|
|
7116
7144
|
}
|
|
7117
7145
|
};
|
|
7118
|
-
return /* @__PURE__ */ (0,
|
|
7146
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
|
|
7119
7147
|
"div",
|
|
7120
7148
|
{
|
|
7121
7149
|
ref,
|
|
7122
7150
|
className,
|
|
7123
|
-
style:
|
|
7151
|
+
style: containerStyles7,
|
|
7124
7152
|
onClick: handleClick,
|
|
7125
7153
|
onMouseEnter: () => setIsHovered(true),
|
|
7126
7154
|
onMouseLeave: () => {
|
|
@@ -7133,18 +7161,18 @@ var SideNavItem = React41.forwardRef(
|
|
|
7133
7161
|
"aria-expanded": hasChildren ? expanded : void 0,
|
|
7134
7162
|
"aria-label": label,
|
|
7135
7163
|
children: [
|
|
7136
|
-
hasChildren && /* @__PURE__ */ (0,
|
|
7164
|
+
hasChildren && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
7137
7165
|
"div",
|
|
7138
7166
|
{
|
|
7139
7167
|
style: chevronStyles,
|
|
7140
7168
|
onClick: handleChevronClick,
|
|
7141
7169
|
role: "button",
|
|
7142
7170
|
"aria-label": expanded ? "Collapse" : "Expand",
|
|
7143
|
-
children: expanded ? /* @__PURE__ */ (0,
|
|
7171
|
+
children: expanded ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react18.ChevronDown, { size: 14, color: "#7e7e7e", strokeWidth: 2 }) : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react18.ChevronRight, { size: 14, color: "#7e7e7e", strokeWidth: 2 })
|
|
7144
7172
|
}
|
|
7145
7173
|
),
|
|
7146
|
-
/* @__PURE__ */ (0,
|
|
7147
|
-
/* @__PURE__ */ (0,
|
|
7174
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { style: labelStyles10, children: label }),
|
|
7175
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
7148
7176
|
"div",
|
|
7149
7177
|
{
|
|
7150
7178
|
style: starContainerStyles,
|
|
@@ -7154,7 +7182,7 @@ var SideNavItem = React41.forwardRef(
|
|
|
7154
7182
|
role: "button",
|
|
7155
7183
|
"aria-label": favourited ? "Remove from favourites" : "Add to favourites",
|
|
7156
7184
|
"aria-pressed": favourited,
|
|
7157
|
-
children: /* @__PURE__ */ (0,
|
|
7185
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
7158
7186
|
import_lucide_react18.Star,
|
|
7159
7187
|
{
|
|
7160
7188
|
size: 15,
|
|
@@ -7206,6 +7234,7 @@ SideNavItem.displayName = "SideNavItem";
|
|
|
7206
7234
|
SubSectionHeading,
|
|
7207
7235
|
SubSectionInteractive,
|
|
7208
7236
|
Table,
|
|
7237
|
+
TableContainer,
|
|
7209
7238
|
TableControls,
|
|
7210
7239
|
TableFooterPagination,
|
|
7211
7240
|
Tabs,
|