@kubit-ui-web/react-components 2.0.0-beta.13 → 2.0.0-beta.15

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "metadata": {
3
- "generated": "2026-01-04T09:18:20.366Z",
3
+ "generated": "2026-01-06T08:13:54.025Z",
4
4
  "totalComponents": 0,
5
5
  "totalSize": {
6
6
  "raw": 0,
@@ -1 +1 @@
1
- import{cssThemes as e,cssClasses as t,cssVars as s,cssAvailableComponents as i,cssGlobalStyles as n,cssMediaQueries as h}from"./stats/stats";export class Provider{#e;#t;#s;#i;#n;#h;#r;#o;#a;#c=(e,t)=>{if("undefined"==typeof document)return;let s=document.getElementById(t);s||(s=document.createElement("link"),s.id=t,s.rel="stylesheet",document.head.appendChild(s)),s.href=e};#l=e=>{const{css:t,foreign:s}=e,i=s?.before||[],n=s?.after||[];i.forEach((e,t)=>{const s=`${this.#o}-foreign-before-${t+1}`;this.#c(e,s)}),this.#c(t,this.#o),n.forEach((e,t)=>{const s=`${this.#o}-foreign-after-${t+1}`;this.#c(e,s)})};#d=()=>{"undefined"!=typeof document&&document.querySelectorAll(`link[id^="${this.#o}"]`).forEach(e=>e.remove())};constructor({linkId:r,jsInCss:o}={}){this.#t=e,this.#s=s,this.#i=t,this.#n=i,this.#h=n,this.#r=h,this.#o=r||"kb-styled-link",this.#e=Object.keys(e)[0],this.#a=!!o,this.getComponentStyles=this.getComponentStyles.bind(this),"undefined"!=typeof window&&"undefined"!=typeof document&&this.#a&&(this.#d(),this.#l(this.#t[this.#e]))}get themeSelected(){return this.#e}set themeSelected(e){if(!(e in this.#t))throw new Error(`${e} is not exists`);this.#a&&(this.#d(),this.#l(this.#t[e])),this.#e=e}get allThemesNames(){return Object.keys(this.#t)}get allThemes(){return this.#t}get variables(){return this.#s[this.#e]}get classNames(){return this.#i[this.#e]}get components(){return this.#n[this.#e]}get globalStyles(){return this.#h[this.#e]}get mediaQueries(){return this.#r[this.#e]}getComponentStyles({variant:e,component:t,additionalClassNames:s}){const i=this.#i[this.#e][t.toLocaleUpperCase()];if(!i)return{};const n={},h=!!e&&`$_${e.toLocaleLowerCase().replace(/-/g,"_")}`;if(h&&h in i){const e=i[h];Object.entries(e).forEach(([e,t])=>{e in n||(n[e]=t)})}return Object.entries(i).forEach(([e,t])=>{e.startsWith("$_")||e in n||(n[e]=t)}),s&&Object.keys(s).length&&Object.entries(s).forEach(([e,t])=>{e in n||(n[e]=""),n[e]+=` ${t}`}),n}}
1
+ import{cssThemes,cssClasses,cssVars,cssAvailableComponents,cssGlobalStyles,cssMediaQueries}from"./stats/stats";export class Provider{#e;#s;#t;#i;#n;#h;#r;#l;#m;#a=(e,s)=>{if("undefined"==typeof document)return;let t=document.getElementById(s);t||(t=document.createElement("link"),t.id=s,t.rel="stylesheet",document.head.appendChild(t)),t.href=e};#o=e=>{const{css:s,foreign:t}=e,i=t?.before||[],n=t?.after||[];i.forEach((e,s)=>{const t=`${this.#l}-foreign-before-${s+1}`;this.#a(e,t)}),this.#a(s,this.#l),n.forEach((e,s)=>{const t=`${this.#l}-foreign-after-${s+1}`;this.#a(e,t)})};#c=()=>{"undefined"!=typeof document&&document.querySelectorAll(`link[id^="${this.#l}"]`).forEach(e=>e.remove())};constructor({linkId:e,jsInCss:s}={}){this.#s=cssThemes,this.#t=cssVars,this.#i=cssClasses,this.#n=cssAvailableComponents,this.#h=cssGlobalStyles,this.#r=cssMediaQueries,this.#l=e||"kb-styled-link",this.#e=Object.keys(cssThemes)[0],this.#m=!!s,this.getComponentStyles=this.getComponentStyles.bind(this),"undefined"!=typeof window&&"undefined"!=typeof document&&this.#m&&(this.#c(),this.#o(this.#s[this.#e]))}get themeSelected(){return this.#e}set themeSelected(e){if(!(e in this.#s))throw new Error(`${e} is not exists`);this.#m&&(this.#c(),this.#o(this.#s[e])),this.#e=e}get allThemesNames(){return Object.keys(this.#s)}get allThemes(){return this.#s}get variables(){return this.#t[this.#e]}get classNames(){return this.#i[this.#e]}get components(){return this.#n[this.#e]}get globalStyles(){return this.#h[this.#e]}get mediaQueries(){return this.#r[this.#e]}getComponentStyles({variant:e,component:s,additionalClassNames:t}){const i=this.#i[this.#e][s.toLocaleUpperCase()];if(!i)return{};const n={},h=!!e&&`$_${e.toLocaleLowerCase().replace(/-/g,"_")}`;return h&&h in i&&Object.entries(i[h]).forEach(([e,s])=>{e in n||(n[e]=s)}),Object.entries(i).forEach(([e,s])=>{e.startsWith("$_")||e in n||(n[e]=s)}),t&&Object.keys(t).length&&Object.entries(t).forEach(([e,s])=>{e in n||(n[e]=""),n[e]+=` ${s}`}),n}}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "metadata": {
3
- "generated": "2026-01-04T09:18:20.366Z",
3
+ "generated": "2026-01-06T08:13:54.025Z",
4
4
  "totalComponents": 0,
5
5
  "totalSize": {
6
6
  "raw": 0,
@@ -1 +1 @@
1
- import{cssThemes as e,cssClasses as t,cssVars as s,cssAvailableComponents as i,cssGlobalStyles as n,cssMediaQueries as h}from"./stats/stats";export class Provider{#e;#t;#s;#i;#n;#h;#r;#o;#a;#c=(e,t)=>{if("undefined"==typeof document)return;let s=document.getElementById(t);s||(s=document.createElement("link"),s.id=t,s.rel="stylesheet",document.head.appendChild(s)),s.href=e};#l=e=>{const{css:t,foreign:s}=e,i=s?.before||[],n=s?.after||[];i.forEach((e,t)=>{const s=`${this.#o}-foreign-before-${t+1}`;this.#c(e,s)}),this.#c(t,this.#o),n.forEach((e,t)=>{const s=`${this.#o}-foreign-after-${t+1}`;this.#c(e,s)})};#d=()=>{"undefined"!=typeof document&&document.querySelectorAll(`link[id^="${this.#o}"]`).forEach(e=>e.remove())};constructor({linkId:r,jsInCss:o}={}){this.#t=e,this.#s=s,this.#i=t,this.#n=i,this.#h=n,this.#r=h,this.#o=r||"kb-styled-link",this.#e=Object.keys(e)[0],this.#a=!!o,this.getComponentStyles=this.getComponentStyles.bind(this),"undefined"!=typeof window&&"undefined"!=typeof document&&this.#a&&(this.#d(),this.#l(this.#t[this.#e]))}get themeSelected(){return this.#e}set themeSelected(e){if(!(e in this.#t))throw new Error(`${e} is not exists`);this.#a&&(this.#d(),this.#l(this.#t[e])),this.#e=e}get allThemesNames(){return Object.keys(this.#t)}get allThemes(){return this.#t}get variables(){return this.#s[this.#e]}get classNames(){return this.#i[this.#e]}get components(){return this.#n[this.#e]}get globalStyles(){return this.#h[this.#e]}get mediaQueries(){return this.#r[this.#e]}getComponentStyles({variant:e,component:t,additionalClassNames:s}){const i=this.#i[this.#e][t.toLocaleUpperCase()];if(!i)return{};const n={},h=!!e&&`$_${e.toLocaleLowerCase().replace(/-/g,"_")}`;if(h&&h in i){const e=i[h];Object.entries(e).forEach(([e,t])=>{e in n||(n[e]=t)})}return Object.entries(i).forEach(([e,t])=>{e.startsWith("$_")||e in n||(n[e]=t)}),s&&Object.keys(s).length&&Object.entries(s).forEach(([e,t])=>{e in n||(n[e]=""),n[e]+=` ${t}`}),n}}
1
+ import{cssThemes,cssClasses,cssVars,cssAvailableComponents,cssGlobalStyles,cssMediaQueries}from"./stats/stats";export class Provider{#e;#s;#t;#i;#n;#h;#r;#l;#m;#a=(e,s)=>{if("undefined"==typeof document)return;let t=document.getElementById(s);t||(t=document.createElement("link"),t.id=s,t.rel="stylesheet",document.head.appendChild(t)),t.href=e};#o=e=>{const{css:s,foreign:t}=e,i=t?.before||[],n=t?.after||[];i.forEach((e,s)=>{const t=`${this.#l}-foreign-before-${s+1}`;this.#a(e,t)}),this.#a(s,this.#l),n.forEach((e,s)=>{const t=`${this.#l}-foreign-after-${s+1}`;this.#a(e,t)})};#c=()=>{"undefined"!=typeof document&&document.querySelectorAll(`link[id^="${this.#l}"]`).forEach(e=>e.remove())};constructor({linkId:e,jsInCss:s}={}){this.#s=cssThemes,this.#t=cssVars,this.#i=cssClasses,this.#n=cssAvailableComponents,this.#h=cssGlobalStyles,this.#r=cssMediaQueries,this.#l=e||"kb-styled-link",this.#e=Object.keys(cssThemes)[0],this.#m=!!s,this.getComponentStyles=this.getComponentStyles.bind(this),"undefined"!=typeof window&&"undefined"!=typeof document&&this.#m&&(this.#c(),this.#o(this.#s[this.#e]))}get themeSelected(){return this.#e}set themeSelected(e){if(!(e in this.#s))throw new Error(`${e} is not exists`);this.#m&&(this.#c(),this.#o(this.#s[e])),this.#e=e}get allThemesNames(){return Object.keys(this.#s)}get allThemes(){return this.#s}get variables(){return this.#t[this.#e]}get classNames(){return this.#i[this.#e]}get components(){return this.#n[this.#e]}get globalStyles(){return this.#h[this.#e]}get mediaQueries(){return this.#r[this.#e]}getComponentStyles({variant:e,component:s,additionalClassNames:t}){const i=this.#i[this.#e][s.toLocaleUpperCase()];if(!i)return{};const n={},h=!!e&&`$_${e.toLocaleLowerCase().replace(/-/g,"_")}`;return h&&h in i&&Object.entries(i[h]).forEach(([e,s])=>{e in n||(n[e]=s)}),Object.entries(i).forEach(([e,s])=>{e.startsWith("$_")||e in n||(n[e]=s)}),t&&Object.keys(t).length&&Object.entries(t).forEach(([e,s])=>{e in n||(n[e]=""),n[e]+=` ${s}`}),n}}
@@ -4168,6 +4168,17 @@ declare interface KubitProviderProps {
4168
4168
  utilsConfig?: UtilsContextType;
4169
4169
  }
4170
4170
 
4171
+ /**
4172
+ * LabelStandAlone component renders an accessible label element with optional required indicator.
4173
+ *
4174
+ * @component
4175
+ * @example
4176
+ * ```tsx
4177
+ * <LabelStandAlone inputId="email" required requiredSymbol="*">
4178
+ * Email Address
4179
+ * </LabelStandAlone>
4180
+ * ```
4181
+ */
4171
4182
  export declare const Label: ForwardRefExoticComponent<LabelStandAloneProps & RefAttributes<HTMLParagraphElement>>;
4172
4183
 
4173
4184
  /**
@@ -5003,6 +5014,21 @@ export declare interface RadioButtonProps<Variant = undefined extends string ? u
5003
5014
  additionalClasses?: Partial<RadioButtonCssClasses>;
5004
5015
  }
5005
5016
 
5017
+ /**
5018
+ * Standalone radio button component for rendering selectable radio inputs.
5019
+ *
5020
+ * This component renders a radio button with label, optional legend, error message,
5021
+ * and custom icon states. It handles accessibility attributes and visual states.
5022
+ *
5023
+ * @example
5024
+ * ```tsx
5025
+ * <RadioButtonStandAlone
5026
+ * label={{ content: "Option A" }}
5027
+ * checked={true}
5028
+ * onChange={() => {}}
5029
+ * />
5030
+ * ```
5031
+ */
5006
5032
  export declare const RadioButtonStandAlone: ({ altVariant, checked, cssClasses, disabled, error, errorAriaLiveType, errorIcon, errorMessage, id, label, lastChild, name, onBlur, onChange, screenReaderId, state, subTitle, tabIndex, value, ...props }: RadioButtonStandAloneProps) => JSX.Element;
5007
5033
 
5008
5034
  /**
@@ -5556,6 +5582,25 @@ declare interface StylesProviderProps {
5556
5582
  jsInCss?: boolean;
5557
5583
  }
5558
5584
 
5585
+ /**
5586
+ * Table component with automatic sticky column calculations and scroll shadow effects.
5587
+ *
5588
+ * This component wraps TableStandAlone and adds automatic sticky positioning for left
5589
+ * and right columns, scroll shadow effects, and responsive behavior. It manages scroll
5590
+ * state and column positioning internally.
5591
+ *
5592
+ * @example
5593
+ * ```tsx
5594
+ * <Table
5595
+ * variant="primary"
5596
+ * autoLeftStickyCalc={true}
5597
+ * autoRightStickyCalc={true}
5598
+ * >
5599
+ * <thead>...</thead>
5600
+ * <tbody>...</tbody>
5601
+ * </Table>
5602
+ * ```
5603
+ */
5559
5604
  export declare const Table: ForwardRefExoticComponent<TableProps & {
5560
5605
  children?: ReactNode | undefined;
5561
5606
  } & RefAttributes<HTMLDivElement>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubit-ui-web/react-components",
3
- "version": "2.0.0-beta.13",
3
+ "version": "2.0.0-beta.15",
4
4
  "description": "Kubit React Components is a customizable, accessible library of React web components, designed to enhance your application's user experience",
5
5
  "author": {
6
6
  "name": "Kubit",
@@ -159,7 +159,7 @@
159
159
  "@vitejs/plugin-react": "^5.1.2",
160
160
  "@vitest/coverage-v8": "^4.0.16",
161
161
  "@vitest/ui": "^4.0.16",
162
- "bernova": "^0.2.0",
162
+ "bernova": "^0.3.0",
163
163
  "cssnano": "^7.1.2",
164
164
  "eslint": "^9.39.2",
165
165
  "eslint-config-kubit": "1.2.0",