@tensor_1/react 2.31.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 +367 -0
- package/dist/SchedulingCalendar-C4XVbqZr.d.ts +339 -0
- package/dist/attachment-labels.d.ts +16 -0
- package/dist/attachment-labels.js +9 -0
- package/dist/calendar-model.d.ts +141 -1
- package/dist/calendar-model.js +200 -11
- package/dist/chart-preset.cjs +127 -7
- package/dist/chart-preset.d.cts +2 -2
- package/dist/chart-preset.d.ts +1 -0
- package/dist/chart-preset.js +6 -1
- package/dist/chart-theme-Cl0IrkKQ.d.cts +112 -0
- package/dist/chart-theme.d.ts +51 -0
- package/dist/chart-theme.js +99 -0
- package/dist/chart.cjs +127 -7
- package/dist/chart.d.cts +2 -2
- package/dist/chart.d.ts +1 -0
- package/dist/chart.js +6 -2
- package/dist/components/Alert.d.ts +17 -1
- package/dist/components/Alert.js +9 -4
- package/dist/components/AlertDismiss.d.ts +14 -0
- package/dist/components/AlertDismiss.js +11 -0
- package/dist/components/Attachment.d.ts +15 -12
- package/dist/components/Attachment.js +17 -17
- package/dist/components/AttachmentParts.d.ts +24 -0
- package/dist/components/AttachmentParts.js +20 -0
- package/dist/components/Chart.d.ts +1 -0
- package/dist/components/Chart.js +6 -1
- package/dist/components/ChartCore.d.ts +6 -1
- package/dist/components/ChartCore.js +23 -5
- package/dist/components/Chip.d.ts +17 -2
- package/dist/components/Chip.js +35 -11
- package/dist/components/ChipRemove.d.ts +17 -0
- package/dist/components/ChipRemove.js +13 -0
- package/dist/components/CollapsibleParts.d.ts +29 -0
- package/dist/components/CollapsibleParts.js +20 -0
- package/dist/components/CollapsibleSection.d.ts +30 -3
- package/dist/components/CollapsibleSection.js +7 -11
- package/dist/components/CollapsibleSectionState.d.ts +1 -1
- package/dist/components/CollapsibleSectionState.js +54 -27
- package/dist/components/DashboardGrid.d.ts +60 -0
- package/dist/components/DashboardGrid.js +40 -0
- package/dist/components/DateRangePicker.d.ts +7 -1
- package/dist/components/DateRangePicker.js +5 -1
- package/dist/components/DescriptionList.d.ts +12 -1
- package/dist/components/DescriptionList.js +5 -5
- package/dist/components/Dialogs.d.ts +24 -3
- package/dist/components/Dialogs.js +74 -16
- package/dist/components/FileUpload.d.ts +10 -2
- package/dist/components/FileUpload.js +10 -4
- package/dist/components/FilterEditor.d.ts +4 -0
- package/dist/components/FilterEditor.js +13 -2
- package/dist/components/Heartbeat.d.ts +31 -0
- package/dist/components/Heartbeat.js +28 -0
- package/dist/components/Menu.d.ts +53 -5
- package/dist/components/Menu.js +104 -4
- package/dist/components/Meter.d.ts +7 -3
- package/dist/components/Meter.js +2 -1
- package/dist/components/Popover.d.ts +21 -2
- package/dist/components/Popover.js +94 -17
- package/dist/components/Prose.d.ts +6 -2
- package/dist/components/Prose.js +1 -1
- package/dist/components/RuleBuilder.d.ts +52 -4
- package/dist/components/RuleBuilder.js +109 -24
- package/dist/components/SchedulingCalendar.d.ts +4 -110
- package/dist/components/SchedulingCalendar.js +299 -63
- package/dist/components/SchedulingTimeGrid.d.ts +4 -0
- package/dist/components/SchedulingTimeGrid.js +521 -0
- package/dist/components/SchedulingTimeline.d.ts +2 -1
- package/dist/components/Segmented.d.ts +17 -3
- package/dist/components/Segmented.js +59 -5
- package/dist/components/Select.d.ts +66 -2
- package/dist/components/Select.js +800 -10
- package/dist/components/Spinner.d.ts +2 -1
- package/dist/components/Spinner.js +1 -1
- package/dist/components/StatusPill.d.ts +8 -2
- package/dist/components/StatusPill.js +2 -2
- package/dist/components/Steps.d.ts +28 -4
- package/dist/components/Steps.js +46 -16
- package/dist/components/TableControls.js +4 -3
- package/dist/components/Tabs.d.ts +7 -2
- package/dist/components/Tabs.js +14 -1
- package/dist/components/TextDiff.d.ts +49 -0
- package/dist/components/TextDiff.js +124 -0
- package/dist/{emoji-image-6mPZ15Zy.d.cts → emoji-image-DjCKpdwE.d.cts} +1 -1
- package/dist/emoji.cjs +169 -27
- package/dist/emoji.d.cts +3 -3
- package/dist/file-model.d.ts +22 -3
- package/dist/file-model.js +6 -4
- package/dist/filter-model.d.ts +26 -2
- package/dist/filter-model.js +13 -1
- package/dist/hooks/useAnchoredPosition.d.ts +24 -1
- package/dist/hooks/useAnchoredPosition.js +58 -8
- package/dist/hooks/useVirtualRows.d.ts +17 -2
- package/dist/hooks/useVirtualRows.js +6 -5
- package/dist/icons/Icon.d.ts +14 -14
- package/dist/index.cjs +4888 -1714
- package/dist/index.d.cts +1871 -658
- package/dist/index.d.ts +16 -9
- package/dist/index.js +67 -4
- package/dist/labels-context.d.ts +29 -1
- package/dist/{overlay-position-Cjv5E7mn.d.cts → overlay-position-2Afke51l.d.cts} +20 -0
- package/dist/overlay-position.d.ts +20 -0
- package/dist/overlay-position.js +17 -2
- package/dist/rich-text.cjs +169 -27
- package/dist/rich-text.d.cts +3 -3
- package/dist/rule-builder-model.d.ts +34 -2
- package/dist/rule-builder-model.js +48 -12
- package/dist/scheduling-calendar-model.d.ts +169 -0
- package/dist/scheduling-calendar-model.js +176 -0
- package/dist/select-model.d.ts +80 -0
- package/dist/select-model.js +109 -0
- package/dist/table-engine.d.ts +7 -0
- package/dist/table-engine.js +2 -1
- package/dist/text-diff-model.d.ts +71 -0
- package/dist/text-diff-model.js +261 -0
- package/package.json +1 -1
- 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,
|
|
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 './
|
|
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';
|
|
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,24 @@ 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 {
|
|
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";
|
|
136
152
|
import { DEFAULT_SCHEDULING_TIMELINE_LABELS, SchedulingTimeline } from "./components/SchedulingTimeline.js";
|
|
137
153
|
import {
|
|
138
154
|
DAY,
|
|
@@ -149,15 +165,24 @@ import { DateRangePicker, DEFAULT_DATE_RANGE_PICKER_LABELS } from "./components/
|
|
|
149
165
|
import {
|
|
150
166
|
addCalendarDays,
|
|
151
167
|
addCalendarMonths,
|
|
168
|
+
addZonedDays,
|
|
152
169
|
buildMonthGrid,
|
|
170
|
+
cachedDateTimeFormat,
|
|
171
|
+
enumerateDateKeys,
|
|
153
172
|
enumerateDateSpan,
|
|
154
173
|
isDateInRange,
|
|
155
174
|
isDateUnavailable,
|
|
175
|
+
packLanes,
|
|
176
|
+
rankOverflow,
|
|
156
177
|
selectRangeDate,
|
|
157
178
|
startOfMonth,
|
|
158
179
|
toDateKey,
|
|
159
180
|
zonedDateKey,
|
|
160
|
-
zonedDateSpan
|
|
181
|
+
zonedDateSpan,
|
|
182
|
+
zonedDayBounds,
|
|
183
|
+
zonedDaySpan,
|
|
184
|
+
zonedHourSlots,
|
|
185
|
+
zonedTimeOfDay
|
|
161
186
|
} from "./calendar-model.js";
|
|
162
187
|
import { RelationshipGraph, DEFAULT_RELATIONSHIP_GRAPH_LABELS } from "./components/RelationshipGraph.js";
|
|
163
188
|
import { boundRelationshipGraph, layoutRelationshipGraph, relationshipNeighbors, traverseRelationshipNode, classifyLayeredEdges, clusterIdFor, layeredNeighbor, layoutLayeredGraph, wrapEdgeLabel } from "./relationship-graph-model.js";
|
|
@@ -168,6 +193,8 @@ import { LicensePositionBar } from "./components/LicensePositionBar.js";
|
|
|
168
193
|
import { BrandProfiles, BrandProfileEditor, DEFAULT_BRAND_PROFILE_EDITOR_LABELS, applyBrandProfile, restoreBrandProfile } from "./components/BrandProfiles.js";
|
|
169
194
|
import { DEFAULT_DIFF_VIEWER_LABELS, DiffViewer } from "./components/DiffViewer.js";
|
|
170
195
|
import { buildThreeWayDiff, summarizeDiff } from "./diff-model.js";
|
|
196
|
+
import { DEFAULT_TEXT_DIFF_LABELS, TextDiff } from "./components/TextDiff.js";
|
|
197
|
+
import { diffText, diffTokens, textDiffRows, tokenizeText } from "./text-diff-model.js";
|
|
171
198
|
import { ColorPicker, DEFAULT_COLOR_PICKER_LABELS } from "./components/ColorPicker.js";
|
|
172
199
|
import { contrastRatio, hexToRgb, hsvToHex, hsvToRgb, meetsContrast, normalizeHex, rgbToHex, rgbToHsv } from "./color-model.js";
|
|
173
200
|
export {
|
|
@@ -223,10 +250,15 @@ export {
|
|
|
223
250
|
DEFAULT_PAGINATION_LABELS,
|
|
224
251
|
DEFAULT_RELATIONSHIP_GRAPH_LABELS,
|
|
225
252
|
DEFAULT_RULE_BUILDER_LABELS,
|
|
253
|
+
DEFAULT_RULE_SUMMARY_WORDS,
|
|
254
|
+
DEFAULT_RULE_VALIDATION_MESSAGES,
|
|
226
255
|
DEFAULT_SAVE_STATUS_LABELS,
|
|
227
256
|
DEFAULT_SCHEDULING_CALENDAR_LABELS,
|
|
228
257
|
DEFAULT_SCHEDULING_TIMELINE_LABELS,
|
|
229
258
|
DEFAULT_STEP_STATE_LABELS,
|
|
259
|
+
DEFAULT_TEXT_DIFF_LABELS,
|
|
260
|
+
DashboardGrid,
|
|
261
|
+
DashboardGridItem,
|
|
230
262
|
DateRangePicker,
|
|
231
263
|
DescriptionItem,
|
|
232
264
|
DescriptionList,
|
|
@@ -251,6 +283,7 @@ export {
|
|
|
251
283
|
FlowNode,
|
|
252
284
|
ForbiddenState,
|
|
253
285
|
HOUR,
|
|
286
|
+
Heartbeat,
|
|
254
287
|
Highlighted,
|
|
255
288
|
Inbox,
|
|
256
289
|
InboxDetail,
|
|
@@ -269,12 +302,16 @@ export {
|
|
|
269
302
|
Lightbox,
|
|
270
303
|
List,
|
|
271
304
|
ListItem,
|
|
305
|
+
LiveIndicator,
|
|
272
306
|
LoadingState,
|
|
273
307
|
Mark,
|
|
274
308
|
MatchReview,
|
|
275
309
|
Menu,
|
|
276
310
|
MenuGroup,
|
|
277
311
|
MenuItem,
|
|
312
|
+
MenuItemCheckbox,
|
|
313
|
+
MenuItemRadio,
|
|
314
|
+
MenuRadioGroup,
|
|
278
315
|
MenuSeparator,
|
|
279
316
|
Meter,
|
|
280
317
|
MetricInput,
|
|
@@ -331,12 +368,14 @@ export {
|
|
|
331
368
|
Switch,
|
|
332
369
|
TEXT_FILTER_OPERATORS,
|
|
333
370
|
TOAST_LEAVE_MS,
|
|
371
|
+
TOP_LANE_CROSS_MIDNIGHT_MINUTES,
|
|
334
372
|
Tab,
|
|
335
373
|
TabPanel,
|
|
336
374
|
Table,
|
|
337
375
|
TableWrap,
|
|
338
376
|
Tabs,
|
|
339
377
|
Td,
|
|
378
|
+
TextDiff,
|
|
340
379
|
Textarea,
|
|
341
380
|
Th,
|
|
342
381
|
Timeline,
|
|
@@ -352,11 +391,13 @@ export {
|
|
|
352
391
|
ViewMenu,
|
|
353
392
|
addCalendarDays,
|
|
354
393
|
addCalendarMonths,
|
|
394
|
+
addZonedDays,
|
|
355
395
|
appendRuleNode,
|
|
356
396
|
applyBrandProfile,
|
|
357
397
|
boundRelationshipGraph,
|
|
358
398
|
buildMonthGrid,
|
|
359
399
|
buildThreeWayDiff,
|
|
400
|
+
cachedDateTimeFormat,
|
|
360
401
|
clampMetricValue,
|
|
361
402
|
classifyLayeredEdges,
|
|
362
403
|
clusterIdFor,
|
|
@@ -365,8 +406,13 @@ export {
|
|
|
365
406
|
createToastApi,
|
|
366
407
|
createToastStore,
|
|
367
408
|
cx,
|
|
409
|
+
dashboardGridClassName,
|
|
410
|
+
dashboardGridItemClassName,
|
|
368
411
|
defaultTimelineStep,
|
|
412
|
+
diffText,
|
|
413
|
+
diffTokens,
|
|
369
414
|
emptyFilterValue,
|
|
415
|
+
enumerateDateKeys,
|
|
370
416
|
enumerateDateSpan,
|
|
371
417
|
fileKind,
|
|
372
418
|
fileMatchesAccept,
|
|
@@ -382,19 +428,28 @@ export {
|
|
|
382
428
|
isDateUnavailable,
|
|
383
429
|
isFilterEmpty,
|
|
384
430
|
isRuleGroup,
|
|
431
|
+
itemDaySpan,
|
|
385
432
|
layeredNeighbor,
|
|
433
|
+
layoutDaySpans,
|
|
386
434
|
layoutLane,
|
|
387
435
|
layoutLayeredGraph,
|
|
436
|
+
layoutMonthSpans,
|
|
388
437
|
layoutRelationshipGraph,
|
|
438
|
+
layoutTimeGridDay,
|
|
389
439
|
mapRuleGroup,
|
|
440
|
+
matchFilterPreset,
|
|
390
441
|
meetsContrast,
|
|
391
442
|
moveRuleNode,
|
|
392
443
|
normalizeHex,
|
|
444
|
+
packLanes,
|
|
393
445
|
parseDateValue,
|
|
394
446
|
parseMetricValue,
|
|
395
447
|
partitionFiles,
|
|
396
448
|
pixelsToMs,
|
|
397
449
|
placeSpan,
|
|
450
|
+
placesInTopLane,
|
|
451
|
+
proposeMove,
|
|
452
|
+
rankOverflow,
|
|
398
453
|
relationshipNeighbors,
|
|
399
454
|
relativeTimeValue,
|
|
400
455
|
removeRuleNode,
|
|
@@ -403,8 +458,10 @@ export {
|
|
|
403
458
|
rgbToHex,
|
|
404
459
|
rgbToHsv,
|
|
405
460
|
ruleDepth,
|
|
461
|
+
schedulingGridDays,
|
|
406
462
|
searchSegments,
|
|
407
463
|
selectRangeDate,
|
|
464
|
+
setRuleCombinator,
|
|
408
465
|
shiftSpan,
|
|
409
466
|
snapToStep,
|
|
410
467
|
startOfMonth,
|
|
@@ -412,9 +469,11 @@ export {
|
|
|
412
469
|
summarizeDiff,
|
|
413
470
|
summarizeFilter,
|
|
414
471
|
summarizeRule,
|
|
472
|
+
textDiffRows,
|
|
415
473
|
timelineTicks,
|
|
416
474
|
toDateKey,
|
|
417
475
|
toast,
|
|
476
|
+
tokenizeText,
|
|
418
477
|
traverseRelationshipNode,
|
|
419
478
|
treeNav,
|
|
420
479
|
useAnchoredPosition,
|
|
@@ -425,5 +484,9 @@ export {
|
|
|
425
484
|
validateRuleDefinition,
|
|
426
485
|
wrapEdgeLabel,
|
|
427
486
|
zonedDateKey,
|
|
428
|
-
zonedDateSpan
|
|
487
|
+
zonedDateSpan,
|
|
488
|
+
zonedDayBounds,
|
|
489
|
+
zonedDaySpan,
|
|
490
|
+
zonedHourSlots,
|
|
491
|
+
zonedTimeOfDay
|
|
429
492
|
};
|
package/dist/labels-context.d.ts
CHANGED
|
@@ -1,12 +1,26 @@
|
|
|
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
|
+
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`.
|
package/dist/overlay-position.js
CHANGED
|
@@ -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 {
|