reactive-bulma 4.3.27 → 4.4.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 (96) hide show
  1. package/README.md +1 -0
  2. package/dist/assets/reactive-bulma.css +1 -1
  3. package/dist/components/atoms/BreadcrumbItem/index.js +58 -34
  4. package/dist/components/atoms/BreadcrumbItem/index.stories.d.ts +1 -0
  5. package/dist/components/atoms/Button/index.js +76 -38
  6. package/dist/components/atoms/Button/index.stories.d.ts +5 -0
  7. package/dist/components/atoms/Checkbox/index.js +47 -40
  8. package/dist/components/atoms/Column/index.js +22 -21
  9. package/dist/components/atoms/Delete/index.js +22 -17
  10. package/dist/components/atoms/GridCell/index.d.ts +4 -0
  11. package/dist/components/atoms/GridCell/index.js +40 -0
  12. package/dist/components/atoms/GridCell/index.stories.d.ts +5 -0
  13. package/dist/components/atoms/GridCell/index.test.d.ts +0 -0
  14. package/dist/components/atoms/Icon/index.js +54 -57
  15. package/dist/components/atoms/Image/index.js +28 -27
  16. package/dist/components/atoms/Image/index.stories.d.ts +1 -0
  17. package/dist/components/atoms/NavBarItem/index.js +7 -7
  18. package/dist/components/atoms/ProgressBar/index.js +25 -24
  19. package/dist/components/atoms/RadioButton/index.js +53 -73
  20. package/dist/components/atoms/Select/index.js +72 -54
  21. package/dist/components/atoms/TabItem/index.js +34 -30
  22. package/dist/components/atoms/TableCell/index.js +20 -15
  23. package/dist/components/atoms/TableCell/index.stories.d.ts +1 -0
  24. package/dist/components/atoms/TableHeadCell/index.js +22 -14
  25. package/dist/components/atoms/TableHeadCell/index.stories.d.ts +1 -0
  26. package/dist/components/atoms/Tag/index.js +36 -69
  27. package/dist/components/atoms/Tag/index.stories.d.ts +0 -3
  28. package/dist/components/atoms/TagWithAddon/index.d.ts +4 -0
  29. package/dist/components/atoms/TagWithAddon/index.js +91 -0
  30. package/dist/components/atoms/TagWithAddon/index.stories.d.ts +11 -0
  31. package/dist/components/atoms/TagWithAddon/index.test.d.ts +0 -0
  32. package/dist/components/atoms/Tile/index.js +31 -29
  33. package/dist/components/atoms/Title/index.js +28 -16
  34. package/dist/components/atoms/index.d.ts +2 -0
  35. package/dist/components/atoms/index.js +36 -32
  36. package/dist/components/molecules/Breadcrumbs/index.js +48 -49
  37. package/dist/components/molecules/CheckboxGroup/index.d.ts +4 -0
  38. package/dist/components/molecules/CheckboxGroup/index.js +34 -0
  39. package/dist/components/molecules/CheckboxGroup/index.stories.d.ts +5 -0
  40. package/dist/components/molecules/CheckboxGroup/index.test.d.ts +0 -0
  41. package/dist/components/molecules/ColumnGroup/index.js +41 -37
  42. package/dist/components/molecules/Dropdown/index.js +58 -49
  43. package/dist/components/molecules/Dropdown/index.stories.d.ts +3 -0
  44. package/dist/components/molecules/FormFieldInput/index.js +68 -85
  45. package/dist/components/molecules/FormFieldInput/index.stories.d.ts +1 -3
  46. package/dist/components/molecules/Grid/index.d.ts +4 -0
  47. package/dist/components/molecules/Grid/index.js +86 -0
  48. package/dist/components/molecules/Grid/index.stories.d.ts +12 -0
  49. package/dist/components/molecules/Grid/index.test.d.ts +0 -0
  50. package/dist/components/molecules/InputControl/index.js +92 -47
  51. package/dist/components/molecules/InputControl/index.stories.d.ts +2 -0
  52. package/dist/components/molecules/Menu/index.js +32 -29
  53. package/dist/components/molecules/MenuList/index.js +33 -30
  54. package/dist/components/molecules/Message/index.js +32 -26
  55. package/dist/components/molecules/NavBarBrand/index.js +1 -1
  56. package/dist/components/molecules/NavBarDropdown/index.js +55 -57
  57. package/dist/components/molecules/NavBarDropdown/index.stories.d.ts +2 -0
  58. package/dist/components/molecules/Notification/index.js +26 -25
  59. package/dist/components/molecules/Pagination/index.js +91 -81
  60. package/dist/components/molecules/Pagination/index.stories.d.ts +2 -0
  61. package/dist/components/molecules/Section/index.js +18 -13
  62. package/dist/components/molecules/TableRow/index.js +41 -32
  63. package/dist/components/molecules/TableRow/index.stories.d.ts +1 -0
  64. package/dist/components/molecules/Tabs/index.js +36 -32
  65. package/dist/components/molecules/TagList/index.d.ts +4 -0
  66. package/dist/components/molecules/TagList/index.js +31 -0
  67. package/dist/components/molecules/TagList/index.stories.d.ts +5 -0
  68. package/dist/components/molecules/TagList/index.test.d.ts +0 -0
  69. package/dist/components/molecules/TileBox/index.js +1 -1
  70. package/dist/components/molecules/index.d.ts +3 -0
  71. package/dist/components/molecules/index.js +26 -20
  72. package/dist/components/organisms/Card/index.js +84 -72
  73. package/dist/components/organisms/FormField/index.js +54 -57
  74. package/dist/components/organisms/FormField/index.stories.d.ts +2 -0
  75. package/dist/components/organisms/Hero/index.js +26 -20
  76. package/dist/components/organisms/Level/index.js +43 -30
  77. package/dist/components/organisms/NavBar/index.js +65 -57
  78. package/dist/components/organisms/Panel/index.js +33 -27
  79. package/dist/components/organisms/Table/index.js +2 -2
  80. package/dist/components/organisms/Table/index.stories.d.ts +1 -0
  81. package/dist/components/organisms/TileGroup/index.js +31 -36
  82. package/dist/constants/classes.d.ts +34 -0
  83. package/dist/constants/classes.js +37 -0
  84. package/dist/constants/regExp.d.ts +18 -0
  85. package/dist/constants/regExp.js +23 -0
  86. package/dist/functions/parsers.js +5 -4
  87. package/dist/index.js +104 -94
  88. package/dist/interfaces/atomProps.d.ts +62 -31
  89. package/dist/interfaces/commonProps.d.ts +5 -0
  90. package/dist/interfaces/moleculeProps.d.ts +67 -22
  91. package/dist/interfaces/moleculeProps.js +1 -1
  92. package/dist/interfaces/organismProps.d.ts +35 -5
  93. package/dist/types/domTypes.d.ts +4 -3
  94. package/dist/types/domTypes.js +2 -2
  95. package/dist/types/styleTypes.d.ts +28 -18
  96. package/package.json +23 -22
@@ -1,15 +1,17 @@
1
1
  import { ClickeableProps, ElementProps } from './commonProps';
2
2
  import { FormFieldInputProps, LevelItemProps, NavBarBrandProps, NavBarDropdownProps, PanelBlockProps, PanelTabsProps, TableRowProps } from './moleculeProps';
3
3
  import { ImageProps, NavBarItemProps, TableHeadCellProps, TileProps } from './atomProps';
4
- import { BasicColorType, SizeWithHeightType } from '../types/styleTypes';
4
+ import { ColorType, SizeWithHeightType } from '../types/styleTypes';
5
5
  import { ChildrenType, NavBarFixedPositionType } from '../types/domTypes';
6
6
  export interface FormFieldProps extends ElementProps {
7
7
  /** `Attribute` `Required` Single or multiple `FormFieldConfig` config objects which will be wrapped around the `FormField` */
8
- config: FormFieldInputProps | FormFieldInputProps[];
8
+ inputsConfig: FormFieldInputProps | FormFieldInputProps[];
9
9
  /** `Styling` Will adjust field's sections (label, input/s and helper) in horizontal position */
10
10
  isHorizontal?: boolean;
11
11
  /** `Styling` Will group the list of inputs in a same wrapper (useful for several inputs with same usage, as a complex address) */
12
12
  isGrouped?: boolean;
13
+ /** `Attribute` Will add one or tow new controls to be working next to the main one */
14
+ withAddons?: boolean;
13
15
  }
14
16
  export interface PanelProps extends ElementProps {
15
17
  /** `Attribute` `Required` Will display Panel's header text */
@@ -19,7 +21,7 @@ export interface PanelProps extends ElementProps {
19
21
  /** `Attribute` `Required` A list of configuration objects that will render a list of block with different components, based on `PanelBlockList` component */
20
22
  blockList: PanelBlockProps[];
21
23
  /** `Styling` Color based on bulma's text color tokens */
22
- color?: BasicColorType;
24
+ color?: ColorType;
23
25
  }
24
26
  export interface LevelProps extends ElementProps {
25
27
  /** `Attribute` A list of `LevelItem` configurations that will br displayed in Level's left side */
@@ -41,7 +43,7 @@ export interface HeroProps extends ElementProps {
41
43
  /** `Styling` Set hero's size */
42
44
  size?: SizeWithHeightType;
43
45
  /** `Styling` Color based on bulma's text color tokens */
44
- color?: BasicColorType;
46
+ color?: ColorType;
45
47
  }
46
48
  export interface TileGroupProps extends ElementProps, Pick<TileProps, 'context' | 'isVertical' | 'size'> {
47
49
  /** `Attribute` `Required` A list of `Title` configurations that will be displayed in a grid mode on the screen */
@@ -61,7 +63,7 @@ export interface NavBarProps extends ElementProps {
61
63
  /** `Styling` Sets navbar's position at screen's top or bottom */
62
64
  fixedPosition?: NavBarFixedPositionType;
63
65
  /** `Styling` Color based on bulma's text color tokens */
64
- color?: BasicColorType;
66
+ color?: ColorType;
65
67
  /** `Styling` Sets navbar's color as transparent */
66
68
  isTransparent?: boolean;
67
69
  /** `Styling` Adds a small padding around the navbar */
@@ -102,3 +104,31 @@ export interface TableProps extends ElementProps {
102
104
  /** `Styling` Will create a container around the table in order to make it scrollable */
103
105
  isContained?: boolean;
104
106
  }
107
+ export interface TableElementProps {
108
+ tableTestId: string;
109
+ tableClasses: string;
110
+ style: React.CSSProperties | null;
111
+ head: TableHeadCellProps[];
112
+ body: TableProps['body'];
113
+ foot: TableHeadCellProps[] | null;
114
+ }
115
+ export interface TableProps extends ElementProps {
116
+ /** `Attribute` `Required` Configuration object that will display table's head */
117
+ head: TableHeadCellProps[];
118
+ /** `Attribute` `Required` Configuration object that will display table's body */
119
+ body: TableRowProps[];
120
+ /** `Attribute` Configuration object that will display table's foot */
121
+ foot?: TableHeadCellProps[];
122
+ /** `Styling` It will add a Bordered styling to the table. It can be combined with other mentioned styling properties. */
123
+ isBordered?: boolean;
124
+ /** `Styling` It will add a Striped styling to the table. It can be combined with other mentioned styling properties. */
125
+ isStriped?: boolean;
126
+ /** `Styling` It will add a Narrow styling to the table. It can be combined with other mentioned styling properties. */
127
+ isNarrow?: boolean;
128
+ /** `Styling` It will add a Hoverable styling to the table. It can be combined with other mentioned styling properties. */
129
+ isHoverable?: boolean;
130
+ /** `Styling` It will add a Fullwidth styling to the table. It can be combined with other mentioned styling properties. */
131
+ isFullwidth?: boolean;
132
+ /** `Styling` Will create a container around the table in order to make it scrollable */
133
+ isContained?: boolean;
134
+ }
@@ -4,11 +4,12 @@ export type InputType = 'text' | 'password' | 'email' | 'tel' | 'number' | 'date
4
4
  export type DropdownItemType = 'item' | 'link' | 'divider';
5
5
  export type PanelBlockItemType = 'icon' | 'control' | 'button';
6
6
  export type ChildrenType = string | React.ReactElement | React.ReactElement[];
7
+ /** Reffers to the component or string that will be shown inside the item */
7
8
  export type SingleChildType = Exclude<ChildrenType, React.ReactElement[]>;
8
9
  export declare enum IconSizeEnum {
9
- 'is-small' = 24,
10
- 'is-medium' = 36,
11
- 'is-large' = 48
10
+ 'small' = 24,
11
+ 'medium' = 36,
12
+ 'large' = 48
12
13
  }
13
14
  export type TileContextType = 'is-child' | 'is-parent' | 'is-ancestor';
14
15
  export type HeroContentType = 'head' | 'body' | 'foot';
@@ -1,4 +1,4 @@
1
- var l = /* @__PURE__ */ ((s) => (s[s["is-small"] = 24] = "is-small", s[s["is-medium"] = 36] = "is-medium", s[s["is-large"] = 48] = "is-large", s))(l || {});
1
+ var r = /* @__PURE__ */ ((l) => (l[l.small = 24] = "small", l[l.medium = 36] = "medium", l[l.large = 48] = "large", l))(r || {});
2
2
  export {
3
- l as IconSizeEnum
3
+ r as IconSizeEnum
4
4
  };
@@ -1,19 +1,29 @@
1
- export type CommonSizeType = 'is-1' | 'is-2' | 'is-3' | 'is-4' | 'is-5' | 'is-6' | 'is-7' | 'is-8' | 'is-9' | 'is-10' | 'is-11' | 'is-12';
2
- export type AbstractSizeType = 'is-three-quarters' | 'is-two-thirds' | 'is-half' | 'is-one-third' | 'is-one-quarter' | 'is-full' | 'is-four-fifths' | 'is-three-fifths' | 'is-two-fifths' | 'is-one-fifth';
1
+ type ZeroSizesType = '0';
2
+ type SixSizesTypes = '1' | '2' | '3' | '4' | '5' | '6';
3
+ type EightSizesTypes = SixSizesTypes | '7' | '8';
4
+ type TwelveSizesTypes = EightSizesTypes | '9' | '10' | '11' | '12';
5
+ export type CommonSizeType = TwelveSizesTypes;
6
+ export type AbstractSizeType = 'three-quarters' | 'two-thirds' | 'half' | 'one-third' | 'one-quarter' | 'full' | 'four-fifths' | 'three-fifths' | 'two-fifths' | 'one-fifth';
3
7
  export type ColumnSizeType = CommonSizeType | AbstractSizeType;
4
- export type ColumnOffsetType = 'is-offset-1' | 'is-offset-2' | 'is-offset-3' | 'is-offset-4' | 'is-offset-5' | 'is-offset-6' | 'is-offset-7' | 'is-offset-8' | 'is-offset-9' | 'is-offset-10' | 'is-offset-11' | 'is-offset-12';
5
- export type TitleSizeType = 'is-1' | 'is-2' | 'is-3' | 'is-4' | 'is-5' | 'is-6';
6
- export type BasicColorType = 'is-white' | 'is-light' | 'is-dark' | 'is-black' | 'is-text' | 'is-ghost' | 'is-primary' | 'is-link' | 'is-info' | 'is-success' | 'is-warning' | 'is-danger';
7
- export type TextColorType = 'has-text-white' | 'has-text-black' | 'has-text-light' | 'has-text-dark' | 'has-text-primary' | 'has-text-link' | 'has-text-info' | 'has-text-success' | 'has-text-warning' | 'has-text-danger';
8
- export type FixedImageSizeType = 'is-16x16' | 'is-24x24' | 'is-32x32' | 'is-48x48' | 'is-64x64' | 'is-96x96' | 'is-128x128' | 'is-square' | 'is-1by1' | 'is-5by4' | 'is-4by3' | 'is-3by2' | 'is-5by3' | 'is-16by9' | 'is-2by1' | 'is-3by1' | 'is-4by5' | 'is-3by4' | 'is-2by3' | 'is-3by5' | 'is-9by16' | 'is-1by2' | 'is-1by3';
9
- export type ElementSizeType = 'is-small' | 'is-normal' | 'is-medium' | 'is-large';
10
- export type SizeWithoutNormalType = Exclude<ElementSizeType, 'is-normal'>;
11
- export type SizeWithHeightType = SizeWithoutNormalType | 'is-halfheight' | 'is-fullheight';
12
- export type MediumAndLargeSizeType = Exclude<SizeWithoutNormalType, 'is-small'>;
13
- export type IconColorModeType = 'light' | 'dark';
14
- export type ColumnGapType = 'is-0' | 'is-1' | 'is-2' | 'is-3' | 'is-4' | 'is-5' | 'is-6' | 'is-7' | 'is-8';
15
- export type ElementAlignType = 'is-centered' | 'is-right' | 'is-left';
16
- export type RightCenteredAlignType = Exclude<ElementAlignType, 'is-left'>;
17
- export type RightLeftAlignType = Exclude<ElementAlignType, 'is-centered'>;
18
- export type BreadcrumbSeparatorType = 'has-arrow-separator' | 'has-bullet-separator' | 'has-dot-separator' | 'has-succeeds-separator';
19
- export type TabsFormatType = 'is-boxed' | 'is-toggle';
8
+ export type ColumnOffsetType = TwelveSizesTypes;
9
+ export type TitleSizeType = SixSizesTypes;
10
+ export type ColorType = 'white' | 'light' | 'dark' | 'black' | 'text' | 'ghost' | 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
11
+ export type ColorModeType = 'light' | 'dark';
12
+ export type FixedImageSizeType = '16x16' | '24x24' | '32x32' | '48x48' | '64x64' | '96x96' | '128x128' | 'square' | '1by1' | '5by4' | '4by3' | '3by2' | '5by3' | '16by9' | '2by1' | '3by1' | '4by5' | '3by4' | '2by3' | '3by5' | '9by16' | '1by2' | '1by3' | 'fullwidth';
13
+ export type BaseSizeType = 'small' | 'medium' | 'large';
14
+ export type SizeWithNormalType = BaseSizeType | 'normal';
15
+ export type SizeWithHeightType = BaseSizeType | 'halfheight' | 'fullheight';
16
+ export type MediumAndLargeSizeType = Exclude<BaseSizeType, 'small'>;
17
+ export type ColumnGapType = EightSizesTypes;
18
+ export type ElementAlignType = 'centered' | 'right' | 'left';
19
+ export type RightCenteredAlignType = Exclude<ElementAlignType, 'left'>;
20
+ export type RightLeftAlignType = Exclude<ElementAlignType, 'centered'>;
21
+ export type BreadcrumbSeparatorType = 'arrow' | 'bullet' | 'dot' | 'succeeds';
22
+ export type TabsFormatType = 'boxed' | 'toggle';
23
+ export type GridGapType = ZeroSizesType | EightSizesTypes;
24
+ export type GridColumnGapType = ZeroSizesType | EightSizesTypes;
25
+ export type GridRowGapType = ZeroSizesType | EightSizesTypes;
26
+ export type GridCellMinWidthType = TwelveSizesTypes | '13' | '14' | '15' | '16' | '17' | '18' | '19' | '20' | '21' | '22' | '23' | '24' | '25' | '26' | '27' | '28' | '29' | '30' | '31' | '32';
27
+ export type FixedGridColumnsType = ZeroSizesType | TwelveSizesTypes;
28
+ export type GridCellPositionType = 'col-start' | 'col-from-end' | 'col-span' | 'row-start' | 'row-from-end' | 'row-span';
29
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reactive-bulma",
3
- "version": "4.3.27",
3
+ "version": "4.4.0",
4
4
  "type": "module",
5
5
  "description": "A component library based on React, Bulma, Typescript and Vite",
6
6
  "keywords": [
@@ -62,7 +62,7 @@
62
62
  "@babel/preset-env": "^7.28.5",
63
63
  "@babel/preset-react": "^7.28.5",
64
64
  "@babel/preset-typescript": "^7.28.5",
65
- "@eslint/compat": "^1.4.1",
65
+ "@eslint/compat": "^2.0.0",
66
66
  "@eslint/js": "^9.39.1",
67
67
  "@mdi/font": "^7.4.47",
68
68
  "@semantic-release/changelog": "^6.0.3",
@@ -70,49 +70,50 @@
70
70
  "@semantic-release/exec": "^7.1.0",
71
71
  "@semantic-release/git": "^10.0.1",
72
72
  "@semantic-release/github": "^12.0.2",
73
- "@semantic-release/npm": "^13.1.1",
73
+ "@semantic-release/npm": "^13.1.2",
74
74
  "@semantic-release/release-notes-generator": "^14.1.0",
75
- "@storybook/addon-docs": "^10.0.6",
76
- "@storybook/addon-links": "^10.0.6",
77
- "@storybook/addon-onboarding": "^10.0.6",
78
- "@storybook/react-vite": "^10.0.6",
75
+ "@storybook/addon-docs": "^10.0.8",
76
+ "@storybook/addon-links": "^10.0.8",
77
+ "@storybook/addon-onboarding": "^10.0.8",
78
+ "@storybook/addon-themes": "^10.0.8",
79
+ "@storybook/react-vite": "^10.0.8",
79
80
  "@testing-library/jest-dom": "^6.9.1",
80
81
  "@testing-library/react": "^16.3.0",
81
82
  "@testing-library/user-event": "^14.6.1",
82
83
  "@types/css-modules": "^1.0.5",
83
84
  "@types/jest": "^30.0.0",
84
- "@types/node": "^24.10.0",
85
- "@types/react": "^19.2.2",
86
- "@types/react-dom": "^19.2.2",
87
- "@typescript-eslint/eslint-plugin": "^8.46.3",
88
- "@typescript-eslint/parser": "^8.46.3",
89
- "@vitejs/plugin-react": "^5.1.0",
85
+ "@types/node": "^24.10.1",
86
+ "@types/react": "^19.2.6",
87
+ "@types/react-dom": "^19.2.3",
88
+ "@typescript-eslint/eslint-plugin": "^8.47.0",
89
+ "@typescript-eslint/parser": "^8.47.0",
90
+ "@vitejs/plugin-react": "^5.1.1",
90
91
  "babel-jest": "^30.2.0",
91
92
  "babel-loader": "^10.0.0",
92
- "bulma": "^0.9.4",
93
+ "bulma": "^1.0.4",
93
94
  "eslint": "^9.39.1",
94
95
  "eslint-config-prettier": "^10.1.8",
95
96
  "eslint-plugin-react": "^7.37.5",
96
97
  "eslint-plugin-react-hooks": "^7.0.1",
97
98
  "eslint-plugin-react-refresh": "^0.4.24",
98
- "eslint-plugin-storybook": "^10.0.6",
99
- "glob": "^11.0.3",
99
+ "eslint-plugin-storybook": "^10.0.8",
100
+ "glob": "^13.0.0",
100
101
  "globals": "^16.5.0",
101
102
  "husky": "^9.1.7",
102
103
  "hygen": "^6.2.11",
103
104
  "jest": "^30.2.0",
104
105
  "jest-environment-jsdom": "^30.2.0",
105
- "lint-staged": "^16.2.6",
106
+ "lint-staged": "^16.2.7",
106
107
  "npm-check-updates": "^19.1.2",
107
108
  "prettier": "^3.6.2",
108
- "react": "^18.3.1",
109
- "react-dom": "^18.3.1",
109
+ "react": "^19.2.0",
110
+ "react-dom": "^19.2.0",
110
111
  "semantic-release": "^25.0.2",
111
- "storybook": "^10.0.6",
112
+ "storybook": "^10.0.8",
112
113
  "tslib": "^2.8.1",
113
114
  "typescript": "~5.9.3",
114
- "typescript-eslint": "^8.46.3",
115
- "vite": "^7.2.2",
115
+ "typescript-eslint": "^8.47.0",
116
+ "vite": "^7.2.4",
116
117
  "vite-plugin-dts": "^4.5.4"
117
118
  },
118
119
  "lint-staged": {