@vadimcomanescu/nadicode-design-system 2.0.7 → 2.0.9

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 (230) hide show
  1. package/.agents/skills/seed/SKILL.md +17 -8
  2. package/.agents/skills/seed/contract.md +5 -5
  3. package/.agents/skills/seed/intent-map.md +3 -3
  4. package/.agents/skills/seed/recipes/agents-chat.md +44 -20
  5. package/.agents/skills/seed/references/blocks.md +5 -2
  6. package/.agents/skills/seed/references/components.md +22 -2
  7. package/.agents/skills/seed/references/dashboard-patterns.md +12 -12
  8. package/.agents/skills/seed/references/nextjs.md +20 -80
  9. package/.agents/skills/seed/references/tokens.md +57 -248
  10. package/README.md +43 -215
  11. package/contracts/block-props-schemas.json +2186 -0
  12. package/contracts/component-props-schemas.json +8322 -0
  13. package/contracts/consumer-contract.json +178 -0
  14. package/contracts/consumer-intent-map.json +707 -0
  15. package/contracts/message-catalog-contract.json +820 -0
  16. package/contracts/page-kit-props-schemas.json +1894 -0
  17. package/contracts/public-surface-registry.json +5822 -0
  18. package/contracts/public-surface-registry.schema.json +219 -0
  19. package/contracts/release-governance-baseline.json +850 -0
  20. package/contracts/spec-manifest.json +46 -0
  21. package/dist/catalog.json +284 -81
  22. package/dist/chunk-4IGBBIYW.js +47 -0
  23. package/dist/chunk-4WPZ6T7V.js +186 -0
  24. package/dist/{chunk-OHOOQUVJ.js → chunk-C7WHMSF3.js} +2 -1
  25. package/dist/{chunk-4K3PATUT.js → chunk-EEL4RAPC.js} +13 -1
  26. package/dist/{chunk-ILIHQ2KZ.js → chunk-EK43W2Y6.js} +16 -10
  27. package/dist/{chunk-IDKZEPWK.js → chunk-FV2G6SAF.js} +6 -5
  28. package/dist/chunk-HWHJ6IRQ.js +78 -0
  29. package/dist/{chunk-AUSYEAIJ.js → chunk-I66XWYSS.js} +32 -8
  30. package/dist/chunk-JDJY4ABS.js +60 -0
  31. package/dist/{chunk-GV4PKHG4.js → chunk-KWILREVQ.js} +2 -2
  32. package/dist/{chunk-WI37ZYIF.js → chunk-M4XKO45H.js} +13 -1
  33. package/dist/{chunk-6N6CSJVE.js → chunk-OJ7OO3QB.js} +2 -2
  34. package/dist/{chunk-ZHTQF2KI.js → chunk-OSNTB6RY.js} +29 -22
  35. package/dist/{chunk-GMMPLZLC.js → chunk-PDSQC6VE.js} +1 -1
  36. package/dist/chunk-QQOWC53X.js +98 -0
  37. package/dist/chunk-VJ5VD4UT.js +91 -0
  38. package/dist/{chunk-TUKZKU72.js → chunk-ZKLB5N3Q.js} +1 -1
  39. package/dist/components/blocks/AgentConversationBlock.d.ts +6 -1
  40. package/dist/components/blocks/AgentConversationBlock.js +44 -42
  41. package/dist/components/blocks/AgentRunOverviewBlock.js +1 -1
  42. package/dist/components/blocks/AgentWorkbenchBlock.d.ts +5 -1
  43. package/dist/components/blocks/AgentWorkbenchBlock.js +47 -46
  44. package/dist/components/blocks/AuthLayout.js +2 -2
  45. package/dist/components/blocks/BannerBlock.js +38 -38
  46. package/dist/components/blocks/CallToActionBlock.js +2 -2
  47. package/dist/components/blocks/ChangelogBlock.js +39 -39
  48. package/dist/components/blocks/ChartBlock.js +38 -38
  49. package/dist/components/blocks/ChartCollectionBlock.js +1 -1
  50. package/dist/components/blocks/ChatLayout.d.ts +4 -1
  51. package/dist/components/blocks/ChatLayout.js +39 -39
  52. package/dist/components/blocks/CodeBlock.js +2 -2
  53. package/dist/components/blocks/ContactBlock.js +2 -2
  54. package/dist/components/blocks/CreateBlock.js +39 -39
  55. package/dist/components/blocks/DataGridBlock.js +40 -40
  56. package/dist/components/blocks/DirectoryBlock.js +43 -43
  57. package/dist/components/blocks/FAQBlock.js +38 -38
  58. package/dist/components/blocks/FeatureBlock.js +38 -38
  59. package/dist/components/blocks/GalleryBlock.js +38 -38
  60. package/dist/components/blocks/HeaderBlock.js +38 -38
  61. package/dist/components/blocks/HeroBlock.js +41 -41
  62. package/dist/components/blocks/HeroSectionBlock.js +55 -59
  63. package/dist/components/blocks/IntegrationsBlock.js +40 -40
  64. package/dist/components/blocks/InteractiveAreaChartBlock.js +38 -38
  65. package/dist/components/blocks/KanbanDemoBlock.js +3 -3
  66. package/dist/components/blocks/LoginBlock.js +2 -2
  67. package/dist/components/blocks/LogoCloud.js +2 -13
  68. package/dist/components/blocks/NavUser.js +42 -42
  69. package/dist/components/blocks/NotFoundBlock.js +41 -41
  70. package/dist/components/blocks/OnboardingBlock.js +38 -38
  71. package/dist/components/blocks/PricingBlock.js +4 -4
  72. package/dist/components/blocks/ProcessFlowBlock.js +2 -2
  73. package/dist/components/blocks/SettingsLayout.js +42 -42
  74. package/dist/components/blocks/SignUpBlock.js +1 -1
  75. package/dist/components/blocks/SocialProofBlock.js +4 -3
  76. package/dist/components/blocks/StatsBlock.js +38 -38
  77. package/dist/components/blocks/StatsMarketingBlock.js +2 -2
  78. package/dist/components/blocks/TestimonialsBlock.js +2 -1
  79. package/dist/components/blocks/TwoFactorChallengeBlock.js +38 -38
  80. package/dist/components/blocks/TwoFactorSetupBlock.js +41 -41
  81. package/dist/components/blocks/VoiceAgentCard.d.ts +3 -1
  82. package/dist/components/blocks/VoiceAgentCard.js +7 -76
  83. package/dist/components/blocks/WizardBlock.js +39 -39
  84. package/dist/components/blocks/user/InviteUserModal.js +38 -38
  85. package/dist/components/logos/index.js +2 -2
  86. package/dist/components/page-kits/AgentsChatPageKit.js +59 -58
  87. package/dist/components/page-kits/AnalyticsPageKit.js +44 -44
  88. package/dist/components/page-kits/BlogContentPageKit.js +43 -43
  89. package/dist/components/page-kits/CheckoutPageKit.js +41 -41
  90. package/dist/components/page-kits/CompanySuitePageKit.js +47 -47
  91. package/dist/components/page-kits/CrudFormPageKit.js +44 -44
  92. package/dist/components/page-kits/CrudListDetailPageKit.js +44 -44
  93. package/dist/components/page-kits/DashboardPageKit.js +44 -44
  94. package/dist/components/page-kits/KanbanBoardPageKit.js +47 -47
  95. package/dist/components/page-kits/LandingPageKit.js +50 -49
  96. package/dist/components/page-kits/LoginPageKit.js +2 -2
  97. package/dist/components/page-kits/MarketingShellPageKit.js +40 -40
  98. package/dist/components/page-kits/NavigationShellPageKit.js +42 -42
  99. package/dist/components/page-kits/OnboardingPageKit.js +44 -44
  100. package/dist/components/page-kits/PricingPageKit.js +46 -46
  101. package/dist/components/page-kits/ProfileSettingsPageKit.js +2 -2
  102. package/dist/components/page-kits/ServiceSuitePageKit.js +47 -46
  103. package/dist/components/page-kits/SignupPageKit.js +2 -2
  104. package/dist/components/page-kits/SuccessPageKit.js +38 -38
  105. package/dist/components/page-kits/TeamSettingsPageKit.js +45 -45
  106. package/dist/components/page-kits/TwoFactorPageKit.js +41 -41
  107. package/dist/components/page-kits/VerifyEmailPageKit.js +38 -38
  108. package/dist/components/page-kits/VoiceAgentsPageKit.js +80 -76
  109. package/dist/components/ui/Accordion.js +38 -38
  110. package/dist/components/ui/AgentMessageBubble.d.ts +20 -4
  111. package/dist/components/ui/AgentMessageBubble.js +39 -39
  112. package/dist/components/ui/AgentStatus.d.ts +1 -1
  113. package/dist/components/ui/AgentStatus.js +5 -10
  114. package/dist/components/ui/AgentTerminal.d.ts +4 -1
  115. package/dist/components/ui/AgentTerminal.js +3 -1
  116. package/dist/components/ui/AgentTimeline.d.ts +2 -2
  117. package/dist/components/ui/AgentTimeline.js +15 -6
  118. package/dist/components/ui/AnimatedDialog.js +38 -38
  119. package/dist/components/ui/AnimatedSheet.js +38 -38
  120. package/dist/components/ui/ApprovalCard.js +1 -1
  121. package/dist/components/ui/Breadcrumb.js +38 -38
  122. package/dist/components/ui/Calendar.js +38 -38
  123. package/dist/components/ui/Carousel.js +38 -38
  124. package/dist/components/ui/ChatActions.d.ts +14 -0
  125. package/dist/components/ui/ChatActions.js +52 -0
  126. package/dist/components/ui/ChatBranch.d.ts +18 -0
  127. package/dist/components/ui/ChatBranch.js +84 -0
  128. package/dist/components/ui/ChatChainOfThought.d.ts +25 -0
  129. package/dist/components/ui/ChatChainOfThought.js +99 -0
  130. package/dist/components/ui/ChatConfirmation.d.ts +37 -0
  131. package/dist/components/ui/ChatConfirmation.js +115 -0
  132. package/dist/components/ui/ChatGreeting.d.ts +18 -0
  133. package/dist/components/ui/ChatGreeting.js +80 -0
  134. package/dist/components/ui/ChatMessage.d.ts +40 -0
  135. package/dist/components/ui/ChatMessage.js +96 -0
  136. package/dist/components/ui/ChatPlan.d.ts +29 -0
  137. package/dist/components/ui/ChatPlan.js +86 -0
  138. package/dist/components/ui/ChatPromptInput.d.ts +32 -0
  139. package/dist/components/ui/ChatPromptInput.js +193 -0
  140. package/dist/components/ui/ChatPromptInputAttachments.d.ts +9 -0
  141. package/dist/components/ui/ChatPromptInputAttachments.js +145 -0
  142. package/dist/components/ui/ChatQueue.d.ts +32 -0
  143. package/dist/components/ui/ChatQueue.js +93 -0
  144. package/dist/components/ui/ChatReasoning.d.ts +20 -0
  145. package/dist/components/ui/ChatReasoning.js +91 -0
  146. package/dist/components/ui/ChatResponse.d.ts +14 -0
  147. package/dist/components/ui/ChatResponse.js +25 -0
  148. package/dist/components/ui/ChatShimmer.d.ts +23 -0
  149. package/dist/components/ui/ChatShimmer.js +6 -0
  150. package/dist/components/ui/ChatSources.d.ts +30 -0
  151. package/dist/components/ui/ChatSources.js +113 -0
  152. package/dist/components/ui/ChatSuggestion.d.ts +13 -0
  153. package/dist/components/ui/ChatSuggestion.js +41 -0
  154. package/dist/components/ui/ChatThinkingMessage.d.ts +12 -0
  155. package/dist/components/ui/ChatThinkingMessage.js +55 -0
  156. package/dist/components/ui/ChatToolCall.d.ts +41 -0
  157. package/dist/components/ui/ChatToolCall.js +192 -0
  158. package/dist/components/ui/CheckStatus.d.ts +1 -1
  159. package/dist/components/ui/Checkbox.js +38 -38
  160. package/dist/components/ui/CheckoutForm.js +38 -38
  161. package/dist/components/ui/CheckoutFormDemo.js +38 -38
  162. package/dist/components/ui/Combobox.js +38 -38
  163. package/dist/components/ui/Command.js +38 -38
  164. package/dist/components/ui/ContextMenu.js +38 -38
  165. package/dist/components/ui/Conversation.d.ts +21 -0
  166. package/dist/components/ui/Conversation.js +196 -0
  167. package/dist/components/ui/ConversationThread.d.ts +8 -2
  168. package/dist/components/ui/ConversationThread.js +34 -16
  169. package/dist/components/ui/DataTable.js +40 -40
  170. package/dist/components/ui/DatePicker.js +38 -38
  171. package/dist/components/ui/DateRangePicker.js +38 -38
  172. package/dist/components/ui/Dialog.js +38 -38
  173. package/dist/components/ui/DropdownMenu.js +39 -39
  174. package/dist/components/ui/FileUpload.js +38 -38
  175. package/dist/components/ui/InputOTP.js +38 -38
  176. package/dist/components/ui/KanbanBoard.js +2 -2
  177. package/dist/components/ui/LanguageSwitcher.js +38 -38
  178. package/dist/components/ui/Menubar.js +38 -38
  179. package/dist/components/ui/NavigationMenu.js +38 -38
  180. package/dist/components/ui/NotificationCenter.js +38 -38
  181. package/dist/components/ui/Pagination.js +38 -38
  182. package/dist/components/ui/RadioGroup.js +38 -38
  183. package/dist/components/ui/Resizable.js +38 -38
  184. package/dist/components/ui/SearchCommand.js +38 -38
  185. package/dist/components/ui/Select.js +38 -38
  186. package/dist/components/ui/SettingsModal.js +38 -38
  187. package/dist/components/ui/Sheet.js +38 -38
  188. package/dist/components/ui/Sidebar.js +41 -41
  189. package/dist/components/ui/StyleToggle.js +1 -1
  190. package/dist/components/ui/TagInput.js +38 -38
  191. package/dist/components/ui/ThemeToggle.js +39 -39
  192. package/dist/components/ui/ThinkingIndicator.d.ts +3 -1
  193. package/dist/components/ui/ThinkingIndicator.js +2 -1
  194. package/dist/components/ui/Toast.js +38 -38
  195. package/dist/components/ui/Toaster.js +38 -38
  196. package/dist/components/ui/ToolCallCard.d.ts +1 -1
  197. package/dist/components/ui/ToolCallCard.js +5 -1
  198. package/dist/components/ui/TreeView.js +38 -38
  199. package/dist/components/ui/charts/index.js +1 -1
  200. package/dist/components/ui/icons/index.js +38 -38
  201. package/dist/components/ui/text-effects/index.js +2 -2
  202. package/dist/hooks/use-scroll-to-bottom.d.ts +13 -0
  203. package/dist/hooks/use-scroll-to-bottom.js +2 -0
  204. package/dist/index.js +43 -43
  205. package/dist/internal/local-image-assets.d.ts +12 -0
  206. package/dist/messages/en.js +1 -1
  207. package/dist/messages/it.js +1 -1
  208. package/dist/test/PublicSeedTestProvider.js +2 -2
  209. package/dist/test/simulate-ime-composition.d.ts +54 -0
  210. package/dist/test/simulate-ime-composition.js +55 -0
  211. package/eslint-rules/nadicode/config.js +1 -0
  212. package/eslint-rules/nadicode/index.js +2 -0
  213. package/eslint-rules/nadicode/rules/no-deprecated-ds-import.js +77 -0
  214. package/eslint-rules/nadicode/rules/no-unregistered-glass.js +2 -0
  215. package/package.json +103 -6
  216. package/scripts/ds-check.mjs +94 -73
  217. package/dist/chunk-MLUSJTS2.js +0 -107
  218. package/dist/chunk-TZXZFSD2.js +0 -33
  219. package/dist/{chunk-MX5FUFQR.js → chunk-7A2RXKGH.js} +2 -2
  220. package/dist/{chunk-5DKCZWC6.js → chunk-CQEUNASC.js} +1 -1
  221. package/dist/{chunk-RMLS2QUC.js → chunk-HZERHGBT.js} +1 -1
  222. package/dist/{chunk-WAVU744B.js → chunk-IXQGKJU4.js} +3 -3
  223. package/dist/{chunk-4HRVRW2X.js → chunk-J2DCQDXO.js} +2 -2
  224. package/dist/{chunk-6MFAZU4B.js → chunk-RGE5OQMZ.js} +1 -1
  225. package/dist/{chunk-PJNHVPHF.js → chunk-TYP2MR3Q.js} +1 -1
  226. package/dist/{chunk-TS2JSPQR.js → chunk-U4GYSYGN.js} +1 -1
  227. package/dist/{chunk-EJNF6JLL.js → chunk-VEO56RH4.js} +1 -1
  228. package/dist/{chunk-AURJQZC4.js → chunk-VNNAL4A6.js} +1 -1
  229. package/dist/{chunk-5PORR6LE.js → chunk-XTASI4IY.js} +1 -1
  230. package/dist/{chunk-E4L6LR6P.js → chunk-Z233ZQZE.js} +1 -1
@@ -1,113 +1,113 @@
1
1
  import '../../../chunk-GO35FTNJ.js';
2
- export { XCircleIcon } from '../../../chunk-PSVQ7ZNX.js';
2
+ export { UsersIcon } from '../../../chunk-WUO7OONN.js';
3
3
  export { ZapIcon } from '../../../chunk-FLF5AMNO.js';
4
- export { ThumbsUpIcon } from '../../../chunk-WFJQ43SM.js';
4
+ export { TerminalIcon } from '../../../chunk-3CLXYQKB.js';
5
5
  export { Trash2Icon } from '../../../chunk-S4GKGKON.js';
6
6
  export { TwitterIcon } from '../../../chunk-LCDDAE7J.js';
7
7
  export { UnderlineIcon } from '../../../chunk-R674XI7C.js';
8
- export { UsersIcon } from '../../../chunk-WUO7OONN.js';
8
+ export { SmartphoneIcon } from '../../../chunk-HNY45VUQ.js';
9
9
  export { SortIcon } from '../../../chunk-BPCCTJSK.js';
10
10
  export { SparklesIcon } from '../../../chunk-CGUCH322.js';
11
11
  export { StarIcon } from '../../../chunk-ELKIUARM.js';
12
- export { StopIcon } from '../../../chunk-ZU2GYVAP.js';
13
12
  export { TableIcon } from '../../../chunk-KSHJQ2VT.js';
14
- export { TerminalIcon } from '../../../chunk-3CLXYQKB.js';
15
- export { ThumbsDownIcon } from '../../../chunk-JHQ5NMLZ.js';
16
- export { SendIcon } from '../../../chunk-CRZ2JE24.js';
13
+ export { SaveIcon } from '../../../chunk-GAKU7DFY.js';
14
+ export { SearchIcon } from '../../../chunk-T6BRD7TS.js';
17
15
  export { Settings2Icon } from '../../../chunk-TXGANOAX.js';
18
16
  export { SettingsIcon } from '../../../chunk-OITJWGFV.js';
19
17
  export { ShareIcon } from '../../../chunk-Z74D6D2W.js';
20
- export { SmartphoneIcon } from '../../../chunk-HNY45VUQ.js';
18
+ export { PauseIcon } from '../../../chunk-7WDT2PRI.js';
21
19
  export { PlayIcon } from '../../../chunk-IJJI4RQU.js';
22
20
  export { PlusIcon } from '../../../chunk-E7RBK6ML.js';
23
21
  export { ReceiptIcon } from '../../../chunk-UBIGDGOP.js';
24
- export { RefreshCWIcon as RefreshCwIcon } from '../../../chunk-Q7LVUGFL.js';
25
22
  export { ReplyIcon } from '../../../chunk-ALMGJVMT.js';
26
23
  export { RocketIcon } from '../../../chunk-QPXTBZWN.js';
27
- export { SaveIcon } from '../../../chunk-GAKU7DFY.js';
28
- export { SearchIcon } from '../../../chunk-T6BRD7TS.js';
24
+ export { MicIcon } from '../../../chunk-4NXZIMYZ.js';
29
25
  export { MonitorIcon } from '../../../chunk-R5XP45PD.js';
30
26
  export { MoonIcon } from '../../../chunk-G5EO5FWC.js';
31
27
  export { Package2Icon } from '../../../chunk-NCULQXJE.js';
32
28
  export { PackageIcon } from '../../../chunk-VDYPDMYR.js';
33
29
  export { PanelLeftIcon } from '../../../chunk-WDGIQDQG.js';
34
- export { PaperclipIcon } from '../../../chunk-WKRIKCJC.js';
35
- export { PauseIcon } from '../../../chunk-7WDT2PRI.js';
36
- export { PencilIcon } from '../../../chunk-AP5Y5M3R.js';
30
+ export { LockIcon } from '../../../chunk-RYOTIXZO.js';
37
31
  export { LogInIcon } from '../../../chunk-JZ4G2SJH.js';
38
32
  export { LogOutIcon } from '../../../chunk-KYGKJ553.js';
39
33
  export { AlarmClockIcon, AlertOctagonIcon, AlignCenterIcon, AlignJustifyIcon, AlignLeftIcon, AlignRightIcon, AnchorIcon, ApertureIcon, AppWindowIcon, ArchiveIcon, ArrowBigDownIcon, ArrowBigLeftIcon, ArrowBigRightIcon, ArrowBigUpIcon, AtSignIcon, AwardIcon, BabyIcon, BadgeCheckIcon, BadgeDollarSignIcon, BadgeXIcon, BanIcon, BanknoteIcon, BarChart2Icon, BarChart3Icon, BarChart4Icon, BarChartIcon, BarcodeIcon, BaselineIcon, BeakerIcon, BellDotIcon, BellOffIcon, BellRingIcon, BinaryIcon, BluetoothIcon, BoneIcon, BookOpenIcon, BookmarkIcon, BoxIcon, BracesIcon, BriefcaseIcon, BugIcon, Building2Icon, BuildingIcon, CalculatorIcon, CalendarCheckIcon, CalendarDaysIcon, CalendarPlusIcon, CalendarRangeIcon, CalendarXIcon, CameraIcon, CandyIcon, CaseLowerIcon, CaseUpperIcon, CircleAlertIcon, CircleCheckIcon, CircleDashedIcon, CircleDotIcon, CircleOffIcon, CircleXIcon, ClapperboardIcon, ClipboardCheckIcon, ClipboardCopyIcon, ClipboardListIcon, ClipboardPasteIcon, CodeIcon, CodepenIcon, CoinsIcon, Columns2Icon, Columns3Icon, CombineIcon, CommandIcon, CompassIcon, ContactIcon, ContrastIcon, CookieIcon, CornerDownRightIcon, CornerLeftDownIcon, CornerLeftUpIcon, CornerRightDownIcon, CornerRightUpIcon, CornerUpLeftIcon, CornerUpRightIcon, CpuIcon, CrosshairIcon, CrownIcon, Dice1Icon, DiscIcon, DivideIcon, DropletsIcon, EqualIcon, EraserIcon, FacebookIcon, FeatherIcon, FileCodeIcon, FileJsonIcon, FilePlusIcon, FileTextIcon, FileXIcon, FilmIcon, FlagIcon, FlameIcon, FlashlightIcon, FlowerIcon, FocusIcon, FolderOpenIcon, FolderPlusIcon, FootprintsIcon, FullscreenIcon, GaugeIcon, GemIcon, GiftIcon, GitBranchIcon, GitCommitIcon, GitForkIcon, GitMergeIcon, GitPullRequestIcon, GlassesIcon, Grid2x2Icon, Grid3x3Icon, HammerIcon, HandCoinsIcon, HandIcon, HandshakeIcon, HashIcon, HeadingIcon, HeadphonesIcon, HeartIcon, HeartOffIcon, HighlighterIcon, HistoryIcon, HourglassIcon, IndentDecreaseIcon, IndentIncreaseIcon, InfinityIcon, InstagramIcon, JoystickIcon, KanbanIcon, KeyRoundIcon, LampIcon, LandmarkIcon, LanguagesIcon, Layers2Icon, LayoutGridIcon, LayoutListIcon, LayoutTemplateIcon, LeafIcon, LifeBuoyIcon, LightbulbIcon, LineChartIcon, ListOrderedIcon, LockKeyholeIcon, LockOpenIcon, MagnetIcon, MapIcon, MapPinIcon, Maximize2Icon, MaximizeIcon, MegaphoneIcon, MessageCircleIcon, MessageSquareIcon, MessagesSquareIcon, MicroscopeIcon, MilestoneIcon, Minimize2Icon, MinimizeIcon, MountainIcon, MoveDownIcon, MoveIcon, MoveLeftIcon, MoveRightIcon, MoveUpIcon, MusicIcon, NavigationIcon, NetworkIcon, NotebookIcon, OctagonIcon, PaintbrushIcon, PaletteIcon, PanelBottomIcon, PanelRightIcon, PanelTopIcon, PartyPopperIcon, PenIcon, PenToolIcon, PentagonIcon, PercentIcon, PhoneCallIcon, PhoneIcon, PhoneOffIcon, PickaxeIcon, PieChartIcon, PiggyBankIcon, PilcrowIcon, PlugIcon, PodcastIcon, PowerIcon, PrinterIcon, ProjectorIcon, PuzzleIcon, QrCodeIcon, QuoteIcon, RadioIcon, RedoIcon, RegexIcon, RepeatIcon, RotateCcwIcon, RotateCwIcon, RouteIcon, Rows2Icon, Rows3Icon, RssIcon, RulerIcon, ScaleIcon, ScanFaceIcon, ScanIcon, ScissorsIcon, ScreenShareIcon, ScrollTextIcon, ServerIcon, ShapesIcon, ShieldAlertIcon, ShieldOffIcon, ShoppingBagIcon, ShoppingCartIcon, SidebarCloseIcon, SidebarOpenIcon, SignpostIcon, SirenIcon, SliceIcon, SpeakerIcon, SplitIcon, SquareDashedBottomIcon, SquareIcon, SquareTerminalIcon, StampIcon, StickerIcon, StoreIcon, StrikethroughIcon, SubscriptIcon, SunriseIcon, SunsetIcon, SuperscriptIcon, SwordsIcon, TagIcon, TargetIcon, TelescopeIcon, TestTubeIcon, ThermometerIcon, ThermometerSunIcon, TicketIcon, TimerIcon, TimerOffIcon, ToggleLeftIcon, ToggleRightIcon, TornadoIcon, TrashIcon, TrendingDownIcon, TrendingUpIcon, TriangleIcon, TrophyIcon, TvIcon, TwitchIcon, TypeIcon, UmbrellaIcon, UndoIcon, UnlockIcon, UsbIcon, UserCheckIcon, UserCogIcon, UserMinusIcon, UserPlusIcon, UserXIcon, VariableIcon, VideoIcon, VoicemailIcon, Volume1Icon, Volume2Icon, VolumeIcon, VolumeXIcon, WalletIcon, WandIcon, WatchIcon, WaypointsIcon, WebhookIcon, WifiIcon, WifiOffIcon, WindIcon, WrapTextIcon, YoutubeIcon } from '../../../chunk-M7YSMMAC.js';
40
34
  export { MailIcon } from '../../../chunk-XQ2UDMPO.js';
41
35
  export { MenuIcon } from '../../../chunk-JMCSAGZ3.js';
42
36
  export { MicOffIcon } from '../../../chunk-QUKDUSHD.js';
43
- export { MicIcon } from '../../../chunk-4NXZIMYZ.js';
44
- export { LinkIcon } from '../../../chunk-TBKJ34BB.js';
37
+ export { LayoutDashboardIcon } from '../../../chunk-O74AEVHW.js';
38
+ export { createAnimatedIcon } from '../../../chunk-ZUHIWALK.js';
45
39
  export { LinkedinIcon } from '../../../chunk-2IZC7HSV.js';
46
40
  export { ListIcon } from '../../../chunk-2SDZMTB2.js';
47
- export { LoaderIcon } from '../../../chunk-R3AO6AZM.js';
48
- export { LockIcon } from '../../../chunk-RYOTIXZO.js';
41
+ export { HomeIcon } from '../../../chunk-IQEBXXB5.js';
42
+ export { ImageIcon } from '../../../chunk-AZUJNRQU.js';
49
43
  export { InfoIcon } from '../../../chunk-W3B3UOEG.js';
50
44
  export { ItalicIcon } from '../../../chunk-ACRVOD7W.js';
51
45
  export { KeyIcon } from '../../../chunk-QSU23VYZ.js';
52
46
  export { LaptopIcon } from '../../../chunk-BJYCQ2NV.js';
53
47
  export { LayersIcon } from '../../../chunk-VM462WZC.js';
54
- export { LayoutDashboardIcon } from '../../../chunk-O74AEVHW.js';
55
- export { createAnimatedIcon } from '../../../chunk-ZUHIWALK.js';
56
48
  export { FileIcon } from '../../../chunk-5UZDOF6V.js';
57
49
  export { FilterIcon } from '../../../chunk-PKVTEDKO.js';
58
50
  export { FolderIcon } from '../../../chunk-I3TH7PIB.js';
59
51
  export { GithubIcon } from '../../../chunk-WGPK3FQ7.js';
60
52
  export { GlobeIcon } from '../../../chunk-JL4MVVFH.js';
61
- export { HomeIcon } from '../../../chunk-IQEBXXB5.js';
62
- export { ImageIcon } from '../../../chunk-AZUJNRQU.js';
53
+ export { CornerDownLeftIcon } from '../../../chunk-4FEAWXJD.js';
54
+ export { CreditCardIcon } from '../../../chunk-JHQTKMKG.js';
63
55
  export { DatabaseIcon } from '../../../chunk-WA45EC4Y.js';
64
56
  export { DollarSignIcon } from '../../../chunk-2MOEOEOI.js';
65
57
  export { DotIcon } from '../../../chunk-5LCXASRW.js';
66
58
  export { DownloadIcon } from '../../../chunk-2ZJVU7NV.js';
67
59
  export { EllipsisIcon } from '../../../chunk-5ESF6N36.js';
68
60
  export { ExternalLinkIcon } from '../../../chunk-RBPLOM3A.js';
69
- export { CircleIcon } from '../../../chunk-GCUTJI7M.js';
61
+ export { ChevronUpIcon } from '../../../chunk-6BAV4TZ5.js';
62
+ export { ChevronsUpDownIcon } from '../../../chunk-SW6QPJM4.js';
70
63
  export { ClipboardIcon } from '../../../chunk-2NT57K4U.js';
71
- export { ClockIcon } from '../../../chunk-6G3RRWJT.js';
72
64
  export { CloudIcon } from '../../../chunk-JRJGSNI4.js';
73
65
  export { Code2Icon } from '../../../chunk-RF6ECFS5.js';
74
- export { CopyIcon } from '../../../chunk-TV4RSQH4.js';
75
- export { CornerDownLeftIcon } from '../../../chunk-4FEAWXJD.js';
76
- export { CreditCardIcon } from '../../../chunk-JHQTKMKG.js';
66
+ export { ChartBarIcon } from '../../../chunk-KYZT3RNW.js';
67
+ export { ChartLineIcon } from '../../../chunk-UEG2LI7Z.js';
77
68
  export { ChartPieIcon } from '../../../chunk-CI7GPGCJ.js';
78
69
  export { CheckCircleIcon } from '../../../chunk-226EBOTK.js';
79
- export { ChevronLeftIcon } from '../../../chunk-G5YLGJXR.js';
80
- export { ChevronRightIcon } from '../../../chunk-G24VV5NO.js';
81
- export { ChevronUpIcon } from '../../../chunk-6BAV4TZ5.js';
82
- export { ChevronsUpDownIcon } from '../../../chunk-SW6QPJM4.js';
70
+ export { ArrowLeftIcon } from '../../../chunk-74RKVIBV.js';
83
71
  export { ArrowUpIcon } from '../../../chunk-V6WNRZT3.js';
84
72
  export { BellIcon } from '../../../chunk-JBK2LA6U.js';
85
73
  export { BoldIcon } from '../../../chunk-55U27XY4.js';
86
74
  export { BotIcon } from '../../../chunk-LSPO6OBI.js';
87
75
  export { CalendarIcon } from '../../../chunk-Y56WBNCY.js';
88
- export { ChartBarIcon } from '../../../chunk-KYZT3RNW.js';
89
- export { ChartLineIcon } from '../../../chunk-UEG2LI7Z.js';
90
76
  export { ActivityIcon } from '../../../chunk-JJTQOH7J.js';
91
77
  export { AlertCircleIcon } from '../../../chunk-72X6SXOX.js';
92
78
  export { ArrowDownIcon } from '../../../chunk-SR5U52V3.js';
93
- export { ArrowLeftIcon } from '../../../chunk-74RKVIBV.js';
94
79
  export { WrenchIcon } from '../../../chunk-AWIJHDNK.js';
95
- export { LoaderCircleIcon } from '../../../chunk-BRP6D56U.js';
96
- export { SunIcon } from '../../../chunk-S733NAYS.js';
97
80
  export { SnowflakeIcon } from '../../../chunk-MAUTIHQG.js';
81
+ export { SunIcon } from '../../../chunk-S733NAYS.js';
98
82
  export { EyeOffIcon } from '../../../chunk-666N6OTL.js';
99
83
  export { EyeIcon } from '../../../chunk-FMH55OKV.js';
100
84
  export { GripVerticalIcon } from '../../../chunk-WXVNTJIB.js';
101
- export { CheckIcon } from '../../../chunk-CXACRCZ4.js';
102
85
  export { ArrowRightIcon } from '../../../chunk-T7H53CK2.js';
103
- export { ShieldCheckIcon } from '../../../chunk-BFLN54VR.js';
86
+ export { LinkIcon } from '../../../chunk-TBKJ34BB.js';
87
+ export { LoaderCircleIcon } from '../../../chunk-BRP6D56U.js';
88
+ export { ClockIcon } from '../../../chunk-6G3RRWJT.js';
89
+ export { StopIcon } from '../../../chunk-ZU2GYVAP.js';
90
+ export { SendIcon } from '../../../chunk-CRZ2JE24.js';
91
+ export { XCircleIcon } from '../../../chunk-PSVQ7ZNX.js';
92
+ export { PaperclipIcon } from '../../../chunk-WKRIKCJC.js';
93
+ export { ThumbsDownIcon } from '../../../chunk-JHQ5NMLZ.js';
94
+ export { ThumbsUpIcon } from '../../../chunk-WFJQ43SM.js';
95
+ export { PencilIcon } from '../../../chunk-AP5Y5M3R.js';
96
+ export { RefreshCWIcon as RefreshCwIcon } from '../../../chunk-Q7LVUGFL.js';
97
+ export { ChevronLeftIcon } from '../../../chunk-G5YLGJXR.js';
98
+ export { ChevronRightIcon } from '../../../chunk-G24VV5NO.js';
99
+ export { LoaderIcon } from '../../../chunk-R3AO6AZM.js';
100
+ export { CircleIcon } from '../../../chunk-GCUTJI7M.js';
101
+ export { CheckIcon } from '../../../chunk-CXACRCZ4.js';
104
102
  export { ShieldIcon } from '../../../chunk-P6IRHPFM.js';
105
103
  export { AlertTriangleIcon } from '../../../chunk-SXHYB7JB.js';
104
+ export { ShieldCheckIcon } from '../../../chunk-BFLN54VR.js';
106
105
  export { UploadIcon } from '../../../chunk-ONGJ7AC2.js';
107
106
  export { UserIcon } from '../../../chunk-UHXGBV5N.js';
108
107
  export { XIcon } from '../../../chunk-UIUMTURU.js';
109
108
  export { ArrowUpRightIcon } from '../../../chunk-PRUXIDBD.js';
110
109
  export { ArrowDownRightIcon } from '../../../chunk-NURPUVUV.js';
110
+ export { CopyIcon } from '../../../chunk-TV4RSQH4.js';
111
111
  export { ChevronDownIcon } from '../../../chunk-HJBXUXTD.js';
112
112
  import '../../../chunk-ASKFAYYR.js';
113
113
  import '../../../chunk-QYZT24TS.js';
@@ -1,12 +1,12 @@
1
1
  import '../../../chunk-G5EO22OR.js';
2
+ export { MorphingText } from '../../../chunk-OHX2LFAH.js';
3
+ export { ShimmeringText } from '../../../chunk-SGI25ZJ6.js';
2
4
  export { StreamingText, streamingTextVariants } from '../../../chunk-ANBJ2OLC.js';
3
5
  export { TextReveal } from '../../../chunk-LV4LBWCS.js';
4
6
  export { AnimatedGradientText } from '../../../chunk-XZ3A33GP.js';
5
7
  export { CountingNumber } from '../../../chunk-F3T2U7YL.js';
6
8
  export { FlipWords } from '../../../chunk-6DYFX5IR.js';
7
9
  export { HighlightText } from '../../../chunk-EB5PYS7Q.js';
8
- export { MorphingText } from '../../../chunk-OHX2LFAH.js';
9
- export { ShimmeringText } from '../../../chunk-SGI25ZJ6.js';
10
10
  export { SlidingNumber } from '../../../chunk-ULLTRLBD.js';
11
11
  import '../../../chunk-4O6L5YWT.js';
12
12
  import '../../../chunk-PD2YEH3H.js';
@@ -0,0 +1,13 @@
1
+ export interface UseScrollToBottomReturn {
2
+ /** Ref for the outer scrollable container. */
3
+ containerRef: React.RefObject<HTMLElement | null>;
4
+ /** Ref for the inner content wrapper (required by use-stick-to-bottom). */
5
+ contentRef: React.RefObject<HTMLElement | null>;
6
+ /** Ref for a sentinel element at the bottom of content. */
7
+ endRef: React.RefObject<HTMLDivElement | null>;
8
+ /** Whether the scroll position is within the "at bottom" threshold. */
9
+ isAtBottom: boolean;
10
+ /** Scroll to the bottom of the container. */
11
+ scrollToBottom: (behavior?: ScrollBehavior) => void;
12
+ }
13
+ export declare function useScrollToBottom(): UseScrollToBottomReturn;
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ export { useScrollToBottom } from '../chunk-VJ5VD4UT.js';
package/dist/index.js CHANGED
@@ -1,20 +1,20 @@
1
- export { Textarea } from './chunk-4OBE2FS2.js';
2
1
  export { Toggle, toggleVariants } from './chunk-73T6GXPA.js';
3
- export { Switch } from './chunk-R7N7YLFT.js';
4
2
  export { Tabs, TabsContent, TabsList, TabsTrigger } from './chunk-EYWOKTOY.js';
3
+ export { Textarea } from './chunk-4OBE2FS2.js';
4
+ export { Switch } from './chunk-R7N7YLFT.js';
5
5
  export { Slider } from './chunk-EV2V5RWT.js';
6
- export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from './chunk-MJ4CB6ZL.js';
7
- export { Progress } from './chunk-JWQXBRE7.js';
8
6
  export { ScrollArea, ScrollBar } from './chunk-GLU236NN.js';
7
+ export { Progress } from './chunk-JWQXBRE7.js';
9
8
  export { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from './chunk-WH62BE24.js';
10
9
  export { Heading, headingVariants } from './chunk-WI547C47.js';
11
10
  export { Popover, PopoverContent, PopoverTrigger } from './chunk-UYT33NG6.js';
12
11
  export { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from './chunk-W73JAOHW.js';
13
- export { Skeleton } from './chunk-RASEB2XI.js';
14
12
  export { Checkbox } from './chunk-756Q7AC5.js';
15
13
  export { Separator } from './chunk-CUZJIDU7.js';
16
14
  export { Input } from './chunk-AP3XXYAY.js';
17
15
  export { Label } from './chunk-LIBXYD5Q.js';
16
+ export { Skeleton } from './chunk-RASEB2XI.js';
17
+ export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from './chunk-MJ4CB6ZL.js';
18
18
  import './chunk-KRBLVZII.js';
19
19
  export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from './chunk-AH6YSYYT.js';
20
20
  export { Avatar, AvatarFallback, AvatarImage } from './chunk-NAAU5IWU.js';
@@ -24,116 +24,116 @@ import './chunk-PD2YEH3H.js';
24
24
  import './chunk-CRY67BIF.js';
25
25
  import './chunk-HJC6U46F.js';
26
26
  import './chunk-GO35FTNJ.js';
27
- import './chunk-PSVQ7ZNX.js';
27
+ import './chunk-WUO7OONN.js';
28
28
  import './chunk-FLF5AMNO.js';
29
- import './chunk-WFJQ43SM.js';
29
+ import './chunk-3CLXYQKB.js';
30
30
  import './chunk-S4GKGKON.js';
31
31
  import './chunk-LCDDAE7J.js';
32
32
  import './chunk-R674XI7C.js';
33
- import './chunk-WUO7OONN.js';
33
+ import './chunk-HNY45VUQ.js';
34
34
  import './chunk-BPCCTJSK.js';
35
35
  import './chunk-CGUCH322.js';
36
36
  import './chunk-ELKIUARM.js';
37
- import './chunk-ZU2GYVAP.js';
38
37
  import './chunk-KSHJQ2VT.js';
39
- import './chunk-3CLXYQKB.js';
40
- import './chunk-JHQ5NMLZ.js';
41
- import './chunk-CRZ2JE24.js';
38
+ import './chunk-GAKU7DFY.js';
39
+ import './chunk-T6BRD7TS.js';
42
40
  import './chunk-TXGANOAX.js';
43
41
  import './chunk-OITJWGFV.js';
44
42
  import './chunk-Z74D6D2W.js';
45
- import './chunk-HNY45VUQ.js';
43
+ import './chunk-7WDT2PRI.js';
46
44
  import './chunk-IJJI4RQU.js';
47
45
  import './chunk-E7RBK6ML.js';
48
46
  import './chunk-UBIGDGOP.js';
49
- import './chunk-Q7LVUGFL.js';
50
47
  import './chunk-ALMGJVMT.js';
51
48
  import './chunk-QPXTBZWN.js';
52
- import './chunk-GAKU7DFY.js';
53
- import './chunk-T6BRD7TS.js';
49
+ import './chunk-4NXZIMYZ.js';
54
50
  import './chunk-R5XP45PD.js';
55
51
  import './chunk-G5EO5FWC.js';
56
52
  import './chunk-NCULQXJE.js';
57
53
  import './chunk-VDYPDMYR.js';
58
54
  import './chunk-WDGIQDQG.js';
59
- import './chunk-WKRIKCJC.js';
60
- import './chunk-7WDT2PRI.js';
61
- import './chunk-AP5Y5M3R.js';
55
+ import './chunk-RYOTIXZO.js';
62
56
  import './chunk-JZ4G2SJH.js';
63
57
  import './chunk-KYGKJ553.js';
64
58
  import './chunk-M7YSMMAC.js';
65
59
  import './chunk-XQ2UDMPO.js';
66
60
  import './chunk-JMCSAGZ3.js';
67
61
  import './chunk-QUKDUSHD.js';
68
- import './chunk-4NXZIMYZ.js';
69
- import './chunk-TBKJ34BB.js';
62
+ import './chunk-O74AEVHW.js';
63
+ import './chunk-ZUHIWALK.js';
70
64
  import './chunk-2IZC7HSV.js';
71
65
  import './chunk-2SDZMTB2.js';
72
- import './chunk-R3AO6AZM.js';
73
- import './chunk-RYOTIXZO.js';
66
+ import './chunk-IQEBXXB5.js';
67
+ import './chunk-AZUJNRQU.js';
74
68
  import './chunk-W3B3UOEG.js';
75
69
  import './chunk-ACRVOD7W.js';
76
70
  import './chunk-QSU23VYZ.js';
77
71
  import './chunk-BJYCQ2NV.js';
78
72
  import './chunk-VM462WZC.js';
79
- import './chunk-O74AEVHW.js';
80
- import './chunk-ZUHIWALK.js';
81
73
  import './chunk-5UZDOF6V.js';
82
74
  import './chunk-PKVTEDKO.js';
83
75
  import './chunk-I3TH7PIB.js';
84
76
  import './chunk-WGPK3FQ7.js';
85
77
  import './chunk-JL4MVVFH.js';
86
- import './chunk-IQEBXXB5.js';
87
- import './chunk-AZUJNRQU.js';
78
+ import './chunk-4FEAWXJD.js';
79
+ import './chunk-JHQTKMKG.js';
88
80
  import './chunk-WA45EC4Y.js';
89
81
  import './chunk-2MOEOEOI.js';
90
82
  import './chunk-5LCXASRW.js';
91
83
  import './chunk-2ZJVU7NV.js';
92
84
  import './chunk-5ESF6N36.js';
93
85
  import './chunk-RBPLOM3A.js';
94
- import './chunk-GCUTJI7M.js';
86
+ import './chunk-6BAV4TZ5.js';
87
+ import './chunk-SW6QPJM4.js';
95
88
  import './chunk-2NT57K4U.js';
96
- import './chunk-6G3RRWJT.js';
97
89
  import './chunk-JRJGSNI4.js';
98
90
  import './chunk-RF6ECFS5.js';
99
- import './chunk-TV4RSQH4.js';
100
- import './chunk-4FEAWXJD.js';
101
- import './chunk-JHQTKMKG.js';
91
+ import './chunk-KYZT3RNW.js';
92
+ import './chunk-UEG2LI7Z.js';
102
93
  import './chunk-CI7GPGCJ.js';
103
94
  import './chunk-226EBOTK.js';
104
- import './chunk-G5YLGJXR.js';
105
- import './chunk-G24VV5NO.js';
106
- import './chunk-6BAV4TZ5.js';
107
- import './chunk-SW6QPJM4.js';
95
+ import './chunk-74RKVIBV.js';
108
96
  import './chunk-V6WNRZT3.js';
109
97
  import './chunk-JBK2LA6U.js';
110
98
  import './chunk-55U27XY4.js';
111
99
  import './chunk-LSPO6OBI.js';
112
100
  import './chunk-Y56WBNCY.js';
113
- import './chunk-KYZT3RNW.js';
114
- import './chunk-UEG2LI7Z.js';
115
101
  import './chunk-JJTQOH7J.js';
116
102
  import './chunk-72X6SXOX.js';
117
103
  import './chunk-SR5U52V3.js';
118
- import './chunk-74RKVIBV.js';
119
104
  import './chunk-AWIJHDNK.js';
120
- import './chunk-BRP6D56U.js';
121
- import './chunk-S733NAYS.js';
122
105
  import './chunk-MAUTIHQG.js';
106
+ import './chunk-S733NAYS.js';
123
107
  import './chunk-666N6OTL.js';
124
108
  import './chunk-FMH55OKV.js';
125
109
  import './chunk-WXVNTJIB.js';
126
- import './chunk-CXACRCZ4.js';
127
110
  import './chunk-T7H53CK2.js';
128
- import './chunk-BFLN54VR.js';
111
+ import './chunk-TBKJ34BB.js';
112
+ import './chunk-BRP6D56U.js';
113
+ import './chunk-6G3RRWJT.js';
114
+ import './chunk-ZU2GYVAP.js';
115
+ import './chunk-CRZ2JE24.js';
116
+ import './chunk-PSVQ7ZNX.js';
117
+ import './chunk-WKRIKCJC.js';
118
+ import './chunk-JHQ5NMLZ.js';
119
+ import './chunk-WFJQ43SM.js';
120
+ import './chunk-AP5Y5M3R.js';
121
+ import './chunk-Q7LVUGFL.js';
122
+ import './chunk-G5YLGJXR.js';
123
+ import './chunk-G24VV5NO.js';
124
+ import './chunk-R3AO6AZM.js';
125
+ import './chunk-GCUTJI7M.js';
126
+ import './chunk-CXACRCZ4.js';
129
127
  import './chunk-P6IRHPFM.js';
130
128
  import './chunk-SXHYB7JB.js';
129
+ import './chunk-BFLN54VR.js';
131
130
  import './chunk-ONGJ7AC2.js';
132
131
  import './chunk-UHXGBV5N.js';
133
132
  import './chunk-UIUMTURU.js';
134
133
  import './chunk-PRUXIDBD.js';
135
134
  import './chunk-NURPUVUV.js';
136
135
  export { Badge, badgeVariants } from './chunk-S4JAHKOP.js';
136
+ import './chunk-TV4RSQH4.js';
137
137
  import './chunk-HJBXUXTD.js';
138
138
  import './chunk-ASKFAYYR.js';
139
139
  export { cn } from './chunk-QYZT24TS.js';
@@ -0,0 +1,12 @@
1
+ type LocalLogoAsset = {
2
+ src: string;
3
+ alt: string;
4
+ height: number;
5
+ };
6
+ declare function createAvatarDataUri(seed: string, initials: string): string;
7
+ export declare const LOCAL_CLOUD_LOGOS: LocalLogoAsset[];
8
+ export declare const LOCAL_HERO_LOGOS: Array<Omit<LocalLogoAsset, "height"> & {
9
+ height: string;
10
+ }>;
11
+ export declare const LOCAL_NIKE_LOGO_SRC: string;
12
+ export { createAvatarDataUri };
@@ -1 +1 @@
1
- export { en_default as default, seedMessagesEn } from '../chunk-4K3PATUT.js';
1
+ export { en_default as default, seedMessagesEn } from '../chunk-EEL4RAPC.js';
@@ -1 +1 @@
1
- export { it_default as default, seedMessagesIt } from '../chunk-WI37ZYIF.js';
1
+ export { it_default as default, seedMessagesIt } from '../chunk-M4XKO45H.js';
@@ -1,6 +1,6 @@
1
1
  'use client';
2
- import { en_default } from '../chunk-4K3PATUT.js';
3
- import { it_default } from '../chunk-WI37ZYIF.js';
2
+ import { en_default } from '../chunk-EEL4RAPC.js';
3
+ import { it_default } from '../chunk-M4XKO45H.js';
4
4
  import { ThemeProvider } from '../chunk-HJC6U46F.js';
5
5
  import { NextIntlClientProvider } from 'next-intl';
6
6
  import { LazyMotion, domAnimation } from 'motion/react';
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Simulates an IME (Input Method Editor) composition sequence on a text input
3
+ * or textarea element. Used to test that components correctly guard against
4
+ * premature actions (e.g. form submission) during CJK or other IME input.
5
+ *
6
+ * Fires the standard browser event sequence:
7
+ * compositionstart -> (keydowns with isComposing=true) -> compositionupdate(s) -> compositionend
8
+ *
9
+ * Optionally fires a final non-composing keydown after compositionend to simulate
10
+ * the Enter key that confirms the composition in some IME implementations.
11
+ */
12
+ interface IMEKeyEvent {
13
+ key: string;
14
+ code?: string;
15
+ }
16
+ interface SimulateIMECompositionOptions {
17
+ /** The final committed text after composition ends. */
18
+ finalText: string;
19
+ /**
20
+ * Intermediate text values for compositionupdate events.
21
+ * Each entry fires a separate compositionupdate.
22
+ * If omitted, a single compositionupdate with finalText is fired.
23
+ */
24
+ intermediateTexts?: string[];
25
+ /**
26
+ * Keydown events to fire during the composition (all with isComposing=true).
27
+ * Fired between compositionstart and compositionupdate events.
28
+ */
29
+ keySequence?: IMEKeyEvent[];
30
+ /**
31
+ * If true, fires a final keydown with key="Enter" and isComposing=false
32
+ * after compositionend. This simulates IME implementations where Enter
33
+ * confirms composition and also dispatches a non-composing keydown.
34
+ */
35
+ includeConfirmKeydown?: boolean;
36
+ }
37
+ /**
38
+ * Simulates a full IME composition lifecycle on the given element.
39
+ *
40
+ * @example
41
+ * ```ts
42
+ * const textarea = screen.getByRole('textbox')
43
+ * simulateIMEComposition(textarea, {
44
+ * finalText: '你好',
45
+ * intermediateTexts: ['n', 'ni', '你', '你好'],
46
+ * keySequence: [{ key: 'n' }, { key: 'i' }, { key: 'Enter' }],
47
+ * })
48
+ * // textarea.value is now '你好'
49
+ * // All keydown events during composition had isComposing=true
50
+ * ```
51
+ */
52
+ declare function simulateIMEComposition(element: HTMLInputElement | HTMLTextAreaElement, options: SimulateIMECompositionOptions): void;
53
+ export { simulateIMEComposition };
54
+ export type { SimulateIMECompositionOptions, IMEKeyEvent };
@@ -0,0 +1,55 @@
1
+ // src/test/simulate-ime-composition.ts
2
+ function simulateIMEComposition(element, options) {
3
+ const { finalText, intermediateTexts, keySequence, includeConfirmKeydown } = options;
4
+ element.dispatchEvent(
5
+ new CompositionEvent("compositionstart", {
6
+ bubbles: true,
7
+ cancelable: true,
8
+ data: ""
9
+ })
10
+ );
11
+ if (keySequence) {
12
+ for (const { key, code } of keySequence) {
13
+ element.dispatchEvent(
14
+ new KeyboardEvent("keydown", {
15
+ bubbles: true,
16
+ cancelable: true,
17
+ key,
18
+ code: code ?? key,
19
+ isComposing: true
20
+ })
21
+ );
22
+ }
23
+ }
24
+ const updates = intermediateTexts ?? [finalText];
25
+ for (const text of updates) {
26
+ element.dispatchEvent(
27
+ new CompositionEvent("compositionupdate", {
28
+ bubbles: true,
29
+ cancelable: true,
30
+ data: text
31
+ })
32
+ );
33
+ }
34
+ element.value = finalText;
35
+ element.dispatchEvent(
36
+ new CompositionEvent("compositionend", {
37
+ bubbles: true,
38
+ cancelable: true,
39
+ data: finalText
40
+ })
41
+ );
42
+ if (includeConfirmKeydown) {
43
+ element.dispatchEvent(
44
+ new KeyboardEvent("keydown", {
45
+ bubbles: true,
46
+ cancelable: true,
47
+ key: "Enter",
48
+ code: "Enter",
49
+ isComposing: false
50
+ })
51
+ );
52
+ }
53
+ }
54
+
55
+ export { simulateIMEComposition };
@@ -15,6 +15,7 @@ export const nadicodeRules = {
15
15
  "nadicode/no-admin-manual-chart-bars": "error",
16
16
  "nadicode/no-app-primitive-composition": "error",
17
17
  "nadicode/no-barrel-imports": "error",
18
+ "nadicode/no-deprecated-ds-import": "warn",
18
19
  "nadicode/no-derived-state-via-useeffect": "error",
19
20
  "nadicode/no-direct-lucide-import": "error",
20
21
  "nadicode/no-external-ui-library": "error",
@@ -3,6 +3,7 @@ import noAdminManualChartBars from "./rules/no-admin-manual-chart-bars.js";
3
3
  import noAppPrimitiveComposition from "./rules/no-app-primitive-composition.js";
4
4
  import noArbitraryChartColor from "./rules/no-arbitrary-chart-color.js";
5
5
  import noBarrelImports from "./rules/no-barrel-imports.js";
6
+ import noDeprecatedDsImport from "./rules/no-deprecated-ds-import.js";
6
7
  import noDeprecatedSegmentConfig from "./rules/no-deprecated-segment-config.js";
7
8
  import noDerivedStateViaUseeffect from "./rules/no-derived-state-via-useeffect.js";
8
9
  import noDirectLucideImport from "./rules/no-direct-lucide-import.js";
@@ -78,6 +79,7 @@ export const nadicodePlugin = {
78
79
  "no-app-primitive-composition": noAppPrimitiveComposition,
79
80
  "no-arbitrary-chart-color": noArbitraryChartColor,
80
81
  "no-barrel-imports": noBarrelImports,
82
+ "no-deprecated-ds-import": noDeprecatedDsImport,
81
83
  "no-deprecated-segment-config": noDeprecatedSegmentConfig,
82
84
  "no-derived-state-via-useeffect": noDerivedStateViaUseeffect,
83
85
  "no-direct-lucide-import": noDirectLucideImport,
@@ -0,0 +1,77 @@
1
+ import { readFileSync } from "node:fs";
2
+ import { resolve, dirname } from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+
5
+ const RULES_DIR = dirname(fileURLToPath(import.meta.url));
6
+ const REGISTRY_PATH = resolve(RULES_DIR, "../../../contracts/public-surface-registry.json");
7
+ const DS_PACKAGE = "@vadimcomanescu/nadicode-design-system";
8
+
9
+ let deprecatedSubpaths = null;
10
+
11
+ function loadDeprecatedSubpaths() {
12
+ if (deprecatedSubpaths) {
13
+ return deprecatedSubpaths;
14
+ }
15
+
16
+ deprecatedSubpaths = new Map();
17
+
18
+ try {
19
+ const registry = JSON.parse(readFileSync(REGISTRY_PATH, "utf8"));
20
+ for (const entry of registry.entries ?? []) {
21
+ if (entry.stability === "deprecated" && entry.deprecation) {
22
+ deprecatedSubpaths.set(entry.subpath, {
23
+ replacement: entry.deprecation.replacement,
24
+ removalVersion: entry.deprecation.removalVersion,
25
+ });
26
+ }
27
+ }
28
+ } catch {
29
+ // Registry unavailable (e.g. consumer repo without local contracts).
30
+ // Rule becomes a no-op.
31
+ }
32
+
33
+ return deprecatedSubpaths;
34
+ }
35
+
36
+ const rule = {
37
+ meta: {
38
+ type: "suggestion",
39
+ docs: {
40
+ description:
41
+ "Warn when importing a deprecated export from @vadimcomanescu/nadicode-design-system.",
42
+ },
43
+ schema: [],
44
+ },
45
+ create(context) {
46
+ return {
47
+ ImportDeclaration(node) {
48
+ const source = node.source.value;
49
+ if (typeof source !== "string" || !source.startsWith(DS_PACKAGE)) {
50
+ return;
51
+ }
52
+
53
+ const subpath = "./" + source.slice(DS_PACKAGE.length + 1);
54
+ if (subpath === "./") {
55
+ return;
56
+ }
57
+
58
+ const deprecated = loadDeprecatedSubpaths();
59
+ const info = deprecated.get(subpath);
60
+ if (!info) {
61
+ return;
62
+ }
63
+
64
+ const parts = [
65
+ `"${source}" is deprecated and will be removed in v${info.removalVersion}.`,
66
+ ];
67
+ if (info.replacement) {
68
+ parts.push(`Use "${DS_PACKAGE}/${info.replacement.slice(2)}" instead.`);
69
+ }
70
+
71
+ context.report({ node, message: parts.join(" ") });
72
+ },
73
+ };
74
+ },
75
+ };
76
+
77
+ export default rule;
@@ -39,6 +39,8 @@ const ALLOWED_FILES = [
39
39
  "Card.tsx",
40
40
  "Button.tsx",
41
41
  "ToolCallCard.tsx",
42
+ "ChatToolCall.tsx",
43
+ "ChatPromptInput.tsx",
42
44
  "ApprovalCard.tsx",
43
45
  "ThinkingIndicator.tsx",
44
46
  "AgentMessageBubble.tsx",