@digilogiclabs/saas-factory-ui 2.3.0 → 2.4.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.
@@ -5162,7 +5162,9 @@ declare function TiltCard({ accent, accentSecondary, topLabel, icon, title, subt
5162
5162
  * - Three trigger modes: built-in button / click anywhere / external
5163
5163
  * imperative handle via `rollRef.current()`
5164
5164
  * - Optional roll history strip
5165
- * - Honors `prefers-reduced-motion` (skips physics animation)
5165
+ * - Deliberately tumbles even under `prefers-reduced-motion` a dice
5166
+ * roll is a safe animation and skipping it leaves no feedback at all
5167
+ * (see the note inside `roll()`)
5166
5168
  * - Zero Tailwind dependency — all styles inline
5167
5169
  *
5168
5170
  * Ported to TypeScript and generalized for saas-factory-ui from a
@@ -6264,6 +6266,14 @@ interface RoundRobinSchedulerProps {
6264
6266
  darkMode?: boolean;
6265
6267
  /** Minimum teams required to generate a schedule. Default 3. */
6266
6268
  minTeams?: number;
6269
+ /** Maximum roster size. Adds/imports beyond this are ignored. Unlimited
6270
+ * by default — consumers persisting the roster against a capped schema
6271
+ * should set this to the schema cap. */
6272
+ maxTeams?: number;
6273
+ /** Max characters per team name. Longer typed/imported names are
6274
+ * truncated (matching native input maxLength paste behavior).
6275
+ * Unlimited by default. */
6276
+ nameMaxLength?: number;
6267
6277
  /** Initial roster. Uncontrolled. */
6268
6278
  defaultTeams?: string[];
6269
6279
  /**
@@ -6289,7 +6299,7 @@ interface RoundRobinSchedulerProps {
6289
6299
  * roster from a spreadsheet. Default `true`. */
6290
6300
  enableImport?: boolean;
6291
6301
  }
6292
- declare function RoundRobinScheduler({ theme, darkMode, minTeams, defaultTeams, resumeRounds, onTeamsChange, onGenerate, labels, ariaLabel, className, enableImport, }: RoundRobinSchedulerProps): react_jsx_runtime.JSX.Element;
6302
+ declare function RoundRobinScheduler({ theme, darkMode, minTeams, maxTeams, nameMaxLength, defaultTeams, resumeRounds, onTeamsChange, onGenerate, labels, ariaLabel, className, enableImport, }: RoundRobinSchedulerProps): react_jsx_runtime.JSX.Element;
6293
6303
  declare namespace RoundRobinScheduler {
6294
6304
  var displayName: string;
6295
6305
  }
@@ -6348,6 +6358,13 @@ interface ScoreboardProps {
6348
6358
  onRoundAdvance?: (snapshot: ScoreboardRoundSnapshot) => void;
6349
6359
  /** Called when the user presses "New Game". */
6350
6360
  onNewGame?: () => void;
6361
+ /** Called when the user presses "Reset" (scores zeroed, round counter and
6362
+ * history cleared, names kept). Consumers persisting round/history via
6363
+ * `onRoundAdvance` MUST clear that state here or their saved copy
6364
+ * diverges from the screen. */
6365
+ onReset?: () => void;
6366
+ /** Max characters accepted in a team-name input. Unlimited by default. */
6367
+ nameMaxLength?: number;
6351
6368
  /** Localized / customized labels. */
6352
6369
  labels?: ScoreboardLabels;
6353
6370
  /** Accessible label on the root region. */
@@ -6355,7 +6372,7 @@ interface ScoreboardProps {
6355
6372
  /** CSS class on root element. */
6356
6373
  className?: string;
6357
6374
  }
6358
- declare function Scoreboard({ theme, darkMode, initialTeamCount, minTeams, maxTeams, scoreButtons, defaultTeams, initialRound, initialHistory, onTeamsChange, onRoundAdvance, onNewGame, labels, ariaLabel, className, }: ScoreboardProps): react_jsx_runtime.JSX.Element;
6375
+ declare function Scoreboard({ theme, darkMode, initialTeamCount, minTeams, maxTeams, scoreButtons, defaultTeams, initialRound, initialHistory, onTeamsChange, onRoundAdvance, onNewGame, onReset, nameMaxLength, labels, ariaLabel, className, }: ScoreboardProps): react_jsx_runtime.JSX.Element;
6359
6376
  declare namespace Scoreboard {
6360
6377
  var displayName: string;
6361
6378
  }
@@ -5162,7 +5162,9 @@ declare function TiltCard({ accent, accentSecondary, topLabel, icon, title, subt
5162
5162
  * - Three trigger modes: built-in button / click anywhere / external
5163
5163
  * imperative handle via `rollRef.current()`
5164
5164
  * - Optional roll history strip
5165
- * - Honors `prefers-reduced-motion` (skips physics animation)
5165
+ * - Deliberately tumbles even under `prefers-reduced-motion` a dice
5166
+ * roll is a safe animation and skipping it leaves no feedback at all
5167
+ * (see the note inside `roll()`)
5166
5168
  * - Zero Tailwind dependency — all styles inline
5167
5169
  *
5168
5170
  * Ported to TypeScript and generalized for saas-factory-ui from a
@@ -6264,6 +6266,14 @@ interface RoundRobinSchedulerProps {
6264
6266
  darkMode?: boolean;
6265
6267
  /** Minimum teams required to generate a schedule. Default 3. */
6266
6268
  minTeams?: number;
6269
+ /** Maximum roster size. Adds/imports beyond this are ignored. Unlimited
6270
+ * by default — consumers persisting the roster against a capped schema
6271
+ * should set this to the schema cap. */
6272
+ maxTeams?: number;
6273
+ /** Max characters per team name. Longer typed/imported names are
6274
+ * truncated (matching native input maxLength paste behavior).
6275
+ * Unlimited by default. */
6276
+ nameMaxLength?: number;
6267
6277
  /** Initial roster. Uncontrolled. */
6268
6278
  defaultTeams?: string[];
6269
6279
  /**
@@ -6289,7 +6299,7 @@ interface RoundRobinSchedulerProps {
6289
6299
  * roster from a spreadsheet. Default `true`. */
6290
6300
  enableImport?: boolean;
6291
6301
  }
6292
- declare function RoundRobinScheduler({ theme, darkMode, minTeams, defaultTeams, resumeRounds, onTeamsChange, onGenerate, labels, ariaLabel, className, enableImport, }: RoundRobinSchedulerProps): react_jsx_runtime.JSX.Element;
6302
+ declare function RoundRobinScheduler({ theme, darkMode, minTeams, maxTeams, nameMaxLength, defaultTeams, resumeRounds, onTeamsChange, onGenerate, labels, ariaLabel, className, enableImport, }: RoundRobinSchedulerProps): react_jsx_runtime.JSX.Element;
6293
6303
  declare namespace RoundRobinScheduler {
6294
6304
  var displayName: string;
6295
6305
  }
@@ -6348,6 +6358,13 @@ interface ScoreboardProps {
6348
6358
  onRoundAdvance?: (snapshot: ScoreboardRoundSnapshot) => void;
6349
6359
  /** Called when the user presses "New Game". */
6350
6360
  onNewGame?: () => void;
6361
+ /** Called when the user presses "Reset" (scores zeroed, round counter and
6362
+ * history cleared, names kept). Consumers persisting round/history via
6363
+ * `onRoundAdvance` MUST clear that state here or their saved copy
6364
+ * diverges from the screen. */
6365
+ onReset?: () => void;
6366
+ /** Max characters accepted in a team-name input. Unlimited by default. */
6367
+ nameMaxLength?: number;
6351
6368
  /** Localized / customized labels. */
6352
6369
  labels?: ScoreboardLabels;
6353
6370
  /** Accessible label on the root region. */
@@ -6355,7 +6372,7 @@ interface ScoreboardProps {
6355
6372
  /** CSS class on root element. */
6356
6373
  className?: string;
6357
6374
  }
6358
- declare function Scoreboard({ theme, darkMode, initialTeamCount, minTeams, maxTeams, scoreButtons, defaultTeams, initialRound, initialHistory, onTeamsChange, onRoundAdvance, onNewGame, labels, ariaLabel, className, }: ScoreboardProps): react_jsx_runtime.JSX.Element;
6375
+ declare function Scoreboard({ theme, darkMode, initialTeamCount, minTeams, maxTeams, scoreButtons, defaultTeams, initialRound, initialHistory, onTeamsChange, onRoundAdvance, onNewGame, onReset, nameMaxLength, labels, ariaLabel, className, }: ScoreboardProps): react_jsx_runtime.JSX.Element;
6359
6376
  declare namespace Scoreboard {
6360
6377
  var displayName: string;
6361
6378
  }