@epam/ai-dial-ui-kit 0.3.0-rc.5 → 0.3.0-rc.51

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 (59) hide show
  1. package/dist/dial-ui-kit.cjs.js +2 -1
  2. package/dist/dial-ui-kit.es.js +7557 -1195
  3. package/dist/index.css +2 -2
  4. package/dist/src/components/Breadcrumb/Breadcrumb.d.ts +41 -0
  5. package/dist/src/components/Breadcrumb/BreadcrumbItem.d.ts +13 -0
  6. package/dist/src/components/Breadcrumb/constants.d.ts +9 -0
  7. package/dist/src/components/Checkbox/Checkbox.d.ts +3 -1
  8. package/dist/src/components/ConfirmationPopup/ConfirmationPopup.d.ts +2 -2
  9. package/dist/src/components/ConfirmationPopup/constants.d.ts +1 -0
  10. package/dist/src/components/DraggableItem/DraggableItem.d.ts +31 -0
  11. package/dist/src/components/DraggableItem/constants.d.ts +3 -0
  12. package/dist/src/components/Dropdown/Dropdown.d.ts +8 -0
  13. package/dist/src/components/EllipsisTooltip/EllipsisTooltip.d.ts +31 -0
  14. package/dist/src/components/EllipsisTooltip/constants.d.ts +1 -0
  15. package/dist/src/components/Field/Field.d.ts +4 -2
  16. package/dist/src/components/FileIcon/FileIcon.d.ts +31 -0
  17. package/dist/src/components/FileIcon/constants.d.ts +9 -0
  18. package/dist/src/components/FileName/FileName.d.ts +20 -0
  19. package/dist/src/components/FolderName/FolderName.d.ts +20 -0
  20. package/dist/src/components/FormItem/FormItem.d.ts +77 -0
  21. package/dist/src/components/FormItem/constants.d.ts +3 -0
  22. package/dist/src/components/FormPopup/FormPopup.d.ts +44 -0
  23. package/dist/src/components/FormPopup/constants.d.ts +3 -0
  24. package/dist/src/components/Icon/Icon.d.ts +1 -0
  25. package/dist/src/components/Input/Input.d.ts +7 -2
  26. package/dist/src/components/InputField/InputField.d.ts +3 -3
  27. package/dist/src/components/InputPopup/InputPopup.d.ts +3 -3
  28. package/dist/src/components/JsonEditor/JsonEditor.d.ts +2 -2
  29. package/dist/src/components/LoadFileArea/EmptyFileArea.d.ts +52 -0
  30. package/dist/src/components/LoadFileArea/FilledInput.d.ts +30 -0
  31. package/dist/src/components/LoadFileArea/LoadFileArea.d.ts +46 -0
  32. package/dist/src/components/LoadFileArea/LoadFileAreaField.d.ts +51 -0
  33. package/dist/src/components/PasswordInput/PasswordInputField.d.ts +1 -1
  34. package/dist/src/components/RadioGroup/RadioGroup.d.ts +19 -4
  35. package/dist/src/components/RadioGroupPopupField/RadioGroupPopupField.d.ts +2 -1
  36. package/dist/src/components/RemoveButton/RemoveButton.d.ts +24 -0
  37. package/dist/src/components/Select/MultiSelectTags.d.ts +8 -0
  38. package/dist/src/components/Select/Select.d.ts +61 -0
  39. package/dist/src/components/Select/constants.d.ts +8 -0
  40. package/dist/src/components/SelectField/SelectField.d.ts +35 -0
  41. package/dist/src/components/SharedEntityIndicator/SharedEntityIndicator.d.ts +25 -0
  42. package/dist/src/components/Tab/Tab.d.ts +35 -0
  43. package/dist/src/components/Tabs/Tabs.d.ts +46 -0
  44. package/dist/src/components/Tabs/constants.d.ts +1 -0
  45. package/dist/src/components/Tag/Tag.d.ts +6 -2
  46. package/dist/src/components/TextAreaField/TextAreaField.d.ts +4 -2
  47. package/dist/src/components/Textarea/Textarea.d.ts +4 -0
  48. package/dist/src/components/Tooltip/TooltipContext.d.ts +4 -4
  49. package/dist/src/hooks/use-is-tablet-screen.d.ts +15 -0
  50. package/dist/src/index.d.ts +24 -0
  51. package/dist/src/models/breadcrumb.d.ts +9 -0
  52. package/dist/src/models/field-control-props.d.ts +1 -0
  53. package/dist/src/models/select.d.ts +7 -0
  54. package/dist/src/models/tab.d.ts +4 -0
  55. package/dist/src/types/form-item.d.ts +4 -0
  56. package/dist/src/types/tab.d.ts +4 -0
  57. package/dist/src/utils/merge-classes.d.ts +3 -0
  58. package/dist/src/utils/mobile.d.ts +14 -0
  59. package/package.json +15 -10
@@ -4,9 +4,11 @@ export interface DialTextareaProps {
4
4
  placeholder?: string;
5
5
  textareaId: string;
6
6
  cssClass?: string;
7
+ containerCssClass?: string;
7
8
  disabled?: boolean;
8
9
  invalid?: boolean;
9
10
  readonly?: boolean;
11
+ disableTooltip?: boolean;
10
12
  onChange?: (value: string) => void;
11
13
  }
12
14
  /**
@@ -27,8 +29,10 @@ export interface DialTextareaProps {
27
29
  * @param [onChange] - Callback function called when the textarea value changes
28
30
  * @param [placeholder] - Placeholder text displayed when textarea is empty
29
31
  * @param [cssClass=""] - Additional CSS classes to apply to the textarea element
32
+ * @param [containerCssClass=""] - Additional CSS classes to apply to the container div
30
33
  * @param [disabled=false] - Whether the textarea is disabled
31
34
  * @param [readonly=false] - Whether the textarea is read-only (no user input allowed)
32
35
  * @param [invalid=false] - Whether the textarea has validation errors (applies error styling)
36
+ * @param [disableTooltip] - Whether to disable the tooltip that shows the full value on hover
33
37
  */
34
38
  export declare const DialTextarea: FC<DialTextareaProps>;
@@ -28,10 +28,10 @@ export declare const useTooltipContext: () => {
28
28
  floating: HTMLElement | null;
29
29
  } & import('@floating-ui/react').ExtendedElements<import('@floating-ui/react').ReferenceType>;
30
30
  context: {
31
- x: number;
32
- y: number;
33
31
  placement: Placement;
34
32
  strategy: import('@floating-ui/utils').Strategy;
33
+ x: number;
34
+ y: number;
35
35
  middlewareData: import('@floating-ui/core').MiddlewareData;
36
36
  isPositioned: boolean;
37
37
  update: () => void;
@@ -75,10 +75,10 @@ export declare const useTooltip: ({ initialOpen, placement, isTriggerClickable,
75
75
  floating: HTMLElement | null;
76
76
  } & import('@floating-ui/react').ExtendedElements<import('@floating-ui/react').ReferenceType>;
77
77
  context: {
78
- x: number;
79
- y: number;
80
78
  placement: Placement;
81
79
  strategy: import('@floating-ui/utils').Strategy;
80
+ x: number;
81
+ y: number;
82
82
  middlewareData: import('@floating-ui/core').MiddlewareData;
83
83
  isPositioned: boolean;
84
84
  update: () => void;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * A React hook that determines whether the current window size matches a tablet screen width.
3
+ *
4
+ * It initializes based on the current screen size using `isMediumScreen()` and updates its value
5
+ * whenever the window is resized.
6
+ *
7
+ * @returns {boolean} `true` if the viewport width matches the tablet breakpoint, otherwise `false`.
8
+ *
9
+ * @example
10
+ * const isTablet = useIsTabletScreen();
11
+ * if (isTablet) {
12
+ * console.log('Tablet layout active');
13
+ * }
14
+ */
15
+ export declare const useIsTabletScreen: () => boolean;
@@ -11,8 +11,20 @@ export { DialNoDataContent } from './components/NoDataContent/NoDataContent';
11
11
  export { DialCollapsibleSidebar } from './components/CollapsibleSidebar/CollapsibleSidebar';
12
12
  export { DialLabelledText } from './components/LabelledText/LabelledText';
13
13
  export { DialTag } from './components/Tag/Tag';
14
+ export { DialEllipsisTooltip } from './components/EllipsisTooltip/EllipsisTooltip';
15
+ export { DialDraggableItem } from './components/DraggableItem/DraggableItem';
16
+ export { DialFileIcon } from './components/FileIcon/FileIcon';
17
+ export { DialFormItem } from './components/FormItem/FormItem';
18
+ export { DialSharedEntityIndicator } from './components/SharedEntityIndicator/SharedEntityIndicator';
19
+ export { DialFileName } from './components/FileName/FileName';
20
+ export { DialFolderName } from './components/FolderName/FolderName';
21
+ export { DialTabs } from './components/Tabs/Tabs';
22
+ export { DialTab } from './components/Tab/Tab';
23
+ export { DialBreadcrumb } from './components/Breadcrumb/Breadcrumb';
24
+ export { DialBreadcrumbItem } from './components/Breadcrumb/BreadcrumbItem';
14
25
  export { DialButton } from './components/Button/Button';
15
26
  export { DialCloseButton } from './components/CloseButton/CloseButton';
27
+ export { DialRemoveButton } from './components/RemoveButton/RemoveButton';
16
28
  export { DialTextarea } from './components/Textarea/Textarea';
17
29
  export { DialTextAreaField } from './components/TextAreaField/TextAreaField';
18
30
  export { DialTooltip } from './components/Tooltip/Tooltip';
@@ -20,7 +32,9 @@ export { DialSwitch } from './components/Switch/Switch';
20
32
  export { DialPopup } from './components/Popup/Popup';
21
33
  export { DialConfirmationPopup } from './components/ConfirmationPopup/ConfirmationPopup';
22
34
  export { DialRadioGroupPopupField } from './components/RadioGroupPopupField/RadioGroupPopupField';
35
+ export { DialFormPopup } from './components/FormPopup/FormPopup';
23
36
  export { DialInput } from './components/Input/Input';
37
+ export type { DialInputProps } from './components/Input/Input';
24
38
  export { DialNumberInputField } from './components/InputField/InputField';
25
39
  export { DialTextInputField } from './components/InputField/InputField';
26
40
  export { DialPasswordInputField } from './components/PasswordInput/PasswordInputField';
@@ -30,6 +44,9 @@ export { DialInputPopup } from './components/InputPopup/InputPopup';
30
44
  export { DialAutocompleteInput } from './components/AutocompleteInput/AutocompleteInput';
31
45
  export { DialAutocompleteInputValue } from './components/AutocompleteInput/AutocompleteInputValue';
32
46
  export { DialTagInput } from './components/TagInput/TagInput';
47
+ export { DialSelect } from './components/Select/Select';
48
+ export { DialSelectField } from './components/SelectField/SelectField';
49
+ export { DialLoadFileAreaField } from './components/LoadFileArea/LoadFileAreaField';
33
50
  export { DialDropdown } from './components/Dropdown/Dropdown';
34
51
  export { AlertVariant } from './types/alert';
35
52
  export { ButtonVariant } from './types/button';
@@ -39,6 +56,13 @@ export { ConfirmationPopupVariant } from './types/confirmation-popup';
39
56
  export { DropdownType } from './types/dropdown';
40
57
  export { SearchSize } from './types/search';
41
58
  export { TagVariant } from './types/tag';
59
+ export { TabOrientation } from './types/tab';
60
+ export type { DialBreadcrumbPathItem } from './models/breadcrumb';
61
+ export { FormItemOrientation } from './types/form-item';
42
62
  export { StepStatus } from './models/step';
43
63
  export type { Step } from './models/step';
44
64
  export type { RadioButtonWithContent } from './models/radio';
65
+ export type { SelectOption } from './models/select';
66
+ export type { TabModel } from './models/tab';
67
+ export type { DropdownItem } from './models/dropdown';
68
+ export { mergeClasses } from './utils/merge-classes';
@@ -0,0 +1,9 @@
1
+ import { ReactNode, MouseEvent } from 'react';
2
+ export interface DialBreadcrumbPathItem {
3
+ title: ReactNode;
4
+ href?: string;
5
+ onClick?: (e: MouseEvent<HTMLAnchorElement>) => void;
6
+ disabled?: boolean;
7
+ cssClass?: string;
8
+ iconBefore?: ReactNode;
9
+ }
@@ -6,6 +6,7 @@ export interface FieldControlProps {
6
6
  export interface InputBaseProps {
7
7
  elementId: string;
8
8
  value?: string | number | null;
9
+ defaultValue?: string | number;
9
10
  placeholder?: string;
10
11
  disabled?: boolean;
11
12
  readonly?: boolean;
@@ -0,0 +1,7 @@
1
+ import { ReactNode } from 'react';
2
+ export interface SelectOption {
3
+ value: string;
4
+ label: string;
5
+ disabled?: boolean;
6
+ icon?: ReactNode;
7
+ }
@@ -0,0 +1,4 @@
1
+ export interface TabModel {
2
+ id: string;
3
+ name: string;
4
+ }
@@ -0,0 +1,4 @@
1
+ export declare enum FormItemOrientation {
2
+ Vertical = "vertical",
3
+ Horizontal = "horizontal"
4
+ }
@@ -0,0 +1,4 @@
1
+ export declare enum TabOrientation {
2
+ Horizontal = "horizontal",
3
+ Vertical = "vertical"
4
+ }
@@ -0,0 +1,3 @@
1
+ import { default as classNames } from 'classnames';
2
+ /** Merge class names (classnames → tailwind-merge). */
3
+ export declare function mergeClasses(...inputs: Parameters<typeof classNames>): string;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Checks if the current viewport width is within the "medium" (tablet) screen range.
3
+ *
4
+ * Specifically, it returns `true` if the window width is less than 1024 pixels.
5
+ * Safely handles server-side rendering by verifying that `window` is defined.
6
+ *
7
+ * @returns {boolean} `true` if the viewport width is less than 1024px, otherwise `false`.
8
+ *
9
+ * @example
10
+ * if (isMediumScreen()) {
11
+ * console.log('Tablet or smaller screen detected');
12
+ * }
13
+ */
14
+ export declare const isMediumScreen: () => boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epam/ai-dial-ui-kit",
3
- "version": "0.3.0-rc.5",
3
+ "version": "0.3.0-rc.51",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "description": "A modern UI kit for building AI DIAL interfaces with React",
@@ -37,9 +37,9 @@
37
37
  "format": "prettier --check .",
38
38
  "format-fix": "prettier --write .",
39
39
  "preview": "vite preview",
40
- "storybook": "concurrently 'npm run storybook:css' 'storybook dev -p 6006'",
40
+ "storybook": "concurrently \"npm run storybook:css\" \"storybook dev -p 6006\"",
41
41
  "storybook:css": "tailwindcss -w -i ./src/styles/tailwind-entry.scss -o ./src/index.css",
42
- "build-storybook": "concurrently 'npm run build-storybook:css' 'storybook build'",
42
+ "build-storybook": "concurrently \"npm run build-storybook:css\" \"storybook build\"",
43
43
  "build-storybook:css": "tailwindcss -m -i ./src/styles/tailwind-entry.scss -o ./src/index.css",
44
44
  "prepare": "husky",
45
45
  "publish": "node tools/publish-lib.mjs",
@@ -56,6 +56,11 @@
56
56
  "overrides": {
57
57
  "esbuild": "0.25.9"
58
58
  },
59
+ "dependencies": {
60
+ "react-dnd": "^16.0.1",
61
+ "react-dnd-html5-backend": "^16.0.1",
62
+ "tailwind-merge": "^3.3.1"
63
+ },
59
64
  "peerDependencies": {
60
65
  "@floating-ui/react": "^0.27.15",
61
66
  "@monaco-editor/react": "^4.7.0",
@@ -70,10 +75,10 @@
70
75
  "@eslint/compat": "^1.3.1",
71
76
  "@eslint/eslintrc": "^3.3.1",
72
77
  "@eslint/js": "^9.31.0",
73
- "@storybook/addon-a11y": "^9.1.10",
74
- "@storybook/addon-docs": "^9.1.10",
75
- "@storybook/addon-vitest": "^9.1.10",
76
- "@storybook/react-vite": "^9.1.10",
78
+ "@storybook/addon-a11y": "^9.1.13",
79
+ "@storybook/addon-docs": "^9.1.13",
80
+ "@storybook/addon-vitest": "^9.1.13",
81
+ "@storybook/react-vite": "^9.1.13",
77
82
  "@testing-library/dom": "^10.4.0",
78
83
  "@testing-library/react": "^16.3.0",
79
84
  "@types/jsdom": "^21.1.7",
@@ -92,7 +97,7 @@
92
97
  "eslint-plugin-react": "7.37.5",
93
98
  "eslint-plugin-react-hooks": "^5.2.0",
94
99
  "eslint-plugin-react-refresh": "^0.4.20",
95
- "eslint-plugin-storybook": "^9.1.10",
100
+ "eslint-plugin-storybook": "^9.1.13",
96
101
  "eslint-plugin-tailwindcss": "^3.18.2",
97
102
  "globals": "^16.3.0",
98
103
  "husky": "^9.1.7",
@@ -103,8 +108,8 @@
103
108
  "prettier": "3.6.2",
104
109
  "sass": "^1.89.2",
105
110
  "sass-embedded": "^1.89.2",
106
- "storybook": "^9.1.10",
107
- "storybook-addon-pseudo-states": "^9.1.10",
111
+ "storybook": "^9.1.13",
112
+ "storybook-addon-pseudo-states": "^9.1.13",
108
113
  "tailwindcss": "^3.4.17",
109
114
  "typescript": "~5.8.3",
110
115
  "typescript-eslint": "^8.35.1",