@aristobyte-ui/radio 0.0.0-beta.1

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 (81) hide show
  1. package/@types/index.d.ts +4 -0
  2. package/@types/styles/scss-modules.d.ts +4 -0
  3. package/assets/svg/i_Copy.svg +1 -0
  4. package/assets/svg/i_Error.svg +1 -0
  5. package/assets/svg/i_Info.svg +1 -0
  6. package/assets/svg/i_Success.svg +1 -0
  7. package/assets/svg/i_Warning.svg +1 -0
  8. package/components/Radio/Radio.module.scss +773 -0
  9. package/components/Radio/index.tsx +75 -0
  10. package/components/RadioGroup/RadioGroup.module.scss +15 -0
  11. package/components/RadioGroup/index.tsx +86 -0
  12. package/components/index.ts +2 -0
  13. package/dist/components/Anchor/index.js +28 -0
  14. package/dist/components/Button/index.js +35 -0
  15. package/dist/components/ButtonGroup/index.js +16 -0
  16. package/dist/components/CodeBlock/index.js +33 -0
  17. package/dist/components/CodeBlock/types.js +1 -0
  18. package/dist/components/Dropdown/index.js +73 -0
  19. package/dist/components/DropdownOption/index.js +13 -0
  20. package/dist/components/MessageBox/index.js +19 -0
  21. package/dist/components/Radio/index.js +10 -0
  22. package/dist/components/RadioGroup/index.js +21 -0
  23. package/dist/components/Spinner/index.js +6 -0
  24. package/dist/components/Switch/index.js +15 -0
  25. package/dist/components/TabSwitchWithSlidingIndicator/index.js +10 -0
  26. package/dist/components/index.js +12 -0
  27. package/dist/index.js +1 -0
  28. package/dist/tsconfig.tsbuildinfo +1 -0
  29. package/dist/types/components/Anchor/index.d.ts +6 -0
  30. package/dist/types/components/Anchor/index.d.ts.map +1 -0
  31. package/dist/types/components/Button/index.d.ts +15 -0
  32. package/dist/types/components/Button/index.d.ts.map +1 -0
  33. package/dist/types/components/ButtonGroup/index.d.ts +13 -0
  34. package/dist/types/components/ButtonGroup/index.d.ts.map +1 -0
  35. package/dist/types/components/CodeBlock/index.d.ts +11 -0
  36. package/dist/types/components/CodeBlock/index.d.ts.map +1 -0
  37. package/dist/types/components/CodeBlock/types.d.ts +3 -0
  38. package/dist/types/components/CodeBlock/types.d.ts.map +1 -0
  39. package/dist/types/components/Dropdown/index.d.ts +14 -0
  40. package/dist/types/components/Dropdown/index.d.ts.map +1 -0
  41. package/dist/types/components/DropdownOption/index.d.ts +12 -0
  42. package/dist/types/components/DropdownOption/index.d.ts.map +1 -0
  43. package/dist/types/components/MessageBox/index.d.ts +14 -0
  44. package/dist/types/components/MessageBox/index.d.ts.map +1 -0
  45. package/dist/types/components/Radio/index.d.ts +17 -0
  46. package/dist/types/components/Radio/index.d.ts.map +1 -0
  47. package/dist/types/components/RadioGroup/index.d.ts +18 -0
  48. package/dist/types/components/RadioGroup/index.d.ts.map +1 -0
  49. package/dist/types/components/Spinner/index.d.ts +9 -0
  50. package/dist/types/components/Spinner/index.d.ts.map +1 -0
  51. package/dist/types/components/Switch/index.d.ts +18 -0
  52. package/dist/types/components/Switch/index.d.ts.map +1 -0
  53. package/dist/types/components/TabSwitchWithSlidingIndicator/index.d.ts +9 -0
  54. package/dist/types/components/TabSwitchWithSlidingIndicator/index.d.ts.map +1 -0
  55. package/dist/types/components/index.d.ts +3 -0
  56. package/dist/types/components/index.d.ts.map +1 -0
  57. package/dist/types/index.d.ts +2 -0
  58. package/dist/types/index.d.ts.map +1 -0
  59. package/dist/types/utils/Portal.d.ts +5 -0
  60. package/dist/types/utils/Portal.d.ts.map +1 -0
  61. package/dist/types/utils/icons.d.ts +8 -0
  62. package/dist/types/utils/icons.d.ts.map +1 -0
  63. package/dist/types/utils/index.d.ts +3 -0
  64. package/dist/types/utils/index.d.ts.map +1 -0
  65. package/dist/types/utils/ripple.d.ts +9 -0
  66. package/dist/types/utils/ripple.d.ts.map +1 -0
  67. package/dist/utils/Portal.js +12 -0
  68. package/dist/utils/icons.js +12 -0
  69. package/dist/utils/index.js +2 -0
  70. package/dist/utils/ripple.js +38 -0
  71. package/eslint.config.mjs +2 -0
  72. package/index.ts +1 -0
  73. package/package.json +43 -0
  74. package/styles/_settings.scss +179 -0
  75. package/tsconfig.json +11 -0
  76. package/turbo/generators/config.ts +30 -0
  77. package/turbo/generators/templates/component.hbs +8 -0
  78. package/utils/Portal.tsx +17 -0
  79. package/utils/icons.ts +13 -0
  80. package/utils/index.ts +2 -0
  81. package/utils/ripple.tsx +54 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/Button/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,MAAM,WAAW,OAAQ,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IAC5E,OAAO,CAAC,EACJ,SAAS,GACT,SAAS,GACT,WAAW,GACX,SAAS,GACT,OAAO,GACP,SAAS,CAAC;IACd,UAAU,CAAC,EACP,OAAO,GACP,SAAS,GACT,gBAAgB,GAChB,YAAY,GACZ,SAAS,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IAC9C,IAAI,CAAC,EAAE;QACL,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC;QAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;KAC1B,CAAC;IACF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC;CACtE;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,OAAO,CA0DpC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import * as React from "react";
2
+ import { type IButton, Button } from "../Button";
3
+ export interface IButtonGroup {
4
+ children: React.ReactElement<IButton, typeof Button> | React.ReactElement<IButton, typeof Button>[];
5
+ align?: "vertical" | "horizontal";
6
+ variant?: "default" | "primary" | "secondary" | "success" | "error" | "warning";
7
+ size?: "xsm" | "sm" | "md" | "lg" | "xlg";
8
+ radius?: "none" | "sm" | "md" | "lg" | "full";
9
+ disabled?: boolean;
10
+ className?: string;
11
+ }
12
+ export declare const ButtonGroup: React.FC<IButtonGroup>;
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/ButtonGroup/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAIjD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EACJ,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,MAAM,CAAC,GAC1C,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,MAAM,CAAC,EAAE,CAAC;IACjD,KAAK,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAClC,OAAO,CAAC,EACJ,SAAS,GACT,SAAS,GACT,WAAW,GACX,SAAS,GACT,OAAO,GACP,SAAS,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA6B9C,CAAC"}
@@ -0,0 +1,11 @@
1
+ import * as React from "react";
2
+ import { SupportedLanguages, SupportedThemes } from "./types";
3
+ interface ICodeBlock {
4
+ code: string;
5
+ lang?: SupportedLanguages;
6
+ theme?: SupportedThemes;
7
+ className?: string;
8
+ }
9
+ export declare const CodeBlock: React.FC<ICodeBlock>;
10
+ export {};
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/CodeBlock/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAI9D,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAyC1C,CAAC"}
@@ -0,0 +1,3 @@
1
+ export type SupportedLanguages = "1c" | "1c-query" | "abap" | "actionscript-3" | "ada" | "adoc" | "angular-html" | "angular-ts" | "apache" | "apex" | "apl" | "applescript" | "ara" | "asciidoc" | "asm" | "astro" | "awk" | "ballerina" | "bash" | "bat" | "batch" | "be" | "beancount" | "berry" | "bibtex" | "bicep" | "blade" | "bsl" | "c" | "c#" | "c++" | "cadence" | "cairo" | "cdc" | "clarity" | "clj" | "clojure" | "closure-templates" | "cmake" | "cmd" | "cobol" | "codeowners" | "codeql" | "coffee" | "coffeescript" | "common-lisp" | "console" | "coq" | "cpp" | "cql" | "crystal" | "cs" | "csharp" | "css" | "csv" | "cue" | "cypher" | "d" | "dart" | "dax" | "desktop" | "diff" | "docker" | "dockerfile" | "dotenv" | "dream-maker" | "edge" | "elisp" | "elixir" | "elm" | "emacs-lisp" | "erb" | "erl" | "erlang" | "f" | "f#" | "f03" | "f08" | "f18" | "f77" | "f90" | "f95" | "fennel" | "fish" | "fluent" | "for" | "fortran-fixed-form" | "fortran-free-form" | "fs" | "fsharp" | "fsl" | "ftl" | "gdresource" | "gdscript" | "gdshader" | "genie" | "gherkin" | "git-commit" | "git-rebase" | "gjs" | "gleam" | "glimmer-js" | "glimmer-ts" | "glsl" | "gnuplot" | "go" | "gql" | "graphql" | "groovy" | "gts" | "hack" | "haml" | "handlebars" | "haskell" | "haxe" | "hbs" | "hcl" | "hjson" | "hlsl" | "hs" | "html" | "html-derivative" | "http" | "hxml" | "hy" | "imba" | "ini" | "jade" | "java" | "javascript" | "jinja" | "jison" | "jl" | "js" | "json" | "json5" | "jsonc" | "jsonl" | "jsonnet" | "jssm" | "jsx" | "julia" | "kotlin" | "kql" | "kt" | "kts" | "kusto" | "latex" | "lean" | "lean4" | "less" | "liquid" | "lisp" | "lit" | "llvm" | "log" | "logo" | "lua" | "luau" | "make" | "makefile" | "markdown" | "marko" | "matlab" | "md" | "mdc" | "mdx" | "mediawiki" | "mermaid" | "mips" | "mipsasm" | "mmd" | "mojo" | "move" | "nar" | "narrat" | "nextflow" | "nf" | "nginx" | "nim" | "nix" | "nu" | "nushell" | "objc" | "objective-c" | "objective-cpp" | "ocaml" | "pascal" | "perl" | "perl6" | "php" | "plsql" | "po" | "polar" | "postcss" | "pot" | "potx" | "powerquery" | "powershell" | "prisma" | "prolog" | "properties" | "proto" | "protobuf" | "ps" | "ps1" | "pug" | "puppet" | "purescript" | "py" | "python" | "ql" | "qml" | "qmldir" | "qss" | "r" | "racket" | "raku" | "razor" | "rb" | "reg" | "regex" | "regexp" | "rel" | "riscv" | "rs" | "rst" | "ruby" | "rust" | "sas" | "sass" | "scala" | "scheme" | "scss" | "sdbl" | "sh" | "shader" | "shaderlab" | "shell" | "shellscript" | "shellsession" | "smalltalk" | "solidity" | "soy" | "sparql" | "spl" | "splunk" | "sql" | "ssh-config" | "stata" | "styl" | "stylus" | "svelte" | "swift" | "system-verilog" | "systemd" | "talon" | "talonscript" | "tasl" | "tcl" | "templ" | "terraform" | "tex" | "tf" | "tfvars" | "toml" | "ts" | "ts-tags" | "tsp" | "tsv" | "tsx" | "turtle" | "twig" | "typ" | "typescript" | "typespec" | "typst" | "v" | "vala" | "vb" | "verilog" | "vhdl" | "vim" | "viml" | "vimscript" | "vue" | "vue-html" | "vy" | "vyper" | "wasm" | "wenyan" | "wgsl" | "wiki" | "wikitext" | "wit" | "wl" | "wolfram" | "xml" | "xsl" | "yaml" | "yml" | "zenscript" | "zig" | "zsh" | "文言";
2
+ export type SupportedThemes = "andromeeda" | "aurora-x" | "ayu-dark" | "catppuccin-frappe" | "catppuccin-latte" | "catppuccin-macchiato" | "catppuccin-mocha" | "dark-plus" | "dracula" | "dracula-soft" | "everforest-dark" | "everforest-light" | "github-dark" | "github-dark-default" | "github-dark-dimmed" | "github-dark-high-contrast" | "github-light" | "github-light-default" | "github-light-high-contrast" | "gruvbox-dark-hard" | "gruvbox-dark-medium" | "gruvbox-dark-soft" | "gruvbox-light-hard" | "gruvbox-light-medium" | "gruvbox-light-soft" | "houston" | "kanagawa-dragon" | "kanagawa-lotus" | "kanagawa-wave" | "laserwave" | "light-plus" | "material-theme" | "material-theme-darker" | "material-theme-lighter" | "material-theme-ocean" | "material-theme-palenight" | "min-dark" | "min-light" | "monokai" | "night-owl" | "nord" | "one-dark-pro" | "one-light" | "plastic" | "poimandres" | "red" | "rose-pine" | "rose-pine-dawn" | "rose-pine-moon" | "slack-dark" | "slack-ochin" | "snazzy-light" | "solarized-dark" | "solarized-light" | "synthwave-84" | "tokyo-night" | "vesper" | "vitesse-black" | "vitesse-dark" | "vitesse-light";
3
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../components/CodeBlock/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import * as React from "react";
2
+ import { type IDropdownOption } from "../DropdownOption";
3
+ export interface IDropdown {
4
+ children: React.ReactElement<IDropdownOption> | React.ReactElement<IDropdownOption>[];
5
+ value: string;
6
+ appearance?: "solid" | "outline" | "outline-dashed" | "no-outline" | "glowing";
7
+ onChange?: (newValue: string) => void;
8
+ initiallyOpened?: boolean;
9
+ placeholder?: string;
10
+ disabled?: boolean;
11
+ className?: string;
12
+ }
13
+ export declare const Dropdown: React.FC<IDropdown>;
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/Dropdown/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AASzE,MAAM,WAAW,SAAS;IACxB,QAAQ,EACJ,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,GACnC,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EACP,OAAO,GACP,SAAS,GACT,gBAAgB,GAChB,YAAY,GACZ,SAAS,CAAC;IACd,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CA0IxC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ export interface IDropdownOption {
3
+ children: string;
4
+ value: string;
5
+ onChange?: () => void;
6
+ selectedValue?: string;
7
+ description?: string;
8
+ icon?: string;
9
+ disabled?: boolean;
10
+ }
11
+ export declare const DropdownOption: React.FC<IDropdownOption>;
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/DropdownOption/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAkBpD,CAAC"}
@@ -0,0 +1,14 @@
1
+ import * as React from "react";
2
+ type MessageBoxVariant = "default" | "info" | "warning" | "success" | "error";
3
+ export interface IMessageBox {
4
+ variant?: MessageBoxVariant;
5
+ children?: React.ReactElement | React.ReactNode | string;
6
+ withIcon?: boolean;
7
+ customIcon?: React.ReactElement | React.ReactNode | string;
8
+ radius?: "none" | "sm" | "md" | "lg" | "full";
9
+ type?: "solid" | "outline" | "outline-dashed" | "no-outline" | "glowing";
10
+ className?: string;
11
+ }
12
+ export declare const MessageBox: React.FC<IMessageBox>;
13
+ export {};
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/MessageBox/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,KAAK,iBAAiB,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAE9E,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;IAC3D,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IAC9C,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,gBAAgB,GAAG,YAAY,GAAG,SAAS,CAAC;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgBD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAyB5C,CAAC"}
@@ -0,0 +1,17 @@
1
+ import * as React from "react";
2
+ export interface IRadio {
3
+ children: React.ReactNode;
4
+ value: string;
5
+ checked?: boolean;
6
+ onChange?: (value: string) => void;
7
+ name?: string;
8
+ disabled?: boolean;
9
+ className?: string;
10
+ highlightLabel?: boolean;
11
+ size?: "xsm" | "sm" | "md" | "lg" | "xlg";
12
+ variant?: "default" | "primary" | "secondary" | "success" | "error" | "warning";
13
+ appearance?: "default" | "solid" | "outline" | "outline-dashed" | "no-outline" | "glowing";
14
+ alignLabel?: "top" | "right" | "bottom" | "left";
15
+ }
16
+ export declare const Radio: React.FC<IRadio>;
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/Radio/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IAC1C,OAAO,CAAC,EACJ,SAAS,GACT,SAAS,GACT,WAAW,GACX,SAAS,GACT,OAAO,GACP,SAAS,CAAC;IACd,UAAU,CAAC,EACP,SAAS,GACT,OAAO,GACP,SAAS,GACT,gBAAgB,GAChB,YAAY,GACZ,SAAS,CAAC;IACd,UAAU,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;CAClD;AAED,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CA2ClC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import * as React from "react";
2
+ import { type IRadio } from "../Radio";
3
+ export interface IRadioGroup {
4
+ name: string;
5
+ value: string;
6
+ children: React.ReactElement<IRadio> | React.ReactElement<IRadio>[];
7
+ onChange?: (newValue: string) => void;
8
+ disabled?: boolean;
9
+ className?: string;
10
+ size?: "xsm" | "sm" | "md" | "lg" | "xlg";
11
+ variant?: "default" | "primary" | "secondary" | "success" | "error" | "warning";
12
+ appearance?: "solid" | "outline" | "outline-dashed" | "no-outline" | "glowing";
13
+ align?: "horizontal" | "vertical";
14
+ alignLabel?: "top" | "right" | "bottom" | "left";
15
+ highlightLabel?: boolean;
16
+ }
17
+ export declare const RadioGroup: React.FC<IRadioGroup>;
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/RadioGroup/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAS,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAI9C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;IACpE,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IAC1C,OAAO,CAAC,EACJ,SAAS,GACT,SAAS,GACT,WAAW,GACX,SAAS,GACT,OAAO,GACP,SAAS,CAAC;IACd,UAAU,CAAC,EACP,OAAO,GACP,SAAS,GACT,gBAAgB,GAChB,YAAY,GACZ,SAAS,CAAC;IACd,KAAK,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IAClC,UAAU,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACjD,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAoD5C,CAAC"}
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ export interface ISpinner {
3
+ type?: "default" | "duo" | "gradient" | "pulse" | "pulse-duo";
4
+ variant?: "default" | "primary" | "secondary" | "success" | "error" | "warning";
5
+ size?: "xsm" | "sm" | "md" | "lg" | "xlg";
6
+ className?: string;
7
+ }
8
+ export declare const Spinner: React.FC<ISpinner>;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/Spinner/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC;IAC9D,OAAO,CAAC,EACJ,SAAS,GACT,SAAS,GACT,WAAW,GACX,SAAS,GACT,OAAO,GACP,SAAS,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAWtC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import * as React from "react";
2
+ export interface ISwitch {
3
+ label?: string;
4
+ alignLabel?: "horizontal" | "vertical";
5
+ switchSize?: "xsm" | "sm" | "md" | "lg" | "xlg";
6
+ variant?: "default" | "primary" | "secondary" | "success" | "error" | "warning";
7
+ trackIcon?: {
8
+ checked?: React.ElementType;
9
+ unchecked?: React.ElementType;
10
+ };
11
+ thumbIcon?: React.ElementType;
12
+ checked?: boolean;
13
+ disabled?: boolean;
14
+ className?: string;
15
+ onChange?: () => void;
16
+ }
17
+ export declare const Switch: React.FC<ISwitch>;
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/Switch/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,WAAW,OAAO;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACvC,UAAU,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IAChD,OAAO,CAAC,EACJ,SAAS,GACT,SAAS,GACT,WAAW,GACX,SAAS,GACT,OAAO,GACP,SAAS,CAAC;IACd,SAAS,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;QAAC,SAAS,CAAC,EAAE,KAAK,CAAC,WAAW,CAAA;KAAE,CAAC;IAC3E,SAAS,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAGD,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,OAAO,CA6DpC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ export interface ITabSwitchWithSlidingIndicator {
3
+ tabs: {
4
+ buttonContent?: React.ReactElement | React.ReactNode | string;
5
+ content: React.ReactElement | React.ReactNode | string;
6
+ }[];
7
+ }
8
+ export declare const TabSwitchWithSlidingIndicator: React.FC<ITabSwitchWithSlidingIndicator>;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/TabSwitchWithSlidingIndicator/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE;QACJ,aAAa,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;QAC9D,OAAO,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;KACxD,EAAE,CAAC;CACL;AAED,eAAO,MAAM,6BAA6B,EAAE,KAAK,CAAC,EAAE,CAClD,8BAA8B,CAgC/B,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { Radio } from "./Radio";
2
+ export { RadioGroup } from "./RadioGroup";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Radio, RadioGroup } from "./components";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,5 @@
1
+ import * as React from "react";
2
+ export declare const Portal: React.FC<{
3
+ children: React.ReactNode;
4
+ }>;
5
+ //# sourceMappingURL=Portal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Portal.d.ts","sourceRoot":"","sources":["../../../utils/Portal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAW1D,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare const Icons: {
2
+ Copy: import("react").FunctionComponent<import("react").SVGAttributes<SVGElement>>;
3
+ Error: import("react").FunctionComponent<import("react").SVGAttributes<SVGElement>>;
4
+ Info: import("react").FunctionComponent<import("react").SVGAttributes<SVGElement>>;
5
+ Success: import("react").FunctionComponent<import("react").SVGAttributes<SVGElement>>;
6
+ Warning: import("react").FunctionComponent<import("react").SVGAttributes<SVGElement>>;
7
+ };
8
+ //# sourceMappingURL=icons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../utils/icons.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,KAAK;;;;;;CAMjB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { renderRipple, type RippleParams } from "./ripple";
2
+ export { Icons } from "./icons";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,9 @@
1
+ type RippleParamsRef = HTMLButtonElement | HTMLAnchorElement;
2
+ export type RippleParams<HTMLElementType extends RippleParamsRef> = {
3
+ ref: React.RefObject<HTMLElementType | null>;
4
+ clientX: number;
5
+ clientY: number;
6
+ };
7
+ export declare const renderRipple: <HTMLElementType extends RippleParamsRef>({ ref, clientX, clientY, }: RippleParams<HTMLElementType>) => void;
8
+ export {};
9
+ //# sourceMappingURL=ripple.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ripple.d.ts","sourceRoot":"","sources":["../../../utils/ripple.tsx"],"names":[],"mappings":"AAAA,KAAK,eAAe,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AAE7D,MAAM,MAAM,YAAY,CAAC,eAAe,SAAS,eAAe,IAAI;IAClE,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,eAAe,SAAS,eAAe,EAAE,4BAInE,YAAY,CAAC,eAAe,CAAC,SAyC/B,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use client";
2
+ import * as React from "react";
3
+ import { createPortal } from "react-dom";
4
+ export const Portal = ({ children, }) => {
5
+ const [mounted, setMounted] = React.useState(false);
6
+ React.useEffect(() => {
7
+ setMounted(true);
8
+ }, []);
9
+ if (!mounted || typeof window === "undefined")
10
+ return null;
11
+ return createPortal(children, document.body);
12
+ };
@@ -0,0 +1,12 @@
1
+ import Copy from "../assets/svg/i_Copy.svg";
2
+ import Error from "../assets/svg/i_Error.svg";
3
+ import Info from "../assets/svg/i_Info.svg";
4
+ import Success from "../assets/svg/i_Success.svg";
5
+ import Warning from "../assets/svg/i_Warning.svg";
6
+ export const Icons = {
7
+ Copy,
8
+ Error,
9
+ Info,
10
+ Success,
11
+ Warning,
12
+ };
@@ -0,0 +1,2 @@
1
+ export { renderRipple } from "./ripple";
2
+ export { Icons } from "./icons";
@@ -0,0 +1,38 @@
1
+ export const renderRipple = ({ ref, clientX, clientY, }) => {
2
+ const button = ref.current;
3
+ if (!button)
4
+ return;
5
+ const circle = document.createElement("span");
6
+ const diameter = Math.max(button.clientWidth, button.clientHeight);
7
+ const radius = diameter / 2;
8
+ circle.id = "ripple";
9
+ const style = document.createElement("style");
10
+ style.innerHTML = `
11
+ #ripple {
12
+ animation: ripple 300ms linear;
13
+ background-color: rgba(255, 255, 255, 0.3);
14
+ border-radius: 50%;
15
+ height: ${diameter}px;
16
+ left: ${clientX - button.getBoundingClientRect().left - radius}px;
17
+ pointer-events: none;
18
+ position: absolute;
19
+ top: ${clientY - button.getBoundingClientRect().top - radius}px;
20
+ transform: scale(0);
21
+ width: ${diameter}px;
22
+ z-index: 0;
23
+ }
24
+
25
+ @keyframes ripple {
26
+ to {
27
+ opacity: 0;
28
+ transform: scale(2);
29
+ }
30
+ }
31
+ `;
32
+ button.appendChild(style);
33
+ button.appendChild(circle);
34
+ circle.addEventListener("animationend", () => {
35
+ circle.remove();
36
+ style.remove();
37
+ });
38
+ };
@@ -0,0 +1,2 @@
1
+ import { config } from "@aristobyte-ui/eslint-config/react";
2
+ export default config;
package/index.ts ADDED
@@ -0,0 +1 @@
1
+ export { Radio, RadioGroup } from "./components";
package/package.json ADDED
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "@aristobyte-ui/radio",
3
+ "version": "0.0.0-beta.1",
4
+ "private": false,
5
+ "main": "dist/index.cjs.js",
6
+ "module": "dist/index.esm.js",
7
+ "types": "dist/types/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.esm.js",
11
+ "require": "./dist/index.cjs.js"
12
+ }
13
+ },
14
+ "scripts": {
15
+ "prepare": "yarn build",
16
+ "build": "tsc -b tsconfig.json",
17
+ "lint": "eslint . --max-warnings 0",
18
+ "generate:component": "turbo gen react-component",
19
+ "check-types": "tsc --noEmit"
20
+ },
21
+ "devDependencies": {
22
+ "@aristobyte-ui/eslint-config": "1.0.0",
23
+ "@aristobyte-ui/jest-config": "1.0.0",
24
+ "@aristobyte-ui/typescript-config": "1.0.0",
25
+ "@turbo/gen": "^2.5.0",
26
+ "@types/node": "^24.3.0",
27
+ "@types/react": "19.1.0",
28
+ "@types/react-dom": "19.1.1",
29
+ "autoprefixer": "^10.4.21",
30
+ "eslint": "^9.27.0",
31
+ "postcss": "^8.5.3",
32
+ "tailwindcss": "^4.1.7",
33
+ "tsup": "^8.5.0",
34
+ "typescript": "^5.8.3"
35
+ },
36
+ "dependencies": {
37
+ "framer-motion": "^12.23.9",
38
+ "react": "^19.1.0",
39
+ "react-dom": "^19.1.0",
40
+ "sass": "^1.89.0",
41
+ "shiki": "^3.7.0"
42
+ }
43
+ }
@@ -0,0 +1,179 @@
1
+ // === Design Tokens — Color Palette ===
2
+
3
+ // Base
4
+ $white: #ffffff;
5
+ $black: #000000;
6
+ $transparent: transparent;
7
+
8
+ // === Black Transparent Scale ===
9
+ $black-transparent-100: rgba(0, 0, 0, 0.1);
10
+ $black-transparent-200: rgba(0, 0, 0, 0.2);
11
+ $black-transparent-300: rgba(0, 0, 0, 0.3);
12
+ $black-transparent-400: rgba(0, 0, 0, 0.4);
13
+ $black-transparent-500: rgba(0, 0, 0, 0.5);
14
+ $black-transparent-600: rgba(0, 0, 0, 0.6);
15
+ $black-transparent-700: rgba(0, 0, 0, 0.7);
16
+ $black-transparent-800: rgba(0, 0, 0, 0.8);
17
+ $black-transparent-900: rgba(0, 0, 0, 0.9);
18
+
19
+ // === Black Transparent Scale ===
20
+ $white-transparent-100: rgba(255, 255, 255, 0.1);
21
+ $white-transparent-200: rgba(255, 255, 255, 0.2);
22
+ $white-transparent-300: rgba(255, 255, 255, 0.3);
23
+ $white-transparent-400: rgba(255, 255, 255, 0.4);
24
+ $white-transparent-500: rgba(255, 255, 255, 0.5);
25
+ $white-transparent-600: rgba(255, 255, 255, 0.6);
26
+ $white-transparent-700: rgba(255, 255, 255, 0.7);
27
+ $white-transparent-800: rgba(255, 255, 255, 0.8);
28
+ $white-transparent-900: rgba(255, 255, 255, 0.9);
29
+
30
+ // === Neutral Scale (Grey) ===
31
+ $grey-50: #f9fafb;
32
+ $grey-100: #f3f4f6;
33
+ $grey-200: #e5e7eb;
34
+ $grey-300: #d1d5db;
35
+ $grey-400: #9ca3af;
36
+ $grey-500: #6b7280;
37
+ $grey-600: #4b5563;
38
+ $grey-700: #374151;
39
+ $grey-800: #1f2937;
40
+ $grey-900: #111827;
41
+
42
+ // === Primary Scale (Blue) ===
43
+ $blue-50: #eff6ff;
44
+ $blue-100: #dbeafe;
45
+ $blue-200: #bfdbfe;
46
+ $blue-300: #93c5fd;
47
+ $blue-400: #60a5fa;
48
+ $blue-500: #3b82f6;
49
+ $blue-600: #2563eb; // Main
50
+ $blue-700: #1d4ed8; // Hover
51
+ $blue-800: #1e40af;
52
+ $blue-900: #1e3a8a;
53
+
54
+ // === Secondary Scale (Indigo) ===
55
+ $indigo-50: #eef2ff;
56
+ $indigo-100: #e0e7ff;
57
+ $indigo-200: #c7d2fe;
58
+ $indigo-300: #a5b4fc;
59
+ $indigo-400: #818cf8;
60
+ $indigo-500: #6366f1;
61
+ $indigo-600: #4f46e5; // Main
62
+ $indigo-700: #4338ca; // Hover
63
+
64
+ // === Error Scale (Red) ===
65
+ $red-50: #fef2f2;
66
+ $red-100: #fee2e2;
67
+ $red-200: #fecaca;
68
+ $red-300: #fca5a5;
69
+ $red-400: #f87171;
70
+ $red-500: #ef4444;
71
+ $red-600: #dc2626; // Main
72
+ $red-700: #b91c1c; // Hover
73
+
74
+ // === Success Scale (Green) ===
75
+ $green-50: #f0fdf4;
76
+ $green-100: #dcfce7;
77
+ $green-200: #bbf7d0;
78
+ $green-300: #86efac;
79
+ $green-400: #4ade80;
80
+ $green-500: #22c55e;
81
+ $green-600: #16a34a; // Main
82
+ $green-700: #15803d; // Hover
83
+
84
+ // === Warning Scale (Amber) ===
85
+ $amber-50: #fffbeb;
86
+ $amber-100: #fef3c7;
87
+ $amber-200: #fde68a;
88
+ $amber-300: #fcd34d;
89
+ $amber-400: #fbbf24;
90
+ $amber-500: #f59e0b;
91
+ $amber-600: #d97706; // Main
92
+ $amber-700: #b45309; // Hover
93
+
94
+ // === Semantic Tokens ===
95
+ $color-default: $grey-800;
96
+ $color-default-hover: $grey-900;
97
+ $color-default-disabled: rgba($color-default, 0.5);
98
+
99
+ $color-primary: $blue-600;
100
+ $color-primary-hover: $blue-700;
101
+ $color-primary-disabled: rgba($color-primary, 0.5);
102
+
103
+ $color-secondary: $indigo-600;
104
+ $color-secondary-hover: $indigo-700;
105
+ $color-secondary-disabled: rgba($color-secondary, 0.5);
106
+
107
+ $color-error: $red-600;
108
+ $color-error-hover: $red-700;
109
+ $color-error-disabled: rgba($color-error, 0.5);
110
+
111
+ $color-success: $green-600;
112
+ $color-success-hover: $green-700;
113
+ $color-success-disabled: rgba($color-success, 0.5);
114
+
115
+ $color-warning: $amber-600;
116
+ $color-warning-hover: $amber-700;
117
+ $color-warning-disabled: rgba($color-warning, 0.5);
118
+
119
+ $text-color-white: $white;
120
+ $text-color-black: $black;
121
+ $text-color-white-disabled: rgba($white, 0.5);
122
+ $text-color-black-disabled: rgba($black, 0.5);
123
+
124
+ // === Shadows ===
125
+ $shadow-sm: 0 1px 2px 0 rgba($black, 0.05);
126
+ $shadow-md:
127
+ 0 4px 6px -1px rgba($black, 0.1),
128
+ 0 2px 4px -1px rgba($black, 0.06);
129
+ $shadow-lg:
130
+ 0 10px 15px -3px rgba($black, 0.1),
131
+ 0 4px 6px -2px rgba($black, 0.05);
132
+
133
+ // === Font families ===
134
+ $font-family-sans: "Inter", sans-serif;
135
+ $font-family-serif: "Georgia", serif;
136
+ $font-family-mono: "Fira Code", monospace;
137
+
138
+ // === Font weights ===
139
+ $font-weight-regular: 400;
140
+ $font-weight-medium: 500;
141
+ $font-weight-semibold: 600;
142
+ $font-weight-bold: 700;
143
+
144
+ // === Line heights ===
145
+ $line-height-tight: 1.2;
146
+ $line-height-snug: 1.375;
147
+ $line-height-normal: 1.5;
148
+ $line-height-loose: 1.625;
149
+
150
+ // === Font Sizes — Semantic Tokens ===
151
+
152
+ // === Titles ===
153
+ $font-size-hero: 3rem; // 48px
154
+ $font-size-title-1: 2.25rem; // 36px
155
+ $font-size-title-2: 1.875rem; // 30px
156
+ $font-size-title-3: 1.5rem; // 24px
157
+
158
+ // === Subtitles ===
159
+ $font-size-subtitle-1: 1.25rem; // 20px
160
+ $font-size-subtitle-2: 1.125rem; // 18px
161
+
162
+ // === Body text ===
163
+ $font-size-body-lg: 1rem; // 16px
164
+ $font-size-body-md: 0.9375rem; // 15px
165
+ $font-size-body-sm: 0.875rem; // 14px
166
+
167
+ // === Captions / Descriptions ===
168
+ $font-size-caption: 0.75rem; // 12px
169
+ $font-size-footnote: 0.6875rem; // 11px
170
+
171
+ // === Buttons ===
172
+ $font-size-button-lg: 1rem; // 16px
173
+ $font-size-button-md: 0.875rem; // 14px
174
+ $font-size-button-sm: 0.75rem; // 12px
175
+
176
+ // === Animations ===
177
+
178
+ $cubic-bezier-primary: cubic-bezier(0.55, -0.19, 0.59, 0.95);
179
+ $cubic-bezier-secondary: cubic-bezier(0.175, 0.885, 0.32, 1.275);
package/tsconfig.json ADDED
@@ -0,0 +1,11 @@
1
+ {
2
+ "extends": "@aristobyte-ui/typescript-config/package",
3
+ "compilerOptions": {
4
+ "outDir": "dist",
5
+ "declarationDir": "dist/types",
6
+ "baseUrl": ".",
7
+ "typeRoots": ["./@types", "./node_modules/@types"]
8
+ },
9
+ "include": ["@types", "components", "utils", "index.ts"],
10
+ "exclude": ["node_modules", "dist"]
11
+ }