@orianatech/pire 0.13.0 → 0.15.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/Icon.d.ts.map +1 -1
- package/dist/components/core/Kbd.d.cts +17 -0
- package/dist/components/core/Kbd.d.ts +18 -0
- package/dist/components/core/Kbd.d.ts.map +1 -0
- package/dist/components/core/icon-data.generated.d.ts.map +1 -1
- package/dist/components/core/icon-map.d.cts +9 -0
- package/dist/components/core/icon-map.d.ts +9 -0
- package/dist/components/core/icon-map.d.ts.map +1 -1
- package/dist/components/forms/ValueHelpField.d.cts +12 -1
- package/dist/components/forms/ValueHelpField.d.ts +12 -1
- package/dist/components/forms/ValueHelpField.d.ts.map +1 -1
- package/dist/components/navigation/Menu.d.cts +7 -2
- package/dist/components/navigation/Menu.d.ts +7 -2
- package/dist/components/navigation/Menu.d.ts.map +1 -1
- package/dist/components/navigation/ShellBar.d.cts +13 -1
- package/dist/components/navigation/ShellBar.d.ts +13 -1
- package/dist/components/navigation/ShellBar.d.ts.map +1 -1
- package/dist/components/patterns/CommandPalette.d.cts +97 -0
- package/dist/components/patterns/CommandPalette.d.ts +98 -0
- package/dist/components/patterns/CommandPalette.d.ts.map +1 -0
- package/dist/components/patterns/ValueHelpDialog.d.cts +22 -1
- package/dist/components/patterns/ValueHelpDialog.d.ts +22 -1
- package/dist/components/patterns/ValueHelpDialog.d.ts.map +1 -1
- package/dist/components.css +76 -2
- package/dist/i18n/messages.d.cts +26 -0
- package/dist/i18n/messages.d.ts +26 -0
- package/dist/i18n/messages.d.ts.map +1 -1
- package/dist/index.cjs +909 -521
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +803 -408
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2,16 +2,30 @@
|
|
|
2
2
|
var ICON_MARKUP = {
|
|
3
3
|
"add": '<path d="M17 15 17 8 15 8 15 15 8 15 8 17 15 17 15 24 17 24 17 17 24 17 24 15z"/>',
|
|
4
4
|
"apps": '<path d="M8,4V8H4V4Zm2-2H2v8h8Zm8,2V8H14V4Zm2-2H12v8h8Zm8,2V8H24V4Zm2-2H22v8h8ZM8,14v4H4V14Zm2-2H2v8h8Zm8,2v4H14V14Zm2-2H12v8h8Zm8,2v4H24V14Zm2-2H22v8h8ZM8,24v4H4V24Zm2-2H2v8h8Zm8,2v4H14V24Zm2-2H12v8h8Zm8,2v4H24V24Zm2-2H22v8h8Z"/>',
|
|
5
|
+
"archive": '<path d="M14 19H18V21H14z"/><path d="M6,2V28a2,2,0,0,0,2,2H24a2,2,0,0,0,2-2V2ZM24,28H8V16H24Zm0-14H8V10H24ZM8,8V4H24V8Z"/>',
|
|
5
6
|
"arrow--down": '<path d="M24.59 16.59 17 24.17 17 4 15 4 15 24.17 7.41 16.59 6 18 16 28 26 18 24.59 16.59z"/>',
|
|
7
|
+
"arrow--left": '<path d="M14 26 15.41 24.59 7.83 17 28 17 28 15 7.83 15 15.41 7.41 14 6 4 16 14 26z"/>',
|
|
6
8
|
"arrow--right": '<path d="M18 6 16.57 7.393 24.15 15 4 15 4 17 24.15 17 16.57 24.573 18 26 28 16 18 6z"/>',
|
|
7
9
|
"arrow--up": '<path d="M16 4 6 14 7.41 15.41 15 7.83 15 28 17 28 17 7.83 24.59 15.41 26 14 16 4z"/>',
|
|
8
10
|
"arrows--vertical": '<path d="M27.6 20.6 24 24.2 24 4 22 4 22 24.2 18.4 20.6 17 22 23 28 29 22z"/><path d="M9 4 3 10 4.4 11.4 8 7.8 8 28 10 28 10 7.8 13.6 11.4 15 10z"/>',
|
|
11
|
+
"asterisk": '<path d="M28.316 13.949 27.684 12.051 17 15.612 17 4 15 4 15 15.612 4.316 12.051 3.684 13.949 14.368 17.51 7.2 27.066 8.8 28.267 16 18.667 23.2 28.267 24.8 27.066 17.632 17.51 28.316 13.949z"/>',
|
|
9
12
|
"attachment": '<path d="M28.1,18.9L13.1,3.9c-2.5-2.6-6.6-2.6-9.2-0.1S1.3,10.5,3.9,13c0,0,0.1,0.1,0.1,0.1L6.8,16l1.4-1.4l-2.9-2.9 C3.6,10,3.6,7.1,5.3,5.4s4.6-1.8,6.3-0.1c0,0,0,0,0.1,0.1l14.9,14.9c1.8,1.7,1.8,4.6,0.1,6.3c-1.7,1.8-4.6,1.8-6.3,0.1 c0,0,0,0-0.1-0.1l-7.4-7.4c-1-1-0.9-2.6,0-3.5c1-0.9,2.5-0.9,3.5,0l4.1,4.1l1.4-1.4c0,0-4.2-4.2-4.2-4.2c-1.8-1.7-4.6-1.6-6.3,0.2 c-1.6,1.7-1.6,4.4,0,6.2l7.5,7.5c2.5,2.6,6.6,2.6,9.2,0.1S30.7,21.5,28.1,18.9C28.1,19,28.1,18.9,28.1,18.9L28.1,18.9z"/>',
|
|
13
|
+
"bank--vault": '<path d="M26,30h-2v-2H8v2h-2v-2h-2c-1.103,0-2-.8975-2-2V4c0-1.103.897-2,2-2h24c1.1025,0,2,.897,2,2v22c0,1.1025-.8975,2-2,2h-2v2ZM4,4v22h24.002l-.002-22H4ZM17,22h-2v-2.1006c-.626-.127-1.2207-.374-1.7573-.7285l-2.5356,2.5361-1.4141-1.4141,2.5366-2.5371c-.3555-.5371-.6021-1.1318-.729-1.7559h-2.1006v-2h2.1001c.1274-.626.374-1.2207.7285-1.7573l-2.5356-2.5356,1.4141-1.4141,2.5366,2.5366c.5376-.3555,1.1318-.6021,1.7563-.729v-2.1006h2v2.1006c.626.127,1.2207.3735,1.7568.728l2.5361-2.5356,1.4141,1.4141-2.5361,2.5356c.3545.5366.6016,1.1313.7285,1.7573h2.1006v2h-2.1006c-.127.626-.374,1.2207-.7285,1.7568l2.5361,2.5361-1.4141,1.4141-2.5371-2.5371c-.5371.3555-1.1318.6025-1.7559.7295v2.1006ZM16,12c-.7954,0-1.5513.3135-2.1279.8818-.5586.5669-.8721,1.3228-.8721,2.1182,0,.7949.3135,1.5508.8823,2.1279,1.1318,1.1162,3.0908,1.127,4.2456-.0098.5586-.5674.8721-1.3232.8721-2.1182,0-.793-.3115-1.5464-.877-2.1226-.5771-.5659-1.3306-.8774-2.123-.8774Z"/>',
|
|
14
|
+
"barcode": '<path d="M2 6H4V28H2z"/><path d="M12 6H14V26H12z"/><path d="M6 6H10V26H6z"/><path d="M16 6H20V26H16z"/><path d="M22 6H26V26H22z"/><path d="M28 6H30V28H28z"/>',
|
|
15
|
+
"book": '<path d="M19 10H26V12H19z"/><path d="M19 15H26V17H19z"/><path d="M19 20H26V22H19z"/><path d="M6 10H13V12H6z"/><path d="M6 15H13V17H6z"/><path d="M6 20H13V22H6z"/><path d="M28,5H4A2.002,2.002,0,0,0,2,7V25a2.002,2.002,0,0,0,2,2H28a2.002,2.002,0,0,0,2-2V7A2.002,2.002,0,0,0,28,5ZM4,7H15V25H4ZM17,25V7H28V25Z"/>',
|
|
16
|
+
"bookmark": '<path d="M24,4V26.75l-7.1-3.59-.9-.45-.9.45L8,26.75V4H24m0-2H8A2,2,0,0,0,6,4V30L16,25,26,30V4A2,2,0,0,0,24,2Z"/>',
|
|
10
17
|
"box": '<path d="M20,21H12a2,2,0,0,1-2-2V17a2,2,0,0,1,2-2h8a2,2,0,0,1,2,2v2A2,2,0,0,1,20,21Zm-8-4v2h8V17Z"/><path d="M28,4H4A2,2,0,0,0,2,6v4a2,2,0,0,0,2,2V28a2,2,0,0,0,2,2H26a2,2,0,0,0,2-2V12a2,2,0,0,0,2-2V6A2,2,0,0,0,28,4ZM26,28H6V12H26Zm2-18H4V6H28v4Z"/>',
|
|
11
18
|
"building": '<path d="M28,2H16a2.002,2.002,0,0,0-2,2V14H4a2.002,2.002,0,0,0-2,2V30H30V4A2.0023,2.0023,0,0,0,28,2ZM9,28V21h4v7Zm19,0H15V20a1,1,0,0,0-1-1H8a1,1,0,0,0-1,1v8H4V16H16V4H28Z"/><path d="M18 8H20V10H18z"/><path d="M24 8H26V10H24z"/><path d="M18 14H20V16H18z"/><path d="M24 14H26V16H24z"/><path d="M18 20H20V22H18z"/><path d="M24 20H26V22H24z"/>',
|
|
12
19
|
"building--insights-1": '<path d="M28,2H16a2.002,2.002,0,0,0-2,2V14H4a2.002,2.002,0,0,0-2,2V30H30V4A2.0023,2.0023,0,0,0,28,2ZM9,28V21h4v7Zm19,0H15V20a1,1,0,0,0-1-1H8a1,1,0,0,0-1,1v8H4V16H16V4H28Z"/><path d="M18 8H20V10H18z"/><path d="M24 8H26V10H24z"/><path d="M18 14H20V16H18z"/><path d="M24 14H26V16H24z"/><path d="M18 20H20V22H18z"/><path d="M24 20H26V22H24z"/><path d="M9,12H7a5.0059,5.0059,0,0,1,5-5V9A3.0033,3.0033,0,0,0,9,12Z"/><path d="M4,12H2A10.0114,10.0114,0,0,1,12,2V4A8.0092,8.0092,0,0,0,4,12Z"/>',
|
|
13
20
|
"calculator": '<path d="M26,4V28H6V4H26m0-2H6A2,2,0,0,0,4,4V28a2,2,0,0,0,2,2H26a2,2,0,0,0,2-2V4A2,2,0,0,0,26,2Z"/><path d="M9 23H11V25H9z"/><path d="M21 23H23V25H21z"/><path d="M9 18H11V20H9z"/><path d="M21 18H23V20H21z"/><path d="M9 13H11V15H9z"/><path d="M15 23H17V25H15z"/><path d="M15 18H17V20H15z"/><path d="M15 13H17V15H15z"/><path d="M21 13H23V15H21z"/><path d="M9 7H23V10H9z"/>',
|
|
14
21
|
"calendar": '<path d="M26,4h-4V2h-2v2h-8V2h-2v2H6C4.9,4,4,4.9,4,6v20c0,1.1,0.9,2,2,2h20c1.1,0,2-0.9,2-2V6C28,4.9,27.1,4,26,4z M26,26H6V12h20 V26z M26,10H6V6h4v2h2V6h8v2h2V6h4V10z"/>',
|
|
22
|
+
"calendar--add": '<switch><foreignObject width="1" height="1" x="0" y="0" requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/"/><g><path d="M30 22 24 22 24 16 22 16 22 22 16 22 16 24 22 24 22 30 24 30 24 24 30 24z"/><path d="M28,6c0-1.1-0.9-2-2-2h-4V2h-2v2h-8V2h-2v2H6C4.9,4,4,4.9,4,6v20c0,1.1,0.9,2,2,2h8v-2H6V6h4v2h2V6h8v2h2V6h4v8h2V6z"/></g></switch>',
|
|
23
|
+
"calendar--heat-map": '<path d="M26,4H22V2H20V4H12V2H10V4H6A2.0025,2.0025,0,0,0,4,6V26a2.0025,2.0025,0,0,0,2,2H26a2.0025,2.0025,0,0,0,2-2V6A2.0025,2.0025,0,0,0,26,4ZM6,6h4V8h2V6h8V8h2V6h4l0,4H6Zm0,6h5v6H6ZM19,26H13V20h6Zm0-8H13V12h6Zm2,8V20h5l.0012,6Z"/>',
|
|
24
|
+
"chart--area": '<path d="M20.4761,8.0151,13.4473,4.2109a2.0076,2.0076,0,0,0-2.1158.2051L4,10.001V2H2V28a2,2,0,0,0,2,2H30V5.7354ZM28,20.209l-7.62,1.8022-7.0288-2.8838a1.99,1.99,0,0,0-2.022.37L4,25.8359v-4.455l8.375-9.4,7.0186,5.62a2.0155,2.0155,0,0,0,2.0459.2119L28,14.6025ZM12.5239,5.9849l7.03,3.8042a2.012,2.012,0,0,0,1.3408.16L28,8.2646v4.1138L20.6187,16.02,13.6,10.4a1.99,1.99,0,0,0-2.6885.2642L4,18.3838v-5.87ZM4.5513,28,12.62,20.9888l7.0288,2.8838a1.9977,1.9977,0,0,0,1.147.0771L28,22.2612V28Z"/>',
|
|
25
|
+
"chart--bar": '<path d="M4,2H2V28a2,2,0,0,0,2,2H30V28H4V25H26V17H4V13H18V5H4ZM24,19v4H4V19ZM16,7v4H4V7Z"/>',
|
|
26
|
+
"chart--column": '<path d="M27,28V6H19V28H15V14H7V28H4V2H2V28a2,2,0,0,0,2,2H30V28ZM13,28H9V16h4Zm12,0H21V8h4Z"/>',
|
|
27
|
+
"chart--line": '<path d="M4.67,28l6.39-12,7.3,6.49a2,2,0,0,0,1.7.47,2,2,0,0,0,1.42-1.07L27,10.9,25.18,10,19.69,21l-7.3-6.49A2,2,0,0,0,10.71,14a2,2,0,0,0-1.42,1L4,25V2H2V28a2,2,0,0,0,2,2H30V28Z"/>',
|
|
28
|
+
"chart--pie": '<path d="M16,4A12,12,0,1,0,28,16,12,12,0,0,0,16,4ZM26,15H17V6.05A10,10,0,0,1,26,15ZM15.42,26A10,10,0,0,1,15,6.05v9a2,2,0,0,0,2,2h9A10,10,0,0,1,15.42,26Z"/>',
|
|
15
29
|
"checkmark": '<path d="M13 24 4 15 5.414 13.586 13 21.171 26.586 7.586 28 9 13 24z"/>',
|
|
16
30
|
"checkmark--filled": '<path d="M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2ZM14,21.5908l-5-5L10.5906,15,14,18.4092,21.41,11l1.5957,1.5859Z"/><path fill="none" d="M14 21.591 9 16.591 10.591 15 14 18.409 21.41 11 23.005 12.585 14 21.591z" data-icon-path="inner-path"/>',
|
|
17
31
|
"checkmark--outline": '<path d="M14 21.414 9 16.413 10.413 15 14 18.586 21.585 11 23 12.415 14 21.414z"/><path d="M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z"/>',
|
|
@@ -19,48 +33,109 @@ var ICON_MARKUP = {
|
|
|
19
33
|
"chevron--left": '<path d="M10 16 20 6 21.4 7.4 12.8 16 21.4 24.6 20 26z"/>',
|
|
20
34
|
"chevron--right": '<path d="M22 16 12 26 10.6 24.6 19.2 16 10.6 7.4 12 6z"/>',
|
|
21
35
|
"chevron--sort": '<path d="M16 28 9 21 10.41 19.59 16 25.17 21.59 19.59 23 21 16 28z"/><path d="M16 4 23 11 21.59 12.41 16 6.83 10.41 12.41 9 11 16 4z"/>',
|
|
36
|
+
"chevron--up": '<path d="M16 10 26 20 24.6 21.4 16 12.8 7.4 21.4 6 20z"/>',
|
|
22
37
|
"circle-dash": '<path d="M7.7,4.7a14.7,14.7,0,0,0-3,3.1L6.3,9A13.26,13.26,0,0,1,8.9,6.3Z"/><path d="M4.6,12.3l-1.9-.6A12.51,12.51,0,0,0,2,16H4A11.48,11.48,0,0,1,4.6,12.3Z"/><path d="M2.7,20.4a14.4,14.4,0,0,0,2,3.9l1.6-1.2a12.89,12.89,0,0,1-1.7-3.3Z"/><path d="M7.8,27.3a14.4,14.4,0,0,0,3.9,2l.6-1.9A12.89,12.89,0,0,1,9,25.7Z"/><path d="M11.7,2.7l.6,1.9A11.48,11.48,0,0,1,16,4V2A12.51,12.51,0,0,0,11.7,2.7Z"/><path d="M24.2,27.3a15.18,15.18,0,0,0,3.1-3.1L25.7,23A11.53,11.53,0,0,1,23,25.7Z"/><path d="M27.4,19.7l1.9.6A15.47,15.47,0,0,0,30,16H28A11.48,11.48,0,0,1,27.4,19.7Z"/><path d="M29.2,11.6a14.4,14.4,0,0,0-2-3.9L25.6,8.9a12.89,12.89,0,0,1,1.7,3.3Z"/><path d="M24.1,4.6a14.4,14.4,0,0,0-3.9-2l-.6,1.9a12.89,12.89,0,0,1,3.3,1.7Z"/><path d="M20.3,29.3l-.6-1.9A11.48,11.48,0,0,1,16,28v2A21.42,21.42,0,0,0,20.3,29.3Z"/>',
|
|
23
38
|
"close": '<path d="M17.4141 16 24 9.4141 22.5859 8 16 14.5859 9.4143 8 8 9.4141 14.5859 16 8 22.5859 9.4143 24 16 17.4141 22.5859 24 24 22.5859 17.4141 16z"/>',
|
|
39
|
+
"cloud--download": '<path d="M23.5,22H23V20h.5a4.5,4.5,0,0,0,.36-9L23,11l-.1-.82a7,7,0,0,0-13.88,0L9,11,8.14,11a4.5,4.5,0,0,0,.36,9H9v2H8.5A6.5,6.5,0,0,1,7.2,9.14a9,9,0,0,1,17.6,0A6.5,6.5,0,0,1,23.5,22Z"/><path d="M17 26.17 17 14 15 14 15 26.17 12.41 23.59 11 25 16 30 21 25 19.59 23.59 17 26.17z"/>',
|
|
40
|
+
"cloud--upload": '<path d="M11 18 12.41 19.41 15 16.83 15 29 17 29 17 16.83 19.59 19.41 21 18 16 13 11 18z"/><path d="M23.5,22H23V20h.5a4.5,4.5,0,0,0,.36-9L23,11l-.1-.82a7,7,0,0,0-13.88,0L9,11,8.14,11a4.5,4.5,0,0,0,.36,9H9v2H8.5A6.5,6.5,0,0,1,7.2,9.14a9,9,0,0,1,17.6,0A6.5,6.5,0,0,1,23.5,22Z"/>',
|
|
24
41
|
"color-palette": '<circle cx="10" cy="12" r="2"/><circle cx="16" cy="9" r="2"/><circle cx="22" cy="12" r="2"/><circle cx="23" cy="18" r="2"/><circle cx="19" cy="23" r="2"/><path d="M16.54,2A14,14,0,0,0,2,16a4.82,4.82,0,0,0,6.09,4.65l1.12-.31A3,3,0,0,1,13,23.24V27a3,3,0,0,0,3,3A14,14,0,0,0,30,15.46,14.05,14.05,0,0,0,16.54,2Zm8.11,22.31A11.93,11.93,0,0,1,16,28a1,1,0,0,1-1-1V23.24a5,5,0,0,0-5-5,5.07,5.07,0,0,0-1.33.18l-1.12.31A2.82,2.82,0,0,1,4,16,12,12,0,0,1,16.47,4,12.18,12.18,0,0,1,28,15.53,11.89,11.89,0,0,1,24.65,24.32Z"/>',
|
|
25
42
|
"copy": '<path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z"/><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z"/>',
|
|
43
|
+
"currency": '<path d="M21,12V10H17V7H15v3H13a2.002,2.002,0,0,0-2,2v3a2.002,2.002,0,0,0,2,2h6v3H11v2h4v3h2V22h2a2.0023,2.0023,0,0,0,2-2V17a2.002,2.002,0,0,0-2-2H13V12Z"/><path d="M16,4A12,12,0,1,1,4,16,12.0353,12.0353,0,0,1,16,4m0-2A14,14,0,1,0,30,16,14.0412,14.0412,0,0,0,16,2Z"/>',
|
|
44
|
+
"currency--dollar": '<path d="M23,20.5151c0-4.6152-3.78-5.1411-6.8171-5.563-3.31-.4609-5.1829-.86-5.1829-3.71C11,8.8491,13.5071,8,15.6538,8a6.7538,6.7538,0,0,1,5.5681,2.6279l1.5562-1.2558A8.6508,8.6508,0,0,0,17,6.0962V3H15V6.022c-3.6152.2192-6,2.26-6,5.22,0,4.73,3.83,5.2627,6.9075,5.69C19.16,17.3848,21,17.7744,21,20.5151,21,23.5474,17.8674,24,16,24c-3.4294,0-4.8782-.9639-6.2219-2.6279L8.2219,22.6279A8.4382,8.4382,0,0,0,15,25.9648V29h2V25.9551C20.7256,25.6509,23,23.6279,23,20.5151Z"/>',
|
|
45
|
+
"currency--euro": '<path d="M17,26c-3.6162,0-6.3328-2.2974-7.4456-6H19V18H9.1321A15.2782,15.2782,0,0,1,9,16c0-.33.01-.6641.0259-1H19V13H9.2371C9.8447,9.3525,11.81,6,17,6c3.8533,0,5.5315,1.6465,7.1282,4.4893l1.7436-.9786C24.2649,6.6484,22.0779,4,17,4,10.6448,4,7,8.374,7,16c0,7.0654,4.1121,12,10,12,5.0779,0,7.2649-2.6484,8.8718-5.5107l-1.7436-.9786C22.5315,24.3535,20.8533,26,17,26Z"/>',
|
|
46
|
+
"data--base": '<path d="M24,3H8A2,2,0,0,0,6,5V27a2,2,0,0,0,2,2H24a2,2,0,0,0,2-2V5A2,2,0,0,0,24,3Zm0,2v6H8V5ZM8,19V13H24v6Zm0,8V21H24v6Z"/><circle cx="11" cy="8" r="1"/><circle cx="11" cy="16" r="1"/><circle cx="11" cy="24" r="1"/>',
|
|
47
|
+
"debug": '<path d="M29.83,20l.34-2L25,17.15V13c0-.08,0-.15,0-.23l5.06-1.36-.51-1.93-4.83,1.29A9,9,0,0,0,20,5V2H18V4.23a8.81,8.81,0,0,0-4,0V2H12V5a9,9,0,0,0-4.71,5.82L2.46,9.48,2,11.41,7,12.77c0,.08,0,.15,0,.23v4.15L1.84,18l.32,2L7,19.18a8.9,8.9,0,0,0,.82,3.57L3.29,27.29l1.42,1.42,4.19-4.2a9,9,0,0,0,14.2,0l4.19,4.2,1.42-1.42-4.54-4.54A8.9,8.9,0,0,0,25,19.18ZM15,25.92A7,7,0,0,1,9,19V13h6ZM9.29,11a7,7,0,0,1,13.42,0ZM23,19a7,7,0,0,1-6,6.92V13h6Z"/>',
|
|
48
|
+
"delivery--parcel": '<path d="M29.4819,8.624l-10-5.5a1,1,0,0,0-.9638,0l-10,5.5a1,1,0,0,0,0,1.752L18,15.5913V26.3086l-3.0362-1.6693L14,26.3912l4.5181,2.4848a.9984.9984,0,0,0,.9638,0l10-5.5A1,1,0,0,0,30,22.5V9.5A1,1,0,0,0,29.4819,8.624ZM19,5.1416,26.9248,9.5,19,13.8584,11.0752,9.5Zm9,16.7671-8,4.4V15.5913l8-4.4Z"/><path d="M2 14H10V16H2z" transform="matrix(-1 0 0 -1 12 30)"/><path d="M4 22H12V24H4z" transform="matrix(-1 0 0 -1 16 46)"/><path d="M6 18H14V20H6z" transform="matrix(-1 0 0 -1 20 38)"/>',
|
|
26
49
|
"delivery-truck": '<path d="M29.92,16.61l-3-7A1,1,0,0,0,26,9H23V7a1,1,0,0,0-1-1H3A1,1,0,0,0,2,7V24a1,1,0,0,0,1,1H5.14a4,4,0,0,0,7.72,0h6.28a4,4,0,0,0,7.72,0H29a1,1,0,0,0,1-1V17A1,1,0,0,0,29.92,16.61ZM23,11h2.34l2.14,5H23ZM9,26a2,2,0,1,1,2-2A2,2,0,0,1,9,26Zm10.14-3H12.86a4,4,0,0,0-7.72,0H4V8H21V20.56A4,4,0,0,0,19.14,23ZM23,26a2,2,0,1,1,2-2A2,2,0,0,1,23,26Zm5-3H26.86A4,4,0,0,0,23,20V18h5Z"/>',
|
|
27
50
|
"document": '<path d="M25.7,9.3l-7-7C18.5,2.1,18.3,2,18,2H8C6.9,2,6,2.9,6,4v24c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V10C26,9.7,25.9,9.5,25.7,9.3 z M18,4.4l5.6,5.6H18V4.4z M24,28H8V4h8v6c0,1.1,0.9,2,2,2h6V28z"/><path d="M10 22H22V24H10z"/><path d="M10 16H22V18H10z"/>',
|
|
51
|
+
"document--add": '<path d="M30 24 26 24 26 20 24 20 24 24 20 24 20 26 24 26 24 30 26 30 26 26 30 26 30 24z"/><path d="M16,28H8V4h8v6a2.0058,2.0058,0,0,0,2,2h6v4h2V10a.9092.9092,0,0,0-.3-.7l-7-7A.9087.9087,0,0,0,18,2H8A2.0058,2.0058,0,0,0,6,4V28a2.0058,2.0058,0,0,0,2,2h8ZM18,4.4,23.6,10H18Z"/>',
|
|
28
52
|
"download": '<path d="M26,24v4H6V24H4v4H4a2,2,0,0,0,2,2H26a2,2,0,0,0,2-2h0V24Z"/><path d="M26 14 24.59 12.59 17 20.17 17 2 15 2 15 20.17 7.41 12.59 6 14 16 24 26 14z"/>',
|
|
29
53
|
"edit": '<path d="M2 26H30V28H2z"/><path d="M25.4,9c0.8-0.8,0.8-2,0-2.8c0,0,0,0,0,0l-3.6-3.6c-0.8-0.8-2-0.8-2.8,0c0,0,0,0,0,0l-15,15V24h6.4L25.4,9z M20.4,4L24,7.6 l-3,3L17.4,7L20.4,4z M6,22v-3.6l10-10l3.6,3.6l-10,10H6z"/>',
|
|
54
|
+
"email": '<path d="M28,6H4A2,2,0,0,0,2,8V24a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V8A2,2,0,0,0,28,6ZM25.8,8,16,14.78,6.2,8ZM4,24V8.91l11.43,7.91a1,1,0,0,0,1.14,0L28,8.91V24Z"/>',
|
|
30
55
|
"error--filled": '<path fill="none" d="M14.9 7.2H17.1V24.799H14.9z" data-icon-path="inner-path" transform="rotate(-45 16 16)"/><path d="M16,2A13.914,13.914,0,0,0,2,16,13.914,13.914,0,0,0,16,30,13.914,13.914,0,0,0,30,16,13.914,13.914,0,0,0,16,2Zm5.4449,21L9,10.5557,10.5557,9,23,21.4448Z"/>',
|
|
56
|
+
"events": '<path d="M26,14H24v2h2a3.0033,3.0033,0,0,1,3,3v4h2V19A5.0058,5.0058,0,0,0,26,14Z"/><path d="M24,4a3,3,0,1,1-3,3,3,3,0,0,1,3-3m0-2a5,5,0,1,0,5,5A5,5,0,0,0,24,2Z"/><path d="M23,30H21V28a3.0033,3.0033,0,0,0-3-3H14a3.0033,3.0033,0,0,0-3,3v2H9V28a5.0059,5.0059,0,0,1,5-5h4a5.0059,5.0059,0,0,1,5,5Z"/><path d="M16,13a3,3,0,1,1-3,3,3,3,0,0,1,3-3m0-2a5,5,0,1,0,5,5A5,5,0,0,0,16,11Z"/><path d="M8,14H6a5.0059,5.0059,0,0,0-5,5v4H3V19a3.0033,3.0033,0,0,1,3-3H8Z"/><path d="M8,4A3,3,0,1,1,5,7,3,3,0,0,1,8,4M8,2a5,5,0,1,0,5,5A5,5,0,0,0,8,2Z"/>',
|
|
31
57
|
"filter": '<path d="M18,28H14a2,2,0,0,1-2-2V18.41L4.59,11A2,2,0,0,1,4,9.59V6A2,2,0,0,1,6,4H26a2,2,0,0,1,2,2V9.59A2,2,0,0,1,27.41,11L20,18.41V26A2,2,0,0,1,18,28ZM6,6V9.59l8,8V26h4V17.59l8-8V6Z"/>',
|
|
58
|
+
"filter--edit": '<path d="M26,6H4V9.17l7.41,7.42.59.58V26h4V24h2v2a2,2,0,0,1-2,2H12a2,2,0,0,1-2-2V18L2.59,10.59A2,2,0,0,1,2,9.17V6A2,2,0,0,1,4,4H26Z"/><path d="M29.71,11.29l-3-3a1,1,0,0,0-1.42,0L16,17.59V22h4.41l9.3-9.29A1,1,0,0,0,29.71,11.29ZM19.59,20H18V18.41l5-5L24.59,15ZM26,13.59,24.41,12,26,10.41,27.59,12Z"/>',
|
|
32
59
|
"flash": '<path d="M11.61,29.92a1,1,0,0,1-.6-1.07L12.83,17H8a1,1,0,0,1-1-1.23l3-13A1,1,0,0,1,11,2H21a1,1,0,0,1,.78.37,1,1,0,0,1,.2.85L20.25,11H25a1,1,0,0,1,.9.56,1,1,0,0,1-.11,1l-13,17A1,1,0,0,1,12,30,1.09,1.09,0,0,1,11.61,29.92ZM17.75,13l2-9H11.8L9.26,15h5.91L13.58,25.28,23,13Z"/>',
|
|
60
|
+
"flow": '<path d="M27,22.14V17a2,2,0,0,0-2-2H17V9.86a4,4,0,1,0-2,0V15H7a2,2,0,0,0-2,2v5.14a4,4,0,1,0,2,0V17H25v5.14a4,4,0,1,0,2,0ZM8,26a2,2,0,1,1-2-2A2,2,0,0,1,8,26ZM14,6a2,2,0,1,1,2,2A2,2,0,0,1,14,6ZM26,28a2,2,0,1,1,2-2A2,2,0,0,1,26,28Z"/>',
|
|
61
|
+
"folder": '<path d="M11.17,6l3.42,3.41.58.59H28V26H4V6h7.17m0-2H4A2,2,0,0,0,2,6V26a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2H16L12.59,4.59A2,2,0,0,0,11.17,4Z"/>',
|
|
62
|
+
"function": '<path d="M19.6262,29.5256,19.11,27.5935A12.0035,12.0035,0,0,0,25.2312,8.3323l1.5376-1.2788a14.0033,14.0033,0,0,1-7.1426,22.4721Z"/><path d="M10,29H8V25.18l.8037-.1607C10.2617,24.728,12,23.6206,12,20V18.6182l-4-2V14.3818l4-2V12c0-5.4673,3.9253-9,10-9h2V6.82l-.8037.1607C21.7383,7.272,20,8.3794,20,12v.3818l4,2v2.2364l-4,2V20C20,25.4673,16.0747,29,10,29Zm0-2c4.9346,0,8-2.6821,8-7V17.3818L21.7642,15.5,18,13.6182V12c0-4.5781,2.3853-6.1924,4-6.76V5c-4.9346,0-8,2.6821-8,7v1.6182L10.2358,15.5,14,17.3818V20c0,4.5781-2.3853,6.1924-4,6.76Z"/><path d="M5.2312,24.9465A14.0032,14.0032,0,0,1,12.3779,2.4734l.5161,1.9321A12.0035,12.0035,0,0,0,6.7688,23.6677Z"/>',
|
|
63
|
+
"globe": '<path d="M14,4a7,7,0,1,1-7,7,7,7,0,0,1,7-7m0-2a9,9,0,1,0,9,9A9,9,0,0,0,14,2Z"/><path d="M28,11a13.9563,13.9563,0,0,0-4.1051-9.8949L22.4813,2.5187A11.9944,11.9944,0,0,1,5.5568,19.5194l-.0381-.0381L4.1051,20.8949A13.9563,13.9563,0,0,0,14,25v3H10v2H20V28H16V24.84A14.0094,14.0094,0,0,0,28,11Z"/>',
|
|
33
64
|
"grid": '<path d="M12,4H6A2,2,0,0,0,4,6v6a2,2,0,0,0,2,2h6a2,2,0,0,0,2-2V6A2,2,0,0,0,12,4Zm0,8H6V6h6Z"/><path d="M26,4H20a2,2,0,0,0-2,2v6a2,2,0,0,0,2,2h6a2,2,0,0,0,2-2V6A2,2,0,0,0,26,4Zm0,8H20V6h6Z"/><path d="M12,18H6a2,2,0,0,0-2,2v6a2,2,0,0,0,2,2h6a2,2,0,0,0,2-2V20A2,2,0,0,0,12,18Zm0,8H6V20h6Z"/><path d="M26,18H20a2,2,0,0,0-2,2v6a2,2,0,0,0,2,2h6a2,2,0,0,0,2-2V20A2,2,0,0,0,26,18Zm0,8H20V20h6Z"/>',
|
|
34
65
|
"hashtag": '<path d="M28,12V10H22V4H20v6H12V4H10v6H4v2h6v8H4v2h6v6h2V22h8v6h2V22h6V20H22V12Zm-8,8H12V12h8Z"/>',
|
|
35
66
|
"help": '<path d="M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z"/><circle cx="16" cy="23.5" r="1.5"/><path d="M17,8H15.5A4.49,4.49,0,0,0,11,12.5V13h2v-.5A2.5,2.5,0,0,1,15.5,10H17a2.5,2.5,0,0,1,0,5H15v4.5h2V17a4.5,4.5,0,0,0,0-9Z"/>',
|
|
36
67
|
"home": '<path d="M16.6123,2.2138a1.01,1.01,0,0,0-1.2427,0L1,13.4194l1.2427,1.5717L4,13.6209V26a2.0041,2.0041,0,0,0,2,2H26a2.0037,2.0037,0,0,0,2-2V13.63L29.7573,15,31,13.4282ZM18,26H14V18h4Zm2,0V18a2.0023,2.0023,0,0,0-2-2H14a2.002,2.002,0,0,0-2,2v8H6V12.0615l10-7.79,10,7.8005V26Z"/>',
|
|
68
|
+
"idea": '<path d="M11 24H21V26H11z"/><path d="M13 28H19V30H13z"/><path d="M16,2A10,10,0,0,0,6,12a9.19,9.19,0,0,0,3.46,7.62c1,.93,1.54,1.46,1.54,2.38h2c0-1.84-1.11-2.87-2.19-3.86A7.2,7.2,0,0,1,8,12a8,8,0,0,1,16,0,7.2,7.2,0,0,1-2.82,6.14c-1.07,1-2.18,2-2.18,3.86h2c0-.92.53-1.45,1.54-2.39A9.18,9.18,0,0,0,26,12,10,10,0,0,0,16,2Z"/>',
|
|
69
|
+
"identification": '<path d="M28,6V26H4V6H28m0-2H4A2,2,0,0,0,2,6V26a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V6a2,2,0,0,0-2-2Z"/><path d="M6 10H13V12H6z"/><path d="M6 14H10V16H6z"/><path d="M23,18H17a3,3,0,0,0-3,3v2h2V21a1,1,0,0,1,1-1h6a1,1,0,0,1,1,1v2h2V21A3,3,0,0,0,23,18Z"/><path d="M20,17a4,4,0,1,0-4-4A4,4,0,0,0,20,17Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,20,11Z"/>',
|
|
37
70
|
"information": '<path d="M17 22 17 14 13 14 13 16 15 16 15 22 12 22 12 24 20 24 20 22 17 22z"/><path d="M16,8a1.5,1.5,0,1,0,1.5,1.5A1.5,1.5,0,0,0,16,8Z"/><path d="M16,30A14,14,0,1,1,30,16,14,14,0,0,1,16,30ZM16,4A12,12,0,1,0,28,16,12,12,0,0,0,16,4Z"/>',
|
|
71
|
+
"information--square": '<path d="M17 22 17 14 13 14 13 16 15 16 15 22 12 22 12 24 20 24 20 22 17 22z"/><path d="M16,8a1.5,1.5,0,1,0,1.5,1.5A1.5,1.5,0,0,0,16,8Z"/><path d="M26,28H6a2.0023,2.0023,0,0,1-2-2V6A2.0023,2.0023,0,0,1,6,4H26a2.0023,2.0023,0,0,1,2,2V26A2.0023,2.0023,0,0,1,26,28ZM6,6V26H26V6Z"/>',
|
|
72
|
+
"inventory-management": '<path d="M19 24H23V28H19z"/><path d="M26 24H30V28H26z"/><path d="M19 17H23V21H19z"/><path d="M26 17H30V21H26z"/><path d="M17,24H4V10H28v5h2V10a2.0023,2.0023,0,0,0-2-2H22V4a2.0023,2.0023,0,0,0-2-2H12a2.002,2.002,0,0,0-2,2V8H4a2.002,2.002,0,0,0-2,2V24a2.0023,2.0023,0,0,0,2,2H17ZM12,4h8V8H12Z"/>',
|
|
38
73
|
"launch": '<path d="M26,28H6a2.0027,2.0027,0,0,1-2-2V6A2.0027,2.0027,0,0,1,6,4H16V6H6V26H26V16h2V26A2.0027,2.0027,0,0,1,26,28Z"/><path d="M20 2 20 4 26.586 4 18 12.586 19.414 14 28 5.414 28 12 30 12 30 2 20 2z"/>',
|
|
39
74
|
"layers": '<path d="M16,24a.9967.9967,0,0,1-.4741-.12l-13-7L3.4741,15.12,16,21.8643,28.5259,15.12l.9482,1.7607-13,7A.9967.9967,0,0,1,16,24Z"/><path d="M16,30a.9967.9967,0,0,1-.4741-.12l-13-7L3.4741,21.12,16,27.8643,28.5259,21.12l.9482,1.7607-13,7A.9967.9967,0,0,1,16,30Z"/><path d="M16,18a.9967.9967,0,0,1-.4741-.12l-13-7a1,1,0,0,1,0-1.7607l13-7a.9982.9982,0,0,1,.9482,0l13,7a1,1,0,0,1,0,1.7607l-13,7A.9967.9967,0,0,1,16,18ZM5.1094,10,16,15.8643,26.8906,10,16,4.1358Z"/>',
|
|
75
|
+
"license": '<path d="M10 6H22V8H10z"/><path d="M10 10H22V12H10z"/><path d="M10 24H16V26H10z"/><path d="M10 14H16V16H10z"/><path d="M24,30H8a2.0023,2.0023,0,0,1-2-2V4A2.0023,2.0023,0,0,1,8,2H24a2.0023,2.0023,0,0,1,2,2V28A2.0023,2.0023,0,0,1,24,30ZM8,4V28H24V4Z"/>',
|
|
40
76
|
"list": '<path d="M10 6H28V8H10z"/><path d="M10 24H28V26H10z"/><path d="M10 15H28V17H10z"/><path d="M4 15H6V17H4z"/><path d="M4 6H6V8H4z"/><path d="M4 24H6V26H4z"/>',
|
|
41
77
|
"list--boxes": '<path d="M16 8H30V10H16z"/><path d="M16 22H30V24H16z"/><path d="M10,14H4a2.0023,2.0023,0,0,1-2-2V6A2.0023,2.0023,0,0,1,4,4h6a2.0023,2.0023,0,0,1,2,2v6A2.0023,2.0023,0,0,1,10,14ZM4,6v6h6.0012L10,6Z"/><path d="M10,28H4a2.0023,2.0023,0,0,1-2-2V20a2.0023,2.0023,0,0,1,2-2h6a2.0023,2.0023,0,0,1,2,2v6A2.0023,2.0023,0,0,1,10,28ZM4,20v6h6.0012L10,20Z"/>',
|
|
42
78
|
"list--checked": '<path d="M16 22H30V24H16z"/><path d="M14 19.4 12.6 18 6 24.6 3.4 22 2 23.4 6 27.4z"/><path d="M16 8H30V10H16z"/><path d="M14 5.4 12.6 4 6 10.6 3.4 8 2 9.4 6 13.4z"/>',
|
|
43
79
|
"location": '<path d="M16,18a5,5,0,1,1,5-5A5.0057,5.0057,0,0,1,16,18Zm0-8a3,3,0,1,0,3,3A3.0033,3.0033,0,0,0,16,10Z"/><path d="M16,30,7.5645,20.0513c-.0479-.0571-.3482-.4515-.3482-.4515A10.8888,10.8888,0,0,1,5,13a11,11,0,0,1,22,0,10.8844,10.8844,0,0,1-2.2148,6.5973l-.0015.0025s-.3.3944-.3447.4474ZM8.8125,18.395c.001.0007.2334.3082.2866.3744L16,26.9079l6.91-8.15c.0439-.0552.2783-.3649.2788-.3657A8.901,8.901,0,0,0,25,13,9,9,0,1,0,7,13a8.9054,8.9054,0,0,0,1.8125,5.395Z"/>',
|
|
80
|
+
"location--company": '<path d="M16,30,7.5645,20.0513c-.0479-.0571-.3482-.4515-.3482-.4515A10.8888,10.8888,0,0,1,5,13a11,11,0,0,1,22,0,10.8844,10.8844,0,0,1-2.2148,6.5973l-.0015.0025s-.3.3944-.3447.4474ZM8.8125,18.395c.001.0007.2334.3082.2866.3744L16,26.9079l6.91-8.15c.0439-.0552.2783-.3649.2788-.3657A8.901,8.901,0,0,0,25,13,9,9,0,0,0,7,13a8.9054,8.9054,0,0,0,1.8125,5.395Z"/><path d="M21,18H19V10H13v8H11V10a2.0021,2.0021,0,0,1,2-2h6a2.0021,2.0021,0,0,1,2,2Z"/><path d="M15 16H17V18H15z"/><path d="M15 12H17V14H15z"/>',
|
|
44
81
|
"locked": '<path d="M24,14H22V8A6,6,0,0,0,10,8v6H8a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H24a2,2,0,0,0,2-2V16A2,2,0,0,0,24,14ZM12,8a4,4,0,0,1,8,0v6H12ZM24,28H8V16H24Z"/>',
|
|
82
|
+
"login": '<path d="M26,30H14a2,2,0,0,1-2-2V25h2v3H26V4H14V7H12V4a2,2,0,0,1,2-2H26a2,2,0,0,1,2,2V28A2,2,0,0,1,26,30Z"/><path d="M14.59 20.59 18.17 17 4 17 4 15 18.17 15 14.59 11.41 16 10 22 16 16 22 14.59 20.59z"/>',
|
|
83
|
+
"logout": '<path d="M6,30H18a2.0023,2.0023,0,0,0,2-2V25H18v3H6V4H18V7h2V4a2.0023,2.0023,0,0,0-2-2H6A2.0023,2.0023,0,0,0,4,4V28A2.0023,2.0023,0,0,0,6,30Z"/><path d="M20.586 20.586 24.172 17 10 17 10 15 24.172 15 20.586 11.414 22 10 28 16 22 22 20.586 20.586z"/>',
|
|
84
|
+
"maximize": '<path d="M20 2 20 4 26.586 4 18 12.582 19.414 14 28 5.414 28 12 30 12 30 2 20 2z"/><path d="M14 19.416 12.592 18 4 26.586 4 20 2 20 2 30 12 30 12 28 5.414 28 14 19.416z"/>',
|
|
45
85
|
"menu": '<path d="M4 6H28V8H4z"/><path d="M4 24H28V26H4z"/><path d="M4 12H28V14H4z"/><path d="M4 18H28V20H4z"/>',
|
|
46
86
|
"minimize": '<path d="M4 18 4 20 10.586 20 2 28.582 3.414 30 12 21.414 12 28 14 28 14 18 4 18z"/><path d="M30 3.416 28.592 2 20 10.586 20 4 18 4 18 14 28 14 28 12 21.414 12 30 3.416z"/>',
|
|
47
87
|
"misuse": '<path d="M16,2C8.3,2,2,8.3,2,16s6.3,14,14,14s14-6.3,14-14S23.7,2,16,2z M21.4,23L16,17.6L10.6,23L9,21.4l5.4-5.4L9,10.6L10.6,9 l5.4,5.4L21.4,9l1.6,1.6L17.6,16l5.4,5.4L21.4,23z"/><path fill="none" d="M21.4,23L16,17.6L10.6,23L9,21.4l5.4-5.4L9,10.6L10.6,9l5.4,5.4L21.4,9l1.6,1.6L17.6,16 l5.4,5.4L21.4,23z" data-icon-path="inner-path" opacity="0"/>',
|
|
88
|
+
"money": '<path d="M2 22H30V24H2z"/><path d="M2 26H30V28H2z"/><path d="M24,10a2,2,0,1,0,2,2,2,2,0,0,0-2-2Z"/><path d="M16,16a4,4,0,1,1,4-4A4.0045,4.0045,0,0,1,16,16Zm0-6a2,2,0,1,0,2,2A2.002,2.002,0,0,0,16,10Z"/><path d="M8,10a2,2,0,1,0,2,2,2,2,0,0,0-2-2Z"/><path d="M28,20H4a2.0051,2.0051,0,0,1-2-2V6A2.0051,2.0051,0,0,1,4,4H28a2.0051,2.0051,0,0,1,2,2V18A2.0027,2.0027,0,0,1,28,20ZM28,6H4V18H28Z"/>',
|
|
89
|
+
"notebook": '<path d="M19 10H26V12H19z"/><path d="M19 15H26V17H19z"/><path d="M19 20H26V22H19z"/><path d="M28,5H4A2.002,2.002,0,0,0,2,7V25a2.0023,2.0023,0,0,0,2,2H28a2.0027,2.0027,0,0,0,2-2V7A2.0023,2.0023,0,0,0,28,5ZM4,7H15V25H4ZM17,25V7H28l.002,18Z"/>',
|
|
48
90
|
"notification": '<path d="M28.7071,19.293,26,16.5859V13a10.0136,10.0136,0,0,0-9-9.9492V1H15V3.0508A10.0136,10.0136,0,0,0,6,13v3.5859L3.2929,19.293A1,1,0,0,0,3,20v3a1,1,0,0,0,1,1h7v.7768a5.152,5.152,0,0,0,4.5,5.1987A5.0057,5.0057,0,0,0,21,25V24h7a1,1,0,0,0,1-1V20A1,1,0,0,0,28.7071,19.293ZM19,25a3,3,0,0,1-6,0V24h6Zm8-3H5V20.4141L7.707,17.707A1,1,0,0,0,8,17V13a8,8,0,0,1,16,0v4a1,1,0,0,0,.293.707L27,20.4141Z"/>',
|
|
91
|
+
"overflow-menu--horizontal": '<circle cx="8" cy="16" r="2"/><circle cx="16" cy="16" r="2"/><circle cx="24" cy="16" r="2"/>',
|
|
49
92
|
"overflow-menu--vertical": '<circle cx="16" cy="8" r="2"/><circle cx="16" cy="16" r="2"/><circle cx="16" cy="24" r="2"/>',
|
|
93
|
+
"partnership": '<path d="M8,9a4,4,0,1,1,4-4A4,4,0,0,1,8,9ZM8,3a2,2,0,1,0,2,2A2,2,0,0,0,8,3Z"/><path d="M24,9a4,4,0,1,1,4-4A4,4,0,0,1,24,9Zm0-6a2,2,0,1,0,2,2A2,2,0,0,0,24,3Z"/><path d="M26,30H22a2,2,0,0,1-2-2V21h2v7h4V19h2V13a1,1,0,0,0-1-1H20.58L16,20l-4.58-8H5a1,1,0,0,0-1,1v6H6v9h4V21h2v7a2,2,0,0,1-2,2H6a2,2,0,0,1-2-2V21a2,2,0,0,1-2-2V13a3,3,0,0,1,3-3h7.58L16,16l3.42-6H27a3,3,0,0,1,3,3v6a2,2,0,0,1-2,2v7A2,2,0,0,1,26,30Z"/>',
|
|
94
|
+
"payment--methods": '<path d="M5,26V15.8281l-3.5859,3.586L0,18l6-6,6,6-1.4141,1.4141-3.5859-3.586v10.1719h12v2H7c-1.104-.0013-1.9987-.896-2-2Z"/><path d="M31,18h-3v-2h-2v2h-1c-1.1046,0-2,.8954-2,2v2c0,1.1046,.8954,2,2,2h4v2h-6s0,2,0,2h3v2h2v-2h1c1.1046,0,2-.8954,2-2v-2c0-1.1046-.8954-2-2-2h-4v-2h6v-2Z"/><path d="M28,12V6c-.0012-1.104-.896-1.9988-2-2H12v2h14v6"/><path d="M2 6H7V8H2z"/><path d="M2 2H10V4H2z"/>',
|
|
95
|
+
"percentage": '<path d="M9,14a5,5,0,1,1,5-5A5.0055,5.0055,0,0,1,9,14ZM9,6a3,3,0,1,0,3,3A3.0033,3.0033,0,0,0,9,6Z"/><path d="M.029 15H31.97V17H.029z" transform="rotate(-45 16 16)"/><path d="M23,28a5,5,0,1,1,5-5A5.0055,5.0055,0,0,1,23,28Zm0-8a3,3,0,1,0,3,3A3.0033,3.0033,0,0,0,23,20Z"/>',
|
|
96
|
+
"phone": '<path d="M26,29h-.17C6.18,27.87,3.39,11.29,3,6.23A3,3,0,0,1,5.76,3h5.51a2,2,0,0,1,1.86,1.26L14.65,8a2,2,0,0,1-.44,2.16l-2.13,2.15a9.37,9.37,0,0,0,7.58,7.6l2.17-2.15A2,2,0,0,1,24,17.35l3.77,1.51A2,2,0,0,1,29,20.72V26A3,3,0,0,1,26,29ZM6,5A1,1,0,0,0,5,6v.08C5.46,12,8.41,26,25.94,27A1,1,0,0,0,27,26.06V20.72l-3.77-1.51-2.87,2.85L19.88,22C11.18,20.91,10,12.21,10,12.12l-.06-.48,2.84-2.87L11.28,5Z"/>',
|
|
97
|
+
"piggy-bank": '<path d="M16.5,14H20V12H18V11H16v1.0508A2.5,2.5,0,0,0,16.5,17h1a.5.5,0,0,1,0,1H14v2h2v1h2V19.9492A2.5,2.5,0,0,0,17.5,15h-1a.5.5,0,0,1,0-1Z"/><path d="M29,13H26.98A5.7789,5.7789,0,0,0,25,8.8525V5a1,1,0,0,0-1.6-.8L19.6665,7H15c-5.5095,0-9.4634,3.2412-9.9485,8H5a1.0009,1.0009,0,0,1-1-1V12H2v2a3.0033,3.0033,0,0,0,3,3h.07A9.1733,9.1733,0,0,0,9,23.5566V27a1,1,0,0,0,1,1h4a1,1,0,0,0,1-1V25h3v2a1,1,0,0,0,1,1h4a1,1,0,0,0,1-1V23.6372A5.0926,5.0926,0,0,0,26.8188,20H29a1,1,0,0,0,1-1V14A1,1,0,0,0,29,13Zm-1,5H25.124c-.3052,2.7529-.8235,3.4854-3.124,4.3154V26H20V23H13v3H11V22.3779A7.013,7.013,0,0,1,7,16c0-4.8354,4.0181-7,8-7h5.3335L23,7V9.7764c2.4182,1.8593,1.9126,3.186,2.0183,5.2236H28Z"/>',
|
|
98
|
+
"portfolio": '<path d="M28,10H22V6a2,2,0,0,0-2-2H12a2,2,0,0,0-2,2v4H4a2,2,0,0,0-2,2V26a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V12A2,2,0,0,0,28,10ZM12,6h8v4H12ZM4,26V12H28V26Z"/>',
|
|
50
99
|
"printer": '<path d="M28,9H25V3H7V9H4a2,2,0,0,0-2,2V21a2,2,0,0,0,2,2H7v6H25V23h3a2,2,0,0,0,2-2V11A2,2,0,0,0,28,9ZM9,5H23V9H9ZM23,27H9V17H23Zm5-6H25V15H7v6H4V11H28Z"/>',
|
|
100
|
+
"purchase": '<path d="M28,6H4A2,2,0,0,0,2,8V24a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V8A2,2,0,0,0,28,6Zm0,2v3H4V8ZM4,24V13H28V24Z"/><path d="M6 20H16V22H6z"/>',
|
|
51
101
|
"qr-code": '<path d="M24 26H26V28H24z" transform="rotate(-90 25 27)"/><path d="M18 22H20V24H18z" transform="rotate(-90 19 23)"/><path d="M18 30 22 30 22 28 20 28 20 26 18 26 18 30z"/><path d="M25 23H29V25H25z" transform="rotate(-90 27 24)"/><path d="M28 26 30 26 30 30 26 30 26 28 28 28 28 26z"/><path d="M26 20 26 18 30 18 30 22 28 22 28 20 26 20z"/><path d="M24 20 22 20 22 24 20 24 20 26 24 26 24 20z"/><path d="M19 17H21V21H19z" transform="rotate(-90 20 19)"/><path d="M6 22H10V26H6z"/><path d="M14,30H2V18H14ZM4,28h8V20H4Z"/><path d="M22 6H26V10H22z"/><path d="M30,14H18V2H30ZM20,12h8V4H20Z"/><path d="M6 6H10V10H6z"/><path d="M14,14H2V2H14ZM4,12h8V4H4Z"/>',
|
|
102
|
+
"receipt": '<path d="M21 16H23V18H21z"/><path d="M9 16H17V18H9z"/><path d="M21 12H23V14H21z"/><path d="M9 12H17V14H9z"/><path d="M9 8H23V10H9z"/><path d="M25,2H7A2.002,2.002,0,0,0,5,4V29a1,1,0,0,0,1,1H7a.9987.9987,0,0,0,.8-.4L10,26.667,12.2,29.6a1.0353,1.0353,0,0,0,1.6,0L16,26.667,18.2,29.6a1.0353,1.0353,0,0,0,1.6,0L22,26.667,24.2,29.6a.9993.9993,0,0,0,.8.4h1a1,1,0,0,0,1-1V4A2.0023,2.0023,0,0,0,25,2Zm0,25.333L22.8,24.4a1.0353,1.0353,0,0,0-1.6,0L19,27.333,16.8,24.4a1.0353,1.0353,0,0,0-1.6,0L13,27.333,10.8,24.4a1.0353,1.0353,0,0,0-1.6,0L7,27.333V4H25Z"/>',
|
|
52
103
|
"recently-viewed": '<path d="M20.59 22 15 16.41 15 7 17 7 17 15.58 22 20.59 20.59 22z"/><path d="M16,2A13.94,13.94,0,0,0,6,6.23V2H4v8h8V8H7.08A12,12,0,1,1,4,16H2A14,14,0,1,0,16,2Z"/>',
|
|
104
|
+
"redo": '<path d="M12,10H24.1851L20.5977,6.4141,22,5,28,11,22,17l-1.4023-1.4146L24.1821,12H12a6,6,0,0,0,0,12h8v2H12a8,8,0,0,1,0-16Z"/>',
|
|
53
105
|
"renew": '<path d="M12,10H6.78A11,11,0,0,1,27,16h2A13,13,0,0,0,6,7.68V4H4v8h8Z"/><path d="M20,22h5.22A11,11,0,0,1,5,16H3a13,13,0,0,0,23,8.32V28h2V20H20Z"/>',
|
|
106
|
+
"repeat": '<path d="M6,6H26.1719l-3.586-3.5859L24,1l6,6-6,6-1.4141-1.4141L26.1719,8H6v7H4V8A2.0024,2.0024,0,0,1,6,6Z"/><path d="M9.4141,20.4141,5.8281,24H26V17h2v7a2.0024,2.0024,0,0,1-2,2H5.8281L9.414,29.5859,8,31,2,25l6-6Z"/>',
|
|
107
|
+
"report": '<path d="M10 18H18V20H10z"/><path d="M10 13H22V15H10z"/><path d="M10 23H15V25H10z"/><path d="M25,5H22V4a2,2,0,0,0-2-2H12a2,2,0,0,0-2,2V5H7A2,2,0,0,0,5,7V28a2,2,0,0,0,2,2H25a2,2,0,0,0,2-2V7A2,2,0,0,0,25,5ZM12,4h8V8H12ZM25,28H7V7h3v3H22V7h3Z"/>',
|
|
108
|
+
"request-quote": '<path d="M22,22v6H6V4H16V2H6A2,2,0,0,0,4,4V28a2,2,0,0,0,2,2H22a2,2,0,0,0,2-2V22Z"/><path d="M29.54,5.76l-3.3-3.3a1.6,1.6,0,0,0-2.24,0l-14,14V22h5.53l14-14a1.6,1.6,0,0,0,0-2.24ZM14.7,20H12V17.3l9.44-9.45,2.71,2.71ZM25.56,9.15,22.85,6.44l2.27-2.27,2.71,2.71Z"/>',
|
|
109
|
+
"reset": '<path d="M18,28A12,12,0,1,0,6,16v6.2L2.4,18.6,1,20l6,6,6-6-1.4-1.4L8,22.2V16H8A10,10,0,1,1,18,26Z"/>',
|
|
110
|
+
"rule": '<path d="M10 16H22V18H10z"/><path d="M10 10H22V12H10z"/><path d="M16,30,9.8242,26.7071A10.9815,10.9815,0,0,1,4,17V4A2.0022,2.0022,0,0,1,6,2H26a2.0022,2.0022,0,0,1,2,2V17a10.9815,10.9815,0,0,1-5.8242,9.7069ZM6,4V17a8.9852,8.9852,0,0,0,4.7656,7.9423L16,27.7333l5.2344-2.791A8.9852,8.9852,0,0,0,26,17V4Z"/>',
|
|
111
|
+
"save": '<path d="M27.71,9.29l-5-5A1,1,0,0,0,22,4H6A2,2,0,0,0,4,6V26a2,2,0,0,0,2,2H26a2,2,0,0,0,2-2V10A1,1,0,0,0,27.71,9.29ZM12,6h8v4H12Zm8,20H12V18h8Zm2,0V18a2,2,0,0,0-2-2H12a2,2,0,0,0-2,2v8H6V6h4v4a2,2,0,0,0,2,2h8a2,2,0,0,0,2-2V6.41l4,4V26Z"/>',
|
|
112
|
+
"scales": '<path d="M20,16a5,5,0,0,0,10,0,1,1,0,0,0-.1055-.4473L25.896,7.5562a.8913.8913,0,0,0-.0454-.0816A1,1,0,0,0,25,7H18.8218A3.0155,3.0155,0,0,0,17,5.1841V2H15V5.1841A3.0155,3.0155,0,0,0,13.1782,7H7a1,1,0,0,0-.8945.5527l-4,8A1,1,0,0,0,2,16a5,5,0,0,0,10,0,1,1,0,0,0-.1055-.4473L8.6182,9h4.56A3.0147,3.0147,0,0,0,15,10.8154V28H6v2H26V28H17V10.8159A3.0155,3.0155,0,0,0,18.8218,9h4.56l-3.2763,6.5527A1,1,0,0,0,20,16ZM7,19a2.9958,2.9958,0,0,1-2.8152-2h5.63A2.9956,2.9956,0,0,1,7,19Zm2.3821-4H4.6179L7,10.2363ZM16,9a1,1,0,1,1,1-1A1.0009,1.0009,0,0,1,16,9Zm9,10a2.9958,2.9958,0,0,1-2.8152-2h5.63A2.9956,2.9956,0,0,1,25,19Zm0-8.7637L27.3821,15H22.6179Z"/>',
|
|
54
113
|
"search": '<path d="M29,27.5859l-7.5521-7.5521a11.0177,11.0177,0,1,0-1.4141,1.4141L27.5859,29ZM4,13a9,9,0,1,1,9,9A9.01,9.01,0,0,1,4,13Z"/>',
|
|
114
|
+
"send": '<path d="M27.45,15.11l-22-11a1,1,0,0,0-1.08.12,1,1,0,0,0-.33,1L7,16,4,26.74A1,1,0,0,0,5,28a1,1,0,0,0,.45-.11l22-11a1,1,0,0,0,0-1.78Zm-20.9,10L8.76,17H18V15H8.76L6.55,6.89,24.76,16Z"/>',
|
|
55
115
|
"settings": '<path d="M27,16.76c0-.25,0-.5,0-.76s0-.51,0-.77l1.92-1.68A2,2,0,0,0,29.3,11L26.94,7a2,2,0,0,0-1.73-1,2,2,0,0,0-.64.1l-2.43.82a11.35,11.35,0,0,0-1.31-.75l-.51-2.52a2,2,0,0,0-2-1.61H13.64a2,2,0,0,0-2,1.61l-.51,2.52a11.48,11.48,0,0,0-1.32.75L7.43,6.06A2,2,0,0,0,6.79,6,2,2,0,0,0,5.06,7L2.7,11a2,2,0,0,0,.41,2.51L5,15.24c0,.25,0,.5,0,.76s0,.51,0,.77L3.11,18.45A2,2,0,0,0,2.7,21L5.06,25a2,2,0,0,0,1.73,1,2,2,0,0,0,.64-.1l2.43-.82a11.35,11.35,0,0,0,1.31.75l.51,2.52a2,2,0,0,0,2,1.61h4.72a2,2,0,0,0,2-1.61l.51-2.52a11.48,11.48,0,0,0,1.32-.75l2.42.82a2,2,0,0,0,.64.1,2,2,0,0,0,1.73-1L29.3,21a2,2,0,0,0-.41-2.51ZM25.21,24l-3.43-1.16a8.86,8.86,0,0,1-2.71,1.57L18.36,28H13.64l-.71-3.55a9.36,9.36,0,0,1-2.7-1.57L6.79,24,4.43,20l2.72-2.4a8.9,8.9,0,0,1,0-3.13L4.43,12,6.79,8l3.43,1.16a8.86,8.86,0,0,1,2.71-1.57L13.64,4h4.72l.71,3.55a9.36,9.36,0,0,1,2.7,1.57L25.21,8,27.57,12l-2.72,2.4a8.9,8.9,0,0,1,0,3.13L27.57,20Z"/><path d="M16,22a6,6,0,1,1,6-6A5.94,5.94,0,0,1,16,22Zm0-10a3.91,3.91,0,0,0-4,4,3.91,3.91,0,0,0,4,4,3.91,3.91,0,0,0,4-4A3.91,3.91,0,0,0,16,12Z"/>',
|
|
56
116
|
"settings--adjust": '<path d="M30,8h-4.1c-0.5-2.3-2.5-4-4.9-4s-4.4,1.7-4.9,4H2v2h14.1c0.5,2.3,2.5,4,4.9,4s4.4-1.7,4.9-4H30V8z M21,12c-1.7,0-3-1.3-3-3 s1.3-3,3-3s3,1.3,3,3S22.7,12,21,12z"/><path d="M2,24h4.1c0.5,2.3,2.5,4,4.9,4s4.4-1.7,4.9-4H30v-2H15.9c-0.5-2.3-2.5-4-4.9-4s-4.4,1.7-4.9,4H2V24z M11,20c1.7,0,3,1.3,3,3 s-1.3,3-3,3s-3-1.3-3-3S9.3,20,11,20z"/>',
|
|
117
|
+
"shopping--bag": '<path d="M28.76,11.35A1,1,0,0,0,28,11H22V7a3,3,0,0,0-3-3H13a3,3,0,0,0-3,3v4H4a1,1,0,0,0-1,1.15L4.88,24.3a2,2,0,0,0,2,1.7H25.14a2,2,0,0,0,2-1.7L29,12.15A1,1,0,0,0,28.76,11.35ZM12,7a1,1,0,0,1,1-1h6a1,1,0,0,1,1,1v4H12ZM25.14,24H6.86L5.17,13H26.83Z"/>',
|
|
57
118
|
"shopping--cart": '<circle cx="10" cy="28" r="2"/><circle cx="24" cy="28" r="2"/><path d="M28,7H5.82L5,2.8A1,1,0,0,0,4,2H0V4H3.18L7,23.2A1,1,0,0,0,8,24H26V22H8.82L8,18H26a1,1,0,0,0,1-.78l2-9A1,1,0,0,0,28,7Zm-2.8,9H7.62L6.22,9H26.75Z"/>',
|
|
119
|
+
"sort--ascending": '<path d="M18 22 19.414 20.586 23 24.172 23 4 25 4 25 24.172 28.586 20.586 30 22 24 28 18 22z"/><path d="M2 18H16V20H2z"/><path d="M6 12H16V14H6z"/><path d="M10 6H16V8H10z"/>',
|
|
120
|
+
"sort--descending": '<path d="M18 22 19.414 20.586 23 24.172 23 4 25 4 25 24.172 28.586 20.586 30 22 24 28 18 22z"/><path d="M2 6H16V8H2z"/><path d="M6 12H16V14H6z"/><path d="M10 18H16V20H10z"/>',
|
|
121
|
+
"star": '<path d="M16,6.52l2.76,5.58.46,1,1,.15,6.16.89L22,18.44l-.75.73.18,1,1.05,6.13-5.51-2.89L16,23l-.93.49L9.56,26.34l1-6.13.18-1L10,18.44,5.58,14.09l6.16-.89,1-.15.46-1L16,6.52M16,2l-4.55,9.22L1.28,12.69l7.36,7.18L6.9,30,16,25.22,25.1,30,23.36,19.87l7.36-7.17L20.55,11.22Z"/>',
|
|
122
|
+
"star--filled": '<path d="M16,2l-4.55,9.22L1.28,12.69l7.36,7.18L6.9,30,16,25.22,25.1,30,23.36,19.87l7.36-7.17L20.55,11.22Z"/>',
|
|
58
123
|
"subtract": '<path d="M8 15H24V17H8z"/>',
|
|
124
|
+
"table--split": '<path d="M27,3H5A2,2,0,0,0,3,5V27a2,2,0,0,0,2,2H27a2,2,0,0,0,2-2V5A2,2,0,0,0,27,3Zm0,2V9H5V5ZM17,11H27v7H17Zm-2,7H5V11H15ZM5,20H15v7H5Zm12,7V20H27v7Z"/>',
|
|
125
|
+
"tag": '<path d="M10,14a4,4,0,1,1,4-4A4.0045,4.0045,0,0,1,10,14Zm0-6a2,2,0,1,0,1.998,2.0044A2.002,2.002,0,0,0,10,8Z"/><path d="M16.6436,29.4145,2.5858,15.3555A2,2,0,0,1,2,13.9414V4A2,2,0,0,1,4,2h9.9413a2,2,0,0,1,1.4142.5858L29.4144,16.6436a2.0005,2.0005,0,0,1,0,2.8285l-9.9424,9.9425a2.0008,2.0008,0,0,1-2.8285,0ZM4,4v9.9417L18.0578,28,28,18.0579,13.9416,4Z"/>',
|
|
126
|
+
"task": '<path d="M14 20.18 10.41 16.59 9 18 14 23 23 14 21.59 12.58 14 20.18z"/><path d="M25,5H22V4a2,2,0,0,0-2-2H12a2,2,0,0,0-2,2V5H7A2,2,0,0,0,5,7V28a2,2,0,0,0,2,2H25a2,2,0,0,0,2-2V7A2,2,0,0,0,25,5ZM12,4h8V8H12ZM25,28H7V7h3v3H22V7h3Z"/>',
|
|
127
|
+
"task--complete": '<path d="M22 27.18 19.41 24.59 18 26 22 30 30 22 28.59 20.59 22 27.18z"/><path d="M25,5H22V4a2.0058,2.0058,0,0,0-2-2H12a2.0058,2.0058,0,0,0-2,2V5H7A2.0058,2.0058,0,0,0,5,7V28a2.0058,2.0058,0,0,0,2,2h9V28H7V7h3v3H22V7h3V18h2V7A2.0058,2.0058,0,0,0,25,5ZM20,8H12V4h8Z"/>',
|
|
59
128
|
"text--font": '<path d="M25,12H20v2h5a1.0008,1.0008,0,0,1,1,1v2H22a3.0033,3.0033,0,0,0-3,3v1a3.0033,3.0033,0,0,0,3,3h6V15A3.0033,3.0033,0,0,0,25,12ZM22,22a1.0008,1.0008,0,0,1-1-1V20a1.0008,1.0008,0,0,1,1-1h4v3Z"/><path d="M16,24h2L12,7H10L4,24H6l1.6936-5h6.6135ZM8.3711,17l2.4966-7.3711.2668.0005L13.63,17Z"/>',
|
|
60
129
|
"time": '<path d="M16,30A14,14,0,1,1,30,16,14,14,0,0,1,16,30ZM16,4A12,12,0,1,0,28,16,12,12,0,0,0,16,4Z"/><path d="M20.59 22 15 16.41 15 7 17 7 17 15.58 22 20.59 20.59 22z"/>',
|
|
61
130
|
"trash-can": '<path d="M12 12H14V24H12z"/><path d="M18 12H20V24H18z"/><path d="M4,6V8H6V28a2,2,0,0,0,2,2H24a2,2,0,0,0,2-2V8h2V6ZM8,28V8H24V28Z"/><path d="M12 2H20V4H12z"/>',
|
|
131
|
+
"undo": '<path d="M20,10H7.8149l3.5874-3.5859L10,5,4,11,10,17l1.4023-1.4146L7.8179,12H20a6,6,0,0,1,0,12H12v2h8a8,8,0,0,0,0-16Z"/>',
|
|
62
132
|
"user": '<path d="M16,4a5,5,0,1,1-5,5,5,5,0,0,1,5-5m0-2a7,7,0,1,0,7,7A7,7,0,0,0,16,2Z"/><path d="M26,30H24V25a5,5,0,0,0-5-5H13a5,5,0,0,0-5,5v5H6V25a7,7,0,0,1,7-7h6a7,7,0,0,1,7,7Z"/>',
|
|
133
|
+
"user--admin": '<path d="M12,4A5,5,0,1,1,7,9a5,5,0,0,1,5-5m0-2a7,7,0,1,0,7,7A7,7,0,0,0,12,2Z"/><path d="M22,30H20V25a5,5,0,0,0-5-5H9a5,5,0,0,0-5,5v5H2V25a7,7,0,0,1,7-7h6a7,7,0,0,1,7,7Z"/><path d="M25 16.18 22.41 13.59 21 15 25 19 32 12 30.59 10.59 25 16.18z"/>',
|
|
134
|
+
"user--follow": '<path d="M32 14 28 14 28 10 26 10 26 14 22 14 22 16 26 16 26 20 28 20 28 16 32 16 32 14z"/><path d="M12,4A5,5,0,1,1,7,9a5,5,0,0,1,5-5m0-2a7,7,0,1,0,7,7A7,7,0,0,0,12,2Z"/><path d="M22,30H20V25a5,5,0,0,0-5-5H9a5,5,0,0,0-5,5v5H2V25a7,7,0,0,1,7-7h6a7,7,0,0,1,7,7Z"/>',
|
|
135
|
+
"user--multiple": '<path d="M30,30H28V25a5.0057,5.0057,0,0,0-5-5V18a7.0078,7.0078,0,0,1,7,7Z"/><path d="M22,30H20V25a5.0059,5.0059,0,0,0-5-5H9a5.0059,5.0059,0,0,0-5,5v5H2V25a7.0082,7.0082,0,0,1,7-7h6a7.0082,7.0082,0,0,1,7,7Z"/><path d="M20,2V4a5,5,0,0,1,0,10v2A7,7,0,0,0,20,2Z"/><path d="M12,4A5,5,0,1,1,7,9a5,5,0,0,1,5-5m0-2a7,7,0,1,0,7,7A7,7,0,0,0,12,2Z"/>',
|
|
136
|
+
"user--profile": '<path d="M12,4A5,5,0,1,1,7,9a5,5,0,0,1,5-5m0-2a7,7,0,1,0,7,7A7,7,0,0,0,12,2Z"/><path d="M22,30H20V25a5,5,0,0,0-5-5H9a5,5,0,0,0-5,5v5H2V25a7,7,0,0,1,7-7h6a7,7,0,0,1,7,7Z"/><path d="M22 4H32V6H22z"/><path d="M22 9H32V11H22z"/><path d="M22 14H29V16H22z"/>',
|
|
63
137
|
"view": '<path d="M30.94,15.66A16.69,16.69,0,0,0,16,5,16.69,16.69,0,0,0,1.06,15.66a1,1,0,0,0,0,.68A16.69,16.69,0,0,0,16,27,16.69,16.69,0,0,0,30.94,16.34,1,1,0,0,0,30.94,15.66ZM16,25c-5.3,0-10.9-3.93-12.93-9C5.1,10.93,10.7,7,16,7s10.9,3.93,12.93,9C26.9,21.07,21.3,25,16,25Z"/><path d="M16,10a6,6,0,1,0,6,6A6,6,0,0,0,16,10Zm0,10a4,4,0,1,1,4-4A4,4,0,0,1,16,20Z"/>',
|
|
138
|
+
"wallet": '<path d="M22 17H24V19H22z"/><path d="M28,8H4V5H26V3H4A2,2,0,0,0,2,5V26a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10A2,2,0,0,0,28,8ZM4,26V10H28v3H20a2,2,0,0,0-2,2v6a2,2,0,0,0,2,2h8v3ZM28,15v6H20V15Z"/>',
|
|
64
139
|
"warning--alt": '<path d="M16,23a1.5,1.5,0,1,0,1.5,1.5A1.5,1.5,0,0,0,16,23Z"/><path d="M15 12H17V21H15z"/><path d="M29,30H3a1,1,0,0,1-.8872-1.4614l13-25a1,1,0,0,1,1.7744,0l13,25A1,1,0,0,1,29,30ZM4.6507,28H27.3493l.002-.0033L16.002,6.1714h-.004L4.6487,27.9967Z"/>',
|
|
65
140
|
"warning--filled": '<path d="M16,2C8.3,2,2,8.3,2,16s6.3,14,14,14s14-6.3,14-14C30,8.3,23.7,2,16,2z M14.9,8h2.2v11h-2.2V8z M16,25 c-0.8,0-1.5-0.7-1.5-1.5S15.2,22,16,22c0.8,0,1.5,0.7,1.5,1.5S16.8,25,16,25z"/><path fill="none" d="M17.5,23.5c0,0.8-0.7,1.5-1.5,1.5c-0.8,0-1.5-0.7-1.5-1.5S15.2,22,16,22 C16.8,22,17.5,22.7,17.5,23.5z M17.1,8h-2.2v11h2.2V8z" data-icon-path="inner-path" opacity="0"/>'
|
|
66
141
|
};
|
|
@@ -133,8 +208,96 @@ var CARBON_MAP = {
|
|
|
133
208
|
"pencil": "edit",
|
|
134
209
|
"lock": "locked",
|
|
135
210
|
"eye": "view",
|
|
136
|
-
"minimize-2": "minimize"
|
|
211
|
+
"minimize-2": "minimize",
|
|
212
|
+
/* --- Direction and chrome, completing the sets above --------------------
|
|
213
|
+
`chevron-up` and `arrow-left` were missing while their three siblings shipped, so a collapsible
|
|
214
|
+
that pointed down had nothing to point back up with. */
|
|
215
|
+
"chevron-up": "chevron--up",
|
|
216
|
+
"arrow-left": "arrow--left",
|
|
217
|
+
"more-horizontal": "overflow-menu--horizontal",
|
|
218
|
+
"maximize-2": "maximize",
|
|
219
|
+
"log-out": "logout",
|
|
220
|
+
"log-in": "login",
|
|
221
|
+
"archive": "archive",
|
|
222
|
+
"folder": "folder",
|
|
223
|
+
"book": "book",
|
|
224
|
+
"notebook": "notebook",
|
|
225
|
+
"asterisk": "asterisk",
|
|
226
|
+
"bookmark": "bookmark",
|
|
227
|
+
"star": "star",
|
|
228
|
+
"star-filled": "star--filled",
|
|
229
|
+
"tag": "tag",
|
|
230
|
+
"repeat": "repeat",
|
|
231
|
+
"undo-2": "undo",
|
|
232
|
+
"redo-2": "redo",
|
|
233
|
+
"rotate-ccw": "reset",
|
|
234
|
+
"table": "table--split",
|
|
235
|
+
"database": "data--base",
|
|
236
|
+
"function-square": "function",
|
|
237
|
+
/* --- Money -------------------------------------------------------------
|
|
238
|
+
`credit-card` is here because its absence shipped: it resolved to nothing, rendered an empty
|
|
239
|
+
box, and reached production on the payment notifications. Carbon spells it `payment--methods`,
|
|
240
|
+
which is exactly the kind of mismatch this map exists to absorb. */
|
|
241
|
+
"credit-card": "payment--methods",
|
|
242
|
+
"wallet": "wallet",
|
|
243
|
+
"banknote": "money",
|
|
244
|
+
"coins": "currency",
|
|
245
|
+
"dollar-sign": "currency--dollar",
|
|
246
|
+
"euro": "currency--euro",
|
|
247
|
+
"receipt": "receipt",
|
|
248
|
+
"percent": "percentage",
|
|
249
|
+
"piggy-bank": "piggy-bank",
|
|
250
|
+
"landmark": "bank--vault",
|
|
251
|
+
"scale": "scales",
|
|
252
|
+
"purchase": "purchase",
|
|
253
|
+
/* --- Documents and ERP objects ----------------------------------------- */
|
|
254
|
+
"file-signature": "request-quote",
|
|
255
|
+
"scroll-text": "license",
|
|
256
|
+
"file-plus": "document--add",
|
|
257
|
+
"save": "save",
|
|
258
|
+
"file-bar-chart": "report",
|
|
259
|
+
"list-todo": "task",
|
|
260
|
+
"check-square": "task--complete",
|
|
261
|
+
"gavel": "rule",
|
|
262
|
+
"id-card": "identification",
|
|
263
|
+
"briefcase": "portfolio",
|
|
264
|
+
"handshake": "partnership",
|
|
265
|
+
"lightbulb": "idea",
|
|
266
|
+
"inventory": "inventory-management",
|
|
267
|
+
"package-2": "delivery--parcel",
|
|
268
|
+
"shopping-bag": "shopping--bag",
|
|
269
|
+
"barcode": "barcode",
|
|
270
|
+
"qr-code": "qr-code",
|
|
271
|
+
"git-branch": "flow",
|
|
272
|
+
"bug": "debug",
|
|
273
|
+
/* --- People and contact ------------------------------------------------- */
|
|
274
|
+
"users": "user--multiple",
|
|
275
|
+
"user-plus": "user--follow",
|
|
276
|
+
"user-cog": "user--admin",
|
|
277
|
+
"user-circle": "user--profile",
|
|
278
|
+
"mail": "email",
|
|
279
|
+
"phone": "phone",
|
|
280
|
+
"send": "send",
|
|
281
|
+
"globe": "globe",
|
|
282
|
+
"building": "location--company",
|
|
283
|
+
/* --- Charts and time ---------------------------------------------------- */
|
|
284
|
+
"bar-chart-3": "chart--column",
|
|
285
|
+
"bar-chart-horizontal": "chart--bar",
|
|
286
|
+
"line-chart": "chart--line",
|
|
287
|
+
"pie-chart": "chart--pie",
|
|
288
|
+
"area-chart": "chart--area",
|
|
289
|
+
"calendar-days": "events",
|
|
290
|
+
"calendar-plus": "calendar--add",
|
|
291
|
+
"calendar-heatmap": "calendar--heat-map",
|
|
292
|
+
/* --- Transfer ----------------------------------------------------------- */
|
|
293
|
+
"cloud-upload": "cloud--upload",
|
|
294
|
+
"cloud-download": "cloud--download",
|
|
295
|
+
"filter-x": "filter--edit",
|
|
296
|
+
"arrow-up-narrow-wide": "sort--ascending",
|
|
297
|
+
"arrow-down-wide-narrow": "sort--descending",
|
|
298
|
+
"badge-info": "information--square"
|
|
137
299
|
};
|
|
300
|
+
var ICON_NAMES = Object.freeze(Object.keys(CARBON_MAP).sort());
|
|
138
301
|
|
|
139
302
|
// src/components/core/Icon.tsx
|
|
140
303
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -187,7 +350,14 @@ function Icon({ name, size = 16, label, pack, style, ...rest }) {
|
|
|
187
350
|
"data-icon": name,
|
|
188
351
|
...rest,
|
|
189
352
|
style: { display: "inline-block", flex: "0 0 auto", width: size, height: size, ...style },
|
|
190
|
-
children: markup === void 0 ?
|
|
353
|
+
children: markup === void 0 ? (
|
|
354
|
+
// A broken icon has to look broken. In development the box gets a dashed outline so the
|
|
355
|
+
// gap is visible on screen instead of only in a console warning that is easy to lose in a
|
|
356
|
+
// busy log — which is how a missing `credit-card` reached production as a blank square.
|
|
357
|
+
// Production still renders nothing at all: a dev diagnostic must never become a user's
|
|
358
|
+
// first sight of a defect. Deliberately not an <svg>, so nothing reads it as a real glyph.
|
|
359
|
+
IS_DEV ? /* @__PURE__ */ jsx("span", { className: "pire-icon-missing", title: `Unknown icon: ${name}` }) : null
|
|
360
|
+
) : /* @__PURE__ */ jsx(
|
|
191
361
|
"svg",
|
|
192
362
|
{
|
|
193
363
|
viewBox: "0 0 32 32",
|
|
@@ -511,25 +681,31 @@ function Separator({
|
|
|
511
681
|
);
|
|
512
682
|
}
|
|
513
683
|
|
|
684
|
+
// src/components/core/Kbd.tsx
|
|
685
|
+
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
686
|
+
function Kbd({ children, size = "md", className, ...rest }) {
|
|
687
|
+
return /* @__PURE__ */ jsx14("kbd", { className: cx("pire-kbd", className), "data-size": size, ...rest, children });
|
|
688
|
+
}
|
|
689
|
+
|
|
514
690
|
// src/components/forms/FormField.tsx
|
|
515
|
-
import { jsx as
|
|
691
|
+
import { jsx as jsx15, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
516
692
|
function FormField({ label, htmlFor, isRequired, hint, error, layout = "stacked", children, className, ...rest }) {
|
|
517
693
|
return /* @__PURE__ */ jsxs9("div", { className: cx("pire-field", className), "data-layout": layout, ...rest, children: [
|
|
518
694
|
/* @__PURE__ */ jsxs9("label", { className: "pire-field-label", htmlFor, children: [
|
|
519
695
|
label,
|
|
520
|
-
isRequired ? /* @__PURE__ */
|
|
696
|
+
isRequired ? /* @__PURE__ */ jsx15("span", { className: "pire-field-req", "aria-hidden": "true", children: "*" }) : null
|
|
521
697
|
] }),
|
|
522
698
|
children,
|
|
523
699
|
error ? /* @__PURE__ */ jsxs9("span", { className: "pire-field-error", role: "alert", children: [
|
|
524
|
-
/* @__PURE__ */
|
|
700
|
+
/* @__PURE__ */ jsx15(Icon, { name: "alert-circle", size: 12 }),
|
|
525
701
|
error
|
|
526
|
-
] }) : hint ? /* @__PURE__ */
|
|
702
|
+
] }) : hint ? /* @__PURE__ */ jsx15("span", { className: "pire-field-hint", children: hint }) : null
|
|
527
703
|
] });
|
|
528
704
|
}
|
|
529
705
|
|
|
530
706
|
// src/components/forms/Input.tsx
|
|
531
707
|
import { TextField, Label, Input as AriaInput, Group, Text as Text2, FieldError } from "react-aria-components";
|
|
532
|
-
import { jsx as
|
|
708
|
+
import { jsx as jsx16, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
533
709
|
function Input({
|
|
534
710
|
label,
|
|
535
711
|
icon,
|
|
@@ -556,7 +732,7 @@ function Input({
|
|
|
556
732
|
children: [
|
|
557
733
|
label ? /* @__PURE__ */ jsxs10(Label, { className: "pire-field-label", children: [
|
|
558
734
|
label,
|
|
559
|
-
rest.isRequired ? /* @__PURE__ */
|
|
735
|
+
rest.isRequired ? /* @__PURE__ */ jsx16("span", { className: "pire-field-req", "aria-hidden": "true", children: "*" }) : null
|
|
560
736
|
] }) : null,
|
|
561
737
|
/* @__PURE__ */ jsxs10(
|
|
562
738
|
Group,
|
|
@@ -567,14 +743,14 @@ function Input({
|
|
|
567
743
|
"data-invalid": rest.isInvalid ? "true" : void 0,
|
|
568
744
|
"data-readonly": rest.isReadOnly ? "true" : void 0,
|
|
569
745
|
children: [
|
|
570
|
-
icon ? /* @__PURE__ */
|
|
571
|
-
/* @__PURE__ */
|
|
572
|
-
suffix ? /* @__PURE__ */
|
|
746
|
+
icon ? /* @__PURE__ */ jsx16(Icon, { name: icon, size: 16, className: "pire-leading-icon" }) : null,
|
|
747
|
+
/* @__PURE__ */ jsx16(AriaInput, { ref: inputRef, className: "pire-input", "data-numeric": numeric ? "true" : void 0 }),
|
|
748
|
+
suffix ? /* @__PURE__ */ jsx16("span", { className: "pire-affix", children: suffix }) : null
|
|
573
749
|
]
|
|
574
750
|
}
|
|
575
751
|
),
|
|
576
|
-
description ? /* @__PURE__ */
|
|
577
|
-
/* @__PURE__ */
|
|
752
|
+
description ? /* @__PURE__ */ jsx16(Text2, { slot: "description", className: "pire-field-hint", children: description }) : null,
|
|
753
|
+
/* @__PURE__ */ jsx16(FieldError, { className: "pire-field-error", children: errorMessage })
|
|
578
754
|
]
|
|
579
755
|
}
|
|
580
756
|
);
|
|
@@ -583,7 +759,7 @@ function Input({
|
|
|
583
759
|
// src/components/forms/TextArea.tsx
|
|
584
760
|
import * as React5 from "react";
|
|
585
761
|
import { TextField as TextField2, Label as Label2, TextArea as AriaTextArea, Group as Group2, Text as Text3, FieldError as FieldError2 } from "react-aria-components";
|
|
586
|
-
import { jsx as
|
|
762
|
+
import { jsx as jsx17, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
587
763
|
var useIsomorphicLayoutEffect = typeof document === "undefined" ? React5.useEffect : React5.useLayoutEffect;
|
|
588
764
|
function TextArea({
|
|
589
765
|
label,
|
|
@@ -635,9 +811,9 @@ function TextArea({
|
|
|
635
811
|
children: [
|
|
636
812
|
label ? /* @__PURE__ */ jsxs11(Label2, { className: "pire-field-label", children: [
|
|
637
813
|
label,
|
|
638
|
-
rest.isRequired ? /* @__PURE__ */
|
|
814
|
+
rest.isRequired ? /* @__PURE__ */ jsx17("span", { className: "pire-field-req", "aria-hidden": "true", children: "*" }) : null
|
|
639
815
|
] }) : null,
|
|
640
|
-
/* @__PURE__ */
|
|
816
|
+
/* @__PURE__ */ jsx17(
|
|
641
817
|
Group2,
|
|
642
818
|
{
|
|
643
819
|
className: "pire-control",
|
|
@@ -646,7 +822,7 @@ function TextArea({
|
|
|
646
822
|
"data-multiline": "true",
|
|
647
823
|
"data-invalid": rest.isInvalid ? "true" : void 0,
|
|
648
824
|
"data-readonly": rest.isReadOnly ? "true" : void 0,
|
|
649
|
-
children: /* @__PURE__ */
|
|
825
|
+
children: /* @__PURE__ */ jsx17(
|
|
650
826
|
AriaTextArea,
|
|
651
827
|
{
|
|
652
828
|
ref,
|
|
@@ -658,8 +834,8 @@ function TextArea({
|
|
|
658
834
|
)
|
|
659
835
|
}
|
|
660
836
|
),
|
|
661
|
-
description ? /* @__PURE__ */
|
|
662
|
-
/* @__PURE__ */
|
|
837
|
+
description ? /* @__PURE__ */ jsx17(Text3, { slot: "description", className: "pire-field-hint", children: description }) : null,
|
|
838
|
+
/* @__PURE__ */ jsx17(FieldError2, { className: "pire-field-error", children: errorMessage })
|
|
663
839
|
]
|
|
664
840
|
}
|
|
665
841
|
);
|
|
@@ -703,10 +879,14 @@ var enMessages = {
|
|
|
703
879
|
dateRangePresetsLabel: "Date range shortcuts",
|
|
704
880
|
numberFieldIncrease: "Increase",
|
|
705
881
|
numberFieldDecrease: "Decrease",
|
|
882
|
+
valueHelpFieldPlaceholder: "Not selected",
|
|
706
883
|
valueHelpFieldClear: "Clear selection",
|
|
707
884
|
valueHelpFieldOpenNamed: "Select {label}",
|
|
708
885
|
valueHelpFieldOpen: "Open value help",
|
|
709
886
|
valueHelpDialogSearch: "Search records",
|
|
887
|
+
valueHelpDialogTitle: "Select a record",
|
|
888
|
+
valueHelpDialogSearchPlaceholder: "Search by ID or name",
|
|
889
|
+
valueHelpDialogEmpty: "No records found",
|
|
710
890
|
valueHelpDialogCancel: "Cancel",
|
|
711
891
|
paginationLabel: "Pagination",
|
|
712
892
|
paginationRange: "{from}\u2013{to} of {total}",
|
|
@@ -719,6 +899,15 @@ var enMessages = {
|
|
|
719
899
|
fileUploadRemoveNamed: "Remove {name}",
|
|
720
900
|
fileUploadUploading: "Uploading",
|
|
721
901
|
fileDropZonePrompt: "Drag files here, or choose them",
|
|
902
|
+
shellBarUserMenu: "Account menu for {user}",
|
|
903
|
+
commandPaletteLabel: "Command palette",
|
|
904
|
+
commandPaletteSearchLabel: "Search commands and records",
|
|
905
|
+
commandPalettePlaceholder: "Search for a screen, an action or a record\u2026",
|
|
906
|
+
commandPaletteEmpty: "Nothing matches that",
|
|
907
|
+
commandPaletteLoading: "Searching\u2026",
|
|
908
|
+
commandPaletteHintNavigate: "navigate",
|
|
909
|
+
commandPaletteHintSelect: "open",
|
|
910
|
+
commandPaletteHintClose: "close",
|
|
722
911
|
chartCategoryHeader: "Category",
|
|
723
912
|
chartNoValue: "No data",
|
|
724
913
|
chartEmpty: "No data for this period"
|
|
@@ -744,10 +933,14 @@ var esMessages = {
|
|
|
744
933
|
dateRangePresetsLabel: "Atajos de rango de fechas",
|
|
745
934
|
numberFieldIncrease: "Aumentar",
|
|
746
935
|
numberFieldDecrease: "Disminuir",
|
|
936
|
+
valueHelpFieldPlaceholder: "Sin seleccionar",
|
|
747
937
|
valueHelpFieldClear: "Limpiar selecci\xF3n",
|
|
748
938
|
valueHelpFieldOpenNamed: "Seleccionar {label}",
|
|
749
939
|
valueHelpFieldOpen: "Abrir ayuda de valores",
|
|
750
940
|
valueHelpDialogSearch: "Buscar registros",
|
|
941
|
+
valueHelpDialogTitle: "Seleccionar un registro",
|
|
942
|
+
valueHelpDialogSearchPlaceholder: "Buscar por c\xF3digo o nombre",
|
|
943
|
+
valueHelpDialogEmpty: "No se encontraron registros",
|
|
751
944
|
valueHelpDialogCancel: "Cancelar",
|
|
752
945
|
paginationLabel: "Paginaci\xF3n",
|
|
753
946
|
paginationRange: "{from}\u2013{to} de {total}",
|
|
@@ -760,20 +953,29 @@ var esMessages = {
|
|
|
760
953
|
fileUploadRemoveNamed: "Quitar {name}",
|
|
761
954
|
fileUploadUploading: "Subiendo",
|
|
762
955
|
fileDropZonePrompt: "Arrastr\xE1 archivos ac\xE1, o elegilos",
|
|
956
|
+
shellBarUserMenu: "Men\xFA de cuenta de {user}",
|
|
957
|
+
commandPaletteLabel: "Paleta de comandos",
|
|
958
|
+
commandPaletteSearchLabel: "Buscar comandos y registros",
|
|
959
|
+
commandPalettePlaceholder: "Busc\xE1 una pantalla, una acci\xF3n o un registro\u2026",
|
|
960
|
+
commandPaletteEmpty: "No hay coincidencias",
|
|
961
|
+
commandPaletteLoading: "Buscando\u2026",
|
|
962
|
+
commandPaletteHintNavigate: "navegar",
|
|
963
|
+
commandPaletteHintSelect: "abrir",
|
|
964
|
+
commandPaletteHintClose: "cerrar",
|
|
763
965
|
chartCategoryHeader: "Categor\xEDa",
|
|
764
966
|
chartNoValue: "Sin datos",
|
|
765
967
|
chartEmpty: "Sin datos para este per\xEDodo"
|
|
766
968
|
};
|
|
767
969
|
|
|
768
970
|
// src/i18n/PireIntlProvider.tsx
|
|
769
|
-
import { jsx as
|
|
971
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
770
972
|
var MessagesContext = React6.createContext(enMessages);
|
|
771
973
|
function PireIntlProvider({ messages, children }) {
|
|
772
974
|
const value = React6.useMemo(
|
|
773
975
|
() => messages ? { ...enMessages, ...messages } : enMessages,
|
|
774
976
|
[messages]
|
|
775
977
|
);
|
|
776
|
-
return /* @__PURE__ */
|
|
978
|
+
return /* @__PURE__ */ jsx18(MessagesContext.Provider, { value, children });
|
|
777
979
|
}
|
|
778
980
|
function usePireMessages() {
|
|
779
981
|
return React6.useContext(MessagesContext);
|
|
@@ -784,7 +986,7 @@ function useMessage(key, override) {
|
|
|
784
986
|
}
|
|
785
987
|
|
|
786
988
|
// src/components/forms/Select.tsx
|
|
787
|
-
import { jsx as
|
|
989
|
+
import { jsx as jsx19, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
788
990
|
var norm = (o) => typeof o === "string" ? { value: o, label: o, isDisabled: false } : o;
|
|
789
991
|
function Select({
|
|
790
992
|
label,
|
|
@@ -819,7 +1021,7 @@ function Select({
|
|
|
819
1021
|
children: [
|
|
820
1022
|
label ? /* @__PURE__ */ jsxs12(Label3, { className: "pire-field-label", children: [
|
|
821
1023
|
label,
|
|
822
|
-
rest.isRequired ? /* @__PURE__ */
|
|
1024
|
+
rest.isRequired ? /* @__PURE__ */ jsx19("span", { className: "pire-field-req", "aria-hidden": "true", children: "*" }) : null
|
|
823
1025
|
] }) : null,
|
|
824
1026
|
/* @__PURE__ */ jsxs12(
|
|
825
1027
|
AriaButton4,
|
|
@@ -829,20 +1031,20 @@ function Select({
|
|
|
829
1031
|
"data-full-width": String(fullWidth),
|
|
830
1032
|
"data-invalid": rest.isInvalid ? "true" : void 0,
|
|
831
1033
|
children: [
|
|
832
|
-
/* @__PURE__ */
|
|
833
|
-
/* @__PURE__ */
|
|
1034
|
+
/* @__PURE__ */ jsx19(SelectValue, { className: "pire-select-value" }),
|
|
1035
|
+
/* @__PURE__ */ jsx19(Icon, { name: "chevron-down", size: 16, className: "pire-leading-icon" })
|
|
834
1036
|
]
|
|
835
1037
|
}
|
|
836
1038
|
),
|
|
837
|
-
description ? /* @__PURE__ */
|
|
838
|
-
/* @__PURE__ */
|
|
839
|
-
/* @__PURE__ */
|
|
1039
|
+
description ? /* @__PURE__ */ jsx19(Text4, { slot: "description", className: "pire-field-hint", children: description }) : null,
|
|
1040
|
+
/* @__PURE__ */ jsx19(FieldError3, { className: "pire-field-error", children: errorMessage }),
|
|
1041
|
+
/* @__PURE__ */ jsx19(Popover, { className: "pire-popover", children: /* @__PURE__ */ jsx19(
|
|
840
1042
|
ListBox,
|
|
841
1043
|
{
|
|
842
1044
|
className: "pire-listbox",
|
|
843
1045
|
items,
|
|
844
|
-
renderEmptyState: () => /* @__PURE__ */
|
|
845
|
-
children: (item) => /* @__PURE__ */
|
|
1046
|
+
renderEmptyState: () => /* @__PURE__ */ jsx19("div", { className: "pire-listbox-status", role: "status", "aria-live": "polite", children: emptyLabel ?? msg.selectEmpty }),
|
|
1047
|
+
children: (item) => /* @__PURE__ */ jsx19(ListBoxItem, { className: "pire-option", id: item.value, textValue: item.label, isDisabled: item.isDisabled, children: item.label })
|
|
846
1048
|
}
|
|
847
1049
|
) })
|
|
848
1050
|
]
|
|
@@ -852,13 +1054,13 @@ function Select({
|
|
|
852
1054
|
|
|
853
1055
|
// src/components/forms/Checkbox.tsx
|
|
854
1056
|
import { Checkbox as AriaCheckbox } from "react-aria-components";
|
|
855
|
-
import { Fragment, jsx as
|
|
1057
|
+
import { Fragment, jsx as jsx20, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
856
1058
|
function Checkbox({ label, hint, children, className, ...rest }) {
|
|
857
|
-
return /* @__PURE__ */
|
|
858
|
-
/* @__PURE__ */
|
|
1059
|
+
return /* @__PURE__ */ jsx20(AriaCheckbox, { className: cx("pire-choice", className), ...rest, children: ({ isSelected, isIndeterminate }) => /* @__PURE__ */ jsxs13(Fragment, { children: [
|
|
1060
|
+
/* @__PURE__ */ jsx20("span", { className: "pire-choice-box", "aria-hidden": "true", children: isIndeterminate ? /* @__PURE__ */ jsx20(Icon, { name: "minus", size: 12 }) : isSelected ? /* @__PURE__ */ jsx20(Icon, { name: "check", size: 12 }) : null }),
|
|
859
1061
|
/* @__PURE__ */ jsxs13("span", { children: [
|
|
860
1062
|
label ?? children,
|
|
861
|
-
hint ? /* @__PURE__ */
|
|
1063
|
+
hint ? /* @__PURE__ */ jsx20("span", { className: "pire-choice-hint", children: hint }) : null
|
|
862
1064
|
] })
|
|
863
1065
|
] }) });
|
|
864
1066
|
}
|
|
@@ -871,32 +1073,32 @@ import {
|
|
|
871
1073
|
Text as Text5,
|
|
872
1074
|
FieldError as FieldError4
|
|
873
1075
|
} from "react-aria-components";
|
|
874
|
-
import { jsx as
|
|
1076
|
+
import { jsx as jsx21, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
875
1077
|
function RadioGroup({ label, description, errorMessage, children, className, ...rest }) {
|
|
876
1078
|
return /* @__PURE__ */ jsxs14(AriaRadioGroup, { className: cx("pire-field", className), validationBehavior: "aria", ...rest, children: [
|
|
877
|
-
label ? /* @__PURE__ */
|
|
878
|
-
/* @__PURE__ */
|
|
879
|
-
description ? /* @__PURE__ */
|
|
880
|
-
/* @__PURE__ */
|
|
1079
|
+
label ? /* @__PURE__ */ jsx21(Label4, { className: "pire-field-label", children: label }) : null,
|
|
1080
|
+
/* @__PURE__ */ jsx21("div", { className: "pire-radiogroup", children }),
|
|
1081
|
+
description ? /* @__PURE__ */ jsx21(Text5, { slot: "description", className: "pire-field-hint", children: description }) : null,
|
|
1082
|
+
/* @__PURE__ */ jsx21(FieldError4, { className: "pire-field-error", children: errorMessage })
|
|
881
1083
|
] });
|
|
882
1084
|
}
|
|
883
1085
|
function Radio({ label, hint, children, className, ...rest }) {
|
|
884
1086
|
return /* @__PURE__ */ jsxs14(AriaRadio, { className: cx("pire-choice", className), ...rest, children: [
|
|
885
|
-
/* @__PURE__ */
|
|
1087
|
+
/* @__PURE__ */ jsx21("span", { className: "pire-choice-box", "data-radio": "true", "aria-hidden": "true" }),
|
|
886
1088
|
/* @__PURE__ */ jsxs14("span", { children: [
|
|
887
1089
|
label ?? children,
|
|
888
|
-
hint ? /* @__PURE__ */
|
|
1090
|
+
hint ? /* @__PURE__ */ jsx21("span", { className: "pire-choice-hint", children: hint }) : null
|
|
889
1091
|
] })
|
|
890
1092
|
] });
|
|
891
1093
|
}
|
|
892
1094
|
|
|
893
1095
|
// src/components/forms/Switch.tsx
|
|
894
1096
|
import { Switch as AriaSwitch } from "react-aria-components";
|
|
895
|
-
import { jsx as
|
|
1097
|
+
import { jsx as jsx22, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
896
1098
|
function Switch({ label, children, className, ...rest }) {
|
|
897
1099
|
return /* @__PURE__ */ jsxs15(AriaSwitch, { className: cx("pire-choice", className), ...rest, children: [
|
|
898
|
-
/* @__PURE__ */
|
|
899
|
-
/* @__PURE__ */
|
|
1100
|
+
/* @__PURE__ */ jsx22("span", { className: "pire-switch-track", "aria-hidden": "true", children: /* @__PURE__ */ jsx22("span", { className: "pire-switch-thumb" }) }),
|
|
1101
|
+
/* @__PURE__ */ jsx22("span", { children: label ?? children })
|
|
900
1102
|
] });
|
|
901
1103
|
}
|
|
902
1104
|
|
|
@@ -913,7 +1115,7 @@ import {
|
|
|
913
1115
|
Text as Text6,
|
|
914
1116
|
FieldError as FieldError5
|
|
915
1117
|
} from "react-aria-components";
|
|
916
|
-
import { jsx as
|
|
1118
|
+
import { jsx as jsx23, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
917
1119
|
var norm2 = (o) => typeof o === "string" ? { value: o, label: o } : o;
|
|
918
1120
|
function ComboBox({
|
|
919
1121
|
label,
|
|
@@ -961,7 +1163,7 @@ function ComboBox({
|
|
|
961
1163
|
children: [
|
|
962
1164
|
label ? /* @__PURE__ */ jsxs16(Label5, { className: "pire-field-label", children: [
|
|
963
1165
|
label,
|
|
964
|
-
rest.isRequired ? /* @__PURE__ */
|
|
1166
|
+
rest.isRequired ? /* @__PURE__ */ jsx23("span", { className: "pire-field-req", "aria-hidden": "true", children: "*" }) : null
|
|
965
1167
|
] }) : null,
|
|
966
1168
|
/* @__PURE__ */ jsxs16(
|
|
967
1169
|
Group3,
|
|
@@ -971,15 +1173,15 @@ function ComboBox({
|
|
|
971
1173
|
"data-full-width": String(fullWidth),
|
|
972
1174
|
"data-invalid": rest.isInvalid ? "true" : void 0,
|
|
973
1175
|
children: [
|
|
974
|
-
/* @__PURE__ */
|
|
975
|
-
/* @__PURE__ */
|
|
976
|
-
/* @__PURE__ */
|
|
1176
|
+
/* @__PURE__ */ jsx23(Icon, { name: "search", size: 16, className: "pire-leading-icon" }),
|
|
1177
|
+
/* @__PURE__ */ jsx23(AriaInput2, { className: "pire-input", placeholder: rest.placeholder }),
|
|
1178
|
+
/* @__PURE__ */ jsx23(AriaButton5, { className: "pire-iconbtn", "data-size": "sm", "aria-label": msg.comboBoxShowSuggestions, style: { width: 20, height: 20 }, children: /* @__PURE__ */ jsx23(Icon, { name: "chevron-down", size: 16 }) })
|
|
977
1179
|
]
|
|
978
1180
|
}
|
|
979
1181
|
),
|
|
980
|
-
description ? /* @__PURE__ */
|
|
981
|
-
/* @__PURE__ */
|
|
982
|
-
/* @__PURE__ */
|
|
1182
|
+
description ? /* @__PURE__ */ jsx23(Text6, { slot: "description", className: "pire-field-hint", children: description }) : null,
|
|
1183
|
+
/* @__PURE__ */ jsx23(FieldError5, { className: "pire-field-error", children: errorMessage }),
|
|
1184
|
+
/* @__PURE__ */ jsx23(Popover2, { className: "pire-popover", children: /* @__PURE__ */ jsx23(
|
|
983
1185
|
ListBox2,
|
|
984
1186
|
{
|
|
985
1187
|
className: "pire-listbox",
|
|
@@ -987,10 +1189,10 @@ function ComboBox({
|
|
|
987
1189
|
const el = e.currentTarget;
|
|
988
1190
|
if (el.scrollHeight - el.scrollTop - el.clientHeight < 48) onLoadMore();
|
|
989
1191
|
} : void 0,
|
|
990
|
-
renderEmptyState: showsStatus ? () => /* @__PURE__ */
|
|
1192
|
+
renderEmptyState: showsStatus ? () => /* @__PURE__ */ jsx23("div", { className: "pire-listbox-status", role: "status", "aria-live": "polite", children: isLoading ? loadingLabel ?? msg.comboBoxLoading : emptyLabel }) : void 0,
|
|
991
1193
|
children: (item) => /* @__PURE__ */ jsxs16(ListBoxItem2, { className: "pire-option", id: item.value, textValue: item.label, isDisabled: item.isDisabled, children: [
|
|
992
|
-
/* @__PURE__ */
|
|
993
|
-
item.secondary ? /* @__PURE__ */
|
|
1194
|
+
/* @__PURE__ */ jsx23("span", { className: "pire-option-label", children: item.label }),
|
|
1195
|
+
item.secondary ? /* @__PURE__ */ jsx23("span", { className: "pire-option-secondary", children: item.secondary }) : null
|
|
994
1196
|
] })
|
|
995
1197
|
}
|
|
996
1198
|
) })
|
|
@@ -1015,7 +1217,7 @@ import {
|
|
|
1015
1217
|
FieldError as FieldError6,
|
|
1016
1218
|
VisuallyHidden
|
|
1017
1219
|
} from "react-aria-components";
|
|
1018
|
-
import { jsx as
|
|
1220
|
+
import { jsx as jsx24, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
1019
1221
|
var norm3 = (o) => typeof o === "string" ? { value: o, label: o } : o;
|
|
1020
1222
|
function MultiComboBox({
|
|
1021
1223
|
label,
|
|
@@ -1099,7 +1301,7 @@ function MultiComboBox({
|
|
|
1099
1301
|
children: [
|
|
1100
1302
|
label ? /* @__PURE__ */ jsxs17(Label6, { className: "pire-field-label", children: [
|
|
1101
1303
|
label,
|
|
1102
|
-
rest.isRequired ? /* @__PURE__ */
|
|
1304
|
+
rest.isRequired ? /* @__PURE__ */ jsx24("span", { className: "pire-field-req", "aria-hidden": "true", children: "*" }) : null
|
|
1103
1305
|
] }) : null,
|
|
1104
1306
|
/* @__PURE__ */ jsxs17(
|
|
1105
1307
|
Group4,
|
|
@@ -1111,14 +1313,14 @@ function MultiComboBox({
|
|
|
1111
1313
|
"data-invalid": rest.isInvalid ? "true" : void 0,
|
|
1112
1314
|
"data-readonly": rest.isReadOnly ? "true" : void 0,
|
|
1113
1315
|
children: [
|
|
1114
|
-
/* @__PURE__ */
|
|
1316
|
+
/* @__PURE__ */ jsx24(Icon, { name: "search", size: 16, className: "pire-leading-icon" }),
|
|
1115
1317
|
/* @__PURE__ */ jsxs17("div", { className: "pire-chipfield", children: [
|
|
1116
|
-
/* @__PURE__ */
|
|
1318
|
+
/* @__PURE__ */ jsx24(ButtonContext.Provider, { value: null, children: values.map((v) => (
|
|
1117
1319
|
/* Disabled follows the field, not `isEditable`: a read-only field's chips are
|
|
1118
1320
|
real, current values and should read as such — they simply lose the × . */
|
|
1119
|
-
/* @__PURE__ */
|
|
1321
|
+
/* @__PURE__ */ jsx24(Tag, { isDisabled: rest.isDisabled, onRemove: isEditable ? () => remove(v) : void 0, children: labelOf(v) }, v)
|
|
1120
1322
|
)) }),
|
|
1121
|
-
/* @__PURE__ */
|
|
1323
|
+
/* @__PURE__ */ jsx24(
|
|
1122
1324
|
AriaInput3,
|
|
1123
1325
|
{
|
|
1124
1326
|
ref: inputRef,
|
|
@@ -1128,14 +1330,14 @@ function MultiComboBox({
|
|
|
1128
1330
|
}
|
|
1129
1331
|
)
|
|
1130
1332
|
] }),
|
|
1131
|
-
/* @__PURE__ */
|
|
1333
|
+
/* @__PURE__ */ jsx24(AriaButton6, { className: "pire-iconbtn", "data-size": "sm", "aria-label": msg.comboBoxShowSuggestions, style: { width: 20, height: 20 }, children: /* @__PURE__ */ jsx24(Icon, { name: "chevron-down", size: 16 }) })
|
|
1132
1334
|
]
|
|
1133
1335
|
}
|
|
1134
1336
|
),
|
|
1135
|
-
/* @__PURE__ */
|
|
1136
|
-
description ? /* @__PURE__ */
|
|
1137
|
-
/* @__PURE__ */
|
|
1138
|
-
/* @__PURE__ */
|
|
1337
|
+
/* @__PURE__ */ jsx24(VisuallyHidden, { children: /* @__PURE__ */ jsx24("span", { "aria-live": "polite", children: announcement }) }),
|
|
1338
|
+
description ? /* @__PURE__ */ jsx24(Text7, { slot: "description", className: "pire-field-hint", children: description }) : null,
|
|
1339
|
+
/* @__PURE__ */ jsx24(FieldError6, { className: "pire-field-error", children: errorMessage }),
|
|
1340
|
+
/* @__PURE__ */ jsx24(Popover3, { className: "pire-popover", children: /* @__PURE__ */ jsx24(
|
|
1139
1341
|
ListBox3,
|
|
1140
1342
|
{
|
|
1141
1343
|
className: "pire-listbox",
|
|
@@ -1143,10 +1345,10 @@ function MultiComboBox({
|
|
|
1143
1345
|
const el = e.currentTarget;
|
|
1144
1346
|
if (el.scrollHeight - el.scrollTop - el.clientHeight < 48) onLoadMore();
|
|
1145
1347
|
} : void 0,
|
|
1146
|
-
renderEmptyState: showsStatus ? () => /* @__PURE__ */
|
|
1348
|
+
renderEmptyState: showsStatus ? () => /* @__PURE__ */ jsx24("div", { className: "pire-listbox-status", role: "status", "aria-live": "polite", children: isLoading ? loadingLabel ?? msg.comboBoxLoading : emptyLabel }) : void 0,
|
|
1147
1349
|
children: (item) => /* @__PURE__ */ jsxs17(ListBoxItem3, { className: "pire-option", id: item.value, textValue: item.label, isDisabled: item.isDisabled, children: [
|
|
1148
|
-
/* @__PURE__ */
|
|
1149
|
-
item.secondary ? /* @__PURE__ */
|
|
1350
|
+
/* @__PURE__ */ jsx24("span", { className: "pire-option-label", children: item.label }),
|
|
1351
|
+
item.secondary ? /* @__PURE__ */ jsx24("span", { className: "pire-option-secondary", children: item.secondary }) : null
|
|
1150
1352
|
] })
|
|
1151
1353
|
}
|
|
1152
1354
|
) })
|
|
@@ -1165,7 +1367,7 @@ import {
|
|
|
1165
1367
|
Text as Text8,
|
|
1166
1368
|
FieldError as FieldError7
|
|
1167
1369
|
} from "react-aria-components";
|
|
1168
|
-
import { jsx as
|
|
1370
|
+
import { jsx as jsx25, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
1169
1371
|
function NumberField({
|
|
1170
1372
|
label,
|
|
1171
1373
|
suffix,
|
|
@@ -1182,7 +1384,7 @@ function NumberField({
|
|
|
1182
1384
|
return /* @__PURE__ */ jsxs18(AriaNumberField, { className: cx("pire-field", className), style, validationBehavior: "aria", ...rest, children: [
|
|
1183
1385
|
label ? /* @__PURE__ */ jsxs18(Label7, { className: "pire-field-label", children: [
|
|
1184
1386
|
label,
|
|
1185
|
-
rest.isRequired ? /* @__PURE__ */
|
|
1387
|
+
rest.isRequired ? /* @__PURE__ */ jsx25("span", { className: "pire-field-req", "aria-hidden": "true", children: "*" }) : null
|
|
1186
1388
|
] }) : null,
|
|
1187
1389
|
/* @__PURE__ */ jsxs18(
|
|
1188
1390
|
Group5,
|
|
@@ -1193,17 +1395,17 @@ function NumberField({
|
|
|
1193
1395
|
"data-invalid": rest.isInvalid ? "true" : void 0,
|
|
1194
1396
|
"data-readonly": rest.isReadOnly ? "true" : void 0,
|
|
1195
1397
|
children: [
|
|
1196
|
-
/* @__PURE__ */
|
|
1197
|
-
suffix ? /* @__PURE__ */
|
|
1398
|
+
/* @__PURE__ */ jsx25(AriaInput4, { className: "pire-input", "data-numeric": "true" }),
|
|
1399
|
+
suffix ? /* @__PURE__ */ jsx25("span", { className: "pire-affix", children: suffix }) : null,
|
|
1198
1400
|
hideStepper ? null : /* @__PURE__ */ jsxs18("span", { className: "pire-stepper", children: [
|
|
1199
|
-
/* @__PURE__ */
|
|
1200
|
-
/* @__PURE__ */
|
|
1401
|
+
/* @__PURE__ */ jsx25(AriaButton7, { slot: "increment", className: "pire-stepper-btn", "aria-label": msg.numberFieldIncrease, children: /* @__PURE__ */ jsx25(Icon, { name: "plus", size: 10 }) }),
|
|
1402
|
+
/* @__PURE__ */ jsx25(AriaButton7, { slot: "decrement", className: "pire-stepper-btn", "aria-label": msg.numberFieldDecrease, children: /* @__PURE__ */ jsx25(Icon, { name: "minus", size: 10 }) })
|
|
1201
1403
|
] })
|
|
1202
1404
|
]
|
|
1203
1405
|
}
|
|
1204
1406
|
),
|
|
1205
|
-
description ? /* @__PURE__ */
|
|
1206
|
-
/* @__PURE__ */
|
|
1407
|
+
description ? /* @__PURE__ */ jsx25(Text8, { slot: "description", className: "pire-field-hint", children: description }) : null,
|
|
1408
|
+
/* @__PURE__ */ jsx25(FieldError7, { className: "pire-field-error", children: errorMessage })
|
|
1207
1409
|
] });
|
|
1208
1410
|
}
|
|
1209
1411
|
|
|
@@ -1227,7 +1429,7 @@ import {
|
|
|
1227
1429
|
Text as Text9,
|
|
1228
1430
|
FieldError as FieldError8
|
|
1229
1431
|
} from "react-aria-components";
|
|
1230
|
-
import { jsx as
|
|
1432
|
+
import { jsx as jsx26, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
1231
1433
|
function DatePicker({
|
|
1232
1434
|
label,
|
|
1233
1435
|
description,
|
|
@@ -1242,7 +1444,7 @@ function DatePicker({
|
|
|
1242
1444
|
return /* @__PURE__ */ jsxs19(AriaDatePicker, { className: cx("pire-field", className), style, validationBehavior: "aria", ...rest, children: [
|
|
1243
1445
|
label ? /* @__PURE__ */ jsxs19(Label8, { className: "pire-field-label", children: [
|
|
1244
1446
|
label,
|
|
1245
|
-
rest.isRequired ? /* @__PURE__ */
|
|
1447
|
+
rest.isRequired ? /* @__PURE__ */ jsx26("span", { className: "pire-field-req", "aria-hidden": "true", children: "*" }) : null
|
|
1246
1448
|
] }) : null,
|
|
1247
1449
|
/* @__PURE__ */ jsxs19(
|
|
1248
1450
|
Group6,
|
|
@@ -1253,22 +1455,22 @@ function DatePicker({
|
|
|
1253
1455
|
"data-invalid": rest.isInvalid ? "true" : void 0,
|
|
1254
1456
|
"data-readonly": rest.isReadOnly ? "true" : void 0,
|
|
1255
1457
|
children: [
|
|
1256
|
-
/* @__PURE__ */
|
|
1257
|
-
/* @__PURE__ */
|
|
1458
|
+
/* @__PURE__ */ jsx26(DateInput, { className: "pire-datefield", children: (segment) => /* @__PURE__ */ jsx26(DateSegment, { segment, className: "pire-datesegment" }) }),
|
|
1459
|
+
/* @__PURE__ */ jsx26(AriaButton8, { className: "pire-iconbtn", "data-size": "sm", "aria-label": msg.datePickerOpenCalendar, style: { width: 24, height: 24 }, children: /* @__PURE__ */ jsx26(Icon, { name: "calendar", size: 16 }) })
|
|
1258
1460
|
]
|
|
1259
1461
|
}
|
|
1260
1462
|
),
|
|
1261
|
-
description ? /* @__PURE__ */
|
|
1262
|
-
/* @__PURE__ */
|
|
1263
|
-
/* @__PURE__ */
|
|
1463
|
+
description ? /* @__PURE__ */ jsx26(Text9, { slot: "description", className: "pire-field-hint", children: description }) : null,
|
|
1464
|
+
/* @__PURE__ */ jsx26(FieldError8, { className: "pire-field-error", children: errorMessage }),
|
|
1465
|
+
/* @__PURE__ */ jsx26(Popover4, { className: "pire-popover", children: /* @__PURE__ */ jsx26(AriaDialog, { children: /* @__PURE__ */ jsxs19(Calendar, { className: "pire-calendar", children: [
|
|
1264
1466
|
/* @__PURE__ */ jsxs19("header", { className: "pire-calendar-head", children: [
|
|
1265
|
-
/* @__PURE__ */
|
|
1266
|
-
/* @__PURE__ */
|
|
1267
|
-
/* @__PURE__ */
|
|
1467
|
+
/* @__PURE__ */ jsx26(AriaButton8, { slot: "previous", className: "pire-iconbtn", "data-size": "sm", "aria-label": msg.datePickerPreviousMonth, children: /* @__PURE__ */ jsx26(Icon, { name: "chevron-left", size: 16 }) }),
|
|
1468
|
+
/* @__PURE__ */ jsx26(Heading2, { className: "pire-calendar-title" }),
|
|
1469
|
+
/* @__PURE__ */ jsx26(AriaButton8, { slot: "next", className: "pire-iconbtn", "data-size": "sm", "aria-label": msg.datePickerNextMonth, children: /* @__PURE__ */ jsx26(Icon, { name: "chevron-right", size: 16 }) })
|
|
1268
1470
|
] }),
|
|
1269
1471
|
/* @__PURE__ */ jsxs19(CalendarGrid, { className: "pire-calendar-grid", children: [
|
|
1270
|
-
/* @__PURE__ */
|
|
1271
|
-
/* @__PURE__ */
|
|
1472
|
+
/* @__PURE__ */ jsx26(CalendarGridHeader, { children: (day) => /* @__PURE__ */ jsx26(CalendarHeaderCell, { children: day }) }),
|
|
1473
|
+
/* @__PURE__ */ jsx26(CalendarGridBody, { children: (date) => /* @__PURE__ */ jsx26(CalendarCell, { date, className: "pire-calendar-cell" }) })
|
|
1272
1474
|
] })
|
|
1273
1475
|
] }) }) })
|
|
1274
1476
|
] });
|
|
@@ -1294,7 +1496,7 @@ import {
|
|
|
1294
1496
|
Text as Text10,
|
|
1295
1497
|
FieldError as FieldError9
|
|
1296
1498
|
} from "react-aria-components";
|
|
1297
|
-
import { jsx as
|
|
1499
|
+
import { jsx as jsx27, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
1298
1500
|
function rangeLengthInDays(range) {
|
|
1299
1501
|
return range.end.toDate("UTC").getTime() / 864e5 - range.start.toDate("UTC").getTime() / 864e5 + 1;
|
|
1300
1502
|
}
|
|
@@ -1328,7 +1530,7 @@ function DateRangePicker({
|
|
|
1328
1530
|
children: [
|
|
1329
1531
|
label ? /* @__PURE__ */ jsxs20(Label9, { className: "pire-field-label", children: [
|
|
1330
1532
|
label,
|
|
1331
|
-
rest.isRequired ? /* @__PURE__ */
|
|
1533
|
+
rest.isRequired ? /* @__PURE__ */ jsx27("span", { className: "pire-field-req", "aria-hidden": "true", children: "*" }) : null
|
|
1332
1534
|
] }) : null,
|
|
1333
1535
|
/* @__PURE__ */ jsxs20(
|
|
1334
1536
|
Group7,
|
|
@@ -1339,29 +1541,29 @@ function DateRangePicker({
|
|
|
1339
1541
|
"data-invalid": rest.isInvalid || tooLong ? "true" : void 0,
|
|
1340
1542
|
"data-readonly": rest.isReadOnly ? "true" : void 0,
|
|
1341
1543
|
children: [
|
|
1342
|
-
/* @__PURE__ */
|
|
1343
|
-
/* @__PURE__ */
|
|
1344
|
-
/* @__PURE__ */
|
|
1345
|
-
/* @__PURE__ */
|
|
1544
|
+
/* @__PURE__ */ jsx27(DateInput2, { slot: "start", className: "pire-datefield", children: (segment) => /* @__PURE__ */ jsx27(DateSegment2, { segment, className: "pire-datesegment" }) }),
|
|
1545
|
+
/* @__PURE__ */ jsx27("span", { "aria-hidden": "true", className: "pire-daterange-dash", children: "\u2013" }),
|
|
1546
|
+
/* @__PURE__ */ jsx27(DateInput2, { slot: "end", className: "pire-datefield", children: (segment) => /* @__PURE__ */ jsx27(DateSegment2, { segment, className: "pire-datesegment" }) }),
|
|
1547
|
+
/* @__PURE__ */ jsx27(
|
|
1346
1548
|
AriaButton9,
|
|
1347
1549
|
{
|
|
1348
1550
|
className: "pire-iconbtn",
|
|
1349
1551
|
"data-size": "sm",
|
|
1350
1552
|
"aria-label": msg.datePickerOpenCalendar,
|
|
1351
1553
|
style: { width: 24, height: 24 },
|
|
1352
|
-
children: /* @__PURE__ */
|
|
1554
|
+
children: /* @__PURE__ */ jsx27(Icon, { name: "calendar", size: 16 })
|
|
1353
1555
|
}
|
|
1354
1556
|
)
|
|
1355
1557
|
]
|
|
1356
1558
|
}
|
|
1357
1559
|
),
|
|
1358
|
-
description ? /* @__PURE__ */
|
|
1359
|
-
/* @__PURE__ */
|
|
1360
|
-
/* @__PURE__ */
|
|
1560
|
+
description ? /* @__PURE__ */ jsx27(Text10, { slot: "description", className: "pire-field-hint", children: description }) : null,
|
|
1561
|
+
/* @__PURE__ */ jsx27(FieldError9, { className: "pire-field-error", children: errorMessage }),
|
|
1562
|
+
/* @__PURE__ */ jsx27(Popover5, { className: "pire-popover", children: /* @__PURE__ */ jsxs20(AriaDialog2, { className: "pire-daterange-dialog", children: [
|
|
1361
1563
|
presets?.length ? (
|
|
1362
1564
|
// Before the calendar in the DOM, so keyboard users reach the shortcut without
|
|
1363
1565
|
// arrowing through a month first.
|
|
1364
|
-
/* @__PURE__ */
|
|
1566
|
+
/* @__PURE__ */ jsx27("div", { className: "pire-daterange-presets", role: "group", "aria-label": msg.dateRangePresetsLabel, children: presets.map((preset) => /* @__PURE__ */ jsx27(
|
|
1365
1567
|
AriaButton9,
|
|
1366
1568
|
{
|
|
1367
1569
|
className: "pire-daterange-preset",
|
|
@@ -1373,31 +1575,31 @@ function DateRangePicker({
|
|
|
1373
1575
|
) : null,
|
|
1374
1576
|
/* @__PURE__ */ jsxs20(RangeCalendar, { className: "pire-calendar", children: [
|
|
1375
1577
|
/* @__PURE__ */ jsxs20("header", { className: "pire-calendar-head", children: [
|
|
1376
|
-
/* @__PURE__ */
|
|
1578
|
+
/* @__PURE__ */ jsx27(
|
|
1377
1579
|
AriaButton9,
|
|
1378
1580
|
{
|
|
1379
1581
|
slot: "previous",
|
|
1380
1582
|
className: "pire-iconbtn",
|
|
1381
1583
|
"data-size": "sm",
|
|
1382
1584
|
"aria-label": msg.datePickerPreviousMonth,
|
|
1383
|
-
children: /* @__PURE__ */
|
|
1585
|
+
children: /* @__PURE__ */ jsx27(Icon, { name: "chevron-left", size: 16 })
|
|
1384
1586
|
}
|
|
1385
1587
|
),
|
|
1386
|
-
/* @__PURE__ */
|
|
1387
|
-
/* @__PURE__ */
|
|
1588
|
+
/* @__PURE__ */ jsx27(Heading3, { className: "pire-calendar-title" }),
|
|
1589
|
+
/* @__PURE__ */ jsx27(
|
|
1388
1590
|
AriaButton9,
|
|
1389
1591
|
{
|
|
1390
1592
|
slot: "next",
|
|
1391
1593
|
className: "pire-iconbtn",
|
|
1392
1594
|
"data-size": "sm",
|
|
1393
1595
|
"aria-label": msg.datePickerNextMonth,
|
|
1394
|
-
children: /* @__PURE__ */
|
|
1596
|
+
children: /* @__PURE__ */ jsx27(Icon, { name: "chevron-right", size: 16 })
|
|
1395
1597
|
}
|
|
1396
1598
|
)
|
|
1397
1599
|
] }),
|
|
1398
1600
|
/* @__PURE__ */ jsxs20(CalendarGrid2, { className: "pire-calendar-grid", children: [
|
|
1399
|
-
/* @__PURE__ */
|
|
1400
|
-
/* @__PURE__ */
|
|
1601
|
+
/* @__PURE__ */ jsx27(CalendarGridHeader2, { children: (day) => /* @__PURE__ */ jsx27(CalendarHeaderCell2, { children: day }) }),
|
|
1602
|
+
/* @__PURE__ */ jsx27(CalendarGridBody2, { children: (date) => /* @__PURE__ */ jsx27(CalendarCell2, { date, className: "pire-calendar-cell" }) })
|
|
1401
1603
|
] })
|
|
1402
1604
|
] })
|
|
1403
1605
|
] }) })
|
|
@@ -1414,7 +1616,7 @@ import * as React8 from "react";
|
|
|
1414
1616
|
|
|
1415
1617
|
// src/components/feedback/Dialog.tsx
|
|
1416
1618
|
import { ModalOverlay, Modal, Dialog as AriaDialog3, Heading as Heading4 } from "react-aria-components";
|
|
1417
|
-
import { jsx as
|
|
1619
|
+
import { jsx as jsx28, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
1418
1620
|
function Dialog({
|
|
1419
1621
|
isOpen,
|
|
1420
1622
|
onOpenChange,
|
|
@@ -1434,7 +1636,7 @@ function Dialog({
|
|
|
1434
1636
|
onClose?.();
|
|
1435
1637
|
onOpenChange?.(false);
|
|
1436
1638
|
};
|
|
1437
|
-
return /* @__PURE__ */
|
|
1639
|
+
return /* @__PURE__ */ jsx28(
|
|
1438
1640
|
ModalOverlay,
|
|
1439
1641
|
{
|
|
1440
1642
|
className: "pire-modal-overlay",
|
|
@@ -1443,16 +1645,16 @@ function Dialog({
|
|
|
1443
1645
|
onOpenChange: (o) => {
|
|
1444
1646
|
if (!o) close();
|
|
1445
1647
|
},
|
|
1446
|
-
children: /* @__PURE__ */
|
|
1648
|
+
children: /* @__PURE__ */ jsx28(Modal, { className: cx("pire-modal", className), "data-size": size, style, children: /* @__PURE__ */ jsxs21(AriaDialog3, { className: "pire-dialog", children: [
|
|
1447
1649
|
title ? /* @__PURE__ */ jsxs21("header", { className: "pire-dialog-head", children: [
|
|
1448
1650
|
/* @__PURE__ */ jsxs21("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
1449
|
-
/* @__PURE__ */
|
|
1450
|
-
subtitle ? /* @__PURE__ */
|
|
1651
|
+
/* @__PURE__ */ jsx28(Heading4, { slot: "title", className: "pire-dialog-title", children: title }),
|
|
1652
|
+
subtitle ? /* @__PURE__ */ jsx28("p", { className: "pire-dialog-sub", style: { margin: 0 }, children: subtitle }) : null
|
|
1451
1653
|
] }),
|
|
1452
|
-
showClose ? /* @__PURE__ */
|
|
1654
|
+
showClose ? /* @__PURE__ */ jsx28(IconButton, { icon: "x", label: msg.dialogClose, size: "sm", onPress: close }) : null
|
|
1453
1655
|
] }) : null,
|
|
1454
|
-
children ? /* @__PURE__ */
|
|
1455
|
-
footer ? /* @__PURE__ */
|
|
1656
|
+
children ? /* @__PURE__ */ jsx28("div", { className: "pire-dialog-body", children }) : null,
|
|
1657
|
+
footer ? /* @__PURE__ */ jsx28("footer", { className: "pire-dialog-foot", children: footer }) : null
|
|
1456
1658
|
] }) })
|
|
1457
1659
|
}
|
|
1458
1660
|
);
|
|
@@ -1469,9 +1671,9 @@ import {
|
|
|
1469
1671
|
} from "react-aria-components";
|
|
1470
1672
|
|
|
1471
1673
|
// src/components/feedback/Skeleton.tsx
|
|
1472
|
-
import { jsx as
|
|
1674
|
+
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
1473
1675
|
function Skeleton({ shape = "text", width, height, className, style, ...rest }) {
|
|
1474
|
-
return /* @__PURE__ */
|
|
1676
|
+
return /* @__PURE__ */ jsx29(
|
|
1475
1677
|
"div",
|
|
1476
1678
|
{
|
|
1477
1679
|
className: cx("pire-skeleton", className),
|
|
@@ -1485,7 +1687,7 @@ function Skeleton({ shape = "text", width, height, className, style, ...rest })
|
|
|
1485
1687
|
var BAR_WIDTHS = ["72%", "54%", "86%", "63%"];
|
|
1486
1688
|
function SkeletonTableRow({ columns, density = "regular", className, style, ...rest }) {
|
|
1487
1689
|
const cells = typeof columns === "number" ? Array.from({ length: columns }, () => ({})) : columns;
|
|
1488
|
-
return /* @__PURE__ */
|
|
1690
|
+
return /* @__PURE__ */ jsx29(
|
|
1489
1691
|
"div",
|
|
1490
1692
|
{
|
|
1491
1693
|
className: cx("pire-skeleton-row", className),
|
|
@@ -1497,13 +1699,13 @@ function SkeletonTableRow({ columns, density = "regular", className, style, ...r
|
|
|
1497
1699
|
const align = c.numeric ? "right" : c.align ?? "left";
|
|
1498
1700
|
return (
|
|
1499
1701
|
// biome-ignore lint/suspicious/noArrayIndexKey: columns are positional and never reordered.
|
|
1500
|
-
/* @__PURE__ */
|
|
1702
|
+
/* @__PURE__ */ jsx29(
|
|
1501
1703
|
"div",
|
|
1502
1704
|
{
|
|
1503
1705
|
className: "pire-skeleton-cell",
|
|
1504
1706
|
"data-align": align,
|
|
1505
1707
|
style: { width: c.width, flex: c.width ? "0 0 auto" : void 0 },
|
|
1506
|
-
children: /* @__PURE__ */
|
|
1708
|
+
children: /* @__PURE__ */ jsx29(Skeleton, { width: BAR_WIDTHS[i % BAR_WIDTHS.length] })
|
|
1507
1709
|
},
|
|
1508
1710
|
i
|
|
1509
1711
|
)
|
|
@@ -1514,7 +1716,7 @@ function SkeletonTableRow({ columns, density = "regular", className, style, ...r
|
|
|
1514
1716
|
}
|
|
1515
1717
|
|
|
1516
1718
|
// src/components/data/DataTable.tsx
|
|
1517
|
-
import { jsx as
|
|
1719
|
+
import { jsx as jsx30, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
1518
1720
|
function DataTable({
|
|
1519
1721
|
columns,
|
|
1520
1722
|
rows,
|
|
@@ -1546,7 +1748,7 @@ function DataTable({
|
|
|
1546
1748
|
...columns.map((c) => ({ width: c.width, align: c.align, numeric: c.numeric }))
|
|
1547
1749
|
];
|
|
1548
1750
|
const body = isLoading ? [] : rows;
|
|
1549
|
-
return /* @__PURE__ */
|
|
1751
|
+
return /* @__PURE__ */ jsx30(
|
|
1550
1752
|
"div",
|
|
1551
1753
|
{
|
|
1552
1754
|
className: cx("pire-table-wrap", className),
|
|
@@ -1571,8 +1773,8 @@ function DataTable({
|
|
|
1571
1773
|
} : void 0,
|
|
1572
1774
|
children: [
|
|
1573
1775
|
/* @__PURE__ */ jsxs22(TableHeader, { className: "pire-thead-row", children: [
|
|
1574
|
-
selectable ? /* @__PURE__ */
|
|
1575
|
-
columns.map((c, i) => /* @__PURE__ */
|
|
1776
|
+
selectable ? /* @__PURE__ */ jsx30(Column, { className: "pire-th", width: 44, children: /* @__PURE__ */ jsx30(Checkbox, { slot: "selection", "aria-label": msg.dataTableSelectAll }) }) : null,
|
|
1777
|
+
columns.map((c, i) => /* @__PURE__ */ jsx30(
|
|
1576
1778
|
Column,
|
|
1577
1779
|
{
|
|
1578
1780
|
id: c.key,
|
|
@@ -1584,7 +1786,7 @@ function DataTable({
|
|
|
1584
1786
|
"data-allows-sorting": c.sortable ? "true" : void 0,
|
|
1585
1787
|
children: /* @__PURE__ */ jsxs22("span", { className: "pire-th-inner", children: [
|
|
1586
1788
|
c.label,
|
|
1587
|
-
c.sortable ? /* @__PURE__ */
|
|
1789
|
+
c.sortable ? /* @__PURE__ */ jsx30(
|
|
1588
1790
|
Icon,
|
|
1589
1791
|
{
|
|
1590
1792
|
size: 12,
|
|
@@ -1597,15 +1799,15 @@ function DataTable({
|
|
|
1597
1799
|
c.key
|
|
1598
1800
|
))
|
|
1599
1801
|
] }),
|
|
1600
|
-
/* @__PURE__ */
|
|
1601
|
-
/* @__PURE__ */
|
|
1802
|
+
/* @__PURE__ */ jsx30(TableBody, { renderEmptyState: () => isLoading ? /* @__PURE__ */ jsxs22("div", { className: "pire-table-loading", role: "status", "aria-live": "polite", children: [
|
|
1803
|
+
/* @__PURE__ */ jsx30("span", { className: "pire-sr-only", children: loadingLabel ?? msg.dataTableLoading }),
|
|
1602
1804
|
Array.from({ length: skeletonRows }, (_, i) => (
|
|
1603
1805
|
// biome-ignore lint/suspicious/noArrayIndexKey: placeholder rows are positional.
|
|
1604
|
-
/* @__PURE__ */
|
|
1806
|
+
/* @__PURE__ */ jsx30(SkeletonTableRow, { columns: skeletonColumns, density }, i)
|
|
1605
1807
|
))
|
|
1606
|
-
] }) : /* @__PURE__ */
|
|
1607
|
-
selectable ? /* @__PURE__ */
|
|
1608
|
-
columns.map((c) => /* @__PURE__ */
|
|
1808
|
+
] }) : /* @__PURE__ */ jsx30("div", { className: "pire-table-empty", children: emptyLabel }), children: body.map((row) => /* @__PURE__ */ jsxs22(Row, { id: row.id, className: "pire-tr", "data-pressable": onRowAction ? "true" : void 0, children: [
|
|
1809
|
+
selectable ? /* @__PURE__ */ jsx30(Cell, { className: "pire-td", children: /* @__PURE__ */ jsx30(Checkbox, { slot: "selection", "aria-label": msg.dataTableSelectRow }) }) : null,
|
|
1810
|
+
columns.map((c) => /* @__PURE__ */ jsx30(
|
|
1609
1811
|
Cell,
|
|
1610
1812
|
{
|
|
1611
1813
|
className: "pire-td",
|
|
@@ -1624,14 +1826,18 @@ function DataTable({
|
|
|
1624
1826
|
}
|
|
1625
1827
|
|
|
1626
1828
|
// src/components/patterns/ValueHelpDialog.tsx
|
|
1627
|
-
import { jsx as
|
|
1829
|
+
import { jsx as jsx31, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
1628
1830
|
function ValueHelpDialog({
|
|
1629
1831
|
isOpen,
|
|
1630
|
-
title
|
|
1832
|
+
title,
|
|
1631
1833
|
columns = [],
|
|
1632
1834
|
rows = [],
|
|
1633
|
-
searchPlaceholder
|
|
1835
|
+
searchPlaceholder,
|
|
1634
1836
|
emptyLabel,
|
|
1837
|
+
onSearch,
|
|
1838
|
+
isFilteredExternally,
|
|
1839
|
+
isLoading,
|
|
1840
|
+
onLoadMore,
|
|
1635
1841
|
onSelect,
|
|
1636
1842
|
onClose
|
|
1637
1843
|
}) {
|
|
@@ -1641,52 +1847,61 @@ function ValueHelpDialog({
|
|
|
1641
1847
|
if (isOpen) setQuery("");
|
|
1642
1848
|
}, [isOpen]);
|
|
1643
1849
|
const filtered = React8.useMemo(() => {
|
|
1850
|
+
if (isFilteredExternally) return rows;
|
|
1644
1851
|
const q = query.trim().toLowerCase();
|
|
1645
1852
|
if (!q) return rows;
|
|
1646
1853
|
return rows.filter((row) => Object.values(row).some((v) => String(v).toLowerCase().includes(q)));
|
|
1647
|
-
}, [rows, query]);
|
|
1648
|
-
|
|
1854
|
+
}, [rows, query, isFilteredExternally]);
|
|
1855
|
+
const handleSearch = (value) => {
|
|
1856
|
+
setQuery(value);
|
|
1857
|
+
onSearch?.(value);
|
|
1858
|
+
};
|
|
1859
|
+
return /* @__PURE__ */ jsx31(
|
|
1649
1860
|
Dialog,
|
|
1650
1861
|
{
|
|
1651
1862
|
isOpen,
|
|
1652
1863
|
size: "lg",
|
|
1653
|
-
title,
|
|
1864
|
+
title: title ?? msg.valueHelpDialogTitle,
|
|
1654
1865
|
onClose,
|
|
1655
|
-
footer: /* @__PURE__ */
|
|
1866
|
+
footer: /* @__PURE__ */ jsx31(Button, { variant: "tertiary", onPress: onClose, children: msg.valueHelpDialogCancel }),
|
|
1656
1867
|
children: /* @__PURE__ */ jsxs23("div", { style: { display: "flex", flexDirection: "column", gap: "var(--sp-3)" }, children: [
|
|
1657
|
-
/* @__PURE__ */
|
|
1868
|
+
/* @__PURE__ */ jsx31(
|
|
1658
1869
|
Input,
|
|
1659
1870
|
{
|
|
1660
1871
|
"aria-label": msg.valueHelpDialogSearch,
|
|
1661
1872
|
icon: "search",
|
|
1662
1873
|
type: "search",
|
|
1663
1874
|
value: query,
|
|
1664
|
-
onChange:
|
|
1665
|
-
placeholder: searchPlaceholder,
|
|
1875
|
+
onChange: handleSearch,
|
|
1876
|
+
placeholder: searchPlaceholder ?? msg.valueHelpDialogSearchPlaceholder,
|
|
1666
1877
|
autoFocus: true
|
|
1667
1878
|
}
|
|
1668
1879
|
),
|
|
1669
|
-
/* @__PURE__ */
|
|
1880
|
+
/* @__PURE__ */ jsx31("div", { onScroll: onLoadMore ? (event) => {
|
|
1881
|
+
const el = event.currentTarget;
|
|
1882
|
+
if (el.scrollHeight - el.scrollTop - el.clientHeight < 64) onLoadMore();
|
|
1883
|
+
} : void 0, style: { overflow: "auto", maxHeight: "48vh" }, children: /* @__PURE__ */ jsx31(
|
|
1670
1884
|
DataTable,
|
|
1671
1885
|
{
|
|
1672
|
-
"aria-label": typeof title === "string" ? title :
|
|
1886
|
+
"aria-label": typeof title === "string" ? title : msg.valueHelpDialogTitle,
|
|
1673
1887
|
density: "condensed",
|
|
1674
1888
|
columns,
|
|
1675
1889
|
rows: filtered,
|
|
1676
|
-
|
|
1890
|
+
isLoading,
|
|
1891
|
+
emptyLabel: emptyLabel ?? msg.valueHelpDialogEmpty,
|
|
1677
1892
|
onRowAction: (row) => {
|
|
1678
1893
|
onSelect?.(row);
|
|
1679
1894
|
onClose?.();
|
|
1680
1895
|
}
|
|
1681
1896
|
}
|
|
1682
|
-
)
|
|
1897
|
+
) })
|
|
1683
1898
|
] })
|
|
1684
1899
|
}
|
|
1685
1900
|
);
|
|
1686
1901
|
}
|
|
1687
1902
|
|
|
1688
1903
|
// src/components/forms/ValueHelpField.tsx
|
|
1689
|
-
import { jsx as
|
|
1904
|
+
import { jsx as jsx32, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
1690
1905
|
var defaultFormat = (row) => [row.id, row.name ?? row.label ?? row.text].filter(Boolean).join(" \u2014 ");
|
|
1691
1906
|
function ValueHelpField({
|
|
1692
1907
|
label,
|
|
@@ -1696,7 +1911,12 @@ function ValueHelpField({
|
|
|
1696
1911
|
rows = [],
|
|
1697
1912
|
columns = [],
|
|
1698
1913
|
dialogTitle,
|
|
1699
|
-
|
|
1914
|
+
onSearch,
|
|
1915
|
+
isFilteredExternally,
|
|
1916
|
+
isLoading,
|
|
1917
|
+
onLoadMore,
|
|
1918
|
+
emptyLabel,
|
|
1919
|
+
placeholder,
|
|
1700
1920
|
description,
|
|
1701
1921
|
errorMessage,
|
|
1702
1922
|
isInvalid,
|
|
@@ -1709,50 +1929,53 @@ function ValueHelpField({
|
|
|
1709
1929
|
const msg = usePireMessages();
|
|
1710
1930
|
const [open, setOpen] = React9.useState(false);
|
|
1711
1931
|
return /* @__PURE__ */ jsxs24("div", { className: cx(className), style, children: [
|
|
1712
|
-
/* @__PURE__ */
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
] }),
|
|
1748
|
-
/* @__PURE__ */ jsx31(
|
|
1932
|
+
/* @__PURE__ */ jsx32(
|
|
1933
|
+
Input,
|
|
1934
|
+
{
|
|
1935
|
+
label,
|
|
1936
|
+
isReadOnly: true,
|
|
1937
|
+
isInvalid,
|
|
1938
|
+
isDisabled,
|
|
1939
|
+
isRequired,
|
|
1940
|
+
value: value ? format(value) : "",
|
|
1941
|
+
placeholder: placeholder ?? msg.valueHelpFieldPlaceholder,
|
|
1942
|
+
description,
|
|
1943
|
+
errorMessage,
|
|
1944
|
+
suffix: /* @__PURE__ */ jsxs24("span", { className: "pire-valuehelp-actions", children: [
|
|
1945
|
+
allowsClear && value ? /* @__PURE__ */ jsx32(
|
|
1946
|
+
IconButton,
|
|
1947
|
+
{
|
|
1948
|
+
icon: "x",
|
|
1949
|
+
label: msg.valueHelpFieldClear,
|
|
1950
|
+
isDisabled,
|
|
1951
|
+
onPress: () => onChange?.(null)
|
|
1952
|
+
}
|
|
1953
|
+
) : null,
|
|
1954
|
+
/* @__PURE__ */ jsx32(
|
|
1955
|
+
IconButton,
|
|
1956
|
+
{
|
|
1957
|
+
icon: "search",
|
|
1958
|
+
label: typeof label === "string" ? msg.valueHelpFieldOpenNamed.replace("{label}", label.toLowerCase()) : msg.valueHelpFieldOpen,
|
|
1959
|
+
isDisabled,
|
|
1960
|
+
onPress: () => setOpen(true)
|
|
1961
|
+
}
|
|
1962
|
+
)
|
|
1963
|
+
] })
|
|
1964
|
+
}
|
|
1965
|
+
),
|
|
1966
|
+
/* @__PURE__ */ jsx32(
|
|
1749
1967
|
ValueHelpDialog,
|
|
1750
1968
|
{
|
|
1751
1969
|
isOpen: open,
|
|
1752
1970
|
onClose: () => setOpen(false),
|
|
1753
|
-
title: dialogTitle ?? label
|
|
1971
|
+
title: dialogTitle ?? label,
|
|
1754
1972
|
columns,
|
|
1755
1973
|
rows,
|
|
1974
|
+
onSearch,
|
|
1975
|
+
isFilteredExternally,
|
|
1976
|
+
isLoading,
|
|
1977
|
+
onLoadMore,
|
|
1978
|
+
emptyLabel,
|
|
1756
1979
|
onSelect: (row) => onChange?.(row)
|
|
1757
1980
|
}
|
|
1758
1981
|
)
|
|
@@ -1765,7 +1988,7 @@ import { FileTrigger, Text as Text11 } from "react-aria-components";
|
|
|
1765
1988
|
|
|
1766
1989
|
// src/components/feedback/ProgressBar.tsx
|
|
1767
1990
|
import { ProgressBar as AriaProgressBar, Label as Label10 } from "react-aria-components";
|
|
1768
|
-
import { Fragment as Fragment2, jsx as
|
|
1991
|
+
import { Fragment as Fragment2, jsx as jsx33, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
1769
1992
|
function ProgressBar({
|
|
1770
1993
|
value = 0,
|
|
1771
1994
|
minValue = 0,
|
|
@@ -1778,7 +2001,7 @@ function ProgressBar({
|
|
|
1778
2001
|
className,
|
|
1779
2002
|
style
|
|
1780
2003
|
}) {
|
|
1781
|
-
return /* @__PURE__ */
|
|
2004
|
+
return /* @__PURE__ */ jsx33(
|
|
1782
2005
|
AriaProgressBar,
|
|
1783
2006
|
{
|
|
1784
2007
|
className: cx("pire-progress", className),
|
|
@@ -1791,17 +2014,17 @@ function ProgressBar({
|
|
|
1791
2014
|
style,
|
|
1792
2015
|
children: ({ percentage, valueText }) => /* @__PURE__ */ jsxs25(Fragment2, { children: [
|
|
1793
2016
|
label || showValue ? /* @__PURE__ */ jsxs25("div", { className: "pire-progress-head", children: [
|
|
1794
|
-
label ? /* @__PURE__ */
|
|
1795
|
-
showValue && !isIndeterminate ? /* @__PURE__ */
|
|
2017
|
+
label ? /* @__PURE__ */ jsx33(Label10, { children: label }) : /* @__PURE__ */ jsx33("span", {}),
|
|
2018
|
+
showValue && !isIndeterminate ? /* @__PURE__ */ jsx33("span", { className: "pire-numeric", children: valueText }) : null
|
|
1796
2019
|
] }) : null,
|
|
1797
|
-
/* @__PURE__ */
|
|
2020
|
+
/* @__PURE__ */ jsx33("div", { className: "pire-progress-track", children: /* @__PURE__ */ jsx33("div", { className: "pire-progress-fill", style: { width: `${isIndeterminate ? 40 : percentage}%` } }) })
|
|
1798
2021
|
] })
|
|
1799
2022
|
}
|
|
1800
2023
|
);
|
|
1801
2024
|
}
|
|
1802
2025
|
|
|
1803
2026
|
// src/components/forms/FileUpload.tsx
|
|
1804
|
-
import { jsx as
|
|
2027
|
+
import { jsx as jsx34, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
1805
2028
|
var isImage = (file) => file.type.startsWith("image/");
|
|
1806
2029
|
function formatFileSize(bytes) {
|
|
1807
2030
|
if (bytes < 1024) return `${bytes} B`;
|
|
@@ -1883,22 +2106,22 @@ function FileUpload({
|
|
|
1883
2106
|
children: [
|
|
1884
2107
|
label ? /* @__PURE__ */ jsxs26("span", { className: "pire-field-label", children: [
|
|
1885
2108
|
label,
|
|
1886
|
-
isRequired ? /* @__PURE__ */
|
|
2109
|
+
isRequired ? /* @__PURE__ */ jsx34("span", { className: "pire-field-req", "aria-hidden": "true", children: "*" }) : null
|
|
1887
2110
|
] }) : null,
|
|
1888
|
-
/* @__PURE__ */
|
|
2111
|
+
/* @__PURE__ */ jsx34(
|
|
1889
2112
|
FileTrigger,
|
|
1890
2113
|
{
|
|
1891
2114
|
acceptedFileTypes,
|
|
1892
2115
|
allowsMultiple,
|
|
1893
2116
|
onSelect: accept,
|
|
1894
|
-
children: /* @__PURE__ */
|
|
2117
|
+
children: /* @__PURE__ */ jsx34(Button, { icon: "paperclip", isDisabled: isDisabled || isReadOnly, children: chooseLabel ?? msg.fileUploadChoose })
|
|
1895
2118
|
}
|
|
1896
2119
|
),
|
|
1897
|
-
files.length ? /* @__PURE__ */
|
|
1898
|
-
previewUrl ? /* @__PURE__ */
|
|
1899
|
-
/* @__PURE__ */
|
|
1900
|
-
/* @__PURE__ */
|
|
1901
|
-
isDisabled || isReadOnly ? null : /* @__PURE__ */
|
|
2120
|
+
files.length ? /* @__PURE__ */ jsx34("ul", { className: "pire-fileupload-list", children: files.map(({ file, previewUrl }) => /* @__PURE__ */ jsxs26("li", { className: "pire-fileupload-item", children: [
|
|
2121
|
+
previewUrl ? /* @__PURE__ */ jsx34("img", { className: "pire-fileupload-thumb", src: previewUrl, alt: "" }) : /* @__PURE__ */ jsx34(Icon, { name: "file-text", size: 16, className: "pire-fileupload-icon" }),
|
|
2122
|
+
/* @__PURE__ */ jsx34("span", { className: "pire-fileupload-name", children: file.name }),
|
|
2123
|
+
/* @__PURE__ */ jsx34("span", { className: "pire-fileupload-size", children: formatFileSize(file.size) }),
|
|
2124
|
+
isDisabled || isReadOnly ? null : /* @__PURE__ */ jsx34(
|
|
1902
2125
|
IconButton,
|
|
1903
2126
|
{
|
|
1904
2127
|
icon: "x",
|
|
@@ -1908,16 +2131,17 @@ function FileUpload({
|
|
|
1908
2131
|
}
|
|
1909
2132
|
)
|
|
1910
2133
|
] }, `${file.name}-${file.size}-${file.lastModified}`)) }) : null,
|
|
1911
|
-
uploadProgress != null ? /* @__PURE__ */
|
|
1912
|
-
description ? /* @__PURE__ */
|
|
1913
|
-
isInvalid && errorMessage ? /* @__PURE__ */
|
|
2134
|
+
uploadProgress != null ? /* @__PURE__ */ jsx34(ProgressBar, { value: uploadProgress, label: msg.fileUploadUploading }) : null,
|
|
2135
|
+
description ? /* @__PURE__ */ jsx34(Text11, { slot: "description", className: "pire-field-hint", children: description }) : null,
|
|
2136
|
+
isInvalid && errorMessage ? /* @__PURE__ */ jsx34("span", { className: "pire-field-error", children: errorMessage }) : null
|
|
1914
2137
|
]
|
|
1915
2138
|
}
|
|
1916
2139
|
);
|
|
1917
2140
|
}
|
|
1918
2141
|
|
|
1919
2142
|
// src/components/navigation/ShellBar.tsx
|
|
1920
|
-
import {
|
|
2143
|
+
import { MenuTrigger, Button as AriaButton10, Popover as Popover6 } from "react-aria-components";
|
|
2144
|
+
import { jsx as jsx35, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
1921
2145
|
var initials2 = (name) => name.trim().split(/\s+/).slice(0, 2).map((p) => p[0]).join("").toUpperCase();
|
|
1922
2146
|
function ShellBar({
|
|
1923
2147
|
product,
|
|
@@ -1929,30 +2153,48 @@ function ShellBar({
|
|
|
1929
2153
|
searchLabel = "Search",
|
|
1930
2154
|
actions,
|
|
1931
2155
|
user,
|
|
2156
|
+
userMenu,
|
|
2157
|
+
userMenuLabel,
|
|
1932
2158
|
className,
|
|
1933
2159
|
...rest
|
|
1934
2160
|
}) {
|
|
2161
|
+
const msg = usePireMessages();
|
|
1935
2162
|
return /* @__PURE__ */ jsxs27("header", { className: cx("pire-shellbar", className), ...rest, children: [
|
|
1936
|
-
onMenu ? /* @__PURE__ */
|
|
1937
|
-
monogram ? /* @__PURE__ */
|
|
1938
|
-
product ? /* @__PURE__ */
|
|
1939
|
-
title ? /* @__PURE__ */
|
|
1940
|
-
/* @__PURE__ */
|
|
1941
|
-
onSearch ? /* @__PURE__ */
|
|
2163
|
+
onMenu ? /* @__PURE__ */ jsx35(IconButton, { icon: "menu", label: menuLabel, variant: "inverse", size: "sm", onPress: onMenu }) : null,
|
|
2164
|
+
monogram ? /* @__PURE__ */ jsx35("span", { className: "pire-shellbar-mono", "aria-hidden": "true", children: monogram }) : null,
|
|
2165
|
+
product ? /* @__PURE__ */ jsx35("span", { className: "pire-shellbar-product", children: product }) : null,
|
|
2166
|
+
title ? /* @__PURE__ */ jsx35("span", { className: "pire-shellbar-title", children: title }) : null,
|
|
2167
|
+
/* @__PURE__ */ jsx35("span", { className: "pire-shellbar-spacer" }),
|
|
2168
|
+
onSearch ? /* @__PURE__ */ jsx35(IconButton, { icon: "search", label: searchLabel, variant: "inverse", size: "sm", onPress: onSearch }) : null,
|
|
1942
2169
|
actions,
|
|
1943
|
-
user
|
|
2170
|
+
user && userMenu ? (
|
|
2171
|
+
// A real button, not the img-role span: the avatar is where "my profile", "switch company"
|
|
2172
|
+
// and "sign out" live in any ERP, and a span accepts neither focus nor onPress. Popover is
|
|
2173
|
+
// rendered here rather than expected from the consumer so the panel keeps shell placement.
|
|
2174
|
+
/* @__PURE__ */ jsxs27(MenuTrigger, { children: [
|
|
2175
|
+
/* @__PURE__ */ jsx35(
|
|
2176
|
+
AriaButton10,
|
|
2177
|
+
{
|
|
2178
|
+
className: "pire-avatar pire-avatar-trigger",
|
|
2179
|
+
"aria-label": (userMenuLabel ?? msg.shellBarUserMenu).replace("{user}", user),
|
|
2180
|
+
children: initials2(user)
|
|
2181
|
+
}
|
|
2182
|
+
),
|
|
2183
|
+
/* @__PURE__ */ jsx35(Popover6, { className: "pire-popover", children: userMenu })
|
|
2184
|
+
] })
|
|
2185
|
+
) : user ? /* @__PURE__ */ jsx35("span", { className: "pire-avatar", title: user, "aria-label": user, role: "img", children: initials2(user) }) : null
|
|
1944
2186
|
] });
|
|
1945
2187
|
}
|
|
1946
2188
|
|
|
1947
2189
|
// src/components/navigation/SideNav.tsx
|
|
1948
2190
|
import * as React11 from "react";
|
|
1949
2191
|
import {
|
|
1950
|
-
Button as
|
|
2192
|
+
Button as AriaButton11,
|
|
1951
2193
|
Disclosure,
|
|
1952
2194
|
DisclosureGroup,
|
|
1953
2195
|
DisclosurePanel,
|
|
1954
|
-
MenuTrigger,
|
|
1955
|
-
Popover as
|
|
2196
|
+
MenuTrigger as MenuTrigger2,
|
|
2197
|
+
Popover as Popover7
|
|
1956
2198
|
} from "react-aria-components";
|
|
1957
2199
|
|
|
1958
2200
|
// src/components/navigation/Menu.tsx
|
|
@@ -1963,11 +2205,11 @@ import {
|
|
|
1963
2205
|
Separator as AriaSeparator2,
|
|
1964
2206
|
Header
|
|
1965
2207
|
} from "react-aria-components";
|
|
1966
|
-
import { jsx as
|
|
2208
|
+
import { jsx as jsx36, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
1967
2209
|
function Menu({ minWidth, className, style, ...rest }) {
|
|
1968
2210
|
const width = typeof minWidth === "number" ? `${minWidth}px` : minWidth;
|
|
1969
2211
|
const menuStyle = width == null ? style : { ["--pire-menu-min-w"]: width, ...style };
|
|
1970
|
-
return /* @__PURE__ */
|
|
2212
|
+
return /* @__PURE__ */ jsx36(
|
|
1971
2213
|
AriaMenu,
|
|
1972
2214
|
{
|
|
1973
2215
|
className: cx("pire-menu", className),
|
|
@@ -1976,6 +2218,11 @@ function Menu({ minWidth, className, style, ...rest }) {
|
|
|
1976
2218
|
}
|
|
1977
2219
|
);
|
|
1978
2220
|
}
|
|
2221
|
+
var shortcutKeys = (shortcut) => {
|
|
2222
|
+
if (shortcut == null) return [];
|
|
2223
|
+
const parts = Array.isArray(shortcut) ? shortcut : shortcut.split(/[+\s]+/);
|
|
2224
|
+
return parts.map((part) => part.trim()).filter(Boolean);
|
|
2225
|
+
};
|
|
1979
2226
|
function MenuItem({
|
|
1980
2227
|
children,
|
|
1981
2228
|
icon,
|
|
@@ -1985,6 +2232,7 @@ function MenuItem({
|
|
|
1985
2232
|
className,
|
|
1986
2233
|
...rest
|
|
1987
2234
|
}) {
|
|
2235
|
+
const keys = shortcutKeys(shortcut);
|
|
1988
2236
|
return /* @__PURE__ */ jsxs28(
|
|
1989
2237
|
AriaMenuItem,
|
|
1990
2238
|
{
|
|
@@ -1992,28 +2240,28 @@ function MenuItem({
|
|
|
1992
2240
|
"data-tone": tone === "danger" ? "danger" : void 0,
|
|
1993
2241
|
...rest,
|
|
1994
2242
|
children: [
|
|
1995
|
-
icon ? /* @__PURE__ */
|
|
2243
|
+
icon ? /* @__PURE__ */ jsx36(Icon, { name: icon, size: 16, className: "pire-menu-item-icon" }) : null,
|
|
1996
2244
|
/* @__PURE__ */ jsxs28("span", { className: "pire-menu-item-body", children: [
|
|
1997
|
-
/* @__PURE__ */
|
|
1998
|
-
description ? /* @__PURE__ */
|
|
2245
|
+
/* @__PURE__ */ jsx36("span", { className: "pire-menu-item-label", children }),
|
|
2246
|
+
description ? /* @__PURE__ */ jsx36("span", { className: "pire-menu-item-desc", children: description }) : null
|
|
1999
2247
|
] }),
|
|
2000
|
-
|
|
2248
|
+
keys.length ? /* @__PURE__ */ jsx36("span", { className: "pire-menu-item-shortcut", children: keys.map((cap, index) => /* @__PURE__ */ jsx36(Kbd, { size: "sm", children: cap }, `${cap}-${index}`)) }) : null
|
|
2001
2249
|
]
|
|
2002
2250
|
}
|
|
2003
2251
|
);
|
|
2004
2252
|
}
|
|
2005
2253
|
function MenuSection({ title, children, className, ...rest }) {
|
|
2006
2254
|
return /* @__PURE__ */ jsxs28(AriaMenuSection, { className: cx("pire-menu-section", className), ...rest, children: [
|
|
2007
|
-
title ? /* @__PURE__ */
|
|
2255
|
+
title ? /* @__PURE__ */ jsx36(Header, { className: "pire-menu-section-title", children: title }) : null,
|
|
2008
2256
|
children
|
|
2009
2257
|
] });
|
|
2010
2258
|
}
|
|
2011
2259
|
function MenuSeparator({ className }) {
|
|
2012
|
-
return /* @__PURE__ */
|
|
2260
|
+
return /* @__PURE__ */ jsx36(AriaSeparator2, { className: cx("pire-menu-separator", className) });
|
|
2013
2261
|
}
|
|
2014
2262
|
|
|
2015
2263
|
// src/components/navigation/SideNav.tsx
|
|
2016
|
-
import { jsx as
|
|
2264
|
+
import { jsx as jsx37, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
2017
2265
|
function findActiveParent(groups, value) {
|
|
2018
2266
|
if (value == null) return void 0;
|
|
2019
2267
|
for (const group of groups) {
|
|
@@ -2063,7 +2311,7 @@ function SideNav({
|
|
|
2063
2311
|
const renderRow = (item, onPress, isGroup) => {
|
|
2064
2312
|
const selected = !isGroup && item.id === value;
|
|
2065
2313
|
const button = /* @__PURE__ */ jsxs29(
|
|
2066
|
-
|
|
2314
|
+
AriaButton11,
|
|
2067
2315
|
{
|
|
2068
2316
|
className: "pire-sidenav-item",
|
|
2069
2317
|
"data-selected": selected ? "true" : void 0,
|
|
@@ -2072,63 +2320,63 @@ function SideNav({
|
|
|
2072
2320
|
"aria-label": collapsed ? item.label : void 0,
|
|
2073
2321
|
onPress,
|
|
2074
2322
|
children: [
|
|
2075
|
-
item.icon ? /* @__PURE__ */
|
|
2076
|
-
collapsed ? null : /* @__PURE__ */
|
|
2077
|
-
item.count != null && !collapsed ? /* @__PURE__ */
|
|
2323
|
+
item.icon ? /* @__PURE__ */ jsx37(Icon, { name: item.icon, size: 16 }) : null,
|
|
2324
|
+
collapsed ? null : /* @__PURE__ */ jsx37("span", { children: item.label }),
|
|
2325
|
+
item.count != null && !collapsed ? /* @__PURE__ */ jsx37("span", { className: "pire-sidenav-count", children: item.count }) : null
|
|
2078
2326
|
]
|
|
2079
2327
|
},
|
|
2080
2328
|
item.id
|
|
2081
2329
|
);
|
|
2082
|
-
return collapsed ? /* @__PURE__ */
|
|
2330
|
+
return collapsed ? /* @__PURE__ */ jsx37(Tooltip, { label: item.label, placement: "right", children: button }, item.id) : button;
|
|
2083
2331
|
};
|
|
2084
|
-
const renderRailFlyout = (item) => /* @__PURE__ */ jsxs29(
|
|
2085
|
-
/* @__PURE__ */
|
|
2086
|
-
|
|
2332
|
+
const renderRailFlyout = (item) => /* @__PURE__ */ jsxs29(MenuTrigger2, { children: [
|
|
2333
|
+
/* @__PURE__ */ jsx37(
|
|
2334
|
+
AriaButton11,
|
|
2087
2335
|
{
|
|
2088
2336
|
className: "pire-sidenav-item",
|
|
2089
2337
|
"aria-label": item.label,
|
|
2090
2338
|
"data-active-child": item.id === activeParent ? "true" : void 0,
|
|
2091
|
-
children: item.icon ? /* @__PURE__ */
|
|
2339
|
+
children: item.icon ? /* @__PURE__ */ jsx37(Icon, { name: item.icon, size: 16 }) : null
|
|
2092
2340
|
}
|
|
2093
2341
|
),
|
|
2094
|
-
/* @__PURE__ */
|
|
2342
|
+
/* @__PURE__ */ jsx37(Popover7, { className: "pire-popover", placement: "right top", offset: 4, children: /* @__PURE__ */ jsx37(
|
|
2095
2343
|
Menu,
|
|
2096
2344
|
{
|
|
2097
2345
|
"aria-label": item.label,
|
|
2098
2346
|
className: "pire-sidenav-flyout",
|
|
2099
2347
|
onAction: (key) => onChange?.(String(key)),
|
|
2100
|
-
children: (item.items ?? []).map((child) => /* @__PURE__ */
|
|
2348
|
+
children: (item.items ?? []).map((child) => /* @__PURE__ */ jsx37(MenuItem, { id: child.id, children: child.label }, child.id))
|
|
2101
2349
|
}
|
|
2102
2350
|
) })
|
|
2103
2351
|
] }, item.id);
|
|
2104
2352
|
const renderSection = (item) => /* @__PURE__ */ jsxs29(Disclosure, { id: item.id, className: "pire-sidenav-section", children: [
|
|
2105
2353
|
/* @__PURE__ */ jsxs29(
|
|
2106
|
-
|
|
2354
|
+
AriaButton11,
|
|
2107
2355
|
{
|
|
2108
2356
|
slot: "trigger",
|
|
2109
2357
|
className: "pire-sidenav-item",
|
|
2110
2358
|
"data-kind": "group",
|
|
2111
2359
|
"data-active-child": item.id === activeParent ? "true" : void 0,
|
|
2112
2360
|
children: [
|
|
2113
|
-
item.icon ? /* @__PURE__ */
|
|
2114
|
-
/* @__PURE__ */
|
|
2115
|
-
item.count != null ? /* @__PURE__ */
|
|
2116
|
-
/* @__PURE__ */
|
|
2361
|
+
item.icon ? /* @__PURE__ */ jsx37(Icon, { name: item.icon, size: 16 }) : null,
|
|
2362
|
+
/* @__PURE__ */ jsx37("span", { children: item.label }),
|
|
2363
|
+
item.count != null ? /* @__PURE__ */ jsx37("span", { className: "pire-sidenav-count", children: item.count }) : null,
|
|
2364
|
+
/* @__PURE__ */ jsx37(Icon, { name: "chevron-down", size: 16, className: "pire-sidenav-chevron" })
|
|
2117
2365
|
]
|
|
2118
2366
|
}
|
|
2119
2367
|
),
|
|
2120
|
-
/* @__PURE__ */
|
|
2368
|
+
/* @__PURE__ */ jsx37(DisclosurePanel, { className: "pire-sidenav-subnav", children: item.items?.map((child) => {
|
|
2121
2369
|
const selected = child.id === value;
|
|
2122
2370
|
return /* @__PURE__ */ jsxs29(
|
|
2123
|
-
|
|
2371
|
+
AriaButton11,
|
|
2124
2372
|
{
|
|
2125
2373
|
className: "pire-sidenav-item pire-sidenav-subitem",
|
|
2126
2374
|
"data-selected": selected ? "true" : void 0,
|
|
2127
2375
|
"aria-current": selected ? "page" : void 0,
|
|
2128
2376
|
onPress: () => onChange?.(child.id),
|
|
2129
2377
|
children: [
|
|
2130
|
-
/* @__PURE__ */
|
|
2131
|
-
child.count != null ? /* @__PURE__ */
|
|
2378
|
+
/* @__PURE__ */ jsx37("span", { children: child.label }),
|
|
2379
|
+
child.count != null ? /* @__PURE__ */ jsx37("span", { className: "pire-sidenav-count", children: child.count }) : null
|
|
2132
2380
|
]
|
|
2133
2381
|
},
|
|
2134
2382
|
child.id
|
|
@@ -2152,8 +2400,8 @@ function SideNav({
|
|
|
2152
2400
|
return renderRow(item, () => isGroup ? toggleExpanded(item.id) : onChange?.(item.id), isGroup);
|
|
2153
2401
|
});
|
|
2154
2402
|
return /* @__PURE__ */ jsxs29("div", { className: "pire-sidenav-group", children: [
|
|
2155
|
-
group.label && !collapsed ? /* @__PURE__ */
|
|
2156
|
-
hasSections ? /* @__PURE__ */
|
|
2403
|
+
group.label && !collapsed ? /* @__PURE__ */ jsx37("div", { className: "pire-sidenav-label", children: group.label }) : null,
|
|
2404
|
+
hasSections ? /* @__PURE__ */ jsx37(
|
|
2157
2405
|
DisclosureGroup,
|
|
2158
2406
|
{
|
|
2159
2407
|
className: "pire-sidenav-tree",
|
|
@@ -2165,7 +2413,7 @@ function SideNav({
|
|
|
2165
2413
|
) : rows
|
|
2166
2414
|
] }, group.label ?? gi);
|
|
2167
2415
|
}),
|
|
2168
|
-
footer ? /* @__PURE__ */
|
|
2416
|
+
footer ? /* @__PURE__ */ jsx37("div", { className: "pire-sidenav-footer", children: footer }) : null
|
|
2169
2417
|
]
|
|
2170
2418
|
}
|
|
2171
2419
|
);
|
|
@@ -2173,7 +2421,7 @@ function SideNav({
|
|
|
2173
2421
|
|
|
2174
2422
|
// src/components/navigation/Tabs.tsx
|
|
2175
2423
|
import { Tabs as AriaTabs, TabList, Tab as AriaTab, TabPanel } from "react-aria-components";
|
|
2176
|
-
import { jsx as
|
|
2424
|
+
import { jsx as jsx38, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
2177
2425
|
function Tabs({ items, value, defaultValue, onChange, panels, className, style, ...rest }) {
|
|
2178
2426
|
return /* @__PURE__ */ jsxs30(
|
|
2179
2427
|
AriaTabs,
|
|
@@ -2184,12 +2432,12 @@ function Tabs({ items, value, defaultValue, onChange, panels, className, style,
|
|
|
2184
2432
|
defaultSelectedKey: defaultValue,
|
|
2185
2433
|
onSelectionChange: (k) => onChange?.(String(k)),
|
|
2186
2434
|
children: [
|
|
2187
|
-
/* @__PURE__ */
|
|
2188
|
-
item.icon ? /* @__PURE__ */
|
|
2435
|
+
/* @__PURE__ */ jsx38(TabList, { className: "pire-tablist", items, "aria-label": rest["aria-label"] ?? "Views", children: (item) => /* @__PURE__ */ jsxs30(AriaTab, { className: cx("pire-tab"), id: item.id, isDisabled: item.isDisabled, children: [
|
|
2436
|
+
item.icon ? /* @__PURE__ */ jsx38(Icon, { name: item.icon, size: 16 }) : null,
|
|
2189
2437
|
item.label,
|
|
2190
|
-
item.count != null ? /* @__PURE__ */
|
|
2438
|
+
item.count != null ? /* @__PURE__ */ jsx38("span", { className: "pire-tab-count", children: item.count }) : null
|
|
2191
2439
|
] }) }),
|
|
2192
|
-
items.map((item) => /* @__PURE__ */
|
|
2440
|
+
items.map((item) => /* @__PURE__ */ jsx38(TabPanel, { id: item.id, className: panels ? "pire-tabpanel" : void 0, children: panels?.[item.id] }, item.id))
|
|
2193
2441
|
]
|
|
2194
2442
|
}
|
|
2195
2443
|
);
|
|
@@ -2197,9 +2445,9 @@ function Tabs({ items, value, defaultValue, onChange, panels, className, style,
|
|
|
2197
2445
|
|
|
2198
2446
|
// src/components/navigation/Breadcrumb.tsx
|
|
2199
2447
|
import { Breadcrumbs as AriaBreadcrumbs, Breadcrumb as AriaBreadcrumb, Link as Link2 } from "react-aria-components";
|
|
2200
|
-
import { jsx as
|
|
2448
|
+
import { jsx as jsx39, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
2201
2449
|
function Breadcrumb({ items, onNavigate, className, style }) {
|
|
2202
|
-
return /* @__PURE__ */
|
|
2450
|
+
return /* @__PURE__ */ jsx39(
|
|
2203
2451
|
AriaBreadcrumbs,
|
|
2204
2452
|
{
|
|
2205
2453
|
className: cx("pire-breadcrumbs", className),
|
|
@@ -2209,8 +2457,8 @@ function Breadcrumb({ items, onNavigate, className, style }) {
|
|
|
2209
2457
|
children: (item) => {
|
|
2210
2458
|
const last = items[items.length - 1] === item;
|
|
2211
2459
|
return /* @__PURE__ */ jsxs31(AriaBreadcrumb, { className: "pire-breadcrumb", id: item.id ?? item.label, children: [
|
|
2212
|
-
last ? item.label : /* @__PURE__ */
|
|
2213
|
-
last ? null : /* @__PURE__ */
|
|
2460
|
+
last ? item.label : /* @__PURE__ */ jsx39(Link2, { href: item.href, children: item.label }),
|
|
2461
|
+
last ? null : /* @__PURE__ */ jsx39(Icon, { name: "chevron-right", size: 12, style: { color: "var(--text-tertiary)" } })
|
|
2214
2462
|
] });
|
|
2215
2463
|
}
|
|
2216
2464
|
}
|
|
@@ -2218,7 +2466,7 @@ function Breadcrumb({ items, onNavigate, className, style }) {
|
|
|
2218
2466
|
}
|
|
2219
2467
|
|
|
2220
2468
|
// src/components/navigation/Pagination.tsx
|
|
2221
|
-
import { jsx as
|
|
2469
|
+
import { jsx as jsx40, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
2222
2470
|
function Pagination({
|
|
2223
2471
|
page = 1,
|
|
2224
2472
|
pageSize = 25,
|
|
@@ -2234,8 +2482,8 @@ function Pagination({
|
|
|
2234
2482
|
const from = total === 0 ? 0 : (page - 1) * pageSize + 1;
|
|
2235
2483
|
const to = Math.min(total, page * pageSize);
|
|
2236
2484
|
return /* @__PURE__ */ jsxs32("nav", { className: cx("pire-pagination", className), style, "aria-label": msg.paginationLabel, children: [
|
|
2237
|
-
/* @__PURE__ */
|
|
2238
|
-
/* @__PURE__ */
|
|
2485
|
+
/* @__PURE__ */ jsx40("span", { className: "pire-pagination-count", children: msg.paginationRange.replace("{from}", from.toLocaleString()).replace("{to}", to.toLocaleString()).replace("{total}", total.toLocaleString()) }),
|
|
2486
|
+
/* @__PURE__ */ jsx40(
|
|
2239
2487
|
IconButton,
|
|
2240
2488
|
{
|
|
2241
2489
|
icon: "chevron-left",
|
|
@@ -2246,8 +2494,8 @@ function Pagination({
|
|
|
2246
2494
|
onPress: () => onPageChange?.(page - 1)
|
|
2247
2495
|
}
|
|
2248
2496
|
),
|
|
2249
|
-
/* @__PURE__ */
|
|
2250
|
-
/* @__PURE__ */
|
|
2497
|
+
/* @__PURE__ */ jsx40("span", { className: "pire-pagination-count", "aria-live": "polite", children: msg.paginationPageOf.replace("{page}", String(page)).replace("{pages}", String(pages)) }),
|
|
2498
|
+
/* @__PURE__ */ jsx40(
|
|
2251
2499
|
IconButton,
|
|
2252
2500
|
{
|
|
2253
2501
|
icon: "chevron-right",
|
|
@@ -2258,7 +2506,7 @@ function Pagination({
|
|
|
2258
2506
|
onPress: () => onPageChange?.(page + 1)
|
|
2259
2507
|
}
|
|
2260
2508
|
),
|
|
2261
|
-
onPageSizeChange ? /* @__PURE__ */
|
|
2509
|
+
onPageSizeChange ? /* @__PURE__ */ jsx40(
|
|
2262
2510
|
Select,
|
|
2263
2511
|
{
|
|
2264
2512
|
"aria-label": msg.paginationRowsPerPage,
|
|
@@ -2274,7 +2522,7 @@ function Pagination({
|
|
|
2274
2522
|
}
|
|
2275
2523
|
|
|
2276
2524
|
// src/components/feedback/InlineMessage.tsx
|
|
2277
|
-
import { jsx as
|
|
2525
|
+
import { jsx as jsx41, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
2278
2526
|
var KIND_ICON = {
|
|
2279
2527
|
info: "info",
|
|
2280
2528
|
success: "check-circle-2",
|
|
@@ -2293,13 +2541,13 @@ function InlineMessage({ kind = "info", title, action, onClose, children, classN
|
|
|
2293
2541
|
"aria-live": assertive ? "assertive" : "polite",
|
|
2294
2542
|
...rest,
|
|
2295
2543
|
children: [
|
|
2296
|
-
/* @__PURE__ */
|
|
2544
|
+
/* @__PURE__ */ jsx41(Icon, { name: KIND_ICON[kind], size: 16, style: { marginTop: 2 } }),
|
|
2297
2545
|
/* @__PURE__ */ jsxs33("div", { style: { flex: 1, display: "flex", flexDirection: "column", gap: "var(--sp-1)" }, children: [
|
|
2298
|
-
title ? /* @__PURE__ */
|
|
2299
|
-
children ? /* @__PURE__ */
|
|
2546
|
+
title ? /* @__PURE__ */ jsx41("span", { className: "pire-msg-title", children: title }) : null,
|
|
2547
|
+
children ? /* @__PURE__ */ jsx41("span", { className: "pire-msg-body", children }) : null,
|
|
2300
2548
|
action
|
|
2301
2549
|
] }),
|
|
2302
|
-
onClose ? /* @__PURE__ */
|
|
2550
|
+
onClose ? /* @__PURE__ */ jsx41(IconButton, { icon: "x", label: msg.inlineMessageDismiss, size: "sm", onPress: onClose }) : null
|
|
2303
2551
|
]
|
|
2304
2552
|
}
|
|
2305
2553
|
);
|
|
@@ -2307,7 +2555,7 @@ function InlineMessage({ kind = "info", title, action, onClose, children, classN
|
|
|
2307
2555
|
|
|
2308
2556
|
// src/components/feedback/Toast.tsx
|
|
2309
2557
|
import * as React12 from "react";
|
|
2310
|
-
import { jsx as
|
|
2558
|
+
import { jsx as jsx42, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
2311
2559
|
var KIND_ICON2 = {
|
|
2312
2560
|
info: "info",
|
|
2313
2561
|
success: "check-circle-2",
|
|
@@ -2325,9 +2573,9 @@ function Toast({ kind = "success", onClose, position = "bottom-center", children
|
|
|
2325
2573
|
"aria-live": kind === "error" ? "assertive" : "polite",
|
|
2326
2574
|
...rest,
|
|
2327
2575
|
children: [
|
|
2328
|
-
/* @__PURE__ */
|
|
2329
|
-
/* @__PURE__ */
|
|
2330
|
-
onClose ? /* @__PURE__ */
|
|
2576
|
+
/* @__PURE__ */ jsx42(Icon, { name: KIND_ICON2[kind], size: 16 }),
|
|
2577
|
+
/* @__PURE__ */ jsx42("span", { style: { flex: 1 }, children }),
|
|
2578
|
+
onClose ? /* @__PURE__ */ jsx42(IconButton, { icon: "x", label: msg.toastDismiss, size: "sm", variant: "inverse", onPress: onClose }) : null
|
|
2331
2579
|
]
|
|
2332
2580
|
}
|
|
2333
2581
|
);
|
|
@@ -2347,7 +2595,7 @@ function ToastProvider({ children, timeout = 6e3 }) {
|
|
|
2347
2595
|
const value = React12.useMemo(() => ({ add, close }), [add, close]);
|
|
2348
2596
|
return /* @__PURE__ */ jsxs34(ToastContext.Provider, { value, children: [
|
|
2349
2597
|
children,
|
|
2350
|
-
/* @__PURE__ */
|
|
2598
|
+
/* @__PURE__ */ jsx42("div", { className: "pire-toast-region", role: "region", "aria-label": msg.toastRegionLabel, children: toasts.map((t) => /* @__PURE__ */ jsx42(Toast, { kind: t.kind, onClose: () => close(t.id), style: { position: "static", transform: "none" }, children: t.message }, t.id)) })
|
|
2351
2599
|
] });
|
|
2352
2600
|
}
|
|
2353
2601
|
function useToast() {
|
|
@@ -2357,8 +2605,8 @@ function useToast() {
|
|
|
2357
2605
|
}
|
|
2358
2606
|
|
|
2359
2607
|
// src/components/data/KpiTile.tsx
|
|
2360
|
-
import { Button as
|
|
2361
|
-
import { Fragment as Fragment3, jsx as
|
|
2608
|
+
import { Button as AriaButton12 } from "react-aria-components";
|
|
2609
|
+
import { Fragment as Fragment3, jsx as jsx43, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
2362
2610
|
function KpiTile({
|
|
2363
2611
|
label,
|
|
2364
2612
|
value,
|
|
@@ -2376,48 +2624,48 @@ function KpiTile({
|
|
|
2376
2624
|
const tone = deltaTone ?? (deltaDirection === "down" ? "negative" : "positive");
|
|
2377
2625
|
const body = /* @__PURE__ */ jsxs35(Fragment3, { children: [
|
|
2378
2626
|
/* @__PURE__ */ jsxs35("span", { className: "pire-kpi-label", children: [
|
|
2379
|
-
icon ? /* @__PURE__ */
|
|
2627
|
+
icon ? /* @__PURE__ */ jsx43(Icon, { name: icon, size: 16 }) : null,
|
|
2380
2628
|
label
|
|
2381
2629
|
] }),
|
|
2382
2630
|
/* @__PURE__ */ jsxs35("span", { className: "pire-kpi-value", children: [
|
|
2383
2631
|
value,
|
|
2384
|
-
unit ? /* @__PURE__ */
|
|
2632
|
+
unit ? /* @__PURE__ */ jsx43("span", { className: "pire-kpi-unit", children: unit }) : null
|
|
2385
2633
|
] }),
|
|
2386
2634
|
delta ? /* @__PURE__ */ jsxs35("span", { className: "pire-kpi-delta", "data-tone": tone, children: [
|
|
2387
|
-
deltaDirection ? /* @__PURE__ */
|
|
2635
|
+
deltaDirection ? /* @__PURE__ */ jsx43(Icon, { name: deltaDirection === "up" ? "trending-up" : "trending-down", size: 12 }) : null,
|
|
2388
2636
|
delta
|
|
2389
2637
|
] }) : null,
|
|
2390
|
-
footnote ? /* @__PURE__ */
|
|
2638
|
+
footnote ? /* @__PURE__ */ jsx43("span", { className: "pire-kpi-foot", children: footnote }) : null
|
|
2391
2639
|
] });
|
|
2392
2640
|
const props = { className: cx("pire-kpi", className), "data-status": status, style };
|
|
2393
|
-
return onPress ? /* @__PURE__ */
|
|
2641
|
+
return onPress ? /* @__PURE__ */ jsx43(AriaButton12, { ...props, "data-pressable": "true", onPress, children: body }) : /* @__PURE__ */ jsx43("div", { ...props, children: body });
|
|
2394
2642
|
}
|
|
2395
2643
|
|
|
2396
2644
|
// src/components/data/ObjectHeader.tsx
|
|
2397
|
-
import { jsx as
|
|
2645
|
+
import { jsx as jsx44, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
2398
2646
|
function ObjectHeader({ title, subtitle, id, breadcrumb, badge, facts, actions, className, ...rest }) {
|
|
2399
2647
|
return /* @__PURE__ */ jsxs36("header", { className: cx("pire-objheader", className), ...rest, children: [
|
|
2400
2648
|
breadcrumb,
|
|
2401
2649
|
/* @__PURE__ */ jsxs36("div", { className: "pire-objheader-row", children: [
|
|
2402
2650
|
/* @__PURE__ */ jsxs36("div", { style: { minWidth: 0 }, children: [
|
|
2403
|
-
/* @__PURE__ */
|
|
2651
|
+
/* @__PURE__ */ jsx44("h1", { className: "pire-objheader-title", children: title }),
|
|
2404
2652
|
subtitle || id ? /* @__PURE__ */ jsxs36("div", { className: "pire-objheader-sub", children: [
|
|
2405
2653
|
subtitle,
|
|
2406
|
-
id ? /* @__PURE__ */
|
|
2654
|
+
id ? /* @__PURE__ */ jsx44("span", { className: "pire-objheader-id", children: id }) : null
|
|
2407
2655
|
] }) : null
|
|
2408
2656
|
] }),
|
|
2409
2657
|
badge,
|
|
2410
|
-
actions ? /* @__PURE__ */
|
|
2658
|
+
actions ? /* @__PURE__ */ jsx44("div", { className: "pire-objheader-actions", children: actions }) : null
|
|
2411
2659
|
] }),
|
|
2412
|
-
facts?.length ? /* @__PURE__ */
|
|
2413
|
-
/* @__PURE__ */
|
|
2414
|
-
/* @__PURE__ */
|
|
2660
|
+
facts?.length ? /* @__PURE__ */ jsx44("dl", { className: "pire-facts", style: { margin: 0 }, children: facts.map((fact) => /* @__PURE__ */ jsxs36("div", { children: [
|
|
2661
|
+
/* @__PURE__ */ jsx44("dt", { className: "pire-fact-label", children: fact.label }),
|
|
2662
|
+
/* @__PURE__ */ jsx44("dd", { className: "pire-fact-value", "data-numeric": fact.numeric ? "true" : void 0, style: { margin: 0 }, children: fact.value })
|
|
2415
2663
|
] }, fact.label)) }) : null
|
|
2416
2664
|
] });
|
|
2417
2665
|
}
|
|
2418
2666
|
|
|
2419
2667
|
// src/components/data/FilterBar.tsx
|
|
2420
|
-
import { jsx as
|
|
2668
|
+
import { jsx as jsx45, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
2421
2669
|
function FilterBar({
|
|
2422
2670
|
children,
|
|
2423
2671
|
activeFilters = [],
|
|
@@ -2437,21 +2685,21 @@ function FilterBar({
|
|
|
2437
2685
|
return /* @__PURE__ */ jsxs37("section", { className: cx("pire-filterbar", className), ...rest, "aria-label": label, children: [
|
|
2438
2686
|
/* @__PURE__ */ jsxs37("div", { className: "pire-filterbar-controls", children: [
|
|
2439
2687
|
children,
|
|
2440
|
-
onGo ? /* @__PURE__ */
|
|
2688
|
+
onGo ? /* @__PURE__ */ jsx45(Button, { variant: "primary", onPress: onGo, children: go }) : null
|
|
2441
2689
|
] }),
|
|
2442
2690
|
activeFilters.length || resultLabel || actions ? /* @__PURE__ */ jsxs37("div", { className: "pire-filterbar-foot", children: [
|
|
2443
|
-
activeFilters.map((filter) => /* @__PURE__ */
|
|
2444
|
-
activeFilters.length && onClear ? /* @__PURE__ */
|
|
2445
|
-
resultLabel ? /* @__PURE__ */
|
|
2446
|
-
actions ? /* @__PURE__ */
|
|
2691
|
+
activeFilters.map((filter) => /* @__PURE__ */ jsx45(Tag, { onRemove: onRemoveFilter ? () => onRemoveFilter(filter.id) : void 0, children: filter.label }, filter.id)),
|
|
2692
|
+
activeFilters.length && onClear ? /* @__PURE__ */ jsx45(Button, { variant: "tertiary", size: "sm", onPress: onClear, children: clearAll }) : null,
|
|
2693
|
+
resultLabel ? /* @__PURE__ */ jsx45("span", { className: "pire-filterbar-result", "aria-live": "polite", children: resultLabel }) : null,
|
|
2694
|
+
actions ? /* @__PURE__ */ jsx45("div", { className: "pire-filterbar-actions", children: actions }) : null
|
|
2447
2695
|
] }) : null
|
|
2448
2696
|
] });
|
|
2449
2697
|
}
|
|
2450
2698
|
|
|
2451
2699
|
// src/components/data/DescriptionList.tsx
|
|
2452
|
-
import { jsx as
|
|
2700
|
+
import { jsx as jsx46, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
2453
2701
|
function DescriptionList({ items, layout = "rows", columns = 3, className, style, ...rest }) {
|
|
2454
|
-
return /* @__PURE__ */
|
|
2702
|
+
return /* @__PURE__ */ jsx46(
|
|
2455
2703
|
"dl",
|
|
2456
2704
|
{
|
|
2457
2705
|
className: cx("pire-dl", className),
|
|
@@ -2463,20 +2711,20 @@ function DescriptionList({ items, layout = "rows", columns = 3, className, style
|
|
|
2463
2711
|
item.label,
|
|
2464
2712
|
item.hint
|
|
2465
2713
|
] }),
|
|
2466
|
-
/* @__PURE__ */
|
|
2714
|
+
/* @__PURE__ */ jsx46("dd", { className: "pire-dl-value", "data-numeric": item.numeric ? "true" : void 0, children: item.value })
|
|
2467
2715
|
] }, i))
|
|
2468
2716
|
}
|
|
2469
2717
|
);
|
|
2470
2718
|
}
|
|
2471
2719
|
|
|
2472
2720
|
// src/components/data/Timeline.tsx
|
|
2473
|
-
import { jsx as
|
|
2721
|
+
import { jsx as jsx47, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
2474
2722
|
function Timeline({ entries, reverse = false, className, ...rest }) {
|
|
2475
2723
|
const list = reverse ? [...entries].reverse() : entries;
|
|
2476
|
-
return /* @__PURE__ */
|
|
2477
|
-
/* @__PURE__ */
|
|
2478
|
-
/* @__PURE__ */
|
|
2479
|
-
entry.actor ? /* @__PURE__ */
|
|
2724
|
+
return /* @__PURE__ */ jsx47("ol", { className: cx("pire-timeline", className), ...rest, children: list.map((entry, i) => /* @__PURE__ */ jsxs39("li", { className: "pire-timeline-item", children: [
|
|
2725
|
+
/* @__PURE__ */ jsx47("span", { className: "pire-timeline-time", children: entry.time }),
|
|
2726
|
+
/* @__PURE__ */ jsx47("span", { className: "pire-timeline-text", children: entry.event }),
|
|
2727
|
+
entry.actor ? /* @__PURE__ */ jsx47("span", { className: "pire-timeline-actor", children: entry.actor }) : null
|
|
2480
2728
|
] }, entry.id ?? i)) });
|
|
2481
2729
|
}
|
|
2482
2730
|
|
|
@@ -2559,7 +2807,7 @@ function alignToCategories(series, categoryCount) {
|
|
|
2559
2807
|
}
|
|
2560
2808
|
|
|
2561
2809
|
// src/components/data/ChartFrame.tsx
|
|
2562
|
-
import { jsx as
|
|
2810
|
+
import { jsx as jsx48, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
2563
2811
|
function seriesLegend(series) {
|
|
2564
2812
|
return series.map((one, index) => ({
|
|
2565
2813
|
key: one.id,
|
|
@@ -2584,27 +2832,27 @@ function ChartFrame({
|
|
|
2584
2832
|
const msg = usePireMessages();
|
|
2585
2833
|
return /* @__PURE__ */ jsxs40("figure", { className: cx("pire-chart", className), style, children: [
|
|
2586
2834
|
title || description ? /* @__PURE__ */ jsxs40("figcaption", { className: "pire-chart-head", children: [
|
|
2587
|
-
title ? /* @__PURE__ */
|
|
2588
|
-
description ? /* @__PURE__ */
|
|
2835
|
+
title ? /* @__PURE__ */ jsx48("span", { className: "pire-chart-title", children: title }) : null,
|
|
2836
|
+
description ? /* @__PURE__ */ jsx48("span", { className: "pire-chart-desc", children: description }) : null
|
|
2589
2837
|
] }) : null,
|
|
2590
|
-
legend && legend.length > 1 ? /* @__PURE__ */
|
|
2591
|
-
/* @__PURE__ */
|
|
2838
|
+
legend && legend.length > 1 ? /* @__PURE__ */ jsx48("ul", { className: "pire-chart-legend", children: legend.map((item) => /* @__PURE__ */ jsxs40("li", { className: "pire-chart-legend-item", children: [
|
|
2839
|
+
/* @__PURE__ */ jsx48("span", { className: "pire-chart-swatch", style: { background: item.color } }),
|
|
2592
2840
|
item.label
|
|
2593
2841
|
] }, item.key)) }) : null,
|
|
2594
|
-
/* @__PURE__ */
|
|
2595
|
-
/* @__PURE__ */
|
|
2596
|
-
/* @__PURE__ */
|
|
2597
|
-
/* @__PURE__ */
|
|
2598
|
-
/* @__PURE__ */
|
|
2599
|
-
series.map((one) => /* @__PURE__ */
|
|
2842
|
+
/* @__PURE__ */ jsx48("div", { className: "pire-chart-plot", "aria-hidden": "true", children }),
|
|
2843
|
+
/* @__PURE__ */ jsx48("div", { className: showDataTable ? "pire-chart-table" : "pire-sr-only", children: /* @__PURE__ */ jsxs40("table", { children: [
|
|
2844
|
+
/* @__PURE__ */ jsx48("caption", { children: label }),
|
|
2845
|
+
/* @__PURE__ */ jsx48("thead", { children: /* @__PURE__ */ jsxs40("tr", { children: [
|
|
2846
|
+
/* @__PURE__ */ jsx48("th", { scope: "col", children: msg.chartCategoryHeader }),
|
|
2847
|
+
series.map((one) => /* @__PURE__ */ jsx48("th", { scope: "col", children: one.label }, one.id))
|
|
2600
2848
|
] }) }),
|
|
2601
|
-
/* @__PURE__ */
|
|
2849
|
+
/* @__PURE__ */ jsx48("tbody", { children: categories.map((category, categoryIndex) => (
|
|
2602
2850
|
// biome-ignore lint/suspicious/noArrayIndexKey: categories are positional and repeat legitimately (two quarters both labelled "Q1").
|
|
2603
2851
|
/* @__PURE__ */ jsxs40("tr", { children: [
|
|
2604
|
-
/* @__PURE__ */
|
|
2852
|
+
/* @__PURE__ */ jsx48("th", { scope: "row", children: category }),
|
|
2605
2853
|
series.map((one) => {
|
|
2606
2854
|
const value = one.values[categoryIndex];
|
|
2607
|
-
return /* @__PURE__ */
|
|
2855
|
+
return /* @__PURE__ */ jsx48("td", { children: value == null ? msg.chartNoValue : formatValue(value) }, one.id);
|
|
2608
2856
|
})
|
|
2609
2857
|
] }, categoryIndex)
|
|
2610
2858
|
)) })
|
|
@@ -2613,7 +2861,7 @@ function ChartFrame({
|
|
|
2613
2861
|
}
|
|
2614
2862
|
|
|
2615
2863
|
// src/components/data/BarChart.tsx
|
|
2616
|
-
import { jsx as
|
|
2864
|
+
import { jsx as jsx49, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
2617
2865
|
function BarChart({
|
|
2618
2866
|
categories,
|
|
2619
2867
|
series: rawSeries,
|
|
@@ -2645,7 +2893,7 @@ function BarChart({
|
|
|
2645
2893
|
const value = series[0].values[categoryIndex];
|
|
2646
2894
|
return value == null ? msg.chartNoValue : formatValue(value);
|
|
2647
2895
|
};
|
|
2648
|
-
return /* @__PURE__ */
|
|
2896
|
+
return /* @__PURE__ */ jsx49(
|
|
2649
2897
|
ChartFrame,
|
|
2650
2898
|
{
|
|
2651
2899
|
label,
|
|
@@ -2658,7 +2906,7 @@ function BarChart({
|
|
|
2658
2906
|
showDataTable,
|
|
2659
2907
|
className,
|
|
2660
2908
|
style,
|
|
2661
|
-
children: !hasData ? /* @__PURE__ */
|
|
2909
|
+
children: !hasData ? /* @__PURE__ */ jsx49("div", { className: "pire-chart-empty", children: emptyState ?? msg.chartEmpty }) : /* @__PURE__ */ jsx49(
|
|
2662
2910
|
"div",
|
|
2663
2911
|
{
|
|
2664
2912
|
className: "pire-chart-bars",
|
|
@@ -2668,8 +2916,8 @@ function BarChart({
|
|
|
2668
2916
|
children: categories.map((category, categoryIndex) => (
|
|
2669
2917
|
// biome-ignore lint/suspicious/noArrayIndexKey: categories are positional and repeat legitimately (two quarters both labelled "Q1").
|
|
2670
2918
|
/* @__PURE__ */ jsxs41("div", { className: "pire-chart-group", children: [
|
|
2671
|
-
/* @__PURE__ */
|
|
2672
|
-
/* @__PURE__ */
|
|
2919
|
+
/* @__PURE__ */ jsx49("span", { className: "pire-chart-cat", children: category }),
|
|
2920
|
+
/* @__PURE__ */ jsx49("div", { className: "pire-chart-track", children: series.map((one, seriesIndex) => {
|
|
2673
2921
|
const value = one.values[categoryIndex];
|
|
2674
2922
|
if (value == null) return null;
|
|
2675
2923
|
return /* @__PURE__ */ jsxs41(
|
|
@@ -2681,7 +2929,7 @@ function BarChart({
|
|
|
2681
2929
|
"--pire-bar-color": seriesColor(one, seriesIndex)
|
|
2682
2930
|
},
|
|
2683
2931
|
children: [
|
|
2684
|
-
withValues && orientation === "vertical" ? /* @__PURE__ */
|
|
2932
|
+
withValues && orientation === "vertical" ? /* @__PURE__ */ jsx49("span", { className: "pire-chart-barval", children: formatValue(value) }) : null,
|
|
2685
2933
|
/* @__PURE__ */ jsxs41("span", { className: "pire-chart-tip", role: "presentation", children: [
|
|
2686
2934
|
series.length > 1 ? `${one.label}: ` : "",
|
|
2687
2935
|
formatValue(value)
|
|
@@ -2691,7 +2939,7 @@ function BarChart({
|
|
|
2691
2939
|
one.id
|
|
2692
2940
|
);
|
|
2693
2941
|
}) }),
|
|
2694
|
-
withValues && orientation === "horizontal" ? /* @__PURE__ */
|
|
2942
|
+
withValues && orientation === "horizontal" ? /* @__PURE__ */ jsx49("span", { className: "pire-chart-val", children: horizontalLabelFor(categoryIndex) }) : null
|
|
2695
2943
|
] }, categoryIndex)
|
|
2696
2944
|
))
|
|
2697
2945
|
}
|
|
@@ -2702,7 +2950,7 @@ function BarChart({
|
|
|
2702
2950
|
|
|
2703
2951
|
// src/components/data/LineChart.tsx
|
|
2704
2952
|
import * as React13 from "react";
|
|
2705
|
-
import { jsx as
|
|
2953
|
+
import { jsx as jsx50, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
2706
2954
|
var PLOT_INSET = { top: 10, right: 14, bottom: 24, left: 58 };
|
|
2707
2955
|
var MARKER_LIMIT = 20;
|
|
2708
2956
|
var useIsomorphicLayoutEffect2 = typeof window === "undefined" ? React13.useEffect : React13.useLayoutEffect;
|
|
@@ -2769,7 +3017,7 @@ function LineChart({
|
|
|
2769
3017
|
return `M${xAt(present[0].index)} ${baseline} L${line} L${xAt(last.index)} ${baseline} Z`;
|
|
2770
3018
|
};
|
|
2771
3019
|
const labelEvery = Math.max(1, Math.ceil(categories.length / Math.max(2, Math.floor(innerWidth / 64))));
|
|
2772
|
-
return /* @__PURE__ */
|
|
3020
|
+
return /* @__PURE__ */ jsx50(
|
|
2773
3021
|
ChartFrame,
|
|
2774
3022
|
{
|
|
2775
3023
|
label,
|
|
@@ -2782,7 +3030,7 @@ function LineChart({
|
|
|
2782
3030
|
showDataTable,
|
|
2783
3031
|
className,
|
|
2784
3032
|
style,
|
|
2785
|
-
children: !hasData ? /* @__PURE__ */
|
|
3033
|
+
children: !hasData ? /* @__PURE__ */ jsx50("div", { className: "pire-chart-empty", children: emptyState ?? msg.chartEmpty }) : /* @__PURE__ */ jsxs42("div", { className: "pire-chart-lines", ref: plotRef, style: { height }, children: [
|
|
2786
3034
|
width > 0 ? /* @__PURE__ */ jsxs42(
|
|
2787
3035
|
"svg",
|
|
2788
3036
|
{
|
|
@@ -2792,7 +3040,7 @@ function LineChart({
|
|
|
2792
3040
|
"aria-hidden": "true",
|
|
2793
3041
|
focusable: "false",
|
|
2794
3042
|
children: [
|
|
2795
|
-
/* @__PURE__ */
|
|
3043
|
+
/* @__PURE__ */ jsx50("g", { className: "pire-chart-grid", children: scale.ticks.map((tick) => /* @__PURE__ */ jsx50(
|
|
2796
3044
|
"line",
|
|
2797
3045
|
{
|
|
2798
3046
|
x1: PLOT_INSET.left,
|
|
@@ -2803,7 +3051,7 @@ function LineChart({
|
|
|
2803
3051
|
tick
|
|
2804
3052
|
)) }),
|
|
2805
3053
|
/* @__PURE__ */ jsxs42("g", { className: "pire-chart-tick", children: [
|
|
2806
|
-
scale.ticks.map((tick) => /* @__PURE__ */
|
|
3054
|
+
scale.ticks.map((tick) => /* @__PURE__ */ jsx50(
|
|
2807
3055
|
"text",
|
|
2808
3056
|
{
|
|
2809
3057
|
x: PLOT_INSET.left - 8,
|
|
@@ -2816,10 +3064,10 @@ function LineChart({
|
|
|
2816
3064
|
)),
|
|
2817
3065
|
categories.map((category, index) => index % labelEvery === 0 ? (
|
|
2818
3066
|
// biome-ignore lint/suspicious/noArrayIndexKey: categories are positional and repeat legitimately (two quarters both labelled "Q1").
|
|
2819
|
-
/* @__PURE__ */
|
|
3067
|
+
/* @__PURE__ */ jsx50("text", { x: xAt(index), y: height - 6, textAnchor: "middle", children: category }, index)
|
|
2820
3068
|
) : null)
|
|
2821
3069
|
] }),
|
|
2822
|
-
showArea && series[0] ? /* @__PURE__ */
|
|
3070
|
+
showArea && series[0] ? /* @__PURE__ */ jsx50(
|
|
2823
3071
|
"path",
|
|
2824
3072
|
{
|
|
2825
3073
|
d: areaFor(series[0].values),
|
|
@@ -2827,10 +3075,10 @@ function LineChart({
|
|
|
2827
3075
|
style: { fill: seriesColor(series[0], 0) }
|
|
2828
3076
|
}
|
|
2829
3077
|
) : null,
|
|
2830
|
-
/* @__PURE__ */
|
|
2831
|
-
withMarkers ? /* @__PURE__ */
|
|
3078
|
+
/* @__PURE__ */ jsx50("g", { className: "pire-chart-line", fill: "none", children: series.map((one, index) => /* @__PURE__ */ jsx50("path", { d: pathFor(one.values), stroke: seriesColor(one, index) }, one.id)) }),
|
|
3079
|
+
withMarkers ? /* @__PURE__ */ jsx50("g", { className: "pire-chart-marker", children: series.map((one, seriesIndex) => one.values.map((value, index) => value == null ? null : (
|
|
2832
3080
|
// biome-ignore lint/suspicious/noArrayIndexKey: a series is positional — the index is the point's identity, and category labels repeat.
|
|
2833
|
-
/* @__PURE__ */
|
|
3081
|
+
/* @__PURE__ */ jsx50(
|
|
2834
3082
|
"circle",
|
|
2835
3083
|
{
|
|
2836
3084
|
cx: xAt(index),
|
|
@@ -2844,15 +3092,15 @@ function LineChart({
|
|
|
2844
3092
|
]
|
|
2845
3093
|
}
|
|
2846
3094
|
) : null,
|
|
2847
|
-
/* @__PURE__ */
|
|
3095
|
+
/* @__PURE__ */ jsx50(
|
|
2848
3096
|
"div",
|
|
2849
3097
|
{
|
|
2850
3098
|
className: "pire-chart-hover",
|
|
2851
3099
|
style: { inset: `${PLOT_INSET.top}px ${PLOT_INSET.right}px ${PLOT_INSET.bottom}px ${PLOT_INSET.left}px` },
|
|
2852
3100
|
children: categories.map((category, categoryIndex) => (
|
|
2853
3101
|
// biome-ignore lint/suspicious/noArrayIndexKey: categories are positional and repeat legitimately (two quarters both labelled "Q1").
|
|
2854
|
-
/* @__PURE__ */
|
|
2855
|
-
/* @__PURE__ */
|
|
3102
|
+
/* @__PURE__ */ jsx50("div", { className: "pire-chart-band", children: /* @__PURE__ */ jsxs42("span", { className: "pire-chart-tip", role: "presentation", children: [
|
|
3103
|
+
/* @__PURE__ */ jsx50("strong", { children: category }),
|
|
2856
3104
|
series.map((one) => {
|
|
2857
3105
|
const value = one.values[categoryIndex];
|
|
2858
3106
|
return /* @__PURE__ */ jsxs42("span", { className: "pire-chart-tip-row", children: [
|
|
@@ -2872,7 +3120,7 @@ function LineChart({
|
|
|
2872
3120
|
|
|
2873
3121
|
// src/components/data/DonutChart.tsx
|
|
2874
3122
|
import * as React14 from "react";
|
|
2875
|
-
import { jsx as
|
|
3123
|
+
import { jsx as jsx51, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
2876
3124
|
var SEGMENT_GAP_DEGREES = 1.5;
|
|
2877
3125
|
function DonutChart({
|
|
2878
3126
|
categories,
|
|
@@ -2909,7 +3157,7 @@ function DonutChart({
|
|
|
2909
3157
|
}));
|
|
2910
3158
|
const hovered = hoveredIndex == null ? null : segments.find((segment) => segment.index === hoveredIndex) ?? null;
|
|
2911
3159
|
let arcStart = 0;
|
|
2912
|
-
return /* @__PURE__ */
|
|
3160
|
+
return /* @__PURE__ */ jsx51(
|
|
2913
3161
|
ChartFrame,
|
|
2914
3162
|
{
|
|
2915
3163
|
label,
|
|
@@ -2922,8 +3170,8 @@ function DonutChart({
|
|
|
2922
3170
|
showDataTable,
|
|
2923
3171
|
className,
|
|
2924
3172
|
style,
|
|
2925
|
-
children: !hasData ? /* @__PURE__ */
|
|
2926
|
-
/* @__PURE__ */
|
|
3173
|
+
children: !hasData ? /* @__PURE__ */ jsx51("div", { className: "pire-chart-empty", children: emptyState ?? msg.chartEmpty }) : /* @__PURE__ */ jsxs43("div", { className: "pire-chart-donut", style: { height: size }, children: [
|
|
3174
|
+
/* @__PURE__ */ jsx51(
|
|
2927
3175
|
"svg",
|
|
2928
3176
|
{
|
|
2929
3177
|
width: size,
|
|
@@ -2931,13 +3179,13 @@ function DonutChart({
|
|
|
2931
3179
|
"aria-hidden": "true",
|
|
2932
3180
|
focusable: "false",
|
|
2933
3181
|
onMouseLeave: () => setHoveredIndex(null),
|
|
2934
|
-
children: /* @__PURE__ */
|
|
3182
|
+
children: /* @__PURE__ */ jsx51("g", { transform: `rotate(-90 ${size / 2} ${size / 2})`, children: segments.map((segment) => {
|
|
2935
3183
|
const arcLength = segment.value / total * circumference;
|
|
2936
3184
|
const offset = arcStart;
|
|
2937
3185
|
arcStart += arcLength;
|
|
2938
3186
|
return (
|
|
2939
3187
|
// biome-ignore lint/a11y/noStaticElementInteractions: pointer-only enhancement inside an aria-hidden plot — the arcs carry nothing the data table does not, so there is nothing here for a keyboard to reach.
|
|
2940
|
-
/* @__PURE__ */
|
|
3188
|
+
/* @__PURE__ */ jsx51(
|
|
2941
3189
|
"circle",
|
|
2942
3190
|
{
|
|
2943
3191
|
className: "pire-chart-arc",
|
|
@@ -2958,8 +3206,8 @@ function DonutChart({
|
|
|
2958
3206
|
}
|
|
2959
3207
|
),
|
|
2960
3208
|
/* @__PURE__ */ jsxs43("div", { className: "pire-chart-donut-center", style: { width: size - thickness * 2 - 8 }, children: [
|
|
2961
|
-
/* @__PURE__ */
|
|
2962
|
-
/* @__PURE__ */
|
|
3209
|
+
/* @__PURE__ */ jsx51("span", { className: "pire-chart-donut-value", children: hovered ? formatValue(hovered.value) : centerLabel ?? formatValue(total) }),
|
|
3210
|
+
/* @__PURE__ */ jsx51("span", { className: "pire-chart-donut-caption", children: hovered ? hovered.category : centerCaption })
|
|
2963
3211
|
] })
|
|
2964
3212
|
] })
|
|
2965
3213
|
}
|
|
@@ -2970,15 +3218,15 @@ function colorForSegment(index) {
|
|
|
2970
3218
|
}
|
|
2971
3219
|
|
|
2972
3220
|
// src/components/data/LinkList.tsx
|
|
2973
|
-
import { Button as
|
|
2974
|
-
import { jsx as
|
|
3221
|
+
import { Button as AriaButton13 } from "react-aria-components";
|
|
3222
|
+
import { jsx as jsx52, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
2975
3223
|
function LinkList({ items, onSelect, emphasis = "key", className, ...rest }) {
|
|
2976
|
-
return /* @__PURE__ */
|
|
2977
|
-
const keySlot = item.key ? /* @__PURE__ */
|
|
2978
|
-
const textSlot = item.text ? /* @__PURE__ */
|
|
3224
|
+
return /* @__PURE__ */ jsx52("div", { className: cx("pire-linklist", className), role: "list", "data-emphasis": emphasis, ...rest, children: items.map((item) => {
|
|
3225
|
+
const keySlot = item.key ? /* @__PURE__ */ jsx52("span", { className: "pire-linklist-key", children: item.key }) : null;
|
|
3226
|
+
const textSlot = item.text ? /* @__PURE__ */ jsx52("span", { className: "pire-linklist-text", children: item.text }) : null;
|
|
2979
3227
|
const [first, second] = emphasis === "text" ? [textSlot, keySlot] : [keySlot, textSlot];
|
|
2980
|
-
return /* @__PURE__ */
|
|
2981
|
-
item.icon ? /* @__PURE__ */
|
|
3228
|
+
return /* @__PURE__ */ jsx52("div", { role: "listitem", className: "pire-linklist-row", children: /* @__PURE__ */ jsxs44(AriaButton13, { className: "pire-linklist-item", onPress: () => onSelect?.(item.id), children: [
|
|
3229
|
+
item.icon ? /* @__PURE__ */ jsx52(Icon, { name: item.icon, size: 16, style: { color: "var(--text-secondary)" } }) : null,
|
|
2982
3230
|
first,
|
|
2983
3231
|
second,
|
|
2984
3232
|
item.trailing
|
|
@@ -2987,7 +3235,7 @@ function LinkList({ items, onSelect, emphasis = "key", className, ...rest }) {
|
|
|
2987
3235
|
}
|
|
2988
3236
|
|
|
2989
3237
|
// src/components/layout/PageBand.tsx
|
|
2990
|
-
import { jsx as
|
|
3238
|
+
import { jsx as jsx53 } from "react/jsx-runtime";
|
|
2991
3239
|
function PageBand({
|
|
2992
3240
|
surface = "card",
|
|
2993
3241
|
hasBorder = true,
|
|
@@ -2995,7 +3243,7 @@ function PageBand({
|
|
|
2995
3243
|
className,
|
|
2996
3244
|
...rest
|
|
2997
3245
|
}) {
|
|
2998
|
-
return /* @__PURE__ */
|
|
3246
|
+
return /* @__PURE__ */ jsx53(
|
|
2999
3247
|
"div",
|
|
3000
3248
|
{
|
|
3001
3249
|
className: cx("pire-pageband", className),
|
|
@@ -3008,29 +3256,29 @@ function PageBand({
|
|
|
3008
3256
|
}
|
|
3009
3257
|
|
|
3010
3258
|
// src/components/layout/PageHeader.tsx
|
|
3011
|
-
import { jsx as
|
|
3259
|
+
import { jsx as jsx54, jsxs as jsxs45 } from "react/jsx-runtime";
|
|
3012
3260
|
function PageHeader({ title, subtitle, actions, className, ...rest }) {
|
|
3013
3261
|
return /* @__PURE__ */ jsxs45("header", { className: cx("pire-pageheader", className), ...rest, children: [
|
|
3014
3262
|
/* @__PURE__ */ jsxs45("div", { style: { minWidth: 0 }, children: [
|
|
3015
|
-
/* @__PURE__ */
|
|
3016
|
-
subtitle ? /* @__PURE__ */
|
|
3263
|
+
/* @__PURE__ */ jsx54("h1", { className: "pire-pageheader-title", children: title }),
|
|
3264
|
+
subtitle ? /* @__PURE__ */ jsx54("p", { className: "pire-pageheader-sub", children: subtitle }) : null
|
|
3017
3265
|
] }),
|
|
3018
|
-
actions ? /* @__PURE__ */
|
|
3266
|
+
actions ? /* @__PURE__ */ jsx54("div", { className: "pire-pageheader-actions", children: actions }) : null
|
|
3019
3267
|
] });
|
|
3020
3268
|
}
|
|
3021
3269
|
|
|
3022
3270
|
// src/components/layout/SectionHeader.tsx
|
|
3023
|
-
import { jsx as
|
|
3271
|
+
import { jsx as jsx55, jsxs as jsxs46 } from "react/jsx-runtime";
|
|
3024
3272
|
function SectionHeader({ title, meta, actions, className, ...rest }) {
|
|
3025
3273
|
return /* @__PURE__ */ jsxs46("div", { className: cx("pire-sectionhead", className), ...rest, children: [
|
|
3026
|
-
/* @__PURE__ */
|
|
3027
|
-
meta ? /* @__PURE__ */
|
|
3028
|
-
actions ? /* @__PURE__ */
|
|
3274
|
+
/* @__PURE__ */ jsx55("span", { className: "pire-eyebrow", children: title }),
|
|
3275
|
+
meta ? /* @__PURE__ */ jsx55("span", { style: { font: "var(--type-caption)", color: "var(--text-tertiary)" }, children: meta }) : null,
|
|
3276
|
+
actions ? /* @__PURE__ */ jsx55("div", { className: "pire-sectionhead-actions", children: actions }) : null
|
|
3029
3277
|
] });
|
|
3030
3278
|
}
|
|
3031
3279
|
|
|
3032
3280
|
// src/components/layout/SelectionBar.tsx
|
|
3033
|
-
import { jsx as
|
|
3281
|
+
import { jsx as jsx56, jsxs as jsxs47 } from "react/jsx-runtime";
|
|
3034
3282
|
function SelectionBar({ count, noun = "record", children, actions, className, ...rest }) {
|
|
3035
3283
|
if (!count) return null;
|
|
3036
3284
|
return /* @__PURE__ */ jsxs47("div", { className: cx("pire-selectionbar", className), role: "status", "aria-live": "polite", ...rest, children: [
|
|
@@ -3041,23 +3289,23 @@ function SelectionBar({ count, noun = "record", children, actions, className, ..
|
|
|
3041
3289
|
count === 1 ? "" : "s",
|
|
3042
3290
|
" selected"
|
|
3043
3291
|
] }),
|
|
3044
|
-
children ? /* @__PURE__ */
|
|
3045
|
-
actions ? /* @__PURE__ */
|
|
3292
|
+
children ? /* @__PURE__ */ jsx56("span", { style: { color: "var(--text-secondary)", font: "var(--type-caption)" }, children }) : null,
|
|
3293
|
+
actions ? /* @__PURE__ */ jsx56("div", { className: "pire-selectionbar-actions", children: actions }) : null
|
|
3046
3294
|
] });
|
|
3047
3295
|
}
|
|
3048
3296
|
|
|
3049
3297
|
// src/components/layout/FooterBar.tsx
|
|
3050
|
-
import { jsx as
|
|
3298
|
+
import { jsx as jsx57, jsxs as jsxs48 } from "react/jsx-runtime";
|
|
3051
3299
|
function FooterBar({ note, actions, children, className, ...rest }) {
|
|
3052
3300
|
return /* @__PURE__ */ jsxs48("footer", { className: cx("pire-footerbar", className), ...rest, children: [
|
|
3053
|
-
note ? /* @__PURE__ */
|
|
3301
|
+
note ? /* @__PURE__ */ jsx57("span", { className: "pire-footerbar-note", children: note }) : null,
|
|
3054
3302
|
children,
|
|
3055
|
-
actions ? /* @__PURE__ */
|
|
3303
|
+
actions ? /* @__PURE__ */ jsx57("div", { className: "pire-footerbar-actions", children: actions }) : null
|
|
3056
3304
|
] });
|
|
3057
3305
|
}
|
|
3058
3306
|
|
|
3059
3307
|
// src/components/patterns/ConfirmDialog.tsx
|
|
3060
|
-
import { Fragment as Fragment4, jsx as
|
|
3308
|
+
import { Fragment as Fragment4, jsx as jsx58, jsxs as jsxs49 } from "react/jsx-runtime";
|
|
3061
3309
|
function ConfirmDialog({
|
|
3062
3310
|
isOpen,
|
|
3063
3311
|
title,
|
|
@@ -3082,24 +3330,167 @@ function ConfirmDialog({
|
|
|
3082
3330
|
isDismissable: !isBusy,
|
|
3083
3331
|
showClose: false,
|
|
3084
3332
|
footer: /* @__PURE__ */ jsxs49(Fragment4, { children: [
|
|
3085
|
-
/* @__PURE__ */
|
|
3086
|
-
/* @__PURE__ */
|
|
3333
|
+
/* @__PURE__ */ jsx58(Button, { variant: "tertiary", isDisabled: isBusy, onPress: onCancel, children: cancelLabel }),
|
|
3334
|
+
/* @__PURE__ */ jsx58(Button, { variant: tone === "danger" ? "danger" : "primary", isDisabled: isBusy, onPress: onConfirm, children: isBusy ? "Working\u2026" : confirmLabel })
|
|
3087
3335
|
] }),
|
|
3088
3336
|
children: [
|
|
3089
|
-
consequence ? /* @__PURE__ */
|
|
3337
|
+
consequence ? /* @__PURE__ */ jsx58(InlineMessage, { kind: tone === "danger" ? "error" : "warning", style: { marginBottom: children ? "var(--sp-3)" : 0 }, children: consequence }) : null,
|
|
3090
3338
|
children
|
|
3091
3339
|
]
|
|
3092
3340
|
}
|
|
3093
3341
|
);
|
|
3094
3342
|
}
|
|
3095
3343
|
|
|
3344
|
+
// src/components/patterns/CommandPalette.tsx
|
|
3345
|
+
import * as React15 from "react";
|
|
3346
|
+
import {
|
|
3347
|
+
Autocomplete,
|
|
3348
|
+
ModalOverlay as ModalOverlay2,
|
|
3349
|
+
Modal as Modal2,
|
|
3350
|
+
Dialog as AriaDialog4,
|
|
3351
|
+
SearchField,
|
|
3352
|
+
Input as AriaInput5,
|
|
3353
|
+
Menu as AriaMenu2,
|
|
3354
|
+
MenuSection as AriaMenuSection2,
|
|
3355
|
+
Header as Header2,
|
|
3356
|
+
useFilter
|
|
3357
|
+
} from "react-aria-components";
|
|
3358
|
+
import { Fragment as Fragment5, jsx as jsx59, jsxs as jsxs50 } from "react/jsx-runtime";
|
|
3359
|
+
var RESULTS_SECTION_KEY = "__pire_results__";
|
|
3360
|
+
var searchableText = (item) => [item.label, item.description, item.keywords].filter(Boolean).join(" ");
|
|
3361
|
+
function CommandPalette({
|
|
3362
|
+
isOpen,
|
|
3363
|
+
onOpenChange,
|
|
3364
|
+
groups = [],
|
|
3365
|
+
resultsGroup,
|
|
3366
|
+
onAction,
|
|
3367
|
+
onSearch,
|
|
3368
|
+
isLoading,
|
|
3369
|
+
emptyLabel,
|
|
3370
|
+
loadingLabel,
|
|
3371
|
+
placeholder,
|
|
3372
|
+
footer,
|
|
3373
|
+
showFooter = true,
|
|
3374
|
+
"aria-label": ariaLabel,
|
|
3375
|
+
className,
|
|
3376
|
+
style
|
|
3377
|
+
}) {
|
|
3378
|
+
const msg = usePireMessages();
|
|
3379
|
+
const [query, setQuery] = React15.useState("");
|
|
3380
|
+
const { contains } = useFilter({ sensitivity: "base" });
|
|
3381
|
+
React15.useEffect(() => {
|
|
3382
|
+
if (isOpen) setQuery("");
|
|
3383
|
+
}, [isOpen]);
|
|
3384
|
+
const searchableById = React15.useMemo(() => {
|
|
3385
|
+
const byId = /* @__PURE__ */ new Map();
|
|
3386
|
+
for (const group of groups) for (const item of group.items) byId.set(item.id, searchableText(item));
|
|
3387
|
+
return byId;
|
|
3388
|
+
}, [groups]);
|
|
3389
|
+
const filter = React15.useCallback((textValue, inputValue, node) => {
|
|
3390
|
+
if (node.parentKey === RESULTS_SECTION_KEY) return true;
|
|
3391
|
+
return contains(searchableById.get(String(node.key)) ?? textValue, inputValue);
|
|
3392
|
+
}, [contains, searchableById]);
|
|
3393
|
+
const handleInputChange = (value) => {
|
|
3394
|
+
setQuery(value);
|
|
3395
|
+
onSearch?.(value);
|
|
3396
|
+
};
|
|
3397
|
+
const sections = [...groups, ...resultsGroup ? [{ ...resultsGroup, id: RESULTS_SECTION_KEY }] : []];
|
|
3398
|
+
const status = isLoading ? loadingLabel ?? msg.commandPaletteLoading : emptyLabel ?? msg.commandPaletteEmpty;
|
|
3399
|
+
return /* @__PURE__ */ jsx59(
|
|
3400
|
+
ModalOverlay2,
|
|
3401
|
+
{
|
|
3402
|
+
className: "pire-cp-overlay",
|
|
3403
|
+
isOpen,
|
|
3404
|
+
isDismissable: true,
|
|
3405
|
+
onOpenChange: (open) => {
|
|
3406
|
+
if (!open) onOpenChange?.(false);
|
|
3407
|
+
},
|
|
3408
|
+
children: /* @__PURE__ */ jsx59(Modal2, { className: cx("pire-cp-modal", className), style, children: /* @__PURE__ */ jsxs50(AriaDialog4, { className: "pire-cp-dialog", "aria-label": ariaLabel ?? msg.commandPaletteLabel, children: [
|
|
3409
|
+
/* @__PURE__ */ jsxs50(Autocomplete, { filter, inputValue: query, onInputChange: handleInputChange, children: [
|
|
3410
|
+
/* @__PURE__ */ jsxs50(SearchField, { className: "pire-cp-search", "aria-label": msg.commandPaletteSearchLabel, children: [
|
|
3411
|
+
/* @__PURE__ */ jsx59(Icon, { name: "search", size: 18, className: "pire-cp-search-icon" }),
|
|
3412
|
+
/* @__PURE__ */ jsx59(
|
|
3413
|
+
AriaInput5,
|
|
3414
|
+
{
|
|
3415
|
+
className: "pire-cp-input",
|
|
3416
|
+
autoFocus: true,
|
|
3417
|
+
placeholder: placeholder ?? msg.commandPalettePlaceholder
|
|
3418
|
+
}
|
|
3419
|
+
)
|
|
3420
|
+
] }),
|
|
3421
|
+
isLoading ? /* @__PURE__ */ jsx59("div", { className: "pire-cp-loading", role: "status", "aria-live": "polite", children: loadingLabel ?? msg.commandPaletteLoading }) : null,
|
|
3422
|
+
/* @__PURE__ */ jsx59(
|
|
3423
|
+
AriaMenu2,
|
|
3424
|
+
{
|
|
3425
|
+
className: "pire-cp-list",
|
|
3426
|
+
onAction: (key) => onAction?.(String(key)),
|
|
3427
|
+
renderEmptyState: () => /* @__PURE__ */ jsx59("div", { className: "pire-cp-status", children: status }),
|
|
3428
|
+
children: sections.map((section) => /* @__PURE__ */ jsxs50(AriaMenuSection2, { id: section.id, className: "pire-cp-section", children: [
|
|
3429
|
+
section.label ? /* @__PURE__ */ jsx59(Header2, { className: "pire-cp-section-title", children: section.label }) : null,
|
|
3430
|
+
section.items.map((item) => /* @__PURE__ */ jsx59(
|
|
3431
|
+
MenuItem,
|
|
3432
|
+
{
|
|
3433
|
+
id: item.id,
|
|
3434
|
+
textValue: item.label,
|
|
3435
|
+
icon: item.icon,
|
|
3436
|
+
description: item.description,
|
|
3437
|
+
shortcut: item.shortcut,
|
|
3438
|
+
isDisabled: item.isDisabled,
|
|
3439
|
+
children: item.label
|
|
3440
|
+
},
|
|
3441
|
+
item.id
|
|
3442
|
+
))
|
|
3443
|
+
] }, section.id))
|
|
3444
|
+
}
|
|
3445
|
+
)
|
|
3446
|
+
] }),
|
|
3447
|
+
showFooter ? (
|
|
3448
|
+
// aria-hidden: the glyphs are a sighted affordance for discovering the keys. A screen
|
|
3449
|
+
// reader already announces the listbox semantics that make those keys work, so reading
|
|
3450
|
+
// "up arrow down arrow navigate" out loud is noise on every open.
|
|
3451
|
+
/* @__PURE__ */ jsx59("div", { className: "pire-cp-foot", "aria-hidden": "true", children: footer ?? /* @__PURE__ */ jsxs50(Fragment5, { children: [
|
|
3452
|
+
/* @__PURE__ */ jsxs50("span", { className: "pire-cp-hint", children: [
|
|
3453
|
+
/* @__PURE__ */ jsx59(Kbd, { children: "\u2191" }),
|
|
3454
|
+
/* @__PURE__ */ jsx59(Kbd, { children: "\u2193" }),
|
|
3455
|
+
msg.commandPaletteHintNavigate
|
|
3456
|
+
] }),
|
|
3457
|
+
/* @__PURE__ */ jsxs50("span", { className: "pire-cp-hint", children: [
|
|
3458
|
+
/* @__PURE__ */ jsx59(Kbd, { children: "\u21B5" }),
|
|
3459
|
+
msg.commandPaletteHintSelect
|
|
3460
|
+
] }),
|
|
3461
|
+
/* @__PURE__ */ jsxs50("span", { className: "pire-cp-hint", children: [
|
|
3462
|
+
/* @__PURE__ */ jsx59(Kbd, { children: "esc" }),
|
|
3463
|
+
msg.commandPaletteHintClose
|
|
3464
|
+
] })
|
|
3465
|
+
] }) })
|
|
3466
|
+
) : null
|
|
3467
|
+
] }) })
|
|
3468
|
+
}
|
|
3469
|
+
);
|
|
3470
|
+
}
|
|
3471
|
+
function useCommandPaletteShortcut(onTrigger, { key = "k", isDisabled } = {}) {
|
|
3472
|
+
const handler = React15.useRef(onTrigger);
|
|
3473
|
+
handler.current = onTrigger;
|
|
3474
|
+
React15.useEffect(() => {
|
|
3475
|
+
if (isDisabled) return;
|
|
3476
|
+
const onKeyDown = (event) => {
|
|
3477
|
+
if (!(event.metaKey || event.ctrlKey) || event.altKey) return;
|
|
3478
|
+
if (event.key.toLowerCase() !== key.toLowerCase()) return;
|
|
3479
|
+
event.preventDefault();
|
|
3480
|
+
handler.current();
|
|
3481
|
+
};
|
|
3482
|
+
document.addEventListener("keydown", onKeyDown);
|
|
3483
|
+
return () => document.removeEventListener("keydown", onKeyDown);
|
|
3484
|
+
}, [key, isDisabled]);
|
|
3485
|
+
}
|
|
3486
|
+
|
|
3096
3487
|
// src/components/patterns/SidePanel.tsx
|
|
3097
|
-
import { ModalOverlay as
|
|
3098
|
-
import { jsx as
|
|
3488
|
+
import { ModalOverlay as ModalOverlay3, Modal as Modal3, Dialog as AriaDialog5, Heading as Heading5 } from "react-aria-components";
|
|
3489
|
+
import { jsx as jsx60, jsxs as jsxs51 } from "react/jsx-runtime";
|
|
3099
3490
|
function SidePanel({ isOpen, title, subtitle, width = 400, children, footer, onClose, className }) {
|
|
3100
3491
|
const msg = usePireMessages();
|
|
3101
|
-
return /* @__PURE__ */
|
|
3102
|
-
|
|
3492
|
+
return /* @__PURE__ */ jsx60(
|
|
3493
|
+
ModalOverlay3,
|
|
3103
3494
|
{
|
|
3104
3495
|
className: "pire-sidepanel-overlay",
|
|
3105
3496
|
isOpen,
|
|
@@ -3107,36 +3498,36 @@ function SidePanel({ isOpen, title, subtitle, width = 400, children, footer, onC
|
|
|
3107
3498
|
onOpenChange: (o) => {
|
|
3108
3499
|
if (!o) onClose?.();
|
|
3109
3500
|
},
|
|
3110
|
-
children: /* @__PURE__ */
|
|
3111
|
-
/* @__PURE__ */
|
|
3112
|
-
/* @__PURE__ */
|
|
3113
|
-
/* @__PURE__ */
|
|
3114
|
-
subtitle ? /* @__PURE__ */
|
|
3501
|
+
children: /* @__PURE__ */ jsx60(Modal3, { className: cx("pire-sidepanel", className), style: { width }, children: /* @__PURE__ */ jsxs51(AriaDialog5, { className: "pire-dialog", style: { height: "100%" }, children: [
|
|
3502
|
+
/* @__PURE__ */ jsxs51("header", { className: "pire-dialog-head", children: [
|
|
3503
|
+
/* @__PURE__ */ jsxs51("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
3504
|
+
/* @__PURE__ */ jsx60(Heading5, { slot: "title", className: "pire-dialog-title", children: title }),
|
|
3505
|
+
subtitle ? /* @__PURE__ */ jsx60("p", { className: "pire-dialog-sub", style: { margin: 0 }, children: subtitle }) : null
|
|
3115
3506
|
] }),
|
|
3116
|
-
/* @__PURE__ */
|
|
3507
|
+
/* @__PURE__ */ jsx60(IconButton, { icon: "x", label: msg.sidePanelClose, size: "sm", onPress: onClose })
|
|
3117
3508
|
] }),
|
|
3118
|
-
/* @__PURE__ */
|
|
3119
|
-
footer ? /* @__PURE__ */
|
|
3509
|
+
/* @__PURE__ */ jsx60("div", { className: "pire-dialog-body", style: { flex: 1 }, children }),
|
|
3510
|
+
footer ? /* @__PURE__ */ jsx60("footer", { className: "pire-dialog-foot", children: footer }) : null
|
|
3120
3511
|
] }) })
|
|
3121
3512
|
}
|
|
3122
3513
|
);
|
|
3123
3514
|
}
|
|
3124
3515
|
|
|
3125
3516
|
// src/components/patterns/EmptyState.tsx
|
|
3126
|
-
import { jsx as
|
|
3517
|
+
import { jsx as jsx61, jsxs as jsxs52 } from "react/jsx-runtime";
|
|
3127
3518
|
function EmptyState({ icon = "file-text", title, action, compact, children, className, ...rest }) {
|
|
3128
|
-
return /* @__PURE__ */
|
|
3129
|
-
/* @__PURE__ */
|
|
3130
|
-
title ? /* @__PURE__ */
|
|
3131
|
-
children ? /* @__PURE__ */
|
|
3519
|
+
return /* @__PURE__ */ jsxs52("div", { className: cx("pire-empty", className), "data-compact": compact ? "true" : void 0, ...rest, children: [
|
|
3520
|
+
/* @__PURE__ */ jsx61(Icon, { name: icon, size: 24, className: "pire-empty-icon" }),
|
|
3521
|
+
title ? /* @__PURE__ */ jsx61("p", { className: "pire-empty-title", style: { margin: 0 }, children: title }) : null,
|
|
3522
|
+
children ? /* @__PURE__ */ jsx61("p", { className: "pire-empty-body", style: { margin: 0 }, children }) : null,
|
|
3132
3523
|
action
|
|
3133
3524
|
] });
|
|
3134
3525
|
}
|
|
3135
3526
|
|
|
3136
3527
|
// src/components/patterns/FileDropZone.tsx
|
|
3137
|
-
import * as
|
|
3528
|
+
import * as React16 from "react";
|
|
3138
3529
|
import { DropZone, FileTrigger as FileTrigger2, isFileDropItem } from "react-aria-components";
|
|
3139
|
-
import { jsx as
|
|
3530
|
+
import { jsx as jsx62, jsxs as jsxs53 } from "react/jsx-runtime";
|
|
3140
3531
|
var isImage2 = (file) => file.type.startsWith("image/");
|
|
3141
3532
|
function FileDropZone({
|
|
3142
3533
|
label,
|
|
@@ -3162,10 +3553,10 @@ function FileDropZone({
|
|
|
3162
3553
|
style
|
|
3163
3554
|
}) {
|
|
3164
3555
|
const msg = usePireMessages();
|
|
3165
|
-
const [uncontrolled, setUncontrolled] =
|
|
3556
|
+
const [uncontrolled, setUncontrolled] = React16.useState(defaultValue ?? []);
|
|
3166
3557
|
const files = value ?? uncontrolled;
|
|
3167
|
-
const created =
|
|
3168
|
-
|
|
3558
|
+
const created = React16.useRef([]);
|
|
3559
|
+
React16.useEffect(() => () => {
|
|
3169
3560
|
for (const url of created.current) URL.revokeObjectURL(url);
|
|
3170
3561
|
}, []);
|
|
3171
3562
|
const commit = (next) => {
|
|
@@ -3185,12 +3576,12 @@ function FileDropZone({
|
|
|
3185
3576
|
commit(allowsMultiple ? [...files, ...wrapped] : wrapped.slice(0, 1));
|
|
3186
3577
|
};
|
|
3187
3578
|
const remove = (target) => commit(files.filter((f) => f.file !== target));
|
|
3188
|
-
return /* @__PURE__ */
|
|
3189
|
-
label ? /* @__PURE__ */
|
|
3579
|
+
return /* @__PURE__ */ jsxs53("div", { className: cx("pire-field", className), style, "data-full-width": String(fullWidth), children: [
|
|
3580
|
+
label ? /* @__PURE__ */ jsxs53("span", { className: "pire-field-label", children: [
|
|
3190
3581
|
label,
|
|
3191
|
-
isRequired ? /* @__PURE__ */
|
|
3582
|
+
isRequired ? /* @__PURE__ */ jsx62("span", { className: "pire-field-req", "aria-hidden": "true", children: "*" }) : null
|
|
3192
3583
|
] }) : null,
|
|
3193
|
-
/* @__PURE__ */
|
|
3584
|
+
/* @__PURE__ */ jsxs53(
|
|
3194
3585
|
DropZone,
|
|
3195
3586
|
{
|
|
3196
3587
|
className: "pire-dropzone",
|
|
@@ -3203,25 +3594,25 @@ function FileDropZone({
|
|
|
3203
3594
|
accept(dropped);
|
|
3204
3595
|
},
|
|
3205
3596
|
children: [
|
|
3206
|
-
/* @__PURE__ */
|
|
3207
|
-
/* @__PURE__ */
|
|
3208
|
-
/* @__PURE__ */
|
|
3597
|
+
/* @__PURE__ */ jsx62(Icon, { name: "download", size: 24, className: "pire-dropzone-icon" }),
|
|
3598
|
+
/* @__PURE__ */ jsx62("span", { className: "pire-dropzone-prompt", children: promptLabel ?? msg.fileDropZonePrompt }),
|
|
3599
|
+
/* @__PURE__ */ jsx62(
|
|
3209
3600
|
FileTrigger2,
|
|
3210
3601
|
{
|
|
3211
3602
|
acceptedFileTypes,
|
|
3212
3603
|
allowsMultiple,
|
|
3213
3604
|
onSelect: (list) => accept(list ? [...list] : []),
|
|
3214
|
-
children: /* @__PURE__ */
|
|
3605
|
+
children: /* @__PURE__ */ jsx62(Button, { variant: "secondary", isDisabled: isDisabled || isReadOnly, children: msg.fileUploadChoose })
|
|
3215
3606
|
}
|
|
3216
3607
|
)
|
|
3217
3608
|
]
|
|
3218
3609
|
}
|
|
3219
3610
|
),
|
|
3220
|
-
files.length ? /* @__PURE__ */
|
|
3221
|
-
previewUrl ? /* @__PURE__ */
|
|
3222
|
-
/* @__PURE__ */
|
|
3223
|
-
/* @__PURE__ */
|
|
3224
|
-
isDisabled || isReadOnly ? null : /* @__PURE__ */
|
|
3611
|
+
files.length ? /* @__PURE__ */ jsx62("ul", { className: "pire-fileupload-list", children: files.map(({ file, previewUrl }) => /* @__PURE__ */ jsxs53("li", { className: "pire-fileupload-item", children: [
|
|
3612
|
+
previewUrl ? /* @__PURE__ */ jsx62("img", { className: "pire-fileupload-thumb", src: previewUrl, alt: "" }) : /* @__PURE__ */ jsx62(Icon, { name: "file-text", size: 16, className: "pire-fileupload-icon" }),
|
|
3613
|
+
/* @__PURE__ */ jsx62("span", { className: "pire-fileupload-name", children: file.name }),
|
|
3614
|
+
/* @__PURE__ */ jsx62("span", { className: "pire-fileupload-size", children: formatFileSize(file.size) }),
|
|
3615
|
+
isDisabled || isReadOnly ? null : /* @__PURE__ */ jsx62(
|
|
3225
3616
|
IconButton,
|
|
3226
3617
|
{
|
|
3227
3618
|
icon: "x",
|
|
@@ -3231,14 +3622,14 @@ function FileDropZone({
|
|
|
3231
3622
|
}
|
|
3232
3623
|
)
|
|
3233
3624
|
] }, `${file.name}-${file.size}-${file.lastModified}`)) }) : null,
|
|
3234
|
-
uploadProgress != null ? /* @__PURE__ */
|
|
3235
|
-
description ? /* @__PURE__ */
|
|
3236
|
-
isInvalid && errorMessage ? /* @__PURE__ */
|
|
3625
|
+
uploadProgress != null ? /* @__PURE__ */ jsx62(ProgressBar, { value: uploadProgress, label: msg.fileUploadUploading }) : null,
|
|
3626
|
+
description ? /* @__PURE__ */ jsx62("span", { className: "pire-field-hint", children: description }) : null,
|
|
3627
|
+
isInvalid && errorMessage ? /* @__PURE__ */ jsx62("span", { className: "pire-field-error", children: errorMessage }) : null
|
|
3237
3628
|
] });
|
|
3238
3629
|
}
|
|
3239
3630
|
|
|
3240
3631
|
// src/index.ts
|
|
3241
|
-
import { DialogTrigger, MenuTrigger as
|
|
3632
|
+
import { DialogTrigger, MenuTrigger as MenuTrigger3, SubmenuTrigger, Popover as Popover8, RouterProvider, I18nProvider } from "react-aria-components";
|
|
3242
3633
|
export {
|
|
3243
3634
|
Avatar,
|
|
3244
3635
|
Badge,
|
|
@@ -3248,6 +3639,7 @@ export {
|
|
|
3248
3639
|
Card,
|
|
3249
3640
|
Checkbox,
|
|
3250
3641
|
ComboBox,
|
|
3642
|
+
CommandPalette,
|
|
3251
3643
|
ConfirmDialog,
|
|
3252
3644
|
DataTable,
|
|
3253
3645
|
DatePicker,
|
|
@@ -3264,10 +3656,12 @@ export {
|
|
|
3264
3656
|
FormField,
|
|
3265
3657
|
Heading,
|
|
3266
3658
|
I18nProvider,
|
|
3659
|
+
ICON_NAMES,
|
|
3267
3660
|
Icon,
|
|
3268
3661
|
IconButton,
|
|
3269
3662
|
InlineMessage,
|
|
3270
3663
|
Input,
|
|
3664
|
+
Kbd,
|
|
3271
3665
|
KpiTile,
|
|
3272
3666
|
LineChart,
|
|
3273
3667
|
Link,
|
|
@@ -3276,7 +3670,7 @@ export {
|
|
|
3276
3670
|
MenuItem,
|
|
3277
3671
|
MenuSection,
|
|
3278
3672
|
MenuSeparator,
|
|
3279
|
-
|
|
3673
|
+
MenuTrigger3 as MenuTrigger,
|
|
3280
3674
|
MultiComboBox,
|
|
3281
3675
|
NumberField,
|
|
3282
3676
|
ObjectHeader,
|
|
@@ -3284,7 +3678,7 @@ export {
|
|
|
3284
3678
|
PageHeader,
|
|
3285
3679
|
Pagination,
|
|
3286
3680
|
PireIntlProvider,
|
|
3287
|
-
|
|
3681
|
+
Popover8 as Popover,
|
|
3288
3682
|
ProgressBar,
|
|
3289
3683
|
Radio,
|
|
3290
3684
|
RadioGroup,
|
|
@@ -3318,6 +3712,7 @@ export {
|
|
|
3318
3712
|
esMessages,
|
|
3319
3713
|
formatFileSize,
|
|
3320
3714
|
rangeLengthInDays,
|
|
3715
|
+
useCommandPaletteShortcut,
|
|
3321
3716
|
usePireMessages,
|
|
3322
3717
|
useToast
|
|
3323
3718
|
};
|