@emporix/component-library 1.13.4 → 2.0.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 +25 -8
- package/dist/components/datatable/index.d.ts +3 -1
- package/dist/components/datatable/index.d.ts.map +1 -1
- package/dist/components/progressspinner/ProgressSpinner.d.ts +31 -0
- package/dist/components/progressspinner/ProgressSpinner.d.ts.map +1 -0
- package/dist/components/progressspinner/index.d.ts +3 -0
- package/dist/components/progressspinner/index.d.ts.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +13059 -1588
- package/dist/index.umd.js +95 -1
- package/dist/style.css +6 -1
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -271,23 +271,19 @@ function ConfirmDialogExample() {
|
|
|
271
271
|
| draggable | boolean | false | Allows dragging the dialog by its header |
|
|
272
272
|
| data-testid | string | - | Test ID on the dialog root |
|
|
273
273
|
|
|
274
|
-
Requires
|
|
274
|
+
Requires only `@emporix/component-library/styles` (PrimeReact theme CSS is bundled).
|
|
275
275
|
|
|
276
276
|
### DataTable
|
|
277
277
|
|
|
278
278
|
Encapsulated data table built on [PrimeReact DataTable](https://primereact.org/datatable/). Styles are scoped via CSS modules. Pass `columns`, optional controlled `pagination`, selection, `rowActions`, and an `emptyTemplate` for empty results.
|
|
279
279
|
|
|
280
|
-
Import `@emporix/component-library/styles` once in your app entry
|
|
280
|
+
Import `@emporix/component-library/styles` once in your app entry. Pattern B PrimeReact (base CSS, saga-blue theme, and primeicons) is included in that stylesheet — no separate `primereact` install or CSS imports.
|
|
281
281
|
|
|
282
282
|
```tsx
|
|
283
283
|
import { useMemo, useState } from 'react'
|
|
284
|
-
import { FilterMatchMode } from '
|
|
285
|
-
import { DataTable } from '@emporix/component-library'
|
|
284
|
+
import { DataTable, FilterMatchMode } from '@emporix/component-library'
|
|
286
285
|
import type { DataTablePaginationState } from '@emporix/component-library'
|
|
287
286
|
import '@emporix/component-library/styles'
|
|
288
|
-
import 'primereact/resources/primereact.css'
|
|
289
|
-
import 'primereact/resources/themes/saga-blue/theme.css'
|
|
290
|
-
import 'primeicons/primeicons.css'
|
|
291
287
|
|
|
292
288
|
const columns = [
|
|
293
289
|
{
|
|
@@ -733,6 +729,27 @@ import { Message } from '@emporix/component-library'
|
|
|
733
729
|
| className | string | - | Additional CSS class on the root element |
|
|
734
730
|
| data-testid | string | - | Test ID for testing |
|
|
735
731
|
|
|
732
|
+
### ProgressSpinner
|
|
733
|
+
|
|
734
|
+
Indeterminate loading spinner for overlays and blocking states. Pattern A (no PrimeReact dependency). API inspired by [PrimeReact ProgressSpinner](https://primereact.org/progressspinner/).
|
|
735
|
+
|
|
736
|
+
```tsx
|
|
737
|
+
import { ProgressSpinner } from '@emporix/component-library'
|
|
738
|
+
|
|
739
|
+
<ProgressSpinner />
|
|
740
|
+
<ProgressSpinner size="2rem" aria-label="Saving" />
|
|
741
|
+
```
|
|
742
|
+
|
|
743
|
+
#### Props
|
|
744
|
+
|
|
745
|
+
| Prop | Type | Default | Description |
|
|
746
|
+
| ----------- | ------ | --------- | ------------------------------------ |
|
|
747
|
+
| size | string | `50px` | Diameter of the spinner (CSS length) |
|
|
748
|
+
| strokeWidth | string | `4` | Stroke width of the spinner ring |
|
|
749
|
+
| aria-label | string | `Loading` | Accessible label for screen readers |
|
|
750
|
+
| className | string | - | Additional CSS class on the root |
|
|
751
|
+
| data-testid | string | - | Test ID for the root element |
|
|
752
|
+
|
|
736
753
|
### Accordion
|
|
737
754
|
|
|
738
755
|
Collapsible content panels grouped in tabs.
|
|
@@ -1117,7 +1134,7 @@ Cursor loads the skill automatically when your request matches its description (
|
|
|
1117
1134
|
1. **Audit** — find consumers, related SCSS, and PrimeReact dependencies in MD
|
|
1118
1135
|
2. **Ask you to choose a pattern** (required before any implementation)
|
|
1119
1136
|
- **Pattern A (custom):** boilerplate + SCSS modules + **same API as PrimeReact** — e.g. `Dropdown`, `InputText`, `SelectButton` (no `primereact` dependency)
|
|
1120
|
-
- **Pattern B (PrimeReact wrapper):** encapsulated `primereact/*` + scoped overrides — e.g. `Toast`, `DataTable`
|
|
1137
|
+
- **Pattern B (PrimeReact wrapper):** encapsulated `primereact/*` + scoped overrides; Prime is a library **dependency** (bundled) — e.g. `Toast`, `DataTable`
|
|
1121
1138
|
3. **Implement in component-library** — component folder, tests, Storybook, exports, version bump
|
|
1122
1139
|
4. **Wire consumer app** — import library component directly in pilot views **or** add a thin `Md*` wrapper; leave existing `Md*` unchanged for unmigrated screens; import `@emporix/component-library/styles`
|
|
1123
1140
|
5. **Verify** — `npm run lint`, `npm run test -- --run`, `npm run build:lib` (library); build and manual QA in MD
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export { DataTable } from './DataTable';
|
|
2
2
|
export { DataTableEmptyState, DEFAULT_DATA_TABLE_EMPTY_MESSAGE, } from './DataTableEmptyState';
|
|
3
|
-
export type { DataTableProps, DataTablePaginationState, DataTableColumnProps, } from './types';
|
|
3
|
+
export type { DataTableProps, DataTablePaginationState, DataTableColumnProps, DataTableFilterMeta, DataTableFilterMetaData, DataTableFilterMetaOperator, DataTableFilterConstraint, DataTableFilterEvent, DataTableSortEvent, DataTablePageEvent, DataTableSortOrder, } from './types';
|
|
4
4
|
export { useDataTablePagination, DEFAULT_DATA_TABLE_PAGINATION, } from './useDataTablePagination';
|
|
5
5
|
export type { DataTableFilters } from './useDataTablePagination';
|
|
6
|
+
export { FilterMatchMode } from 'primereact/api';
|
|
7
|
+
export type { ColumnFilterElementTemplateOptions as DataTableColumnFilterElementOptions } from 'primereact/column';
|
|
6
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/datatable/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EACL,mBAAmB,EACnB,gCAAgC,GACjC,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EACV,cAAc,EACd,wBAAwB,EACxB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/datatable/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EACL,mBAAmB,EACnB,gCAAgC,GACjC,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EACV,cAAc,EACd,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,0BAA0B,CAAA;AACjC,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,YAAY,EAAE,kCAAkC,IAAI,mCAAmC,EAAE,MAAM,mBAAmB,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface ProgressSpinnerProps {
|
|
2
|
+
/**
|
|
3
|
+
* Diameter of the spinner. CSS length (e.g. `2rem`, `50px`).
|
|
4
|
+
* @default '50px'
|
|
5
|
+
*/
|
|
6
|
+
size?: string;
|
|
7
|
+
/**
|
|
8
|
+
* Stroke width of the spinner ring.
|
|
9
|
+
* @default '4'
|
|
10
|
+
*/
|
|
11
|
+
strokeWidth?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Accessible label announced by screen readers.
|
|
14
|
+
* @default 'Loading'
|
|
15
|
+
*/
|
|
16
|
+
'aria-label'?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Additional CSS class name for the root.
|
|
19
|
+
*/
|
|
20
|
+
className?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Test ID for testing.
|
|
23
|
+
*/
|
|
24
|
+
'data-testid'?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Indeterminate loading spinner. Pattern A — no PrimeReact dependency.
|
|
28
|
+
* API inspired by [PrimeReact ProgressSpinner](https://primereact.org/progressspinner/).
|
|
29
|
+
*/
|
|
30
|
+
export declare const ProgressSpinner: ({ size, strokeWidth, "aria-label": ariaLabel, className, "data-testid": testId, }: ProgressSpinnerProps) => import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
//# sourceMappingURL=ProgressSpinner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgressSpinner.d.ts","sourceRoot":"","sources":["../../../src/components/progressspinner/ProgressSpinner.tsx"],"names":[],"mappings":"AAQA,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,mFAM7B,oBAAoB,4CA2BtB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/progressspinner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -40,7 +40,9 @@ export { Menu } from './components/menu';
|
|
|
40
40
|
export type { MenuProps, MenuItem, MenuRef } from './components/menu';
|
|
41
41
|
export { Message } from './components/message/Message';
|
|
42
42
|
export type { MessageProps, MessageSeverity, } from './components/message/Message';
|
|
43
|
-
export { DataTable, DataTableEmptyState, DEFAULT_DATA_TABLE_EMPTY_MESSAGE, useDataTablePagination, } from './components/datatable';
|
|
44
|
-
export type { DataTableProps, DataTablePaginationState, DataTableColumnProps, DataTableFilters, } from './components/datatable';
|
|
43
|
+
export { DataTable, DataTableEmptyState, DEFAULT_DATA_TABLE_EMPTY_MESSAGE, useDataTablePagination, FilterMatchMode, } from './components/datatable';
|
|
44
|
+
export type { DataTableProps, DataTablePaginationState, DataTableColumnProps, DataTableFilters, DataTableFilterMeta, DataTableFilterMetaData, DataTableFilterMetaOperator, DataTableFilterConstraint, DataTableFilterEvent, DataTableSortEvent, DataTablePageEvent, DataTableSortOrder, DataTableColumnFilterElementOptions, } from './components/datatable';
|
|
45
45
|
export { DEFAULT_DATA_TABLE_PAGINATION } from './components/datatable';
|
|
46
|
+
export { ProgressSpinner } from './components/progressspinner';
|
|
47
|
+
export type { ProgressSpinnerProps } from './components/progressspinner';
|
|
46
48
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AAClE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAA;AACtE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAEhF,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAC7C,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAEhE,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AACzD,YAAY,EACV,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AACxD,YAAY,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAElE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE/E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,YAAY,EACV,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AAClE,YAAY,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,wCAAwC,CAAA;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAClE,YAAY,EACV,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,sCAAsC,CAAA;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AACtD,YAAY,EACV,YAAY,EACZ,eAAe,EACf,gBAAgB,GACjB,MAAM,8BAA8B,CAAA;AAErC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEtD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAC3E,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,aAAa,GACd,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACxC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAErE,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AACtD,YAAY,EACV,YAAY,EACZ,eAAe,GAChB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,gCAAgC,EAChC,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|