@allshift/ui 0.3.0 → 0.3.2

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/index.cjs CHANGED
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  "use strict";
2
3
  var __create = Object.create;
3
4
  var __defProp = Object.defineProperty;
@@ -541,7 +542,8 @@ function CanvasTransition({
541
542
  children,
542
543
  labels = {},
543
544
  seenKey = "ash-seen-views",
544
- assemblerName = "Shift"
545
+ assemblerName = "Shift",
546
+ alwaysGenerate = false
545
547
  }) {
546
548
  const pathname = (0, import_navigation.usePathname)();
547
549
  const [mounted, setMounted] = (0, import_react7.useState)(false);
@@ -560,10 +562,10 @@ function CanvasTransition({
560
562
  }
561
563
  setMounted(true);
562
564
  }, []);
563
- const firstVisit = mounted && !seen.has(pathname);
565
+ const firstVisit = mounted && (alwaysGenerate || !seen.has(pathname));
564
566
  (0, import_react7.useEffect)(() => {
565
567
  if (!mounted) return;
566
- const wasFirst = !seen.has(pathname);
568
+ const wasFirst = alwaysGenerate || !seen.has(pathname);
567
569
  seen.add(pathname);
568
570
  try {
569
571
  sessionStorage.setItem(seenKey, JSON.stringify([...seen]));
package/dist/index.d.cts CHANGED
@@ -207,8 +207,12 @@ interface CanvasTransitionProps {
207
207
  seenKey?: string;
208
208
  /** Product name shown in the pill, e.g. "Shift is assembling …". Default "Shift". */
209
209
  assemblerName?: string;
210
+ /** Treat every navigation as a first visit — always play the full generate-in
211
+ * (blur→lift + assembling sheen). Use for demos/tours so each view visibly
212
+ * assembles onto the canvas every time. Default false. */
213
+ alwaysGenerate?: boolean;
210
214
  }
211
- declare function CanvasTransition({ children, labels, seenKey, assemblerName, }: CanvasTransitionProps): react.JSX.Element;
215
+ declare function CanvasTransition({ children, labels, seenKey, assemblerName, alwaysGenerate, }: CanvasTransitionProps): react.JSX.Element;
212
216
 
213
217
  interface LauncherItem {
214
218
  href: string;
package/dist/index.d.ts CHANGED
@@ -207,8 +207,12 @@ interface CanvasTransitionProps {
207
207
  seenKey?: string;
208
208
  /** Product name shown in the pill, e.g. "Shift is assembling …". Default "Shift". */
209
209
  assemblerName?: string;
210
+ /** Treat every navigation as a first visit — always play the full generate-in
211
+ * (blur→lift + assembling sheen). Use for demos/tours so each view visibly
212
+ * assembles onto the canvas every time. Default false. */
213
+ alwaysGenerate?: boolean;
210
214
  }
211
- declare function CanvasTransition({ children, labels, seenKey, assemblerName, }: CanvasTransitionProps): react.JSX.Element;
215
+ declare function CanvasTransition({ children, labels, seenKey, assemblerName, alwaysGenerate, }: CanvasTransitionProps): react.JSX.Element;
212
216
 
213
217
  interface LauncherItem {
214
218
  href: string;
package/dist/index.js CHANGED
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  // src/components/ShiftCard.tsx
2
4
  import { motion } from "framer-motion";
3
5
  import { jsx } from "react/jsx-runtime";
@@ -510,7 +512,8 @@ function CanvasTransition({
510
512
  children,
511
513
  labels = {},
512
514
  seenKey = "ash-seen-views",
513
- assemblerName = "Shift"
515
+ assemblerName = "Shift",
516
+ alwaysGenerate = false
514
517
  }) {
515
518
  const pathname = usePathname();
516
519
  const [mounted, setMounted] = useState4(false);
@@ -529,10 +532,10 @@ function CanvasTransition({
529
532
  }
530
533
  setMounted(true);
531
534
  }, []);
532
- const firstVisit = mounted && !seen.has(pathname);
535
+ const firstVisit = mounted && (alwaysGenerate || !seen.has(pathname));
533
536
  useEffect4(() => {
534
537
  if (!mounted) return;
535
- const wasFirst = !seen.has(pathname);
538
+ const wasFirst = alwaysGenerate || !seen.has(pathname);
536
539
  seen.add(pathname);
537
540
  try {
538
541
  sessionStorage.setItem(seenKey, JSON.stringify([...seen]));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allshift/ui",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "description": "Shift family shared FEEL layer — glass morphism, 3D tilt physics, holographic shine, scroll-triggered generation, and the living-canvas engine (LiveCard, LiveStat, CanvasTransition, CanvasLauncher). Brand-neutral by design.",
5
5
  "license": "UNLICENSED",
6
6
  "private": false,