@orianatech/pire 0.5.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/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/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 +673 -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 +627 -359
- package/dist/index.js.map +1 -1
- package/dist/tokens/typography.css +5 -0
- package/package.json +1 -1
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,8 +1572,8 @@ 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,
|
|
@@ -1370,55 +1582,55 @@ function SideNav({
|
|
|
1370
1582
|
"aria-label": collapsed ? item.label : void 0,
|
|
1371
1583
|
onPress,
|
|
1372
1584
|
children: [
|
|
1373
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
1374
|
-
collapsed ? null : /* @__PURE__ */ (0,
|
|
1375
|
-
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
|
|
1376
1588
|
]
|
|
1377
1589
|
},
|
|
1378
1590
|
item.id
|
|
1379
1591
|
);
|
|
1380
|
-
return collapsed ? /* @__PURE__ */ (0,
|
|
1592
|
+
return collapsed ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Tooltip, { label: item.label, placement: "right", children: button }, item.id) : button;
|
|
1381
1593
|
};
|
|
1382
|
-
const renderSection = (item) => /* @__PURE__ */ (0,
|
|
1383
|
-
/* @__PURE__ */ (0,
|
|
1384
|
-
|
|
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,
|
|
1385
1597
|
{
|
|
1386
1598
|
slot: "trigger",
|
|
1387
1599
|
className: "pire-sidenav-item",
|
|
1388
1600
|
"data-kind": "group",
|
|
1389
1601
|
"data-active-child": item.id === activeParent ? "true" : void 0,
|
|
1390
1602
|
children: [
|
|
1391
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
1392
|
-
/* @__PURE__ */ (0,
|
|
1393
|
-
item.count != null ? /* @__PURE__ */ (0,
|
|
1394
|
-
/* @__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" })
|
|
1395
1607
|
]
|
|
1396
1608
|
}
|
|
1397
1609
|
),
|
|
1398
|
-
/* @__PURE__ */ (0,
|
|
1610
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_react_aria_components21.DisclosurePanel, { className: "pire-sidenav-subnav", children: item.items?.map((child) => {
|
|
1399
1611
|
const selected = child.id === value;
|
|
1400
|
-
return /* @__PURE__ */ (0,
|
|
1401
|
-
|
|
1612
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
1613
|
+
import_react_aria_components21.Button,
|
|
1402
1614
|
{
|
|
1403
1615
|
className: "pire-sidenav-item pire-sidenav-subitem",
|
|
1404
1616
|
"data-selected": selected ? "true" : void 0,
|
|
1405
1617
|
"aria-current": selected ? "page" : void 0,
|
|
1406
1618
|
onPress: () => onChange?.(child.id),
|
|
1407
1619
|
children: [
|
|
1408
|
-
/* @__PURE__ */ (0,
|
|
1409
|
-
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
|
|
1410
1622
|
]
|
|
1411
1623
|
},
|
|
1412
1624
|
child.id
|
|
1413
1625
|
);
|
|
1414
1626
|
}) })
|
|
1415
1627
|
] }, item.id);
|
|
1416
|
-
return /* @__PURE__ */ (0,
|
|
1628
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
1417
1629
|
"nav",
|
|
1418
1630
|
{
|
|
1419
1631
|
className: cx("pire-sidenav", className),
|
|
1420
1632
|
"data-collapsed": collapsed ? "true" : void 0,
|
|
1421
|
-
"aria-label":
|
|
1633
|
+
"aria-label": msg.sideNavLabel,
|
|
1422
1634
|
...rest,
|
|
1423
1635
|
children: [
|
|
1424
1636
|
groups.map((group, gi) => {
|
|
@@ -1428,10 +1640,10 @@ function SideNav({
|
|
|
1428
1640
|
if (isGroup && !collapsed) return renderSection(item);
|
|
1429
1641
|
return renderRow(item, () => isGroup ? toggleExpanded(item.id) : onChange?.(item.id), isGroup);
|
|
1430
1642
|
});
|
|
1431
|
-
return /* @__PURE__ */ (0,
|
|
1432
|
-
group.label && !collapsed ? /* @__PURE__ */ (0,
|
|
1433
|
-
hasSections ? /* @__PURE__ */ (0,
|
|
1434
|
-
|
|
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,
|
|
1435
1647
|
{
|
|
1436
1648
|
className: "pire-sidenav-tree",
|
|
1437
1649
|
allowsMultipleExpanded: true,
|
|
@@ -1442,18 +1654,18 @@ function SideNav({
|
|
|
1442
1654
|
) : rows
|
|
1443
1655
|
] }, group.label ?? gi);
|
|
1444
1656
|
}),
|
|
1445
|
-
footer ? /* @__PURE__ */ (0,
|
|
1657
|
+
footer ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "pire-sidenav-footer", children: footer }) : null
|
|
1446
1658
|
]
|
|
1447
1659
|
}
|
|
1448
1660
|
);
|
|
1449
1661
|
}
|
|
1450
1662
|
|
|
1451
1663
|
// src/components/navigation/Tabs.tsx
|
|
1452
|
-
var
|
|
1453
|
-
var
|
|
1664
|
+
var import_react_aria_components22 = require("react-aria-components");
|
|
1665
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
1454
1666
|
function Tabs({ items, value, defaultValue, onChange, panels, className, style, ...rest }) {
|
|
1455
|
-
return /* @__PURE__ */ (0,
|
|
1456
|
-
|
|
1667
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
1668
|
+
import_react_aria_components22.Tabs,
|
|
1457
1669
|
{
|
|
1458
1670
|
className,
|
|
1459
1671
|
style,
|
|
@@ -1461,23 +1673,23 @@ function Tabs({ items, value, defaultValue, onChange, panels, className, style,
|
|
|
1461
1673
|
defaultSelectedKey: defaultValue,
|
|
1462
1674
|
onSelectionChange: (k) => onChange?.(String(k)),
|
|
1463
1675
|
children: [
|
|
1464
|
-
/* @__PURE__ */ (0,
|
|
1465
|
-
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,
|
|
1466
1678
|
item.label,
|
|
1467
|
-
item.count != null ? /* @__PURE__ */ (0,
|
|
1679
|
+
item.count != null ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "pire-tab-count", children: item.count }) : null
|
|
1468
1680
|
] }) }),
|
|
1469
|
-
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))
|
|
1470
1682
|
]
|
|
1471
1683
|
}
|
|
1472
1684
|
);
|
|
1473
1685
|
}
|
|
1474
1686
|
|
|
1475
1687
|
// src/components/navigation/Breadcrumb.tsx
|
|
1476
|
-
var
|
|
1477
|
-
var
|
|
1688
|
+
var import_react_aria_components23 = require("react-aria-components");
|
|
1689
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
1478
1690
|
function Breadcrumb({ items, onNavigate, className, style }) {
|
|
1479
|
-
return /* @__PURE__ */ (0,
|
|
1480
|
-
|
|
1691
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
1692
|
+
import_react_aria_components23.Breadcrumbs,
|
|
1481
1693
|
{
|
|
1482
1694
|
className: cx("pire-breadcrumbs", className),
|
|
1483
1695
|
style,
|
|
@@ -1485,9 +1697,9 @@ function Breadcrumb({ items, onNavigate, className, style }) {
|
|
|
1485
1697
|
onAction: (key) => onNavigate?.(String(key)),
|
|
1486
1698
|
children: (item) => {
|
|
1487
1699
|
const last = items[items.length - 1] === item;
|
|
1488
|
-
return /* @__PURE__ */ (0,
|
|
1489
|
-
last ? item.label : /* @__PURE__ */ (0,
|
|
1490
|
-
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)" } })
|
|
1491
1703
|
] });
|
|
1492
1704
|
}
|
|
1493
1705
|
}
|
|
@@ -1495,7 +1707,7 @@ function Breadcrumb({ items, onNavigate, className, style }) {
|
|
|
1495
1707
|
}
|
|
1496
1708
|
|
|
1497
1709
|
// src/components/navigation/Pagination.tsx
|
|
1498
|
-
var
|
|
1710
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
1499
1711
|
function Pagination({
|
|
1500
1712
|
page = 1,
|
|
1501
1713
|
pageSize = 25,
|
|
@@ -1506,49 +1718,39 @@ function Pagination({
|
|
|
1506
1718
|
className,
|
|
1507
1719
|
style
|
|
1508
1720
|
}) {
|
|
1721
|
+
const msg = usePireMessages();
|
|
1509
1722
|
const pages = Math.max(1, Math.ceil(total / pageSize));
|
|
1510
1723
|
const from = total === 0 ? 0 : (page - 1) * pageSize + 1;
|
|
1511
1724
|
const to = Math.min(total, page * pageSize);
|
|
1512
|
-
return /* @__PURE__ */ (0,
|
|
1513
|
-
/* @__PURE__ */ (0,
|
|
1514
|
-
|
|
1515
|
-
"\u2013",
|
|
1516
|
-
to.toLocaleString(),
|
|
1517
|
-
" of ",
|
|
1518
|
-
total.toLocaleString()
|
|
1519
|
-
] }),
|
|
1520
|
-
/* @__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)(
|
|
1521
1728
|
IconButton,
|
|
1522
1729
|
{
|
|
1523
1730
|
icon: "chevron-left",
|
|
1524
|
-
label:
|
|
1731
|
+
label: msg.paginationPrevious,
|
|
1525
1732
|
size: "sm",
|
|
1526
1733
|
variant: "outlined",
|
|
1527
1734
|
isDisabled: page <= 1,
|
|
1528
1735
|
onPress: () => onPageChange?.(page - 1)
|
|
1529
1736
|
}
|
|
1530
1737
|
),
|
|
1531
|
-
/* @__PURE__ */ (0,
|
|
1532
|
-
|
|
1533
|
-
page,
|
|
1534
|
-
" of ",
|
|
1535
|
-
pages
|
|
1536
|
-
] }),
|
|
1537
|
-
/* @__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)(
|
|
1538
1740
|
IconButton,
|
|
1539
1741
|
{
|
|
1540
1742
|
icon: "chevron-right",
|
|
1541
|
-
label:
|
|
1743
|
+
label: msg.paginationNext,
|
|
1542
1744
|
size: "sm",
|
|
1543
1745
|
variant: "outlined",
|
|
1544
1746
|
isDisabled: page >= pages,
|
|
1545
1747
|
onPress: () => onPageChange?.(page + 1)
|
|
1546
1748
|
}
|
|
1547
1749
|
),
|
|
1548
|
-
onPageSizeChange ? /* @__PURE__ */ (0,
|
|
1750
|
+
onPageSizeChange ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
1549
1751
|
Select,
|
|
1550
1752
|
{
|
|
1551
|
-
"aria-label":
|
|
1753
|
+
"aria-label": msg.paginationRowsPerPage,
|
|
1552
1754
|
size: "sm",
|
|
1553
1755
|
fullWidth: false,
|
|
1554
1756
|
value: String(pageSize),
|
|
@@ -1560,8 +1762,59 @@ function Pagination({
|
|
|
1560
1762
|
] });
|
|
1561
1763
|
}
|
|
1562
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
|
+
|
|
1563
1816
|
// src/components/feedback/InlineMessage.tsx
|
|
1564
|
-
var
|
|
1817
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
1565
1818
|
var KIND_ICON = {
|
|
1566
1819
|
info: "info",
|
|
1567
1820
|
success: "check-circle-2",
|
|
@@ -1569,8 +1822,9 @@ var KIND_ICON = {
|
|
|
1569
1822
|
error: "alert-octagon"
|
|
1570
1823
|
};
|
|
1571
1824
|
function InlineMessage({ kind = "info", title, action, onClose, children, className, ...rest }) {
|
|
1825
|
+
const msg = usePireMessages();
|
|
1572
1826
|
const assertive = kind === "error" || kind === "warning";
|
|
1573
|
-
return /* @__PURE__ */ (0,
|
|
1827
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
1574
1828
|
"div",
|
|
1575
1829
|
{
|
|
1576
1830
|
className: cx("pire-msg", className),
|
|
@@ -1579,21 +1833,21 @@ function InlineMessage({ kind = "info", title, action, onClose, children, classN
|
|
|
1579
1833
|
"aria-live": assertive ? "assertive" : "polite",
|
|
1580
1834
|
...rest,
|
|
1581
1835
|
children: [
|
|
1582
|
-
/* @__PURE__ */ (0,
|
|
1583
|
-
/* @__PURE__ */ (0,
|
|
1584
|
-
title ? /* @__PURE__ */ (0,
|
|
1585
|
-
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,
|
|
1586
1840
|
action
|
|
1587
1841
|
] }),
|
|
1588
|
-
onClose ? /* @__PURE__ */ (0,
|
|
1842
|
+
onClose ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(IconButton, { icon: "x", label: msg.inlineMessageDismiss, size: "sm", onPress: onClose }) : null
|
|
1589
1843
|
]
|
|
1590
1844
|
}
|
|
1591
1845
|
);
|
|
1592
1846
|
}
|
|
1593
1847
|
|
|
1594
1848
|
// src/components/feedback/ProgressBar.tsx
|
|
1595
|
-
var
|
|
1596
|
-
var
|
|
1849
|
+
var import_react_aria_components25 = require("react-aria-components");
|
|
1850
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
1597
1851
|
function ProgressBar({
|
|
1598
1852
|
value = 0,
|
|
1599
1853
|
minValue = 0,
|
|
@@ -1606,8 +1860,8 @@ function ProgressBar({
|
|
|
1606
1860
|
className,
|
|
1607
1861
|
style
|
|
1608
1862
|
}) {
|
|
1609
|
-
return /* @__PURE__ */ (0,
|
|
1610
|
-
|
|
1863
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
1864
|
+
import_react_aria_components25.ProgressBar,
|
|
1611
1865
|
{
|
|
1612
1866
|
className: cx("pire-progress", className),
|
|
1613
1867
|
"data-status": status,
|
|
@@ -1617,20 +1871,20 @@ function ProgressBar({
|
|
|
1617
1871
|
maxValue,
|
|
1618
1872
|
isIndeterminate,
|
|
1619
1873
|
style,
|
|
1620
|
-
children: ({ percentage, valueText }) => /* @__PURE__ */ (0,
|
|
1621
|
-
label || showValue ? /* @__PURE__ */ (0,
|
|
1622
|
-
label ? /* @__PURE__ */ (0,
|
|
1623
|
-
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
|
|
1624
1878
|
] }) : null,
|
|
1625
|
-
/* @__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}%` } }) })
|
|
1626
1880
|
] })
|
|
1627
1881
|
}
|
|
1628
1882
|
);
|
|
1629
1883
|
}
|
|
1630
1884
|
|
|
1631
1885
|
// src/components/feedback/Toast.tsx
|
|
1632
|
-
var
|
|
1633
|
-
var
|
|
1886
|
+
var React11 = __toESM(require("react"), 1);
|
|
1887
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
1634
1888
|
var KIND_ICON2 = {
|
|
1635
1889
|
info: "info",
|
|
1636
1890
|
success: "check-circle-2",
|
|
@@ -1638,7 +1892,8 @@ var KIND_ICON2 = {
|
|
|
1638
1892
|
error: "alert-octagon"
|
|
1639
1893
|
};
|
|
1640
1894
|
function Toast({ kind = "success", onClose, position = "bottom-center", children, className, ...rest }) {
|
|
1641
|
-
|
|
1895
|
+
const msg = usePireMessages();
|
|
1896
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
|
|
1642
1897
|
"div",
|
|
1643
1898
|
{
|
|
1644
1899
|
className: cx("pire-toast", className),
|
|
@@ -1647,40 +1902,41 @@ function Toast({ kind = "success", onClose, position = "bottom-center", children
|
|
|
1647
1902
|
"aria-live": kind === "error" ? "assertive" : "polite",
|
|
1648
1903
|
...rest,
|
|
1649
1904
|
children: [
|
|
1650
|
-
/* @__PURE__ */ (0,
|
|
1651
|
-
/* @__PURE__ */ (0,
|
|
1652
|
-
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
|
|
1653
1908
|
]
|
|
1654
1909
|
}
|
|
1655
1910
|
);
|
|
1656
1911
|
}
|
|
1657
|
-
var ToastContext =
|
|
1912
|
+
var ToastContext = React11.createContext(null);
|
|
1658
1913
|
function ToastProvider({ children, timeout = 6e3 }) {
|
|
1659
|
-
const
|
|
1660
|
-
const
|
|
1661
|
-
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) => {
|
|
1662
1918
|
const id = Math.random().toString(36).slice(2);
|
|
1663
1919
|
setToasts((t) => [...t, { ...toast, id }]);
|
|
1664
1920
|
const ms = toast.timeout ?? timeout;
|
|
1665
1921
|
if (ms > 0) setTimeout(() => close(id), ms);
|
|
1666
1922
|
return id;
|
|
1667
1923
|
}, [close, timeout]);
|
|
1668
|
-
const value =
|
|
1669
|
-
return /* @__PURE__ */ (0,
|
|
1924
|
+
const value = React11.useMemo(() => ({ add, close }), [add, close]);
|
|
1925
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(ToastContext.Provider, { value, children: [
|
|
1670
1926
|
children,
|
|
1671
|
-
/* @__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)) })
|
|
1672
1928
|
] });
|
|
1673
1929
|
}
|
|
1674
1930
|
function useToast() {
|
|
1675
|
-
const ctx =
|
|
1931
|
+
const ctx = React11.useContext(ToastContext);
|
|
1676
1932
|
if (!ctx) throw new Error("useToast must be used inside <ToastProvider>");
|
|
1677
1933
|
return ctx;
|
|
1678
1934
|
}
|
|
1679
1935
|
|
|
1680
1936
|
// src/components/feedback/Skeleton.tsx
|
|
1681
|
-
var
|
|
1937
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
1682
1938
|
function Skeleton({ shape = "text", width, height, className, style, ...rest }) {
|
|
1683
|
-
return /* @__PURE__ */ (0,
|
|
1939
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
1684
1940
|
"div",
|
|
1685
1941
|
{
|
|
1686
1942
|
className: cx("pire-skeleton", className),
|
|
@@ -1694,7 +1950,7 @@ function Skeleton({ shape = "text", width, height, className, style, ...rest })
|
|
|
1694
1950
|
var BAR_WIDTHS = ["72%", "54%", "86%", "63%"];
|
|
1695
1951
|
function SkeletonTableRow({ columns, density = "regular", className, style, ...rest }) {
|
|
1696
1952
|
const cells = typeof columns === "number" ? Array.from({ length: columns }, () => ({})) : columns;
|
|
1697
|
-
return /* @__PURE__ */ (0,
|
|
1953
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
1698
1954
|
"div",
|
|
1699
1955
|
{
|
|
1700
1956
|
className: cx("pire-skeleton-row", className),
|
|
@@ -1706,13 +1962,13 @@ function SkeletonTableRow({ columns, density = "regular", className, style, ...r
|
|
|
1706
1962
|
const align = c.numeric ? "right" : c.align ?? "left";
|
|
1707
1963
|
return (
|
|
1708
1964
|
// biome-ignore lint/suspicious/noArrayIndexKey: columns are positional and never reordered.
|
|
1709
|
-
/* @__PURE__ */ (0,
|
|
1965
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
1710
1966
|
"div",
|
|
1711
1967
|
{
|
|
1712
1968
|
className: "pire-skeleton-cell",
|
|
1713
1969
|
"data-align": align,
|
|
1714
1970
|
style: { width: c.width, flex: c.width ? "0 0 auto" : void 0 },
|
|
1715
|
-
children: /* @__PURE__ */ (0,
|
|
1971
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Skeleton, { width: BAR_WIDTHS[i % BAR_WIDTHS.length] })
|
|
1716
1972
|
},
|
|
1717
1973
|
i
|
|
1718
1974
|
)
|
|
@@ -1723,8 +1979,8 @@ function SkeletonTableRow({ columns, density = "regular", className, style, ...r
|
|
|
1723
1979
|
}
|
|
1724
1980
|
|
|
1725
1981
|
// src/components/data/KpiTile.tsx
|
|
1726
|
-
var
|
|
1727
|
-
var
|
|
1982
|
+
var import_react_aria_components26 = require("react-aria-components");
|
|
1983
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
1728
1984
|
function KpiTile({
|
|
1729
1985
|
label,
|
|
1730
1986
|
value,
|
|
@@ -1740,50 +1996,50 @@ function KpiTile({
|
|
|
1740
1996
|
style
|
|
1741
1997
|
}) {
|
|
1742
1998
|
const tone = deltaTone ?? (deltaDirection === "down" ? "negative" : "positive");
|
|
1743
|
-
const body = /* @__PURE__ */ (0,
|
|
1744
|
-
/* @__PURE__ */ (0,
|
|
1745
|
-
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,
|
|
1746
2002
|
label
|
|
1747
2003
|
] }),
|
|
1748
|
-
/* @__PURE__ */ (0,
|
|
2004
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("span", { className: "pire-kpi-value", children: [
|
|
1749
2005
|
value,
|
|
1750
|
-
unit ? /* @__PURE__ */ (0,
|
|
2006
|
+
unit ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "pire-kpi-unit", children: unit }) : null
|
|
1751
2007
|
] }),
|
|
1752
|
-
delta ? /* @__PURE__ */ (0,
|
|
1753
|
-
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,
|
|
1754
2010
|
delta
|
|
1755
2011
|
] }) : null,
|
|
1756
|
-
footnote ? /* @__PURE__ */ (0,
|
|
2012
|
+
footnote ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "pire-kpi-foot", children: footnote }) : null
|
|
1757
2013
|
] });
|
|
1758
2014
|
const props = { className: cx("pire-kpi", className), "data-status": status, style };
|
|
1759
|
-
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 });
|
|
1760
2016
|
}
|
|
1761
2017
|
|
|
1762
2018
|
// src/components/data/ObjectHeader.tsx
|
|
1763
|
-
var
|
|
2019
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
1764
2020
|
function ObjectHeader({ title, subtitle, id, breadcrumb, badge, facts, actions, className, ...rest }) {
|
|
1765
|
-
return /* @__PURE__ */ (0,
|
|
2021
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("header", { className: cx("pire-objheader", className), ...rest, children: [
|
|
1766
2022
|
breadcrumb,
|
|
1767
|
-
/* @__PURE__ */ (0,
|
|
1768
|
-
/* @__PURE__ */ (0,
|
|
1769
|
-
/* @__PURE__ */ (0,
|
|
1770
|
-
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: [
|
|
1771
2027
|
subtitle,
|
|
1772
|
-
id ? /* @__PURE__ */ (0,
|
|
2028
|
+
id ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "pire-objheader-id", children: id }) : null
|
|
1773
2029
|
] }) : null
|
|
1774
2030
|
] }),
|
|
1775
2031
|
badge,
|
|
1776
|
-
actions ? /* @__PURE__ */ (0,
|
|
2032
|
+
actions ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "pire-objheader-actions", children: actions }) : null
|
|
1777
2033
|
] }),
|
|
1778
|
-
facts?.length ? /* @__PURE__ */ (0,
|
|
1779
|
-
/* @__PURE__ */ (0,
|
|
1780
|
-
/* @__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 })
|
|
1781
2037
|
] }, fact.label)) }) : null
|
|
1782
2038
|
] });
|
|
1783
2039
|
}
|
|
1784
2040
|
|
|
1785
2041
|
// src/components/data/FilterBar.tsx
|
|
1786
|
-
var
|
|
2042
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
1787
2043
|
function FilterBar({
|
|
1788
2044
|
children,
|
|
1789
2045
|
activeFilters = [],
|
|
@@ -1792,118 +2048,123 @@ function FilterBar({
|
|
|
1792
2048
|
onGo,
|
|
1793
2049
|
resultLabel,
|
|
1794
2050
|
actions,
|
|
2051
|
+
goLabel,
|
|
2052
|
+
clearAllLabel,
|
|
1795
2053
|
className,
|
|
1796
2054
|
...rest
|
|
1797
2055
|
}) {
|
|
1798
|
-
|
|
1799
|
-
|
|
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: [
|
|
1800
2061
|
children,
|
|
1801
|
-
onGo ? /* @__PURE__ */ (0,
|
|
2062
|
+
onGo ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Button, { variant: "primary", onPress: onGo, children: go }) : null
|
|
1802
2063
|
] }),
|
|
1803
|
-
activeFilters.length || resultLabel || actions ? /* @__PURE__ */ (0,
|
|
1804
|
-
activeFilters.map((filter) => /* @__PURE__ */ (0,
|
|
1805
|
-
activeFilters.length && onClear ? /* @__PURE__ */ (0,
|
|
1806
|
-
resultLabel ? /* @__PURE__ */ (0,
|
|
1807
|
-
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
|
|
1808
2069
|
] }) : null
|
|
1809
2070
|
] });
|
|
1810
2071
|
}
|
|
1811
2072
|
|
|
1812
2073
|
// src/components/data/DescriptionList.tsx
|
|
1813
|
-
var
|
|
2074
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
1814
2075
|
function DescriptionList({ items, layout = "rows", columns = 3, className, style, ...rest }) {
|
|
1815
|
-
return /* @__PURE__ */ (0,
|
|
2076
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
1816
2077
|
"dl",
|
|
1817
2078
|
{
|
|
1818
2079
|
className: cx("pire-dl", className),
|
|
1819
2080
|
"data-layout": layout,
|
|
1820
2081
|
style: { ...layout === "grid" ? { "--pire-dl-cols": columns } : null, ...style },
|
|
1821
2082
|
...rest,
|
|
1822
|
-
children: items.map((item, i) => /* @__PURE__ */ (0,
|
|
1823
|
-
/* @__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: [
|
|
1824
2085
|
item.label,
|
|
1825
2086
|
item.hint
|
|
1826
2087
|
] }),
|
|
1827
|
-
/* @__PURE__ */ (0,
|
|
2088
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("dd", { className: "pire-dl-value", "data-numeric": item.numeric ? "true" : void 0, children: item.value })
|
|
1828
2089
|
] }, i))
|
|
1829
2090
|
}
|
|
1830
2091
|
);
|
|
1831
2092
|
}
|
|
1832
2093
|
|
|
1833
2094
|
// src/components/data/Timeline.tsx
|
|
1834
|
-
var
|
|
2095
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
1835
2096
|
function Timeline({ entries, reverse = false, className, ...rest }) {
|
|
1836
2097
|
const list = reverse ? [...entries].reverse() : entries;
|
|
1837
|
-
return /* @__PURE__ */ (0,
|
|
1838
|
-
/* @__PURE__ */ (0,
|
|
1839
|
-
/* @__PURE__ */ (0,
|
|
1840
|
-
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
|
|
1841
2102
|
] }, entry.id ?? i)) });
|
|
1842
2103
|
}
|
|
1843
2104
|
|
|
1844
2105
|
// src/components/data/LinkList.tsx
|
|
1845
|
-
var
|
|
1846
|
-
var
|
|
2106
|
+
var import_react_aria_components27 = require("react-aria-components");
|
|
2107
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
1847
2108
|
function LinkList({ items, onSelect, className, ...rest }) {
|
|
1848
|
-
return /* @__PURE__ */ (0,
|
|
1849
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
1850
|
-
item.key ? /* @__PURE__ */ (0,
|
|
1851
|
-
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,
|
|
1852
2113
|
item.trailing
|
|
1853
2114
|
] }, item.id)) });
|
|
1854
2115
|
}
|
|
1855
2116
|
|
|
1856
2117
|
// src/components/layout/PageHeader.tsx
|
|
1857
|
-
var
|
|
2118
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
1858
2119
|
function PageHeader({ title, subtitle, actions, className, ...rest }) {
|
|
1859
|
-
return /* @__PURE__ */ (0,
|
|
1860
|
-
/* @__PURE__ */ (0,
|
|
1861
|
-
/* @__PURE__ */ (0,
|
|
1862
|
-
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
|
|
1863
2124
|
] }),
|
|
1864
|
-
actions ? /* @__PURE__ */ (0,
|
|
2125
|
+
actions ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "pire-pageheader-actions", children: actions }) : null
|
|
1865
2126
|
] });
|
|
1866
2127
|
}
|
|
1867
2128
|
|
|
1868
2129
|
// src/components/layout/SectionHeader.tsx
|
|
1869
|
-
var
|
|
2130
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
1870
2131
|
function SectionHeader({ title, meta, actions, className, ...rest }) {
|
|
1871
|
-
return /* @__PURE__ */ (0,
|
|
1872
|
-
/* @__PURE__ */ (0,
|
|
1873
|
-
meta ? /* @__PURE__ */ (0,
|
|
1874
|
-
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
|
|
1875
2136
|
] });
|
|
1876
2137
|
}
|
|
1877
2138
|
|
|
1878
2139
|
// src/components/layout/SelectionBar.tsx
|
|
1879
|
-
var
|
|
2140
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
1880
2141
|
function SelectionBar({ count, noun = "record", children, actions, className, ...rest }) {
|
|
1881
2142
|
if (!count) return null;
|
|
1882
|
-
return /* @__PURE__ */ (0,
|
|
1883
|
-
/* @__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: [
|
|
1884
2145
|
count.toLocaleString(),
|
|
1885
2146
|
" ",
|
|
1886
2147
|
noun,
|
|
1887
2148
|
count === 1 ? "" : "s",
|
|
1888
2149
|
" selected"
|
|
1889
2150
|
] }),
|
|
1890
|
-
children ? /* @__PURE__ */ (0,
|
|
1891
|
-
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
|
|
1892
2153
|
] });
|
|
1893
2154
|
}
|
|
1894
2155
|
|
|
1895
2156
|
// src/components/layout/FooterBar.tsx
|
|
1896
|
-
var
|
|
2157
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
1897
2158
|
function FooterBar({ note, actions, children, className, ...rest }) {
|
|
1898
|
-
return /* @__PURE__ */ (0,
|
|
1899
|
-
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,
|
|
1900
2161
|
children,
|
|
1901
|
-
actions ? /* @__PURE__ */ (0,
|
|
2162
|
+
actions ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "pire-footerbar-actions", children: actions }) : null
|
|
1902
2163
|
] });
|
|
1903
2164
|
}
|
|
1904
2165
|
|
|
1905
2166
|
// src/components/patterns/ConfirmDialog.tsx
|
|
1906
|
-
var
|
|
2167
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
1907
2168
|
function ConfirmDialog({
|
|
1908
2169
|
isOpen,
|
|
1909
2170
|
title,
|
|
@@ -1917,7 +2178,7 @@ function ConfirmDialog({
|
|
|
1917
2178
|
onConfirm,
|
|
1918
2179
|
onCancel
|
|
1919
2180
|
}) {
|
|
1920
|
-
return /* @__PURE__ */ (0,
|
|
2181
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
|
|
1921
2182
|
Dialog,
|
|
1922
2183
|
{
|
|
1923
2184
|
isOpen,
|
|
@@ -1927,12 +2188,12 @@ function ConfirmDialog({
|
|
|
1927
2188
|
onClose: onCancel,
|
|
1928
2189
|
isDismissable: !isBusy,
|
|
1929
2190
|
showClose: false,
|
|
1930
|
-
footer: /* @__PURE__ */ (0,
|
|
1931
|
-
/* @__PURE__ */ (0,
|
|
1932
|
-
/* @__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 })
|
|
1933
2194
|
] }),
|
|
1934
2195
|
children: [
|
|
1935
|
-
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,
|
|
1936
2197
|
children
|
|
1937
2198
|
]
|
|
1938
2199
|
}
|
|
@@ -1940,11 +2201,12 @@ function ConfirmDialog({
|
|
|
1940
2201
|
}
|
|
1941
2202
|
|
|
1942
2203
|
// src/components/patterns/SidePanel.tsx
|
|
1943
|
-
var
|
|
1944
|
-
var
|
|
2204
|
+
var import_react_aria_components28 = require("react-aria-components");
|
|
2205
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
1945
2206
|
function SidePanel({ isOpen, title, subtitle, width = 400, children, footer, onClose, className }) {
|
|
1946
|
-
|
|
1947
|
-
|
|
2207
|
+
const msg = usePireMessages();
|
|
2208
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
2209
|
+
import_react_aria_components28.ModalOverlay,
|
|
1948
2210
|
{
|
|
1949
2211
|
className: "pire-sidepanel-overlay",
|
|
1950
2212
|
isOpen,
|
|
@@ -1952,34 +2214,34 @@ function SidePanel({ isOpen, title, subtitle, width = 400, children, footer, onC
|
|
|
1952
2214
|
onOpenChange: (o) => {
|
|
1953
2215
|
if (!o) onClose?.();
|
|
1954
2216
|
},
|
|
1955
|
-
children: /* @__PURE__ */ (0,
|
|
1956
|
-
/* @__PURE__ */ (0,
|
|
1957
|
-
/* @__PURE__ */ (0,
|
|
1958
|
-
/* @__PURE__ */ (0,
|
|
1959
|
-
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
|
|
1960
2222
|
] }),
|
|
1961
|
-
/* @__PURE__ */ (0,
|
|
2223
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(IconButton, { icon: "x", label: msg.sidePanelClose, size: "sm", onPress: onClose })
|
|
1962
2224
|
] }),
|
|
1963
|
-
/* @__PURE__ */ (0,
|
|
1964
|
-
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
|
|
1965
2227
|
] }) })
|
|
1966
2228
|
}
|
|
1967
2229
|
);
|
|
1968
2230
|
}
|
|
1969
2231
|
|
|
1970
2232
|
// src/components/patterns/EmptyState.tsx
|
|
1971
|
-
var
|
|
2233
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
1972
2234
|
function EmptyState({ icon = "file-text", title, action, compact, children, className, ...rest }) {
|
|
1973
|
-
return /* @__PURE__ */ (0,
|
|
1974
|
-
/* @__PURE__ */ (0,
|
|
1975
|
-
title ? /* @__PURE__ */ (0,
|
|
1976
|
-
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,
|
|
1977
2239
|
action
|
|
1978
2240
|
] });
|
|
1979
2241
|
}
|
|
1980
2242
|
|
|
1981
2243
|
// src/index.ts
|
|
1982
|
-
var
|
|
2244
|
+
var import_react_aria_components29 = require("react-aria-components");
|
|
1983
2245
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1984
2246
|
0 && (module.exports = {
|
|
1985
2247
|
Avatar,
|
|
@@ -1999,25 +2261,31 @@ var import_react_aria_components25 = require("react-aria-components");
|
|
|
1999
2261
|
FilterBar,
|
|
2000
2262
|
FooterBar,
|
|
2001
2263
|
FormField,
|
|
2264
|
+
Heading,
|
|
2002
2265
|
I18nProvider,
|
|
2003
2266
|
Icon,
|
|
2004
2267
|
IconButton,
|
|
2005
2268
|
InlineMessage,
|
|
2006
2269
|
Input,
|
|
2007
2270
|
KpiTile,
|
|
2271
|
+
Link,
|
|
2008
2272
|
LinkList,
|
|
2009
2273
|
Menu,
|
|
2010
2274
|
MenuItem,
|
|
2275
|
+
MenuSection,
|
|
2276
|
+
MenuSeparator,
|
|
2011
2277
|
MenuTrigger,
|
|
2012
2278
|
MultiComboBox,
|
|
2013
2279
|
NumberField,
|
|
2014
2280
|
ObjectHeader,
|
|
2015
2281
|
PageHeader,
|
|
2016
2282
|
Pagination,
|
|
2283
|
+
PireIntlProvider,
|
|
2017
2284
|
Popover,
|
|
2018
2285
|
ProgressBar,
|
|
2019
2286
|
Radio,
|
|
2020
2287
|
RadioGroup,
|
|
2288
|
+
RouterProvider,
|
|
2021
2289
|
SectionHeader,
|
|
2022
2290
|
SegmentedControl,
|
|
2023
2291
|
Select,
|
|
@@ -2028,9 +2296,12 @@ var import_react_aria_components25 = require("react-aria-components");
|
|
|
2028
2296
|
SidePanel,
|
|
2029
2297
|
Skeleton,
|
|
2030
2298
|
SkeletonTableRow,
|
|
2299
|
+
Strong,
|
|
2300
|
+
SubmenuTrigger,
|
|
2031
2301
|
Switch,
|
|
2032
2302
|
Tabs,
|
|
2033
2303
|
Tag,
|
|
2304
|
+
Text,
|
|
2034
2305
|
TextArea,
|
|
2035
2306
|
Timeline,
|
|
2036
2307
|
Toast,
|
|
@@ -2039,6 +2310,9 @@ var import_react_aria_components25 = require("react-aria-components");
|
|
|
2039
2310
|
ValueHelpDialog,
|
|
2040
2311
|
ValueHelpField,
|
|
2041
2312
|
configureIcons,
|
|
2313
|
+
enMessages,
|
|
2314
|
+
esMessages,
|
|
2315
|
+
usePireMessages,
|
|
2042
2316
|
useToast
|
|
2043
2317
|
});
|
|
2044
2318
|
//# sourceMappingURL=index.cjs.map
|