akku-kit 1.0.0-alpha.7 → 1.0.0-alpha.9

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/README.md CHANGED
@@ -1,9 +1,9 @@
1
- # ⚡️ akku-kit
1
+ # ⚡️ Akku-UI-Kit
2
2
 
3
- akku-kit is a modern, TypeScript-based UI framework built specifically for Akku projects. It includes a growing collection of reusable, accessible, and customizable components.
3
+ Akku-UI-Kit is a modern, TypeScript-based UI framework built specifically for Akku projects. It includes a growing collection of reusable, accessible, and customizable components.
4
4
 
5
- ## Akku-kit [Demo]
6
- [Akku-kit](https://akku-kit.vercel.app/)
5
+ ## Akku-UI-Kit [Demo]
6
+ [Akku-UI-Kit](https://akku-kit.vercel.app/)
7
7
 
8
8
  ## ✨ Features
9
9
 
@@ -58,7 +58,7 @@ npm run storybook
58
58
 
59
59
  ## 🤝 Contributing
60
60
 
61
- Contributions are always welcome to the **Akku UI Framework (`akku-kit`)** and the main project **`akku`**!
61
+ Contributions are always welcome to the **Akku UI Framework (`Akku-UI-Kit`)** and the main project **`akku`**!
62
62
 
63
63
  Whether you're fixing bugs, building components, improving styles, or refining documentation—every contribution helps.
64
64
 
@@ -66,4 +66,4 @@ To get started, please read the [CONTRIBUTING.md](./CONTRIBUTING.md) for guideli
66
66
 
67
67
 
68
68
 
69
- License: MIT © 2025 akku-kit Team
69
+ License: MIT © 2025 Akku-UI-Kit Team
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ interface TickWithBgIconProps {
3
+ size?: number;
4
+ color?: string;
5
+ strokeWidth?: number;
6
+ className?: string;
7
+ }
8
+ declare const TickWithBgIcon: React.FC<TickWithBgIconProps>;
9
+ export default TickWithBgIcon;
@@ -0,0 +1,25 @@
1
+
2
+ import React from "react";
3
+
4
+ interface TickWithBgIconProps {
5
+ size?: number;
6
+ color?: string;
7
+ strokeWidth?: number;
8
+ className?: string;
9
+ }
10
+
11
+ const TickWithBgIcon: React.FC<TickWithBgIconProps> = ({ size = 24, color = "white", strokeWidth = 2, className = "" }) => {
12
+ return (
13
+ <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24" fill="none">
14
+ <rect width="24" height="24" rx="12" fill="#7F56D9" />
15
+ <path
16
+ fill-rule="evenodd"
17
+ clip-rule="evenodd"
18
+ d="M17.096 7.39016L9.93602 14.3002L8.03602 12.2702C7.68602 11.9402 7.13602 11.9202 6.73602 12.2002C6.34602 12.4902 6.23602 13.0002 6.47602 13.4102L8.72602 17.0702C8.94602 17.4102 9.32601 17.6202 9.75601 17.6202C10.166 17.6202 10.556 17.4102 10.776 17.0702C11.136 16.6002 18.006 8.41016 18.006 8.41016C18.906 7.49016 17.816 6.68016 17.096 7.38016V7.39016Z"
19
+ fill="white"
20
+ />
21
+ </svg>
22
+ );
23
+ };
24
+
25
+ export default TickWithBgIcon;
@@ -0,0 +1,22 @@
1
+ import React, { InputHTMLAttributes } from "react";
2
+ import "./DatePicker.scss";
3
+ interface DayjsLike {
4
+ _date: Date;
5
+ isValid: () => boolean;
6
+ format: (fmt: string) => string;
7
+ toDate: () => Date;
8
+ valueOf: () => number;
9
+ isBefore: (other: DayjsLike | Date) => boolean;
10
+ isAfter: (other: DayjsLike | Date) => boolean;
11
+ isSame: (other: DayjsLike | Date) => boolean;
12
+ }
13
+ interface DatePickerProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "value" | "onChange"> {
14
+ value?: DayjsLike | Date | null;
15
+ onChange?: (date: DayjsLike | null) => void;
16
+ format?: string;
17
+ allowClear?: boolean;
18
+ disabledDate?: (date: DayjsLike) => boolean;
19
+ suffixIcon?: React.ReactNode;
20
+ }
21
+ declare const DatePicker: React.ForwardRefExoticComponent<DatePickerProps & React.RefAttributes<HTMLInputElement>>;
22
+ export default DatePicker;
@@ -0,0 +1,31 @@
1
+ import { FocusEventHandler, ReactNode } from "react";
2
+ export interface DatePickerProps {
3
+ /** Selected date value */
4
+ value?: Date | null;
5
+ /** Callback when date changes */
6
+ onChange?: (date: Date | null) => void;
7
+ /** Minimum selectable date */
8
+ minDate?: Date;
9
+ /** Maximum selectable date */
10
+ maxDate?: Date;
11
+ /** Disable the date picker */
12
+ disabled?: boolean;
13
+ /** Placeholder text */
14
+ placeholder?: string;
15
+ /** Format string for display, e.g. 'MM/dd/yyyy' */
16
+ dateFormat?: string;
17
+ /** Whether the input is clearable */
18
+ isClearable?: boolean;
19
+ /** Optional CSS class */
20
+ className?: string;
21
+ /** Called on input focus */
22
+ onFocus?: FocusEventHandler<HTMLInputElement>;
23
+ /** Called on input blur */
24
+ onBlur?: FocusEventHandler<HTMLInputElement>;
25
+ /** Custom render for input element */
26
+ renderInput?: (props: React.HTMLProps<HTMLInputElement>) => ReactNode;
27
+ /** Name of the input */
28
+ name?: string;
29
+ /** Additional props */
30
+ [key: string]: any;
31
+ }
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import "./DateRangePicker.scss";
3
+ interface DateRangePickerProps {
4
+ startDate?: Date | null;
5
+ endDate?: Date | null;
6
+ onChange: (start: Date | null, end: Date | null) => void;
7
+ }
8
+ declare const DateRangePicker: React.FC<DateRangePickerProps>;
9
+ export default DateRangePicker;
@@ -0,0 +1,15 @@
1
+ export interface DateRangePickerProps {
2
+ /**
3
+ * The currently selected start date. Can be null if no start date is selected.
4
+ */
5
+ startDate?: Date | null;
6
+ /**
7
+ * The currently selected end date. Can be null if no end date is selected.
8
+ */
9
+ endDate?: Date | null;
10
+ /**
11
+ * Callback function triggered when the date range changes.
12
+ * It receives the new start and end dates as arguments.
13
+ */
14
+ onChange: (start: Date | null, end: Date | null) => void;
15
+ }
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
2
  import { PhoneInputProps } from "./PhoneInput.types";
3
- declare const PhoneField: React.FC<PhoneInputProps>;
4
- export default PhoneField;
3
+ declare const PhoneInput: React.FC<PhoneInputProps>;
4
+ export default PhoneInput;
@@ -1,12 +1,11 @@
1
1
  /// <reference types="react" />
2
2
  export interface PhoneInputProps {
3
- id: string;
4
3
  name: string;
5
4
  label: string;
6
5
  value: string;
7
6
  className?: string;
8
7
  countryCode?: string;
9
- onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
8
+ onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
10
9
  onBlur?: (e: React.FocusEvent<HTMLInputElement>) => void;
11
10
  placeholder?: string;
12
11
  error?: string;
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ import "./Modal.scss";
3
+ export interface ModalProps {
4
+ isOpen: boolean;
5
+ handleClose: () => void;
6
+ destroyOnClose?: boolean;
7
+ centered?: boolean;
8
+ maskClosable?: boolean;
9
+ className?: string;
10
+ children: React.ReactNode;
11
+ }
12
+ declare const Modal: React.FC<ModalProps>;
13
+ export default Modal;
@@ -0,0 +1,2 @@
1
+ export { default } from "./Modal";
2
+ export type { ModalProps } from "./Modal";
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ import "./Stepper.scss";
3
+ interface Step {
4
+ title: string;
5
+ subtitle: string;
6
+ icon?: React.ReactNode;
7
+ }
8
+ interface StepperProps {
9
+ steps: Step[];
10
+ currentStep: number;
11
+ onChange?: (step: number) => void;
12
+ isStepValid?: (stepIndex: number) => boolean;
13
+ }
14
+ declare const Stepper: React.FC<StepperProps>;
15
+ export default Stepper;
@@ -0,0 +1,45 @@
1
+ /// <reference types="react" />
2
+ /**
3
+ * Defines the structure for each step in the Stepper component.
4
+ */
5
+ export interface Step {
6
+ /**
7
+ * The main title for the step.
8
+ */
9
+ title: string;
10
+ /**
11
+ * A descriptive subtitle for the step.
12
+ */
13
+ subtitle: string;
14
+ /**
15
+ * An optional React node to be used as an icon for the step.
16
+ * If not provided, a number or a checkmark will be displayed.
17
+ */
18
+ icon?: React.ReactNode;
19
+ }
20
+ /**
21
+ * Defines the props for the Stepper component.
22
+ */
23
+ export interface StepperProps {
24
+ /**
25
+ * An array of step objects that define the sequence and content of the stepper.
26
+ */
27
+ steps: Step[];
28
+ /**
29
+ * The 0-based index of the currently active step.
30
+ */
31
+ currentStep: number;
32
+ /**
33
+ * Callback function triggered when a step is clicked.
34
+ * It receives the new step index as an argument.
35
+ * @param step The index of the clicked step.
36
+ */
37
+ onChange?: (step: number) => void;
38
+ /**
39
+ * Optional function to determine if a step can be navigated to.
40
+ * If it returns `true`, the step is clickable; otherwise, it's not.
41
+ * @param stepIndex The index of the step being evaluated for validity.
42
+ * @returns `true` if the step is valid for navigation, `false` otherwise.
43
+ */
44
+ isStepValid?: (stepIndex: number) => boolean;
45
+ }
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  export type TextColor = "primary" | "secondary" | "tertiary" | "brand-600" | "brand-700" | "success" | "white" | "placeholder" | "danger";
3
3
  export type TextAlign = "left" | "center" | "right";
4
- export type TextVariant = "xs-medium" | "sm-regular" | "sm-medium" | "sm-semibold" | "md-regular" | "md-semibold" | "lg-semibold" | "lg-bold" | "xs-semibold" | "xl-semibold" | "xs-regular";
4
+ export type TextVariant = "xs-medium" | "sm-regular" | "sm-medium" | "sm-semibold" | "md-regular" | "md-semibold" | "lg-semibold" | "lg-regular" | "lg-bold" | "xs-semibold" | "xl-semibold" | "xs-regular";
5
5
  export interface TextProps extends React.HTMLAttributes<HTMLElement> {
6
6
  variant?: TextVariant;
7
7
  color?: TextColor;