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 +249 -6
- package/dist/lib/index.cjs +4 -1
- package/dist/lib/index.cjs.map +1 -1
- package/dist/lib/index.d.ts +574 -19
- package/dist/lib/index.mjs +4414 -1403
- package/dist/lib/index.mjs.map +1 -1
- package/dist/lib/style.css +1 -1
- package/package.json +10 -1
- package/src/styles/utilities.css +580 -0
- package/src/styles/variables.css +250 -14
- package/src/tailwind-preset.ts +194 -15
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: "
|
|
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: [
|
|
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.
|
|
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
|
});
|