bestax-mcp 0.0.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 (144) hide show
  1. package/README.md +90 -0
  2. package/data/catalog.json +1869 -0
  3. package/data/components/Autocomplete.json +604 -0
  4. package/data/components/Avatar.json +220 -0
  5. package/data/components/Avatars.json +294 -0
  6. package/data/components/Badge.json +261 -0
  7. package/data/components/Block.json +105 -0
  8. package/data/components/Box.json +157 -0
  9. package/data/components/Breadcrumb.json +155 -0
  10. package/data/components/Button.json +599 -0
  11. package/data/components/Buttons.json +533 -0
  12. package/data/components/Card.json +506 -0
  13. package/data/components/Carousel.json +512 -0
  14. package/data/components/Cell.json +154 -0
  15. package/data/components/Checkbox.json +176 -0
  16. package/data/components/Checkboxes.json +240 -0
  17. package/data/components/Code.json +128 -0
  18. package/data/components/Collapse.json +218 -0
  19. package/data/components/Column.json +284 -0
  20. package/data/components/Columns.json +542 -0
  21. package/data/components/ConfigProvider.json +16 -0
  22. package/data/components/Container.json +149 -0
  23. package/data/components/Content.json +228 -0
  24. package/data/components/Control.json +484 -0
  25. package/data/components/DateInput.json +872 -0
  26. package/data/components/DateTimeInput.json +952 -0
  27. package/data/components/Delete.json +153 -0
  28. package/data/components/Dialog.json +285 -0
  29. package/data/components/Divider.json +68 -0
  30. package/data/components/Dropdown.json +353 -0
  31. package/data/components/Emphasis.json +99 -0
  32. package/data/components/Field.json +539 -0
  33. package/data/components/Figure.json +143 -0
  34. package/data/components/File.json +403 -0
  35. package/data/components/Footer.json +109 -0
  36. package/data/components/Grid.json +357 -0
  37. package/data/components/Hero.json +340 -0
  38. package/data/components/Icon.json +232 -0
  39. package/data/components/IconText.json +307 -0
  40. package/data/components/Image.json +166 -0
  41. package/data/components/Input.json +583 -0
  42. package/data/components/Level.json +332 -0
  43. package/data/components/Link.json +154 -0
  44. package/data/components/LinkButton.json +247 -0
  45. package/data/components/ListItem.json +101 -0
  46. package/data/components/Loading.json +323 -0
  47. package/data/components/Media.json +345 -0
  48. package/data/components/Menu.json +317 -0
  49. package/data/components/Message.json +303 -0
  50. package/data/components/Modal.json +444 -0
  51. package/data/components/Navbar.json +996 -0
  52. package/data/components/Notification.json +165 -0
  53. package/data/components/Numberinput.json +364 -0
  54. package/data/components/OrderedList.json +189 -0
  55. package/data/components/Pagination.json +619 -0
  56. package/data/components/Panel.json +582 -0
  57. package/data/components/Paragraph.json +107 -0
  58. package/data/components/Pre.json +114 -0
  59. package/data/components/Progress.json +137 -0
  60. package/data/components/Radio.json +164 -0
  61. package/data/components/Radios.json +240 -0
  62. package/data/components/Rate.json +466 -0
  63. package/data/components/Reveal.json +177 -0
  64. package/data/components/Section.json +123 -0
  65. package/data/components/Select.json +526 -0
  66. package/data/components/Sidebar.json +488 -0
  67. package/data/components/Skeleton.json +162 -0
  68. package/data/components/Slider.json +534 -0
  69. package/data/components/Span.json +100 -0
  70. package/data/components/Steps.json +452 -0
  71. package/data/components/Strong.json +105 -0
  72. package/data/components/SubTitle.json +233 -0
  73. package/data/components/Switch.json +291 -0
  74. package/data/components/Table.json +490 -0
  75. package/data/components/Tabs.json +592 -0
  76. package/data/components/Tag.json +197 -0
  77. package/data/components/Taginput.json +587 -0
  78. package/data/components/Tags.json +181 -0
  79. package/data/components/TextArea.json +483 -0
  80. package/data/components/Theme.json +65 -0
  81. package/data/components/TimeInput.json +906 -0
  82. package/data/components/Title.json +240 -0
  83. package/data/components/Toast.json +308 -0
  84. package/data/components/Tooltip.json +212 -0
  85. package/data/components/UnorderedList.json +149 -0
  86. package/data/components/Valid value constants.json +16 -0
  87. package/data/components/classNames.json +65 -0
  88. package/data/components/useBulmaClasses.json +169 -0
  89. package/data/components/usePrefixedClassNames.json +25 -0
  90. package/data/skills/bestax-custom-component/SKILL.md +196 -0
  91. package/data/skills/bestax-custom-component/examples/stat-card.tsx +105 -0
  92. package/data/skills/bestax-custom-component/references/api.md +90 -0
  93. package/data/skills/bestax-custom-component/references/component-catalog.md +149 -0
  94. package/data/skills/bestax-custom-component/references/library-contributor.md +395 -0
  95. package/data/skills/bestax-custom-component/references/patterns.md +136 -0
  96. package/data/skills/bestax-form/SKILL.md +254 -0
  97. package/data/skills/bestax-form/references/api.md +103 -0
  98. package/data/skills/bestax-form/references/patterns.md +210 -0
  99. package/data/skills/bestax-icons/SKILL.md +80 -0
  100. package/data/skills/bestax-icons/examples/icon-usage.tsx +80 -0
  101. package/data/skills/bestax-icons/references/icon-libraries.md +131 -0
  102. package/data/skills/bestax-layout-scaffold/SKILL.md +196 -0
  103. package/data/skills/bestax-layout-scaffold/examples/app-shell.tsx +86 -0
  104. package/data/skills/bestax-layout-scaffold/examples/card-grid.tsx +106 -0
  105. package/data/skills/bestax-layout-scaffold/examples/centered.tsx +56 -0
  106. package/data/skills/bestax-layout-scaffold/examples/content-page.tsx +90 -0
  107. package/data/skills/bestax-layout-scaffold/examples/landing.tsx +122 -0
  108. package/data/skills/bestax-layout-scaffold/references/archetypes.md +246 -0
  109. package/data/skills/bestax-layout-scaffold/references/layout-components.md +269 -0
  110. package/data/skills/bestax-migrate/SKILL.md +78 -0
  111. package/data/skills/bestax-migrate/references/component-map.md +91 -0
  112. package/data/skills/bestax-migrate/references/css-migration.md +100 -0
  113. package/data/skills/bestax-migrate/references/prop-map.md +48 -0
  114. package/data/skills/bestax-migrate/references/unmappables.md +124 -0
  115. package/data/skills/bestax-optimize/SKILL.md +131 -0
  116. package/data/skills/bestax-optimize/references/modular-build.md +173 -0
  117. package/data/skills/bestax-theming/SKILL.md +117 -0
  118. package/data/skills/bestax-theming/examples/dark-mode.tsx +38 -0
  119. package/data/skills/bestax-theming/examples/theme-config.tsx +60 -0
  120. package/data/skills/bestax-theming/references/css-variables.md +466 -0
  121. package/data/skills/bestax-theming/references/themeable-components.md +119 -0
  122. package/data/skills.json +148 -0
  123. package/dist/data.d.ts +131 -0
  124. package/dist/data.d.ts.map +1 -0
  125. package/dist/data.js +111 -0
  126. package/dist/format.d.ts +37 -0
  127. package/dist/format.d.ts.map +1 -0
  128. package/dist/format.js +178 -0
  129. package/dist/helper-props.d.ts +57 -0
  130. package/dist/helper-props.d.ts.map +1 -0
  131. package/dist/helper-props.js +249 -0
  132. package/dist/index.d.ts +3 -0
  133. package/dist/index.d.ts.map +1 -0
  134. package/dist/index.js +18 -0
  135. package/dist/search.d.ts +32 -0
  136. package/dist/search.d.ts.map +1 -0
  137. package/dist/search.js +194 -0
  138. package/dist/server.d.ts +28 -0
  139. package/dist/server.d.ts.map +1 -0
  140. package/dist/server.js +616 -0
  141. package/dist/version.d.ts +29 -0
  142. package/dist/version.d.ts.map +1 -0
  143. package/dist/version.js +147 -0
  144. package/package.json +70 -0
@@ -0,0 +1,542 @@
1
+ {
2
+ "name": "Columns",
3
+ "kind": "component",
4
+ "category": "columns",
5
+ "slug": "columns/columns",
6
+ "docsUrl": "https://bestax.io/docs/api/columns/columns",
7
+ "examples": [
8
+ {
9
+ "title": "Basic Columns",
10
+ "code": "<Columns>\n <Column>\n <Notification color=\"primary\">First column</Notification>\n </Column>\n <Column>\n <Notification color=\"info\">Second column</Notification>\n </Column>\n <Column>\n <Notification color=\"link\">Third column</Notification>\n </Column>\n <Column>\n <Notification color=\"warning\">Fourth column</Notification>\n </Column>\n</Columns>"
11
+ },
12
+ {
13
+ "title": "Columns on Mobile and Desktop",
14
+ "code": "<>\n {\n // Columns enabled on mobile screens and up\n }\n <Columns isMobile>\n <Column>\n <Notification color=\"primary\">1</Notification>\n </Column>\n <Column>\n <Notification color=\"primary\">2</Notification>\n </Column>\n <Column>\n <Notification color=\"primary\">3</Notification>\n </Column>\n <Column>\n <Notification color=\"primary\">4</Notification>\n </Column>\n <Column>\n <Notification color=\"primary\">5</Notification>\n </Column>\n </Columns>\n\n {\n // Columns enabled on desktop screens and up\n }\n <Columns isDesktop>\n <Column>\n <Notification color=\"primary\">1</Notification>\n </Column>\n <Column>\n <Notification color=\"primary\">2</Notification>\n </Column>\n <Column>\n <Notification color=\"primary\">3</Notification>\n </Column>\n <Column>\n <Notification color=\"primary\">4</Notification>\n </Column>\n <Column>\n <Notification color=\"primary\">5</Notification>\n </Column>\n </Columns>\n</>"
15
+ },
16
+ {
17
+ "title": "Different Column Sizes Per Breakpoint",
18
+ "code": "<Columns isMobile>\n <Column\n sizeMobile=\"three-quarters\"\n sizeTablet=\"two-thirds\"\n sizeDesktop=\"half\"\n sizeWidescreen=\"one-third\"\n sizeFullhd=\"one-quarter\"\n >\n <Notification color=\"primary\">\n <code>sizeMobile=\"three-quarters\"</code>\n <br />\n <code>sizeTablet=\"two-thirds\"</code>\n <br />\n <code>sizeDesktop=\"half\"</code>\n <br />\n <code>sizeWidescreen=\"one-third\"</code>\n <br />\n <code>sizeFullhd=\"one-quarter\"</code>\n </Notification>\n </Column>\n <Column>\n <Notification color=\"primary\">2</Notification>\n </Column>\n <Column>\n <Notification color=\"primary\">3</Notification>\n </Column>\n <Column>\n <Notification color=\"primary\">4</Notification>\n </Column>\n <Column>\n <Notification color=\"primary\">5</Notification>\n </Column>\n</Columns>"
19
+ },
20
+ {
21
+ "title": "Nested Columns",
22
+ "code": "<Columns>\n <Column>\n <Notification color=\"primary\">First column</Notification>\n <Columns isMobile>\n <Column>\n <Notification color=\"primary\">First nested column</Notification>\n </Column>\n <Column>\n <Notification color=\"primary\">Second nested column</Notification>\n </Column>\n </Columns>\n </Column>\n <Column>\n <Notification color=\"primary\">Second column</Notification>\n <Columns isMobile>\n <Column size=\"half\">\n <Notification color=\"primary\">50%</Notification>\n </Column>\n <Column>\n <Notification color=\"primary\">Auto</Notification>\n </Column>\n <Column>\n <Notification color=\"primary\">Auto</Notification>\n </Column>\n </Columns>\n </Column>\n</Columns>"
23
+ },
24
+ {
25
+ "title": "Gap Sizes & Responsive Gaps",
26
+ "code": "<>\n <Columns gap={0}>\n <Column>\n <Notification color=\"primary\" radius=\"radiusless\">\n gap=0\n </Notification>\n </Column>\n <Column>\n <Notification color=\"info\" radius=\"radiusless\">\n gap=0\n </Notification>\n </Column>\n </Columns>\n <Columns gap={3}>\n <Column>\n <Notification color=\"primary\">gap=3</Notification>\n </Column>\n <Column>\n <Notification color=\"info\">gap=3</Notification>\n </Column>\n </Columns>\n <Columns gapMobile={1} gapTablet={3} gapDesktop={6}>\n <Column>\n <Notification color=\"primary\">\n gapMobile=1 gapTablet=3 gapDesktop=6\n </Notification>\n </Column>\n <Column>\n <Notification color=\"info\">\n gapMobile=1 gapTablet=3 gapDesktop=6\n </Notification>\n </Column>\n </Columns>\n</>"
27
+ },
28
+ {
29
+ "title": "Offsets",
30
+ "code": "<>\n <Columns isMobile>\n <Column size=\"half\" offset=\"one-quarter\">\n <Notification color=\"primary\">\n <code>size=\"half\" offset=\"one-quarter\"</code>\n </Notification>\n </Column>\n </Columns>\n <Columns isMobile>\n <Column size=\"three-fifths\" offset=\"one-fifth\">\n <Notification color=\"primary\">\n <code>size=\"three-fifths\" offset=\"one-fifth\"</code>\n </Notification>\n </Column>\n </Columns>\n <Columns isMobile>\n <Column size={4} offset={8}>\n <Notification color=\"primary\">\n <code>\n size={4} offset={8}\n </code>\n </Notification>\n </Column>\n </Columns>\n <Columns isMobile>\n <Column size={11} offset={1}>\n <Notification color=\"primary\">\n <code>size=11 offset=1</code>\n </Notification>\n </Column>\n </Columns>\n</>"
31
+ },
32
+ {
33
+ "title": "Narrow Columns",
34
+ "code": "<Columns>\n <Column isNarrow>\n <Notification color=\"primary\" style={{ width: 200 }}>\n <Strong>Narrow column</Strong>\n <br />\n <Span>This column is only 200px wide.</Span>\n </Notification>\n </Column>\n <Column>\n <Notification color=\"primary\">\n <Strong>Flexible column</Strong>\n <br />\n <Span>This column will take up the remaining space available.</Span>\n </Notification>\n </Column>\n</Columns>"
35
+ },
36
+ {
37
+ "title": "Gapless Columns",
38
+ "code": "<Columns isGapless>\n <Column>\n <Notification color=\"primary\" radius=\"radiusless\">\n 1\n </Notification>\n </Column>\n <Column>\n <Notification color=\"info\" radius=\"radiusless\">\n 2\n </Notification>\n </Column>\n <Column>\n <Notification color=\"success\" radius=\"radiusless\">\n 3\n </Notification>\n </Column>\n <Column>\n <Notification color=\"warning\" radius=\"radiusless\">\n 4\n </Notification>\n </Column>\n</Columns>"
39
+ },
40
+ {
41
+ "title": "Multiline and Gapless",
42
+ "code": "<Columns isGapless isMultiline isMobile>\n <Column size=\"one-quarter\">\n <Notification color=\"primary\" radius=\"radiusless\">\n is-one-quarter\n </Notification>\n </Column>\n <Column size=\"one-quarter\">\n <Notification color=\"info\" radius=\"radiusless\">\n is-one-quarter\n </Notification>\n </Column>\n <Column size=\"one-quarter\">\n <Notification color=\"success\" radius=\"radiusless\">\n is-one-quarter\n </Notification>\n </Column>\n <Column size=\"one-quarter\">\n <Notification color=\"warning\" radius=\"radiusless\">\n is-one-quarter\n </Notification>\n </Column>\n <Column size=\"half\">\n <Notification color=\"danger\" radius=\"radiusless\">\n is-half\n </Notification>\n </Column>\n <Column size=\"one-quarter\">\n <Notification color=\"link\" radius=\"radiusless\">\n is-one-quarter\n </Notification>\n </Column>\n <Column size=\"one-quarter\">\n <Notification color=\"dark\" radius=\"radiusless\">\n is-one-quarter\n </Notification>\n </Column>\n <Column size=\"one-quarter\">\n <Notification color=\"primary\" radius=\"radiusless\">\n is-one-quarter\n </Notification>\n </Column>\n <Column>\n <Notification color=\"info\" radius=\"radiusless\">\n Auto\n </Notification>\n </Column>\n</Columns>"
43
+ },
44
+ {
45
+ "title": "Variable Gap",
46
+ "code": "<>\n <Columns gap={2}>\n <Column size={3}>\n <Notification color=\"primary\" textAlign=\"centered\">\n Side\n </Notification>\n </Column>\n <Column size={9}>\n <Notification color=\"primary\" textAlign=\"centered\">\n Main\n </Notification>\n </Column>\n </Columns>\n <Columns gap={2}>\n <Column size={4}>\n <Notification color=\"primary\" textAlign=\"centered\">\n Three columns\n </Notification>\n </Column>\n <Column size={4}>\n <Notification color=\"primary\" textAlign=\"centered\">\n Three columns\n </Notification>\n </Column>\n <Column size={4}>\n <Notification color=\"primary\" textAlign=\"centered\">\n Three columns\n </Notification>\n </Column>\n </Columns>\n <Columns gap={2}>\n {Array.from({ length: 6 }).map((_, i) => (\n <Column key={i + 1}>\n <Notification color=\"primary\" textAlign=\"centered\">\n {i + 1}\n </Notification>\n </Column>\n ))}\n </Columns>\n</>"
47
+ },
48
+ {
49
+ "title": "Breakpoint Based Column Gaps",
50
+ "code": "<Columns\n gapMobile={1}\n gapTablet={4}\n gapDesktop={3}\n gapWidescreen={8}\n gapFullhd={2}\n>\n {[...Array(3)].map((_, idx) => (\n <Column key={idx}>\n <Notification color=\"primary\">Column</Notification>\n </Column>\n ))}\n</Columns>"
51
+ },
52
+ {
53
+ "title": "Vertical Alignment",
54
+ "code": "<Columns isVCentered>\n <Column size={8}>\n <Notification color=\"primary\">First column</Notification>\n </Column>\n <Column>\n <Notification color=\"primary\">\n Can you see the vertical alignment? It should be really noticable with\n these two columns.\n </Notification>\n </Column>\n</Columns>"
55
+ },
56
+ {
57
+ "title": "Multiline Columns",
58
+ "code": "<Columns isMultiline isMobile>\n <Column size=\"one-quarter\">\n <Notification color=\"primary\">\n <code>is-one-quarter</code>\n </Notification>\n </Column>\n <Column size=\"one-quarter\">\n <Notification color=\"primary\">\n <code>is-one-quarter</code>\n </Notification>\n </Column>\n <Column size=\"one-quarter\">\n <Notification color=\"primary\">\n <code>is-one-quarter</code>\n </Notification>\n </Column>\n <Column size=\"one-quarter\">\n <Notification color=\"primary\">\n <code>is-one-quarter</code>\n </Notification>\n </Column>\n <Column size=\"half\">\n <Notification color=\"primary\">\n <code>is-half</code>\n </Notification>\n </Column>\n <Column size=\"one-quarter\">\n <Notification color=\"primary\">\n <code>is-one-quarter</code>\n </Notification>\n </Column>\n <Column size=\"one-quarter\">\n <Notification color=\"primary\">\n <code>is-one-quarter</code>\n </Notification>\n </Column>\n <Column size=\"one-quarter\">\n <Notification color=\"primary\">\n <code>is-one-quarter</code>\n </Notification>\n </Column>\n <Column>\n <Notification color=\"primary\">Auto</Notification>\n </Column>\n</Columns>"
59
+ },
60
+ {
61
+ "title": "Centering Columns",
62
+ "code": "<Columns isMobile isCentered>\n <Column size=\"half\">\n <Notification color=\"primary\">\n <code className=\"html\">is-half</code>\n <br />\n </Notification>\n </Column>\n</Columns>"
63
+ },
64
+ {
65
+ "title": "Multiline Centered Columns",
66
+ "code": "<Columns isMobile isMultiline isCentered>\n <Column isNarrow>\n <Notification color=\"primary\">\n <code className=\"html\">is-narrow</code>\n <br />\n First Column\n </Notification>\n </Column>\n <Column isNarrow>\n <Notification color=\"primary\">\n <code className=\"html\">is-narrow</code>\n <br />\n Our Second Column\n </Notification>\n </Column>\n <Column isNarrow>\n <Notification color=\"primary\">\n <code className=\"html\">is-narrow</code>\n <br />\n Third Column\n </Notification>\n </Column>\n <Column isNarrow>\n <Notification color=\"primary\">\n <code className=\"html\">is-narrow</code>\n <br />\n The Fourth Column\n </Notification>\n </Column>\n <Column isNarrow>\n <Notification color=\"primary\">\n <code className=\"html\">is-narrow</code>\n <br />\n Fifth Column\n </Notification>\n </Column>\n</Columns>"
67
+ },
68
+ {
69
+ "title": "Compound (dot-notation) usage",
70
+ "code": "<Columns>\n <Columns.Column>\n <Notification color=\"primary\">First column</Notification>\n </Columns.Column>\n <Columns.Column>\n <Notification color=\"info\">Second column</Notification>\n </Columns.Column>\n</Columns>"
71
+ }
72
+ ],
73
+ "accessibility": null,
74
+ "related": [],
75
+ "storybook": null,
76
+ "summary": "The `Columns` component provides Bulma's flexible, responsive grid container for aligning and distributing [`Column`](./column.md) components.",
77
+ "import": "import { Columns, Column } from '@allxsmith/bestax-bulma';",
78
+ "sourceFile": "bulma-ui/src/columns/Columns.tsx",
79
+ "rootClass": "columns",
80
+ "parts": [
81
+ {
82
+ "path": "Columns",
83
+ "summary": "The `Columns` component provides Bulma's flexible, responsive grid container for aligning and distributing [`Column`](./column.md) components.",
84
+ "component": null,
85
+ "props": [
86
+ {
87
+ "name": "className",
88
+ "type": "string",
89
+ "default": null,
90
+ "description": "Additional CSS classes for the columns container.",
91
+ "required": false,
92
+ "inherited": false,
93
+ "deprecated": false
94
+ },
95
+ {
96
+ "name": "textColor",
97
+ "type": "Bulma color | 'inherit' | 'current'",
98
+ "default": null,
99
+ "description": "Text color.",
100
+ "required": false,
101
+ "inherited": false,
102
+ "deprecated": false,
103
+ "valuesRef": "helpers/valid-values"
104
+ },
105
+ {
106
+ "name": "color",
107
+ "type": "'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'",
108
+ "default": null,
109
+ "description": "Bulma color modifier for all columns.",
110
+ "required": false,
111
+ "inherited": false,
112
+ "deprecated": false
113
+ },
114
+ {
115
+ "name": "bgColor",
116
+ "type": "Bulma color | 'inherit' | 'current'",
117
+ "default": null,
118
+ "description": "Background color for all columns.",
119
+ "required": false,
120
+ "inherited": false,
121
+ "deprecated": false,
122
+ "valuesRef": "helpers/valid-values"
123
+ },
124
+ {
125
+ "name": "isCentered",
126
+ "type": "boolean",
127
+ "default": "false",
128
+ "description": "Horizontally center columns within the container.",
129
+ "required": false,
130
+ "inherited": false,
131
+ "deprecated": false
132
+ },
133
+ {
134
+ "name": "isGapless",
135
+ "type": "boolean",
136
+ "default": "false",
137
+ "description": "Remove gap between columns.",
138
+ "required": false,
139
+ "inherited": false,
140
+ "deprecated": false
141
+ },
142
+ {
143
+ "name": "isMultiline",
144
+ "type": "boolean",
145
+ "default": "false",
146
+ "description": "Allow columns to wrap to multiple lines.",
147
+ "required": false,
148
+ "inherited": false,
149
+ "deprecated": false
150
+ },
151
+ {
152
+ "name": "isVCentered",
153
+ "type": "boolean",
154
+ "default": "false",
155
+ "description": "Vertically center columns within the container.",
156
+ "required": false,
157
+ "inherited": false,
158
+ "deprecated": false
159
+ },
160
+ {
161
+ "name": "isMobile",
162
+ "type": "boolean",
163
+ "default": "false",
164
+ "description": "Apply columns layout on mobile and up.",
165
+ "required": false,
166
+ "inherited": false,
167
+ "deprecated": false
168
+ },
169
+ {
170
+ "name": "isDesktop",
171
+ "type": "boolean",
172
+ "default": "false",
173
+ "description": "Apply columns layout on desktop and up.",
174
+ "required": false,
175
+ "inherited": false,
176
+ "deprecated": false
177
+ },
178
+ {
179
+ "name": "gap",
180
+ "type": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8'",
181
+ "default": null,
182
+ "description": "Gap size for all breakpoints. Same scale as `Grid`'s `gap` prop; wins over `gapSize` if both are set.",
183
+ "required": false,
184
+ "inherited": false,
185
+ "deprecated": false
186
+ },
187
+ {
188
+ "name": "gapMobile",
189
+ "type": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8'",
190
+ "default": null,
191
+ "description": "Gap size for mobile. Wins over `gapSizeMobile` if both are set.",
192
+ "required": false,
193
+ "inherited": false,
194
+ "deprecated": false
195
+ },
196
+ {
197
+ "name": "gapTablet",
198
+ "type": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8'",
199
+ "default": null,
200
+ "description": "Gap size for tablet. Wins over `gapSizeTablet` if both are set.",
201
+ "required": false,
202
+ "inherited": false,
203
+ "deprecated": false
204
+ },
205
+ {
206
+ "name": "gapDesktop",
207
+ "type": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8'",
208
+ "default": null,
209
+ "description": "Gap size for desktop. Wins over `gapSizeDesktop` if both are set.",
210
+ "required": false,
211
+ "inherited": false,
212
+ "deprecated": false
213
+ },
214
+ {
215
+ "name": "gapWidescreen",
216
+ "type": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8'",
217
+ "default": null,
218
+ "description": "Gap size for widescreen. Wins over `gapSizeWidescreen` if both are set.",
219
+ "required": false,
220
+ "inherited": false,
221
+ "deprecated": false
222
+ },
223
+ {
224
+ "name": "gapFullhd",
225
+ "type": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8'",
226
+ "default": null,
227
+ "description": "Gap size for fullhd. Wins over `gapSizeFullhd` if both are set.",
228
+ "required": false,
229
+ "inherited": false,
230
+ "deprecated": false
231
+ },
232
+ {
233
+ "name": "gapSize",
234
+ "type": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8'",
235
+ "default": null,
236
+ "description": "Gap size for all breakpoints.",
237
+ "required": false,
238
+ "inherited": false,
239
+ "deprecated": true,
240
+ "deprecationNote": "Use `gap` instead — `gap` wins if both are set."
241
+ },
242
+ {
243
+ "name": "gapSizeMobile",
244
+ "type": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8'",
245
+ "default": null,
246
+ "description": "Gap size for mobile.",
247
+ "required": false,
248
+ "inherited": false,
249
+ "deprecated": true,
250
+ "deprecationNote": "Use `gapMobile` instead — `gapMobile` wins if both are set."
251
+ },
252
+ {
253
+ "name": "gapSizeTablet",
254
+ "type": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8'",
255
+ "default": null,
256
+ "description": "Gap size for tablet.",
257
+ "required": false,
258
+ "inherited": false,
259
+ "deprecated": true,
260
+ "deprecationNote": "Use `gapTablet` instead — `gapTablet` wins if both are set."
261
+ },
262
+ {
263
+ "name": "gapSizeDesktop",
264
+ "type": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8'",
265
+ "default": null,
266
+ "description": "Gap size for desktop.",
267
+ "required": false,
268
+ "inherited": false,
269
+ "deprecated": true,
270
+ "deprecationNote": "Use `gapDesktop` instead — `gapDesktop` wins if both are set."
271
+ },
272
+ {
273
+ "name": "gapSizeWidescreen",
274
+ "type": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8'",
275
+ "default": null,
276
+ "description": "Gap size for widescreen.",
277
+ "required": false,
278
+ "inherited": false,
279
+ "deprecated": true,
280
+ "deprecationNote": "Use `gapWidescreen` instead — `gapWidescreen` wins if both are set."
281
+ },
282
+ {
283
+ "name": "gapSizeFullhd",
284
+ "type": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8'",
285
+ "default": null,
286
+ "description": "Gap size for fullhd.",
287
+ "required": false,
288
+ "inherited": false,
289
+ "deprecated": true,
290
+ "deprecationNote": "Use `gapFullhd` instead — `gapFullhd` wins if both are set."
291
+ },
292
+ {
293
+ "name": "children",
294
+ "type": "React.ReactNode",
295
+ "default": null,
296
+ "description": "Columns to render within the container.",
297
+ "required": false,
298
+ "inherited": false,
299
+ "deprecated": false
300
+ }
301
+ ],
302
+ "extraProps": [],
303
+ "catchAll": "All standard <div> attributes and Bulma helper props",
304
+ "types": []
305
+ },
306
+ {
307
+ "path": "Columns.Column",
308
+ "summary": "The `Column` component provides a single responsive layout column using Bulma's flexbox-based column system.",
309
+ "component": "Column",
310
+ "props": [
311
+ {
312
+ "name": "className",
313
+ "type": "string",
314
+ "default": null,
315
+ "description": "Additional CSS classes for the column.",
316
+ "required": false,
317
+ "inherited": false,
318
+ "deprecated": false
319
+ },
320
+ {
321
+ "name": "textColor",
322
+ "type": "Bulma color | 'inherit' | 'current'",
323
+ "default": null,
324
+ "description": "Text color.",
325
+ "required": false,
326
+ "inherited": false,
327
+ "deprecated": false,
328
+ "valuesRef": "helpers/valid-values"
329
+ },
330
+ {
331
+ "name": "color",
332
+ "type": "'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'",
333
+ "default": null,
334
+ "description": "Bulma color modifier for the column.",
335
+ "required": false,
336
+ "inherited": false,
337
+ "deprecated": false
338
+ },
339
+ {
340
+ "name": "bgColor",
341
+ "type": "Bulma color | 'inherit' | 'current'",
342
+ "default": null,
343
+ "description": "Background color.",
344
+ "required": false,
345
+ "inherited": false,
346
+ "deprecated": false,
347
+ "valuesRef": "helpers/valid-values"
348
+ },
349
+ {
350
+ "name": "size",
351
+ "type": "BulmaColumnSize",
352
+ "default": null,
353
+ "description": "Column size (see Bulma docs).",
354
+ "required": false,
355
+ "inherited": false,
356
+ "deprecated": false
357
+ },
358
+ {
359
+ "name": "sizeMobile",
360
+ "type": "BulmaColumnSize",
361
+ "default": null,
362
+ "description": "Size for mobile breakpoint.",
363
+ "required": false,
364
+ "inherited": false,
365
+ "deprecated": false
366
+ },
367
+ {
368
+ "name": "sizeTablet",
369
+ "type": "BulmaColumnSize",
370
+ "default": null,
371
+ "description": "Size for tablet breakpoint.",
372
+ "required": false,
373
+ "inherited": false,
374
+ "deprecated": false
375
+ },
376
+ {
377
+ "name": "sizeDesktop",
378
+ "type": "BulmaColumnSize",
379
+ "default": null,
380
+ "description": "Size for desktop breakpoint.",
381
+ "required": false,
382
+ "inherited": false,
383
+ "deprecated": false
384
+ },
385
+ {
386
+ "name": "sizeWidescreen",
387
+ "type": "BulmaColumnSize",
388
+ "default": null,
389
+ "description": "Size for widescreen breakpoint.",
390
+ "required": false,
391
+ "inherited": false,
392
+ "deprecated": false
393
+ },
394
+ {
395
+ "name": "sizeFullhd",
396
+ "type": "BulmaColumnSize",
397
+ "default": null,
398
+ "description": "Size for fullhd breakpoint.",
399
+ "required": false,
400
+ "inherited": false,
401
+ "deprecated": false
402
+ },
403
+ {
404
+ "name": "offset",
405
+ "type": "BulmaColumnSize",
406
+ "default": null,
407
+ "description": "Offset for column.",
408
+ "required": false,
409
+ "inherited": false,
410
+ "deprecated": false
411
+ },
412
+ {
413
+ "name": "offsetMobile",
414
+ "type": "BulmaColumnSize",
415
+ "default": null,
416
+ "description": "Offset for mobile.",
417
+ "required": false,
418
+ "inherited": false,
419
+ "deprecated": false
420
+ },
421
+ {
422
+ "name": "offsetTablet",
423
+ "type": "BulmaColumnSize",
424
+ "default": null,
425
+ "description": "Offset for tablet.",
426
+ "required": false,
427
+ "inherited": false,
428
+ "deprecated": false
429
+ },
430
+ {
431
+ "name": "offsetDesktop",
432
+ "type": "BulmaColumnSize",
433
+ "default": null,
434
+ "description": "Offset for desktop.",
435
+ "required": false,
436
+ "inherited": false,
437
+ "deprecated": false
438
+ },
439
+ {
440
+ "name": "offsetWidescreen",
441
+ "type": "BulmaColumnSize",
442
+ "default": null,
443
+ "description": "Offset for widescreen.",
444
+ "required": false,
445
+ "inherited": false,
446
+ "deprecated": false
447
+ },
448
+ {
449
+ "name": "offsetFullhd",
450
+ "type": "BulmaColumnSize",
451
+ "default": null,
452
+ "description": "Offset for fullhd.",
453
+ "required": false,
454
+ "inherited": false,
455
+ "deprecated": false
456
+ },
457
+ {
458
+ "name": "isNarrow",
459
+ "type": "boolean",
460
+ "default": "false",
461
+ "description": "Column is only as wide as its content.",
462
+ "required": false,
463
+ "inherited": false,
464
+ "deprecated": false
465
+ },
466
+ {
467
+ "name": "isNarrowMobile",
468
+ "type": "boolean",
469
+ "default": "false",
470
+ "description": "The column is narrow on mobile.",
471
+ "required": false,
472
+ "inherited": false,
473
+ "deprecated": false
474
+ },
475
+ {
476
+ "name": "isNarrowTablet",
477
+ "type": "boolean",
478
+ "default": "false",
479
+ "description": "The column is narrow on tablet.",
480
+ "required": false,
481
+ "inherited": false,
482
+ "deprecated": false
483
+ },
484
+ {
485
+ "name": "isNarrowTouch",
486
+ "type": "boolean",
487
+ "default": "false",
488
+ "description": "The column is narrow on touch devices.",
489
+ "required": false,
490
+ "inherited": false,
491
+ "deprecated": false
492
+ },
493
+ {
494
+ "name": "isNarrowDesktop",
495
+ "type": "boolean",
496
+ "default": "false",
497
+ "description": "The column is narrow on desktop.",
498
+ "required": false,
499
+ "inherited": false,
500
+ "deprecated": false
501
+ },
502
+ {
503
+ "name": "isNarrowWidescreen",
504
+ "type": "boolean",
505
+ "default": "false",
506
+ "description": "The column is narrow on widescreen.",
507
+ "required": false,
508
+ "inherited": false,
509
+ "deprecated": false
510
+ },
511
+ {
512
+ "name": "isNarrowFullhd",
513
+ "type": "boolean",
514
+ "default": "false",
515
+ "description": "The column is narrow on fullhd.",
516
+ "required": false,
517
+ "inherited": false,
518
+ "deprecated": false
519
+ },
520
+ {
521
+ "name": "children",
522
+ "type": "React.ReactNode",
523
+ "default": null,
524
+ "description": "Children to render inside the column.",
525
+ "required": false,
526
+ "inherited": false,
527
+ "deprecated": false
528
+ }
529
+ ],
530
+ "extraProps": [],
531
+ "catchAll": "All standard <div> attributes and Bulma helper props",
532
+ "types": [
533
+ {
534
+ "name": "BulmaColumnSize",
535
+ "expansion": "number | 'full' | 'half' | 'one-third' | 'two-thirds' | 'one-quarter' | 'three-quarters' | 'one-fifth' | 'two-fifths' | 'three-fifths' | 'four-fifths'",
536
+ "summary": "Possible values for Bulma column size."
537
+ }
538
+ ]
539
+ }
540
+ ],
541
+ "cssVars": []
542
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "ConfigProvider",
3
+ "kind": "helper",
4
+ "category": "helpers",
5
+ "slug": "helpers/config",
6
+ "docsUrl": "https://bestax.io/docs/api/helpers/config",
7
+ "examples": [],
8
+ "accessibility": null,
9
+ "related": [],
10
+ "storybook": null,
11
+ "summary": "The `ConfigProvider` component provides a React context for configuring global settings across all Bulma UI components.",
12
+ "import": "import { ConfigProvider } from '@allxsmith/bestax-bulma';",
13
+ "doc": "# ConfigProvider\n\n## Overview\n\nThe `ConfigProvider` component provides a React context for configuring global settings across all Bulma UI components. Currently, it supports setting a `classPrefix` that will be automatically applied to **all Bulma CSS classes**, including both main component classes (like `button`, `box`, `title`) and helper/modifier classes (like `is-primary`, `has-text-centered`, `m-4`), allowing you to namespace Bulma classes to avoid conflicts with other CSS frameworks or customize the class naming convention.\n\n---\n\n## Import\n\n```tsx\nimport { ConfigProvider, useConfig } from '@allxsmith/bestax-bulma';\n```\n\n---\n\n## Hooks\n\n### useConfig\n\nReturns the current configuration context values.\n\n```tsx\nconst { classPrefix } = useConfig();\n```\n\n### useClassPrefix\n\nConvenience hook that returns just the classPrefix string (or empty string if not set).\n\n```tsx\nconst classPrefix = useClassPrefix();\n```\n\n---\n\n## Usage Examples\n\n### Basic Usage with Class Prefix\n\nUse `ConfigProvider` to add a prefix to all Bulma CSS classes within its scope:\n\n```tsx\nimport {\n ConfigProvider,\n Box,\n Title,\n Button,\n Notification,\n} from '@allxsmith/bestax-bulma';\n\nfunction App() {\n return (\n <div>\n <Title size=\"3\">Prefixed Bulma Components</Title>\n <p>\n This demonstrates using ConfigProvider with{' '}\n <code>classPrefix=\"bestax-\"</code> to add the \"bestax-\" prefix to all\n component CSS classes. This is useful when integrating Bulma with other\n CSS frameworks or when you need to namespace Bulma classes to avoid\n conflicts.\n </p>\n\n <Notification color=\"info\" mt=\"4\">\n <strong>Tip:</strong> Open your browser's developer tools and inspect\n the DOM elements below. You'll see that all Bulma CSS classes have the\n \"bestax-\" prefix applied.\n </Notification>\n\n <ConfigProvider classPrefix=\"bestax-\">\n <Box mt=\"4\" p=\"4\">\n {/* \n This Box will have classes:\n - bestax-box (main class)\n - bestax-mt-4 (helper class)\n - bestax-p-4 (helper class)\n */}\n <Title size=\"4\">Prefixed Components</Title>\n {/* \n This Title will have classes:\n - bestax-title (main class)\n - bestax-is-4 (modifier class)\n */}\n <p>\n All components inside this ConfigProvider will have their CSS\n classes prefixed with \"bestax-\". This allows you to use Bulma\n alongside other CSS frameworks without class name conflicts.\n </p>\n <Button color=\"primary\" mt=\"3\" isRounded>\n {/* \n This Button will have classes:\n - bestax-button (main class)\n - bestax-is-primary (modifier class)\n - bestax-is-rounded (modifier class)\n - bestax-mt-3 (helper class)\n */}\n Bulma-Prefixed Button\n </Button>\n </Box>\n </ConfigProvider>\n\n <Box mt=\"4\" p=\"4\">\n <Title size=\"4\">Standard Components (No Prefix)</Title>\n <p>\n Components outside the ConfigProvider use standard Bulma classes\n without any prefix.\n </p>\n <Button color=\"info\">Standard Button</Button>\n </Box>\n </div>\n );\n}\n```\n\n### Nested ConfigProviders\n\nConfigProviders can be nested, with inner providers overriding outer settings:\n\n```tsx\nfunction NestedExample() {\n return (\n <ConfigProvider classPrefix=\"outer-\">\n <Box p=\"4\">\n <Title>Outer Prefix (outer-)</Title>\n\n <ConfigProvider classPrefix=\"inner-\">\n <Box p=\"4\" mt=\"3\">\n <Title>Inner Prefix (inner-)</Title>\n <Button color=\"primary\">Inner Button</Button>\n </Box>\n </ConfigProvider>\n\n <Button color=\"info\" mt=\"3\">\n Outer Button\n </Button>\n </Box>\n </ConfigProvider>\n );\n}\n```\n\n### Using Configuration in Custom Components\n\nAccess the configuration in your own components using the `useConfig` hook:\n\n```tsx\nimport { useConfig } from '@allxsmith/bestax-bulma';\n\nfunction CustomComponent() {\n const { classPrefix } = useConfig();\n const className = classPrefix\n ? `${classPrefix}custom-component`\n : 'custom-component';\n\n return (\n <div className={className}>\n My custom component with prefix: {classPrefix || 'none'}\n </div>\n );\n}\n```\n\n---\n\n## Use Cases\n\n### Framework Integration\n\nWhen integrating Bulma with other CSS frameworks like Bootstrap or Tailwind CSS:\n\n```tsx\n<ConfigProvider classPrefix=\"bestax-\">\n <App />\n</ConfigProvider>\n```\n\nThis ensures all Bulma classes are prefixed with `bestax-`, preventing conflicts with other framework classes.\n\n### Multi-tenant Applications\n\nFor applications that need to support different styling themes or brands:\n\n```tsx\n<ConfigProvider classPrefix={`${tenantName}-`}>\n <TenantApp />\n</ConfigProvider>\n```\n\n### Component Library Wrapping\n\nWhen wrapping Bulma UI components in your own component library:\n\n```tsx\n<ConfigProvider classPrefix=\"mylib-\">\n <MyComponentLibrary />\n</ConfigProvider>\n```\n\n---\n\n## Notes\n\n- The `classPrefix` is applied to **all Bulma classes**:\n - Main component classes (e.g., `button` → `bestax-button`, `box` → `bestax-box`)\n - Helper/modifier classes (e.g., `is-primary` → `bestax-is-primary`, `has-text-centered` → `bestax-has-text-centered`)\n - Spacing classes (e.g., `m-4` → `bestax-m-4`, `p-2` → `bestax-p-2`)\n - All other Bulma utility classes\n- Changes to the `classPrefix` will affect all child components immediately\n- If no `classPrefix` is provided, components use standard Bulma class names\n- The ConfigProvider must wrap all components that should inherit the configuration\n\n---\n\n## TypeScript Support\n\nFull TypeScript support is included:\n\n```tsx\ninterface ConfigContextProps {\n classPrefix?: string;\n iconLibrary?: 'fa' | 'mdi' | 'ion' | 'material-icons' | 'material-symbols';\n}\n\ninterface ConfigProviderProps {\n children: ReactNode;\n classPrefix?: string;\n iconLibrary?: 'fa' | 'mdi' | 'ion' | 'material-icons' | 'material-symbols';\n}\n```\n\n---\n\n## Props\n\n| Prop | Type | Description |\n| ------------- | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------- |\n| `children` | `ReactNode` | The child components that will inherit the configuration settings. |\n| `classPrefix` | `string` | Optional prefix to add to all Bulma CSS classes. Useful for namespacing when integrating with other frameworks. |\n| `iconLibrary` | `'fa' \\| 'mdi' \\| 'ion' \\| 'material-icons' \\| 'material-symbols'` | Default icon library for all child components. |",
14
+ "parts": [],
15
+ "cssVars": []
16
+ }