@tensor_1/react 2.32.0 → 2.33.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.
- package/README.md +17 -0
- package/dist/SchedulingCalendar-C4XVbqZr.d.ts +339 -0
- package/dist/components/SchedulingCalendar.d.ts +4 -241
- package/dist/components/SchedulingCalendar.js +73 -14
- package/dist/components/SchedulingTimeGrid.d.ts +4 -0
- package/dist/components/SchedulingTimeGrid.js +521 -0
- package/dist/components/SchedulingTimeline.d.ts +1 -1
- package/dist/index.cjs +1144 -471
- package/dist/index.d.cts +174 -7
- package/dist/index.d.ts +2 -2
- package/dist/index.js +15 -1
- package/dist/labels-context.d.ts +1 -1
- package/dist/scheduling-calendar-model.d.ts +104 -1
- package/dist/scheduling-calendar-model.js +95 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -570,8 +570,117 @@ declare function schedulingGridDays(anchorDate: string, view: 'month' | 'week',
|
|
|
570
570
|
* (never a UTC date). `days` are the grid's date keys, a whole number of weeks.
|
|
571
571
|
*/
|
|
572
572
|
declare function layoutMonthSpans(spans: readonly MonthSpanInput[], days: readonly string[], options: LayoutMonthSpansOptions): MonthSpanLayout;
|
|
573
|
+
/** How far past its first local midnight an entry may run and still be drawn in the grid (operator decision E12). */
|
|
574
|
+
declare const TOP_LANE_CROSS_MIDNIGHT_MINUTES = 360;
|
|
575
|
+
interface TimeGridEntryInput {
|
|
576
|
+
id: string;
|
|
577
|
+
/** Half-open `[start, end)` instants (ISO 8601, epoch ms or Date). */
|
|
578
|
+
start: string | number | Date;
|
|
579
|
+
end: string | number | Date;
|
|
580
|
+
/** An entry with no time of day: always drawn in the top lane. */
|
|
581
|
+
allDay?: boolean;
|
|
582
|
+
}
|
|
583
|
+
/**
|
|
584
|
+
* Whether an entry is drawn in the top lane of the time grid instead of in the day columns:
|
|
585
|
+
* it is all-day, it is longer than one day (it ends after the same wall-clock time on the
|
|
586
|
+
* next day), or it runs more than `crossMidnightMinutes` past its first local midnight. A
|
|
587
|
+
* shorter midnight-crosser stays in the grid as a start segment and a continuation segment.
|
|
588
|
+
*/
|
|
589
|
+
declare function placesInTopLane(entry: Pick<TimeGridEntryInput, 'start' | 'end' | 'allDay'>, timeZone: string, options?: {
|
|
590
|
+
crossMidnightMinutes?: number;
|
|
591
|
+
}): boolean;
|
|
592
|
+
/** Which part of an entry a grid segment is: all of it, its first day, or the rest on the next day. */
|
|
593
|
+
type TimeGridPart = 'whole' | 'start' | 'continuation';
|
|
594
|
+
interface TimeGridSegment {
|
|
595
|
+
id: string;
|
|
596
|
+
part: TimeGridPart;
|
|
597
|
+
/** The segment, clipped to the day (epoch ms). */
|
|
598
|
+
start: number;
|
|
599
|
+
end: number;
|
|
600
|
+
/** Real hours from the start of the day to the segment. Multiply by the hour height. */
|
|
601
|
+
offsetHours: number;
|
|
602
|
+
/** The length of the segment in real hours. */
|
|
603
|
+
lengthHours: number;
|
|
604
|
+
/** 0-based lane inside its overlap cluster. */
|
|
605
|
+
lane: number;
|
|
606
|
+
/** Lanes its cluster uses: the segment is this fraction of the column wide. */
|
|
607
|
+
laneCount: number;
|
|
608
|
+
}
|
|
609
|
+
interface TimeGridDayLayout {
|
|
610
|
+
date: string;
|
|
611
|
+
/** The first instant of the day (epoch ms) and its length in real hours. */
|
|
612
|
+
dayStart: number;
|
|
613
|
+
dayHours: number;
|
|
614
|
+
/** One per entry part that got a lane, by start. */
|
|
615
|
+
segments: TimeGridSegment[];
|
|
616
|
+
/** Entries on this day that got no lane, by start. */
|
|
617
|
+
hidden: string[];
|
|
618
|
+
}
|
|
619
|
+
/**
|
|
620
|
+
* Lays one day column out: every entry that is not in the top lane and touches the day, clipped
|
|
621
|
+
* to it and packed into at most `maxLanes` lanes with `packLanes`. An entry that crosses
|
|
622
|
+
* midnight gives a `'start'` segment on its first day and a `'continuation'` on the next.
|
|
623
|
+
*/
|
|
624
|
+
declare function layoutTimeGridDay(entries: readonly TimeGridEntryInput[], date: string, timeZone: string, options?: {
|
|
625
|
+
maxLanes?: number;
|
|
626
|
+
crossMidnightMinutes?: number;
|
|
627
|
+
}): TimeGridDayLayout;
|
|
628
|
+
interface PlacedDaySpan {
|
|
629
|
+
id: string;
|
|
630
|
+
lane: number;
|
|
631
|
+
/** First and last column (inclusive) of `days` the span covers. */
|
|
632
|
+
startCol: number;
|
|
633
|
+
endCol: number;
|
|
634
|
+
continuesBefore: boolean;
|
|
635
|
+
continuesAfter: boolean;
|
|
636
|
+
}
|
|
637
|
+
interface DaySpanLayout {
|
|
638
|
+
placed: PlacedDaySpan[];
|
|
639
|
+
/** Ids that got no lane, in input order. */
|
|
640
|
+
hidden: string[];
|
|
641
|
+
/** The first day a hidden span covers, when there is one. */
|
|
642
|
+
firstHiddenDay?: string;
|
|
643
|
+
}
|
|
644
|
+
/**
|
|
645
|
+
* Places spans over one row of consecutive `days` (a week, or the single day of the Day
|
|
646
|
+
* view), in the order given, in at most `laneCap` lanes. Day membership is the end-exclusive
|
|
647
|
+
* zoned span. The time grid uses it for its top lane and its window strip.
|
|
648
|
+
*/
|
|
649
|
+
declare function layoutDaySpans(spans: readonly MonthSpanInput[], days: readonly string[], options: {
|
|
650
|
+
timeZone: string;
|
|
651
|
+
laneCap?: number;
|
|
652
|
+
}): DaySpanLayout;
|
|
653
|
+
/** A move the user asks for. The component never applies it: the consumer decides. */
|
|
654
|
+
interface MoveProposal {
|
|
655
|
+
/** ISO 8601 instants of the proposed window. */
|
|
656
|
+
start: string;
|
|
657
|
+
end: string;
|
|
658
|
+
/** `'gap_forward'` when the wall-clock time asked for does not exist that day and moved past the gap. */
|
|
659
|
+
adjusted: 'gap_forward' | null;
|
|
660
|
+
}
|
|
661
|
+
/**
|
|
662
|
+
* The window `[start, end)` moved by `minutes` of real time and then by `days` calendar days.
|
|
663
|
+
* A day move keeps the wall-clock start and end (`addZonedDays`), whatever the length of the
|
|
664
|
+
* days in between. Compute it from the original window every time, so that a time falling in
|
|
665
|
+
* a clock-change gap moves forward once, never twice. When a clock change on the target day
|
|
666
|
+
* would put the wall-clock end at or before the start (a window that sits on the skipped or
|
|
667
|
+
* repeated hour), the end keeps the real length of the window instead.
|
|
668
|
+
*/
|
|
669
|
+
declare function proposeMove(span: {
|
|
670
|
+
start: string | number | Date;
|
|
671
|
+
end: string | number | Date;
|
|
672
|
+
}, delta: {
|
|
673
|
+
days?: number;
|
|
674
|
+
minutes?: number;
|
|
675
|
+
}, timeZone: string): MoveProposal;
|
|
676
|
+
|
|
677
|
+
interface TimeGridEntryContext {
|
|
678
|
+
/** Whole text lines that fit in the item: 0 shows the markers only. */
|
|
679
|
+
availableLines: number;
|
|
680
|
+
}
|
|
573
681
|
|
|
574
|
-
|
|
682
|
+
/** `day` is one column of the time grid. `week` is the time grid when `timeGrid` is set, else seven day cells. */
|
|
683
|
+
type SchedulingCalendarView = 'month' | 'week' | 'day' | 'agenda';
|
|
575
684
|
/**
|
|
576
685
|
* @deprecated Use `band`, `status` and `markers` on the entry: they carry no product
|
|
577
686
|
* vocabulary and the consumer supplies every word. The values keep working in 2.x.
|
|
@@ -596,9 +705,10 @@ type SchedulingOverlayPattern = 'diagonal' | 'cross' | 'dotted' | 'solid';
|
|
|
596
705
|
* Which date text a `formatDate` call is for (TENSOR B1/C9, HAR-1347):
|
|
597
706
|
* `day` names one day (each day cell's accessible name, the week-range title);
|
|
598
707
|
* `weekday` is the short column header (the date is any day of that weekday);
|
|
599
|
-
* `month` is the month-view title (the date is the first of the month)
|
|
708
|
+
* `month` is the month-view title (the date is the first of the month);
|
|
709
|
+
* `column` heads one day column of the time grid (weekday and date, e.g. "Wed 07.10").
|
|
600
710
|
*/
|
|
601
|
-
type SchedulingDatePart = 'day' | 'weekday' | 'month';
|
|
711
|
+
type SchedulingDatePart = 'day' | 'weekday' | 'month' | 'column';
|
|
602
712
|
/** A shape or icon with text. The text is always in the accessible name; a marker never relies on colour. */
|
|
603
713
|
interface SchedulingMarker {
|
|
604
714
|
id: string;
|
|
@@ -620,6 +730,10 @@ interface SchedulingCalendarEntry {
|
|
|
620
730
|
markers?: SchedulingMarker[];
|
|
621
731
|
/** The complete accessible name, built by the consumer from its own words. Replaces `labels.entry`. */
|
|
622
732
|
accessibleName?: string;
|
|
733
|
+
/** No time of day. In the time grid the entry is drawn in the top lane. */
|
|
734
|
+
allDay?: boolean;
|
|
735
|
+
/** `false` keeps this entry where it is when the grid allows moves (`canMove`). */
|
|
736
|
+
movable?: boolean;
|
|
623
737
|
}
|
|
624
738
|
interface SchedulingCalendarOverlay {
|
|
625
739
|
id: string;
|
|
@@ -675,9 +789,12 @@ interface SchedulingCalendarLabels {
|
|
|
675
789
|
/** Also names the agenda's step, which moves by a week. */
|
|
676
790
|
previousWeek?: string;
|
|
677
791
|
nextWeek?: string;
|
|
792
|
+
previousDay?: string;
|
|
793
|
+
nextDay?: string;
|
|
678
794
|
viewGroup: string;
|
|
679
795
|
viewMonth: string;
|
|
680
796
|
viewWeek: string;
|
|
797
|
+
viewDay?: string;
|
|
681
798
|
viewAgenda: string;
|
|
682
799
|
loading: string;
|
|
683
800
|
retry: string;
|
|
@@ -704,6 +821,26 @@ interface SchedulingCalendarLabels {
|
|
|
704
821
|
states: Record<SchedulingEntryState, string>;
|
|
705
822
|
/** The words for `status`, used in the default accessible name and the agenda. */
|
|
706
823
|
statuses?: Partial<Record<SchedulingStatus, string>>;
|
|
824
|
+
/** The header of the hour axis: it names the display zone. `{timeZone}` placeholder. */
|
|
825
|
+
timeZone?: string;
|
|
826
|
+
/** Names the strip of windows above the time grid. */
|
|
827
|
+
windows?: string;
|
|
828
|
+
/** "+N windows" when the strip has more windows than lanes. `{count}` placeholder. */
|
|
829
|
+
moreWindows?: string;
|
|
830
|
+
/** Accessible name of that control. `{count}` and `{date}` (the first day with a hidden window). */
|
|
831
|
+
moreWindowsLabel?: string;
|
|
832
|
+
/** Names the lane above the hours that holds all-day and long entries. */
|
|
833
|
+
topLane?: string;
|
|
834
|
+
/** The cue on the second-day part of an entry that crosses midnight. `{time}` is its start. */
|
|
835
|
+
continuesFrom?: string;
|
|
836
|
+
/** Read after an item's name when it can be moved. */
|
|
837
|
+
moveHint?: string;
|
|
838
|
+
/** Announced for a pending move. `{start}` and `{end}` placeholders. */
|
|
839
|
+
moveProposed?: string;
|
|
840
|
+
/** Announced when a pending move is dropped. */
|
|
841
|
+
moveCancelled?: string;
|
|
842
|
+
/** Announced when the time asked for does not exist that day. `{time}` is the time used instead. */
|
|
843
|
+
gapForward?: string;
|
|
707
844
|
}
|
|
708
845
|
declare const DEFAULT_SCHEDULING_CALENDAR_LABELS: SchedulingCalendarLabels;
|
|
709
846
|
interface SchedulingCalendarProps {
|
|
@@ -724,8 +861,12 @@ interface SchedulingCalendarProps {
|
|
|
724
861
|
/** Called by a click or Enter on a window span. */
|
|
725
862
|
onSelectOverlay?: (overlay: SchedulingCalendarOverlay) => void;
|
|
726
863
|
filter?: (entry: SchedulingCalendarEntry) => boolean;
|
|
727
|
-
/**
|
|
728
|
-
|
|
864
|
+
/**
|
|
865
|
+
* Replaces a chip's content. The default is the start time in `timeZone` (24 h) and the title.
|
|
866
|
+
* In the time grid the second argument says how many text lines fit in the item (0: show the
|
|
867
|
+
* markers only); elsewhere it is not passed.
|
|
868
|
+
*/
|
|
869
|
+
renderEntry?: (entry: SchedulingCalendarEntry, context?: TimeGridEntryContext) => ReactNode;
|
|
729
870
|
locale?: string;
|
|
730
871
|
/** First column of the month and week grids: 0 = Sunday … 6 = Saturday. Defaults to 1 (Monday). */
|
|
731
872
|
weekStartsOn?: CalendarWeekday;
|
|
@@ -797,6 +938,32 @@ interface SchedulingCalendarProps {
|
|
|
797
938
|
emptyNote?: ReactNode;
|
|
798
939
|
/** Called by a click or Enter on a day number. */
|
|
799
940
|
onSelectDate?: (date: string) => void;
|
|
941
|
+
/**
|
|
942
|
+
* Draws `view="week"` as a time grid: seven day columns on an hour axis. `view="day"` is
|
|
943
|
+
* always a time grid. Default `false`: the week stays seven day cells.
|
|
944
|
+
*/
|
|
945
|
+
timeGrid?: boolean;
|
|
946
|
+
/** An instant (ISO 8601). The time grid draws one line at it, in the column of its day. The component keeps no clock. */
|
|
947
|
+
now?: string;
|
|
948
|
+
/**
|
|
949
|
+
* Lets the user ask for a move in the time grid (drag, or Shift and an arrow key, then
|
|
950
|
+
* Enter). Without it, or without `onProposeMove`, items have no move affordance at all.
|
|
951
|
+
*/
|
|
952
|
+
canMove?: boolean;
|
|
953
|
+
/** Minutes a move snaps to. Default 15. */
|
|
954
|
+
step?: number;
|
|
955
|
+
/**
|
|
956
|
+
* Called once per finished gesture with the window the user asks for. The calendar never
|
|
957
|
+
* moves the item: it draws entries where the props say, so an entry whose props do not
|
|
958
|
+
* change is back where it was. Return a promise to keep the outline until it settles.
|
|
959
|
+
*/
|
|
960
|
+
onProposeMove?: (id: string, proposal: MoveProposal) => void | Promise<unknown>;
|
|
961
|
+
/** An entry running more than this many minutes past its first local midnight goes to the top lane. Default 360. */
|
|
962
|
+
topLaneCrossMidnightMinutes?: number;
|
|
963
|
+
/** Rows of the top lane of the time grid. Default 3. */
|
|
964
|
+
topLaneCap?: number;
|
|
965
|
+
/** Lanes side by side in one day column of the time grid, at most. Fewer are used when the column is narrow. Default 4. */
|
|
966
|
+
maxLanes?: number;
|
|
800
967
|
loading?: boolean;
|
|
801
968
|
error?: string;
|
|
802
969
|
onRetry?: () => void;
|
|
@@ -804,7 +971,7 @@ interface SchedulingCalendarProps {
|
|
|
804
971
|
labels?: Partial<SchedulingCalendarLabels>;
|
|
805
972
|
}
|
|
806
973
|
/** Month/week/agenda calendar for UTC ranges rendered in an explicit IANA time zone. */
|
|
807
|
-
declare function SchedulingCalendar({ entries, anchorDate, timeZone, view: controlledView, onViewChange, onAnchorDateChange, onSelectEntry, overlays, onSelectOverlay, filter, renderEntry, locale, weekStartsOn, formatDate, formatInstant: formatInstantProp, maxEntriesPerDay, onShowMore, renderDayBadge, days: dayInfo, dayEntries, spanLayout, windowLaneCap, spanLaneCap, legend, legendCaption, showHeader, notice, emptyNote, onSelectDate, loading, error, onRetry, className, labels: labelOverrides, }: SchedulingCalendarProps): react.JSX.Element;
|
|
974
|
+
declare function SchedulingCalendar({ entries, anchorDate, timeZone, view: controlledView, onViewChange, onAnchorDateChange, onSelectEntry, overlays, onSelectOverlay, filter, renderEntry, locale, weekStartsOn, formatDate, formatInstant: formatInstantProp, maxEntriesPerDay, onShowMore, renderDayBadge, days: dayInfo, dayEntries, spanLayout, windowLaneCap, spanLaneCap, legend, legendCaption, showHeader, notice, emptyNote, onSelectDate, timeGrid, now, canMove, step, onProposeMove, topLaneCrossMidnightMinutes, topLaneCap, maxLanes, loading, error, onRetry, className, labels: labelOverrides, }: SchedulingCalendarProps): react.JSX.Element;
|
|
808
975
|
|
|
809
976
|
/**
|
|
810
977
|
* Every word the picker renders or announces (TENSOR RX-125, UIX-13). `{start}` and
|
|
@@ -5089,4 +5256,4 @@ declare function hsvToHex(value: HsvColor): string;
|
|
|
5089
5256
|
declare function contrastRatio(background: string, foreground: string): number | undefined;
|
|
5090
5257
|
declare function meetsContrast(background: string, foreground: string, minimum?: number): boolean;
|
|
5091
5258
|
|
|
5092
|
-
export { type AccessStateProps, Alert, type AlertProps, type AlertTone, AppShell, type AppShellProps, type AppliedBrandProfileSnapshot, type AsyncOperationState, AsyncOperationStatus, type AsyncOperationStatusProps, Attachment, type AttachmentLabels, AttachmentList, type AttachmentListProps, type AttachmentProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type BoundedRelationshipGraph, type BrandProfile, BrandProfileEditor, type BrandProfileEditorLabels, type BrandProfileEditorProps, type BrandProfileLogo, type BrandProfileTypography, BrandProfiles, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, BuilderCanvas, type BuilderCanvasItem, type BuilderCanvasLabels, type BuilderCanvasProps, type BuilderPaletteItem, BulkBar, type BulkBarProps, Button, ButtonGroup, type ButtonGroupProps, ButtonLink, type ButtonLinkProps, type ButtonProps, type ButtonSize, type ButtonVariant, type CalendarDay, type CalendarWeekday, Card, CardLink, type CardLinkProps, type CardProps, CellStrong, CellSub, Checkbox, type CheckboxProps, Chip, ChipGroup, type ChipGroupProps, type ChipProps, CollapsibleSection, type CollapsibleSectionProps, ColorPicker, type ColorPickerLabels, type ColorPickerProps, type ColumnFilter, Combobox, type ComboboxOption, type ComboboxProps, CommandGroup, type CommandGroupProps, CommandItem, type CommandItemProps, CommandPalette, type CommandPaletteProps, Comment, type CommentProps, Comments, type CommentsProps, Composer, ComposerBar, type ComposerBarProps, type ComposerProps, ConfirmDialog, type ConfirmDialogProps, ContentList, ContentListItem, type ContentListItemProps, type ContentListProps, CopyButton, type CopyButtonProps, DAY, DEFAULT_ATTACHMENT_LABELS, DEFAULT_BRAND_PROFILE_EDITOR_LABELS, DEFAULT_BUILDER_CANVAS_LABELS, DEFAULT_COLOR_PICKER_LABELS, DEFAULT_DATE_RANGE_PICKER_LABELS, DEFAULT_DIFF_VIEWER_LABELS, DEFAULT_ENTITY_PICKER_LABELS, DEFAULT_FILE_UPLOAD_LABELS, DEFAULT_FILTER_EDITOR_LABELS, DEFAULT_FILTER_SUMMARY_LABELS, DEFAULT_LIGHTBOX_LABELS, DEFAULT_MATCH_REVIEW_LABELS, DEFAULT_PAGINATION_LABELS, DEFAULT_RELATIONSHIP_GRAPH_LABELS, DEFAULT_RULE_BUILDER_LABELS, DEFAULT_RULE_SUMMARY_WORDS, DEFAULT_RULE_VALIDATION_MESSAGES, DEFAULT_SAVE_STATUS_LABELS, DEFAULT_SCHEDULING_CALENDAR_LABELS, DEFAULT_SCHEDULING_TIMELINE_LABELS, DEFAULT_STEP_STATE_LABELS, DEFAULT_TEXT_DIFF_LABELS, DashboardGrid, type DashboardGridBreakpoint, type DashboardGridColumnCount, type DashboardGridColumns, type DashboardGridGap, DashboardGridItem, type DashboardGridItemProps, type DashboardGridProps, type DashboardGridSpan, DateRangePicker, type DateRangePickerLabels, type DateRangePickerProps, type DateRangeValue, DescriptionItem, type DescriptionItemProps, DescriptionList, type DescriptionListItem, type DescriptionListProps, DetailLayout, type DetailLayoutProps, DetailPage, type DetailPageLinkProps, type DetailPageMetric, type DetailPageProps, type DetailPageTab, type DiffEntry, type DiffKind, type DiffResolution, type DiffSummary, DiffViewer, type DiffViewerLabels, type DiffViewerProps, Drawer, type DrawerProps, EmptyState, type EmptyStateProps, EntityPicker, type EntityPickerLabels, type EntityPickerProps, ErrorState, type ErrorStateProps, EventRow, type EventRowProps, ExpandToggle, type ExpandToggleProps, FeaturedRundown, FeaturedRundownItem, type FeaturedRundownItemProps, type FeaturedRundownProps, FeaturedStage, type FeaturedStageProps, Field, type FieldProps, type FileRejection, type FileRejectionReason, type FileSizeFormatter, type FileSizeOptions, FileUpload, type FileUploadItem, type FileUploadLabels, type FileUploadProps, type FileUploadStatus, type FilterChoice, FilterEditor, type FilterEditorLabels, type FilterEditorProps, type FilterField, type FilterKind, type FilterOp, type FilterOption, FilterPopover, type FilterPopoverProps, type FilterPreset, type FilterSummaryLabels, type FilterValue, type FilterValueKind, FilteredEmptyState, type FlatNode, Flow, FlowNode, type FlowNodeProps, type FlowNodeState, type FlowProps, type FlowVariant, type FoldedText, ForbiddenState, HOUR, Heartbeat, type HeartbeatProps, type HeartbeatState, Highlighted, type HighlightedProps, type HsvColor, Inbox, InboxDetail, type InboxDetailProps, InboxItem, type InboxItemProps, InboxList, type InboxListProps, type InboxProps, InfoTip, type InfoTipProps, Input, InputGroup, type InputGroupProps, type InputProps, type JsonPrimitive, type JsonValue, Kanban, KanbanCard, type KanbanCardProps, KanbanColumn, type KanbanColumnProps, type KanbanMoveDirection, type KanbanProps, Kbd, KbdCombo, type KbdComboProps, type KbdPlatform, type KbdProps, Label, type LabelProps, type LaneCluster, type LaneInterval, type LanePlacement, type LayeredColumn, type LayeredEdgeClassification, type LayeredEdgeKind, type LayeredItem, type LayeredLayout, type LayeredLayoutOptions, type LayeredNavigationKey, type LayoutMonthSpansOptions, LicensePositionBar, type LicensePositionBarProps, Lightbox, type LightboxItem, type LightboxLabels, type LightboxProps, List, ListItem, type ListItemProps, type ListProps, LiveIndicator, type LiveIndicatorProps, LoadingState, type LoadingStateProps, Mark, type MarkProps, type MatchBulkResult, MatchReview, type MatchReviewAction, type MatchReviewCandidate, type MatchReviewField, type MatchReviewLabels, type MatchReviewProps, Menu, MenuGroup, type MenuGroupProps, MenuItem, type MenuItemAttributes, MenuItemCheckbox, type MenuItemCheckboxProps, type MenuItemProps, MenuItemRadio, type MenuItemRadioProps, type MenuProps, MenuRadioGroup, type MenuRadioGroupProps, MenuSeparator, Meter, type MeterProps, type MeterTone, MetricInput, type MetricInputProps, Modal, type ModalProps, type MonthSpanGroup, type MonthSpanInput, type MonthSpanLayout, NUMBER_FILTER_OPERATORS, type NavFavouriteItem, NavFavourites, type NavFavouritesLabels, type NavFavouritesProps, NavGroup, type NavGroupProps, NavItem, type NavItemProps, NewsLead, type NewsLeadProps, NotFoundState, Note, type NoteProps, type NoteTone, NoticeQueue, type NoticeQueueProps, type NumberFilterOperator, type PackLanesOptions, type PackedLanes, PageHeader, type PageHeaderProps, PageIntro, type PageIntroProps, Pagination, type PaginationLabels, type PaginationProps, Peek, type PeekProps, type PillSize, type PillTone, type PillTreatment, Pipeline, type PipelineProps, PipelineStage, type PipelineStageProps, type PipelineStageState, type PlacedMonthSpan, type PlacedSpan, Placement, Popconfirm, type PopconfirmProps, Popover, type PopoverProps, type PositionedRelationshipNode, type Primitive, Progress, type ProgressProps, PromptDialog, type PromptDialogProps, Prose, type ProseProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, type RelatedLinkItem, RelatedLinks, type RelatedLinksProps, RelationshipGraph, type RelationshipGraphArrow, type RelationshipGraphCluster, type RelationshipGraphEdge, type RelationshipGraphLabels, type RelationshipGraphLegendItem, type RelationshipGraphNode, type RelationshipGraphProps, RelativeTime, type RelativeTimeFormatContext, type RelativeTimeProps, type RelativeTimeUnit, type RelativeTimeValue, ResourceGrid, type ResourceGridProps, type RgbColor, type RoutedEdge, type Row, RowAction, type RowActionProps, RowActions, type RowActionsProps, type RuleAction, type RuleActionDefinition, RuleBuilder, type RuleBuilderLabels, type RuleBuilderProps, type RuleCheck, type RuleCondition, type RuleDefinition, type RuleFieldDefinition, type RuleGroup, type RuleOperatorDefinition, type RuleSummaryWords, type RuleValidationIssue, type RuleValidationOptions, type RuleValueEditorProps, SaveStatus, type SaveStatusLabels, type SaveStatusProps, type SaveStatusState, type SavedViewItem, SavedViewMenu, type SavedViewMenuProps, type SavedViewSection, type SchedulingBand, SchedulingCalendar, type SchedulingCalendarDay, type SchedulingCalendarEntry, type SchedulingCalendarLabels, type SchedulingCalendarOverlay, type SchedulingCalendarProps, type SchedulingCalendarView, type SchedulingDatePart, type SchedulingEntryState, type SchedulingLegendItem, type SchedulingMarker, type SchedulingMarkerEmphasis, type SchedulingOverlayKind, type SchedulingOverlayPattern, type SchedulingStatus, SchedulingTimeline, type SchedulingTimelineItem, type SchedulingTimelineLabels, type SchedulingTimelineLane, type SchedulingTimelineMarker, type SchedulingTimelineOverlay, type SchedulingTimelineOverlayKind, type SchedulingTimelineProps, type SearchSegment, SearchSuggest, type SearchSuggestAction, type SearchSuggestOption, type SearchSuggestProps, SectionHead, type SectionHeadProps, type Segment, Segmented, SegmentedOption, type SegmentedOptionProps, type SegmentedProps, Select, type SelectAllState, type SelectGroup, type SelectLabels, type SelectOption, type SelectProps, type ShellNav, Sidebar, type SidebarProps, SidebarSection, type SidebarSectionProps, Skeleton, type SkeletonProps, type SortDir, type SortDirection, type SortKey, Spinner, type SpinnerProps, StarButton, type StarButtonProps, Stat, StatLine, type StatLineItem, type StatLineProps, type StatProps, type StatTrend, type StateVariant, StatusPill, type StatusPillProps, StatusRow, type StatusRowProps, Step, type StepProps, type StepState, type StepStateLabels, Steps, type StepsProps, SubNavItem, type SubNavItemProps, type SummarizeFilterOptions, Switch, type SwitchProps, TEXT_FILTER_OPERATORS, TOAST_LEAVE_MS, Tab, TabPanel, type TabPanelProps, type TabProps, Table, type TableDensity, type TableProps, TableWrap, type TableWrapProps, Tabs, type TabsProps, Td, type TdProps, TextDiff, type TextDiffGranularity, type TextDiffLabels, type TextDiffLine, type TextDiffOp, type TextDiffOptions, type TextDiffProps, type TextDiffResult, type TextDiffRow, type TextDiffSegment, type TextFilterOperator, Textarea, type TextareaProps, Th, type ThProps, Timeline, TimelineItem, type TimelineItemProps, type TimelineProps, type TimelineRange, type TimelineScale, type TimelineSpan, type TimelineTick, Toast, type ToastAction, type ToastApi, type ToastDismissReason, type ToastKind, type ToastOptions, type ToastPromiseMessages, type ToastProps, type ToastRecord, type ToastStore, type ToastTone, Toaster, type ToasterProps, ToggleRow, type ToggleRowProps, Tooltip, type TooltipProps, Tr, type TrProps, Tree, type TreeLike, type TreeNavAction, type TreeNodeData, type TreeNodeProps, type TreeProps, type UixLabels, UixLabelsProvider, type UixLabelsProviderProps, type UixLinkProps, type UixRenderLink, type UndoableToastOptions, type UseAnchoredPositionOptions, type UseTableOptions, type UseTableResult, type UseVirtualRowsOptions, type UseVirtualRowsResult, UserChip, type UserChipProps, ViewMenu, type ViewMenuColumn, type ViewMenuColumnLabels, type ViewMenuProps, type ViewState, type VirtualWindow, type ZonedDateSpan, type ZonedDayBounds, type ZonedDayShift, type ZonedDaySpan, type ZonedHourSlot, addCalendarDays, addCalendarMonths, addZonedDays, appendRuleNode, applyBrandProfile, applyFilters, boundRelationshipGraph, buildMonthGrid, buildThreeWayDiff, cachedDateTimeFormat, clampMetricValue, clampWidth, classifyLayeredEdges, clusterIdFor, contrastRatio, createToastApi, createToastStore, cx, dashboardGridClassName, dashboardGridItemClassName, defaultTimelineStep, diffText, diffTokens, emptyFilterValue, enumerateDateKeys, enumerateDateSpan, fileKind, fileMatchesAccept, filterComboboxOptions, findRuleNodeDepth, flattenTree, foldForSearch, formatFileSize, hexToRgb, highlightSegments, hsvToHex, hsvToRgb, isDateInRange, isDateUnavailable, isFilterEmpty, isRuleGroup, itemDaySpan, layeredNeighbor, layoutLane, layoutLayeredGraph, layoutMonthSpans, layoutRelationshipGraph, mapRuleGroup, matchFilter, matchFilterPreset, meetsContrast, mergePinned, moveRuleNode, multiSort, nextSortDir, normalizeHex, packLanes, parseDateValue, parseMetricValue, parseView, partitionFiles, pixelsToMs, placeSpan, rankOverflow, relationshipNeighbors, relativeTimeValue, removeRuleNode, renderPlainLink, reorder, restoreBrandProfile, rgbToHex, rgbToHsv, ruleDepth, schedulingGridDays, searchRows, searchSegments, selectAllState, selectRangeDate, serializeView, setRuleCombinator, shiftSpan, shouldVirtualize, snapToStep, startOfMonth, stepMetricValue, summarizeDiff, summarizeFilter, summarizeRule, textDiffRows, timelineTicks, toDateKey, toast, toggleId, togglePage, toggleSort, tokenizeText, traverseRelationshipNode, treeNav, useAnchoredPosition, useDialog, useTable, useUixLabels, useVirtualRows, validateRuleDefinition, virtualWindow, wrapEdgeLabel, zonedDateKey, zonedDateSpan, zonedDayBounds, zonedDaySpan, zonedHourSlots, zonedTimeOfDay };
|
|
5259
|
+
export { type AccessStateProps, Alert, type AlertProps, type AlertTone, AppShell, type AppShellProps, type AppliedBrandProfileSnapshot, type AsyncOperationState, AsyncOperationStatus, type AsyncOperationStatusProps, Attachment, type AttachmentLabels, AttachmentList, type AttachmentListProps, type AttachmentProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type BoundedRelationshipGraph, type BrandProfile, BrandProfileEditor, type BrandProfileEditorLabels, type BrandProfileEditorProps, type BrandProfileLogo, type BrandProfileTypography, BrandProfiles, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, BuilderCanvas, type BuilderCanvasItem, type BuilderCanvasLabels, type BuilderCanvasProps, type BuilderPaletteItem, BulkBar, type BulkBarProps, Button, ButtonGroup, type ButtonGroupProps, ButtonLink, type ButtonLinkProps, type ButtonProps, type ButtonSize, type ButtonVariant, type CalendarDay, type CalendarWeekday, Card, CardLink, type CardLinkProps, type CardProps, CellStrong, CellSub, Checkbox, type CheckboxProps, Chip, ChipGroup, type ChipGroupProps, type ChipProps, CollapsibleSection, type CollapsibleSectionProps, ColorPicker, type ColorPickerLabels, type ColorPickerProps, type ColumnFilter, Combobox, type ComboboxOption, type ComboboxProps, CommandGroup, type CommandGroupProps, CommandItem, type CommandItemProps, CommandPalette, type CommandPaletteProps, Comment, type CommentProps, Comments, type CommentsProps, Composer, ComposerBar, type ComposerBarProps, type ComposerProps, ConfirmDialog, type ConfirmDialogProps, ContentList, ContentListItem, type ContentListItemProps, type ContentListProps, CopyButton, type CopyButtonProps, DAY, DEFAULT_ATTACHMENT_LABELS, DEFAULT_BRAND_PROFILE_EDITOR_LABELS, DEFAULT_BUILDER_CANVAS_LABELS, DEFAULT_COLOR_PICKER_LABELS, DEFAULT_DATE_RANGE_PICKER_LABELS, DEFAULT_DIFF_VIEWER_LABELS, DEFAULT_ENTITY_PICKER_LABELS, DEFAULT_FILE_UPLOAD_LABELS, DEFAULT_FILTER_EDITOR_LABELS, DEFAULT_FILTER_SUMMARY_LABELS, DEFAULT_LIGHTBOX_LABELS, DEFAULT_MATCH_REVIEW_LABELS, DEFAULT_PAGINATION_LABELS, DEFAULT_RELATIONSHIP_GRAPH_LABELS, DEFAULT_RULE_BUILDER_LABELS, DEFAULT_RULE_SUMMARY_WORDS, DEFAULT_RULE_VALIDATION_MESSAGES, DEFAULT_SAVE_STATUS_LABELS, DEFAULT_SCHEDULING_CALENDAR_LABELS, DEFAULT_SCHEDULING_TIMELINE_LABELS, DEFAULT_STEP_STATE_LABELS, DEFAULT_TEXT_DIFF_LABELS, DashboardGrid, type DashboardGridBreakpoint, type DashboardGridColumnCount, type DashboardGridColumns, type DashboardGridGap, DashboardGridItem, type DashboardGridItemProps, type DashboardGridProps, type DashboardGridSpan, DateRangePicker, type DateRangePickerLabels, type DateRangePickerProps, type DateRangeValue, type DaySpanLayout, DescriptionItem, type DescriptionItemProps, DescriptionList, type DescriptionListItem, type DescriptionListProps, DetailLayout, type DetailLayoutProps, DetailPage, type DetailPageLinkProps, type DetailPageMetric, type DetailPageProps, type DetailPageTab, type DiffEntry, type DiffKind, type DiffResolution, type DiffSummary, DiffViewer, type DiffViewerLabels, type DiffViewerProps, Drawer, type DrawerProps, EmptyState, type EmptyStateProps, EntityPicker, type EntityPickerLabels, type EntityPickerProps, ErrorState, type ErrorStateProps, EventRow, type EventRowProps, ExpandToggle, type ExpandToggleProps, FeaturedRundown, FeaturedRundownItem, type FeaturedRundownItemProps, type FeaturedRundownProps, FeaturedStage, type FeaturedStageProps, Field, type FieldProps, type FileRejection, type FileRejectionReason, type FileSizeFormatter, type FileSizeOptions, FileUpload, type FileUploadItem, type FileUploadLabels, type FileUploadProps, type FileUploadStatus, type FilterChoice, FilterEditor, type FilterEditorLabels, type FilterEditorProps, type FilterField, type FilterKind, type FilterOp, type FilterOption, FilterPopover, type FilterPopoverProps, type FilterPreset, type FilterSummaryLabels, type FilterValue, type FilterValueKind, FilteredEmptyState, type FlatNode, Flow, FlowNode, type FlowNodeProps, type FlowNodeState, type FlowProps, type FlowVariant, type FoldedText, ForbiddenState, HOUR, Heartbeat, type HeartbeatProps, type HeartbeatState, Highlighted, type HighlightedProps, type HsvColor, Inbox, InboxDetail, type InboxDetailProps, InboxItem, type InboxItemProps, InboxList, type InboxListProps, type InboxProps, InfoTip, type InfoTipProps, Input, InputGroup, type InputGroupProps, type InputProps, type JsonPrimitive, type JsonValue, Kanban, KanbanCard, type KanbanCardProps, KanbanColumn, type KanbanColumnProps, type KanbanMoveDirection, type KanbanProps, Kbd, KbdCombo, type KbdComboProps, type KbdPlatform, type KbdProps, Label, type LabelProps, type LaneCluster, type LaneInterval, type LanePlacement, type LayeredColumn, type LayeredEdgeClassification, type LayeredEdgeKind, type LayeredItem, type LayeredLayout, type LayeredLayoutOptions, type LayeredNavigationKey, type LayoutMonthSpansOptions, LicensePositionBar, type LicensePositionBarProps, Lightbox, type LightboxItem, type LightboxLabels, type LightboxProps, List, ListItem, type ListItemProps, type ListProps, LiveIndicator, type LiveIndicatorProps, LoadingState, type LoadingStateProps, Mark, type MarkProps, type MatchBulkResult, MatchReview, type MatchReviewAction, type MatchReviewCandidate, type MatchReviewField, type MatchReviewLabels, type MatchReviewProps, Menu, MenuGroup, type MenuGroupProps, MenuItem, type MenuItemAttributes, MenuItemCheckbox, type MenuItemCheckboxProps, type MenuItemProps, MenuItemRadio, type MenuItemRadioProps, type MenuProps, MenuRadioGroup, type MenuRadioGroupProps, MenuSeparator, Meter, type MeterProps, type MeterTone, MetricInput, type MetricInputProps, Modal, type ModalProps, type MonthSpanGroup, type MonthSpanInput, type MonthSpanLayout, type MoveProposal, NUMBER_FILTER_OPERATORS, type NavFavouriteItem, NavFavourites, type NavFavouritesLabels, type NavFavouritesProps, NavGroup, type NavGroupProps, NavItem, type NavItemProps, NewsLead, type NewsLeadProps, NotFoundState, Note, type NoteProps, type NoteTone, NoticeQueue, type NoticeQueueProps, type NumberFilterOperator, type PackLanesOptions, type PackedLanes, PageHeader, type PageHeaderProps, PageIntro, type PageIntroProps, Pagination, type PaginationLabels, type PaginationProps, Peek, type PeekProps, type PillSize, type PillTone, type PillTreatment, Pipeline, type PipelineProps, PipelineStage, type PipelineStageProps, type PipelineStageState, type PlacedDaySpan, type PlacedMonthSpan, type PlacedSpan, Placement, Popconfirm, type PopconfirmProps, Popover, type PopoverProps, type PositionedRelationshipNode, type Primitive, Progress, type ProgressProps, PromptDialog, type PromptDialogProps, Prose, type ProseProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, type RelatedLinkItem, RelatedLinks, type RelatedLinksProps, RelationshipGraph, type RelationshipGraphArrow, type RelationshipGraphCluster, type RelationshipGraphEdge, type RelationshipGraphLabels, type RelationshipGraphLegendItem, type RelationshipGraphNode, type RelationshipGraphProps, RelativeTime, type RelativeTimeFormatContext, type RelativeTimeProps, type RelativeTimeUnit, type RelativeTimeValue, ResourceGrid, type ResourceGridProps, type RgbColor, type RoutedEdge, type Row, RowAction, type RowActionProps, RowActions, type RowActionsProps, type RuleAction, type RuleActionDefinition, RuleBuilder, type RuleBuilderLabels, type RuleBuilderProps, type RuleCheck, type RuleCondition, type RuleDefinition, type RuleFieldDefinition, type RuleGroup, type RuleOperatorDefinition, type RuleSummaryWords, type RuleValidationIssue, type RuleValidationOptions, type RuleValueEditorProps, SaveStatus, type SaveStatusLabels, type SaveStatusProps, type SaveStatusState, type SavedViewItem, SavedViewMenu, type SavedViewMenuProps, type SavedViewSection, type SchedulingBand, SchedulingCalendar, type SchedulingCalendarDay, type SchedulingCalendarEntry, type SchedulingCalendarLabels, type SchedulingCalendarOverlay, type SchedulingCalendarProps, type SchedulingCalendarView, type SchedulingDatePart, type SchedulingEntryState, type SchedulingLegendItem, type SchedulingMarker, type SchedulingMarkerEmphasis, type SchedulingOverlayKind, type SchedulingOverlayPattern, type SchedulingStatus, SchedulingTimeline, type SchedulingTimelineItem, type SchedulingTimelineLabels, type SchedulingTimelineLane, type SchedulingTimelineMarker, type SchedulingTimelineOverlay, type SchedulingTimelineOverlayKind, type SchedulingTimelineProps, type SearchSegment, SearchSuggest, type SearchSuggestAction, type SearchSuggestOption, type SearchSuggestProps, SectionHead, type SectionHeadProps, type Segment, Segmented, SegmentedOption, type SegmentedOptionProps, type SegmentedProps, Select, type SelectAllState, type SelectGroup, type SelectLabels, type SelectOption, type SelectProps, type ShellNav, Sidebar, type SidebarProps, SidebarSection, type SidebarSectionProps, Skeleton, type SkeletonProps, type SortDir, type SortDirection, type SortKey, Spinner, type SpinnerProps, StarButton, type StarButtonProps, Stat, StatLine, type StatLineItem, type StatLineProps, type StatProps, type StatTrend, type StateVariant, StatusPill, type StatusPillProps, StatusRow, type StatusRowProps, Step, type StepProps, type StepState, type StepStateLabels, Steps, type StepsProps, SubNavItem, type SubNavItemProps, type SummarizeFilterOptions, Switch, type SwitchProps, TEXT_FILTER_OPERATORS, TOAST_LEAVE_MS, TOP_LANE_CROSS_MIDNIGHT_MINUTES, Tab, TabPanel, type TabPanelProps, type TabProps, Table, type TableDensity, type TableProps, TableWrap, type TableWrapProps, Tabs, type TabsProps, Td, type TdProps, TextDiff, type TextDiffGranularity, type TextDiffLabels, type TextDiffLine, type TextDiffOp, type TextDiffOptions, type TextDiffProps, type TextDiffResult, type TextDiffRow, type TextDiffSegment, type TextFilterOperator, Textarea, type TextareaProps, Th, type ThProps, type TimeGridDayLayout, type TimeGridEntryContext, type TimeGridEntryInput, type TimeGridPart, type TimeGridSegment, Timeline, TimelineItem, type TimelineItemProps, type TimelineProps, type TimelineRange, type TimelineScale, type TimelineSpan, type TimelineTick, Toast, type ToastAction, type ToastApi, type ToastDismissReason, type ToastKind, type ToastOptions, type ToastPromiseMessages, type ToastProps, type ToastRecord, type ToastStore, type ToastTone, Toaster, type ToasterProps, ToggleRow, type ToggleRowProps, Tooltip, type TooltipProps, Tr, type TrProps, Tree, type TreeLike, type TreeNavAction, type TreeNodeData, type TreeNodeProps, type TreeProps, type UixLabels, UixLabelsProvider, type UixLabelsProviderProps, type UixLinkProps, type UixRenderLink, type UndoableToastOptions, type UseAnchoredPositionOptions, type UseTableOptions, type UseTableResult, type UseVirtualRowsOptions, type UseVirtualRowsResult, UserChip, type UserChipProps, ViewMenu, type ViewMenuColumn, type ViewMenuColumnLabels, type ViewMenuProps, type ViewState, type VirtualWindow, type ZonedDateSpan, type ZonedDayBounds, type ZonedDayShift, type ZonedDaySpan, type ZonedHourSlot, addCalendarDays, addCalendarMonths, addZonedDays, appendRuleNode, applyBrandProfile, applyFilters, boundRelationshipGraph, buildMonthGrid, buildThreeWayDiff, cachedDateTimeFormat, clampMetricValue, clampWidth, classifyLayeredEdges, clusterIdFor, contrastRatio, createToastApi, createToastStore, cx, dashboardGridClassName, dashboardGridItemClassName, defaultTimelineStep, diffText, diffTokens, emptyFilterValue, enumerateDateKeys, enumerateDateSpan, fileKind, fileMatchesAccept, filterComboboxOptions, findRuleNodeDepth, flattenTree, foldForSearch, formatFileSize, hexToRgb, highlightSegments, hsvToHex, hsvToRgb, isDateInRange, isDateUnavailable, isFilterEmpty, isRuleGroup, itemDaySpan, layeredNeighbor, layoutDaySpans, layoutLane, layoutLayeredGraph, layoutMonthSpans, layoutRelationshipGraph, layoutTimeGridDay, mapRuleGroup, matchFilter, matchFilterPreset, meetsContrast, mergePinned, moveRuleNode, multiSort, nextSortDir, normalizeHex, packLanes, parseDateValue, parseMetricValue, parseView, partitionFiles, pixelsToMs, placeSpan, placesInTopLane, proposeMove, rankOverflow, relationshipNeighbors, relativeTimeValue, removeRuleNode, renderPlainLink, reorder, restoreBrandProfile, rgbToHex, rgbToHsv, ruleDepth, schedulingGridDays, searchRows, searchSegments, selectAllState, selectRangeDate, serializeView, setRuleCombinator, shiftSpan, shouldVirtualize, snapToStep, startOfMonth, stepMetricValue, summarizeDiff, summarizeFilter, summarizeRule, textDiffRows, timelineTicks, toDateKey, toast, toggleId, togglePage, toggleSort, tokenizeText, traverseRelationshipNode, treeNav, useAnchoredPosition, useDialog, useTable, useUixLabels, useVirtualRows, validateRuleDefinition, virtualWindow, wrapEdgeLabel, zonedDateKey, zonedDateSpan, zonedDayBounds, zonedDaySpan, zonedHourSlots, zonedTimeOfDay };
|
package/dist/index.d.ts
CHANGED
|
@@ -90,8 +90,8 @@ export { JsonPrimitive, JsonValue } from './json-value.js';
|
|
|
90
90
|
export { DEFAULT_RULE_BUILDER_LABELS, RuleActionDefinition, RuleBuilder, RuleBuilderLabels, RuleBuilderProps, RuleFieldDefinition, RuleOperatorDefinition, RuleValueEditorProps } from './components/RuleBuilder.js';
|
|
91
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';
|
|
92
92
|
export { BuilderCanvas, BuilderCanvasItem, BuilderCanvasLabels, BuilderCanvasProps, BuilderPaletteItem, DEFAULT_BUILDER_CANVAS_LABELS } from './components/BuilderCanvas.js';
|
|
93
|
-
export { DEFAULT_SCHEDULING_CALENDAR_LABELS, SchedulingBand, SchedulingCalendar, SchedulingCalendarDay, SchedulingCalendarEntry, SchedulingCalendarLabels, SchedulingCalendarOverlay, SchedulingCalendarProps, SchedulingCalendarView, SchedulingDatePart, SchedulingEntryState, SchedulingLegendItem, SchedulingMarker, SchedulingMarkerEmphasis, SchedulingOverlayKind, SchedulingOverlayPattern, SchedulingStatus } from './
|
|
94
|
-
export { LayoutMonthSpansOptions, MonthSpanGroup, MonthSpanInput, MonthSpanLayout, PlacedMonthSpan, itemDaySpan, layoutMonthSpans, schedulingGridDays } from './scheduling-calendar-model.js';
|
|
93
|
+
export { D as DEFAULT_SCHEDULING_CALENDAR_LABELS, S as SchedulingBand, a as SchedulingCalendar, b as SchedulingCalendarDay, c as SchedulingCalendarEntry, d as SchedulingCalendarLabels, e as SchedulingCalendarOverlay, f as SchedulingCalendarProps, g as SchedulingCalendarView, h as SchedulingDatePart, i as SchedulingEntryState, j as SchedulingLegendItem, k as SchedulingMarker, l as SchedulingMarkerEmphasis, m as SchedulingOverlayKind, n as SchedulingOverlayPattern, o as SchedulingStatus, T as TimeGridEntryContext } from './SchedulingCalendar-C4XVbqZr.js';
|
|
94
|
+
export { DaySpanLayout, LayoutMonthSpansOptions, MonthSpanGroup, MonthSpanInput, MonthSpanLayout, MoveProposal, PlacedDaySpan, PlacedMonthSpan, TOP_LANE_CROSS_MIDNIGHT_MINUTES, TimeGridDayLayout, TimeGridEntryInput, TimeGridPart, TimeGridSegment, itemDaySpan, layoutDaySpans, layoutMonthSpans, layoutTimeGridDay, placesInTopLane, proposeMove, schedulingGridDays } from './scheduling-calendar-model.js';
|
|
95
95
|
export { DEFAULT_SCHEDULING_TIMELINE_LABELS, SchedulingTimeline, SchedulingTimelineItem, SchedulingTimelineLabels, SchedulingTimelineLane, SchedulingTimelineMarker, SchedulingTimelineOverlay, SchedulingTimelineOverlayKind, SchedulingTimelineProps } from './components/SchedulingTimeline.js';
|
|
96
96
|
export { DAY, HOUR, PlacedSpan, TimelineRange, TimelineScale, TimelineSpan, TimelineTick, defaultTimelineStep, layoutLane, pixelsToMs, placeSpan, shiftSpan, snapToStep, timelineTicks } from './scheduling-timeline-model.js';
|
|
97
97
|
export { DEFAULT_DATE_RANGE_PICKER_LABELS, DateRangePicker, DateRangePickerLabels, DateRangePickerProps } from './components/DateRangePicker.js';
|
package/dist/index.js
CHANGED
|
@@ -139,7 +139,16 @@ import {
|
|
|
139
139
|
} from "./rule-builder-model.js";
|
|
140
140
|
import { BuilderCanvas, DEFAULT_BUILDER_CANVAS_LABELS } from "./components/BuilderCanvas.js";
|
|
141
141
|
import { DEFAULT_SCHEDULING_CALENDAR_LABELS, SchedulingCalendar } from "./components/SchedulingCalendar.js";
|
|
142
|
-
import {
|
|
142
|
+
import {
|
|
143
|
+
TOP_LANE_CROSS_MIDNIGHT_MINUTES,
|
|
144
|
+
itemDaySpan,
|
|
145
|
+
layoutDaySpans,
|
|
146
|
+
layoutMonthSpans,
|
|
147
|
+
layoutTimeGridDay,
|
|
148
|
+
placesInTopLane,
|
|
149
|
+
proposeMove,
|
|
150
|
+
schedulingGridDays
|
|
151
|
+
} from "./scheduling-calendar-model.js";
|
|
143
152
|
import { DEFAULT_SCHEDULING_TIMELINE_LABELS, SchedulingTimeline } from "./components/SchedulingTimeline.js";
|
|
144
153
|
import {
|
|
145
154
|
DAY,
|
|
@@ -359,6 +368,7 @@ export {
|
|
|
359
368
|
Switch,
|
|
360
369
|
TEXT_FILTER_OPERATORS,
|
|
361
370
|
TOAST_LEAVE_MS,
|
|
371
|
+
TOP_LANE_CROSS_MIDNIGHT_MINUTES,
|
|
362
372
|
Tab,
|
|
363
373
|
TabPanel,
|
|
364
374
|
Table,
|
|
@@ -420,10 +430,12 @@ export {
|
|
|
420
430
|
isRuleGroup,
|
|
421
431
|
itemDaySpan,
|
|
422
432
|
layeredNeighbor,
|
|
433
|
+
layoutDaySpans,
|
|
423
434
|
layoutLane,
|
|
424
435
|
layoutLayeredGraph,
|
|
425
436
|
layoutMonthSpans,
|
|
426
437
|
layoutRelationshipGraph,
|
|
438
|
+
layoutTimeGridDay,
|
|
427
439
|
mapRuleGroup,
|
|
428
440
|
matchFilterPreset,
|
|
429
441
|
meetsContrast,
|
|
@@ -435,6 +447,8 @@ export {
|
|
|
435
447
|
partitionFiles,
|
|
436
448
|
pixelsToMs,
|
|
437
449
|
placeSpan,
|
|
450
|
+
placesInTopLane,
|
|
451
|
+
proposeMove,
|
|
438
452
|
rankOverflow,
|
|
439
453
|
relationshipNeighbors,
|
|
440
454
|
relativeTimeValue,
|
package/dist/labels-context.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
3
|
import { PaginationLabels } from './components/Pagination.js';
|
|
4
|
-
import { SchedulingCalendarLabels } from './
|
|
4
|
+
import { d as SchedulingCalendarLabels } from './SchedulingCalendar-C4XVbqZr.js';
|
|
5
5
|
import { DateRangePickerLabels } from './components/DateRangePicker.js';
|
|
6
6
|
import { SchedulingTimelineLabels } from './components/SchedulingTimeline.js';
|
|
7
7
|
import { TextDiffLabels } from './components/TextDiff.js';
|
|
@@ -62,5 +62,108 @@ declare function schedulingGridDays(anchorDate: string, view: 'month' | 'week',
|
|
|
62
62
|
* (never a UTC date). `days` are the grid's date keys, a whole number of weeks.
|
|
63
63
|
*/
|
|
64
64
|
declare function layoutMonthSpans(spans: readonly MonthSpanInput[], days: readonly string[], options: LayoutMonthSpansOptions): MonthSpanLayout;
|
|
65
|
+
/** How far past its first local midnight an entry may run and still be drawn in the grid (operator decision E12). */
|
|
66
|
+
declare const TOP_LANE_CROSS_MIDNIGHT_MINUTES = 360;
|
|
67
|
+
interface TimeGridEntryInput {
|
|
68
|
+
id: string;
|
|
69
|
+
/** Half-open `[start, end)` instants (ISO 8601, epoch ms or Date). */
|
|
70
|
+
start: string | number | Date;
|
|
71
|
+
end: string | number | Date;
|
|
72
|
+
/** An entry with no time of day: always drawn in the top lane. */
|
|
73
|
+
allDay?: boolean;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Whether an entry is drawn in the top lane of the time grid instead of in the day columns:
|
|
77
|
+
* it is all-day, it is longer than one day (it ends after the same wall-clock time on the
|
|
78
|
+
* next day), or it runs more than `crossMidnightMinutes` past its first local midnight. A
|
|
79
|
+
* shorter midnight-crosser stays in the grid as a start segment and a continuation segment.
|
|
80
|
+
*/
|
|
81
|
+
declare function placesInTopLane(entry: Pick<TimeGridEntryInput, 'start' | 'end' | 'allDay'>, timeZone: string, options?: {
|
|
82
|
+
crossMidnightMinutes?: number;
|
|
83
|
+
}): boolean;
|
|
84
|
+
/** Which part of an entry a grid segment is: all of it, its first day, or the rest on the next day. */
|
|
85
|
+
type TimeGridPart = 'whole' | 'start' | 'continuation';
|
|
86
|
+
interface TimeGridSegment {
|
|
87
|
+
id: string;
|
|
88
|
+
part: TimeGridPart;
|
|
89
|
+
/** The segment, clipped to the day (epoch ms). */
|
|
90
|
+
start: number;
|
|
91
|
+
end: number;
|
|
92
|
+
/** Real hours from the start of the day to the segment. Multiply by the hour height. */
|
|
93
|
+
offsetHours: number;
|
|
94
|
+
/** The length of the segment in real hours. */
|
|
95
|
+
lengthHours: number;
|
|
96
|
+
/** 0-based lane inside its overlap cluster. */
|
|
97
|
+
lane: number;
|
|
98
|
+
/** Lanes its cluster uses: the segment is this fraction of the column wide. */
|
|
99
|
+
laneCount: number;
|
|
100
|
+
}
|
|
101
|
+
interface TimeGridDayLayout {
|
|
102
|
+
date: string;
|
|
103
|
+
/** The first instant of the day (epoch ms) and its length in real hours. */
|
|
104
|
+
dayStart: number;
|
|
105
|
+
dayHours: number;
|
|
106
|
+
/** One per entry part that got a lane, by start. */
|
|
107
|
+
segments: TimeGridSegment[];
|
|
108
|
+
/** Entries on this day that got no lane, by start. */
|
|
109
|
+
hidden: string[];
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Lays one day column out: every entry that is not in the top lane and touches the day, clipped
|
|
113
|
+
* to it and packed into at most `maxLanes` lanes with `packLanes`. An entry that crosses
|
|
114
|
+
* midnight gives a `'start'` segment on its first day and a `'continuation'` on the next.
|
|
115
|
+
*/
|
|
116
|
+
declare function layoutTimeGridDay(entries: readonly TimeGridEntryInput[], date: string, timeZone: string, options?: {
|
|
117
|
+
maxLanes?: number;
|
|
118
|
+
crossMidnightMinutes?: number;
|
|
119
|
+
}): TimeGridDayLayout;
|
|
120
|
+
interface PlacedDaySpan {
|
|
121
|
+
id: string;
|
|
122
|
+
lane: number;
|
|
123
|
+
/** First and last column (inclusive) of `days` the span covers. */
|
|
124
|
+
startCol: number;
|
|
125
|
+
endCol: number;
|
|
126
|
+
continuesBefore: boolean;
|
|
127
|
+
continuesAfter: boolean;
|
|
128
|
+
}
|
|
129
|
+
interface DaySpanLayout {
|
|
130
|
+
placed: PlacedDaySpan[];
|
|
131
|
+
/** Ids that got no lane, in input order. */
|
|
132
|
+
hidden: string[];
|
|
133
|
+
/** The first day a hidden span covers, when there is one. */
|
|
134
|
+
firstHiddenDay?: string;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Places spans over one row of consecutive `days` (a week, or the single day of the Day
|
|
138
|
+
* view), in the order given, in at most `laneCap` lanes. Day membership is the end-exclusive
|
|
139
|
+
* zoned span. The time grid uses it for its top lane and its window strip.
|
|
140
|
+
*/
|
|
141
|
+
declare function layoutDaySpans(spans: readonly MonthSpanInput[], days: readonly string[], options: {
|
|
142
|
+
timeZone: string;
|
|
143
|
+
laneCap?: number;
|
|
144
|
+
}): DaySpanLayout;
|
|
145
|
+
/** A move the user asks for. The component never applies it: the consumer decides. */
|
|
146
|
+
interface MoveProposal {
|
|
147
|
+
/** ISO 8601 instants of the proposed window. */
|
|
148
|
+
start: string;
|
|
149
|
+
end: string;
|
|
150
|
+
/** `'gap_forward'` when the wall-clock time asked for does not exist that day and moved past the gap. */
|
|
151
|
+
adjusted: 'gap_forward' | null;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* The window `[start, end)` moved by `minutes` of real time and then by `days` calendar days.
|
|
155
|
+
* A day move keeps the wall-clock start and end (`addZonedDays`), whatever the length of the
|
|
156
|
+
* days in between. Compute it from the original window every time, so that a time falling in
|
|
157
|
+
* a clock-change gap moves forward once, never twice. When a clock change on the target day
|
|
158
|
+
* would put the wall-clock end at or before the start (a window that sits on the skipped or
|
|
159
|
+
* repeated hour), the end keeps the real length of the window instead.
|
|
160
|
+
*/
|
|
161
|
+
declare function proposeMove(span: {
|
|
162
|
+
start: string | number | Date;
|
|
163
|
+
end: string | number | Date;
|
|
164
|
+
}, delta: {
|
|
165
|
+
days?: number;
|
|
166
|
+
minutes?: number;
|
|
167
|
+
}, timeZone: string): MoveProposal;
|
|
65
168
|
|
|
66
|
-
export { type LayoutMonthSpansOptions, type MonthSpanGroup, type MonthSpanInput, type MonthSpanLayout, type PlacedMonthSpan, itemDaySpan, layoutMonthSpans, schedulingGridDays };
|
|
169
|
+
export { type DaySpanLayout, type LayoutMonthSpansOptions, type MonthSpanGroup, type MonthSpanInput, type MonthSpanLayout, type MoveProposal, type PlacedDaySpan, type PlacedMonthSpan, TOP_LANE_CROSS_MIDNIGHT_MINUTES, type TimeGridDayLayout, type TimeGridEntryInput, type TimeGridPart, type TimeGridSegment, itemDaySpan, layoutDaySpans, layoutMonthSpans, layoutTimeGridDay, placesInTopLane, proposeMove, schedulingGridDays };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { addCalendarDays, buildMonthGrid, packLanes, startOfMonth, zonedDateKey, zonedDaySpan } from "./calendar-model.js";
|
|
1
|
+
import { addCalendarDays, addZonedDays, buildMonthGrid, packLanes, startOfMonth, zonedDateKey, zonedDayBounds, zonedDaySpan } from "./calendar-model.js";
|
|
2
2
|
const DEFAULT_LANE_CAP = 2;
|
|
3
3
|
function itemDaySpan(start, end, timeZone) {
|
|
4
4
|
const from = new Date(start);
|
|
@@ -75,8 +75,102 @@ function layoutMonthSpans(spans, days, options) {
|
|
|
75
75
|
}
|
|
76
76
|
return { placed, hiddenByRow, firstHiddenDayByRow };
|
|
77
77
|
}
|
|
78
|
+
const MINUTE_MS = 6e4;
|
|
79
|
+
const HOUR_MS = 36e5;
|
|
80
|
+
const instantMs = (value) => new Date(value).getTime();
|
|
81
|
+
const TOP_LANE_CROSS_MIDNIGHT_MINUTES = 360;
|
|
82
|
+
function placesInTopLane(entry, timeZone, options = {}) {
|
|
83
|
+
if (entry.allDay) return true;
|
|
84
|
+
const start = instantMs(entry.start);
|
|
85
|
+
const end = instantMs(entry.end);
|
|
86
|
+
if (!(end > start)) return false;
|
|
87
|
+
if (end > addZonedDays(new Date(start), 1, timeZone).instant.getTime()) return true;
|
|
88
|
+
const firstMidnight = zonedDayBounds(zonedDateKey(new Date(start), timeZone), timeZone).end.getTime();
|
|
89
|
+
return end > firstMidnight + (options.crossMidnightMinutes ?? TOP_LANE_CROSS_MIDNIGHT_MINUTES) * MINUTE_MS;
|
|
90
|
+
}
|
|
91
|
+
function layoutTimeGridDay(entries, date, timeZone, options = {}) {
|
|
92
|
+
const bounds = zonedDayBounds(date, timeZone);
|
|
93
|
+
const dayStart = bounds.start.getTime();
|
|
94
|
+
const dayEnd = bounds.end.getTime();
|
|
95
|
+
const parts = /* @__PURE__ */ new Map();
|
|
96
|
+
for (const entry of entries) {
|
|
97
|
+
const start = instantMs(entry.start);
|
|
98
|
+
const end = Math.max(instantMs(entry.end), start);
|
|
99
|
+
const touches = end > start ? start < dayEnd && end > dayStart : start >= dayStart && start < dayEnd;
|
|
100
|
+
if (!touches || placesInTopLane(entry, timeZone, options)) continue;
|
|
101
|
+
parts.set(entry.id, {
|
|
102
|
+
start: Math.max(start, dayStart),
|
|
103
|
+
end: Math.min(end, dayEnd),
|
|
104
|
+
part: start < dayStart ? "continuation" : end > dayEnd ? "start" : "whole"
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
const packed = packLanes([...parts].map(([id, part]) => ({ id, start: part.start, end: part.end })), options.maxLanes ?? Infinity);
|
|
108
|
+
const segments = [];
|
|
109
|
+
const hidden = [];
|
|
110
|
+
for (const cluster of packed.clusters) {
|
|
111
|
+
for (const id of cluster.ids) {
|
|
112
|
+
const part = parts.get(id);
|
|
113
|
+
const lane = packed.lanes[id].lane;
|
|
114
|
+
if (lane === null) {
|
|
115
|
+
hidden.push(id);
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
segments.push({
|
|
119
|
+
id,
|
|
120
|
+
part: part.part,
|
|
121
|
+
start: part.start,
|
|
122
|
+
end: part.end,
|
|
123
|
+
offsetHours: (part.start - dayStart) / HOUR_MS,
|
|
124
|
+
lengthHours: (part.end - part.start) / HOUR_MS,
|
|
125
|
+
lane,
|
|
126
|
+
laneCount: Math.max(cluster.laneCount, 1)
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return { date, dayStart, dayHours: (dayEnd - dayStart) / HOUR_MS, segments, hidden };
|
|
131
|
+
}
|
|
132
|
+
function layoutDaySpans(spans, days, options) {
|
|
133
|
+
if (days.length === 0) throw new RangeError("layoutDaySpans: days is empty");
|
|
134
|
+
const rowStart = days[0];
|
|
135
|
+
const rowEnd = addCalendarDays(days[days.length - 1], 1);
|
|
136
|
+
const seen = /* @__PURE__ */ new Set();
|
|
137
|
+
const inRow = spans.filter((span) => seen.has(span.id) ? false : (seen.add(span.id), true)).map((span) => ({ id: span.id, days: itemDaySpan(span.start, instantMs(span.end) < instantMs(span.start) ? span.start : span.end, options.timeZone) })).filter((span) => span.days.start < rowEnd && span.days.end > rowStart).map((span) => {
|
|
138
|
+
const from = span.days.start > rowStart ? span.days.start : rowStart;
|
|
139
|
+
const to = span.days.end < rowEnd ? span.days.end : rowEnd;
|
|
140
|
+
return { span, from, startCol: days.indexOf(from), endCol: days.indexOf(addCalendarDays(to, -1)) };
|
|
141
|
+
});
|
|
142
|
+
const packed = packLanes(inRow.map(({ span, startCol, endCol }) => ({ id: span.id, start: startCol, end: endCol + 1 })), options.laneCap ?? Infinity, { order: "given" });
|
|
143
|
+
const layout = { placed: [], hidden: [] };
|
|
144
|
+
for (const { span, from, startCol, endCol } of inRow) {
|
|
145
|
+
const lane = packed.lanes[span.id].lane;
|
|
146
|
+
if (lane === null) {
|
|
147
|
+
layout.hidden.push(span.id);
|
|
148
|
+
if (layout.firstHiddenDay === void 0 || from < layout.firstHiddenDay) layout.firstHiddenDay = from;
|
|
149
|
+
continue;
|
|
150
|
+
}
|
|
151
|
+
layout.placed.push({ id: span.id, lane, startCol, endCol, continuesBefore: span.days.start < rowStart, continuesAfter: span.days.end > rowEnd });
|
|
152
|
+
}
|
|
153
|
+
return layout;
|
|
154
|
+
}
|
|
155
|
+
function proposeMove(span, delta, timeZone) {
|
|
156
|
+
const shift = (delta.minutes ?? 0) * MINUTE_MS;
|
|
157
|
+
const start = new Date(instantMs(span.start) + shift);
|
|
158
|
+
const end = new Date(instantMs(span.end) + shift);
|
|
159
|
+
if (!delta.days) return { start: start.toISOString(), end: end.toISOString(), adjusted: null };
|
|
160
|
+
const movedStart = addZonedDays(start, delta.days, timeZone);
|
|
161
|
+
const movedEnd = addZonedDays(end, delta.days, timeZone);
|
|
162
|
+
const length = end.getTime() - start.getTime();
|
|
163
|
+
const collapsed = length > 0 && movedEnd.instant.getTime() <= movedStart.instant.getTime();
|
|
164
|
+
const proposedEnd = collapsed ? new Date(movedStart.instant.getTime() + length) : movedEnd.instant;
|
|
165
|
+
return { start: movedStart.instant.toISOString(), end: proposedEnd.toISOString(), adjusted: movedStart.adjusted ?? movedEnd.adjusted };
|
|
166
|
+
}
|
|
78
167
|
export {
|
|
168
|
+
TOP_LANE_CROSS_MIDNIGHT_MINUTES,
|
|
79
169
|
itemDaySpan,
|
|
170
|
+
layoutDaySpans,
|
|
80
171
|
layoutMonthSpans,
|
|
172
|
+
layoutTimeGridDay,
|
|
173
|
+
placesInTopLane,
|
|
174
|
+
proposeMove,
|
|
81
175
|
schedulingGridDays
|
|
82
176
|
};
|