@orianatech/pire 0.4.0 → 0.6.0
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/NOTICE +19 -0
- package/dist/components/core/Heading.d.cts +15 -0
- package/dist/components/core/Heading.d.ts +16 -0
- package/dist/components/core/Heading.d.ts.map +1 -0
- package/dist/components/core/Link.d.cts +13 -0
- package/dist/components/core/Link.d.ts +14 -0
- package/dist/components/core/Link.d.ts.map +1 -0
- package/dist/components/core/Separator.d.cts +12 -0
- package/dist/components/core/Separator.d.ts +13 -0
- package/dist/components/core/Separator.d.ts.map +1 -0
- package/dist/components/core/Text.d.cts +29 -0
- package/dist/components/core/Text.d.ts +30 -0
- package/dist/components/core/Text.d.ts.map +1 -0
- package/dist/components/data/DataTable.d.ts.map +1 -1
- package/dist/components/data/FilterBar.d.cts +7 -1
- package/dist/components/data/FilterBar.d.ts +7 -1
- package/dist/components/data/FilterBar.d.ts.map +1 -1
- package/dist/components/feedback/Dialog.d.ts.map +1 -1
- package/dist/components/feedback/InlineMessage.d.ts.map +1 -1
- package/dist/components/feedback/Toast.d.ts.map +1 -1
- package/dist/components/forms/ComboBox.d.ts.map +1 -1
- package/dist/components/forms/DatePicker.d.ts.map +1 -1
- package/dist/components/forms/MultiComboBox.d.ts.map +1 -1
- package/dist/components/forms/NumberField.d.ts.map +1 -1
- package/dist/components/forms/ValueHelpField.d.ts.map +1 -1
- package/dist/components/navigation/Menu.d.cts +39 -0
- package/dist/components/navigation/Menu.d.ts +40 -0
- package/dist/components/navigation/Menu.d.ts.map +1 -0
- package/dist/components/navigation/Pagination.d.ts.map +1 -1
- package/dist/components/navigation/SideNav.d.ts.map +1 -1
- package/dist/components/patterns/SidePanel.d.ts.map +1 -1
- package/dist/components/patterns/ValueHelpDialog.d.ts.map +1 -1
- package/dist/components.css +67 -0
- package/dist/fonts/LICENSE-jetbrains-mono.txt +93 -0
- package/dist/fonts/LICENSE-public-sans.txt +93 -0
- package/dist/fonts/jetbrains-mono-latin-400-normal.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-latin-500-normal.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-latin-600-normal.woff2 +0 -0
- package/dist/fonts/public-sans-latin-400-normal.woff2 +0 -0
- package/dist/fonts/public-sans-latin-500-normal.woff2 +0 -0
- package/dist/fonts/public-sans-latin-600-normal.woff2 +0 -0
- package/dist/fonts/public-sans-latin-700-normal.woff2 +0 -0
- package/dist/i18n/PireIntlProvider.d.cts +21 -0
- package/dist/i18n/PireIntlProvider.d.ts +22 -0
- package/dist/i18n/PireIntlProvider.d.ts.map +1 -0
- package/dist/i18n/messages.d.cts +64 -0
- package/dist/i18n/messages.d.ts +65 -0
- package/dist/i18n/messages.d.ts.map +1 -0
- package/dist/index.cjs +674 -399
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +8 -1
- package/dist/index.d.ts +8 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +628 -359
- package/dist/index.js.map +1 -1
- package/dist/tokens/fonts.css +20 -15
- package/dist/tokens/typography.css +5 -0
- package/package.json +5 -2
package/dist/index.cjs
CHANGED
|
@@ -42,43 +42,52 @@ __export(src_exports, {
|
|
|
42
42
|
DatePicker: () => DatePicker,
|
|
43
43
|
DescriptionList: () => DescriptionList,
|
|
44
44
|
Dialog: () => Dialog,
|
|
45
|
-
DialogTrigger: () =>
|
|
45
|
+
DialogTrigger: () => import_react_aria_components29.DialogTrigger,
|
|
46
46
|
EmptyState: () => EmptyState,
|
|
47
47
|
FilterBar: () => FilterBar,
|
|
48
48
|
FooterBar: () => FooterBar,
|
|
49
49
|
FormField: () => FormField,
|
|
50
|
-
|
|
50
|
+
Heading: () => Heading,
|
|
51
|
+
I18nProvider: () => import_react_aria_components29.I18nProvider,
|
|
51
52
|
Icon: () => Icon,
|
|
52
53
|
IconButton: () => IconButton,
|
|
53
54
|
InlineMessage: () => InlineMessage,
|
|
54
55
|
Input: () => Input,
|
|
55
56
|
KpiTile: () => KpiTile,
|
|
57
|
+
Link: () => Link,
|
|
56
58
|
LinkList: () => LinkList,
|
|
57
|
-
Menu: () =>
|
|
58
|
-
MenuItem: () =>
|
|
59
|
-
|
|
59
|
+
Menu: () => Menu,
|
|
60
|
+
MenuItem: () => MenuItem,
|
|
61
|
+
MenuSection: () => MenuSection,
|
|
62
|
+
MenuSeparator: () => MenuSeparator,
|
|
63
|
+
MenuTrigger: () => import_react_aria_components29.MenuTrigger,
|
|
60
64
|
MultiComboBox: () => MultiComboBox,
|
|
61
65
|
NumberField: () => NumberField,
|
|
62
66
|
ObjectHeader: () => ObjectHeader,
|
|
63
67
|
PageHeader: () => PageHeader,
|
|
64
68
|
Pagination: () => Pagination,
|
|
65
|
-
|
|
69
|
+
PireIntlProvider: () => PireIntlProvider,
|
|
70
|
+
Popover: () => import_react_aria_components29.Popover,
|
|
66
71
|
ProgressBar: () => ProgressBar,
|
|
67
72
|
Radio: () => Radio,
|
|
68
73
|
RadioGroup: () => RadioGroup,
|
|
74
|
+
RouterProvider: () => import_react_aria_components29.RouterProvider,
|
|
69
75
|
SectionHeader: () => SectionHeader,
|
|
70
76
|
SegmentedControl: () => SegmentedControl,
|
|
71
77
|
Select: () => Select,
|
|
72
78
|
SelectionBar: () => SelectionBar,
|
|
73
|
-
Separator: () =>
|
|
79
|
+
Separator: () => Separator,
|
|
74
80
|
ShellBar: () => ShellBar,
|
|
75
81
|
SideNav: () => SideNav,
|
|
76
82
|
SidePanel: () => SidePanel,
|
|
77
83
|
Skeleton: () => Skeleton,
|
|
78
84
|
SkeletonTableRow: () => SkeletonTableRow,
|
|
85
|
+
Strong: () => Strong,
|
|
86
|
+
SubmenuTrigger: () => import_react_aria_components29.SubmenuTrigger,
|
|
79
87
|
Switch: () => Switch,
|
|
80
88
|
Tabs: () => Tabs,
|
|
81
89
|
Tag: () => Tag,
|
|
90
|
+
Text: () => Text,
|
|
82
91
|
TextArea: () => TextArea,
|
|
83
92
|
Timeline: () => Timeline,
|
|
84
93
|
Toast: () => Toast,
|
|
@@ -87,6 +96,9 @@ __export(src_exports, {
|
|
|
87
96
|
ValueHelpDialog: () => ValueHelpDialog,
|
|
88
97
|
ValueHelpField: () => ValueHelpField,
|
|
89
98
|
configureIcons: () => configureIcons,
|
|
99
|
+
enMessages: () => enMessages,
|
|
100
|
+
esMessages: () => esMessages,
|
|
101
|
+
usePireMessages: () => usePireMessages,
|
|
90
102
|
useToast: () => useToast
|
|
91
103
|
});
|
|
92
104
|
module.exports = __toCommonJS(src_exports);
|
|
@@ -481,25 +493,131 @@ function SegmentedControl({
|
|
|
481
493
|
);
|
|
482
494
|
}
|
|
483
495
|
|
|
484
|
-
// src/components/
|
|
496
|
+
// src/components/core/Text.tsx
|
|
485
497
|
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
498
|
+
function Text({
|
|
499
|
+
size = "body",
|
|
500
|
+
color = "primary",
|
|
501
|
+
weight = "regular",
|
|
502
|
+
numeric,
|
|
503
|
+
eyebrow,
|
|
504
|
+
truncate,
|
|
505
|
+
elementType: Wrapper = "p",
|
|
506
|
+
className,
|
|
507
|
+
style,
|
|
508
|
+
...rest
|
|
509
|
+
}) {
|
|
510
|
+
const lineClamp = typeof truncate === "number" ? truncate : truncate ? 1 : void 0;
|
|
511
|
+
const clampStyle = lineClamp == null ? style : { ["--pire-text-clamp"]: lineClamp, ...style };
|
|
512
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
513
|
+
Wrapper,
|
|
514
|
+
{
|
|
515
|
+
className: cx("pire-text", className),
|
|
516
|
+
"data-size": size,
|
|
517
|
+
"data-color": color,
|
|
518
|
+
"data-weight": weight === "strong" ? "strong" : void 0,
|
|
519
|
+
"data-numeric": numeric ? "true" : void 0,
|
|
520
|
+
"data-eyebrow": eyebrow ? "true" : void 0,
|
|
521
|
+
"data-truncate": lineClamp != null ? "true" : void 0,
|
|
522
|
+
style: clampStyle,
|
|
523
|
+
...rest
|
|
524
|
+
}
|
|
525
|
+
);
|
|
526
|
+
}
|
|
527
|
+
function Strong({ className, ...rest }) {
|
|
528
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Text, { elementType: "span", weight: "strong", className, ...rest });
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
// src/components/core/Heading.tsx
|
|
532
|
+
var import_react_aria_components6 = require("react-aria-components");
|
|
533
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
534
|
+
function Heading({
|
|
535
|
+
level = 2,
|
|
536
|
+
size,
|
|
537
|
+
color = "primary",
|
|
538
|
+
truncate,
|
|
539
|
+
className,
|
|
540
|
+
style,
|
|
541
|
+
...rest
|
|
542
|
+
}) {
|
|
543
|
+
const lineClamp = typeof truncate === "number" ? truncate : truncate ? 1 : void 0;
|
|
544
|
+
const clampStyle = lineClamp == null ? style : { ["--pire-text-clamp"]: lineClamp, ...style };
|
|
545
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
546
|
+
import_react_aria_components6.Heading,
|
|
547
|
+
{
|
|
548
|
+
level,
|
|
549
|
+
className: cx("pire-heading", className),
|
|
550
|
+
"data-size": size ?? `h${level}`,
|
|
551
|
+
"data-color": color,
|
|
552
|
+
"data-truncate": lineClamp != null ? "true" : void 0,
|
|
553
|
+
style: clampStyle,
|
|
554
|
+
...rest
|
|
555
|
+
}
|
|
556
|
+
);
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
// src/components/core/Link.tsx
|
|
560
|
+
var import_react_aria_components7 = require("react-aria-components");
|
|
561
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
562
|
+
function Link({ children, size, isExternal, className, rel, ...rest }) {
|
|
563
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
564
|
+
import_react_aria_components7.Link,
|
|
565
|
+
{
|
|
566
|
+
className: cx("pire-link", className),
|
|
567
|
+
"data-size": size,
|
|
568
|
+
"data-external": isExternal ? "true" : void 0,
|
|
569
|
+
rel: isExternal ? rel ?? "noopener noreferrer" : rel,
|
|
570
|
+
...rest,
|
|
571
|
+
children: [
|
|
572
|
+
children,
|
|
573
|
+
isExternal ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Icon, { name: "external-link", size: 12, className: "pire-link-external" }) : null
|
|
574
|
+
]
|
|
575
|
+
}
|
|
576
|
+
);
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
// src/components/core/Separator.tsx
|
|
580
|
+
var import_react_aria_components8 = require("react-aria-components");
|
|
581
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
582
|
+
function Separator({
|
|
583
|
+
orientation = "horizontal",
|
|
584
|
+
emphasis = "default",
|
|
585
|
+
spacing = "md",
|
|
586
|
+
className,
|
|
587
|
+
...rest
|
|
588
|
+
}) {
|
|
589
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
590
|
+
import_react_aria_components8.Separator,
|
|
591
|
+
{
|
|
592
|
+
orientation,
|
|
593
|
+
className: cx("pire-separator", className),
|
|
594
|
+
"data-orientation": orientation,
|
|
595
|
+
"data-emphasis": emphasis,
|
|
596
|
+
"data-spacing": spacing,
|
|
597
|
+
...rest
|
|
598
|
+
}
|
|
599
|
+
);
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
// src/components/forms/FormField.tsx
|
|
603
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
486
604
|
function FormField({ label, htmlFor, isRequired, hint, error, layout = "stacked", children, className, ...rest }) {
|
|
487
|
-
return /* @__PURE__ */ (0,
|
|
488
|
-
/* @__PURE__ */ (0,
|
|
605
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: cx("pire-field", className), "data-layout": layout, ...rest, children: [
|
|
606
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("label", { className: "pire-field-label", htmlFor, children: [
|
|
489
607
|
label,
|
|
490
|
-
isRequired ? /* @__PURE__ */ (0,
|
|
608
|
+
isRequired ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "pire-field-req", "aria-hidden": "true", children: "*" }) : null
|
|
491
609
|
] }),
|
|
492
610
|
children,
|
|
493
|
-
error ? /* @__PURE__ */ (0,
|
|
494
|
-
/* @__PURE__ */ (0,
|
|
611
|
+
error ? /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("span", { className: "pire-field-error", role: "alert", children: [
|
|
612
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Icon, { name: "alert-circle", size: 12 }),
|
|
495
613
|
error
|
|
496
|
-
] }) : hint ? /* @__PURE__ */ (0,
|
|
614
|
+
] }) : hint ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "pire-field-hint", children: hint }) : null
|
|
497
615
|
] });
|
|
498
616
|
}
|
|
499
617
|
|
|
500
618
|
// src/components/forms/Input.tsx
|
|
501
|
-
var
|
|
502
|
-
var
|
|
619
|
+
var import_react_aria_components9 = require("react-aria-components");
|
|
620
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
503
621
|
function Input({
|
|
504
622
|
label,
|
|
505
623
|
icon,
|
|
@@ -515,8 +633,8 @@ function Input({
|
|
|
515
633
|
onChange,
|
|
516
634
|
...rest
|
|
517
635
|
}) {
|
|
518
|
-
return /* @__PURE__ */ (0,
|
|
519
|
-
|
|
636
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
637
|
+
import_react_aria_components9.TextField,
|
|
520
638
|
{
|
|
521
639
|
className: cx("pire-field", className),
|
|
522
640
|
style,
|
|
@@ -524,12 +642,12 @@ function Input({
|
|
|
524
642
|
validationBehavior: "aria",
|
|
525
643
|
...rest,
|
|
526
644
|
children: [
|
|
527
|
-
label ? /* @__PURE__ */ (0,
|
|
645
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react_aria_components9.Label, { className: "pire-field-label", children: [
|
|
528
646
|
label,
|
|
529
|
-
rest.isRequired ? /* @__PURE__ */ (0,
|
|
647
|
+
rest.isRequired ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "pire-field-req", "aria-hidden": "true", children: "*" }) : null
|
|
530
648
|
] }) : null,
|
|
531
|
-
/* @__PURE__ */ (0,
|
|
532
|
-
|
|
649
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
650
|
+
import_react_aria_components9.Group,
|
|
533
651
|
{
|
|
534
652
|
className: "pire-control",
|
|
535
653
|
"data-size": size,
|
|
@@ -537,14 +655,14 @@ function Input({
|
|
|
537
655
|
"data-invalid": rest.isInvalid ? "true" : void 0,
|
|
538
656
|
"data-readonly": rest.isReadOnly ? "true" : void 0,
|
|
539
657
|
children: [
|
|
540
|
-
icon ? /* @__PURE__ */ (0,
|
|
541
|
-
/* @__PURE__ */ (0,
|
|
542
|
-
suffix ? /* @__PURE__ */ (0,
|
|
658
|
+
icon ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Icon, { name: icon, size: 16, className: "pire-leading-icon" }) : null,
|
|
659
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_aria_components9.Input, { ref: inputRef, className: "pire-input", "data-numeric": numeric ? "true" : void 0 }),
|
|
660
|
+
suffix ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "pire-affix", children: suffix }) : null
|
|
543
661
|
]
|
|
544
662
|
}
|
|
545
663
|
),
|
|
546
|
-
description ? /* @__PURE__ */ (0,
|
|
547
|
-
/* @__PURE__ */ (0,
|
|
664
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_aria_components9.Text, { slot: "description", className: "pire-field-hint", children: description }) : null,
|
|
665
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_aria_components9.FieldError, { className: "pire-field-error", children: errorMessage })
|
|
548
666
|
]
|
|
549
667
|
}
|
|
550
668
|
);
|
|
@@ -552,8 +670,8 @@ function Input({
|
|
|
552
670
|
|
|
553
671
|
// src/components/forms/TextArea.tsx
|
|
554
672
|
var React5 = __toESM(require("react"), 1);
|
|
555
|
-
var
|
|
556
|
-
var
|
|
673
|
+
var import_react_aria_components10 = require("react-aria-components");
|
|
674
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
557
675
|
var useIsomorphicLayoutEffect = typeof document === "undefined" ? React5.useEffect : React5.useLayoutEffect;
|
|
558
676
|
function TextArea({
|
|
559
677
|
label,
|
|
@@ -594,8 +712,8 @@ function TextArea({
|
|
|
594
712
|
}
|
|
595
713
|
grow();
|
|
596
714
|
}, [autoGrow, grow, rest.value]);
|
|
597
|
-
return /* @__PURE__ */ (0,
|
|
598
|
-
|
|
715
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
716
|
+
import_react_aria_components10.TextField,
|
|
599
717
|
{
|
|
600
718
|
className: cx("pire-field", className),
|
|
601
719
|
style,
|
|
@@ -603,12 +721,12 @@ function TextArea({
|
|
|
603
721
|
validationBehavior: "aria",
|
|
604
722
|
...rest,
|
|
605
723
|
children: [
|
|
606
|
-
label ? /* @__PURE__ */ (0,
|
|
724
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_react_aria_components10.Label, { className: "pire-field-label", children: [
|
|
607
725
|
label,
|
|
608
|
-
rest.isRequired ? /* @__PURE__ */ (0,
|
|
726
|
+
rest.isRequired ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "pire-field-req", "aria-hidden": "true", children: "*" }) : null
|
|
609
727
|
] }) : null,
|
|
610
|
-
/* @__PURE__ */ (0,
|
|
611
|
-
|
|
728
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
729
|
+
import_react_aria_components10.Group,
|
|
612
730
|
{
|
|
613
731
|
className: "pire-control",
|
|
614
732
|
"data-size": size,
|
|
@@ -616,8 +734,8 @@ function TextArea({
|
|
|
616
734
|
"data-multiline": "true",
|
|
617
735
|
"data-invalid": rest.isInvalid ? "true" : void 0,
|
|
618
736
|
"data-readonly": rest.isReadOnly ? "true" : void 0,
|
|
619
|
-
children: /* @__PURE__ */ (0,
|
|
620
|
-
|
|
737
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
738
|
+
import_react_aria_components10.TextArea,
|
|
621
739
|
{
|
|
622
740
|
ref,
|
|
623
741
|
rows,
|
|
@@ -628,16 +746,16 @@ function TextArea({
|
|
|
628
746
|
)
|
|
629
747
|
}
|
|
630
748
|
),
|
|
631
|
-
description ? /* @__PURE__ */ (0,
|
|
632
|
-
/* @__PURE__ */ (0,
|
|
749
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_react_aria_components10.Text, { slot: "description", className: "pire-field-hint", children: description }) : null,
|
|
750
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_react_aria_components10.FieldError, { className: "pire-field-error", children: errorMessage })
|
|
633
751
|
]
|
|
634
752
|
}
|
|
635
753
|
);
|
|
636
754
|
}
|
|
637
755
|
|
|
638
756
|
// src/components/forms/Select.tsx
|
|
639
|
-
var
|
|
640
|
-
var
|
|
757
|
+
var import_react_aria_components11 = require("react-aria-components");
|
|
758
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
641
759
|
var norm = (o) => typeof o === "string" ? { value: o, label: o, isDisabled: false } : o;
|
|
642
760
|
function Select({
|
|
643
761
|
label,
|
|
@@ -655,8 +773,8 @@ function Select({
|
|
|
655
773
|
...rest
|
|
656
774
|
}) {
|
|
657
775
|
const items = options.map(norm);
|
|
658
|
-
return /* @__PURE__ */ (0,
|
|
659
|
-
|
|
776
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
777
|
+
import_react_aria_components11.Select,
|
|
660
778
|
{
|
|
661
779
|
className: cx("pire-field", className),
|
|
662
780
|
style,
|
|
@@ -667,78 +785,163 @@ function Select({
|
|
|
667
785
|
validationBehavior: "aria",
|
|
668
786
|
...rest,
|
|
669
787
|
children: [
|
|
670
|
-
label ? /* @__PURE__ */ (0,
|
|
788
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_aria_components11.Label, { className: "pire-field-label", children: [
|
|
671
789
|
label,
|
|
672
|
-
rest.isRequired ? /* @__PURE__ */ (0,
|
|
790
|
+
rest.isRequired ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: "pire-field-req", "aria-hidden": "true", children: "*" }) : null
|
|
673
791
|
] }) : null,
|
|
674
|
-
/* @__PURE__ */ (0,
|
|
675
|
-
|
|
792
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
793
|
+
import_react_aria_components11.Button,
|
|
676
794
|
{
|
|
677
795
|
className: "pire-control",
|
|
678
796
|
"data-size": size,
|
|
679
797
|
"data-full-width": String(fullWidth),
|
|
680
798
|
"data-invalid": rest.isInvalid ? "true" : void 0,
|
|
681
799
|
children: [
|
|
682
|
-
/* @__PURE__ */ (0,
|
|
683
|
-
/* @__PURE__ */ (0,
|
|
800
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_aria_components11.SelectValue, { className: "pire-select-value" }),
|
|
801
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Icon, { name: "chevron-down", size: 16, className: "pire-leading-icon" })
|
|
684
802
|
]
|
|
685
803
|
}
|
|
686
804
|
),
|
|
687
|
-
description ? /* @__PURE__ */ (0,
|
|
688
|
-
/* @__PURE__ */ (0,
|
|
689
|
-
/* @__PURE__ */ (0,
|
|
805
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_aria_components11.Text, { slot: "description", className: "pire-field-hint", children: description }) : null,
|
|
806
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_aria_components11.FieldError, { className: "pire-field-error", children: errorMessage }),
|
|
807
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_aria_components11.Popover, { className: "pire-popover", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_aria_components11.ListBox, { className: "pire-listbox", items, children: (item) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_aria_components11.ListBoxItem, { className: "pire-option", id: item.value, textValue: item.label, isDisabled: item.isDisabled, children: item.label }) }) })
|
|
690
808
|
]
|
|
691
809
|
}
|
|
692
810
|
);
|
|
693
811
|
}
|
|
694
812
|
|
|
695
813
|
// src/components/forms/Checkbox.tsx
|
|
696
|
-
var
|
|
697
|
-
var
|
|
814
|
+
var import_react_aria_components12 = require("react-aria-components");
|
|
815
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
698
816
|
function Checkbox({ label, hint, children, className, ...rest }) {
|
|
699
|
-
return /* @__PURE__ */ (0,
|
|
700
|
-
/* @__PURE__ */ (0,
|
|
701
|
-
/* @__PURE__ */ (0,
|
|
817
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_aria_components12.Checkbox, { className: cx("pire-choice", className), ...rest, children: ({ isSelected, isIndeterminate }) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [
|
|
818
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: "pire-choice-box", "aria-hidden": "true", children: isIndeterminate ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Icon, { name: "minus", size: 12 }) : isSelected ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Icon, { name: "check", size: 12 }) : null }),
|
|
819
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("span", { children: [
|
|
702
820
|
label ?? children,
|
|
703
|
-
hint ? /* @__PURE__ */ (0,
|
|
821
|
+
hint ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: "pire-choice-hint", children: hint }) : null
|
|
704
822
|
] })
|
|
705
823
|
] }) });
|
|
706
824
|
}
|
|
707
825
|
|
|
708
826
|
// src/components/forms/Radio.tsx
|
|
709
|
-
var
|
|
710
|
-
var
|
|
827
|
+
var import_react_aria_components13 = require("react-aria-components");
|
|
828
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
711
829
|
function RadioGroup({ label, description, errorMessage, children, className, ...rest }) {
|
|
712
|
-
return /* @__PURE__ */ (0,
|
|
713
|
-
label ? /* @__PURE__ */ (0,
|
|
714
|
-
/* @__PURE__ */ (0,
|
|
715
|
-
description ? /* @__PURE__ */ (0,
|
|
716
|
-
/* @__PURE__ */ (0,
|
|
830
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react_aria_components13.RadioGroup, { className: cx("pire-field", className), validationBehavior: "aria", ...rest, children: [
|
|
831
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react_aria_components13.Label, { className: "pire-field-label", children: label }) : null,
|
|
832
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "pire-radiogroup", children }),
|
|
833
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react_aria_components13.Text, { slot: "description", className: "pire-field-hint", children: description }) : null,
|
|
834
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react_aria_components13.FieldError, { className: "pire-field-error", children: errorMessage })
|
|
717
835
|
] });
|
|
718
836
|
}
|
|
719
837
|
function Radio({ label, hint, children, className, ...rest }) {
|
|
720
|
-
return /* @__PURE__ */ (0,
|
|
721
|
-
/* @__PURE__ */ (0,
|
|
722
|
-
/* @__PURE__ */ (0,
|
|
838
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react_aria_components13.Radio, { className: cx("pire-choice", className), ...rest, children: [
|
|
839
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "pire-choice-box", "data-radio": "true", "aria-hidden": "true" }),
|
|
840
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("span", { children: [
|
|
723
841
|
label ?? children,
|
|
724
|
-
hint ? /* @__PURE__ */ (0,
|
|
842
|
+
hint ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "pire-choice-hint", children: hint }) : null
|
|
725
843
|
] })
|
|
726
844
|
] });
|
|
727
845
|
}
|
|
728
846
|
|
|
729
847
|
// src/components/forms/Switch.tsx
|
|
730
|
-
var
|
|
731
|
-
var
|
|
848
|
+
var import_react_aria_components14 = require("react-aria-components");
|
|
849
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
732
850
|
function Switch({ label, children, className, ...rest }) {
|
|
733
|
-
return /* @__PURE__ */ (0,
|
|
734
|
-
/* @__PURE__ */ (0,
|
|
735
|
-
/* @__PURE__ */ (0,
|
|
851
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react_aria_components14.Switch, { className: cx("pire-choice", className), ...rest, children: [
|
|
852
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "pire-switch-track", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "pire-switch-thumb" }) }),
|
|
853
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { children: label ?? children })
|
|
736
854
|
] });
|
|
737
855
|
}
|
|
738
856
|
|
|
739
857
|
// src/components/forms/ComboBox.tsx
|
|
740
|
-
var
|
|
741
|
-
|
|
858
|
+
var import_react_aria_components15 = require("react-aria-components");
|
|
859
|
+
|
|
860
|
+
// src/i18n/PireIntlProvider.tsx
|
|
861
|
+
var React6 = __toESM(require("react"), 1);
|
|
862
|
+
|
|
863
|
+
// src/i18n/messages.ts
|
|
864
|
+
var enMessages = {
|
|
865
|
+
filterBarLabel: "Filters",
|
|
866
|
+
filterBarGo: "Go",
|
|
867
|
+
filterBarClearAll: "Clear all",
|
|
868
|
+
dataTableSelectAll: "Select all rows",
|
|
869
|
+
dataTableSelectRow: "Select row",
|
|
870
|
+
dialogClose: "Close",
|
|
871
|
+
sidePanelClose: "Close panel",
|
|
872
|
+
inlineMessageDismiss: "Dismiss message",
|
|
873
|
+
toastDismiss: "Dismiss",
|
|
874
|
+
toastRegionLabel: "Notifications",
|
|
875
|
+
comboBoxShowSuggestions: "Show suggestions",
|
|
876
|
+
datePickerOpenCalendar: "Open calendar",
|
|
877
|
+
datePickerPreviousMonth: "Previous month",
|
|
878
|
+
datePickerNextMonth: "Next month",
|
|
879
|
+
numberFieldIncrease: "Increase",
|
|
880
|
+
numberFieldDecrease: "Decrease",
|
|
881
|
+
valueHelpFieldClear: "Clear selection",
|
|
882
|
+
valueHelpFieldOpenNamed: "Select {label}",
|
|
883
|
+
valueHelpFieldOpen: "Open value help",
|
|
884
|
+
valueHelpDialogSearch: "Search records",
|
|
885
|
+
valueHelpDialogCancel: "Cancel",
|
|
886
|
+
paginationLabel: "Pagination",
|
|
887
|
+
paginationRange: "{from}\u2013{to} of {total}",
|
|
888
|
+
paginationPageOf: "Page {page} of {pages}",
|
|
889
|
+
paginationPrevious: "Previous page",
|
|
890
|
+
paginationNext: "Next page",
|
|
891
|
+
paginationRowsPerPage: "Rows per page",
|
|
892
|
+
sideNavLabel: "Main navigation"
|
|
893
|
+
};
|
|
894
|
+
var esMessages = {
|
|
895
|
+
filterBarLabel: "Filtros",
|
|
896
|
+
filterBarGo: "Buscar",
|
|
897
|
+
filterBarClearAll: "Limpiar todo",
|
|
898
|
+
dataTableSelectAll: "Seleccionar todas las filas",
|
|
899
|
+
dataTableSelectRow: "Seleccionar fila",
|
|
900
|
+
dialogClose: "Cerrar",
|
|
901
|
+
sidePanelClose: "Cerrar panel",
|
|
902
|
+
inlineMessageDismiss: "Descartar mensaje",
|
|
903
|
+
toastDismiss: "Descartar",
|
|
904
|
+
toastRegionLabel: "Notificaciones",
|
|
905
|
+
comboBoxShowSuggestions: "Mostrar sugerencias",
|
|
906
|
+
datePickerOpenCalendar: "Abrir calendario",
|
|
907
|
+
datePickerPreviousMonth: "Mes anterior",
|
|
908
|
+
datePickerNextMonth: "Mes siguiente",
|
|
909
|
+
numberFieldIncrease: "Aumentar",
|
|
910
|
+
numberFieldDecrease: "Disminuir",
|
|
911
|
+
valueHelpFieldClear: "Limpiar selecci\xF3n",
|
|
912
|
+
valueHelpFieldOpenNamed: "Seleccionar {label}",
|
|
913
|
+
valueHelpFieldOpen: "Abrir ayuda de valores",
|
|
914
|
+
valueHelpDialogSearch: "Buscar registros",
|
|
915
|
+
valueHelpDialogCancel: "Cancelar",
|
|
916
|
+
paginationLabel: "Paginaci\xF3n",
|
|
917
|
+
paginationRange: "{from}\u2013{to} de {total}",
|
|
918
|
+
paginationPageOf: "P\xE1gina {page} de {pages}",
|
|
919
|
+
paginationPrevious: "P\xE1gina anterior",
|
|
920
|
+
paginationNext: "P\xE1gina siguiente",
|
|
921
|
+
paginationRowsPerPage: "Filas por p\xE1gina",
|
|
922
|
+
sideNavLabel: "Navegaci\xF3n principal"
|
|
923
|
+
};
|
|
924
|
+
|
|
925
|
+
// src/i18n/PireIntlProvider.tsx
|
|
926
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
927
|
+
var MessagesContext = React6.createContext(enMessages);
|
|
928
|
+
function PireIntlProvider({ messages, children }) {
|
|
929
|
+
const value = React6.useMemo(
|
|
930
|
+
() => messages ? { ...enMessages, ...messages } : enMessages,
|
|
931
|
+
[messages]
|
|
932
|
+
);
|
|
933
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(MessagesContext.Provider, { value, children });
|
|
934
|
+
}
|
|
935
|
+
function usePireMessages() {
|
|
936
|
+
return React6.useContext(MessagesContext);
|
|
937
|
+
}
|
|
938
|
+
function useMessage(key, override) {
|
|
939
|
+
const messages = React6.useContext(MessagesContext);
|
|
940
|
+
return override ?? messages[key];
|
|
941
|
+
}
|
|
942
|
+
|
|
943
|
+
// src/components/forms/ComboBox.tsx
|
|
944
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
742
945
|
var norm2 = (o) => typeof o === "string" ? { value: o, label: o } : o;
|
|
743
946
|
function ComboBox({
|
|
744
947
|
label,
|
|
@@ -755,9 +958,10 @@ function ComboBox({
|
|
|
755
958
|
style,
|
|
756
959
|
...rest
|
|
757
960
|
}) {
|
|
961
|
+
const msg = usePireMessages();
|
|
758
962
|
const items = options.map(norm2);
|
|
759
|
-
return /* @__PURE__ */ (0,
|
|
760
|
-
|
|
963
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
|
|
964
|
+
import_react_aria_components15.ComboBox,
|
|
761
965
|
{
|
|
762
966
|
className: cx("pire-field", className),
|
|
763
967
|
style,
|
|
@@ -770,29 +974,29 @@ function ComboBox({
|
|
|
770
974
|
validationBehavior: "aria",
|
|
771
975
|
...rest,
|
|
772
976
|
children: [
|
|
773
|
-
label ? /* @__PURE__ */ (0,
|
|
977
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_react_aria_components15.Label, { className: "pire-field-label", children: [
|
|
774
978
|
label,
|
|
775
|
-
rest.isRequired ? /* @__PURE__ */ (0,
|
|
979
|
+
rest.isRequired ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "pire-field-req", "aria-hidden": "true", children: "*" }) : null
|
|
776
980
|
] }) : null,
|
|
777
|
-
/* @__PURE__ */ (0,
|
|
778
|
-
|
|
981
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
|
|
982
|
+
import_react_aria_components15.Group,
|
|
779
983
|
{
|
|
780
984
|
className: "pire-control",
|
|
781
985
|
"data-size": size,
|
|
782
986
|
"data-full-width": String(fullWidth),
|
|
783
987
|
"data-invalid": rest.isInvalid ? "true" : void 0,
|
|
784
988
|
children: [
|
|
785
|
-
/* @__PURE__ */ (0,
|
|
786
|
-
/* @__PURE__ */ (0,
|
|
787
|
-
/* @__PURE__ */ (0,
|
|
989
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Icon, { name: "search", size: 16, className: "pire-leading-icon" }),
|
|
990
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_react_aria_components15.Input, { className: "pire-input", placeholder: rest.placeholder }),
|
|
991
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_react_aria_components15.Button, { className: "pire-iconbtn", "data-size": "sm", "aria-label": msg.comboBoxShowSuggestions, style: { width: 20, height: 20 }, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Icon, { name: "chevron-down", size: 16 }) })
|
|
788
992
|
]
|
|
789
993
|
}
|
|
790
994
|
),
|
|
791
|
-
description ? /* @__PURE__ */ (0,
|
|
792
|
-
/* @__PURE__ */ (0,
|
|
793
|
-
/* @__PURE__ */ (0,
|
|
794
|
-
/* @__PURE__ */ (0,
|
|
795
|
-
item.secondary ? /* @__PURE__ */ (0,
|
|
995
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_react_aria_components15.Text, { slot: "description", className: "pire-field-hint", children: description }) : null,
|
|
996
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_react_aria_components15.FieldError, { className: "pire-field-error", children: errorMessage }),
|
|
997
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_react_aria_components15.Popover, { className: "pire-popover", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_react_aria_components15.ListBox, { className: "pire-listbox", children: (item) => /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_react_aria_components15.ListBoxItem, { className: "pire-option", id: item.value, textValue: item.label, isDisabled: item.isDisabled, children: [
|
|
998
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { style: { flex: 1 }, children: item.label }),
|
|
999
|
+
item.secondary ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { style: { font: "var(--type-code)", color: "var(--text-tertiary)" }, children: item.secondary }) : null
|
|
796
1000
|
] }) }) })
|
|
797
1001
|
]
|
|
798
1002
|
}
|
|
@@ -800,9 +1004,9 @@ function ComboBox({
|
|
|
800
1004
|
}
|
|
801
1005
|
|
|
802
1006
|
// src/components/forms/MultiComboBox.tsx
|
|
803
|
-
var
|
|
804
|
-
var
|
|
805
|
-
var
|
|
1007
|
+
var React7 = __toESM(require("react"), 1);
|
|
1008
|
+
var import_react_aria_components16 = require("react-aria-components");
|
|
1009
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
806
1010
|
var norm3 = (o) => typeof o === "string" ? { value: o, label: o } : o;
|
|
807
1011
|
function MultiComboBox({
|
|
808
1012
|
label,
|
|
@@ -820,13 +1024,14 @@ function MultiComboBox({
|
|
|
820
1024
|
style,
|
|
821
1025
|
...rest
|
|
822
1026
|
}) {
|
|
823
|
-
const
|
|
824
|
-
const
|
|
825
|
-
const [
|
|
826
|
-
const
|
|
1027
|
+
const msg = usePireMessages();
|
|
1028
|
+
const items = React7.useMemo(() => options.map(norm3), [options]);
|
|
1029
|
+
const [uncontrolled, setUncontrolled] = React7.useState(defaultValue ?? []);
|
|
1030
|
+
const [announcement, setAnnouncement] = React7.useState("");
|
|
1031
|
+
const inputRef = React7.useRef(null);
|
|
827
1032
|
const raw = value ?? uncontrolled;
|
|
828
1033
|
const contentKey = raw.join("\0");
|
|
829
|
-
const values =
|
|
1034
|
+
const values = React7.useMemo(() => raw, [contentKey]);
|
|
830
1035
|
const labelOf = (v) => items.find((o) => o.value === v)?.label ?? v;
|
|
831
1036
|
const isEditable = !rest.isDisabled && !rest.isReadOnly;
|
|
832
1037
|
const commit = (next) => {
|
|
@@ -859,8 +1064,8 @@ function MultiComboBox({
|
|
|
859
1064
|
e.stopPropagation();
|
|
860
1065
|
if (!values.includes(next)) commit([...values, next]);
|
|
861
1066
|
};
|
|
862
|
-
return /* @__PURE__ */ (0,
|
|
863
|
-
|
|
1067
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
|
|
1068
|
+
import_react_aria_components16.ComboBox,
|
|
864
1069
|
{
|
|
865
1070
|
className: cx("pire-field", className),
|
|
866
1071
|
style,
|
|
@@ -873,12 +1078,12 @@ function MultiComboBox({
|
|
|
873
1078
|
validationBehavior: "aria",
|
|
874
1079
|
...rest,
|
|
875
1080
|
children: [
|
|
876
|
-
label ? /* @__PURE__ */ (0,
|
|
1081
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_react_aria_components16.Label, { className: "pire-field-label", children: [
|
|
877
1082
|
label,
|
|
878
|
-
rest.isRequired ? /* @__PURE__ */ (0,
|
|
1083
|
+
rest.isRequired ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "pire-field-req", "aria-hidden": "true", children: "*" }) : null
|
|
879
1084
|
] }) : null,
|
|
880
|
-
/* @__PURE__ */ (0,
|
|
881
|
-
|
|
1085
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
|
|
1086
|
+
import_react_aria_components16.Group,
|
|
882
1087
|
{
|
|
883
1088
|
className: "pire-control",
|
|
884
1089
|
"data-size": size,
|
|
@@ -887,15 +1092,15 @@ function MultiComboBox({
|
|
|
887
1092
|
"data-invalid": rest.isInvalid ? "true" : void 0,
|
|
888
1093
|
"data-readonly": rest.isReadOnly ? "true" : void 0,
|
|
889
1094
|
children: [
|
|
890
|
-
/* @__PURE__ */ (0,
|
|
891
|
-
/* @__PURE__ */ (0,
|
|
892
|
-
/* @__PURE__ */ (0,
|
|
1095
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Icon, { name: "search", size: 16, className: "pire-leading-icon" }),
|
|
1096
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "pire-chipfield", children: [
|
|
1097
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_react_aria_components16.ButtonContext.Provider, { value: null, children: values.map((v) => (
|
|
893
1098
|
/* Disabled follows the field, not `isEditable`: a read-only field's chips are
|
|
894
1099
|
real, current values and should read as such — they simply lose the × . */
|
|
895
|
-
/* @__PURE__ */ (0,
|
|
1100
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Tag, { isDisabled: rest.isDisabled, onRemove: isEditable ? () => remove(v) : void 0, children: labelOf(v) }, v)
|
|
896
1101
|
)) }),
|
|
897
|
-
/* @__PURE__ */ (0,
|
|
898
|
-
|
|
1102
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
1103
|
+
import_react_aria_components16.Input,
|
|
899
1104
|
{
|
|
900
1105
|
ref: inputRef,
|
|
901
1106
|
className: cx("pire-input", "pire-chipinput"),
|
|
@@ -904,16 +1109,16 @@ function MultiComboBox({
|
|
|
904
1109
|
}
|
|
905
1110
|
)
|
|
906
1111
|
] }),
|
|
907
|
-
/* @__PURE__ */ (0,
|
|
1112
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_react_aria_components16.Button, { className: "pire-iconbtn", "data-size": "sm", "aria-label": msg.comboBoxShowSuggestions, style: { width: 20, height: 20 }, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Icon, { name: "chevron-down", size: 16 }) })
|
|
908
1113
|
]
|
|
909
1114
|
}
|
|
910
1115
|
),
|
|
911
|
-
/* @__PURE__ */ (0,
|
|
912
|
-
description ? /* @__PURE__ */ (0,
|
|
913
|
-
/* @__PURE__ */ (0,
|
|
914
|
-
/* @__PURE__ */ (0,
|
|
915
|
-
/* @__PURE__ */ (0,
|
|
916
|
-
item.secondary ? /* @__PURE__ */ (0,
|
|
1116
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_react_aria_components16.VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { "aria-live": "polite", children: announcement }) }),
|
|
1117
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_react_aria_components16.Text, { slot: "description", className: "pire-field-hint", children: description }) : null,
|
|
1118
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_react_aria_components16.FieldError, { className: "pire-field-error", children: errorMessage }),
|
|
1119
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_react_aria_components16.Popover, { className: "pire-popover", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_react_aria_components16.ListBox, { className: "pire-listbox", children: (item) => /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_react_aria_components16.ListBoxItem, { className: "pire-option", id: item.value, textValue: item.label, isDisabled: item.isDisabled, children: [
|
|
1120
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { style: { flex: 1 }, children: item.label }),
|
|
1121
|
+
item.secondary ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { style: { font: "var(--type-code)", color: "var(--text-tertiary)" }, children: item.secondary }) : null
|
|
917
1122
|
] }) }) })
|
|
918
1123
|
]
|
|
919
1124
|
}
|
|
@@ -921,8 +1126,8 @@ function MultiComboBox({
|
|
|
921
1126
|
}
|
|
922
1127
|
|
|
923
1128
|
// src/components/forms/NumberField.tsx
|
|
924
|
-
var
|
|
925
|
-
var
|
|
1129
|
+
var import_react_aria_components17 = require("react-aria-components");
|
|
1130
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
926
1131
|
function NumberField({
|
|
927
1132
|
label,
|
|
928
1133
|
suffix,
|
|
@@ -935,13 +1140,14 @@ function NumberField({
|
|
|
935
1140
|
style,
|
|
936
1141
|
...rest
|
|
937
1142
|
}) {
|
|
938
|
-
|
|
939
|
-
|
|
1143
|
+
const msg = usePireMessages();
|
|
1144
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react_aria_components17.NumberField, { className: cx("pire-field", className), style, validationBehavior: "aria", ...rest, children: [
|
|
1145
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react_aria_components17.Label, { className: "pire-field-label", children: [
|
|
940
1146
|
label,
|
|
941
|
-
rest.isRequired ? /* @__PURE__ */ (0,
|
|
1147
|
+
rest.isRequired ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "pire-field-req", "aria-hidden": "true", children: "*" }) : null
|
|
942
1148
|
] }) : null,
|
|
943
|
-
/* @__PURE__ */ (0,
|
|
944
|
-
|
|
1149
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
1150
|
+
import_react_aria_components17.Group,
|
|
945
1151
|
{
|
|
946
1152
|
className: "pire-control",
|
|
947
1153
|
"data-size": size,
|
|
@@ -949,23 +1155,23 @@ function NumberField({
|
|
|
949
1155
|
"data-invalid": rest.isInvalid ? "true" : void 0,
|
|
950
1156
|
"data-readonly": rest.isReadOnly ? "true" : void 0,
|
|
951
1157
|
children: [
|
|
952
|
-
/* @__PURE__ */ (0,
|
|
953
|
-
suffix ? /* @__PURE__ */ (0,
|
|
954
|
-
hideStepper ? null : /* @__PURE__ */ (0,
|
|
955
|
-
/* @__PURE__ */ (0,
|
|
956
|
-
/* @__PURE__ */ (0,
|
|
1158
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_aria_components17.Input, { className: "pire-input", "data-numeric": "true" }),
|
|
1159
|
+
suffix ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "pire-affix", children: suffix }) : null,
|
|
1160
|
+
hideStepper ? null : /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("span", { className: "pire-stepper", children: [
|
|
1161
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_aria_components17.Button, { slot: "increment", className: "pire-stepper-btn", "aria-label": msg.numberFieldIncrease, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Icon, { name: "plus", size: 10 }) }),
|
|
1162
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_aria_components17.Button, { slot: "decrement", className: "pire-stepper-btn", "aria-label": msg.numberFieldDecrease, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Icon, { name: "minus", size: 10 }) })
|
|
957
1163
|
] })
|
|
958
1164
|
]
|
|
959
1165
|
}
|
|
960
1166
|
),
|
|
961
|
-
description ? /* @__PURE__ */ (0,
|
|
962
|
-
/* @__PURE__ */ (0,
|
|
1167
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_aria_components17.Text, { slot: "description", className: "pire-field-hint", children: description }) : null,
|
|
1168
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_aria_components17.FieldError, { className: "pire-field-error", children: errorMessage })
|
|
963
1169
|
] });
|
|
964
1170
|
}
|
|
965
1171
|
|
|
966
1172
|
// src/components/forms/DatePicker.tsx
|
|
967
|
-
var
|
|
968
|
-
var
|
|
1173
|
+
var import_react_aria_components18 = require("react-aria-components");
|
|
1174
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
969
1175
|
function DatePicker({
|
|
970
1176
|
label,
|
|
971
1177
|
description,
|
|
@@ -976,13 +1182,14 @@ function DatePicker({
|
|
|
976
1182
|
style,
|
|
977
1183
|
...rest
|
|
978
1184
|
}) {
|
|
979
|
-
|
|
980
|
-
|
|
1185
|
+
const msg = usePireMessages();
|
|
1186
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_react_aria_components18.DatePicker, { className: cx("pire-field", className), style, validationBehavior: "aria", ...rest, children: [
|
|
1187
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_react_aria_components18.Label, { className: "pire-field-label", children: [
|
|
981
1188
|
label,
|
|
982
|
-
rest.isRequired ? /* @__PURE__ */ (0,
|
|
1189
|
+
rest.isRequired ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "pire-field-req", "aria-hidden": "true", children: "*" }) : null
|
|
983
1190
|
] }) : null,
|
|
984
|
-
/* @__PURE__ */ (0,
|
|
985
|
-
|
|
1191
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
|
|
1192
|
+
import_react_aria_components18.Group,
|
|
986
1193
|
{
|
|
987
1194
|
className: "pire-control",
|
|
988
1195
|
"data-size": size,
|
|
@@ -990,36 +1197,36 @@ function DatePicker({
|
|
|
990
1197
|
"data-invalid": rest.isInvalid ? "true" : void 0,
|
|
991
1198
|
"data-readonly": rest.isReadOnly ? "true" : void 0,
|
|
992
1199
|
children: [
|
|
993
|
-
/* @__PURE__ */ (0,
|
|
994
|
-
/* @__PURE__ */ (0,
|
|
1200
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_aria_components18.DateInput, { className: "pire-datefield", children: (segment) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_aria_components18.DateSegment, { segment, className: "pire-datesegment" }) }),
|
|
1201
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_aria_components18.Button, { className: "pire-iconbtn", "data-size": "sm", "aria-label": msg.datePickerOpenCalendar, style: { width: 24, height: 24 }, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Icon, { name: "calendar", size: 16 }) })
|
|
995
1202
|
]
|
|
996
1203
|
}
|
|
997
1204
|
),
|
|
998
|
-
description ? /* @__PURE__ */ (0,
|
|
999
|
-
/* @__PURE__ */ (0,
|
|
1000
|
-
/* @__PURE__ */ (0,
|
|
1001
|
-
/* @__PURE__ */ (0,
|
|
1002
|
-
/* @__PURE__ */ (0,
|
|
1003
|
-
/* @__PURE__ */ (0,
|
|
1004
|
-
/* @__PURE__ */ (0,
|
|
1205
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_aria_components18.Text, { slot: "description", className: "pire-field-hint", children: description }) : null,
|
|
1206
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_aria_components18.FieldError, { className: "pire-field-error", children: errorMessage }),
|
|
1207
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_aria_components18.Popover, { className: "pire-popover", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_aria_components18.Dialog, { children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_react_aria_components18.Calendar, { className: "pire-calendar", children: [
|
|
1208
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("header", { className: "pire-calendar-head", children: [
|
|
1209
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_aria_components18.Button, { slot: "previous", className: "pire-iconbtn", "data-size": "sm", "aria-label": msg.datePickerPreviousMonth, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Icon, { name: "chevron-left", size: 16 }) }),
|
|
1210
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_aria_components18.Heading, { className: "pire-calendar-title" }),
|
|
1211
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_aria_components18.Button, { slot: "next", className: "pire-iconbtn", "data-size": "sm", "aria-label": msg.datePickerNextMonth, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Icon, { name: "chevron-right", size: 16 }) })
|
|
1005
1212
|
] }),
|
|
1006
|
-
/* @__PURE__ */ (0,
|
|
1007
|
-
/* @__PURE__ */ (0,
|
|
1008
|
-
/* @__PURE__ */ (0,
|
|
1213
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_react_aria_components18.CalendarGrid, { className: "pire-calendar-grid", children: [
|
|
1214
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_aria_components18.CalendarGridHeader, { children: (day) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_aria_components18.CalendarHeaderCell, { children: day }) }),
|
|
1215
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_aria_components18.CalendarGridBody, { children: (date) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_aria_components18.CalendarCell, { date, className: "pire-calendar-cell" }) })
|
|
1009
1216
|
] })
|
|
1010
1217
|
] }) }) })
|
|
1011
1218
|
] });
|
|
1012
1219
|
}
|
|
1013
1220
|
|
|
1014
1221
|
// src/components/forms/ValueHelpField.tsx
|
|
1015
|
-
var
|
|
1222
|
+
var React9 = __toESM(require("react"), 1);
|
|
1016
1223
|
|
|
1017
1224
|
// src/components/patterns/ValueHelpDialog.tsx
|
|
1018
|
-
var
|
|
1225
|
+
var React8 = __toESM(require("react"), 1);
|
|
1019
1226
|
|
|
1020
1227
|
// src/components/feedback/Dialog.tsx
|
|
1021
|
-
var
|
|
1022
|
-
var
|
|
1228
|
+
var import_react_aria_components19 = require("react-aria-components");
|
|
1229
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
1023
1230
|
function Dialog({
|
|
1024
1231
|
isOpen,
|
|
1025
1232
|
onOpenChange,
|
|
@@ -1034,12 +1241,13 @@ function Dialog({
|
|
|
1034
1241
|
className,
|
|
1035
1242
|
style
|
|
1036
1243
|
}) {
|
|
1244
|
+
const msg = usePireMessages();
|
|
1037
1245
|
const close = () => {
|
|
1038
1246
|
onClose?.();
|
|
1039
1247
|
onOpenChange?.(false);
|
|
1040
1248
|
};
|
|
1041
|
-
return /* @__PURE__ */ (0,
|
|
1042
|
-
|
|
1249
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1250
|
+
import_react_aria_components19.ModalOverlay,
|
|
1043
1251
|
{
|
|
1044
1252
|
className: "pire-modal-overlay",
|
|
1045
1253
|
isOpen,
|
|
@@ -1047,24 +1255,24 @@ function Dialog({
|
|
|
1047
1255
|
onOpenChange: (o) => {
|
|
1048
1256
|
if (!o) close();
|
|
1049
1257
|
},
|
|
1050
|
-
children: /* @__PURE__ */ (0,
|
|
1051
|
-
title ? /* @__PURE__ */ (0,
|
|
1052
|
-
/* @__PURE__ */ (0,
|
|
1053
|
-
/* @__PURE__ */ (0,
|
|
1054
|
-
subtitle ? /* @__PURE__ */ (0,
|
|
1258
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_react_aria_components19.Modal, { className: cx("pire-modal", className), "data-size": size, style, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_react_aria_components19.Dialog, { className: "pire-dialog", children: [
|
|
1259
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("header", { className: "pire-dialog-head", children: [
|
|
1260
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
1261
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_react_aria_components19.Heading, { slot: "title", className: "pire-dialog-title", children: title }),
|
|
1262
|
+
subtitle ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("p", { className: "pire-dialog-sub", style: { margin: 0 }, children: subtitle }) : null
|
|
1055
1263
|
] }),
|
|
1056
|
-
showClose ? /* @__PURE__ */ (0,
|
|
1264
|
+
showClose ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(IconButton, { icon: "x", label: msg.dialogClose, size: "sm", onPress: close }) : null
|
|
1057
1265
|
] }) : null,
|
|
1058
|
-
/* @__PURE__ */ (0,
|
|
1059
|
-
footer ? /* @__PURE__ */ (0,
|
|
1266
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "pire-dialog-body", children }),
|
|
1267
|
+
footer ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("footer", { className: "pire-dialog-foot", children: footer }) : null
|
|
1060
1268
|
] }) })
|
|
1061
1269
|
}
|
|
1062
1270
|
);
|
|
1063
1271
|
}
|
|
1064
1272
|
|
|
1065
1273
|
// src/components/data/DataTable.tsx
|
|
1066
|
-
var
|
|
1067
|
-
var
|
|
1274
|
+
var import_react_aria_components20 = require("react-aria-components");
|
|
1275
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
1068
1276
|
function DataTable({
|
|
1069
1277
|
columns,
|
|
1070
1278
|
rows,
|
|
@@ -1081,13 +1289,14 @@ function DataTable({
|
|
|
1081
1289
|
style,
|
|
1082
1290
|
...rest
|
|
1083
1291
|
}) {
|
|
1292
|
+
const msg = usePireMessages();
|
|
1084
1293
|
const sortDescriptor = sort ? { column: sort.key, direction: sort.dir === "asc" ? "ascending" : "descending" } : void 0;
|
|
1085
1294
|
const handleSelection = (keys) => {
|
|
1086
1295
|
if (keys === "all") return onSelectionChange?.(rows.map((r) => r.id));
|
|
1087
1296
|
onSelectionChange?.([...keys]);
|
|
1088
1297
|
};
|
|
1089
|
-
return /* @__PURE__ */ (0,
|
|
1090
|
-
|
|
1298
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: cx("pire-table-wrap", className), style, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
1299
|
+
import_react_aria_components20.Table,
|
|
1091
1300
|
{
|
|
1092
1301
|
className: "pire-table",
|
|
1093
1302
|
"data-density": density,
|
|
@@ -1103,10 +1312,10 @@ function DataTable({
|
|
|
1103
1312
|
if (row) onRowAction(row);
|
|
1104
1313
|
} : void 0,
|
|
1105
1314
|
children: [
|
|
1106
|
-
/* @__PURE__ */ (0,
|
|
1107
|
-
selectable ? /* @__PURE__ */ (0,
|
|
1108
|
-
columns.map((c, i) => /* @__PURE__ */ (0,
|
|
1109
|
-
|
|
1315
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_react_aria_components20.TableHeader, { className: "pire-thead-row", children: [
|
|
1316
|
+
selectable ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_react_aria_components20.Column, { className: "pire-th", width: 44, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Checkbox, { slot: "selection", "aria-label": msg.dataTableSelectAll }) }) : null,
|
|
1317
|
+
columns.map((c, i) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1318
|
+
import_react_aria_components20.Column,
|
|
1110
1319
|
{
|
|
1111
1320
|
id: c.key,
|
|
1112
1321
|
className: "pire-th",
|
|
@@ -1115,9 +1324,9 @@ function DataTable({
|
|
|
1115
1324
|
width: c.width,
|
|
1116
1325
|
"data-align": c.numeric || c.align === "right" ? "right" : c.align,
|
|
1117
1326
|
"data-allows-sorting": c.sortable ? "true" : void 0,
|
|
1118
|
-
children: /* @__PURE__ */ (0,
|
|
1327
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("span", { className: "pire-th-inner", children: [
|
|
1119
1328
|
c.label,
|
|
1120
|
-
c.sortable ? /* @__PURE__ */ (0,
|
|
1329
|
+
c.sortable ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1121
1330
|
Icon,
|
|
1122
1331
|
{
|
|
1123
1332
|
size: 12,
|
|
@@ -1130,10 +1339,10 @@ function DataTable({
|
|
|
1130
1339
|
c.key
|
|
1131
1340
|
))
|
|
1132
1341
|
] }),
|
|
1133
|
-
/* @__PURE__ */ (0,
|
|
1134
|
-
selectable ? /* @__PURE__ */ (0,
|
|
1135
|
-
columns.map((c) => /* @__PURE__ */ (0,
|
|
1136
|
-
|
|
1342
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_react_aria_components20.TableBody, { renderEmptyState: () => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "pire-table-empty", children: emptyLabel }), children: rows.map((row) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_react_aria_components20.Row, { id: row.id, className: "pire-tr", "data-pressable": onRowAction ? "true" : void 0, children: [
|
|
1343
|
+
selectable ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_react_aria_components20.Cell, { className: "pire-td", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Checkbox, { slot: "selection", "aria-label": msg.dataTableSelectRow }) }) : null,
|
|
1344
|
+
columns.map((c) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1345
|
+
import_react_aria_components20.Cell,
|
|
1137
1346
|
{
|
|
1138
1347
|
className: "pire-td",
|
|
1139
1348
|
"data-numeric": c.numeric ? "true" : void 0,
|
|
@@ -1149,7 +1358,7 @@ function DataTable({
|
|
|
1149
1358
|
}
|
|
1150
1359
|
|
|
1151
1360
|
// src/components/patterns/ValueHelpDialog.tsx
|
|
1152
|
-
var
|
|
1361
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
1153
1362
|
function ValueHelpDialog({
|
|
1154
1363
|
isOpen,
|
|
1155
1364
|
title = "Select a record",
|
|
@@ -1160,28 +1369,29 @@ function ValueHelpDialog({
|
|
|
1160
1369
|
onSelect,
|
|
1161
1370
|
onClose
|
|
1162
1371
|
}) {
|
|
1163
|
-
const
|
|
1164
|
-
|
|
1372
|
+
const msg = usePireMessages();
|
|
1373
|
+
const [query, setQuery] = React8.useState("");
|
|
1374
|
+
React8.useEffect(() => {
|
|
1165
1375
|
if (isOpen) setQuery("");
|
|
1166
1376
|
}, [isOpen]);
|
|
1167
|
-
const filtered =
|
|
1377
|
+
const filtered = React8.useMemo(() => {
|
|
1168
1378
|
const q = query.trim().toLowerCase();
|
|
1169
1379
|
if (!q) return rows;
|
|
1170
1380
|
return rows.filter((row) => Object.values(row).some((v) => String(v).toLowerCase().includes(q)));
|
|
1171
1381
|
}, [rows, query]);
|
|
1172
|
-
return /* @__PURE__ */ (0,
|
|
1382
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
1173
1383
|
Dialog,
|
|
1174
1384
|
{
|
|
1175
1385
|
isOpen,
|
|
1176
1386
|
size: "lg",
|
|
1177
1387
|
title,
|
|
1178
1388
|
onClose,
|
|
1179
|
-
footer: /* @__PURE__ */ (0,
|
|
1180
|
-
children: /* @__PURE__ */ (0,
|
|
1181
|
-
/* @__PURE__ */ (0,
|
|
1389
|
+
footer: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Button, { variant: "tertiary", onPress: onClose, children: msg.valueHelpDialogCancel }),
|
|
1390
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { style: { display: "flex", flexDirection: "column", gap: "var(--sp-3)" }, children: [
|
|
1391
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
1182
1392
|
Input,
|
|
1183
1393
|
{
|
|
1184
|
-
"aria-label":
|
|
1394
|
+
"aria-label": msg.valueHelpDialogSearch,
|
|
1185
1395
|
icon: "search",
|
|
1186
1396
|
type: "search",
|
|
1187
1397
|
value: query,
|
|
@@ -1190,7 +1400,7 @@ function ValueHelpDialog({
|
|
|
1190
1400
|
autoFocus: true
|
|
1191
1401
|
}
|
|
1192
1402
|
),
|
|
1193
|
-
/* @__PURE__ */ (0,
|
|
1403
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
1194
1404
|
DataTable,
|
|
1195
1405
|
{
|
|
1196
1406
|
"aria-label": typeof title === "string" ? title : "Records",
|
|
@@ -1210,7 +1420,7 @@ function ValueHelpDialog({
|
|
|
1210
1420
|
}
|
|
1211
1421
|
|
|
1212
1422
|
// src/components/forms/ValueHelpField.tsx
|
|
1213
|
-
var
|
|
1423
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
1214
1424
|
var defaultFormat = (row) => [row.id, row.name ?? row.label ?? row.text].filter(Boolean).join(" \u2014 ");
|
|
1215
1425
|
function ValueHelpField({
|
|
1216
1426
|
label,
|
|
@@ -1230,10 +1440,11 @@ function ValueHelpField({
|
|
|
1230
1440
|
className,
|
|
1231
1441
|
style
|
|
1232
1442
|
}) {
|
|
1233
|
-
const
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1443
|
+
const msg = usePireMessages();
|
|
1444
|
+
const [open, setOpen] = React9.useState(false);
|
|
1445
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: cx(className), style, children: [
|
|
1446
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { style: { display: "flex", gap: "var(--sp-2)", alignItems: "flex-end" }, children: [
|
|
1447
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
1237
1448
|
Input,
|
|
1238
1449
|
{
|
|
1239
1450
|
label,
|
|
@@ -1247,28 +1458,28 @@ function ValueHelpField({
|
|
|
1247
1458
|
errorMessage
|
|
1248
1459
|
}
|
|
1249
1460
|
),
|
|
1250
|
-
allowsClear && value ? /* @__PURE__ */ (0,
|
|
1461
|
+
allowsClear && value ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
1251
1462
|
IconButton,
|
|
1252
1463
|
{
|
|
1253
1464
|
icon: "x",
|
|
1254
|
-
label:
|
|
1465
|
+
label: msg.valueHelpFieldClear,
|
|
1255
1466
|
variant: "outlined",
|
|
1256
1467
|
isDisabled,
|
|
1257
1468
|
onPress: () => onChange?.(null)
|
|
1258
1469
|
}
|
|
1259
1470
|
) : null,
|
|
1260
|
-
/* @__PURE__ */ (0,
|
|
1471
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
1261
1472
|
IconButton,
|
|
1262
1473
|
{
|
|
1263
1474
|
icon: "search",
|
|
1264
|
-
label: typeof label === "string" ?
|
|
1475
|
+
label: typeof label === "string" ? msg.valueHelpFieldOpenNamed.replace("{label}", label.toLowerCase()) : msg.valueHelpFieldOpen,
|
|
1265
1476
|
variant: "outlined",
|
|
1266
1477
|
isDisabled,
|
|
1267
1478
|
onPress: () => setOpen(true)
|
|
1268
1479
|
}
|
|
1269
1480
|
)
|
|
1270
1481
|
] }),
|
|
1271
|
-
/* @__PURE__ */ (0,
|
|
1482
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
1272
1483
|
ValueHelpDialog,
|
|
1273
1484
|
{
|
|
1274
1485
|
isOpen: open,
|
|
@@ -1283,7 +1494,7 @@ function ValueHelpField({
|
|
|
1283
1494
|
}
|
|
1284
1495
|
|
|
1285
1496
|
// src/components/navigation/ShellBar.tsx
|
|
1286
|
-
var
|
|
1497
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
1287
1498
|
var initials2 = (name) => name.trim().split(/\s+/).slice(0, 2).map((p) => p[0]).join("").toUpperCase();
|
|
1288
1499
|
function ShellBar({
|
|
1289
1500
|
product,
|
|
@@ -1298,22 +1509,22 @@ function ShellBar({
|
|
|
1298
1509
|
className,
|
|
1299
1510
|
...rest
|
|
1300
1511
|
}) {
|
|
1301
|
-
return /* @__PURE__ */ (0,
|
|
1302
|
-
onMenu ? /* @__PURE__ */ (0,
|
|
1303
|
-
monogram ? /* @__PURE__ */ (0,
|
|
1304
|
-
product ? /* @__PURE__ */ (0,
|
|
1305
|
-
title ? /* @__PURE__ */ (0,
|
|
1306
|
-
/* @__PURE__ */ (0,
|
|
1307
|
-
onSearch ? /* @__PURE__ */ (0,
|
|
1512
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("header", { className: cx("pire-shellbar", className), ...rest, children: [
|
|
1513
|
+
onMenu ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(IconButton, { icon: "menu", label: menuLabel, variant: "inverse", size: "sm", onPress: onMenu }) : null,
|
|
1514
|
+
monogram ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "pire-shellbar-mono", "aria-hidden": "true", children: monogram }) : null,
|
|
1515
|
+
product ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "pire-shellbar-product", children: product }) : null,
|
|
1516
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "pire-shellbar-title", children: title }) : null,
|
|
1517
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "pire-shellbar-spacer" }),
|
|
1518
|
+
onSearch ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(IconButton, { icon: "search", label: searchLabel, variant: "inverse", size: "sm", onPress: onSearch }) : null,
|
|
1308
1519
|
actions,
|
|
1309
|
-
user ? /* @__PURE__ */ (0,
|
|
1520
|
+
user ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "pire-avatar", title: user, "aria-label": user, role: "img", children: initials2(user) }) : null
|
|
1310
1521
|
] });
|
|
1311
1522
|
}
|
|
1312
1523
|
|
|
1313
1524
|
// src/components/navigation/SideNav.tsx
|
|
1314
|
-
var
|
|
1315
|
-
var
|
|
1316
|
-
var
|
|
1525
|
+
var React10 = __toESM(require("react"), 1);
|
|
1526
|
+
var import_react_aria_components21 = require("react-aria-components");
|
|
1527
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
1317
1528
|
function findActiveParent(groups, value) {
|
|
1318
1529
|
if (value == null) return void 0;
|
|
1319
1530
|
for (const group of groups) {
|
|
@@ -1335,12 +1546,13 @@ function SideNav({
|
|
|
1335
1546
|
className,
|
|
1336
1547
|
...rest
|
|
1337
1548
|
}) {
|
|
1549
|
+
const msg = usePireMessages();
|
|
1338
1550
|
const activeParent = findActiveParent(groups, value);
|
|
1339
1551
|
const isControlled = expandedIds != null;
|
|
1340
|
-
const [ownExpanded, setOwnExpanded] =
|
|
1552
|
+
const [ownExpanded, setOwnExpanded] = React10.useState(
|
|
1341
1553
|
() => new Set(defaultExpandedIds ?? (activeParent ? [activeParent] : []))
|
|
1342
1554
|
);
|
|
1343
|
-
const [lastValue, setLastValue] =
|
|
1555
|
+
const [lastValue, setLastValue] = React10.useState(value);
|
|
1344
1556
|
if (value !== lastValue) {
|
|
1345
1557
|
setLastValue(value);
|
|
1346
1558
|
if (!isControlled && activeParent && !ownExpanded.has(activeParent)) {
|
|
@@ -1360,64 +1572,65 @@ function SideNav({
|
|
|
1360
1572
|
};
|
|
1361
1573
|
const renderRow = (item, onPress, isGroup) => {
|
|
1362
1574
|
const selected = !isGroup && item.id === value;
|
|
1363
|
-
const button = /* @__PURE__ */ (0,
|
|
1364
|
-
|
|
1575
|
+
const button = /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
1576
|
+
import_react_aria_components21.Button,
|
|
1365
1577
|
{
|
|
1366
1578
|
className: "pire-sidenav-item",
|
|
1367
1579
|
"data-selected": selected ? "true" : void 0,
|
|
1368
1580
|
"data-active-child": isGroup && item.id === activeParent ? "true" : void 0,
|
|
1369
1581
|
"aria-current": selected ? "page" : void 0,
|
|
1582
|
+
"aria-label": collapsed ? item.label : void 0,
|
|
1370
1583
|
onPress,
|
|
1371
1584
|
children: [
|
|
1372
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
1373
|
-
collapsed ? null : /* @__PURE__ */ (0,
|
|
1374
|
-
item.count != null && !collapsed ? /* @__PURE__ */ (0,
|
|
1585
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Icon, { name: item.icon, size: 16 }) : null,
|
|
1586
|
+
collapsed ? null : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { children: item.label }),
|
|
1587
|
+
item.count != null && !collapsed ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "pire-sidenav-count", children: item.count }) : null
|
|
1375
1588
|
]
|
|
1376
1589
|
},
|
|
1377
1590
|
item.id
|
|
1378
1591
|
);
|
|
1379
|
-
return collapsed ? /* @__PURE__ */ (0,
|
|
1592
|
+
return collapsed ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Tooltip, { label: item.label, placement: "right", children: button }, item.id) : button;
|
|
1380
1593
|
};
|
|
1381
|
-
const renderSection = (item) => /* @__PURE__ */ (0,
|
|
1382
|
-
/* @__PURE__ */ (0,
|
|
1383
|
-
|
|
1594
|
+
const renderSection = (item) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_react_aria_components21.Disclosure, { id: item.id, className: "pire-sidenav-section", children: [
|
|
1595
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
1596
|
+
import_react_aria_components21.Button,
|
|
1384
1597
|
{
|
|
1385
1598
|
slot: "trigger",
|
|
1386
1599
|
className: "pire-sidenav-item",
|
|
1387
1600
|
"data-kind": "group",
|
|
1388
1601
|
"data-active-child": item.id === activeParent ? "true" : void 0,
|
|
1389
1602
|
children: [
|
|
1390
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
1391
|
-
/* @__PURE__ */ (0,
|
|
1392
|
-
item.count != null ? /* @__PURE__ */ (0,
|
|
1393
|
-
/* @__PURE__ */ (0,
|
|
1603
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Icon, { name: item.icon, size: 16 }) : null,
|
|
1604
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { children: item.label }),
|
|
1605
|
+
item.count != null ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "pire-sidenav-count", children: item.count }) : null,
|
|
1606
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Icon, { name: "chevron-down", size: 16, className: "pire-sidenav-chevron" })
|
|
1394
1607
|
]
|
|
1395
1608
|
}
|
|
1396
1609
|
),
|
|
1397
|
-
/* @__PURE__ */ (0,
|
|
1610
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_react_aria_components21.DisclosurePanel, { className: "pire-sidenav-subnav", children: item.items?.map((child) => {
|
|
1398
1611
|
const selected = child.id === value;
|
|
1399
|
-
return /* @__PURE__ */ (0,
|
|
1400
|
-
|
|
1612
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
1613
|
+
import_react_aria_components21.Button,
|
|
1401
1614
|
{
|
|
1402
1615
|
className: "pire-sidenav-item pire-sidenav-subitem",
|
|
1403
1616
|
"data-selected": selected ? "true" : void 0,
|
|
1404
1617
|
"aria-current": selected ? "page" : void 0,
|
|
1405
1618
|
onPress: () => onChange?.(child.id),
|
|
1406
1619
|
children: [
|
|
1407
|
-
/* @__PURE__ */ (0,
|
|
1408
|
-
child.count != null ? /* @__PURE__ */ (0,
|
|
1620
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { children: child.label }),
|
|
1621
|
+
child.count != null ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "pire-sidenav-count", children: child.count }) : null
|
|
1409
1622
|
]
|
|
1410
1623
|
},
|
|
1411
1624
|
child.id
|
|
1412
1625
|
);
|
|
1413
1626
|
}) })
|
|
1414
1627
|
] }, item.id);
|
|
1415
|
-
return /* @__PURE__ */ (0,
|
|
1628
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
1416
1629
|
"nav",
|
|
1417
1630
|
{
|
|
1418
1631
|
className: cx("pire-sidenav", className),
|
|
1419
1632
|
"data-collapsed": collapsed ? "true" : void 0,
|
|
1420
|
-
"aria-label":
|
|
1633
|
+
"aria-label": msg.sideNavLabel,
|
|
1421
1634
|
...rest,
|
|
1422
1635
|
children: [
|
|
1423
1636
|
groups.map((group, gi) => {
|
|
@@ -1427,10 +1640,10 @@ function SideNav({
|
|
|
1427
1640
|
if (isGroup && !collapsed) return renderSection(item);
|
|
1428
1641
|
return renderRow(item, () => isGroup ? toggleExpanded(item.id) : onChange?.(item.id), isGroup);
|
|
1429
1642
|
});
|
|
1430
|
-
return /* @__PURE__ */ (0,
|
|
1431
|
-
group.label && !collapsed ? /* @__PURE__ */ (0,
|
|
1432
|
-
hasSections ? /* @__PURE__ */ (0,
|
|
1433
|
-
|
|
1643
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "pire-sidenav-group", children: [
|
|
1644
|
+
group.label && !collapsed ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "pire-sidenav-label", children: group.label }) : null,
|
|
1645
|
+
hasSections ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
1646
|
+
import_react_aria_components21.DisclosureGroup,
|
|
1434
1647
|
{
|
|
1435
1648
|
className: "pire-sidenav-tree",
|
|
1436
1649
|
allowsMultipleExpanded: true,
|
|
@@ -1441,18 +1654,18 @@ function SideNav({
|
|
|
1441
1654
|
) : rows
|
|
1442
1655
|
] }, group.label ?? gi);
|
|
1443
1656
|
}),
|
|
1444
|
-
footer ? /* @__PURE__ */ (0,
|
|
1657
|
+
footer ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "pire-sidenav-footer", children: footer }) : null
|
|
1445
1658
|
]
|
|
1446
1659
|
}
|
|
1447
1660
|
);
|
|
1448
1661
|
}
|
|
1449
1662
|
|
|
1450
1663
|
// src/components/navigation/Tabs.tsx
|
|
1451
|
-
var
|
|
1452
|
-
var
|
|
1664
|
+
var import_react_aria_components22 = require("react-aria-components");
|
|
1665
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
1453
1666
|
function Tabs({ items, value, defaultValue, onChange, panels, className, style, ...rest }) {
|
|
1454
|
-
return /* @__PURE__ */ (0,
|
|
1455
|
-
|
|
1667
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
1668
|
+
import_react_aria_components22.Tabs,
|
|
1456
1669
|
{
|
|
1457
1670
|
className,
|
|
1458
1671
|
style,
|
|
@@ -1460,23 +1673,23 @@ function Tabs({ items, value, defaultValue, onChange, panels, className, style,
|
|
|
1460
1673
|
defaultSelectedKey: defaultValue,
|
|
1461
1674
|
onSelectionChange: (k) => onChange?.(String(k)),
|
|
1462
1675
|
children: [
|
|
1463
|
-
/* @__PURE__ */ (0,
|
|
1464
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
1676
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_aria_components22.TabList, { className: "pire-tablist", items, "aria-label": rest["aria-label"] ?? "Views", children: (item) => /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_react_aria_components22.Tab, { className: cx("pire-tab"), id: item.id, isDisabled: item.isDisabled, children: [
|
|
1677
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Icon, { name: item.icon, size: 16 }) : null,
|
|
1465
1678
|
item.label,
|
|
1466
|
-
item.count != null ? /* @__PURE__ */ (0,
|
|
1679
|
+
item.count != null ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "pire-tab-count", children: item.count }) : null
|
|
1467
1680
|
] }) }),
|
|
1468
|
-
items.map((item) => /* @__PURE__ */ (0,
|
|
1681
|
+
items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_aria_components22.TabPanel, { id: item.id, className: panels ? "pire-tabpanel" : void 0, children: panels?.[item.id] }, item.id))
|
|
1469
1682
|
]
|
|
1470
1683
|
}
|
|
1471
1684
|
);
|
|
1472
1685
|
}
|
|
1473
1686
|
|
|
1474
1687
|
// src/components/navigation/Breadcrumb.tsx
|
|
1475
|
-
var
|
|
1476
|
-
var
|
|
1688
|
+
var import_react_aria_components23 = require("react-aria-components");
|
|
1689
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
1477
1690
|
function Breadcrumb({ items, onNavigate, className, style }) {
|
|
1478
|
-
return /* @__PURE__ */ (0,
|
|
1479
|
-
|
|
1691
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
1692
|
+
import_react_aria_components23.Breadcrumbs,
|
|
1480
1693
|
{
|
|
1481
1694
|
className: cx("pire-breadcrumbs", className),
|
|
1482
1695
|
style,
|
|
@@ -1484,9 +1697,9 @@ function Breadcrumb({ items, onNavigate, className, style }) {
|
|
|
1484
1697
|
onAction: (key) => onNavigate?.(String(key)),
|
|
1485
1698
|
children: (item) => {
|
|
1486
1699
|
const last = items[items.length - 1] === item;
|
|
1487
|
-
return /* @__PURE__ */ (0,
|
|
1488
|
-
last ? item.label : /* @__PURE__ */ (0,
|
|
1489
|
-
last ? null : /* @__PURE__ */ (0,
|
|
1700
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_react_aria_components23.Breadcrumb, { className: "pire-breadcrumb", id: item.id ?? item.label, children: [
|
|
1701
|
+
last ? item.label : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_aria_components23.Link, { href: item.href, children: item.label }),
|
|
1702
|
+
last ? null : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Icon, { name: "chevron-right", size: 12, style: { color: "var(--text-tertiary)" } })
|
|
1490
1703
|
] });
|
|
1491
1704
|
}
|
|
1492
1705
|
}
|
|
@@ -1494,7 +1707,7 @@ function Breadcrumb({ items, onNavigate, className, style }) {
|
|
|
1494
1707
|
}
|
|
1495
1708
|
|
|
1496
1709
|
// src/components/navigation/Pagination.tsx
|
|
1497
|
-
var
|
|
1710
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
1498
1711
|
function Pagination({
|
|
1499
1712
|
page = 1,
|
|
1500
1713
|
pageSize = 25,
|
|
@@ -1505,49 +1718,39 @@ function Pagination({
|
|
|
1505
1718
|
className,
|
|
1506
1719
|
style
|
|
1507
1720
|
}) {
|
|
1721
|
+
const msg = usePireMessages();
|
|
1508
1722
|
const pages = Math.max(1, Math.ceil(total / pageSize));
|
|
1509
1723
|
const from = total === 0 ? 0 : (page - 1) * pageSize + 1;
|
|
1510
1724
|
const to = Math.min(total, page * pageSize);
|
|
1511
|
-
return /* @__PURE__ */ (0,
|
|
1512
|
-
/* @__PURE__ */ (0,
|
|
1513
|
-
|
|
1514
|
-
"\u2013",
|
|
1515
|
-
to.toLocaleString(),
|
|
1516
|
-
" of ",
|
|
1517
|
-
total.toLocaleString()
|
|
1518
|
-
] }),
|
|
1519
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
1725
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("nav", { className: cx("pire-pagination", className), style, "aria-label": msg.paginationLabel, children: [
|
|
1726
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "pire-pagination-count", children: msg.paginationRange.replace("{from}", from.toLocaleString()).replace("{to}", to.toLocaleString()).replace("{total}", total.toLocaleString()) }),
|
|
1727
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
1520
1728
|
IconButton,
|
|
1521
1729
|
{
|
|
1522
1730
|
icon: "chevron-left",
|
|
1523
|
-
label:
|
|
1731
|
+
label: msg.paginationPrevious,
|
|
1524
1732
|
size: "sm",
|
|
1525
1733
|
variant: "outlined",
|
|
1526
1734
|
isDisabled: page <= 1,
|
|
1527
1735
|
onPress: () => onPageChange?.(page - 1)
|
|
1528
1736
|
}
|
|
1529
1737
|
),
|
|
1530
|
-
/* @__PURE__ */ (0,
|
|
1531
|
-
|
|
1532
|
-
page,
|
|
1533
|
-
" of ",
|
|
1534
|
-
pages
|
|
1535
|
-
] }),
|
|
1536
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
1738
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "pire-pagination-count", "aria-live": "polite", children: msg.paginationPageOf.replace("{page}", String(page)).replace("{pages}", String(pages)) }),
|
|
1739
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
1537
1740
|
IconButton,
|
|
1538
1741
|
{
|
|
1539
1742
|
icon: "chevron-right",
|
|
1540
|
-
label:
|
|
1743
|
+
label: msg.paginationNext,
|
|
1541
1744
|
size: "sm",
|
|
1542
1745
|
variant: "outlined",
|
|
1543
1746
|
isDisabled: page >= pages,
|
|
1544
1747
|
onPress: () => onPageChange?.(page + 1)
|
|
1545
1748
|
}
|
|
1546
1749
|
),
|
|
1547
|
-
onPageSizeChange ? /* @__PURE__ */ (0,
|
|
1750
|
+
onPageSizeChange ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
1548
1751
|
Select,
|
|
1549
1752
|
{
|
|
1550
|
-
"aria-label":
|
|
1753
|
+
"aria-label": msg.paginationRowsPerPage,
|
|
1551
1754
|
size: "sm",
|
|
1552
1755
|
fullWidth: false,
|
|
1553
1756
|
value: String(pageSize),
|
|
@@ -1559,8 +1762,59 @@ function Pagination({
|
|
|
1559
1762
|
] });
|
|
1560
1763
|
}
|
|
1561
1764
|
|
|
1765
|
+
// src/components/navigation/Menu.tsx
|
|
1766
|
+
var import_react_aria_components24 = require("react-aria-components");
|
|
1767
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
1768
|
+
function Menu({ minWidth, className, style, ...rest }) {
|
|
1769
|
+
const width = typeof minWidth === "number" ? `${minWidth}px` : minWidth;
|
|
1770
|
+
const menuStyle = width == null ? style : { ["--pire-menu-min-w"]: width, ...style };
|
|
1771
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
1772
|
+
import_react_aria_components24.Menu,
|
|
1773
|
+
{
|
|
1774
|
+
className: cx("pire-menu", className),
|
|
1775
|
+
style: menuStyle,
|
|
1776
|
+
...rest
|
|
1777
|
+
}
|
|
1778
|
+
);
|
|
1779
|
+
}
|
|
1780
|
+
function MenuItem({
|
|
1781
|
+
children,
|
|
1782
|
+
icon,
|
|
1783
|
+
description,
|
|
1784
|
+
shortcut,
|
|
1785
|
+
tone = "default",
|
|
1786
|
+
className,
|
|
1787
|
+
...rest
|
|
1788
|
+
}) {
|
|
1789
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
1790
|
+
import_react_aria_components24.MenuItem,
|
|
1791
|
+
{
|
|
1792
|
+
className: cx("pire-menu-item", className),
|
|
1793
|
+
"data-tone": tone === "danger" ? "danger" : void 0,
|
|
1794
|
+
...rest,
|
|
1795
|
+
children: [
|
|
1796
|
+
icon ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Icon, { name: icon, size: 16, className: "pire-menu-item-icon" }) : null,
|
|
1797
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("span", { className: "pire-menu-item-body", children: [
|
|
1798
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "pire-menu-item-label", children }),
|
|
1799
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "pire-menu-item-desc", children: description }) : null
|
|
1800
|
+
] }),
|
|
1801
|
+
shortcut ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("kbd", { className: "pire-menu-item-shortcut", children: shortcut }) : null
|
|
1802
|
+
]
|
|
1803
|
+
}
|
|
1804
|
+
);
|
|
1805
|
+
}
|
|
1806
|
+
function MenuSection({ title, children, className, ...rest }) {
|
|
1807
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_react_aria_components24.MenuSection, { className: cx("pire-menu-section", className), ...rest, children: [
|
|
1808
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_aria_components24.Header, { className: "pire-menu-section-title", children: title }) : null,
|
|
1809
|
+
children
|
|
1810
|
+
] });
|
|
1811
|
+
}
|
|
1812
|
+
function MenuSeparator({ className }) {
|
|
1813
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_aria_components24.Separator, { className: cx("pire-menu-separator", className) });
|
|
1814
|
+
}
|
|
1815
|
+
|
|
1562
1816
|
// src/components/feedback/InlineMessage.tsx
|
|
1563
|
-
var
|
|
1817
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
1564
1818
|
var KIND_ICON = {
|
|
1565
1819
|
info: "info",
|
|
1566
1820
|
success: "check-circle-2",
|
|
@@ -1568,8 +1822,9 @@ var KIND_ICON = {
|
|
|
1568
1822
|
error: "alert-octagon"
|
|
1569
1823
|
};
|
|
1570
1824
|
function InlineMessage({ kind = "info", title, action, onClose, children, className, ...rest }) {
|
|
1825
|
+
const msg = usePireMessages();
|
|
1571
1826
|
const assertive = kind === "error" || kind === "warning";
|
|
1572
|
-
return /* @__PURE__ */ (0,
|
|
1827
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
1573
1828
|
"div",
|
|
1574
1829
|
{
|
|
1575
1830
|
className: cx("pire-msg", className),
|
|
@@ -1578,21 +1833,21 @@ function InlineMessage({ kind = "info", title, action, onClose, children, classN
|
|
|
1578
1833
|
"aria-live": assertive ? "assertive" : "polite",
|
|
1579
1834
|
...rest,
|
|
1580
1835
|
children: [
|
|
1581
|
-
/* @__PURE__ */ (0,
|
|
1582
|
-
/* @__PURE__ */ (0,
|
|
1583
|
-
title ? /* @__PURE__ */ (0,
|
|
1584
|
-
children ? /* @__PURE__ */ (0,
|
|
1836
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Icon, { name: KIND_ICON[kind], size: 16, style: { marginTop: 2 } }),
|
|
1837
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { style: { flex: 1, display: "flex", flexDirection: "column", gap: "var(--sp-1)" }, children: [
|
|
1838
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "pire-msg-title", children: title }) : null,
|
|
1839
|
+
children ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "pire-msg-body", children }) : null,
|
|
1585
1840
|
action
|
|
1586
1841
|
] }),
|
|
1587
|
-
onClose ? /* @__PURE__ */ (0,
|
|
1842
|
+
onClose ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(IconButton, { icon: "x", label: msg.inlineMessageDismiss, size: "sm", onPress: onClose }) : null
|
|
1588
1843
|
]
|
|
1589
1844
|
}
|
|
1590
1845
|
);
|
|
1591
1846
|
}
|
|
1592
1847
|
|
|
1593
1848
|
// src/components/feedback/ProgressBar.tsx
|
|
1594
|
-
var
|
|
1595
|
-
var
|
|
1849
|
+
var import_react_aria_components25 = require("react-aria-components");
|
|
1850
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
1596
1851
|
function ProgressBar({
|
|
1597
1852
|
value = 0,
|
|
1598
1853
|
minValue = 0,
|
|
@@ -1605,8 +1860,8 @@ function ProgressBar({
|
|
|
1605
1860
|
className,
|
|
1606
1861
|
style
|
|
1607
1862
|
}) {
|
|
1608
|
-
return /* @__PURE__ */ (0,
|
|
1609
|
-
|
|
1863
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
1864
|
+
import_react_aria_components25.ProgressBar,
|
|
1610
1865
|
{
|
|
1611
1866
|
className: cx("pire-progress", className),
|
|
1612
1867
|
"data-status": status,
|
|
@@ -1616,20 +1871,20 @@ function ProgressBar({
|
|
|
1616
1871
|
maxValue,
|
|
1617
1872
|
isIndeterminate,
|
|
1618
1873
|
style,
|
|
1619
|
-
children: ({ percentage, valueText }) => /* @__PURE__ */ (0,
|
|
1620
|
-
label || showValue ? /* @__PURE__ */ (0,
|
|
1621
|
-
label ? /* @__PURE__ */ (0,
|
|
1622
|
-
showValue && !isIndeterminate ? /* @__PURE__ */ (0,
|
|
1874
|
+
children: ({ percentage, valueText }) => /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_jsx_runtime37.Fragment, { children: [
|
|
1875
|
+
label || showValue ? /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "pire-progress-head", children: [
|
|
1876
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_react_aria_components25.Label, { children: label }) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", {}),
|
|
1877
|
+
showValue && !isIndeterminate ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "pire-numeric", children: valueText }) : null
|
|
1623
1878
|
] }) : null,
|
|
1624
|
-
/* @__PURE__ */ (0,
|
|
1879
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "pire-progress-track", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "pire-progress-fill", style: { width: `${isIndeterminate ? 40 : percentage}%` } }) })
|
|
1625
1880
|
] })
|
|
1626
1881
|
}
|
|
1627
1882
|
);
|
|
1628
1883
|
}
|
|
1629
1884
|
|
|
1630
1885
|
// src/components/feedback/Toast.tsx
|
|
1631
|
-
var
|
|
1632
|
-
var
|
|
1886
|
+
var React11 = __toESM(require("react"), 1);
|
|
1887
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
1633
1888
|
var KIND_ICON2 = {
|
|
1634
1889
|
info: "info",
|
|
1635
1890
|
success: "check-circle-2",
|
|
@@ -1637,7 +1892,8 @@ var KIND_ICON2 = {
|
|
|
1637
1892
|
error: "alert-octagon"
|
|
1638
1893
|
};
|
|
1639
1894
|
function Toast({ kind = "success", onClose, position = "bottom-center", children, className, ...rest }) {
|
|
1640
|
-
|
|
1895
|
+
const msg = usePireMessages();
|
|
1896
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
|
|
1641
1897
|
"div",
|
|
1642
1898
|
{
|
|
1643
1899
|
className: cx("pire-toast", className),
|
|
@@ -1646,40 +1902,41 @@ function Toast({ kind = "success", onClose, position = "bottom-center", children
|
|
|
1646
1902
|
"aria-live": kind === "error" ? "assertive" : "polite",
|
|
1647
1903
|
...rest,
|
|
1648
1904
|
children: [
|
|
1649
|
-
/* @__PURE__ */ (0,
|
|
1650
|
-
/* @__PURE__ */ (0,
|
|
1651
|
-
onClose ? /* @__PURE__ */ (0,
|
|
1905
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Icon, { name: KIND_ICON2[kind], size: 16 }),
|
|
1906
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { style: { flex: 1 }, children }),
|
|
1907
|
+
onClose ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(IconButton, { icon: "x", label: msg.toastDismiss, size: "sm", variant: "inverse", onPress: onClose }) : null
|
|
1652
1908
|
]
|
|
1653
1909
|
}
|
|
1654
1910
|
);
|
|
1655
1911
|
}
|
|
1656
|
-
var ToastContext =
|
|
1912
|
+
var ToastContext = React11.createContext(null);
|
|
1657
1913
|
function ToastProvider({ children, timeout = 6e3 }) {
|
|
1658
|
-
const
|
|
1659
|
-
const
|
|
1660
|
-
const
|
|
1914
|
+
const msg = usePireMessages();
|
|
1915
|
+
const [toasts, setToasts] = React11.useState([]);
|
|
1916
|
+
const close = React11.useCallback((id) => setToasts((t) => t.filter((x) => x.id !== id)), []);
|
|
1917
|
+
const add = React11.useCallback((toast) => {
|
|
1661
1918
|
const id = Math.random().toString(36).slice(2);
|
|
1662
1919
|
setToasts((t) => [...t, { ...toast, id }]);
|
|
1663
1920
|
const ms = toast.timeout ?? timeout;
|
|
1664
1921
|
if (ms > 0) setTimeout(() => close(id), ms);
|
|
1665
1922
|
return id;
|
|
1666
1923
|
}, [close, timeout]);
|
|
1667
|
-
const value =
|
|
1668
|
-
return /* @__PURE__ */ (0,
|
|
1924
|
+
const value = React11.useMemo(() => ({ add, close }), [add, close]);
|
|
1925
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(ToastContext.Provider, { value, children: [
|
|
1669
1926
|
children,
|
|
1670
|
-
/* @__PURE__ */ (0,
|
|
1927
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "pire-toast-region", role: "region", "aria-label": msg.toastRegionLabel, children: toasts.map((t) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Toast, { kind: t.kind, onClose: () => close(t.id), style: { position: "static", transform: "none" }, children: t.message }, t.id)) })
|
|
1671
1928
|
] });
|
|
1672
1929
|
}
|
|
1673
1930
|
function useToast() {
|
|
1674
|
-
const ctx =
|
|
1931
|
+
const ctx = React11.useContext(ToastContext);
|
|
1675
1932
|
if (!ctx) throw new Error("useToast must be used inside <ToastProvider>");
|
|
1676
1933
|
return ctx;
|
|
1677
1934
|
}
|
|
1678
1935
|
|
|
1679
1936
|
// src/components/feedback/Skeleton.tsx
|
|
1680
|
-
var
|
|
1937
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
1681
1938
|
function Skeleton({ shape = "text", width, height, className, style, ...rest }) {
|
|
1682
|
-
return /* @__PURE__ */ (0,
|
|
1939
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
1683
1940
|
"div",
|
|
1684
1941
|
{
|
|
1685
1942
|
className: cx("pire-skeleton", className),
|
|
@@ -1693,7 +1950,7 @@ function Skeleton({ shape = "text", width, height, className, style, ...rest })
|
|
|
1693
1950
|
var BAR_WIDTHS = ["72%", "54%", "86%", "63%"];
|
|
1694
1951
|
function SkeletonTableRow({ columns, density = "regular", className, style, ...rest }) {
|
|
1695
1952
|
const cells = typeof columns === "number" ? Array.from({ length: columns }, () => ({})) : columns;
|
|
1696
|
-
return /* @__PURE__ */ (0,
|
|
1953
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
1697
1954
|
"div",
|
|
1698
1955
|
{
|
|
1699
1956
|
className: cx("pire-skeleton-row", className),
|
|
@@ -1705,13 +1962,13 @@ function SkeletonTableRow({ columns, density = "regular", className, style, ...r
|
|
|
1705
1962
|
const align = c.numeric ? "right" : c.align ?? "left";
|
|
1706
1963
|
return (
|
|
1707
1964
|
// biome-ignore lint/suspicious/noArrayIndexKey: columns are positional and never reordered.
|
|
1708
|
-
/* @__PURE__ */ (0,
|
|
1965
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
1709
1966
|
"div",
|
|
1710
1967
|
{
|
|
1711
1968
|
className: "pire-skeleton-cell",
|
|
1712
1969
|
"data-align": align,
|
|
1713
1970
|
style: { width: c.width, flex: c.width ? "0 0 auto" : void 0 },
|
|
1714
|
-
children: /* @__PURE__ */ (0,
|
|
1971
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Skeleton, { width: BAR_WIDTHS[i % BAR_WIDTHS.length] })
|
|
1715
1972
|
},
|
|
1716
1973
|
i
|
|
1717
1974
|
)
|
|
@@ -1722,8 +1979,8 @@ function SkeletonTableRow({ columns, density = "regular", className, style, ...r
|
|
|
1722
1979
|
}
|
|
1723
1980
|
|
|
1724
1981
|
// src/components/data/KpiTile.tsx
|
|
1725
|
-
var
|
|
1726
|
-
var
|
|
1982
|
+
var import_react_aria_components26 = require("react-aria-components");
|
|
1983
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
1727
1984
|
function KpiTile({
|
|
1728
1985
|
label,
|
|
1729
1986
|
value,
|
|
@@ -1739,50 +1996,50 @@ function KpiTile({
|
|
|
1739
1996
|
style
|
|
1740
1997
|
}) {
|
|
1741
1998
|
const tone = deltaTone ?? (deltaDirection === "down" ? "negative" : "positive");
|
|
1742
|
-
const body = /* @__PURE__ */ (0,
|
|
1743
|
-
/* @__PURE__ */ (0,
|
|
1744
|
-
icon ? /* @__PURE__ */ (0,
|
|
1999
|
+
const body = /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_jsx_runtime40.Fragment, { children: [
|
|
2000
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("span", { className: "pire-kpi-label", children: [
|
|
2001
|
+
icon ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Icon, { name: icon, size: 16 }) : null,
|
|
1745
2002
|
label
|
|
1746
2003
|
] }),
|
|
1747
|
-
/* @__PURE__ */ (0,
|
|
2004
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("span", { className: "pire-kpi-value", children: [
|
|
1748
2005
|
value,
|
|
1749
|
-
unit ? /* @__PURE__ */ (0,
|
|
2006
|
+
unit ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "pire-kpi-unit", children: unit }) : null
|
|
1750
2007
|
] }),
|
|
1751
|
-
delta ? /* @__PURE__ */ (0,
|
|
1752
|
-
deltaDirection ? /* @__PURE__ */ (0,
|
|
2008
|
+
delta ? /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("span", { className: "pire-kpi-delta", "data-tone": tone, children: [
|
|
2009
|
+
deltaDirection ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Icon, { name: deltaDirection === "up" ? "trending-up" : "trending-down", size: 12 }) : null,
|
|
1753
2010
|
delta
|
|
1754
2011
|
] }) : null,
|
|
1755
|
-
footnote ? /* @__PURE__ */ (0,
|
|
2012
|
+
footnote ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "pire-kpi-foot", children: footnote }) : null
|
|
1756
2013
|
] });
|
|
1757
2014
|
const props = { className: cx("pire-kpi", className), "data-status": status, style };
|
|
1758
|
-
return onPress ? /* @__PURE__ */ (0,
|
|
2015
|
+
return onPress ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_react_aria_components26.Button, { ...props, "data-pressable": "true", onPress, children: body }) : /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { ...props, children: body });
|
|
1759
2016
|
}
|
|
1760
2017
|
|
|
1761
2018
|
// src/components/data/ObjectHeader.tsx
|
|
1762
|
-
var
|
|
2019
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
1763
2020
|
function ObjectHeader({ title, subtitle, id, breadcrumb, badge, facts, actions, className, ...rest }) {
|
|
1764
|
-
return /* @__PURE__ */ (0,
|
|
2021
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("header", { className: cx("pire-objheader", className), ...rest, children: [
|
|
1765
2022
|
breadcrumb,
|
|
1766
|
-
/* @__PURE__ */ (0,
|
|
1767
|
-
/* @__PURE__ */ (0,
|
|
1768
|
-
/* @__PURE__ */ (0,
|
|
1769
|
-
subtitle || id ? /* @__PURE__ */ (0,
|
|
2023
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "pire-objheader-row", children: [
|
|
2024
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { style: { minWidth: 0 }, children: [
|
|
2025
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("h1", { className: "pire-objheader-title", children: title }),
|
|
2026
|
+
subtitle || id ? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "pire-objheader-sub", children: [
|
|
1770
2027
|
subtitle,
|
|
1771
|
-
id ? /* @__PURE__ */ (0,
|
|
2028
|
+
id ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "pire-objheader-id", children: id }) : null
|
|
1772
2029
|
] }) : null
|
|
1773
2030
|
] }),
|
|
1774
2031
|
badge,
|
|
1775
|
-
actions ? /* @__PURE__ */ (0,
|
|
2032
|
+
actions ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "pire-objheader-actions", children: actions }) : null
|
|
1776
2033
|
] }),
|
|
1777
|
-
facts?.length ? /* @__PURE__ */ (0,
|
|
1778
|
-
/* @__PURE__ */ (0,
|
|
1779
|
-
/* @__PURE__ */ (0,
|
|
2034
|
+
facts?.length ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("dl", { className: "pire-facts", style: { margin: 0 }, children: facts.map((fact) => /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { children: [
|
|
2035
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("dt", { className: "pire-fact-label", children: fact.label }),
|
|
2036
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("dd", { className: "pire-fact-value", "data-numeric": fact.numeric ? "true" : void 0, style: { margin: 0 }, children: fact.value })
|
|
1780
2037
|
] }, fact.label)) }) : null
|
|
1781
2038
|
] });
|
|
1782
2039
|
}
|
|
1783
2040
|
|
|
1784
2041
|
// src/components/data/FilterBar.tsx
|
|
1785
|
-
var
|
|
2042
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
1786
2043
|
function FilterBar({
|
|
1787
2044
|
children,
|
|
1788
2045
|
activeFilters = [],
|
|
@@ -1791,118 +2048,123 @@ function FilterBar({
|
|
|
1791
2048
|
onGo,
|
|
1792
2049
|
resultLabel,
|
|
1793
2050
|
actions,
|
|
2051
|
+
goLabel,
|
|
2052
|
+
clearAllLabel,
|
|
1794
2053
|
className,
|
|
1795
2054
|
...rest
|
|
1796
2055
|
}) {
|
|
1797
|
-
|
|
1798
|
-
|
|
2056
|
+
const label = useMessage("filterBarLabel", rest["aria-label"]);
|
|
2057
|
+
const go = useMessage("filterBarGo", goLabel);
|
|
2058
|
+
const clearAll = useMessage("filterBarClearAll", clearAllLabel);
|
|
2059
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("section", { className: cx("pire-filterbar", className), ...rest, "aria-label": label, children: [
|
|
2060
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "pire-filterbar-controls", children: [
|
|
1799
2061
|
children,
|
|
1800
|
-
onGo ? /* @__PURE__ */ (0,
|
|
2062
|
+
onGo ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Button, { variant: "primary", onPress: onGo, children: go }) : null
|
|
1801
2063
|
] }),
|
|
1802
|
-
activeFilters.length || resultLabel || actions ? /* @__PURE__ */ (0,
|
|
1803
|
-
activeFilters.map((filter) => /* @__PURE__ */ (0,
|
|
1804
|
-
activeFilters.length && onClear ? /* @__PURE__ */ (0,
|
|
1805
|
-
resultLabel ? /* @__PURE__ */ (0,
|
|
1806
|
-
actions ? /* @__PURE__ */ (0,
|
|
2064
|
+
activeFilters.length || resultLabel || actions ? /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "pire-filterbar-foot", children: [
|
|
2065
|
+
activeFilters.map((filter) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Tag, { onRemove: onRemoveFilter ? () => onRemoveFilter(filter.id) : void 0, children: filter.label }, filter.id)),
|
|
2066
|
+
activeFilters.length && onClear ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Button, { variant: "tertiary", size: "sm", onPress: onClear, children: clearAll }) : null,
|
|
2067
|
+
resultLabel ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "pire-filterbar-result", "aria-live": "polite", children: resultLabel }) : null,
|
|
2068
|
+
actions ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "pire-filterbar-actions", children: actions }) : null
|
|
1807
2069
|
] }) : null
|
|
1808
2070
|
] });
|
|
1809
2071
|
}
|
|
1810
2072
|
|
|
1811
2073
|
// src/components/data/DescriptionList.tsx
|
|
1812
|
-
var
|
|
2074
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
1813
2075
|
function DescriptionList({ items, layout = "rows", columns = 3, className, style, ...rest }) {
|
|
1814
|
-
return /* @__PURE__ */ (0,
|
|
2076
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
1815
2077
|
"dl",
|
|
1816
2078
|
{
|
|
1817
2079
|
className: cx("pire-dl", className),
|
|
1818
2080
|
"data-layout": layout,
|
|
1819
2081
|
style: { ...layout === "grid" ? { "--pire-dl-cols": columns } : null, ...style },
|
|
1820
2082
|
...rest,
|
|
1821
|
-
children: items.map((item, i) => /* @__PURE__ */ (0,
|
|
1822
|
-
/* @__PURE__ */ (0,
|
|
2083
|
+
children: items.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "pire-dl-row", "data-emphasis": item.emphasis ? "true" : void 0, children: [
|
|
2084
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("dt", { className: "pire-dl-term", children: [
|
|
1823
2085
|
item.label,
|
|
1824
2086
|
item.hint
|
|
1825
2087
|
] }),
|
|
1826
|
-
/* @__PURE__ */ (0,
|
|
2088
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("dd", { className: "pire-dl-value", "data-numeric": item.numeric ? "true" : void 0, children: item.value })
|
|
1827
2089
|
] }, i))
|
|
1828
2090
|
}
|
|
1829
2091
|
);
|
|
1830
2092
|
}
|
|
1831
2093
|
|
|
1832
2094
|
// src/components/data/Timeline.tsx
|
|
1833
|
-
var
|
|
2095
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
1834
2096
|
function Timeline({ entries, reverse = false, className, ...rest }) {
|
|
1835
2097
|
const list = reverse ? [...entries].reverse() : entries;
|
|
1836
|
-
return /* @__PURE__ */ (0,
|
|
1837
|
-
/* @__PURE__ */ (0,
|
|
1838
|
-
/* @__PURE__ */ (0,
|
|
1839
|
-
entry.actor ? /* @__PURE__ */ (0,
|
|
2098
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("ol", { className: cx("pire-timeline", className), ...rest, children: list.map((entry, i) => /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("li", { className: "pire-timeline-item", children: [
|
|
2099
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: "pire-timeline-time", children: entry.time }),
|
|
2100
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: "pire-timeline-text", children: entry.event }),
|
|
2101
|
+
entry.actor ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: "pire-timeline-actor", children: entry.actor }) : null
|
|
1840
2102
|
] }, entry.id ?? i)) });
|
|
1841
2103
|
}
|
|
1842
2104
|
|
|
1843
2105
|
// src/components/data/LinkList.tsx
|
|
1844
|
-
var
|
|
1845
|
-
var
|
|
2106
|
+
var import_react_aria_components27 = require("react-aria-components");
|
|
2107
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
1846
2108
|
function LinkList({ items, onSelect, className, ...rest }) {
|
|
1847
|
-
return /* @__PURE__ */ (0,
|
|
1848
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
1849
|
-
item.key ? /* @__PURE__ */ (0,
|
|
1850
|
-
item.text ? /* @__PURE__ */ (0,
|
|
2109
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: cx("pire-linklist", className), role: "list", ...rest, children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_react_aria_components27.Button, { className: "pire-linklist-item", onPress: () => onSelect?.(item.id), children: [
|
|
2110
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Icon, { name: item.icon, size: 16, style: { color: "var(--text-secondary)" } }) : null,
|
|
2111
|
+
item.key ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "pire-linklist-key", children: item.key }) : null,
|
|
2112
|
+
item.text ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "pire-linklist-text", children: item.text }) : null,
|
|
1851
2113
|
item.trailing
|
|
1852
2114
|
] }, item.id)) });
|
|
1853
2115
|
}
|
|
1854
2116
|
|
|
1855
2117
|
// src/components/layout/PageHeader.tsx
|
|
1856
|
-
var
|
|
2118
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
1857
2119
|
function PageHeader({ title, subtitle, actions, className, ...rest }) {
|
|
1858
|
-
return /* @__PURE__ */ (0,
|
|
1859
|
-
/* @__PURE__ */ (0,
|
|
1860
|
-
/* @__PURE__ */ (0,
|
|
1861
|
-
subtitle ? /* @__PURE__ */ (0,
|
|
2120
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("header", { className: cx("pire-pageheader", className), ...rest, children: [
|
|
2121
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { style: { minWidth: 0 }, children: [
|
|
2122
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("h1", { className: "pire-pageheader-title", children: title }),
|
|
2123
|
+
subtitle ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("p", { className: "pire-pageheader-sub", children: subtitle }) : null
|
|
1862
2124
|
] }),
|
|
1863
|
-
actions ? /* @__PURE__ */ (0,
|
|
2125
|
+
actions ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "pire-pageheader-actions", children: actions }) : null
|
|
1864
2126
|
] });
|
|
1865
2127
|
}
|
|
1866
2128
|
|
|
1867
2129
|
// src/components/layout/SectionHeader.tsx
|
|
1868
|
-
var
|
|
2130
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
1869
2131
|
function SectionHeader({ title, meta, actions, className, ...rest }) {
|
|
1870
|
-
return /* @__PURE__ */ (0,
|
|
1871
|
-
/* @__PURE__ */ (0,
|
|
1872
|
-
meta ? /* @__PURE__ */ (0,
|
|
1873
|
-
actions ? /* @__PURE__ */ (0,
|
|
2132
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: cx("pire-sectionhead", className), ...rest, children: [
|
|
2133
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "pire-eyebrow", children: title }),
|
|
2134
|
+
meta ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { style: { font: "var(--type-caption)", color: "var(--text-tertiary)" }, children: meta }) : null,
|
|
2135
|
+
actions ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "pire-sectionhead-actions", children: actions }) : null
|
|
1874
2136
|
] });
|
|
1875
2137
|
}
|
|
1876
2138
|
|
|
1877
2139
|
// src/components/layout/SelectionBar.tsx
|
|
1878
|
-
var
|
|
2140
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
1879
2141
|
function SelectionBar({ count, noun = "record", children, actions, className, ...rest }) {
|
|
1880
2142
|
if (!count) return null;
|
|
1881
|
-
return /* @__PURE__ */ (0,
|
|
1882
|
-
/* @__PURE__ */ (0,
|
|
2143
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: cx("pire-selectionbar", className), role: "status", "aria-live": "polite", ...rest, children: [
|
|
2144
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("span", { className: "pire-selectionbar-count", children: [
|
|
1883
2145
|
count.toLocaleString(),
|
|
1884
2146
|
" ",
|
|
1885
2147
|
noun,
|
|
1886
2148
|
count === 1 ? "" : "s",
|
|
1887
2149
|
" selected"
|
|
1888
2150
|
] }),
|
|
1889
|
-
children ? /* @__PURE__ */ (0,
|
|
1890
|
-
actions ? /* @__PURE__ */ (0,
|
|
2151
|
+
children ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { style: { color: "var(--text-secondary)", font: "var(--type-caption)" }, children }) : null,
|
|
2152
|
+
actions ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "pire-selectionbar-actions", children: actions }) : null
|
|
1891
2153
|
] });
|
|
1892
2154
|
}
|
|
1893
2155
|
|
|
1894
2156
|
// src/components/layout/FooterBar.tsx
|
|
1895
|
-
var
|
|
2157
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
1896
2158
|
function FooterBar({ note, actions, children, className, ...rest }) {
|
|
1897
|
-
return /* @__PURE__ */ (0,
|
|
1898
|
-
note ? /* @__PURE__ */ (0,
|
|
2159
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("footer", { className: cx("pire-footerbar", className), ...rest, children: [
|
|
2160
|
+
note ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "pire-footerbar-note", children: note }) : null,
|
|
1899
2161
|
children,
|
|
1900
|
-
actions ? /* @__PURE__ */ (0,
|
|
2162
|
+
actions ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "pire-footerbar-actions", children: actions }) : null
|
|
1901
2163
|
] });
|
|
1902
2164
|
}
|
|
1903
2165
|
|
|
1904
2166
|
// src/components/patterns/ConfirmDialog.tsx
|
|
1905
|
-
var
|
|
2167
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
1906
2168
|
function ConfirmDialog({
|
|
1907
2169
|
isOpen,
|
|
1908
2170
|
title,
|
|
@@ -1916,7 +2178,7 @@ function ConfirmDialog({
|
|
|
1916
2178
|
onConfirm,
|
|
1917
2179
|
onCancel
|
|
1918
2180
|
}) {
|
|
1919
|
-
return /* @__PURE__ */ (0,
|
|
2181
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
|
|
1920
2182
|
Dialog,
|
|
1921
2183
|
{
|
|
1922
2184
|
isOpen,
|
|
@@ -1926,12 +2188,12 @@ function ConfirmDialog({
|
|
|
1926
2188
|
onClose: onCancel,
|
|
1927
2189
|
isDismissable: !isBusy,
|
|
1928
2190
|
showClose: false,
|
|
1929
|
-
footer: /* @__PURE__ */ (0,
|
|
1930
|
-
/* @__PURE__ */ (0,
|
|
1931
|
-
/* @__PURE__ */ (0,
|
|
2191
|
+
footer: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_jsx_runtime50.Fragment, { children: [
|
|
2192
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Button, { variant: "tertiary", isDisabled: isBusy, onPress: onCancel, children: cancelLabel }),
|
|
2193
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Button, { variant: tone === "danger" ? "danger" : "primary", isDisabled: isBusy, onPress: onConfirm, children: isBusy ? "Working\u2026" : confirmLabel })
|
|
1932
2194
|
] }),
|
|
1933
2195
|
children: [
|
|
1934
|
-
consequence ? /* @__PURE__ */ (0,
|
|
2196
|
+
consequence ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(InlineMessage, { kind: tone === "danger" ? "error" : "warning", style: { marginBottom: children ? "var(--sp-3)" : 0 }, children: consequence }) : null,
|
|
1935
2197
|
children
|
|
1936
2198
|
]
|
|
1937
2199
|
}
|
|
@@ -1939,11 +2201,12 @@ function ConfirmDialog({
|
|
|
1939
2201
|
}
|
|
1940
2202
|
|
|
1941
2203
|
// src/components/patterns/SidePanel.tsx
|
|
1942
|
-
var
|
|
1943
|
-
var
|
|
2204
|
+
var import_react_aria_components28 = require("react-aria-components");
|
|
2205
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
1944
2206
|
function SidePanel({ isOpen, title, subtitle, width = 400, children, footer, onClose, className }) {
|
|
1945
|
-
|
|
1946
|
-
|
|
2207
|
+
const msg = usePireMessages();
|
|
2208
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
2209
|
+
import_react_aria_components28.ModalOverlay,
|
|
1947
2210
|
{
|
|
1948
2211
|
className: "pire-sidepanel-overlay",
|
|
1949
2212
|
isOpen,
|
|
@@ -1951,34 +2214,34 @@ function SidePanel({ isOpen, title, subtitle, width = 400, children, footer, onC
|
|
|
1951
2214
|
onOpenChange: (o) => {
|
|
1952
2215
|
if (!o) onClose?.();
|
|
1953
2216
|
},
|
|
1954
|
-
children: /* @__PURE__ */ (0,
|
|
1955
|
-
/* @__PURE__ */ (0,
|
|
1956
|
-
/* @__PURE__ */ (0,
|
|
1957
|
-
/* @__PURE__ */ (0,
|
|
1958
|
-
subtitle ? /* @__PURE__ */ (0,
|
|
2217
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_aria_components28.Modal, { className: cx("pire-sidepanel", className), style: { width }, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_react_aria_components28.Dialog, { className: "pire-dialog", style: { height: "100%" }, children: [
|
|
2218
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("header", { className: "pire-dialog-head", children: [
|
|
2219
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
2220
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_aria_components28.Heading, { slot: "title", className: "pire-dialog-title", children: title }),
|
|
2221
|
+
subtitle ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("p", { className: "pire-dialog-sub", style: { margin: 0 }, children: subtitle }) : null
|
|
1959
2222
|
] }),
|
|
1960
|
-
/* @__PURE__ */ (0,
|
|
2223
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(IconButton, { icon: "x", label: msg.sidePanelClose, size: "sm", onPress: onClose })
|
|
1961
2224
|
] }),
|
|
1962
|
-
/* @__PURE__ */ (0,
|
|
1963
|
-
footer ? /* @__PURE__ */ (0,
|
|
2225
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "pire-dialog-body", style: { flex: 1 }, children }),
|
|
2226
|
+
footer ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("footer", { className: "pire-dialog-foot", children: footer }) : null
|
|
1964
2227
|
] }) })
|
|
1965
2228
|
}
|
|
1966
2229
|
);
|
|
1967
2230
|
}
|
|
1968
2231
|
|
|
1969
2232
|
// src/components/patterns/EmptyState.tsx
|
|
1970
|
-
var
|
|
2233
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
1971
2234
|
function EmptyState({ icon = "file-text", title, action, compact, children, className, ...rest }) {
|
|
1972
|
-
return /* @__PURE__ */ (0,
|
|
1973
|
-
/* @__PURE__ */ (0,
|
|
1974
|
-
title ? /* @__PURE__ */ (0,
|
|
1975
|
-
children ? /* @__PURE__ */ (0,
|
|
2235
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: cx("pire-empty", className), "data-compact": compact ? "true" : void 0, ...rest, children: [
|
|
2236
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Icon, { name: icon, size: 24, className: "pire-empty-icon" }),
|
|
2237
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("p", { className: "pire-empty-title", style: { margin: 0 }, children: title }) : null,
|
|
2238
|
+
children ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("p", { className: "pire-empty-body", style: { margin: 0 }, children }) : null,
|
|
1976
2239
|
action
|
|
1977
2240
|
] });
|
|
1978
2241
|
}
|
|
1979
2242
|
|
|
1980
2243
|
// src/index.ts
|
|
1981
|
-
var
|
|
2244
|
+
var import_react_aria_components29 = require("react-aria-components");
|
|
1982
2245
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1983
2246
|
0 && (module.exports = {
|
|
1984
2247
|
Avatar,
|
|
@@ -1998,25 +2261,31 @@ var import_react_aria_components25 = require("react-aria-components");
|
|
|
1998
2261
|
FilterBar,
|
|
1999
2262
|
FooterBar,
|
|
2000
2263
|
FormField,
|
|
2264
|
+
Heading,
|
|
2001
2265
|
I18nProvider,
|
|
2002
2266
|
Icon,
|
|
2003
2267
|
IconButton,
|
|
2004
2268
|
InlineMessage,
|
|
2005
2269
|
Input,
|
|
2006
2270
|
KpiTile,
|
|
2271
|
+
Link,
|
|
2007
2272
|
LinkList,
|
|
2008
2273
|
Menu,
|
|
2009
2274
|
MenuItem,
|
|
2275
|
+
MenuSection,
|
|
2276
|
+
MenuSeparator,
|
|
2010
2277
|
MenuTrigger,
|
|
2011
2278
|
MultiComboBox,
|
|
2012
2279
|
NumberField,
|
|
2013
2280
|
ObjectHeader,
|
|
2014
2281
|
PageHeader,
|
|
2015
2282
|
Pagination,
|
|
2283
|
+
PireIntlProvider,
|
|
2016
2284
|
Popover,
|
|
2017
2285
|
ProgressBar,
|
|
2018
2286
|
Radio,
|
|
2019
2287
|
RadioGroup,
|
|
2288
|
+
RouterProvider,
|
|
2020
2289
|
SectionHeader,
|
|
2021
2290
|
SegmentedControl,
|
|
2022
2291
|
Select,
|
|
@@ -2027,9 +2296,12 @@ var import_react_aria_components25 = require("react-aria-components");
|
|
|
2027
2296
|
SidePanel,
|
|
2028
2297
|
Skeleton,
|
|
2029
2298
|
SkeletonTableRow,
|
|
2299
|
+
Strong,
|
|
2300
|
+
SubmenuTrigger,
|
|
2030
2301
|
Switch,
|
|
2031
2302
|
Tabs,
|
|
2032
2303
|
Tag,
|
|
2304
|
+
Text,
|
|
2033
2305
|
TextArea,
|
|
2034
2306
|
Timeline,
|
|
2035
2307
|
Toast,
|
|
@@ -2038,6 +2310,9 @@ var import_react_aria_components25 = require("react-aria-components");
|
|
|
2038
2310
|
ValueHelpDialog,
|
|
2039
2311
|
ValueHelpField,
|
|
2040
2312
|
configureIcons,
|
|
2313
|
+
enMessages,
|
|
2314
|
+
esMessages,
|
|
2315
|
+
usePireMessages,
|
|
2041
2316
|
useToast
|
|
2042
2317
|
});
|
|
2043
2318
|
//# sourceMappingURL=index.cjs.map
|