@tensor_1/react 2.31.0 → 2.32.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 (114) hide show
  1. package/README.md +350 -0
  2. package/dist/attachment-labels.d.ts +16 -0
  3. package/dist/attachment-labels.js +9 -0
  4. package/dist/calendar-model.d.ts +141 -1
  5. package/dist/calendar-model.js +200 -11
  6. package/dist/chart-preset.cjs +127 -7
  7. package/dist/chart-preset.d.cts +2 -2
  8. package/dist/chart-preset.d.ts +1 -0
  9. package/dist/chart-preset.js +6 -1
  10. package/dist/chart-theme-Cl0IrkKQ.d.cts +112 -0
  11. package/dist/chart-theme.d.ts +51 -0
  12. package/dist/chart-theme.js +99 -0
  13. package/dist/chart.cjs +127 -7
  14. package/dist/chart.d.cts +2 -2
  15. package/dist/chart.d.ts +1 -0
  16. package/dist/chart.js +6 -2
  17. package/dist/components/Alert.d.ts +17 -1
  18. package/dist/components/Alert.js +9 -4
  19. package/dist/components/AlertDismiss.d.ts +14 -0
  20. package/dist/components/AlertDismiss.js +11 -0
  21. package/dist/components/Attachment.d.ts +15 -12
  22. package/dist/components/Attachment.js +17 -17
  23. package/dist/components/AttachmentParts.d.ts +24 -0
  24. package/dist/components/AttachmentParts.js +20 -0
  25. package/dist/components/Chart.d.ts +1 -0
  26. package/dist/components/Chart.js +6 -1
  27. package/dist/components/ChartCore.d.ts +6 -1
  28. package/dist/components/ChartCore.js +23 -5
  29. package/dist/components/Chip.d.ts +17 -2
  30. package/dist/components/Chip.js +35 -11
  31. package/dist/components/ChipRemove.d.ts +17 -0
  32. package/dist/components/ChipRemove.js +13 -0
  33. package/dist/components/CollapsibleParts.d.ts +29 -0
  34. package/dist/components/CollapsibleParts.js +20 -0
  35. package/dist/components/CollapsibleSection.d.ts +30 -3
  36. package/dist/components/CollapsibleSection.js +7 -11
  37. package/dist/components/CollapsibleSectionState.d.ts +1 -1
  38. package/dist/components/CollapsibleSectionState.js +54 -27
  39. package/dist/components/DashboardGrid.d.ts +60 -0
  40. package/dist/components/DashboardGrid.js +40 -0
  41. package/dist/components/DateRangePicker.d.ts +7 -1
  42. package/dist/components/DateRangePicker.js +5 -1
  43. package/dist/components/DescriptionList.d.ts +12 -1
  44. package/dist/components/DescriptionList.js +5 -5
  45. package/dist/components/Dialogs.d.ts +24 -3
  46. package/dist/components/Dialogs.js +74 -16
  47. package/dist/components/FileUpload.d.ts +10 -2
  48. package/dist/components/FileUpload.js +10 -4
  49. package/dist/components/FilterEditor.d.ts +4 -0
  50. package/dist/components/FilterEditor.js +13 -2
  51. package/dist/components/Heartbeat.d.ts +31 -0
  52. package/dist/components/Heartbeat.js +28 -0
  53. package/dist/components/Menu.d.ts +53 -5
  54. package/dist/components/Menu.js +104 -4
  55. package/dist/components/Meter.d.ts +7 -3
  56. package/dist/components/Meter.js +2 -1
  57. package/dist/components/Popover.d.ts +21 -2
  58. package/dist/components/Popover.js +94 -17
  59. package/dist/components/Prose.d.ts +6 -2
  60. package/dist/components/Prose.js +1 -1
  61. package/dist/components/RuleBuilder.d.ts +52 -4
  62. package/dist/components/RuleBuilder.js +109 -24
  63. package/dist/components/SchedulingCalendar.d.ts +142 -11
  64. package/dist/components/SchedulingCalendar.js +234 -57
  65. package/dist/components/SchedulingTimeline.d.ts +1 -0
  66. package/dist/components/Segmented.d.ts +17 -3
  67. package/dist/components/Segmented.js +59 -5
  68. package/dist/components/Select.d.ts +66 -2
  69. package/dist/components/Select.js +800 -10
  70. package/dist/components/Spinner.d.ts +2 -1
  71. package/dist/components/Spinner.js +1 -1
  72. package/dist/components/StatusPill.d.ts +8 -2
  73. package/dist/components/StatusPill.js +2 -2
  74. package/dist/components/Steps.d.ts +28 -4
  75. package/dist/components/Steps.js +46 -16
  76. package/dist/components/TableControls.js +4 -3
  77. package/dist/components/Tabs.d.ts +7 -2
  78. package/dist/components/Tabs.js +14 -1
  79. package/dist/components/TextDiff.d.ts +49 -0
  80. package/dist/components/TextDiff.js +124 -0
  81. package/dist/{emoji-image-6mPZ15Zy.d.cts → emoji-image-DjCKpdwE.d.cts} +1 -1
  82. package/dist/emoji.cjs +169 -27
  83. package/dist/emoji.d.cts +3 -3
  84. package/dist/file-model.d.ts +22 -3
  85. package/dist/file-model.js +6 -4
  86. package/dist/filter-model.d.ts +26 -2
  87. package/dist/filter-model.js +13 -1
  88. package/dist/hooks/useAnchoredPosition.d.ts +24 -1
  89. package/dist/hooks/useAnchoredPosition.js +58 -8
  90. package/dist/hooks/useVirtualRows.d.ts +17 -2
  91. package/dist/hooks/useVirtualRows.js +6 -5
  92. package/dist/icons/Icon.d.ts +14 -14
  93. package/dist/index.cjs +4179 -1678
  94. package/dist/index.d.cts +1706 -660
  95. package/dist/index.d.ts +16 -9
  96. package/dist/index.js +53 -4
  97. package/dist/labels-context.d.ts +28 -0
  98. package/dist/{overlay-position-Cjv5E7mn.d.cts → overlay-position-2Afke51l.d.cts} +20 -0
  99. package/dist/overlay-position.d.ts +20 -0
  100. package/dist/overlay-position.js +17 -2
  101. package/dist/rich-text.cjs +169 -27
  102. package/dist/rich-text.d.cts +3 -3
  103. package/dist/rule-builder-model.d.ts +34 -2
  104. package/dist/rule-builder-model.js +48 -12
  105. package/dist/scheduling-calendar-model.d.ts +66 -0
  106. package/dist/scheduling-calendar-model.js +82 -0
  107. package/dist/select-model.d.ts +80 -0
  108. package/dist/select-model.js +109 -0
  109. package/dist/table-engine.d.ts +7 -0
  110. package/dist/table-engine.js +2 -1
  111. package/dist/text-diff-model.d.ts +71 -0
  112. package/dist/text-diff-model.js +261 -0
  113. package/package.json +1 -1
  114. package/dist/ChartCore-DzWe10bN.d.cts +0 -59
package/dist/index.d.ts CHANGED
@@ -14,7 +14,7 @@ export { SearchSuggest, SearchSuggestAction, SearchSuggestOption, SearchSuggestP
14
14
  export { DEFAULT_ENTITY_PICKER_LABELS, EntityPicker, EntityPickerLabels, EntityPickerProps } from './components/EntityPicker.js';
15
15
  export { FoldedText, SearchSegment, foldForSearch, searchSegments } from './search-suggest-model.js';
16
16
  export { Textarea, TextareaProps } from './components/Textarea.js';
17
- export { Select, SelectProps } from './components/Select.js';
17
+ export { Select, SelectLabels, SelectProps } from './components/Select.js';
18
18
  export { Checkbox, CheckboxProps } from './components/Checkbox.js';
19
19
  export { Radio, RadioGroup, RadioGroupProps, RadioProps } from './components/Radio.js';
20
20
  export { Switch, SwitchProps } from './components/Switch.js';
@@ -25,6 +25,7 @@ export { Drawer, DrawerProps } from './components/Drawer.js';
25
25
  export { Peek, PeekProps } from './components/Peek.js';
26
26
  export { DEFAULT_LIGHTBOX_LABELS, Lightbox, LightboxItem, LightboxLabels, LightboxProps } from './components/Lightbox.js';
27
27
  export { Card, CardLink, CardLinkProps, CardProps } from './components/Card.js';
28
+ export { DashboardGrid, DashboardGridBreakpoint, DashboardGridColumnCount, DashboardGridColumns, DashboardGridGap, DashboardGridItem, DashboardGridItemProps, DashboardGridProps, DashboardGridSpan, dashboardGridClassName, dashboardGridItemClassName } from './components/DashboardGrid.js';
28
29
  export { BreadcrumbItem, Breadcrumbs, BreadcrumbsProps } from './components/Breadcrumbs.js';
29
30
  export { PageHeader, PageHeaderProps } from './components/PageHeader.js';
30
31
  export { DetailLayout, DetailLayoutProps } from './components/DetailLayout.js';
@@ -41,16 +42,17 @@ export { StarButton, StarButtonProps } from './components/StarButton.js';
41
42
  export { CopyButton, CopyButtonProps } from './components/CopyButton.js';
42
43
  export { NavFavouriteItem, NavFavourites, NavFavouritesLabels, NavFavouritesProps } from './components/NavFavourites.js';
43
44
  export { DEFAULT_FILE_UPLOAD_LABELS, FileUpload, FileUploadItem, FileUploadLabels, FileUploadProps, FileUploadStatus } from './components/FileUpload.js';
44
- export { Attachment, AttachmentLabels, AttachmentList, AttachmentListProps, AttachmentProps, DEFAULT_ATTACHMENT_LABELS } from './components/Attachment.js';
45
- export { FileRejection, FileRejectionReason, fileKind, fileMatchesAccept, formatFileSize, partitionFiles } from './file-model.js';
45
+ export { Attachment, AttachmentList, AttachmentListProps, AttachmentProps } from './components/Attachment.js';
46
+ export { FileRejection, FileRejectionReason, FileSizeFormatter, FileSizeOptions, fileKind, fileMatchesAccept, formatFileSize, partitionFiles } from './file-model.js';
46
47
  export { Alert, AlertProps, AlertTone } from './components/Alert.js';
47
48
  export { Spinner, SpinnerProps } from './components/Spinner.js';
49
+ export { Heartbeat, HeartbeatProps, HeartbeatState, LiveIndicator, LiveIndicatorProps } from './components/Heartbeat.js';
48
50
  export { Toast, ToastProps, ToastTone, Toaster, ToasterProps } from './components/Toast.js';
49
51
  export { TOAST_LEAVE_MS, ToastAction, ToastApi, ToastDismissReason, ToastKind, ToastOptions, ToastPromiseMessages, ToastRecord, ToastStore, UndoableToastOptions, createToastApi, createToastStore, toast } from './toast-store.js';
50
52
  export { BulkBar, BulkBarProps, CellStrong, CellSub, ExpandToggle, ExpandToggleProps, Highlighted, HighlightedProps, Mark, MarkProps, RowAction, RowActionProps, RowActions, RowActionsProps, SortDirection, Table, TableDensity, TableProps, TableWrap, TableWrapProps, Td, TdProps, Th, ThProps, Tr, TrProps } from './components/Table.js';
51
53
  export { ColumnFilter, FilterKind, FilterOp, Primitive, Row, Segment, SelectAllState, SortDir, SortKey, ViewState, VirtualWindow, applyFilters, clampWidth, highlightSegments, matchFilter, mergePinned, multiSort, nextSortDir, parseView, reorder, searchRows, selectAllState, serializeView, shouldVirtualize, toggleId, togglePage, toggleSort, virtualWindow } from './table-engine.js';
52
54
  export { DEFAULT_PAGINATION_LABELS, Pagination, PaginationLabels, PaginationProps } from './components/Pagination.js';
53
- export { PillTone, PillTreatment, StatusPill, StatusPillProps } from './components/StatusPill.js';
55
+ export { PillSize, PillTone, PillTreatment, StatusPill, StatusPillProps } from './components/StatusPill.js';
54
56
  export { Progress, ProgressProps } from './components/Progress.js';
55
57
  export { Meter, MeterProps, MeterTone } from './components/Meter.js';
56
58
  export { Stat, StatProps, StatTrend } from './components/Stat.js';
@@ -71,13 +73,13 @@ export { Composer, ComposerBar, ComposerBarProps, ComposerProps } from './compon
71
73
  export { Segmented, SegmentedOption, SegmentedOptionProps, SegmentedProps } from './components/Segmented.js';
72
74
  export { FilterOption, FilterPopover, FilterPopoverProps, SavedViewItem, SavedViewMenu, SavedViewMenuProps, SavedViewSection, ViewMenu, ViewMenuColumn, ViewMenuColumnLabels, ViewMenuProps } from './components/TableControls.js';
73
75
  export { DEFAULT_FILTER_EDITOR_LABELS, FilterEditor, FilterEditorLabels, FilterEditorProps } from './components/FilterEditor.js';
74
- export { DEFAULT_FILTER_SUMMARY_LABELS, FilterChoice, FilterField, FilterSummaryLabels, FilterValue, FilterValueKind, NUMBER_FILTER_OPERATORS, NumberFilterOperator, SummarizeFilterOptions, TEXT_FILTER_OPERATORS, TextFilterOperator, emptyFilterValue, isFilterEmpty, summarizeFilter } from './filter-model.js';
76
+ export { DEFAULT_FILTER_SUMMARY_LABELS, FilterChoice, FilterField, FilterPreset, FilterSummaryLabels, FilterValue, FilterValueKind, NUMBER_FILTER_OPERATORS, NumberFilterOperator, SummarizeFilterOptions, TEXT_FILTER_OPERATORS, TextFilterOperator, emptyFilterValue, isFilterEmpty, matchFilterPreset, summarizeFilter } from './filter-model.js';
75
77
  export { Timeline, TimelineItem, TimelineItemProps, TimelineProps } from './components/Timeline.js';
76
78
  export { Pipeline, PipelineProps, PipelineStage, PipelineStageProps, PipelineStageState } from './components/Pipeline.js';
77
79
  export { Flow, FlowNode, FlowNodeProps, FlowNodeState, FlowProps, FlowVariant } from './components/Flow.js';
78
80
  export { Note, NoteProps, NoteTone, Prose, ProseProps } from './components/Prose.js';
79
81
  export { Popover, PopoverProps } from './components/Popover.js';
80
- export { Menu, MenuGroup, MenuGroupProps, MenuItem, MenuItemProps, MenuProps, MenuSeparator } from './components/Menu.js';
82
+ export { Menu, MenuGroup, MenuGroupProps, MenuItem, MenuItemAttributes, MenuItemCheckbox, MenuItemCheckboxProps, MenuItemProps, MenuItemRadio, MenuItemRadioProps, MenuProps, MenuRadioGroup, MenuRadioGroupProps, MenuSeparator } from './components/Menu.js';
81
83
  export { CommandGroup, CommandGroupProps, CommandItem, CommandItemProps, CommandPalette, CommandPaletteProps } from './components/CommandPalette.js';
82
84
  export { Inbox, InboxDetail, InboxDetailProps, InboxItem, InboxItemProps, InboxList, InboxListProps, InboxProps } from './components/Inbox.js';
83
85
  export { Kanban, KanbanCard, KanbanCardProps, KanbanColumn, KanbanColumnProps, KanbanMoveDirection, KanbanProps } from './components/Kanban.js';
@@ -86,13 +88,14 @@ export { FlatNode, TreeLike, TreeNavAction, flattenTree, treeNav } from './tree-
86
88
  export { ContentList, ContentListItem, ContentListItemProps, ContentListProps, EventRow, EventRowProps, FeaturedRundown, FeaturedRundownItem, FeaturedRundownItemProps, FeaturedRundownProps, FeaturedStage, FeaturedStageProps, NewsLead, NewsLeadProps, NoticeQueue, NoticeQueueProps, PageIntro, PageIntroProps, ResourceGrid, ResourceGridProps, SectionHead, SectionHeadProps, StatLine, StatLineItem, StatLineProps, StatusRow, StatusRowProps } from './components/EditorialHome.js';
87
89
  export { JsonPrimitive, JsonValue } from './json-value.js';
88
90
  export { DEFAULT_RULE_BUILDER_LABELS, RuleActionDefinition, RuleBuilder, RuleBuilderLabels, RuleBuilderProps, RuleFieldDefinition, RuleOperatorDefinition, RuleValueEditorProps } from './components/RuleBuilder.js';
89
- export { RuleAction, RuleCondition, RuleDefinition, RuleGroup, RuleValidationIssue, appendRuleNode, findRuleNodeDepth, isRuleGroup, mapRuleGroup, moveRuleNode, removeRuleNode, ruleDepth, summarizeRule, validateRuleDefinition } from './rule-builder-model.js';
91
+ export { DEFAULT_RULE_SUMMARY_WORDS, DEFAULT_RULE_VALIDATION_MESSAGES, RuleAction, RuleCheck, RuleCondition, RuleDefinition, RuleGroup, RuleSummaryWords, RuleValidationIssue, RuleValidationOptions, appendRuleNode, findRuleNodeDepth, isRuleGroup, mapRuleGroup, moveRuleNode, removeRuleNode, ruleDepth, setRuleCombinator, summarizeRule, validateRuleDefinition } from './rule-builder-model.js';
90
92
  export { BuilderCanvas, BuilderCanvasItem, BuilderCanvasLabels, BuilderCanvasProps, BuilderPaletteItem, DEFAULT_BUILDER_CANVAS_LABELS } from './components/BuilderCanvas.js';
91
- export { DEFAULT_SCHEDULING_CALENDAR_LABELS, SchedulingCalendar, SchedulingCalendarEntry, SchedulingCalendarLabels, SchedulingCalendarOverlay, SchedulingCalendarProps, SchedulingCalendarView, SchedulingDatePart, SchedulingEntryState, SchedulingOverlayKind } from './components/SchedulingCalendar.js';
93
+ export { DEFAULT_SCHEDULING_CALENDAR_LABELS, SchedulingBand, SchedulingCalendar, SchedulingCalendarDay, SchedulingCalendarEntry, SchedulingCalendarLabels, SchedulingCalendarOverlay, SchedulingCalendarProps, SchedulingCalendarView, SchedulingDatePart, SchedulingEntryState, SchedulingLegendItem, SchedulingMarker, SchedulingMarkerEmphasis, SchedulingOverlayKind, SchedulingOverlayPattern, SchedulingStatus } from './components/SchedulingCalendar.js';
94
+ export { LayoutMonthSpansOptions, MonthSpanGroup, MonthSpanInput, MonthSpanLayout, PlacedMonthSpan, itemDaySpan, layoutMonthSpans, schedulingGridDays } from './scheduling-calendar-model.js';
92
95
  export { DEFAULT_SCHEDULING_TIMELINE_LABELS, SchedulingTimeline, SchedulingTimelineItem, SchedulingTimelineLabels, SchedulingTimelineLane, SchedulingTimelineMarker, SchedulingTimelineOverlay, SchedulingTimelineOverlayKind, SchedulingTimelineProps } from './components/SchedulingTimeline.js';
93
96
  export { DAY, HOUR, PlacedSpan, TimelineRange, TimelineScale, TimelineSpan, TimelineTick, defaultTimelineStep, layoutLane, pixelsToMs, placeSpan, shiftSpan, snapToStep, timelineTicks } from './scheduling-timeline-model.js';
94
97
  export { DEFAULT_DATE_RANGE_PICKER_LABELS, DateRangePicker, DateRangePickerLabels, DateRangePickerProps } from './components/DateRangePicker.js';
95
- export { CalendarDay, CalendarWeekday, DateRangeValue, ZonedDateSpan, addCalendarDays, addCalendarMonths, buildMonthGrid, enumerateDateSpan, isDateInRange, isDateUnavailable, selectRangeDate, startOfMonth, toDateKey, zonedDateKey, zonedDateSpan } from './calendar-model.js';
98
+ export { CalendarDay, CalendarWeekday, DateRangeValue, LaneCluster, LaneInterval, LanePlacement, PackLanesOptions, PackedLanes, ZonedDateSpan, ZonedDayBounds, ZonedDayShift, ZonedDaySpan, ZonedHourSlot, addCalendarDays, addCalendarMonths, addZonedDays, buildMonthGrid, cachedDateTimeFormat, enumerateDateKeys, enumerateDateSpan, isDateInRange, isDateUnavailable, packLanes, rankOverflow, selectRangeDate, startOfMonth, toDateKey, zonedDateKey, zonedDateSpan, zonedDayBounds, zonedDaySpan, zonedHourSlots, zonedTimeOfDay } from './calendar-model.js';
96
99
  export { DEFAULT_RELATIONSHIP_GRAPH_LABELS, RelationshipGraph, RelationshipGraphLabels, RelationshipGraphLegendItem, RelationshipGraphProps } from './components/RelationshipGraph.js';
97
100
  export { BoundedRelationshipGraph, LayeredColumn, LayeredEdgeClassification, LayeredEdgeKind, LayeredItem, LayeredLayout, LayeredLayoutOptions, LayeredNavigationKey, PositionedRelationshipNode, RelationshipGraphArrow, RelationshipGraphCluster, RelationshipGraphEdge, RelationshipGraphNode, RoutedEdge, boundRelationshipGraph, classifyLayeredEdges, clusterIdFor, layeredNeighbor, layoutLayeredGraph, layoutRelationshipGraph, relationshipNeighbors, traverseRelationshipNode, wrapEdgeLabel } from './relationship-graph-model.js';
98
101
  export { DEFAULT_MATCH_REVIEW_LABELS, MatchBulkResult, MatchReview, MatchReviewAction, MatchReviewCandidate, MatchReviewField, MatchReviewLabels, MatchReviewProps } from './components/MatchReview.js';
@@ -102,6 +105,10 @@ export { LicensePositionBar, LicensePositionBarProps } from './components/Licens
102
105
  export { AppliedBrandProfileSnapshot, BrandProfile, BrandProfileEditor, BrandProfileEditorLabels, BrandProfileEditorProps, BrandProfileLogo, BrandProfileTypography, BrandProfiles, DEFAULT_BRAND_PROFILE_EDITOR_LABELS, applyBrandProfile, restoreBrandProfile } from './components/BrandProfiles.js';
103
106
  export { DEFAULT_DIFF_VIEWER_LABELS, DiffViewer, DiffViewerLabels, DiffViewerProps } from './components/DiffViewer.js';
104
107
  export { DiffEntry, DiffKind, DiffResolution, DiffSummary, buildThreeWayDiff, summarizeDiff } from './diff-model.js';
108
+ export { DEFAULT_TEXT_DIFF_LABELS, TextDiff, TextDiffLabels, TextDiffProps } from './components/TextDiff.js';
109
+ export { TextDiffGranularity, TextDiffLine, TextDiffOp, TextDiffOptions, TextDiffResult, TextDiffRow, TextDiffSegment, diffText, diffTokens, textDiffRows, tokenizeText } from './text-diff-model.js';
105
110
  export { ColorPicker, ColorPickerLabels, ColorPickerProps, DEFAULT_COLOR_PICKER_LABELS } from './components/ColorPicker.js';
106
111
  export { HsvColor, RgbColor, contrastRatio, hexToRgb, hsvToHex, hsvToRgb, meetsContrast, normalizeHex, rgbToHex, rgbToHsv } from './color-model.js';
112
+ export { AttachmentLabels, DEFAULT_ATTACHMENT_LABELS } from './attachment-labels.js';
113
+ export { SelectGroup, SelectOption } from './select-model.js';
107
114
  import 'react';
package/dist/index.js CHANGED
@@ -25,6 +25,7 @@ import { Drawer } from "./components/Drawer.js";
25
25
  import { Peek } from "./components/Peek.js";
26
26
  import { Lightbox, DEFAULT_LIGHTBOX_LABELS } from "./components/Lightbox.js";
27
27
  import { Card, CardLink } from "./components/Card.js";
28
+ import { DashboardGrid, DashboardGridItem, dashboardGridClassName, dashboardGridItemClassName } from "./components/DashboardGrid.js";
28
29
  import { Breadcrumbs } from "./components/Breadcrumbs.js";
29
30
  import { PageHeader } from "./components/PageHeader.js";
30
31
  import { DetailLayout } from "./components/DetailLayout.js";
@@ -45,6 +46,7 @@ import { Attachment, AttachmentList, DEFAULT_ATTACHMENT_LABELS } from "./compone
45
46
  import { fileKind, fileMatchesAccept, formatFileSize, partitionFiles } from "./file-model.js";
46
47
  import { Alert } from "./components/Alert.js";
47
48
  import { Spinner } from "./components/Spinner.js";
49
+ import { Heartbeat, LiveIndicator } from "./components/Heartbeat.js";
48
50
  import { Toast, Toaster } from "./components/Toast.js";
49
51
  import { toast, createToastStore, createToastApi, TOAST_LEAVE_MS } from "./toast-store.js";
50
52
  import {
@@ -91,6 +93,7 @@ import {
91
93
  TEXT_FILTER_OPERATORS,
92
94
  emptyFilterValue,
93
95
  isFilterEmpty,
96
+ matchFilterPreset,
94
97
  summarizeFilter
95
98
  } from "./filter-model.js";
96
99
  import { Timeline, TimelineItem } from "./components/Timeline.js";
@@ -98,7 +101,7 @@ import { Pipeline, PipelineStage } from "./components/Pipeline.js";
98
101
  import { Flow, FlowNode } from "./components/Flow.js";
99
102
  import { Prose, Note } from "./components/Prose.js";
100
103
  import { Popover } from "./components/Popover.js";
101
- import { Menu, MenuItem, MenuGroup, MenuSeparator } from "./components/Menu.js";
104
+ import { Menu, MenuItem, MenuItemRadio, MenuItemCheckbox, MenuRadioGroup, MenuGroup, MenuSeparator } from "./components/Menu.js";
102
105
  import { CommandPalette, CommandGroup, CommandItem } from "./components/CommandPalette.js";
103
106
  import { Inbox, InboxList, InboxItem, InboxDetail } from "./components/Inbox.js";
104
107
  import { Kanban, KanbanColumn, KanbanCard } from "./components/Kanban.js";
@@ -128,11 +131,15 @@ import {
128
131
  moveRuleNode,
129
132
  removeRuleNode,
130
133
  ruleDepth,
134
+ setRuleCombinator,
131
135
  summarizeRule,
132
- validateRuleDefinition
136
+ validateRuleDefinition,
137
+ DEFAULT_RULE_VALIDATION_MESSAGES,
138
+ DEFAULT_RULE_SUMMARY_WORDS
133
139
  } from "./rule-builder-model.js";
134
140
  import { BuilderCanvas, DEFAULT_BUILDER_CANVAS_LABELS } from "./components/BuilderCanvas.js";
135
141
  import { DEFAULT_SCHEDULING_CALENDAR_LABELS, SchedulingCalendar } from "./components/SchedulingCalendar.js";
142
+ import { itemDaySpan, layoutMonthSpans, schedulingGridDays } from "./scheduling-calendar-model.js";
136
143
  import { DEFAULT_SCHEDULING_TIMELINE_LABELS, SchedulingTimeline } from "./components/SchedulingTimeline.js";
137
144
  import {
138
145
  DAY,
@@ -149,15 +156,24 @@ import { DateRangePicker, DEFAULT_DATE_RANGE_PICKER_LABELS } from "./components/
149
156
  import {
150
157
  addCalendarDays,
151
158
  addCalendarMonths,
159
+ addZonedDays,
152
160
  buildMonthGrid,
161
+ cachedDateTimeFormat,
162
+ enumerateDateKeys,
153
163
  enumerateDateSpan,
154
164
  isDateInRange,
155
165
  isDateUnavailable,
166
+ packLanes,
167
+ rankOverflow,
156
168
  selectRangeDate,
157
169
  startOfMonth,
158
170
  toDateKey,
159
171
  zonedDateKey,
160
- zonedDateSpan
172
+ zonedDateSpan,
173
+ zonedDayBounds,
174
+ zonedDaySpan,
175
+ zonedHourSlots,
176
+ zonedTimeOfDay
161
177
  } from "./calendar-model.js";
162
178
  import { RelationshipGraph, DEFAULT_RELATIONSHIP_GRAPH_LABELS } from "./components/RelationshipGraph.js";
163
179
  import { boundRelationshipGraph, layoutRelationshipGraph, relationshipNeighbors, traverseRelationshipNode, classifyLayeredEdges, clusterIdFor, layeredNeighbor, layoutLayeredGraph, wrapEdgeLabel } from "./relationship-graph-model.js";
@@ -168,6 +184,8 @@ import { LicensePositionBar } from "./components/LicensePositionBar.js";
168
184
  import { BrandProfiles, BrandProfileEditor, DEFAULT_BRAND_PROFILE_EDITOR_LABELS, applyBrandProfile, restoreBrandProfile } from "./components/BrandProfiles.js";
169
185
  import { DEFAULT_DIFF_VIEWER_LABELS, DiffViewer } from "./components/DiffViewer.js";
170
186
  import { buildThreeWayDiff, summarizeDiff } from "./diff-model.js";
187
+ import { DEFAULT_TEXT_DIFF_LABELS, TextDiff } from "./components/TextDiff.js";
188
+ import { diffText, diffTokens, textDiffRows, tokenizeText } from "./text-diff-model.js";
171
189
  import { ColorPicker, DEFAULT_COLOR_PICKER_LABELS } from "./components/ColorPicker.js";
172
190
  import { contrastRatio, hexToRgb, hsvToHex, hsvToRgb, meetsContrast, normalizeHex, rgbToHex, rgbToHsv } from "./color-model.js";
173
191
  export {
@@ -223,10 +241,15 @@ export {
223
241
  DEFAULT_PAGINATION_LABELS,
224
242
  DEFAULT_RELATIONSHIP_GRAPH_LABELS,
225
243
  DEFAULT_RULE_BUILDER_LABELS,
244
+ DEFAULT_RULE_SUMMARY_WORDS,
245
+ DEFAULT_RULE_VALIDATION_MESSAGES,
226
246
  DEFAULT_SAVE_STATUS_LABELS,
227
247
  DEFAULT_SCHEDULING_CALENDAR_LABELS,
228
248
  DEFAULT_SCHEDULING_TIMELINE_LABELS,
229
249
  DEFAULT_STEP_STATE_LABELS,
250
+ DEFAULT_TEXT_DIFF_LABELS,
251
+ DashboardGrid,
252
+ DashboardGridItem,
230
253
  DateRangePicker,
231
254
  DescriptionItem,
232
255
  DescriptionList,
@@ -251,6 +274,7 @@ export {
251
274
  FlowNode,
252
275
  ForbiddenState,
253
276
  HOUR,
277
+ Heartbeat,
254
278
  Highlighted,
255
279
  Inbox,
256
280
  InboxDetail,
@@ -269,12 +293,16 @@ export {
269
293
  Lightbox,
270
294
  List,
271
295
  ListItem,
296
+ LiveIndicator,
272
297
  LoadingState,
273
298
  Mark,
274
299
  MatchReview,
275
300
  Menu,
276
301
  MenuGroup,
277
302
  MenuItem,
303
+ MenuItemCheckbox,
304
+ MenuItemRadio,
305
+ MenuRadioGroup,
278
306
  MenuSeparator,
279
307
  Meter,
280
308
  MetricInput,
@@ -337,6 +365,7 @@ export {
337
365
  TableWrap,
338
366
  Tabs,
339
367
  Td,
368
+ TextDiff,
340
369
  Textarea,
341
370
  Th,
342
371
  Timeline,
@@ -352,11 +381,13 @@ export {
352
381
  ViewMenu,
353
382
  addCalendarDays,
354
383
  addCalendarMonths,
384
+ addZonedDays,
355
385
  appendRuleNode,
356
386
  applyBrandProfile,
357
387
  boundRelationshipGraph,
358
388
  buildMonthGrid,
359
389
  buildThreeWayDiff,
390
+ cachedDateTimeFormat,
360
391
  clampMetricValue,
361
392
  classifyLayeredEdges,
362
393
  clusterIdFor,
@@ -365,8 +396,13 @@ export {
365
396
  createToastApi,
366
397
  createToastStore,
367
398
  cx,
399
+ dashboardGridClassName,
400
+ dashboardGridItemClassName,
368
401
  defaultTimelineStep,
402
+ diffText,
403
+ diffTokens,
369
404
  emptyFilterValue,
405
+ enumerateDateKeys,
370
406
  enumerateDateSpan,
371
407
  fileKind,
372
408
  fileMatchesAccept,
@@ -382,19 +418,24 @@ export {
382
418
  isDateUnavailable,
383
419
  isFilterEmpty,
384
420
  isRuleGroup,
421
+ itemDaySpan,
385
422
  layeredNeighbor,
386
423
  layoutLane,
387
424
  layoutLayeredGraph,
425
+ layoutMonthSpans,
388
426
  layoutRelationshipGraph,
389
427
  mapRuleGroup,
428
+ matchFilterPreset,
390
429
  meetsContrast,
391
430
  moveRuleNode,
392
431
  normalizeHex,
432
+ packLanes,
393
433
  parseDateValue,
394
434
  parseMetricValue,
395
435
  partitionFiles,
396
436
  pixelsToMs,
397
437
  placeSpan,
438
+ rankOverflow,
398
439
  relationshipNeighbors,
399
440
  relativeTimeValue,
400
441
  removeRuleNode,
@@ -403,8 +444,10 @@ export {
403
444
  rgbToHex,
404
445
  rgbToHsv,
405
446
  ruleDepth,
447
+ schedulingGridDays,
406
448
  searchSegments,
407
449
  selectRangeDate,
450
+ setRuleCombinator,
408
451
  shiftSpan,
409
452
  snapToStep,
410
453
  startOfMonth,
@@ -412,9 +455,11 @@ export {
412
455
  summarizeDiff,
413
456
  summarizeFilter,
414
457
  summarizeRule,
458
+ textDiffRows,
415
459
  timelineTicks,
416
460
  toDateKey,
417
461
  toast,
462
+ tokenizeText,
418
463
  traverseRelationshipNode,
419
464
  treeNav,
420
465
  useAnchoredPosition,
@@ -425,5 +470,9 @@ export {
425
470
  validateRuleDefinition,
426
471
  wrapEdgeLabel,
427
472
  zonedDateKey,
428
- zonedDateSpan
473
+ zonedDateSpan,
474
+ zonedDayBounds,
475
+ zonedDaySpan,
476
+ zonedHourSlots,
477
+ zonedTimeOfDay
429
478
  };
@@ -4,9 +4,23 @@ import { PaginationLabels } from './components/Pagination.js';
4
4
  import { SchedulingCalendarLabels } from './components/SchedulingCalendar.js';
5
5
  import { DateRangePickerLabels } from './components/DateRangePicker.js';
6
6
  import { SchedulingTimelineLabels } from './components/SchedulingTimeline.js';
7
+ import { TextDiffLabels } from './components/TextDiff.js';
8
+ import { FilterEditorLabels } from './components/FilterEditor.js';
9
+ import { SelectLabels } from './components/Select.js';
10
+ import { RuleBuilderLabels } from './components/RuleBuilder.js';
11
+ import { FileUploadLabels } from './components/FileUpload.js';
12
+ import { AttachmentLabels } from './attachment-labels.js';
7
13
  import './link.js';
8
14
  import './calendar-model.js';
15
+ import './scheduling-calendar-model.js';
9
16
  import './scheduling-timeline-model.js';
17
+ import './text-diff-model.js';
18
+ import './filter-model.js';
19
+ import './overlay-position.js';
20
+ import './select-model.js';
21
+ import './json-value.js';
22
+ import './rule-builder-model.js';
23
+ import './file-model.js';
10
24
 
11
25
  /**
12
26
  * Kit chrome strings by component (HAR-1358; TENSOR C20, MOTUS executive summary #3).
@@ -56,6 +70,20 @@ interface UixLabels {
56
70
  schedulingCalendar?: Partial<SchedulingCalendarLabels>;
57
71
  dateRangePicker?: Partial<DateRangePickerLabels>;
58
72
  schedulingTimeline?: Partial<SchedulingTimelineLabels>;
73
+ textDiff?: Partial<TextDiffLabels>;
74
+ filterEditor?: Partial<FilterEditorLabels>;
75
+ select?: Partial<SelectLabels>;
76
+ ruleBuilder?: Partial<RuleBuilderLabels>;
77
+ fileUpload?: Partial<FileUploadLabels>;
78
+ attachment?: Partial<AttachmentLabels>;
79
+ /** `remove`: the name of a removable chip's × button; `{label}` is the chip text. */
80
+ chip?: {
81
+ remove?: string;
82
+ };
83
+ /** `dismiss`: the name of a dismissible alert's × button. */
84
+ alert?: {
85
+ dismiss?: string;
86
+ };
59
87
  /** Read by `useUixLabels()` callers; `Pagination` itself is server-safe and takes `labels`. */
60
88
  pagination?: Partial<PaginationLabels>;
61
89
  /** Read by `useUixLabels()` callers; `BulkBar` itself is server-safe and takes `label`. */
@@ -39,6 +39,13 @@ interface PositionOptions {
39
39
  flip?: boolean;
40
40
  /** Slide along the cross axis to stay on-screen. Default true. */
41
41
  shift?: boolean;
42
+ /**
43
+ * Also keep the element inside the viewport on the main axis (the side it hangs off) when it
44
+ * fits on neither side; it then covers part of the anchor instead of leaving the viewport.
45
+ * Not applied once the anchor itself is outside the viewport on that axis: the element then
46
+ * follows its anchor out, as an element that fits does. Default true.
47
+ */
48
+ shiftMainAxis?: boolean;
42
49
  /**
43
50
  * The side the element is already on, while it stays open. It is kept unless it no longer
44
51
  * fits AND the opposite side does, so a size change or a small scroll never flips an open
@@ -56,6 +63,19 @@ interface PositionResult {
56
63
  placement: Placement;
57
64
  side: Side;
58
65
  align: Align;
66
+ /**
67
+ * The main-axis coordinate (`y` for top/bottom, `x` for left/right) before the main-axis
68
+ * shift: flush against the anchor. Equal to `y` / `x` when nothing was shifted.
69
+ */
70
+ mainAxisNatural: number;
71
+ /**
72
+ * The `[min, max]` the main-axis coordinate is kept in, or `null` when the main-axis shift is
73
+ * off or the anchor has left the viewport. `min === max` for an element larger than the
74
+ * viewport: it starts at the padding and has to be capped or scrolled.
75
+ */
76
+ mainAxisRange: [number, number] | null;
77
+ /** Largest size that fits the viewport inside the padding: the cap for an oversized element. */
78
+ available: Size;
59
79
  }
60
80
  /**
61
81
  * Compute the floating element's viewport-space position anchored to `anchor`.
@@ -39,6 +39,13 @@ interface PositionOptions {
39
39
  flip?: boolean;
40
40
  /** Slide along the cross axis to stay on-screen. Default true. */
41
41
  shift?: boolean;
42
+ /**
43
+ * Also keep the element inside the viewport on the main axis (the side it hangs off) when it
44
+ * fits on neither side; it then covers part of the anchor instead of leaving the viewport.
45
+ * Not applied once the anchor itself is outside the viewport on that axis: the element then
46
+ * follows its anchor out, as an element that fits does. Default true.
47
+ */
48
+ shiftMainAxis?: boolean;
42
49
  /**
43
50
  * The side the element is already on, while it stays open. It is kept unless it no longer
44
51
  * fits AND the opposite side does, so a size change or a small scroll never flips an open
@@ -56,6 +63,19 @@ interface PositionResult {
56
63
  placement: Placement;
57
64
  side: Side;
58
65
  align: Align;
66
+ /**
67
+ * The main-axis coordinate (`y` for top/bottom, `x` for left/right) before the main-axis
68
+ * shift: flush against the anchor. Equal to `y` / `x` when nothing was shifted.
69
+ */
70
+ mainAxisNatural: number;
71
+ /**
72
+ * The `[min, max]` the main-axis coordinate is kept in, or `null` when the main-axis shift is
73
+ * off or the anchor has left the viewport. `min === max` for an element larger than the
74
+ * viewport: it starts at the padding and has to be capped or scrolled.
75
+ */
76
+ mainAxisRange: [number, number] | null;
77
+ /** Largest size that fits the viewport inside the padding: the cap for an oversized element. */
78
+ available: Size;
59
79
  }
60
80
  /**
61
81
  * Compute the floating element's viewport-space position anchored to `anchor`.
@@ -21,7 +21,7 @@ function fitsOn(side, a, f, vp, offset, padding) {
21
21
  return spaceOn(side, a, vp, offset) >= need + padding;
22
22
  }
23
23
  function computePosition(anchor, floating, viewport, options = {}) {
24
- const { placement = "bottom-start", offset = 6, padding = 8, flip = true, shift = true, stickySide } = options;
24
+ const { placement = "bottom-start", offset = 6, padding = 8, flip = true, shift = true, shiftMainAxis = true, stickySide } = options;
25
25
  const { side: preferred, align } = parsePlacement(placement);
26
26
  let side = preferred;
27
27
  const sticky = stickySide === preferred || stickySide === OPPOSITE[preferred] ? stickySide : void 0;
@@ -54,12 +54,27 @@ function computePosition(anchor, floating, viewport, options = {}) {
54
54
  y = align === "start" ? start : align === "end" ? end : center;
55
55
  if (shift) y = clamp(y, padding, Math.max(padding, viewport.height - floating.height - padding));
56
56
  }
57
+ const mainAxisNatural = horizontal ? y : x;
58
+ const anchorInView = horizontal ? anchor.y + anchor.height > 0 && anchor.y < viewport.height : anchor.x + anchor.width > 0 && anchor.x < viewport.width;
59
+ let mainAxisRange = null;
60
+ if (shiftMainAxis && anchorInView) {
61
+ const extent = horizontal ? viewport.height - floating.height : viewport.width - floating.width;
62
+ mainAxisRange = [padding, Math.max(padding, extent - padding)];
63
+ if (horizontal) y = clamp(y, mainAxisRange[0], mainAxisRange[1]);
64
+ else x = clamp(x, mainAxisRange[0], mainAxisRange[1]);
65
+ }
57
66
  return {
58
67
  x,
59
68
  y,
60
69
  placement: align === "center" ? side : `${side}-${align}`,
61
70
  side,
62
- align
71
+ align,
72
+ mainAxisNatural,
73
+ mainAxisRange,
74
+ available: {
75
+ width: Math.max(0, viewport.width - 2 * padding),
76
+ height: Math.max(0, viewport.height - 2 * padding)
77
+ }
63
78
  };
64
79
  }
65
80
  export {