@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.
Files changed (98) hide show
  1. package/README.md +61 -1
  2. package/dist/assets/main.css +1 -1
  3. package/dist/components/ui/alert-dialog.d.ts +14 -0
  4. package/dist/components/ui/badge.d.ts +9 -0
  5. package/dist/components/ui/button.d.ts +10 -0
  6. package/dist/components/ui/calendar.d.ts +8 -0
  7. package/dist/components/ui/card.d.ts +11 -0
  8. package/dist/components/ui/checkbox.d.ts +4 -0
  9. package/dist/components/ui/command.d.ts +18 -0
  10. package/dist/components/ui/dialog.d.ts +21 -0
  11. package/dist/components/ui/dropdown-menu.d.ts +27 -0
  12. package/dist/components/ui/input.d.ts +3 -0
  13. package/dist/components/ui/label.d.ts +4 -0
  14. package/dist/components/ui/popover.d.ts +7 -0
  15. package/dist/components/ui/select.d.ts +13 -0
  16. package/dist/components/ui/separator.d.ts +4 -0
  17. package/dist/components/ui/skeleton.d.ts +2 -0
  18. package/dist/components/ui/sonner.d.ts +4 -0
  19. package/dist/components/ui/switch.d.ts +4 -0
  20. package/dist/components/ui/table.d.ts +10 -0
  21. package/dist/components/ui/textarea.d.ts +3 -0
  22. package/dist/components/ui/tooltip.d.ts +7 -0
  23. package/dist/lib/utils.d.ts +2 -0
  24. package/dist/main.d.ts +7 -0
  25. package/dist/main.js +28841 -3848
  26. package/dist/shared-ui/DataTable/components/customFilterControl.d.ts +8 -0
  27. package/dist/shared-ui/DataTable/components/dataTable.d.ts +3 -0
  28. package/dist/shared-ui/DataTable/components/dataTableBody.d.ts +7 -0
  29. package/dist/shared-ui/DataTable/components/dataTablePagination.d.ts +2 -0
  30. package/dist/shared-ui/DataTable/components/dataTableToolbar.d.ts +2 -0
  31. package/dist/shared-ui/DataTable/components/detailTableCard.d.ts +2 -0
  32. package/dist/shared-ui/DataTable/components/dropdownCell.d.ts +13 -0
  33. package/dist/shared-ui/DataTable/components/editableCell.d.ts +2 -0
  34. package/dist/shared-ui/DataTable/components/errorWrapper.d.ts +2 -0
  35. package/dist/shared-ui/DataTable/components/filterPanel.d.ts +2 -0
  36. package/dist/shared-ui/DataTable/components/memoRow.d.ts +16 -0
  37. package/dist/shared-ui/DataTable/components/multiSelectCell.d.ts +11 -0
  38. package/dist/shared-ui/DataTable/components/pageInput.d.ts +2 -0
  39. package/dist/shared-ui/DataTable/components/saveConfirmDialog.d.ts +2 -0
  40. package/dist/shared-ui/DataTable/components/serverTable.d.ts +34 -0
  41. package/dist/shared-ui/DataTable/components/sortableHeader.d.ts +7 -0
  42. package/dist/shared-ui/DataTable/components/uploadAssetImage.d.ts +2 -0
  43. package/dist/shared-ui/DataTable/hooks/hooks.d.ts +79 -0
  44. package/dist/shared-ui/DataTable/hooks/useColumnDefinitions.d.ts +6 -0
  45. package/dist/shared-ui/DataTable/hooks/useEditing.d.ts +21 -0
  46. package/dist/shared-ui/DataTable/hooks/useFilterPanel.d.ts +13 -0
  47. package/dist/shared-ui/DataTable/hooks/usePageInput.d.ts +6 -0
  48. package/dist/shared-ui/DataTable/hooks/useRowIdentity.d.ts +5 -0
  49. package/dist/shared-ui/DataTable/hooks/useSelection.d.ts +6 -0
  50. package/dist/shared-ui/DataTable/hooks/useTableData.d.ts +9 -0
  51. package/dist/shared-ui/DataTable/hooks/useTableStatus.d.ts +17 -0
  52. package/dist/shared-ui/DataTable/index.d.ts +25 -0
  53. package/dist/shared-ui/DataTable/types/button.d.ts +12 -0
  54. package/dist/shared-ui/DataTable/types/column/actionColumn.d.ts +4 -0
  55. package/dist/shared-ui/DataTable/types/column/baseColumn.d.ts +7 -0
  56. package/dist/shared-ui/DataTable/types/column/columnConfig.d.ts +13 -0
  57. package/dist/shared-ui/DataTable/types/column/columnDefinitions.d.ts +35 -0
  58. package/dist/shared-ui/DataTable/types/column/columnLayout.d.ts +5 -0
  59. package/dist/shared-ui/DataTable/types/column/columnType.d.ts +1 -0
  60. package/dist/shared-ui/DataTable/types/column/editableCell.d.ts +4 -0
  61. package/dist/shared-ui/DataTable/types/column/editableColumn.d.ts +5 -0
  62. package/dist/shared-ui/DataTable/types/column/optionColumn.d.ts +9 -0
  63. package/dist/shared-ui/DataTable/types/column/renderColumn.d.ts +6 -0
  64. package/dist/shared-ui/DataTable/types/column/treeColumn.d.ts +3 -0
  65. package/dist/shared-ui/DataTable/types/column/validateColumn.d.ts +4 -0
  66. package/dist/shared-ui/DataTable/types/column/visibilityColumn.d.ts +6 -0
  67. package/dist/shared-ui/DataTable/types/filtering.d.ts +43 -0
  68. package/dist/shared-ui/DataTable/types/hooks/useEditingProps.d.ts +8 -0
  69. package/dist/shared-ui/DataTable/types/hooks/useFilterPanel.d.ts +7 -0
  70. package/dist/shared-ui/DataTable/types/pagination.d.ts +5 -0
  71. package/dist/shared-ui/DataTable/types/sorting.d.ts +5 -0
  72. package/dist/shared-ui/DataTable/types/table/baseDataTable.d.ts +5 -0
  73. package/dist/shared-ui/DataTable/types/table/crudOptions.d.ts +12 -0
  74. package/dist/shared-ui/DataTable/types/table/dataTable.d.ts +46 -0
  75. package/dist/shared-ui/DataTable/types/table/dataTableBodyProps.d.ts +23 -0
  76. package/dist/shared-ui/DataTable/types/table/dataTablePaginationProps.d.ts +13 -0
  77. package/dist/shared-ui/DataTable/types/table/dataTableToolbarProps.d.ts +46 -0
  78. package/dist/shared-ui/DataTable/types/table/errorWrapper.d.ts +4 -0
  79. package/dist/shared-ui/DataTable/types/table/importExportOptions.d.ts +12 -0
  80. package/dist/shared-ui/DataTable/types/table/saveConfirmDialog.d.ts +11 -0
  81. package/dist/shared-ui/DataTable/types/table/serverSideConfig.d.ts +38 -0
  82. package/dist/shared-ui/DataTable/types/table/statusConfig.d.ts +15 -0
  83. package/dist/shared-ui/DataTable/types/table/tableMeta.d.ts +3 -0
  84. package/dist/shared-ui/DataTable/types/table/tablePermissions.d.ts +6 -0
  85. package/dist/shared-ui/DataTable/types/table/treeOptions.d.ts +7 -0
  86. package/dist/shared-ui/DataTable/types/table-panel/detailTableCard.d.ts +12 -0
  87. package/dist/shared-ui/DataTable/utils/column.d.ts +11 -0
  88. package/dist/shared-ui/DataTable/utils/compare.d.ts +2 -0
  89. package/dist/shared-ui/DataTable/utils/filter.d.ts +2 -0
  90. package/dist/shared-ui/DataTable/utils/image.d.ts +4 -0
  91. package/dist/shared-ui/DataTable/utils/index.d.ts +6 -0
  92. package/dist/shared-ui/DataTable/utils/row.d.ts +2 -0
  93. package/dist/shared-ui/DataTable/utils/search.d.ts +4 -0
  94. package/dist/shared-ui/DataTable/utils/status.d.ts +18 -0
  95. package/dist/shared-ui/DataTable/utils/tree.d.ts +3 -0
  96. package/dist/utils/date.d.ts +1 -0
  97. package/dist/utils/excel.d.ts +1 -0
  98. 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