@flikk/ui 1.0.0-beta.25 → 1.0.0-beta.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/dist/components/ai/CodeBlock/CodeBlock.theme.js +2 -2
  2. package/dist/components/ai/PromptInput/PromptInput.js +1 -0
  3. package/dist/components/ai/PromptInput/VoiceRecorder.js +1 -0
  4. package/dist/components/ai/StreamingResponse/MarkdownRenderer.js +1 -1
  5. package/dist/components/ai/TokenCounter/TokenCounter.theme.js +1 -1
  6. package/dist/components/charts/BarChart/BarChart.js +2 -2
  7. package/dist/components/charts/StackedBarChart/StackedBarChart.js +1 -1
  8. package/dist/components/charts/shared/BarRenderer/BarRenderer.js +2 -2
  9. package/dist/components/core/Breadcrumbs/Breadcrumbs.theme.js +1 -1
  10. package/dist/components/core/Button/Button.js +1 -1
  11. package/dist/components/core/Button/Button.theme.js +4 -4
  12. package/dist/components/core/Calendar/CalendarMini/CalendarMini.theme.js +1 -1
  13. package/dist/components/core/ContextMenu/ContextMenu.theme.js +1 -1
  14. package/dist/components/core/Drawer/Drawer.theme.js +2 -2
  15. package/dist/components/core/Dropdown/Dropdown.theme.js +2 -2
  16. package/dist/components/core/Empty/Empty.js +1 -1
  17. package/dist/components/core/ImagePlaceholder/ImagePlaceholder.d.ts +14 -0
  18. package/dist/components/core/ImagePlaceholder/ImagePlaceholder.js +28 -0
  19. package/dist/components/core/ImagePlaceholder/ImagePlaceholder.theme.d.ts +6 -0
  20. package/dist/components/core/ImagePlaceholder/ImagePlaceholder.theme.js +8 -0
  21. package/dist/components/core/ImagePlaceholder/ImagePlaceholder.types.d.ts +32 -0
  22. package/dist/components/core/ImagePlaceholder/index.d.ts +2 -0
  23. package/dist/components/core/Message/Message.theme.js +1 -1
  24. package/dist/components/core/Modal/Modal.theme.js +1 -1
  25. package/dist/components/core/NavItem/NavItem.d.ts +1 -1
  26. package/dist/components/core/NavItem/NavItem.js +171 -68
  27. package/dist/components/core/NavItem/NavItem.theme.js +20 -12
  28. package/dist/components/core/NavItem/NavItem.types.d.ts +17 -39
  29. package/dist/components/core/Pagination/Pagination.theme.js +3 -3
  30. package/dist/components/core/Popover/Popover.theme.js +1 -1
  31. package/dist/components/core/Progress/Progress.theme.js +1 -1
  32. package/dist/components/core/ScrollArea/ScrollArea.js +2 -2
  33. package/dist/components/core/ScrollArea/ScrollArea.theme.js +1 -1
  34. package/dist/components/core/Segmented/Segmented.js +8 -6
  35. package/dist/components/core/Segmented/Segmented.theme.js +3 -3
  36. package/dist/components/core/Sidebar/Sidebar.d.ts +1 -1
  37. package/dist/components/core/Sidebar/Sidebar.js +42 -13
  38. package/dist/components/core/Sidebar/Sidebar.theme.js +5 -7
  39. package/dist/components/core/Sidebar/Sidebar.types.d.ts +33 -4
  40. package/dist/components/core/Sidebar/SidebarContent.js +6 -6
  41. package/dist/components/core/Sidebar/SidebarContext.d.ts +17 -16
  42. package/dist/components/core/Sidebar/SidebarContext.js +42 -19
  43. package/dist/components/core/Sidebar/SidebarFooter.js +4 -6
  44. package/dist/components/core/Sidebar/SidebarHeader.js +4 -9
  45. package/dist/components/core/Sidebar/SidebarLogo.js +3 -7
  46. package/dist/components/core/Sidebar/SidebarNav.js +4 -3
  47. package/dist/components/core/Sidebar/SidebarNavGroup.js +4 -7
  48. package/dist/components/core/Sidebar/SidebarToggle.js +6 -1
  49. package/dist/components/core/Sidebar/SidebarUserProfile.js +33 -17
  50. package/dist/components/core/Sidebar/index.d.ts +2 -3
  51. package/dist/components/core/Skeleton/Skeleton.theme.js +1 -1
  52. package/dist/components/core/Spinner/Spinner.theme.js +1 -1
  53. package/dist/components/core/Tabs/Tabs.js +6 -1
  54. package/dist/components/core/Tabs/Tabs.types.d.ts +2 -0
  55. package/dist/components/core/Tabs/TabsBody.js +5 -3
  56. package/dist/components/core/Tag/Tag.theme.js +1 -1
  57. package/dist/components/core/index.d.ts +1 -0
  58. package/dist/components/core/index.js +2 -2
  59. package/dist/components/data-display/GanttChart/GanttTableGroupRow.js +1 -1
  60. package/dist/components/data-display/KPI/KPI.js +13 -3
  61. package/dist/components/data-display/KPI/KPI.theme.js +3 -3
  62. package/dist/components/data-display/Metric/Metric.theme.js +3 -3
  63. package/dist/components/data-display/Table/Table.js +4 -3
  64. package/dist/components/data-display/Table/Table.theme.js +11 -1
  65. package/dist/components/data-display/Table/Table.types.d.ts +15 -0
  66. package/dist/components/data-display/Table/TableColumnManager.js +1 -1
  67. package/dist/components/data-display/Table/index.d.ts +2 -2
  68. package/dist/components/effects/Aurora/Aurora.js +79 -40
  69. package/dist/components/effects/InteractiveCharacters/InteractiveCharacters.js +3 -3
  70. package/dist/components/effects/InteractiveCharacters/characters/BlobCharacter.js +13 -4
  71. package/dist/components/effects/InteractiveCharacters/characters/SmallCharacter.js +13 -4
  72. package/dist/components/effects/InteractiveCharacters/characters/TallCharacter.js +14 -4
  73. package/dist/components/effects/MorphingText/MorphingText.js +40 -7
  74. package/dist/components/effects/StripePattern/StripePattern.d.ts +18 -0
  75. package/dist/components/effects/StripePattern/StripePattern.js +54 -0
  76. package/dist/components/effects/StripePattern/StripePattern.types.d.ts +53 -0
  77. package/dist/components/effects/StripePattern/index.d.ts +2 -0
  78. package/dist/components/effects/index.d.ts +2 -0
  79. package/dist/components/effects/index.js +1 -0
  80. package/dist/components/forms/Checkbox/Checkbox.theme.js +1 -1
  81. package/dist/components/forms/CronInput/CronInput.theme.js +16 -16
  82. package/dist/components/forms/DatePicker/DatePickerTrigger.js +1 -1
  83. package/dist/components/forms/DateRangePicker/DateRangePicker.theme.js +1 -1
  84. package/dist/components/forms/DateRangePicker/DateRangePickerTrigger.js +1 -1
  85. package/dist/components/forms/FileUpload/FileUpload.js +1 -1
  86. package/dist/components/forms/FileUpload/FileUploadProgress.js +27 -20
  87. package/dist/components/forms/FileUpload/FileUploadProgress.theme.js +2 -2
  88. package/dist/components/forms/Input/Input.theme.js +9 -11
  89. package/dist/components/forms/Mention/Mention.theme.js +3 -3
  90. package/dist/components/forms/Radio/Radio.theme.js +1 -1
  91. package/dist/components/forms/RichTextEditor/RichTextEditor.d.ts +18 -0
  92. package/dist/components/forms/RichTextEditor/RichTextEditor.js +1231 -236
  93. package/dist/components/forms/RichTextEditor/RichTextEditor.theme.d.ts +53 -1
  94. package/dist/components/forms/RichTextEditor/RichTextEditor.theme.js +99 -25
  95. package/dist/components/forms/RichTextEditor/RichTextEditor.types.d.ts +42 -3
  96. package/dist/components/forms/RichTextEditor/index.d.ts +2 -2
  97. package/dist/components/forms/Select/Select.js +1 -1
  98. package/dist/components/forms/Slider/Slider.theme.js +1 -1
  99. package/dist/components/forms/Switch/Switch.theme.js +1 -1
  100. package/dist/components/forms/TimePicker/TimePicker.theme.js +2 -2
  101. package/dist/components/forms/TimePicker/TimePickerContent.js +1 -0
  102. package/dist/components/forms/TimePicker/TimePickerTrigger.js +1 -1
  103. package/dist/components/forms/forms.theme.js +12 -12
  104. package/dist/components/forms/index.js +1 -0
  105. package/dist/components/layout/FormLayout/FormLayout.js +6 -4
  106. package/dist/components/layout/FormLayout/FormLayout.types.d.ts +3 -3
  107. package/dist/components/layout/FormLayout/FormLayoutSection.js +6 -1
  108. package/dist/components/layout/PageLayout/PageLayout.d.ts +2 -2
  109. package/dist/components/layout/PageLayout/PageLayout.js +23 -5
  110. package/dist/components/layout/PageLayout/PageLayout.theme.d.ts +2 -1
  111. package/dist/components/layout/PageLayout/PageLayout.theme.js +35 -6
  112. package/dist/components/layout/PageLayout/PageLayout.types.d.ts +45 -0
  113. package/dist/components/layout/PageLayout/PageLayoutContent.js +6 -4
  114. package/dist/components/layout/PageLayout/PageLayoutHeader.js +3 -3
  115. package/dist/components/layout/PageLayout/PageLayoutSidebar.js +5 -3
  116. package/dist/components/layout/PageLayout/index.d.ts +1 -1
  117. package/dist/index.js +2 -2
  118. package/dist/styles.css +1 -1
  119. package/package.json +1 -1
  120. package/src/styles/theme.css +127 -92
  121. package/dist/components/core/Sidebar/SidebarSubmenu.d.ts +0 -7
  122. package/dist/components/core/Sidebar/SidebarSubmenu.js +0 -12
@@ -8,17 +8,15 @@ const inputTheme = {
8
8
  // Base container styles
9
9
  wrapperStyle: formsBaseTheme.wrapperStyle,
10
10
  // Input group styles - no focus-within (focus is managed via JS for contentStart/contentEnd compatibility)
11
- inputGroupStyle: "relative flex rounded-[var(--form-radius)] outline outline-1 outline-[var(--color-border)] " +
11
+ inputGroupStyle: "relative flex rounded-[var(--form-radius)] shadow-[inset_0_0_0_1px_var(--color-border)] " +
12
12
  "bg-white transition-all " +
13
- "dark:bg-[var(--color-neutral-900)] dark:outline-[var(--color-neutral-700)]",
13
+ "dark:shadow-[inset_0_0_0_1px_var(--color-neutral-700)] dark:bg-[var(--color-neutral-900)]",
14
14
  // JS-driven focus ring (applied when isFocused is true)
15
- inputGroupFocusStyle: "outline-2 outline-[var(--color-primary-600)] -outline-offset-1 " +
16
- "ring-4 ring-[var(--color-primary)]/10 " +
17
- "dark:outline-[var(--color-primary-500)] dark:ring-[var(--color-primary-500)]/20",
15
+ inputGroupFocusStyle: "shadow-[inset_0_0_0_2px_var(--color-primary-600)] ring-4 ring-[var(--color-primary)]/10 " +
16
+ "dark:shadow-[inset_0_0_0_2px_var(--color-primary-500)] dark:ring-[var(--color-primary-500)]/20",
18
17
  // JS-driven focus ring for invalid state
19
- inputGroupFocusInvalidStyle: "outline-2 outline-[var(--color-danger)] -outline-offset-1 " +
20
- "ring-4 ring-[var(--color-danger)]/10 " +
21
- "dark:outline-[var(--color-danger-500)] dark:ring-[var(--color-danger-500)]/20",
18
+ inputGroupFocusInvalidStyle: "shadow-[inset_0_0_0_2px_var(--color-danger)] ring-4 ring-[var(--color-danger)]/10 " +
19
+ "dark:shadow-[inset_0_0_0_2px_var(--color-danger-500)] dark:ring-[var(--color-danger-500)]/20",
22
20
  // Base input styles - extends common form control with design tokens
23
21
  baseStyle: `${formsBaseTheme.controlBaseStyle} py-2 px-3`,
24
22
  // Size variants - composed from atomic tokens
@@ -31,8 +29,8 @@ const inputTheme = {
31
29
  states: {
32
30
  default: formsBaseTheme.states.default,
33
31
  disabled: formsBaseTheme.states.disabled,
34
- invalid: "outline-[var(--color-danger)] bg-[var(--color-danger-50)] " +
35
- "dark:bg-[var(--color-danger-950)]/30 dark:outline-[var(--color-danger-500)]",
32
+ invalid: "shadow-[inset_0_0_0_1px_var(--color-danger)] bg-[var(--color-danger-50)] " +
33
+ "dark:bg-[var(--color-danger-950)]/30 dark:shadow-[inset_0_0_0_1px_var(--color-danger-500)]",
36
34
  },
37
35
  // Helper text styles with state handling
38
36
  helperText: formsBaseTheme.helperText,
@@ -67,7 +65,7 @@ const inputTheme = {
67
65
  // Number input controls
68
66
  numberButtonsContainerStyle: "absolute inset-y-0 right-0 flex flex-row items-center pr-2 z-10 gap-1",
69
67
  numberButtonStyle: "bg-[var(--color-background-secondary)] flex items-center justify-center " +
70
- "text-[var(--color-text-muted)] hover:bg-[var(--color-background-tertiary)] " +
68
+ "text-[var(--color-text-muted)] hover:bg-[var(--color-surface-hover)] " +
71
69
  "hover:text-[var(--color-text-primary)] cursor-pointer size-6 rounded-sm transition-colors " +
72
70
  "dark:bg-[var(--color-neutral-800)] dark:text-[var(--color-neutral-500)] " +
73
71
  "dark:hover:bg-[var(--color-neutral-700)] dark:hover:text-[var(--color-neutral-200)]",
@@ -10,9 +10,9 @@ const mentionTheme = {
10
10
  // Input group container with outline and focus ring
11
11
  inputGroupStyle: formsBaseTheme.inputGroupBaseStyle,
12
12
  // JS-driven focus ring (applied when editable div is focused)
13
- inputGroupFocusStyle: "outline-2 outline-[var(--color-primary-600)] -outline-offset-1 " +
13
+ inputGroupFocusStyle: "shadow-[inset_0_0_0_2px_var(--color-primary-600)] " +
14
14
  "ring-4 ring-[var(--color-primary)]/10 " +
15
- "dark:outline-[var(--color-primary-500)] dark:ring-[var(--color-primary-500)]/20",
15
+ "dark:shadow-[inset_0_0_0_2px_var(--color-primary-500)] dark:ring-[var(--color-primary-500)]/20",
16
16
  // Base editable div styles
17
17
  editableStyle: `${formsBaseTheme.controlBaseStyle} whitespace-pre-wrap break-words overflow-y-auto cursor-text`,
18
18
  // Size variants
@@ -35,7 +35,7 @@ const mentionTheme = {
35
35
  "dark:text-[var(--color-primary-400)] dark:bg-[var(--color-primary-400)]/10",
36
36
  // Avatar image
37
37
  suggestionAvatarStyle: "size-7 rounded-full object-cover shrink-0 " +
38
- "bg-[var(--color-background-tertiary)] dark:bg-[var(--color-neutral-700)]",
38
+ "bg-[var(--color-surface-sunken)] dark:bg-[var(--color-neutral-700)]",
39
39
  // Avatar fallback (initials circle)
40
40
  suggestionAvatarFallbackStyle: "size-7 rounded-full shrink-0 flex items-center justify-center text-xs font-medium " +
41
41
  "bg-[var(--color-primary-100)] text-[var(--color-primary-700)] " +
@@ -9,7 +9,7 @@ const radioTheme = {
9
9
  // Default state - light
10
10
  "border-[var(--color-border)] bg-[var(--color-surface)] " +
11
11
  // Default state - dark
12
- "dark:bg-[var(--color-background-tertiary)] " +
12
+ "dark:bg-[var(--color-surface-raised)] " +
13
13
  // Checked state - light
14
14
  "checked:border-[var(--color-primary)] checked:bg-white " +
15
15
  // Checked state - dark
@@ -1,3 +1,21 @@
1
1
  import React from "react";
2
2
  import { RichTextEditorProps } from "./RichTextEditor.types";
3
+ import type { FontFamilyOption } from "./RichTextEditor.types";
4
+ /**
5
+ * Curated default list of font families shipped with the editor.
6
+ * The `Default` entry clears the inline font-family. The rest are popular
7
+ * Google Fonts chosen for broad weight coverage. Each stack ends in a sensible
8
+ * fallback so text stays readable while the font is loading.
9
+ */
10
+ export declare const DEFAULT_FONT_FAMILY_OPTIONS: FontFamilyOption[];
11
+ /**
12
+ * Lazily injects a Google Fonts `<link rel="stylesheet">` for the given family.
13
+ * Idempotent: each family is requested at most once per page lifetime.
14
+ * SSR-safe (no-ops when `document` is undefined).
15
+ *
16
+ * @example
17
+ * import { loadGoogleFont } from "@flikk/ui";
18
+ * loadGoogleFont("Inter");
19
+ */
20
+ export declare const loadGoogleFont: (family: string, weights?: number[]) => void;
3
21
  export declare const RichTextEditor: React.ForwardRefExoticComponent<RichTextEditorProps & React.RefAttributes<HTMLDivElement>>;