gridsmith-ui 0.25.0 → 0.26.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 (55) hide show
  1. package/dist/charts.js.map +1 -1
  2. package/dist/chat.js +3 -3
  3. package/dist/{chunk-W7GCEJEH.js → chunk-CYN5O567.js} +5 -5
  4. package/dist/{chunk-W7GCEJEH.js.map → chunk-CYN5O567.js.map} +1 -1
  5. package/dist/{chunk-FHMCAOAH.js → chunk-EX64MN2U.js} +3 -3
  6. package/dist/{chunk-FHMCAOAH.js.map → chunk-EX64MN2U.js.map} +1 -1
  7. package/dist/{chunk-HYMXAIXN.js → chunk-HXVXJUGV.js} +7 -7
  8. package/dist/chunk-HXVXJUGV.js.map +1 -0
  9. package/dist/{chunk-3CUKJ4VP.js → chunk-KWLNEH53.js} +5 -5
  10. package/dist/{chunk-3CUKJ4VP.js.map → chunk-KWLNEH53.js.map} +1 -1
  11. package/dist/{chunk-QGSCF7PN.js → chunk-MYIJNVTK.js} +4 -4
  12. package/dist/{chunk-QGSCF7PN.js.map → chunk-MYIJNVTK.js.map} +1 -1
  13. package/dist/{chunk-2YSEME33.js → chunk-SFY2KMHG.js} +63 -6
  14. package/dist/chunk-SFY2KMHG.js.map +1 -0
  15. package/dist/{chunk-JXANCXK6.js → chunk-ZI3OQDET.js} +18 -4
  16. package/dist/chunk-ZI3OQDET.js.map +1 -0
  17. package/dist/{chunk-HZIP4EJI.js → chunk-ZYVXV4WC.js} +3 -3
  18. package/dist/{chunk-HZIP4EJI.js.map → chunk-ZYVXV4WC.js.map} +1 -1
  19. package/dist/data-grid.js +4 -4
  20. package/dist/editor-mentions.js +1 -1
  21. package/dist/editor.js +2 -2
  22. package/dist/{feather-W26ERBQV.js → feather-VFWLAILO.js} +4 -3
  23. package/dist/feather-VFWLAILO.js.map +1 -0
  24. package/dist/{heroicons-MY43466C.js → heroicons-H3Z7DFCF.js} +4 -3
  25. package/dist/heroicons-H3Z7DFCF.js.map +1 -0
  26. package/dist/icons.d.ts +1 -1
  27. package/dist/icons.js +1 -1
  28. package/dist/index.d.ts +53 -4
  29. package/dist/index.js +1192 -981
  30. package/dist/index.js.map +1 -1
  31. package/dist/kanban.js +4 -5
  32. package/dist/kanban.js.map +1 -1
  33. package/dist/{lucide-CMPVM3PS.js → lucide-MR32KM4G.js} +4 -3
  34. package/dist/lucide-MR32KM4G.js.map +1 -0
  35. package/dist/{phosphor-RMHZOW2O.js → phosphor-ABQQL5N5.js} +4 -3
  36. package/dist/phosphor-ABQQL5N5.js.map +1 -0
  37. package/dist/resizable.js +5 -6
  38. package/dist/resizable.js.map +1 -1
  39. package/dist/roots.css +18 -0
  40. package/dist/{tabler-MJVEYHA5.js → tabler-ANUSY4D2.js} +4 -3
  41. package/dist/tabler-ANUSY4D2.js.map +1 -0
  42. package/dist/tokens.css +6 -0
  43. package/dist/virtualized.js +4 -4
  44. package/dist-static/tokens.css +6 -0
  45. package/package.json +1 -1
  46. package/dist/chunk-2YSEME33.js.map +0 -1
  47. package/dist/chunk-HYMXAIXN.js.map +0 -1
  48. package/dist/chunk-JXANCXK6.js.map +0 -1
  49. package/dist/chunk-WOVYHFUD.js +0 -50
  50. package/dist/chunk-WOVYHFUD.js.map +0 -1
  51. package/dist/feather-W26ERBQV.js.map +0 -1
  52. package/dist/heroicons-MY43466C.js.map +0 -1
  53. package/dist/lucide-CMPVM3PS.js.map +0 -1
  54. package/dist/phosphor-RMHZOW2O.js.map +0 -1
  55. package/dist/tabler-MJVEYHA5.js.map +0 -1
package/dist/editor.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { useScrollEdges } from './chunk-3BRQRKDO.js';
2
2
  import { useBreakpoint } from './chunk-CRQ6KCRD.js';
3
3
  import { FormChangeCtx } from './chunk-XVB55M3N.js';
4
- import { useOverlayLayer, useCloseOnFocusOut } from './chunk-JXANCXK6.js';
5
- import { warnOnce, Icon } from './chunk-HYMXAIXN.js';
4
+ import { useOverlayLayer, useCloseOnFocusOut } from './chunk-ZI3OQDET.js';
5
+ import { warnOnce, Icon } from './chunk-HXVXJUGV.js';
6
6
  import { useLatest } from './chunk-WH2FUFAC.js';
7
7
  import { cn, ACTIVE_RING, FOCUS_RING } from './chunk-M2QRNBDQ.js';
8
8
  import { useContext, useRef, useState, useEffect, useCallback, useImperativeHandle } from 'react';
@@ -65,7 +65,8 @@ var CURATED = {
65
65
  "copy": "FiCopy",
66
66
  "external-link": "FiExternalLink",
67
67
  "filter": "FiFilter",
68
- "lock": "FiLock"
68
+ "lock": "FiLock",
69
+ "map-pin": "FiMapPin"
69
70
  };
70
71
  async function peer() {
71
72
  return await import('react-icons/fi');
@@ -81,5 +82,5 @@ async function loadExtended() {
81
82
  }
82
83
 
83
84
  export { loadCurated, loadExtended };
84
- //# sourceMappingURL=feather-W26ERBQV.js.map
85
- //# sourceMappingURL=feather-W26ERBQV.js.map
85
+ //# sourceMappingURL=feather-VFWLAILO.js.map
86
+ //# sourceMappingURL=feather-VFWLAILO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../showcase/src/lib/icon-packs/feather.ts"],"names":[],"mappings":"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","file":"feather-VFWLAILO.js","sourcesContent":["import type { IconMap } from './types'\nimport { buildExtendedMap, pickCurated } from './utils'\n\n/**\n * Feather (react-icons) icons.\n *\n * The pack is reached only through the dynamic import in peer() — never a\n * static named import. A static import of an optional peer makes a consumer's\n * production build fail on Vite 8 when the peer is not installed: Vite\n * substitutes an export-less stub and the bundler treats every missing name as\n * fatal (Sprint 22 bench finding 1, 13 Sep 2026; showcase/src/test/\n * vite8-optional-peers-build.test.ts guards it). The curated names are strings\n * for the same reason; icon-completeness.test.tsx proves every one resolves in\n * the installed pack. If the pack is missing, peer() rejects and loadPack in\n * icons.tsx reports which package to install.\n */\nconst CURATED: Record<string, string> = {\n \"home\": \"FiHome\",\n \"folder\": \"FiFolder\",\n \"chart\": \"FiBarChart2\",\n \"settings\": \"FiSettings\",\n \"chevron-right\": \"FiChevronRight\",\n \"close\": \"FiX\",\n \"plus\": \"FiPlus\",\n \"search\": \"FiSearch\",\n \"bell\": \"FiBell\",\n \"user\": \"FiUser\",\n \"check\": \"FiCheck\",\n \"warning\": \"FiAlertTriangle\",\n \"info\": \"FiInfo\",\n \"error\": \"FiAlertCircle\",\n \"clock\": \"FiClock\",\n \"calendar\": \"FiCalendar\",\n \"bold\": \"FiBold\",\n \"italic\": \"FiItalic\",\n \"underline\": \"FiUnderline\",\n \"strikethrough\": \"FiSlash\",\n \"align-left\": \"FiAlignLeft\",\n \"align-center\": \"FiAlignCenter\",\n \"align-right\": \"FiAlignRight\",\n \"list\": \"FiList\",\n \"list-ordered\": \"FiList\",\n \"list-checks\": \"FiCheckSquare\",\n \"link\": \"FiLink\",\n \"image\": \"FiImage\",\n \"table\": \"FiGrid\",\n \"code\": \"FiCode\",\n \"quote\": \"FiMessageSquare\",\n \"minus\": \"FiMinus\",\n \"superscript\": \"FiChevronUp\",\n \"subscript\": \"FiChevronDown\",\n \"highlight\": \"FiEdit2\",\n \"type\": \"FiType\",\n \"chevron-up\": \"FiChevronUp\",\n \"chevron-down\": \"FiChevronDown\",\n \"chevron-left\": \"FiChevronLeft\",\n \"trash\": \"FiTrash2\",\n \"undo\": \"FiRotateCcw\",\n \"redo\": \"FiRotateCw\",\n \"arrow-left\": \"FiArrowLeft\",\n \"grip-vertical\": \"FiMoreVertical\",\n \"mic\": \"FiMic\",\n \"paperclip\": \"FiPaperclip\",\n \"send\": \"FiSend\",\n \"log-out\": \"FiLogOut\",\n \"edit\": \"FiEdit2\",\n \"menu\": \"FiMenu\",\n \"more-horizontal\": \"FiMoreHorizontal\",\n \"star\": \"FiStar\",\n \"bookmark\": \"FiBookmark\",\n \"download\": \"FiDownload\",\n \"upload\": \"FiUpload\",\n \"sparkles\": \"FiStar\",\n \"file\": \"FiFile\",\n \"file-text\": \"FiFileText\",\n \"eye\": \"FiEye\",\n \"eye-off\": \"FiEyeOff\",\n \"copy\": \"FiCopy\",\n \"external-link\": \"FiExternalLink\",\n \"filter\": \"FiFilter\",\n \"lock\": \"FiLock\",\n \"map-pin\": \"FiMapPin\",\n}\n\nasync function peer(): Promise<Record<string, unknown>> {\n return (await import(\"react-icons/fi\")) as unknown as Record<string, unknown>\n}\n\nexport async function loadCurated(): Promise<IconMap> {\n return pickCurated(await peer(), CURATED)\n}\n\nexport async function loadExtended(): Promise<IconMap> {\n const mod = await peer()\n const extended = buildExtendedMap(mod, {}, { stripPrefix: \"Fi\" })\n Object.assign(extended, pickCurated(mod, CURATED))\n return extended\n}\n"]}
@@ -64,7 +64,8 @@ var CURATED = {
64
64
  "copy": "DocumentDuplicateIcon",
65
65
  "external-link": "ArrowTopRightOnSquareIcon",
66
66
  "filter": "FunnelIcon",
67
- "lock": "LockClosedIcon"
67
+ "lock": "LockClosedIcon",
68
+ "map-pin": "MapPinIcon"
68
69
  };
69
70
  var TypeGlyph = forwardRef(function TypeGlyph2(props, ref) {
70
71
  return createElement(
@@ -87,5 +88,5 @@ async function loadExtended() {
87
88
  }
88
89
 
89
90
  export { loadCurated, loadExtended };
90
- //# sourceMappingURL=heroicons-MY43466C.js.map
91
- //# sourceMappingURL=heroicons-MY43466C.js.map
91
+ //# sourceMappingURL=heroicons-H3Z7DFCF.js.map
92
+ //# sourceMappingURL=heroicons-H3Z7DFCF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../showcase/src/lib/icon-packs/heroicons.ts"],"names":["TypeGlyph"],"mappings":"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","file":"heroicons-H3Z7DFCF.js","sourcesContent":["import { createElement, forwardRef } from 'react'\nimport type { IconMap } from './types'\nimport { buildExtendedMap, pickCurated } from './utils'\n\n/**\n * Heroicons icons.\n *\n * The pack is reached only through the dynamic import in peer() — never a\n * static named import. A static import of an optional peer makes a consumer's\n * production build fail on Vite 8 when the peer is not installed: Vite\n * substitutes an export-less stub and the bundler treats every missing name as\n * fatal (Sprint 22 bench finding 1, 13 Sep 2026; showcase/src/test/\n * vite8-optional-peers-build.test.ts guards it). The curated names are strings\n * for the same reason; icon-completeness.test.tsx proves every one resolves in\n * the installed pack. If the pack is missing, peer() rejects and loadPack in\n * icons.tsx reports which package to install.\n */\nconst CURATED: Record<string, string> = {\n \"home\": \"HomeIcon\",\n \"folder\": \"FolderIcon\",\n \"chart\": \"ChartBarIcon\",\n \"settings\": \"Cog6ToothIcon\",\n \"chevron-right\": \"ChevronRightIcon\",\n \"close\": \"XMarkIcon\",\n \"plus\": \"PlusIcon\",\n \"search\": \"MagnifyingGlassIcon\",\n \"bell\": \"BellIcon\",\n \"user\": \"UserIcon\",\n \"check\": \"CheckIcon\",\n \"warning\": \"ExclamationTriangleIcon\",\n \"info\": \"InformationCircleIcon\",\n \"error\": \"ExclamationCircleIcon\",\n \"clock\": \"ClockIcon\",\n \"calendar\": \"CalendarDaysIcon\",\n \"bold\": \"BoldIcon\",\n \"italic\": \"ItalicIcon\",\n \"underline\": \"UnderlineIcon\",\n \"strikethrough\": \"StrikethroughIcon\",\n \"align-left\": \"Bars3BottomLeftIcon\",\n \"align-center\": \"Bars3Icon\",\n \"align-right\": \"Bars3BottomRightIcon\",\n \"list\": \"ListBulletIcon\",\n \"list-ordered\": \"NumberedListIcon\",\n \"list-checks\": \"ClipboardDocumentCheckIcon\",\n \"link\": \"LinkIcon\",\n \"image\": \"PhotoIcon\",\n \"table\": \"TableCellsIcon\",\n \"code\": \"CodeBracketIcon\",\n \"quote\": \"ChatBubbleBottomCenterTextIcon\",\n \"minus\": \"MinusIcon\",\n \"superscript\": \"H1Icon\",\n \"subscript\": \"H2Icon\",\n \"highlight\": \"PaintBrushIcon\",\n \"chevron-up\": \"ChevronUpIcon\",\n \"chevron-down\": \"ChevronDownIcon\",\n \"chevron-left\": \"ChevronLeftIcon\",\n \"trash\": \"TrashIcon\",\n \"undo\": \"ArrowUturnLeftIcon\",\n \"redo\": \"ArrowUturnRightIcon\",\n \"arrow-left\": \"ArrowLeftIcon\",\n \"grip-vertical\": \"Bars2Icon\",\n \"mic\": \"MicrophoneIcon\",\n \"paperclip\": \"PaperClipIcon\",\n \"send\": \"PaperAirplaneIcon\",\n \"log-out\": \"ArrowRightStartOnRectangleIcon\",\n \"edit\": \"PencilIcon\",\n \"menu\": \"Bars3Icon\",\n \"more-horizontal\": \"EllipsisHorizontalIcon\",\n \"star\": \"StarIcon\",\n \"bookmark\": \"BookmarkIcon\",\n \"download\": \"ArrowDownTrayIcon\",\n \"upload\": \"ArrowUpTrayIcon\",\n \"sparkles\": \"SparklesIcon\",\n \"file\": \"DocumentIcon\",\n \"file-text\": \"DocumentTextIcon\",\n \"eye\": \"EyeIcon\",\n \"eye-off\": \"EyeSlashIcon\",\n \"copy\": \"DocumentDuplicateIcon\",\n \"external-link\": \"ArrowTopRightOnSquareIcon\",\n \"filter\": \"FunnelIcon\",\n \"lock\": \"LockClosedIcon\",\n \"map-pin\": \"MapPinIcon\",\n}\n\n/**\n * Heroicons draws no letter T, and its LanguageIcon (文A, translate) meant the wrong thing beside a document (round 28,\n * R28-35). So `type` is a T drawn in the pack's own outline style: a 24 px box, a 1.5 stroke that the theme's weight\n * overrides, round ends.\n */\nconst TypeGlyph = forwardRef<SVGSVGElement, Record<string, unknown>>(function TypeGlyph(props, ref) {\n return createElement('svg', { ref, xmlns: 'http://www.w3.org/2000/svg', fill: 'none', viewBox: '0 0 24 24', strokeWidth: 1.5, stroke: 'currentColor', 'aria-hidden': true, 'data-slot': 'icon', ...props },\n createElement('path', { strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M4.5 7.5v-3h15v3M12 4.5v15M9 19.5h6' }))\n})\n\nasync function peer(): Promise<Record<string, unknown>> {\n return (await import(\"@heroicons/react/24/outline\")) as unknown as Record<string, unknown>\n}\n\nexport async function loadCurated(): Promise<IconMap> {\n return { ...pickCurated(await peer(), CURATED), type: TypeGlyph }\n}\n\nexport async function loadExtended(): Promise<IconMap> {\n const mod = await peer()\n const extended = buildExtendedMap(mod, {}, { stripSuffix: \"Icon\" })\n Object.assign(extended, pickCurated(mod, CURATED), { type: TypeGlyph })\n return extended\n}\n"]}
package/dist/icons.d.ts CHANGED
@@ -7,7 +7,7 @@ import { ReactNode, ReactElement } from 'react';
7
7
  * Every name must have an alias (or auto-kebab match) in ALL five packs —
8
8
  * icon-completeness.test.tsx enforces this.
9
9
  */
10
- declare const CURATED_ICON_NAMES: readonly ["home", "folder", "chart", "settings", "chevron-right", "close", "plus", "search", "bell", "user", "check", "warning", "info", "error", "clock", "calendar", "bold", "italic", "underline", "strikethrough", "align-left", "align-center", "align-right", "list", "list-ordered", "list-checks", "link", "image", "table", "code", "quote", "minus", "superscript", "subscript", "highlight", "type", "chevron-up", "chevron-down", "chevron-left", "trash", "undo", "redo", "arrow-left", "grip-vertical", "mic", "paperclip", "send", "log-out", "edit", "menu", "more-horizontal", "star", "bookmark", "download", "upload", "sparkles", "file", "file-text", "eye", "eye-off", "copy", "external-link", "filter", "lock"];
10
+ declare const CURATED_ICON_NAMES: readonly ["home", "folder", "chart", "settings", "chevron-right", "close", "plus", "search", "bell", "user", "check", "warning", "info", "error", "clock", "calendar", "bold", "italic", "underline", "strikethrough", "align-left", "align-center", "align-right", "list", "list-ordered", "list-checks", "link", "image", "table", "code", "quote", "minus", "superscript", "subscript", "highlight", "type", "chevron-up", "chevron-down", "chevron-left", "trash", "undo", "redo", "arrow-left", "grip-vertical", "mic", "paperclip", "send", "log-out", "edit", "menu", "more-horizontal", "star", "bookmark", "download", "upload", "sparkles", "file", "file-text", "eye", "eye-off", "copy", "external-link", "filter", "lock", "map-pin"];
11
11
  type CuratedIconName = (typeof CURATED_ICON_NAMES)[number];
12
12
  /**
13
13
  * Curated names provide autocomplete and work identically across all 5 packs.
package/dist/icons.js CHANGED
@@ -1,3 +1,3 @@
1
- export { Icon, IconProvider, preloadPack } from './chunk-HYMXAIXN.js';
1
+ export { Icon, IconProvider, preloadPack } from './chunk-HXVXJUGV.js';
2
2
  //# sourceMappingURL=icons.js.map
3
3
  //# sourceMappingURL=icons.js.map
package/dist/index.d.ts CHANGED
@@ -196,6 +196,8 @@ interface ComboboxOption {
196
196
  value: string;
197
197
  label: string;
198
198
  disabled?: boolean;
199
+ /** Words a search finds it by as well as its label, never shown (gridsmith-ui 0.26.0 or later): TimezoneSelect's renamed cities. */
200
+ keywords?: string;
199
201
  }
200
202
  interface ComboboxProps extends FieldControlWiring {
201
203
  value: string;
@@ -1049,20 +1051,54 @@ interface TableProps {
1049
1051
  }
1050
1052
  declare function Table({ columns: columnsProp, data, className, sortable, sortKey: controlledSortKey, sortDir: controlledSortDir, onSortChange, selectable, selectedRows, onSelectionChange, expandable, renderExpanded, rowKey, expandedRows: expandedRowsProp, defaultExpandedRows, onExpandedChange, density, stickyHeader, striped, loading, emptyState, onRowClick, mobileBreakpoint: mobileBreakpointProp, cardsBelow, pager, title, description, actions, "aria-label": ariaLabel, ref, }: TableProps): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | react.ReactPortal | react.ReactElement<unknown, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | react_jsx_runtime.JSX.Element | null | undefined;
1051
1053
 
1054
+ /** Someone attending an event: their name shows in the event's card (gridsmith-ui 0.26.0 or later). */
1055
+ interface CalendarEventAttendee {
1056
+ name: string;
1057
+ /** Shown in their avatar; their name's initials when left out. */
1058
+ initials?: string;
1059
+ }
1052
1060
  interface CalendarEvent {
1053
1061
  id: string;
1054
1062
  title: string;
1055
1063
  start: Date;
1064
+ /**
1065
+ * An all-day event's last day ("7 to 9 September" ends on the 9th); a timed event's end, which it doesn't include:
1066
+ * one ending at midnight ends the day before.
1067
+ */
1056
1068
  end?: Date;
1057
1069
  allDay?: boolean;
1070
+ /** A key of the Calendar's `categories`. */
1058
1071
  category?: string;
1059
1072
  description?: string;
1060
1073
  location?: string;
1074
+ /** The people attending, named in the event's card (gridsmith-ui 0.26.0 or later). */
1075
+ attendees?: CalendarEventAttendee[];
1061
1076
  }
1077
+ /**
1078
+ * An event type's colour (gridsmith-ui 0.26.0 or later): one of the theme's supporting colours by number (1 to 5, as
1079
+ * Badge's palette colours), "accent" or "neutral". Its events draw in that colour's readable pair, as a rota's shifts do:
1080
+ * the pale fill, the deep text, the colour on the edge. A supporting colour's token written as a CSS colour
1081
+ * ("var(--ds-palette-2-bold)") is read as that colour, and so is a chart colour ("var(--ds-chart-1)" the accent,
1082
+ * "var(--ds-chart-3)" supporting colour 2), so a legend can draw the same string; any other CSS colour draws on the
1083
+ * neutral pair, the colour on its edge only, so its text always reads.
1084
+ */
1085
+ type CalendarColour = number | "accent" | "neutral" | (string & {});
1062
1086
  interface EventCategory {
1063
- color: string;
1087
+ color: CalendarColour;
1064
1088
  label: string;
1065
1089
  }
1090
+ /** A button in an event's card (gridsmith-ui 0.26.0 or later): the card closes, gives focus back to the event, then runs it. */
1091
+ interface CalendarEventAction {
1092
+ label: string;
1093
+ onClick: (event: CalendarEvent) => void;
1094
+ variant?: "default" | "secondary" | "outline" | "ghost" | "destructive";
1095
+ /** An icon name ("edit"), drawn as the theme's icon, or an element. */
1096
+ iconLeft?: IconSlot;
1097
+ }
1098
+ /** Where a day or a time was chosen: `time` is "HH:mm", from the week view's hours (an hour's lower half gives :30). */
1099
+ interface CalendarDayClickDetail {
1100
+ time?: string;
1101
+ }
1066
1102
  type CalendarView = "month" | "week" | "year";
1067
1103
  type CalendarSize = "default" | "compact";
1068
1104
  interface CalendarProps {
@@ -1077,15 +1113,28 @@ interface CalendarProps {
1077
1113
  start: Date;
1078
1114
  end: Date;
1079
1115
  }) => void;
1116
+ /**
1117
+ * A page that opens its own surface for an event (a page of its own, a drawer): the Calendar's card is then not shown.
1118
+ * Leave it out for the card, and put the page's buttons in `eventActions`.
1119
+ */
1080
1120
  onEventClick?: (event: CalendarEvent) => void;
1081
- onDayClick?: (date: Date) => void;
1121
+ /**
1122
+ * A day or a time chosen to start an event: a month's day, a week's day, or (gridsmith-ui 0.26.0 or later) a week's
1123
+ * hour, with its time. `date` is the day at midnight. By keyboard: Enter or Space on a day or an hour.
1124
+ */
1125
+ onDayClick?: (date: Date, detail?: CalendarDayClickDetail) => void;
1126
+ /**
1127
+ * The buttons in an event's card (gridsmith-ui 0.26.0 or later), where Edit goes: the same for every event, or worked
1128
+ * out for each (none for one the user can't change).
1129
+ */
1130
+ eventActions?: CalendarEventAction[] | ((event: CalendarEvent) => CalendarEventAction[]);
1082
1131
  categories?: Record<string, EventCategory>;
1083
1132
  weekStartsOn?: 0 | 1;
1084
1133
  size?: CalendarSize;
1085
1134
  className?: string;
1086
1135
  }
1087
1136
 
1088
- declare function Calendar({ events, view: controlledView, defaultView, onViewChange, date: controlledDate, defaultDate, onDateChange, onDateRangeChange, onEventClick, onDayClick, categories, weekStartsOn, size, className, }: CalendarProps): react_jsx_runtime.JSX.Element;
1137
+ declare function Calendar({ events, view: controlledView, defaultView, onViewChange, date: controlledDate, defaultDate, onDateChange, onDateRangeChange, onEventClick, onDayClick, eventActions, categories, weekStartsOn, size, className, }: CalendarProps): react_jsx_runtime.JSX.Element;
1089
1138
 
1090
1139
  type BadgeVariant = "default" | "neutral" | "subtle" | "success" | "success-soft" | "warning" | "warning-soft" | "error" | "error-soft" | "outline";
1091
1140
  type BadgeSize = "xs" | "sm" | "md";
@@ -3693,4 +3742,4 @@ interface UseTextOverflowResult {
3693
3742
  */
3694
3743
  declare function useTextOverflow(options?: UseTextOverflowOptions): UseTextOverflowResult;
3695
3744
 
3696
- export { Accordion, ActionPanel, ActionPanelGroup, AddAnother, type AddAnotherProps, Alert, type AlertPlacement, AppShell, type AppShellContextValue, type AppShellFocus, AppShellPreferences, type AppShellTheme, AsidePanel, type AsidePanelProps, type AsidePanelSide, Avatar, AvatarGroup, type AvatarGroupItem, type AvatarGroupProps, type AvatarStatus, Badge, type BadgePaletteColor, type BadgeSeverity, type BadgeSize, type BadgeVariant, BottomNav, type BottomNavItem, BreakpointKey, BulkActionBar, Button, ButtonSizeContext, Calendar, type CalendarDay, Card, CardContent, CardDescription, CardFooter, CardGrid, type CardGridProps, CardHeader, type CardSelectType, CardTitle, type CardVariant, Carousel, type ChatMessage, type ChatMessageAction, type ChatMessageLayout, ChatMessageList, type ChatMessageSender, type ChatMessageSource, type ChatMessageStatus, ChatPanel, type ChatPanelProps, type ChatPanelStatusTone, Checkbox, CheckboxGroup, CheckboxGroupItem, CodeBlock, Collapsible, ColorPicker, type Column, Combobox, CommandPalette, ContextMenu, type ControlSize, ControlSizeContext, CornerPanel, type CornerPanelEdge, type CornerPanelProps, DEFAULT_DATE_RANGE_PRESETS, DangerZone, type DangerZoneProps, DataList, type DateInput, DatePicker, type DateRange, DateRangePicker, type DateRangePickerProps, type DateRangePreset, type DateRangeWords, type DescriptionItem, DescriptionList, type DescriptionListOrientation, type DescriptionListSize, type DestructiveActionHandle, type DestructiveActionOptions, Dialog, Divider, Dock, Drawer, Dropdown, DropdownMenu, type DropdownMenuDivider, type DropdownMenuEntry, type DropdownMenuItem, EmptyState, EntityCell, Field, type FieldControlProps, type FieldLabel, type FieldProps, FileUpload, type FileUploadItem, type FileUploadRequestOptions, type FileUploadStatus, type FitLabelsOptions, type FittedLabel, type FlowNavigate, type FlowProgress, FlowSaved, type FlowSavedProps, type FlowStep, type FlowSteps, FormWrapper, Gantt, type GanttGroup, type GanttItem, type GanttProps, type GanttStatus, type GanttTone, type GridKeyboard, type GridKeyboardOptions, HoverCard, InlineFieldError, Input, Kbd, Label, type LabelBox, Launcher, type LauncherEdge, type LauncherProps, type LauncherVariant, type LauncherWhenOpen, Link, type LinkProps, MentionInput, type MentionInputProps, MentionSuggestion, MobileHeaderMenu, type MobileHeaderMenuItemData, type MobileHeaderMenuType, NavItem, type NavItemProps, type NavItemType, NavMenu, type NavMenuItem, Navbar, type NavbarSize, type NavbarType, type NavbarVariant, NotificationCenter, NumberInput, PageActions, PageContainer, type PageContainerWidth, PageHeader, type PageHeaderBehavior, type PageHeaderIntensity, type PageHeaderProps, type PageHeaderVariant, Pager, Pagination, PinInput, Popover, Progress, type PromiseToastMessages, RadioGroup, Rating, RelativeTime, type RelativeTimeProps, ScrollArea, SectionHeading, type SectionHeadingProps, SegmentedControl, SettingsLayout, type SettingsLayoutProps, type SettingsSection, Sheet, Sidebar, type SidebarContextValue, type SidebarItem, SidebarNav, type SidebarNavSize, type SidebarPosition, type SidebarSection, type SidebarType, Skeleton, SkipLink, SliderRange, type SortDir, Spinner, StackedList, type StackedListVariant, StatsCard, StatusDot, type StatusDotVariant, Stepper, TIME_ZOOMS, type Tab, Table, type TableDensity, type TableProps, type TableRow, TableToolbar, type TableToolbarActiveFilter, type TableToolbarFilterOption, Tabs, Tag, TagInput, type TagPaletteColor, type TagVariant, TextOverflow, type TextOverflowProps, Textarea, TimeBar, type TimeBarProps, TimePicker, TimeRow, type TimeRowProps, type TimeScale, TimeScaleHeader, type TimeScaleHeaderProps, type TimeScaleOptions, type TimeTick, type TimeValue, TimeViewport, type TimeViewportHandle, type TimeViewportLayout, type TimeViewportProps, type TimeViewportState, type TimeZoom, Timeline, TimezoneSelect, type TimezoneSelectProps, Toast, type ToastAction, type ToastApi, type ToastOptions, type ToastPosition, ToastProvider, type ToastVariant, Toggle, Tooltip, Tour, TransferList, TreeView, type Trend, type UseFlowStepsOptions, type UseTextOverflowOptions, type UseTextOverflowResult, browserTimeZone, canonicalTimeZone, dateOfDay, dayOf, endDayOf, fitLabel, fitLabels, formatDateRange, formatFullTime, formatRelativeTime, readFlowProgress, timeExtent, timeZoneOffset, useAppShell, useContentWidth, useDestructiveAction, useFittedLabels, useFlowSteps, useFormContext, useGridKeyboard, useRelativeTimeFormat, useSidebar, useTextMeasure, useTextOverflow, useTimeScale, useTimeViewport, useTimeViewportLayout, useToast, useToastOptional, useUnsavedChanges };
3745
+ export { Accordion, ActionPanel, ActionPanelGroup, AddAnother, type AddAnotherProps, Alert, type AlertPlacement, AppShell, type AppShellContextValue, type AppShellFocus, AppShellPreferences, type AppShellTheme, AsidePanel, type AsidePanelProps, type AsidePanelSide, Avatar, AvatarGroup, type AvatarGroupItem, type AvatarGroupProps, type AvatarStatus, Badge, type BadgePaletteColor, type BadgeSeverity, type BadgeSize, type BadgeVariant, BottomNav, type BottomNavItem, BreakpointKey, BulkActionBar, Button, ButtonSizeContext, Calendar, type CalendarColour, type CalendarDay, type CalendarDayClickDetail, type CalendarEvent, type CalendarEventAction, type CalendarEventAttendee, type CalendarProps, type CalendarSize, type CalendarView, Card, CardContent, CardDescription, CardFooter, CardGrid, type CardGridProps, CardHeader, type CardSelectType, CardTitle, type CardVariant, Carousel, type ChatMessage, type ChatMessageAction, type ChatMessageLayout, ChatMessageList, type ChatMessageSender, type ChatMessageSource, type ChatMessageStatus, ChatPanel, type ChatPanelProps, type ChatPanelStatusTone, Checkbox, CheckboxGroup, CheckboxGroupItem, CodeBlock, Collapsible, ColorPicker, type Column, Combobox, CommandPalette, ContextMenu, type ControlSize, ControlSizeContext, CornerPanel, type CornerPanelEdge, type CornerPanelProps, DEFAULT_DATE_RANGE_PRESETS, DangerZone, type DangerZoneProps, DataList, type DateInput, DatePicker, type DateRange, DateRangePicker, type DateRangePickerProps, type DateRangePreset, type DateRangeWords, type DescriptionItem, DescriptionList, type DescriptionListOrientation, type DescriptionListSize, type DestructiveActionHandle, type DestructiveActionOptions, Dialog, Divider, Dock, Drawer, Dropdown, DropdownMenu, type DropdownMenuDivider, type DropdownMenuEntry, type DropdownMenuItem, EmptyState, EntityCell, type EventCategory, Field, type FieldControlProps, type FieldLabel, type FieldProps, FileUpload, type FileUploadItem, type FileUploadRequestOptions, type FileUploadStatus, type FitLabelsOptions, type FittedLabel, type FlowNavigate, type FlowProgress, FlowSaved, type FlowSavedProps, type FlowStep, type FlowSteps, FormWrapper, Gantt, type GanttGroup, type GanttItem, type GanttProps, type GanttStatus, type GanttTone, type GridKeyboard, type GridKeyboardOptions, HoverCard, InlineFieldError, Input, Kbd, Label, type LabelBox, Launcher, type LauncherEdge, type LauncherProps, type LauncherVariant, type LauncherWhenOpen, Link, type LinkProps, MentionInput, type MentionInputProps, MentionSuggestion, MobileHeaderMenu, type MobileHeaderMenuItemData, type MobileHeaderMenuType, NavItem, type NavItemProps, type NavItemType, NavMenu, type NavMenuItem, Navbar, type NavbarSize, type NavbarType, type NavbarVariant, NotificationCenter, NumberInput, PageActions, PageContainer, type PageContainerWidth, PageHeader, type PageHeaderBehavior, type PageHeaderIntensity, type PageHeaderProps, type PageHeaderVariant, Pager, Pagination, PinInput, Popover, Progress, type PromiseToastMessages, RadioGroup, Rating, RelativeTime, type RelativeTimeProps, ScrollArea, SectionHeading, type SectionHeadingProps, SegmentedControl, SettingsLayout, type SettingsLayoutProps, type SettingsSection, Sheet, Sidebar, type SidebarContextValue, type SidebarItem, SidebarNav, type SidebarNavSize, type SidebarPosition, type SidebarSection, type SidebarType, Skeleton, SkipLink, SliderRange, type SortDir, Spinner, StackedList, type StackedListVariant, StatsCard, StatusDot, type StatusDotVariant, Stepper, TIME_ZOOMS, type Tab, Table, type TableDensity, type TableProps, type TableRow, TableToolbar, type TableToolbarActiveFilter, type TableToolbarFilterOption, Tabs, Tag, TagInput, type TagPaletteColor, type TagVariant, TextOverflow, type TextOverflowProps, Textarea, TimeBar, type TimeBarProps, TimePicker, TimeRow, type TimeRowProps, type TimeScale, TimeScaleHeader, type TimeScaleHeaderProps, type TimeScaleOptions, type TimeTick, type TimeValue, TimeViewport, type TimeViewportHandle, type TimeViewportLayout, type TimeViewportProps, type TimeViewportState, type TimeZoom, Timeline, TimezoneSelect, type TimezoneSelectProps, Toast, type ToastAction, type ToastApi, type ToastOptions, type ToastPosition, ToastProvider, type ToastVariant, Toggle, Tooltip, Tour, TransferList, TreeView, type Trend, type UseFlowStepsOptions, type UseTextOverflowOptions, type UseTextOverflowResult, browserTimeZone, canonicalTimeZone, dateOfDay, dayOf, endDayOf, fitLabel, fitLabels, formatDateRange, formatFullTime, formatRelativeTime, readFlowProgress, timeExtent, timeZoneOffset, useAppShell, useContentWidth, useDestructiveAction, useFittedLabels, useFlowSteps, useFormContext, useGridKeyboard, useRelativeTimeFormat, useSidebar, useTextMeasure, useTextOverflow, useTimeScale, useTimeViewport, useTimeViewportLayout, useToast, useToastOptional, useUnsavedChanges };