bestax-mcp 1.18.0 → 1.18.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.
package/data/catalog.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"schemaVersion": 2,
|
|
3
3
|
"generatedFrom": {
|
|
4
4
|
"package": "@allxsmith/bestax-bulma",
|
|
5
|
-
"version": "5.
|
|
5
|
+
"version": "5.42.0"
|
|
6
6
|
},
|
|
7
7
|
"docsBase": "https://bestax.io/docs",
|
|
8
8
|
"categories": [
|
|
@@ -254,8 +254,8 @@
|
|
|
254
254
|
"slug": "components/carousel",
|
|
255
255
|
"import": "import { Carousel, CarouselItem } from '@allxsmith/bestax-bulma';",
|
|
256
256
|
"compound": false,
|
|
257
|
-
"propCount":
|
|
258
|
-
"exampleCount":
|
|
257
|
+
"propCount": 30,
|
|
258
|
+
"exampleCount": 13
|
|
259
259
|
},
|
|
260
260
|
{
|
|
261
261
|
"name": "Cell",
|
|
@@ -1422,6 +1422,14 @@
|
|
|
1422
1422
|
"--bulma-carousel-indicator-line-width-mobile": ["Carousel"],
|
|
1423
1423
|
"--bulma-carousel-indicator-size": ["Carousel"],
|
|
1424
1424
|
"--bulma-carousel-indicator-size-mobile": ["Carousel"],
|
|
1425
|
+
"--bulma-carousel-item-gap": ["Carousel"],
|
|
1426
|
+
"--bulma-carousel-items-in-view": ["Carousel"],
|
|
1427
|
+
"--bulma-carousel-items-to-show": ["Carousel"],
|
|
1428
|
+
"--bulma-carousel-items-to-show-desktop": ["Carousel"],
|
|
1429
|
+
"--bulma-carousel-items-to-show-fullhd": ["Carousel"],
|
|
1430
|
+
"--bulma-carousel-items-to-show-mobile": ["Carousel"],
|
|
1431
|
+
"--bulma-carousel-items-to-show-tablet": ["Carousel"],
|
|
1432
|
+
"--bulma-carousel-items-to-show-widescreen": ["Carousel"],
|
|
1425
1433
|
"--bulma-carousel-overlay-arrow-background": ["Carousel"],
|
|
1426
1434
|
"--bulma-carousel-overlay-arrow-background-hover": ["Carousel"],
|
|
1427
1435
|
"--bulma-carousel-overlay-arrow-color": ["Carousel"],
|
|
@@ -9,6 +9,18 @@
|
|
|
9
9
|
"title": "Basic Carousel",
|
|
10
10
|
"code": "<Carousel indicatorStyle=\"dots\">\n <CarouselItem>\n <Hero color=\"primary\" size=\"medium\">\n <Hero.Body textAlign=\"centered\">\n <Title as=\"p\">Slide 1</Title>\n </Hero.Body>\n </Hero>\n </CarouselItem>\n <CarouselItem>\n <Hero color=\"success\" size=\"medium\">\n <Hero.Body textAlign=\"centered\">\n <Title as=\"p\">Slide 2</Title>\n </Hero.Body>\n </Hero>\n </CarouselItem>\n <CarouselItem>\n <Hero color=\"danger\" size=\"medium\">\n <Hero.Body textAlign=\"centered\">\n <Title as=\"p\">Slide 3</Title>\n </Hero.Body>\n </Hero>\n </CarouselItem>\n</Carousel>"
|
|
11
11
|
},
|
|
12
|
+
{
|
|
13
|
+
"title": "Several Items in View",
|
|
14
|
+
"code": "<Carousel itemsToShow={1} itemsToShowTablet={2} itemsToShowDesktop={3}>\n {[\n 'Garden Room',\n 'Harbor Suite',\n 'Loft',\n 'Courtyard Twin',\n 'Terrace Room',\n 'Family Suite',\n ].map(room => (\n <CarouselItem key={room}>\n <Card m=\"2\">\n <Card.Content>\n <Title as=\"p\" size=\"5\">\n {room}\n </Title>\n <SubTitle as=\"p\" size=\"6\">\n Sleeps two\n </SubTitle>\n </Card.Content>\n </Card>\n </CarouselItem>\n ))}\n</Carousel>"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"title": "Several Items in View",
|
|
18
|
+
"code": "<Carousel itemsToShow={3} itemsToScroll={3} repeat={false}>\n {[1, 2, 3, 4, 5, 6, 7].map(n => (\n <CarouselItem key={n}>\n <Box m=\"2\" textAlign=\"centered\">\n Item {n}\n </Box>\n </CarouselItem>\n ))}\n</Carousel>"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"title": "Several Items in View",
|
|
22
|
+
"code": "<Carousel className=\"room-gallery\" itemsToShow={3}>\n {/* items */}\n</Carousel>"
|
|
23
|
+
},
|
|
12
24
|
{
|
|
13
25
|
"title": "Auto-playing Carousel",
|
|
14
26
|
"code": "<Carousel autoplay interval={3000}>\n <CarouselItem>\n <Hero color=\"info\" size=\"medium\">\n <Hero.Body textAlign=\"centered\">\n <Title as=\"p\">Info</Title>\n </Hero.Body>\n </Hero>\n </CarouselItem>\n <CarouselItem>\n <Hero color=\"warning\" size=\"medium\">\n <Hero.Body textAlign=\"centered\">\n <Title as=\"p\">Warning</Title>\n </Hero.Body>\n </Hero>\n </CarouselItem>\n <CarouselItem>\n <Hero color=\"success\" size=\"medium\">\n <Hero.Body textAlign=\"centered\">\n <Title as=\"p\">Success</Title>\n </Hero.Body>\n </Hero>\n </CarouselItem>\n</Carousel>"
|
|
@@ -46,7 +58,7 @@
|
|
|
46
58
|
"code": "<Carousel repeat={false}>\n <CarouselItem>\n <Hero color=\"danger\" size=\"medium\">\n <Hero.Body textAlign=\"centered\">\n <Paragraph textColor=\"white\">First (no previous)</Paragraph>\n </Hero.Body>\n </Hero>\n </CarouselItem>\n <CarouselItem>\n <Hero color=\"warning\" size=\"medium\">\n <Hero.Body textAlign=\"centered\">\n <Paragraph>Middle slide</Paragraph>\n </Hero.Body>\n </Hero>\n </CarouselItem>\n <CarouselItem>\n <Hero color=\"success\" size=\"medium\">\n <Hero.Body textAlign=\"centered\">\n <Paragraph textColor=\"white\">Last (no next)</Paragraph>\n </Hero.Body>\n </Hero>\n </CarouselItem>\n</Carousel>"
|
|
47
59
|
}
|
|
48
60
|
],
|
|
49
|
-
"accessibility": "- Uses `role=\"region\"` with `aria-roledescription=\"carousel\"`\n- Navigation arrows have `aria-label` for screen readers\n- Indicators use `role=\"tablist\"` and `role=\"tab\"` semantics\n-
|
|
61
|
+
"accessibility": "- Uses `role=\"region\"` with `aria-roledescription=\"carousel\"`\n- Each item is a `group` with `aria-roledescription=\"slide\"`, named for its place, such as \"2 of 6\". An item's own `aria-label` or `aria-labelledby` takes the place of that name\n- Items out of view are `aria-hidden` and `inert`, so screen readers skip them and nothing in them takes focus. With several in view, every item in view is exposed. The copies a loop adds at each end of the track follow the same rule, so where the view runs past the last item, the copies on screen are the ones exposed\n- The track is a polite live region, so what comes into view is announced, except while autoplay is moving it (`aria-live=\"off\"`)\n- Autoplay waits while the pointer is over the carousel (with `pauseOnHover`) and while focus is inside one of its items, so an item being read or used never moves out of view\n- When something else takes the item holding focus out of view (a swipe, a change of width that changes the count, a new controlled `value`, or the item's removal), focus moves to the first item in view rather than dropping to the page\n- Navigation arrows have `aria-label` for screen readers\n- Indicators use `role=\"tablist\"` and `role=\"tab\"` semantics, one for each position a step can land on\n- The Left and Right arrow keys move the carousel while focus is on its arrows or indicators. Inside an item they're left to the item's content, such as a field or a slider\n- Previous/Next buttons are properly disabled at boundaries when not repeating",
|
|
50
62
|
"related": ["Modal", "Tabs"],
|
|
51
63
|
"storybook": "https://bestax.io/storybook/?path=/story/components-carousel",
|
|
52
64
|
"summary": "The `Carousel` component provides an image/content slider with navigation arrows and indicators.",
|
|
@@ -63,7 +75,7 @@
|
|
|
63
75
|
"name": "value",
|
|
64
76
|
"type": "number",
|
|
65
77
|
"default": "0",
|
|
66
|
-
"description": "
|
|
78
|
+
"description": "Index of the first item in view (controlled); with one item in view, the slide shown. A value between two of the positions a step lands on (see `itemsToScroll`) is shown as given, and the next step goes on from it. With `repeat`, a value past either end wraps around; without it, one that would leave empty space after the last item shows the last full view. Neither correction calls `onChange`. A value that takes the item holding focus out of view moves focus to the first item in view, as a swipe or a change of width does.",
|
|
67
79
|
"required": false,
|
|
68
80
|
"inherited": false,
|
|
69
81
|
"deprecated": false
|
|
@@ -72,7 +84,7 @@
|
|
|
72
84
|
"name": "autoplay",
|
|
73
85
|
"type": "boolean",
|
|
74
86
|
"default": "false",
|
|
75
|
-
"description": "Enable auto-play.",
|
|
87
|
+
"description": "Enable auto-play: one step (`itemsToScroll` items) per `interval`. Without `repeat` it stops at the last position. It waits while the pointer is over the carousel (see `pauseOnHover`) and while focus is inside one of its items, so an item being read or used never moves out of view.",
|
|
76
88
|
"required": false,
|
|
77
89
|
"inherited": false,
|
|
78
90
|
"deprecated": false
|
|
@@ -99,7 +111,7 @@
|
|
|
99
111
|
"name": "repeat",
|
|
100
112
|
"type": "boolean",
|
|
101
113
|
"default": "true",
|
|
102
|
-
"description": "Loop back to first
|
|
114
|
+
"description": "Loop back to the first position after the last. Default: true. With several items in view, the view runs on past the last item into the first ones, so it can show the end and the start side by side. Only loops when some item is out of view.",
|
|
103
115
|
"required": false,
|
|
104
116
|
"inherited": false,
|
|
105
117
|
"deprecated": false
|
|
@@ -108,7 +120,70 @@
|
|
|
108
120
|
"name": "hasDrag",
|
|
109
121
|
"type": "boolean",
|
|
110
122
|
"default": "true",
|
|
111
|
-
"description": "Enable drag/swipe navigation. Default: true.",
|
|
123
|
+
"description": "Enable drag/swipe navigation. Default: true. A swipe moves one step, however far it travels.",
|
|
124
|
+
"required": false,
|
|
125
|
+
"inherited": false,
|
|
126
|
+
"deprecated": false
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"name": "itemsToShow",
|
|
130
|
+
"type": "number",
|
|
131
|
+
"default": "1",
|
|
132
|
+
"description": "How many items are in view at once, at every width no `itemsToShow<Viewport>` prop covers. Those props read the way a `Column`'s `size<Viewport>` props do: `itemsToShowMobile` applies below Bulma's tablet breakpoint, each of the others from its own breakpoint up, and where several apply the widest one wins. A whole number, rounded down and at least 1. The widths come from the stylesheet, so they are right on the first paint; the arrows, indicators and steps use the count for the window's width once the page has hydrated, and this one until then. With this many children or fewer, every item keeps its share of the width, nothing moves, and no arrows or indicators render.",
|
|
133
|
+
"required": false,
|
|
134
|
+
"inherited": false,
|
|
135
|
+
"deprecated": false
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"name": "itemsToShowMobile",
|
|
139
|
+
"type": "number",
|
|
140
|
+
"default": null,
|
|
141
|
+
"description": "Items in view at any width below Bulma's tablet breakpoint (769px), fractional ones included. Falls back to `itemsToShow`.",
|
|
142
|
+
"required": false,
|
|
143
|
+
"inherited": false,
|
|
144
|
+
"deprecated": false
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"name": "itemsToShowTablet",
|
|
148
|
+
"type": "number",
|
|
149
|
+
"default": null,
|
|
150
|
+
"description": "Items in view from Bulma's tablet breakpoint (769px) up, until a wider viewport's prop takes over. Falls back to `itemsToShow`.",
|
|
151
|
+
"required": false,
|
|
152
|
+
"inherited": false,
|
|
153
|
+
"deprecated": false
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"name": "itemsToShowDesktop",
|
|
157
|
+
"type": "number",
|
|
158
|
+
"default": null,
|
|
159
|
+
"description": "Items in view from Bulma's desktop breakpoint (1024px) up, until a wider viewport's prop takes over. Falls back to `itemsToShowTablet`, then `itemsToShow`.",
|
|
160
|
+
"required": false,
|
|
161
|
+
"inherited": false,
|
|
162
|
+
"deprecated": false
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"name": "itemsToShowWidescreen",
|
|
166
|
+
"type": "number",
|
|
167
|
+
"default": null,
|
|
168
|
+
"description": "Items in view from Bulma's widescreen breakpoint (1216px) up, until `itemsToShowFullhd` takes over. Falls back to `itemsToShowDesktop`, and on down to `itemsToShow`.",
|
|
169
|
+
"required": false,
|
|
170
|
+
"inherited": false,
|
|
171
|
+
"deprecated": false
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"name": "itemsToShowFullhd",
|
|
175
|
+
"type": "number",
|
|
176
|
+
"default": null,
|
|
177
|
+
"description": "Items in view from Bulma's fullhd breakpoint (1408px) up. Falls back to `itemsToShowWidescreen`, and on down to `itemsToShow`.",
|
|
178
|
+
"required": false,
|
|
179
|
+
"inherited": false,
|
|
180
|
+
"deprecated": false
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"name": "itemsToScroll",
|
|
184
|
+
"type": "number",
|
|
185
|
+
"default": "1",
|
|
186
|
+
"description": "How many items one step moves, for an arrow, an arrow key, a swipe or an autoplay tick. A whole number, capped at the count in view so a step never skips an item. Without `repeat`, the last step stops at the last full view, so it can be shorter; with `repeat`, the step after the last position goes on to the first one. The indicators mark these positions, one per step rather than one per item. When the count in view changes with the window's width, the first item in view stays in view.",
|
|
112
187
|
"required": false,
|
|
113
188
|
"inherited": false,
|
|
114
189
|
"deprecated": false
|
|
@@ -135,7 +210,7 @@
|
|
|
135
210
|
"name": "indicator",
|
|
136
211
|
"type": "boolean",
|
|
137
212
|
"default": "true",
|
|
138
|
-
"description": "Show slide indicators. Default: true. They render `type=\"button\"`, so a carousel inside a form is not submitted by picking a slide.",
|
|
213
|
+
"description": "Show slide indicators. Default: true. There is one for each position a step can land on (see `itemsToScroll`). They render `type=\"button\"`, so a carousel inside a form is not submitted by picking a slide.",
|
|
139
214
|
"required": false,
|
|
140
215
|
"inherited": false,
|
|
141
216
|
"deprecated": false
|
|
@@ -252,7 +327,7 @@
|
|
|
252
327
|
"name": "onChange",
|
|
253
328
|
"type": "(value: number) => void",
|
|
254
329
|
"default": null,
|
|
255
|
-
"description": "
|
|
330
|
+
"description": "Called with the index of the first item in view when an arrow, an arrow key, an indicator, a swipe or autoplay moves the carousel.",
|
|
256
331
|
"required": false,
|
|
257
332
|
"inherited": false,
|
|
258
333
|
"deprecated": false
|
|
@@ -299,7 +374,7 @@
|
|
|
299
374
|
"name": "active",
|
|
300
375
|
"type": "boolean",
|
|
301
376
|
"default": "false",
|
|
302
|
-
"description": "Whether this item is
|
|
377
|
+
"description": "Whether this item is in view. `Carousel` sets it on every item in view, so with several in view several are active.",
|
|
303
378
|
"required": false,
|
|
304
379
|
"inherited": false,
|
|
305
380
|
"deprecated": false
|
|
@@ -554,6 +629,54 @@
|
|
|
554
629
|
"sass": "$carousel-fade-duration",
|
|
555
630
|
"default": "0.5s",
|
|
556
631
|
"scope": "root"
|
|
632
|
+
},
|
|
633
|
+
{
|
|
634
|
+
"css": "--bulma-carousel-item-gap",
|
|
635
|
+
"sass": "$carousel-item-gap",
|
|
636
|
+
"default": "0px",
|
|
637
|
+
"scope": "root"
|
|
638
|
+
},
|
|
639
|
+
{
|
|
640
|
+
"css": "--bulma-carousel-items-to-show",
|
|
641
|
+
"sass": null,
|
|
642
|
+
"default": "1",
|
|
643
|
+
"scope": "root"
|
|
644
|
+
},
|
|
645
|
+
{
|
|
646
|
+
"css": "--bulma-carousel-items-to-show-mobile",
|
|
647
|
+
"sass": null,
|
|
648
|
+
"default": "var(--bulma-carousel-items-to-show)",
|
|
649
|
+
"scope": "root"
|
|
650
|
+
},
|
|
651
|
+
{
|
|
652
|
+
"css": "--bulma-carousel-items-to-show-tablet",
|
|
653
|
+
"sass": null,
|
|
654
|
+
"default": "var(--bulma-carousel-items-to-show)",
|
|
655
|
+
"scope": "root"
|
|
656
|
+
},
|
|
657
|
+
{
|
|
658
|
+
"css": "--bulma-carousel-items-to-show-desktop",
|
|
659
|
+
"sass": null,
|
|
660
|
+
"default": "var(--bulma-carousel-items-to-show-tablet)",
|
|
661
|
+
"scope": "root"
|
|
662
|
+
},
|
|
663
|
+
{
|
|
664
|
+
"css": "--bulma-carousel-items-to-show-widescreen",
|
|
665
|
+
"sass": null,
|
|
666
|
+
"default": "var(--bulma-carousel-items-to-show-desktop)",
|
|
667
|
+
"scope": "root"
|
|
668
|
+
},
|
|
669
|
+
{
|
|
670
|
+
"css": "--bulma-carousel-items-to-show-fullhd",
|
|
671
|
+
"sass": null,
|
|
672
|
+
"default": "var(--bulma-carousel-items-to-show-widescreen)",
|
|
673
|
+
"scope": "root"
|
|
674
|
+
},
|
|
675
|
+
{
|
|
676
|
+
"css": "--bulma-carousel-items-in-view",
|
|
677
|
+
"sass": null,
|
|
678
|
+
"default": "var(--bulma-carousel-items-to-show-mobile)",
|
|
679
|
+
"scope": "root"
|
|
557
680
|
}
|
|
558
681
|
]
|
|
559
682
|
}
|
|
@@ -303,12 +303,22 @@ own-selector override rule applies.
|
|
|
303
303
|
`--bulma-carousel-indicator-line-height`, `--bulma-carousel-indicator-line-height-mobile`,
|
|
304
304
|
`--bulma-carousel-indicator-line-radius`, `--bulma-carousel-indicator-line-width`,
|
|
305
305
|
`--bulma-carousel-indicator-line-width-mobile`, `--bulma-carousel-indicator-size`,
|
|
306
|
-
`--bulma-carousel-indicator-size-mobile`, `--bulma-carousel-
|
|
306
|
+
`--bulma-carousel-indicator-size-mobile`, `--bulma-carousel-item-gap`,
|
|
307
|
+
`--bulma-carousel-items-in-view`, `--bulma-carousel-items-to-show`,
|
|
308
|
+
`--bulma-carousel-items-to-show-desktop`, `--bulma-carousel-items-to-show-fullhd`,
|
|
309
|
+
`--bulma-carousel-items-to-show-mobile`, `--bulma-carousel-items-to-show-tablet`,
|
|
310
|
+
`--bulma-carousel-items-to-show-widescreen`, `--bulma-carousel-overlay-arrow-background`,
|
|
307
311
|
`--bulma-carousel-overlay-arrow-background-hover`, `--bulma-carousel-overlay-arrow-color`,
|
|
308
312
|
`--bulma-carousel-overlay-indicator-background`,
|
|
309
313
|
`--bulma-carousel-overlay-indicator-background-active`,
|
|
310
314
|
`--bulma-carousel-overlay-indicator-background-hover`, `--bulma-carousel-transition-duration`
|
|
311
315
|
|
|
316
|
+
`--bulma-carousel-item-gap` (a length, default `0px`) is the space between items in view; set it
|
|
317
|
+
on the carousel's own element through a class. The `--bulma-carousel-items-to-show*` variables
|
|
318
|
+
come from the `itemsToShow*` props, and `--bulma-carousel-items-in-view` is the one of them the
|
|
319
|
+
viewport picks. The props also decide how far a step moves, so set the count with the props
|
|
320
|
+
rather than with these variables.
|
|
321
|
+
|
|
312
322
|
### Checkbox
|
|
313
323
|
|
|
314
324
|
`--bulma-checkbox-active-color`, `--bulma-checkbox-background`, `--bulma-checkbox-border-color`,
|
package/data/skills.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bestax-mcp",
|
|
3
|
-
"version": "1.18.
|
|
3
|
+
"version": "1.18.1",
|
|
4
4
|
"mcpName": "io.github.allxsmith/bestax-mcp",
|
|
5
5
|
"description": "MCP server for @allxsmith/bestax-bulma — component props, examples, CSS variables and agent skills, served offline from a version-pinned index",
|
|
6
6
|
"type": "module",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@modelcontextprotocol/sdk": "^1.31.0",
|
|
44
44
|
"zod": "^4.4.3",
|
|
45
|
-
"@allxsmith/bestax-bulma": "^5.
|
|
45
|
+
"@allxsmith/bestax-bulma": "^5.42.0"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@jest/globals": "^30.0.0",
|