@freightos/freightwind 1.0.0 → 1.1.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 (216) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +28 -0
  3. package/dist/cjs/components/alert.js +33 -16
  4. package/dist/cjs/components/avatar.js +53 -58
  5. package/dist/cjs/components/badge.js +42 -18
  6. package/dist/cjs/components/button.js +35 -24
  7. package/dist/cjs/components/checkbox.js +21 -3
  8. package/dist/cjs/components/chip.js +67 -9
  9. package/dist/cjs/components/message.js +38 -0
  10. package/dist/cjs/components/pop-confirm.js +86 -0
  11. package/dist/cjs/components/radio-button-group.js +31 -35
  12. package/dist/cjs/components/radio-group.js +2 -1
  13. package/dist/cjs/components/slider.js +14 -6
  14. package/dist/cjs/components/switch.js +29 -10
  15. package/dist/cjs/components/tooltip.js +40 -11
  16. package/dist/cjs/index.js +38 -84
  17. package/dist/cjs/lib/icon-utils.js +5 -0
  18. package/dist/cjs/{components/aspect-ratio.js → lib/use-stable-id.js} +7 -4
  19. package/dist/cjs/lib/utils.js +18 -1
  20. package/dist/esm/components/alert.js +34 -17
  21. package/dist/esm/components/avatar.js +53 -22
  22. package/dist/esm/components/badge.js +45 -19
  23. package/dist/esm/components/button.js +36 -25
  24. package/dist/esm/components/checkbox.js +22 -4
  25. package/dist/esm/components/chip.js +34 -9
  26. package/dist/esm/components/message.js +34 -0
  27. package/dist/esm/components/pop-confirm.js +51 -0
  28. package/dist/esm/components/radio-button-group.js +31 -33
  29. package/dist/esm/components/radio-group.js +2 -1
  30. package/dist/esm/components/slider.js +14 -6
  31. package/dist/esm/components/switch.js +30 -11
  32. package/dist/esm/components/tooltip.js +40 -7
  33. package/dist/esm/index.js +18 -66
  34. package/dist/esm/lib/icon-utils.js +1 -0
  35. package/dist/esm/lib/use-stable-id.js +6 -0
  36. package/dist/esm/lib/utils.js +18 -1
  37. package/dist/types/components/alert.d.ts +5 -5
  38. package/dist/types/components/avatar.d.ts +14 -19
  39. package/dist/types/components/badge.d.ts +22 -8
  40. package/dist/types/components/button.d.ts +15 -9
  41. package/dist/types/components/checkbox.d.ts +8 -2
  42. package/dist/types/components/chip.d.ts +14 -8
  43. package/dist/types/components/message.d.ts +14 -0
  44. package/dist/types/components/pop-confirm.d.ts +28 -0
  45. package/dist/types/components/radio-button-group.d.ts +19 -14
  46. package/dist/types/components/slider.d.ts +10 -2
  47. package/dist/types/components/switch.d.ts +7 -6
  48. package/dist/types/components/tooltip.d.ts +9 -6
  49. package/dist/types/index.d.ts +25 -61
  50. package/dist/types/lib/icon-utils.d.ts +1 -0
  51. package/dist/types/lib/use-stable-id.d.ts +1 -0
  52. package/guidelines/Guidelines.md +54 -0
  53. package/guidelines/design-tokens/colors.md +81 -0
  54. package/guidelines/design-tokens/spacing.md +45 -0
  55. package/guidelines/design-tokens/typography.md +50 -0
  56. package/guidelines/overview-components.md +252 -0
  57. package/guidelines/overview-icons.md +52 -0
  58. package/package.json +63 -54
  59. package/tokens.css +409 -0
  60. package/dist/cjs/components/accordion.js +0 -57
  61. package/dist/cjs/components/breadcrumb.js +0 -65
  62. package/dist/cjs/components/calendar.js +0 -106
  63. package/dist/cjs/components/card.js +0 -59
  64. package/dist/cjs/components/chart.js +0 -176
  65. package/dist/cjs/components/collapsible.js +0 -43
  66. package/dist/cjs/components/command.js +0 -73
  67. package/dist/cjs/components/context-menu.js +0 -83
  68. package/dist/cjs/components/country-select.js +0 -155
  69. package/dist/cjs/components/date-picker.js +0 -59
  70. package/dist/cjs/components/date-range-picker.js +0 -59
  71. package/dist/cjs/components/date-time-picker.js +0 -106
  72. package/dist/cjs/components/dialog.js +0 -70
  73. package/dist/cjs/components/drawer.js +0 -68
  74. package/dist/cjs/components/dropdown-menu.js +0 -85
  75. package/dist/cjs/components/empty.js +0 -42
  76. package/dist/cjs/components/file-preview.js +0 -73
  77. package/dist/cjs/components/form.js +0 -106
  78. package/dist/cjs/components/inline-edit.js +0 -83
  79. package/dist/cjs/components/input-group.js +0 -70
  80. package/dist/cjs/components/input-otp.js +0 -58
  81. package/dist/cjs/components/input.js +0 -57
  82. package/dist/cjs/components/label.js +0 -45
  83. package/dist/cjs/components/menubar.js +0 -96
  84. package/dist/cjs/components/navigation-menu.js +0 -68
  85. package/dist/cjs/components/pagination.js +0 -65
  86. package/dist/cjs/components/phone-input.js +0 -218
  87. package/dist/cjs/components/popover.js +0 -49
  88. package/dist/cjs/components/progress.js +0 -43
  89. package/dist/cjs/components/resizable.js +0 -47
  90. package/dist/cjs/components/rich-text-editor.js +0 -152
  91. package/dist/cjs/components/route.js +0 -47
  92. package/dist/cjs/components/scroll-area.js +0 -48
  93. package/dist/cjs/components/select.js +0 -71
  94. package/dist/cjs/components/separator.js +0 -43
  95. package/dist/cjs/components/sheet.js +0 -245
  96. package/dist/cjs/components/skeleton.js +0 -8
  97. package/dist/cjs/components/sonner.js +0 -25
  98. package/dist/cjs/components/spinner.js +0 -25
  99. package/dist/cjs/components/stepper.js +0 -99
  100. package/dist/cjs/components/steps.js +0 -127
  101. package/dist/cjs/components/table.js +0 -66
  102. package/dist/cjs/components/tabs.js +0 -51
  103. package/dist/cjs/components/textarea.js +0 -44
  104. package/dist/cjs/components/time-picker.js +0 -110
  105. package/dist/cjs/components/toast.js +0 -75
  106. package/dist/cjs/components/toaster.js +0 -12
  107. package/dist/cjs/components/toggle-group.js +0 -58
  108. package/dist/cjs/components/toggle.js +0 -62
  109. package/dist/cjs/hooks/use-toast.js +0 -166
  110. package/dist/cjs/lib/countryUtils.js +0 -93
  111. package/dist/esm/components/accordion.js +0 -18
  112. package/dist/esm/components/aspect-ratio.js +0 -3
  113. package/dist/esm/components/breadcrumb.js +0 -23
  114. package/dist/esm/components/calendar.js +0 -70
  115. package/dist/esm/components/card.js +0 -18
  116. package/dist/esm/components/chart.js +0 -135
  117. package/dist/esm/components/collapsible.js +0 -5
  118. package/dist/esm/components/command.js +0 -29
  119. package/dist/esm/components/context-menu.js +0 -33
  120. package/dist/esm/components/country-select.js +0 -118
  121. package/dist/esm/components/date-picker.js +0 -23
  122. package/dist/esm/components/date-range-picker.js +0 -23
  123. package/dist/esm/components/date-time-picker.js +0 -70
  124. package/dist/esm/components/dialog.js +0 -24
  125. package/dist/esm/components/drawer.js +0 -23
  126. package/dist/esm/components/dropdown-menu.js +0 -35
  127. package/dist/esm/components/empty.js +0 -6
  128. package/dist/esm/components/file-preview.js +0 -69
  129. package/dist/esm/components/form.js +0 -63
  130. package/dist/esm/components/inline-edit.js +0 -47
  131. package/dist/esm/components/input-group.js +0 -63
  132. package/dist/esm/components/input-otp.js +0 -19
  133. package/dist/esm/components/input.js +0 -21
  134. package/dist/esm/components/label.js +0 -9
  135. package/dist/esm/components/menubar.js +0 -45
  136. package/dist/esm/components/navigation-menu.js +0 -24
  137. package/dist/esm/components/pagination.js +0 -23
  138. package/dist/esm/components/phone-input.js +0 -181
  139. package/dist/esm/components/popover.js +0 -10
  140. package/dist/esm/components/progress.js +0 -7
  141. package/dist/esm/components/resizable.js +0 -9
  142. package/dist/esm/components/rich-text-editor.js +0 -145
  143. package/dist/esm/components/route.js +0 -11
  144. package/dist/esm/components/scroll-area.js +0 -11
  145. package/dist/esm/components/select.js +0 -26
  146. package/dist/esm/components/separator.js +0 -7
  147. package/dist/esm/components/sheet.js +0 -197
  148. package/dist/esm/components/skeleton.js +0 -6
  149. package/dist/esm/components/sonner.js +0 -22
  150. package/dist/esm/components/spinner.js +0 -21
  151. package/dist/esm/components/stepper.js +0 -57
  152. package/dist/esm/components/steps.js +0 -80
  153. package/dist/esm/components/table.js +0 -22
  154. package/dist/esm/components/tabs.js +0 -12
  155. package/dist/esm/components/textarea.js +0 -8
  156. package/dist/esm/components/time-picker.js +0 -74
  157. package/dist/esm/components/toast.js +0 -33
  158. package/dist/esm/components/toaster.js +0 -9
  159. package/dist/esm/components/toggle-group.js +0 -21
  160. package/dist/esm/components/toggle.js +0 -25
  161. package/dist/esm/hooks/use-toast.js +0 -128
  162. package/dist/esm/lib/countryUtils.js +0 -87
  163. package/dist/styles.css +0 -152
  164. package/dist/types/components/accordion.d.ts +0 -11
  165. package/dist/types/components/aspect-ratio.d.ts +0 -3
  166. package/dist/types/components/breadcrumb.d.ts +0 -19
  167. package/dist/types/components/calendar.d.ts +0 -7
  168. package/dist/types/components/card.d.ts +0 -11
  169. package/dist/types/components/chart.d.ts +0 -66
  170. package/dist/types/components/collapsible.d.ts +0 -5
  171. package/dist/types/components/command.d.ts +0 -80
  172. package/dist/types/components/context-menu.d.ts +0 -27
  173. package/dist/types/components/country-select.d.ts +0 -17
  174. package/dist/types/components/date-picker.d.ts +0 -9
  175. package/dist/types/components/date-range-picker.d.ts +0 -10
  176. package/dist/types/components/date-time-picker.d.ts +0 -10
  177. package/dist/types/components/dialog.d.ts +0 -23
  178. package/dist/types/components/drawer.d.ts +0 -22
  179. package/dist/types/components/dropdown-menu.d.ts +0 -27
  180. package/dist/types/components/empty.d.ts +0 -6
  181. package/dist/types/components/file-preview.d.ts +0 -9
  182. package/dist/types/components/form.d.ts +0 -23
  183. package/dist/types/components/inline-edit.d.ts +0 -10
  184. package/dist/types/components/input-group.d.ts +0 -16
  185. package/dist/types/components/input-otp.d.ts +0 -34
  186. package/dist/types/components/input.d.ts +0 -9
  187. package/dist/types/components/label.d.ts +0 -5
  188. package/dist/types/components/menubar.d.ts +0 -28
  189. package/dist/types/components/navigation-menu.d.ts +0 -12
  190. package/dist/types/components/pagination.d.ts +0 -29
  191. package/dist/types/components/phone-input.d.ts +0 -20
  192. package/dist/types/components/popover.d.ts +0 -9
  193. package/dist/types/components/progress.d.ts +0 -4
  194. package/dist/types/components/resizable.d.ts +0 -23
  195. package/dist/types/components/rich-text-editor.d.ts +0 -8
  196. package/dist/types/components/route.d.ts +0 -10
  197. package/dist/types/components/scroll-area.d.ts +0 -5
  198. package/dist/types/components/select.d.ts +0 -13
  199. package/dist/types/components/separator.d.ts +0 -4
  200. package/dist/types/components/sheet.d.ts +0 -49
  201. package/dist/types/components/skeleton.d.ts +0 -2
  202. package/dist/types/components/sonner.d.ts +0 -4
  203. package/dist/types/components/spinner.d.ts +0 -8
  204. package/dist/types/components/stepper.d.ts +0 -17
  205. package/dist/types/components/steps.d.ts +0 -64
  206. package/dist/types/components/table.d.ts +0 -14
  207. package/dist/types/components/tabs.d.ts +0 -7
  208. package/dist/types/components/textarea.d.ts +0 -3
  209. package/dist/types/components/time-picker.d.ts +0 -10
  210. package/dist/types/components/toast.d.ts +0 -15
  211. package/dist/types/components/toaster.d.ts +0 -1
  212. package/dist/types/components/toggle-group.d.ts +0 -12
  213. package/dist/types/components/toggle.d.ts +0 -12
  214. package/dist/types/hooks/use-toast.d.ts +0 -44
  215. package/dist/types/lib/countryUtils.d.ts +0 -20
  216. package/tailwind-preset.js +0 -70
@@ -1,15 +0,0 @@
1
- import * as React from "react";
2
- import * as ToastPrimitives from "@radix-ui/react-toast";
3
- import { type VariantProps } from "class-variance-authority";
4
- declare const ToastProvider: React.FC<ToastPrimitives.ToastProviderProps>;
5
- declare const ToastViewport: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastViewportProps & React.RefAttributes<HTMLOListElement>, "ref"> & React.RefAttributes<HTMLOListElement>>;
6
- declare const Toast: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastProps & React.RefAttributes<HTMLLIElement>, "ref"> & VariantProps<(props?: ({
7
- variant?: "default" | "destructive" | null | undefined;
8
- } & import("class-variance-authority/types").ClassProp) | undefined) => string> & React.RefAttributes<HTMLLIElement>>;
9
- declare const ToastAction: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastActionProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
10
- declare const ToastClose: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastCloseProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
11
- declare const ToastTitle: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastTitleProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
- declare const ToastDescription: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastDescriptionProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
13
- type ToastProps = React.ComponentPropsWithoutRef<typeof Toast>;
14
- type ToastActionElement = React.ReactElement<typeof ToastAction>;
15
- export { type ToastProps, type ToastActionElement, ToastProvider, ToastViewport, Toast, ToastTitle, ToastDescription, ToastClose, ToastAction, };
@@ -1 +0,0 @@
1
- export declare function Toaster(): import("react/jsx-runtime").JSX.Element;
@@ -1,12 +0,0 @@
1
- import * as React from "react";
2
- import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
3
- import { type VariantProps } from "class-variance-authority";
4
- declare const ToggleGroup: React.ForwardRefExoticComponent<((Omit<ToggleGroupPrimitive.ToggleGroupSingleProps & React.RefAttributes<HTMLDivElement>, "ref"> | Omit<ToggleGroupPrimitive.ToggleGroupMultipleProps & React.RefAttributes<HTMLDivElement>, "ref">) & VariantProps<(props?: ({
5
- variant?: "default" | "outline" | null | undefined;
6
- size?: "default" | "sm" | "lg" | null | undefined;
7
- } & import("class-variance-authority/types").ClassProp) | undefined) => string>) & React.RefAttributes<HTMLDivElement>>;
8
- declare const ToggleGroupItem: React.ForwardRefExoticComponent<Omit<ToggleGroupPrimitive.ToggleGroupItemProps & React.RefAttributes<HTMLButtonElement>, "ref"> & VariantProps<(props?: ({
9
- variant?: "default" | "outline" | null | undefined;
10
- size?: "default" | "sm" | "lg" | null | undefined;
11
- } & import("class-variance-authority/types").ClassProp) | undefined) => string> & React.RefAttributes<HTMLButtonElement>>;
12
- export { ToggleGroup, ToggleGroupItem };
@@ -1,12 +0,0 @@
1
- import * as React from "react";
2
- import * as TogglePrimitive from "@radix-ui/react-toggle";
3
- import { type VariantProps } from "class-variance-authority";
4
- declare const toggleVariants: (props?: ({
5
- variant?: "default" | "outline" | null | undefined;
6
- size?: "default" | "sm" | "lg" | null | undefined;
7
- } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
- declare const Toggle: React.ForwardRefExoticComponent<Omit<TogglePrimitive.ToggleProps & React.RefAttributes<HTMLButtonElement>, "ref"> & VariantProps<(props?: ({
9
- variant?: "default" | "outline" | null | undefined;
10
- size?: "default" | "sm" | "lg" | null | undefined;
11
- } & import("class-variance-authority/types").ClassProp) | undefined) => string> & React.RefAttributes<HTMLButtonElement>>;
12
- export { Toggle, toggleVariants };
@@ -1,44 +0,0 @@
1
- import * as React from "react";
2
- import type { ToastActionElement, ToastProps } from "../components/toast";
3
- type ToasterToast = ToastProps & {
4
- id: string;
5
- title?: React.ReactNode;
6
- description?: React.ReactNode;
7
- action?: ToastActionElement;
8
- };
9
- declare const actionTypes: {
10
- readonly ADD_TOAST: "ADD_TOAST";
11
- readonly UPDATE_TOAST: "UPDATE_TOAST";
12
- readonly DISMISS_TOAST: "DISMISS_TOAST";
13
- readonly REMOVE_TOAST: "REMOVE_TOAST";
14
- };
15
- type ActionType = typeof actionTypes;
16
- type Action = {
17
- type: ActionType["ADD_TOAST"];
18
- toast: ToasterToast;
19
- } | {
20
- type: ActionType["UPDATE_TOAST"];
21
- toast: Partial<ToasterToast>;
22
- } | {
23
- type: ActionType["DISMISS_TOAST"];
24
- toastId?: ToasterToast["id"];
25
- } | {
26
- type: ActionType["REMOVE_TOAST"];
27
- toastId?: ToasterToast["id"];
28
- };
29
- interface State {
30
- toasts: ToasterToast[];
31
- }
32
- export declare const reducer: (state: State, action: Action) => State;
33
- type Toast = Omit<ToasterToast, "id">;
34
- declare function toast({ ...props }: Toast): {
35
- id: string;
36
- dismiss: () => void;
37
- update: (props: ToasterToast) => void;
38
- };
39
- declare function useToast(): {
40
- toast: typeof toast;
41
- dismiss: (toastId?: string) => void;
42
- toasts: ToasterToast[];
43
- };
44
- export { useToast, toast };
@@ -1,20 +0,0 @@
1
- /**
2
- * Get flag image URL for country code (ISO 3166-1 alpha-2)
3
- * Uses Freightos festatic CDN for flag images
4
- * @param countryCode Two-letter country code (e.g., 'US', 'GB', 'FR')
5
- * @returns Flag image URL or empty string if invalid
6
- */
7
- export declare const getCountryFlag: (countryCode: string | undefined) => string;
8
- /**
9
- * Get flag emoji for country code (ISO 3166-1 alpha-2)
10
- * Uses Unicode regional indicator symbols to display flag emojis
11
- */
12
- export declare const getCountryFlagEmoji: (countryCode: string | undefined) => string;
13
- /**
14
- * Get country information including flag, code, and name
15
- */
16
- export declare const getCountryInfo: (countryCode: string) => {
17
- flag: string;
18
- code: string;
19
- name: string;
20
- };
@@ -1,70 +0,0 @@
1
- /** @type {import('tailwindcss').Config} */
2
- module.exports = {
3
- theme: {
4
- extend: {
5
- colors: {
6
- 'fds-blue': '#0066FF',
7
- 'fds-blue-10': '#E5F0FF',
8
- 'fds-blue-20': '#CCE0FF',
9
- 'fds-blue-40': '#4D94FF',
10
- 'fds-blue-50': '#0052CC',
11
- 'fds-red': '#DC2626',
12
- 'fds-red-10': '#FEE2E2',
13
- 'fds-green': '#16A34A',
14
- 'fds-green-10': '#DCFCE7',
15
- 'fds-orange': '#EA580C',
16
- 'fds-orange-10': '#FFEDD5',
17
- 'fds-yellow': '#CA8A04',
18
- 'fds-yellow-10': '#FEF9C3',
19
- 'fds-purple': '#9333EA',
20
- 'fds-purple-10': '#F3E8FF',
21
- 'fds-gray-10': '#F8FAFC',
22
- 'fds-gray-20': '#F1F5F9',
23
- 'fds-gray-30': '#E2E8F0',
24
- 'fds-gray-40': '#CBD5E1',
25
- 'fds-gray-50': '#94A3B8',
26
- 'fds-gray-60': '#64748B',
27
- 'fds-gray-70': '#475569',
28
- 'fds-gray-80': '#334155',
29
- 'fds-gray-90': '#1E293B',
30
- },
31
- spacing: {
32
- 'fds-xs': '4px',
33
- 'fds-sm': '8px',
34
- 'fds-md': '12px',
35
- 'fds-lg': '16px',
36
- 'fds-xl': '24px',
37
- 'fds-xxl': '32px',
38
- 'fds-xxxl': '64px',
39
- },
40
- fontSize: {
41
- 'fds-xs': '10px',
42
- 'fds-sm': '12px',
43
- 'fds-base': '14px',
44
- 'fds-h6': '16px',
45
- 'fds-h5': '18px',
46
- 'fds-h4': '20px',
47
- 'fds-h3': '24px',
48
- 'fds-h2': '32px',
49
- 'fds-h1': '40px',
50
- },
51
- fontWeight: {
52
- 'fds-regular': '400',
53
- 'fds-medium': '500',
54
- 'fds-semibold': '600',
55
- 'fds-bold': '700',
56
- 'fds-extrabold': '800',
57
- },
58
- borderRadius: {
59
- 'fds-sm': '2px',
60
- 'fds-md': '4px',
61
- 'fds-lg': '8px',
62
- },
63
- boxShadow: {
64
- 'fds-sm': '0 1px 2px 0 rgb(0 0 0 / 0.05)',
65
- 'fds-md': '0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)',
66
- 'fds-lg': '0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)',
67
- },
68
- },
69
- },
70
- }