@orianatech/pire 0.2.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.
Files changed (154) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +7 -0
  3. package/README.md +114 -0
  4. package/dist/components/core/Avatar.d.cts +11 -0
  5. package/dist/components/core/Avatar.d.ts +12 -0
  6. package/dist/components/core/Avatar.d.ts.map +1 -0
  7. package/dist/components/core/Badge.d.cts +9 -0
  8. package/dist/components/core/Badge.d.ts +10 -0
  9. package/dist/components/core/Badge.d.ts.map +1 -0
  10. package/dist/components/core/Button.d.cts +17 -0
  11. package/dist/components/core/Button.d.ts +18 -0
  12. package/dist/components/core/Button.d.ts.map +1 -0
  13. package/dist/components/core/Card.d.cts +13 -0
  14. package/dist/components/core/Card.d.ts +14 -0
  15. package/dist/components/core/Card.d.ts.map +1 -0
  16. package/dist/components/core/Icon.d.cts +22 -0
  17. package/dist/components/core/Icon.d.ts +23 -0
  18. package/dist/components/core/Icon.d.ts.map +1 -0
  19. package/dist/components/core/IconButton.d.cts +15 -0
  20. package/dist/components/core/IconButton.d.ts +16 -0
  21. package/dist/components/core/IconButton.d.ts.map +1 -0
  22. package/dist/components/core/SegmentedControl.d.cts +23 -0
  23. package/dist/components/core/SegmentedControl.d.ts +24 -0
  24. package/dist/components/core/SegmentedControl.d.ts.map +1 -0
  25. package/dist/components/core/Tag.d.cts +8 -0
  26. package/dist/components/core/Tag.d.ts +9 -0
  27. package/dist/components/core/Tag.d.ts.map +1 -0
  28. package/dist/components/data/DataTable.d.cts +40 -0
  29. package/dist/components/data/DataTable.d.ts +41 -0
  30. package/dist/components/data/DataTable.d.ts.map +1 -0
  31. package/dist/components/data/DescriptionList.d.cts +21 -0
  32. package/dist/components/data/DescriptionList.d.ts +22 -0
  33. package/dist/components/data/DescriptionList.d.ts.map +1 -0
  34. package/dist/components/data/FilterBar.d.cts +19 -0
  35. package/dist/components/data/FilterBar.d.ts +20 -0
  36. package/dist/components/data/FilterBar.d.ts.map +1 -0
  37. package/dist/components/data/KpiTile.d.cts +23 -0
  38. package/dist/components/data/KpiTile.d.ts +24 -0
  39. package/dist/components/data/KpiTile.d.ts.map +1 -0
  40. package/dist/components/data/LinkList.d.cts +18 -0
  41. package/dist/components/data/LinkList.d.ts +19 -0
  42. package/dist/components/data/LinkList.d.ts.map +1 -0
  43. package/dist/components/data/ObjectHeader.d.cts +21 -0
  44. package/dist/components/data/ObjectHeader.d.ts +22 -0
  45. package/dist/components/data/ObjectHeader.d.ts.map +1 -0
  46. package/dist/components/data/Timeline.d.cts +16 -0
  47. package/dist/components/data/Timeline.d.ts +17 -0
  48. package/dist/components/data/Timeline.d.ts.map +1 -0
  49. package/dist/components/feedback/Dialog.d.cts +21 -0
  50. package/dist/components/feedback/Dialog.d.ts +22 -0
  51. package/dist/components/feedback/Dialog.d.ts.map +1 -0
  52. package/dist/components/feedback/InlineMessage.d.cts +13 -0
  53. package/dist/components/feedback/InlineMessage.d.ts +14 -0
  54. package/dist/components/feedback/InlineMessage.d.ts.map +1 -0
  55. package/dist/components/feedback/ProgressBar.d.cts +16 -0
  56. package/dist/components/feedback/ProgressBar.d.ts +17 -0
  57. package/dist/components/feedback/ProgressBar.d.ts.map +1 -0
  58. package/dist/components/feedback/Toast.d.cts +28 -0
  59. package/dist/components/feedback/Toast.d.ts +29 -0
  60. package/dist/components/feedback/Toast.d.ts.map +1 -0
  61. package/dist/components/feedback/Tooltip.d.cts +11 -0
  62. package/dist/components/feedback/Tooltip.d.ts +12 -0
  63. package/dist/components/feedback/Tooltip.d.ts.map +1 -0
  64. package/dist/components/forms/Checkbox.d.cts +9 -0
  65. package/dist/components/forms/Checkbox.d.ts +10 -0
  66. package/dist/components/forms/Checkbox.d.ts.map +1 -0
  67. package/dist/components/forms/ComboBox.d.cts +45 -0
  68. package/dist/components/forms/ComboBox.d.ts +46 -0
  69. package/dist/components/forms/ComboBox.d.ts.map +1 -0
  70. package/dist/components/forms/DatePicker.d.cts +27 -0
  71. package/dist/components/forms/DatePicker.d.ts +28 -0
  72. package/dist/components/forms/DatePicker.d.ts.map +1 -0
  73. package/dist/components/forms/FormField.d.cts +17 -0
  74. package/dist/components/forms/FormField.d.ts +18 -0
  75. package/dist/components/forms/FormField.d.ts.map +1 -0
  76. package/dist/components/forms/Input.d.cts +33 -0
  77. package/dist/components/forms/Input.d.ts +34 -0
  78. package/dist/components/forms/Input.d.ts.map +1 -0
  79. package/dist/components/forms/NumberField.d.cts +33 -0
  80. package/dist/components/forms/NumberField.d.ts +34 -0
  81. package/dist/components/forms/NumberField.d.ts.map +1 -0
  82. package/dist/components/forms/Radio.d.cts +18 -0
  83. package/dist/components/forms/Radio.d.ts +19 -0
  84. package/dist/components/forms/Radio.d.ts.map +1 -0
  85. package/dist/components/forms/Select.d.cts +28 -0
  86. package/dist/components/forms/Select.d.ts +29 -0
  87. package/dist/components/forms/Select.d.ts.map +1 -0
  88. package/dist/components/forms/Switch.d.cts +9 -0
  89. package/dist/components/forms/Switch.d.ts +10 -0
  90. package/dist/components/forms/Switch.d.ts.map +1 -0
  91. package/dist/components/forms/ValueHelpField.d.cts +31 -0
  92. package/dist/components/forms/ValueHelpField.d.ts +32 -0
  93. package/dist/components/forms/ValueHelpField.d.ts.map +1 -0
  94. package/dist/components/layout/FooterBar.d.cts +10 -0
  95. package/dist/components/layout/FooterBar.d.ts +11 -0
  96. package/dist/components/layout/FooterBar.d.ts.map +1 -0
  97. package/dist/components/layout/PageHeader.d.cts +10 -0
  98. package/dist/components/layout/PageHeader.d.ts +11 -0
  99. package/dist/components/layout/PageHeader.d.ts.map +1 -0
  100. package/dist/components/layout/SectionHeader.d.cts +11 -0
  101. package/dist/components/layout/SectionHeader.d.ts +12 -0
  102. package/dist/components/layout/SectionHeader.d.ts.map +1 -0
  103. package/dist/components/layout/SelectionBar.d.cts +14 -0
  104. package/dist/components/layout/SelectionBar.d.ts +15 -0
  105. package/dist/components/layout/SelectionBar.d.ts.map +1 -0
  106. package/dist/components/navigation/Breadcrumb.d.cts +14 -0
  107. package/dist/components/navigation/Breadcrumb.d.ts +15 -0
  108. package/dist/components/navigation/Breadcrumb.d.ts.map +1 -0
  109. package/dist/components/navigation/Pagination.d.cts +13 -0
  110. package/dist/components/navigation/Pagination.d.ts +14 -0
  111. package/dist/components/navigation/Pagination.d.ts.map +1 -0
  112. package/dist/components/navigation/ShellBar.d.cts +17 -0
  113. package/dist/components/navigation/ShellBar.d.ts +18 -0
  114. package/dist/components/navigation/ShellBar.d.ts.map +1 -0
  115. package/dist/components/navigation/SideNav.d.cts +22 -0
  116. package/dist/components/navigation/SideNav.d.ts +23 -0
  117. package/dist/components/navigation/SideNav.d.ts.map +1 -0
  118. package/dist/components/navigation/Tabs.d.cts +23 -0
  119. package/dist/components/navigation/Tabs.d.ts +24 -0
  120. package/dist/components/navigation/Tabs.d.ts.map +1 -0
  121. package/dist/components/patterns/ConfirmDialog.d.cts +21 -0
  122. package/dist/components/patterns/ConfirmDialog.d.ts +22 -0
  123. package/dist/components/patterns/ConfirmDialog.d.ts.map +1 -0
  124. package/dist/components/patterns/EmptyState.d.cts +13 -0
  125. package/dist/components/patterns/EmptyState.d.ts +14 -0
  126. package/dist/components/patterns/EmptyState.d.ts.map +1 -0
  127. package/dist/components/patterns/SidePanel.d.cts +14 -0
  128. package/dist/components/patterns/SidePanel.d.ts +15 -0
  129. package/dist/components/patterns/SidePanel.d.ts.map +1 -0
  130. package/dist/components/patterns/ValueHelpDialog.d.cts +20 -0
  131. package/dist/components/patterns/ValueHelpDialog.d.ts +21 -0
  132. package/dist/components/patterns/ValueHelpDialog.d.ts.map +1 -0
  133. package/dist/components/utils/cx.d.cts +2 -0
  134. package/dist/components/utils/cx.d.ts +3 -0
  135. package/dist/components/utils/cx.d.ts.map +1 -0
  136. package/dist/components.css +352 -0
  137. package/dist/index.cjs +1590 -0
  138. package/dist/index.cjs.map +1 -0
  139. package/dist/index.d.cts +46 -0
  140. package/dist/index.d.ts +47 -0
  141. package/dist/index.d.ts.map +1 -0
  142. package/dist/index.js +1560 -0
  143. package/dist/index.js.map +1 -0
  144. package/dist/pire.css +11 -0
  145. package/dist/tokens/base.css +18 -0
  146. package/dist/tokens/colors.css +53 -0
  147. package/dist/tokens/elevation.css +21 -0
  148. package/dist/tokens/fonts.css +15 -0
  149. package/dist/tokens/motion.css +13 -0
  150. package/dist/tokens/spacing.css +18 -0
  151. package/dist/tokens/themes.css +23 -0
  152. package/dist/tokens/typography.css +39 -0
  153. package/dist/tokens.css +8 -0
  154. package/package.json +99 -0
@@ -0,0 +1,12 @@
1
+ import type * as React from 'react';
2
+ export interface SectionHeaderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
3
+ /** Uppercase micro-caps eyebrow — the space or group name. */
4
+ title: React.ReactNode;
5
+ /** Count or qualifier shown beside the title. */
6
+ meta?: React.ReactNode;
7
+ /** Usually one tertiary Button: "Open space", "See all". */
8
+ actions?: React.ReactNode;
9
+ }
10
+ /** Divides a long page into named bands. Pairs with a KPI row or a card grid below it. */
11
+ export declare function SectionHeader({ title, meta, actions, className, ...rest }: SectionHeaderProps): React.JSX.Element;
12
+ //# sourceMappingURL=SectionHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SectionHeader.d.ts","sourceRoot":"","sources":["../../../src/components/layout/SectionHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAGpC,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAC7F,8DAA8D;IAC9D,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,iDAAiD;IACjD,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,0FAA0F;AAC1F,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,kBAAkB,qBAQ7F"}
@@ -0,0 +1,14 @@
1
+ import type * as React from 'react';
2
+ export interface SelectionBarProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ /** Number of selected records. The bar renders nothing at 0. */
4
+ count: number;
5
+ /** Noun for the records, singular. Default "record". */
6
+ noun?: string;
7
+ /** What happens on commit — mass posting caveats belong here, not in a toast. */
8
+ children?: React.ReactNode;
9
+ /** Buttons, size="sm". Destructive last. */
10
+ actions?: React.ReactNode;
11
+ }
12
+ /** Appears above a table once rows are selected and states exactly how many.
13
+ * The count is announced, so keyboard users know a selection changed. */
14
+ export declare function SelectionBar({ count, noun, children, actions, className, ...rest }: SelectionBarProps): React.JSX.Element | null;
@@ -0,0 +1,15 @@
1
+ import type * as React from 'react';
2
+ export interface SelectionBarProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ /** Number of selected records. The bar renders nothing at 0. */
4
+ count: number;
5
+ /** Noun for the records, singular. Default "record". */
6
+ noun?: string;
7
+ /** What happens on commit — mass posting caveats belong here, not in a toast. */
8
+ children?: React.ReactNode;
9
+ /** Buttons, size="sm". Destructive last. */
10
+ actions?: React.ReactNode;
11
+ }
12
+ /** Appears above a table once rows are selected and states exactly how many.
13
+ * The count is announced, so keyboard users know a selection changed. */
14
+ export declare function SelectionBar({ count, noun, children, actions, className, ...rest }: SelectionBarProps): React.JSX.Element | null;
15
+ //# sourceMappingURL=SelectionBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectionBar.d.ts","sourceRoot":"","sources":["../../../src/components/layout/SelectionBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAGpC,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC7E,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,4CAA4C;IAC5C,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;0EAC0E;AAC1E,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,IAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,iBAAiB,4BAWhH"}
@@ -0,0 +1,14 @@
1
+ import type * as React from 'react';
2
+ export interface BreadcrumbItem {
3
+ id?: string;
4
+ label: string;
5
+ href?: string;
6
+ }
7
+ export interface BreadcrumbProps {
8
+ /** Ordered trail, current page last. The last item is never a link. */
9
+ items: BreadcrumbItem[];
10
+ onNavigate?: (id: string) => void;
11
+ className?: string;
12
+ style?: React.CSSProperties;
13
+ }
14
+ export declare function Breadcrumb({ items, onNavigate, className, style }: BreadcrumbProps): React.JSX.Element;
@@ -0,0 +1,15 @@
1
+ import type * as React from 'react';
2
+ export interface BreadcrumbItem {
3
+ id?: string;
4
+ label: string;
5
+ href?: string;
6
+ }
7
+ export interface BreadcrumbProps {
8
+ /** Ordered trail, current page last. The last item is never a link. */
9
+ items: BreadcrumbItem[];
10
+ onNavigate?: (id: string) => void;
11
+ className?: string;
12
+ style?: React.CSSProperties;
13
+ }
14
+ export declare function Breadcrumb({ items, onNavigate, className, style }: BreadcrumbProps): React.JSX.Element;
15
+ //# sourceMappingURL=Breadcrumb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Breadcrumb.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/Breadcrumb.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAKpC,MAAM,WAAW,cAAc;IAAG,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE;AAE7E,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,qBAelF"}
@@ -0,0 +1,13 @@
1
+ import type * as React from 'react';
2
+ export interface PaginationProps {
3
+ page?: number;
4
+ pageSize?: number;
5
+ /** Total record count — always shown, so users know the data set size. */
6
+ total?: number;
7
+ onPageChange?: (page: number) => void;
8
+ onPageSizeChange?: (size: number) => void;
9
+ pageSizes?: number[];
10
+ className?: string;
11
+ style?: React.CSSProperties;
12
+ }
13
+ export declare function Pagination({ page, pageSize, total, onPageChange, onPageSizeChange, pageSizes, className, style }: PaginationProps): React.JSX.Element;
@@ -0,0 +1,14 @@
1
+ import type * as React from 'react';
2
+ export interface PaginationProps {
3
+ page?: number;
4
+ pageSize?: number;
5
+ /** Total record count — always shown, so users know the data set size. */
6
+ total?: number;
7
+ onPageChange?: (page: number) => void;
8
+ onPageSizeChange?: (size: number) => void;
9
+ pageSizes?: number[];
10
+ className?: string;
11
+ style?: React.CSSProperties;
12
+ }
13
+ export declare function Pagination({ page, pageSize, total, onPageChange, onPageSizeChange, pageSizes, className, style }: PaginationProps): React.JSX.Element;
14
+ //# sourceMappingURL=Pagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/Pagination.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAKpC,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,wBAAgB,UAAU,CAAC,EAAE,IAAQ,EAAE,QAAa,EAAE,KAAS,EAAE,YAAY,EAAE,gBAAgB,EAC7F,SAAyB,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,qBAmB/D"}
@@ -0,0 +1,17 @@
1
+ import type * as React from 'react';
2
+ export interface ShellBarProps extends Omit<React.HTMLAttributes<HTMLElement>, 'title'> {
3
+ /** Wordmark at far left, uppercase micro-caps. */
4
+ product?: string;
5
+ /** 1–3 letter monogram tile before the wordmark — stand-in for a customer logo. */
6
+ monogram?: string;
7
+ /** Current app or object title. */
8
+ title?: React.ReactNode;
9
+ onMenu?: () => void;
10
+ onSearch?: () => void;
11
+ /** IconButtons with variant="inverse". */
12
+ actions?: React.ReactNode;
13
+ /** Full name — initials render into the avatar. */
14
+ user?: string;
15
+ }
16
+ /** Fixed 48px application chrome. One per page, always the first landmark. */
17
+ export declare function ShellBar({ product, monogram, title, onMenu, onSearch, actions, user, className, ...rest }: ShellBarProps): React.JSX.Element;
@@ -0,0 +1,18 @@
1
+ import type * as React from 'react';
2
+ export interface ShellBarProps extends Omit<React.HTMLAttributes<HTMLElement>, 'title'> {
3
+ /** Wordmark at far left, uppercase micro-caps. */
4
+ product?: string;
5
+ /** 1–3 letter monogram tile before the wordmark — stand-in for a customer logo. */
6
+ monogram?: string;
7
+ /** Current app or object title. */
8
+ title?: React.ReactNode;
9
+ onMenu?: () => void;
10
+ onSearch?: () => void;
11
+ /** IconButtons with variant="inverse". */
12
+ actions?: React.ReactNode;
13
+ /** Full name — initials render into the avatar. */
14
+ user?: string;
15
+ }
16
+ /** Fixed 48px application chrome. One per page, always the first landmark. */
17
+ export declare function ShellBar({ product, monogram, title, onMenu, onSearch, actions, user, className, ...rest }: ShellBarProps): React.JSX.Element;
18
+ //# sourceMappingURL=ShellBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShellBar.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/ShellBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAIpC,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IACrF,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAID,8EAA8E;AAC9E,wBAAgB,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,aAAa,qBAaxH"}
@@ -0,0 +1,22 @@
1
+ import type * as React from 'react';
2
+ export interface SideNavItem {
3
+ id: string;
4
+ label: string;
5
+ icon?: string;
6
+ count?: number;
7
+ }
8
+ export interface SideNavGroup {
9
+ label?: string;
10
+ items: SideNavItem[];
11
+ }
12
+ export interface SideNavProps extends Omit<React.HTMLAttributes<HTMLElement>, 'onChange'> {
13
+ /** Spaces-and-pages hierarchy: one group per space. */
14
+ groups: SideNavGroup[];
15
+ value?: string;
16
+ /** Fires with the selected item id — not a DOM change event. */
17
+ onChange?: (id: string) => void;
18
+ /** 48px icon rail. Labels move into tooltips. */
19
+ collapsed?: boolean;
20
+ footer?: React.ReactNode;
21
+ }
22
+ export declare function SideNav({ groups, value, onChange, collapsed, footer, className, ...rest }: SideNavProps): React.JSX.Element;
@@ -0,0 +1,23 @@
1
+ import type * as React from 'react';
2
+ export interface SideNavItem {
3
+ id: string;
4
+ label: string;
5
+ icon?: string;
6
+ count?: number;
7
+ }
8
+ export interface SideNavGroup {
9
+ label?: string;
10
+ items: SideNavItem[];
11
+ }
12
+ export interface SideNavProps extends Omit<React.HTMLAttributes<HTMLElement>, 'onChange'> {
13
+ /** Spaces-and-pages hierarchy: one group per space. */
14
+ groups: SideNavGroup[];
15
+ value?: string;
16
+ /** Fires with the selected item id — not a DOM change event. */
17
+ onChange?: (id: string) => void;
18
+ /** 48px icon rail. Labels move into tooltips. */
19
+ collapsed?: boolean;
20
+ footer?: React.ReactNode;
21
+ }
22
+ export declare function SideNav({ groups, value, onChange, collapsed, footer, className, ...rest }: SideNavProps): React.JSX.Element;
23
+ //# sourceMappingURL=SideNav.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SideNav.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/SideNav.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAMpC,MAAM,WAAW,WAAW;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;AACzF,MAAM,WAAW,YAAY;IAAG,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,WAAW,EAAE,CAAA;CAAE;AAEtE,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IACvF,uDAAuD;IACvD,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,wBAAgB,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,YAAY,qBAwBvG"}
@@ -0,0 +1,23 @@
1
+ import type * as React from 'react';
2
+ export interface TabItem {
3
+ id: string;
4
+ label: string;
5
+ icon?: string;
6
+ count?: number;
7
+ isDisabled?: boolean;
8
+ }
9
+ export interface TabsProps {
10
+ items: TabItem[];
11
+ value?: string;
12
+ defaultValue?: string;
13
+ onChange?: (id: string) => void;
14
+ /** Optional panel content keyed by tab id. Omit when the tabs drive an external region —
15
+ * the panel element is still rendered (empty and unstyled) so the tab's `aria-controls`
16
+ * has something to point at. */
17
+ panels?: Record<string, React.ReactNode>;
18
+ 'aria-label'?: string;
19
+ className?: string;
20
+ style?: React.CSSProperties;
21
+ }
22
+ /** Peer views of one object. Arrow keys move between tabs; the panel is one tab stop away. */
23
+ export declare function Tabs({ items, value, defaultValue, onChange, panels, className, style, ...rest }: TabsProps): React.JSX.Element;
@@ -0,0 +1,24 @@
1
+ import type * as React from 'react';
2
+ export interface TabItem {
3
+ id: string;
4
+ label: string;
5
+ icon?: string;
6
+ count?: number;
7
+ isDisabled?: boolean;
8
+ }
9
+ export interface TabsProps {
10
+ items: TabItem[];
11
+ value?: string;
12
+ defaultValue?: string;
13
+ onChange?: (id: string) => void;
14
+ /** Optional panel content keyed by tab id. Omit when the tabs drive an external region —
15
+ * the panel element is still rendered (empty and unstyled) so the tab's `aria-controls`
16
+ * has something to point at. */
17
+ panels?: Record<string, React.ReactNode>;
18
+ 'aria-label'?: string;
19
+ className?: string;
20
+ style?: React.CSSProperties;
21
+ }
22
+ /** Peer views of one object. Arrow keys move between tabs; the panel is one tab stop away. */
23
+ export declare function Tabs({ items, value, defaultValue, onChange, panels, className, style, ...rest }: TabsProps): React.JSX.Element;
24
+ //# sourceMappingURL=Tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/Tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAKpC,MAAM,WAAW,OAAO;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE;AAE3G,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC;;qCAEiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,8FAA8F;AAC9F,wBAAgB,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,SAAS,qBA2B1G"}
@@ -0,0 +1,21 @@
1
+ import type * as React from 'react';
2
+ export interface ConfirmDialogProps {
3
+ isOpen?: boolean;
4
+ /** Question form, sentence case: "Release purchase order?" */
5
+ title?: React.ReactNode;
6
+ subtitle?: React.ReactNode;
7
+ /** What will happen — rendered as a warning, or an error when tone is danger. */
8
+ consequence?: React.ReactNode;
9
+ /** Extra detail or an opt-in Checkbox. */
10
+ children?: React.ReactNode;
11
+ confirmLabel?: string;
12
+ cancelLabel?: string;
13
+ /** danger = irreversible: red commit button, error-toned consequence. */
14
+ tone?: 'primary' | 'danger';
15
+ /** Disables both buttons and shows "Working…" on the commit button. */
16
+ isBusy?: boolean;
17
+ onConfirm?: () => void;
18
+ onCancel?: () => void;
19
+ }
20
+ /** Interrupts one irreversible action. Never use for information — that is an InlineMessage. */
21
+ export declare function ConfirmDialog({ isOpen, title, subtitle, consequence, children, confirmLabel, cancelLabel, tone, isBusy, onConfirm, onCancel }: ConfirmDialogProps): React.JSX.Element;
@@ -0,0 +1,22 @@
1
+ import type * as React from 'react';
2
+ export interface ConfirmDialogProps {
3
+ isOpen?: boolean;
4
+ /** Question form, sentence case: "Release purchase order?" */
5
+ title?: React.ReactNode;
6
+ subtitle?: React.ReactNode;
7
+ /** What will happen — rendered as a warning, or an error when tone is danger. */
8
+ consequence?: React.ReactNode;
9
+ /** Extra detail or an opt-in Checkbox. */
10
+ children?: React.ReactNode;
11
+ confirmLabel?: string;
12
+ cancelLabel?: string;
13
+ /** danger = irreversible: red commit button, error-toned consequence. */
14
+ tone?: 'primary' | 'danger';
15
+ /** Disables both buttons and shows "Working…" on the commit button. */
16
+ isBusy?: boolean;
17
+ onConfirm?: () => void;
18
+ onCancel?: () => void;
19
+ }
20
+ /** Interrupts one irreversible action. Never use for information — that is an InlineMessage. */
21
+ export declare function ConfirmDialog({ isOpen, title, subtitle, consequence, children, confirmLabel, cancelLabel, tone, isBusy, onConfirm, onCancel }: ConfirmDialogProps): React.JSX.Element;
22
+ //# sourceMappingURL=ConfirmDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfirmDialog.d.ts","sourceRoot":"","sources":["../../../src/components/patterns/ConfirmDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAKpC,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,iFAAiF;IACjF,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC5B,uEAAuE;IACvE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,gGAAgG;AAChG,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAwB,EACtG,WAAsB,EAAE,IAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,kBAAkB,qBAoB5F"}
@@ -0,0 +1,13 @@
1
+ import type * as React from 'react';
2
+ export interface EmptyStateProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
3
+ /** Icon slug, 24px. Match the domain: "search" for no results, "file-text" for no records. */
4
+ icon?: string;
5
+ /** Headline. Rich content, not the DOM title/tooltip attribute. */
6
+ title?: React.ReactNode;
7
+ /** The single action that resolves the emptiness. */
8
+ action?: React.ReactNode;
9
+ /** Tighter padding, for inside cards and panels. */
10
+ compact?: boolean;
11
+ }
12
+ /** Says what is missing, why, and the one thing to do about it. */
13
+ export declare function EmptyState({ icon, title, action, compact, children, className, ...rest }: EmptyStateProps): React.JSX.Element;
@@ -0,0 +1,14 @@
1
+ import type * as React from 'react';
2
+ export interface EmptyStateProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
3
+ /** Icon slug, 24px. Match the domain: "search" for no results, "file-text" for no records. */
4
+ icon?: string;
5
+ /** Headline. Rich content, not the DOM title/tooltip attribute. */
6
+ title?: React.ReactNode;
7
+ /** The single action that resolves the emptiness. */
8
+ action?: React.ReactNode;
9
+ /** Tighter padding, for inside cards and panels. */
10
+ compact?: boolean;
11
+ }
12
+ /** Says what is missing, why, and the one thing to do about it. */
13
+ export declare function EmptyState({ icon, title, action, compact, children, className, ...rest }: EmptyStateProps): React.JSX.Element;
14
+ //# sourceMappingURL=EmptyState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../../src/components/patterns/EmptyState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAIpC,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAC1F,8FAA8F;IAC9F,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,qDAAqD;IACrD,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,oDAAoD;IACpD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,mEAAmE;AACnE,wBAAgB,UAAU,CAAC,EAAE,IAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,eAAe,qBASvH"}
@@ -0,0 +1,14 @@
1
+ import type * as React from 'react';
2
+ export interface SidePanelProps {
3
+ isOpen?: boolean;
4
+ title?: React.ReactNode;
5
+ subtitle?: React.ReactNode;
6
+ /** Panel width in px. 400 default; 560 for editable forms. */
7
+ width?: number;
8
+ children?: React.ReactNode;
9
+ footer?: React.ReactNode;
10
+ onClose?: () => void;
11
+ className?: string;
12
+ }
13
+ /** Right-hand overlay for details and edits that must keep the list in view. */
14
+ export declare function SidePanel({ isOpen, title, subtitle, width, children, footer, onClose, className }: SidePanelProps): React.JSX.Element;
@@ -0,0 +1,15 @@
1
+ import type * as React from 'react';
2
+ export interface SidePanelProps {
3
+ isOpen?: boolean;
4
+ title?: React.ReactNode;
5
+ subtitle?: React.ReactNode;
6
+ /** Panel width in px. 400 default; 560 for editable forms. */
7
+ width?: number;
8
+ children?: React.ReactNode;
9
+ footer?: React.ReactNode;
10
+ onClose?: () => void;
11
+ className?: string;
12
+ }
13
+ /** Right-hand overlay for details and edits that must keep the list in view. */
14
+ export declare function SidePanel({ isOpen, title, subtitle, width, children, footer, onClose, className }: SidePanelProps): React.JSX.Element;
15
+ //# sourceMappingURL=SidePanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidePanel.d.ts","sourceRoot":"","sources":["../../../src/components/patterns/SidePanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAKpC,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,gFAAgF;AAChF,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,cAAc,qBAmBvH"}
@@ -0,0 +1,20 @@
1
+ import * as React from 'react';
2
+ import { type DataTableColumn } from '../data/DataTable.cjs';
3
+ export interface ValueHelpDialogProps<T extends {
4
+ id: string | number;
5
+ } = any> {
6
+ isOpen?: boolean;
7
+ title?: React.ReactNode;
8
+ /** Show 2–4 identifying columns, not just the key. */
9
+ columns?: DataTableColumn<T>[];
10
+ rows?: T[];
11
+ searchPlaceholder?: string;
12
+ emptyLabel?: string;
13
+ /** Receives the picked row. */
14
+ onSelect?: (row: T) => void;
15
+ onClose?: () => void;
16
+ }
17
+ /** The ERP value help: search a master-data list and pick one record back into a field. */
18
+ export declare function ValueHelpDialog<T extends {
19
+ id: string | number;
20
+ }>({ isOpen, title, columns, rows, searchPlaceholder, emptyLabel, onSelect, onClose }: ValueHelpDialogProps<T>): React.JSX.Element;
@@ -0,0 +1,21 @@
1
+ import * as React from 'react';
2
+ import { type DataTableColumn } from '../data/DataTable.js';
3
+ export interface ValueHelpDialogProps<T extends {
4
+ id: string | number;
5
+ } = any> {
6
+ isOpen?: boolean;
7
+ title?: React.ReactNode;
8
+ /** Show 2–4 identifying columns, not just the key. */
9
+ columns?: DataTableColumn<T>[];
10
+ rows?: T[];
11
+ searchPlaceholder?: string;
12
+ emptyLabel?: string;
13
+ /** Receives the picked row. */
14
+ onSelect?: (row: T) => void;
15
+ onClose?: () => void;
16
+ }
17
+ /** The ERP value help: search a master-data list and pick one record back into a field. */
18
+ export declare function ValueHelpDialog<T extends {
19
+ id: string | number;
20
+ }>({ isOpen, title, columns, rows, searchPlaceholder, emptyLabel, onSelect, onClose }: ValueHelpDialogProps<T>): React.JSX.Element;
21
+ //# sourceMappingURL=ValueHelpDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValueHelpDialog.d.ts","sourceRoot":"","sources":["../../../src/components/patterns/ValueHelpDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpE,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,GAAG;IAC3E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,sDAAsD;IACtD,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACX,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,2FAA2F;AAC3F,wBAAgB,eAAe,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAAE,EAAE,MAAM,EAAE,KAAyB,EACpG,OAAY,EAAE,IAAS,EAAE,iBAA0C,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,oBAAoB,CAAC,CAAC,CAAC,qBAoB9H"}
@@ -0,0 +1,2 @@
1
+ /** Joins truthy class names. Kept local so the package has no runtime class-name dependency. */
2
+ export declare function cx(...parts: Array<string | false | null | undefined>): string;
@@ -0,0 +1,3 @@
1
+ /** Joins truthy class names. Kept local so the package has no runtime class-name dependency. */
2
+ export declare function cx(...parts: Array<string | false | null | undefined>): string;
3
+ //# sourceMappingURL=cx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cx.d.ts","sourceRoot":"","sources":["../../../src/components/utils/cx.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,wBAAgB,EAAE,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,UAEpE"}