@lgsm/modules 1.6.20-beta.2 → 1.6.20-beta.4
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 +61 -1
- package/dist/assets/main.css +1 -1
- package/dist/components/ui/alert-dialog.d.ts +14 -0
- package/dist/components/ui/badge.d.ts +9 -0
- package/dist/components/ui/button.d.ts +10 -0
- package/dist/components/ui/calendar.d.ts +8 -0
- package/dist/components/ui/card.d.ts +11 -0
- package/dist/components/ui/checkbox.d.ts +4 -0
- package/dist/components/ui/command.d.ts +18 -0
- package/dist/components/ui/dialog.d.ts +21 -0
- package/dist/components/ui/dropdown-menu.d.ts +27 -0
- package/dist/components/ui/input.d.ts +3 -0
- package/dist/components/ui/label.d.ts +4 -0
- package/dist/components/ui/popover.d.ts +7 -0
- package/dist/components/ui/select.d.ts +13 -0
- package/dist/components/ui/separator.d.ts +4 -0
- package/dist/components/ui/skeleton.d.ts +2 -0
- package/dist/components/ui/sonner.d.ts +4 -0
- package/dist/components/ui/switch.d.ts +4 -0
- package/dist/components/ui/table.d.ts +10 -0
- package/dist/components/ui/textarea.d.ts +3 -0
- package/dist/components/ui/tooltip.d.ts +7 -0
- package/dist/lib/utils.d.ts +2 -0
- package/dist/main.d.ts +7 -0
- package/dist/main.js +28841 -3848
- package/dist/shared-ui/DataTable/components/customFilterControl.d.ts +8 -0
- package/dist/shared-ui/DataTable/components/dataTable.d.ts +3 -0
- package/dist/shared-ui/DataTable/components/dataTableBody.d.ts +7 -0
- package/dist/shared-ui/DataTable/components/dataTablePagination.d.ts +2 -0
- package/dist/shared-ui/DataTable/components/dataTableToolbar.d.ts +2 -0
- package/dist/shared-ui/DataTable/components/detailTableCard.d.ts +2 -0
- package/dist/shared-ui/DataTable/components/dropdownCell.d.ts +13 -0
- package/dist/shared-ui/DataTable/components/editableCell.d.ts +2 -0
- package/dist/shared-ui/DataTable/components/errorWrapper.d.ts +2 -0
- package/dist/shared-ui/DataTable/components/filterPanel.d.ts +2 -0
- package/dist/shared-ui/DataTable/components/memoRow.d.ts +16 -0
- package/dist/shared-ui/DataTable/components/multiSelectCell.d.ts +11 -0
- package/dist/shared-ui/DataTable/components/pageInput.d.ts +2 -0
- package/dist/shared-ui/DataTable/components/saveConfirmDialog.d.ts +2 -0
- package/dist/shared-ui/DataTable/components/serverTable.d.ts +34 -0
- package/dist/shared-ui/DataTable/components/sortableHeader.d.ts +7 -0
- package/dist/shared-ui/DataTable/components/uploadAssetImage.d.ts +2 -0
- package/dist/shared-ui/DataTable/hooks/hooks.d.ts +79 -0
- package/dist/shared-ui/DataTable/hooks/useColumnDefinitions.d.ts +6 -0
- package/dist/shared-ui/DataTable/hooks/useEditing.d.ts +21 -0
- package/dist/shared-ui/DataTable/hooks/useFilterPanel.d.ts +13 -0
- package/dist/shared-ui/DataTable/hooks/usePageInput.d.ts +6 -0
- package/dist/shared-ui/DataTable/hooks/useRowIdentity.d.ts +5 -0
- package/dist/shared-ui/DataTable/hooks/useSelection.d.ts +6 -0
- package/dist/shared-ui/DataTable/hooks/useTableData.d.ts +9 -0
- package/dist/shared-ui/DataTable/hooks/useTableStatus.d.ts +17 -0
- package/dist/shared-ui/DataTable/index.d.ts +25 -0
- package/dist/shared-ui/DataTable/types/button.d.ts +12 -0
- package/dist/shared-ui/DataTable/types/column/actionColumn.d.ts +4 -0
- package/dist/shared-ui/DataTable/types/column/baseColumn.d.ts +7 -0
- package/dist/shared-ui/DataTable/types/column/columnConfig.d.ts +13 -0
- package/dist/shared-ui/DataTable/types/column/columnDefinitions.d.ts +35 -0
- package/dist/shared-ui/DataTable/types/column/columnLayout.d.ts +5 -0
- package/dist/shared-ui/DataTable/types/column/columnType.d.ts +1 -0
- package/dist/shared-ui/DataTable/types/column/editableCell.d.ts +4 -0
- package/dist/shared-ui/DataTable/types/column/editableColumn.d.ts +5 -0
- package/dist/shared-ui/DataTable/types/column/optionColumn.d.ts +9 -0
- package/dist/shared-ui/DataTable/types/column/renderColumn.d.ts +6 -0
- package/dist/shared-ui/DataTable/types/column/treeColumn.d.ts +3 -0
- package/dist/shared-ui/DataTable/types/column/validateColumn.d.ts +4 -0
- package/dist/shared-ui/DataTable/types/column/visibilityColumn.d.ts +6 -0
- package/dist/shared-ui/DataTable/types/filtering.d.ts +43 -0
- package/dist/shared-ui/DataTable/types/hooks/useEditingProps.d.ts +8 -0
- package/dist/shared-ui/DataTable/types/hooks/useFilterPanel.d.ts +7 -0
- package/dist/shared-ui/DataTable/types/pagination.d.ts +5 -0
- package/dist/shared-ui/DataTable/types/sorting.d.ts +5 -0
- package/dist/shared-ui/DataTable/types/table/baseDataTable.d.ts +5 -0
- package/dist/shared-ui/DataTable/types/table/crudOptions.d.ts +12 -0
- package/dist/shared-ui/DataTable/types/table/dataTable.d.ts +46 -0
- package/dist/shared-ui/DataTable/types/table/dataTableBodyProps.d.ts +23 -0
- package/dist/shared-ui/DataTable/types/table/dataTablePaginationProps.d.ts +13 -0
- package/dist/shared-ui/DataTable/types/table/dataTableToolbarProps.d.ts +46 -0
- package/dist/shared-ui/DataTable/types/table/errorWrapper.d.ts +4 -0
- package/dist/shared-ui/DataTable/types/table/importExportOptions.d.ts +12 -0
- package/dist/shared-ui/DataTable/types/table/saveConfirmDialog.d.ts +11 -0
- package/dist/shared-ui/DataTable/types/table/serverSideConfig.d.ts +38 -0
- package/dist/shared-ui/DataTable/types/table/statusConfig.d.ts +15 -0
- package/dist/shared-ui/DataTable/types/table/tableMeta.d.ts +3 -0
- package/dist/shared-ui/DataTable/types/table/tablePermissions.d.ts +6 -0
- package/dist/shared-ui/DataTable/types/table/treeOptions.d.ts +7 -0
- package/dist/shared-ui/DataTable/types/table-panel/detailTableCard.d.ts +12 -0
- package/dist/shared-ui/DataTable/utils/column.d.ts +11 -0
- package/dist/shared-ui/DataTable/utils/compare.d.ts +2 -0
- package/dist/shared-ui/DataTable/utils/filter.d.ts +2 -0
- package/dist/shared-ui/DataTable/utils/image.d.ts +4 -0
- package/dist/shared-ui/DataTable/utils/index.d.ts +6 -0
- package/dist/shared-ui/DataTable/utils/row.d.ts +2 -0
- package/dist/shared-ui/DataTable/utils/search.d.ts +4 -0
- package/dist/shared-ui/DataTable/utils/status.d.ts +18 -0
- package/dist/shared-ui/DataTable/utils/tree.d.ts +3 -0
- package/dist/utils/date.d.ts +1 -0
- package/dist/utils/excel.d.ts +1 -0
- package/package.json +15 -1
package/README.md
CHANGED
|
@@ -6,6 +6,66 @@ Project using **React component library**, with **Vite**, **TypeScript** and **S
|
|
|
6
6
|
|
|
7
7
|
Link download : https://www.npmjs.com/package/@lgsm/modules
|
|
8
8
|
|
|
9
|
+
## Shared HRIS tables
|
|
10
|
+
|
|
11
|
+
`DataTable`, `ServerTable`, `SortableHeader` and their configuration types now live
|
|
12
|
+
in this package. `Input`, `Badge`, the `DropdownMenu` primitives and `BaseButton`
|
|
13
|
+
are also exported. `BaseButton` uses children/variant/size; the existing branded
|
|
14
|
+
`Button` keeps its label/primary API.
|
|
15
|
+
|
|
16
|
+
```tsx
|
|
17
|
+
import { DataTable, type ColumnConfig } from '@lgsm/modules'
|
|
18
|
+
|
|
19
|
+
const columns: ColumnConfig[] = [{ key: 'name', label: 'Name', type: 'text' }]
|
|
20
|
+
|
|
21
|
+
<DataTable
|
|
22
|
+
columns={columns}
|
|
23
|
+
data={rows}
|
|
24
|
+
permissions={{ canCreate, canModify, canDelete }}
|
|
25
|
+
onSave={handleSave}
|
|
26
|
+
/>
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
The app supplies data, column definitions, validation, save callbacks and access
|
|
30
|
+
flags. Missing permissions make the built-in editing actions read-only. Custom
|
|
31
|
+
`headerActions` and custom cell renderers remain the app's responsibility.
|
|
32
|
+
The table does not import HRIS stores, routes, layouts or LMS services. Its
|
|
33
|
+
supporting UI and CSS are included in the library build.
|
|
34
|
+
Library utilities are scoped to `[data-lgsm-ui]`. Public UI roots and portal
|
|
35
|
+
content carry this attribute so their CSS cannot hide or resize the host shell.
|
|
36
|
+
Keep it on new public components and on content rendered through a portal.
|
|
37
|
+
|
|
38
|
+
HRIS keeps a small adapter in `src/components/data-table/adapters.tsx` that reads
|
|
39
|
+
its menu permissions. The LMS remote receives access from the federation host
|
|
40
|
+
and passes it to the same shared table. Layout, sidebar, breadcrumbs, profile
|
|
41
|
+
and authentication remain in HRIS; LMS Settings business logic remains in LMS.
|
|
42
|
+
|
|
43
|
+
### Local verification before publishing
|
|
44
|
+
|
|
45
|
+
The two apps currently use `"@lgsm/modules": "file:../lampung-fe"`. Keep the three
|
|
46
|
+
repositories beside each other. After changing this library, build it and refresh
|
|
47
|
+
the installed local package in both apps:
|
|
48
|
+
|
|
49
|
+
```powershell
|
|
50
|
+
# lampung-fe
|
|
51
|
+
bun run build
|
|
52
|
+
|
|
53
|
+
# hris-admin-fe and admin-lms-fe, each in its own terminal
|
|
54
|
+
bun install --force
|
|
55
|
+
bun run dev
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Keep both app dev servers running. Edits to LMS page code use federation hot
|
|
59
|
+
updates; they do not require rebuilding this library. Library source changes do
|
|
60
|
+
require its build and a package refresh because the apps consume `dist`.
|
|
61
|
+
|
|
62
|
+
Before CI/CD, publish a new package version and replace the local `file:`
|
|
63
|
+
dependency in both apps with that version. Nothing is published by local
|
|
64
|
+
installation. Federation still loads the separately deployed LMS remote at
|
|
65
|
+
runtime; npm provides the shared table implementation to the app builds.
|
|
66
|
+
|
|
67
|
+
Focused checks: `bun run test --run src/shared-ui/DataTable/DataTable.test.tsx`.
|
|
68
|
+
|
|
9
69
|
## Features
|
|
10
70
|
|
|
11
71
|
- ⚛️ **React** component library with **TypeScript**.
|
|
@@ -75,4 +135,4 @@ Please refer to:
|
|
|
75
135
|
### For API Service
|
|
76
136
|
src > usage-example > example-apiService.tsx
|
|
77
137
|
### For Components
|
|
78
|
-
src > usage-example > example-components.tsx
|
|
138
|
+
src > usage-example > example-components.tsx
|