@qtalo/qt-ui-library 0.1.16 → 0.1.19

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/dist/index.d.ts CHANGED
@@ -189,7 +189,7 @@ md: string;
189
189
  lg: string;
190
190
  xl: string;
191
191
  };
192
- }, undefined, "flex shrink-0 items-center justify-center rounded-full leading-none font-semibold select-none", {
192
+ }, undefined, "font-semibold flex shrink-0 items-center justify-center rounded-full leading-none select-none", {
193
193
  size: {
194
194
  xs: string;
195
195
  sm: string;
@@ -205,7 +205,7 @@ md: string;
205
205
  lg: string;
206
206
  xl: string;
207
207
  };
208
- }, undefined, "flex shrink-0 items-center justify-center rounded-full leading-none font-semibold select-none", unknown, unknown, undefined>>;
208
+ }, undefined, "font-semibold flex shrink-0 items-center justify-center rounded-full leading-none select-none", unknown, unknown, undefined>>;
209
209
 
210
210
  export declare function Badge({ icon, label, action, className, ...props }: BadgeProps): JSX.Element;
211
211
 
@@ -485,7 +485,7 @@ lg: string;
485
485
 
486
486
  declare type DividerVariants = VariantProps<typeof dividerStyles>;
487
487
 
488
- export declare function Dropdown({ trigger, children, align, side, offsetX, offsetY, disabled, }: DropdownProps): JSX.Element;
488
+ export declare function Dropdown({ trigger, children, align, side, offsetX, offsetY, disabled, openOnHover, open: openControlled, onOpenChange, }: DropdownProps): JSX.Element;
489
489
 
490
490
  export declare type DropdownAlign = "start" | "end" | "center";
491
491
 
@@ -493,6 +493,8 @@ export declare const DropdownContext: Context<DropdownContextValue | null>;
493
493
 
494
494
  declare type DropdownContextValue = {
495
495
  close: () => void;
496
+ /** Same behavior as opening via hover (clears hover close delay). */
497
+ open: () => void;
496
498
  };
497
499
 
498
500
  export declare function DropdownMenu({ trigger, children, className, ...props }: DropdownMenuProps): JSX.Element;
@@ -533,6 +535,19 @@ export declare type DropdownProps = {
533
535
  */
534
536
  offsetY?: number;
535
537
  disabled?: boolean;
538
+ /**
539
+ * When `true` (default), the menu opens on pointer enter and stays open while
540
+ * moving between the trigger and the floating content (with a short close delay).
541
+ * When `false`, only clicking the trigger toggles the menu; click outside still closes.
542
+ */
543
+ openOnHover?: boolean;
544
+ /**
545
+ * Controlled open state. When set, you must update it in `onOpenChange` (or equivalent)
546
+ * so the dropdown stays in sync with user interaction.
547
+ */
548
+ open?: boolean;
549
+ /** Notified when the dropdown should open or close (hover, click, outside click, context). */
550
+ onOpenChange?: (open: boolean) => void;
536
551
  };
537
552
 
538
553
  export declare type DropdownSide = "top" | "bottom";
@@ -554,6 +569,7 @@ export declare type EmailDetail = {
554
569
 
555
570
  export declare function EmptyBoxIcon({ pathProps, ...props }: IconProps): JSX.Element;
556
571
 
572
+ /** @deprecated Use `EVENT_SUMMARY_CARD_HEIGHT_SIZE` from `@ui-types/sizes` instead. */
557
573
  export declare const EVENT_CARD_HEIGHT_SIZE: {
558
574
  normal: {
559
575
  style: string;
@@ -565,12 +581,21 @@ export declare const EVENT_CARD_HEIGHT_SIZE: {
565
581
  };
566
582
  };
567
583
 
584
+ export declare const EVENT_SUMMARY_CARD_HEIGHT_SIZE: {
585
+ style: string;
586
+ value: number;
587
+ };
588
+
589
+ /** @deprecated Use `EventSummaryCard` from `@patterns/event-summary-card/event-summary-card` instead. */
568
590
  export declare type EventActions = Partial<Record<EventActionType, ActionConfig>>;
569
591
 
592
+ /** @deprecated Use `EventSummaryCard` from `@patterns/event-summary-card/event-summary-card` instead. */
570
593
  export declare type EventActionType = "fire" | "done" | "link";
571
594
 
595
+ /** @deprecated Use `EventSummaryCard` from `@patterns/event-summary-card/event-summary-card` instead. */
572
596
  export declare function EventCard({ icon, service, sender, title, content, timestamp, timestampTooltip, workspace, read, selected, onSelect, checked, onCheckedChange, statusBadges, actions, density, className, style, isPriority, isDone, }: EventCardProps): JSX.Element;
573
597
 
598
+ /** @deprecated Use `EventSummaryCard` from `@patterns/event-summary-card/event-summary-card` instead. */
574
599
  export declare type EventCardProps = {
575
600
  icon: ReactNode;
576
601
  service: string;
@@ -602,7 +627,7 @@ export declare type EventCardSkeletonProps = {
602
627
  style?: CSSProperties;
603
628
  };
604
629
 
605
- export declare function EventDetail({ events, expandedEventIndex }: EventDetailProps): JSX.Element | null;
630
+ export declare function EventDetail({ events, expandedEventIndex, onFireClick, }: EventDetailProps): JSX.Element | null;
606
631
 
607
632
  export declare function EventDetailContentCalendar({ detail: { summary, body, priorityText, from, to, link, location }, className, }: EventDetailContentCalendarProps): JSX.Element;
608
633
 
@@ -618,12 +643,11 @@ export declare type EventDetailContentEmailProps = {
618
643
  className?: string;
619
644
  };
620
645
 
621
- export declare function EventDetailContentHeader({ summary, priorityText, highlightPriority, children, className, }: EventDetailContentHeaderProps): JSX.Element;
646
+ export declare function EventDetailContentHeader({ summary, priorityText, children, className, }: EventDetailContentHeaderProps): JSX.Element;
622
647
 
623
648
  export declare type EventDetailContentHeaderProps = {
624
649
  summary?: string;
625
650
  priorityText?: string;
626
- highlightPriority?: boolean;
627
651
  className?: string;
628
652
  children: ReactNode;
629
653
  };
@@ -642,7 +666,7 @@ export declare type EventDetailContentTicketProps = {
642
666
  className?: string;
643
667
  };
644
668
 
645
- export declare function EventDetailHeader({ icon, subject, from, prefixTimestamp, timestamp, isPriority, isOpen, isFirstEvent, isSingleEvent, className, }: EventDetailHeaderProps): JSX.Element;
669
+ export declare function EventDetailHeader({ icon, subject, from, prefixTimestamp, timestamp, isPriority, isOpen, isFirstEvent, isSingleEvent, className, onFireClick, }: EventDetailHeaderProps): JSX.Element;
646
670
 
647
671
  export declare type EventDetailHeaderProps = {
648
672
  icon: ReactElement<IconProps>;
@@ -655,6 +679,7 @@ export declare type EventDetailHeaderProps = {
655
679
  isFirstEvent: boolean;
656
680
  isSingleEvent: boolean;
657
681
  className?: string;
682
+ onFireClick: () => void;
658
683
  };
659
684
 
660
685
  /**
@@ -685,6 +710,7 @@ export declare type EventDetailPriorityProps = {
685
710
  export declare type EventDetailProps = {
686
711
  events: EventDetailItem[];
687
712
  expandedEventIndex?: number;
713
+ onFireClick: () => void;
688
714
  };
689
715
 
690
716
  export declare function EventDetailSkeleton({ className }: EventDetailSkeletonProps): JSX.Element;
@@ -707,10 +733,57 @@ export declare type EventEmptyStateProps = {
707
733
  description: ReactNode;
708
734
  };
709
735
 
736
+ /** @deprecated Use `EventSummaryCard` from `@patterns/event-summary-card/event-summary-card` instead. */
710
737
  export declare type EventStatusBadges = Partial<Record<EventStatusBadgeType, StatusBadgeConfig>>;
711
738
 
739
+ /** @deprecated Use `EventSummaryCard` from `@patterns/event-summary-card/event-summary-card` instead. */
712
740
  export declare type EventStatusBadgeType = "fire" | "insight" | "done";
713
741
 
742
+ export declare function EventSummaryCard({ icon, service, sender, title, content, timestamp, workspace, selected, onSelect, actions, className, }: EventSummaryCardProps): JSX.Element;
743
+
744
+ export declare type EventSummaryCardActions = {
745
+ fire: EventSummaryCardFireAction;
746
+ insight?: EventSummaryCardInsight;
747
+ link: EventSummaryCardLinkAction;
748
+ };
749
+
750
+ export declare type EventSummaryCardFireAction = {
751
+ onClick: () => void;
752
+ active?: boolean;
753
+ };
754
+
755
+ export declare type EventSummaryCardInsight = {
756
+ label: string | null;
757
+ };
758
+
759
+ export declare type EventSummaryCardLinkAction = {
760
+ tooltip: string;
761
+ onClick: () => void;
762
+ };
763
+
764
+ export declare type EventSummaryCardProps = {
765
+ icon: ReactNode;
766
+ service: string;
767
+ sender: string;
768
+ title: string;
769
+ content: string;
770
+ timestamp: string;
771
+ workspace: string;
772
+ selected?: boolean;
773
+ onSelect?: () => void;
774
+ actions: EventSummaryCardActions;
775
+ className?: string;
776
+ };
777
+
778
+ export declare function EventSummaryCardSkeleton({ className, style, }: EventSummaryCardSkeletonProps): JSX.Element;
779
+
780
+ export declare type EventSummaryCardSkeletonProps = {
781
+ className?: string;
782
+ style?: CSSProperties;
783
+ };
784
+
785
+ export declare function EventSummaryFireButton({ active, onClick, }: Pick<EventSummaryCardFireAction, "active" | "onClick">): JSX.Element;
786
+
714
787
  export declare type EventType = "email" | "message" | "ticket" | "calendar";
715
788
 
716
789
  export declare function ExternalLinkIcon({ pathProps, ...props }: IconProps): JSX.Element;
@@ -718,6 +791,7 @@ export declare function ExternalLinkIcon({ pathProps, ...props }: IconProps): JS
718
791
  declare const FILTER_BUTTON_META: {
719
792
  readonly fire: {
720
793
  readonly icon: typeof FireIcon;
794
+ readonly selectedIcon: typeof FireFillIcon;
721
795
  readonly label: "Fire";
722
796
  readonly iconColor: "text-tertiary-500";
723
797
  };
@@ -728,6 +802,7 @@ declare const FILTER_BUTTON_META: {
728
802
  };
729
803
  readonly insight: {
730
804
  readonly icon: typeof InsightIcon;
805
+ readonly selectedIcon: typeof InsightFillIcon;
731
806
  readonly label: "Insights";
732
807
  readonly iconColor: "text-primary-600";
733
808
  };
@@ -772,6 +847,8 @@ export declare type FilterButtonProps = Omit<ButtonProps, "children" | "classNam
772
847
 
773
848
  declare type FilterButtonVariant = keyof typeof FILTER_BUTTON_META | "custom";
774
849
 
850
+ export declare function FireFillIcon({ pathProps, ...props }: IconProps): JSX.Element;
851
+
775
852
  export declare function FireIcon({ pathProps, ...props }: IconProps): JSX.Element;
776
853
 
777
854
  /**
@@ -826,6 +903,42 @@ export declare function GmailIcon(props: IconProps): JSX.Element;
826
903
 
827
904
  export declare function GoogleCalendarIcon(props: IconProps): JSX.Element;
828
905
 
906
+ export declare function HelpPanel({ classNames: userClassNames, ...rest }: HelpPanelProps): JSX.Element;
907
+
908
+ export declare function HelpPanelEngine({ title, items, footer, closeLabel, defaultOpenValue, classNames, }: HelpPanelEngineProps): JSX.Element;
909
+
910
+ export declare type HelpPanelEngineClassNames = {
911
+ root?: string;
912
+ header?: string;
913
+ title?: string;
914
+ closeButton?: string;
915
+ body?: string;
916
+ accordion?: string;
917
+ item?: string;
918
+ itemTrigger?: string;
919
+ itemContent?: string;
920
+ footer?: string;
921
+ };
922
+
923
+ export declare type HelpPanelEngineItem = {
924
+ value: string;
925
+ label: ReactNode;
926
+ content: ReactNode;
927
+ };
928
+
929
+ export declare type HelpPanelEngineProps = {
930
+ title: ReactNode;
931
+ items: HelpPanelEngineItem[];
932
+ footer?: ReactNode;
933
+ closeLabel?: string;
934
+ defaultOpenValue?: string;
935
+ classNames?: HelpPanelEngineClassNames;
936
+ };
937
+
938
+ export declare type HelpPanelProps = HelpPanelEngineProps;
939
+
940
+ export declare function HomeIcon({ pathProps, ...props }: IconProps): JSX.Element;
941
+
829
942
  export declare function Icon({ size, className, viewBox, children, ...props }: IconProps): JSX.Element;
830
943
 
831
944
  export declare function IconButton({ icon, ...props }: IconButtonProps): JSX.Element;
@@ -960,6 +1073,8 @@ export declare type IconProps = SVGProps<SVGSVGElement> & {
960
1073
  pathProps?: SVGProps<SVGPathElement>;
961
1074
  };
962
1075
 
1076
+ export declare function InboxIcon({ pathProps, ...props }: IconProps): JSX.Element;
1077
+
963
1078
  export declare function InfoTooltip({ className, ...props }: InfoTooltipProps): JSX.Element;
964
1079
 
965
1080
  export declare type InfoTooltipProps = TooltipProps;
@@ -978,6 +1093,8 @@ declare type InputProps = {
978
1093
  className?: string;
979
1094
  };
980
1095
 
1096
+ export declare function InsightFillIcon({ pathProps, ...props }: IconProps): JSX.Element;
1097
+
981
1098
  export declare function InsightIcon({ pathProps, ...props }: IconProps): JSX.Element;
982
1099
 
983
1100
  export declare function IntegrationBar({ orientation, children, onAddMore, className, }: IntegrationBarProps): JSX.Element;
@@ -1054,6 +1171,8 @@ declare type Listener = (toasts: ToastItem[]) => void;
1054
1171
 
1055
1172
  export declare function LogoIcon({ pathProps, ...props }: IconProps): JSX.Element;
1056
1173
 
1174
+ export declare function MailIcon({ pathProps, ...props }: IconProps): JSX.Element;
1175
+
1057
1176
  /**
1058
1177
  * Message type.
1059
1178
  * Represents an individual message inside a conversation.
@@ -1111,6 +1230,113 @@ export declare function normalizeContent(content: string): string;
1111
1230
 
1112
1231
  export declare function NotFireIcon({ pathProps, ...props }: IconProps): JSX.Element;
1113
1232
 
1233
+ /**
1234
+ * OnboardingEngine + measured OnboardingCard portaled to `document.body`.
1235
+ * Step visibility and order come from `steps` and `context`.
1236
+ */
1237
+ export declare function Onboarding<TContext>({ steps, context, onFinish, }: OnboardingProps<TContext>): JSX.Element;
1238
+
1239
+ /**
1240
+ * Presentational onboarding callout: purple card, arrow, and optional actions.
1241
+ * Fully controlled via props — compose with `OnboardingEngine` or any flow logic in your app.
1242
+ */
1243
+ export declare function OnboardingCard({ stepLabel, title, description, titleAccessory, primaryAction, secondaryAction, layout, arrowPlacement, arrowWrapperClassName, arrowWrapperStyle, className, cardClassName, }: OnboardingCardProps): JSX.Element;
1244
+
1245
+ /** Where the arrow sits relative to the card (LTR: before = left or top, after = right or bottom). */
1246
+ export declare type OnboardingCardArrowPlacement = "before" | "after";
1247
+
1248
+ export declare type OnboardingCardLayout = "horizontal" | "vertical";
1249
+
1250
+ export declare type OnboardingCardProps = {
1251
+ /** Small uppercase line above the title (e.g. progress hint from the app). */
1252
+ stepLabel?: ReactNode;
1253
+ title: ReactNode;
1254
+ description: ReactNode;
1255
+ /** Renders beside the title (e.g. help link). */
1256
+ titleAccessory?: ReactNode;
1257
+ primaryAction?: ReactNode;
1258
+ secondaryAction?: ReactNode;
1259
+ layout: OnboardingCardLayout;
1260
+ /** @default "before" */
1261
+ arrowPlacement?: OnboardingCardArrowPlacement;
1262
+ /** Wraps the arrow only (e.g. horizontal offset for a vertical callout). */
1263
+ arrowWrapperClassName?: string;
1264
+ arrowWrapperStyle?: CSSProperties;
1265
+ className?: string;
1266
+ cardClassName?: string;
1267
+ };
1268
+
1269
+ /**
1270
+ * Headless onboarding: first step in `steps` that is not dismissed and passes
1271
+ * `isVisible(context)` is the active one. Dismissing does not advance until the
1272
+ * next step’s predicate becomes true.
1273
+ */
1274
+ export declare function OnboardingEngine<TContext, TStep extends OnboardingEngineStep<TContext>>({ steps, context, children }: OnboardingEngineProps<TContext, TStep>): JSX.Element;
1275
+
1276
+ export declare type OnboardingEngineActions = {
1277
+ dismissCurrentStep: () => void;
1278
+ dismissStep: (id: string) => void;
1279
+ /** Mark every step id as dismissed. */
1280
+ skipAll: () => void;
1281
+ /** Same as `skipAll`. */
1282
+ close: () => void;
1283
+ };
1284
+
1285
+ export declare type OnboardingEngineChildProps<TContext, TStep extends OnboardingEngineStep<TContext>> = {
1286
+ context: TContext;
1287
+ currentStep: TStep | null;
1288
+ /** Index of `currentStep` in `steps`, or `null`. */
1289
+ currentStepIndex: number | null;
1290
+ dismissedStepIds: ReadonlySet<string>;
1291
+ actions: OnboardingEngineActions;
1292
+ };
1293
+
1294
+ export declare type OnboardingEngineProps<TContext, TStep extends OnboardingEngineStep<TContext>> = {
1295
+ steps: readonly TStep[];
1296
+ context: TContext;
1297
+ children: (props: OnboardingEngineChildProps<TContext, TStep>) => ReactNode;
1298
+ };
1299
+
1300
+ /** Step definition: `isVisible` gates eligibility; dismissed steps are skipped in order. */
1301
+ export declare type OnboardingEngineStep<TContext = unknown> = {
1302
+ id: string;
1303
+ isVisible: (context: TContext) => boolean;
1304
+ };
1305
+
1306
+ /** Vertical placement for `layout="horizontal"` callouts beside the target. */
1307
+ export declare type OnboardingHorizontalAlign = "target-center" | "viewport-center";
1308
+
1309
+ export declare type OnboardingPatternStep<TContext = unknown> = {
1310
+ id: string;
1311
+ targetId: string;
1312
+ isVisible: (context: TContext) => boolean;
1313
+ stepLabel?: ReactNode;
1314
+ title: ReactNode;
1315
+ description: ReactNode;
1316
+ titleAccessory?: ReactNode;
1317
+ layout: OnboardingCardLayout;
1318
+ arrowPlacement?: OnboardingCardArrowPlacement;
1319
+ /**
1320
+ * For `layout="horizontal"`: vertical position of the fixed callout.
1321
+ * @default "target-center"
1322
+ */
1323
+ horizontalAlign?: OnboardingHorizontalAlign;
1324
+ className?: string;
1325
+ cardClassName?: string;
1326
+ arrowWrapperClassName?: string;
1327
+ arrowWrapperStyle?: CSSProperties;
1328
+ };
1329
+
1330
+ export declare type OnboardingProps<TContext = unknown> = {
1331
+ /**
1332
+ * Flow order follows this array. When the list length or ids change materially,
1333
+ * remount `Onboarding` (e.g. `key`) so dismissal state resets.
1334
+ */
1335
+ steps: readonly OnboardingPatternStep<TContext>[];
1336
+ context: TContext;
1337
+ onFinish?: () => void;
1338
+ };
1339
+
1114
1340
  export declare function OutlookCalendarIcon(props: IconProps): JSX.Element;
1115
1341
 
1116
1342
  export declare function OutlookIcon(props: IconProps): JSX.Element;