@febkosq8/arc 0.6.7 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/README.md +9 -3
  2. package/components/index.css +56 -0
  3. package/dist/arc.js +880 -280
  4. package/dist/{button.d.ts → components/button.d.ts} +1 -1
  5. package/dist/components/grid-loader.d.ts +16 -0
  6. package/dist/components/index.d.ts +44 -0
  7. package/dist/components/label-field.d.ts +9 -0
  8. package/dist/{preview-card.d.ts → components/preview-card.d.ts} +3 -1
  9. package/dist/components/table.d.ts +30 -0
  10. package/dist/index.d.ts +2 -41
  11. package/dist/utilities/index.d.ts +3 -0
  12. package/package.json +5 -3
  13. /package/dist/{avatar.d.ts → components/avatar.d.ts} +0 -0
  14. /package/dist/{button-double-click.d.ts → components/button-double-click.d.ts} +0 -0
  15. /package/dist/{button-group.d.ts → components/button-group.d.ts} +0 -0
  16. /package/dist/{button-long-press.d.ts → components/button-long-press.d.ts} +0 -0
  17. /package/dist/{card.d.ts → components/card.d.ts} +0 -0
  18. /package/dist/{divider.d.ts → components/divider.d.ts} +0 -0
  19. /package/dist/{dropdown-multi.d.ts → components/dropdown-multi.d.ts} +0 -0
  20. /package/dist/{dropdown.d.ts → components/dropdown.d.ts} +0 -0
  21. /package/dist/{error-text.d.ts → components/error-text.d.ts} +0 -0
  22. /package/dist/{input-timestamp.d.ts → components/input-timestamp.d.ts} +0 -0
  23. /package/dist/{input.d.ts → components/input.d.ts} +0 -0
  24. /package/dist/{menu.d.ts → components/menu.d.ts} +0 -0
  25. /package/dist/{modal.d.ts → components/modal.d.ts} +0 -0
  26. /package/dist/{pill-link.d.ts → components/pill-link.d.ts} +0 -0
  27. /package/dist/{pill.d.ts → components/pill.d.ts} +0 -0
  28. /package/dist/{select.d.ts → components/select.d.ts} +0 -0
  29. /package/dist/{switch.d.ts → components/switch.d.ts} +0 -0
  30. /package/dist/{tag.d.ts → components/tag.d.ts} +0 -0
  31. /package/dist/{text-link.d.ts → components/text-link.d.ts} +0 -0
  32. /package/dist/{theme-switcher.d.ts → components/theme-switcher.d.ts} +0 -0
  33. /package/dist/{typing-animation.d.ts → components/typing-animation.d.ts} +0 -0
  34. /package/dist/{date-handler.d.ts → utilities/date-handler.d.ts} +0 -0
  35. /package/dist/{hash-navigation.d.ts → utilities/hash-navigation.d.ts} +0 -0
@@ -7,7 +7,7 @@ type VariantClassProps = {
7
7
  className: string | undefined;
8
8
  };
9
9
  type ButtonVariantOptions = VariantClassProps & {
10
- variant?: "primary" | "secondary" | "destructive" | "ghost" | "warning" | "outline-primary" | "outline-secondary" | "outline-destructive" | "outline-ghost" | "outline-warning" | null;
10
+ variant?: "primary" | "secondary" | "success" | "destructive" | "ghost" | "warning" | "outline-primary" | "outline-secondary" | "outline-success" | "outline-destructive" | "outline-ghost" | "outline-warning" | null;
11
11
  size?: "xs" | "sm" | "md" | "lg" | "xl" | "icon-xs" | "icon-sm" | "icon-md" | "icon-lg" | "icon-xl" | null;
12
12
  };
13
13
  export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
@@ -0,0 +1,16 @@
1
+ declare const gridLoaderShapes: readonly ["circle", "square", "diamond", "star", "heart", "hexagon"];
2
+ export type GridLoaderShape = (typeof gridLoaderShapes)[number] | "mixed";
3
+ export type GridLoaderCellShape = Exclude<GridLoaderShape, "mixed">;
4
+ export interface GridLoaderProps extends React.ComponentPropsWithoutRef<"span"> {
5
+ rows?: number;
6
+ columns?: number;
7
+ size?: number;
8
+ maxSize?: number;
9
+ shape?: GridLoaderShape;
10
+ shapes?: readonly GridLoaderCellShape[];
11
+ colors?: string[];
12
+ label?: string;
13
+ symbols?: string[];
14
+ }
15
+ declare const GridLoader: ({ className, rows, columns, size, maxSize, shape, shapes, colors, label, symbols, style, ...props }: GridLoaderProps) => import('react').JSX.Element;
16
+ export default GridLoader;
@@ -0,0 +1,44 @@
1
+ export { default as Button } from './button';
2
+ export { default as ButtonGroup } from './button-group';
3
+ export { default as DoubleClickButton } from './button-double-click';
4
+ export type { DoubleClickButtonFeedbackContent, DoubleClickButtonFeedbackContext, DoubleClickButtonProps, } from './button-double-click';
5
+ export { default as LongPressButton } from './button-long-press';
6
+ export type { LongPressButtonFeedbackContent, LongPressButtonFeedbackContext, LongPressButtonProps, } from './button-long-press';
7
+ export { default as Avatar } from './avatar';
8
+ export type { AvatarProps, AvatarSize } from './avatar';
9
+ export { default as Divider } from './divider';
10
+ export { default as Dropdown } from './dropdown';
11
+ export type { DropdownItem, DropdownProps } from './dropdown';
12
+ export { default as ErrorText } from './error-text';
13
+ export type { ErrorTextProps } from './error-text';
14
+ export { default as GridLoader } from './grid-loader';
15
+ export type { GridLoaderCellShape, GridLoaderProps, GridLoaderShape } from './grid-loader';
16
+ export { default as LabelField } from './label-field';
17
+ export type { LabelFieldProps } from './label-field';
18
+ export { default as Input } from './input';
19
+ export { default as Card } from './card';
20
+ export { default as InputTimestamp } from './input-timestamp';
21
+ export type { InputTimestampProps } from './input-timestamp';
22
+ export { default as PillLink } from './pill-link';
23
+ export type { PillLinkProps } from './pill-link';
24
+ export { default as Menu } from './menu';
25
+ export { default as Modal } from './modal';
26
+ export type { ModalProps } from './modal';
27
+ export { default as MultiDropdown } from './dropdown-multi';
28
+ export type { MultiDropdownProps } from './dropdown-multi';
29
+ export { default as Pill } from './pill';
30
+ export { default as PreviewCard } from './preview-card';
31
+ export type { PreviewCardProps } from './preview-card';
32
+ export { default as Select } from './select';
33
+ export type { SelectItem, SelectProps } from './select';
34
+ export { default as Tag } from './tag';
35
+ export type { TagProps, TagVariant } from './tag';
36
+ export { default as Table } from './table';
37
+ export type { TableColumnDef, TableProps } from './table';
38
+ export { default as TextLink } from './text-link';
39
+ export type { TextLinkProps } from './text-link';
40
+ export { default as Switch } from './switch';
41
+ export { default as ThemeSwitcher } from './theme-switcher';
42
+ export type { ThemeSwitcherProps } from './theme-switcher';
43
+ export { default as TypingAnimation } from './typing-animation';
44
+ export type { TypingAnimationPerTickUnit, TypingAnimationAfterString, TypingAnimationProps } from './typing-animation';
@@ -0,0 +1,9 @@
1
+ import { ComponentPropsWithoutRef, ReactNode } from 'react';
2
+ export interface LabelFieldProps extends Omit<ComponentPropsWithoutRef<"div">, "children" | "id"> {
3
+ id: string;
4
+ label: string;
5
+ help?: ReactNode;
6
+ errors?: unknown[] | string | null;
7
+ }
8
+ declare const LabelField: ({ id, label, help, errors, className, ...props }: LabelFieldProps) => import('react').JSX.Element;
9
+ export default LabelField;
@@ -7,6 +7,8 @@ export interface PreviewCardProps {
7
7
  side?: "top" | "bottom" | "left" | "right";
8
8
  align?: "start" | "center" | "end";
9
9
  className?: string;
10
+ open?: boolean;
11
+ onOpenChange?: (open: boolean) => void;
10
12
  }
11
- declare const PreviewCard: ({ cardContent, children, trigger, triggerRender, side, align, className, }: PreviewCardProps) => import('react').JSX.Element;
13
+ declare const PreviewCard: ({ cardContent, children, trigger, triggerRender, side, align, className, open, onOpenChange, }: PreviewCardProps) => import('react').JSX.Element;
12
14
  export default PreviewCard;
@@ -0,0 +1,30 @@
1
+ export type TableColumnDef = {
2
+ accessorKey: string;
3
+ header: string;
4
+ id?: string;
5
+ enableResizing?: boolean;
6
+ enableColumnFilter?: boolean;
7
+ enableSorting?: boolean;
8
+ enableHiding?: boolean;
9
+ size?: number;
10
+ minSize?: number;
11
+ maxSize?: number;
12
+ filterFn?: string | false | ((...args: any[]) => boolean);
13
+ filterSelectOptions?: {
14
+ value: string;
15
+ label: string;
16
+ }[];
17
+ mobileFullWidth?: boolean;
18
+ cell?: any;
19
+ };
20
+ export type TableProps = {
21
+ data: any[];
22
+ columnDef: TableColumnDef[];
23
+ pageSize?: number;
24
+ className?: string;
25
+ showHeader?: boolean;
26
+ showFilters?: boolean;
27
+ showSorting?: boolean;
28
+ };
29
+ declare const Table: ({ data, columnDef, pageSize, className, showHeader, showFilters, showSorting, }: TableProps) => import('react').JSX.Element;
30
+ export default Table;
package/dist/index.d.ts CHANGED
@@ -1,41 +1,2 @@
1
- export { default as Button } from './button';
2
- export { default as ButtonGroup } from './button-group';
3
- export { default as DoubleClickButton } from './button-double-click';
4
- export type { DoubleClickButtonFeedbackContent, DoubleClickButtonFeedbackContext, DoubleClickButtonProps, } from './button-double-click';
5
- export { default as LongPressButton } from './button-long-press';
6
- export type { LongPressButtonFeedbackContent, LongPressButtonFeedbackContext, LongPressButtonProps, } from './button-long-press';
7
- export { navigateToHashOnLoad, updateHashOnScroll, useHashNavigationOnLoad } from './hash-navigation';
8
- export type { HashNavigationOptions, UpdateHashOnScrollOptions } from './hash-navigation';
9
- export { default as Avatar } from './avatar';
10
- export type { AvatarProps, AvatarSize } from './avatar';
11
- export { default as Divider } from './divider';
12
- export { default as Dropdown } from './dropdown';
13
- export type { DropdownItem, DropdownProps } from './dropdown';
14
- export { default as ErrorText } from './error-text';
15
- export type { ErrorTextProps } from './error-text';
16
- export { default as Input } from './input';
17
- export { default as Card } from './card';
18
- export { DateHandler } from './date-handler';
19
- export { default as InputTimestamp } from './input-timestamp';
20
- export type { InputTimestampProps } from './input-timestamp';
21
- export { default as PillLink } from './pill-link';
22
- export type { PillLinkProps } from './pill-link';
23
- export { default as Menu } from './menu';
24
- export { default as Modal } from './modal';
25
- export type { ModalProps } from './modal';
26
- export { default as MultiDropdown } from './dropdown-multi';
27
- export type { MultiDropdownProps } from './dropdown-multi';
28
- export { default as Pill } from './pill';
29
- export { default as PreviewCard } from './preview-card';
30
- export type { PreviewCardProps } from './preview-card';
31
- export { default as Select } from './select';
32
- export type { SelectItem, SelectProps } from './select';
33
- export { default as Tag } from './tag';
34
- export type { TagProps, TagVariant } from './tag';
35
- export { default as TextLink } from './text-link';
36
- export type { TextLinkProps } from './text-link';
37
- export { default as Switch } from './switch';
38
- export { default as ThemeSwitcher } from './theme-switcher';
39
- export type { ThemeSwitcherProps } from './theme-switcher';
40
- export { default as TypingAnimation } from './typing-animation';
41
- export type { TypingAnimationPerTickUnit, TypingAnimationAfterString, TypingAnimationProps } from './typing-animation';
1
+ export * from './components';
2
+ export * from './utilities';
@@ -0,0 +1,3 @@
1
+ export { DateHandler } from './date-handler';
2
+ export { navigateToHashOnLoad, updateHashOnScroll, useHashNavigationOnLoad } from './hash-navigation';
3
+ export type { HashNavigationOptions, UpdateHashOnScrollOptions } from './hash-navigation';
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@febkosq8/arc",
3
3
  "description": "A React components library for febkosq8",
4
4
  "private": false,
5
- "version": "0.6.7",
5
+ "version": "0.8.0",
6
6
  "type": "module",
7
7
  "main": "./dist/arc.js",
8
8
  "types": "./dist/index.d.ts",
@@ -33,8 +33,10 @@
33
33
  "react-dom": "19.3.1"
34
34
  },
35
35
  "dependencies": {
36
- "@base-ui/react": "1.8.0",
36
+ "@base-ui/react": "1.9.0",
37
37
  "@rinzai/zen": "0.14.0",
38
+ "@tanstack/match-sorter-utils": "9.2.6",
39
+ "@tanstack/react-table": "9.3.1",
38
40
  "luxon": "3.7.2",
39
41
  "react-icons": "5.7.0"
40
42
  },
@@ -48,7 +50,7 @@
48
50
  "@types/react-dom": "19.3.0",
49
51
  "@typescript/typescript6": "6.0.2",
50
52
  "@vitejs/plugin-react": "6.1.2",
51
- "eslint": "10.12.0",
53
+ "eslint": "10.13.0",
52
54
  "prettier": "3.9.10",
53
55
  "prettier-plugin-css-order": "2.2.0",
54
56
  "prettier-plugin-organize-attributes": "1.0.0",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes