@emporix/component-library 2.2.0 → 2.3.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/README.md CHANGED
@@ -385,13 +385,13 @@ import { BackButton } from '@emporix/component-library'
385
385
 
386
386
  #### Props
387
387
 
388
- | Prop | Type | Default | Description |
389
- | ----------- | ---------- | --------------- | --------------------------------------- |
390
- | onClick | () => void | - | Click handler |
391
- | className | string | - | Additional CSS class |
392
- | disabled | boolean | `false` | Whether the button is disabled |
393
- | ariaLabel | string | `'Back'` | Accessible label for screen readers |
394
- | data-testid | string | `'back-button'` | Test ID for testing |
388
+ | Prop | Type | Default | Description |
389
+ | ----------- | ---------- | --------------- | ----------------------------------- |
390
+ | onClick | () => void | - | Click handler |
391
+ | className | string | - | Additional CSS class |
392
+ | disabled | boolean | `false` | Whether the button is disabled |
393
+ | ariaLabel | string | `'Back'` | Accessible label for screen readers |
394
+ | data-testid | string | `'back-button'` | Test ID for testing |
395
395
 
396
396
  ### ConfirmBox
397
397
 
@@ -399,8 +399,7 @@ Reusable confirmation dialog shell built on top of CL `Dialog`, `PrimaryButton`,
399
399
 
400
400
  ```tsx
401
401
  import { ConfirmBox } from '@emporix/component-library'
402
-
403
- <ConfirmBox
402
+ ;<ConfirmBox
404
403
  visible={visible}
405
404
  onAccept={handleDelete}
406
405
  onReject={() => setVisible(false)}
@@ -413,20 +412,20 @@ import { ConfirmBox } from '@emporix/component-library'
413
412
 
414
413
  #### Props
415
414
 
416
- | Prop | Type | Default | Description |
417
- | ----------- | ------------- | -------- | --------------------------------------------------- |
418
- | visible | boolean | - | Whether the confirm dialog is visible |
419
- | onAccept | () => void | - | Called when the primary action is triggered |
420
- | onReject | () => void | - | Called when the dialog is dismissed |
421
- | loading | boolean | `false` | Disables actions and shows loading on accept |
422
- | title | ReactNode | - | Dialog title area |
423
- | message | ReactNode | - | Main dialog message |
424
- | acceptLabel | ReactNode | `Yes` | Accept button label |
425
- | rejectLabel | ReactNode | `Cancel` | Reject button label |
426
- | children | ReactNode | - | Optional extra body content below the message |
427
- | className | string | - | Additional CSS class on the dialog root |
428
- | style | CSSProperties | - | Inline styles on the dialog root |
429
- | data-testid | string | - | Test ID on the dialog root |
415
+ | Prop | Type | Default | Description |
416
+ | ----------- | ------------- | -------- | --------------------------------------------- |
417
+ | visible | boolean | - | Whether the confirm dialog is visible |
418
+ | onAccept | () => void | - | Called when the primary action is triggered |
419
+ | onReject | () => void | - | Called when the dialog is dismissed |
420
+ | loading | boolean | `false` | Disables actions and shows loading on accept |
421
+ | title | ReactNode | - | Dialog title area |
422
+ | message | ReactNode | - | Main dialog message |
423
+ | acceptLabel | ReactNode | `Yes` | Accept button label |
424
+ | rejectLabel | ReactNode | `Cancel` | Reject button label |
425
+ | children | ReactNode | - | Optional extra body content below the message |
426
+ | className | string | - | Additional CSS class on the dialog root |
427
+ | style | CSSProperties | - | Inline styles on the dialog root |
428
+ | data-testid | string | - | Test ID on the dialog root |
430
429
 
431
430
  ### DateValue
432
431
 
@@ -447,16 +446,16 @@ import { DateValue } from '@emporix/component-library'
447
446
 
448
447
  #### Props
449
448
 
450
- | Prop | Type | Default | Description |
451
- | ----------- | ------------------------ | ------- | ---------------------------------------------- |
452
- | date | `Date \| string \| undefined` | - | Date value to format |
453
- | locale | string | `en` | Locale used for date/time formatting |
454
- | showTime | boolean | `false` | Renders a secondary time value next to the date |
455
- | nullText | string | `--` | Fallback text when the date is missing/invalid |
456
- | timeZone | string | - | Optional `Intl.DateTimeFormat` time zone |
457
- | hour12 | boolean | locale default | Controls 12-hour vs 24-hour time formatting |
458
- | className | string | - | Additional CSS class on the root |
459
- | data-testid | string | - | Test ID on the root |
449
+ | Prop | Type | Default | Description |
450
+ | ----------- | ----------------------------- | -------------- | ----------------------------------------------- |
451
+ | date | `Date \| string \| undefined` | - | Date value to format |
452
+ | locale | string | `en` | Locale used for date/time formatting |
453
+ | showTime | boolean | `false` | Renders a secondary time value next to the date |
454
+ | nullText | string | `--` | Fallback text when the date is missing/invalid |
455
+ | timeZone | string | - | Optional `Intl.DateTimeFormat` time zone |
456
+ | hour12 | boolean | locale default | Controls 12-hour vs 24-hour time formatting |
457
+ | className | string | - | Additional CSS class on the root |
458
+ | data-testid | string | - | Test ID on the root |
460
459
 
461
460
  ### DataTable
462
461
 
@@ -914,6 +913,34 @@ import { Message } from '@emporix/component-library'
914
913
  | className | string | - | Additional CSS class on the root element |
915
914
  | data-testid | string | - | Test ID for testing |
916
915
 
916
+ ### SectionBox
917
+
918
+ Bordered content section with an optional title and actions. Pattern A (no PrimeReact dependency). Common layout primitive for grouping form fields or detail content.
919
+
920
+ ```tsx
921
+ import { SectionBox } from '@emporix/component-library'
922
+ ;<SectionBox name='orderDetails' actions={<PrimaryButton>Add</PrimaryButton>}>
923
+ <p>Section content goes here.</p>
924
+ </SectionBox>
925
+ ```
926
+
927
+ `name` is rendered through a title-case transform (e.g. `orderDetails` renders as `Order Details`); pass already-formatted text if you don't want that transform applied. `SectionTitle` (the title/actions row) is also exported standalone for use outside of `SectionBox`.
928
+
929
+ #### Props
930
+
931
+ | Prop | Type | Default | Description |
932
+ | ---------------- | ------------- | ------- | ------------------------------------------------ |
933
+ | children | ReactNode | - | Content rendered inside the bordered box |
934
+ | name | string | - | Optional title, rendered via `SectionTitle` |
935
+ | actions | ReactNode | - | Optional actions rendered alongside the title |
936
+ | sectionStyles | CSSProperties | - | Inline styles applied to the inner bordered box |
937
+ | sectionClassName | string | - | Additional CSS class applied to the inner box |
938
+ | className | string | - | Additional CSS class applied to the root wrapper |
939
+ | style | CSSProperties | - | Inline styles applied to the root wrapper |
940
+ | data-testid | string | - | Test ID for testing |
941
+
942
+ `SectionTitle` accepts `name`, `actions`, `className`, and `data-testid`.
943
+
917
944
  ### ProgressSpinner
918
945
 
919
946
  Indeterminate loading spinner for overlays and blocking states. Pattern A (no PrimeReact dependency). API inspired by [PrimeReact ProgressSpinner](https://primereact.org/progressspinner/).
@@ -0,0 +1,65 @@
1
+ import { CSSProperties, ReactNode } from 'react';
2
+ export interface SectionTitleProps {
3
+ /**
4
+ * Title text. Rendered through a title-case transform (e.g. `orderDetails`
5
+ * renders as `Order Details`).
6
+ */
7
+ name?: string;
8
+ /**
9
+ * Actions rendered alongside the title (e.g. a button).
10
+ */
11
+ actions?: ReactNode;
12
+ /**
13
+ * Additional CSS class name.
14
+ */
15
+ className?: string;
16
+ /**
17
+ * Test ID for testing.
18
+ */
19
+ 'data-testid'?: string;
20
+ }
21
+ /**
22
+ * Section heading row: a title (title-cased) with optional trailing actions.
23
+ * Used standalone or automatically by `SectionBox` when `name`/`actions` are set.
24
+ */
25
+ export declare const SectionTitle: ({ name, actions, className, "data-testid": testId, }: SectionTitleProps) => import("react/jsx-runtime").JSX.Element;
26
+ export interface SectionBoxProps {
27
+ /**
28
+ * Content rendered inside the bordered box.
29
+ */
30
+ children: ReactNode;
31
+ /**
32
+ * Optional title, rendered via `SectionTitle` above the box.
33
+ */
34
+ name?: string;
35
+ /**
36
+ * Optional actions rendered alongside the title.
37
+ */
38
+ actions?: ReactNode;
39
+ /**
40
+ * Inline styles applied to the inner bordered box.
41
+ */
42
+ sectionStyles?: CSSProperties;
43
+ /**
44
+ * Additional CSS class name applied to the inner bordered box.
45
+ */
46
+ sectionClassName?: string;
47
+ /**
48
+ * Additional CSS class name applied to the root wrapper.
49
+ */
50
+ className?: string;
51
+ /**
52
+ * Inline styles applied to the root wrapper.
53
+ */
54
+ style?: CSSProperties;
55
+ /**
56
+ * Test ID for testing.
57
+ */
58
+ 'data-testid'?: string;
59
+ }
60
+ /**
61
+ * Bordered content section with an optional title/actions header.
62
+ * Common layout primitive for grouping form fields or detail content.
63
+ */
64
+ export declare const SectionBox: ({ children, name, actions, sectionStyles, sectionClassName, className, style, "data-testid": testId, }: SectionBoxProps) => import("react/jsx-runtime").JSX.Element;
65
+ //# sourceMappingURL=SectionBox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SectionBox.d.ts","sourceRoot":"","sources":["../../../src/components/sectionbox/SectionBox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAIrD,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,sDAK1B,iBAAiB,4CAWnB,CAAA;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAA;IACnB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,wGASxB,eAAe,4CAsBjB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { SectionBox, SectionTitle } from './SectionBox';
2
+ export type { SectionBoxProps, SectionTitleProps } from './SectionBox';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/sectionbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACvD,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Converts arbitrary text (including camelCase / snake-ish identifiers) into
3
+ * title case, e.g. `orderDetails` -> `Order Details`.
4
+ *
5
+ * Ported as-is from management-dashboard's `helpers/utils.ts` so migrated
6
+ * consumers see no visual change. This is a pure text-casing transform, not
7
+ * a translation — no i18n involved.
8
+ */
9
+ export declare const textToTitleCase: (input: string | undefined) => string;
10
+ //# sourceMappingURL=textToTitleCase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textToTitleCase.d.ts","sourceRoot":"","sources":["../../../src/components/sectionbox/textToTitleCase.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,GAAG,SAAS,KAAG,MAsB3D,CAAA"}
package/dist/index.d.ts CHANGED
@@ -50,6 +50,8 @@ export { Menu } from './components/menu';
50
50
  export type { MenuProps, MenuItem, MenuRef } from './components/menu';
51
51
  export { Message } from './components/message/Message';
52
52
  export type { MessageProps, MessageSeverity, } from './components/message/Message';
53
+ export { SectionBox, SectionTitle } from './components/sectionbox';
54
+ export type { SectionBoxProps, SectionTitleProps, } from './components/sectionbox';
53
55
  export { DataTable, DataTableEmptyState, DEFAULT_DATA_TABLE_EMPTY_MESSAGE, useDataTablePagination, FilterMatchMode, } from './components/datatable';
54
56
  export type { DataTableProps, DataTablePaginationState, DataTableColumnProps, DataTableFilters, DataTableFilterMeta, DataTableFilterMetaData, DataTableFilterMetaOperator, DataTableFilterConstraint, DataTableFilterEvent, DataTableSortEvent, DataTablePageEvent, DataTableSortOrder, DataTableColumnFilterElementOptions, } from './components/datatable';
55
57
  export { DEFAULT_DATA_TABLE_PAGINATION } from './components/datatable';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}