@machinemetrics/mm-react-components 1.2.5-1 → 1.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.
Files changed (127) hide show
  1. package/CHANGELOG.md +0 -31
  2. package/README.md +0 -27
  3. package/agent-docs/agent-documentation-reference.md +47 -34
  4. package/agent-docs/ai-agent-guide.md +2 -0
  5. package/agent-docs/lovable.md +1 -1
  6. package/dist/README.md +0 -27
  7. package/dist/components/ui/badge.d.ts +2 -2
  8. package/dist/components/ui/badge.d.ts.map +1 -1
  9. package/dist/components/ui/data-table/TableView.d.ts +1 -2
  10. package/dist/components/ui/data-table/TableView.d.ts.map +1 -1
  11. package/dist/components/ui/data-table/cards/ResponsiveTable.d.ts +4 -3
  12. package/dist/components/ui/data-table/cards/ResponsiveTable.d.ts.map +1 -1
  13. package/dist/components/ui/data-table/index.d.ts +2 -1
  14. package/dist/components/ui/data-table/index.d.ts.map +1 -1
  15. package/dist/components/ui/data-table/types.d.ts +14 -3
  16. package/dist/components/ui/data-table/types.d.ts.map +1 -1
  17. package/dist/components/ui/data-table/useDataTablePaginationHandlers.d.ts +13 -0
  18. package/dist/components/ui/data-table/useDataTablePaginationHandlers.d.ts.map +1 -0
  19. package/dist/components/ui/data-table/useTableController.d.ts +3 -2
  20. package/dist/components/ui/data-table/useTableController.d.ts.map +1 -1
  21. package/dist/components/ui/date-picker.d.ts +1 -8
  22. package/dist/components/ui/date-picker.d.ts.map +1 -1
  23. package/dist/components/ui/file-grid/FileGrid.d.ts +22 -0
  24. package/dist/components/ui/file-grid/FileGrid.d.ts.map +1 -0
  25. package/dist/components/ui/file-grid/index.d.ts +3 -0
  26. package/dist/components/ui/file-grid/index.d.ts.map +1 -0
  27. package/dist/components/ui/file-icon/FileIcon.d.ts +16 -0
  28. package/dist/components/ui/file-icon/FileIcon.d.ts.map +1 -0
  29. package/dist/components/ui/file-icon/FileIconGlyph.d.ts +7 -0
  30. package/dist/components/ui/file-icon/FileIconGlyph.d.ts.map +1 -0
  31. package/dist/components/ui/file-icon/index.d.ts +6 -0
  32. package/dist/components/ui/file-icon/index.d.ts.map +1 -0
  33. package/dist/components/ui/file-icon/inferFileIcon.d.ts +14 -0
  34. package/dist/components/ui/file-icon/inferFileIcon.d.ts.map +1 -0
  35. package/dist/components/ui/file-icon/types.d.ts +6 -0
  36. package/dist/components/ui/file-icon/types.d.ts.map +1 -0
  37. package/dist/components/ui/file-thumbnail/FileThumbnail.d.ts +28 -0
  38. package/dist/components/ui/file-thumbnail/FileThumbnail.d.ts.map +1 -0
  39. package/dist/components/ui/file-thumbnail/index.d.ts +8 -0
  40. package/dist/components/ui/file-thumbnail/index.d.ts.map +1 -0
  41. package/dist/components/ui/file-thumbnail/renderFileThumbnailBadge.d.ts +4 -0
  42. package/dist/components/ui/file-thumbnail/renderFileThumbnailBadge.d.ts.map +1 -0
  43. package/dist/components/ui/file-thumbnail/types.d.ts +8 -0
  44. package/dist/components/ui/file-thumbnail/types.d.ts.map +1 -0
  45. package/dist/components/ui/sheet-banner.d.ts +1 -1
  46. package/dist/components/ui/sheet-banner.d.ts.map +1 -1
  47. package/dist/components/ui/thumbnail/Thumbnail.d.ts +18 -0
  48. package/dist/components/ui/thumbnail/Thumbnail.d.ts.map +1 -0
  49. package/dist/components/ui/thumbnail/index.d.ts +3 -0
  50. package/dist/components/ui/thumbnail/index.d.ts.map +1 -0
  51. package/dist/cursor-skill/mm-carbide/reference.md +1 -1
  52. package/dist/docs/GETTING_STARTED.md +0 -26
  53. package/dist/index.d.ts +9 -11
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/lib/mm-react-components.css +1 -1
  56. package/dist/mm-react-components.es.js +780 -830
  57. package/dist/mm-react-components.es.js.map +1 -1
  58. package/dist/mm-react-components.umd.js +1 -1
  59. package/dist/mm-react-components.umd.js.map +1 -1
  60. package/dist/preview/BadgePreview.d.ts.map +1 -1
  61. package/dist/preview/FileGridPreview.d.ts +6 -0
  62. package/dist/preview/FileGridPreview.d.ts.map +1 -0
  63. package/dist/preview/FileIconPreview.d.ts +2 -0
  64. package/dist/preview/FileIconPreview.d.ts.map +1 -0
  65. package/dist/preview/FileThumbnailPreview.d.ts +2 -0
  66. package/dist/preview/FileThumbnailPreview.d.ts.map +1 -0
  67. package/dist/preview/SheetBannerPreview.d.ts.map +1 -1
  68. package/dist/preview/ThumbnailPreview.d.ts +2 -0
  69. package/dist/preview/ThumbnailPreview.d.ts.map +1 -0
  70. package/dist/preview/data-table/data-table-preview_column-content.d.ts.map +1 -1
  71. package/dist/preview/relatedComponents.d.ts.map +1 -1
  72. package/dist/themes/carbide.css +107 -0
  73. package/package.json +1 -1
  74. package/src/index.css +11 -0
  75. package/agent-docs/tickets-pattern.md +0 -78
  76. package/dist/components/ui/kanban/KanbanBoard.d.ts +0 -8
  77. package/dist/components/ui/kanban/KanbanBoard.d.ts.map +0 -1
  78. package/dist/components/ui/kanban/KanbanCard.d.ts +0 -8
  79. package/dist/components/ui/kanban/KanbanCard.d.ts.map +0 -1
  80. package/dist/components/ui/kanban/KanbanCardOverlay.d.ts +0 -8
  81. package/dist/components/ui/kanban/KanbanCardOverlay.d.ts.map +0 -1
  82. package/dist/components/ui/kanban/KanbanColumn.d.ts +0 -8
  83. package/dist/components/ui/kanban/KanbanColumn.d.ts.map +0 -1
  84. package/dist/components/ui/kanban/KanbanContext.d.ts +0 -28
  85. package/dist/components/ui/kanban/KanbanContext.d.ts.map +0 -1
  86. package/dist/components/ui/kanban/dragEndUtils.d.ts +0 -26
  87. package/dist/components/ui/kanban/dragEndUtils.d.ts.map +0 -1
  88. package/dist/components/ui/kanban/index.d.ts +0 -9
  89. package/dist/components/ui/kanban/index.d.ts.map +0 -1
  90. package/dist/components/ui/kanban/types.d.ts +0 -58
  91. package/dist/components/ui/kanban/types.d.ts.map +0 -1
  92. package/dist/components/ui/tickets/TicketActivitySection.d.ts +0 -20
  93. package/dist/components/ui/tickets/TicketActivitySection.d.ts.map +0 -1
  94. package/dist/components/ui/tickets/TicketDates.d.ts +0 -20
  95. package/dist/components/ui/tickets/TicketDates.d.ts.map +0 -1
  96. package/dist/components/ui/tickets/TicketDetailLayout.d.ts +0 -32
  97. package/dist/components/ui/tickets/TicketDetailLayout.d.ts.map +0 -1
  98. package/dist/components/ui/tickets/TicketDetails.d.ts +0 -32
  99. package/dist/components/ui/tickets/TicketDetails.d.ts.map +0 -1
  100. package/dist/components/ui/tickets/TicketDetailsSidebar.d.ts +0 -21
  101. package/dist/components/ui/tickets/TicketDetailsSidebar.d.ts.map +0 -1
  102. package/dist/components/ui/tickets/TicketFieldControl.d.ts +0 -32
  103. package/dist/components/ui/tickets/TicketFieldControl.d.ts.map +0 -1
  104. package/dist/components/ui/tickets/TicketForm.d.ts +0 -22
  105. package/dist/components/ui/tickets/TicketForm.d.ts.map +0 -1
  106. package/dist/components/ui/tickets/TicketLabels.d.ts +0 -57
  107. package/dist/components/ui/tickets/TicketLabels.d.ts.map +0 -1
  108. package/dist/components/ui/tickets/TicketTypes.d.ts +0 -67
  109. package/dist/components/ui/tickets/TicketTypes.d.ts.map +0 -1
  110. package/dist/components/ui/tickets/TicketUserSelect.d.ts +0 -17
  111. package/dist/components/ui/tickets/TicketUserSelect.d.ts.map +0 -1
  112. package/dist/components/ui/tickets/UserDisplay.d.ts +0 -21
  113. package/dist/components/ui/tickets/UserDisplay.d.ts.map +0 -1
  114. package/dist/components/ui/tickets/UserFieldValue.d.ts +0 -24
  115. package/dist/components/ui/tickets/UserFieldValue.d.ts.map +0 -1
  116. package/dist/components/ui/tickets/index.d.ts +0 -12
  117. package/dist/components/ui/tickets/index.d.ts.map +0 -1
  118. package/dist/lib/normalize-host-color-mode.d.ts +0 -6
  119. package/dist/lib/normalize-host-color-mode.d.ts.map +0 -1
  120. package/dist/lib/theme-root.d.ts +0 -18
  121. package/dist/lib/theme-root.d.ts.map +0 -1
  122. package/dist/lib/use-host-theme.d.ts +0 -15
  123. package/dist/lib/use-host-theme.d.ts.map +0 -1
  124. package/dist/preview/KanbanPreview.d.ts +0 -2
  125. package/dist/preview/KanbanPreview.d.ts.map +0 -1
  126. package/dist/preview/TicketsPreview.d.ts +0 -2
  127. package/dist/preview/TicketsPreview.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"TicketDetailsSidebar.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/tickets/TicketDetailsSidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAI5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AA0CpE,MAAM,WAAW,yBAAyB;IACxC,mBAAmB,EAAE,qBAAqB,EAAE,CAAC;IAC7C,iBAAiB,EAAE,qBAAqB,EAAE,CAAC;IAC3C,mBAAmB,EAAE,qBAAqB,EAAE,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,YAAY,EAAE,OAAO,CAAC;IACtB,mBAAmB,EAAE,yBAAyB,CAAC;IAC/C,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACtC,qEAAqE;IACrE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,wBAAgB,oBAAoB,CAAC,EACnC,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,MAAM,EACN,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,MAAM,EACN,QAAQ,GACT,EAAE,QAAQ,CAAC,yBAAyB,CAAC,GAAG,KAAK,CAAC,YAAY,CA6I1D"}
@@ -1,32 +0,0 @@
1
- import React from 'react';
2
- import type { TicketFieldDefinition } from './TicketTypes';
3
- import { type TicketFieldControlLabels } from './TicketLabels';
4
- import type { TicketUserSelectComponent } from './TicketUserSelect';
5
- export interface TicketFieldControlProps {
6
- field: TicketFieldDefinition;
7
- value: string;
8
- onChange?: (value: string) => void;
9
- readOnly: boolean;
10
- getDisplayName?: (uid: string) => string;
11
- usersLoading?: boolean;
12
- inlineEditWithPencil?: boolean;
13
- displayClassName?: string;
14
- id?: string;
15
- /** Injected user picker for `user` and `owner` fields. */
16
- userSelectComponent: TicketUserSelectComponent;
17
- labels?: TicketFieldControlLabels;
18
- /**
19
- * `inline` — compact controls for the ticket detail header (status, priority, due).
20
- * Pair with a visible `<Label htmlFor={id}>` from the parent.
21
- */
22
- layout?: 'default' | 'inline';
23
- }
24
- /**
25
- * Renders a single ticket field as read-only text or as an editable control.
26
- * Comment-type fields are not rendered (handled by the comment section in the sheet).
27
- *
28
- * Wraps output in `data-slot="ticket-field-control"` for Carbide theming; inner primitives
29
- * keep their own slots (e.g. `input`, `date-picker`).
30
- */
31
- export declare function TicketFieldControl({ field, value, onChange, readOnly, getDisplayName, usersLoading, inlineEditWithPencil, displayClassName, id, userSelectComponent: UserSelect, labels: labelsProp, layout, }: Readonly<TicketFieldControlProps>): React.ReactElement | null;
32
- //# sourceMappingURL=TicketFieldControl.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TicketFieldControl.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/tickets/TicketFieldControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAarD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAO3D,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAEpE,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACzC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0DAA0D;IAC1D,mBAAmB,EAAE,yBAAyB,CAAC;IAC/C,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAClC;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;CAC/B;AAwID;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,YAAoB,EACpB,oBAA4B,EAC5B,gBAAgB,EAChB,EAAE,EACF,mBAAmB,EAAE,UAAU,EAC/B,MAAM,EAAE,UAAU,EAClB,MAAkB,GACnB,EAAE,QAAQ,CAAC,uBAAuB,CAAC,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CA0L/D"}
@@ -1,22 +0,0 @@
1
- import React from 'react';
2
- import { type TicketFormLabels } from './TicketLabels';
3
- import type { TicketFieldDefinition } from './TicketTypes';
4
- import type { TicketUserSelectComponent } from './TicketUserSelect';
5
- export interface TicketFormProps {
6
- fieldDefinitions: TicketFieldDefinition[];
7
- initialValues?: Record<string, string>;
8
- ticketId?: string;
9
- onSubmit: (values: Record<string, string>) => void;
10
- hidePageTitle?: boolean;
11
- onCancel?: () => void;
12
- /** Required when `currentUser` fields exist on create. */
13
- getCurrentUser?: () => Promise<{
14
- id: string;
15
- displayName: string;
16
- } | null>;
17
- getDisplayName: (uid: string) => string;
18
- userSelectComponent: TicketUserSelectComponent;
19
- labels?: TicketFormLabels;
20
- }
21
- export declare function TicketForm({ fieldDefinitions, initialValues, ticketId, onSubmit, hidePageTitle, onCancel, getCurrentUser, getDisplayName, userSelectComponent: UserSelect, labels: labelsProp, }: Readonly<TicketFormProps>): React.ReactElement;
22
- //# sourceMappingURL=TicketForm.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TicketForm.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/tickets/TicketForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAoBzE,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAMpE,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,qBAAqB,EAAE,CAAC;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IACnD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAC3E,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,mBAAmB,EAAE,yBAAyB,CAAC;IAC/C,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAYD,wBAAgB,UAAU,CAAC,EACzB,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,aAAqB,EACrB,QAAQ,EACR,cAAc,EACd,cAAc,EACd,mBAAmB,EAAE,UAAU,EAC/B,MAAM,EAAE,UAAU,GACnB,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,YAAY,CAqThD"}
@@ -1,57 +0,0 @@
1
- /** Optional copy for {@link TicketForm}. */
2
- export interface TicketFormLabels {
3
- pageTitleNew?: string;
4
- pageTitleEdit?: string;
5
- cardSubtitle?: string;
6
- submit?: string;
7
- cancel?: string;
8
- selectPlaceholder?: string;
9
- enterTitlePlaceholder?: string;
10
- enterDescriptionPlaceholder?: string;
11
- commentPlaceholder?: string;
12
- currentUserLoading?: string;
13
- currentUserUnavailable?: string;
14
- requiredError?: string;
15
- }
16
- export declare const defaultTicketFormLabels: Required<TicketFormLabels>;
17
- /** Optional copy for {@link TicketFieldControl} inline edit affordances. */
18
- export interface TicketFieldControlLabels {
19
- editTitleAria?: string;
20
- editDescriptionAria?: string;
21
- addTitlePlaceholder?: string;
22
- addDescriptionPlaceholder?: string;
23
- selectPlaceholder?: string;
24
- }
25
- export declare const defaultTicketFieldControlLabels: Required<TicketFieldControlLabels>;
26
- /** Optional copy for {@link TicketDetails}. */
27
- export interface TicketDetailsLabels {
28
- mainDetailsSectionHeading?: string;
29
- sidebarDetailsHeading?: string;
30
- sidebarPeopleSectionHeading?: string;
31
- sidebarDatesSectionHeading?: string;
32
- sidebarCustomFieldsSectionHeading?: string;
33
- activityHeading?: string;
34
- activityTabAll?: string;
35
- activityTabComments?: string;
36
- activityTabUpdates?: string;
37
- noCommentsYet?: string;
38
- noUpdatesYet?: string;
39
- noActivityYet?: string;
40
- commentPlaceholder?: string;
41
- commentBodyLabel?: string;
42
- postCommentButton?: string;
43
- commentAsSrOnly?: string;
44
- selectUserPlaceholder?: string;
45
- fallbackTitle?: string;
46
- backButton?: string;
47
- backButtonAria?: string;
48
- ticketIdPrefix?: string;
49
- showMoreFields?: string;
50
- showLessFields?: string;
51
- addCustomField?: string;
52
- }
53
- export declare const defaultTicketDetailsLabels: Required<TicketDetailsLabels>;
54
- export declare function mergeTicketFormLabels(overrides?: TicketFormLabels): Required<TicketFormLabels>;
55
- export declare function mergeTicketFieldControlLabels(overrides?: TicketFieldControlLabels): Required<TicketFieldControlLabels>;
56
- export declare function mergeTicketDetailsLabels(overrides?: TicketDetailsLabels): Required<TicketDetailsLabels>;
57
- //# sourceMappingURL=TicketLabels.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TicketLabels.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/tickets/TicketLabels.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,gBAAgB,CAc9D,CAAC;AAEF,4EAA4E;AAC5E,MAAM,WAAW,wBAAwB;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,+BAA+B,EAAE,QAAQ,CAAC,wBAAwB,CAO5E,CAAC;AAEJ,+CAA+C;AAC/C,MAAM,WAAW,mBAAmB;IAClC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,mBAAmB,CAyBpE,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,SAAS,CAAC,EAAE,gBAAgB,GAC3B,QAAQ,CAAC,gBAAgB,CAAC,CAE5B;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,CAAC,EAAE,wBAAwB,GACnC,QAAQ,CAAC,wBAAwB,CAAC,CAEpC;AAED,wBAAgB,wBAAwB,CACtC,SAAS,CAAC,EAAE,mBAAmB,GAC9B,QAAQ,CAAC,mBAAmB,CAAC,CAE/B"}
@@ -1,67 +0,0 @@
1
- /**
2
- * Configurable field types for generic tickets (Carbide pattern — host owns persistence and APIs).
3
- */
4
- export type TicketFieldType = 'text' | 'textarea' | 'select' | 'date' | 'user' | 'currentUser' | 'comment' | 'title' | 'description' | 'creationDate'
5
- /** Read-only last-modified (or similar) timestamp; not an input — host supplies ISO or date string on the ticket. */
6
- | 'updatedDate' | 'ticketAge' | 'owner' | 'creator';
7
- export interface TicketFieldOption {
8
- value: string;
9
- label: string;
10
- }
11
- export interface TicketFieldDefinition {
12
- id: string;
13
- key: string;
14
- label: string;
15
- type: TicketFieldType;
16
- options?: TicketFieldOption[];
17
- required: boolean;
18
- order: number;
19
- /**
20
- * When true, hide this field from the table view (form and ticket fields).
21
- * Does not affect KanBan board column; a field can drive the board and still be visible in the table.
22
- */
23
- hidden?: boolean;
24
- /** Optional color key per option value for table row indicator (e.g. { "Done": "green" }). */
25
- valueColors?: Record<string, string>;
26
- }
27
- export interface TicketConfig {
28
- /** Fields shown only on the create/edit form; never in the table. */
29
- formFieldDefinitions: TicketFieldDefinition[];
30
- /** Fields shown on the ticket/table/board; hidden = hide from table view only. */
31
- ticketFieldDefinitions: TicketFieldDefinition[];
32
- /** Key of the select ticket field whose options define KanBan board column headers. */
33
- kanbanColumnFieldKey?: string;
34
- /** When false, editing existing tickets is disabled (create, view, delete still allowed). Default true. */
35
- allowEditing?: boolean;
36
- }
37
- /** A ticket type: one kind of ticket with its own name, config, and tickets. */
38
- export interface TicketType {
39
- id: string;
40
- name: string;
41
- config: TicketConfig;
42
- createdAt?: string;
43
- /** API template id for this type; when set, save/update targets this template. */
44
- templateId?: number;
45
- }
46
- /**
47
- * Ticket: fixed id + createdAt plus dynamic field values keyed by field key.
48
- */
49
- export interface Ticket {
50
- id: string;
51
- createdAt: string;
52
- [fieldKey: string]: string | undefined;
53
- }
54
- /** Comment on a ticket; stored separately from ticket payload. */
55
- export interface Comment {
56
- id: string;
57
- authorUserId: string;
58
- body: string;
59
- createdAt: string;
60
- }
61
- /** System-generated timeline entry (status changes, assignments, etc.). */
62
- export interface TicketSystemEvent {
63
- id: string;
64
- createdAt: string;
65
- message: string;
66
- }
67
- //# sourceMappingURL=TicketTypes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TicketTypes.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/tickets/TicketTypes.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB,MAAM,GACN,UAAU,GACV,QAAQ,GACR,MAAM,GACN,MAAM,GACN,aAAa,GACb,SAAS,GACT,OAAO,GACP,aAAa,GACb,cAAc;AAChB,qHAAqH;GACnH,aAAa,GACb,WAAW,GACX,OAAO,GACP,SAAS,CAAC;AAEd,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8FAA8F;IAC9F,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,YAAY;IAC3B,qEAAqE;IACrE,oBAAoB,EAAE,qBAAqB,EAAE,CAAC;IAC9C,kFAAkF;IAClF,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAChD,uFAAuF;IACvF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,2GAA2G;IAC3G,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,gFAAgF;AAChF,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACxC;AAED,kEAAkE;AAClE,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,2EAA2E;AAC3E,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -1,17 +0,0 @@
1
- import type { ComponentType } from 'react';
2
- /** Props contract for a user picker injected into ticket field UI (host implements with its API). */
3
- export interface TicketUserSelectProps {
4
- value: string | null;
5
- onChange: (value: string | null) => void;
6
- placeholder?: string;
7
- disabled?: boolean;
8
- id?: string;
9
- /** Use simple Select inside modals so the dropdown is not clipped. */
10
- insideModal?: boolean;
11
- /**
12
- * When true, value is stored as { uid, displayName } JSON for ticket user fields.
13
- */
14
- userFieldMode?: boolean;
15
- }
16
- export type TicketUserSelectComponent = ComponentType<TicketUserSelectProps>;
17
- //# sourceMappingURL=TicketUserSelect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TicketUserSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/tickets/TicketUserSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,qGAAqG;AACrG,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,sEAAsE;IACtE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,MAAM,yBAAyB,GAAG,aAAa,CAAC,qBAAqB,CAAC,CAAC"}
@@ -1,21 +0,0 @@
1
- import React from 'react';
2
- export interface TicketUserDisplayUser {
3
- id: string;
4
- displayName: string;
5
- }
6
- export interface UserDisplayProps {
7
- /** User id to display (e.g. comment author). */
8
- userId: string | undefined;
9
- /** Resolve id to display name. If not provided, uses users list. */
10
- getDisplayName?: (id: string) => string;
11
- /** When provided without getDisplayName, display name is looked up from this list. */
12
- users?: TicketUserDisplayUser[];
13
- /** When true, show a loading placeholder instead of name. */
14
- loading?: boolean;
15
- }
16
- /**
17
- * Renders a user's display name by id. Use with getDisplayName from your users API
18
- * or pass a users array.
19
- */
20
- export declare function UserDisplay({ userId, getDisplayName, users, loading, }: Readonly<UserDisplayProps>): React.ReactElement;
21
- //# sourceMappingURL=UserDisplay.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UserDisplay.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/tickets/UserDisplay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,gDAAgD;IAChD,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,oEAAoE;IACpE,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,sFAAsF;IACtF,KAAK,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAChC,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,cAAc,EACd,KAAU,EACV,OAAe,GAChB,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,YAAY,CAcjD"}
@@ -1,24 +0,0 @@
1
- /**
2
- * User-type ticket fields store { uid, displayName } so we can show displayName
3
- * in the UI and never expose uid to the end user. Values are stored as JSON strings.
4
- */
5
- export interface UserFieldValue {
6
- uid: string;
7
- displayName: string;
8
- }
9
- /**
10
- * Parses a stored user field value (JSON or legacy plain uid string).
11
- * Returns null for empty/invalid; otherwise { uid, displayName } (displayName may be '' for legacy).
12
- */
13
- export declare function parseUserFieldValue(raw: string | undefined): UserFieldValue | null;
14
- /**
15
- * Formats uid + displayName for storage. Always use this when saving a user field
16
- * so the UI can show displayName and never expose uid.
17
- */
18
- export declare function formatUserFieldValue(uid: string, displayName: string): string;
19
- /**
20
- * Returns the display name to show in the UI (never the uid).
21
- * Use getDisplayName(uid) when parsed.displayName is empty (legacy or lookup).
22
- */
23
- export declare function getDisplayNameFromUserFieldValue(raw: string | undefined, getDisplayName?: (uid: string) => string): string;
24
- //# sourceMappingURL=UserFieldValue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UserFieldValue.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/tickets/UserFieldValue.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,GAAG,SAAS,GACtB,cAAc,GAAG,IAAI,CAiCvB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GACvC,MAAM,CAKR"}
@@ -1,12 +0,0 @@
1
- export type { Comment, TicketSystemEvent, Ticket, TicketConfig, TicketFieldDefinition, TicketFieldOption, TicketFieldType, TicketType, } from './TicketTypes';
2
- export { parseUserFieldValue, formatUserFieldValue, getDisplayNameFromUserFieldValue, type UserFieldValue, } from './UserFieldValue';
3
- export { formatCreationDate, formatRelativeTime, formatTicketDateString, formatTicketTimestampDisplay, parseTicketDateString, } from './TicketDates';
4
- export { fieldKeyToHeader, getMergedDetailFields, partitionDetailFields, } from './TicketDetailLayout';
5
- export type { PartitionDetailFieldsResult } from './TicketDetailLayout';
6
- export type { TicketUserSelectProps, TicketUserSelectComponent, } from './TicketUserSelect';
7
- export { defaultTicketFormLabels, defaultTicketFieldControlLabels, defaultTicketDetailsLabels, mergeTicketFormLabels, mergeTicketFieldControlLabels, mergeTicketDetailsLabels, type TicketFormLabels, type TicketFieldControlLabels, type TicketDetailsLabels, } from './TicketLabels';
8
- export { UserDisplay, type UserDisplayProps, type TicketUserDisplayUser, } from './UserDisplay';
9
- export { TicketFieldControl, type TicketFieldControlProps, } from './TicketFieldControl';
10
- export { TicketForm, type TicketFormProps } from './TicketForm';
11
- export { TicketDetails, type TicketDetailsProps } from './TicketDetails';
12
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/tickets/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,OAAO,EACP,iBAAiB,EACjB,MAAM,EACN,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,UAAU,GACX,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,gCAAgC,EAChC,KAAK,cAAc,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,4BAA4B,EAC5B,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACxE,YAAY,EACV,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,uBAAuB,EACvB,+BAA+B,EAC/B,0BAA0B,EAC1B,qBAAqB,EACrB,6BAA6B,EAC7B,wBAAwB,EACxB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,GACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,GAC3B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,GAC7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Maps host-reported color mode to next-themes names. Unknown values default to light.
3
- * @internal Used by useHostTheme; not part of the public package API.
4
- */
5
- export declare function normalizeHostColorMode(colorMode: string | undefined): 'dark' | 'light';
6
- //# sourceMappingURL=normalize-host-color-mode.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"normalize-host-color-mode.d.ts","sourceRoot":"","sources":["../../src/lib/normalize-host-color-mode.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,MAAM,GAAG,OAAO,CAMlB"}
@@ -1,18 +0,0 @@
1
- import { type ThemeProviderProps } from 'next-themes';
2
- export type ThemeRootProps = ThemeProviderProps;
3
- /**
4
- * Wrap your app tree once (inside `#root`, not on `<html>`). Applies Carbide-friendly
5
- * defaults: class on `document.documentElement`, light default, no system theme, no
6
- * localStorage (host-driven apps). Pass standard `ThemeProvider` props to override.
7
- *
8
- * @example
9
- * ```tsx
10
- * import { ThemeRoot } from '@machinemetrics/mm-react-components';
11
- *
12
- * <ThemeRoot>
13
- * <App />
14
- * </ThemeRoot>
15
- * ```
16
- */
17
- export declare function ThemeRoot({ children, ...rest }: Readonly<ThemeRootProps>): import("react/jsx-runtime").JSX.Element;
18
- //# sourceMappingURL=theme-root.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"theme-root.d.ts","sourceRoot":"","sources":["../../src/lib/theme-root.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAErE,MAAM,MAAM,cAAc,GAAG,kBAAkB,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,QAAQ,CAAC,cAAc,CAAC,2CAcxE"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Syncs light/dark on `document.documentElement` with a host-provided value (e.g.
3
- * `useMMAppParams().colorMode`). Call once near the top of your root `App` inside
4
- * {@link ThemeRoot}. Trims and lowercases host values; unknown values become light.
5
- *
6
- * @example
7
- * ```tsx
8
- * import { useHostTheme } from '@machinemetrics/mm-react-components';
9
- * import { useMMAppParams } from '@machinemetrics/mm-react-tools';
10
- *
11
- * useHostTheme(useMMAppParams().colorMode);
12
- * ```
13
- */
14
- export declare function useHostTheme(colorMode: string | undefined): void;
15
- //# sourceMappingURL=use-host-theme.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-host-theme.d.ts","sourceRoot":"","sources":["../../src/lib/use-host-theme.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAsBhE"}
@@ -1,2 +0,0 @@
1
- export default function KanbanPreview(): import("react/jsx-runtime").JSX.Element;
2
- //# sourceMappingURL=KanbanPreview.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KanbanPreview.d.ts","sourceRoot":"","sources":["../../src/preview/KanbanPreview.tsx"],"names":[],"mappings":"AAgCA,MAAM,CAAC,OAAO,UAAU,aAAa,4CAmDpC"}
@@ -1,2 +0,0 @@
1
- export default function TicketsPreview(): import("react/jsx-runtime").JSX.Element;
2
- //# sourceMappingURL=TicketsPreview.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TicketsPreview.d.ts","sourceRoot":"","sources":["../../src/preview/TicketsPreview.tsx"],"names":[],"mappings":"AAyQA,MAAM,CAAC,OAAO,UAAU,cAAc,4CA4CrC"}