@khester/dynamics-cell-renderers 1.1.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 (51) hide show
  1. package/dist/editable/EditableDateCell.d.ts +29 -0
  2. package/dist/editable/EditableDateCell.d.ts.map +1 -0
  3. package/dist/editable/EditableLookupCell.d.ts +54 -0
  4. package/dist/editable/EditableLookupCell.d.ts.map +1 -0
  5. package/dist/editable/EditableNumberCell.d.ts +30 -0
  6. package/dist/editable/EditableNumberCell.d.ts.map +1 -0
  7. package/dist/editable/EditableOptionSetCell.d.ts +28 -0
  8. package/dist/editable/EditableOptionSetCell.d.ts.map +1 -0
  9. package/dist/editable/EditableRatingCell.d.ts +33 -0
  10. package/dist/editable/EditableRatingCell.d.ts.map +1 -0
  11. package/dist/editable/EditableTextCell.d.ts +28 -0
  12. package/dist/editable/EditableTextCell.d.ts.map +1 -0
  13. package/dist/index.d.ts +39 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.esm.js +2107 -0
  16. package/dist/index.esm.js.map +1 -0
  17. package/dist/index.js +2156 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/renderers/ColoredCell.d.ts +8 -0
  20. package/dist/renderers/ColoredCell.d.ts.map +1 -0
  21. package/dist/renderers/CompositeCell.d.ts +13 -0
  22. package/dist/renderers/CompositeCell.d.ts.map +1 -0
  23. package/dist/renderers/CurrencyCell.d.ts +8 -0
  24. package/dist/renderers/CurrencyCell.d.ts.map +1 -0
  25. package/dist/renderers/DateCell.d.ts +8 -0
  26. package/dist/renderers/DateCell.d.ts.map +1 -0
  27. package/dist/renderers/IconCell.d.ts +8 -0
  28. package/dist/renderers/IconCell.d.ts.map +1 -0
  29. package/dist/renderers/LinkCell.d.ts +8 -0
  30. package/dist/renderers/LinkCell.d.ts.map +1 -0
  31. package/dist/renderers/LookupCell.d.ts +20 -0
  32. package/dist/renderers/LookupCell.d.ts.map +1 -0
  33. package/dist/renderers/NumberCell.d.ts +8 -0
  34. package/dist/renderers/NumberCell.d.ts.map +1 -0
  35. package/dist/renderers/OptionSetCell.d.ts +9 -0
  36. package/dist/renderers/OptionSetCell.d.ts.map +1 -0
  37. package/dist/renderers/ProgressBarCell.d.ts +8 -0
  38. package/dist/renderers/ProgressBarCell.d.ts.map +1 -0
  39. package/dist/renderers/RatingCell.d.ts +15 -0
  40. package/dist/renderers/RatingCell.d.ts.map +1 -0
  41. package/dist/renderers/TextCell.d.ts +8 -0
  42. package/dist/renderers/TextCell.d.ts.map +1 -0
  43. package/dist/renderers/ToggleCell.d.ts +8 -0
  44. package/dist/renderers/ToggleCell.d.ts.map +1 -0
  45. package/dist/renderers/emojiRating.d.ts +22 -0
  46. package/dist/renderers/emojiRating.d.ts.map +1 -0
  47. package/dist/styles/index.d.ts +121 -0
  48. package/dist/styles/index.d.ts.map +1 -0
  49. package/dist/types/index.d.ts +245 -0
  50. package/dist/types/index.d.ts.map +1 -0
  51. package/package.json +42 -0
@@ -0,0 +1,245 @@
1
+ import { IColumn } from '@fluentui/react';
2
+ /**
3
+ * Minimal API service interface for lookup cell search queries.
4
+ * Consumers should pass their own IApiService implementation that satisfies this contract.
5
+ */
6
+ export interface IApiService {
7
+ retrieveMultipleRecords<T>(entitySetName: string, options?: string): Promise<{
8
+ value: T[];
9
+ }>;
10
+ }
11
+ /**
12
+ * Minimal ChangedRecord interface for edit mode tracking.
13
+ * The full implementation lives in the consuming grid component (e.g., web-resources).
14
+ */
15
+ export interface ChangedRecord {
16
+ key: string;
17
+ changes: Record<string, {
18
+ oldValue: unknown;
19
+ newValue: unknown;
20
+ }>;
21
+ }
22
+ /**
23
+ * Supported field types for list columns.
24
+ */
25
+ export type ListFieldType = 'text' | 'link' | 'currency' | 'date' | 'datetime' | 'number' | 'lookup' | 'optionset' | 'toggle' | 'icon' | 'progressBar' | 'coloredCell' | 'rating' | 'composite';
26
+ /**
27
+ * Slot types for the composite cell renderer.
28
+ * Structurally aligned with form-runtime's CompositeSlotType so a grid
29
+ * customizer definition maps onto these without an import.
30
+ */
31
+ export type CompositeSlotType = 'icon' | 'text' | 'badge' | 'link' | 'image' | 'spacer' | 'progress' | 'rating';
32
+ /** Conditional style rule for a composite slot — first match wins. */
33
+ export interface ConditionalStyle {
34
+ /** Field on the row to evaluate (not limited to this column). */
35
+ field: string;
36
+ /** Comparison operator. */
37
+ operator: 'eq' | 'gt' | 'lt' | 'gte' | 'lte' | 'contains' | 'between';
38
+ /** Value to compare against. */
39
+ value: string | number;
40
+ /** End value for the 'between' operator. */
41
+ valueTo?: string | number;
42
+ /** CSS style applied when the condition matches. */
43
+ style: Record<string, string>;
44
+ }
45
+ /** A composable slot within a composite cell. */
46
+ export interface CompositeSlot {
47
+ /** Unique identifier. */
48
+ id: string;
49
+ /** Slot type — determines what is rendered. */
50
+ type: CompositeSlotType;
51
+ /** Bind to a row field (dynamic); omit for a static value. */
52
+ fieldBinding?: string;
53
+ /** Static value (icon name, text, URL…) when no field binding. */
54
+ staticValue?: string;
55
+ /** Base style when no conditional style matches. */
56
+ defaultStyle?: Record<string, string>;
57
+ /** Ordered conditional styles — first match wins, else `defaultStyle`. */
58
+ conditionalStyles?: ConditionalStyle[];
59
+ }
60
+ /** Configuration object for the composite renderer (mirrors form-runtime). */
61
+ export interface CompositeRendererConfig {
62
+ /** Layout direction for slots. */
63
+ layout: 'horizontal' | 'vertical';
64
+ /** Gap between slots in pixels. */
65
+ gap: number;
66
+ /** Ordered list of composable slots. */
67
+ slots: CompositeSlot[];
68
+ }
69
+ /**
70
+ * Extended column interface for the ReusableDetailsList.
71
+ * Adds field type information and custom rendering options.
72
+ */
73
+ export interface IReusableColumn<T> extends Omit<IColumn, 'onRender'> {
74
+ /** The type of field for automatic rendering */
75
+ fieldType: ListFieldType;
76
+ /** Whether the column is editable */
77
+ editable?: boolean;
78
+ /** Handler when link is clicked */
79
+ onLinkClick?: (item: T) => void;
80
+ /** Whether to open in new tab (for URLs) */
81
+ openInNewTab?: boolean;
82
+ /** Map of value to background color */
83
+ colorMap?: Record<string | number, string>;
84
+ /** Function to get background color from value */
85
+ getBackgroundColor?: (value: string | number) => string;
86
+ /** Label when toggle is on */
87
+ toggleOnText?: string;
88
+ /** Label when toggle is off */
89
+ toggleOffText?: string;
90
+ /** Handler when toggle value changes */
91
+ onToggleChange?: (key: string, fieldName: string, value: boolean) => void;
92
+ /** Icon name from Fluent UI icons */
93
+ iconName?: string;
94
+ /** Handler when icon is clicked */
95
+ onIconClick?: (item: T) => void;
96
+ /** Tooltip for the icon */
97
+ iconTitle?: string;
98
+ /** Maximum value for progress (default: 100) */
99
+ progressMax?: number;
100
+ /** Color for the progress bar */
101
+ progressColor?: string;
102
+ /** Whether to show percentage label */
103
+ showProgressLabel?: boolean;
104
+ /** Maximum rating (number of stars), default 5 */
105
+ ratingMax?: number;
106
+ /** Filled-star color (default gold '#ffb900') */
107
+ ratingColor?: string;
108
+ /** Round to half-stars from fractional values (default true) */
109
+ ratingAllowHalf?: boolean;
110
+ /** Rating display style: 'stars' (default) or 'emoji' (sentiment faces). */
111
+ ratingStyle?: 'stars' | 'emoji';
112
+ /** Number of emoji faces (2–5). Falls back to ratingMax clamped to 2..5. */
113
+ ratingFaceCount?: number;
114
+ /** Tint emoji faces with sentiment colors (red→green). Default true for emoji. */
115
+ ratingUseSentimentColor?: boolean;
116
+ /** Ordered slots for the composite renderer */
117
+ compositeSlots?: CompositeSlot[];
118
+ /** Layout direction for composite slots (default 'horizontal') */
119
+ compositeLayout?: 'horizontal' | 'vertical';
120
+ /** Gap between composite slots in px (default 4) */
121
+ compositeGap?: number;
122
+ /** Custom format function for display value */
123
+ formatValue?: (value: unknown, item: T) => string;
124
+ /** Currency code for currency fields (default: 'USD') */
125
+ currencyCode?: string;
126
+ /** Locale for formatting (default: 'en-US') */
127
+ locale?: string;
128
+ /** Whether this column links to the record itself (uses item.key as ID) */
129
+ isRecordLink?: boolean;
130
+ /** Entity logical name for record link navigation (e.g., 'account') */
131
+ recordEntityLogicalName?: string;
132
+ /** Field name for the lookup display value */
133
+ lookupDisplayField?: string;
134
+ /** Entity set name for the lookup target (e.g., 'contacts') - used for search API */
135
+ lookupEntitySetName?: string;
136
+ /** Primary name attribute of the lookup target entity (e.g., 'fullname' for contact) */
137
+ lookupSearchField?: string;
138
+ /** Logical name of the lookup target entity (e.g., 'contact') - used for navigation URLs */
139
+ lookupTargetEntity?: string;
140
+ /** Primary ID attribute of the lookup target entity (e.g., 'contactid') */
141
+ lookupPrimaryIdAttribute?: string;
142
+ /** Custom OData filter for lookup search (e.g., "statecode eq 0" for active records only) */
143
+ lookupFilter?: string;
144
+ /** Additional fields to select for lookup display (comma-separated) */
145
+ lookupSelectFields?: string;
146
+ /**
147
+ * Consumer-supplied search callback for editable lookup (fetch-free).
148
+ * Preferred over `apiService` when present — this is grid-kit's contract:
149
+ * the host owns the query, the cell only renders the returned options.
150
+ */
151
+ lookupSearch?: (term: string) => Promise<Array<{
152
+ id: string;
153
+ name: string;
154
+ }>>;
155
+ /**
156
+ * Option set choices for dropdown editing. `value` may be numeric (standard
157
+ * Dataverse optionset) or a string key; `iconName`/`color` are optional
158
+ * per-option adornments (rendered in the dropdown + read-mode badges).
159
+ */
160
+ optionSetOptions?: Array<{
161
+ value: number | string;
162
+ label: string;
163
+ iconName?: string;
164
+ color?: string;
165
+ }>;
166
+ /** Multi-select optionset: the value is an array of selected option values. */
167
+ optionSetMultiSelect?: boolean;
168
+ /** Validation function for edit mode - returns error message or undefined */
169
+ validate?: (value: unknown, rowKey: string) => string | undefined;
170
+ /** Whether to include this column in export options (default: true) */
171
+ exportable?: boolean;
172
+ /** Custom header name for export (defaults to column.name) */
173
+ exportLabel?: string;
174
+ /** Whether this column can be imported (default: true) */
175
+ importable?: boolean;
176
+ /** Whether this field is required during import */
177
+ importRequired?: boolean;
178
+ /** Alternative header names to match during import column mapping */
179
+ importAlias?: string[];
180
+ }
181
+ /**
182
+ * Result of a batch update operation.
183
+ */
184
+ export interface BatchUpdateResult {
185
+ /** IDs of records successfully updated */
186
+ succeeded: string[];
187
+ /** Records that failed to update */
188
+ failed: {
189
+ id: string;
190
+ error: string;
191
+ }[];
192
+ }
193
+ /**
194
+ * Record for batch update operation.
195
+ */
196
+ export interface BatchUpdateRecord {
197
+ /** Record ID */
198
+ id: string;
199
+ /** Fields to update */
200
+ data: Record<string, unknown>;
201
+ }
202
+ /**
203
+ * Selection mode for the list.
204
+ */
205
+ export type ListSelectionMode = 'none' | 'single' | 'multiple';
206
+ /**
207
+ * Sort direction for columns.
208
+ */
209
+ export type SortDirection = 'asc' | 'desc';
210
+ /**
211
+ * Sort state for the list.
212
+ */
213
+ export interface SortState<T> {
214
+ /** Column key being sorted */
215
+ sortColumn: keyof T | null;
216
+ /** Sort direction */
217
+ sortDirection: SortDirection;
218
+ }
219
+ /**
220
+ * Pagination state for the list.
221
+ */
222
+ export interface PaginationState {
223
+ /** Current page (1-based) */
224
+ currentPage: number;
225
+ /** Total number of pages */
226
+ totalPages: number;
227
+ /** Items per page */
228
+ pageSize: number;
229
+ /** Total number of items */
230
+ totalItems: number;
231
+ }
232
+ /**
233
+ * Props for cell renderer components.
234
+ */
235
+ export interface CellRendererProps<T> {
236
+ /** The item being rendered */
237
+ item: T;
238
+ /** The column configuration */
239
+ column: IReusableColumn<T>;
240
+ /** The field value */
241
+ value: unknown;
242
+ /** The item's key (for callbacks) */
243
+ itemKey: string;
244
+ }
245
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@khester/dynamics-cell-renderers",
3
+ "version": "1.1.0",
4
+ "description": "Cell renderer components for Dynamics 365 grids: text, currency, date, lookup, optionset, progress, and editable variants",
5
+ "main": "dist/index.js",
6
+ "module": "dist/index.esm.js",
7
+ "types": "dist/index.d.ts",
8
+ "files": ["dist"],
9
+ "scripts": {
10
+ "build": "rollup -c",
11
+ "dev": "rollup -c -w",
12
+ "test": "jest --passWithNoTests",
13
+ "test:coverage": "jest --coverage --passWithNoTests",
14
+ "typecheck": "tsc --noEmit",
15
+ "lint": "eslint src --ext .ts,.tsx",
16
+ "lint:fix": "eslint src --ext .ts,.tsx --fix",
17
+ "clean": "rimraf dist coverage",
18
+ "clean:dist": "rimraf dist"
19
+ },
20
+ "dependencies": {
21
+ "@khester/dynamics-utils": "^1.2.0"
22
+ },
23
+ "peerDependencies": {
24
+ "@fluentui/react": "^8.115.6",
25
+ "react": ">=17.0.0",
26
+ "react-dom": ">=17.0.0"
27
+ },
28
+ "devDependencies": {
29
+ "@rollup/plugin-commonjs": "^25.0.7",
30
+ "@rollup/plugin-node-resolve": "^15.2.3",
31
+ "@rollup/plugin-typescript": "^11.1.5",
32
+ "@types/react": "^18.2.45",
33
+ "@types/react-dom": "^18.2.18",
34
+ "rimraf": "^5.0.5",
35
+ "rollup": "^4.6.1",
36
+ "rollup-plugin-peer-deps-external": "^2.2.4",
37
+ "typescript": "^5.3.3"
38
+ },
39
+ "publishConfig": {
40
+ "access": "public"
41
+ }
42
+ }