@algorithm-shift/design-system 1.2.981 → 1.2.982

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,6 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import React$1 from 'react';
2
+ import React$1, { CSSProperties } from 'react';
3
3
  import axios from 'axios';
4
+ import { SizeProp } from '@fortawesome/fontawesome-svg-core';
4
5
  import { ToasterProps } from 'sonner';
5
6
  import { ClassValue } from 'clsx';
6
7
 
@@ -240,12 +241,6 @@ interface ButtonGroupProps extends ElementProps {
240
241
  textContent?: string;
241
242
  list?: Record<string, any>;
242
243
  }
243
-
244
- interface IconProps extends ElementProps {
245
- iconType?: string;
246
- name?: string;
247
- fontSize?: number | string;
248
- }
249
244
  interface AccordionProps extends ElementProps {
250
245
  name?: string;
251
246
  }
@@ -315,7 +310,33 @@ declare const Breadcrumb: ({ list, className, style }: BreadcrumbProps) => react
315
310
 
316
311
  declare function SplitButton({ style, textContent, className, list }: ButtonGroupProps): react_jsx_runtime.JSX.Element;
317
312
 
318
- declare const Icon: ({ iconType, name, className, fontSize, style }: IconProps) => react_jsx_runtime.JSX.Element | null;
313
+ type IconSet = 'fa-css' | 'fa' | 'fontawesome' | 'lucide';
314
+ type FAPrefix = 'fas' | 'far' | 'fab' | string;
315
+ interface IconProps extends React$1.HTMLAttributes<HTMLElement> {
316
+ /** Icon provider */
317
+ iconSet?: IconSet;
318
+ /** Icon name
319
+ * - For Lucide: component name (e.g. "Search", "User").
320
+ * - For FA CSS: icon name without prefix (e.g. "coffee").
321
+ */
322
+ icon?: string | any;
323
+ /** FontAwesome CSS prefix (e.g. fas, far, fab) */
324
+ prefix?: FAPrefix;
325
+ /** Size in px (number) or FontAwesome size */
326
+ iconSize?: number | SizeProp;
327
+ /** Additional CSS classes */
328
+ className?: string;
329
+ /** Inline styles (include FA CSS variables to satisfy FontAwesomeIcon typings) */
330
+ style?: CSSProperties;
331
+ /** Tooltip / accessible title */
332
+ title?: string;
333
+ /** FA CSS helpers */
334
+ spin?: boolean;
335
+ pulse?: boolean;
336
+ fixedWidth?: boolean;
337
+ onClick?: () => void;
338
+ }
339
+ declare function Icon(props: IconProps): react_jsx_runtime.JSX.Element | null;
319
340
 
320
341
  declare const TextInput: ({ className, style, ...props }: TextInputProps) => react_jsx_runtime.JSX.Element;
321
342
 
@@ -373,7 +394,7 @@ interface LazyMultiSelectDropdownProps extends Omit<any, 'lazyLoad'> {
373
394
  axiosInstance?: any;
374
395
  outputFormat?: 'array' | 'comma' | 'semicolon';
375
396
  }
376
- declare function LazyMultiSelectDropdown({ options, value, onChange, placeholder, className, id, disabled, readOnly, source, apiUrl, pageSize, dataKey, dataLabel, errorMessage, axiosInstance, outputFormat }: LazyMultiSelectDropdownProps): react_jsx_runtime.JSX.Element;
397
+ declare function LazyMultiSelectDropdown({ value, onChange, placeholder, className, id, disabled, readOnly, source, apiUrl, pageSize, dataKey, dataLabel, errorMessage, axiosInstance, outputFormat, ...props }: LazyMultiSelectDropdownProps): react_jsx_runtime.JSX.Element;
377
398
 
378
399
  interface PageChangeProps {
379
400
  page: number;
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import React$1 from 'react';
2
+ import React$1, { CSSProperties } from 'react';
3
3
  import axios from 'axios';
4
+ import { SizeProp } from '@fortawesome/fontawesome-svg-core';
4
5
  import { ToasterProps } from 'sonner';
5
6
  import { ClassValue } from 'clsx';
6
7
 
@@ -240,12 +241,6 @@ interface ButtonGroupProps extends ElementProps {
240
241
  textContent?: string;
241
242
  list?: Record<string, any>;
242
243
  }
243
-
244
- interface IconProps extends ElementProps {
245
- iconType?: string;
246
- name?: string;
247
- fontSize?: number | string;
248
- }
249
244
  interface AccordionProps extends ElementProps {
250
245
  name?: string;
251
246
  }
@@ -315,7 +310,33 @@ declare const Breadcrumb: ({ list, className, style }: BreadcrumbProps) => react
315
310
 
316
311
  declare function SplitButton({ style, textContent, className, list }: ButtonGroupProps): react_jsx_runtime.JSX.Element;
317
312
 
318
- declare const Icon: ({ iconType, name, className, fontSize, style }: IconProps) => react_jsx_runtime.JSX.Element | null;
313
+ type IconSet = 'fa-css' | 'fa' | 'fontawesome' | 'lucide';
314
+ type FAPrefix = 'fas' | 'far' | 'fab' | string;
315
+ interface IconProps extends React$1.HTMLAttributes<HTMLElement> {
316
+ /** Icon provider */
317
+ iconSet?: IconSet;
318
+ /** Icon name
319
+ * - For Lucide: component name (e.g. "Search", "User").
320
+ * - For FA CSS: icon name without prefix (e.g. "coffee").
321
+ */
322
+ icon?: string | any;
323
+ /** FontAwesome CSS prefix (e.g. fas, far, fab) */
324
+ prefix?: FAPrefix;
325
+ /** Size in px (number) or FontAwesome size */
326
+ iconSize?: number | SizeProp;
327
+ /** Additional CSS classes */
328
+ className?: string;
329
+ /** Inline styles (include FA CSS variables to satisfy FontAwesomeIcon typings) */
330
+ style?: CSSProperties;
331
+ /** Tooltip / accessible title */
332
+ title?: string;
333
+ /** FA CSS helpers */
334
+ spin?: boolean;
335
+ pulse?: boolean;
336
+ fixedWidth?: boolean;
337
+ onClick?: () => void;
338
+ }
339
+ declare function Icon(props: IconProps): react_jsx_runtime.JSX.Element | null;
319
340
 
320
341
  declare const TextInput: ({ className, style, ...props }: TextInputProps) => react_jsx_runtime.JSX.Element;
321
342
 
@@ -373,7 +394,7 @@ interface LazyMultiSelectDropdownProps extends Omit<any, 'lazyLoad'> {
373
394
  axiosInstance?: any;
374
395
  outputFormat?: 'array' | 'comma' | 'semicolon';
375
396
  }
376
- declare function LazyMultiSelectDropdown({ options, value, onChange, placeholder, className, id, disabled, readOnly, source, apiUrl, pageSize, dataKey, dataLabel, errorMessage, axiosInstance, outputFormat }: LazyMultiSelectDropdownProps): react_jsx_runtime.JSX.Element;
397
+ declare function LazyMultiSelectDropdown({ value, onChange, placeholder, className, id, disabled, readOnly, source, apiUrl, pageSize, dataKey, dataLabel, errorMessage, axiosInstance, outputFormat, ...props }: LazyMultiSelectDropdownProps): react_jsx_runtime.JSX.Element;
377
398
 
378
399
  interface PageChangeProps {
379
400
  page: number;