@flikk/ui 1.0.0-beta.26 → 1.0.0-beta.27
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/components/ai/PromptInput/PromptInput.js +3 -0
- package/dist/components/ai/PromptInput/VoiceRecorder.js +3 -0
- package/dist/components/core/Button/Button.theme.js +1 -1
- package/dist/components/core/Calendar/Calendar.theme.js +1 -1
- package/dist/components/core/CommandPalette/CommandItem.js +4 -5
- package/dist/components/core/CommandPalette/CommandPalette.js +1 -1
- package/dist/components/core/CommandPalette/CommandPalette.theme.js +11 -13
- package/dist/components/core/CommandPalette/CommandPalette.types.d.ts +0 -2
- package/dist/components/core/ContextMenu/ContextMenu.theme.js +13 -14
- package/dist/components/core/DotSeparator/DotSeparator.d.ts +3 -0
- package/dist/components/core/DotSeparator/DotSeparator.js +19 -0
- package/dist/components/core/DotSeparator/DotSeparator.theme.d.ts +2 -0
- package/dist/components/core/DotSeparator/DotSeparator.theme.js +10 -0
- package/dist/components/core/DotSeparator/DotSeparator.types.d.ts +25 -0
- package/dist/components/core/DotSeparator/index.d.ts +3 -0
- package/dist/components/core/Dropdown/Dropdown.theme.js +2 -3
- package/dist/components/core/Dropdown/DropdownItem.js +1 -1
- package/dist/components/core/Dropdown/DropdownMenu.js +1 -1
- package/dist/components/core/MenuItem/MenuItem.js +5 -2
- package/dist/components/core/MenuItem/MenuItem.theme.d.ts +6 -0
- package/dist/components/core/MenuItem/MenuItem.theme.js +19 -16
- package/dist/components/core/MenuItem/MenuItem.types.d.ts +2 -0
- package/dist/components/core/NavItem/NavItem.js +20 -4
- package/dist/components/core/NavItem/NavItem.theme.js +13 -2
- package/dist/components/core/Popover/Popover.types.d.ts +6 -2
- package/dist/components/core/Popover/PopoverBody.js +10 -3
- package/dist/components/core/Segmented/Segmented.theme.js +1 -1
- package/dist/components/core/Sidebar/Sidebar.d.ts +2 -0
- package/dist/components/core/Sidebar/Sidebar.js +15 -7
- package/dist/components/core/Sidebar/Sidebar.types.d.ts +92 -4
- package/dist/components/core/Sidebar/SidebarCard.d.ts +25 -0
- package/dist/components/core/Sidebar/SidebarCard.js +68 -0
- package/dist/components/core/Sidebar/SidebarCard.theme.d.ts +8 -0
- package/dist/components/core/Sidebar/SidebarCard.theme.js +18 -0
- package/dist/components/core/Sidebar/SidebarContent.js +5 -1
- package/dist/components/core/Sidebar/SidebarContext.js +1 -1
- package/dist/components/core/Sidebar/SidebarHeader.js +10 -2
- package/dist/components/core/Sidebar/SidebarLogo.js +38 -3
- package/dist/components/core/Sidebar/SidebarSearch.d.ts +22 -0
- package/dist/components/core/Sidebar/SidebarSearch.js +135 -0
- package/dist/components/core/Sidebar/SidebarToggle.js +1 -1
- package/dist/components/core/Sidebar/SidebarUserProfile.js +2 -2
- package/dist/components/core/Sidebar/index.d.ts +3 -1
- package/dist/components/core/Tag/Tag.js +29 -5
- package/dist/components/core/Tag/Tag.theme.js +13 -8
- package/dist/components/core/Tag/Tag.types.d.ts +7 -0
- package/dist/components/core/Tooltip/Tooltip.js +1 -1
- package/dist/components/core/Tooltip/Tooltip.theme.js +1 -2
- package/dist/components/core/index.d.ts +1 -0
- package/dist/components/core/index.js +4 -0
- package/dist/components/data-display/GanttChart/GanttChart.d.ts +1 -1
- package/dist/components/data-display/GanttChart/GanttChart.js +31 -4
- package/dist/components/data-display/GanttChart/GanttChart.theme.js +19 -17
- package/dist/components/data-display/GanttChart/GanttChart.types.d.ts +19 -0
- package/dist/components/data-display/GanttChart/GanttChart.utils.js +1 -1
- package/dist/components/data-display/GanttChart/GanttChartPanel.d.ts +1 -1
- package/dist/components/data-display/GanttChart/GanttChartPanel.js +3 -3
- package/dist/components/data-display/GanttChart/GanttDependencyArrows.js +7 -4
- package/dist/components/data-display/GanttChart/GanttMilestone.js +5 -5
- package/dist/components/data-display/GanttChart/GanttTablePanel.js +1 -1
- package/dist/components/data-display/GanttChart/GanttTableTaskRow.js +2 -2
- package/dist/components/data-display/GanttChart/GanttTaskBar.js +37 -16
- package/dist/components/data-display/GanttChart/GanttTimelineGrid.js +2 -1
- package/dist/components/data-display/GanttChart/GanttTimelineHeader.js +35 -11
- package/dist/components/data-display/GanttChart/GanttToolbar.js +2 -2
- package/dist/components/data-display/GanttChart/hooks/useGanttDrag.js +3 -2
- package/dist/components/data-display/GanttChart/index.d.ts +1 -1
- package/dist/components/data-display/Table/Table.theme.js +3 -5
- package/dist/components/effects/Aurora/Aurora.d.ts +6 -17
- package/dist/components/effects/Aurora/Aurora.js +297 -131
- package/dist/components/effects/Aurora/Aurora.types.d.ts +6 -0
- package/dist/components/forms/Combobox/Combobox.js +1 -1
- package/dist/components/forms/Combobox/Combobox.theme.js +2 -4
- package/dist/components/forms/CronInput/CronInput.js +1 -1
- package/dist/components/forms/CronInput/CronInput.theme.js +14 -23
- package/dist/components/forms/DatePicker/DatePicker.theme.js +11 -18
- package/dist/components/forms/DatePicker/DatePickerTrigger.js +1 -1
- package/dist/components/forms/DateRangePicker/DateRangePicker.theme.js +6 -13
- package/dist/components/forms/DateRangePicker/DateRangePickerTrigger.js +1 -1
- package/dist/components/forms/FileUpload/FileUpload.animations.d.ts +29 -0
- package/dist/components/forms/FileUpload/FileUpload.animations.js +19 -0
- package/dist/components/forms/FileUpload/FileUpload.js +87 -48
- package/dist/components/forms/FileUpload/FileUpload.theme.d.ts +2 -10
- package/dist/components/forms/FileUpload/FileUpload.theme.js +16 -30
- package/dist/components/forms/FileUpload/FileUpload.types.d.ts +26 -10
- package/dist/components/forms/Input/Input.theme.js +13 -10
- package/dist/components/forms/InputCounter/InputCounter.theme.js +1 -1
- package/dist/components/forms/Mention/Mention.js +152 -57
- package/dist/components/forms/Mention/Mention.theme.js +16 -23
- package/dist/components/forms/Mention/Mention.types.d.ts +12 -12
- package/dist/components/forms/Mention/Mention.utils.js +32 -4
- package/dist/components/forms/RichTextEditor/RichTextEditor.js +3 -3
- package/dist/components/forms/RichTextEditor/RichTextEditor.theme.js +5 -5
- package/dist/components/forms/Select/Select.js +2 -2
- package/dist/components/forms/Select/Select.theme.js +3 -3
- package/dist/components/forms/TimePicker/TimePickerContent.js +3 -0
- package/dist/components/forms/TimePicker/TimePickerTrigger.js +1 -1
- package/dist/components/forms/forms.theme.js +21 -16
- package/dist/components/forms/index.js +3 -0
- package/dist/components/layout/AppShell/AppShell.d.ts +10 -0
- package/dist/components/layout/AppShell/AppShell.js +84 -0
- package/dist/components/layout/AppShell/AppShell.theme.d.ts +3 -0
- package/dist/components/layout/AppShell/AppShell.theme.js +42 -0
- package/dist/components/layout/AppShell/AppShell.types.d.ts +127 -0
- package/dist/components/layout/AppShell/AppShellContext.d.ts +14 -0
- package/dist/components/layout/AppShell/AppShellContext.js +19 -0
- package/dist/components/layout/AppShell/AppShellFooter.d.ts +3 -0
- package/dist/components/layout/AppShell/AppShellFooter.js +12 -0
- package/dist/components/layout/AppShell/AppShellHeader.d.ts +3 -0
- package/dist/components/layout/AppShell/AppShellHeader.js +12 -0
- package/dist/components/layout/AppShell/AppShellMain.d.ts +3 -0
- package/dist/components/layout/AppShell/AppShellMain.js +19 -0
- package/dist/components/layout/AppShell/AppShellRightPanel.d.ts +3 -0
- package/dist/components/layout/AppShell/AppShellRightPanel.js +16 -0
- package/dist/components/layout/AppShell/AppShellSidebar.d.ts +3 -0
- package/dist/components/layout/AppShell/AppShellSidebar.js +16 -0
- package/dist/components/layout/AppShell/AppShellTopbar.d.ts +3 -0
- package/dist/components/layout/AppShell/AppShellTopbar.js +12 -0
- package/dist/components/layout/AppShell/index.d.ts +3 -0
- package/dist/components/layout/FormLayout/FormLayout.js +3 -0
- package/dist/components/layout/index.d.ts +1 -0
- package/dist/components/layout/index.js +2 -0
- package/dist/hooks/useSelectPortal.d.ts +10 -2
- package/dist/hooks/useSelectPortal.js +45 -24
- package/dist/index.js +6 -0
- package/dist/registry.json +10021 -0
- package/dist/styles.css +1 -1
- package/dist/utils/dateUtils.js +11 -1
- package/package.json +4 -2
- package/src/global.scss +29 -8
- package/src/styles/theme.css +51 -12
package/dist/utils/dateUtils.js
CHANGED
|
@@ -191,5 +191,15 @@ function getDaysBetween(a, b) {
|
|
|
191
191
|
const end = toDate(b);
|
|
192
192
|
return Math.round((end.getTime() - start.getTime()) / 86400000) + 1;
|
|
193
193
|
}
|
|
194
|
+
/**
|
|
195
|
+
* Get the ISO week number for a date.
|
|
196
|
+
*/
|
|
197
|
+
function getWeekNumber(date) {
|
|
198
|
+
const d = new Date(date);
|
|
199
|
+
d.setHours(0, 0, 0, 0);
|
|
200
|
+
d.setDate(d.getDate() + 3 - ((d.getDay() + 6) % 7));
|
|
201
|
+
const yearStart = new Date(d.getFullYear(), 0, 1);
|
|
202
|
+
return Math.ceil(((d.getTime() - yearStart.getTime()) / 86400000 + 1) / 7);
|
|
203
|
+
}
|
|
194
204
|
|
|
195
|
-
export { addDays, formatDateCustom, formatTimestamp, getDaysBetween, getLastMonth, getLastWeek, getThisMonth, getThisWeek, isSameDay, isWeekend, toDate };
|
|
205
|
+
export { addDays, formatDateCustom, formatTimestamp, getDaysBetween, getLastMonth, getLastWeek, getThisMonth, getThisWeek, getWeekNumber, isSameDay, isWeekend, toDate };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flikk/ui",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.27",
|
|
4
4
|
"description": "A modern React component library built with TypeScript, Tailwind CSS v4, and Framer Motion. Follows the shadcn philosophy with complete className override support.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -59,6 +59,7 @@
|
|
|
59
59
|
"./tailwind.preset.cjs": "./tailwind.preset.cjs",
|
|
60
60
|
"./shadcn-compat.css": "./dist/shadcn-compat.css",
|
|
61
61
|
"./theme.css": "./dist/theme.css",
|
|
62
|
+
"./registry.json": "./dist/registry.json",
|
|
62
63
|
"./bg/*": "./dist/bg/*"
|
|
63
64
|
},
|
|
64
65
|
"files": [
|
|
@@ -70,8 +71,9 @@
|
|
|
70
71
|
],
|
|
71
72
|
"scripts": {
|
|
72
73
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
73
|
-
"build": "rollup -c && npm run build:css && npm run build:assets && npm run build:copy-css",
|
|
74
|
+
"build": "rollup -c && npm run build:css && npm run build:assets && npm run build:copy-css && npm run build:registry",
|
|
74
75
|
"build:assets": "cp -r public/bg dist/bg",
|
|
76
|
+
"build:registry": "FLIKK_REGISTRY_OUT=dist/registry.json packages/mcp/node_modules/.bin/tsx packages/mcp/scripts/extract.ts",
|
|
75
77
|
"build:copy-css": "cp src/shadcn-compat.css dist/shadcn-compat.css && cp src/theme-plugin.css dist/theme.css",
|
|
76
78
|
"build:css": "tailwindcss -m -i ./src/tailwind-config.css -o ./dist/styles.css",
|
|
77
79
|
"analyze": "ANALYZE=true rollup -c && open stats.html",
|
package/src/global.scss
CHANGED
|
@@ -274,14 +274,9 @@
|
|
|
274
274
|
|
|
275
275
|
/* Global overlay scrollbar styling */
|
|
276
276
|
@layer base {
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
--ui-scrollbar-thumb-rest: rgba(209, 213, 219, 0.3);
|
|
281
|
-
--ui-scrollbar-thumb-active: rgb(209 213 219);
|
|
282
|
-
--ui-scrollbar-track-rest: transparent;
|
|
283
|
-
--ui-scrollbar-track-active: rgba(209, 213, 219, 0.1);
|
|
284
|
-
}
|
|
277
|
+
/* Scrollbar token defaults (light + .dark) live in styles/theme.css under
|
|
278
|
+
@layer theme so the dark override actually wins the cascade. See the note
|
|
279
|
+
there. The webkit/Firefox rules below just consume those vars. */
|
|
285
280
|
|
|
286
281
|
* {
|
|
287
282
|
/* Firefox - use thin scrollbar with custom colors */
|
|
@@ -897,6 +892,32 @@ body {
|
|
|
897
892
|
input[type="number"] {
|
|
898
893
|
-moz-appearance: textfield;
|
|
899
894
|
}
|
|
895
|
+
|
|
896
|
+
/* Style the native search clear (×) button to match the Tag dismiss icon —
|
|
897
|
+
muted by default, darkens on hover. Webkit only (Chrome/Safari/Edge);
|
|
898
|
+
Firefox doesn't render this pseudo-element. */
|
|
899
|
+
input[type="search"]::-webkit-search-cancel-button {
|
|
900
|
+
-webkit-appearance: none;
|
|
901
|
+
appearance: none;
|
|
902
|
+
height: 0.875rem;
|
|
903
|
+
width: 0.875rem;
|
|
904
|
+
margin-left: 0.25rem;
|
|
905
|
+
background-color: var(--color-text-muted);
|
|
906
|
+
cursor: pointer;
|
|
907
|
+
transition: background-color 200ms ease;
|
|
908
|
+
-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 18 18 6M6 6l12 12'/></svg>");
|
|
909
|
+
mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 18 18 6M6 6l12 12'/></svg>");
|
|
910
|
+
-webkit-mask-size: contain;
|
|
911
|
+
mask-size: contain;
|
|
912
|
+
-webkit-mask-repeat: no-repeat;
|
|
913
|
+
mask-repeat: no-repeat;
|
|
914
|
+
-webkit-mask-position: center;
|
|
915
|
+
mask-position: center;
|
|
916
|
+
}
|
|
917
|
+
|
|
918
|
+
input[type="search"]::-webkit-search-cancel-button:hover {
|
|
919
|
+
background-color: var(--color-text-primary);
|
|
920
|
+
}
|
|
900
921
|
}
|
|
901
922
|
|
|
902
923
|
/* Heatmap flicker animation */
|
package/src/styles/theme.css
CHANGED
|
@@ -90,6 +90,9 @@
|
|
|
90
90
|
/* generic colors */
|
|
91
91
|
--color-border: oklch(93% 0 0);
|
|
92
92
|
--color-border-secondary: oklch(87% 0 0);
|
|
93
|
+
/* Interaction border (hover/focus-adjacent) — darkens in light for a clear
|
|
94
|
+
edge, mirror of --color-surface-hover but on the border axis. */
|
|
95
|
+
--color-border-hover: oklch(80% 0 0);
|
|
93
96
|
/* Surface elevation ladder: surface-sunken < background (floor) < surface < surface-raised < surface-overlay.
|
|
94
97
|
In light mode raised surfaces are ~white (elevation via shadow + border); sunken is recessed below the floor. */
|
|
95
98
|
--color-surface-sunken: oklch(94% 0 0);
|
|
@@ -390,9 +393,39 @@
|
|
|
390
393
|
Tailwind's generated theme styles.
|
|
391
394
|
============================================ */
|
|
392
395
|
@layer theme {
|
|
396
|
+
/* Scrollbar - light mode defaults.
|
|
397
|
+
These MUST live in @layer theme (not @layer base) alongside the .dark
|
|
398
|
+
override below. The layer order is `theme, base, ...`, so values in
|
|
399
|
+
@layer base win over @layer theme — if these defaults sat in base, the
|
|
400
|
+
.dark override here would never apply and the scrollbar would render with
|
|
401
|
+
the light (bright) thumb in dark mode. Keeping both in @layer theme means
|
|
402
|
+
the .dark block (later source order, equal specificity) wins. */
|
|
403
|
+
:root {
|
|
404
|
+
/* Tell the UA which palette to paint native chrome (scrollbars, form
|
|
405
|
+
controls, etc.). Our custom `::-webkit-scrollbar` track/thumb are mostly
|
|
406
|
+
transparent, so without this the browser composites its *default light*
|
|
407
|
+
scrollbar underneath — in dark mode the visible (active) track then reads
|
|
408
|
+
as an opaque white bar showing through the faint dark tint. `.dark` flips
|
|
409
|
+
this to `dark` below so the UA scrollbar matches the surface. */
|
|
410
|
+
color-scheme: light;
|
|
411
|
+
--ui-scrollbar-size: 4px;
|
|
412
|
+
--ui-scrollbar-thumb-rest: rgba(209, 213, 219, 0.3);
|
|
413
|
+
--ui-scrollbar-thumb-active: rgb(209 213 219);
|
|
414
|
+
--ui-scrollbar-track-rest: transparent;
|
|
415
|
+
--ui-scrollbar-track-active: rgba(209, 213, 219, 0.1);
|
|
416
|
+
}
|
|
417
|
+
|
|
393
418
|
.dark {
|
|
419
|
+
/* Paint native UA chrome (scrollbars, form controls) with the dark palette.
|
|
420
|
+
Pairs with `color-scheme: light` on :root — fixes the white native
|
|
421
|
+
scrollbar track that showed through our transparent custom track in dark
|
|
422
|
+
mode (Select, RichTextEditor dropdowns, any native-overflow surface). */
|
|
423
|
+
color-scheme: dark;
|
|
424
|
+
|
|
394
425
|
/* Text colors - inverted for dark backgrounds */
|
|
395
426
|
|
|
427
|
+
/* Neutral text ramp (Linear's text reads essentially neutral off-white;
|
|
428
|
+
slate was too blue against the low-chroma surfaces). */
|
|
396
429
|
--color-text-primary: var(--color-neutral-50);
|
|
397
430
|
--color-text-secondary: var(--color-neutral-400);
|
|
398
431
|
--color-text-placeholder: var(--color-neutral-600);
|
|
@@ -401,7 +434,7 @@
|
|
|
401
434
|
--color-text-inverse: var(--color-neutral-950);
|
|
402
435
|
|
|
403
436
|
/* Base theme colors */
|
|
404
|
-
--color-primary: var(--color-primary-
|
|
437
|
+
--color-primary: var(--color-primary-400);
|
|
405
438
|
--color-success: var(--color-success-400);
|
|
406
439
|
--color-warning: var(--color-warning-400);
|
|
407
440
|
--color-danger: var(--color-danger-400);
|
|
@@ -416,12 +449,14 @@
|
|
|
416
449
|
|
|
417
450
|
/* Background colors - dark equivalents */
|
|
418
451
|
/* Surface elevation ladder: sunken sits below the floor; surface levels ascend so each reads as raised. */
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
--color-surface-
|
|
422
|
-
--color-surface
|
|
452
|
+
/* Linear-mapped: near-black floor with a *faint* cool tint (chroma ~0.004,
|
|
453
|
+
far subtler than slate — closest to Linear's #08090a / #1c1d20 grays). */
|
|
454
|
+
--color-surface-sunken: oklch(11% 0.004 255);
|
|
455
|
+
--color-surface: oklch(17% 0.004 255);
|
|
456
|
+
--color-surface-raised: oklch(20% 0.004 255);
|
|
457
|
+
--color-surface-overlay: oklch(23% 0.005 255);
|
|
423
458
|
--color-surface-hover: oklch(100% 0 0 / 0.07);
|
|
424
|
-
--color-background: oklch(
|
|
459
|
+
--color-background: oklch(12.5% 0.004 255);
|
|
425
460
|
/* DEPRECATED (remove next major): alias of --color-surface. */
|
|
426
461
|
--color-background-secondary: var(--color-surface);
|
|
427
462
|
/* DEPRECATED (remove next major): migrate per-usage to --color-surface-sunken / surface ladder. */
|
|
@@ -431,11 +466,15 @@
|
|
|
431
466
|
--color-background-disabled: var(--color-neutral-800);
|
|
432
467
|
|
|
433
468
|
/* Scale backdrop */
|
|
434
|
-
--color-scale-background: oklch(8% 0
|
|
435
|
-
|
|
436
|
-
/* Border -
|
|
437
|
-
|
|
438
|
-
--color-border
|
|
469
|
+
--color-scale-background: oklch(8% 0.004 255);
|
|
470
|
+
|
|
471
|
+
/* Border - Linear-style subtle light hairline (a faint lift that catches
|
|
472
|
+
light on the dark surface, rather than a flat mid-gray line). */
|
|
473
|
+
--color-border: oklch(100% 0.01 255 / 0.05);
|
|
474
|
+
--color-border-secondary: oklch(100% 0.01 255 / 0.10);
|
|
475
|
+
/* Interaction border — lightens in dark (higher alpha) so an edge "lifts"
|
|
476
|
+
on hover, matching the --color-surface-hover lighten-in-dark behavior. */
|
|
477
|
+
--color-border-hover: oklch(100% 0.01 255 / 0.18);
|
|
439
478
|
--color-chart-track: rgba(255, 255, 255, 0.05);
|
|
440
479
|
|
|
441
480
|
/* Glass effect gradients - dark mode */
|
|
@@ -450,7 +489,7 @@
|
|
|
450
489
|
|
|
451
490
|
/* Scrollbar - dark mode */
|
|
452
491
|
--ui-scrollbar-thumb-rest: rgba(75, 85, 99, 0.3);
|
|
453
|
-
--ui-scrollbar-thumb-active: rgb(75 85 99);
|
|
492
|
+
--ui-scrollbar-thumb-active: rgb(75 85 99, 0.75);
|
|
454
493
|
--ui-scrollbar-track-rest: transparent;
|
|
455
494
|
--ui-scrollbar-track-active: rgba(55, 65, 81, 0.1);
|
|
456
495
|
|