@allxsmith/bestax-bulma 5.15.3 → 5.16.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.
package/dist/index.esm.js CHANGED
@@ -209,6 +209,8 @@ const validColors = [
209
209
  'grey-light',
210
210
  'grey-lighter',
211
211
  'white',
212
+ 'white-bis',
213
+ 'white-ter',
212
214
  'light',
213
215
  'dark',
214
216
  ];
@@ -419,6 +421,57 @@ const validViewports = [
419
421
  'widescreen-only',
420
422
  'fullhd',
421
423
  ];
424
+ /**
425
+ * Valid Bulma float classes.
426
+ * @example 'left', 'right'
427
+ */
428
+ const validFloats = ['left', 'right'];
429
+ /**
430
+ * Valid Bulma overflow classes.
431
+ * @example 'clipped'
432
+ */
433
+ const validOverflows = ['clipped'];
434
+ /**
435
+ * Valid Bulma interaction classes.
436
+ * @example 'unselectable', 'clickable'
437
+ */
438
+ const validInteractions = ['unselectable', 'clickable'];
439
+ /**
440
+ * Valid Bulma cursor helper values.
441
+ *
442
+ * These share no class stem: `pointer` renders `is-clickable` and `help`
443
+ * renders `is-cursor-help`, so the class each one emits lives in
444
+ * `cursorClasses` rather than being built from the value.
445
+ * @example 'pointer', 'help'
446
+ */
447
+ const validCursors = ['pointer', 'help'];
448
+ /**
449
+ * Cursor helper value to the class it renders.
450
+ *
451
+ * A `Record` over `validCursors` on purpose: TypeScript then rejects a value
452
+ * added to the tuple with no class for it, and a class for a value the tuple
453
+ * does not carry, so the accepted set and the rendered classes cannot drift
454
+ * apart.
455
+ */
456
+ const cursorClasses = {
457
+ pointer: 'is-clickable',
458
+ help: 'is-cursor-help',
459
+ };
460
+ /**
461
+ * Valid Bulma border-radius helper classes.
462
+ * @example 'radiusless'
463
+ */
464
+ const validRadii = ['radiusless'];
465
+ /**
466
+ * Valid Bulma shadow helper classes.
467
+ * @example 'shadowless'
468
+ */
469
+ const validShadows = ['shadowless'];
470
+ /**
471
+ * Valid Bulma responsive helper classes.
472
+ * @example 'mobile', 'narrow'
473
+ */
474
+ const validResponsives = ['mobile', 'narrow'];
422
475
  /**
423
476
  * Creates the shared class-building helpers used by the Bulma helper hooks.
424
477
  *
@@ -885,33 +938,28 @@ const useOtherClasses = (props) => {
885
938
  const { classes, addPrefixedClass, addClassNoViewport } = createBulmaClassHelpers(classPrefix);
886
939
  // Other Helpers (no viewport support)
887
940
  if (float) {
888
- addClassNoViewport('is-pulled', float, ['left', 'right']);
941
+ addClassNoViewport('is-pulled', float, validFloats);
889
942
  }
890
943
  if (overflow) {
891
- addClassNoViewport('is', overflow, ['clipped']);
944
+ addClassNoViewport('is', overflow, validOverflows);
892
945
  }
893
946
  if (overlay) {
894
947
  addPrefixedClass('is-overlay');
895
948
  }
896
949
  if (interaction) {
897
- addClassNoViewport('is', interaction, ['unselectable', 'clickable']);
950
+ addClassNoViewport('is', interaction, validInteractions);
898
951
  }
899
- if (cursor) {
900
- if (cursor === 'pointer') {
901
- addPrefixedClass('is-clickable');
902
- }
903
- else if (cursor === 'help') {
904
- addPrefixedClass('is-cursor-help');
905
- }
952
+ if (cursor && validCursors.includes(cursor)) {
953
+ addPrefixedClass(cursorClasses[cursor]);
906
954
  }
907
955
  if (radius) {
908
- addClassNoViewport('is', radius, ['radiusless']);
956
+ addClassNoViewport('is', radius, validRadii);
909
957
  }
910
958
  if (shadow) {
911
- addClassNoViewport('is', shadow, ['shadowless']);
959
+ addClassNoViewport('is', shadow, validShadows);
912
960
  }
913
961
  if (responsive) {
914
- addClassNoViewport('is', responsive, ['mobile', 'narrow']);
962
+ addClassNoViewport('is', responsive, validResponsives);
915
963
  }
916
964
  // Bulma Skeleton Helper
917
965
  if (skeleton) {
@@ -1779,6 +1827,75 @@ const Card = withSubComponents(CardComponent, {
1779
1827
  /** Internal test-only exports. Not part of the public API. */
1780
1828
  const __test_exports__ = { renderFooter };
1781
1829
 
1830
+ /**
1831
+ * The runtime mirror of `AnchorOnlyAttributes`, keyed so the two cannot drift.
1832
+ *
1833
+ * `Record<keyof …, true>` is what links them: the day React adds an anchor
1834
+ * attribute, every component deriving its props from `as` accepts it and this
1835
+ * object stops compiling until it is named here. A plain array beside a derived
1836
+ * type drifts in the one direction that matters — the type accepts the new
1837
+ * attribute and the filter lets it leak onto a `<div>`.
1838
+ */
1839
+ const ANCHOR_ONLY_ATTRS = {
1840
+ href: true,
1841
+ target: true,
1842
+ download: true,
1843
+ hrefLang: true,
1844
+ ping: true,
1845
+ referrerPolicy: true,
1846
+ media: true,
1847
+ type: true,
1848
+ };
1849
+ /**
1850
+ * `props` without the keys named in `strip`.
1851
+ *
1852
+ * The SET is per component and deliberately not shared, because the right
1853
+ * answer differs and the differences are principled: how open the component's
1854
+ * `as` is, and which of these attributes its own tags legitimately take. What
1855
+ * IS shared is the derived source of truth above and this function. Each caller
1856
+ * declares its delta next to the set it passes, which is the only place that
1857
+ * stays true when a component's `as` changes.
1858
+ */
1859
+ function omitAttrs(props, strip) {
1860
+ const out = {};
1861
+ // `Reflect.ownKeys`, not `Object.entries`: the latter drops symbol-keyed props.
1862
+ // React enumerates props with `for...in`, which never reports a symbol, so
1863
+ // nothing renders differently either way. It is not the same change for all
1864
+ // three callers: Menu filtered by rest-destructure and kept them already,
1865
+ // while Dropdown and Level filtered through `Object.entries` and did not, so
1866
+ // this restores one and widens two. Symbols are the only shape where those
1867
+ // two disagreed, and keeping them is the side a spread is on.
1868
+ for (const key of Reflect.ownKeys(props)) {
1869
+ // Enumerability, for the same reason in the other direction: `Reflect.ownKeys`
1870
+ // also reports NON-enumerable own props, which every filter this replaced left
1871
+ // behind. Copying one out would both add a prop the old code dropped and make
1872
+ // it enumerable on the way, so widening the key source must not widen this.
1873
+ if (!Object.prototype.propertyIsEnumerable.call(props, key))
1874
+ continue;
1875
+ const value = props[key];
1876
+ // `hasOwnProperty`, not `key in strip`: `in` walks the prototype chain, so a
1877
+ // prop named `toString`, `valueOf`, `constructor` or `hasOwnProperty` was
1878
+ // stripped although no caller named it — and anything written to
1879
+ // `Object.prototype` would start deleting props that share its keys.
1880
+ if (typeof key === 'symbol' ||
1881
+ !Object.prototype.hasOwnProperty.call(strip, key)) {
1882
+ // `defineProperty`, not `out[key] = value`: assignment consults the
1883
+ // prototype chain for a setter, and `__proto__` has one. A prop named
1884
+ // `__proto__` would be swallowed by it — dropped from the result AND
1885
+ // replacing the result's prototype with its value. A spread and a rest
1886
+ // destructure both DEFINE, which is what makes them immune, so this has
1887
+ // to define too.
1888
+ Object.defineProperty(out, key, {
1889
+ value,
1890
+ writable: true,
1891
+ enumerable: true,
1892
+ configurable: true,
1893
+ });
1894
+ }
1895
+ }
1896
+ return out;
1897
+ }
1898
+
1782
1899
  /**
1783
1900
  * Checks if code is running in a browser environment.
1784
1901
  * @param win - Window object.
@@ -2001,32 +2118,25 @@ const DropdownComponent = forwardRef(function DropdownComponent({ label, childre
2001
2118
  return (jsxs("div", { className: dropdownClasses, ref: setRefs, id: id, "data-testid": "dropdown-root", ...rest, children: [jsx("div", { className: usePrefixedClassNames('dropdown-trigger'), children: jsxs("button", { ref: triggerRef, className: buttonClass, "aria-haspopup": "true", "aria-controls": id ? `${id}-menu` : undefined, "aria-expanded": active, onClick: handleToggle, onKeyDown: handleTriggerKeyDown, disabled: disabled, type: "button", children: [jsx("span", { children: label }), jsx("span", { className: usePrefixedClassNames('icon', 'is-small'), "aria-hidden": "true", children: jsx("i", { className: "fas fa-angle-down" }) })] }) }), jsx("div", { className: classNames(usePrefixedClassNames('dropdown-menu'), menuClassName), id: id ? `${id}-menu` : undefined, role: "menu", "data-testid": "dropdown-menu", onKeyDown: handleMenuKeyDown, children: jsx("div", { className: usePrefixedClassNames('dropdown-content'), onClick: handleMenuClick, tabIndex: -1, children: children }) })] }));
2002
2119
  });
2003
2120
  /**
2004
- * The anchor-only attributes, withheld from a `<div>` or a `<button>`.
2005
- *
2006
- * Mirrors `LINK_ATTRS` in `bestax-migrate/src/sources/_shared/polymorphic.ts`,
2007
- * which drops the same set when a migration lands one on a non-anchor. `rel` is
2008
- * absent from both on purpose: React declares it on `HTMLAttributes<T>` — every
2009
- * element — so withholding it would diverge from React's own typing, the same
2010
- * call #641 recorded for `Navbar.Link`.
2011
- */
2012
- const LINK_ONLY_ATTRS = [
2013
- 'href',
2014
- 'target',
2015
- 'download',
2016
- 'hrefLang',
2017
- 'ping',
2018
- 'referrerPolicy',
2019
- 'media',
2020
- ];
2021
- /** `props` without any attribute only an anchor can carry. */
2022
- function omitLinkAttrs(props) {
2023
- const out = {};
2024
- for (const [key, value] of Object.entries(props)) {
2025
- if (!LINK_ONLY_ATTRS.includes(key))
2026
- out[key] = value;
2027
- }
2028
- return out;
2029
- }
2121
+ * The anchor's attributes, minus the one a `<button>` legitimately takes.
2122
+ *
2123
+ * `type` stays: `as="button"` is a supported form and `type="submit"` is valid
2124
+ * there, so stripping it would remove a working attribute. The exclusion is per
2125
+ * COMPONENT where the reason is per TAG, so it also lets a `type` reach a
2126
+ * `<div>`; selecting the set from the rendered element would close that, and
2127
+ * moves output.
2128
+ *
2129
+ * This set differs from `Level.Item`'s in both directions, not just one. The
2130
+ * `type` above, which Level strips and this component keeps, and `rel`, which
2131
+ * Level adds and this component does not: React declares `rel` on
2132
+ * `HTMLAttributes` for every element, so withholding it would diverge from
2133
+ * React's own typing — the call #641 recorded for `Navbar.Link`. Level
2134
+ * withholds it anyway, because it always has.
2135
+ */
2136
+ const STRIP_FROM_NON_ANCHOR$1 = (() => {
2137
+ const { type: _type, ...rest } = ANCHOR_ONLY_ATTRS;
2138
+ return rest;
2139
+ })();
2030
2140
  /**
2031
2141
  * Bulma Dropdown item.
2032
2142
  *
@@ -2044,16 +2154,18 @@ const DropdownItem = ((itemProps) => {
2044
2154
  // plain-JS one, a loose `{...props}` spread, and the genericity a wrapping HOC
2045
2155
  // erases.
2046
2156
  //
2047
- // The whole link set, not `href` alone. Menu strips only `href` because its
2048
- // props never gained the rest; here they all arrive together under `as="a"`,
2049
- // and `bestax-migrate` already removes exactly this set (`LINK_ATTRS`) when it
2050
- // migrates onto a non-anchor — so stripping less would leave the codemod
2051
- // stricter than the component it migrates to.
2157
+ // The whole link set, not `href` alone: they all arrive together under
2158
+ // `as="a"`. Menu strips `href` only, because its `as` is open and a flat set
2159
+ // would delete attributes legal on the element a caller named.
2160
+ //
2161
+ // `bestax-migrate` tracks the same question from the other side, per attribute
2162
+ // per element (`LINK_ATTR_ELEMENTS`) rather than as one set — so the two lists
2163
+ // are not interchangeable and neither derives from the other.
2052
2164
  //
2053
2165
  // Menu's condition also admits a custom component and a custom element, which
2054
2166
  // own their prop contracts. `as` is closed to three intrinsic tags here, so
2055
2167
  // neither can arrive and the anchor test is the whole rule.
2056
- const forwarded = Component === 'a' ? rest : omitLinkAttrs(rest);
2168
+ const forwarded = Component === 'a' ? rest : omitAttrs(rest, STRIP_FROM_NON_ANCHOR$1);
2057
2169
  return (jsx(Component, { className: classNames(usePrefixedClassNames('dropdown-item', {
2058
2170
  'is-active': active,
2059
2171
  }), bulmaHelperClasses, className), tabIndex: 0, role: "menuitem", "data-testid": "dropdown-item", ...forwarded, ...(Component === 'button'
@@ -2118,6 +2230,11 @@ const MenuList = ({ className, children, ...props }) => {
2118
2230
  // Increment level for nested MenuLists
2119
2231
  return (jsx(MenuListLevelContext.Provider, { value: level + 1, children: jsx("ul", { className: ulClass, ...rest, children: children }) }));
2120
2232
  };
2233
+ /**
2234
+ * `href` alone — annotated so a typo is a compile error rather than a silent
2235
+ * no-op, the way both siblings' sets are.
2236
+ */
2237
+ const STRIP_FROM_NON_LINK = { href: true };
2121
2238
  /**
2122
2239
  * MenuItem supports `as` prop for custom link components, e.g., react-router-dom Link.
2123
2240
  *
@@ -2137,8 +2254,20 @@ const MenuItem = forwardRef(function MenuItem(itemProps, ref) {
2137
2254
  const isLinkLike = Component === 'a' ||
2138
2255
  typeof Component !== 'string' ||
2139
2256
  isCustomElement(Component);
2140
- const { href: _href, ...withoutHref } = forwarded;
2141
- const linkProps = isLinkLike ? forwarded : withoutHref;
2257
+ // `href` ALONE. `Dropdown.Item` strips every anchor-only attribute except
2258
+ // `type`; `Level.Item` strips all of them, plus `rel`.
2259
+ //
2260
+ // Not because nothing else can arrive: `as` here is an open `React.ElementType`,
2261
+ // and a non-fresh spread skips excess-property checking, so a typed caller
2262
+ // CAN deliver `target` or `download` and they are forwarded. The set stays at
2263
+ // `href` because widening it would be wrong for an open `as` — `referrerPolicy`
2264
+ // on `as="img"`, `target` on `as="form"` and `media` on `as="source"` are all
2265
+ // legal, and a flat strip would delete them. Getting that right needs a
2266
+ // per-attribute-per-element rule, which `bestax-migrate` already models in
2267
+ // `LINK_ATTR_ELEMENTS`.
2268
+ const linkProps = isLinkLike
2269
+ ? forwarded
2270
+ : omitAttrs(forwarded, STRIP_FROM_NON_LINK);
2142
2271
  const itemClass = classNames({ [usePrefixedClassNames('is-active')]: active }, bulmaHelperClasses);
2143
2272
  // Split children into label and nested MenuList(s)
2144
2273
  const labelChildren = [];
@@ -2884,6 +3013,8 @@ const Navbar = withSubComponents(NavbarComponent, {
2884
3013
  const UNSTYLED_MODIFIER_COLORS = [
2885
3014
  'black-bis',
2886
3015
  'black-ter',
3016
+ 'white-bis',
3017
+ 'white-ter',
2887
3018
  'grey-darker',
2888
3019
  'grey-dark',
2889
3020
  'grey',
@@ -12660,8 +12791,8 @@ function cssVarToProp(varName) {
12660
12791
  * Mapping of camelCase prop names to their Bulma CSS variable counterparts.
12661
12792
  *
12662
12793
  * `--bulma-shadow` is excluded: `cssVarToProp` would mint it as `shadow`,
12663
- * which already exists as a `BulmaOtherProps` prop (`shadow?: 'shadowless'`,
12664
- * applied via `useBulmaClasses`) — keeping it out of this map means that
12794
+ * which already exists as a `BulmaOtherProps` prop applied via
12795
+ * `useBulmaClasses` — keeping it out of this map means that
12665
12796
  * prop keeps its existing class-based meaning, while `--bulma-shadow` is
12666
12797
  * still reachable through the `bulmaVars` object.
12667
12798
  */
@@ -12987,6 +13118,18 @@ const LevelRight = ({ className, children, color, bgColor, textColor, ...props }
12987
13118
  const levelRightClasses = classNames(mainClass, bulmaHelperClasses, className);
12988
13119
  return (jsx("div", { className: levelRightClasses, ...rest, children: children }));
12989
13120
  };
13121
+ /**
13122
+ * The derived set plus `rel`.
13123
+ *
13124
+ * `rel` is not an anchor-only attribute — React declares it on every element, so
13125
+ * `AnchorOnlyAttributes` excludes it — but this component has always withheld it
13126
+ * from a non-anchor, so it is named separately rather than folded into the shared
13127
+ * set. That separation is what says which names come from where.
13128
+ *
13129
+ * The annotation is load-bearing: without it a typo adds a key nobody strips, and
13130
+ * widening the key type to `string` also erases `omitAttrs`'s return type.
13131
+ */
13132
+ const STRIP_FROM_NON_ANCHOR = { ...ANCHOR_ONLY_ATTRS, rel: true };
12990
13133
  /**
12991
13134
  * Individual item, can be rendered as `div`, `p`, or `a`.
12992
13135
  *
@@ -13009,32 +13152,11 @@ const LevelItem = ({ as = 'div', hasTextCentered, className, children, color, bg
13009
13152
  // declares them at every `as` — narrowing that is source-breaking (#672) — so
13010
13153
  // the runtime is what keeps `<Level.Item as="p" download>` from rendering a
13011
13154
  // dead attribute.
13012
- //
13013
- // Keyed off `AnchorOnlyAttributes` rather than repeated as a list, because a
13014
- // hand list beside a derived type drifts in the one direction that matters:
13015
- // the day React adds an anchor attribute, the type would accept it at every
13016
- // `as` while the list let it leak onto a `<div>`. `Record` makes that a
13017
- // compile error here until this object catches up. #682 is the issue for
13018
- // sharing the rule with the two components that keep their own copies.
13019
- const ANCHOR_ONLY = {
13020
- href: true,
13021
- target: true,
13022
- download: true,
13023
- hrefLang: true,
13024
- ping: true,
13025
- referrerPolicy: true,
13026
- media: true,
13027
- type: true,
13028
- // `rel` is NOT in the subtraction: React declares it on `HTMLAttributes`,
13029
- // for every element. It is here because this component has always withheld
13030
- // it from a non-anchor, and it is named separately so the key set above
13031
- // stays honest about where each name comes from.
13032
- rel: true,
13033
- };
13155
+ // `STRIP_FROM_NON_ANCHOR` above names the set and why `rel` is in it.
13034
13156
  if (Tag === 'a') {
13035
13157
  return (jsx("a", { className: levelItemClasses, ...rest, children: children }));
13036
13158
  }
13037
- const withoutAnchorAttrs = Object.fromEntries(Object.entries(rest).filter(([key]) => !(key in ANCHOR_ONLY)));
13159
+ const withoutAnchorAttrs = omitAttrs(rest, STRIP_FROM_NON_ANCHOR);
13038
13160
  return (jsx(Tag, { className: levelItemClasses, ...withoutAnchorAttrs, children: children }));
13039
13161
  };
13040
13162
  const Level = withSubComponents(LevelComponent, {
@@ -13143,5 +13265,5 @@ const Section = ({ size, className, children, color, bgColor, textColor, style,
13143
13265
  return (jsx("section", { className: sectionClasses, style: mergeBulmaStyles(bulmaHelperStyles, style), ...rest, children: children }));
13144
13266
  };
13145
13267
 
13146
- export { Autocomplete, Avatar, Avatars, Badge, Block, Box, Breadcrumb, Button, Buttons, Card, Carousel, CarouselItem, Cell, Checkbox, Checkboxes, Code, Collapse, Column, Columns, ConfigProvider, Container, Content, Control, DateInput, DateInputBase, DateTimeInput, DateTimeInputBase, Delete, Dialog, DialogContainer, Divider, Dropdown, DropdownDivider, DropdownItem, Emphasis, Field, FieldBody, FieldLabel, Figure, File, Footer, Grid, Hero, HeroBody, HeroFoot, HeroHead, Icon, IconText, Image, Input, InputBase, Level, LevelItem, LevelLeft, LevelRight, Link, LinkButton, ListItem, Loading, Media, MediaContent, MediaLeft, MediaRight, Menu, MenuItem, MenuLabel, MenuList, Message, Modal, Navbar, NavbarBrand, NavbarBurger, NavbarDivider, NavbarDropdown, NavbarDropdownMenu, NavbarEnd, NavbarItem, NavbarLink, NavbarMenu, NavbarStart, Notification, NotificationContainer, NumberInput, Numberinput, OrderedList, Pagination, PaginationEllipsis, PaginationLink, PaginationList, PaginationNext, PaginationPrevious, Panel, PanelBlock, PanelButtonBlock, PanelCheckboxBlock, PanelHeading, PanelIcon, PanelInputBlock, PanelTabs, Paragraph, Pre, Progress, Radio, Radios, Rate, Reveal, Section, Select, SelectBase, Sidebar, Skeleton, Slider, Span, Step, Steps, Strong, SubTitle, Switch, Tab, TabContentItem, TabItem, TabList, Table, Tabs, TabsContent, Tag, TagInput, Taginput, Tags, Tbody, Td, TextArea, TextAreaBase, Tfoot, Th, Thead, Theme, TimeInput, TimeInputBase, Title, Toast, ToastContainer, Tooltip, Tr, UnorderedList, __test_exports__, checkboxColors, checkboxSizes, classNames, createPrefixedClassNames, dialog, isBrowser$1 as isBrowser, mergeBulmaStyles, notification, prefixedClassNames, radioColors, radioSizes, switchColors, switchSizes, toast, useBulmaClasses, useClassPrefix, useColorClasses, useColorStyles, useConfig, useFlexboxClasses, useIconLibrary, useInsideControl, useInsideField, useOtherClasses, usePrefixedClass, usePrefixedClassNames, useSpacingClasses, useTypographyClasses, useVisibilityClasses, validAlignContents, validAlignItems, validAlignSelfs, validAlignments$1 as validAlignments, validColorShades, validColors, validDisplays, validFlexDirections, validFlexGrowShrink, validFlexWraps, validFontFamilies, validJustifyContents, validSchemeColors, validSizes$1 as validSizes, validTableColors, validTextSizes, validTextTransforms, validTextWeights, validViewports, validVisibilities };
13268
+ export { Autocomplete, Avatar, Avatars, Badge, Block, Box, Breadcrumb, Button, Buttons, Card, Carousel, CarouselItem, Cell, Checkbox, Checkboxes, Code, Collapse, Column, Columns, ConfigProvider, Container, Content, Control, DateInput, DateInputBase, DateTimeInput, DateTimeInputBase, Delete, Dialog, DialogContainer, Divider, Dropdown, DropdownDivider, DropdownItem, Emphasis, Field, FieldBody, FieldLabel, Figure, File, Footer, Grid, Hero, HeroBody, HeroFoot, HeroHead, Icon, IconText, Image, Input, InputBase, Level, LevelItem, LevelLeft, LevelRight, Link, LinkButton, ListItem, Loading, Media, MediaContent, MediaLeft, MediaRight, Menu, MenuItem, MenuLabel, MenuList, Message, Modal, Navbar, NavbarBrand, NavbarBurger, NavbarDivider, NavbarDropdown, NavbarDropdownMenu, NavbarEnd, NavbarItem, NavbarLink, NavbarMenu, NavbarStart, Notification, NotificationContainer, NumberInput, Numberinput, OrderedList, Pagination, PaginationEllipsis, PaginationLink, PaginationList, PaginationNext, PaginationPrevious, Panel, PanelBlock, PanelButtonBlock, PanelCheckboxBlock, PanelHeading, PanelIcon, PanelInputBlock, PanelTabs, Paragraph, Pre, Progress, Radio, Radios, Rate, Reveal, Section, Select, SelectBase, Sidebar, Skeleton, Slider, Span, Step, Steps, Strong, SubTitle, Switch, Tab, TabContentItem, TabItem, TabList, Table, Tabs, TabsContent, Tag, TagInput, Taginput, Tags, Tbody, Td, TextArea, TextAreaBase, Tfoot, Th, Thead, Theme, TimeInput, TimeInputBase, Title, Toast, ToastContainer, Tooltip, Tr, UnorderedList, __test_exports__, checkboxColors, checkboxSizes, classNames, createPrefixedClassNames, dialog, isBrowser$1 as isBrowser, mergeBulmaStyles, notification, prefixedClassNames, radioColors, radioSizes, switchColors, switchSizes, toast, useBulmaClasses, useClassPrefix, useColorClasses, useColorStyles, useConfig, useFlexboxClasses, useIconLibrary, useInsideControl, useInsideField, useOtherClasses, usePrefixedClass, usePrefixedClassNames, useSpacingClasses, useTypographyClasses, useVisibilityClasses, validAlignContents, validAlignItems, validAlignSelfs, validAlignments$1 as validAlignments, validColorShades, validColors, validCursors, validDisplays, validFlexDirections, validFlexGrowShrink, validFlexWraps, validFloats, validFontFamilies, validInteractions, validJustifyContents, validOverflows, validRadii, validResponsives, validSchemeColors, validShadows, validSizes$1 as validSizes, validTableColors, validTextSizes, validTextTransforms, validTextWeights, validViewports, validVisibilities };
13147
13269
  //# sourceMappingURL=index.esm.js.map