@inntechcorp/it-design 4.0.0-beta.6 → 4.0.0-beta.8

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 (87) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/dist/cjs/back-top/index.js +1 -1
  3. package/dist/cjs/blocks/auth-complete/index.js +1 -0
  4. package/dist/cjs/blocks/auth-page/index.js +1 -0
  5. package/dist/cjs/blocks/banner/index.js +1 -1
  6. package/dist/cjs/blocks/casino-featured/index.js +1 -1
  7. package/dist/cjs/blocks/game-box/index.js +1 -1
  8. package/dist/cjs/blocks/header/index.js +1 -1
  9. package/dist/cjs/blocks/login/index.js +1 -0
  10. package/dist/cjs/blocks/mega-menu/index.js +1 -1
  11. package/dist/cjs/blocks/signup/index.js +1 -0
  12. package/dist/cjs/blocks/slider/index.js +1 -1
  13. package/dist/cjs/blocks/tournaments/index.js +1 -1
  14. package/dist/cjs/blocks/user-hub/profile.js +1 -1
  15. package/dist/cjs/enums/enum.js +1 -1
  16. package/dist/cjs/form/validation/Validator.js +1 -1
  17. package/dist/cjs/helpers/theme/exampleSitePreset.js +1 -0
  18. package/dist/cjs/helpers/theme/sitePreset.js +1 -0
  19. package/dist/cjs/index.js +1 -1
  20. package/dist/cjs/locales/en/itd.json.js +1 -1
  21. package/dist/cjs/locales/tr/itd.json.js +1 -1
  22. package/dist/css/game-box.css +1 -1
  23. package/dist/css/signup.css +1 -1
  24. package/dist/es/back-top/index.js +1 -1
  25. package/dist/es/blocks/auth-complete/index.js +1 -0
  26. package/dist/es/blocks/auth-page/index.js +1 -0
  27. package/dist/es/blocks/banner/index.js +1 -1
  28. package/dist/es/blocks/casino-featured/index.js +1 -1
  29. package/dist/es/blocks/game-box/index.js +1 -1
  30. package/dist/es/blocks/header/index.js +1 -1
  31. package/dist/es/blocks/login/index.js +1 -0
  32. package/dist/es/blocks/mega-menu/index.js +1 -1
  33. package/dist/es/blocks/signup/index.js +1 -0
  34. package/dist/es/blocks/slider/index.js +1 -1
  35. package/dist/es/blocks/tournaments/index.js +1 -1
  36. package/dist/es/blocks/user-hub/profile.js +1 -1
  37. package/dist/es/enums/enum.js +1 -1
  38. package/dist/es/form/validation/Validator.js +1 -1
  39. package/dist/es/helpers/theme/exampleSitePreset.js +1 -0
  40. package/dist/es/helpers/theme/sitePreset.js +1 -0
  41. package/dist/es/index.js +1 -1
  42. package/dist/es/locales/en/itd.json.js +1 -1
  43. package/dist/es/locales/tr/itd.json.js +1 -1
  44. package/dist/global.css +2 -2
  45. package/dist/index.d.ts +528 -7
  46. package/dist/locales/en/itd.json +2 -1
  47. package/dist/locales/itd.json +2 -1
  48. package/dist/locales/tr/itd.json +2 -1
  49. package/dist/types/blocks/auth-complete/index.d.ts +2 -0
  50. package/dist/types/blocks/auth-page/index.d.ts +2 -0
  51. package/dist/types/blocks/banner/index.d.ts +2 -0
  52. package/dist/types/blocks/box-title/index.d.ts +2 -0
  53. package/dist/types/blocks/casino-featured/index.d.ts +8 -0
  54. package/dist/types/blocks/default-avatar/index.d.ts +1 -0
  55. package/dist/types/blocks/featured-games/index.d.ts +2 -0
  56. package/dist/types/blocks/filter-tabs/index.d.ts +2 -0
  57. package/dist/types/blocks/footer/index.d.ts +2 -0
  58. package/dist/types/blocks/game-box/index.d.ts +21 -0
  59. package/dist/types/blocks/game-carousel/index.d.ts +2 -0
  60. package/dist/types/blocks/game-categories/index.d.ts +2 -0
  61. package/dist/types/blocks/game-filter/index.d.ts +2 -0
  62. package/dist/types/blocks/game-navigator/index.d.ts +2 -0
  63. package/dist/types/blocks/game-providers/index.d.ts +2 -0
  64. package/dist/types/blocks/game-search/index.d.ts +4 -0
  65. package/dist/types/blocks/game-shell/index.d.ts +2 -0
  66. package/dist/types/blocks/games-grid/index.d.ts +2 -0
  67. package/dist/types/blocks/header/index.d.ts +2 -0
  68. package/dist/types/blocks/help/index.d.ts +2 -0
  69. package/dist/types/blocks/last-winners/index.d.ts +2 -0
  70. package/dist/types/blocks/layout-boxes/index.d.ts +2 -0
  71. package/dist/types/blocks/login/index.d.ts +6 -0
  72. package/dist/types/blocks/mega-menu/index.d.ts +4 -0
  73. package/dist/types/blocks/min-width-gate/index.d.ts +2 -0
  74. package/dist/types/blocks/mobile-bottom-nav/index.d.ts +2 -0
  75. package/dist/types/blocks/multiple-jackpots/index.d.ts +2 -0
  76. package/dist/types/blocks/notifications/index.d.ts +2 -0
  77. package/dist/types/blocks/post-viewer/index.d.ts +2 -0
  78. package/dist/types/blocks/promotions-grid/index.d.ts +192 -0
  79. package/dist/types/blocks/raffle/index.d.ts +2 -0
  80. package/dist/types/blocks/signup/index.d.ts +2 -0
  81. package/dist/types/blocks/slider/index.d.ts +2 -0
  82. package/dist/types/blocks/slider-double/index.d.ts +2 -0
  83. package/dist/types/blocks/spacer/index.d.ts +36 -0
  84. package/dist/types/blocks/sub-page-header/index.d.ts +2 -0
  85. package/dist/types/blocks/tournaments/index.d.ts +2 -0
  86. package/dist/types/blocks/user-hub/index.d.ts +2 -0
  87. package/package.json +6 -1
package/dist/index.d.ts CHANGED
@@ -512,7 +512,8 @@ declare enum FormValidationTypes {
512
512
  SITE_USERNAME = "siteUsername",
513
513
  ADMIN_USERNAME = "adminUsername",
514
514
  URL = "url",
515
- FORBIDDEN_WORDS = "forbiddenWords"
515
+ FORBIDDEN_WORDS = "forbiddenWords",
516
+ MULTIPLE_OF = "multipleOf"
516
517
  }
517
518
  /**
518
519
  * Connection status
@@ -827,6 +828,8 @@ type FormRuleProps = {
827
828
  type?: FormValidationTypes | `${FormValidationTypes}`;
828
829
  field?: string;
829
830
  value?: string | number | (string | number)[];
831
+ /** multipleOf only: currency symbol prefixed to the step in the stock message (₺50). */
832
+ currency?: string;
830
833
  validator?: FormRuleValidator;
831
834
  message?: string;
832
835
  };
@@ -1007,6 +1010,38 @@ type ITDThemeProviderProps = {
1007
1010
  };
1008
1011
  declare function ITDThemeProvider({ themeName, surfaceBase, primaryBase, surfaceLadder, lightElevation, contrastMetric, contrastMin, onPrimaryNudge, customTheme, extensions, shadow, containerRef, children, }: ITDThemeProviderProps): react.JSX.Element;
1009
1012
 
1013
+ type SitePreset = {
1014
+ /** Display name, e.g. shown in a panel's theme list. */
1015
+ name?: string;
1016
+ /** Surface seed — the ONE colour the whole surface ladder derives from. */
1017
+ surfaceBase: string;
1018
+ /** Brand/primary seed. */
1019
+ primaryBase: string;
1020
+ /** Appearance-AGNOSTIC pins applied to both modes (font, radius…). */
1021
+ theme?: Partial<ITDTheme>;
1022
+ /** Pins applied on LIGHT only, on top of the derived theme. */
1023
+ light?: Partial<ITDTheme>;
1024
+ /** Pins applied on DARK only, on top of the derived theme. */
1025
+ dark?: Partial<ITDTheme>;
1026
+ /** The site's own L6 custom tokens, emitted as `--<namespace>-*`. */
1027
+ extensions?: TokenSet[];
1028
+ };
1029
+ /**
1030
+ * The per-appearance customTheme for ITDProvider: agnostic pins + the active
1031
+ * appearance's pins. Returns undefined when the preset pins nothing (so the
1032
+ * provider skips the merge entirely).
1033
+ */
1034
+ declare function resolveSitePresetOverrides(preset: SitePreset, appearance: 'light' | 'dark'): Partial<ITDTheme> | undefined;
1035
+ /**
1036
+ * Validate a preset the way a panel should before saving it. Returns a list of
1037
+ * problems (empty = valid). Enforces the value grammar: no `var(--…)` strings —
1038
+ * downstream colour parsing (contrast guards, scales, token-set maths) cannot
1039
+ * read them; use the `{tokenName}` reference grammar instead.
1040
+ */
1041
+ declare function validateSitePreset(preset: SitePreset): string[];
1042
+
1043
+ declare const EXAMPLE_SITE: SitePreset;
1044
+
1010
1045
  type ITDImportConfig = {
1011
1046
  themeName: 'light' | 'dark';
1012
1047
  /** Seed for the generated surface ramp — from shadcn --background (fallback --card). */
@@ -1054,7 +1089,7 @@ declare function FindSelector(searchClassName: string): boolean;
1054
1089
 
1055
1090
  declare function GetCountryCodeByCurrencyCode(currency?: string): "tr-TR" | "en-US" | "de-DE" | "en-GB" | "ja-JP" | "fr-CH" | "en-CA" | "en-AU" | "en-NZ" | "ru-RU" | "en-IN" | "pt-BR" | "es-MX" | "es-AR" | "es-CL" | "es-CO" | "es-PE" | "en-ZA" | "zh-CN" | "sv-SE" | "no-NO" | "da-DK" | "en-SG" | "en-HK";
1056
1091
 
1057
- declare function GetCountryCodeByLanguage(language: string): "alb" | "slv" | "fra" | "deu" | "ita" | "jpn" | "kor" | "nld" | "pol" | "rus" | "srb" | "esp" | "swe" | "tha" | "tur" | "ukr" | "usa" | "uzb" | "por" | "san" | "snd" | "sin" | "slk" | "tam" | "tel" | "tgl" | "urd" | "vie" | "chi" | "zul" | "gre" | "ara" | "language_not_found";
1092
+ declare function GetCountryCodeByLanguage(language: string): "usa" | "tur" | "deu" | "fra" | "esp" | "ita" | "jpn" | "kor" | "nld" | "pol" | "por" | "rus" | "san" | "snd" | "sin" | "slk" | "slv" | "alb" | "srb" | "swe" | "tam" | "tel" | "tha" | "tgl" | "ukr" | "urd" | "uzb" | "vie" | "chi" | "zul" | "gre" | "ara" | "language_not_found";
1058
1093
 
1059
1094
  /**
1060
1095
  * A balance with its currency's symbol on it.
@@ -2233,7 +2268,7 @@ declare const ColorInput: ({ value, size, disabled, placeholder, onChange, }: Co
2233
2268
  * http://sanniassin.github.io/react-input-mask/demo.html
2234
2269
  * https://dev.to/adrianbdesigns/let-s-create-a-floating-label-input-with-html-and-css-only-4mo8
2235
2270
  */
2236
- declare const Input: react.ForwardRefExoticComponent<Omit<react.InputHTMLAttributes<HTMLInputElement>, "children" | "size" | "prefix" | "style" | "onChange" | "onFocus" | "onBlur" | "onKeyDown" | "type"> & {
2271
+ declare const Input: react.ForwardRefExoticComponent<Omit<react.InputHTMLAttributes<HTMLInputElement>, "children" | "style" | "size" | "prefix" | "onChange" | "onFocus" | "onBlur" | "onKeyDown" | "type"> & {
2237
2272
  style?: React.CSSProperties;
2238
2273
  type?: InputType;
2239
2274
  size?: ITDSize;
@@ -2279,7 +2314,7 @@ declare const Input: react.ForwardRefExoticComponent<Omit<react.InputHTMLAttribu
2279
2314
  * stray drag are intercepted, the real input is held collapsed, and the
2280
2315
  * highlight is drawn on the cells instead.
2281
2316
  */
2282
- declare const CodeInput: react.ForwardRefExoticComponent<Omit<react.InputHTMLAttributes<HTMLInputElement>, "id" | "defaultValue" | "value" | "size" | "className" | "placeholder" | "disabled" | "onChange" | "readOnly" | "onFocus" | "onBlur" | "type" | "autoComplete" | "maxLength" | "autoFocus" | "inputMode" | "onSelect"> & {
2317
+ declare const CodeInput: react.ForwardRefExoticComponent<Omit<react.InputHTMLAttributes<HTMLInputElement>, "className" | "id" | "defaultValue" | "value" | "size" | "placeholder" | "disabled" | "onChange" | "readOnly" | "onFocus" | "onBlur" | "type" | "autoComplete" | "maxLength" | "autoFocus" | "inputMode" | "onSelect"> & {
2283
2318
  id?: string;
2284
2319
  length?: number;
2285
2320
  value?: string;
@@ -6315,6 +6350,10 @@ type GameBoxProps = {
6315
6350
  imageSource?: string;
6316
6351
  /** CSS background stand-in for fixtures/stories (used when `image` is absent). */
6317
6352
  art?: string;
6353
+ /** Per-category placeholder-art URL (the site's GetEmptyImageByType).
6354
+ Drawn inside the skeleton tile and over a loading/broken art box,
6355
+ wearing the site's `inn-(mobile-)image-box-empty-image` marker. */
6356
+ emptyArt?: string;
6318
6357
  /** Extra nodes rendered inside the art box (fixture emoji/labels). */
6319
6358
  artContent?: react__default.ReactNode;
6320
6359
  alt?: string;
@@ -6361,7 +6400,7 @@ type GameBoxProps = {
6361
6400
  onPlay?: (slug: string, fun: boolean) => void;
6362
6401
  className?: string;
6363
6402
  };
6364
- declare const GameBox: ({ id, slug, image, imageSource, art, artContent, alt, name, description, playText, ratio, background, outline, overflow, hasFunSupport, action, link, target, liveData, players, showPlayers, limit, formatLimit, onlineText, offlineText, skeleton, loading, broken, onPlay, className, }: GameBoxProps) => react__default.JSX.Element;
6403
+ declare const GameBox: ({ id, slug, image, imageSource, art, emptyArt, artContent, alt, name, description, playText, ratio, background, outline, overflow, hasFunSupport, action, link, target, liveData, players, showPlayers, limit, formatLimit, onlineText, offlineText, skeleton, loading, broken, onPlay, className, }: GameBoxProps) => react__default.JSX.Element;
6365
6404
 
6366
6405
  /**
6367
6406
  * The page builder's only vertical-rhythm tool (CMS `Components.SPACER`).
@@ -8699,6 +8738,484 @@ type SvgToPngOptions = {
8699
8738
  };
8700
8739
  declare const SVGUrlToPNGDataUrl: (url: string, options?: SvgToPngOptions) => Promise<string>;
8701
8740
 
8741
+ /**
8742
+ * LOGIN — the sign-in panel, modelled as TWO INDEPENDENT AXES rather than a
8743
+ * list of flows. Every screen the site can show is one cell of the grid:
8744
+ *
8745
+ * password code (passwordless)
8746
+ * username/email identifier + password identifier → 6-digit code
8747
+ * phone +90 …… + password +90 …… → 6-digit code
8748
+ *
8749
+ * WHY TWO AXES. The site's flag (`passwordless_login_channel`) decides the
8750
+ * METHOD and the site's own field decides the IDENTIFIER; neither knows about
8751
+ * the other. Modelled as four flows they drift apart — a phone login that
8752
+ * quietly loses `remember me`, a code step whose "change username" says the
8753
+ * wrong noun. Modelled as axes there is one form, and each axis moves one
8754
+ * thing.
8755
+ *
8756
+ * THE PHONE PREFIX IS NEVER CHOSEN. A site serves one country, so the dial
8757
+ * code is configuration (`<ITDProvider country="tr">`): shown fixed beside the
8758
+ * field, never in a 195-row picker, and folded into the E.164 number that
8759
+ * `onSubmitCredentials` hands back. See lib/helpers/phone.
8760
+ *
8761
+ * WHAT THE BLOCK OWNS: the layout, the client-side validation, the code
8762
+ * buffer, and the resend countdown's TICK. WHAT THE SITE OWNS: the request,
8763
+ * the step (it knows what the API answered), the cooldown DEADLINE, and the
8764
+ * pending-login resume — that one needs the session, so it cannot live here.
8765
+ * A server answer becomes a field error through the forwarded form ref.
8766
+ */
8767
+ type PasswordlessChannel = 'sms' | 'email' | 'whatsapp' | 'call';
8768
+ /** What the first field asks for. `phone` is the one that changes its shape. */
8769
+ type LoginIdentifier = 'username' | 'email' | 'phone';
8770
+ /** `link-sent` is the magic-link waiting room: nothing to type, a resend
8771
+ * countdown, and a way out to another method. */
8772
+ type LoginStep = 'credentials' | 'code' | 'link-sent';
8773
+ /**
8774
+ * One alternate way in, drawn under the OR divider ("Passkey",
8775
+ * "Email me a link", "Password"...). The `id` is the SITE'S key - the block
8776
+ * hands it back through `onAlternate` and draws no conclusions from it,
8777
+ * because switching method means new requests and new steps, and those are
8778
+ * the site's.
8779
+ */
8780
+ type LoginAlternate = {
8781
+ id: string;
8782
+ label: string;
8783
+ icon?: ReactNode;
8784
+ };
8785
+ type LoginTexts = {
8786
+ /** "Hesabınız var mı?" */
8787
+ description?: string;
8788
+ /** "HEMEN GİRİŞ YAPIN" */
8789
+ title: string;
8790
+ /** "DOĞRULAMA KODU İLE GİRİŞ YAP" */
8791
+ titleVerify?: string;
8792
+ /** The code step's greeting; `{username}` is replaced with the captured one. */
8793
+ welcomeBack?: string;
8794
+ /** The channel-aware sentence above the cells — the site composes it, since
8795
+ * the phrasing per channel is its copy. */
8796
+ codeHint?: string;
8797
+ /** Placeholder for the identifier field. */
8798
+ identifier: string;
8799
+ password: string;
8800
+ rememberMe?: string;
8801
+ /** Classic submit — "Giriş Yap". */
8802
+ submit: string;
8803
+ /** Passwordless step 1 — "Devam Et". */
8804
+ submitContinue?: string;
8805
+ /** Code step — "Doğrula ve Giriş Yap". */
8806
+ submitVerify?: string;
8807
+ forgotPassword?: string;
8808
+ resendCode?: string;
8809
+ /** "Kullanıcı Adını Değiştir" — the noun follows the identifier axis. */
8810
+ changeIdentifier?: string;
8811
+ support?: string;
8812
+ /** Tab labels for multi-identity mode, per identifier. A missing label
8813
+ * falls back to the raw identifier key, which is a bug the site should
8814
+ * see, not a default it should ship. */
8815
+ identifierTabs?: Partial<Record<LoginIdentifier, string>>;
8816
+ /** Per-identifier placeholders for multi-identity mode; a missing one
8817
+ * falls back to `identifier`. */
8818
+ identifierPlaceholders?: Partial<Record<LoginIdentifier, string>>;
8819
+ /** The word on the divider above the alternates — "OR" / "VEYA". Absent,
8820
+ * the divider is a plain rule. */
8821
+ orDivider?: string;
8822
+ /** Magic-link waiting room (step `link-sent`). */
8823
+ titleLinkSent?: string;
8824
+ /** "We sent a sign-in link to a•••@gmail.com..." — the site composes it,
8825
+ * the masking is its business. */
8826
+ linkSentHint?: string;
8827
+ /** "Use a different method" — link-sent's way out. */
8828
+ changeMethod?: string;
8829
+ /** Passkey variant: the explanation and the one button. */
8830
+ passkeyHint?: string;
8831
+ passkeyCta?: string;
8832
+ /** The signup cross-link at the panel's foot (canvas screens 1-4 and 7):
8833
+ * "Hesabınız yok mu?" + the action. Both set = the footer renders. */
8834
+ newHere?: string;
8835
+ createAccount?: string;
8836
+ };
8837
+ type LoginCredentials = {
8838
+ /** The identifier as the API takes it. For `phone` this is the E.164 number,
8839
+ * dial code included — which is the whole point of the fixed prefix. */
8840
+ username: string;
8841
+ /** Absent when the account is running the passwordless flow. */
8842
+ password?: string;
8843
+ remember?: boolean;
8844
+ };
8845
+ type LoginPanelProps = {
8846
+ identifier?: LoginIdentifier;
8847
+ /**
8848
+ * Multi-identity mode (`login.allowed_identifiers`): more than one entry
8849
+ * draws tabs above the field and the active tab decides the field's shape.
8850
+ * `identifier` seeds the initial tab (the site remembers the returning
8851
+ * player's last choice; the memory is the site's, on the device).
8852
+ */
8853
+ identifiers?: LoginIdentifier[];
8854
+ /** The player switched tabs. Informational — the block switches itself. */
8855
+ onIdentifierChange?: (identifier: LoginIdentifier) => void;
8856
+ /** ISO2 override for the phone prefix; unset reads the provider's country. */
8857
+ country?: string;
8858
+ /** The panel's brand mark, top left. This IS a modal — it has a bar. */
8859
+ logo?: ReactNode;
8860
+ /** The promotional strip under the bar (a real site drops an <img> here).
8861
+ * Omit it and the bar sits straight on the form. */
8862
+ banner?: ReactNode;
8863
+ /** Closes the modal. Omit and no close button is drawn. */
8864
+ onClose?: () => void;
8865
+ closeLabel?: string;
8866
+ /** `null` = classic password login. A channel = the two-step code flow. */
8867
+ channel?: PasswordlessChannel | null;
8868
+ /** The API answered `allow_password` — this account keeps its password even
8869
+ * though the site runs passwordless. */
8870
+ allowPassword?: boolean;
8871
+ step?: LoginStep;
8872
+ /** The identifier captured at step 1, for the code step's greeting. */
8873
+ username?: string;
8874
+ /** ISO timestamp the resend unlocks at. The block ticks it down; the site
8875
+ * decides when it starts, because only the server knows. */
8876
+ cooldownUntil?: string | null;
8877
+ loading?: boolean;
8878
+ codeLength?: number;
8879
+ /** The server's verdict on the code — "wrong or expired". The cells clear it
8880
+ * themselves on the next edit, so the site sets it and forgets it. The
8881
+ * credential fields take theirs through the form ref instead; the code step
8882
+ * has no form to reach into. */
8883
+ codeError?: string;
8884
+ /** Glyphs for the two credential fields. */
8885
+ identifierIcon?: ReactNode;
8886
+ passwordIcon?: ReactNode;
8887
+ /**
8888
+ * Alternate methods under an OR divider ("Passkey", "Email me a link").
8889
+ * Drawn on the credentials step and the passkey variant; the click comes
8890
+ * back through `onAlternate` with the entry's own id.
8891
+ */
8892
+ alternates?: LoginAlternate[];
8893
+ onAlternate?: (id: string) => void;
8894
+ /**
8895
+ * `passkey` swaps the form for the one-button screen: title, explanation,
8896
+ * "Continue with a passkey", then the alternates. The WebAuthn ceremony is
8897
+ * the site's - the button only calls `onPasskey`.
8898
+ */
8899
+ variant?: 'form' | 'passkey';
8900
+ onPasskey?: () => void;
8901
+ /** link-sent's "use a different method". */
8902
+ onChangeMethod?: () => void;
8903
+ /** the footer's signup cross-link. */
8904
+ onCreateAccount?: () => void;
8905
+ texts: LoginTexts;
8906
+ onSubmitCredentials?: (values: LoginCredentials) => void;
8907
+ onSubmitCode?: (code: string) => void;
8908
+ onResend?: () => void;
8909
+ onChangeIdentifier?: () => void;
8910
+ onForgotPassword?: () => void;
8911
+ onContactSupport?: () => void;
8912
+ className?: string;
8913
+ };
8914
+ declare const LoginPanel: react.ForwardRefExoticComponent<LoginPanelProps & react.RefAttributes<FormContextType>>;
8915
+
8916
+ /**
8917
+ * SIGNUP — the registration ENGINE, from the auth design canvas: the panel
8918
+ * takes the brand's field table (the Player Access config) and derives the
8919
+ * screens itself. There is no step editor anywhere: enabled fields fall into
8920
+ * their steps (identity → verify → credentials → profile) and the layout
8921
+ * knob decides whether those steps render as one long form or one at a time.
8922
+ * The site renders this config, it never decides.
8923
+ *
8924
+ * WHAT THE BLOCK OWNS: the layout, the derivation, client-side validation,
8925
+ * the code buffer and the resend countdown's tick. WHAT THE SITE OWNS: every
8926
+ * request, the current step (it knows what the API answered), the cooldown
8927
+ * deadline, the masked identity string, and the suggested nickname. A server
8928
+ * answer becomes a field error through the forwarded form ref.
8929
+ *
8930
+ * VERIFICATION TIMING is the canvas's 10a/10b split:
8931
+ * - `post_signup`: the form submits, the site opens its own surface for the
8932
+ * code (10b) — the block ships nothing extra for it; the verify STEP
8933
+ * rendering here covers the steps layout (9a).
8934
+ * - `in_form`: the code section sits inside the form (10a), unlocks when the
8935
+ * required fields are filled, and verifying submits — the code rides the
8936
+ * payload, so no half-created accounts.
8937
+ *
8938
+ * The panel wears the login block's shell (same `itd-login-*` chrome): the
8939
+ * two auth surfaces are one look by design, and one stylesheet by intent.
8940
+ */
8941
+ type SignupStepId = 'identity' | 'verify' | 'credentials' | 'profile';
8942
+ type SignupLayout = 'single' | 'steps';
8943
+ type SignupVerificationTiming = 'post_signup' | 'in_form';
8944
+ type SignupFieldKind = 'phone' | 'email' | 'username' | 'password' | 'text' | 'date' | 'select' | 'consent';
8945
+ type SignupFieldOption = {
8946
+ value: string;
8947
+ label: string;
8948
+ };
8949
+ type SignupField = {
8950
+ /** The submitted name AND the config key — one row of the brand's table. */
8951
+ name: string;
8952
+ kind: SignupFieldKind;
8953
+ /** Placeholder for inputs, the sentence for consents. Site copy. */
8954
+ label: ReactNode;
8955
+ required?: boolean;
8956
+ /** Steps layout: where the field lives. Unset falls to the kind's home:
8957
+ * phone/email → identity, username/password → credentials, the rest →
8958
+ * profile. */
8959
+ step?: SignupStepId;
8960
+ /** `select` options. */
8961
+ options?: SignupFieldOption[];
8962
+ /** A fact, not a question: renders as a static row ("Country · Namibia"). */
8963
+ readonly?: boolean;
8964
+ /** The fact's value. */
8965
+ value?: string;
8966
+ /** Extra validation, forwarded to the Field untouched. */
8967
+ rules?: FormRuleProps[];
8968
+ icon?: ReactNode;
8969
+ /** `password` only: draw the confirm twin underneath. */
8970
+ confirm?: boolean;
8971
+ confirmLabel?: string;
8972
+ /** Collapsed behind a ghost link until asked for ("Have a promo code?"). */
8973
+ collapsed?: boolean;
8974
+ /** Wide (single) layout: span the full row instead of one grid cell. */
8975
+ span?: boolean;
8976
+ };
8977
+ type SignupTexts = {
8978
+ title: string;
8979
+ description?: string;
8980
+ /** Final submit — "Create account". */
8981
+ submit: string;
8982
+ /** Step submit — "Continue". Falls back to `submit`. */
8983
+ continue?: string;
8984
+ /** Chip labels per step ("Phone", "Verify", "Account", "Profile"). */
8985
+ stepLabels?: Partial<Record<SignupStepId, string>>;
8986
+ /** Titles the verify/credentials/profile steps put over their fields. */
8987
+ stepTitles?: Partial<Record<SignupStepId, string>>;
8988
+ /** The verify sentence — the site composes and masks it. */
8989
+ codeHint?: string;
8990
+ resendCode?: string;
8991
+ /** "Edit" beside the sent-to identity. */
8992
+ editIdentity?: string;
8993
+ /** "Verify & continue" / 10a's "Verify & create account". */
8994
+ verifySubmit?: string;
8995
+ /** Under the suggested nickname: "We picked one for you...". */
8996
+ suggestedHint?: string;
8997
+ /** The regenerate action: "New one". */
8998
+ newSuggestion?: string;
8999
+ /** 10a's in-form section title: "Verify your phone". */
9000
+ inFormVerifyTitle?: string;
9001
+ /** Footer: "Already have an account?" + the action. */
9002
+ haveAccount?: string;
9003
+ signIn?: string;
9004
+ };
9005
+ type SignupPanelProps = {
9006
+ /** The brand's field table, in its order. The engine does the rest. */
9007
+ fields: SignupField[];
9008
+ layout?: SignupLayout;
9009
+ /** Single layout only: the site's wide two-column registration panel
9010
+ * (canvas 8). Off = the narrow auth column (canvas 10). */
9011
+ wide?: boolean;
9012
+ /** A verification moment exists (`phone_verification_required`...). */
9013
+ verify?: boolean;
9014
+ verificationTiming?: SignupVerificationTiming;
9015
+ /** Steps layout: the CURRENT step. The site advances it — it knows what
9016
+ * the API answered. Unset starts at the first derived step. */
9017
+ step?: SignupStepId;
9018
+ /** Ticks on the chips. */
9019
+ completedSteps?: SignupStepId[];
9020
+ /** ISO2 override for the phone prefix; unset reads the provider country. */
9021
+ country?: string;
9022
+ logo?: ReactNode;
9023
+ banner?: ReactNode;
9024
+ onClose?: () => void;
9025
+ closeLabel?: string;
9026
+ loading?: boolean;
9027
+ codeLength?: number;
9028
+ /** ISO timestamp the resend unlocks at; the block only ticks it down. */
9029
+ cooldownUntil?: string | null;
9030
+ /** The server's verdict on the code. */
9031
+ codeError?: string;
9032
+ /** "Sent to +264 81 ••• 678" — masked by the site. */
9033
+ maskedIdentity?: string;
9034
+ /** The auto-suggested nickname for the username field (canvas 9b). */
9035
+ suggestedUsername?: string;
9036
+ texts: SignupTexts;
9037
+ /** Steps layout: one step submitted. Values are the step's own fields. */
9038
+ onSubmitStep?: (step: SignupStepId, values: Record<string, unknown>) => void;
9039
+ /** Single layout (and 10a): the whole form. With `in_form` timing the
9040
+ * code rides along under `code`. */
9041
+ onSubmit?: (values: Record<string, unknown>) => void;
9042
+ /** Steps layout verify step: the code on its own. */
9043
+ onVerifyCode?: (code: string) => void;
9044
+ onResend?: () => void;
9045
+ onEditIdentity?: () => void;
9046
+ onSuggestUsername?: () => void;
9047
+ onSignIn?: () => void;
9048
+ className?: string;
9049
+ };
9050
+ /** Where a field lives once the engine has spoken. */
9051
+ declare const stepOf: (field: SignupField) => SignupStepId;
9052
+ /**
9053
+ * The derivation: enabled fields fall into their steps, `verify` inserts its
9054
+ * step after identity, empty steps do not exist. This is the whole engine —
9055
+ * a panel reorders a table and the screens follow.
9056
+ */
9057
+ declare const deriveSteps: (fields: SignupField[], verify: boolean) => SignupStepId[];
9058
+ declare const SignupPanel: react.ForwardRefExoticComponent<SignupPanelProps & react.RefAttributes<FormContextType>>;
9059
+
9060
+ /**
9061
+ * COMPLETION — the forced post-login step (auth canvas, screen 12): "we're
9062
+ * moving to password sign-in, set yours now". Login migration's front door,
9063
+ * but the shape is generic on purpose: any required completion (a missing
9064
+ * alternate contact, a consent renewal) is an eyebrow, a title, a sentence,
9065
+ * some fields and a save.
9066
+ *
9067
+ * THE FIELDS ARE THE CHILDREN. The site composes them from ITD Field/Input
9068
+ * inside this panel's Form - the block does not know which method the brand
9069
+ * is migrating to, and it should not. What the block owns: the shell (the
9070
+ * login block's), the validity gate, and the skip/forced split:
9071
+ *
9072
+ * - during grace (`skippable`): a ghost "remind me later" and the deadline
9073
+ * note under it;
9074
+ * - after grace: no skip, the forced sentence in its place. The site decides
9075
+ * which day that flips - migration.force_after_grace is config, not UI.
9076
+ */
9077
+ type CompletionTexts = {
9078
+ /** the chip: "Action needed" */
9079
+ eyebrow?: string;
9080
+ title: string;
9081
+ /** "We're moving to password sign-in. Set yours now to keep access after 12 Sep." */
9082
+ hint?: ReactNode;
9083
+ submit: string;
9084
+ /** "Remind me later" - drawn only while `skippable` */
9085
+ skip?: string;
9086
+ /** "12 days left" - drawn beside the skip */
9087
+ deadline?: string;
9088
+ /** "The grace period has ended. This step can't be skipped anymore." */
9089
+ forced?: string;
9090
+ };
9091
+ type CompletionPanelProps = {
9092
+ texts: CompletionTexts;
9093
+ /** grace period still running: the step can wait until tomorrow */
9094
+ skippable?: boolean;
9095
+ loading?: boolean;
9096
+ logo?: ReactNode;
9097
+ /** the FIELDS, site-composed (ITD Field/Input) - rendered inside the form */
9098
+ children: ReactNode;
9099
+ onSubmit?: (values: Record<string, unknown>) => void;
9100
+ onSkip?: () => void;
9101
+ className?: string;
9102
+ };
9103
+ declare const CompletionPanel: react.ForwardRefExoticComponent<CompletionPanelProps & react.RefAttributes<FormContextType>>;
9104
+
9105
+ type AuthPageProps = {
9106
+ /** The production marker for this screen — `inn-force-change-password`,
9107
+ * `inn-reset-password`, `inn-email-verification`. Fixed, not swapped: these
9108
+ * routes render the same tree on both platforms (the site's pages carry the
9109
+ * platform-prefixed id, so pass it already resolved when that matters). */
9110
+ marker?: string;
9111
+ /** The brand mark above the column. */
9112
+ logo?: ReactNode;
9113
+ /** Overrides the column width for a screen that is not a form — the result
9114
+ * page runs wider, because a 370px form column letterboxes its panel. */
9115
+ width?: string;
9116
+ /** The column's Card. A form wants one — with no site chrome there is
9117
+ * nothing else holding it — but the Result page is already a panel, and
9118
+ * boxing a box helps nobody. */
9119
+ card?: boolean;
9120
+ children?: ReactNode;
9121
+ /** The bottom row: the language picker on the left… */
9122
+ language?: ReactNode;
9123
+ /** …and the copyright line on the right. */
9124
+ copyright?: ReactNode;
9125
+ className?: string;
9126
+ };
9127
+ declare const AuthPage: ({ marker, logo, width, card, children, language, copyright, className, }: AuthPageProps) => react.JSX.Element;
9128
+ type AuthPageTitleProps = {
9129
+ title: string;
9130
+ subtitle?: string;
9131
+ };
9132
+ declare const AuthPageTitle: ({ title, subtitle }: AuthPageTitleProps) => react.JSX.Element;
9133
+ declare const AuthPageSeparator: () => react.JSX.Element;
9134
+ type PasswordTexts = {
9135
+ title: string;
9136
+ subtitle?: string;
9137
+ /** The "8 characters, a digit, upper, lower, symbol, no spaces" line. */
9138
+ rules?: string;
9139
+ newPassword: string;
9140
+ confirmPassword: string;
9141
+ /** The message when the two do not match. */
9142
+ confirmRequired?: string;
9143
+ submit: string;
9144
+ support?: string;
9145
+ };
9146
+ type ForceChangePasswordValues = {
9147
+ current_password: string;
9148
+ new_password: string;
9149
+ };
9150
+ type ForceChangePasswordProps = {
9151
+ texts: PasswordTexts & {
9152
+ currentPassword: string;
9153
+ };
9154
+ /** Glyph for the password fields' addonBefore (the site uses a key icon). */
9155
+ fieldIcon?: ReactNode;
9156
+ logo?: ReactNode;
9157
+ loading?: boolean;
9158
+ onSubmit?: (values: ForceChangePasswordValues) => void;
9159
+ onContactSupport?: () => void;
9160
+ language?: ReactNode;
9161
+ copyright?: ReactNode;
9162
+ className?: string;
9163
+ };
9164
+ /**
9165
+ * `/force-change-password` — the screen a login lands on when the account
9166
+ * carries `forceChangePassword`. Three fields, because the user IS signed in
9167
+ * and has to prove the current password before replacing it.
9168
+ */
9169
+ declare const ForceChangePassword: react.ForwardRefExoticComponent<ForceChangePasswordProps & react.RefAttributes<FormContextType>>;
9170
+ type ResetPasswordValues = {
9171
+ new_password: string;
9172
+ };
9173
+ type ResetPasswordProps = {
9174
+ texts: PasswordTexts;
9175
+ fieldIcon?: ReactNode;
9176
+ logo?: ReactNode;
9177
+ loading?: boolean;
9178
+ onSubmit?: (values: ResetPasswordValues) => void;
9179
+ onContactSupport?: () => void;
9180
+ language?: ReactNode;
9181
+ copyright?: ReactNode;
9182
+ className?: string;
9183
+ };
9184
+ /**
9185
+ * `/reset-password/:secret` — reached from the mail link, so nobody is signed
9186
+ * in: no current password, and the rules go in an Alert instead of the small
9187
+ * grey line, because this is the first time the visitor reads them.
9188
+ */
9189
+ declare const ResetPassword: react.ForwardRefExoticComponent<ResetPasswordProps & react.RefAttributes<FormContextType>>;
9190
+ /** The four outcomes of following the link. `loading` is the state the page
9191
+ * MOUNTS in: it verifies on arrival, the visitor does nothing. */
9192
+ type EmailVerificationState = 'loading' | 'success' | 'error' | 'expired';
9193
+ type EmailVerificationProps = {
9194
+ state: EmailVerificationState;
9195
+ texts: Record<EmailVerificationState, {
9196
+ title: string;
9197
+ subtitle: string;
9198
+ }> & {
9199
+ home: string;
9200
+ };
9201
+ /** Per-state artwork — a URL or a node. Omit and the state shows the spinner
9202
+ * (loading) or nothing (the rest); the site passes its colourful set. */
9203
+ images?: Partial<Record<EmailVerificationState, string | ReactNode>>;
9204
+ onHome?: () => void;
9205
+ homeHref?: string;
9206
+ logo?: ReactNode;
9207
+ language?: ReactNode;
9208
+ copyright?: ReactNode;
9209
+ className?: string;
9210
+ };
9211
+ /**
9212
+ * `/email-verification/:code` — no form at all: the page fires the request on
9213
+ * mount and reports. The title takes the state's colour (error red, expired
9214
+ * amber, success the accent) through `data-state`, so a site re-points one
9215
+ * knob rather than three selectors.
9216
+ */
9217
+ declare const EmailVerification: ({ state, texts, images, onHome, homeHref, logo, language, copyright, className, }: EmailVerificationProps) => react.JSX.Element;
9218
+
8702
9219
  /**
8703
9220
  * BACK TO TOP — the button that appears once somebody has scrolled a screenful.
8704
9221
  *
@@ -9642,6 +10159,7 @@ declare const locales: {
9642
10159
  invalidURL: string;
9643
10160
  fieldMustBeDifferent: string;
9644
10161
  forbiddenWords: string;
10162
+ multipleOf: string;
9645
10163
  };
9646
10164
  uploader: {
9647
10165
  header: string;
@@ -10010,6 +10528,7 @@ declare const locales: {
10010
10528
  invalidURL: string;
10011
10529
  fieldMustBeDifferent: string;
10012
10530
  forbiddenWords: string;
10531
+ multipleOf: string;
10013
10532
  };
10014
10533
  uploader: {
10015
10534
  header: string;
@@ -10385,6 +10904,7 @@ declare const resources: {
10385
10904
  invalidURL: string;
10386
10905
  fieldMustBeDifferent: string;
10387
10906
  forbiddenWords: string;
10907
+ multipleOf: string;
10388
10908
  };
10389
10909
  uploader: {
10390
10910
  header: string;
@@ -10753,6 +11273,7 @@ declare const resources: {
10753
11273
  invalidURL: string;
10754
11274
  fieldMustBeDifferent: string;
10755
11275
  forbiddenWords: string;
11276
+ multipleOf: string;
10756
11277
  };
10757
11278
  uploader: {
10758
11279
  header: string;
@@ -11056,5 +11577,5 @@ declare const resources: {
11056
11577
  };
11057
11578
  };
11058
11579
 
11059
- export { _default as ALink, Accordion, AddDefaultThemeStyle, AddDefaultUnit, AddZero, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, AlertTitle, Amount, AnnouncementBar, Arrow as ArrowIcon, Avatar, AvatarFallback, AvatarImage, BLOCK_ENTRIES, BLOCK_MANIFEST, BackToTop, BackTop, Badge, Banner, Base64Decode, Base64Encode, BlockForm, BlockPreview, BoxTitle, Button, ButtonGroup, ButtonGroupText, ButtonSizes, ButtonSizesSlug, ButtonTypes, Calendar, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTabs, CardTitle, CasinoFeatured, CasinoFeaturedWinners, CategoryChip, CheckFileURL, Checkbox, Checkmark, ChunkArray, CodeEditor, CodeInput, ColorInput, ComingSoon, ComponentPositions, ComponentSizes, ComponentSizesSlug, ComponentVariants, ComponentXPositions, ComponentYPositions, ConnectionStatus, ConsoleLog, ContextMenu, DropdownMenuCheckboxItem as ContextMenuCheckboxItem, DropdownMenuContent as ContextMenuContent, DropdownMenuItem as ContextMenuItem, DropdownMenuLabel as ContextMenuLabel, DropdownMenuRadioGroup as ContextMenuRadioGroup, DropdownMenuRadioItem as ContextMenuRadioItem, DropdownMenuSeparator as ContextMenuSeparator, DropdownMenuSub as ContextMenuSub, DropdownMenuSubContent as ContextMenuSubContent, DropdownMenuSubTrigger as ContextMenuSubTrigger, ContextMenuTrigger, ConvertCurrency, DatePicker, DefaultAvatar, DetectPlatform, DetermineNewHeight, DetermineNewWidth, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, FeaturedGames, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FileChecker, FileDocument, FileExcel, FileExtensions, FilePdf, FileTypes, FilterTabs, FindSelector, Flex, Footer, Form, FormDefaultsContext, FormValidationTypes, FormValidations, FormatBytes, FormatDate, FormatDateTime, FormatSimpleDate, FormatSimpleDateTime, FormatTime, GameBox, GameCarousel, GameCategories, GameProviders, GameShell, GameShellBrowse, GameShellSettings, GameShellSwipeHint, GamesGrid, generateColorScaleFromBase as GenerateColorScale, GetByCurrency, GetClassNameByPlatform, GetCountryCodeByCurrencyCode, GetCountryCodeByLanguage, GetCurrencyFormat, GetCurrencySymbol, GetDecimalByCurrency, GetPlatform, GetTypeByFileType, H1, H2, H3, H4, HUB_NAME_KEYS, HUB_PRIZE_TONE, HUB_STATUS_TONE, Header, Help, HoverCard, HoverCardContent, HoverCardTrigger, HubAccountModal, HubActiveBonus, HubBonusActivation, HubBonusHistory, HubBonusRequest, HubChangePassword, HubComingSoon, HubCopyBtn, HubDepositModal, HubDepositPage, HubDt, HubFreespinActivation, HubFreespinHistory, HubGameHistory, HubHistName, HubMedalButton, HubMedalDetail, HubMedals, HubMessageInbox, HubNewTicketForm, HubNotificationPrefs, HubPayFieldRow, HubPayFilter, HubPayLogoBadge, HubPayModalCard, HubPayModalTiles, HubPayName, HubPaymentHistory, HubPrizesModal, HubProfileSummary, HubRaffleActive, HubRaffleJoined, HubSecurity, HubSettingsDetails, HubStatistics, HubStatusBadge, HubStatusCard, HubTable, HubTicketThread, HubTicketsModal, HubVipClub, HubVipLevels, HubWithdrawModal, HubWithdrawPage, ITDContext, ITDLink, ITDProvider, ITDRouterContext, ITDThemeProvider, _default$1 as Image, ImageCropper, InitPlatform, _default$2 as InlineSVGCached, InlineSelectArrow, Input, IsValidJSON, KNOWN_BLOCKS, Label, LayoutBoxes, LineChart, Lock as LockIcon, MaskProvider, MegaMenu, MinWidthGate, MobileBottomNav, MobileGameCategories, MobileGameFilter, MobileGameNavigator, MobileGameSearch, MobileLastWinners, ModalManager, ModalState, MultipleJackpots, NoData, NotificationsPanel, PAGE_BACKGROUND_FIELDS, PAGE_EDITOR_CHANNEL, PAGE_EDITOR_PROTOCOL, PAGE_SETTLE_DEADLINE, PAGE_TYPES, PHONE_COUNTRIES, PageBackground, PageCustomCode, PageProvider, PageRenderer, Picture, PlatformTypes, Popover, PopoverContent, PopoverTrigger, PortalDocumentProvider, PostViewer, Progress, PromotionsGrid, RadioGroup, RadioGroupItem, Raffle, RaffleShowcase, RangePicker, RemoveUnits, Result, SITE_THEME_DEFAULTS, SITE_THEME_FIELDS, SVGLoader, SVGUrlToPNGDataUrl, Select, SelectGroup, SelectItem, SelectLabel, SelectSeparator, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Skeleton, Slider, SliderDouble, Spacer, Spin, StatCard, SubPageHeader, Switch, Table$1 as Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, Table as TablePrimitive, TableRow as TableRowPrimitive, TableWrapper, Tabs, TabsContent, TabsList, TabsTrigger, TextArea, ThemeAppearances, TinyScrollbar, Toaster, ToggleGroup, ToggleGroupItem, TokenSetError, Tooltip, TooltipContent, TooltipPositions, TooltipTrigger, TournamentCard, TournamentDetail, TournamentList, Tournaments, Trash, TriggerTypes, UniUpperCase, Upload, Upload$1 as UploadIcon, UserHub, Wait, ZoomIn, ZoomOut, actionHasTarget, applyLayout, applySampleImages, applySampleRefs, applyTouchMode, arrayMove, blockName, blocksForPageType, cn, darkTheme, decodeCustomCode, defaultData, defineITDConfig, defineTokenSet, dropTargetAt, editableBlock, export_default as enCalendarLocale, findCssError, generateColorScaleFromBase, getContrastText, getPhoneCountry, hexToRgba, hubVipMedalSrc, importShadcnTheme, injectThemeColors, isPhoneComplete, isTouchDevice, lightTheme, locales, lockScroll, matchActive, moveIndex, normalizeAction, pageBackgroundFields, pageBlocks, pageChecks, pageKey, pageTypeLabel, pageVisibility, parseCustomCode, pathnameOf, phoneDigits, phoneLength, pushOverlayLayer, readField, realmOf, resolveSiteTheme, resolveTokenSet, resources, sampleAnswer, sampleArt, sampleSlider, toE164, toKebabCase, toTurkishTitleCase, export_default$1 as trCalendarLocale, unwrap, useActionProps, useAddExternalCSS, useAmountMask, useAvoidCollision, useComponentSize, useConnectionStatus, useConstructor, useContextBridge, useCoreFetch, useDefaultVariant, useEditorBridge, useHubMobile, useITD, useITDHref, useITDLocation, useITDNavigate, useITDRouterAdapter, useITDSearchParams, useKeyboardShortcut, useMediaQuery, useModal, useModalContent, useMultiQuery, useNaturalRatio, useNotificationsFeed, useOnClickOutside, useOnESCKeyDown, useOnResize, useOrientation, usePageContext, usePhoneCountry, usePortalDocument, useReCaptcha, useRealm, useScrollLock, useSingleQuery, useViewer, validateTokenSet, withOpacity, worstLevel, wrap, writeField };
11060
- export type { AccordionItemProps, AccordionProps, AccordionSubMenuProps, AlertDialogContentProps, AlertProps, AlertType, AmountMaskContextValue, AmountProps, AnnouncementBarHideMode, AnnouncementBarProps, BadgeColor, BadgeProps, BadgeVariant, BannerProps, BlockFormProps, BlockKind, BlockManifestEntry, BlockNotification, BlockPreviewProps, BoxTitleProps, ButtonGroupOrientation, ButtonGroupProps, ButtonGroupTextProps, ButtonGroupVariant, ButtonProps, ButtonSize, ButtonStates, ButtonVariants, CalendarDayProps, CalendarLocale, CalendarProps, CalendarValueProps, CardProps, CasinoFeaturedItem, CasinoFeaturedProps, CasinoFeaturedTournament, CasinoWinnersProps, ChartSeries, CheckCode, CheckLevel, CheckboxEvent, CheckboxGroupProps, CheckboxProps, CodeEditorProps, CodeInputProps, ComingSoonProps, DropdownMenuCheckboxItemProps as ContextMenuCheckboxItemProps, DropdownMenuContentProps as ContextMenuContentProps, DropdownMenuItemProps as ContextMenuItemProps, DropdownMenuLabelProps as ContextMenuLabelProps, ContextMenuProps, DropdownMenuRadioGroupProps as ContextMenuRadioGroupProps, DropdownMenuRadioItemProps as ContextMenuRadioItemProps, DropdownMenuSeparatorProps as ContextMenuSeparatorProps, DropdownMenuSubContentProps$1 as ContextMenuSubContentProps, DropdownMenuSubProps$1 as ContextMenuSubProps, DropdownMenuSubTriggerProps as ContextMenuSubTriggerProps, ContextMenuTriggerProps, CropArea, CropSettings, DatePickerProps, DialogSide, DropTarget, DropdownMenuCheckboxItemProps, DropdownMenuContentProps, DropdownMenuItemProps, DropdownMenuLabelProps, DropdownMenuProps, DropdownMenuRadioGroupProps, DropdownMenuRadioItemProps, DropdownMenuSeparatorProps, DropdownMenuSubContentProps$1 as DropdownMenuSubContentProps, DropdownMenuSubProps$1 as DropdownMenuSubProps, DropdownMenuSubTriggerProps, DropdownMenuTriggerProps, EditorBlockRect, EditorBridge, EditorBridgeOptions, EditorCommand, EditorEnvelope, EditorEvent, EditorRect, FeaturedGamesProps, FieldLegendProps, FieldOption, FieldProps, FieldSchema, FieldSource, FieldUpdateProps, FieldsSchema, FilterTabOption, FilterTabsProps, FlexAlignProps, FlexGapProps, FlexJustifyProps, FlexProps, FooterApp, FooterLink, FooterProps, FooterSeal, FooterSitemapGroup, FooterSocial, FormContextType, FormDefaults, FormItemProps, FormProps, FormRuleProps, FormSubComponentProps, FormValueProps, GameBoxLiveData, GameBoxProps, GameBrowseGame, GameBrowseJackpot, GameBrowseProvider, GameBrowseTab, GameBrowseWinner, GameCarouselProps, GameCategoriesProps, GameCategory, GameFilterSort, GameProvider, GameProvidersProps, GameShellBrowseProps, GameShellContent, GameShellNotice, GameShellProps, GameShellSettingsAction, GameShellSettingsProps, GameShellSwipeHintProps, GamesGridProps, GroupCheckboxOptionType, HeaderLanguage, HeaderNavItem, HeaderProps, HeaderUser, HelpProps, HelpSection, HubActiveBonusData, HubBonusActRow, HubBonusReqRow, HubBonusRow, HubFsActRow, HubFsRow, HubGameRow, HubGameStat, HubHistFilter, HubMedal, HubMsg, HubPayField, HubPayFilterOption, HubPayHRow, HubPayLogo, HubPayMethod, HubPayRow, HubPayTableRow, HubPrizeTone, HubRafflePrize, HubRaffleRow, HubRewardTier, HubRewardTip, HubSecurityRow, HubSettingsField, HubSettingsGroup, HubStat, HubStatusField, HubStatusTone, HubTableMarker, HubTicket, HubTopSlot, HubTypeFieldMap, HubVipArt, HubVipBonus, HubVipGroup, HubVipHero, HubVipLevel, HubVipSummary, HubVipTier, HubWagerRow, HubWdAccount, ITDContextType, ITDHorizontalPosition, ITDImperativeFuncProps, ITDImportConfig, ITDInitConfig, ITDLinkProps, ITDLinkRenderProps, ITDLocation, ITDNavigateOptions, ITDProviderProps, ITDRouterAdapter, ITDSize, ITDSizeSlug, ITDTheme, ITDVariant, ITDVerticalPosition, ImageCropperProps, ImageCropperRef, InputProps, InputVariant, ItdAction, ItdActionKind, JackpotGame, JackpotSlide, JackpotTier, JackpotTierStats, JackpotWin, LabelProps, LayoutBoxesProps, LineChartProps, MaskProviderProps, MatchActiveOptions, MegaMenuEntry, MegaMenuLink, MegaMenuProps, MinWidthGateProps, MobileBottomNavItem, MobileBottomNavProps, MobileGameCategoriesProps, MobileGameFilterProps, MobileGameNavigatorProps, MobileGameSearchProps, MobileLastWinner, MobileLastWinnersProps, ModalContentProps, ModalProps, ModalRefProps, MultipleJackpotsProps, NotificationsFeed, NotificationsSource, OverlayLayerHandle, OverlayLayerOptions, PageAudience, PageBackground$1 as PageBackgroundData, PageCheckFinding, PageCheckInput, PageComponent, PageContextValue, PageCustomCodes, PageDocument, PageGame, PageLabels, PageLayout, PageLayoutPages, PagePayload, PagePlatform, PageQueryResult, PageRefs, PageRenderMode, PageRendererProps, PageStatus, PageType, PageViewer, PhoneCountry, PopoverProps, PostViewerBlock, ProgressProps, ProgressStatus, PromotionCardData, PromotionsGridProps, QueryValueProps, RadioGroupItemProps, RadioGroupProps, RaffleData, RaffleParticipant, RafflePrize, RangePickerProps, RangePreset, RangeValue, RangeValueProps, Realm, ResolvedSiteTheme, ResultProps, SampleSource, SelectOptionProps, SelectProps, SelectToggleProps, SelectValue, SeparatorProps, ShadcnImportResult, SheetContentProps, SheetSide, SingleQueryProps, SiteChromeSettings, SiteThemeSettings, SkeletonAnimation, SkeletonProps, SkeletonVariant, SliderDoubleProps, SliderProps, SliderRef, SliderSlide, SpacerProps, StatCardProps, StatCardTrend, SubPageHeaderProps, SvgToPngOptions, SwitchProps, TableColumnType, TableProps, TableRefProps, TableRow$1 as TableRow, TableSortDirection, TableSortMode, TableSortState, TableTRProps, TabsContentProps, TabsListProps, TabsOrientation, TabsProps, TabsTriggerProps, TabsVariant, TextAreaEvent, TextAreaProps, TextAreaVariant, ToasterProps, ToggleGroupItemProps, ToggleGroupProps, TokenDef, TokenSet, Tournament, TournamentFilter, TournamentGame, TournamentPrizeRow, TournamentStanding, TournamentStatBox, TournamentStatus, UploadProgressProps, UploadProps, UploadResultMessageProps, UserHubBalance, UserHubBalanceRow, UserHubNavItem, UserHubProps, UserHubTab };
11580
+ export { _default as ALink, Accordion, AddDefaultThemeStyle, AddDefaultUnit, AddZero, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, AlertTitle, Amount, AnnouncementBar, Arrow as ArrowIcon, AuthPage, AuthPageSeparator, AuthPageTitle, Avatar, AvatarFallback, AvatarImage, BLOCK_ENTRIES, BLOCK_MANIFEST, BackToTop, BackTop, Badge, Banner, Base64Decode, Base64Encode, BlockForm, BlockPreview, BoxTitle, Button, ButtonGroup, ButtonGroupText, ButtonSizes, ButtonSizesSlug, ButtonTypes, Calendar, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTabs, CardTitle, CasinoFeatured, CasinoFeaturedWinners, CategoryChip, CheckFileURL, Checkbox, Checkmark, ChunkArray, CodeEditor, CodeInput, ColorInput, ComingSoon, CompletionPanel, ComponentPositions, ComponentSizes, ComponentSizesSlug, ComponentVariants, ComponentXPositions, ComponentYPositions, ConnectionStatus, ConsoleLog, ContextMenu, DropdownMenuCheckboxItem as ContextMenuCheckboxItem, DropdownMenuContent as ContextMenuContent, DropdownMenuItem as ContextMenuItem, DropdownMenuLabel as ContextMenuLabel, DropdownMenuRadioGroup as ContextMenuRadioGroup, DropdownMenuRadioItem as ContextMenuRadioItem, DropdownMenuSeparator as ContextMenuSeparator, DropdownMenuSub as ContextMenuSub, DropdownMenuSubContent as ContextMenuSubContent, DropdownMenuSubTrigger as ContextMenuSubTrigger, ContextMenuTrigger, ConvertCurrency, DatePicker, DefaultAvatar, DetectPlatform, DetermineNewHeight, DetermineNewWidth, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EXAMPLE_SITE, EmailVerification, FeaturedGames, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FileChecker, FileDocument, FileExcel, FileExtensions, FilePdf, FileTypes, FilterTabs, FindSelector, Flex, Footer, ForceChangePassword, Form, FormDefaultsContext, FormValidationTypes, FormValidations, FormatBytes, FormatDate, FormatDateTime, FormatSimpleDate, FormatSimpleDateTime, FormatTime, GameBox, GameCarousel, GameCategories, GameProviders, GameShell, GameShellBrowse, GameShellSettings, GameShellSwipeHint, GamesGrid, generateColorScaleFromBase as GenerateColorScale, GetByCurrency, GetClassNameByPlatform, GetCountryCodeByCurrencyCode, GetCountryCodeByLanguage, GetCurrencyFormat, GetCurrencySymbol, GetDecimalByCurrency, GetPlatform, GetTypeByFileType, H1, H2, H3, H4, HUB_NAME_KEYS, HUB_PRIZE_TONE, HUB_STATUS_TONE, Header, Help, HoverCard, HoverCardContent, HoverCardTrigger, HubAccountModal, HubActiveBonus, HubBonusActivation, HubBonusHistory, HubBonusRequest, HubChangePassword, HubComingSoon, HubCopyBtn, HubDepositModal, HubDepositPage, HubDt, HubFreespinActivation, HubFreespinHistory, HubGameHistory, HubHistName, HubMedalButton, HubMedalDetail, HubMedals, HubMessageInbox, HubNewTicketForm, HubNotificationPrefs, HubPayFieldRow, HubPayFilter, HubPayLogoBadge, HubPayModalCard, HubPayModalTiles, HubPayName, HubPaymentHistory, HubPrizesModal, HubProfileSummary, HubRaffleActive, HubRaffleJoined, HubSecurity, HubSettingsDetails, HubStatistics, HubStatusBadge, HubStatusCard, HubTable, HubTicketThread, HubTicketsModal, HubVipClub, HubVipLevels, HubWithdrawModal, HubWithdrawPage, ITDContext, ITDLink, ITDProvider, ITDRouterContext, ITDThemeProvider, _default$1 as Image, ImageCropper, InitPlatform, _default$2 as InlineSVGCached, InlineSelectArrow, Input, IsValidJSON, KNOWN_BLOCKS, Label, LayoutBoxes, LineChart, Lock as LockIcon, LoginPanel, MaskProvider, MegaMenu, MinWidthGate, MobileBottomNav, MobileGameCategories, MobileGameFilter, MobileGameNavigator, MobileGameSearch, MobileLastWinners, ModalManager, ModalState, MultipleJackpots, NoData, NotificationsPanel, PAGE_BACKGROUND_FIELDS, PAGE_EDITOR_CHANNEL, PAGE_EDITOR_PROTOCOL, PAGE_SETTLE_DEADLINE, PAGE_TYPES, PHONE_COUNTRIES, PageBackground, PageCustomCode, PageProvider, PageRenderer, Picture, PlatformTypes, Popover, PopoverContent, PopoverTrigger, PortalDocumentProvider, PostViewer, Progress, PromotionsGrid, RadioGroup, RadioGroupItem, Raffle, RaffleShowcase, RangePicker, RemoveUnits, ResetPassword, Result, SITE_THEME_DEFAULTS, SITE_THEME_FIELDS, SVGLoader, SVGUrlToPNGDataUrl, Select, SelectGroup, SelectItem, SelectLabel, SelectSeparator, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, SignupPanel, Skeleton, Slider, SliderDouble, Spacer, Spin, StatCard, SubPageHeader, Switch, Table$1 as Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, Table as TablePrimitive, TableRow as TableRowPrimitive, TableWrapper, Tabs, TabsContent, TabsList, TabsTrigger, TextArea, ThemeAppearances, TinyScrollbar, Toaster, ToggleGroup, ToggleGroupItem, TokenSetError, Tooltip, TooltipContent, TooltipPositions, TooltipTrigger, TournamentCard, TournamentDetail, TournamentList, Tournaments, Trash, TriggerTypes, UniUpperCase, Upload, Upload$1 as UploadIcon, UserHub, Wait, ZoomIn, ZoomOut, actionHasTarget, applyLayout, applySampleImages, applySampleRefs, applyTouchMode, arrayMove, blockName, blocksForPageType, cn, darkTheme, decodeCustomCode, defaultData, defineITDConfig, defineTokenSet, deriveSteps, dropTargetAt, editableBlock, export_default as enCalendarLocale, findCssError, generateColorScaleFromBase, getContrastText, getPhoneCountry, hexToRgba, hubVipMedalSrc, importShadcnTheme, injectThemeColors, isPhoneComplete, isTouchDevice, lightTheme, locales, lockScroll, matchActive, moveIndex, normalizeAction, pageBackgroundFields, pageBlocks, pageChecks, pageKey, pageTypeLabel, pageVisibility, parseCustomCode, pathnameOf, phoneDigits, phoneLength, pushOverlayLayer, readField, realmOf, resolveSitePresetOverrides, resolveSiteTheme, resolveTokenSet, resources, sampleAnswer, sampleArt, sampleSlider, stepOf, toE164, toKebabCase, toTurkishTitleCase, export_default$1 as trCalendarLocale, unwrap, useActionProps, useAddExternalCSS, useAmountMask, useAvoidCollision, useComponentSize, useConnectionStatus, useConstructor, useContextBridge, useCoreFetch, useDefaultVariant, useEditorBridge, useHubMobile, useITD, useITDHref, useITDLocation, useITDNavigate, useITDRouterAdapter, useITDSearchParams, useKeyboardShortcut, useMediaQuery, useModal, useModalContent, useMultiQuery, useNaturalRatio, useNotificationsFeed, useOnClickOutside, useOnESCKeyDown, useOnResize, useOrientation, usePageContext, usePhoneCountry, usePortalDocument, useReCaptcha, useRealm, useScrollLock, useSingleQuery, useViewer, validateSitePreset, validateTokenSet, withOpacity, worstLevel, wrap, writeField };
11581
+ export type { AccordionItemProps, AccordionProps, AccordionSubMenuProps, AlertDialogContentProps, AlertProps, AlertType, AmountMaskContextValue, AmountProps, AnnouncementBarHideMode, AnnouncementBarProps, AuthPageProps, AuthPageTitleProps, BadgeColor, BadgeProps, BadgeVariant, BannerProps, BlockFormProps, BlockKind, BlockManifestEntry, BlockNotification, BlockPreviewProps, BoxTitleProps, ButtonGroupOrientation, ButtonGroupProps, ButtonGroupTextProps, ButtonGroupVariant, ButtonProps, ButtonSize, ButtonStates, ButtonVariants, CalendarDayProps, CalendarLocale, CalendarProps, CalendarValueProps, CardProps, CasinoFeaturedItem, CasinoFeaturedProps, CasinoFeaturedTournament, CasinoWinnersProps, ChartSeries, CheckCode, CheckLevel, CheckboxEvent, CheckboxGroupProps, CheckboxProps, CodeEditorProps, CodeInputProps, ComingSoonProps, CompletionPanelProps, CompletionTexts, DropdownMenuCheckboxItemProps as ContextMenuCheckboxItemProps, DropdownMenuContentProps as ContextMenuContentProps, DropdownMenuItemProps as ContextMenuItemProps, DropdownMenuLabelProps as ContextMenuLabelProps, ContextMenuProps, DropdownMenuRadioGroupProps as ContextMenuRadioGroupProps, DropdownMenuRadioItemProps as ContextMenuRadioItemProps, DropdownMenuSeparatorProps as ContextMenuSeparatorProps, DropdownMenuSubContentProps$1 as ContextMenuSubContentProps, DropdownMenuSubProps$1 as ContextMenuSubProps, DropdownMenuSubTriggerProps as ContextMenuSubTriggerProps, ContextMenuTriggerProps, CropArea, CropSettings, DatePickerProps, DialogSide, DropTarget, DropdownMenuCheckboxItemProps, DropdownMenuContentProps, DropdownMenuItemProps, DropdownMenuLabelProps, DropdownMenuProps, DropdownMenuRadioGroupProps, DropdownMenuRadioItemProps, DropdownMenuSeparatorProps, DropdownMenuSubContentProps$1 as DropdownMenuSubContentProps, DropdownMenuSubProps$1 as DropdownMenuSubProps, DropdownMenuSubTriggerProps, DropdownMenuTriggerProps, EditorBlockRect, EditorBridge, EditorBridgeOptions, EditorCommand, EditorEnvelope, EditorEvent, EditorRect, EmailVerificationProps, EmailVerificationState, FeaturedGamesProps, FieldLegendProps, FieldOption, FieldProps, FieldSchema, FieldSource, FieldUpdateProps, FieldsSchema, FilterTabOption, FilterTabsProps, FlexAlignProps, FlexGapProps, FlexJustifyProps, FlexProps, FooterApp, FooterLink, FooterProps, FooterSeal, FooterSitemapGroup, FooterSocial, ForceChangePasswordProps, ForceChangePasswordValues, FormContextType, FormDefaults, FormItemProps, FormProps, FormRuleProps, FormSubComponentProps, FormValueProps, GameBoxLiveData, GameBoxProps, GameBrowseGame, GameBrowseJackpot, GameBrowseProvider, GameBrowseTab, GameBrowseWinner, GameCarouselProps, GameCategoriesProps, GameCategory, GameFilterSort, GameProvider, GameProvidersProps, GameShellBrowseProps, GameShellContent, GameShellNotice, GameShellProps, GameShellSettingsAction, GameShellSettingsProps, GameShellSwipeHintProps, GamesGridProps, GroupCheckboxOptionType, HeaderLanguage, HeaderNavItem, HeaderProps, HeaderUser, HelpProps, HelpSection, HubActiveBonusData, HubBonusActRow, HubBonusReqRow, HubBonusRow, HubFsActRow, HubFsRow, HubGameRow, HubGameStat, HubHistFilter, HubMedal, HubMsg, HubPayField, HubPayFilterOption, HubPayHRow, HubPayLogo, HubPayMethod, HubPayRow, HubPayTableRow, HubPrizeTone, HubRafflePrize, HubRaffleRow, HubRewardTier, HubRewardTip, HubSecurityRow, HubSettingsField, HubSettingsGroup, HubStat, HubStatusField, HubStatusTone, HubTableMarker, HubTicket, HubTopSlot, HubTypeFieldMap, HubVipArt, HubVipBonus, HubVipGroup, HubVipHero, HubVipLevel, HubVipSummary, HubVipTier, HubWagerRow, HubWdAccount, ITDContextType, ITDHorizontalPosition, ITDImperativeFuncProps, ITDImportConfig, ITDInitConfig, ITDLinkProps, ITDLinkRenderProps, ITDLocation, ITDNavigateOptions, ITDProviderProps, ITDRouterAdapter, ITDSize, ITDSizeSlug, ITDTheme, ITDVariant, ITDVerticalPosition, ImageCropperProps, ImageCropperRef, InputProps, InputVariant, ItdAction, ItdActionKind, JackpotGame, JackpotSlide, JackpotTier, JackpotTierStats, JackpotWin, LabelProps, LayoutBoxesProps, LineChartProps, LoginAlternate, LoginCredentials, LoginIdentifier, LoginPanelProps, LoginStep, LoginTexts, MaskProviderProps, MatchActiveOptions, MegaMenuEntry, MegaMenuLink, MegaMenuProps, MinWidthGateProps, MobileBottomNavItem, MobileBottomNavProps, MobileGameCategoriesProps, MobileGameFilterProps, MobileGameNavigatorProps, MobileGameSearchProps, MobileLastWinner, MobileLastWinnersProps, ModalContentProps, ModalProps, ModalRefProps, MultipleJackpotsProps, NotificationsFeed, NotificationsSource, OverlayLayerHandle, OverlayLayerOptions, PageAudience, PageBackground$1 as PageBackgroundData, PageCheckFinding, PageCheckInput, PageComponent, PageContextValue, PageCustomCodes, PageDocument, PageGame, PageLabels, PageLayout, PageLayoutPages, PagePayload, PagePlatform, PageQueryResult, PageRefs, PageRenderMode, PageRendererProps, PageStatus, PageType, PageViewer, PasswordlessChannel, PhoneCountry, PopoverProps, PostViewerBlock, ProgressProps, ProgressStatus, PromotionCardData, PromotionsGridProps, QueryValueProps, RadioGroupItemProps, RadioGroupProps, RaffleData, RaffleParticipant, RafflePrize, RangePickerProps, RangePreset, RangeValue, RangeValueProps, Realm, ResetPasswordProps, ResetPasswordValues, ResolvedSiteTheme, ResultProps, SampleSource, SelectOptionProps, SelectProps, SelectToggleProps, SelectValue, SeparatorProps, ShadcnImportResult, SheetContentProps, SheetSide, SignupField, SignupFieldKind, SignupFieldOption, SignupLayout, SignupPanelProps, SignupStepId, SignupTexts, SignupVerificationTiming, SingleQueryProps, SiteChromeSettings, SitePreset, SiteThemeSettings, SkeletonAnimation, SkeletonProps, SkeletonVariant, SliderDoubleProps, SliderProps, SliderRef, SliderSlide, SpacerProps, StatCardProps, StatCardTrend, SubPageHeaderProps, SvgToPngOptions, SwitchProps, TableColumnType, TableProps, TableRefProps, TableRow$1 as TableRow, TableSortDirection, TableSortMode, TableSortState, TableTRProps, TabsContentProps, TabsListProps, TabsOrientation, TabsProps, TabsTriggerProps, TabsVariant, TextAreaEvent, TextAreaProps, TextAreaVariant, ToasterProps, ToggleGroupItemProps, ToggleGroupProps, TokenDef, TokenSet, Tournament, TournamentFilter, TournamentGame, TournamentPrizeRow, TournamentStanding, TournamentStatBox, TournamentStatus, UploadProgressProps, UploadProps, UploadResultMessageProps, UserHubBalance, UserHubBalanceRow, UserHubNavItem, UserHubProps, UserHubTab };