reend-components 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bin/cli.cjs CHANGED
@@ -9034,6 +9034,14 @@ var REGISTRY = {
9034
9034
  deps: [],
9035
9035
  description: "Corner bracket decoration with 6 sub-components"
9036
9036
  },
9037
+ "link-card": {
9038
+ name: "link-card",
9039
+ displayName: "LinkCard",
9040
+ type: "core",
9041
+ files: ["card.tsx"],
9042
+ deps: [],
9043
+ description: "Navigation card with icon, title, and animated arrow (\u2192). Uses clip-corner hover effect."
9044
+ },
9037
9045
  input: {
9038
9046
  name: "input",
9039
9047
  displayName: "Input",
@@ -9148,6 +9156,14 @@ var REGISTRY = {
9148
9156
  deps: ["@radix-ui/react-tooltip"],
9149
9157
  description: "Tooltip with Radix primitives"
9150
9158
  },
9159
+ sonner: {
9160
+ name: "sonner",
9161
+ displayName: "Sonner",
9162
+ type: "core",
9163
+ files: ["sonner.tsx"],
9164
+ deps: ["sonner"],
9165
+ description: "Toast notifications with notify helper, 5 types, auto-dismiss"
9166
+ },
9151
9167
  // ── Core (Tier 6 — Extended) ────────────────────────────────────────────
9152
9168
  skeleton: {
9153
9169
  name: "skeleton",
@@ -9155,7 +9171,7 @@ var REGISTRY = {
9155
9171
  type: "core",
9156
9172
  files: ["skeleton.tsx"],
9157
9173
  deps: [],
9158
- description: "SkeletonLine/Text/Avatar/Card with shimmer animation"
9174
+ description: "SkeletonLine/Text/Avatar/Card/Image/TableRow with shimmer animation"
9159
9175
  },
9160
9176
  "empty-state": {
9161
9177
  name: "empty-state",
@@ -9163,7 +9179,7 @@ var REGISTRY = {
9163
9179
  type: "core",
9164
9180
  files: ["empty-state.tsx"],
9165
9181
  deps: [],
9166
- description: "5 preset variants: search/error/permission/empty/default"
9182
+ description: "8 context variants: search/empty-list/no-notifications/error-loading/no-permission/empty-filter/inbox-zero/no-connection"
9167
9183
  },
9168
9184
  alert: {
9169
9185
  name: "alert",
@@ -9171,7 +9187,7 @@ var REGISTRY = {
9171
9187
  type: "core",
9172
9188
  files: ["alert.tsx"],
9173
9189
  deps: [],
9174
- description: "4 variants: info/success/warning/error, dismissible, ARIA"
9190
+ description: "4 variants: info/success/warning/error, dismissible, ARIA, TopBanner"
9175
9191
  },
9176
9192
  timeline: {
9177
9193
  name: "timeline",
@@ -9213,6 +9229,185 @@ var REGISTRY = {
9213
9229
  deps: [],
9214
9230
  description: "+/\u2212 stepper input with min/max/step, keyboard support"
9215
9231
  },
9232
+ // ── Core (P1 New — v1.1.0) ──────────────────────────────────────────────
9233
+ "view-toggle": {
9234
+ name: "view-toggle",
9235
+ displayName: "ViewToggle",
9236
+ type: "core",
9237
+ files: ["view-toggle.tsx"],
9238
+ deps: [],
9239
+ description: "Grid/List toggle with localStorage persistence"
9240
+ },
9241
+ "filter-bar": {
9242
+ name: "filter-bar",
9243
+ displayName: "FilterBar",
9244
+ type: "core",
9245
+ files: ["filter-bar.tsx"],
9246
+ deps: [],
9247
+ description: "Filter bar with chips and clear-all"
9248
+ },
9249
+ "otp-input": {
9250
+ name: "otp-input",
9251
+ displayName: "OTPInput",
9252
+ type: "core",
9253
+ files: ["otp-input.tsx"],
9254
+ deps: [],
9255
+ description: "OTP/PIN input with auto-advance, paste, shake-on-error"
9256
+ },
9257
+ "date-picker": {
9258
+ name: "date-picker",
9259
+ displayName: "DatePicker",
9260
+ type: "core",
9261
+ files: ["date-picker.tsx"],
9262
+ deps: ["@radix-ui/react-popover"],
9263
+ description: "Date picker with Endfield styling"
9264
+ },
9265
+ rating: {
9266
+ name: "rating",
9267
+ displayName: "Rating",
9268
+ type: "core",
9269
+ files: ["rating.tsx"],
9270
+ deps: [],
9271
+ description: "Star/diamond rating with \u25C6/\u25C7 indicators"
9272
+ },
9273
+ "session-timeout-modal": {
9274
+ name: "session-timeout-modal",
9275
+ displayName: "SessionTimeoutModal",
9276
+ type: "core",
9277
+ files: ["session-timeout-modal.tsx"],
9278
+ deps: [],
9279
+ description: "Session expiry modal with CountdownTimer"
9280
+ },
9281
+ "file-upload": {
9282
+ name: "file-upload",
9283
+ displayName: "FileUpload",
9284
+ type: "core",
9285
+ files: ["file-upload.tsx"],
9286
+ deps: [],
9287
+ description: "Drag-and-drop file upload with 8 states"
9288
+ },
9289
+ "bottom-sheet": {
9290
+ name: "bottom-sheet",
9291
+ displayName: "BottomSheet",
9292
+ type: "core",
9293
+ files: ["bottom-sheet.tsx"],
9294
+ deps: [],
9295
+ description: "Mobile bottom sheet with slide-up animation"
9296
+ },
9297
+ carousel: {
9298
+ name: "carousel",
9299
+ displayName: "Carousel",
9300
+ type: "core",
9301
+ files: ["carousel.tsx"],
9302
+ deps: [],
9303
+ description: "CSS scroll-snap carousel with \u25C6/\u25C7 dots"
9304
+ },
9305
+ resizable: {
9306
+ name: "resizable",
9307
+ displayName: "ResizablePanels",
9308
+ type: "core",
9309
+ files: ["resizable.tsx"],
9310
+ deps: ["react-resizable-panels"],
9311
+ description: "Resizable panel layout with Endfield handle"
9312
+ },
9313
+ chart: {
9314
+ name: "chart",
9315
+ displayName: "Chart",
9316
+ type: "core",
9317
+ files: ["chart.tsx"],
9318
+ deps: ["recharts"],
9319
+ description: "Recharts wrapper with Endfield palette (--chart-1 to --chart-8)"
9320
+ },
9321
+ footer: {
9322
+ name: "footer",
9323
+ displayName: "Footer",
9324
+ type: "core",
9325
+ files: ["footer.tsx"],
9326
+ deps: [],
9327
+ description: "Footer with FooterColumn and FooterLink, 3-column grid, brand bar"
9328
+ },
9329
+ // ── Data Display ───────────────────────────────────────────────────────
9330
+ table: {
9331
+ name: "table",
9332
+ displayName: "Table",
9333
+ type: "core",
9334
+ files: ["table.tsx"],
9335
+ deps: [],
9336
+ description: "Data table with sortable columns, sticky header, hover/selected states, empty slot"
9337
+ },
9338
+ list: {
9339
+ name: "list",
9340
+ displayName: "List",
9341
+ type: "core",
9342
+ files: ["list.tsx"],
9343
+ deps: [],
9344
+ description: "Diamond bullet, numbered (01/02), description, and link list variants"
9345
+ },
9346
+ stat: {
9347
+ name: "stat",
9348
+ displayName: "Stat",
9349
+ type: "core",
9350
+ files: ["stat.tsx"],
9351
+ deps: [],
9352
+ description: "Stat/metric card with Orbitron value, trend indicators, StatGrid layout"
9353
+ },
9354
+ // ── Overlay & Utility (Part 7) ─────────────────────────────────────────
9355
+ "copy-clipboard": {
9356
+ name: "copy-clipboard",
9357
+ displayName: "CopyClipboard",
9358
+ type: "core",
9359
+ files: ["copy-clipboard.tsx"],
9360
+ deps: [],
9361
+ description: "Copy-to-clipboard button with \u2713 feedback and configurable reset delay"
9362
+ },
9363
+ "back-to-top": {
9364
+ name: "back-to-top",
9365
+ displayName: "BackToTop",
9366
+ type: "core",
9367
+ files: ["back-to-top.tsx"],
9368
+ deps: [],
9369
+ description: "Fixed back-to-top button with scroll threshold and smooth behavior"
9370
+ },
9371
+ "scroll-progress": {
9372
+ name: "scroll-progress",
9373
+ displayName: "ScrollProgress",
9374
+ type: "core",
9375
+ files: ["scroll-progress.tsx"],
9376
+ deps: [],
9377
+ description: "Fixed top progress bar tracking page scroll position (progressbar ARIA)"
9378
+ },
9379
+ "cookie-consent": {
9380
+ name: "cookie-consent",
9381
+ displayName: "CookieConsent",
9382
+ type: "core",
9383
+ files: ["cookie-consent.tsx"],
9384
+ deps: [],
9385
+ description: "Fixed bottom cookie consent banner with onAccept / onCustomize callbacks"
9386
+ },
9387
+ "command-palette": {
9388
+ name: "command-palette",
9389
+ displayName: "CommandPalette",
9390
+ type: "core",
9391
+ files: ["command-palette.tsx"],
9392
+ deps: [],
9393
+ description: "\u2318K command palette with search, grouped results, arrow-key navigation"
9394
+ },
9395
+ dropdown: {
9396
+ name: "dropdown",
9397
+ displayName: "Dropdown",
9398
+ type: "core",
9399
+ files: ["dropdown.tsx"],
9400
+ deps: ["@radix-ui/react-popover"],
9401
+ description: "Dropdown menu with grouped items and danger variant (Radix Popover base)"
9402
+ },
9403
+ "context-menu": {
9404
+ name: "context-menu",
9405
+ displayName: "ContextMenu",
9406
+ type: "core",
9407
+ files: ["context-menu.tsx"],
9408
+ deps: [],
9409
+ description: "Right-click context menu with keyboard shortcuts and portal rendering"
9410
+ },
9216
9411
  // ── Signature (Phase 0) ─────────────────────────────────────────────────
9217
9412
  "glitch-text": {
9218
9413
  name: "glitch-text",
@@ -9243,7 +9438,7 @@ var REGISTRY = {
9243
9438
  displayName: "HoloCard",
9244
9439
  type: "signature",
9245
9440
  files: ["signature/holo-card.tsx"],
9246
- deps: ["framer-motion"],
9441
+ deps: [],
9247
9442
  description: "Holographic stat card with tilt hover effect"
9248
9443
  },
9249
9444
  "data-stream": {
@@ -9251,7 +9446,7 @@ var REGISTRY = {
9251
9446
  displayName: "DataStream",
9252
9447
  type: "signature",
9253
9448
  files: ["signature/data-stream.tsx"],
9254
- deps: [],
9449
+ deps: ["framer-motion"],
9255
9450
  description: "Scrolling data feed terminal with speed/messageType"
9256
9451
  },
9257
9452
  "tactical-badge": {
@@ -9366,6 +9561,54 @@ var REGISTRY = {
9366
9561
  files: ["signature/countdown-timer.tsx"],
9367
9562
  deps: [],
9368
9563
  description: "Tactical mission countdown, onComplete, 3 sizes"
9564
+ },
9565
+ "rich-text-editor": {
9566
+ name: "rich-text-editor",
9567
+ displayName: "RichTextEditor",
9568
+ type: "core",
9569
+ files: ["rich-text-editor.tsx"],
9570
+ deps: [],
9571
+ description: "WYSIWYG markdown editor with toolbar (B/I/U/S/H1-H3/quote/list/link/divider), character count, and MARKDOWN/PREVIEW toggle"
9572
+ },
9573
+ "sort-control": {
9574
+ name: "sort-control",
9575
+ displayName: "SortControl",
9576
+ type: "core",
9577
+ files: ["sort-control.tsx"],
9578
+ deps: [],
9579
+ description: "Sort options row with tri-state direction cycling (asc/desc/none) and \u25B2/\u25BC indicators"
9580
+ },
9581
+ "pull-to-refresh": {
9582
+ name: "pull-to-refresh",
9583
+ displayName: "PullToRefresh",
9584
+ type: "core",
9585
+ files: ["pull-to-refresh.tsx"],
9586
+ deps: [],
9587
+ description: "Mobile pull-to-refresh with diamond spinner, phase machine (idle\u2192pulling\u2192threshold\u2192refreshing\u2192complete), haptic feedback"
9588
+ },
9589
+ "swipeable-item": {
9590
+ name: "swipeable-item",
9591
+ displayName: "SwipeableItem",
9592
+ type: "core",
9593
+ files: ["swipeable-item.tsx"],
9594
+ deps: [],
9595
+ description: "Touch-swipeable list item with left/right action reveal, 80/160px thresholds, haptic feedback"
9596
+ },
9597
+ "spoiler-block": {
9598
+ name: "spoiler-block",
9599
+ displayName: "SpoilerBlock",
9600
+ type: "core",
9601
+ files: ["spoiler-block.tsx"],
9602
+ deps: [],
9603
+ description: "Spoiler content block with blur overlay and reveal toggle"
9604
+ },
9605
+ "theme-switcher": {
9606
+ name: "theme-switcher",
9607
+ displayName: "ThemeSwitcher",
9608
+ type: "core",
9609
+ files: ["theme-switcher.tsx"],
9610
+ deps: [],
9611
+ description: "Light/dark theme toggle with localStorage persistence"
9369
9612
  }
9370
9613
  };
9371
9614
 
@@ -9547,7 +9790,7 @@ program2.name("reend-ui").description(
9547
9790
  source_default.bold.white(
9548
9791
  "\u25C6 ReEnd UI \u2014 Arknights: Endfield React Component Library\n"
9549
9792
  ) + source_default.dim(" Shadcn-style copy-paste workflow for ReEnd components.\n")
9550
- ).version("1.0.0");
9793
+ ).version("1.1.0");
9551
9794
  program2.command("init").description("Initialize ReEnd UI in your project").action(async () => {
9552
9795
  await runInit(cwd);
9553
9796
  });